github.com/aavshr/aws-sdk-go@v1.41.3/service/rds/api.go (about)

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package rds
     4  
     5  import (
     6  	"fmt"
     7  	"time"
     8  
     9  	"github.com/aavshr/aws-sdk-go/aws"
    10  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    11  	"github.com/aavshr/aws-sdk-go/aws/request"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol"
    13  	"github.com/aavshr/aws-sdk-go/private/protocol/query"
    14  )
    15  
    16  const 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
    42  func (c *RDS) AddRoleToDBClusterRequest(input *AddRoleToDBClusterInput) (req *request.Request, output *AddRoleToDBClusterOutput) {
    43  	op := &request.Operation{
    44  		Name:       opAddRoleToDBCluster,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &AddRoleToDBClusterInput{}
    51  	}
    52  
    53  	output = &AddRoleToDBClusterOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
    56  	return
    57  }
    58  
    59  // AddRoleToDBCluster API operation for Amazon Relational Database Service.
    60  //
    61  // Associates an Identity and Access Management (IAM) role from an Amazon Aurora
    62  // DB cluster. For more information, see Authorizing Amazon Aurora MySQL to
    63  // Access Other Amazon Web Services Services on Your Behalf (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Integrating.Authorizing.html)
    64  // in the Amazon Aurora User Guide.
    65  //
    66  // This action only applies to Aurora DB clusters.
    67  //
    68  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    69  // with awserr.Error's Code and Message methods to get detailed information about
    70  // the error.
    71  //
    72  // See the AWS API reference guide for Amazon Relational Database Service's
    73  // API operation AddRoleToDBCluster for usage and error information.
    74  //
    75  // Returned Error Codes:
    76  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
    77  //   DBClusterIdentifier doesn't refer to an existing DB cluster.
    78  //
    79  //   * ErrCodeDBClusterRoleAlreadyExistsFault "DBClusterRoleAlreadyExists"
    80  //   The specified IAM role Amazon Resource Name (ARN) is already associated with
    81  //   the specified DB cluster.
    82  //
    83  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
    84  //   The requested operation can't be performed while the cluster is in this state.
    85  //
    86  //   * ErrCodeDBClusterRoleQuotaExceededFault "DBClusterRoleQuotaExceeded"
    87  //   You have exceeded the maximum number of IAM roles that can be associated
    88  //   with the specified DB cluster.
    89  //
    90  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddRoleToDBCluster
    91  func (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.
   105  func (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  
   112  const 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
   138  func (c *RDS) AddRoleToDBInstanceRequest(input *AddRoleToDBInstanceInput) (req *request.Request, output *AddRoleToDBInstanceOutput) {
   139  	op := &request.Operation{
   140  		Name:       opAddRoleToDBInstance,
   141  		HTTPMethod: "POST",
   142  		HTTPPath:   "/",
   143  	}
   144  
   145  	if input == nil {
   146  		input = &AddRoleToDBInstanceInput{}
   147  	}
   148  
   149  	output = &AddRoleToDBInstanceOutput{}
   150  	req = c.newRequest(op, input, output)
   151  	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   152  	return
   153  }
   154  
   155  // AddRoleToDBInstance API operation for Amazon Relational Database Service.
   156  //
   157  // Associates an Amazon Web Services Identity and Access Management (IAM) role
   158  // with a DB instance.
   159  //
   160  // To add a role to a DB instance, the status of the DB instance must be available.
   161  //
   162  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   163  // with awserr.Error's Code and Message methods to get detailed information about
   164  // the error.
   165  //
   166  // See the AWS API reference guide for Amazon Relational Database Service's
   167  // API operation AddRoleToDBInstance for usage and error information.
   168  //
   169  // Returned Error Codes:
   170  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
   171  //   DBInstanceIdentifier doesn't refer to an existing DB instance.
   172  //
   173  //   * ErrCodeDBInstanceRoleAlreadyExistsFault "DBInstanceRoleAlreadyExists"
   174  //   The specified RoleArn or FeatureName value is already associated with the
   175  //   DB instance.
   176  //
   177  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
   178  //   The DB instance isn't in a valid state.
   179  //
   180  //   * ErrCodeDBInstanceRoleQuotaExceededFault "DBInstanceRoleQuotaExceeded"
   181  //   You can't associate any more Amazon Web Services Identity and Access Management
   182  //   (IAM) roles with the DB instance because the quota has been reached.
   183  //
   184  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddRoleToDBInstance
   185  func (c *RDS) AddRoleToDBInstance(input *AddRoleToDBInstanceInput) (*AddRoleToDBInstanceOutput, error) {
   186  	req, out := c.AddRoleToDBInstanceRequest(input)
   187  	return out, req.Send()
   188  }
   189  
   190  // AddRoleToDBInstanceWithContext is the same as AddRoleToDBInstance with the addition of
   191  // the ability to pass a context and additional request options.
   192  //
   193  // See AddRoleToDBInstance for details on how to use this API operation.
   194  //
   195  // The context must be non-nil and will be used for request cancellation. If
   196  // the context is nil a panic will occur. In the future the SDK may create
   197  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   198  // for more information on using Contexts.
   199  func (c *RDS) AddRoleToDBInstanceWithContext(ctx aws.Context, input *AddRoleToDBInstanceInput, opts ...request.Option) (*AddRoleToDBInstanceOutput, error) {
   200  	req, out := c.AddRoleToDBInstanceRequest(input)
   201  	req.SetContext(ctx)
   202  	req.ApplyOptions(opts...)
   203  	return out, req.Send()
   204  }
   205  
   206  const opAddSourceIdentifierToSubscription = "AddSourceIdentifierToSubscription"
   207  
   208  // AddSourceIdentifierToSubscriptionRequest generates a "aws/request.Request" representing the
   209  // client's request for the AddSourceIdentifierToSubscription operation. The "output" return
   210  // value will be populated with the request's response once the request completes
   211  // successfully.
   212  //
   213  // Use "Send" method on the returned Request to send the API call to the service.
   214  // the "output" return value is not valid until after Send returns without error.
   215  //
   216  // See AddSourceIdentifierToSubscription for more information on using the AddSourceIdentifierToSubscription
   217  // API call, and error handling.
   218  //
   219  // This method is useful when you want to inject custom logic or configuration
   220  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   221  //
   222  //
   223  //    // Example sending a request using the AddSourceIdentifierToSubscriptionRequest method.
   224  //    req, resp := client.AddSourceIdentifierToSubscriptionRequest(params)
   225  //
   226  //    err := req.Send()
   227  //    if err == nil { // resp is now filled
   228  //        fmt.Println(resp)
   229  //    }
   230  //
   231  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddSourceIdentifierToSubscription
   232  func (c *RDS) AddSourceIdentifierToSubscriptionRequest(input *AddSourceIdentifierToSubscriptionInput) (req *request.Request, output *AddSourceIdentifierToSubscriptionOutput) {
   233  	op := &request.Operation{
   234  		Name:       opAddSourceIdentifierToSubscription,
   235  		HTTPMethod: "POST",
   236  		HTTPPath:   "/",
   237  	}
   238  
   239  	if input == nil {
   240  		input = &AddSourceIdentifierToSubscriptionInput{}
   241  	}
   242  
   243  	output = &AddSourceIdentifierToSubscriptionOutput{}
   244  	req = c.newRequest(op, input, output)
   245  	return
   246  }
   247  
   248  // AddSourceIdentifierToSubscription API operation for Amazon Relational Database Service.
   249  //
   250  // Adds a source identifier to an existing RDS event notification subscription.
   251  //
   252  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   253  // with awserr.Error's Code and Message methods to get detailed information about
   254  // the error.
   255  //
   256  // See the AWS API reference guide for Amazon Relational Database Service's
   257  // API operation AddSourceIdentifierToSubscription for usage and error information.
   258  //
   259  // Returned Error Codes:
   260  //   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
   261  //   The subscription name does not exist.
   262  //
   263  //   * ErrCodeSourceNotFoundFault "SourceNotFound"
   264  //   The requested source could not be found.
   265  //
   266  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddSourceIdentifierToSubscription
   267  func (c *RDS) AddSourceIdentifierToSubscription(input *AddSourceIdentifierToSubscriptionInput) (*AddSourceIdentifierToSubscriptionOutput, error) {
   268  	req, out := c.AddSourceIdentifierToSubscriptionRequest(input)
   269  	return out, req.Send()
   270  }
   271  
   272  // AddSourceIdentifierToSubscriptionWithContext is the same as AddSourceIdentifierToSubscription with the addition of
   273  // the ability to pass a context and additional request options.
   274  //
   275  // See AddSourceIdentifierToSubscription for details on how to use this API operation.
   276  //
   277  // The context must be non-nil and will be used for request cancellation. If
   278  // the context is nil a panic will occur. In the future the SDK may create
   279  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   280  // for more information on using Contexts.
   281  func (c *RDS) AddSourceIdentifierToSubscriptionWithContext(ctx aws.Context, input *AddSourceIdentifierToSubscriptionInput, opts ...request.Option) (*AddSourceIdentifierToSubscriptionOutput, error) {
   282  	req, out := c.AddSourceIdentifierToSubscriptionRequest(input)
   283  	req.SetContext(ctx)
   284  	req.ApplyOptions(opts...)
   285  	return out, req.Send()
   286  }
   287  
   288  const opAddTagsToResource = "AddTagsToResource"
   289  
   290  // AddTagsToResourceRequest generates a "aws/request.Request" representing the
   291  // client's request for the AddTagsToResource operation. The "output" return
   292  // value will be populated with the request's response once the request completes
   293  // successfully.
   294  //
   295  // Use "Send" method on the returned Request to send the API call to the service.
   296  // the "output" return value is not valid until after Send returns without error.
   297  //
   298  // See AddTagsToResource for more information on using the AddTagsToResource
   299  // API call, and error handling.
   300  //
   301  // This method is useful when you want to inject custom logic or configuration
   302  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   303  //
   304  //
   305  //    // Example sending a request using the AddTagsToResourceRequest method.
   306  //    req, resp := client.AddTagsToResourceRequest(params)
   307  //
   308  //    err := req.Send()
   309  //    if err == nil { // resp is now filled
   310  //        fmt.Println(resp)
   311  //    }
   312  //
   313  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddTagsToResource
   314  func (c *RDS) AddTagsToResourceRequest(input *AddTagsToResourceInput) (req *request.Request, output *AddTagsToResourceOutput) {
   315  	op := &request.Operation{
   316  		Name:       opAddTagsToResource,
   317  		HTTPMethod: "POST",
   318  		HTTPPath:   "/",
   319  	}
   320  
   321  	if input == nil {
   322  		input = &AddTagsToResourceInput{}
   323  	}
   324  
   325  	output = &AddTagsToResourceOutput{}
   326  	req = c.newRequest(op, input, output)
   327  	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   328  	return
   329  }
   330  
   331  // AddTagsToResource API operation for Amazon Relational Database Service.
   332  //
   333  // Adds metadata tags to an Amazon RDS resource. These tags can also be used
   334  // with cost allocation reporting to track cost associated with Amazon RDS resources,
   335  // or used in a Condition statement in an IAM policy for Amazon RDS.
   336  //
   337  // For an overview on tagging Amazon RDS resources, see Tagging Amazon RDS Resources
   338  // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Tagging.html).
   339  //
   340  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   341  // with awserr.Error's Code and Message methods to get detailed information about
   342  // the error.
   343  //
   344  // See the AWS API reference guide for Amazon Relational Database Service's
   345  // API operation AddTagsToResource for usage and error information.
   346  //
   347  // Returned Error Codes:
   348  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
   349  //   DBInstanceIdentifier doesn't refer to an existing DB instance.
   350  //
   351  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
   352  //   DBClusterIdentifier doesn't refer to an existing DB cluster.
   353  //
   354  //   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
   355  //   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
   356  //
   357  //   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
   358  //   The specified proxy name doesn't correspond to a proxy owned by your Amazon
   359  //   Web Services account in the specified Amazon Web Services Region.
   360  //
   361  //   * ErrCodeDBProxyTargetGroupNotFoundFault "DBProxyTargetGroupNotFoundFault"
   362  //   The specified target group isn't available for a proxy owned by your Amazon
   363  //   Web Services account in the specified Amazon Web Services Region.
   364  //
   365  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddTagsToResource
   366  func (c *RDS) AddTagsToResource(input *AddTagsToResourceInput) (*AddTagsToResourceOutput, error) {
   367  	req, out := c.AddTagsToResourceRequest(input)
   368  	return out, req.Send()
   369  }
   370  
   371  // AddTagsToResourceWithContext is the same as AddTagsToResource with the addition of
   372  // the ability to pass a context and additional request options.
   373  //
   374  // See AddTagsToResource for details on how to use this API operation.
   375  //
   376  // The context must be non-nil and will be used for request cancellation. If
   377  // the context is nil a panic will occur. In the future the SDK may create
   378  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   379  // for more information on using Contexts.
   380  func (c *RDS) AddTagsToResourceWithContext(ctx aws.Context, input *AddTagsToResourceInput, opts ...request.Option) (*AddTagsToResourceOutput, error) {
   381  	req, out := c.AddTagsToResourceRequest(input)
   382  	req.SetContext(ctx)
   383  	req.ApplyOptions(opts...)
   384  	return out, req.Send()
   385  }
   386  
   387  const opApplyPendingMaintenanceAction = "ApplyPendingMaintenanceAction"
   388  
   389  // ApplyPendingMaintenanceActionRequest generates a "aws/request.Request" representing the
   390  // client's request for the ApplyPendingMaintenanceAction operation. The "output" return
   391  // value will be populated with the request's response once the request completes
   392  // successfully.
   393  //
   394  // Use "Send" method on the returned Request to send the API call to the service.
   395  // the "output" return value is not valid until after Send returns without error.
   396  //
   397  // See ApplyPendingMaintenanceAction for more information on using the ApplyPendingMaintenanceAction
   398  // API call, and error handling.
   399  //
   400  // This method is useful when you want to inject custom logic or configuration
   401  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   402  //
   403  //
   404  //    // Example sending a request using the ApplyPendingMaintenanceActionRequest method.
   405  //    req, resp := client.ApplyPendingMaintenanceActionRequest(params)
   406  //
   407  //    err := req.Send()
   408  //    if err == nil { // resp is now filled
   409  //        fmt.Println(resp)
   410  //    }
   411  //
   412  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ApplyPendingMaintenanceAction
   413  func (c *RDS) ApplyPendingMaintenanceActionRequest(input *ApplyPendingMaintenanceActionInput) (req *request.Request, output *ApplyPendingMaintenanceActionOutput) {
   414  	op := &request.Operation{
   415  		Name:       opApplyPendingMaintenanceAction,
   416  		HTTPMethod: "POST",
   417  		HTTPPath:   "/",
   418  	}
   419  
   420  	if input == nil {
   421  		input = &ApplyPendingMaintenanceActionInput{}
   422  	}
   423  
   424  	output = &ApplyPendingMaintenanceActionOutput{}
   425  	req = c.newRequest(op, input, output)
   426  	return
   427  }
   428  
   429  // ApplyPendingMaintenanceAction API operation for Amazon Relational Database Service.
   430  //
   431  // Applies a pending maintenance action to a resource (for example, to a DB
   432  // instance).
   433  //
   434  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   435  // with awserr.Error's Code and Message methods to get detailed information about
   436  // the error.
   437  //
   438  // See the AWS API reference guide for Amazon Relational Database Service's
   439  // API operation ApplyPendingMaintenanceAction for usage and error information.
   440  //
   441  // Returned Error Codes:
   442  //   * ErrCodeResourceNotFoundFault "ResourceNotFoundFault"
   443  //   The specified resource ID was not found.
   444  //
   445  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
   446  //   The requested operation can't be performed while the cluster is in this state.
   447  //
   448  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
   449  //   The DB instance isn't in a valid state.
   450  //
   451  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ApplyPendingMaintenanceAction
   452  func (c *RDS) ApplyPendingMaintenanceAction(input *ApplyPendingMaintenanceActionInput) (*ApplyPendingMaintenanceActionOutput, error) {
   453  	req, out := c.ApplyPendingMaintenanceActionRequest(input)
   454  	return out, req.Send()
   455  }
   456  
   457  // ApplyPendingMaintenanceActionWithContext is the same as ApplyPendingMaintenanceAction with the addition of
   458  // the ability to pass a context and additional request options.
   459  //
   460  // See ApplyPendingMaintenanceAction for details on how to use this API operation.
   461  //
   462  // The context must be non-nil and will be used for request cancellation. If
   463  // the context is nil a panic will occur. In the future the SDK may create
   464  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   465  // for more information on using Contexts.
   466  func (c *RDS) ApplyPendingMaintenanceActionWithContext(ctx aws.Context, input *ApplyPendingMaintenanceActionInput, opts ...request.Option) (*ApplyPendingMaintenanceActionOutput, error) {
   467  	req, out := c.ApplyPendingMaintenanceActionRequest(input)
   468  	req.SetContext(ctx)
   469  	req.ApplyOptions(opts...)
   470  	return out, req.Send()
   471  }
   472  
   473  const opAuthorizeDBSecurityGroupIngress = "AuthorizeDBSecurityGroupIngress"
   474  
   475  // AuthorizeDBSecurityGroupIngressRequest generates a "aws/request.Request" representing the
   476  // client's request for the AuthorizeDBSecurityGroupIngress operation. The "output" return
   477  // value will be populated with the request's response once the request completes
   478  // successfully.
   479  //
   480  // Use "Send" method on the returned Request to send the API call to the service.
   481  // the "output" return value is not valid until after Send returns without error.
   482  //
   483  // See AuthorizeDBSecurityGroupIngress for more information on using the AuthorizeDBSecurityGroupIngress
   484  // API call, and error handling.
   485  //
   486  // This method is useful when you want to inject custom logic or configuration
   487  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   488  //
   489  //
   490  //    // Example sending a request using the AuthorizeDBSecurityGroupIngressRequest method.
   491  //    req, resp := client.AuthorizeDBSecurityGroupIngressRequest(params)
   492  //
   493  //    err := req.Send()
   494  //    if err == nil { // resp is now filled
   495  //        fmt.Println(resp)
   496  //    }
   497  //
   498  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AuthorizeDBSecurityGroupIngress
   499  func (c *RDS) AuthorizeDBSecurityGroupIngressRequest(input *AuthorizeDBSecurityGroupIngressInput) (req *request.Request, output *AuthorizeDBSecurityGroupIngressOutput) {
   500  	op := &request.Operation{
   501  		Name:       opAuthorizeDBSecurityGroupIngress,
   502  		HTTPMethod: "POST",
   503  		HTTPPath:   "/",
   504  	}
   505  
   506  	if input == nil {
   507  		input = &AuthorizeDBSecurityGroupIngressInput{}
   508  	}
   509  
   510  	output = &AuthorizeDBSecurityGroupIngressOutput{}
   511  	req = c.newRequest(op, input, output)
   512  	return
   513  }
   514  
   515  // AuthorizeDBSecurityGroupIngress API operation for Amazon Relational Database Service.
   516  //
   517  // Enables ingress to a DBSecurityGroup using one of two forms of authorization.
   518  // First, EC2 or VPC security groups can be added to the DBSecurityGroup if
   519  // the application using the database is running on EC2 or VPC instances. Second,
   520  // IP ranges are available if the application accessing your database is running
   521  // on the Internet. Required parameters for this API are one of CIDR range,
   522  // EC2SecurityGroupId for VPC, or (EC2SecurityGroupOwnerId and either EC2SecurityGroupName
   523  // or EC2SecurityGroupId for non-VPC).
   524  //
   525  // You can't authorize ingress from an EC2 security group in one Amazon Web
   526  // Services Region to an Amazon RDS DB instance in another. You can't authorize
   527  // ingress from a VPC security group in one VPC to an Amazon RDS DB instance
   528  // in another.
   529  //
   530  // For an overview of CIDR ranges, go to the Wikipedia Tutorial (http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing).
   531  //
   532  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   533  // with awserr.Error's Code and Message methods to get detailed information about
   534  // the error.
   535  //
   536  // See the AWS API reference guide for Amazon Relational Database Service's
   537  // API operation AuthorizeDBSecurityGroupIngress for usage and error information.
   538  //
   539  // Returned Error Codes:
   540  //   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
   541  //   DBSecurityGroupName doesn't refer to an existing DB security group.
   542  //
   543  //   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
   544  //   The state of the DB security group doesn't allow deletion.
   545  //
   546  //   * ErrCodeAuthorizationAlreadyExistsFault "AuthorizationAlreadyExists"
   547  //   The specified CIDR IP range or Amazon EC2 security group is already authorized
   548  //   for the specified DB security group.
   549  //
   550  //   * ErrCodeAuthorizationQuotaExceededFault "AuthorizationQuotaExceeded"
   551  //   The DB security group authorization quota has been reached.
   552  //
   553  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AuthorizeDBSecurityGroupIngress
   554  func (c *RDS) AuthorizeDBSecurityGroupIngress(input *AuthorizeDBSecurityGroupIngressInput) (*AuthorizeDBSecurityGroupIngressOutput, error) {
   555  	req, out := c.AuthorizeDBSecurityGroupIngressRequest(input)
   556  	return out, req.Send()
   557  }
   558  
   559  // AuthorizeDBSecurityGroupIngressWithContext is the same as AuthorizeDBSecurityGroupIngress with the addition of
   560  // the ability to pass a context and additional request options.
   561  //
   562  // See AuthorizeDBSecurityGroupIngress for details on how to use this API operation.
   563  //
   564  // The context must be non-nil and will be used for request cancellation. If
   565  // the context is nil a panic will occur. In the future the SDK may create
   566  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   567  // for more information on using Contexts.
   568  func (c *RDS) AuthorizeDBSecurityGroupIngressWithContext(ctx aws.Context, input *AuthorizeDBSecurityGroupIngressInput, opts ...request.Option) (*AuthorizeDBSecurityGroupIngressOutput, error) {
   569  	req, out := c.AuthorizeDBSecurityGroupIngressRequest(input)
   570  	req.SetContext(ctx)
   571  	req.ApplyOptions(opts...)
   572  	return out, req.Send()
   573  }
   574  
   575  const opBacktrackDBCluster = "BacktrackDBCluster"
   576  
   577  // BacktrackDBClusterRequest generates a "aws/request.Request" representing the
   578  // client's request for the BacktrackDBCluster operation. The "output" return
   579  // value will be populated with the request's response once the request completes
   580  // successfully.
   581  //
   582  // Use "Send" method on the returned Request to send the API call to the service.
   583  // the "output" return value is not valid until after Send returns without error.
   584  //
   585  // See BacktrackDBCluster for more information on using the BacktrackDBCluster
   586  // API call, and error handling.
   587  //
   588  // This method is useful when you want to inject custom logic or configuration
   589  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   590  //
   591  //
   592  //    // Example sending a request using the BacktrackDBClusterRequest method.
   593  //    req, resp := client.BacktrackDBClusterRequest(params)
   594  //
   595  //    err := req.Send()
   596  //    if err == nil { // resp is now filled
   597  //        fmt.Println(resp)
   598  //    }
   599  //
   600  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/BacktrackDBCluster
   601  func (c *RDS) BacktrackDBClusterRequest(input *BacktrackDBClusterInput) (req *request.Request, output *BacktrackDBClusterOutput) {
   602  	op := &request.Operation{
   603  		Name:       opBacktrackDBCluster,
   604  		HTTPMethod: "POST",
   605  		HTTPPath:   "/",
   606  	}
   607  
   608  	if input == nil {
   609  		input = &BacktrackDBClusterInput{}
   610  	}
   611  
   612  	output = &BacktrackDBClusterOutput{}
   613  	req = c.newRequest(op, input, output)
   614  	return
   615  }
   616  
   617  // BacktrackDBCluster API operation for Amazon Relational Database Service.
   618  //
   619  // Backtracks a DB cluster to a specific time, without creating a new DB cluster.
   620  //
   621  // For more information on backtracking, see Backtracking an Aurora DB Cluster
   622  // (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Managing.Backtrack.html)
   623  // in the Amazon Aurora User Guide.
   624  //
   625  // This action only applies to Aurora MySQL DB clusters.
   626  //
   627  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   628  // with awserr.Error's Code and Message methods to get detailed information about
   629  // the error.
   630  //
   631  // See the AWS API reference guide for Amazon Relational Database Service's
   632  // API operation BacktrackDBCluster for usage and error information.
   633  //
   634  // Returned Error Codes:
   635  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
   636  //   DBClusterIdentifier doesn't refer to an existing DB cluster.
   637  //
   638  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
   639  //   The requested operation can't be performed while the cluster is in this state.
   640  //
   641  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/BacktrackDBCluster
   642  func (c *RDS) BacktrackDBCluster(input *BacktrackDBClusterInput) (*BacktrackDBClusterOutput, error) {
   643  	req, out := c.BacktrackDBClusterRequest(input)
   644  	return out, req.Send()
   645  }
   646  
   647  // BacktrackDBClusterWithContext is the same as BacktrackDBCluster with the addition of
   648  // the ability to pass a context and additional request options.
   649  //
   650  // See BacktrackDBCluster for details on how to use this API operation.
   651  //
   652  // The context must be non-nil and will be used for request cancellation. If
   653  // the context is nil a panic will occur. In the future the SDK may create
   654  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   655  // for more information on using Contexts.
   656  func (c *RDS) BacktrackDBClusterWithContext(ctx aws.Context, input *BacktrackDBClusterInput, opts ...request.Option) (*BacktrackDBClusterOutput, error) {
   657  	req, out := c.BacktrackDBClusterRequest(input)
   658  	req.SetContext(ctx)
   659  	req.ApplyOptions(opts...)
   660  	return out, req.Send()
   661  }
   662  
   663  const opCancelExportTask = "CancelExportTask"
   664  
   665  // CancelExportTaskRequest generates a "aws/request.Request" representing the
   666  // client's request for the CancelExportTask operation. The "output" return
   667  // value will be populated with the request's response once the request completes
   668  // successfully.
   669  //
   670  // Use "Send" method on the returned Request to send the API call to the service.
   671  // the "output" return value is not valid until after Send returns without error.
   672  //
   673  // See CancelExportTask for more information on using the CancelExportTask
   674  // API call, and error handling.
   675  //
   676  // This method is useful when you want to inject custom logic or configuration
   677  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   678  //
   679  //
   680  //    // Example sending a request using the CancelExportTaskRequest method.
   681  //    req, resp := client.CancelExportTaskRequest(params)
   682  //
   683  //    err := req.Send()
   684  //    if err == nil { // resp is now filled
   685  //        fmt.Println(resp)
   686  //    }
   687  //
   688  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CancelExportTask
   689  func (c *RDS) CancelExportTaskRequest(input *CancelExportTaskInput) (req *request.Request, output *CancelExportTaskOutput) {
   690  	op := &request.Operation{
   691  		Name:       opCancelExportTask,
   692  		HTTPMethod: "POST",
   693  		HTTPPath:   "/",
   694  	}
   695  
   696  	if input == nil {
   697  		input = &CancelExportTaskInput{}
   698  	}
   699  
   700  	output = &CancelExportTaskOutput{}
   701  	req = c.newRequest(op, input, output)
   702  	return
   703  }
   704  
   705  // CancelExportTask API operation for Amazon Relational Database Service.
   706  //
   707  // Cancels an export task in progress that is exporting a snapshot to Amazon
   708  // S3. Any data that has already been written to the S3 bucket isn't removed.
   709  //
   710  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   711  // with awserr.Error's Code and Message methods to get detailed information about
   712  // the error.
   713  //
   714  // See the AWS API reference guide for Amazon Relational Database Service's
   715  // API operation CancelExportTask for usage and error information.
   716  //
   717  // Returned Error Codes:
   718  //   * ErrCodeExportTaskNotFoundFault "ExportTaskNotFound"
   719  //   The export task doesn't exist.
   720  //
   721  //   * ErrCodeInvalidExportTaskStateFault "InvalidExportTaskStateFault"
   722  //   You can't cancel an export task that has completed.
   723  //
   724  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CancelExportTask
   725  func (c *RDS) CancelExportTask(input *CancelExportTaskInput) (*CancelExportTaskOutput, error) {
   726  	req, out := c.CancelExportTaskRequest(input)
   727  	return out, req.Send()
   728  }
   729  
   730  // CancelExportTaskWithContext is the same as CancelExportTask with the addition of
   731  // the ability to pass a context and additional request options.
   732  //
   733  // See CancelExportTask for details on how to use this API operation.
   734  //
   735  // The context must be non-nil and will be used for request cancellation. If
   736  // the context is nil a panic will occur. In the future the SDK may create
   737  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   738  // for more information on using Contexts.
   739  func (c *RDS) CancelExportTaskWithContext(ctx aws.Context, input *CancelExportTaskInput, opts ...request.Option) (*CancelExportTaskOutput, error) {
   740  	req, out := c.CancelExportTaskRequest(input)
   741  	req.SetContext(ctx)
   742  	req.ApplyOptions(opts...)
   743  	return out, req.Send()
   744  }
   745  
   746  const opCopyDBClusterParameterGroup = "CopyDBClusterParameterGroup"
   747  
   748  // CopyDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
   749  // client's request for the CopyDBClusterParameterGroup operation. The "output" return
   750  // value will be populated with the request's response once the request completes
   751  // successfully.
   752  //
   753  // Use "Send" method on the returned Request to send the API call to the service.
   754  // the "output" return value is not valid until after Send returns without error.
   755  //
   756  // See CopyDBClusterParameterGroup for more information on using the CopyDBClusterParameterGroup
   757  // API call, and error handling.
   758  //
   759  // This method is useful when you want to inject custom logic or configuration
   760  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   761  //
   762  //
   763  //    // Example sending a request using the CopyDBClusterParameterGroupRequest method.
   764  //    req, resp := client.CopyDBClusterParameterGroupRequest(params)
   765  //
   766  //    err := req.Send()
   767  //    if err == nil { // resp is now filled
   768  //        fmt.Println(resp)
   769  //    }
   770  //
   771  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBClusterParameterGroup
   772  func (c *RDS) CopyDBClusterParameterGroupRequest(input *CopyDBClusterParameterGroupInput) (req *request.Request, output *CopyDBClusterParameterGroupOutput) {
   773  	op := &request.Operation{
   774  		Name:       opCopyDBClusterParameterGroup,
   775  		HTTPMethod: "POST",
   776  		HTTPPath:   "/",
   777  	}
   778  
   779  	if input == nil {
   780  		input = &CopyDBClusterParameterGroupInput{}
   781  	}
   782  
   783  	output = &CopyDBClusterParameterGroupOutput{}
   784  	req = c.newRequest(op, input, output)
   785  	return
   786  }
   787  
   788  // CopyDBClusterParameterGroup API operation for Amazon Relational Database Service.
   789  //
   790  // Copies the specified DB cluster parameter group.
   791  //
   792  // This action only applies to Aurora DB clusters.
   793  //
   794  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   795  // with awserr.Error's Code and Message methods to get detailed information about
   796  // the error.
   797  //
   798  // See the AWS API reference guide for Amazon Relational Database Service's
   799  // API operation CopyDBClusterParameterGroup for usage and error information.
   800  //
   801  // Returned Error Codes:
   802  //   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
   803  //   DBParameterGroupName doesn't refer to an existing DB parameter group.
   804  //
   805  //   * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded"
   806  //   The request would result in the user exceeding the allowed number of DB parameter
   807  //   groups.
   808  //
   809  //   * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists"
   810  //   A DB parameter group with the same name exists.
   811  //
   812  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBClusterParameterGroup
   813  func (c *RDS) CopyDBClusterParameterGroup(input *CopyDBClusterParameterGroupInput) (*CopyDBClusterParameterGroupOutput, error) {
   814  	req, out := c.CopyDBClusterParameterGroupRequest(input)
   815  	return out, req.Send()
   816  }
   817  
   818  // CopyDBClusterParameterGroupWithContext is the same as CopyDBClusterParameterGroup with the addition of
   819  // the ability to pass a context and additional request options.
   820  //
   821  // See CopyDBClusterParameterGroup for details on how to use this API operation.
   822  //
   823  // The context must be non-nil and will be used for request cancellation. If
   824  // the context is nil a panic will occur. In the future the SDK may create
   825  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   826  // for more information on using Contexts.
   827  func (c *RDS) CopyDBClusterParameterGroupWithContext(ctx aws.Context, input *CopyDBClusterParameterGroupInput, opts ...request.Option) (*CopyDBClusterParameterGroupOutput, error) {
   828  	req, out := c.CopyDBClusterParameterGroupRequest(input)
   829  	req.SetContext(ctx)
   830  	req.ApplyOptions(opts...)
   831  	return out, req.Send()
   832  }
   833  
   834  const opCopyDBClusterSnapshot = "CopyDBClusterSnapshot"
   835  
   836  // CopyDBClusterSnapshotRequest generates a "aws/request.Request" representing the
   837  // client's request for the CopyDBClusterSnapshot operation. The "output" return
   838  // value will be populated with the request's response once the request completes
   839  // successfully.
   840  //
   841  // Use "Send" method on the returned Request to send the API call to the service.
   842  // the "output" return value is not valid until after Send returns without error.
   843  //
   844  // See CopyDBClusterSnapshot for more information on using the CopyDBClusterSnapshot
   845  // API call, and error handling.
   846  //
   847  // This method is useful when you want to inject custom logic or configuration
   848  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   849  //
   850  //
   851  //    // Example sending a request using the CopyDBClusterSnapshotRequest method.
   852  //    req, resp := client.CopyDBClusterSnapshotRequest(params)
   853  //
   854  //    err := req.Send()
   855  //    if err == nil { // resp is now filled
   856  //        fmt.Println(resp)
   857  //    }
   858  //
   859  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBClusterSnapshot
   860  func (c *RDS) CopyDBClusterSnapshotRequest(input *CopyDBClusterSnapshotInput) (req *request.Request, output *CopyDBClusterSnapshotOutput) {
   861  	op := &request.Operation{
   862  		Name:       opCopyDBClusterSnapshot,
   863  		HTTPMethod: "POST",
   864  		HTTPPath:   "/",
   865  	}
   866  
   867  	if input == nil {
   868  		input = &CopyDBClusterSnapshotInput{}
   869  	}
   870  
   871  	output = &CopyDBClusterSnapshotOutput{}
   872  	req = c.newRequest(op, input, output)
   873  	return
   874  }
   875  
   876  // CopyDBClusterSnapshot API operation for Amazon Relational Database Service.
   877  //
   878  // Copies a snapshot of a DB cluster.
   879  //
   880  // To copy a DB cluster snapshot from a shared manual DB cluster snapshot, SourceDBClusterSnapshotIdentifier
   881  // must be the Amazon Resource Name (ARN) of the shared DB cluster snapshot.
   882  //
   883  // You can copy an encrypted DB cluster snapshot from another Amazon Web Services
   884  // Region. In that case, the Amazon Web Services Region where you call the CopyDBClusterSnapshot
   885  // action is the destination Amazon Web Services Region for the encrypted DB
   886  // cluster snapshot to be copied to. To copy an encrypted DB cluster snapshot
   887  // from another Amazon Web Services Region, you must provide the following values:
   888  //
   889  //    * KmsKeyId - The Amazon Web Services Key Management System (Amazon Web
   890  //    Services KMS) key identifier for the key to use to encrypt the copy of
   891  //    the DB cluster snapshot in the destination Amazon Web Services Region.
   892  //
   893  //    * PreSignedUrl - A URL that contains a Signature Version 4 signed request
   894  //    for the CopyDBClusterSnapshot action to be called in the source Amazon
   895  //    Web Services Region where the DB cluster snapshot is copied from. The
   896  //    pre-signed URL must be a valid request for the CopyDBClusterSnapshot API
   897  //    action that can be executed in the source Amazon Web Services Region that
   898  //    contains the encrypted DB cluster snapshot to be copied. The pre-signed
   899  //    URL request must contain the following parameter values: KmsKeyId - The
   900  //    Amazon Web Services KMS key identifier for the customer master key (CMK)
   901  //    to use to encrypt the copy of the DB cluster snapshot in the destination
   902  //    Amazon Web Services Region. This is the same identifier for both the CopyDBClusterSnapshot
   903  //    action that is called in the destination Amazon Web Services Region, and
   904  //    the action contained in the pre-signed URL. DestinationRegion - The name
   905  //    of the Amazon Web Services Region that the DB cluster snapshot is to be
   906  //    created in. SourceDBClusterSnapshotIdentifier - The DB cluster snapshot
   907  //    identifier for the encrypted DB cluster snapshot to be copied. This identifier
   908  //    must be in the Amazon Resource Name (ARN) format for the source Amazon
   909  //    Web Services Region. For example, if you are copying an encrypted DB cluster
   910  //    snapshot from the us-west-2 Amazon Web Services Region, then your SourceDBClusterSnapshotIdentifier
   911  //    looks like the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115.
   912  //    To learn how to generate a Signature Version 4 signed request, see Authenticating
   913  //    Requests: Using Query Parameters (Amazon Web Services Signature Version
   914  //    4) (https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
   915  //    and Signature Version 4 Signing Process (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
   916  //    If you are using an Amazon Web Services SDK tool or the CLI, you can specify
   917  //    SourceRegion (or --source-region for the CLI) instead of specifying PreSignedUrl
   918  //    manually. Specifying SourceRegion autogenerates a pre-signed URL that
   919  //    is a valid request for the operation that can be executed in the source
   920  //    Amazon Web Services Region.
   921  //
   922  //    * TargetDBClusterSnapshotIdentifier - The identifier for the new copy
   923  //    of the DB cluster snapshot in the destination Amazon Web Services Region.
   924  //
   925  //    * SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier
   926  //    for the encrypted DB cluster snapshot to be copied. This identifier must
   927  //    be in the ARN format for the source Amazon Web Services Region and is
   928  //    the same value as the SourceDBClusterSnapshotIdentifier in the pre-signed
   929  //    URL.
   930  //
   931  // To cancel the copy operation once it is in progress, delete the target DB
   932  // cluster snapshot identified by TargetDBClusterSnapshotIdentifier while that
   933  // DB cluster snapshot is in "copying" status.
   934  //
   935  // For more information on copying encrypted DB cluster snapshots from one Amazon
   936  // Web Services Region to another, see Copying a Snapshot (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_CopySnapshot.html)
   937  // in the Amazon Aurora User Guide.
   938  //
   939  // For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
   940  // in the Amazon Aurora User Guide.
   941  //
   942  // This action only applies to Aurora DB clusters.
   943  //
   944  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   945  // with awserr.Error's Code and Message methods to get detailed information about
   946  // the error.
   947  //
   948  // See the AWS API reference guide for Amazon Relational Database Service's
   949  // API operation CopyDBClusterSnapshot for usage and error information.
   950  //
   951  // Returned Error Codes:
   952  //   * ErrCodeDBClusterSnapshotAlreadyExistsFault "DBClusterSnapshotAlreadyExistsFault"
   953  //   The user already has a DB cluster snapshot with the given identifier.
   954  //
   955  //   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
   956  //   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
   957  //
   958  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
   959  //   The requested operation can't be performed while the cluster is in this state.
   960  //
   961  //   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
   962  //   The supplied value isn't a valid DB cluster snapshot state.
   963  //
   964  //   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
   965  //   The request would result in the user exceeding the allowed number of DB snapshots.
   966  //
   967  //   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
   968  //   An error occurred accessing an Amazon Web Services KMS key.
   969  //
   970  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBClusterSnapshot
   971  func (c *RDS) CopyDBClusterSnapshot(input *CopyDBClusterSnapshotInput) (*CopyDBClusterSnapshotOutput, error) {
   972  	req, out := c.CopyDBClusterSnapshotRequest(input)
   973  	return out, req.Send()
   974  }
   975  
   976  // CopyDBClusterSnapshotWithContext is the same as CopyDBClusterSnapshot with the addition of
   977  // the ability to pass a context and additional request options.
   978  //
   979  // See CopyDBClusterSnapshot for details on how to use this API operation.
   980  //
   981  // The context must be non-nil and will be used for request cancellation. If
   982  // the context is nil a panic will occur. In the future the SDK may create
   983  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   984  // for more information on using Contexts.
   985  func (c *RDS) CopyDBClusterSnapshotWithContext(ctx aws.Context, input *CopyDBClusterSnapshotInput, opts ...request.Option) (*CopyDBClusterSnapshotOutput, error) {
   986  	req, out := c.CopyDBClusterSnapshotRequest(input)
   987  	req.SetContext(ctx)
   988  	req.ApplyOptions(opts...)
   989  	return out, req.Send()
   990  }
   991  
   992  const opCopyDBParameterGroup = "CopyDBParameterGroup"
   993  
   994  // CopyDBParameterGroupRequest generates a "aws/request.Request" representing the
   995  // client's request for the CopyDBParameterGroup operation. The "output" return
   996  // value will be populated with the request's response once the request completes
   997  // successfully.
   998  //
   999  // Use "Send" method on the returned Request to send the API call to the service.
  1000  // the "output" return value is not valid until after Send returns without error.
  1001  //
  1002  // See CopyDBParameterGroup for more information on using the CopyDBParameterGroup
  1003  // API call, and error handling.
  1004  //
  1005  // This method is useful when you want to inject custom logic or configuration
  1006  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1007  //
  1008  //
  1009  //    // Example sending a request using the CopyDBParameterGroupRequest method.
  1010  //    req, resp := client.CopyDBParameterGroupRequest(params)
  1011  //
  1012  //    err := req.Send()
  1013  //    if err == nil { // resp is now filled
  1014  //        fmt.Println(resp)
  1015  //    }
  1016  //
  1017  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBParameterGroup
  1018  func (c *RDS) CopyDBParameterGroupRequest(input *CopyDBParameterGroupInput) (req *request.Request, output *CopyDBParameterGroupOutput) {
  1019  	op := &request.Operation{
  1020  		Name:       opCopyDBParameterGroup,
  1021  		HTTPMethod: "POST",
  1022  		HTTPPath:   "/",
  1023  	}
  1024  
  1025  	if input == nil {
  1026  		input = &CopyDBParameterGroupInput{}
  1027  	}
  1028  
  1029  	output = &CopyDBParameterGroupOutput{}
  1030  	req = c.newRequest(op, input, output)
  1031  	return
  1032  }
  1033  
  1034  // CopyDBParameterGroup API operation for Amazon Relational Database Service.
  1035  //
  1036  // Copies the specified DB parameter group.
  1037  //
  1038  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1039  // with awserr.Error's Code and Message methods to get detailed information about
  1040  // the error.
  1041  //
  1042  // See the AWS API reference guide for Amazon Relational Database Service's
  1043  // API operation CopyDBParameterGroup for usage and error information.
  1044  //
  1045  // Returned Error Codes:
  1046  //   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
  1047  //   DBParameterGroupName doesn't refer to an existing DB parameter group.
  1048  //
  1049  //   * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists"
  1050  //   A DB parameter group with the same name exists.
  1051  //
  1052  //   * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded"
  1053  //   The request would result in the user exceeding the allowed number of DB parameter
  1054  //   groups.
  1055  //
  1056  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBParameterGroup
  1057  func (c *RDS) CopyDBParameterGroup(input *CopyDBParameterGroupInput) (*CopyDBParameterGroupOutput, error) {
  1058  	req, out := c.CopyDBParameterGroupRequest(input)
  1059  	return out, req.Send()
  1060  }
  1061  
  1062  // CopyDBParameterGroupWithContext is the same as CopyDBParameterGroup with the addition of
  1063  // the ability to pass a context and additional request options.
  1064  //
  1065  // See CopyDBParameterGroup for details on how to use this API operation.
  1066  //
  1067  // The context must be non-nil and will be used for request cancellation. If
  1068  // the context is nil a panic will occur. In the future the SDK may create
  1069  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1070  // for more information on using Contexts.
  1071  func (c *RDS) CopyDBParameterGroupWithContext(ctx aws.Context, input *CopyDBParameterGroupInput, opts ...request.Option) (*CopyDBParameterGroupOutput, error) {
  1072  	req, out := c.CopyDBParameterGroupRequest(input)
  1073  	req.SetContext(ctx)
  1074  	req.ApplyOptions(opts...)
  1075  	return out, req.Send()
  1076  }
  1077  
  1078  const opCopyDBSnapshot = "CopyDBSnapshot"
  1079  
  1080  // CopyDBSnapshotRequest generates a "aws/request.Request" representing the
  1081  // client's request for the CopyDBSnapshot operation. The "output" return
  1082  // value will be populated with the request's response once the request completes
  1083  // successfully.
  1084  //
  1085  // Use "Send" method on the returned Request to send the API call to the service.
  1086  // the "output" return value is not valid until after Send returns without error.
  1087  //
  1088  // See CopyDBSnapshot for more information on using the CopyDBSnapshot
  1089  // API call, and error handling.
  1090  //
  1091  // This method is useful when you want to inject custom logic or configuration
  1092  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1093  //
  1094  //
  1095  //    // Example sending a request using the CopyDBSnapshotRequest method.
  1096  //    req, resp := client.CopyDBSnapshotRequest(params)
  1097  //
  1098  //    err := req.Send()
  1099  //    if err == nil { // resp is now filled
  1100  //        fmt.Println(resp)
  1101  //    }
  1102  //
  1103  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBSnapshot
  1104  func (c *RDS) CopyDBSnapshotRequest(input *CopyDBSnapshotInput) (req *request.Request, output *CopyDBSnapshotOutput) {
  1105  	op := &request.Operation{
  1106  		Name:       opCopyDBSnapshot,
  1107  		HTTPMethod: "POST",
  1108  		HTTPPath:   "/",
  1109  	}
  1110  
  1111  	if input == nil {
  1112  		input = &CopyDBSnapshotInput{}
  1113  	}
  1114  
  1115  	output = &CopyDBSnapshotOutput{}
  1116  	req = c.newRequest(op, input, output)
  1117  	return
  1118  }
  1119  
  1120  // CopyDBSnapshot API operation for Amazon Relational Database Service.
  1121  //
  1122  // Copies the specified DB snapshot. The source DB snapshot must be in the available
  1123  // state.
  1124  //
  1125  // You can copy a snapshot from one Amazon Web Services Region to another. In
  1126  // that case, the Amazon Web Services Region where you call the CopyDBSnapshot
  1127  // action is the destination Amazon Web Services Region for the DB snapshot
  1128  // copy.
  1129  //
  1130  // For more information about copying snapshots, see Copying a DB Snapshot (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopySnapshot.html#USER_CopyDBSnapshot)
  1131  // in the Amazon RDS User Guide.
  1132  //
  1133  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1134  // with awserr.Error's Code and Message methods to get detailed information about
  1135  // the error.
  1136  //
  1137  // See the AWS API reference guide for Amazon Relational Database Service's
  1138  // API operation CopyDBSnapshot for usage and error information.
  1139  //
  1140  // Returned Error Codes:
  1141  //   * ErrCodeDBSnapshotAlreadyExistsFault "DBSnapshotAlreadyExists"
  1142  //   DBSnapshotIdentifier is already used by an existing snapshot.
  1143  //
  1144  //   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
  1145  //   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
  1146  //
  1147  //   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
  1148  //   The state of the DB snapshot doesn't allow deletion.
  1149  //
  1150  //   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
  1151  //   The request would result in the user exceeding the allowed number of DB snapshots.
  1152  //
  1153  //   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
  1154  //   An error occurred accessing an Amazon Web Services KMS key.
  1155  //
  1156  //   * ErrCodeCustomAvailabilityZoneNotFoundFault "CustomAvailabilityZoneNotFound"
  1157  //   CustomAvailabilityZoneId doesn't refer to an existing custom Availability
  1158  //   Zone identifier.
  1159  //
  1160  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBSnapshot
  1161  func (c *RDS) CopyDBSnapshot(input *CopyDBSnapshotInput) (*CopyDBSnapshotOutput, error) {
  1162  	req, out := c.CopyDBSnapshotRequest(input)
  1163  	return out, req.Send()
  1164  }
  1165  
  1166  // CopyDBSnapshotWithContext is the same as CopyDBSnapshot with the addition of
  1167  // the ability to pass a context and additional request options.
  1168  //
  1169  // See CopyDBSnapshot for details on how to use this API operation.
  1170  //
  1171  // The context must be non-nil and will be used for request cancellation. If
  1172  // the context is nil a panic will occur. In the future the SDK may create
  1173  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1174  // for more information on using Contexts.
  1175  func (c *RDS) CopyDBSnapshotWithContext(ctx aws.Context, input *CopyDBSnapshotInput, opts ...request.Option) (*CopyDBSnapshotOutput, error) {
  1176  	req, out := c.CopyDBSnapshotRequest(input)
  1177  	req.SetContext(ctx)
  1178  	req.ApplyOptions(opts...)
  1179  	return out, req.Send()
  1180  }
  1181  
  1182  const opCopyOptionGroup = "CopyOptionGroup"
  1183  
  1184  // CopyOptionGroupRequest generates a "aws/request.Request" representing the
  1185  // client's request for the CopyOptionGroup operation. The "output" return
  1186  // value will be populated with the request's response once the request completes
  1187  // successfully.
  1188  //
  1189  // Use "Send" method on the returned Request to send the API call to the service.
  1190  // the "output" return value is not valid until after Send returns without error.
  1191  //
  1192  // See CopyOptionGroup for more information on using the CopyOptionGroup
  1193  // API call, and error handling.
  1194  //
  1195  // This method is useful when you want to inject custom logic or configuration
  1196  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1197  //
  1198  //
  1199  //    // Example sending a request using the CopyOptionGroupRequest method.
  1200  //    req, resp := client.CopyOptionGroupRequest(params)
  1201  //
  1202  //    err := req.Send()
  1203  //    if err == nil { // resp is now filled
  1204  //        fmt.Println(resp)
  1205  //    }
  1206  //
  1207  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyOptionGroup
  1208  func (c *RDS) CopyOptionGroupRequest(input *CopyOptionGroupInput) (req *request.Request, output *CopyOptionGroupOutput) {
  1209  	op := &request.Operation{
  1210  		Name:       opCopyOptionGroup,
  1211  		HTTPMethod: "POST",
  1212  		HTTPPath:   "/",
  1213  	}
  1214  
  1215  	if input == nil {
  1216  		input = &CopyOptionGroupInput{}
  1217  	}
  1218  
  1219  	output = &CopyOptionGroupOutput{}
  1220  	req = c.newRequest(op, input, output)
  1221  	return
  1222  }
  1223  
  1224  // CopyOptionGroup API operation for Amazon Relational Database Service.
  1225  //
  1226  // Copies the specified option group.
  1227  //
  1228  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1229  // with awserr.Error's Code and Message methods to get detailed information about
  1230  // the error.
  1231  //
  1232  // See the AWS API reference guide for Amazon Relational Database Service's
  1233  // API operation CopyOptionGroup for usage and error information.
  1234  //
  1235  // Returned Error Codes:
  1236  //   * ErrCodeOptionGroupAlreadyExistsFault "OptionGroupAlreadyExistsFault"
  1237  //   The option group you are trying to create already exists.
  1238  //
  1239  //   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
  1240  //   The specified option group could not be found.
  1241  //
  1242  //   * ErrCodeOptionGroupQuotaExceededFault "OptionGroupQuotaExceededFault"
  1243  //   The quota of 20 option groups was exceeded for this Amazon Web Services account.
  1244  //
  1245  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyOptionGroup
  1246  func (c *RDS) CopyOptionGroup(input *CopyOptionGroupInput) (*CopyOptionGroupOutput, error) {
  1247  	req, out := c.CopyOptionGroupRequest(input)
  1248  	return out, req.Send()
  1249  }
  1250  
  1251  // CopyOptionGroupWithContext is the same as CopyOptionGroup with the addition of
  1252  // the ability to pass a context and additional request options.
  1253  //
  1254  // See CopyOptionGroup for details on how to use this API operation.
  1255  //
  1256  // The context must be non-nil and will be used for request cancellation. If
  1257  // the context is nil a panic will occur. In the future the SDK may create
  1258  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1259  // for more information on using Contexts.
  1260  func (c *RDS) CopyOptionGroupWithContext(ctx aws.Context, input *CopyOptionGroupInput, opts ...request.Option) (*CopyOptionGroupOutput, error) {
  1261  	req, out := c.CopyOptionGroupRequest(input)
  1262  	req.SetContext(ctx)
  1263  	req.ApplyOptions(opts...)
  1264  	return out, req.Send()
  1265  }
  1266  
  1267  const opCreateCustomAvailabilityZone = "CreateCustomAvailabilityZone"
  1268  
  1269  // CreateCustomAvailabilityZoneRequest generates a "aws/request.Request" representing the
  1270  // client's request for the CreateCustomAvailabilityZone operation. The "output" return
  1271  // value will be populated with the request's response once the request completes
  1272  // successfully.
  1273  //
  1274  // Use "Send" method on the returned Request to send the API call to the service.
  1275  // the "output" return value is not valid until after Send returns without error.
  1276  //
  1277  // See CreateCustomAvailabilityZone for more information on using the CreateCustomAvailabilityZone
  1278  // API call, and error handling.
  1279  //
  1280  // This method is useful when you want to inject custom logic or configuration
  1281  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1282  //
  1283  //
  1284  //    // Example sending a request using the CreateCustomAvailabilityZoneRequest method.
  1285  //    req, resp := client.CreateCustomAvailabilityZoneRequest(params)
  1286  //
  1287  //    err := req.Send()
  1288  //    if err == nil { // resp is now filled
  1289  //        fmt.Println(resp)
  1290  //    }
  1291  //
  1292  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateCustomAvailabilityZone
  1293  func (c *RDS) CreateCustomAvailabilityZoneRequest(input *CreateCustomAvailabilityZoneInput) (req *request.Request, output *CreateCustomAvailabilityZoneOutput) {
  1294  	op := &request.Operation{
  1295  		Name:       opCreateCustomAvailabilityZone,
  1296  		HTTPMethod: "POST",
  1297  		HTTPPath:   "/",
  1298  	}
  1299  
  1300  	if input == nil {
  1301  		input = &CreateCustomAvailabilityZoneInput{}
  1302  	}
  1303  
  1304  	output = &CreateCustomAvailabilityZoneOutput{}
  1305  	req = c.newRequest(op, input, output)
  1306  	return
  1307  }
  1308  
  1309  // CreateCustomAvailabilityZone API operation for Amazon Relational Database Service.
  1310  //
  1311  // Creates a custom Availability Zone (AZ).
  1312  //
  1313  // A custom AZ is an on-premises AZ that is integrated with a VMware vSphere
  1314  // cluster.
  1315  //
  1316  // For more information about RDS on VMware, see the RDS on VMware User Guide.
  1317  // (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html)
  1318  //
  1319  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1320  // with awserr.Error's Code and Message methods to get detailed information about
  1321  // the error.
  1322  //
  1323  // See the AWS API reference guide for Amazon Relational Database Service's
  1324  // API operation CreateCustomAvailabilityZone for usage and error information.
  1325  //
  1326  // Returned Error Codes:
  1327  //   * ErrCodeCustomAvailabilityZoneAlreadyExistsFault "CustomAvailabilityZoneAlreadyExists"
  1328  //   CustomAvailabilityZoneName is already used by an existing custom Availability
  1329  //   Zone.
  1330  //
  1331  //   * ErrCodeCustomAvailabilityZoneQuotaExceededFault "CustomAvailabilityZoneQuotaExceeded"
  1332  //   You have exceeded the maximum number of custom Availability Zones.
  1333  //
  1334  //   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
  1335  //   An error occurred accessing an Amazon Web Services KMS key.
  1336  //
  1337  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateCustomAvailabilityZone
  1338  func (c *RDS) CreateCustomAvailabilityZone(input *CreateCustomAvailabilityZoneInput) (*CreateCustomAvailabilityZoneOutput, error) {
  1339  	req, out := c.CreateCustomAvailabilityZoneRequest(input)
  1340  	return out, req.Send()
  1341  }
  1342  
  1343  // CreateCustomAvailabilityZoneWithContext is the same as CreateCustomAvailabilityZone with the addition of
  1344  // the ability to pass a context and additional request options.
  1345  //
  1346  // See CreateCustomAvailabilityZone for details on how to use this API operation.
  1347  //
  1348  // The context must be non-nil and will be used for request cancellation. If
  1349  // the context is nil a panic will occur. In the future the SDK may create
  1350  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1351  // for more information on using Contexts.
  1352  func (c *RDS) CreateCustomAvailabilityZoneWithContext(ctx aws.Context, input *CreateCustomAvailabilityZoneInput, opts ...request.Option) (*CreateCustomAvailabilityZoneOutput, error) {
  1353  	req, out := c.CreateCustomAvailabilityZoneRequest(input)
  1354  	req.SetContext(ctx)
  1355  	req.ApplyOptions(opts...)
  1356  	return out, req.Send()
  1357  }
  1358  
  1359  const opCreateDBCluster = "CreateDBCluster"
  1360  
  1361  // CreateDBClusterRequest generates a "aws/request.Request" representing the
  1362  // client's request for the CreateDBCluster operation. The "output" return
  1363  // value will be populated with the request's response once the request completes
  1364  // successfully.
  1365  //
  1366  // Use "Send" method on the returned Request to send the API call to the service.
  1367  // the "output" return value is not valid until after Send returns without error.
  1368  //
  1369  // See CreateDBCluster for more information on using the CreateDBCluster
  1370  // API call, and error handling.
  1371  //
  1372  // This method is useful when you want to inject custom logic or configuration
  1373  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1374  //
  1375  //
  1376  //    // Example sending a request using the CreateDBClusterRequest method.
  1377  //    req, resp := client.CreateDBClusterRequest(params)
  1378  //
  1379  //    err := req.Send()
  1380  //    if err == nil { // resp is now filled
  1381  //        fmt.Println(resp)
  1382  //    }
  1383  //
  1384  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBCluster
  1385  func (c *RDS) CreateDBClusterRequest(input *CreateDBClusterInput) (req *request.Request, output *CreateDBClusterOutput) {
  1386  	op := &request.Operation{
  1387  		Name:       opCreateDBCluster,
  1388  		HTTPMethod: "POST",
  1389  		HTTPPath:   "/",
  1390  	}
  1391  
  1392  	if input == nil {
  1393  		input = &CreateDBClusterInput{}
  1394  	}
  1395  
  1396  	output = &CreateDBClusterOutput{}
  1397  	req = c.newRequest(op, input, output)
  1398  	return
  1399  }
  1400  
  1401  // CreateDBCluster API operation for Amazon Relational Database Service.
  1402  //
  1403  // Creates a new Amazon Aurora DB cluster.
  1404  //
  1405  // You can use the ReplicationSourceIdentifier parameter to create the DB cluster
  1406  // as a read replica of another DB cluster or Amazon RDS MySQL or PostgreSQL
  1407  // DB instance. For cross-region replication where the DB cluster identified
  1408  // by ReplicationSourceIdentifier is encrypted, you must also specify the PreSignedUrl
  1409  // parameter.
  1410  //
  1411  // For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
  1412  // in the Amazon Aurora User Guide.
  1413  //
  1414  // This action only applies to Aurora DB clusters.
  1415  //
  1416  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1417  // with awserr.Error's Code and Message methods to get detailed information about
  1418  // the error.
  1419  //
  1420  // See the AWS API reference guide for Amazon Relational Database Service's
  1421  // API operation CreateDBCluster for usage and error information.
  1422  //
  1423  // Returned Error Codes:
  1424  //   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
  1425  //   The user already has a DB cluster with the given identifier.
  1426  //
  1427  //   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
  1428  //   There is insufficient storage available for the current action. You might
  1429  //   be able to resolve this error by updating your subnet group to use different
  1430  //   Availability Zones that have more storage available.
  1431  //
  1432  //   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
  1433  //   The user attempted to create a new DB cluster and the user has already reached
  1434  //   the maximum allowed DB cluster quota.
  1435  //
  1436  //   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
  1437  //   The request would result in the user exceeding the allowed amount of storage
  1438  //   available across all DB instances.
  1439  //
  1440  //   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
  1441  //   DBSubnetGroupName doesn't refer to an existing DB subnet group.
  1442  //
  1443  //   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
  1444  //   The DB subnet group doesn't cover all Availability Zones after it's created
  1445  //   because of users' change.
  1446  //
  1447  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
  1448  //   The requested operation can't be performed while the cluster is in this state.
  1449  //
  1450  //   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
  1451  //   The DB subnet group cannot be deleted because it's in use.
  1452  //
  1453  //   * ErrCodeInvalidSubnet "InvalidSubnet"
  1454  //   The requested subnet is invalid, or multiple subnets were requested that
  1455  //   are not all in a common VPC.
  1456  //
  1457  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
  1458  //   The DB instance isn't in a valid state.
  1459  //
  1460  //   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
  1461  //   DBClusterParameterGroupName doesn't refer to an existing DB cluster parameter
  1462  //   group.
  1463  //
  1464  //   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
  1465  //   An error occurred accessing an Amazon Web Services KMS key.
  1466  //
  1467  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
  1468  //   DBClusterIdentifier doesn't refer to an existing DB cluster.
  1469  //
  1470  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
  1471  //   DBInstanceIdentifier doesn't refer to an existing DB instance.
  1472  //
  1473  //   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
  1474  //   Subnets in the DB subnet group should cover at least two Availability Zones
  1475  //   unless there is only one Availability Zone.
  1476  //
  1477  //   * ErrCodeGlobalClusterNotFoundFault "GlobalClusterNotFoundFault"
  1478  //   The GlobalClusterIdentifier doesn't refer to an existing global database
  1479  //   cluster.
  1480  //
  1481  //   * ErrCodeInvalidGlobalClusterStateFault "InvalidGlobalClusterStateFault"
  1482  //   The global cluster is in an invalid state and can't perform the requested
  1483  //   operation.
  1484  //
  1485  //   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
  1486  //   Domain doesn't refer to an existing Active Directory domain.
  1487  //
  1488  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBCluster
  1489  func (c *RDS) CreateDBCluster(input *CreateDBClusterInput) (*CreateDBClusterOutput, error) {
  1490  	req, out := c.CreateDBClusterRequest(input)
  1491  	return out, req.Send()
  1492  }
  1493  
  1494  // CreateDBClusterWithContext is the same as CreateDBCluster with the addition of
  1495  // the ability to pass a context and additional request options.
  1496  //
  1497  // See CreateDBCluster for details on how to use this API operation.
  1498  //
  1499  // The context must be non-nil and will be used for request cancellation. If
  1500  // the context is nil a panic will occur. In the future the SDK may create
  1501  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1502  // for more information on using Contexts.
  1503  func (c *RDS) CreateDBClusterWithContext(ctx aws.Context, input *CreateDBClusterInput, opts ...request.Option) (*CreateDBClusterOutput, error) {
  1504  	req, out := c.CreateDBClusterRequest(input)
  1505  	req.SetContext(ctx)
  1506  	req.ApplyOptions(opts...)
  1507  	return out, req.Send()
  1508  }
  1509  
  1510  const opCreateDBClusterEndpoint = "CreateDBClusterEndpoint"
  1511  
  1512  // CreateDBClusterEndpointRequest generates a "aws/request.Request" representing the
  1513  // client's request for the CreateDBClusterEndpoint operation. The "output" return
  1514  // value will be populated with the request's response once the request completes
  1515  // successfully.
  1516  //
  1517  // Use "Send" method on the returned Request to send the API call to the service.
  1518  // the "output" return value is not valid until after Send returns without error.
  1519  //
  1520  // See CreateDBClusterEndpoint for more information on using the CreateDBClusterEndpoint
  1521  // API call, and error handling.
  1522  //
  1523  // This method is useful when you want to inject custom logic or configuration
  1524  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1525  //
  1526  //
  1527  //    // Example sending a request using the CreateDBClusterEndpointRequest method.
  1528  //    req, resp := client.CreateDBClusterEndpointRequest(params)
  1529  //
  1530  //    err := req.Send()
  1531  //    if err == nil { // resp is now filled
  1532  //        fmt.Println(resp)
  1533  //    }
  1534  //
  1535  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterEndpoint
  1536  func (c *RDS) CreateDBClusterEndpointRequest(input *CreateDBClusterEndpointInput) (req *request.Request, output *CreateDBClusterEndpointOutput) {
  1537  	op := &request.Operation{
  1538  		Name:       opCreateDBClusterEndpoint,
  1539  		HTTPMethod: "POST",
  1540  		HTTPPath:   "/",
  1541  	}
  1542  
  1543  	if input == nil {
  1544  		input = &CreateDBClusterEndpointInput{}
  1545  	}
  1546  
  1547  	output = &CreateDBClusterEndpointOutput{}
  1548  	req = c.newRequest(op, input, output)
  1549  	return
  1550  }
  1551  
  1552  // CreateDBClusterEndpoint API operation for Amazon Relational Database Service.
  1553  //
  1554  // Creates a new custom endpoint and associates it with an Amazon Aurora DB
  1555  // cluster.
  1556  //
  1557  // This action only applies to Aurora DB clusters.
  1558  //
  1559  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1560  // with awserr.Error's Code and Message methods to get detailed information about
  1561  // the error.
  1562  //
  1563  // See the AWS API reference guide for Amazon Relational Database Service's
  1564  // API operation CreateDBClusterEndpoint for usage and error information.
  1565  //
  1566  // Returned Error Codes:
  1567  //   * ErrCodeDBClusterEndpointQuotaExceededFault "DBClusterEndpointQuotaExceededFault"
  1568  //   The cluster already has the maximum number of custom endpoints.
  1569  //
  1570  //   * ErrCodeDBClusterEndpointAlreadyExistsFault "DBClusterEndpointAlreadyExistsFault"
  1571  //   The specified custom endpoint can't be created because it already exists.
  1572  //
  1573  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
  1574  //   DBClusterIdentifier doesn't refer to an existing DB cluster.
  1575  //
  1576  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
  1577  //   The requested operation can't be performed while the cluster is in this state.
  1578  //
  1579  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
  1580  //   DBInstanceIdentifier doesn't refer to an existing DB instance.
  1581  //
  1582  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
  1583  //   The DB instance isn't in a valid state.
  1584  //
  1585  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterEndpoint
  1586  func (c *RDS) CreateDBClusterEndpoint(input *CreateDBClusterEndpointInput) (*CreateDBClusterEndpointOutput, error) {
  1587  	req, out := c.CreateDBClusterEndpointRequest(input)
  1588  	return out, req.Send()
  1589  }
  1590  
  1591  // CreateDBClusterEndpointWithContext is the same as CreateDBClusterEndpoint with the addition of
  1592  // the ability to pass a context and additional request options.
  1593  //
  1594  // See CreateDBClusterEndpoint for details on how to use this API operation.
  1595  //
  1596  // The context must be non-nil and will be used for request cancellation. If
  1597  // the context is nil a panic will occur. In the future the SDK may create
  1598  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1599  // for more information on using Contexts.
  1600  func (c *RDS) CreateDBClusterEndpointWithContext(ctx aws.Context, input *CreateDBClusterEndpointInput, opts ...request.Option) (*CreateDBClusterEndpointOutput, error) {
  1601  	req, out := c.CreateDBClusterEndpointRequest(input)
  1602  	req.SetContext(ctx)
  1603  	req.ApplyOptions(opts...)
  1604  	return out, req.Send()
  1605  }
  1606  
  1607  const opCreateDBClusterParameterGroup = "CreateDBClusterParameterGroup"
  1608  
  1609  // CreateDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
  1610  // client's request for the CreateDBClusterParameterGroup operation. The "output" return
  1611  // value will be populated with the request's response once the request completes
  1612  // successfully.
  1613  //
  1614  // Use "Send" method on the returned Request to send the API call to the service.
  1615  // the "output" return value is not valid until after Send returns without error.
  1616  //
  1617  // See CreateDBClusterParameterGroup for more information on using the CreateDBClusterParameterGroup
  1618  // API call, and error handling.
  1619  //
  1620  // This method is useful when you want to inject custom logic or configuration
  1621  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1622  //
  1623  //
  1624  //    // Example sending a request using the CreateDBClusterParameterGroupRequest method.
  1625  //    req, resp := client.CreateDBClusterParameterGroupRequest(params)
  1626  //
  1627  //    err := req.Send()
  1628  //    if err == nil { // resp is now filled
  1629  //        fmt.Println(resp)
  1630  //    }
  1631  //
  1632  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterParameterGroup
  1633  func (c *RDS) CreateDBClusterParameterGroupRequest(input *CreateDBClusterParameterGroupInput) (req *request.Request, output *CreateDBClusterParameterGroupOutput) {
  1634  	op := &request.Operation{
  1635  		Name:       opCreateDBClusterParameterGroup,
  1636  		HTTPMethod: "POST",
  1637  		HTTPPath:   "/",
  1638  	}
  1639  
  1640  	if input == nil {
  1641  		input = &CreateDBClusterParameterGroupInput{}
  1642  	}
  1643  
  1644  	output = &CreateDBClusterParameterGroupOutput{}
  1645  	req = c.newRequest(op, input, output)
  1646  	return
  1647  }
  1648  
  1649  // CreateDBClusterParameterGroup API operation for Amazon Relational Database Service.
  1650  //
  1651  // Creates a new DB cluster parameter group.
  1652  //
  1653  // Parameters in a DB cluster parameter group apply to all of the instances
  1654  // in a DB cluster.
  1655  //
  1656  // A DB cluster parameter group is initially created with the default parameters
  1657  // for the database engine used by instances in the DB cluster. To provide custom
  1658  // values for any of the parameters, you must modify the group after creating
  1659  // it using ModifyDBClusterParameterGroup. Once you've created a DB cluster
  1660  // parameter group, you need to associate it with your DB cluster using ModifyDBCluster.
  1661  // When you associate a new DB cluster parameter group with a running DB cluster,
  1662  // you need to reboot the DB instances in the DB cluster without failover for
  1663  // the new DB cluster parameter group and associated settings to take effect.
  1664  //
  1665  // After you create a DB cluster parameter group, you should wait at least 5
  1666  // minutes before creating your first DB cluster that uses that DB cluster parameter
  1667  // group as the default parameter group. This allows Amazon RDS to fully complete
  1668  // the create action before the DB cluster parameter group is used as the default
  1669  // for a new DB cluster. This is especially important for parameters that are
  1670  // critical when creating the default database for a DB cluster, such as the
  1671  // character set for the default database defined by the character_set_database
  1672  // parameter. You can use the Parameter Groups option of the Amazon RDS console
  1673  // (https://console.aws.amazon.com/rds/) or the DescribeDBClusterParameters
  1674  // action to verify that your DB cluster parameter group has been created or
  1675  // modified.
  1676  //
  1677  // For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
  1678  // in the Amazon Aurora User Guide.
  1679  //
  1680  // This action only applies to Aurora DB clusters.
  1681  //
  1682  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1683  // with awserr.Error's Code and Message methods to get detailed information about
  1684  // the error.
  1685  //
  1686  // See the AWS API reference guide for Amazon Relational Database Service's
  1687  // API operation CreateDBClusterParameterGroup for usage and error information.
  1688  //
  1689  // Returned Error Codes:
  1690  //   * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded"
  1691  //   The request would result in the user exceeding the allowed number of DB parameter
  1692  //   groups.
  1693  //
  1694  //   * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists"
  1695  //   A DB parameter group with the same name exists.
  1696  //
  1697  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterParameterGroup
  1698  func (c *RDS) CreateDBClusterParameterGroup(input *CreateDBClusterParameterGroupInput) (*CreateDBClusterParameterGroupOutput, error) {
  1699  	req, out := c.CreateDBClusterParameterGroupRequest(input)
  1700  	return out, req.Send()
  1701  }
  1702  
  1703  // CreateDBClusterParameterGroupWithContext is the same as CreateDBClusterParameterGroup with the addition of
  1704  // the ability to pass a context and additional request options.
  1705  //
  1706  // See CreateDBClusterParameterGroup for details on how to use this API operation.
  1707  //
  1708  // The context must be non-nil and will be used for request cancellation. If
  1709  // the context is nil a panic will occur. In the future the SDK may create
  1710  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1711  // for more information on using Contexts.
  1712  func (c *RDS) CreateDBClusterParameterGroupWithContext(ctx aws.Context, input *CreateDBClusterParameterGroupInput, opts ...request.Option) (*CreateDBClusterParameterGroupOutput, error) {
  1713  	req, out := c.CreateDBClusterParameterGroupRequest(input)
  1714  	req.SetContext(ctx)
  1715  	req.ApplyOptions(opts...)
  1716  	return out, req.Send()
  1717  }
  1718  
  1719  const opCreateDBClusterSnapshot = "CreateDBClusterSnapshot"
  1720  
  1721  // CreateDBClusterSnapshotRequest generates a "aws/request.Request" representing the
  1722  // client's request for the CreateDBClusterSnapshot operation. The "output" return
  1723  // value will be populated with the request's response once the request completes
  1724  // successfully.
  1725  //
  1726  // Use "Send" method on the returned Request to send the API call to the service.
  1727  // the "output" return value is not valid until after Send returns without error.
  1728  //
  1729  // See CreateDBClusterSnapshot for more information on using the CreateDBClusterSnapshot
  1730  // API call, and error handling.
  1731  //
  1732  // This method is useful when you want to inject custom logic or configuration
  1733  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1734  //
  1735  //
  1736  //    // Example sending a request using the CreateDBClusterSnapshotRequest method.
  1737  //    req, resp := client.CreateDBClusterSnapshotRequest(params)
  1738  //
  1739  //    err := req.Send()
  1740  //    if err == nil { // resp is now filled
  1741  //        fmt.Println(resp)
  1742  //    }
  1743  //
  1744  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterSnapshot
  1745  func (c *RDS) CreateDBClusterSnapshotRequest(input *CreateDBClusterSnapshotInput) (req *request.Request, output *CreateDBClusterSnapshotOutput) {
  1746  	op := &request.Operation{
  1747  		Name:       opCreateDBClusterSnapshot,
  1748  		HTTPMethod: "POST",
  1749  		HTTPPath:   "/",
  1750  	}
  1751  
  1752  	if input == nil {
  1753  		input = &CreateDBClusterSnapshotInput{}
  1754  	}
  1755  
  1756  	output = &CreateDBClusterSnapshotOutput{}
  1757  	req = c.newRequest(op, input, output)
  1758  	return
  1759  }
  1760  
  1761  // CreateDBClusterSnapshot API operation for Amazon Relational Database Service.
  1762  //
  1763  // Creates a snapshot of a DB cluster. For more information on Amazon Aurora,
  1764  // see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
  1765  // in the Amazon Aurora User Guide.
  1766  //
  1767  // This action only applies to Aurora DB clusters.
  1768  //
  1769  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1770  // with awserr.Error's Code and Message methods to get detailed information about
  1771  // the error.
  1772  //
  1773  // See the AWS API reference guide for Amazon Relational Database Service's
  1774  // API operation CreateDBClusterSnapshot for usage and error information.
  1775  //
  1776  // Returned Error Codes:
  1777  //   * ErrCodeDBClusterSnapshotAlreadyExistsFault "DBClusterSnapshotAlreadyExistsFault"
  1778  //   The user already has a DB cluster snapshot with the given identifier.
  1779  //
  1780  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
  1781  //   The requested operation can't be performed while the cluster is in this state.
  1782  //
  1783  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
  1784  //   DBClusterIdentifier doesn't refer to an existing DB cluster.
  1785  //
  1786  //   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
  1787  //   The request would result in the user exceeding the allowed number of DB snapshots.
  1788  //
  1789  //   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
  1790  //   The supplied value isn't a valid DB cluster snapshot state.
  1791  //
  1792  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterSnapshot
  1793  func (c *RDS) CreateDBClusterSnapshot(input *CreateDBClusterSnapshotInput) (*CreateDBClusterSnapshotOutput, error) {
  1794  	req, out := c.CreateDBClusterSnapshotRequest(input)
  1795  	return out, req.Send()
  1796  }
  1797  
  1798  // CreateDBClusterSnapshotWithContext is the same as CreateDBClusterSnapshot with the addition of
  1799  // the ability to pass a context and additional request options.
  1800  //
  1801  // See CreateDBClusterSnapshot for details on how to use this API operation.
  1802  //
  1803  // The context must be non-nil and will be used for request cancellation. If
  1804  // the context is nil a panic will occur. In the future the SDK may create
  1805  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1806  // for more information on using Contexts.
  1807  func (c *RDS) CreateDBClusterSnapshotWithContext(ctx aws.Context, input *CreateDBClusterSnapshotInput, opts ...request.Option) (*CreateDBClusterSnapshotOutput, error) {
  1808  	req, out := c.CreateDBClusterSnapshotRequest(input)
  1809  	req.SetContext(ctx)
  1810  	req.ApplyOptions(opts...)
  1811  	return out, req.Send()
  1812  }
  1813  
  1814  const opCreateDBInstance = "CreateDBInstance"
  1815  
  1816  // CreateDBInstanceRequest generates a "aws/request.Request" representing the
  1817  // client's request for the CreateDBInstance operation. The "output" return
  1818  // value will be populated with the request's response once the request completes
  1819  // successfully.
  1820  //
  1821  // Use "Send" method on the returned Request to send the API call to the service.
  1822  // the "output" return value is not valid until after Send returns without error.
  1823  //
  1824  // See CreateDBInstance for more information on using the CreateDBInstance
  1825  // API call, and error handling.
  1826  //
  1827  // This method is useful when you want to inject custom logic or configuration
  1828  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1829  //
  1830  //
  1831  //    // Example sending a request using the CreateDBInstanceRequest method.
  1832  //    req, resp := client.CreateDBInstanceRequest(params)
  1833  //
  1834  //    err := req.Send()
  1835  //    if err == nil { // resp is now filled
  1836  //        fmt.Println(resp)
  1837  //    }
  1838  //
  1839  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBInstance
  1840  func (c *RDS) CreateDBInstanceRequest(input *CreateDBInstanceInput) (req *request.Request, output *CreateDBInstanceOutput) {
  1841  	op := &request.Operation{
  1842  		Name:       opCreateDBInstance,
  1843  		HTTPMethod: "POST",
  1844  		HTTPPath:   "/",
  1845  	}
  1846  
  1847  	if input == nil {
  1848  		input = &CreateDBInstanceInput{}
  1849  	}
  1850  
  1851  	output = &CreateDBInstanceOutput{}
  1852  	req = c.newRequest(op, input, output)
  1853  	return
  1854  }
  1855  
  1856  // CreateDBInstance API operation for Amazon Relational Database Service.
  1857  //
  1858  // Creates a new DB instance.
  1859  //
  1860  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1861  // with awserr.Error's Code and Message methods to get detailed information about
  1862  // the error.
  1863  //
  1864  // See the AWS API reference guide for Amazon Relational Database Service's
  1865  // API operation CreateDBInstance for usage and error information.
  1866  //
  1867  // Returned Error Codes:
  1868  //   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
  1869  //   The user already has a DB instance with the given identifier.
  1870  //
  1871  //   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
  1872  //   The specified DB instance class isn't available in the specified Availability
  1873  //   Zone.
  1874  //
  1875  //   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
  1876  //   DBParameterGroupName doesn't refer to an existing DB parameter group.
  1877  //
  1878  //   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
  1879  //   DBSecurityGroupName doesn't refer to an existing DB security group.
  1880  //
  1881  //   * ErrCodeInstanceQuotaExceededFault "InstanceQuotaExceeded"
  1882  //   The request would result in the user exceeding the allowed number of DB instances.
  1883  //
  1884  //   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
  1885  //   The request would result in the user exceeding the allowed amount of storage
  1886  //   available across all DB instances.
  1887  //
  1888  //   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
  1889  //   DBSubnetGroupName doesn't refer to an existing DB subnet group.
  1890  //
  1891  //   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
  1892  //   Subnets in the DB subnet group should cover at least two Availability Zones
  1893  //   unless there is only one Availability Zone.
  1894  //
  1895  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
  1896  //   The requested operation can't be performed while the cluster is in this state.
  1897  //
  1898  //   * ErrCodeInvalidSubnet "InvalidSubnet"
  1899  //   The requested subnet is invalid, or multiple subnets were requested that
  1900  //   are not all in a common VPC.
  1901  //
  1902  //   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
  1903  //   The DB subnet group doesn't cover all Availability Zones after it's created
  1904  //   because of users' change.
  1905  //
  1906  //   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
  1907  //   Provisioned IOPS not available in the specified Availability Zone.
  1908  //
  1909  //   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
  1910  //   The specified option group could not be found.
  1911  //
  1912  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
  1913  //   DBClusterIdentifier doesn't refer to an existing DB cluster.
  1914  //
  1915  //   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
  1916  //   Storage of the StorageType specified can't be associated with the DB instance.
  1917  //
  1918  //   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
  1919  //   The specified CIDR IP range or Amazon EC2 security group might not be authorized
  1920  //   for the specified DB security group.
  1921  //
  1922  //   Or, RDS might not be authorized to perform necessary actions using IAM on
  1923  //   your behalf.
  1924  //
  1925  //   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
  1926  //   An error occurred accessing an Amazon Web Services KMS key.
  1927  //
  1928  //   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
  1929  //   Domain doesn't refer to an existing Active Directory domain.
  1930  //
  1931  //   * ErrCodeBackupPolicyNotFoundFault "BackupPolicyNotFoundFault"
  1932  //
  1933  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBInstance
  1934  func (c *RDS) CreateDBInstance(input *CreateDBInstanceInput) (*CreateDBInstanceOutput, error) {
  1935  	req, out := c.CreateDBInstanceRequest(input)
  1936  	return out, req.Send()
  1937  }
  1938  
  1939  // CreateDBInstanceWithContext is the same as CreateDBInstance with the addition of
  1940  // the ability to pass a context and additional request options.
  1941  //
  1942  // See CreateDBInstance for details on how to use this API operation.
  1943  //
  1944  // The context must be non-nil and will be used for request cancellation. If
  1945  // the context is nil a panic will occur. In the future the SDK may create
  1946  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1947  // for more information on using Contexts.
  1948  func (c *RDS) CreateDBInstanceWithContext(ctx aws.Context, input *CreateDBInstanceInput, opts ...request.Option) (*CreateDBInstanceOutput, error) {
  1949  	req, out := c.CreateDBInstanceRequest(input)
  1950  	req.SetContext(ctx)
  1951  	req.ApplyOptions(opts...)
  1952  	return out, req.Send()
  1953  }
  1954  
  1955  const opCreateDBInstanceReadReplica = "CreateDBInstanceReadReplica"
  1956  
  1957  // CreateDBInstanceReadReplicaRequest generates a "aws/request.Request" representing the
  1958  // client's request for the CreateDBInstanceReadReplica operation. The "output" return
  1959  // value will be populated with the request's response once the request completes
  1960  // successfully.
  1961  //
  1962  // Use "Send" method on the returned Request to send the API call to the service.
  1963  // the "output" return value is not valid until after Send returns without error.
  1964  //
  1965  // See CreateDBInstanceReadReplica for more information on using the CreateDBInstanceReadReplica
  1966  // API call, and error handling.
  1967  //
  1968  // This method is useful when you want to inject custom logic or configuration
  1969  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1970  //
  1971  //
  1972  //    // Example sending a request using the CreateDBInstanceReadReplicaRequest method.
  1973  //    req, resp := client.CreateDBInstanceReadReplicaRequest(params)
  1974  //
  1975  //    err := req.Send()
  1976  //    if err == nil { // resp is now filled
  1977  //        fmt.Println(resp)
  1978  //    }
  1979  //
  1980  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBInstanceReadReplica
  1981  func (c *RDS) CreateDBInstanceReadReplicaRequest(input *CreateDBInstanceReadReplicaInput) (req *request.Request, output *CreateDBInstanceReadReplicaOutput) {
  1982  	op := &request.Operation{
  1983  		Name:       opCreateDBInstanceReadReplica,
  1984  		HTTPMethod: "POST",
  1985  		HTTPPath:   "/",
  1986  	}
  1987  
  1988  	if input == nil {
  1989  		input = &CreateDBInstanceReadReplicaInput{}
  1990  	}
  1991  
  1992  	output = &CreateDBInstanceReadReplicaOutput{}
  1993  	req = c.newRequest(op, input, output)
  1994  	return
  1995  }
  1996  
  1997  // CreateDBInstanceReadReplica API operation for Amazon Relational Database Service.
  1998  //
  1999  // Creates a new DB instance that acts as a read replica for an existing source
  2000  // DB instance. You can create a read replica for a DB instance running MySQL,
  2001  // MariaDB, Oracle, PostgreSQL, or SQL Server. For more information, see Working
  2002  // with Read Replicas (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html)
  2003  // in the Amazon RDS User Guide.
  2004  //
  2005  // Amazon Aurora doesn't support this action. Call the CreateDBInstance action
  2006  // to create a DB instance for an Aurora DB cluster.
  2007  //
  2008  // All read replica DB instances are created with backups disabled. All other
  2009  // DB instance attributes (including DB security groups and DB parameter groups)
  2010  // are inherited from the source DB instance, except as specified.
  2011  //
  2012  // Your source DB instance must have backup retention enabled.
  2013  //
  2014  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2015  // with awserr.Error's Code and Message methods to get detailed information about
  2016  // the error.
  2017  //
  2018  // See the AWS API reference guide for Amazon Relational Database Service's
  2019  // API operation CreateDBInstanceReadReplica for usage and error information.
  2020  //
  2021  // Returned Error Codes:
  2022  //   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
  2023  //   The user already has a DB instance with the given identifier.
  2024  //
  2025  //   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
  2026  //   The specified DB instance class isn't available in the specified Availability
  2027  //   Zone.
  2028  //
  2029  //   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
  2030  //   DBParameterGroupName doesn't refer to an existing DB parameter group.
  2031  //
  2032  //   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
  2033  //   DBSecurityGroupName doesn't refer to an existing DB security group.
  2034  //
  2035  //   * ErrCodeInstanceQuotaExceededFault "InstanceQuotaExceeded"
  2036  //   The request would result in the user exceeding the allowed number of DB instances.
  2037  //
  2038  //   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
  2039  //   The request would result in the user exceeding the allowed amount of storage
  2040  //   available across all DB instances.
  2041  //
  2042  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
  2043  //   DBInstanceIdentifier doesn't refer to an existing DB instance.
  2044  //
  2045  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
  2046  //   The DB instance isn't in a valid state.
  2047  //
  2048  //   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
  2049  //   DBSubnetGroupName doesn't refer to an existing DB subnet group.
  2050  //
  2051  //   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
  2052  //   Subnets in the DB subnet group should cover at least two Availability Zones
  2053  //   unless there is only one Availability Zone.
  2054  //
  2055  //   * ErrCodeInvalidSubnet "InvalidSubnet"
  2056  //   The requested subnet is invalid, or multiple subnets were requested that
  2057  //   are not all in a common VPC.
  2058  //
  2059  //   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
  2060  //   The DB subnet group doesn't cover all Availability Zones after it's created
  2061  //   because of users' change.
  2062  //
  2063  //   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
  2064  //   Provisioned IOPS not available in the specified Availability Zone.
  2065  //
  2066  //   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
  2067  //   The specified option group could not be found.
  2068  //
  2069  //   * ErrCodeDBSubnetGroupNotAllowedFault "DBSubnetGroupNotAllowedFault"
  2070  //   The DBSubnetGroup shouldn't be specified while creating read replicas that
  2071  //   lie in the same region as the source instance.
  2072  //
  2073  //   * ErrCodeInvalidDBSubnetGroupFault "InvalidDBSubnetGroupFault"
  2074  //   The DBSubnetGroup doesn't belong to the same VPC as that of an existing cross-region
  2075  //   read replica of the same source instance.
  2076  //
  2077  //   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
  2078  //   Storage of the StorageType specified can't be associated with the DB instance.
  2079  //
  2080  //   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
  2081  //   An error occurred accessing an Amazon Web Services KMS key.
  2082  //
  2083  //   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
  2084  //   Domain doesn't refer to an existing Active Directory domain.
  2085  //
  2086  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBInstanceReadReplica
  2087  func (c *RDS) CreateDBInstanceReadReplica(input *CreateDBInstanceReadReplicaInput) (*CreateDBInstanceReadReplicaOutput, error) {
  2088  	req, out := c.CreateDBInstanceReadReplicaRequest(input)
  2089  	return out, req.Send()
  2090  }
  2091  
  2092  // CreateDBInstanceReadReplicaWithContext is the same as CreateDBInstanceReadReplica with the addition of
  2093  // the ability to pass a context and additional request options.
  2094  //
  2095  // See CreateDBInstanceReadReplica for details on how to use this API operation.
  2096  //
  2097  // The context must be non-nil and will be used for request cancellation. If
  2098  // the context is nil a panic will occur. In the future the SDK may create
  2099  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2100  // for more information on using Contexts.
  2101  func (c *RDS) CreateDBInstanceReadReplicaWithContext(ctx aws.Context, input *CreateDBInstanceReadReplicaInput, opts ...request.Option) (*CreateDBInstanceReadReplicaOutput, error) {
  2102  	req, out := c.CreateDBInstanceReadReplicaRequest(input)
  2103  	req.SetContext(ctx)
  2104  	req.ApplyOptions(opts...)
  2105  	return out, req.Send()
  2106  }
  2107  
  2108  const opCreateDBParameterGroup = "CreateDBParameterGroup"
  2109  
  2110  // CreateDBParameterGroupRequest generates a "aws/request.Request" representing the
  2111  // client's request for the CreateDBParameterGroup operation. The "output" return
  2112  // value will be populated with the request's response once the request completes
  2113  // successfully.
  2114  //
  2115  // Use "Send" method on the returned Request to send the API call to the service.
  2116  // the "output" return value is not valid until after Send returns without error.
  2117  //
  2118  // See CreateDBParameterGroup for more information on using the CreateDBParameterGroup
  2119  // API call, and error handling.
  2120  //
  2121  // This method is useful when you want to inject custom logic or configuration
  2122  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2123  //
  2124  //
  2125  //    // Example sending a request using the CreateDBParameterGroupRequest method.
  2126  //    req, resp := client.CreateDBParameterGroupRequest(params)
  2127  //
  2128  //    err := req.Send()
  2129  //    if err == nil { // resp is now filled
  2130  //        fmt.Println(resp)
  2131  //    }
  2132  //
  2133  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBParameterGroup
  2134  func (c *RDS) CreateDBParameterGroupRequest(input *CreateDBParameterGroupInput) (req *request.Request, output *CreateDBParameterGroupOutput) {
  2135  	op := &request.Operation{
  2136  		Name:       opCreateDBParameterGroup,
  2137  		HTTPMethod: "POST",
  2138  		HTTPPath:   "/",
  2139  	}
  2140  
  2141  	if input == nil {
  2142  		input = &CreateDBParameterGroupInput{}
  2143  	}
  2144  
  2145  	output = &CreateDBParameterGroupOutput{}
  2146  	req = c.newRequest(op, input, output)
  2147  	return
  2148  }
  2149  
  2150  // CreateDBParameterGroup API operation for Amazon Relational Database Service.
  2151  //
  2152  // Creates a new DB parameter group.
  2153  //
  2154  // A DB parameter group is initially created with the default parameters for
  2155  // the database engine used by the DB instance. To provide custom values for
  2156  // any of the parameters, you must modify the group after creating it using
  2157  // ModifyDBParameterGroup. Once you've created a DB parameter group, you need
  2158  // to associate it with your DB instance using ModifyDBInstance. When you associate
  2159  // a new DB parameter group with a running DB instance, you need to reboot the
  2160  // DB instance without failover for the new DB parameter group and associated
  2161  // settings to take effect.
  2162  //
  2163  // After you create a DB parameter group, you should wait at least 5 minutes
  2164  // before creating your first DB instance that uses that DB parameter group
  2165  // as the default parameter group. This allows Amazon RDS to fully complete
  2166  // the create action before the parameter group is used as the default for a
  2167  // new DB instance. This is especially important for parameters that are critical
  2168  // when creating the default database for a DB instance, such as the character
  2169  // set for the default database defined by the character_set_database parameter.
  2170  // You can use the Parameter Groups option of the Amazon RDS console (https://console.aws.amazon.com/rds/)
  2171  // or the DescribeDBParameters command to verify that your DB parameter group
  2172  // has been created or modified.
  2173  //
  2174  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2175  // with awserr.Error's Code and Message methods to get detailed information about
  2176  // the error.
  2177  //
  2178  // See the AWS API reference guide for Amazon Relational Database Service's
  2179  // API operation CreateDBParameterGroup for usage and error information.
  2180  //
  2181  // Returned Error Codes:
  2182  //   * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded"
  2183  //   The request would result in the user exceeding the allowed number of DB parameter
  2184  //   groups.
  2185  //
  2186  //   * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists"
  2187  //   A DB parameter group with the same name exists.
  2188  //
  2189  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBParameterGroup
  2190  func (c *RDS) CreateDBParameterGroup(input *CreateDBParameterGroupInput) (*CreateDBParameterGroupOutput, error) {
  2191  	req, out := c.CreateDBParameterGroupRequest(input)
  2192  	return out, req.Send()
  2193  }
  2194  
  2195  // CreateDBParameterGroupWithContext is the same as CreateDBParameterGroup with the addition of
  2196  // the ability to pass a context and additional request options.
  2197  //
  2198  // See CreateDBParameterGroup for details on how to use this API operation.
  2199  //
  2200  // The context must be non-nil and will be used for request cancellation. If
  2201  // the context is nil a panic will occur. In the future the SDK may create
  2202  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2203  // for more information on using Contexts.
  2204  func (c *RDS) CreateDBParameterGroupWithContext(ctx aws.Context, input *CreateDBParameterGroupInput, opts ...request.Option) (*CreateDBParameterGroupOutput, error) {
  2205  	req, out := c.CreateDBParameterGroupRequest(input)
  2206  	req.SetContext(ctx)
  2207  	req.ApplyOptions(opts...)
  2208  	return out, req.Send()
  2209  }
  2210  
  2211  const opCreateDBProxy = "CreateDBProxy"
  2212  
  2213  // CreateDBProxyRequest generates a "aws/request.Request" representing the
  2214  // client's request for the CreateDBProxy operation. The "output" return
  2215  // value will be populated with the request's response once the request completes
  2216  // successfully.
  2217  //
  2218  // Use "Send" method on the returned Request to send the API call to the service.
  2219  // the "output" return value is not valid until after Send returns without error.
  2220  //
  2221  // See CreateDBProxy for more information on using the CreateDBProxy
  2222  // API call, and error handling.
  2223  //
  2224  // This method is useful when you want to inject custom logic or configuration
  2225  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2226  //
  2227  //
  2228  //    // Example sending a request using the CreateDBProxyRequest method.
  2229  //    req, resp := client.CreateDBProxyRequest(params)
  2230  //
  2231  //    err := req.Send()
  2232  //    if err == nil { // resp is now filled
  2233  //        fmt.Println(resp)
  2234  //    }
  2235  //
  2236  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBProxy
  2237  func (c *RDS) CreateDBProxyRequest(input *CreateDBProxyInput) (req *request.Request, output *CreateDBProxyOutput) {
  2238  	op := &request.Operation{
  2239  		Name:       opCreateDBProxy,
  2240  		HTTPMethod: "POST",
  2241  		HTTPPath:   "/",
  2242  	}
  2243  
  2244  	if input == nil {
  2245  		input = &CreateDBProxyInput{}
  2246  	}
  2247  
  2248  	output = &CreateDBProxyOutput{}
  2249  	req = c.newRequest(op, input, output)
  2250  	return
  2251  }
  2252  
  2253  // CreateDBProxy API operation for Amazon Relational Database Service.
  2254  //
  2255  // Creates a new DB proxy.
  2256  //
  2257  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2258  // with awserr.Error's Code and Message methods to get detailed information about
  2259  // the error.
  2260  //
  2261  // See the AWS API reference guide for Amazon Relational Database Service's
  2262  // API operation CreateDBProxy for usage and error information.
  2263  //
  2264  // Returned Error Codes:
  2265  //   * ErrCodeInvalidSubnet "InvalidSubnet"
  2266  //   The requested subnet is invalid, or multiple subnets were requested that
  2267  //   are not all in a common VPC.
  2268  //
  2269  //   * ErrCodeDBProxyAlreadyExistsFault "DBProxyAlreadyExistsFault"
  2270  //   The specified proxy name must be unique for all proxies owned by your Amazon
  2271  //   Web Services account in the specified Amazon Web Services Region.
  2272  //
  2273  //   * ErrCodeDBProxyQuotaExceededFault "DBProxyQuotaExceededFault"
  2274  //   Your Amazon Web Services account already has the maximum number of proxies
  2275  //   in the specified Amazon Web Services Region.
  2276  //
  2277  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBProxy
  2278  func (c *RDS) CreateDBProxy(input *CreateDBProxyInput) (*CreateDBProxyOutput, error) {
  2279  	req, out := c.CreateDBProxyRequest(input)
  2280  	return out, req.Send()
  2281  }
  2282  
  2283  // CreateDBProxyWithContext is the same as CreateDBProxy with the addition of
  2284  // the ability to pass a context and additional request options.
  2285  //
  2286  // See CreateDBProxy for details on how to use this API operation.
  2287  //
  2288  // The context must be non-nil and will be used for request cancellation. If
  2289  // the context is nil a panic will occur. In the future the SDK may create
  2290  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2291  // for more information on using Contexts.
  2292  func (c *RDS) CreateDBProxyWithContext(ctx aws.Context, input *CreateDBProxyInput, opts ...request.Option) (*CreateDBProxyOutput, error) {
  2293  	req, out := c.CreateDBProxyRequest(input)
  2294  	req.SetContext(ctx)
  2295  	req.ApplyOptions(opts...)
  2296  	return out, req.Send()
  2297  }
  2298  
  2299  const opCreateDBProxyEndpoint = "CreateDBProxyEndpoint"
  2300  
  2301  // CreateDBProxyEndpointRequest generates a "aws/request.Request" representing the
  2302  // client's request for the CreateDBProxyEndpoint operation. The "output" return
  2303  // value will be populated with the request's response once the request completes
  2304  // successfully.
  2305  //
  2306  // Use "Send" method on the returned Request to send the API call to the service.
  2307  // the "output" return value is not valid until after Send returns without error.
  2308  //
  2309  // See CreateDBProxyEndpoint for more information on using the CreateDBProxyEndpoint
  2310  // API call, and error handling.
  2311  //
  2312  // This method is useful when you want to inject custom logic or configuration
  2313  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2314  //
  2315  //
  2316  //    // Example sending a request using the CreateDBProxyEndpointRequest method.
  2317  //    req, resp := client.CreateDBProxyEndpointRequest(params)
  2318  //
  2319  //    err := req.Send()
  2320  //    if err == nil { // resp is now filled
  2321  //        fmt.Println(resp)
  2322  //    }
  2323  //
  2324  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBProxyEndpoint
  2325  func (c *RDS) CreateDBProxyEndpointRequest(input *CreateDBProxyEndpointInput) (req *request.Request, output *CreateDBProxyEndpointOutput) {
  2326  	op := &request.Operation{
  2327  		Name:       opCreateDBProxyEndpoint,
  2328  		HTTPMethod: "POST",
  2329  		HTTPPath:   "/",
  2330  	}
  2331  
  2332  	if input == nil {
  2333  		input = &CreateDBProxyEndpointInput{}
  2334  	}
  2335  
  2336  	output = &CreateDBProxyEndpointOutput{}
  2337  	req = c.newRequest(op, input, output)
  2338  	return
  2339  }
  2340  
  2341  // CreateDBProxyEndpoint API operation for Amazon Relational Database Service.
  2342  //
  2343  // Creates a DBProxyEndpoint. Only applies to proxies that are associated with
  2344  // Aurora DB clusters. You can use DB proxy endpoints to specify read/write
  2345  // or read-only access to the DB cluster. You can also use DB proxy endpoints
  2346  // to access a DB proxy through a different VPC than the proxy's default VPC.
  2347  //
  2348  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2349  // with awserr.Error's Code and Message methods to get detailed information about
  2350  // the error.
  2351  //
  2352  // See the AWS API reference guide for Amazon Relational Database Service's
  2353  // API operation CreateDBProxyEndpoint for usage and error information.
  2354  //
  2355  // Returned Error Codes:
  2356  //   * ErrCodeInvalidSubnet "InvalidSubnet"
  2357  //   The requested subnet is invalid, or multiple subnets were requested that
  2358  //   are not all in a common VPC.
  2359  //
  2360  //   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
  2361  //   The specified proxy name doesn't correspond to a proxy owned by your Amazon
  2362  //   Web Services account in the specified Amazon Web Services Region.
  2363  //
  2364  //   * ErrCodeDBProxyEndpointAlreadyExistsFault "DBProxyEndpointAlreadyExistsFault"
  2365  //   The specified DB proxy endpoint name must be unique for all DB proxy endpoints
  2366  //   owned by your Amazon Web Services account in the specified Amazon Web Services
  2367  //   Region.
  2368  //
  2369  //   * ErrCodeDBProxyEndpointQuotaExceededFault "DBProxyEndpointQuotaExceededFault"
  2370  //   The DB proxy already has the maximum number of endpoints.
  2371  //
  2372  //   * ErrCodeInvalidDBProxyStateFault "InvalidDBProxyStateFault"
  2373  //   The requested operation can't be performed while the proxy is in this state.
  2374  //
  2375  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBProxyEndpoint
  2376  func (c *RDS) CreateDBProxyEndpoint(input *CreateDBProxyEndpointInput) (*CreateDBProxyEndpointOutput, error) {
  2377  	req, out := c.CreateDBProxyEndpointRequest(input)
  2378  	return out, req.Send()
  2379  }
  2380  
  2381  // CreateDBProxyEndpointWithContext is the same as CreateDBProxyEndpoint with the addition of
  2382  // the ability to pass a context and additional request options.
  2383  //
  2384  // See CreateDBProxyEndpoint for details on how to use this API operation.
  2385  //
  2386  // The context must be non-nil and will be used for request cancellation. If
  2387  // the context is nil a panic will occur. In the future the SDK may create
  2388  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2389  // for more information on using Contexts.
  2390  func (c *RDS) CreateDBProxyEndpointWithContext(ctx aws.Context, input *CreateDBProxyEndpointInput, opts ...request.Option) (*CreateDBProxyEndpointOutput, error) {
  2391  	req, out := c.CreateDBProxyEndpointRequest(input)
  2392  	req.SetContext(ctx)
  2393  	req.ApplyOptions(opts...)
  2394  	return out, req.Send()
  2395  }
  2396  
  2397  const opCreateDBSecurityGroup = "CreateDBSecurityGroup"
  2398  
  2399  // CreateDBSecurityGroupRequest generates a "aws/request.Request" representing the
  2400  // client's request for the CreateDBSecurityGroup operation. The "output" return
  2401  // value will be populated with the request's response once the request completes
  2402  // successfully.
  2403  //
  2404  // Use "Send" method on the returned Request to send the API call to the service.
  2405  // the "output" return value is not valid until after Send returns without error.
  2406  //
  2407  // See CreateDBSecurityGroup for more information on using the CreateDBSecurityGroup
  2408  // API call, and error handling.
  2409  //
  2410  // This method is useful when you want to inject custom logic or configuration
  2411  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2412  //
  2413  //
  2414  //    // Example sending a request using the CreateDBSecurityGroupRequest method.
  2415  //    req, resp := client.CreateDBSecurityGroupRequest(params)
  2416  //
  2417  //    err := req.Send()
  2418  //    if err == nil { // resp is now filled
  2419  //        fmt.Println(resp)
  2420  //    }
  2421  //
  2422  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSecurityGroup
  2423  func (c *RDS) CreateDBSecurityGroupRequest(input *CreateDBSecurityGroupInput) (req *request.Request, output *CreateDBSecurityGroupOutput) {
  2424  	op := &request.Operation{
  2425  		Name:       opCreateDBSecurityGroup,
  2426  		HTTPMethod: "POST",
  2427  		HTTPPath:   "/",
  2428  	}
  2429  
  2430  	if input == nil {
  2431  		input = &CreateDBSecurityGroupInput{}
  2432  	}
  2433  
  2434  	output = &CreateDBSecurityGroupOutput{}
  2435  	req = c.newRequest(op, input, output)
  2436  	return
  2437  }
  2438  
  2439  // CreateDBSecurityGroup API operation for Amazon Relational Database Service.
  2440  //
  2441  // Creates a new DB security group. DB security groups control access to a DB
  2442  // instance.
  2443  //
  2444  // A DB security group controls access to EC2-Classic DB instances that are
  2445  // not in a VPC.
  2446  //
  2447  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2448  // with awserr.Error's Code and Message methods to get detailed information about
  2449  // the error.
  2450  //
  2451  // See the AWS API reference guide for Amazon Relational Database Service's
  2452  // API operation CreateDBSecurityGroup for usage and error information.
  2453  //
  2454  // Returned Error Codes:
  2455  //   * ErrCodeDBSecurityGroupAlreadyExistsFault "DBSecurityGroupAlreadyExists"
  2456  //   A DB security group with the name specified in DBSecurityGroupName already
  2457  //   exists.
  2458  //
  2459  //   * ErrCodeDBSecurityGroupQuotaExceededFault "QuotaExceeded.DBSecurityGroup"
  2460  //   The request would result in the user exceeding the allowed number of DB security
  2461  //   groups.
  2462  //
  2463  //   * ErrCodeDBSecurityGroupNotSupportedFault "DBSecurityGroupNotSupported"
  2464  //   A DB security group isn't allowed for this action.
  2465  //
  2466  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSecurityGroup
  2467  func (c *RDS) CreateDBSecurityGroup(input *CreateDBSecurityGroupInput) (*CreateDBSecurityGroupOutput, error) {
  2468  	req, out := c.CreateDBSecurityGroupRequest(input)
  2469  	return out, req.Send()
  2470  }
  2471  
  2472  // CreateDBSecurityGroupWithContext is the same as CreateDBSecurityGroup with the addition of
  2473  // the ability to pass a context and additional request options.
  2474  //
  2475  // See CreateDBSecurityGroup for details on how to use this API operation.
  2476  //
  2477  // The context must be non-nil and will be used for request cancellation. If
  2478  // the context is nil a panic will occur. In the future the SDK may create
  2479  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2480  // for more information on using Contexts.
  2481  func (c *RDS) CreateDBSecurityGroupWithContext(ctx aws.Context, input *CreateDBSecurityGroupInput, opts ...request.Option) (*CreateDBSecurityGroupOutput, error) {
  2482  	req, out := c.CreateDBSecurityGroupRequest(input)
  2483  	req.SetContext(ctx)
  2484  	req.ApplyOptions(opts...)
  2485  	return out, req.Send()
  2486  }
  2487  
  2488  const opCreateDBSnapshot = "CreateDBSnapshot"
  2489  
  2490  // CreateDBSnapshotRequest generates a "aws/request.Request" representing the
  2491  // client's request for the CreateDBSnapshot operation. The "output" return
  2492  // value will be populated with the request's response once the request completes
  2493  // successfully.
  2494  //
  2495  // Use "Send" method on the returned Request to send the API call to the service.
  2496  // the "output" return value is not valid until after Send returns without error.
  2497  //
  2498  // See CreateDBSnapshot for more information on using the CreateDBSnapshot
  2499  // API call, and error handling.
  2500  //
  2501  // This method is useful when you want to inject custom logic or configuration
  2502  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2503  //
  2504  //
  2505  //    // Example sending a request using the CreateDBSnapshotRequest method.
  2506  //    req, resp := client.CreateDBSnapshotRequest(params)
  2507  //
  2508  //    err := req.Send()
  2509  //    if err == nil { // resp is now filled
  2510  //        fmt.Println(resp)
  2511  //    }
  2512  //
  2513  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSnapshot
  2514  func (c *RDS) CreateDBSnapshotRequest(input *CreateDBSnapshotInput) (req *request.Request, output *CreateDBSnapshotOutput) {
  2515  	op := &request.Operation{
  2516  		Name:       opCreateDBSnapshot,
  2517  		HTTPMethod: "POST",
  2518  		HTTPPath:   "/",
  2519  	}
  2520  
  2521  	if input == nil {
  2522  		input = &CreateDBSnapshotInput{}
  2523  	}
  2524  
  2525  	output = &CreateDBSnapshotOutput{}
  2526  	req = c.newRequest(op, input, output)
  2527  	return
  2528  }
  2529  
  2530  // CreateDBSnapshot API operation for Amazon Relational Database Service.
  2531  //
  2532  // Creates a snapshot of a DB instance. The source DB instance must be in the
  2533  // available or storage-optimization state.
  2534  //
  2535  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2536  // with awserr.Error's Code and Message methods to get detailed information about
  2537  // the error.
  2538  //
  2539  // See the AWS API reference guide for Amazon Relational Database Service's
  2540  // API operation CreateDBSnapshot for usage and error information.
  2541  //
  2542  // Returned Error Codes:
  2543  //   * ErrCodeDBSnapshotAlreadyExistsFault "DBSnapshotAlreadyExists"
  2544  //   DBSnapshotIdentifier is already used by an existing snapshot.
  2545  //
  2546  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
  2547  //   The DB instance isn't in a valid state.
  2548  //
  2549  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
  2550  //   DBInstanceIdentifier doesn't refer to an existing DB instance.
  2551  //
  2552  //   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
  2553  //   The request would result in the user exceeding the allowed number of DB snapshots.
  2554  //
  2555  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSnapshot
  2556  func (c *RDS) CreateDBSnapshot(input *CreateDBSnapshotInput) (*CreateDBSnapshotOutput, error) {
  2557  	req, out := c.CreateDBSnapshotRequest(input)
  2558  	return out, req.Send()
  2559  }
  2560  
  2561  // CreateDBSnapshotWithContext is the same as CreateDBSnapshot with the addition of
  2562  // the ability to pass a context and additional request options.
  2563  //
  2564  // See CreateDBSnapshot for details on how to use this API operation.
  2565  //
  2566  // The context must be non-nil and will be used for request cancellation. If
  2567  // the context is nil a panic will occur. In the future the SDK may create
  2568  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2569  // for more information on using Contexts.
  2570  func (c *RDS) CreateDBSnapshotWithContext(ctx aws.Context, input *CreateDBSnapshotInput, opts ...request.Option) (*CreateDBSnapshotOutput, error) {
  2571  	req, out := c.CreateDBSnapshotRequest(input)
  2572  	req.SetContext(ctx)
  2573  	req.ApplyOptions(opts...)
  2574  	return out, req.Send()
  2575  }
  2576  
  2577  const opCreateDBSubnetGroup = "CreateDBSubnetGroup"
  2578  
  2579  // CreateDBSubnetGroupRequest generates a "aws/request.Request" representing the
  2580  // client's request for the CreateDBSubnetGroup operation. The "output" return
  2581  // value will be populated with the request's response once the request completes
  2582  // successfully.
  2583  //
  2584  // Use "Send" method on the returned Request to send the API call to the service.
  2585  // the "output" return value is not valid until after Send returns without error.
  2586  //
  2587  // See CreateDBSubnetGroup for more information on using the CreateDBSubnetGroup
  2588  // API call, and error handling.
  2589  //
  2590  // This method is useful when you want to inject custom logic or configuration
  2591  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2592  //
  2593  //
  2594  //    // Example sending a request using the CreateDBSubnetGroupRequest method.
  2595  //    req, resp := client.CreateDBSubnetGroupRequest(params)
  2596  //
  2597  //    err := req.Send()
  2598  //    if err == nil { // resp is now filled
  2599  //        fmt.Println(resp)
  2600  //    }
  2601  //
  2602  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSubnetGroup
  2603  func (c *RDS) CreateDBSubnetGroupRequest(input *CreateDBSubnetGroupInput) (req *request.Request, output *CreateDBSubnetGroupOutput) {
  2604  	op := &request.Operation{
  2605  		Name:       opCreateDBSubnetGroup,
  2606  		HTTPMethod: "POST",
  2607  		HTTPPath:   "/",
  2608  	}
  2609  
  2610  	if input == nil {
  2611  		input = &CreateDBSubnetGroupInput{}
  2612  	}
  2613  
  2614  	output = &CreateDBSubnetGroupOutput{}
  2615  	req = c.newRequest(op, input, output)
  2616  	return
  2617  }
  2618  
  2619  // CreateDBSubnetGroup API operation for Amazon Relational Database Service.
  2620  //
  2621  // Creates a new DB subnet group. DB subnet groups must contain at least one
  2622  // subnet in at least two AZs in the Amazon Web Services Region.
  2623  //
  2624  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2625  // with awserr.Error's Code and Message methods to get detailed information about
  2626  // the error.
  2627  //
  2628  // See the AWS API reference guide for Amazon Relational Database Service's
  2629  // API operation CreateDBSubnetGroup for usage and error information.
  2630  //
  2631  // Returned Error Codes:
  2632  //   * ErrCodeDBSubnetGroupAlreadyExistsFault "DBSubnetGroupAlreadyExists"
  2633  //   DBSubnetGroupName is already used by an existing DB subnet group.
  2634  //
  2635  //   * ErrCodeDBSubnetGroupQuotaExceededFault "DBSubnetGroupQuotaExceeded"
  2636  //   The request would result in the user exceeding the allowed number of DB subnet
  2637  //   groups.
  2638  //
  2639  //   * ErrCodeDBSubnetQuotaExceededFault "DBSubnetQuotaExceededFault"
  2640  //   The request would result in the user exceeding the allowed number of subnets
  2641  //   in a DB subnet groups.
  2642  //
  2643  //   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
  2644  //   Subnets in the DB subnet group should cover at least two Availability Zones
  2645  //   unless there is only one Availability Zone.
  2646  //
  2647  //   * ErrCodeInvalidSubnet "InvalidSubnet"
  2648  //   The requested subnet is invalid, or multiple subnets were requested that
  2649  //   are not all in a common VPC.
  2650  //
  2651  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSubnetGroup
  2652  func (c *RDS) CreateDBSubnetGroup(input *CreateDBSubnetGroupInput) (*CreateDBSubnetGroupOutput, error) {
  2653  	req, out := c.CreateDBSubnetGroupRequest(input)
  2654  	return out, req.Send()
  2655  }
  2656  
  2657  // CreateDBSubnetGroupWithContext is the same as CreateDBSubnetGroup with the addition of
  2658  // the ability to pass a context and additional request options.
  2659  //
  2660  // See CreateDBSubnetGroup for details on how to use this API operation.
  2661  //
  2662  // The context must be non-nil and will be used for request cancellation. If
  2663  // the context is nil a panic will occur. In the future the SDK may create
  2664  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2665  // for more information on using Contexts.
  2666  func (c *RDS) CreateDBSubnetGroupWithContext(ctx aws.Context, input *CreateDBSubnetGroupInput, opts ...request.Option) (*CreateDBSubnetGroupOutput, error) {
  2667  	req, out := c.CreateDBSubnetGroupRequest(input)
  2668  	req.SetContext(ctx)
  2669  	req.ApplyOptions(opts...)
  2670  	return out, req.Send()
  2671  }
  2672  
  2673  const opCreateEventSubscription = "CreateEventSubscription"
  2674  
  2675  // CreateEventSubscriptionRequest generates a "aws/request.Request" representing the
  2676  // client's request for the CreateEventSubscription operation. The "output" return
  2677  // value will be populated with the request's response once the request completes
  2678  // successfully.
  2679  //
  2680  // Use "Send" method on the returned Request to send the API call to the service.
  2681  // the "output" return value is not valid until after Send returns without error.
  2682  //
  2683  // See CreateEventSubscription for more information on using the CreateEventSubscription
  2684  // API call, and error handling.
  2685  //
  2686  // This method is useful when you want to inject custom logic or configuration
  2687  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2688  //
  2689  //
  2690  //    // Example sending a request using the CreateEventSubscriptionRequest method.
  2691  //    req, resp := client.CreateEventSubscriptionRequest(params)
  2692  //
  2693  //    err := req.Send()
  2694  //    if err == nil { // resp is now filled
  2695  //        fmt.Println(resp)
  2696  //    }
  2697  //
  2698  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateEventSubscription
  2699  func (c *RDS) CreateEventSubscriptionRequest(input *CreateEventSubscriptionInput) (req *request.Request, output *CreateEventSubscriptionOutput) {
  2700  	op := &request.Operation{
  2701  		Name:       opCreateEventSubscription,
  2702  		HTTPMethod: "POST",
  2703  		HTTPPath:   "/",
  2704  	}
  2705  
  2706  	if input == nil {
  2707  		input = &CreateEventSubscriptionInput{}
  2708  	}
  2709  
  2710  	output = &CreateEventSubscriptionOutput{}
  2711  	req = c.newRequest(op, input, output)
  2712  	return
  2713  }
  2714  
  2715  // CreateEventSubscription API operation for Amazon Relational Database Service.
  2716  //
  2717  // Creates an RDS event notification subscription. This action requires a topic
  2718  // Amazon Resource Name (ARN) created by either the RDS console, the SNS console,
  2719  // or the SNS API. To obtain an ARN with SNS, you must create a topic in Amazon
  2720  // SNS and subscribe to the topic. The ARN is displayed in the SNS console.
  2721  //
  2722  // You can specify the type of source (SourceType) that you want to be notified
  2723  // of and provide a list of RDS sources (SourceIds) that triggers the events.
  2724  // You can also provide a list of event categories (EventCategories) for events
  2725  // that you want to be notified of. For example, you can specify SourceType
  2726  // = db-instance, SourceIds = mydbinstance1, mydbinstance2 and EventCategories
  2727  // = Availability, Backup.
  2728  //
  2729  // If you specify both the SourceType and SourceIds, such as SourceType = db-instance
  2730  // and SourceIdentifier = myDBInstance1, you are notified of all the db-instance
  2731  // events for the specified source. If you specify a SourceType but do not specify
  2732  // a SourceIdentifier, you receive notice of the events for that source type
  2733  // for all your RDS sources. If you don't specify either the SourceType or the
  2734  // SourceIdentifier, you are notified of events generated from all RDS sources
  2735  // belonging to your customer account.
  2736  //
  2737  // RDS event notification is only available for unencrypted SNS topics. If you
  2738  // specify an encrypted SNS topic, event notifications aren't sent for the topic.
  2739  //
  2740  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2741  // with awserr.Error's Code and Message methods to get detailed information about
  2742  // the error.
  2743  //
  2744  // See the AWS API reference guide for Amazon Relational Database Service's
  2745  // API operation CreateEventSubscription for usage and error information.
  2746  //
  2747  // Returned Error Codes:
  2748  //   * ErrCodeEventSubscriptionQuotaExceededFault "EventSubscriptionQuotaExceeded"
  2749  //   You have reached the maximum number of event subscriptions.
  2750  //
  2751  //   * ErrCodeSubscriptionAlreadyExistFault "SubscriptionAlreadyExist"
  2752  //   The supplied subscription name already exists.
  2753  //
  2754  //   * ErrCodeSNSInvalidTopicFault "SNSInvalidTopic"
  2755  //   SNS has responded that there is a problem with the SND topic specified.
  2756  //
  2757  //   * ErrCodeSNSNoAuthorizationFault "SNSNoAuthorization"
  2758  //   You do not have permission to publish to the SNS topic ARN.
  2759  //
  2760  //   * ErrCodeSNSTopicArnNotFoundFault "SNSTopicArnNotFound"
  2761  //   The SNS topic ARN does not exist.
  2762  //
  2763  //   * ErrCodeSubscriptionCategoryNotFoundFault "SubscriptionCategoryNotFound"
  2764  //   The supplied category does not exist.
  2765  //
  2766  //   * ErrCodeSourceNotFoundFault "SourceNotFound"
  2767  //   The requested source could not be found.
  2768  //
  2769  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateEventSubscription
  2770  func (c *RDS) CreateEventSubscription(input *CreateEventSubscriptionInput) (*CreateEventSubscriptionOutput, error) {
  2771  	req, out := c.CreateEventSubscriptionRequest(input)
  2772  	return out, req.Send()
  2773  }
  2774  
  2775  // CreateEventSubscriptionWithContext is the same as CreateEventSubscription with the addition of
  2776  // the ability to pass a context and additional request options.
  2777  //
  2778  // See CreateEventSubscription for details on how to use this API operation.
  2779  //
  2780  // The context must be non-nil and will be used for request cancellation. If
  2781  // the context is nil a panic will occur. In the future the SDK may create
  2782  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2783  // for more information on using Contexts.
  2784  func (c *RDS) CreateEventSubscriptionWithContext(ctx aws.Context, input *CreateEventSubscriptionInput, opts ...request.Option) (*CreateEventSubscriptionOutput, error) {
  2785  	req, out := c.CreateEventSubscriptionRequest(input)
  2786  	req.SetContext(ctx)
  2787  	req.ApplyOptions(opts...)
  2788  	return out, req.Send()
  2789  }
  2790  
  2791  const opCreateGlobalCluster = "CreateGlobalCluster"
  2792  
  2793  // CreateGlobalClusterRequest generates a "aws/request.Request" representing the
  2794  // client's request for the CreateGlobalCluster operation. The "output" return
  2795  // value will be populated with the request's response once the request completes
  2796  // successfully.
  2797  //
  2798  // Use "Send" method on the returned Request to send the API call to the service.
  2799  // the "output" return value is not valid until after Send returns without error.
  2800  //
  2801  // See CreateGlobalCluster for more information on using the CreateGlobalCluster
  2802  // API call, and error handling.
  2803  //
  2804  // This method is useful when you want to inject custom logic or configuration
  2805  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2806  //
  2807  //
  2808  //    // Example sending a request using the CreateGlobalClusterRequest method.
  2809  //    req, resp := client.CreateGlobalClusterRequest(params)
  2810  //
  2811  //    err := req.Send()
  2812  //    if err == nil { // resp is now filled
  2813  //        fmt.Println(resp)
  2814  //    }
  2815  //
  2816  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateGlobalCluster
  2817  func (c *RDS) CreateGlobalClusterRequest(input *CreateGlobalClusterInput) (req *request.Request, output *CreateGlobalClusterOutput) {
  2818  	op := &request.Operation{
  2819  		Name:       opCreateGlobalCluster,
  2820  		HTTPMethod: "POST",
  2821  		HTTPPath:   "/",
  2822  	}
  2823  
  2824  	if input == nil {
  2825  		input = &CreateGlobalClusterInput{}
  2826  	}
  2827  
  2828  	output = &CreateGlobalClusterOutput{}
  2829  	req = c.newRequest(op, input, output)
  2830  	return
  2831  }
  2832  
  2833  // CreateGlobalCluster API operation for Amazon Relational Database Service.
  2834  //
  2835  // Creates an Aurora global database spread across multiple Amazon Web Services
  2836  // Regions. The global database contains a single primary cluster with read-write
  2837  // capability, and a read-only secondary cluster that receives data from the
  2838  // primary cluster through high-speed replication performed by the Aurora storage
  2839  // subsystem.
  2840  //
  2841  // You can create a global database that is initially empty, and then add a
  2842  // primary cluster and a secondary cluster to it. Or you can specify an existing
  2843  // Aurora cluster during the create operation, and this cluster becomes the
  2844  // primary cluster of the global database.
  2845  //
  2846  // This action only applies to Aurora DB clusters.
  2847  //
  2848  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2849  // with awserr.Error's Code and Message methods to get detailed information about
  2850  // the error.
  2851  //
  2852  // See the AWS API reference guide for Amazon Relational Database Service's
  2853  // API operation CreateGlobalCluster for usage and error information.
  2854  //
  2855  // Returned Error Codes:
  2856  //   * ErrCodeGlobalClusterAlreadyExistsFault "GlobalClusterAlreadyExistsFault"
  2857  //   The GlobalClusterIdentifier already exists. Choose a new global database
  2858  //   identifier (unique name) to create a new global database cluster.
  2859  //
  2860  //   * ErrCodeGlobalClusterQuotaExceededFault "GlobalClusterQuotaExceededFault"
  2861  //   The number of global database clusters for this account is already at the
  2862  //   maximum allowed.
  2863  //
  2864  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
  2865  //   The requested operation can't be performed while the cluster is in this state.
  2866  //
  2867  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
  2868  //   DBClusterIdentifier doesn't refer to an existing DB cluster.
  2869  //
  2870  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateGlobalCluster
  2871  func (c *RDS) CreateGlobalCluster(input *CreateGlobalClusterInput) (*CreateGlobalClusterOutput, error) {
  2872  	req, out := c.CreateGlobalClusterRequest(input)
  2873  	return out, req.Send()
  2874  }
  2875  
  2876  // CreateGlobalClusterWithContext is the same as CreateGlobalCluster with the addition of
  2877  // the ability to pass a context and additional request options.
  2878  //
  2879  // See CreateGlobalCluster for details on how to use this API operation.
  2880  //
  2881  // The context must be non-nil and will be used for request cancellation. If
  2882  // the context is nil a panic will occur. In the future the SDK may create
  2883  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2884  // for more information on using Contexts.
  2885  func (c *RDS) CreateGlobalClusterWithContext(ctx aws.Context, input *CreateGlobalClusterInput, opts ...request.Option) (*CreateGlobalClusterOutput, error) {
  2886  	req, out := c.CreateGlobalClusterRequest(input)
  2887  	req.SetContext(ctx)
  2888  	req.ApplyOptions(opts...)
  2889  	return out, req.Send()
  2890  }
  2891  
  2892  const opCreateOptionGroup = "CreateOptionGroup"
  2893  
  2894  // CreateOptionGroupRequest generates a "aws/request.Request" representing the
  2895  // client's request for the CreateOptionGroup operation. The "output" return
  2896  // value will be populated with the request's response once the request completes
  2897  // successfully.
  2898  //
  2899  // Use "Send" method on the returned Request to send the API call to the service.
  2900  // the "output" return value is not valid until after Send returns without error.
  2901  //
  2902  // See CreateOptionGroup for more information on using the CreateOptionGroup
  2903  // API call, and error handling.
  2904  //
  2905  // This method is useful when you want to inject custom logic or configuration
  2906  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2907  //
  2908  //
  2909  //    // Example sending a request using the CreateOptionGroupRequest method.
  2910  //    req, resp := client.CreateOptionGroupRequest(params)
  2911  //
  2912  //    err := req.Send()
  2913  //    if err == nil { // resp is now filled
  2914  //        fmt.Println(resp)
  2915  //    }
  2916  //
  2917  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateOptionGroup
  2918  func (c *RDS) CreateOptionGroupRequest(input *CreateOptionGroupInput) (req *request.Request, output *CreateOptionGroupOutput) {
  2919  	op := &request.Operation{
  2920  		Name:       opCreateOptionGroup,
  2921  		HTTPMethod: "POST",
  2922  		HTTPPath:   "/",
  2923  	}
  2924  
  2925  	if input == nil {
  2926  		input = &CreateOptionGroupInput{}
  2927  	}
  2928  
  2929  	output = &CreateOptionGroupOutput{}
  2930  	req = c.newRequest(op, input, output)
  2931  	return
  2932  }
  2933  
  2934  // CreateOptionGroup API operation for Amazon Relational Database Service.
  2935  //
  2936  // Creates a new option group. You can create up to 20 option groups.
  2937  //
  2938  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2939  // with awserr.Error's Code and Message methods to get detailed information about
  2940  // the error.
  2941  //
  2942  // See the AWS API reference guide for Amazon Relational Database Service's
  2943  // API operation CreateOptionGroup for usage and error information.
  2944  //
  2945  // Returned Error Codes:
  2946  //   * ErrCodeOptionGroupAlreadyExistsFault "OptionGroupAlreadyExistsFault"
  2947  //   The option group you are trying to create already exists.
  2948  //
  2949  //   * ErrCodeOptionGroupQuotaExceededFault "OptionGroupQuotaExceededFault"
  2950  //   The quota of 20 option groups was exceeded for this Amazon Web Services account.
  2951  //
  2952  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateOptionGroup
  2953  func (c *RDS) CreateOptionGroup(input *CreateOptionGroupInput) (*CreateOptionGroupOutput, error) {
  2954  	req, out := c.CreateOptionGroupRequest(input)
  2955  	return out, req.Send()
  2956  }
  2957  
  2958  // CreateOptionGroupWithContext is the same as CreateOptionGroup with the addition of
  2959  // the ability to pass a context and additional request options.
  2960  //
  2961  // See CreateOptionGroup for details on how to use this API operation.
  2962  //
  2963  // The context must be non-nil and will be used for request cancellation. If
  2964  // the context is nil a panic will occur. In the future the SDK may create
  2965  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2966  // for more information on using Contexts.
  2967  func (c *RDS) CreateOptionGroupWithContext(ctx aws.Context, input *CreateOptionGroupInput, opts ...request.Option) (*CreateOptionGroupOutput, error) {
  2968  	req, out := c.CreateOptionGroupRequest(input)
  2969  	req.SetContext(ctx)
  2970  	req.ApplyOptions(opts...)
  2971  	return out, req.Send()
  2972  }
  2973  
  2974  const opDeleteCustomAvailabilityZone = "DeleteCustomAvailabilityZone"
  2975  
  2976  // DeleteCustomAvailabilityZoneRequest generates a "aws/request.Request" representing the
  2977  // client's request for the DeleteCustomAvailabilityZone operation. The "output" return
  2978  // value will be populated with the request's response once the request completes
  2979  // successfully.
  2980  //
  2981  // Use "Send" method on the returned Request to send the API call to the service.
  2982  // the "output" return value is not valid until after Send returns without error.
  2983  //
  2984  // See DeleteCustomAvailabilityZone for more information on using the DeleteCustomAvailabilityZone
  2985  // API call, and error handling.
  2986  //
  2987  // This method is useful when you want to inject custom logic or configuration
  2988  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2989  //
  2990  //
  2991  //    // Example sending a request using the DeleteCustomAvailabilityZoneRequest method.
  2992  //    req, resp := client.DeleteCustomAvailabilityZoneRequest(params)
  2993  //
  2994  //    err := req.Send()
  2995  //    if err == nil { // resp is now filled
  2996  //        fmt.Println(resp)
  2997  //    }
  2998  //
  2999  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteCustomAvailabilityZone
  3000  func (c *RDS) DeleteCustomAvailabilityZoneRequest(input *DeleteCustomAvailabilityZoneInput) (req *request.Request, output *DeleteCustomAvailabilityZoneOutput) {
  3001  	op := &request.Operation{
  3002  		Name:       opDeleteCustomAvailabilityZone,
  3003  		HTTPMethod: "POST",
  3004  		HTTPPath:   "/",
  3005  	}
  3006  
  3007  	if input == nil {
  3008  		input = &DeleteCustomAvailabilityZoneInput{}
  3009  	}
  3010  
  3011  	output = &DeleteCustomAvailabilityZoneOutput{}
  3012  	req = c.newRequest(op, input, output)
  3013  	return
  3014  }
  3015  
  3016  // DeleteCustomAvailabilityZone API operation for Amazon Relational Database Service.
  3017  //
  3018  // Deletes a custom Availability Zone (AZ).
  3019  //
  3020  // A custom AZ is an on-premises AZ that is integrated with a VMware vSphere
  3021  // cluster.
  3022  //
  3023  // For more information about RDS on VMware, see the RDS on VMware User Guide.
  3024  // (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html)
  3025  //
  3026  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3027  // with awserr.Error's Code and Message methods to get detailed information about
  3028  // the error.
  3029  //
  3030  // See the AWS API reference guide for Amazon Relational Database Service's
  3031  // API operation DeleteCustomAvailabilityZone for usage and error information.
  3032  //
  3033  // Returned Error Codes:
  3034  //   * ErrCodeCustomAvailabilityZoneNotFoundFault "CustomAvailabilityZoneNotFound"
  3035  //   CustomAvailabilityZoneId doesn't refer to an existing custom Availability
  3036  //   Zone identifier.
  3037  //
  3038  //   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
  3039  //   An error occurred accessing an Amazon Web Services KMS key.
  3040  //
  3041  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteCustomAvailabilityZone
  3042  func (c *RDS) DeleteCustomAvailabilityZone(input *DeleteCustomAvailabilityZoneInput) (*DeleteCustomAvailabilityZoneOutput, error) {
  3043  	req, out := c.DeleteCustomAvailabilityZoneRequest(input)
  3044  	return out, req.Send()
  3045  }
  3046  
  3047  // DeleteCustomAvailabilityZoneWithContext is the same as DeleteCustomAvailabilityZone with the addition of
  3048  // the ability to pass a context and additional request options.
  3049  //
  3050  // See DeleteCustomAvailabilityZone for details on how to use this API operation.
  3051  //
  3052  // The context must be non-nil and will be used for request cancellation. If
  3053  // the context is nil a panic will occur. In the future the SDK may create
  3054  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3055  // for more information on using Contexts.
  3056  func (c *RDS) DeleteCustomAvailabilityZoneWithContext(ctx aws.Context, input *DeleteCustomAvailabilityZoneInput, opts ...request.Option) (*DeleteCustomAvailabilityZoneOutput, error) {
  3057  	req, out := c.DeleteCustomAvailabilityZoneRequest(input)
  3058  	req.SetContext(ctx)
  3059  	req.ApplyOptions(opts...)
  3060  	return out, req.Send()
  3061  }
  3062  
  3063  const opDeleteDBCluster = "DeleteDBCluster"
  3064  
  3065  // DeleteDBClusterRequest generates a "aws/request.Request" representing the
  3066  // client's request for the DeleteDBCluster operation. The "output" return
  3067  // value will be populated with the request's response once the request completes
  3068  // successfully.
  3069  //
  3070  // Use "Send" method on the returned Request to send the API call to the service.
  3071  // the "output" return value is not valid until after Send returns without error.
  3072  //
  3073  // See DeleteDBCluster for more information on using the DeleteDBCluster
  3074  // API call, and error handling.
  3075  //
  3076  // This method is useful when you want to inject custom logic or configuration
  3077  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3078  //
  3079  //
  3080  //    // Example sending a request using the DeleteDBClusterRequest method.
  3081  //    req, resp := client.DeleteDBClusterRequest(params)
  3082  //
  3083  //    err := req.Send()
  3084  //    if err == nil { // resp is now filled
  3085  //        fmt.Println(resp)
  3086  //    }
  3087  //
  3088  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBCluster
  3089  func (c *RDS) DeleteDBClusterRequest(input *DeleteDBClusterInput) (req *request.Request, output *DeleteDBClusterOutput) {
  3090  	op := &request.Operation{
  3091  		Name:       opDeleteDBCluster,
  3092  		HTTPMethod: "POST",
  3093  		HTTPPath:   "/",
  3094  	}
  3095  
  3096  	if input == nil {
  3097  		input = &DeleteDBClusterInput{}
  3098  	}
  3099  
  3100  	output = &DeleteDBClusterOutput{}
  3101  	req = c.newRequest(op, input, output)
  3102  	return
  3103  }
  3104  
  3105  // DeleteDBCluster API operation for Amazon Relational Database Service.
  3106  //
  3107  // The DeleteDBCluster action deletes a previously provisioned DB cluster. When
  3108  // you delete a DB cluster, all automated backups for that DB cluster are deleted
  3109  // and can't be recovered. Manual DB cluster snapshots of the specified DB cluster
  3110  // are not deleted.
  3111  //
  3112  // For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
  3113  // in the Amazon Aurora User Guide.
  3114  //
  3115  // This action only applies to Aurora DB clusters.
  3116  //
  3117  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3118  // with awserr.Error's Code and Message methods to get detailed information about
  3119  // the error.
  3120  //
  3121  // See the AWS API reference guide for Amazon Relational Database Service's
  3122  // API operation DeleteDBCluster for usage and error information.
  3123  //
  3124  // Returned Error Codes:
  3125  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
  3126  //   DBClusterIdentifier doesn't refer to an existing DB cluster.
  3127  //
  3128  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
  3129  //   The requested operation can't be performed while the cluster is in this state.
  3130  //
  3131  //   * ErrCodeDBClusterSnapshotAlreadyExistsFault "DBClusterSnapshotAlreadyExistsFault"
  3132  //   The user already has a DB cluster snapshot with the given identifier.
  3133  //
  3134  //   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
  3135  //   The request would result in the user exceeding the allowed number of DB snapshots.
  3136  //
  3137  //   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
  3138  //   The supplied value isn't a valid DB cluster snapshot state.
  3139  //
  3140  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBCluster
  3141  func (c *RDS) DeleteDBCluster(input *DeleteDBClusterInput) (*DeleteDBClusterOutput, error) {
  3142  	req, out := c.DeleteDBClusterRequest(input)
  3143  	return out, req.Send()
  3144  }
  3145  
  3146  // DeleteDBClusterWithContext is the same as DeleteDBCluster with the addition of
  3147  // the ability to pass a context and additional request options.
  3148  //
  3149  // See DeleteDBCluster for details on how to use this API operation.
  3150  //
  3151  // The context must be non-nil and will be used for request cancellation. If
  3152  // the context is nil a panic will occur. In the future the SDK may create
  3153  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3154  // for more information on using Contexts.
  3155  func (c *RDS) DeleteDBClusterWithContext(ctx aws.Context, input *DeleteDBClusterInput, opts ...request.Option) (*DeleteDBClusterOutput, error) {
  3156  	req, out := c.DeleteDBClusterRequest(input)
  3157  	req.SetContext(ctx)
  3158  	req.ApplyOptions(opts...)
  3159  	return out, req.Send()
  3160  }
  3161  
  3162  const opDeleteDBClusterEndpoint = "DeleteDBClusterEndpoint"
  3163  
  3164  // DeleteDBClusterEndpointRequest generates a "aws/request.Request" representing the
  3165  // client's request for the DeleteDBClusterEndpoint operation. The "output" return
  3166  // value will be populated with the request's response once the request completes
  3167  // successfully.
  3168  //
  3169  // Use "Send" method on the returned Request to send the API call to the service.
  3170  // the "output" return value is not valid until after Send returns without error.
  3171  //
  3172  // See DeleteDBClusterEndpoint for more information on using the DeleteDBClusterEndpoint
  3173  // API call, and error handling.
  3174  //
  3175  // This method is useful when you want to inject custom logic or configuration
  3176  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3177  //
  3178  //
  3179  //    // Example sending a request using the DeleteDBClusterEndpointRequest method.
  3180  //    req, resp := client.DeleteDBClusterEndpointRequest(params)
  3181  //
  3182  //    err := req.Send()
  3183  //    if err == nil { // resp is now filled
  3184  //        fmt.Println(resp)
  3185  //    }
  3186  //
  3187  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterEndpoint
  3188  func (c *RDS) DeleteDBClusterEndpointRequest(input *DeleteDBClusterEndpointInput) (req *request.Request, output *DeleteDBClusterEndpointOutput) {
  3189  	op := &request.Operation{
  3190  		Name:       opDeleteDBClusterEndpoint,
  3191  		HTTPMethod: "POST",
  3192  		HTTPPath:   "/",
  3193  	}
  3194  
  3195  	if input == nil {
  3196  		input = &DeleteDBClusterEndpointInput{}
  3197  	}
  3198  
  3199  	output = &DeleteDBClusterEndpointOutput{}
  3200  	req = c.newRequest(op, input, output)
  3201  	return
  3202  }
  3203  
  3204  // DeleteDBClusterEndpoint API operation for Amazon Relational Database Service.
  3205  //
  3206  // Deletes a custom endpoint and removes it from an Amazon Aurora DB cluster.
  3207  //
  3208  // This action only applies to Aurora DB clusters.
  3209  //
  3210  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3211  // with awserr.Error's Code and Message methods to get detailed information about
  3212  // the error.
  3213  //
  3214  // See the AWS API reference guide for Amazon Relational Database Service's
  3215  // API operation DeleteDBClusterEndpoint for usage and error information.
  3216  //
  3217  // Returned Error Codes:
  3218  //   * ErrCodeInvalidDBClusterEndpointStateFault "InvalidDBClusterEndpointStateFault"
  3219  //   The requested operation can't be performed on the endpoint while the endpoint
  3220  //   is in this state.
  3221  //
  3222  //   * ErrCodeDBClusterEndpointNotFoundFault "DBClusterEndpointNotFoundFault"
  3223  //   The specified custom endpoint doesn't exist.
  3224  //
  3225  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
  3226  //   The requested operation can't be performed while the cluster is in this state.
  3227  //
  3228  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterEndpoint
  3229  func (c *RDS) DeleteDBClusterEndpoint(input *DeleteDBClusterEndpointInput) (*DeleteDBClusterEndpointOutput, error) {
  3230  	req, out := c.DeleteDBClusterEndpointRequest(input)
  3231  	return out, req.Send()
  3232  }
  3233  
  3234  // DeleteDBClusterEndpointWithContext is the same as DeleteDBClusterEndpoint with the addition of
  3235  // the ability to pass a context and additional request options.
  3236  //
  3237  // See DeleteDBClusterEndpoint for details on how to use this API operation.
  3238  //
  3239  // The context must be non-nil and will be used for request cancellation. If
  3240  // the context is nil a panic will occur. In the future the SDK may create
  3241  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3242  // for more information on using Contexts.
  3243  func (c *RDS) DeleteDBClusterEndpointWithContext(ctx aws.Context, input *DeleteDBClusterEndpointInput, opts ...request.Option) (*DeleteDBClusterEndpointOutput, error) {
  3244  	req, out := c.DeleteDBClusterEndpointRequest(input)
  3245  	req.SetContext(ctx)
  3246  	req.ApplyOptions(opts...)
  3247  	return out, req.Send()
  3248  }
  3249  
  3250  const opDeleteDBClusterParameterGroup = "DeleteDBClusterParameterGroup"
  3251  
  3252  // DeleteDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
  3253  // client's request for the DeleteDBClusterParameterGroup operation. The "output" return
  3254  // value will be populated with the request's response once the request completes
  3255  // successfully.
  3256  //
  3257  // Use "Send" method on the returned Request to send the API call to the service.
  3258  // the "output" return value is not valid until after Send returns without error.
  3259  //
  3260  // See DeleteDBClusterParameterGroup for more information on using the DeleteDBClusterParameterGroup
  3261  // API call, and error handling.
  3262  //
  3263  // This method is useful when you want to inject custom logic or configuration
  3264  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3265  //
  3266  //
  3267  //    // Example sending a request using the DeleteDBClusterParameterGroupRequest method.
  3268  //    req, resp := client.DeleteDBClusterParameterGroupRequest(params)
  3269  //
  3270  //    err := req.Send()
  3271  //    if err == nil { // resp is now filled
  3272  //        fmt.Println(resp)
  3273  //    }
  3274  //
  3275  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterParameterGroup
  3276  func (c *RDS) DeleteDBClusterParameterGroupRequest(input *DeleteDBClusterParameterGroupInput) (req *request.Request, output *DeleteDBClusterParameterGroupOutput) {
  3277  	op := &request.Operation{
  3278  		Name:       opDeleteDBClusterParameterGroup,
  3279  		HTTPMethod: "POST",
  3280  		HTTPPath:   "/",
  3281  	}
  3282  
  3283  	if input == nil {
  3284  		input = &DeleteDBClusterParameterGroupInput{}
  3285  	}
  3286  
  3287  	output = &DeleteDBClusterParameterGroupOutput{}
  3288  	req = c.newRequest(op, input, output)
  3289  	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3290  	return
  3291  }
  3292  
  3293  // DeleteDBClusterParameterGroup API operation for Amazon Relational Database Service.
  3294  //
  3295  // Deletes a specified DB cluster parameter group. The DB cluster parameter
  3296  // group to be deleted can't be associated with any DB clusters.
  3297  //
  3298  // For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
  3299  // in the Amazon Aurora User Guide.
  3300  //
  3301  // This action only applies to Aurora DB clusters.
  3302  //
  3303  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3304  // with awserr.Error's Code and Message methods to get detailed information about
  3305  // the error.
  3306  //
  3307  // See the AWS API reference guide for Amazon Relational Database Service's
  3308  // API operation DeleteDBClusterParameterGroup for usage and error information.
  3309  //
  3310  // Returned Error Codes:
  3311  //   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
  3312  //   The DB parameter group is in use or is in an invalid state. If you are attempting
  3313  //   to delete the parameter group, you can't delete it when the parameter group
  3314  //   is in this state.
  3315  //
  3316  //   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
  3317  //   DBParameterGroupName doesn't refer to an existing DB parameter group.
  3318  //
  3319  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterParameterGroup
  3320  func (c *RDS) DeleteDBClusterParameterGroup(input *DeleteDBClusterParameterGroupInput) (*DeleteDBClusterParameterGroupOutput, error) {
  3321  	req, out := c.DeleteDBClusterParameterGroupRequest(input)
  3322  	return out, req.Send()
  3323  }
  3324  
  3325  // DeleteDBClusterParameterGroupWithContext is the same as DeleteDBClusterParameterGroup with the addition of
  3326  // the ability to pass a context and additional request options.
  3327  //
  3328  // See DeleteDBClusterParameterGroup for details on how to use this API operation.
  3329  //
  3330  // The context must be non-nil and will be used for request cancellation. If
  3331  // the context is nil a panic will occur. In the future the SDK may create
  3332  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3333  // for more information on using Contexts.
  3334  func (c *RDS) DeleteDBClusterParameterGroupWithContext(ctx aws.Context, input *DeleteDBClusterParameterGroupInput, opts ...request.Option) (*DeleteDBClusterParameterGroupOutput, error) {
  3335  	req, out := c.DeleteDBClusterParameterGroupRequest(input)
  3336  	req.SetContext(ctx)
  3337  	req.ApplyOptions(opts...)
  3338  	return out, req.Send()
  3339  }
  3340  
  3341  const opDeleteDBClusterSnapshot = "DeleteDBClusterSnapshot"
  3342  
  3343  // DeleteDBClusterSnapshotRequest generates a "aws/request.Request" representing the
  3344  // client's request for the DeleteDBClusterSnapshot operation. The "output" return
  3345  // value will be populated with the request's response once the request completes
  3346  // successfully.
  3347  //
  3348  // Use "Send" method on the returned Request to send the API call to the service.
  3349  // the "output" return value is not valid until after Send returns without error.
  3350  //
  3351  // See DeleteDBClusterSnapshot for more information on using the DeleteDBClusterSnapshot
  3352  // API call, and error handling.
  3353  //
  3354  // This method is useful when you want to inject custom logic or configuration
  3355  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3356  //
  3357  //
  3358  //    // Example sending a request using the DeleteDBClusterSnapshotRequest method.
  3359  //    req, resp := client.DeleteDBClusterSnapshotRequest(params)
  3360  //
  3361  //    err := req.Send()
  3362  //    if err == nil { // resp is now filled
  3363  //        fmt.Println(resp)
  3364  //    }
  3365  //
  3366  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterSnapshot
  3367  func (c *RDS) DeleteDBClusterSnapshotRequest(input *DeleteDBClusterSnapshotInput) (req *request.Request, output *DeleteDBClusterSnapshotOutput) {
  3368  	op := &request.Operation{
  3369  		Name:       opDeleteDBClusterSnapshot,
  3370  		HTTPMethod: "POST",
  3371  		HTTPPath:   "/",
  3372  	}
  3373  
  3374  	if input == nil {
  3375  		input = &DeleteDBClusterSnapshotInput{}
  3376  	}
  3377  
  3378  	output = &DeleteDBClusterSnapshotOutput{}
  3379  	req = c.newRequest(op, input, output)
  3380  	return
  3381  }
  3382  
  3383  // DeleteDBClusterSnapshot API operation for Amazon Relational Database Service.
  3384  //
  3385  // Deletes a DB cluster snapshot. If the snapshot is being copied, the copy
  3386  // operation is terminated.
  3387  //
  3388  // The DB cluster snapshot must be in the available state to be deleted.
  3389  //
  3390  // For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
  3391  // in the Amazon Aurora User Guide.
  3392  //
  3393  // This action only applies to Aurora DB clusters.
  3394  //
  3395  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3396  // with awserr.Error's Code and Message methods to get detailed information about
  3397  // the error.
  3398  //
  3399  // See the AWS API reference guide for Amazon Relational Database Service's
  3400  // API operation DeleteDBClusterSnapshot for usage and error information.
  3401  //
  3402  // Returned Error Codes:
  3403  //   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
  3404  //   The supplied value isn't a valid DB cluster snapshot state.
  3405  //
  3406  //   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
  3407  //   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
  3408  //
  3409  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterSnapshot
  3410  func (c *RDS) DeleteDBClusterSnapshot(input *DeleteDBClusterSnapshotInput) (*DeleteDBClusterSnapshotOutput, error) {
  3411  	req, out := c.DeleteDBClusterSnapshotRequest(input)
  3412  	return out, req.Send()
  3413  }
  3414  
  3415  // DeleteDBClusterSnapshotWithContext is the same as DeleteDBClusterSnapshot with the addition of
  3416  // the ability to pass a context and additional request options.
  3417  //
  3418  // See DeleteDBClusterSnapshot for details on how to use this API operation.
  3419  //
  3420  // The context must be non-nil and will be used for request cancellation. If
  3421  // the context is nil a panic will occur. In the future the SDK may create
  3422  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3423  // for more information on using Contexts.
  3424  func (c *RDS) DeleteDBClusterSnapshotWithContext(ctx aws.Context, input *DeleteDBClusterSnapshotInput, opts ...request.Option) (*DeleteDBClusterSnapshotOutput, error) {
  3425  	req, out := c.DeleteDBClusterSnapshotRequest(input)
  3426  	req.SetContext(ctx)
  3427  	req.ApplyOptions(opts...)
  3428  	return out, req.Send()
  3429  }
  3430  
  3431  const opDeleteDBInstance = "DeleteDBInstance"
  3432  
  3433  // DeleteDBInstanceRequest generates a "aws/request.Request" representing the
  3434  // client's request for the DeleteDBInstance operation. The "output" return
  3435  // value will be populated with the request's response once the request completes
  3436  // successfully.
  3437  //
  3438  // Use "Send" method on the returned Request to send the API call to the service.
  3439  // the "output" return value is not valid until after Send returns without error.
  3440  //
  3441  // See DeleteDBInstance for more information on using the DeleteDBInstance
  3442  // API call, and error handling.
  3443  //
  3444  // This method is useful when you want to inject custom logic or configuration
  3445  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3446  //
  3447  //
  3448  //    // Example sending a request using the DeleteDBInstanceRequest method.
  3449  //    req, resp := client.DeleteDBInstanceRequest(params)
  3450  //
  3451  //    err := req.Send()
  3452  //    if err == nil { // resp is now filled
  3453  //        fmt.Println(resp)
  3454  //    }
  3455  //
  3456  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBInstance
  3457  func (c *RDS) DeleteDBInstanceRequest(input *DeleteDBInstanceInput) (req *request.Request, output *DeleteDBInstanceOutput) {
  3458  	op := &request.Operation{
  3459  		Name:       opDeleteDBInstance,
  3460  		HTTPMethod: "POST",
  3461  		HTTPPath:   "/",
  3462  	}
  3463  
  3464  	if input == nil {
  3465  		input = &DeleteDBInstanceInput{}
  3466  	}
  3467  
  3468  	output = &DeleteDBInstanceOutput{}
  3469  	req = c.newRequest(op, input, output)
  3470  	return
  3471  }
  3472  
  3473  // DeleteDBInstance API operation for Amazon Relational Database Service.
  3474  //
  3475  // The DeleteDBInstance action deletes a previously provisioned DB instance.
  3476  // When you delete a DB instance, all automated backups for that instance are
  3477  // deleted and can't be recovered. Manual DB snapshots of the DB instance to
  3478  // be deleted by DeleteDBInstance are not deleted.
  3479  //
  3480  // If you request a final DB snapshot the status of the Amazon RDS DB instance
  3481  // is deleting until the DB snapshot is created. The API action DescribeDBInstance
  3482  // is used to monitor the status of this operation. The action can't be canceled
  3483  // or reverted once submitted.
  3484  //
  3485  // When a DB instance is in a failure state and has a status of failed, incompatible-restore,
  3486  // or incompatible-network, you can only delete it when you skip creation of
  3487  // the final snapshot with the SkipFinalSnapshot parameter.
  3488  //
  3489  // If the specified DB instance is part of an Amazon Aurora DB cluster, you
  3490  // can't delete the DB instance if both of the following conditions are true:
  3491  //
  3492  //    * The DB cluster is a read replica of another Amazon Aurora DB cluster.
  3493  //
  3494  //    * The DB instance is the only instance in the DB cluster.
  3495  //
  3496  // To delete a DB instance in this case, first call the PromoteReadReplicaDBCluster
  3497  // API action to promote the DB cluster so it's no longer a read replica. After
  3498  // the promotion completes, then call the DeleteDBInstance API action to delete
  3499  // the final instance in the DB cluster.
  3500  //
  3501  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3502  // with awserr.Error's Code and Message methods to get detailed information about
  3503  // the error.
  3504  //
  3505  // See the AWS API reference guide for Amazon Relational Database Service's
  3506  // API operation DeleteDBInstance for usage and error information.
  3507  //
  3508  // Returned Error Codes:
  3509  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
  3510  //   DBInstanceIdentifier doesn't refer to an existing DB instance.
  3511  //
  3512  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
  3513  //   The DB instance isn't in a valid state.
  3514  //
  3515  //   * ErrCodeDBSnapshotAlreadyExistsFault "DBSnapshotAlreadyExists"
  3516  //   DBSnapshotIdentifier is already used by an existing snapshot.
  3517  //
  3518  //   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
  3519  //   The request would result in the user exceeding the allowed number of DB snapshots.
  3520  //
  3521  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
  3522  //   The requested operation can't be performed while the cluster is in this state.
  3523  //
  3524  //   * ErrCodeDBInstanceAutomatedBackupQuotaExceededFault "DBInstanceAutomatedBackupQuotaExceeded"
  3525  //   The quota for retained automated backups was exceeded. This prevents you
  3526  //   from retaining any additional automated backups. The retained automated backups
  3527  //   quota is the same as your DB Instance quota.
  3528  //
  3529  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBInstance
  3530  func (c *RDS) DeleteDBInstance(input *DeleteDBInstanceInput) (*DeleteDBInstanceOutput, error) {
  3531  	req, out := c.DeleteDBInstanceRequest(input)
  3532  	return out, req.Send()
  3533  }
  3534  
  3535  // DeleteDBInstanceWithContext is the same as DeleteDBInstance with the addition of
  3536  // the ability to pass a context and additional request options.
  3537  //
  3538  // See DeleteDBInstance for details on how to use this API operation.
  3539  //
  3540  // The context must be non-nil and will be used for request cancellation. If
  3541  // the context is nil a panic will occur. In the future the SDK may create
  3542  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3543  // for more information on using Contexts.
  3544  func (c *RDS) DeleteDBInstanceWithContext(ctx aws.Context, input *DeleteDBInstanceInput, opts ...request.Option) (*DeleteDBInstanceOutput, error) {
  3545  	req, out := c.DeleteDBInstanceRequest(input)
  3546  	req.SetContext(ctx)
  3547  	req.ApplyOptions(opts...)
  3548  	return out, req.Send()
  3549  }
  3550  
  3551  const opDeleteDBInstanceAutomatedBackup = "DeleteDBInstanceAutomatedBackup"
  3552  
  3553  // DeleteDBInstanceAutomatedBackupRequest generates a "aws/request.Request" representing the
  3554  // client's request for the DeleteDBInstanceAutomatedBackup operation. The "output" return
  3555  // value will be populated with the request's response once the request completes
  3556  // successfully.
  3557  //
  3558  // Use "Send" method on the returned Request to send the API call to the service.
  3559  // the "output" return value is not valid until after Send returns without error.
  3560  //
  3561  // See DeleteDBInstanceAutomatedBackup for more information on using the DeleteDBInstanceAutomatedBackup
  3562  // API call, and error handling.
  3563  //
  3564  // This method is useful when you want to inject custom logic or configuration
  3565  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3566  //
  3567  //
  3568  //    // Example sending a request using the DeleteDBInstanceAutomatedBackupRequest method.
  3569  //    req, resp := client.DeleteDBInstanceAutomatedBackupRequest(params)
  3570  //
  3571  //    err := req.Send()
  3572  //    if err == nil { // resp is now filled
  3573  //        fmt.Println(resp)
  3574  //    }
  3575  //
  3576  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBInstanceAutomatedBackup
  3577  func (c *RDS) DeleteDBInstanceAutomatedBackupRequest(input *DeleteDBInstanceAutomatedBackupInput) (req *request.Request, output *DeleteDBInstanceAutomatedBackupOutput) {
  3578  	op := &request.Operation{
  3579  		Name:       opDeleteDBInstanceAutomatedBackup,
  3580  		HTTPMethod: "POST",
  3581  		HTTPPath:   "/",
  3582  	}
  3583  
  3584  	if input == nil {
  3585  		input = &DeleteDBInstanceAutomatedBackupInput{}
  3586  	}
  3587  
  3588  	output = &DeleteDBInstanceAutomatedBackupOutput{}
  3589  	req = c.newRequest(op, input, output)
  3590  	return
  3591  }
  3592  
  3593  // DeleteDBInstanceAutomatedBackup API operation for Amazon Relational Database Service.
  3594  //
  3595  // Deletes automated backups using the DbiResourceId value of the source DB
  3596  // instance or the Amazon Resource Name (ARN) of the automated backups.
  3597  //
  3598  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3599  // with awserr.Error's Code and Message methods to get detailed information about
  3600  // the error.
  3601  //
  3602  // See the AWS API reference guide for Amazon Relational Database Service's
  3603  // API operation DeleteDBInstanceAutomatedBackup for usage and error information.
  3604  //
  3605  // Returned Error Codes:
  3606  //   * ErrCodeInvalidDBInstanceAutomatedBackupStateFault "InvalidDBInstanceAutomatedBackupState"
  3607  //   The automated backup is in an invalid state. For example, this automated
  3608  //   backup is associated with an active instance.
  3609  //
  3610  //   * ErrCodeDBInstanceAutomatedBackupNotFoundFault "DBInstanceAutomatedBackupNotFound"
  3611  //   No automated backup for this DB instance was found.
  3612  //
  3613  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBInstanceAutomatedBackup
  3614  func (c *RDS) DeleteDBInstanceAutomatedBackup(input *DeleteDBInstanceAutomatedBackupInput) (*DeleteDBInstanceAutomatedBackupOutput, error) {
  3615  	req, out := c.DeleteDBInstanceAutomatedBackupRequest(input)
  3616  	return out, req.Send()
  3617  }
  3618  
  3619  // DeleteDBInstanceAutomatedBackupWithContext is the same as DeleteDBInstanceAutomatedBackup with the addition of
  3620  // the ability to pass a context and additional request options.
  3621  //
  3622  // See DeleteDBInstanceAutomatedBackup for details on how to use this API operation.
  3623  //
  3624  // The context must be non-nil and will be used for request cancellation. If
  3625  // the context is nil a panic will occur. In the future the SDK may create
  3626  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3627  // for more information on using Contexts.
  3628  func (c *RDS) DeleteDBInstanceAutomatedBackupWithContext(ctx aws.Context, input *DeleteDBInstanceAutomatedBackupInput, opts ...request.Option) (*DeleteDBInstanceAutomatedBackupOutput, error) {
  3629  	req, out := c.DeleteDBInstanceAutomatedBackupRequest(input)
  3630  	req.SetContext(ctx)
  3631  	req.ApplyOptions(opts...)
  3632  	return out, req.Send()
  3633  }
  3634  
  3635  const opDeleteDBParameterGroup = "DeleteDBParameterGroup"
  3636  
  3637  // DeleteDBParameterGroupRequest generates a "aws/request.Request" representing the
  3638  // client's request for the DeleteDBParameterGroup operation. The "output" return
  3639  // value will be populated with the request's response once the request completes
  3640  // successfully.
  3641  //
  3642  // Use "Send" method on the returned Request to send the API call to the service.
  3643  // the "output" return value is not valid until after Send returns without error.
  3644  //
  3645  // See DeleteDBParameterGroup for more information on using the DeleteDBParameterGroup
  3646  // API call, and error handling.
  3647  //
  3648  // This method is useful when you want to inject custom logic or configuration
  3649  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3650  //
  3651  //
  3652  //    // Example sending a request using the DeleteDBParameterGroupRequest method.
  3653  //    req, resp := client.DeleteDBParameterGroupRequest(params)
  3654  //
  3655  //    err := req.Send()
  3656  //    if err == nil { // resp is now filled
  3657  //        fmt.Println(resp)
  3658  //    }
  3659  //
  3660  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBParameterGroup
  3661  func (c *RDS) DeleteDBParameterGroupRequest(input *DeleteDBParameterGroupInput) (req *request.Request, output *DeleteDBParameterGroupOutput) {
  3662  	op := &request.Operation{
  3663  		Name:       opDeleteDBParameterGroup,
  3664  		HTTPMethod: "POST",
  3665  		HTTPPath:   "/",
  3666  	}
  3667  
  3668  	if input == nil {
  3669  		input = &DeleteDBParameterGroupInput{}
  3670  	}
  3671  
  3672  	output = &DeleteDBParameterGroupOutput{}
  3673  	req = c.newRequest(op, input, output)
  3674  	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3675  	return
  3676  }
  3677  
  3678  // DeleteDBParameterGroup API operation for Amazon Relational Database Service.
  3679  //
  3680  // Deletes a specified DB parameter group. The DB parameter group to be deleted
  3681  // can't be associated with any DB instances.
  3682  //
  3683  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3684  // with awserr.Error's Code and Message methods to get detailed information about
  3685  // the error.
  3686  //
  3687  // See the AWS API reference guide for Amazon Relational Database Service's
  3688  // API operation DeleteDBParameterGroup for usage and error information.
  3689  //
  3690  // Returned Error Codes:
  3691  //   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
  3692  //   The DB parameter group is in use or is in an invalid state. If you are attempting
  3693  //   to delete the parameter group, you can't delete it when the parameter group
  3694  //   is in this state.
  3695  //
  3696  //   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
  3697  //   DBParameterGroupName doesn't refer to an existing DB parameter group.
  3698  //
  3699  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBParameterGroup
  3700  func (c *RDS) DeleteDBParameterGroup(input *DeleteDBParameterGroupInput) (*DeleteDBParameterGroupOutput, error) {
  3701  	req, out := c.DeleteDBParameterGroupRequest(input)
  3702  	return out, req.Send()
  3703  }
  3704  
  3705  // DeleteDBParameterGroupWithContext is the same as DeleteDBParameterGroup with the addition of
  3706  // the ability to pass a context and additional request options.
  3707  //
  3708  // See DeleteDBParameterGroup for details on how to use this API operation.
  3709  //
  3710  // The context must be non-nil and will be used for request cancellation. If
  3711  // the context is nil a panic will occur. In the future the SDK may create
  3712  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3713  // for more information on using Contexts.
  3714  func (c *RDS) DeleteDBParameterGroupWithContext(ctx aws.Context, input *DeleteDBParameterGroupInput, opts ...request.Option) (*DeleteDBParameterGroupOutput, error) {
  3715  	req, out := c.DeleteDBParameterGroupRequest(input)
  3716  	req.SetContext(ctx)
  3717  	req.ApplyOptions(opts...)
  3718  	return out, req.Send()
  3719  }
  3720  
  3721  const opDeleteDBProxy = "DeleteDBProxy"
  3722  
  3723  // DeleteDBProxyRequest generates a "aws/request.Request" representing the
  3724  // client's request for the DeleteDBProxy operation. The "output" return
  3725  // value will be populated with the request's response once the request completes
  3726  // successfully.
  3727  //
  3728  // Use "Send" method on the returned Request to send the API call to the service.
  3729  // the "output" return value is not valid until after Send returns without error.
  3730  //
  3731  // See DeleteDBProxy for more information on using the DeleteDBProxy
  3732  // API call, and error handling.
  3733  //
  3734  // This method is useful when you want to inject custom logic or configuration
  3735  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3736  //
  3737  //
  3738  //    // Example sending a request using the DeleteDBProxyRequest method.
  3739  //    req, resp := client.DeleteDBProxyRequest(params)
  3740  //
  3741  //    err := req.Send()
  3742  //    if err == nil { // resp is now filled
  3743  //        fmt.Println(resp)
  3744  //    }
  3745  //
  3746  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBProxy
  3747  func (c *RDS) DeleteDBProxyRequest(input *DeleteDBProxyInput) (req *request.Request, output *DeleteDBProxyOutput) {
  3748  	op := &request.Operation{
  3749  		Name:       opDeleteDBProxy,
  3750  		HTTPMethod: "POST",
  3751  		HTTPPath:   "/",
  3752  	}
  3753  
  3754  	if input == nil {
  3755  		input = &DeleteDBProxyInput{}
  3756  	}
  3757  
  3758  	output = &DeleteDBProxyOutput{}
  3759  	req = c.newRequest(op, input, output)
  3760  	return
  3761  }
  3762  
  3763  // DeleteDBProxy API operation for Amazon Relational Database Service.
  3764  //
  3765  // Deletes an existing DB proxy.
  3766  //
  3767  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3768  // with awserr.Error's Code and Message methods to get detailed information about
  3769  // the error.
  3770  //
  3771  // See the AWS API reference guide for Amazon Relational Database Service's
  3772  // API operation DeleteDBProxy for usage and error information.
  3773  //
  3774  // Returned Error Codes:
  3775  //   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
  3776  //   The specified proxy name doesn't correspond to a proxy owned by your Amazon
  3777  //   Web Services account in the specified Amazon Web Services Region.
  3778  //
  3779  //   * ErrCodeInvalidDBProxyStateFault "InvalidDBProxyStateFault"
  3780  //   The requested operation can't be performed while the proxy is in this state.
  3781  //
  3782  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBProxy
  3783  func (c *RDS) DeleteDBProxy(input *DeleteDBProxyInput) (*DeleteDBProxyOutput, error) {
  3784  	req, out := c.DeleteDBProxyRequest(input)
  3785  	return out, req.Send()
  3786  }
  3787  
  3788  // DeleteDBProxyWithContext is the same as DeleteDBProxy with the addition of
  3789  // the ability to pass a context and additional request options.
  3790  //
  3791  // See DeleteDBProxy for details on how to use this API operation.
  3792  //
  3793  // The context must be non-nil and will be used for request cancellation. If
  3794  // the context is nil a panic will occur. In the future the SDK may create
  3795  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3796  // for more information on using Contexts.
  3797  func (c *RDS) DeleteDBProxyWithContext(ctx aws.Context, input *DeleteDBProxyInput, opts ...request.Option) (*DeleteDBProxyOutput, error) {
  3798  	req, out := c.DeleteDBProxyRequest(input)
  3799  	req.SetContext(ctx)
  3800  	req.ApplyOptions(opts...)
  3801  	return out, req.Send()
  3802  }
  3803  
  3804  const opDeleteDBProxyEndpoint = "DeleteDBProxyEndpoint"
  3805  
  3806  // DeleteDBProxyEndpointRequest generates a "aws/request.Request" representing the
  3807  // client's request for the DeleteDBProxyEndpoint operation. The "output" return
  3808  // value will be populated with the request's response once the request completes
  3809  // successfully.
  3810  //
  3811  // Use "Send" method on the returned Request to send the API call to the service.
  3812  // the "output" return value is not valid until after Send returns without error.
  3813  //
  3814  // See DeleteDBProxyEndpoint for more information on using the DeleteDBProxyEndpoint
  3815  // API call, and error handling.
  3816  //
  3817  // This method is useful when you want to inject custom logic or configuration
  3818  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3819  //
  3820  //
  3821  //    // Example sending a request using the DeleteDBProxyEndpointRequest method.
  3822  //    req, resp := client.DeleteDBProxyEndpointRequest(params)
  3823  //
  3824  //    err := req.Send()
  3825  //    if err == nil { // resp is now filled
  3826  //        fmt.Println(resp)
  3827  //    }
  3828  //
  3829  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBProxyEndpoint
  3830  func (c *RDS) DeleteDBProxyEndpointRequest(input *DeleteDBProxyEndpointInput) (req *request.Request, output *DeleteDBProxyEndpointOutput) {
  3831  	op := &request.Operation{
  3832  		Name:       opDeleteDBProxyEndpoint,
  3833  		HTTPMethod: "POST",
  3834  		HTTPPath:   "/",
  3835  	}
  3836  
  3837  	if input == nil {
  3838  		input = &DeleteDBProxyEndpointInput{}
  3839  	}
  3840  
  3841  	output = &DeleteDBProxyEndpointOutput{}
  3842  	req = c.newRequest(op, input, output)
  3843  	return
  3844  }
  3845  
  3846  // DeleteDBProxyEndpoint API operation for Amazon Relational Database Service.
  3847  //
  3848  // Deletes a DBProxyEndpoint. Doing so removes the ability to access the DB
  3849  // proxy using the endpoint that you defined. The endpoint that you delete might
  3850  // have provided capabilities such as read/write or read-only operations, or
  3851  // using a different VPC than the DB proxy's default VPC.
  3852  //
  3853  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3854  // with awserr.Error's Code and Message methods to get detailed information about
  3855  // the error.
  3856  //
  3857  // See the AWS API reference guide for Amazon Relational Database Service's
  3858  // API operation DeleteDBProxyEndpoint for usage and error information.
  3859  //
  3860  // Returned Error Codes:
  3861  //   * ErrCodeDBProxyEndpointNotFoundFault "DBProxyEndpointNotFoundFault"
  3862  //   The DB proxy endpoint doesn't exist.
  3863  //
  3864  //   * ErrCodeInvalidDBProxyEndpointStateFault "InvalidDBProxyEndpointStateFault"
  3865  //   You can't perform this operation while the DB proxy endpoint is in a particular
  3866  //   state.
  3867  //
  3868  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBProxyEndpoint
  3869  func (c *RDS) DeleteDBProxyEndpoint(input *DeleteDBProxyEndpointInput) (*DeleteDBProxyEndpointOutput, error) {
  3870  	req, out := c.DeleteDBProxyEndpointRequest(input)
  3871  	return out, req.Send()
  3872  }
  3873  
  3874  // DeleteDBProxyEndpointWithContext is the same as DeleteDBProxyEndpoint with the addition of
  3875  // the ability to pass a context and additional request options.
  3876  //
  3877  // See DeleteDBProxyEndpoint for details on how to use this API operation.
  3878  //
  3879  // The context must be non-nil and will be used for request cancellation. If
  3880  // the context is nil a panic will occur. In the future the SDK may create
  3881  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3882  // for more information on using Contexts.
  3883  func (c *RDS) DeleteDBProxyEndpointWithContext(ctx aws.Context, input *DeleteDBProxyEndpointInput, opts ...request.Option) (*DeleteDBProxyEndpointOutput, error) {
  3884  	req, out := c.DeleteDBProxyEndpointRequest(input)
  3885  	req.SetContext(ctx)
  3886  	req.ApplyOptions(opts...)
  3887  	return out, req.Send()
  3888  }
  3889  
  3890  const opDeleteDBSecurityGroup = "DeleteDBSecurityGroup"
  3891  
  3892  // DeleteDBSecurityGroupRequest generates a "aws/request.Request" representing the
  3893  // client's request for the DeleteDBSecurityGroup operation. The "output" return
  3894  // value will be populated with the request's response once the request completes
  3895  // successfully.
  3896  //
  3897  // Use "Send" method on the returned Request to send the API call to the service.
  3898  // the "output" return value is not valid until after Send returns without error.
  3899  //
  3900  // See DeleteDBSecurityGroup for more information on using the DeleteDBSecurityGroup
  3901  // API call, and error handling.
  3902  //
  3903  // This method is useful when you want to inject custom logic or configuration
  3904  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3905  //
  3906  //
  3907  //    // Example sending a request using the DeleteDBSecurityGroupRequest method.
  3908  //    req, resp := client.DeleteDBSecurityGroupRequest(params)
  3909  //
  3910  //    err := req.Send()
  3911  //    if err == nil { // resp is now filled
  3912  //        fmt.Println(resp)
  3913  //    }
  3914  //
  3915  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSecurityGroup
  3916  func (c *RDS) DeleteDBSecurityGroupRequest(input *DeleteDBSecurityGroupInput) (req *request.Request, output *DeleteDBSecurityGroupOutput) {
  3917  	op := &request.Operation{
  3918  		Name:       opDeleteDBSecurityGroup,
  3919  		HTTPMethod: "POST",
  3920  		HTTPPath:   "/",
  3921  	}
  3922  
  3923  	if input == nil {
  3924  		input = &DeleteDBSecurityGroupInput{}
  3925  	}
  3926  
  3927  	output = &DeleteDBSecurityGroupOutput{}
  3928  	req = c.newRequest(op, input, output)
  3929  	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  3930  	return
  3931  }
  3932  
  3933  // DeleteDBSecurityGroup API operation for Amazon Relational Database Service.
  3934  //
  3935  // Deletes a DB security group.
  3936  //
  3937  // The specified DB security group must not be associated with any DB instances.
  3938  //
  3939  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3940  // with awserr.Error's Code and Message methods to get detailed information about
  3941  // the error.
  3942  //
  3943  // See the AWS API reference guide for Amazon Relational Database Service's
  3944  // API operation DeleteDBSecurityGroup for usage and error information.
  3945  //
  3946  // Returned Error Codes:
  3947  //   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
  3948  //   The state of the DB security group doesn't allow deletion.
  3949  //
  3950  //   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
  3951  //   DBSecurityGroupName doesn't refer to an existing DB security group.
  3952  //
  3953  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSecurityGroup
  3954  func (c *RDS) DeleteDBSecurityGroup(input *DeleteDBSecurityGroupInput) (*DeleteDBSecurityGroupOutput, error) {
  3955  	req, out := c.DeleteDBSecurityGroupRequest(input)
  3956  	return out, req.Send()
  3957  }
  3958  
  3959  // DeleteDBSecurityGroupWithContext is the same as DeleteDBSecurityGroup with the addition of
  3960  // the ability to pass a context and additional request options.
  3961  //
  3962  // See DeleteDBSecurityGroup for details on how to use this API operation.
  3963  //
  3964  // The context must be non-nil and will be used for request cancellation. If
  3965  // the context is nil a panic will occur. In the future the SDK may create
  3966  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3967  // for more information on using Contexts.
  3968  func (c *RDS) DeleteDBSecurityGroupWithContext(ctx aws.Context, input *DeleteDBSecurityGroupInput, opts ...request.Option) (*DeleteDBSecurityGroupOutput, error) {
  3969  	req, out := c.DeleteDBSecurityGroupRequest(input)
  3970  	req.SetContext(ctx)
  3971  	req.ApplyOptions(opts...)
  3972  	return out, req.Send()
  3973  }
  3974  
  3975  const opDeleteDBSnapshot = "DeleteDBSnapshot"
  3976  
  3977  // DeleteDBSnapshotRequest generates a "aws/request.Request" representing the
  3978  // client's request for the DeleteDBSnapshot operation. The "output" return
  3979  // value will be populated with the request's response once the request completes
  3980  // successfully.
  3981  //
  3982  // Use "Send" method on the returned Request to send the API call to the service.
  3983  // the "output" return value is not valid until after Send returns without error.
  3984  //
  3985  // See DeleteDBSnapshot for more information on using the DeleteDBSnapshot
  3986  // API call, and error handling.
  3987  //
  3988  // This method is useful when you want to inject custom logic or configuration
  3989  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3990  //
  3991  //
  3992  //    // Example sending a request using the DeleteDBSnapshotRequest method.
  3993  //    req, resp := client.DeleteDBSnapshotRequest(params)
  3994  //
  3995  //    err := req.Send()
  3996  //    if err == nil { // resp is now filled
  3997  //        fmt.Println(resp)
  3998  //    }
  3999  //
  4000  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSnapshot
  4001  func (c *RDS) DeleteDBSnapshotRequest(input *DeleteDBSnapshotInput) (req *request.Request, output *DeleteDBSnapshotOutput) {
  4002  	op := &request.Operation{
  4003  		Name:       opDeleteDBSnapshot,
  4004  		HTTPMethod: "POST",
  4005  		HTTPPath:   "/",
  4006  	}
  4007  
  4008  	if input == nil {
  4009  		input = &DeleteDBSnapshotInput{}
  4010  	}
  4011  
  4012  	output = &DeleteDBSnapshotOutput{}
  4013  	req = c.newRequest(op, input, output)
  4014  	return
  4015  }
  4016  
  4017  // DeleteDBSnapshot API operation for Amazon Relational Database Service.
  4018  //
  4019  // Deletes a DB snapshot. If the snapshot is being copied, the copy operation
  4020  // is terminated.
  4021  //
  4022  // The DB snapshot must be in the available state to be deleted.
  4023  //
  4024  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4025  // with awserr.Error's Code and Message methods to get detailed information about
  4026  // the error.
  4027  //
  4028  // See the AWS API reference guide for Amazon Relational Database Service's
  4029  // API operation DeleteDBSnapshot for usage and error information.
  4030  //
  4031  // Returned Error Codes:
  4032  //   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
  4033  //   The state of the DB snapshot doesn't allow deletion.
  4034  //
  4035  //   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
  4036  //   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
  4037  //
  4038  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSnapshot
  4039  func (c *RDS) DeleteDBSnapshot(input *DeleteDBSnapshotInput) (*DeleteDBSnapshotOutput, error) {
  4040  	req, out := c.DeleteDBSnapshotRequest(input)
  4041  	return out, req.Send()
  4042  }
  4043  
  4044  // DeleteDBSnapshotWithContext is the same as DeleteDBSnapshot with the addition of
  4045  // the ability to pass a context and additional request options.
  4046  //
  4047  // See DeleteDBSnapshot for details on how to use this API operation.
  4048  //
  4049  // The context must be non-nil and will be used for request cancellation. If
  4050  // the context is nil a panic will occur. In the future the SDK may create
  4051  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4052  // for more information on using Contexts.
  4053  func (c *RDS) DeleteDBSnapshotWithContext(ctx aws.Context, input *DeleteDBSnapshotInput, opts ...request.Option) (*DeleteDBSnapshotOutput, error) {
  4054  	req, out := c.DeleteDBSnapshotRequest(input)
  4055  	req.SetContext(ctx)
  4056  	req.ApplyOptions(opts...)
  4057  	return out, req.Send()
  4058  }
  4059  
  4060  const opDeleteDBSubnetGroup = "DeleteDBSubnetGroup"
  4061  
  4062  // DeleteDBSubnetGroupRequest generates a "aws/request.Request" representing the
  4063  // client's request for the DeleteDBSubnetGroup operation. The "output" return
  4064  // value will be populated with the request's response once the request completes
  4065  // successfully.
  4066  //
  4067  // Use "Send" method on the returned Request to send the API call to the service.
  4068  // the "output" return value is not valid until after Send returns without error.
  4069  //
  4070  // See DeleteDBSubnetGroup for more information on using the DeleteDBSubnetGroup
  4071  // API call, and error handling.
  4072  //
  4073  // This method is useful when you want to inject custom logic or configuration
  4074  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4075  //
  4076  //
  4077  //    // Example sending a request using the DeleteDBSubnetGroupRequest method.
  4078  //    req, resp := client.DeleteDBSubnetGroupRequest(params)
  4079  //
  4080  //    err := req.Send()
  4081  //    if err == nil { // resp is now filled
  4082  //        fmt.Println(resp)
  4083  //    }
  4084  //
  4085  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSubnetGroup
  4086  func (c *RDS) DeleteDBSubnetGroupRequest(input *DeleteDBSubnetGroupInput) (req *request.Request, output *DeleteDBSubnetGroupOutput) {
  4087  	op := &request.Operation{
  4088  		Name:       opDeleteDBSubnetGroup,
  4089  		HTTPMethod: "POST",
  4090  		HTTPPath:   "/",
  4091  	}
  4092  
  4093  	if input == nil {
  4094  		input = &DeleteDBSubnetGroupInput{}
  4095  	}
  4096  
  4097  	output = &DeleteDBSubnetGroupOutput{}
  4098  	req = c.newRequest(op, input, output)
  4099  	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4100  	return
  4101  }
  4102  
  4103  // DeleteDBSubnetGroup API operation for Amazon Relational Database Service.
  4104  //
  4105  // Deletes a DB subnet group.
  4106  //
  4107  // The specified database subnet group must not be associated with any DB instances.
  4108  //
  4109  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4110  // with awserr.Error's Code and Message methods to get detailed information about
  4111  // the error.
  4112  //
  4113  // See the AWS API reference guide for Amazon Relational Database Service's
  4114  // API operation DeleteDBSubnetGroup for usage and error information.
  4115  //
  4116  // Returned Error Codes:
  4117  //   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
  4118  //   The DB subnet group cannot be deleted because it's in use.
  4119  //
  4120  //   * ErrCodeInvalidDBSubnetStateFault "InvalidDBSubnetStateFault"
  4121  //   The DB subnet isn't in the available state.
  4122  //
  4123  //   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
  4124  //   DBSubnetGroupName doesn't refer to an existing DB subnet group.
  4125  //
  4126  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSubnetGroup
  4127  func (c *RDS) DeleteDBSubnetGroup(input *DeleteDBSubnetGroupInput) (*DeleteDBSubnetGroupOutput, error) {
  4128  	req, out := c.DeleteDBSubnetGroupRequest(input)
  4129  	return out, req.Send()
  4130  }
  4131  
  4132  // DeleteDBSubnetGroupWithContext is the same as DeleteDBSubnetGroup with the addition of
  4133  // the ability to pass a context and additional request options.
  4134  //
  4135  // See DeleteDBSubnetGroup for details on how to use this API operation.
  4136  //
  4137  // The context must be non-nil and will be used for request cancellation. If
  4138  // the context is nil a panic will occur. In the future the SDK may create
  4139  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4140  // for more information on using Contexts.
  4141  func (c *RDS) DeleteDBSubnetGroupWithContext(ctx aws.Context, input *DeleteDBSubnetGroupInput, opts ...request.Option) (*DeleteDBSubnetGroupOutput, error) {
  4142  	req, out := c.DeleteDBSubnetGroupRequest(input)
  4143  	req.SetContext(ctx)
  4144  	req.ApplyOptions(opts...)
  4145  	return out, req.Send()
  4146  }
  4147  
  4148  const opDeleteEventSubscription = "DeleteEventSubscription"
  4149  
  4150  // DeleteEventSubscriptionRequest generates a "aws/request.Request" representing the
  4151  // client's request for the DeleteEventSubscription operation. The "output" return
  4152  // value will be populated with the request's response once the request completes
  4153  // successfully.
  4154  //
  4155  // Use "Send" method on the returned Request to send the API call to the service.
  4156  // the "output" return value is not valid until after Send returns without error.
  4157  //
  4158  // See DeleteEventSubscription for more information on using the DeleteEventSubscription
  4159  // API call, and error handling.
  4160  //
  4161  // This method is useful when you want to inject custom logic or configuration
  4162  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4163  //
  4164  //
  4165  //    // Example sending a request using the DeleteEventSubscriptionRequest method.
  4166  //    req, resp := client.DeleteEventSubscriptionRequest(params)
  4167  //
  4168  //    err := req.Send()
  4169  //    if err == nil { // resp is now filled
  4170  //        fmt.Println(resp)
  4171  //    }
  4172  //
  4173  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteEventSubscription
  4174  func (c *RDS) DeleteEventSubscriptionRequest(input *DeleteEventSubscriptionInput) (req *request.Request, output *DeleteEventSubscriptionOutput) {
  4175  	op := &request.Operation{
  4176  		Name:       opDeleteEventSubscription,
  4177  		HTTPMethod: "POST",
  4178  		HTTPPath:   "/",
  4179  	}
  4180  
  4181  	if input == nil {
  4182  		input = &DeleteEventSubscriptionInput{}
  4183  	}
  4184  
  4185  	output = &DeleteEventSubscriptionOutput{}
  4186  	req = c.newRequest(op, input, output)
  4187  	return
  4188  }
  4189  
  4190  // DeleteEventSubscription API operation for Amazon Relational Database Service.
  4191  //
  4192  // Deletes an RDS event notification subscription.
  4193  //
  4194  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4195  // with awserr.Error's Code and Message methods to get detailed information about
  4196  // the error.
  4197  //
  4198  // See the AWS API reference guide for Amazon Relational Database Service's
  4199  // API operation DeleteEventSubscription for usage and error information.
  4200  //
  4201  // Returned Error Codes:
  4202  //   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
  4203  //   The subscription name does not exist.
  4204  //
  4205  //   * ErrCodeInvalidEventSubscriptionStateFault "InvalidEventSubscriptionState"
  4206  //   This error can occur if someone else is modifying a subscription. You should
  4207  //   retry the action.
  4208  //
  4209  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteEventSubscription
  4210  func (c *RDS) DeleteEventSubscription(input *DeleteEventSubscriptionInput) (*DeleteEventSubscriptionOutput, error) {
  4211  	req, out := c.DeleteEventSubscriptionRequest(input)
  4212  	return out, req.Send()
  4213  }
  4214  
  4215  // DeleteEventSubscriptionWithContext is the same as DeleteEventSubscription with the addition of
  4216  // the ability to pass a context and additional request options.
  4217  //
  4218  // See DeleteEventSubscription for details on how to use this API operation.
  4219  //
  4220  // The context must be non-nil and will be used for request cancellation. If
  4221  // the context is nil a panic will occur. In the future the SDK may create
  4222  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4223  // for more information on using Contexts.
  4224  func (c *RDS) DeleteEventSubscriptionWithContext(ctx aws.Context, input *DeleteEventSubscriptionInput, opts ...request.Option) (*DeleteEventSubscriptionOutput, error) {
  4225  	req, out := c.DeleteEventSubscriptionRequest(input)
  4226  	req.SetContext(ctx)
  4227  	req.ApplyOptions(opts...)
  4228  	return out, req.Send()
  4229  }
  4230  
  4231  const opDeleteGlobalCluster = "DeleteGlobalCluster"
  4232  
  4233  // DeleteGlobalClusterRequest generates a "aws/request.Request" representing the
  4234  // client's request for the DeleteGlobalCluster operation. The "output" return
  4235  // value will be populated with the request's response once the request completes
  4236  // successfully.
  4237  //
  4238  // Use "Send" method on the returned Request to send the API call to the service.
  4239  // the "output" return value is not valid until after Send returns without error.
  4240  //
  4241  // See DeleteGlobalCluster for more information on using the DeleteGlobalCluster
  4242  // API call, and error handling.
  4243  //
  4244  // This method is useful when you want to inject custom logic or configuration
  4245  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4246  //
  4247  //
  4248  //    // Example sending a request using the DeleteGlobalClusterRequest method.
  4249  //    req, resp := client.DeleteGlobalClusterRequest(params)
  4250  //
  4251  //    err := req.Send()
  4252  //    if err == nil { // resp is now filled
  4253  //        fmt.Println(resp)
  4254  //    }
  4255  //
  4256  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteGlobalCluster
  4257  func (c *RDS) DeleteGlobalClusterRequest(input *DeleteGlobalClusterInput) (req *request.Request, output *DeleteGlobalClusterOutput) {
  4258  	op := &request.Operation{
  4259  		Name:       opDeleteGlobalCluster,
  4260  		HTTPMethod: "POST",
  4261  		HTTPPath:   "/",
  4262  	}
  4263  
  4264  	if input == nil {
  4265  		input = &DeleteGlobalClusterInput{}
  4266  	}
  4267  
  4268  	output = &DeleteGlobalClusterOutput{}
  4269  	req = c.newRequest(op, input, output)
  4270  	return
  4271  }
  4272  
  4273  // DeleteGlobalCluster API operation for Amazon Relational Database Service.
  4274  //
  4275  // Deletes a global database cluster. The primary and secondary clusters must
  4276  // already be detached or destroyed first.
  4277  //
  4278  // This action only applies to Aurora DB clusters.
  4279  //
  4280  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4281  // with awserr.Error's Code and Message methods to get detailed information about
  4282  // the error.
  4283  //
  4284  // See the AWS API reference guide for Amazon Relational Database Service's
  4285  // API operation DeleteGlobalCluster for usage and error information.
  4286  //
  4287  // Returned Error Codes:
  4288  //   * ErrCodeGlobalClusterNotFoundFault "GlobalClusterNotFoundFault"
  4289  //   The GlobalClusterIdentifier doesn't refer to an existing global database
  4290  //   cluster.
  4291  //
  4292  //   * ErrCodeInvalidGlobalClusterStateFault "InvalidGlobalClusterStateFault"
  4293  //   The global cluster is in an invalid state and can't perform the requested
  4294  //   operation.
  4295  //
  4296  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteGlobalCluster
  4297  func (c *RDS) DeleteGlobalCluster(input *DeleteGlobalClusterInput) (*DeleteGlobalClusterOutput, error) {
  4298  	req, out := c.DeleteGlobalClusterRequest(input)
  4299  	return out, req.Send()
  4300  }
  4301  
  4302  // DeleteGlobalClusterWithContext is the same as DeleteGlobalCluster with the addition of
  4303  // the ability to pass a context and additional request options.
  4304  //
  4305  // See DeleteGlobalCluster for details on how to use this API operation.
  4306  //
  4307  // The context must be non-nil and will be used for request cancellation. If
  4308  // the context is nil a panic will occur. In the future the SDK may create
  4309  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4310  // for more information on using Contexts.
  4311  func (c *RDS) DeleteGlobalClusterWithContext(ctx aws.Context, input *DeleteGlobalClusterInput, opts ...request.Option) (*DeleteGlobalClusterOutput, error) {
  4312  	req, out := c.DeleteGlobalClusterRequest(input)
  4313  	req.SetContext(ctx)
  4314  	req.ApplyOptions(opts...)
  4315  	return out, req.Send()
  4316  }
  4317  
  4318  const opDeleteInstallationMedia = "DeleteInstallationMedia"
  4319  
  4320  // DeleteInstallationMediaRequest generates a "aws/request.Request" representing the
  4321  // client's request for the DeleteInstallationMedia operation. The "output" return
  4322  // value will be populated with the request's response once the request completes
  4323  // successfully.
  4324  //
  4325  // Use "Send" method on the returned Request to send the API call to the service.
  4326  // the "output" return value is not valid until after Send returns without error.
  4327  //
  4328  // See DeleteInstallationMedia for more information on using the DeleteInstallationMedia
  4329  // API call, and error handling.
  4330  //
  4331  // This method is useful when you want to inject custom logic or configuration
  4332  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4333  //
  4334  //
  4335  //    // Example sending a request using the DeleteInstallationMediaRequest method.
  4336  //    req, resp := client.DeleteInstallationMediaRequest(params)
  4337  //
  4338  //    err := req.Send()
  4339  //    if err == nil { // resp is now filled
  4340  //        fmt.Println(resp)
  4341  //    }
  4342  //
  4343  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteInstallationMedia
  4344  func (c *RDS) DeleteInstallationMediaRequest(input *DeleteInstallationMediaInput) (req *request.Request, output *DeleteInstallationMediaOutput) {
  4345  	op := &request.Operation{
  4346  		Name:       opDeleteInstallationMedia,
  4347  		HTTPMethod: "POST",
  4348  		HTTPPath:   "/",
  4349  	}
  4350  
  4351  	if input == nil {
  4352  		input = &DeleteInstallationMediaInput{}
  4353  	}
  4354  
  4355  	output = &DeleteInstallationMediaOutput{}
  4356  	req = c.newRequest(op, input, output)
  4357  	return
  4358  }
  4359  
  4360  // DeleteInstallationMedia API operation for Amazon Relational Database Service.
  4361  //
  4362  // Deletes the installation medium for a DB engine that requires an on-premises
  4363  // customer provided license, such as Microsoft SQL Server.
  4364  //
  4365  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4366  // with awserr.Error's Code and Message methods to get detailed information about
  4367  // the error.
  4368  //
  4369  // See the AWS API reference guide for Amazon Relational Database Service's
  4370  // API operation DeleteInstallationMedia for usage and error information.
  4371  //
  4372  // Returned Error Codes:
  4373  //   * ErrCodeInstallationMediaNotFoundFault "InstallationMediaNotFound"
  4374  //   InstallationMediaID doesn't refer to an existing installation medium.
  4375  //
  4376  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteInstallationMedia
  4377  func (c *RDS) DeleteInstallationMedia(input *DeleteInstallationMediaInput) (*DeleteInstallationMediaOutput, error) {
  4378  	req, out := c.DeleteInstallationMediaRequest(input)
  4379  	return out, req.Send()
  4380  }
  4381  
  4382  // DeleteInstallationMediaWithContext is the same as DeleteInstallationMedia with the addition of
  4383  // the ability to pass a context and additional request options.
  4384  //
  4385  // See DeleteInstallationMedia for details on how to use this API operation.
  4386  //
  4387  // The context must be non-nil and will be used for request cancellation. If
  4388  // the context is nil a panic will occur. In the future the SDK may create
  4389  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4390  // for more information on using Contexts.
  4391  func (c *RDS) DeleteInstallationMediaWithContext(ctx aws.Context, input *DeleteInstallationMediaInput, opts ...request.Option) (*DeleteInstallationMediaOutput, error) {
  4392  	req, out := c.DeleteInstallationMediaRequest(input)
  4393  	req.SetContext(ctx)
  4394  	req.ApplyOptions(opts...)
  4395  	return out, req.Send()
  4396  }
  4397  
  4398  const opDeleteOptionGroup = "DeleteOptionGroup"
  4399  
  4400  // DeleteOptionGroupRequest generates a "aws/request.Request" representing the
  4401  // client's request for the DeleteOptionGroup operation. The "output" return
  4402  // value will be populated with the request's response once the request completes
  4403  // successfully.
  4404  //
  4405  // Use "Send" method on the returned Request to send the API call to the service.
  4406  // the "output" return value is not valid until after Send returns without error.
  4407  //
  4408  // See DeleteOptionGroup for more information on using the DeleteOptionGroup
  4409  // API call, and error handling.
  4410  //
  4411  // This method is useful when you want to inject custom logic or configuration
  4412  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4413  //
  4414  //
  4415  //    // Example sending a request using the DeleteOptionGroupRequest method.
  4416  //    req, resp := client.DeleteOptionGroupRequest(params)
  4417  //
  4418  //    err := req.Send()
  4419  //    if err == nil { // resp is now filled
  4420  //        fmt.Println(resp)
  4421  //    }
  4422  //
  4423  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteOptionGroup
  4424  func (c *RDS) DeleteOptionGroupRequest(input *DeleteOptionGroupInput) (req *request.Request, output *DeleteOptionGroupOutput) {
  4425  	op := &request.Operation{
  4426  		Name:       opDeleteOptionGroup,
  4427  		HTTPMethod: "POST",
  4428  		HTTPPath:   "/",
  4429  	}
  4430  
  4431  	if input == nil {
  4432  		input = &DeleteOptionGroupInput{}
  4433  	}
  4434  
  4435  	output = &DeleteOptionGroupOutput{}
  4436  	req = c.newRequest(op, input, output)
  4437  	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4438  	return
  4439  }
  4440  
  4441  // DeleteOptionGroup API operation for Amazon Relational Database Service.
  4442  //
  4443  // Deletes an existing option group.
  4444  //
  4445  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4446  // with awserr.Error's Code and Message methods to get detailed information about
  4447  // the error.
  4448  //
  4449  // See the AWS API reference guide for Amazon Relational Database Service's
  4450  // API operation DeleteOptionGroup for usage and error information.
  4451  //
  4452  // Returned Error Codes:
  4453  //   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
  4454  //   The specified option group could not be found.
  4455  //
  4456  //   * ErrCodeInvalidOptionGroupStateFault "InvalidOptionGroupStateFault"
  4457  //   The option group isn't in the available state.
  4458  //
  4459  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteOptionGroup
  4460  func (c *RDS) DeleteOptionGroup(input *DeleteOptionGroupInput) (*DeleteOptionGroupOutput, error) {
  4461  	req, out := c.DeleteOptionGroupRequest(input)
  4462  	return out, req.Send()
  4463  }
  4464  
  4465  // DeleteOptionGroupWithContext is the same as DeleteOptionGroup with the addition of
  4466  // the ability to pass a context and additional request options.
  4467  //
  4468  // See DeleteOptionGroup for details on how to use this API operation.
  4469  //
  4470  // The context must be non-nil and will be used for request cancellation. If
  4471  // the context is nil a panic will occur. In the future the SDK may create
  4472  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4473  // for more information on using Contexts.
  4474  func (c *RDS) DeleteOptionGroupWithContext(ctx aws.Context, input *DeleteOptionGroupInput, opts ...request.Option) (*DeleteOptionGroupOutput, error) {
  4475  	req, out := c.DeleteOptionGroupRequest(input)
  4476  	req.SetContext(ctx)
  4477  	req.ApplyOptions(opts...)
  4478  	return out, req.Send()
  4479  }
  4480  
  4481  const opDeregisterDBProxyTargets = "DeregisterDBProxyTargets"
  4482  
  4483  // DeregisterDBProxyTargetsRequest generates a "aws/request.Request" representing the
  4484  // client's request for the DeregisterDBProxyTargets operation. The "output" return
  4485  // value will be populated with the request's response once the request completes
  4486  // successfully.
  4487  //
  4488  // Use "Send" method on the returned Request to send the API call to the service.
  4489  // the "output" return value is not valid until after Send returns without error.
  4490  //
  4491  // See DeregisterDBProxyTargets for more information on using the DeregisterDBProxyTargets
  4492  // API call, and error handling.
  4493  //
  4494  // This method is useful when you want to inject custom logic or configuration
  4495  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4496  //
  4497  //
  4498  //    // Example sending a request using the DeregisterDBProxyTargetsRequest method.
  4499  //    req, resp := client.DeregisterDBProxyTargetsRequest(params)
  4500  //
  4501  //    err := req.Send()
  4502  //    if err == nil { // resp is now filled
  4503  //        fmt.Println(resp)
  4504  //    }
  4505  //
  4506  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeregisterDBProxyTargets
  4507  func (c *RDS) DeregisterDBProxyTargetsRequest(input *DeregisterDBProxyTargetsInput) (req *request.Request, output *DeregisterDBProxyTargetsOutput) {
  4508  	op := &request.Operation{
  4509  		Name:       opDeregisterDBProxyTargets,
  4510  		HTTPMethod: "POST",
  4511  		HTTPPath:   "/",
  4512  	}
  4513  
  4514  	if input == nil {
  4515  		input = &DeregisterDBProxyTargetsInput{}
  4516  	}
  4517  
  4518  	output = &DeregisterDBProxyTargetsOutput{}
  4519  	req = c.newRequest(op, input, output)
  4520  	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4521  	return
  4522  }
  4523  
  4524  // DeregisterDBProxyTargets API operation for Amazon Relational Database Service.
  4525  //
  4526  // Remove the association between one or more DBProxyTarget data structures
  4527  // and a DBProxyTargetGroup.
  4528  //
  4529  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4530  // with awserr.Error's Code and Message methods to get detailed information about
  4531  // the error.
  4532  //
  4533  // See the AWS API reference guide for Amazon Relational Database Service's
  4534  // API operation DeregisterDBProxyTargets for usage and error information.
  4535  //
  4536  // Returned Error Codes:
  4537  //   * ErrCodeDBProxyTargetNotFoundFault "DBProxyTargetNotFoundFault"
  4538  //   The specified RDS DB instance or Aurora DB cluster isn't available for a
  4539  //   proxy owned by your Amazon Web Services account in the specified Amazon Web
  4540  //   Services Region.
  4541  //
  4542  //   * ErrCodeDBProxyTargetGroupNotFoundFault "DBProxyTargetGroupNotFoundFault"
  4543  //   The specified target group isn't available for a proxy owned by your Amazon
  4544  //   Web Services account in the specified Amazon Web Services Region.
  4545  //
  4546  //   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
  4547  //   The specified proxy name doesn't correspond to a proxy owned by your Amazon
  4548  //   Web Services account in the specified Amazon Web Services Region.
  4549  //
  4550  //   * ErrCodeInvalidDBProxyStateFault "InvalidDBProxyStateFault"
  4551  //   The requested operation can't be performed while the proxy is in this state.
  4552  //
  4553  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeregisterDBProxyTargets
  4554  func (c *RDS) DeregisterDBProxyTargets(input *DeregisterDBProxyTargetsInput) (*DeregisterDBProxyTargetsOutput, error) {
  4555  	req, out := c.DeregisterDBProxyTargetsRequest(input)
  4556  	return out, req.Send()
  4557  }
  4558  
  4559  // DeregisterDBProxyTargetsWithContext is the same as DeregisterDBProxyTargets with the addition of
  4560  // the ability to pass a context and additional request options.
  4561  //
  4562  // See DeregisterDBProxyTargets for details on how to use this API operation.
  4563  //
  4564  // The context must be non-nil and will be used for request cancellation. If
  4565  // the context is nil a panic will occur. In the future the SDK may create
  4566  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4567  // for more information on using Contexts.
  4568  func (c *RDS) DeregisterDBProxyTargetsWithContext(ctx aws.Context, input *DeregisterDBProxyTargetsInput, opts ...request.Option) (*DeregisterDBProxyTargetsOutput, error) {
  4569  	req, out := c.DeregisterDBProxyTargetsRequest(input)
  4570  	req.SetContext(ctx)
  4571  	req.ApplyOptions(opts...)
  4572  	return out, req.Send()
  4573  }
  4574  
  4575  const opDescribeAccountAttributes = "DescribeAccountAttributes"
  4576  
  4577  // DescribeAccountAttributesRequest generates a "aws/request.Request" representing the
  4578  // client's request for the DescribeAccountAttributes operation. The "output" return
  4579  // value will be populated with the request's response once the request completes
  4580  // successfully.
  4581  //
  4582  // Use "Send" method on the returned Request to send the API call to the service.
  4583  // the "output" return value is not valid until after Send returns without error.
  4584  //
  4585  // See DescribeAccountAttributes for more information on using the DescribeAccountAttributes
  4586  // API call, and error handling.
  4587  //
  4588  // This method is useful when you want to inject custom logic or configuration
  4589  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4590  //
  4591  //
  4592  //    // Example sending a request using the DescribeAccountAttributesRequest method.
  4593  //    req, resp := client.DescribeAccountAttributesRequest(params)
  4594  //
  4595  //    err := req.Send()
  4596  //    if err == nil { // resp is now filled
  4597  //        fmt.Println(resp)
  4598  //    }
  4599  //
  4600  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeAccountAttributes
  4601  func (c *RDS) DescribeAccountAttributesRequest(input *DescribeAccountAttributesInput) (req *request.Request, output *DescribeAccountAttributesOutput) {
  4602  	op := &request.Operation{
  4603  		Name:       opDescribeAccountAttributes,
  4604  		HTTPMethod: "POST",
  4605  		HTTPPath:   "/",
  4606  	}
  4607  
  4608  	if input == nil {
  4609  		input = &DescribeAccountAttributesInput{}
  4610  	}
  4611  
  4612  	output = &DescribeAccountAttributesOutput{}
  4613  	req = c.newRequest(op, input, output)
  4614  	return
  4615  }
  4616  
  4617  // DescribeAccountAttributes API operation for Amazon Relational Database Service.
  4618  //
  4619  // Lists all of the attributes for a customer account. The attributes include
  4620  // Amazon RDS quotas for the account, such as the number of DB instances allowed.
  4621  // The description for a quota includes the quota name, current usage toward
  4622  // that quota, and the quota's maximum value.
  4623  //
  4624  // This command doesn't take any parameters.
  4625  //
  4626  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4627  // with awserr.Error's Code and Message methods to get detailed information about
  4628  // the error.
  4629  //
  4630  // See the AWS API reference guide for Amazon Relational Database Service's
  4631  // API operation DescribeAccountAttributes for usage and error information.
  4632  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeAccountAttributes
  4633  func (c *RDS) DescribeAccountAttributes(input *DescribeAccountAttributesInput) (*DescribeAccountAttributesOutput, error) {
  4634  	req, out := c.DescribeAccountAttributesRequest(input)
  4635  	return out, req.Send()
  4636  }
  4637  
  4638  // DescribeAccountAttributesWithContext is the same as DescribeAccountAttributes with the addition of
  4639  // the ability to pass a context and additional request options.
  4640  //
  4641  // See DescribeAccountAttributes for details on how to use this API operation.
  4642  //
  4643  // The context must be non-nil and will be used for request cancellation. If
  4644  // the context is nil a panic will occur. In the future the SDK may create
  4645  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4646  // for more information on using Contexts.
  4647  func (c *RDS) DescribeAccountAttributesWithContext(ctx aws.Context, input *DescribeAccountAttributesInput, opts ...request.Option) (*DescribeAccountAttributesOutput, error) {
  4648  	req, out := c.DescribeAccountAttributesRequest(input)
  4649  	req.SetContext(ctx)
  4650  	req.ApplyOptions(opts...)
  4651  	return out, req.Send()
  4652  }
  4653  
  4654  const opDescribeCertificates = "DescribeCertificates"
  4655  
  4656  // DescribeCertificatesRequest generates a "aws/request.Request" representing the
  4657  // client's request for the DescribeCertificates operation. The "output" return
  4658  // value will be populated with the request's response once the request completes
  4659  // successfully.
  4660  //
  4661  // Use "Send" method on the returned Request to send the API call to the service.
  4662  // the "output" return value is not valid until after Send returns without error.
  4663  //
  4664  // See DescribeCertificates for more information on using the DescribeCertificates
  4665  // API call, and error handling.
  4666  //
  4667  // This method is useful when you want to inject custom logic or configuration
  4668  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4669  //
  4670  //
  4671  //    // Example sending a request using the DescribeCertificatesRequest method.
  4672  //    req, resp := client.DescribeCertificatesRequest(params)
  4673  //
  4674  //    err := req.Send()
  4675  //    if err == nil { // resp is now filled
  4676  //        fmt.Println(resp)
  4677  //    }
  4678  //
  4679  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeCertificates
  4680  func (c *RDS) DescribeCertificatesRequest(input *DescribeCertificatesInput) (req *request.Request, output *DescribeCertificatesOutput) {
  4681  	op := &request.Operation{
  4682  		Name:       opDescribeCertificates,
  4683  		HTTPMethod: "POST",
  4684  		HTTPPath:   "/",
  4685  		Paginator: &request.Paginator{
  4686  			InputTokens:     []string{"Marker"},
  4687  			OutputTokens:    []string{"Marker"},
  4688  			LimitToken:      "MaxRecords",
  4689  			TruncationToken: "",
  4690  		},
  4691  	}
  4692  
  4693  	if input == nil {
  4694  		input = &DescribeCertificatesInput{}
  4695  	}
  4696  
  4697  	output = &DescribeCertificatesOutput{}
  4698  	req = c.newRequest(op, input, output)
  4699  	return
  4700  }
  4701  
  4702  // DescribeCertificates API operation for Amazon Relational Database Service.
  4703  //
  4704  // Lists the set of CA certificates provided by Amazon RDS for this Amazon Web
  4705  // Services account.
  4706  //
  4707  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4708  // with awserr.Error's Code and Message methods to get detailed information about
  4709  // the error.
  4710  //
  4711  // See the AWS API reference guide for Amazon Relational Database Service's
  4712  // API operation DescribeCertificates for usage and error information.
  4713  //
  4714  // Returned Error Codes:
  4715  //   * ErrCodeCertificateNotFoundFault "CertificateNotFound"
  4716  //   CertificateIdentifier doesn't refer to an existing certificate.
  4717  //
  4718  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeCertificates
  4719  func (c *RDS) DescribeCertificates(input *DescribeCertificatesInput) (*DescribeCertificatesOutput, error) {
  4720  	req, out := c.DescribeCertificatesRequest(input)
  4721  	return out, req.Send()
  4722  }
  4723  
  4724  // DescribeCertificatesWithContext is the same as DescribeCertificates with the addition of
  4725  // the ability to pass a context and additional request options.
  4726  //
  4727  // See DescribeCertificates for details on how to use this API operation.
  4728  //
  4729  // The context must be non-nil and will be used for request cancellation. If
  4730  // the context is nil a panic will occur. In the future the SDK may create
  4731  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4732  // for more information on using Contexts.
  4733  func (c *RDS) DescribeCertificatesWithContext(ctx aws.Context, input *DescribeCertificatesInput, opts ...request.Option) (*DescribeCertificatesOutput, error) {
  4734  	req, out := c.DescribeCertificatesRequest(input)
  4735  	req.SetContext(ctx)
  4736  	req.ApplyOptions(opts...)
  4737  	return out, req.Send()
  4738  }
  4739  
  4740  // DescribeCertificatesPages iterates over the pages of a DescribeCertificates operation,
  4741  // calling the "fn" function with the response data for each page. To stop
  4742  // iterating, return false from the fn function.
  4743  //
  4744  // See DescribeCertificates method for more information on how to use this operation.
  4745  //
  4746  // Note: This operation can generate multiple requests to a service.
  4747  //
  4748  //    // Example iterating over at most 3 pages of a DescribeCertificates operation.
  4749  //    pageNum := 0
  4750  //    err := client.DescribeCertificatesPages(params,
  4751  //        func(page *rds.DescribeCertificatesOutput, lastPage bool) bool {
  4752  //            pageNum++
  4753  //            fmt.Println(page)
  4754  //            return pageNum <= 3
  4755  //        })
  4756  //
  4757  func (c *RDS) DescribeCertificatesPages(input *DescribeCertificatesInput, fn func(*DescribeCertificatesOutput, bool) bool) error {
  4758  	return c.DescribeCertificatesPagesWithContext(aws.BackgroundContext(), input, fn)
  4759  }
  4760  
  4761  // DescribeCertificatesPagesWithContext same as DescribeCertificatesPages except
  4762  // it takes a Context and allows setting request options on the pages.
  4763  //
  4764  // The context must be non-nil and will be used for request cancellation. If
  4765  // the context is nil a panic will occur. In the future the SDK may create
  4766  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4767  // for more information on using Contexts.
  4768  func (c *RDS) DescribeCertificatesPagesWithContext(ctx aws.Context, input *DescribeCertificatesInput, fn func(*DescribeCertificatesOutput, bool) bool, opts ...request.Option) error {
  4769  	p := request.Pagination{
  4770  		NewRequest: func() (*request.Request, error) {
  4771  			var inCpy *DescribeCertificatesInput
  4772  			if input != nil {
  4773  				tmp := *input
  4774  				inCpy = &tmp
  4775  			}
  4776  			req, _ := c.DescribeCertificatesRequest(inCpy)
  4777  			req.SetContext(ctx)
  4778  			req.ApplyOptions(opts...)
  4779  			return req, nil
  4780  		},
  4781  	}
  4782  
  4783  	for p.Next() {
  4784  		if !fn(p.Page().(*DescribeCertificatesOutput), !p.HasNextPage()) {
  4785  			break
  4786  		}
  4787  	}
  4788  
  4789  	return p.Err()
  4790  }
  4791  
  4792  const opDescribeCustomAvailabilityZones = "DescribeCustomAvailabilityZones"
  4793  
  4794  // DescribeCustomAvailabilityZonesRequest generates a "aws/request.Request" representing the
  4795  // client's request for the DescribeCustomAvailabilityZones operation. The "output" return
  4796  // value will be populated with the request's response once the request completes
  4797  // successfully.
  4798  //
  4799  // Use "Send" method on the returned Request to send the API call to the service.
  4800  // the "output" return value is not valid until after Send returns without error.
  4801  //
  4802  // See DescribeCustomAvailabilityZones for more information on using the DescribeCustomAvailabilityZones
  4803  // API call, and error handling.
  4804  //
  4805  // This method is useful when you want to inject custom logic or configuration
  4806  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4807  //
  4808  //
  4809  //    // Example sending a request using the DescribeCustomAvailabilityZonesRequest method.
  4810  //    req, resp := client.DescribeCustomAvailabilityZonesRequest(params)
  4811  //
  4812  //    err := req.Send()
  4813  //    if err == nil { // resp is now filled
  4814  //        fmt.Println(resp)
  4815  //    }
  4816  //
  4817  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeCustomAvailabilityZones
  4818  func (c *RDS) DescribeCustomAvailabilityZonesRequest(input *DescribeCustomAvailabilityZonesInput) (req *request.Request, output *DescribeCustomAvailabilityZonesOutput) {
  4819  	op := &request.Operation{
  4820  		Name:       opDescribeCustomAvailabilityZones,
  4821  		HTTPMethod: "POST",
  4822  		HTTPPath:   "/",
  4823  		Paginator: &request.Paginator{
  4824  			InputTokens:     []string{"Marker"},
  4825  			OutputTokens:    []string{"Marker"},
  4826  			LimitToken:      "MaxRecords",
  4827  			TruncationToken: "",
  4828  		},
  4829  	}
  4830  
  4831  	if input == nil {
  4832  		input = &DescribeCustomAvailabilityZonesInput{}
  4833  	}
  4834  
  4835  	output = &DescribeCustomAvailabilityZonesOutput{}
  4836  	req = c.newRequest(op, input, output)
  4837  	return
  4838  }
  4839  
  4840  // DescribeCustomAvailabilityZones API operation for Amazon Relational Database Service.
  4841  //
  4842  // Returns information about custom Availability Zones (AZs).
  4843  //
  4844  // A custom AZ is an on-premises AZ that is integrated with a VMware vSphere
  4845  // cluster.
  4846  //
  4847  // For more information about RDS on VMware, see the RDS on VMware User Guide.
  4848  // (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html)
  4849  //
  4850  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4851  // with awserr.Error's Code and Message methods to get detailed information about
  4852  // the error.
  4853  //
  4854  // See the AWS API reference guide for Amazon Relational Database Service's
  4855  // API operation DescribeCustomAvailabilityZones for usage and error information.
  4856  //
  4857  // Returned Error Codes:
  4858  //   * ErrCodeCustomAvailabilityZoneNotFoundFault "CustomAvailabilityZoneNotFound"
  4859  //   CustomAvailabilityZoneId doesn't refer to an existing custom Availability
  4860  //   Zone identifier.
  4861  //
  4862  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeCustomAvailabilityZones
  4863  func (c *RDS) DescribeCustomAvailabilityZones(input *DescribeCustomAvailabilityZonesInput) (*DescribeCustomAvailabilityZonesOutput, error) {
  4864  	req, out := c.DescribeCustomAvailabilityZonesRequest(input)
  4865  	return out, req.Send()
  4866  }
  4867  
  4868  // DescribeCustomAvailabilityZonesWithContext is the same as DescribeCustomAvailabilityZones with the addition of
  4869  // the ability to pass a context and additional request options.
  4870  //
  4871  // See DescribeCustomAvailabilityZones for details on how to use this API operation.
  4872  //
  4873  // The context must be non-nil and will be used for request cancellation. If
  4874  // the context is nil a panic will occur. In the future the SDK may create
  4875  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4876  // for more information on using Contexts.
  4877  func (c *RDS) DescribeCustomAvailabilityZonesWithContext(ctx aws.Context, input *DescribeCustomAvailabilityZonesInput, opts ...request.Option) (*DescribeCustomAvailabilityZonesOutput, error) {
  4878  	req, out := c.DescribeCustomAvailabilityZonesRequest(input)
  4879  	req.SetContext(ctx)
  4880  	req.ApplyOptions(opts...)
  4881  	return out, req.Send()
  4882  }
  4883  
  4884  // DescribeCustomAvailabilityZonesPages iterates over the pages of a DescribeCustomAvailabilityZones operation,
  4885  // calling the "fn" function with the response data for each page. To stop
  4886  // iterating, return false from the fn function.
  4887  //
  4888  // See DescribeCustomAvailabilityZones method for more information on how to use this operation.
  4889  //
  4890  // Note: This operation can generate multiple requests to a service.
  4891  //
  4892  //    // Example iterating over at most 3 pages of a DescribeCustomAvailabilityZones operation.
  4893  //    pageNum := 0
  4894  //    err := client.DescribeCustomAvailabilityZonesPages(params,
  4895  //        func(page *rds.DescribeCustomAvailabilityZonesOutput, lastPage bool) bool {
  4896  //            pageNum++
  4897  //            fmt.Println(page)
  4898  //            return pageNum <= 3
  4899  //        })
  4900  //
  4901  func (c *RDS) DescribeCustomAvailabilityZonesPages(input *DescribeCustomAvailabilityZonesInput, fn func(*DescribeCustomAvailabilityZonesOutput, bool) bool) error {
  4902  	return c.DescribeCustomAvailabilityZonesPagesWithContext(aws.BackgroundContext(), input, fn)
  4903  }
  4904  
  4905  // DescribeCustomAvailabilityZonesPagesWithContext same as DescribeCustomAvailabilityZonesPages except
  4906  // it takes a Context and allows setting request options on the pages.
  4907  //
  4908  // The context must be non-nil and will be used for request cancellation. If
  4909  // the context is nil a panic will occur. In the future the SDK may create
  4910  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4911  // for more information on using Contexts.
  4912  func (c *RDS) DescribeCustomAvailabilityZonesPagesWithContext(ctx aws.Context, input *DescribeCustomAvailabilityZonesInput, fn func(*DescribeCustomAvailabilityZonesOutput, bool) bool, opts ...request.Option) error {
  4913  	p := request.Pagination{
  4914  		NewRequest: func() (*request.Request, error) {
  4915  			var inCpy *DescribeCustomAvailabilityZonesInput
  4916  			if input != nil {
  4917  				tmp := *input
  4918  				inCpy = &tmp
  4919  			}
  4920  			req, _ := c.DescribeCustomAvailabilityZonesRequest(inCpy)
  4921  			req.SetContext(ctx)
  4922  			req.ApplyOptions(opts...)
  4923  			return req, nil
  4924  		},
  4925  	}
  4926  
  4927  	for p.Next() {
  4928  		if !fn(p.Page().(*DescribeCustomAvailabilityZonesOutput), !p.HasNextPage()) {
  4929  			break
  4930  		}
  4931  	}
  4932  
  4933  	return p.Err()
  4934  }
  4935  
  4936  const opDescribeDBClusterBacktracks = "DescribeDBClusterBacktracks"
  4937  
  4938  // DescribeDBClusterBacktracksRequest generates a "aws/request.Request" representing the
  4939  // client's request for the DescribeDBClusterBacktracks operation. The "output" return
  4940  // value will be populated with the request's response once the request completes
  4941  // successfully.
  4942  //
  4943  // Use "Send" method on the returned Request to send the API call to the service.
  4944  // the "output" return value is not valid until after Send returns without error.
  4945  //
  4946  // See DescribeDBClusterBacktracks for more information on using the DescribeDBClusterBacktracks
  4947  // API call, and error handling.
  4948  //
  4949  // This method is useful when you want to inject custom logic or configuration
  4950  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4951  //
  4952  //
  4953  //    // Example sending a request using the DescribeDBClusterBacktracksRequest method.
  4954  //    req, resp := client.DescribeDBClusterBacktracksRequest(params)
  4955  //
  4956  //    err := req.Send()
  4957  //    if err == nil { // resp is now filled
  4958  //        fmt.Println(resp)
  4959  //    }
  4960  //
  4961  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterBacktracks
  4962  func (c *RDS) DescribeDBClusterBacktracksRequest(input *DescribeDBClusterBacktracksInput) (req *request.Request, output *DescribeDBClusterBacktracksOutput) {
  4963  	op := &request.Operation{
  4964  		Name:       opDescribeDBClusterBacktracks,
  4965  		HTTPMethod: "POST",
  4966  		HTTPPath:   "/",
  4967  		Paginator: &request.Paginator{
  4968  			InputTokens:     []string{"Marker"},
  4969  			OutputTokens:    []string{"Marker"},
  4970  			LimitToken:      "MaxRecords",
  4971  			TruncationToken: "",
  4972  		},
  4973  	}
  4974  
  4975  	if input == nil {
  4976  		input = &DescribeDBClusterBacktracksInput{}
  4977  	}
  4978  
  4979  	output = &DescribeDBClusterBacktracksOutput{}
  4980  	req = c.newRequest(op, input, output)
  4981  	return
  4982  }
  4983  
  4984  // DescribeDBClusterBacktracks API operation for Amazon Relational Database Service.
  4985  //
  4986  // Returns information about backtracks for a DB cluster.
  4987  //
  4988  // For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
  4989  // in the Amazon Aurora User Guide.
  4990  //
  4991  // This action only applies to Aurora MySQL DB clusters.
  4992  //
  4993  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4994  // with awserr.Error's Code and Message methods to get detailed information about
  4995  // the error.
  4996  //
  4997  // See the AWS API reference guide for Amazon Relational Database Service's
  4998  // API operation DescribeDBClusterBacktracks for usage and error information.
  4999  //
  5000  // Returned Error Codes:
  5001  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
  5002  //   DBClusterIdentifier doesn't refer to an existing DB cluster.
  5003  //
  5004  //   * ErrCodeDBClusterBacktrackNotFoundFault "DBClusterBacktrackNotFoundFault"
  5005  //   BacktrackIdentifier doesn't refer to an existing backtrack.
  5006  //
  5007  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterBacktracks
  5008  func (c *RDS) DescribeDBClusterBacktracks(input *DescribeDBClusterBacktracksInput) (*DescribeDBClusterBacktracksOutput, error) {
  5009  	req, out := c.DescribeDBClusterBacktracksRequest(input)
  5010  	return out, req.Send()
  5011  }
  5012  
  5013  // DescribeDBClusterBacktracksWithContext is the same as DescribeDBClusterBacktracks with the addition of
  5014  // the ability to pass a context and additional request options.
  5015  //
  5016  // See DescribeDBClusterBacktracks for details on how to use this API operation.
  5017  //
  5018  // The context must be non-nil and will be used for request cancellation. If
  5019  // the context is nil a panic will occur. In the future the SDK may create
  5020  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5021  // for more information on using Contexts.
  5022  func (c *RDS) DescribeDBClusterBacktracksWithContext(ctx aws.Context, input *DescribeDBClusterBacktracksInput, opts ...request.Option) (*DescribeDBClusterBacktracksOutput, error) {
  5023  	req, out := c.DescribeDBClusterBacktracksRequest(input)
  5024  	req.SetContext(ctx)
  5025  	req.ApplyOptions(opts...)
  5026  	return out, req.Send()
  5027  }
  5028  
  5029  // DescribeDBClusterBacktracksPages iterates over the pages of a DescribeDBClusterBacktracks operation,
  5030  // calling the "fn" function with the response data for each page. To stop
  5031  // iterating, return false from the fn function.
  5032  //
  5033  // See DescribeDBClusterBacktracks method for more information on how to use this operation.
  5034  //
  5035  // Note: This operation can generate multiple requests to a service.
  5036  //
  5037  //    // Example iterating over at most 3 pages of a DescribeDBClusterBacktracks operation.
  5038  //    pageNum := 0
  5039  //    err := client.DescribeDBClusterBacktracksPages(params,
  5040  //        func(page *rds.DescribeDBClusterBacktracksOutput, lastPage bool) bool {
  5041  //            pageNum++
  5042  //            fmt.Println(page)
  5043  //            return pageNum <= 3
  5044  //        })
  5045  //
  5046  func (c *RDS) DescribeDBClusterBacktracksPages(input *DescribeDBClusterBacktracksInput, fn func(*DescribeDBClusterBacktracksOutput, bool) bool) error {
  5047  	return c.DescribeDBClusterBacktracksPagesWithContext(aws.BackgroundContext(), input, fn)
  5048  }
  5049  
  5050  // DescribeDBClusterBacktracksPagesWithContext same as DescribeDBClusterBacktracksPages except
  5051  // it takes a Context and allows setting request options on the pages.
  5052  //
  5053  // The context must be non-nil and will be used for request cancellation. If
  5054  // the context is nil a panic will occur. In the future the SDK may create
  5055  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5056  // for more information on using Contexts.
  5057  func (c *RDS) DescribeDBClusterBacktracksPagesWithContext(ctx aws.Context, input *DescribeDBClusterBacktracksInput, fn func(*DescribeDBClusterBacktracksOutput, bool) bool, opts ...request.Option) error {
  5058  	p := request.Pagination{
  5059  		NewRequest: func() (*request.Request, error) {
  5060  			var inCpy *DescribeDBClusterBacktracksInput
  5061  			if input != nil {
  5062  				tmp := *input
  5063  				inCpy = &tmp
  5064  			}
  5065  			req, _ := c.DescribeDBClusterBacktracksRequest(inCpy)
  5066  			req.SetContext(ctx)
  5067  			req.ApplyOptions(opts...)
  5068  			return req, nil
  5069  		},
  5070  	}
  5071  
  5072  	for p.Next() {
  5073  		if !fn(p.Page().(*DescribeDBClusterBacktracksOutput), !p.HasNextPage()) {
  5074  			break
  5075  		}
  5076  	}
  5077  
  5078  	return p.Err()
  5079  }
  5080  
  5081  const opDescribeDBClusterEndpoints = "DescribeDBClusterEndpoints"
  5082  
  5083  // DescribeDBClusterEndpointsRequest generates a "aws/request.Request" representing the
  5084  // client's request for the DescribeDBClusterEndpoints operation. The "output" return
  5085  // value will be populated with the request's response once the request completes
  5086  // successfully.
  5087  //
  5088  // Use "Send" method on the returned Request to send the API call to the service.
  5089  // the "output" return value is not valid until after Send returns without error.
  5090  //
  5091  // See DescribeDBClusterEndpoints for more information on using the DescribeDBClusterEndpoints
  5092  // API call, and error handling.
  5093  //
  5094  // This method is useful when you want to inject custom logic or configuration
  5095  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5096  //
  5097  //
  5098  //    // Example sending a request using the DescribeDBClusterEndpointsRequest method.
  5099  //    req, resp := client.DescribeDBClusterEndpointsRequest(params)
  5100  //
  5101  //    err := req.Send()
  5102  //    if err == nil { // resp is now filled
  5103  //        fmt.Println(resp)
  5104  //    }
  5105  //
  5106  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterEndpoints
  5107  func (c *RDS) DescribeDBClusterEndpointsRequest(input *DescribeDBClusterEndpointsInput) (req *request.Request, output *DescribeDBClusterEndpointsOutput) {
  5108  	op := &request.Operation{
  5109  		Name:       opDescribeDBClusterEndpoints,
  5110  		HTTPMethod: "POST",
  5111  		HTTPPath:   "/",
  5112  		Paginator: &request.Paginator{
  5113  			InputTokens:     []string{"Marker"},
  5114  			OutputTokens:    []string{"Marker"},
  5115  			LimitToken:      "MaxRecords",
  5116  			TruncationToken: "",
  5117  		},
  5118  	}
  5119  
  5120  	if input == nil {
  5121  		input = &DescribeDBClusterEndpointsInput{}
  5122  	}
  5123  
  5124  	output = &DescribeDBClusterEndpointsOutput{}
  5125  	req = c.newRequest(op, input, output)
  5126  	return
  5127  }
  5128  
  5129  // DescribeDBClusterEndpoints API operation for Amazon Relational Database Service.
  5130  //
  5131  // Returns information about endpoints for an Amazon Aurora DB cluster.
  5132  //
  5133  // This action only applies to Aurora DB clusters.
  5134  //
  5135  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5136  // with awserr.Error's Code and Message methods to get detailed information about
  5137  // the error.
  5138  //
  5139  // See the AWS API reference guide for Amazon Relational Database Service's
  5140  // API operation DescribeDBClusterEndpoints for usage and error information.
  5141  //
  5142  // Returned Error Codes:
  5143  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
  5144  //   DBClusterIdentifier doesn't refer to an existing DB cluster.
  5145  //
  5146  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterEndpoints
  5147  func (c *RDS) DescribeDBClusterEndpoints(input *DescribeDBClusterEndpointsInput) (*DescribeDBClusterEndpointsOutput, error) {
  5148  	req, out := c.DescribeDBClusterEndpointsRequest(input)
  5149  	return out, req.Send()
  5150  }
  5151  
  5152  // DescribeDBClusterEndpointsWithContext is the same as DescribeDBClusterEndpoints with the addition of
  5153  // the ability to pass a context and additional request options.
  5154  //
  5155  // See DescribeDBClusterEndpoints for details on how to use this API operation.
  5156  //
  5157  // The context must be non-nil and will be used for request cancellation. If
  5158  // the context is nil a panic will occur. In the future the SDK may create
  5159  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5160  // for more information on using Contexts.
  5161  func (c *RDS) DescribeDBClusterEndpointsWithContext(ctx aws.Context, input *DescribeDBClusterEndpointsInput, opts ...request.Option) (*DescribeDBClusterEndpointsOutput, error) {
  5162  	req, out := c.DescribeDBClusterEndpointsRequest(input)
  5163  	req.SetContext(ctx)
  5164  	req.ApplyOptions(opts...)
  5165  	return out, req.Send()
  5166  }
  5167  
  5168  // DescribeDBClusterEndpointsPages iterates over the pages of a DescribeDBClusterEndpoints operation,
  5169  // calling the "fn" function with the response data for each page. To stop
  5170  // iterating, return false from the fn function.
  5171  //
  5172  // See DescribeDBClusterEndpoints method for more information on how to use this operation.
  5173  //
  5174  // Note: This operation can generate multiple requests to a service.
  5175  //
  5176  //    // Example iterating over at most 3 pages of a DescribeDBClusterEndpoints operation.
  5177  //    pageNum := 0
  5178  //    err := client.DescribeDBClusterEndpointsPages(params,
  5179  //        func(page *rds.DescribeDBClusterEndpointsOutput, lastPage bool) bool {
  5180  //            pageNum++
  5181  //            fmt.Println(page)
  5182  //            return pageNum <= 3
  5183  //        })
  5184  //
  5185  func (c *RDS) DescribeDBClusterEndpointsPages(input *DescribeDBClusterEndpointsInput, fn func(*DescribeDBClusterEndpointsOutput, bool) bool) error {
  5186  	return c.DescribeDBClusterEndpointsPagesWithContext(aws.BackgroundContext(), input, fn)
  5187  }
  5188  
  5189  // DescribeDBClusterEndpointsPagesWithContext same as DescribeDBClusterEndpointsPages except
  5190  // it takes a Context and allows setting request options on the pages.
  5191  //
  5192  // The context must be non-nil and will be used for request cancellation. If
  5193  // the context is nil a panic will occur. In the future the SDK may create
  5194  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5195  // for more information on using Contexts.
  5196  func (c *RDS) DescribeDBClusterEndpointsPagesWithContext(ctx aws.Context, input *DescribeDBClusterEndpointsInput, fn func(*DescribeDBClusterEndpointsOutput, bool) bool, opts ...request.Option) error {
  5197  	p := request.Pagination{
  5198  		NewRequest: func() (*request.Request, error) {
  5199  			var inCpy *DescribeDBClusterEndpointsInput
  5200  			if input != nil {
  5201  				tmp := *input
  5202  				inCpy = &tmp
  5203  			}
  5204  			req, _ := c.DescribeDBClusterEndpointsRequest(inCpy)
  5205  			req.SetContext(ctx)
  5206  			req.ApplyOptions(opts...)
  5207  			return req, nil
  5208  		},
  5209  	}
  5210  
  5211  	for p.Next() {
  5212  		if !fn(p.Page().(*DescribeDBClusterEndpointsOutput), !p.HasNextPage()) {
  5213  			break
  5214  		}
  5215  	}
  5216  
  5217  	return p.Err()
  5218  }
  5219  
  5220  const opDescribeDBClusterParameterGroups = "DescribeDBClusterParameterGroups"
  5221  
  5222  // DescribeDBClusterParameterGroupsRequest generates a "aws/request.Request" representing the
  5223  // client's request for the DescribeDBClusterParameterGroups operation. The "output" return
  5224  // value will be populated with the request's response once the request completes
  5225  // successfully.
  5226  //
  5227  // Use "Send" method on the returned Request to send the API call to the service.
  5228  // the "output" return value is not valid until after Send returns without error.
  5229  //
  5230  // See DescribeDBClusterParameterGroups for more information on using the DescribeDBClusterParameterGroups
  5231  // API call, and error handling.
  5232  //
  5233  // This method is useful when you want to inject custom logic or configuration
  5234  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5235  //
  5236  //
  5237  //    // Example sending a request using the DescribeDBClusterParameterGroupsRequest method.
  5238  //    req, resp := client.DescribeDBClusterParameterGroupsRequest(params)
  5239  //
  5240  //    err := req.Send()
  5241  //    if err == nil { // resp is now filled
  5242  //        fmt.Println(resp)
  5243  //    }
  5244  //
  5245  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterParameterGroups
  5246  func (c *RDS) DescribeDBClusterParameterGroupsRequest(input *DescribeDBClusterParameterGroupsInput) (req *request.Request, output *DescribeDBClusterParameterGroupsOutput) {
  5247  	op := &request.Operation{
  5248  		Name:       opDescribeDBClusterParameterGroups,
  5249  		HTTPMethod: "POST",
  5250  		HTTPPath:   "/",
  5251  		Paginator: &request.Paginator{
  5252  			InputTokens:     []string{"Marker"},
  5253  			OutputTokens:    []string{"Marker"},
  5254  			LimitToken:      "MaxRecords",
  5255  			TruncationToken: "",
  5256  		},
  5257  	}
  5258  
  5259  	if input == nil {
  5260  		input = &DescribeDBClusterParameterGroupsInput{}
  5261  	}
  5262  
  5263  	output = &DescribeDBClusterParameterGroupsOutput{}
  5264  	req = c.newRequest(op, input, output)
  5265  	return
  5266  }
  5267  
  5268  // DescribeDBClusterParameterGroups API operation for Amazon Relational Database Service.
  5269  //
  5270  // Returns a list of DBClusterParameterGroup descriptions. If a DBClusterParameterGroupName
  5271  // parameter is specified, the list will contain only the description of the
  5272  // specified DB cluster parameter group.
  5273  //
  5274  // For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
  5275  // in the Amazon Aurora User Guide.
  5276  //
  5277  // This action only applies to Aurora DB clusters.
  5278  //
  5279  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5280  // with awserr.Error's Code and Message methods to get detailed information about
  5281  // the error.
  5282  //
  5283  // See the AWS API reference guide for Amazon Relational Database Service's
  5284  // API operation DescribeDBClusterParameterGroups for usage and error information.
  5285  //
  5286  // Returned Error Codes:
  5287  //   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
  5288  //   DBParameterGroupName doesn't refer to an existing DB parameter group.
  5289  //
  5290  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterParameterGroups
  5291  func (c *RDS) DescribeDBClusterParameterGroups(input *DescribeDBClusterParameterGroupsInput) (*DescribeDBClusterParameterGroupsOutput, error) {
  5292  	req, out := c.DescribeDBClusterParameterGroupsRequest(input)
  5293  	return out, req.Send()
  5294  }
  5295  
  5296  // DescribeDBClusterParameterGroupsWithContext is the same as DescribeDBClusterParameterGroups with the addition of
  5297  // the ability to pass a context and additional request options.
  5298  //
  5299  // See DescribeDBClusterParameterGroups for details on how to use this API operation.
  5300  //
  5301  // The context must be non-nil and will be used for request cancellation. If
  5302  // the context is nil a panic will occur. In the future the SDK may create
  5303  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5304  // for more information on using Contexts.
  5305  func (c *RDS) DescribeDBClusterParameterGroupsWithContext(ctx aws.Context, input *DescribeDBClusterParameterGroupsInput, opts ...request.Option) (*DescribeDBClusterParameterGroupsOutput, error) {
  5306  	req, out := c.DescribeDBClusterParameterGroupsRequest(input)
  5307  	req.SetContext(ctx)
  5308  	req.ApplyOptions(opts...)
  5309  	return out, req.Send()
  5310  }
  5311  
  5312  // DescribeDBClusterParameterGroupsPages iterates over the pages of a DescribeDBClusterParameterGroups operation,
  5313  // calling the "fn" function with the response data for each page. To stop
  5314  // iterating, return false from the fn function.
  5315  //
  5316  // See DescribeDBClusterParameterGroups method for more information on how to use this operation.
  5317  //
  5318  // Note: This operation can generate multiple requests to a service.
  5319  //
  5320  //    // Example iterating over at most 3 pages of a DescribeDBClusterParameterGroups operation.
  5321  //    pageNum := 0
  5322  //    err := client.DescribeDBClusterParameterGroupsPages(params,
  5323  //        func(page *rds.DescribeDBClusterParameterGroupsOutput, lastPage bool) bool {
  5324  //            pageNum++
  5325  //            fmt.Println(page)
  5326  //            return pageNum <= 3
  5327  //        })
  5328  //
  5329  func (c *RDS) DescribeDBClusterParameterGroupsPages(input *DescribeDBClusterParameterGroupsInput, fn func(*DescribeDBClusterParameterGroupsOutput, bool) bool) error {
  5330  	return c.DescribeDBClusterParameterGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
  5331  }
  5332  
  5333  // DescribeDBClusterParameterGroupsPagesWithContext same as DescribeDBClusterParameterGroupsPages except
  5334  // it takes a Context and allows setting request options on the pages.
  5335  //
  5336  // The context must be non-nil and will be used for request cancellation. If
  5337  // the context is nil a panic will occur. In the future the SDK may create
  5338  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5339  // for more information on using Contexts.
  5340  func (c *RDS) DescribeDBClusterParameterGroupsPagesWithContext(ctx aws.Context, input *DescribeDBClusterParameterGroupsInput, fn func(*DescribeDBClusterParameterGroupsOutput, bool) bool, opts ...request.Option) error {
  5341  	p := request.Pagination{
  5342  		NewRequest: func() (*request.Request, error) {
  5343  			var inCpy *DescribeDBClusterParameterGroupsInput
  5344  			if input != nil {
  5345  				tmp := *input
  5346  				inCpy = &tmp
  5347  			}
  5348  			req, _ := c.DescribeDBClusterParameterGroupsRequest(inCpy)
  5349  			req.SetContext(ctx)
  5350  			req.ApplyOptions(opts...)
  5351  			return req, nil
  5352  		},
  5353  	}
  5354  
  5355  	for p.Next() {
  5356  		if !fn(p.Page().(*DescribeDBClusterParameterGroupsOutput), !p.HasNextPage()) {
  5357  			break
  5358  		}
  5359  	}
  5360  
  5361  	return p.Err()
  5362  }
  5363  
  5364  const opDescribeDBClusterParameters = "DescribeDBClusterParameters"
  5365  
  5366  // DescribeDBClusterParametersRequest generates a "aws/request.Request" representing the
  5367  // client's request for the DescribeDBClusterParameters operation. The "output" return
  5368  // value will be populated with the request's response once the request completes
  5369  // successfully.
  5370  //
  5371  // Use "Send" method on the returned Request to send the API call to the service.
  5372  // the "output" return value is not valid until after Send returns without error.
  5373  //
  5374  // See DescribeDBClusterParameters for more information on using the DescribeDBClusterParameters
  5375  // API call, and error handling.
  5376  //
  5377  // This method is useful when you want to inject custom logic or configuration
  5378  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5379  //
  5380  //
  5381  //    // Example sending a request using the DescribeDBClusterParametersRequest method.
  5382  //    req, resp := client.DescribeDBClusterParametersRequest(params)
  5383  //
  5384  //    err := req.Send()
  5385  //    if err == nil { // resp is now filled
  5386  //        fmt.Println(resp)
  5387  //    }
  5388  //
  5389  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterParameters
  5390  func (c *RDS) DescribeDBClusterParametersRequest(input *DescribeDBClusterParametersInput) (req *request.Request, output *DescribeDBClusterParametersOutput) {
  5391  	op := &request.Operation{
  5392  		Name:       opDescribeDBClusterParameters,
  5393  		HTTPMethod: "POST",
  5394  		HTTPPath:   "/",
  5395  		Paginator: &request.Paginator{
  5396  			InputTokens:     []string{"Marker"},
  5397  			OutputTokens:    []string{"Marker"},
  5398  			LimitToken:      "MaxRecords",
  5399  			TruncationToken: "",
  5400  		},
  5401  	}
  5402  
  5403  	if input == nil {
  5404  		input = &DescribeDBClusterParametersInput{}
  5405  	}
  5406  
  5407  	output = &DescribeDBClusterParametersOutput{}
  5408  	req = c.newRequest(op, input, output)
  5409  	return
  5410  }
  5411  
  5412  // DescribeDBClusterParameters API operation for Amazon Relational Database Service.
  5413  //
  5414  // Returns the detailed parameter list for a particular DB cluster parameter
  5415  // group.
  5416  //
  5417  // For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
  5418  // in the Amazon Aurora User Guide.
  5419  //
  5420  // This action only applies to Aurora DB clusters.
  5421  //
  5422  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5423  // with awserr.Error's Code and Message methods to get detailed information about
  5424  // the error.
  5425  //
  5426  // See the AWS API reference guide for Amazon Relational Database Service's
  5427  // API operation DescribeDBClusterParameters for usage and error information.
  5428  //
  5429  // Returned Error Codes:
  5430  //   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
  5431  //   DBParameterGroupName doesn't refer to an existing DB parameter group.
  5432  //
  5433  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterParameters
  5434  func (c *RDS) DescribeDBClusterParameters(input *DescribeDBClusterParametersInput) (*DescribeDBClusterParametersOutput, error) {
  5435  	req, out := c.DescribeDBClusterParametersRequest(input)
  5436  	return out, req.Send()
  5437  }
  5438  
  5439  // DescribeDBClusterParametersWithContext is the same as DescribeDBClusterParameters with the addition of
  5440  // the ability to pass a context and additional request options.
  5441  //
  5442  // See DescribeDBClusterParameters for details on how to use this API operation.
  5443  //
  5444  // The context must be non-nil and will be used for request cancellation. If
  5445  // the context is nil a panic will occur. In the future the SDK may create
  5446  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5447  // for more information on using Contexts.
  5448  func (c *RDS) DescribeDBClusterParametersWithContext(ctx aws.Context, input *DescribeDBClusterParametersInput, opts ...request.Option) (*DescribeDBClusterParametersOutput, error) {
  5449  	req, out := c.DescribeDBClusterParametersRequest(input)
  5450  	req.SetContext(ctx)
  5451  	req.ApplyOptions(opts...)
  5452  	return out, req.Send()
  5453  }
  5454  
  5455  // DescribeDBClusterParametersPages iterates over the pages of a DescribeDBClusterParameters operation,
  5456  // calling the "fn" function with the response data for each page. To stop
  5457  // iterating, return false from the fn function.
  5458  //
  5459  // See DescribeDBClusterParameters method for more information on how to use this operation.
  5460  //
  5461  // Note: This operation can generate multiple requests to a service.
  5462  //
  5463  //    // Example iterating over at most 3 pages of a DescribeDBClusterParameters operation.
  5464  //    pageNum := 0
  5465  //    err := client.DescribeDBClusterParametersPages(params,
  5466  //        func(page *rds.DescribeDBClusterParametersOutput, lastPage bool) bool {
  5467  //            pageNum++
  5468  //            fmt.Println(page)
  5469  //            return pageNum <= 3
  5470  //        })
  5471  //
  5472  func (c *RDS) DescribeDBClusterParametersPages(input *DescribeDBClusterParametersInput, fn func(*DescribeDBClusterParametersOutput, bool) bool) error {
  5473  	return c.DescribeDBClusterParametersPagesWithContext(aws.BackgroundContext(), input, fn)
  5474  }
  5475  
  5476  // DescribeDBClusterParametersPagesWithContext same as DescribeDBClusterParametersPages except
  5477  // it takes a Context and allows setting request options on the pages.
  5478  //
  5479  // The context must be non-nil and will be used for request cancellation. If
  5480  // the context is nil a panic will occur. In the future the SDK may create
  5481  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5482  // for more information on using Contexts.
  5483  func (c *RDS) DescribeDBClusterParametersPagesWithContext(ctx aws.Context, input *DescribeDBClusterParametersInput, fn func(*DescribeDBClusterParametersOutput, bool) bool, opts ...request.Option) error {
  5484  	p := request.Pagination{
  5485  		NewRequest: func() (*request.Request, error) {
  5486  			var inCpy *DescribeDBClusterParametersInput
  5487  			if input != nil {
  5488  				tmp := *input
  5489  				inCpy = &tmp
  5490  			}
  5491  			req, _ := c.DescribeDBClusterParametersRequest(inCpy)
  5492  			req.SetContext(ctx)
  5493  			req.ApplyOptions(opts...)
  5494  			return req, nil
  5495  		},
  5496  	}
  5497  
  5498  	for p.Next() {
  5499  		if !fn(p.Page().(*DescribeDBClusterParametersOutput), !p.HasNextPage()) {
  5500  			break
  5501  		}
  5502  	}
  5503  
  5504  	return p.Err()
  5505  }
  5506  
  5507  const opDescribeDBClusterSnapshotAttributes = "DescribeDBClusterSnapshotAttributes"
  5508  
  5509  // DescribeDBClusterSnapshotAttributesRequest generates a "aws/request.Request" representing the
  5510  // client's request for the DescribeDBClusterSnapshotAttributes operation. The "output" return
  5511  // value will be populated with the request's response once the request completes
  5512  // successfully.
  5513  //
  5514  // Use "Send" method on the returned Request to send the API call to the service.
  5515  // the "output" return value is not valid until after Send returns without error.
  5516  //
  5517  // See DescribeDBClusterSnapshotAttributes for more information on using the DescribeDBClusterSnapshotAttributes
  5518  // API call, and error handling.
  5519  //
  5520  // This method is useful when you want to inject custom logic or configuration
  5521  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5522  //
  5523  //
  5524  //    // Example sending a request using the DescribeDBClusterSnapshotAttributesRequest method.
  5525  //    req, resp := client.DescribeDBClusterSnapshotAttributesRequest(params)
  5526  //
  5527  //    err := req.Send()
  5528  //    if err == nil { // resp is now filled
  5529  //        fmt.Println(resp)
  5530  //    }
  5531  //
  5532  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterSnapshotAttributes
  5533  func (c *RDS) DescribeDBClusterSnapshotAttributesRequest(input *DescribeDBClusterSnapshotAttributesInput) (req *request.Request, output *DescribeDBClusterSnapshotAttributesOutput) {
  5534  	op := &request.Operation{
  5535  		Name:       opDescribeDBClusterSnapshotAttributes,
  5536  		HTTPMethod: "POST",
  5537  		HTTPPath:   "/",
  5538  	}
  5539  
  5540  	if input == nil {
  5541  		input = &DescribeDBClusterSnapshotAttributesInput{}
  5542  	}
  5543  
  5544  	output = &DescribeDBClusterSnapshotAttributesOutput{}
  5545  	req = c.newRequest(op, input, output)
  5546  	return
  5547  }
  5548  
  5549  // DescribeDBClusterSnapshotAttributes API operation for Amazon Relational Database Service.
  5550  //
  5551  // Returns a list of DB cluster snapshot attribute names and values for a manual
  5552  // DB cluster snapshot.
  5553  //
  5554  // When sharing snapshots with other Amazon Web Services accounts, DescribeDBClusterSnapshotAttributes
  5555  // returns the restore attribute and a list of IDs for the Amazon Web Services
  5556  // accounts that are authorized to copy or restore the manual DB cluster snapshot.
  5557  // If all is included in the list of values for the restore attribute, then
  5558  // the manual DB cluster snapshot is public and can be copied or restored by
  5559  // all Amazon Web Services accounts.
  5560  //
  5561  // To add or remove access for an Amazon Web Services account to copy or restore
  5562  // a manual DB cluster snapshot, or to make the manual DB cluster snapshot public
  5563  // or private, use the ModifyDBClusterSnapshotAttribute API action.
  5564  //
  5565  // This action only applies to Aurora DB clusters.
  5566  //
  5567  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5568  // with awserr.Error's Code and Message methods to get detailed information about
  5569  // the error.
  5570  //
  5571  // See the AWS API reference guide for Amazon Relational Database Service's
  5572  // API operation DescribeDBClusterSnapshotAttributes for usage and error information.
  5573  //
  5574  // Returned Error Codes:
  5575  //   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
  5576  //   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
  5577  //
  5578  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterSnapshotAttributes
  5579  func (c *RDS) DescribeDBClusterSnapshotAttributes(input *DescribeDBClusterSnapshotAttributesInput) (*DescribeDBClusterSnapshotAttributesOutput, error) {
  5580  	req, out := c.DescribeDBClusterSnapshotAttributesRequest(input)
  5581  	return out, req.Send()
  5582  }
  5583  
  5584  // DescribeDBClusterSnapshotAttributesWithContext is the same as DescribeDBClusterSnapshotAttributes with the addition of
  5585  // the ability to pass a context and additional request options.
  5586  //
  5587  // See DescribeDBClusterSnapshotAttributes for details on how to use this API operation.
  5588  //
  5589  // The context must be non-nil and will be used for request cancellation. If
  5590  // the context is nil a panic will occur. In the future the SDK may create
  5591  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5592  // for more information on using Contexts.
  5593  func (c *RDS) DescribeDBClusterSnapshotAttributesWithContext(ctx aws.Context, input *DescribeDBClusterSnapshotAttributesInput, opts ...request.Option) (*DescribeDBClusterSnapshotAttributesOutput, error) {
  5594  	req, out := c.DescribeDBClusterSnapshotAttributesRequest(input)
  5595  	req.SetContext(ctx)
  5596  	req.ApplyOptions(opts...)
  5597  	return out, req.Send()
  5598  }
  5599  
  5600  const opDescribeDBClusterSnapshots = "DescribeDBClusterSnapshots"
  5601  
  5602  // DescribeDBClusterSnapshotsRequest generates a "aws/request.Request" representing the
  5603  // client's request for the DescribeDBClusterSnapshots operation. The "output" return
  5604  // value will be populated with the request's response once the request completes
  5605  // successfully.
  5606  //
  5607  // Use "Send" method on the returned Request to send the API call to the service.
  5608  // the "output" return value is not valid until after Send returns without error.
  5609  //
  5610  // See DescribeDBClusterSnapshots for more information on using the DescribeDBClusterSnapshots
  5611  // API call, and error handling.
  5612  //
  5613  // This method is useful when you want to inject custom logic or configuration
  5614  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5615  //
  5616  //
  5617  //    // Example sending a request using the DescribeDBClusterSnapshotsRequest method.
  5618  //    req, resp := client.DescribeDBClusterSnapshotsRequest(params)
  5619  //
  5620  //    err := req.Send()
  5621  //    if err == nil { // resp is now filled
  5622  //        fmt.Println(resp)
  5623  //    }
  5624  //
  5625  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterSnapshots
  5626  func (c *RDS) DescribeDBClusterSnapshotsRequest(input *DescribeDBClusterSnapshotsInput) (req *request.Request, output *DescribeDBClusterSnapshotsOutput) {
  5627  	op := &request.Operation{
  5628  		Name:       opDescribeDBClusterSnapshots,
  5629  		HTTPMethod: "POST",
  5630  		HTTPPath:   "/",
  5631  		Paginator: &request.Paginator{
  5632  			InputTokens:     []string{"Marker"},
  5633  			OutputTokens:    []string{"Marker"},
  5634  			LimitToken:      "MaxRecords",
  5635  			TruncationToken: "",
  5636  		},
  5637  	}
  5638  
  5639  	if input == nil {
  5640  		input = &DescribeDBClusterSnapshotsInput{}
  5641  	}
  5642  
  5643  	output = &DescribeDBClusterSnapshotsOutput{}
  5644  	req = c.newRequest(op, input, output)
  5645  	return
  5646  }
  5647  
  5648  // DescribeDBClusterSnapshots API operation for Amazon Relational Database Service.
  5649  //
  5650  // Returns information about DB cluster snapshots. This API action supports
  5651  // pagination.
  5652  //
  5653  // For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
  5654  // in the Amazon Aurora User Guide.
  5655  //
  5656  // This action only applies to Aurora DB clusters.
  5657  //
  5658  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5659  // with awserr.Error's Code and Message methods to get detailed information about
  5660  // the error.
  5661  //
  5662  // See the AWS API reference guide for Amazon Relational Database Service's
  5663  // API operation DescribeDBClusterSnapshots for usage and error information.
  5664  //
  5665  // Returned Error Codes:
  5666  //   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
  5667  //   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
  5668  //
  5669  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterSnapshots
  5670  func (c *RDS) DescribeDBClusterSnapshots(input *DescribeDBClusterSnapshotsInput) (*DescribeDBClusterSnapshotsOutput, error) {
  5671  	req, out := c.DescribeDBClusterSnapshotsRequest(input)
  5672  	return out, req.Send()
  5673  }
  5674  
  5675  // DescribeDBClusterSnapshotsWithContext is the same as DescribeDBClusterSnapshots with the addition of
  5676  // the ability to pass a context and additional request options.
  5677  //
  5678  // See DescribeDBClusterSnapshots for details on how to use this API operation.
  5679  //
  5680  // The context must be non-nil and will be used for request cancellation. If
  5681  // the context is nil a panic will occur. In the future the SDK may create
  5682  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5683  // for more information on using Contexts.
  5684  func (c *RDS) DescribeDBClusterSnapshotsWithContext(ctx aws.Context, input *DescribeDBClusterSnapshotsInput, opts ...request.Option) (*DescribeDBClusterSnapshotsOutput, error) {
  5685  	req, out := c.DescribeDBClusterSnapshotsRequest(input)
  5686  	req.SetContext(ctx)
  5687  	req.ApplyOptions(opts...)
  5688  	return out, req.Send()
  5689  }
  5690  
  5691  // DescribeDBClusterSnapshotsPages iterates over the pages of a DescribeDBClusterSnapshots operation,
  5692  // calling the "fn" function with the response data for each page. To stop
  5693  // iterating, return false from the fn function.
  5694  //
  5695  // See DescribeDBClusterSnapshots method for more information on how to use this operation.
  5696  //
  5697  // Note: This operation can generate multiple requests to a service.
  5698  //
  5699  //    // Example iterating over at most 3 pages of a DescribeDBClusterSnapshots operation.
  5700  //    pageNum := 0
  5701  //    err := client.DescribeDBClusterSnapshotsPages(params,
  5702  //        func(page *rds.DescribeDBClusterSnapshotsOutput, lastPage bool) bool {
  5703  //            pageNum++
  5704  //            fmt.Println(page)
  5705  //            return pageNum <= 3
  5706  //        })
  5707  //
  5708  func (c *RDS) DescribeDBClusterSnapshotsPages(input *DescribeDBClusterSnapshotsInput, fn func(*DescribeDBClusterSnapshotsOutput, bool) bool) error {
  5709  	return c.DescribeDBClusterSnapshotsPagesWithContext(aws.BackgroundContext(), input, fn)
  5710  }
  5711  
  5712  // DescribeDBClusterSnapshotsPagesWithContext same as DescribeDBClusterSnapshotsPages except
  5713  // it takes a Context and allows setting request options on the pages.
  5714  //
  5715  // The context must be non-nil and will be used for request cancellation. If
  5716  // the context is nil a panic will occur. In the future the SDK may create
  5717  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5718  // for more information on using Contexts.
  5719  func (c *RDS) DescribeDBClusterSnapshotsPagesWithContext(ctx aws.Context, input *DescribeDBClusterSnapshotsInput, fn func(*DescribeDBClusterSnapshotsOutput, bool) bool, opts ...request.Option) error {
  5720  	p := request.Pagination{
  5721  		NewRequest: func() (*request.Request, error) {
  5722  			var inCpy *DescribeDBClusterSnapshotsInput
  5723  			if input != nil {
  5724  				tmp := *input
  5725  				inCpy = &tmp
  5726  			}
  5727  			req, _ := c.DescribeDBClusterSnapshotsRequest(inCpy)
  5728  			req.SetContext(ctx)
  5729  			req.ApplyOptions(opts...)
  5730  			return req, nil
  5731  		},
  5732  	}
  5733  
  5734  	for p.Next() {
  5735  		if !fn(p.Page().(*DescribeDBClusterSnapshotsOutput), !p.HasNextPage()) {
  5736  			break
  5737  		}
  5738  	}
  5739  
  5740  	return p.Err()
  5741  }
  5742  
  5743  const opDescribeDBClusters = "DescribeDBClusters"
  5744  
  5745  // DescribeDBClustersRequest generates a "aws/request.Request" representing the
  5746  // client's request for the DescribeDBClusters operation. The "output" return
  5747  // value will be populated with the request's response once the request completes
  5748  // successfully.
  5749  //
  5750  // Use "Send" method on the returned Request to send the API call to the service.
  5751  // the "output" return value is not valid until after Send returns without error.
  5752  //
  5753  // See DescribeDBClusters for more information on using the DescribeDBClusters
  5754  // API call, and error handling.
  5755  //
  5756  // This method is useful when you want to inject custom logic or configuration
  5757  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5758  //
  5759  //
  5760  //    // Example sending a request using the DescribeDBClustersRequest method.
  5761  //    req, resp := client.DescribeDBClustersRequest(params)
  5762  //
  5763  //    err := req.Send()
  5764  //    if err == nil { // resp is now filled
  5765  //        fmt.Println(resp)
  5766  //    }
  5767  //
  5768  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusters
  5769  func (c *RDS) DescribeDBClustersRequest(input *DescribeDBClustersInput) (req *request.Request, output *DescribeDBClustersOutput) {
  5770  	op := &request.Operation{
  5771  		Name:       opDescribeDBClusters,
  5772  		HTTPMethod: "POST",
  5773  		HTTPPath:   "/",
  5774  		Paginator: &request.Paginator{
  5775  			InputTokens:     []string{"Marker"},
  5776  			OutputTokens:    []string{"Marker"},
  5777  			LimitToken:      "MaxRecords",
  5778  			TruncationToken: "",
  5779  		},
  5780  	}
  5781  
  5782  	if input == nil {
  5783  		input = &DescribeDBClustersInput{}
  5784  	}
  5785  
  5786  	output = &DescribeDBClustersOutput{}
  5787  	req = c.newRequest(op, input, output)
  5788  	return
  5789  }
  5790  
  5791  // DescribeDBClusters API operation for Amazon Relational Database Service.
  5792  //
  5793  // Returns information about provisioned Aurora DB clusters. This API supports
  5794  // pagination.
  5795  //
  5796  // For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
  5797  // in the Amazon Aurora User Guide.
  5798  //
  5799  // This operation can also return information for Amazon Neptune DB instances
  5800  // and Amazon DocumentDB instances.
  5801  //
  5802  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5803  // with awserr.Error's Code and Message methods to get detailed information about
  5804  // the error.
  5805  //
  5806  // See the AWS API reference guide for Amazon Relational Database Service's
  5807  // API operation DescribeDBClusters for usage and error information.
  5808  //
  5809  // Returned Error Codes:
  5810  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
  5811  //   DBClusterIdentifier doesn't refer to an existing DB cluster.
  5812  //
  5813  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusters
  5814  func (c *RDS) DescribeDBClusters(input *DescribeDBClustersInput) (*DescribeDBClustersOutput, error) {
  5815  	req, out := c.DescribeDBClustersRequest(input)
  5816  	return out, req.Send()
  5817  }
  5818  
  5819  // DescribeDBClustersWithContext is the same as DescribeDBClusters with the addition of
  5820  // the ability to pass a context and additional request options.
  5821  //
  5822  // See DescribeDBClusters for details on how to use this API operation.
  5823  //
  5824  // The context must be non-nil and will be used for request cancellation. If
  5825  // the context is nil a panic will occur. In the future the SDK may create
  5826  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5827  // for more information on using Contexts.
  5828  func (c *RDS) DescribeDBClustersWithContext(ctx aws.Context, input *DescribeDBClustersInput, opts ...request.Option) (*DescribeDBClustersOutput, error) {
  5829  	req, out := c.DescribeDBClustersRequest(input)
  5830  	req.SetContext(ctx)
  5831  	req.ApplyOptions(opts...)
  5832  	return out, req.Send()
  5833  }
  5834  
  5835  // DescribeDBClustersPages iterates over the pages of a DescribeDBClusters operation,
  5836  // calling the "fn" function with the response data for each page. To stop
  5837  // iterating, return false from the fn function.
  5838  //
  5839  // See DescribeDBClusters method for more information on how to use this operation.
  5840  //
  5841  // Note: This operation can generate multiple requests to a service.
  5842  //
  5843  //    // Example iterating over at most 3 pages of a DescribeDBClusters operation.
  5844  //    pageNum := 0
  5845  //    err := client.DescribeDBClustersPages(params,
  5846  //        func(page *rds.DescribeDBClustersOutput, lastPage bool) bool {
  5847  //            pageNum++
  5848  //            fmt.Println(page)
  5849  //            return pageNum <= 3
  5850  //        })
  5851  //
  5852  func (c *RDS) DescribeDBClustersPages(input *DescribeDBClustersInput, fn func(*DescribeDBClustersOutput, bool) bool) error {
  5853  	return c.DescribeDBClustersPagesWithContext(aws.BackgroundContext(), input, fn)
  5854  }
  5855  
  5856  // DescribeDBClustersPagesWithContext same as DescribeDBClustersPages except
  5857  // it takes a Context and allows setting request options on the pages.
  5858  //
  5859  // The context must be non-nil and will be used for request cancellation. If
  5860  // the context is nil a panic will occur. In the future the SDK may create
  5861  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5862  // for more information on using Contexts.
  5863  func (c *RDS) DescribeDBClustersPagesWithContext(ctx aws.Context, input *DescribeDBClustersInput, fn func(*DescribeDBClustersOutput, bool) bool, opts ...request.Option) error {
  5864  	p := request.Pagination{
  5865  		NewRequest: func() (*request.Request, error) {
  5866  			var inCpy *DescribeDBClustersInput
  5867  			if input != nil {
  5868  				tmp := *input
  5869  				inCpy = &tmp
  5870  			}
  5871  			req, _ := c.DescribeDBClustersRequest(inCpy)
  5872  			req.SetContext(ctx)
  5873  			req.ApplyOptions(opts...)
  5874  			return req, nil
  5875  		},
  5876  	}
  5877  
  5878  	for p.Next() {
  5879  		if !fn(p.Page().(*DescribeDBClustersOutput), !p.HasNextPage()) {
  5880  			break
  5881  		}
  5882  	}
  5883  
  5884  	return p.Err()
  5885  }
  5886  
  5887  const opDescribeDBEngineVersions = "DescribeDBEngineVersions"
  5888  
  5889  // DescribeDBEngineVersionsRequest generates a "aws/request.Request" representing the
  5890  // client's request for the DescribeDBEngineVersions operation. The "output" return
  5891  // value will be populated with the request's response once the request completes
  5892  // successfully.
  5893  //
  5894  // Use "Send" method on the returned Request to send the API call to the service.
  5895  // the "output" return value is not valid until after Send returns without error.
  5896  //
  5897  // See DescribeDBEngineVersions for more information on using the DescribeDBEngineVersions
  5898  // API call, and error handling.
  5899  //
  5900  // This method is useful when you want to inject custom logic or configuration
  5901  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5902  //
  5903  //
  5904  //    // Example sending a request using the DescribeDBEngineVersionsRequest method.
  5905  //    req, resp := client.DescribeDBEngineVersionsRequest(params)
  5906  //
  5907  //    err := req.Send()
  5908  //    if err == nil { // resp is now filled
  5909  //        fmt.Println(resp)
  5910  //    }
  5911  //
  5912  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBEngineVersions
  5913  func (c *RDS) DescribeDBEngineVersionsRequest(input *DescribeDBEngineVersionsInput) (req *request.Request, output *DescribeDBEngineVersionsOutput) {
  5914  	op := &request.Operation{
  5915  		Name:       opDescribeDBEngineVersions,
  5916  		HTTPMethod: "POST",
  5917  		HTTPPath:   "/",
  5918  		Paginator: &request.Paginator{
  5919  			InputTokens:     []string{"Marker"},
  5920  			OutputTokens:    []string{"Marker"},
  5921  			LimitToken:      "MaxRecords",
  5922  			TruncationToken: "",
  5923  		},
  5924  	}
  5925  
  5926  	if input == nil {
  5927  		input = &DescribeDBEngineVersionsInput{}
  5928  	}
  5929  
  5930  	output = &DescribeDBEngineVersionsOutput{}
  5931  	req = c.newRequest(op, input, output)
  5932  	return
  5933  }
  5934  
  5935  // DescribeDBEngineVersions API operation for Amazon Relational Database Service.
  5936  //
  5937  // Returns a list of the available DB engines.
  5938  //
  5939  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5940  // with awserr.Error's Code and Message methods to get detailed information about
  5941  // the error.
  5942  //
  5943  // See the AWS API reference guide for Amazon Relational Database Service's
  5944  // API operation DescribeDBEngineVersions for usage and error information.
  5945  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBEngineVersions
  5946  func (c *RDS) DescribeDBEngineVersions(input *DescribeDBEngineVersionsInput) (*DescribeDBEngineVersionsOutput, error) {
  5947  	req, out := c.DescribeDBEngineVersionsRequest(input)
  5948  	return out, req.Send()
  5949  }
  5950  
  5951  // DescribeDBEngineVersionsWithContext is the same as DescribeDBEngineVersions with the addition of
  5952  // the ability to pass a context and additional request options.
  5953  //
  5954  // See DescribeDBEngineVersions for details on how to use this API operation.
  5955  //
  5956  // The context must be non-nil and will be used for request cancellation. If
  5957  // the context is nil a panic will occur. In the future the SDK may create
  5958  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5959  // for more information on using Contexts.
  5960  func (c *RDS) DescribeDBEngineVersionsWithContext(ctx aws.Context, input *DescribeDBEngineVersionsInput, opts ...request.Option) (*DescribeDBEngineVersionsOutput, error) {
  5961  	req, out := c.DescribeDBEngineVersionsRequest(input)
  5962  	req.SetContext(ctx)
  5963  	req.ApplyOptions(opts...)
  5964  	return out, req.Send()
  5965  }
  5966  
  5967  // DescribeDBEngineVersionsPages iterates over the pages of a DescribeDBEngineVersions operation,
  5968  // calling the "fn" function with the response data for each page. To stop
  5969  // iterating, return false from the fn function.
  5970  //
  5971  // See DescribeDBEngineVersions method for more information on how to use this operation.
  5972  //
  5973  // Note: This operation can generate multiple requests to a service.
  5974  //
  5975  //    // Example iterating over at most 3 pages of a DescribeDBEngineVersions operation.
  5976  //    pageNum := 0
  5977  //    err := client.DescribeDBEngineVersionsPages(params,
  5978  //        func(page *rds.DescribeDBEngineVersionsOutput, lastPage bool) bool {
  5979  //            pageNum++
  5980  //            fmt.Println(page)
  5981  //            return pageNum <= 3
  5982  //        })
  5983  //
  5984  func (c *RDS) DescribeDBEngineVersionsPages(input *DescribeDBEngineVersionsInput, fn func(*DescribeDBEngineVersionsOutput, bool) bool) error {
  5985  	return c.DescribeDBEngineVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
  5986  }
  5987  
  5988  // DescribeDBEngineVersionsPagesWithContext same as DescribeDBEngineVersionsPages except
  5989  // it takes a Context and allows setting request options on the pages.
  5990  //
  5991  // The context must be non-nil and will be used for request cancellation. If
  5992  // the context is nil a panic will occur. In the future the SDK may create
  5993  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5994  // for more information on using Contexts.
  5995  func (c *RDS) DescribeDBEngineVersionsPagesWithContext(ctx aws.Context, input *DescribeDBEngineVersionsInput, fn func(*DescribeDBEngineVersionsOutput, bool) bool, opts ...request.Option) error {
  5996  	p := request.Pagination{
  5997  		NewRequest: func() (*request.Request, error) {
  5998  			var inCpy *DescribeDBEngineVersionsInput
  5999  			if input != nil {
  6000  				tmp := *input
  6001  				inCpy = &tmp
  6002  			}
  6003  			req, _ := c.DescribeDBEngineVersionsRequest(inCpy)
  6004  			req.SetContext(ctx)
  6005  			req.ApplyOptions(opts...)
  6006  			return req, nil
  6007  		},
  6008  	}
  6009  
  6010  	for p.Next() {
  6011  		if !fn(p.Page().(*DescribeDBEngineVersionsOutput), !p.HasNextPage()) {
  6012  			break
  6013  		}
  6014  	}
  6015  
  6016  	return p.Err()
  6017  }
  6018  
  6019  const opDescribeDBInstanceAutomatedBackups = "DescribeDBInstanceAutomatedBackups"
  6020  
  6021  // DescribeDBInstanceAutomatedBackupsRequest generates a "aws/request.Request" representing the
  6022  // client's request for the DescribeDBInstanceAutomatedBackups operation. The "output" return
  6023  // value will be populated with the request's response once the request completes
  6024  // successfully.
  6025  //
  6026  // Use "Send" method on the returned Request to send the API call to the service.
  6027  // the "output" return value is not valid until after Send returns without error.
  6028  //
  6029  // See DescribeDBInstanceAutomatedBackups for more information on using the DescribeDBInstanceAutomatedBackups
  6030  // API call, and error handling.
  6031  //
  6032  // This method is useful when you want to inject custom logic or configuration
  6033  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6034  //
  6035  //
  6036  //    // Example sending a request using the DescribeDBInstanceAutomatedBackupsRequest method.
  6037  //    req, resp := client.DescribeDBInstanceAutomatedBackupsRequest(params)
  6038  //
  6039  //    err := req.Send()
  6040  //    if err == nil { // resp is now filled
  6041  //        fmt.Println(resp)
  6042  //    }
  6043  //
  6044  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBInstanceAutomatedBackups
  6045  func (c *RDS) DescribeDBInstanceAutomatedBackupsRequest(input *DescribeDBInstanceAutomatedBackupsInput) (req *request.Request, output *DescribeDBInstanceAutomatedBackupsOutput) {
  6046  	op := &request.Operation{
  6047  		Name:       opDescribeDBInstanceAutomatedBackups,
  6048  		HTTPMethod: "POST",
  6049  		HTTPPath:   "/",
  6050  		Paginator: &request.Paginator{
  6051  			InputTokens:     []string{"Marker"},
  6052  			OutputTokens:    []string{"Marker"},
  6053  			LimitToken:      "MaxRecords",
  6054  			TruncationToken: "",
  6055  		},
  6056  	}
  6057  
  6058  	if input == nil {
  6059  		input = &DescribeDBInstanceAutomatedBackupsInput{}
  6060  	}
  6061  
  6062  	output = &DescribeDBInstanceAutomatedBackupsOutput{}
  6063  	req = c.newRequest(op, input, output)
  6064  	return
  6065  }
  6066  
  6067  // DescribeDBInstanceAutomatedBackups API operation for Amazon Relational Database Service.
  6068  //
  6069  // Displays backups for both current and deleted instances. For example, use
  6070  // this operation to find details about automated backups for previously deleted
  6071  // instances. Current instances with retention periods greater than zero (0)
  6072  // are returned for both the DescribeDBInstanceAutomatedBackups and DescribeDBInstances
  6073  // operations.
  6074  //
  6075  // All parameters are optional.
  6076  //
  6077  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6078  // with awserr.Error's Code and Message methods to get detailed information about
  6079  // the error.
  6080  //
  6081  // See the AWS API reference guide for Amazon Relational Database Service's
  6082  // API operation DescribeDBInstanceAutomatedBackups for usage and error information.
  6083  //
  6084  // Returned Error Codes:
  6085  //   * ErrCodeDBInstanceAutomatedBackupNotFoundFault "DBInstanceAutomatedBackupNotFound"
  6086  //   No automated backup for this DB instance was found.
  6087  //
  6088  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBInstanceAutomatedBackups
  6089  func (c *RDS) DescribeDBInstanceAutomatedBackups(input *DescribeDBInstanceAutomatedBackupsInput) (*DescribeDBInstanceAutomatedBackupsOutput, error) {
  6090  	req, out := c.DescribeDBInstanceAutomatedBackupsRequest(input)
  6091  	return out, req.Send()
  6092  }
  6093  
  6094  // DescribeDBInstanceAutomatedBackupsWithContext is the same as DescribeDBInstanceAutomatedBackups with the addition of
  6095  // the ability to pass a context and additional request options.
  6096  //
  6097  // See DescribeDBInstanceAutomatedBackups for details on how to use this API operation.
  6098  //
  6099  // The context must be non-nil and will be used for request cancellation. If
  6100  // the context is nil a panic will occur. In the future the SDK may create
  6101  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6102  // for more information on using Contexts.
  6103  func (c *RDS) DescribeDBInstanceAutomatedBackupsWithContext(ctx aws.Context, input *DescribeDBInstanceAutomatedBackupsInput, opts ...request.Option) (*DescribeDBInstanceAutomatedBackupsOutput, error) {
  6104  	req, out := c.DescribeDBInstanceAutomatedBackupsRequest(input)
  6105  	req.SetContext(ctx)
  6106  	req.ApplyOptions(opts...)
  6107  	return out, req.Send()
  6108  }
  6109  
  6110  // DescribeDBInstanceAutomatedBackupsPages iterates over the pages of a DescribeDBInstanceAutomatedBackups operation,
  6111  // calling the "fn" function with the response data for each page. To stop
  6112  // iterating, return false from the fn function.
  6113  //
  6114  // See DescribeDBInstanceAutomatedBackups method for more information on how to use this operation.
  6115  //
  6116  // Note: This operation can generate multiple requests to a service.
  6117  //
  6118  //    // Example iterating over at most 3 pages of a DescribeDBInstanceAutomatedBackups operation.
  6119  //    pageNum := 0
  6120  //    err := client.DescribeDBInstanceAutomatedBackupsPages(params,
  6121  //        func(page *rds.DescribeDBInstanceAutomatedBackupsOutput, lastPage bool) bool {
  6122  //            pageNum++
  6123  //            fmt.Println(page)
  6124  //            return pageNum <= 3
  6125  //        })
  6126  //
  6127  func (c *RDS) DescribeDBInstanceAutomatedBackupsPages(input *DescribeDBInstanceAutomatedBackupsInput, fn func(*DescribeDBInstanceAutomatedBackupsOutput, bool) bool) error {
  6128  	return c.DescribeDBInstanceAutomatedBackupsPagesWithContext(aws.BackgroundContext(), input, fn)
  6129  }
  6130  
  6131  // DescribeDBInstanceAutomatedBackupsPagesWithContext same as DescribeDBInstanceAutomatedBackupsPages except
  6132  // it takes a Context and allows setting request options on the pages.
  6133  //
  6134  // The context must be non-nil and will be used for request cancellation. If
  6135  // the context is nil a panic will occur. In the future the SDK may create
  6136  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6137  // for more information on using Contexts.
  6138  func (c *RDS) DescribeDBInstanceAutomatedBackupsPagesWithContext(ctx aws.Context, input *DescribeDBInstanceAutomatedBackupsInput, fn func(*DescribeDBInstanceAutomatedBackupsOutput, bool) bool, opts ...request.Option) error {
  6139  	p := request.Pagination{
  6140  		NewRequest: func() (*request.Request, error) {
  6141  			var inCpy *DescribeDBInstanceAutomatedBackupsInput
  6142  			if input != nil {
  6143  				tmp := *input
  6144  				inCpy = &tmp
  6145  			}
  6146  			req, _ := c.DescribeDBInstanceAutomatedBackupsRequest(inCpy)
  6147  			req.SetContext(ctx)
  6148  			req.ApplyOptions(opts...)
  6149  			return req, nil
  6150  		},
  6151  	}
  6152  
  6153  	for p.Next() {
  6154  		if !fn(p.Page().(*DescribeDBInstanceAutomatedBackupsOutput), !p.HasNextPage()) {
  6155  			break
  6156  		}
  6157  	}
  6158  
  6159  	return p.Err()
  6160  }
  6161  
  6162  const opDescribeDBInstances = "DescribeDBInstances"
  6163  
  6164  // DescribeDBInstancesRequest generates a "aws/request.Request" representing the
  6165  // client's request for the DescribeDBInstances operation. The "output" return
  6166  // value will be populated with the request's response once the request completes
  6167  // successfully.
  6168  //
  6169  // Use "Send" method on the returned Request to send the API call to the service.
  6170  // the "output" return value is not valid until after Send returns without error.
  6171  //
  6172  // See DescribeDBInstances for more information on using the DescribeDBInstances
  6173  // API call, and error handling.
  6174  //
  6175  // This method is useful when you want to inject custom logic or configuration
  6176  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6177  //
  6178  //
  6179  //    // Example sending a request using the DescribeDBInstancesRequest method.
  6180  //    req, resp := client.DescribeDBInstancesRequest(params)
  6181  //
  6182  //    err := req.Send()
  6183  //    if err == nil { // resp is now filled
  6184  //        fmt.Println(resp)
  6185  //    }
  6186  //
  6187  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBInstances
  6188  func (c *RDS) DescribeDBInstancesRequest(input *DescribeDBInstancesInput) (req *request.Request, output *DescribeDBInstancesOutput) {
  6189  	op := &request.Operation{
  6190  		Name:       opDescribeDBInstances,
  6191  		HTTPMethod: "POST",
  6192  		HTTPPath:   "/",
  6193  		Paginator: &request.Paginator{
  6194  			InputTokens:     []string{"Marker"},
  6195  			OutputTokens:    []string{"Marker"},
  6196  			LimitToken:      "MaxRecords",
  6197  			TruncationToken: "",
  6198  		},
  6199  	}
  6200  
  6201  	if input == nil {
  6202  		input = &DescribeDBInstancesInput{}
  6203  	}
  6204  
  6205  	output = &DescribeDBInstancesOutput{}
  6206  	req = c.newRequest(op, input, output)
  6207  	return
  6208  }
  6209  
  6210  // DescribeDBInstances API operation for Amazon Relational Database Service.
  6211  //
  6212  // Returns information about provisioned RDS instances. This API supports pagination.
  6213  //
  6214  // This operation can also return information for Amazon Neptune DB instances
  6215  // and Amazon DocumentDB instances.
  6216  //
  6217  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6218  // with awserr.Error's Code and Message methods to get detailed information about
  6219  // the error.
  6220  //
  6221  // See the AWS API reference guide for Amazon Relational Database Service's
  6222  // API operation DescribeDBInstances for usage and error information.
  6223  //
  6224  // Returned Error Codes:
  6225  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
  6226  //   DBInstanceIdentifier doesn't refer to an existing DB instance.
  6227  //
  6228  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBInstances
  6229  func (c *RDS) DescribeDBInstances(input *DescribeDBInstancesInput) (*DescribeDBInstancesOutput, error) {
  6230  	req, out := c.DescribeDBInstancesRequest(input)
  6231  	return out, req.Send()
  6232  }
  6233  
  6234  // DescribeDBInstancesWithContext is the same as DescribeDBInstances with the addition of
  6235  // the ability to pass a context and additional request options.
  6236  //
  6237  // See DescribeDBInstances for details on how to use this API operation.
  6238  //
  6239  // The context must be non-nil and will be used for request cancellation. If
  6240  // the context is nil a panic will occur. In the future the SDK may create
  6241  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6242  // for more information on using Contexts.
  6243  func (c *RDS) DescribeDBInstancesWithContext(ctx aws.Context, input *DescribeDBInstancesInput, opts ...request.Option) (*DescribeDBInstancesOutput, error) {
  6244  	req, out := c.DescribeDBInstancesRequest(input)
  6245  	req.SetContext(ctx)
  6246  	req.ApplyOptions(opts...)
  6247  	return out, req.Send()
  6248  }
  6249  
  6250  // DescribeDBInstancesPages iterates over the pages of a DescribeDBInstances operation,
  6251  // calling the "fn" function with the response data for each page. To stop
  6252  // iterating, return false from the fn function.
  6253  //
  6254  // See DescribeDBInstances method for more information on how to use this operation.
  6255  //
  6256  // Note: This operation can generate multiple requests to a service.
  6257  //
  6258  //    // Example iterating over at most 3 pages of a DescribeDBInstances operation.
  6259  //    pageNum := 0
  6260  //    err := client.DescribeDBInstancesPages(params,
  6261  //        func(page *rds.DescribeDBInstancesOutput, lastPage bool) bool {
  6262  //            pageNum++
  6263  //            fmt.Println(page)
  6264  //            return pageNum <= 3
  6265  //        })
  6266  //
  6267  func (c *RDS) DescribeDBInstancesPages(input *DescribeDBInstancesInput, fn func(*DescribeDBInstancesOutput, bool) bool) error {
  6268  	return c.DescribeDBInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
  6269  }
  6270  
  6271  // DescribeDBInstancesPagesWithContext same as DescribeDBInstancesPages except
  6272  // it takes a Context and allows setting request options on the pages.
  6273  //
  6274  // The context must be non-nil and will be used for request cancellation. If
  6275  // the context is nil a panic will occur. In the future the SDK may create
  6276  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6277  // for more information on using Contexts.
  6278  func (c *RDS) DescribeDBInstancesPagesWithContext(ctx aws.Context, input *DescribeDBInstancesInput, fn func(*DescribeDBInstancesOutput, bool) bool, opts ...request.Option) error {
  6279  	p := request.Pagination{
  6280  		NewRequest: func() (*request.Request, error) {
  6281  			var inCpy *DescribeDBInstancesInput
  6282  			if input != nil {
  6283  				tmp := *input
  6284  				inCpy = &tmp
  6285  			}
  6286  			req, _ := c.DescribeDBInstancesRequest(inCpy)
  6287  			req.SetContext(ctx)
  6288  			req.ApplyOptions(opts...)
  6289  			return req, nil
  6290  		},
  6291  	}
  6292  
  6293  	for p.Next() {
  6294  		if !fn(p.Page().(*DescribeDBInstancesOutput), !p.HasNextPage()) {
  6295  			break
  6296  		}
  6297  	}
  6298  
  6299  	return p.Err()
  6300  }
  6301  
  6302  const opDescribeDBLogFiles = "DescribeDBLogFiles"
  6303  
  6304  // DescribeDBLogFilesRequest generates a "aws/request.Request" representing the
  6305  // client's request for the DescribeDBLogFiles operation. The "output" return
  6306  // value will be populated with the request's response once the request completes
  6307  // successfully.
  6308  //
  6309  // Use "Send" method on the returned Request to send the API call to the service.
  6310  // the "output" return value is not valid until after Send returns without error.
  6311  //
  6312  // See DescribeDBLogFiles for more information on using the DescribeDBLogFiles
  6313  // API call, and error handling.
  6314  //
  6315  // This method is useful when you want to inject custom logic or configuration
  6316  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6317  //
  6318  //
  6319  //    // Example sending a request using the DescribeDBLogFilesRequest method.
  6320  //    req, resp := client.DescribeDBLogFilesRequest(params)
  6321  //
  6322  //    err := req.Send()
  6323  //    if err == nil { // resp is now filled
  6324  //        fmt.Println(resp)
  6325  //    }
  6326  //
  6327  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBLogFiles
  6328  func (c *RDS) DescribeDBLogFilesRequest(input *DescribeDBLogFilesInput) (req *request.Request, output *DescribeDBLogFilesOutput) {
  6329  	op := &request.Operation{
  6330  		Name:       opDescribeDBLogFiles,
  6331  		HTTPMethod: "POST",
  6332  		HTTPPath:   "/",
  6333  		Paginator: &request.Paginator{
  6334  			InputTokens:     []string{"Marker"},
  6335  			OutputTokens:    []string{"Marker"},
  6336  			LimitToken:      "MaxRecords",
  6337  			TruncationToken: "",
  6338  		},
  6339  	}
  6340  
  6341  	if input == nil {
  6342  		input = &DescribeDBLogFilesInput{}
  6343  	}
  6344  
  6345  	output = &DescribeDBLogFilesOutput{}
  6346  	req = c.newRequest(op, input, output)
  6347  	return
  6348  }
  6349  
  6350  // DescribeDBLogFiles API operation for Amazon Relational Database Service.
  6351  //
  6352  // Returns a list of DB log files for the DB instance.
  6353  //
  6354  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6355  // with awserr.Error's Code and Message methods to get detailed information about
  6356  // the error.
  6357  //
  6358  // See the AWS API reference guide for Amazon Relational Database Service's
  6359  // API operation DescribeDBLogFiles for usage and error information.
  6360  //
  6361  // Returned Error Codes:
  6362  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
  6363  //   DBInstanceIdentifier doesn't refer to an existing DB instance.
  6364  //
  6365  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBLogFiles
  6366  func (c *RDS) DescribeDBLogFiles(input *DescribeDBLogFilesInput) (*DescribeDBLogFilesOutput, error) {
  6367  	req, out := c.DescribeDBLogFilesRequest(input)
  6368  	return out, req.Send()
  6369  }
  6370  
  6371  // DescribeDBLogFilesWithContext is the same as DescribeDBLogFiles with the addition of
  6372  // the ability to pass a context and additional request options.
  6373  //
  6374  // See DescribeDBLogFiles for details on how to use this API operation.
  6375  //
  6376  // The context must be non-nil and will be used for request cancellation. If
  6377  // the context is nil a panic will occur. In the future the SDK may create
  6378  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6379  // for more information on using Contexts.
  6380  func (c *RDS) DescribeDBLogFilesWithContext(ctx aws.Context, input *DescribeDBLogFilesInput, opts ...request.Option) (*DescribeDBLogFilesOutput, error) {
  6381  	req, out := c.DescribeDBLogFilesRequest(input)
  6382  	req.SetContext(ctx)
  6383  	req.ApplyOptions(opts...)
  6384  	return out, req.Send()
  6385  }
  6386  
  6387  // DescribeDBLogFilesPages iterates over the pages of a DescribeDBLogFiles operation,
  6388  // calling the "fn" function with the response data for each page. To stop
  6389  // iterating, return false from the fn function.
  6390  //
  6391  // See DescribeDBLogFiles method for more information on how to use this operation.
  6392  //
  6393  // Note: This operation can generate multiple requests to a service.
  6394  //
  6395  //    // Example iterating over at most 3 pages of a DescribeDBLogFiles operation.
  6396  //    pageNum := 0
  6397  //    err := client.DescribeDBLogFilesPages(params,
  6398  //        func(page *rds.DescribeDBLogFilesOutput, lastPage bool) bool {
  6399  //            pageNum++
  6400  //            fmt.Println(page)
  6401  //            return pageNum <= 3
  6402  //        })
  6403  //
  6404  func (c *RDS) DescribeDBLogFilesPages(input *DescribeDBLogFilesInput, fn func(*DescribeDBLogFilesOutput, bool) bool) error {
  6405  	return c.DescribeDBLogFilesPagesWithContext(aws.BackgroundContext(), input, fn)
  6406  }
  6407  
  6408  // DescribeDBLogFilesPagesWithContext same as DescribeDBLogFilesPages except
  6409  // it takes a Context and allows setting request options on the pages.
  6410  //
  6411  // The context must be non-nil and will be used for request cancellation. If
  6412  // the context is nil a panic will occur. In the future the SDK may create
  6413  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6414  // for more information on using Contexts.
  6415  func (c *RDS) DescribeDBLogFilesPagesWithContext(ctx aws.Context, input *DescribeDBLogFilesInput, fn func(*DescribeDBLogFilesOutput, bool) bool, opts ...request.Option) error {
  6416  	p := request.Pagination{
  6417  		NewRequest: func() (*request.Request, error) {
  6418  			var inCpy *DescribeDBLogFilesInput
  6419  			if input != nil {
  6420  				tmp := *input
  6421  				inCpy = &tmp
  6422  			}
  6423  			req, _ := c.DescribeDBLogFilesRequest(inCpy)
  6424  			req.SetContext(ctx)
  6425  			req.ApplyOptions(opts...)
  6426  			return req, nil
  6427  		},
  6428  	}
  6429  
  6430  	for p.Next() {
  6431  		if !fn(p.Page().(*DescribeDBLogFilesOutput), !p.HasNextPage()) {
  6432  			break
  6433  		}
  6434  	}
  6435  
  6436  	return p.Err()
  6437  }
  6438  
  6439  const opDescribeDBParameterGroups = "DescribeDBParameterGroups"
  6440  
  6441  // DescribeDBParameterGroupsRequest generates a "aws/request.Request" representing the
  6442  // client's request for the DescribeDBParameterGroups operation. The "output" return
  6443  // value will be populated with the request's response once the request completes
  6444  // successfully.
  6445  //
  6446  // Use "Send" method on the returned Request to send the API call to the service.
  6447  // the "output" return value is not valid until after Send returns without error.
  6448  //
  6449  // See DescribeDBParameterGroups for more information on using the DescribeDBParameterGroups
  6450  // API call, and error handling.
  6451  //
  6452  // This method is useful when you want to inject custom logic or configuration
  6453  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6454  //
  6455  //
  6456  //    // Example sending a request using the DescribeDBParameterGroupsRequest method.
  6457  //    req, resp := client.DescribeDBParameterGroupsRequest(params)
  6458  //
  6459  //    err := req.Send()
  6460  //    if err == nil { // resp is now filled
  6461  //        fmt.Println(resp)
  6462  //    }
  6463  //
  6464  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBParameterGroups
  6465  func (c *RDS) DescribeDBParameterGroupsRequest(input *DescribeDBParameterGroupsInput) (req *request.Request, output *DescribeDBParameterGroupsOutput) {
  6466  	op := &request.Operation{
  6467  		Name:       opDescribeDBParameterGroups,
  6468  		HTTPMethod: "POST",
  6469  		HTTPPath:   "/",
  6470  		Paginator: &request.Paginator{
  6471  			InputTokens:     []string{"Marker"},
  6472  			OutputTokens:    []string{"Marker"},
  6473  			LimitToken:      "MaxRecords",
  6474  			TruncationToken: "",
  6475  		},
  6476  	}
  6477  
  6478  	if input == nil {
  6479  		input = &DescribeDBParameterGroupsInput{}
  6480  	}
  6481  
  6482  	output = &DescribeDBParameterGroupsOutput{}
  6483  	req = c.newRequest(op, input, output)
  6484  	return
  6485  }
  6486  
  6487  // DescribeDBParameterGroups API operation for Amazon Relational Database Service.
  6488  //
  6489  // Returns a list of DBParameterGroup descriptions. If a DBParameterGroupName
  6490  // is specified, the list will contain only the description of the specified
  6491  // DB parameter group.
  6492  //
  6493  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6494  // with awserr.Error's Code and Message methods to get detailed information about
  6495  // the error.
  6496  //
  6497  // See the AWS API reference guide for Amazon Relational Database Service's
  6498  // API operation DescribeDBParameterGroups for usage and error information.
  6499  //
  6500  // Returned Error Codes:
  6501  //   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
  6502  //   DBParameterGroupName doesn't refer to an existing DB parameter group.
  6503  //
  6504  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBParameterGroups
  6505  func (c *RDS) DescribeDBParameterGroups(input *DescribeDBParameterGroupsInput) (*DescribeDBParameterGroupsOutput, error) {
  6506  	req, out := c.DescribeDBParameterGroupsRequest(input)
  6507  	return out, req.Send()
  6508  }
  6509  
  6510  // DescribeDBParameterGroupsWithContext is the same as DescribeDBParameterGroups with the addition of
  6511  // the ability to pass a context and additional request options.
  6512  //
  6513  // See DescribeDBParameterGroups for details on how to use this API operation.
  6514  //
  6515  // The context must be non-nil and will be used for request cancellation. If
  6516  // the context is nil a panic will occur. In the future the SDK may create
  6517  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6518  // for more information on using Contexts.
  6519  func (c *RDS) DescribeDBParameterGroupsWithContext(ctx aws.Context, input *DescribeDBParameterGroupsInput, opts ...request.Option) (*DescribeDBParameterGroupsOutput, error) {
  6520  	req, out := c.DescribeDBParameterGroupsRequest(input)
  6521  	req.SetContext(ctx)
  6522  	req.ApplyOptions(opts...)
  6523  	return out, req.Send()
  6524  }
  6525  
  6526  // DescribeDBParameterGroupsPages iterates over the pages of a DescribeDBParameterGroups operation,
  6527  // calling the "fn" function with the response data for each page. To stop
  6528  // iterating, return false from the fn function.
  6529  //
  6530  // See DescribeDBParameterGroups method for more information on how to use this operation.
  6531  //
  6532  // Note: This operation can generate multiple requests to a service.
  6533  //
  6534  //    // Example iterating over at most 3 pages of a DescribeDBParameterGroups operation.
  6535  //    pageNum := 0
  6536  //    err := client.DescribeDBParameterGroupsPages(params,
  6537  //        func(page *rds.DescribeDBParameterGroupsOutput, lastPage bool) bool {
  6538  //            pageNum++
  6539  //            fmt.Println(page)
  6540  //            return pageNum <= 3
  6541  //        })
  6542  //
  6543  func (c *RDS) DescribeDBParameterGroupsPages(input *DescribeDBParameterGroupsInput, fn func(*DescribeDBParameterGroupsOutput, bool) bool) error {
  6544  	return c.DescribeDBParameterGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
  6545  }
  6546  
  6547  // DescribeDBParameterGroupsPagesWithContext same as DescribeDBParameterGroupsPages except
  6548  // it takes a Context and allows setting request options on the pages.
  6549  //
  6550  // The context must be non-nil and will be used for request cancellation. If
  6551  // the context is nil a panic will occur. In the future the SDK may create
  6552  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6553  // for more information on using Contexts.
  6554  func (c *RDS) DescribeDBParameterGroupsPagesWithContext(ctx aws.Context, input *DescribeDBParameterGroupsInput, fn func(*DescribeDBParameterGroupsOutput, bool) bool, opts ...request.Option) error {
  6555  	p := request.Pagination{
  6556  		NewRequest: func() (*request.Request, error) {
  6557  			var inCpy *DescribeDBParameterGroupsInput
  6558  			if input != nil {
  6559  				tmp := *input
  6560  				inCpy = &tmp
  6561  			}
  6562  			req, _ := c.DescribeDBParameterGroupsRequest(inCpy)
  6563  			req.SetContext(ctx)
  6564  			req.ApplyOptions(opts...)
  6565  			return req, nil
  6566  		},
  6567  	}
  6568  
  6569  	for p.Next() {
  6570  		if !fn(p.Page().(*DescribeDBParameterGroupsOutput), !p.HasNextPage()) {
  6571  			break
  6572  		}
  6573  	}
  6574  
  6575  	return p.Err()
  6576  }
  6577  
  6578  const opDescribeDBParameters = "DescribeDBParameters"
  6579  
  6580  // DescribeDBParametersRequest generates a "aws/request.Request" representing the
  6581  // client's request for the DescribeDBParameters operation. The "output" return
  6582  // value will be populated with the request's response once the request completes
  6583  // successfully.
  6584  //
  6585  // Use "Send" method on the returned Request to send the API call to the service.
  6586  // the "output" return value is not valid until after Send returns without error.
  6587  //
  6588  // See DescribeDBParameters for more information on using the DescribeDBParameters
  6589  // API call, and error handling.
  6590  //
  6591  // This method is useful when you want to inject custom logic or configuration
  6592  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6593  //
  6594  //
  6595  //    // Example sending a request using the DescribeDBParametersRequest method.
  6596  //    req, resp := client.DescribeDBParametersRequest(params)
  6597  //
  6598  //    err := req.Send()
  6599  //    if err == nil { // resp is now filled
  6600  //        fmt.Println(resp)
  6601  //    }
  6602  //
  6603  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBParameters
  6604  func (c *RDS) DescribeDBParametersRequest(input *DescribeDBParametersInput) (req *request.Request, output *DescribeDBParametersOutput) {
  6605  	op := &request.Operation{
  6606  		Name:       opDescribeDBParameters,
  6607  		HTTPMethod: "POST",
  6608  		HTTPPath:   "/",
  6609  		Paginator: &request.Paginator{
  6610  			InputTokens:     []string{"Marker"},
  6611  			OutputTokens:    []string{"Marker"},
  6612  			LimitToken:      "MaxRecords",
  6613  			TruncationToken: "",
  6614  		},
  6615  	}
  6616  
  6617  	if input == nil {
  6618  		input = &DescribeDBParametersInput{}
  6619  	}
  6620  
  6621  	output = &DescribeDBParametersOutput{}
  6622  	req = c.newRequest(op, input, output)
  6623  	return
  6624  }
  6625  
  6626  // DescribeDBParameters API operation for Amazon Relational Database Service.
  6627  //
  6628  // Returns the detailed parameter list for a particular DB parameter group.
  6629  //
  6630  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6631  // with awserr.Error's Code and Message methods to get detailed information about
  6632  // the error.
  6633  //
  6634  // See the AWS API reference guide for Amazon Relational Database Service's
  6635  // API operation DescribeDBParameters for usage and error information.
  6636  //
  6637  // Returned Error Codes:
  6638  //   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
  6639  //   DBParameterGroupName doesn't refer to an existing DB parameter group.
  6640  //
  6641  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBParameters
  6642  func (c *RDS) DescribeDBParameters(input *DescribeDBParametersInput) (*DescribeDBParametersOutput, error) {
  6643  	req, out := c.DescribeDBParametersRequest(input)
  6644  	return out, req.Send()
  6645  }
  6646  
  6647  // DescribeDBParametersWithContext is the same as DescribeDBParameters with the addition of
  6648  // the ability to pass a context and additional request options.
  6649  //
  6650  // See DescribeDBParameters for details on how to use this API operation.
  6651  //
  6652  // The context must be non-nil and will be used for request cancellation. If
  6653  // the context is nil a panic will occur. In the future the SDK may create
  6654  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6655  // for more information on using Contexts.
  6656  func (c *RDS) DescribeDBParametersWithContext(ctx aws.Context, input *DescribeDBParametersInput, opts ...request.Option) (*DescribeDBParametersOutput, error) {
  6657  	req, out := c.DescribeDBParametersRequest(input)
  6658  	req.SetContext(ctx)
  6659  	req.ApplyOptions(opts...)
  6660  	return out, req.Send()
  6661  }
  6662  
  6663  // DescribeDBParametersPages iterates over the pages of a DescribeDBParameters operation,
  6664  // calling the "fn" function with the response data for each page. To stop
  6665  // iterating, return false from the fn function.
  6666  //
  6667  // See DescribeDBParameters method for more information on how to use this operation.
  6668  //
  6669  // Note: This operation can generate multiple requests to a service.
  6670  //
  6671  //    // Example iterating over at most 3 pages of a DescribeDBParameters operation.
  6672  //    pageNum := 0
  6673  //    err := client.DescribeDBParametersPages(params,
  6674  //        func(page *rds.DescribeDBParametersOutput, lastPage bool) bool {
  6675  //            pageNum++
  6676  //            fmt.Println(page)
  6677  //            return pageNum <= 3
  6678  //        })
  6679  //
  6680  func (c *RDS) DescribeDBParametersPages(input *DescribeDBParametersInput, fn func(*DescribeDBParametersOutput, bool) bool) error {
  6681  	return c.DescribeDBParametersPagesWithContext(aws.BackgroundContext(), input, fn)
  6682  }
  6683  
  6684  // DescribeDBParametersPagesWithContext same as DescribeDBParametersPages except
  6685  // it takes a Context and allows setting request options on the pages.
  6686  //
  6687  // The context must be non-nil and will be used for request cancellation. If
  6688  // the context is nil a panic will occur. In the future the SDK may create
  6689  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6690  // for more information on using Contexts.
  6691  func (c *RDS) DescribeDBParametersPagesWithContext(ctx aws.Context, input *DescribeDBParametersInput, fn func(*DescribeDBParametersOutput, bool) bool, opts ...request.Option) error {
  6692  	p := request.Pagination{
  6693  		NewRequest: func() (*request.Request, error) {
  6694  			var inCpy *DescribeDBParametersInput
  6695  			if input != nil {
  6696  				tmp := *input
  6697  				inCpy = &tmp
  6698  			}
  6699  			req, _ := c.DescribeDBParametersRequest(inCpy)
  6700  			req.SetContext(ctx)
  6701  			req.ApplyOptions(opts...)
  6702  			return req, nil
  6703  		},
  6704  	}
  6705  
  6706  	for p.Next() {
  6707  		if !fn(p.Page().(*DescribeDBParametersOutput), !p.HasNextPage()) {
  6708  			break
  6709  		}
  6710  	}
  6711  
  6712  	return p.Err()
  6713  }
  6714  
  6715  const opDescribeDBProxies = "DescribeDBProxies"
  6716  
  6717  // DescribeDBProxiesRequest generates a "aws/request.Request" representing the
  6718  // client's request for the DescribeDBProxies operation. The "output" return
  6719  // value will be populated with the request's response once the request completes
  6720  // successfully.
  6721  //
  6722  // Use "Send" method on the returned Request to send the API call to the service.
  6723  // the "output" return value is not valid until after Send returns without error.
  6724  //
  6725  // See DescribeDBProxies for more information on using the DescribeDBProxies
  6726  // API call, and error handling.
  6727  //
  6728  // This method is useful when you want to inject custom logic or configuration
  6729  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6730  //
  6731  //
  6732  //    // Example sending a request using the DescribeDBProxiesRequest method.
  6733  //    req, resp := client.DescribeDBProxiesRequest(params)
  6734  //
  6735  //    err := req.Send()
  6736  //    if err == nil { // resp is now filled
  6737  //        fmt.Println(resp)
  6738  //    }
  6739  //
  6740  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBProxies
  6741  func (c *RDS) DescribeDBProxiesRequest(input *DescribeDBProxiesInput) (req *request.Request, output *DescribeDBProxiesOutput) {
  6742  	op := &request.Operation{
  6743  		Name:       opDescribeDBProxies,
  6744  		HTTPMethod: "POST",
  6745  		HTTPPath:   "/",
  6746  		Paginator: &request.Paginator{
  6747  			InputTokens:     []string{"Marker"},
  6748  			OutputTokens:    []string{"Marker"},
  6749  			LimitToken:      "MaxRecords",
  6750  			TruncationToken: "",
  6751  		},
  6752  	}
  6753  
  6754  	if input == nil {
  6755  		input = &DescribeDBProxiesInput{}
  6756  	}
  6757  
  6758  	output = &DescribeDBProxiesOutput{}
  6759  	req = c.newRequest(op, input, output)
  6760  	return
  6761  }
  6762  
  6763  // DescribeDBProxies API operation for Amazon Relational Database Service.
  6764  //
  6765  // Returns information about DB proxies.
  6766  //
  6767  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6768  // with awserr.Error's Code and Message methods to get detailed information about
  6769  // the error.
  6770  //
  6771  // See the AWS API reference guide for Amazon Relational Database Service's
  6772  // API operation DescribeDBProxies for usage and error information.
  6773  //
  6774  // Returned Error Codes:
  6775  //   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
  6776  //   The specified proxy name doesn't correspond to a proxy owned by your Amazon
  6777  //   Web Services account in the specified Amazon Web Services Region.
  6778  //
  6779  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBProxies
  6780  func (c *RDS) DescribeDBProxies(input *DescribeDBProxiesInput) (*DescribeDBProxiesOutput, error) {
  6781  	req, out := c.DescribeDBProxiesRequest(input)
  6782  	return out, req.Send()
  6783  }
  6784  
  6785  // DescribeDBProxiesWithContext is the same as DescribeDBProxies with the addition of
  6786  // the ability to pass a context and additional request options.
  6787  //
  6788  // See DescribeDBProxies for details on how to use this API operation.
  6789  //
  6790  // The context must be non-nil and will be used for request cancellation. If
  6791  // the context is nil a panic will occur. In the future the SDK may create
  6792  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6793  // for more information on using Contexts.
  6794  func (c *RDS) DescribeDBProxiesWithContext(ctx aws.Context, input *DescribeDBProxiesInput, opts ...request.Option) (*DescribeDBProxiesOutput, error) {
  6795  	req, out := c.DescribeDBProxiesRequest(input)
  6796  	req.SetContext(ctx)
  6797  	req.ApplyOptions(opts...)
  6798  	return out, req.Send()
  6799  }
  6800  
  6801  // DescribeDBProxiesPages iterates over the pages of a DescribeDBProxies operation,
  6802  // calling the "fn" function with the response data for each page. To stop
  6803  // iterating, return false from the fn function.
  6804  //
  6805  // See DescribeDBProxies method for more information on how to use this operation.
  6806  //
  6807  // Note: This operation can generate multiple requests to a service.
  6808  //
  6809  //    // Example iterating over at most 3 pages of a DescribeDBProxies operation.
  6810  //    pageNum := 0
  6811  //    err := client.DescribeDBProxiesPages(params,
  6812  //        func(page *rds.DescribeDBProxiesOutput, lastPage bool) bool {
  6813  //            pageNum++
  6814  //            fmt.Println(page)
  6815  //            return pageNum <= 3
  6816  //        })
  6817  //
  6818  func (c *RDS) DescribeDBProxiesPages(input *DescribeDBProxiesInput, fn func(*DescribeDBProxiesOutput, bool) bool) error {
  6819  	return c.DescribeDBProxiesPagesWithContext(aws.BackgroundContext(), input, fn)
  6820  }
  6821  
  6822  // DescribeDBProxiesPagesWithContext same as DescribeDBProxiesPages except
  6823  // it takes a Context and allows setting request options on the pages.
  6824  //
  6825  // The context must be non-nil and will be used for request cancellation. If
  6826  // the context is nil a panic will occur. In the future the SDK may create
  6827  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6828  // for more information on using Contexts.
  6829  func (c *RDS) DescribeDBProxiesPagesWithContext(ctx aws.Context, input *DescribeDBProxiesInput, fn func(*DescribeDBProxiesOutput, bool) bool, opts ...request.Option) error {
  6830  	p := request.Pagination{
  6831  		NewRequest: func() (*request.Request, error) {
  6832  			var inCpy *DescribeDBProxiesInput
  6833  			if input != nil {
  6834  				tmp := *input
  6835  				inCpy = &tmp
  6836  			}
  6837  			req, _ := c.DescribeDBProxiesRequest(inCpy)
  6838  			req.SetContext(ctx)
  6839  			req.ApplyOptions(opts...)
  6840  			return req, nil
  6841  		},
  6842  	}
  6843  
  6844  	for p.Next() {
  6845  		if !fn(p.Page().(*DescribeDBProxiesOutput), !p.HasNextPage()) {
  6846  			break
  6847  		}
  6848  	}
  6849  
  6850  	return p.Err()
  6851  }
  6852  
  6853  const opDescribeDBProxyEndpoints = "DescribeDBProxyEndpoints"
  6854  
  6855  // DescribeDBProxyEndpointsRequest generates a "aws/request.Request" representing the
  6856  // client's request for the DescribeDBProxyEndpoints operation. The "output" return
  6857  // value will be populated with the request's response once the request completes
  6858  // successfully.
  6859  //
  6860  // Use "Send" method on the returned Request to send the API call to the service.
  6861  // the "output" return value is not valid until after Send returns without error.
  6862  //
  6863  // See DescribeDBProxyEndpoints for more information on using the DescribeDBProxyEndpoints
  6864  // API call, and error handling.
  6865  //
  6866  // This method is useful when you want to inject custom logic or configuration
  6867  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  6868  //
  6869  //
  6870  //    // Example sending a request using the DescribeDBProxyEndpointsRequest method.
  6871  //    req, resp := client.DescribeDBProxyEndpointsRequest(params)
  6872  //
  6873  //    err := req.Send()
  6874  //    if err == nil { // resp is now filled
  6875  //        fmt.Println(resp)
  6876  //    }
  6877  //
  6878  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBProxyEndpoints
  6879  func (c *RDS) DescribeDBProxyEndpointsRequest(input *DescribeDBProxyEndpointsInput) (req *request.Request, output *DescribeDBProxyEndpointsOutput) {
  6880  	op := &request.Operation{
  6881  		Name:       opDescribeDBProxyEndpoints,
  6882  		HTTPMethod: "POST",
  6883  		HTTPPath:   "/",
  6884  		Paginator: &request.Paginator{
  6885  			InputTokens:     []string{"Marker"},
  6886  			OutputTokens:    []string{"Marker"},
  6887  			LimitToken:      "MaxRecords",
  6888  			TruncationToken: "",
  6889  		},
  6890  	}
  6891  
  6892  	if input == nil {
  6893  		input = &DescribeDBProxyEndpointsInput{}
  6894  	}
  6895  
  6896  	output = &DescribeDBProxyEndpointsOutput{}
  6897  	req = c.newRequest(op, input, output)
  6898  	return
  6899  }
  6900  
  6901  // DescribeDBProxyEndpoints API operation for Amazon Relational Database Service.
  6902  //
  6903  // Returns information about DB proxy endpoints.
  6904  //
  6905  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  6906  // with awserr.Error's Code and Message methods to get detailed information about
  6907  // the error.
  6908  //
  6909  // See the AWS API reference guide for Amazon Relational Database Service's
  6910  // API operation DescribeDBProxyEndpoints for usage and error information.
  6911  //
  6912  // Returned Error Codes:
  6913  //   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
  6914  //   The specified proxy name doesn't correspond to a proxy owned by your Amazon
  6915  //   Web Services account in the specified Amazon Web Services Region.
  6916  //
  6917  //   * ErrCodeDBProxyEndpointNotFoundFault "DBProxyEndpointNotFoundFault"
  6918  //   The DB proxy endpoint doesn't exist.
  6919  //
  6920  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBProxyEndpoints
  6921  func (c *RDS) DescribeDBProxyEndpoints(input *DescribeDBProxyEndpointsInput) (*DescribeDBProxyEndpointsOutput, error) {
  6922  	req, out := c.DescribeDBProxyEndpointsRequest(input)
  6923  	return out, req.Send()
  6924  }
  6925  
  6926  // DescribeDBProxyEndpointsWithContext is the same as DescribeDBProxyEndpoints with the addition of
  6927  // the ability to pass a context and additional request options.
  6928  //
  6929  // See DescribeDBProxyEndpoints for details on how to use this API operation.
  6930  //
  6931  // The context must be non-nil and will be used for request cancellation. If
  6932  // the context is nil a panic will occur. In the future the SDK may create
  6933  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6934  // for more information on using Contexts.
  6935  func (c *RDS) DescribeDBProxyEndpointsWithContext(ctx aws.Context, input *DescribeDBProxyEndpointsInput, opts ...request.Option) (*DescribeDBProxyEndpointsOutput, error) {
  6936  	req, out := c.DescribeDBProxyEndpointsRequest(input)
  6937  	req.SetContext(ctx)
  6938  	req.ApplyOptions(opts...)
  6939  	return out, req.Send()
  6940  }
  6941  
  6942  // DescribeDBProxyEndpointsPages iterates over the pages of a DescribeDBProxyEndpoints operation,
  6943  // calling the "fn" function with the response data for each page. To stop
  6944  // iterating, return false from the fn function.
  6945  //
  6946  // See DescribeDBProxyEndpoints method for more information on how to use this operation.
  6947  //
  6948  // Note: This operation can generate multiple requests to a service.
  6949  //
  6950  //    // Example iterating over at most 3 pages of a DescribeDBProxyEndpoints operation.
  6951  //    pageNum := 0
  6952  //    err := client.DescribeDBProxyEndpointsPages(params,
  6953  //        func(page *rds.DescribeDBProxyEndpointsOutput, lastPage bool) bool {
  6954  //            pageNum++
  6955  //            fmt.Println(page)
  6956  //            return pageNum <= 3
  6957  //        })
  6958  //
  6959  func (c *RDS) DescribeDBProxyEndpointsPages(input *DescribeDBProxyEndpointsInput, fn func(*DescribeDBProxyEndpointsOutput, bool) bool) error {
  6960  	return c.DescribeDBProxyEndpointsPagesWithContext(aws.BackgroundContext(), input, fn)
  6961  }
  6962  
  6963  // DescribeDBProxyEndpointsPagesWithContext same as DescribeDBProxyEndpointsPages except
  6964  // it takes a Context and allows setting request options on the pages.
  6965  //
  6966  // The context must be non-nil and will be used for request cancellation. If
  6967  // the context is nil a panic will occur. In the future the SDK may create
  6968  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  6969  // for more information on using Contexts.
  6970  func (c *RDS) DescribeDBProxyEndpointsPagesWithContext(ctx aws.Context, input *DescribeDBProxyEndpointsInput, fn func(*DescribeDBProxyEndpointsOutput, bool) bool, opts ...request.Option) error {
  6971  	p := request.Pagination{
  6972  		NewRequest: func() (*request.Request, error) {
  6973  			var inCpy *DescribeDBProxyEndpointsInput
  6974  			if input != nil {
  6975  				tmp := *input
  6976  				inCpy = &tmp
  6977  			}
  6978  			req, _ := c.DescribeDBProxyEndpointsRequest(inCpy)
  6979  			req.SetContext(ctx)
  6980  			req.ApplyOptions(opts...)
  6981  			return req, nil
  6982  		},
  6983  	}
  6984  
  6985  	for p.Next() {
  6986  		if !fn(p.Page().(*DescribeDBProxyEndpointsOutput), !p.HasNextPage()) {
  6987  			break
  6988  		}
  6989  	}
  6990  
  6991  	return p.Err()
  6992  }
  6993  
  6994  const opDescribeDBProxyTargetGroups = "DescribeDBProxyTargetGroups"
  6995  
  6996  // DescribeDBProxyTargetGroupsRequest generates a "aws/request.Request" representing the
  6997  // client's request for the DescribeDBProxyTargetGroups operation. The "output" return
  6998  // value will be populated with the request's response once the request completes
  6999  // successfully.
  7000  //
  7001  // Use "Send" method on the returned Request to send the API call to the service.
  7002  // the "output" return value is not valid until after Send returns without error.
  7003  //
  7004  // See DescribeDBProxyTargetGroups for more information on using the DescribeDBProxyTargetGroups
  7005  // API call, and error handling.
  7006  //
  7007  // This method is useful when you want to inject custom logic or configuration
  7008  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7009  //
  7010  //
  7011  //    // Example sending a request using the DescribeDBProxyTargetGroupsRequest method.
  7012  //    req, resp := client.DescribeDBProxyTargetGroupsRequest(params)
  7013  //
  7014  //    err := req.Send()
  7015  //    if err == nil { // resp is now filled
  7016  //        fmt.Println(resp)
  7017  //    }
  7018  //
  7019  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBProxyTargetGroups
  7020  func (c *RDS) DescribeDBProxyTargetGroupsRequest(input *DescribeDBProxyTargetGroupsInput) (req *request.Request, output *DescribeDBProxyTargetGroupsOutput) {
  7021  	op := &request.Operation{
  7022  		Name:       opDescribeDBProxyTargetGroups,
  7023  		HTTPMethod: "POST",
  7024  		HTTPPath:   "/",
  7025  		Paginator: &request.Paginator{
  7026  			InputTokens:     []string{"Marker"},
  7027  			OutputTokens:    []string{"Marker"},
  7028  			LimitToken:      "MaxRecords",
  7029  			TruncationToken: "",
  7030  		},
  7031  	}
  7032  
  7033  	if input == nil {
  7034  		input = &DescribeDBProxyTargetGroupsInput{}
  7035  	}
  7036  
  7037  	output = &DescribeDBProxyTargetGroupsOutput{}
  7038  	req = c.newRequest(op, input, output)
  7039  	return
  7040  }
  7041  
  7042  // DescribeDBProxyTargetGroups API operation for Amazon Relational Database Service.
  7043  //
  7044  // Returns information about DB proxy target groups, represented by DBProxyTargetGroup
  7045  // data structures.
  7046  //
  7047  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7048  // with awserr.Error's Code and Message methods to get detailed information about
  7049  // the error.
  7050  //
  7051  // See the AWS API reference guide for Amazon Relational Database Service's
  7052  // API operation DescribeDBProxyTargetGroups for usage and error information.
  7053  //
  7054  // Returned Error Codes:
  7055  //   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
  7056  //   The specified proxy name doesn't correspond to a proxy owned by your Amazon
  7057  //   Web Services account in the specified Amazon Web Services Region.
  7058  //
  7059  //   * ErrCodeDBProxyTargetGroupNotFoundFault "DBProxyTargetGroupNotFoundFault"
  7060  //   The specified target group isn't available for a proxy owned by your Amazon
  7061  //   Web Services account in the specified Amazon Web Services Region.
  7062  //
  7063  //   * ErrCodeInvalidDBProxyStateFault "InvalidDBProxyStateFault"
  7064  //   The requested operation can't be performed while the proxy is in this state.
  7065  //
  7066  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBProxyTargetGroups
  7067  func (c *RDS) DescribeDBProxyTargetGroups(input *DescribeDBProxyTargetGroupsInput) (*DescribeDBProxyTargetGroupsOutput, error) {
  7068  	req, out := c.DescribeDBProxyTargetGroupsRequest(input)
  7069  	return out, req.Send()
  7070  }
  7071  
  7072  // DescribeDBProxyTargetGroupsWithContext is the same as DescribeDBProxyTargetGroups with the addition of
  7073  // the ability to pass a context and additional request options.
  7074  //
  7075  // See DescribeDBProxyTargetGroups for details on how to use this API operation.
  7076  //
  7077  // The context must be non-nil and will be used for request cancellation. If
  7078  // the context is nil a panic will occur. In the future the SDK may create
  7079  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7080  // for more information on using Contexts.
  7081  func (c *RDS) DescribeDBProxyTargetGroupsWithContext(ctx aws.Context, input *DescribeDBProxyTargetGroupsInput, opts ...request.Option) (*DescribeDBProxyTargetGroupsOutput, error) {
  7082  	req, out := c.DescribeDBProxyTargetGroupsRequest(input)
  7083  	req.SetContext(ctx)
  7084  	req.ApplyOptions(opts...)
  7085  	return out, req.Send()
  7086  }
  7087  
  7088  // DescribeDBProxyTargetGroupsPages iterates over the pages of a DescribeDBProxyTargetGroups operation,
  7089  // calling the "fn" function with the response data for each page. To stop
  7090  // iterating, return false from the fn function.
  7091  //
  7092  // See DescribeDBProxyTargetGroups method for more information on how to use this operation.
  7093  //
  7094  // Note: This operation can generate multiple requests to a service.
  7095  //
  7096  //    // Example iterating over at most 3 pages of a DescribeDBProxyTargetGroups operation.
  7097  //    pageNum := 0
  7098  //    err := client.DescribeDBProxyTargetGroupsPages(params,
  7099  //        func(page *rds.DescribeDBProxyTargetGroupsOutput, lastPage bool) bool {
  7100  //            pageNum++
  7101  //            fmt.Println(page)
  7102  //            return pageNum <= 3
  7103  //        })
  7104  //
  7105  func (c *RDS) DescribeDBProxyTargetGroupsPages(input *DescribeDBProxyTargetGroupsInput, fn func(*DescribeDBProxyTargetGroupsOutput, bool) bool) error {
  7106  	return c.DescribeDBProxyTargetGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
  7107  }
  7108  
  7109  // DescribeDBProxyTargetGroupsPagesWithContext same as DescribeDBProxyTargetGroupsPages except
  7110  // it takes a Context and allows setting request options on the pages.
  7111  //
  7112  // The context must be non-nil and will be used for request cancellation. If
  7113  // the context is nil a panic will occur. In the future the SDK may create
  7114  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7115  // for more information on using Contexts.
  7116  func (c *RDS) DescribeDBProxyTargetGroupsPagesWithContext(ctx aws.Context, input *DescribeDBProxyTargetGroupsInput, fn func(*DescribeDBProxyTargetGroupsOutput, bool) bool, opts ...request.Option) error {
  7117  	p := request.Pagination{
  7118  		NewRequest: func() (*request.Request, error) {
  7119  			var inCpy *DescribeDBProxyTargetGroupsInput
  7120  			if input != nil {
  7121  				tmp := *input
  7122  				inCpy = &tmp
  7123  			}
  7124  			req, _ := c.DescribeDBProxyTargetGroupsRequest(inCpy)
  7125  			req.SetContext(ctx)
  7126  			req.ApplyOptions(opts...)
  7127  			return req, nil
  7128  		},
  7129  	}
  7130  
  7131  	for p.Next() {
  7132  		if !fn(p.Page().(*DescribeDBProxyTargetGroupsOutput), !p.HasNextPage()) {
  7133  			break
  7134  		}
  7135  	}
  7136  
  7137  	return p.Err()
  7138  }
  7139  
  7140  const opDescribeDBProxyTargets = "DescribeDBProxyTargets"
  7141  
  7142  // DescribeDBProxyTargetsRequest generates a "aws/request.Request" representing the
  7143  // client's request for the DescribeDBProxyTargets operation. The "output" return
  7144  // value will be populated with the request's response once the request completes
  7145  // successfully.
  7146  //
  7147  // Use "Send" method on the returned Request to send the API call to the service.
  7148  // the "output" return value is not valid until after Send returns without error.
  7149  //
  7150  // See DescribeDBProxyTargets for more information on using the DescribeDBProxyTargets
  7151  // API call, and error handling.
  7152  //
  7153  // This method is useful when you want to inject custom logic or configuration
  7154  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7155  //
  7156  //
  7157  //    // Example sending a request using the DescribeDBProxyTargetsRequest method.
  7158  //    req, resp := client.DescribeDBProxyTargetsRequest(params)
  7159  //
  7160  //    err := req.Send()
  7161  //    if err == nil { // resp is now filled
  7162  //        fmt.Println(resp)
  7163  //    }
  7164  //
  7165  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBProxyTargets
  7166  func (c *RDS) DescribeDBProxyTargetsRequest(input *DescribeDBProxyTargetsInput) (req *request.Request, output *DescribeDBProxyTargetsOutput) {
  7167  	op := &request.Operation{
  7168  		Name:       opDescribeDBProxyTargets,
  7169  		HTTPMethod: "POST",
  7170  		HTTPPath:   "/",
  7171  		Paginator: &request.Paginator{
  7172  			InputTokens:     []string{"Marker"},
  7173  			OutputTokens:    []string{"Marker"},
  7174  			LimitToken:      "MaxRecords",
  7175  			TruncationToken: "",
  7176  		},
  7177  	}
  7178  
  7179  	if input == nil {
  7180  		input = &DescribeDBProxyTargetsInput{}
  7181  	}
  7182  
  7183  	output = &DescribeDBProxyTargetsOutput{}
  7184  	req = c.newRequest(op, input, output)
  7185  	return
  7186  }
  7187  
  7188  // DescribeDBProxyTargets API operation for Amazon Relational Database Service.
  7189  //
  7190  // Returns information about DBProxyTarget objects. This API supports pagination.
  7191  //
  7192  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7193  // with awserr.Error's Code and Message methods to get detailed information about
  7194  // the error.
  7195  //
  7196  // See the AWS API reference guide for Amazon Relational Database Service's
  7197  // API operation DescribeDBProxyTargets for usage and error information.
  7198  //
  7199  // Returned Error Codes:
  7200  //   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
  7201  //   The specified proxy name doesn't correspond to a proxy owned by your Amazon
  7202  //   Web Services account in the specified Amazon Web Services Region.
  7203  //
  7204  //   * ErrCodeDBProxyTargetNotFoundFault "DBProxyTargetNotFoundFault"
  7205  //   The specified RDS DB instance or Aurora DB cluster isn't available for a
  7206  //   proxy owned by your Amazon Web Services account in the specified Amazon Web
  7207  //   Services Region.
  7208  //
  7209  //   * ErrCodeDBProxyTargetGroupNotFoundFault "DBProxyTargetGroupNotFoundFault"
  7210  //   The specified target group isn't available for a proxy owned by your Amazon
  7211  //   Web Services account in the specified Amazon Web Services Region.
  7212  //
  7213  //   * ErrCodeInvalidDBProxyStateFault "InvalidDBProxyStateFault"
  7214  //   The requested operation can't be performed while the proxy is in this state.
  7215  //
  7216  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBProxyTargets
  7217  func (c *RDS) DescribeDBProxyTargets(input *DescribeDBProxyTargetsInput) (*DescribeDBProxyTargetsOutput, error) {
  7218  	req, out := c.DescribeDBProxyTargetsRequest(input)
  7219  	return out, req.Send()
  7220  }
  7221  
  7222  // DescribeDBProxyTargetsWithContext is the same as DescribeDBProxyTargets with the addition of
  7223  // the ability to pass a context and additional request options.
  7224  //
  7225  // See DescribeDBProxyTargets for details on how to use this API operation.
  7226  //
  7227  // The context must be non-nil and will be used for request cancellation. If
  7228  // the context is nil a panic will occur. In the future the SDK may create
  7229  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7230  // for more information on using Contexts.
  7231  func (c *RDS) DescribeDBProxyTargetsWithContext(ctx aws.Context, input *DescribeDBProxyTargetsInput, opts ...request.Option) (*DescribeDBProxyTargetsOutput, error) {
  7232  	req, out := c.DescribeDBProxyTargetsRequest(input)
  7233  	req.SetContext(ctx)
  7234  	req.ApplyOptions(opts...)
  7235  	return out, req.Send()
  7236  }
  7237  
  7238  // DescribeDBProxyTargetsPages iterates over the pages of a DescribeDBProxyTargets operation,
  7239  // calling the "fn" function with the response data for each page. To stop
  7240  // iterating, return false from the fn function.
  7241  //
  7242  // See DescribeDBProxyTargets method for more information on how to use this operation.
  7243  //
  7244  // Note: This operation can generate multiple requests to a service.
  7245  //
  7246  //    // Example iterating over at most 3 pages of a DescribeDBProxyTargets operation.
  7247  //    pageNum := 0
  7248  //    err := client.DescribeDBProxyTargetsPages(params,
  7249  //        func(page *rds.DescribeDBProxyTargetsOutput, lastPage bool) bool {
  7250  //            pageNum++
  7251  //            fmt.Println(page)
  7252  //            return pageNum <= 3
  7253  //        })
  7254  //
  7255  func (c *RDS) DescribeDBProxyTargetsPages(input *DescribeDBProxyTargetsInput, fn func(*DescribeDBProxyTargetsOutput, bool) bool) error {
  7256  	return c.DescribeDBProxyTargetsPagesWithContext(aws.BackgroundContext(), input, fn)
  7257  }
  7258  
  7259  // DescribeDBProxyTargetsPagesWithContext same as DescribeDBProxyTargetsPages except
  7260  // it takes a Context and allows setting request options on the pages.
  7261  //
  7262  // The context must be non-nil and will be used for request cancellation. If
  7263  // the context is nil a panic will occur. In the future the SDK may create
  7264  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7265  // for more information on using Contexts.
  7266  func (c *RDS) DescribeDBProxyTargetsPagesWithContext(ctx aws.Context, input *DescribeDBProxyTargetsInput, fn func(*DescribeDBProxyTargetsOutput, bool) bool, opts ...request.Option) error {
  7267  	p := request.Pagination{
  7268  		NewRequest: func() (*request.Request, error) {
  7269  			var inCpy *DescribeDBProxyTargetsInput
  7270  			if input != nil {
  7271  				tmp := *input
  7272  				inCpy = &tmp
  7273  			}
  7274  			req, _ := c.DescribeDBProxyTargetsRequest(inCpy)
  7275  			req.SetContext(ctx)
  7276  			req.ApplyOptions(opts...)
  7277  			return req, nil
  7278  		},
  7279  	}
  7280  
  7281  	for p.Next() {
  7282  		if !fn(p.Page().(*DescribeDBProxyTargetsOutput), !p.HasNextPage()) {
  7283  			break
  7284  		}
  7285  	}
  7286  
  7287  	return p.Err()
  7288  }
  7289  
  7290  const opDescribeDBSecurityGroups = "DescribeDBSecurityGroups"
  7291  
  7292  // DescribeDBSecurityGroupsRequest generates a "aws/request.Request" representing the
  7293  // client's request for the DescribeDBSecurityGroups operation. The "output" return
  7294  // value will be populated with the request's response once the request completes
  7295  // successfully.
  7296  //
  7297  // Use "Send" method on the returned Request to send the API call to the service.
  7298  // the "output" return value is not valid until after Send returns without error.
  7299  //
  7300  // See DescribeDBSecurityGroups for more information on using the DescribeDBSecurityGroups
  7301  // API call, and error handling.
  7302  //
  7303  // This method is useful when you want to inject custom logic or configuration
  7304  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7305  //
  7306  //
  7307  //    // Example sending a request using the DescribeDBSecurityGroupsRequest method.
  7308  //    req, resp := client.DescribeDBSecurityGroupsRequest(params)
  7309  //
  7310  //    err := req.Send()
  7311  //    if err == nil { // resp is now filled
  7312  //        fmt.Println(resp)
  7313  //    }
  7314  //
  7315  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSecurityGroups
  7316  func (c *RDS) DescribeDBSecurityGroupsRequest(input *DescribeDBSecurityGroupsInput) (req *request.Request, output *DescribeDBSecurityGroupsOutput) {
  7317  	op := &request.Operation{
  7318  		Name:       opDescribeDBSecurityGroups,
  7319  		HTTPMethod: "POST",
  7320  		HTTPPath:   "/",
  7321  		Paginator: &request.Paginator{
  7322  			InputTokens:     []string{"Marker"},
  7323  			OutputTokens:    []string{"Marker"},
  7324  			LimitToken:      "MaxRecords",
  7325  			TruncationToken: "",
  7326  		},
  7327  	}
  7328  
  7329  	if input == nil {
  7330  		input = &DescribeDBSecurityGroupsInput{}
  7331  	}
  7332  
  7333  	output = &DescribeDBSecurityGroupsOutput{}
  7334  	req = c.newRequest(op, input, output)
  7335  	return
  7336  }
  7337  
  7338  // DescribeDBSecurityGroups API operation for Amazon Relational Database Service.
  7339  //
  7340  // Returns a list of DBSecurityGroup descriptions. If a DBSecurityGroupName
  7341  // is specified, the list will contain only the descriptions of the specified
  7342  // DB security group.
  7343  //
  7344  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7345  // with awserr.Error's Code and Message methods to get detailed information about
  7346  // the error.
  7347  //
  7348  // See the AWS API reference guide for Amazon Relational Database Service's
  7349  // API operation DescribeDBSecurityGroups for usage and error information.
  7350  //
  7351  // Returned Error Codes:
  7352  //   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
  7353  //   DBSecurityGroupName doesn't refer to an existing DB security group.
  7354  //
  7355  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSecurityGroups
  7356  func (c *RDS) DescribeDBSecurityGroups(input *DescribeDBSecurityGroupsInput) (*DescribeDBSecurityGroupsOutput, error) {
  7357  	req, out := c.DescribeDBSecurityGroupsRequest(input)
  7358  	return out, req.Send()
  7359  }
  7360  
  7361  // DescribeDBSecurityGroupsWithContext is the same as DescribeDBSecurityGroups with the addition of
  7362  // the ability to pass a context and additional request options.
  7363  //
  7364  // See DescribeDBSecurityGroups for details on how to use this API operation.
  7365  //
  7366  // The context must be non-nil and will be used for request cancellation. If
  7367  // the context is nil a panic will occur. In the future the SDK may create
  7368  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7369  // for more information on using Contexts.
  7370  func (c *RDS) DescribeDBSecurityGroupsWithContext(ctx aws.Context, input *DescribeDBSecurityGroupsInput, opts ...request.Option) (*DescribeDBSecurityGroupsOutput, error) {
  7371  	req, out := c.DescribeDBSecurityGroupsRequest(input)
  7372  	req.SetContext(ctx)
  7373  	req.ApplyOptions(opts...)
  7374  	return out, req.Send()
  7375  }
  7376  
  7377  // DescribeDBSecurityGroupsPages iterates over the pages of a DescribeDBSecurityGroups operation,
  7378  // calling the "fn" function with the response data for each page. To stop
  7379  // iterating, return false from the fn function.
  7380  //
  7381  // See DescribeDBSecurityGroups method for more information on how to use this operation.
  7382  //
  7383  // Note: This operation can generate multiple requests to a service.
  7384  //
  7385  //    // Example iterating over at most 3 pages of a DescribeDBSecurityGroups operation.
  7386  //    pageNum := 0
  7387  //    err := client.DescribeDBSecurityGroupsPages(params,
  7388  //        func(page *rds.DescribeDBSecurityGroupsOutput, lastPage bool) bool {
  7389  //            pageNum++
  7390  //            fmt.Println(page)
  7391  //            return pageNum <= 3
  7392  //        })
  7393  //
  7394  func (c *RDS) DescribeDBSecurityGroupsPages(input *DescribeDBSecurityGroupsInput, fn func(*DescribeDBSecurityGroupsOutput, bool) bool) error {
  7395  	return c.DescribeDBSecurityGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
  7396  }
  7397  
  7398  // DescribeDBSecurityGroupsPagesWithContext same as DescribeDBSecurityGroupsPages except
  7399  // it takes a Context and allows setting request options on the pages.
  7400  //
  7401  // The context must be non-nil and will be used for request cancellation. If
  7402  // the context is nil a panic will occur. In the future the SDK may create
  7403  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7404  // for more information on using Contexts.
  7405  func (c *RDS) DescribeDBSecurityGroupsPagesWithContext(ctx aws.Context, input *DescribeDBSecurityGroupsInput, fn func(*DescribeDBSecurityGroupsOutput, bool) bool, opts ...request.Option) error {
  7406  	p := request.Pagination{
  7407  		NewRequest: func() (*request.Request, error) {
  7408  			var inCpy *DescribeDBSecurityGroupsInput
  7409  			if input != nil {
  7410  				tmp := *input
  7411  				inCpy = &tmp
  7412  			}
  7413  			req, _ := c.DescribeDBSecurityGroupsRequest(inCpy)
  7414  			req.SetContext(ctx)
  7415  			req.ApplyOptions(opts...)
  7416  			return req, nil
  7417  		},
  7418  	}
  7419  
  7420  	for p.Next() {
  7421  		if !fn(p.Page().(*DescribeDBSecurityGroupsOutput), !p.HasNextPage()) {
  7422  			break
  7423  		}
  7424  	}
  7425  
  7426  	return p.Err()
  7427  }
  7428  
  7429  const opDescribeDBSnapshotAttributes = "DescribeDBSnapshotAttributes"
  7430  
  7431  // DescribeDBSnapshotAttributesRequest generates a "aws/request.Request" representing the
  7432  // client's request for the DescribeDBSnapshotAttributes operation. The "output" return
  7433  // value will be populated with the request's response once the request completes
  7434  // successfully.
  7435  //
  7436  // Use "Send" method on the returned Request to send the API call to the service.
  7437  // the "output" return value is not valid until after Send returns without error.
  7438  //
  7439  // See DescribeDBSnapshotAttributes for more information on using the DescribeDBSnapshotAttributes
  7440  // API call, and error handling.
  7441  //
  7442  // This method is useful when you want to inject custom logic or configuration
  7443  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7444  //
  7445  //
  7446  //    // Example sending a request using the DescribeDBSnapshotAttributesRequest method.
  7447  //    req, resp := client.DescribeDBSnapshotAttributesRequest(params)
  7448  //
  7449  //    err := req.Send()
  7450  //    if err == nil { // resp is now filled
  7451  //        fmt.Println(resp)
  7452  //    }
  7453  //
  7454  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSnapshotAttributes
  7455  func (c *RDS) DescribeDBSnapshotAttributesRequest(input *DescribeDBSnapshotAttributesInput) (req *request.Request, output *DescribeDBSnapshotAttributesOutput) {
  7456  	op := &request.Operation{
  7457  		Name:       opDescribeDBSnapshotAttributes,
  7458  		HTTPMethod: "POST",
  7459  		HTTPPath:   "/",
  7460  	}
  7461  
  7462  	if input == nil {
  7463  		input = &DescribeDBSnapshotAttributesInput{}
  7464  	}
  7465  
  7466  	output = &DescribeDBSnapshotAttributesOutput{}
  7467  	req = c.newRequest(op, input, output)
  7468  	return
  7469  }
  7470  
  7471  // DescribeDBSnapshotAttributes API operation for Amazon Relational Database Service.
  7472  //
  7473  // Returns a list of DB snapshot attribute names and values for a manual DB
  7474  // snapshot.
  7475  //
  7476  // When sharing snapshots with other Amazon Web Services accounts, DescribeDBSnapshotAttributes
  7477  // returns the restore attribute and a list of IDs for the Amazon Web Services
  7478  // accounts that are authorized to copy or restore the manual DB snapshot. If
  7479  // all is included in the list of values for the restore attribute, then the
  7480  // manual DB snapshot is public and can be copied or restored by all Amazon
  7481  // Web Services accounts.
  7482  //
  7483  // To add or remove access for an Amazon Web Services account to copy or restore
  7484  // a manual DB snapshot, or to make the manual DB snapshot public or private,
  7485  // use the ModifyDBSnapshotAttribute API action.
  7486  //
  7487  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7488  // with awserr.Error's Code and Message methods to get detailed information about
  7489  // the error.
  7490  //
  7491  // See the AWS API reference guide for Amazon Relational Database Service's
  7492  // API operation DescribeDBSnapshotAttributes for usage and error information.
  7493  //
  7494  // Returned Error Codes:
  7495  //   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
  7496  //   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
  7497  //
  7498  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSnapshotAttributes
  7499  func (c *RDS) DescribeDBSnapshotAttributes(input *DescribeDBSnapshotAttributesInput) (*DescribeDBSnapshotAttributesOutput, error) {
  7500  	req, out := c.DescribeDBSnapshotAttributesRequest(input)
  7501  	return out, req.Send()
  7502  }
  7503  
  7504  // DescribeDBSnapshotAttributesWithContext is the same as DescribeDBSnapshotAttributes with the addition of
  7505  // the ability to pass a context and additional request options.
  7506  //
  7507  // See DescribeDBSnapshotAttributes for details on how to use this API operation.
  7508  //
  7509  // The context must be non-nil and will be used for request cancellation. If
  7510  // the context is nil a panic will occur. In the future the SDK may create
  7511  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7512  // for more information on using Contexts.
  7513  func (c *RDS) DescribeDBSnapshotAttributesWithContext(ctx aws.Context, input *DescribeDBSnapshotAttributesInput, opts ...request.Option) (*DescribeDBSnapshotAttributesOutput, error) {
  7514  	req, out := c.DescribeDBSnapshotAttributesRequest(input)
  7515  	req.SetContext(ctx)
  7516  	req.ApplyOptions(opts...)
  7517  	return out, req.Send()
  7518  }
  7519  
  7520  const opDescribeDBSnapshots = "DescribeDBSnapshots"
  7521  
  7522  // DescribeDBSnapshotsRequest generates a "aws/request.Request" representing the
  7523  // client's request for the DescribeDBSnapshots operation. The "output" return
  7524  // value will be populated with the request's response once the request completes
  7525  // successfully.
  7526  //
  7527  // Use "Send" method on the returned Request to send the API call to the service.
  7528  // the "output" return value is not valid until after Send returns without error.
  7529  //
  7530  // See DescribeDBSnapshots for more information on using the DescribeDBSnapshots
  7531  // API call, and error handling.
  7532  //
  7533  // This method is useful when you want to inject custom logic or configuration
  7534  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7535  //
  7536  //
  7537  //    // Example sending a request using the DescribeDBSnapshotsRequest method.
  7538  //    req, resp := client.DescribeDBSnapshotsRequest(params)
  7539  //
  7540  //    err := req.Send()
  7541  //    if err == nil { // resp is now filled
  7542  //        fmt.Println(resp)
  7543  //    }
  7544  //
  7545  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSnapshots
  7546  func (c *RDS) DescribeDBSnapshotsRequest(input *DescribeDBSnapshotsInput) (req *request.Request, output *DescribeDBSnapshotsOutput) {
  7547  	op := &request.Operation{
  7548  		Name:       opDescribeDBSnapshots,
  7549  		HTTPMethod: "POST",
  7550  		HTTPPath:   "/",
  7551  		Paginator: &request.Paginator{
  7552  			InputTokens:     []string{"Marker"},
  7553  			OutputTokens:    []string{"Marker"},
  7554  			LimitToken:      "MaxRecords",
  7555  			TruncationToken: "",
  7556  		},
  7557  	}
  7558  
  7559  	if input == nil {
  7560  		input = &DescribeDBSnapshotsInput{}
  7561  	}
  7562  
  7563  	output = &DescribeDBSnapshotsOutput{}
  7564  	req = c.newRequest(op, input, output)
  7565  	return
  7566  }
  7567  
  7568  // DescribeDBSnapshots API operation for Amazon Relational Database Service.
  7569  //
  7570  // Returns information about DB snapshots. This API action supports pagination.
  7571  //
  7572  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7573  // with awserr.Error's Code and Message methods to get detailed information about
  7574  // the error.
  7575  //
  7576  // See the AWS API reference guide for Amazon Relational Database Service's
  7577  // API operation DescribeDBSnapshots for usage and error information.
  7578  //
  7579  // Returned Error Codes:
  7580  //   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
  7581  //   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
  7582  //
  7583  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSnapshots
  7584  func (c *RDS) DescribeDBSnapshots(input *DescribeDBSnapshotsInput) (*DescribeDBSnapshotsOutput, error) {
  7585  	req, out := c.DescribeDBSnapshotsRequest(input)
  7586  	return out, req.Send()
  7587  }
  7588  
  7589  // DescribeDBSnapshotsWithContext is the same as DescribeDBSnapshots with the addition of
  7590  // the ability to pass a context and additional request options.
  7591  //
  7592  // See DescribeDBSnapshots for details on how to use this API operation.
  7593  //
  7594  // The context must be non-nil and will be used for request cancellation. If
  7595  // the context is nil a panic will occur. In the future the SDK may create
  7596  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7597  // for more information on using Contexts.
  7598  func (c *RDS) DescribeDBSnapshotsWithContext(ctx aws.Context, input *DescribeDBSnapshotsInput, opts ...request.Option) (*DescribeDBSnapshotsOutput, error) {
  7599  	req, out := c.DescribeDBSnapshotsRequest(input)
  7600  	req.SetContext(ctx)
  7601  	req.ApplyOptions(opts...)
  7602  	return out, req.Send()
  7603  }
  7604  
  7605  // DescribeDBSnapshotsPages iterates over the pages of a DescribeDBSnapshots operation,
  7606  // calling the "fn" function with the response data for each page. To stop
  7607  // iterating, return false from the fn function.
  7608  //
  7609  // See DescribeDBSnapshots method for more information on how to use this operation.
  7610  //
  7611  // Note: This operation can generate multiple requests to a service.
  7612  //
  7613  //    // Example iterating over at most 3 pages of a DescribeDBSnapshots operation.
  7614  //    pageNum := 0
  7615  //    err := client.DescribeDBSnapshotsPages(params,
  7616  //        func(page *rds.DescribeDBSnapshotsOutput, lastPage bool) bool {
  7617  //            pageNum++
  7618  //            fmt.Println(page)
  7619  //            return pageNum <= 3
  7620  //        })
  7621  //
  7622  func (c *RDS) DescribeDBSnapshotsPages(input *DescribeDBSnapshotsInput, fn func(*DescribeDBSnapshotsOutput, bool) bool) error {
  7623  	return c.DescribeDBSnapshotsPagesWithContext(aws.BackgroundContext(), input, fn)
  7624  }
  7625  
  7626  // DescribeDBSnapshotsPagesWithContext same as DescribeDBSnapshotsPages except
  7627  // it takes a Context and allows setting request options on the pages.
  7628  //
  7629  // The context must be non-nil and will be used for request cancellation. If
  7630  // the context is nil a panic will occur. In the future the SDK may create
  7631  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7632  // for more information on using Contexts.
  7633  func (c *RDS) DescribeDBSnapshotsPagesWithContext(ctx aws.Context, input *DescribeDBSnapshotsInput, fn func(*DescribeDBSnapshotsOutput, bool) bool, opts ...request.Option) error {
  7634  	p := request.Pagination{
  7635  		NewRequest: func() (*request.Request, error) {
  7636  			var inCpy *DescribeDBSnapshotsInput
  7637  			if input != nil {
  7638  				tmp := *input
  7639  				inCpy = &tmp
  7640  			}
  7641  			req, _ := c.DescribeDBSnapshotsRequest(inCpy)
  7642  			req.SetContext(ctx)
  7643  			req.ApplyOptions(opts...)
  7644  			return req, nil
  7645  		},
  7646  	}
  7647  
  7648  	for p.Next() {
  7649  		if !fn(p.Page().(*DescribeDBSnapshotsOutput), !p.HasNextPage()) {
  7650  			break
  7651  		}
  7652  	}
  7653  
  7654  	return p.Err()
  7655  }
  7656  
  7657  const opDescribeDBSubnetGroups = "DescribeDBSubnetGroups"
  7658  
  7659  // DescribeDBSubnetGroupsRequest generates a "aws/request.Request" representing the
  7660  // client's request for the DescribeDBSubnetGroups operation. The "output" return
  7661  // value will be populated with the request's response once the request completes
  7662  // successfully.
  7663  //
  7664  // Use "Send" method on the returned Request to send the API call to the service.
  7665  // the "output" return value is not valid until after Send returns without error.
  7666  //
  7667  // See DescribeDBSubnetGroups for more information on using the DescribeDBSubnetGroups
  7668  // API call, and error handling.
  7669  //
  7670  // This method is useful when you want to inject custom logic or configuration
  7671  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7672  //
  7673  //
  7674  //    // Example sending a request using the DescribeDBSubnetGroupsRequest method.
  7675  //    req, resp := client.DescribeDBSubnetGroupsRequest(params)
  7676  //
  7677  //    err := req.Send()
  7678  //    if err == nil { // resp is now filled
  7679  //        fmt.Println(resp)
  7680  //    }
  7681  //
  7682  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSubnetGroups
  7683  func (c *RDS) DescribeDBSubnetGroupsRequest(input *DescribeDBSubnetGroupsInput) (req *request.Request, output *DescribeDBSubnetGroupsOutput) {
  7684  	op := &request.Operation{
  7685  		Name:       opDescribeDBSubnetGroups,
  7686  		HTTPMethod: "POST",
  7687  		HTTPPath:   "/",
  7688  		Paginator: &request.Paginator{
  7689  			InputTokens:     []string{"Marker"},
  7690  			OutputTokens:    []string{"Marker"},
  7691  			LimitToken:      "MaxRecords",
  7692  			TruncationToken: "",
  7693  		},
  7694  	}
  7695  
  7696  	if input == nil {
  7697  		input = &DescribeDBSubnetGroupsInput{}
  7698  	}
  7699  
  7700  	output = &DescribeDBSubnetGroupsOutput{}
  7701  	req = c.newRequest(op, input, output)
  7702  	return
  7703  }
  7704  
  7705  // DescribeDBSubnetGroups API operation for Amazon Relational Database Service.
  7706  //
  7707  // Returns a list of DBSubnetGroup descriptions. If a DBSubnetGroupName is specified,
  7708  // the list will contain only the descriptions of the specified DBSubnetGroup.
  7709  //
  7710  // For an overview of CIDR ranges, go to the Wikipedia Tutorial (http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing).
  7711  //
  7712  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7713  // with awserr.Error's Code and Message methods to get detailed information about
  7714  // the error.
  7715  //
  7716  // See the AWS API reference guide for Amazon Relational Database Service's
  7717  // API operation DescribeDBSubnetGroups for usage and error information.
  7718  //
  7719  // Returned Error Codes:
  7720  //   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
  7721  //   DBSubnetGroupName doesn't refer to an existing DB subnet group.
  7722  //
  7723  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSubnetGroups
  7724  func (c *RDS) DescribeDBSubnetGroups(input *DescribeDBSubnetGroupsInput) (*DescribeDBSubnetGroupsOutput, error) {
  7725  	req, out := c.DescribeDBSubnetGroupsRequest(input)
  7726  	return out, req.Send()
  7727  }
  7728  
  7729  // DescribeDBSubnetGroupsWithContext is the same as DescribeDBSubnetGroups with the addition of
  7730  // the ability to pass a context and additional request options.
  7731  //
  7732  // See DescribeDBSubnetGroups for details on how to use this API operation.
  7733  //
  7734  // The context must be non-nil and will be used for request cancellation. If
  7735  // the context is nil a panic will occur. In the future the SDK may create
  7736  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7737  // for more information on using Contexts.
  7738  func (c *RDS) DescribeDBSubnetGroupsWithContext(ctx aws.Context, input *DescribeDBSubnetGroupsInput, opts ...request.Option) (*DescribeDBSubnetGroupsOutput, error) {
  7739  	req, out := c.DescribeDBSubnetGroupsRequest(input)
  7740  	req.SetContext(ctx)
  7741  	req.ApplyOptions(opts...)
  7742  	return out, req.Send()
  7743  }
  7744  
  7745  // DescribeDBSubnetGroupsPages iterates over the pages of a DescribeDBSubnetGroups operation,
  7746  // calling the "fn" function with the response data for each page. To stop
  7747  // iterating, return false from the fn function.
  7748  //
  7749  // See DescribeDBSubnetGroups method for more information on how to use this operation.
  7750  //
  7751  // Note: This operation can generate multiple requests to a service.
  7752  //
  7753  //    // Example iterating over at most 3 pages of a DescribeDBSubnetGroups operation.
  7754  //    pageNum := 0
  7755  //    err := client.DescribeDBSubnetGroupsPages(params,
  7756  //        func(page *rds.DescribeDBSubnetGroupsOutput, lastPage bool) bool {
  7757  //            pageNum++
  7758  //            fmt.Println(page)
  7759  //            return pageNum <= 3
  7760  //        })
  7761  //
  7762  func (c *RDS) DescribeDBSubnetGroupsPages(input *DescribeDBSubnetGroupsInput, fn func(*DescribeDBSubnetGroupsOutput, bool) bool) error {
  7763  	return c.DescribeDBSubnetGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
  7764  }
  7765  
  7766  // DescribeDBSubnetGroupsPagesWithContext same as DescribeDBSubnetGroupsPages except
  7767  // it takes a Context and allows setting request options on the pages.
  7768  //
  7769  // The context must be non-nil and will be used for request cancellation. If
  7770  // the context is nil a panic will occur. In the future the SDK may create
  7771  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7772  // for more information on using Contexts.
  7773  func (c *RDS) DescribeDBSubnetGroupsPagesWithContext(ctx aws.Context, input *DescribeDBSubnetGroupsInput, fn func(*DescribeDBSubnetGroupsOutput, bool) bool, opts ...request.Option) error {
  7774  	p := request.Pagination{
  7775  		NewRequest: func() (*request.Request, error) {
  7776  			var inCpy *DescribeDBSubnetGroupsInput
  7777  			if input != nil {
  7778  				tmp := *input
  7779  				inCpy = &tmp
  7780  			}
  7781  			req, _ := c.DescribeDBSubnetGroupsRequest(inCpy)
  7782  			req.SetContext(ctx)
  7783  			req.ApplyOptions(opts...)
  7784  			return req, nil
  7785  		},
  7786  	}
  7787  
  7788  	for p.Next() {
  7789  		if !fn(p.Page().(*DescribeDBSubnetGroupsOutput), !p.HasNextPage()) {
  7790  			break
  7791  		}
  7792  	}
  7793  
  7794  	return p.Err()
  7795  }
  7796  
  7797  const opDescribeEngineDefaultClusterParameters = "DescribeEngineDefaultClusterParameters"
  7798  
  7799  // DescribeEngineDefaultClusterParametersRequest generates a "aws/request.Request" representing the
  7800  // client's request for the DescribeEngineDefaultClusterParameters operation. The "output" return
  7801  // value will be populated with the request's response once the request completes
  7802  // successfully.
  7803  //
  7804  // Use "Send" method on the returned Request to send the API call to the service.
  7805  // the "output" return value is not valid until after Send returns without error.
  7806  //
  7807  // See DescribeEngineDefaultClusterParameters for more information on using the DescribeEngineDefaultClusterParameters
  7808  // API call, and error handling.
  7809  //
  7810  // This method is useful when you want to inject custom logic or configuration
  7811  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7812  //
  7813  //
  7814  //    // Example sending a request using the DescribeEngineDefaultClusterParametersRequest method.
  7815  //    req, resp := client.DescribeEngineDefaultClusterParametersRequest(params)
  7816  //
  7817  //    err := req.Send()
  7818  //    if err == nil { // resp is now filled
  7819  //        fmt.Println(resp)
  7820  //    }
  7821  //
  7822  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEngineDefaultClusterParameters
  7823  func (c *RDS) DescribeEngineDefaultClusterParametersRequest(input *DescribeEngineDefaultClusterParametersInput) (req *request.Request, output *DescribeEngineDefaultClusterParametersOutput) {
  7824  	op := &request.Operation{
  7825  		Name:       opDescribeEngineDefaultClusterParameters,
  7826  		HTTPMethod: "POST",
  7827  		HTTPPath:   "/",
  7828  	}
  7829  
  7830  	if input == nil {
  7831  		input = &DescribeEngineDefaultClusterParametersInput{}
  7832  	}
  7833  
  7834  	output = &DescribeEngineDefaultClusterParametersOutput{}
  7835  	req = c.newRequest(op, input, output)
  7836  	return
  7837  }
  7838  
  7839  // DescribeEngineDefaultClusterParameters API operation for Amazon Relational Database Service.
  7840  //
  7841  // Returns the default engine and system parameter information for the cluster
  7842  // database engine.
  7843  //
  7844  // For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
  7845  // in the Amazon Aurora User Guide.
  7846  //
  7847  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7848  // with awserr.Error's Code and Message methods to get detailed information about
  7849  // the error.
  7850  //
  7851  // See the AWS API reference guide for Amazon Relational Database Service's
  7852  // API operation DescribeEngineDefaultClusterParameters for usage and error information.
  7853  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEngineDefaultClusterParameters
  7854  func (c *RDS) DescribeEngineDefaultClusterParameters(input *DescribeEngineDefaultClusterParametersInput) (*DescribeEngineDefaultClusterParametersOutput, error) {
  7855  	req, out := c.DescribeEngineDefaultClusterParametersRequest(input)
  7856  	return out, req.Send()
  7857  }
  7858  
  7859  // DescribeEngineDefaultClusterParametersWithContext is the same as DescribeEngineDefaultClusterParameters with the addition of
  7860  // the ability to pass a context and additional request options.
  7861  //
  7862  // See DescribeEngineDefaultClusterParameters for details on how to use this API operation.
  7863  //
  7864  // The context must be non-nil and will be used for request cancellation. If
  7865  // the context is nil a panic will occur. In the future the SDK may create
  7866  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7867  // for more information on using Contexts.
  7868  func (c *RDS) DescribeEngineDefaultClusterParametersWithContext(ctx aws.Context, input *DescribeEngineDefaultClusterParametersInput, opts ...request.Option) (*DescribeEngineDefaultClusterParametersOutput, error) {
  7869  	req, out := c.DescribeEngineDefaultClusterParametersRequest(input)
  7870  	req.SetContext(ctx)
  7871  	req.ApplyOptions(opts...)
  7872  	return out, req.Send()
  7873  }
  7874  
  7875  const opDescribeEngineDefaultParameters = "DescribeEngineDefaultParameters"
  7876  
  7877  // DescribeEngineDefaultParametersRequest generates a "aws/request.Request" representing the
  7878  // client's request for the DescribeEngineDefaultParameters operation. The "output" return
  7879  // value will be populated with the request's response once the request completes
  7880  // successfully.
  7881  //
  7882  // Use "Send" method on the returned Request to send the API call to the service.
  7883  // the "output" return value is not valid until after Send returns without error.
  7884  //
  7885  // See DescribeEngineDefaultParameters for more information on using the DescribeEngineDefaultParameters
  7886  // API call, and error handling.
  7887  //
  7888  // This method is useful when you want to inject custom logic or configuration
  7889  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  7890  //
  7891  //
  7892  //    // Example sending a request using the DescribeEngineDefaultParametersRequest method.
  7893  //    req, resp := client.DescribeEngineDefaultParametersRequest(params)
  7894  //
  7895  //    err := req.Send()
  7896  //    if err == nil { // resp is now filled
  7897  //        fmt.Println(resp)
  7898  //    }
  7899  //
  7900  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEngineDefaultParameters
  7901  func (c *RDS) DescribeEngineDefaultParametersRequest(input *DescribeEngineDefaultParametersInput) (req *request.Request, output *DescribeEngineDefaultParametersOutput) {
  7902  	op := &request.Operation{
  7903  		Name:       opDescribeEngineDefaultParameters,
  7904  		HTTPMethod: "POST",
  7905  		HTTPPath:   "/",
  7906  		Paginator: &request.Paginator{
  7907  			InputTokens:     []string{"Marker"},
  7908  			OutputTokens:    []string{"EngineDefaults.Marker"},
  7909  			LimitToken:      "MaxRecords",
  7910  			TruncationToken: "",
  7911  		},
  7912  	}
  7913  
  7914  	if input == nil {
  7915  		input = &DescribeEngineDefaultParametersInput{}
  7916  	}
  7917  
  7918  	output = &DescribeEngineDefaultParametersOutput{}
  7919  	req = c.newRequest(op, input, output)
  7920  	return
  7921  }
  7922  
  7923  // DescribeEngineDefaultParameters API operation for Amazon Relational Database Service.
  7924  //
  7925  // Returns the default engine and system parameter information for the specified
  7926  // database engine.
  7927  //
  7928  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  7929  // with awserr.Error's Code and Message methods to get detailed information about
  7930  // the error.
  7931  //
  7932  // See the AWS API reference guide for Amazon Relational Database Service's
  7933  // API operation DescribeEngineDefaultParameters for usage and error information.
  7934  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEngineDefaultParameters
  7935  func (c *RDS) DescribeEngineDefaultParameters(input *DescribeEngineDefaultParametersInput) (*DescribeEngineDefaultParametersOutput, error) {
  7936  	req, out := c.DescribeEngineDefaultParametersRequest(input)
  7937  	return out, req.Send()
  7938  }
  7939  
  7940  // DescribeEngineDefaultParametersWithContext is the same as DescribeEngineDefaultParameters with the addition of
  7941  // the ability to pass a context and additional request options.
  7942  //
  7943  // See DescribeEngineDefaultParameters for details on how to use this API operation.
  7944  //
  7945  // The context must be non-nil and will be used for request cancellation. If
  7946  // the context is nil a panic will occur. In the future the SDK may create
  7947  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7948  // for more information on using Contexts.
  7949  func (c *RDS) DescribeEngineDefaultParametersWithContext(ctx aws.Context, input *DescribeEngineDefaultParametersInput, opts ...request.Option) (*DescribeEngineDefaultParametersOutput, error) {
  7950  	req, out := c.DescribeEngineDefaultParametersRequest(input)
  7951  	req.SetContext(ctx)
  7952  	req.ApplyOptions(opts...)
  7953  	return out, req.Send()
  7954  }
  7955  
  7956  // DescribeEngineDefaultParametersPages iterates over the pages of a DescribeEngineDefaultParameters operation,
  7957  // calling the "fn" function with the response data for each page. To stop
  7958  // iterating, return false from the fn function.
  7959  //
  7960  // See DescribeEngineDefaultParameters method for more information on how to use this operation.
  7961  //
  7962  // Note: This operation can generate multiple requests to a service.
  7963  //
  7964  //    // Example iterating over at most 3 pages of a DescribeEngineDefaultParameters operation.
  7965  //    pageNum := 0
  7966  //    err := client.DescribeEngineDefaultParametersPages(params,
  7967  //        func(page *rds.DescribeEngineDefaultParametersOutput, lastPage bool) bool {
  7968  //            pageNum++
  7969  //            fmt.Println(page)
  7970  //            return pageNum <= 3
  7971  //        })
  7972  //
  7973  func (c *RDS) DescribeEngineDefaultParametersPages(input *DescribeEngineDefaultParametersInput, fn func(*DescribeEngineDefaultParametersOutput, bool) bool) error {
  7974  	return c.DescribeEngineDefaultParametersPagesWithContext(aws.BackgroundContext(), input, fn)
  7975  }
  7976  
  7977  // DescribeEngineDefaultParametersPagesWithContext same as DescribeEngineDefaultParametersPages except
  7978  // it takes a Context and allows setting request options on the pages.
  7979  //
  7980  // The context must be non-nil and will be used for request cancellation. If
  7981  // the context is nil a panic will occur. In the future the SDK may create
  7982  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  7983  // for more information on using Contexts.
  7984  func (c *RDS) DescribeEngineDefaultParametersPagesWithContext(ctx aws.Context, input *DescribeEngineDefaultParametersInput, fn func(*DescribeEngineDefaultParametersOutput, bool) bool, opts ...request.Option) error {
  7985  	p := request.Pagination{
  7986  		NewRequest: func() (*request.Request, error) {
  7987  			var inCpy *DescribeEngineDefaultParametersInput
  7988  			if input != nil {
  7989  				tmp := *input
  7990  				inCpy = &tmp
  7991  			}
  7992  			req, _ := c.DescribeEngineDefaultParametersRequest(inCpy)
  7993  			req.SetContext(ctx)
  7994  			req.ApplyOptions(opts...)
  7995  			return req, nil
  7996  		},
  7997  	}
  7998  
  7999  	for p.Next() {
  8000  		if !fn(p.Page().(*DescribeEngineDefaultParametersOutput), !p.HasNextPage()) {
  8001  			break
  8002  		}
  8003  	}
  8004  
  8005  	return p.Err()
  8006  }
  8007  
  8008  const opDescribeEventCategories = "DescribeEventCategories"
  8009  
  8010  // DescribeEventCategoriesRequest generates a "aws/request.Request" representing the
  8011  // client's request for the DescribeEventCategories operation. The "output" return
  8012  // value will be populated with the request's response once the request completes
  8013  // successfully.
  8014  //
  8015  // Use "Send" method on the returned Request to send the API call to the service.
  8016  // the "output" return value is not valid until after Send returns without error.
  8017  //
  8018  // See DescribeEventCategories for more information on using the DescribeEventCategories
  8019  // API call, and error handling.
  8020  //
  8021  // This method is useful when you want to inject custom logic or configuration
  8022  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8023  //
  8024  //
  8025  //    // Example sending a request using the DescribeEventCategoriesRequest method.
  8026  //    req, resp := client.DescribeEventCategoriesRequest(params)
  8027  //
  8028  //    err := req.Send()
  8029  //    if err == nil { // resp is now filled
  8030  //        fmt.Println(resp)
  8031  //    }
  8032  //
  8033  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEventCategories
  8034  func (c *RDS) DescribeEventCategoriesRequest(input *DescribeEventCategoriesInput) (req *request.Request, output *DescribeEventCategoriesOutput) {
  8035  	op := &request.Operation{
  8036  		Name:       opDescribeEventCategories,
  8037  		HTTPMethod: "POST",
  8038  		HTTPPath:   "/",
  8039  	}
  8040  
  8041  	if input == nil {
  8042  		input = &DescribeEventCategoriesInput{}
  8043  	}
  8044  
  8045  	output = &DescribeEventCategoriesOutput{}
  8046  	req = c.newRequest(op, input, output)
  8047  	return
  8048  }
  8049  
  8050  // DescribeEventCategories API operation for Amazon Relational Database Service.
  8051  //
  8052  // Displays a list of categories for all event source types, or, if specified,
  8053  // for a specified source type. You can see a list of the event categories and
  8054  // source types in Events (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html)
  8055  // in the Amazon RDS User Guide.
  8056  //
  8057  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8058  // with awserr.Error's Code and Message methods to get detailed information about
  8059  // the error.
  8060  //
  8061  // See the AWS API reference guide for Amazon Relational Database Service's
  8062  // API operation DescribeEventCategories for usage and error information.
  8063  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEventCategories
  8064  func (c *RDS) DescribeEventCategories(input *DescribeEventCategoriesInput) (*DescribeEventCategoriesOutput, error) {
  8065  	req, out := c.DescribeEventCategoriesRequest(input)
  8066  	return out, req.Send()
  8067  }
  8068  
  8069  // DescribeEventCategoriesWithContext is the same as DescribeEventCategories with the addition of
  8070  // the ability to pass a context and additional request options.
  8071  //
  8072  // See DescribeEventCategories for details on how to use this API operation.
  8073  //
  8074  // The context must be non-nil and will be used for request cancellation. If
  8075  // the context is nil a panic will occur. In the future the SDK may create
  8076  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8077  // for more information on using Contexts.
  8078  func (c *RDS) DescribeEventCategoriesWithContext(ctx aws.Context, input *DescribeEventCategoriesInput, opts ...request.Option) (*DescribeEventCategoriesOutput, error) {
  8079  	req, out := c.DescribeEventCategoriesRequest(input)
  8080  	req.SetContext(ctx)
  8081  	req.ApplyOptions(opts...)
  8082  	return out, req.Send()
  8083  }
  8084  
  8085  const opDescribeEventSubscriptions = "DescribeEventSubscriptions"
  8086  
  8087  // DescribeEventSubscriptionsRequest generates a "aws/request.Request" representing the
  8088  // client's request for the DescribeEventSubscriptions operation. The "output" return
  8089  // value will be populated with the request's response once the request completes
  8090  // successfully.
  8091  //
  8092  // Use "Send" method on the returned Request to send the API call to the service.
  8093  // the "output" return value is not valid until after Send returns without error.
  8094  //
  8095  // See DescribeEventSubscriptions for more information on using the DescribeEventSubscriptions
  8096  // API call, and error handling.
  8097  //
  8098  // This method is useful when you want to inject custom logic or configuration
  8099  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8100  //
  8101  //
  8102  //    // Example sending a request using the DescribeEventSubscriptionsRequest method.
  8103  //    req, resp := client.DescribeEventSubscriptionsRequest(params)
  8104  //
  8105  //    err := req.Send()
  8106  //    if err == nil { // resp is now filled
  8107  //        fmt.Println(resp)
  8108  //    }
  8109  //
  8110  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEventSubscriptions
  8111  func (c *RDS) DescribeEventSubscriptionsRequest(input *DescribeEventSubscriptionsInput) (req *request.Request, output *DescribeEventSubscriptionsOutput) {
  8112  	op := &request.Operation{
  8113  		Name:       opDescribeEventSubscriptions,
  8114  		HTTPMethod: "POST",
  8115  		HTTPPath:   "/",
  8116  		Paginator: &request.Paginator{
  8117  			InputTokens:     []string{"Marker"},
  8118  			OutputTokens:    []string{"Marker"},
  8119  			LimitToken:      "MaxRecords",
  8120  			TruncationToken: "",
  8121  		},
  8122  	}
  8123  
  8124  	if input == nil {
  8125  		input = &DescribeEventSubscriptionsInput{}
  8126  	}
  8127  
  8128  	output = &DescribeEventSubscriptionsOutput{}
  8129  	req = c.newRequest(op, input, output)
  8130  	return
  8131  }
  8132  
  8133  // DescribeEventSubscriptions API operation for Amazon Relational Database Service.
  8134  //
  8135  // Lists all the subscription descriptions for a customer account. The description
  8136  // for a subscription includes SubscriptionName, SNSTopicARN, CustomerID, SourceType,
  8137  // SourceID, CreationTime, and Status.
  8138  //
  8139  // If you specify a SubscriptionName, lists the description for that subscription.
  8140  //
  8141  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8142  // with awserr.Error's Code and Message methods to get detailed information about
  8143  // the error.
  8144  //
  8145  // See the AWS API reference guide for Amazon Relational Database Service's
  8146  // API operation DescribeEventSubscriptions for usage and error information.
  8147  //
  8148  // Returned Error Codes:
  8149  //   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
  8150  //   The subscription name does not exist.
  8151  //
  8152  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEventSubscriptions
  8153  func (c *RDS) DescribeEventSubscriptions(input *DescribeEventSubscriptionsInput) (*DescribeEventSubscriptionsOutput, error) {
  8154  	req, out := c.DescribeEventSubscriptionsRequest(input)
  8155  	return out, req.Send()
  8156  }
  8157  
  8158  // DescribeEventSubscriptionsWithContext is the same as DescribeEventSubscriptions with the addition of
  8159  // the ability to pass a context and additional request options.
  8160  //
  8161  // See DescribeEventSubscriptions for details on how to use this API operation.
  8162  //
  8163  // The context must be non-nil and will be used for request cancellation. If
  8164  // the context is nil a panic will occur. In the future the SDK may create
  8165  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8166  // for more information on using Contexts.
  8167  func (c *RDS) DescribeEventSubscriptionsWithContext(ctx aws.Context, input *DescribeEventSubscriptionsInput, opts ...request.Option) (*DescribeEventSubscriptionsOutput, error) {
  8168  	req, out := c.DescribeEventSubscriptionsRequest(input)
  8169  	req.SetContext(ctx)
  8170  	req.ApplyOptions(opts...)
  8171  	return out, req.Send()
  8172  }
  8173  
  8174  // DescribeEventSubscriptionsPages iterates over the pages of a DescribeEventSubscriptions operation,
  8175  // calling the "fn" function with the response data for each page. To stop
  8176  // iterating, return false from the fn function.
  8177  //
  8178  // See DescribeEventSubscriptions method for more information on how to use this operation.
  8179  //
  8180  // Note: This operation can generate multiple requests to a service.
  8181  //
  8182  //    // Example iterating over at most 3 pages of a DescribeEventSubscriptions operation.
  8183  //    pageNum := 0
  8184  //    err := client.DescribeEventSubscriptionsPages(params,
  8185  //        func(page *rds.DescribeEventSubscriptionsOutput, lastPage bool) bool {
  8186  //            pageNum++
  8187  //            fmt.Println(page)
  8188  //            return pageNum <= 3
  8189  //        })
  8190  //
  8191  func (c *RDS) DescribeEventSubscriptionsPages(input *DescribeEventSubscriptionsInput, fn func(*DescribeEventSubscriptionsOutput, bool) bool) error {
  8192  	return c.DescribeEventSubscriptionsPagesWithContext(aws.BackgroundContext(), input, fn)
  8193  }
  8194  
  8195  // DescribeEventSubscriptionsPagesWithContext same as DescribeEventSubscriptionsPages except
  8196  // it takes a Context and allows setting request options on the pages.
  8197  //
  8198  // The context must be non-nil and will be used for request cancellation. If
  8199  // the context is nil a panic will occur. In the future the SDK may create
  8200  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8201  // for more information on using Contexts.
  8202  func (c *RDS) DescribeEventSubscriptionsPagesWithContext(ctx aws.Context, input *DescribeEventSubscriptionsInput, fn func(*DescribeEventSubscriptionsOutput, bool) bool, opts ...request.Option) error {
  8203  	p := request.Pagination{
  8204  		NewRequest: func() (*request.Request, error) {
  8205  			var inCpy *DescribeEventSubscriptionsInput
  8206  			if input != nil {
  8207  				tmp := *input
  8208  				inCpy = &tmp
  8209  			}
  8210  			req, _ := c.DescribeEventSubscriptionsRequest(inCpy)
  8211  			req.SetContext(ctx)
  8212  			req.ApplyOptions(opts...)
  8213  			return req, nil
  8214  		},
  8215  	}
  8216  
  8217  	for p.Next() {
  8218  		if !fn(p.Page().(*DescribeEventSubscriptionsOutput), !p.HasNextPage()) {
  8219  			break
  8220  		}
  8221  	}
  8222  
  8223  	return p.Err()
  8224  }
  8225  
  8226  const opDescribeEvents = "DescribeEvents"
  8227  
  8228  // DescribeEventsRequest generates a "aws/request.Request" representing the
  8229  // client's request for the DescribeEvents operation. The "output" return
  8230  // value will be populated with the request's response once the request completes
  8231  // successfully.
  8232  //
  8233  // Use "Send" method on the returned Request to send the API call to the service.
  8234  // the "output" return value is not valid until after Send returns without error.
  8235  //
  8236  // See DescribeEvents for more information on using the DescribeEvents
  8237  // API call, and error handling.
  8238  //
  8239  // This method is useful when you want to inject custom logic or configuration
  8240  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8241  //
  8242  //
  8243  //    // Example sending a request using the DescribeEventsRequest method.
  8244  //    req, resp := client.DescribeEventsRequest(params)
  8245  //
  8246  //    err := req.Send()
  8247  //    if err == nil { // resp is now filled
  8248  //        fmt.Println(resp)
  8249  //    }
  8250  //
  8251  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEvents
  8252  func (c *RDS) DescribeEventsRequest(input *DescribeEventsInput) (req *request.Request, output *DescribeEventsOutput) {
  8253  	op := &request.Operation{
  8254  		Name:       opDescribeEvents,
  8255  		HTTPMethod: "POST",
  8256  		HTTPPath:   "/",
  8257  		Paginator: &request.Paginator{
  8258  			InputTokens:     []string{"Marker"},
  8259  			OutputTokens:    []string{"Marker"},
  8260  			LimitToken:      "MaxRecords",
  8261  			TruncationToken: "",
  8262  		},
  8263  	}
  8264  
  8265  	if input == nil {
  8266  		input = &DescribeEventsInput{}
  8267  	}
  8268  
  8269  	output = &DescribeEventsOutput{}
  8270  	req = c.newRequest(op, input, output)
  8271  	return
  8272  }
  8273  
  8274  // DescribeEvents API operation for Amazon Relational Database Service.
  8275  //
  8276  // Returns events related to DB instances, DB clusters, DB parameter groups,
  8277  // DB security groups, DB snapshots, and DB cluster snapshots for the past 14
  8278  // days. Events specific to a particular DB instances, DB clusters, DB parameter
  8279  // groups, DB security groups, DB snapshots, and DB cluster snapshots group
  8280  // can be obtained by providing the name as a parameter.
  8281  //
  8282  // By default, the past hour of events are returned.
  8283  //
  8284  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8285  // with awserr.Error's Code and Message methods to get detailed information about
  8286  // the error.
  8287  //
  8288  // See the AWS API reference guide for Amazon Relational Database Service's
  8289  // API operation DescribeEvents for usage and error information.
  8290  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEvents
  8291  func (c *RDS) DescribeEvents(input *DescribeEventsInput) (*DescribeEventsOutput, error) {
  8292  	req, out := c.DescribeEventsRequest(input)
  8293  	return out, req.Send()
  8294  }
  8295  
  8296  // DescribeEventsWithContext is the same as DescribeEvents with the addition of
  8297  // the ability to pass a context and additional request options.
  8298  //
  8299  // See DescribeEvents for details on how to use this API operation.
  8300  //
  8301  // The context must be non-nil and will be used for request cancellation. If
  8302  // the context is nil a panic will occur. In the future the SDK may create
  8303  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8304  // for more information on using Contexts.
  8305  func (c *RDS) DescribeEventsWithContext(ctx aws.Context, input *DescribeEventsInput, opts ...request.Option) (*DescribeEventsOutput, error) {
  8306  	req, out := c.DescribeEventsRequest(input)
  8307  	req.SetContext(ctx)
  8308  	req.ApplyOptions(opts...)
  8309  	return out, req.Send()
  8310  }
  8311  
  8312  // DescribeEventsPages iterates over the pages of a DescribeEvents operation,
  8313  // calling the "fn" function with the response data for each page. To stop
  8314  // iterating, return false from the fn function.
  8315  //
  8316  // See DescribeEvents method for more information on how to use this operation.
  8317  //
  8318  // Note: This operation can generate multiple requests to a service.
  8319  //
  8320  //    // Example iterating over at most 3 pages of a DescribeEvents operation.
  8321  //    pageNum := 0
  8322  //    err := client.DescribeEventsPages(params,
  8323  //        func(page *rds.DescribeEventsOutput, lastPage bool) bool {
  8324  //            pageNum++
  8325  //            fmt.Println(page)
  8326  //            return pageNum <= 3
  8327  //        })
  8328  //
  8329  func (c *RDS) DescribeEventsPages(input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool) error {
  8330  	return c.DescribeEventsPagesWithContext(aws.BackgroundContext(), input, fn)
  8331  }
  8332  
  8333  // DescribeEventsPagesWithContext same as DescribeEventsPages except
  8334  // it takes a Context and allows setting request options on the pages.
  8335  //
  8336  // The context must be non-nil and will be used for request cancellation. If
  8337  // the context is nil a panic will occur. In the future the SDK may create
  8338  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8339  // for more information on using Contexts.
  8340  func (c *RDS) DescribeEventsPagesWithContext(ctx aws.Context, input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool, opts ...request.Option) error {
  8341  	p := request.Pagination{
  8342  		NewRequest: func() (*request.Request, error) {
  8343  			var inCpy *DescribeEventsInput
  8344  			if input != nil {
  8345  				tmp := *input
  8346  				inCpy = &tmp
  8347  			}
  8348  			req, _ := c.DescribeEventsRequest(inCpy)
  8349  			req.SetContext(ctx)
  8350  			req.ApplyOptions(opts...)
  8351  			return req, nil
  8352  		},
  8353  	}
  8354  
  8355  	for p.Next() {
  8356  		if !fn(p.Page().(*DescribeEventsOutput), !p.HasNextPage()) {
  8357  			break
  8358  		}
  8359  	}
  8360  
  8361  	return p.Err()
  8362  }
  8363  
  8364  const opDescribeExportTasks = "DescribeExportTasks"
  8365  
  8366  // DescribeExportTasksRequest generates a "aws/request.Request" representing the
  8367  // client's request for the DescribeExportTasks operation. The "output" return
  8368  // value will be populated with the request's response once the request completes
  8369  // successfully.
  8370  //
  8371  // Use "Send" method on the returned Request to send the API call to the service.
  8372  // the "output" return value is not valid until after Send returns without error.
  8373  //
  8374  // See DescribeExportTasks for more information on using the DescribeExportTasks
  8375  // API call, and error handling.
  8376  //
  8377  // This method is useful when you want to inject custom logic or configuration
  8378  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8379  //
  8380  //
  8381  //    // Example sending a request using the DescribeExportTasksRequest method.
  8382  //    req, resp := client.DescribeExportTasksRequest(params)
  8383  //
  8384  //    err := req.Send()
  8385  //    if err == nil { // resp is now filled
  8386  //        fmt.Println(resp)
  8387  //    }
  8388  //
  8389  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeExportTasks
  8390  func (c *RDS) DescribeExportTasksRequest(input *DescribeExportTasksInput) (req *request.Request, output *DescribeExportTasksOutput) {
  8391  	op := &request.Operation{
  8392  		Name:       opDescribeExportTasks,
  8393  		HTTPMethod: "POST",
  8394  		HTTPPath:   "/",
  8395  		Paginator: &request.Paginator{
  8396  			InputTokens:     []string{"Marker"},
  8397  			OutputTokens:    []string{"Marker"},
  8398  			LimitToken:      "MaxRecords",
  8399  			TruncationToken: "",
  8400  		},
  8401  	}
  8402  
  8403  	if input == nil {
  8404  		input = &DescribeExportTasksInput{}
  8405  	}
  8406  
  8407  	output = &DescribeExportTasksOutput{}
  8408  	req = c.newRequest(op, input, output)
  8409  	return
  8410  }
  8411  
  8412  // DescribeExportTasks API operation for Amazon Relational Database Service.
  8413  //
  8414  // Returns information about a snapshot export to Amazon S3. This API operation
  8415  // supports pagination.
  8416  //
  8417  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8418  // with awserr.Error's Code and Message methods to get detailed information about
  8419  // the error.
  8420  //
  8421  // See the AWS API reference guide for Amazon Relational Database Service's
  8422  // API operation DescribeExportTasks for usage and error information.
  8423  //
  8424  // Returned Error Codes:
  8425  //   * ErrCodeExportTaskNotFoundFault "ExportTaskNotFound"
  8426  //   The export task doesn't exist.
  8427  //
  8428  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeExportTasks
  8429  func (c *RDS) DescribeExportTasks(input *DescribeExportTasksInput) (*DescribeExportTasksOutput, error) {
  8430  	req, out := c.DescribeExportTasksRequest(input)
  8431  	return out, req.Send()
  8432  }
  8433  
  8434  // DescribeExportTasksWithContext is the same as DescribeExportTasks with the addition of
  8435  // the ability to pass a context and additional request options.
  8436  //
  8437  // See DescribeExportTasks for details on how to use this API operation.
  8438  //
  8439  // The context must be non-nil and will be used for request cancellation. If
  8440  // the context is nil a panic will occur. In the future the SDK may create
  8441  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8442  // for more information on using Contexts.
  8443  func (c *RDS) DescribeExportTasksWithContext(ctx aws.Context, input *DescribeExportTasksInput, opts ...request.Option) (*DescribeExportTasksOutput, error) {
  8444  	req, out := c.DescribeExportTasksRequest(input)
  8445  	req.SetContext(ctx)
  8446  	req.ApplyOptions(opts...)
  8447  	return out, req.Send()
  8448  }
  8449  
  8450  // DescribeExportTasksPages iterates over the pages of a DescribeExportTasks operation,
  8451  // calling the "fn" function with the response data for each page. To stop
  8452  // iterating, return false from the fn function.
  8453  //
  8454  // See DescribeExportTasks method for more information on how to use this operation.
  8455  //
  8456  // Note: This operation can generate multiple requests to a service.
  8457  //
  8458  //    // Example iterating over at most 3 pages of a DescribeExportTasks operation.
  8459  //    pageNum := 0
  8460  //    err := client.DescribeExportTasksPages(params,
  8461  //        func(page *rds.DescribeExportTasksOutput, lastPage bool) bool {
  8462  //            pageNum++
  8463  //            fmt.Println(page)
  8464  //            return pageNum <= 3
  8465  //        })
  8466  //
  8467  func (c *RDS) DescribeExportTasksPages(input *DescribeExportTasksInput, fn func(*DescribeExportTasksOutput, bool) bool) error {
  8468  	return c.DescribeExportTasksPagesWithContext(aws.BackgroundContext(), input, fn)
  8469  }
  8470  
  8471  // DescribeExportTasksPagesWithContext same as DescribeExportTasksPages except
  8472  // it takes a Context and allows setting request options on the pages.
  8473  //
  8474  // The context must be non-nil and will be used for request cancellation. If
  8475  // the context is nil a panic will occur. In the future the SDK may create
  8476  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8477  // for more information on using Contexts.
  8478  func (c *RDS) DescribeExportTasksPagesWithContext(ctx aws.Context, input *DescribeExportTasksInput, fn func(*DescribeExportTasksOutput, bool) bool, opts ...request.Option) error {
  8479  	p := request.Pagination{
  8480  		NewRequest: func() (*request.Request, error) {
  8481  			var inCpy *DescribeExportTasksInput
  8482  			if input != nil {
  8483  				tmp := *input
  8484  				inCpy = &tmp
  8485  			}
  8486  			req, _ := c.DescribeExportTasksRequest(inCpy)
  8487  			req.SetContext(ctx)
  8488  			req.ApplyOptions(opts...)
  8489  			return req, nil
  8490  		},
  8491  	}
  8492  
  8493  	for p.Next() {
  8494  		if !fn(p.Page().(*DescribeExportTasksOutput), !p.HasNextPage()) {
  8495  			break
  8496  		}
  8497  	}
  8498  
  8499  	return p.Err()
  8500  }
  8501  
  8502  const opDescribeGlobalClusters = "DescribeGlobalClusters"
  8503  
  8504  // DescribeGlobalClustersRequest generates a "aws/request.Request" representing the
  8505  // client's request for the DescribeGlobalClusters operation. The "output" return
  8506  // value will be populated with the request's response once the request completes
  8507  // successfully.
  8508  //
  8509  // Use "Send" method on the returned Request to send the API call to the service.
  8510  // the "output" return value is not valid until after Send returns without error.
  8511  //
  8512  // See DescribeGlobalClusters for more information on using the DescribeGlobalClusters
  8513  // API call, and error handling.
  8514  //
  8515  // This method is useful when you want to inject custom logic or configuration
  8516  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8517  //
  8518  //
  8519  //    // Example sending a request using the DescribeGlobalClustersRequest method.
  8520  //    req, resp := client.DescribeGlobalClustersRequest(params)
  8521  //
  8522  //    err := req.Send()
  8523  //    if err == nil { // resp is now filled
  8524  //        fmt.Println(resp)
  8525  //    }
  8526  //
  8527  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeGlobalClusters
  8528  func (c *RDS) DescribeGlobalClustersRequest(input *DescribeGlobalClustersInput) (req *request.Request, output *DescribeGlobalClustersOutput) {
  8529  	op := &request.Operation{
  8530  		Name:       opDescribeGlobalClusters,
  8531  		HTTPMethod: "POST",
  8532  		HTTPPath:   "/",
  8533  		Paginator: &request.Paginator{
  8534  			InputTokens:     []string{"Marker"},
  8535  			OutputTokens:    []string{"Marker"},
  8536  			LimitToken:      "MaxRecords",
  8537  			TruncationToken: "",
  8538  		},
  8539  	}
  8540  
  8541  	if input == nil {
  8542  		input = &DescribeGlobalClustersInput{}
  8543  	}
  8544  
  8545  	output = &DescribeGlobalClustersOutput{}
  8546  	req = c.newRequest(op, input, output)
  8547  	return
  8548  }
  8549  
  8550  // DescribeGlobalClusters API operation for Amazon Relational Database Service.
  8551  //
  8552  // Returns information about Aurora global database clusters. This API supports
  8553  // pagination.
  8554  //
  8555  // For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
  8556  // in the Amazon Aurora User Guide.
  8557  //
  8558  // This action only applies to Aurora DB clusters.
  8559  //
  8560  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8561  // with awserr.Error's Code and Message methods to get detailed information about
  8562  // the error.
  8563  //
  8564  // See the AWS API reference guide for Amazon Relational Database Service's
  8565  // API operation DescribeGlobalClusters for usage and error information.
  8566  //
  8567  // Returned Error Codes:
  8568  //   * ErrCodeGlobalClusterNotFoundFault "GlobalClusterNotFoundFault"
  8569  //   The GlobalClusterIdentifier doesn't refer to an existing global database
  8570  //   cluster.
  8571  //
  8572  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeGlobalClusters
  8573  func (c *RDS) DescribeGlobalClusters(input *DescribeGlobalClustersInput) (*DescribeGlobalClustersOutput, error) {
  8574  	req, out := c.DescribeGlobalClustersRequest(input)
  8575  	return out, req.Send()
  8576  }
  8577  
  8578  // DescribeGlobalClustersWithContext is the same as DescribeGlobalClusters with the addition of
  8579  // the ability to pass a context and additional request options.
  8580  //
  8581  // See DescribeGlobalClusters for details on how to use this API operation.
  8582  //
  8583  // The context must be non-nil and will be used for request cancellation. If
  8584  // the context is nil a panic will occur. In the future the SDK may create
  8585  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8586  // for more information on using Contexts.
  8587  func (c *RDS) DescribeGlobalClustersWithContext(ctx aws.Context, input *DescribeGlobalClustersInput, opts ...request.Option) (*DescribeGlobalClustersOutput, error) {
  8588  	req, out := c.DescribeGlobalClustersRequest(input)
  8589  	req.SetContext(ctx)
  8590  	req.ApplyOptions(opts...)
  8591  	return out, req.Send()
  8592  }
  8593  
  8594  // DescribeGlobalClustersPages iterates over the pages of a DescribeGlobalClusters operation,
  8595  // calling the "fn" function with the response data for each page. To stop
  8596  // iterating, return false from the fn function.
  8597  //
  8598  // See DescribeGlobalClusters method for more information on how to use this operation.
  8599  //
  8600  // Note: This operation can generate multiple requests to a service.
  8601  //
  8602  //    // Example iterating over at most 3 pages of a DescribeGlobalClusters operation.
  8603  //    pageNum := 0
  8604  //    err := client.DescribeGlobalClustersPages(params,
  8605  //        func(page *rds.DescribeGlobalClustersOutput, lastPage bool) bool {
  8606  //            pageNum++
  8607  //            fmt.Println(page)
  8608  //            return pageNum <= 3
  8609  //        })
  8610  //
  8611  func (c *RDS) DescribeGlobalClustersPages(input *DescribeGlobalClustersInput, fn func(*DescribeGlobalClustersOutput, bool) bool) error {
  8612  	return c.DescribeGlobalClustersPagesWithContext(aws.BackgroundContext(), input, fn)
  8613  }
  8614  
  8615  // DescribeGlobalClustersPagesWithContext same as DescribeGlobalClustersPages except
  8616  // it takes a Context and allows setting request options on the pages.
  8617  //
  8618  // The context must be non-nil and will be used for request cancellation. If
  8619  // the context is nil a panic will occur. In the future the SDK may create
  8620  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8621  // for more information on using Contexts.
  8622  func (c *RDS) DescribeGlobalClustersPagesWithContext(ctx aws.Context, input *DescribeGlobalClustersInput, fn func(*DescribeGlobalClustersOutput, bool) bool, opts ...request.Option) error {
  8623  	p := request.Pagination{
  8624  		NewRequest: func() (*request.Request, error) {
  8625  			var inCpy *DescribeGlobalClustersInput
  8626  			if input != nil {
  8627  				tmp := *input
  8628  				inCpy = &tmp
  8629  			}
  8630  			req, _ := c.DescribeGlobalClustersRequest(inCpy)
  8631  			req.SetContext(ctx)
  8632  			req.ApplyOptions(opts...)
  8633  			return req, nil
  8634  		},
  8635  	}
  8636  
  8637  	for p.Next() {
  8638  		if !fn(p.Page().(*DescribeGlobalClustersOutput), !p.HasNextPage()) {
  8639  			break
  8640  		}
  8641  	}
  8642  
  8643  	return p.Err()
  8644  }
  8645  
  8646  const opDescribeInstallationMedia = "DescribeInstallationMedia"
  8647  
  8648  // DescribeInstallationMediaRequest generates a "aws/request.Request" representing the
  8649  // client's request for the DescribeInstallationMedia operation. The "output" return
  8650  // value will be populated with the request's response once the request completes
  8651  // successfully.
  8652  //
  8653  // Use "Send" method on the returned Request to send the API call to the service.
  8654  // the "output" return value is not valid until after Send returns without error.
  8655  //
  8656  // See DescribeInstallationMedia for more information on using the DescribeInstallationMedia
  8657  // API call, and error handling.
  8658  //
  8659  // This method is useful when you want to inject custom logic or configuration
  8660  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8661  //
  8662  //
  8663  //    // Example sending a request using the DescribeInstallationMediaRequest method.
  8664  //    req, resp := client.DescribeInstallationMediaRequest(params)
  8665  //
  8666  //    err := req.Send()
  8667  //    if err == nil { // resp is now filled
  8668  //        fmt.Println(resp)
  8669  //    }
  8670  //
  8671  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeInstallationMedia
  8672  func (c *RDS) DescribeInstallationMediaRequest(input *DescribeInstallationMediaInput) (req *request.Request, output *DescribeInstallationMediaOutput) {
  8673  	op := &request.Operation{
  8674  		Name:       opDescribeInstallationMedia,
  8675  		HTTPMethod: "POST",
  8676  		HTTPPath:   "/",
  8677  		Paginator: &request.Paginator{
  8678  			InputTokens:     []string{"Marker"},
  8679  			OutputTokens:    []string{"Marker"},
  8680  			LimitToken:      "MaxRecords",
  8681  			TruncationToken: "",
  8682  		},
  8683  	}
  8684  
  8685  	if input == nil {
  8686  		input = &DescribeInstallationMediaInput{}
  8687  	}
  8688  
  8689  	output = &DescribeInstallationMediaOutput{}
  8690  	req = c.newRequest(op, input, output)
  8691  	return
  8692  }
  8693  
  8694  // DescribeInstallationMedia API operation for Amazon Relational Database Service.
  8695  //
  8696  // Describes the available installation media for a DB engine that requires
  8697  // an on-premises customer provided license, such as Microsoft SQL Server.
  8698  //
  8699  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8700  // with awserr.Error's Code and Message methods to get detailed information about
  8701  // the error.
  8702  //
  8703  // See the AWS API reference guide for Amazon Relational Database Service's
  8704  // API operation DescribeInstallationMedia for usage and error information.
  8705  //
  8706  // Returned Error Codes:
  8707  //   * ErrCodeInstallationMediaNotFoundFault "InstallationMediaNotFound"
  8708  //   InstallationMediaID doesn't refer to an existing installation medium.
  8709  //
  8710  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeInstallationMedia
  8711  func (c *RDS) DescribeInstallationMedia(input *DescribeInstallationMediaInput) (*DescribeInstallationMediaOutput, error) {
  8712  	req, out := c.DescribeInstallationMediaRequest(input)
  8713  	return out, req.Send()
  8714  }
  8715  
  8716  // DescribeInstallationMediaWithContext is the same as DescribeInstallationMedia with the addition of
  8717  // the ability to pass a context and additional request options.
  8718  //
  8719  // See DescribeInstallationMedia for details on how to use this API operation.
  8720  //
  8721  // The context must be non-nil and will be used for request cancellation. If
  8722  // the context is nil a panic will occur. In the future the SDK may create
  8723  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8724  // for more information on using Contexts.
  8725  func (c *RDS) DescribeInstallationMediaWithContext(ctx aws.Context, input *DescribeInstallationMediaInput, opts ...request.Option) (*DescribeInstallationMediaOutput, error) {
  8726  	req, out := c.DescribeInstallationMediaRequest(input)
  8727  	req.SetContext(ctx)
  8728  	req.ApplyOptions(opts...)
  8729  	return out, req.Send()
  8730  }
  8731  
  8732  // DescribeInstallationMediaPages iterates over the pages of a DescribeInstallationMedia operation,
  8733  // calling the "fn" function with the response data for each page. To stop
  8734  // iterating, return false from the fn function.
  8735  //
  8736  // See DescribeInstallationMedia method for more information on how to use this operation.
  8737  //
  8738  // Note: This operation can generate multiple requests to a service.
  8739  //
  8740  //    // Example iterating over at most 3 pages of a DescribeInstallationMedia operation.
  8741  //    pageNum := 0
  8742  //    err := client.DescribeInstallationMediaPages(params,
  8743  //        func(page *rds.DescribeInstallationMediaOutput, lastPage bool) bool {
  8744  //            pageNum++
  8745  //            fmt.Println(page)
  8746  //            return pageNum <= 3
  8747  //        })
  8748  //
  8749  func (c *RDS) DescribeInstallationMediaPages(input *DescribeInstallationMediaInput, fn func(*DescribeInstallationMediaOutput, bool) bool) error {
  8750  	return c.DescribeInstallationMediaPagesWithContext(aws.BackgroundContext(), input, fn)
  8751  }
  8752  
  8753  // DescribeInstallationMediaPagesWithContext same as DescribeInstallationMediaPages except
  8754  // it takes a Context and allows setting request options on the pages.
  8755  //
  8756  // The context must be non-nil and will be used for request cancellation. If
  8757  // the context is nil a panic will occur. In the future the SDK may create
  8758  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8759  // for more information on using Contexts.
  8760  func (c *RDS) DescribeInstallationMediaPagesWithContext(ctx aws.Context, input *DescribeInstallationMediaInput, fn func(*DescribeInstallationMediaOutput, bool) bool, opts ...request.Option) error {
  8761  	p := request.Pagination{
  8762  		NewRequest: func() (*request.Request, error) {
  8763  			var inCpy *DescribeInstallationMediaInput
  8764  			if input != nil {
  8765  				tmp := *input
  8766  				inCpy = &tmp
  8767  			}
  8768  			req, _ := c.DescribeInstallationMediaRequest(inCpy)
  8769  			req.SetContext(ctx)
  8770  			req.ApplyOptions(opts...)
  8771  			return req, nil
  8772  		},
  8773  	}
  8774  
  8775  	for p.Next() {
  8776  		if !fn(p.Page().(*DescribeInstallationMediaOutput), !p.HasNextPage()) {
  8777  			break
  8778  		}
  8779  	}
  8780  
  8781  	return p.Err()
  8782  }
  8783  
  8784  const opDescribeOptionGroupOptions = "DescribeOptionGroupOptions"
  8785  
  8786  // DescribeOptionGroupOptionsRequest generates a "aws/request.Request" representing the
  8787  // client's request for the DescribeOptionGroupOptions operation. The "output" return
  8788  // value will be populated with the request's response once the request completes
  8789  // successfully.
  8790  //
  8791  // Use "Send" method on the returned Request to send the API call to the service.
  8792  // the "output" return value is not valid until after Send returns without error.
  8793  //
  8794  // See DescribeOptionGroupOptions for more information on using the DescribeOptionGroupOptions
  8795  // API call, and error handling.
  8796  //
  8797  // This method is useful when you want to inject custom logic or configuration
  8798  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8799  //
  8800  //
  8801  //    // Example sending a request using the DescribeOptionGroupOptionsRequest method.
  8802  //    req, resp := client.DescribeOptionGroupOptionsRequest(params)
  8803  //
  8804  //    err := req.Send()
  8805  //    if err == nil { // resp is now filled
  8806  //        fmt.Println(resp)
  8807  //    }
  8808  //
  8809  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOptionGroupOptions
  8810  func (c *RDS) DescribeOptionGroupOptionsRequest(input *DescribeOptionGroupOptionsInput) (req *request.Request, output *DescribeOptionGroupOptionsOutput) {
  8811  	op := &request.Operation{
  8812  		Name:       opDescribeOptionGroupOptions,
  8813  		HTTPMethod: "POST",
  8814  		HTTPPath:   "/",
  8815  		Paginator: &request.Paginator{
  8816  			InputTokens:     []string{"Marker"},
  8817  			OutputTokens:    []string{"Marker"},
  8818  			LimitToken:      "MaxRecords",
  8819  			TruncationToken: "",
  8820  		},
  8821  	}
  8822  
  8823  	if input == nil {
  8824  		input = &DescribeOptionGroupOptionsInput{}
  8825  	}
  8826  
  8827  	output = &DescribeOptionGroupOptionsOutput{}
  8828  	req = c.newRequest(op, input, output)
  8829  	return
  8830  }
  8831  
  8832  // DescribeOptionGroupOptions API operation for Amazon Relational Database Service.
  8833  //
  8834  // Describes all available options.
  8835  //
  8836  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8837  // with awserr.Error's Code and Message methods to get detailed information about
  8838  // the error.
  8839  //
  8840  // See the AWS API reference guide for Amazon Relational Database Service's
  8841  // API operation DescribeOptionGroupOptions for usage and error information.
  8842  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOptionGroupOptions
  8843  func (c *RDS) DescribeOptionGroupOptions(input *DescribeOptionGroupOptionsInput) (*DescribeOptionGroupOptionsOutput, error) {
  8844  	req, out := c.DescribeOptionGroupOptionsRequest(input)
  8845  	return out, req.Send()
  8846  }
  8847  
  8848  // DescribeOptionGroupOptionsWithContext is the same as DescribeOptionGroupOptions with the addition of
  8849  // the ability to pass a context and additional request options.
  8850  //
  8851  // See DescribeOptionGroupOptions for details on how to use this API operation.
  8852  //
  8853  // The context must be non-nil and will be used for request cancellation. If
  8854  // the context is nil a panic will occur. In the future the SDK may create
  8855  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8856  // for more information on using Contexts.
  8857  func (c *RDS) DescribeOptionGroupOptionsWithContext(ctx aws.Context, input *DescribeOptionGroupOptionsInput, opts ...request.Option) (*DescribeOptionGroupOptionsOutput, error) {
  8858  	req, out := c.DescribeOptionGroupOptionsRequest(input)
  8859  	req.SetContext(ctx)
  8860  	req.ApplyOptions(opts...)
  8861  	return out, req.Send()
  8862  }
  8863  
  8864  // DescribeOptionGroupOptionsPages iterates over the pages of a DescribeOptionGroupOptions operation,
  8865  // calling the "fn" function with the response data for each page. To stop
  8866  // iterating, return false from the fn function.
  8867  //
  8868  // See DescribeOptionGroupOptions method for more information on how to use this operation.
  8869  //
  8870  // Note: This operation can generate multiple requests to a service.
  8871  //
  8872  //    // Example iterating over at most 3 pages of a DescribeOptionGroupOptions operation.
  8873  //    pageNum := 0
  8874  //    err := client.DescribeOptionGroupOptionsPages(params,
  8875  //        func(page *rds.DescribeOptionGroupOptionsOutput, lastPage bool) bool {
  8876  //            pageNum++
  8877  //            fmt.Println(page)
  8878  //            return pageNum <= 3
  8879  //        })
  8880  //
  8881  func (c *RDS) DescribeOptionGroupOptionsPages(input *DescribeOptionGroupOptionsInput, fn func(*DescribeOptionGroupOptionsOutput, bool) bool) error {
  8882  	return c.DescribeOptionGroupOptionsPagesWithContext(aws.BackgroundContext(), input, fn)
  8883  }
  8884  
  8885  // DescribeOptionGroupOptionsPagesWithContext same as DescribeOptionGroupOptionsPages except
  8886  // it takes a Context and allows setting request options on the pages.
  8887  //
  8888  // The context must be non-nil and will be used for request cancellation. If
  8889  // the context is nil a panic will occur. In the future the SDK may create
  8890  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8891  // for more information on using Contexts.
  8892  func (c *RDS) DescribeOptionGroupOptionsPagesWithContext(ctx aws.Context, input *DescribeOptionGroupOptionsInput, fn func(*DescribeOptionGroupOptionsOutput, bool) bool, opts ...request.Option) error {
  8893  	p := request.Pagination{
  8894  		NewRequest: func() (*request.Request, error) {
  8895  			var inCpy *DescribeOptionGroupOptionsInput
  8896  			if input != nil {
  8897  				tmp := *input
  8898  				inCpy = &tmp
  8899  			}
  8900  			req, _ := c.DescribeOptionGroupOptionsRequest(inCpy)
  8901  			req.SetContext(ctx)
  8902  			req.ApplyOptions(opts...)
  8903  			return req, nil
  8904  		},
  8905  	}
  8906  
  8907  	for p.Next() {
  8908  		if !fn(p.Page().(*DescribeOptionGroupOptionsOutput), !p.HasNextPage()) {
  8909  			break
  8910  		}
  8911  	}
  8912  
  8913  	return p.Err()
  8914  }
  8915  
  8916  const opDescribeOptionGroups = "DescribeOptionGroups"
  8917  
  8918  // DescribeOptionGroupsRequest generates a "aws/request.Request" representing the
  8919  // client's request for the DescribeOptionGroups operation. The "output" return
  8920  // value will be populated with the request's response once the request completes
  8921  // successfully.
  8922  //
  8923  // Use "Send" method on the returned Request to send the API call to the service.
  8924  // the "output" return value is not valid until after Send returns without error.
  8925  //
  8926  // See DescribeOptionGroups for more information on using the DescribeOptionGroups
  8927  // API call, and error handling.
  8928  //
  8929  // This method is useful when you want to inject custom logic or configuration
  8930  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  8931  //
  8932  //
  8933  //    // Example sending a request using the DescribeOptionGroupsRequest method.
  8934  //    req, resp := client.DescribeOptionGroupsRequest(params)
  8935  //
  8936  //    err := req.Send()
  8937  //    if err == nil { // resp is now filled
  8938  //        fmt.Println(resp)
  8939  //    }
  8940  //
  8941  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOptionGroups
  8942  func (c *RDS) DescribeOptionGroupsRequest(input *DescribeOptionGroupsInput) (req *request.Request, output *DescribeOptionGroupsOutput) {
  8943  	op := &request.Operation{
  8944  		Name:       opDescribeOptionGroups,
  8945  		HTTPMethod: "POST",
  8946  		HTTPPath:   "/",
  8947  		Paginator: &request.Paginator{
  8948  			InputTokens:     []string{"Marker"},
  8949  			OutputTokens:    []string{"Marker"},
  8950  			LimitToken:      "MaxRecords",
  8951  			TruncationToken: "",
  8952  		},
  8953  	}
  8954  
  8955  	if input == nil {
  8956  		input = &DescribeOptionGroupsInput{}
  8957  	}
  8958  
  8959  	output = &DescribeOptionGroupsOutput{}
  8960  	req = c.newRequest(op, input, output)
  8961  	return
  8962  }
  8963  
  8964  // DescribeOptionGroups API operation for Amazon Relational Database Service.
  8965  //
  8966  // Describes the available option groups.
  8967  //
  8968  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  8969  // with awserr.Error's Code and Message methods to get detailed information about
  8970  // the error.
  8971  //
  8972  // See the AWS API reference guide for Amazon Relational Database Service's
  8973  // API operation DescribeOptionGroups for usage and error information.
  8974  //
  8975  // Returned Error Codes:
  8976  //   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
  8977  //   The specified option group could not be found.
  8978  //
  8979  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOptionGroups
  8980  func (c *RDS) DescribeOptionGroups(input *DescribeOptionGroupsInput) (*DescribeOptionGroupsOutput, error) {
  8981  	req, out := c.DescribeOptionGroupsRequest(input)
  8982  	return out, req.Send()
  8983  }
  8984  
  8985  // DescribeOptionGroupsWithContext is the same as DescribeOptionGroups with the addition of
  8986  // the ability to pass a context and additional request options.
  8987  //
  8988  // See DescribeOptionGroups for details on how to use this API operation.
  8989  //
  8990  // The context must be non-nil and will be used for request cancellation. If
  8991  // the context is nil a panic will occur. In the future the SDK may create
  8992  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  8993  // for more information on using Contexts.
  8994  func (c *RDS) DescribeOptionGroupsWithContext(ctx aws.Context, input *DescribeOptionGroupsInput, opts ...request.Option) (*DescribeOptionGroupsOutput, error) {
  8995  	req, out := c.DescribeOptionGroupsRequest(input)
  8996  	req.SetContext(ctx)
  8997  	req.ApplyOptions(opts...)
  8998  	return out, req.Send()
  8999  }
  9000  
  9001  // DescribeOptionGroupsPages iterates over the pages of a DescribeOptionGroups operation,
  9002  // calling the "fn" function with the response data for each page. To stop
  9003  // iterating, return false from the fn function.
  9004  //
  9005  // See DescribeOptionGroups method for more information on how to use this operation.
  9006  //
  9007  // Note: This operation can generate multiple requests to a service.
  9008  //
  9009  //    // Example iterating over at most 3 pages of a DescribeOptionGroups operation.
  9010  //    pageNum := 0
  9011  //    err := client.DescribeOptionGroupsPages(params,
  9012  //        func(page *rds.DescribeOptionGroupsOutput, lastPage bool) bool {
  9013  //            pageNum++
  9014  //            fmt.Println(page)
  9015  //            return pageNum <= 3
  9016  //        })
  9017  //
  9018  func (c *RDS) DescribeOptionGroupsPages(input *DescribeOptionGroupsInput, fn func(*DescribeOptionGroupsOutput, bool) bool) error {
  9019  	return c.DescribeOptionGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
  9020  }
  9021  
  9022  // DescribeOptionGroupsPagesWithContext same as DescribeOptionGroupsPages except
  9023  // it takes a Context and allows setting request options on the pages.
  9024  //
  9025  // The context must be non-nil and will be used for request cancellation. If
  9026  // the context is nil a panic will occur. In the future the SDK may create
  9027  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9028  // for more information on using Contexts.
  9029  func (c *RDS) DescribeOptionGroupsPagesWithContext(ctx aws.Context, input *DescribeOptionGroupsInput, fn func(*DescribeOptionGroupsOutput, bool) bool, opts ...request.Option) error {
  9030  	p := request.Pagination{
  9031  		NewRequest: func() (*request.Request, error) {
  9032  			var inCpy *DescribeOptionGroupsInput
  9033  			if input != nil {
  9034  				tmp := *input
  9035  				inCpy = &tmp
  9036  			}
  9037  			req, _ := c.DescribeOptionGroupsRequest(inCpy)
  9038  			req.SetContext(ctx)
  9039  			req.ApplyOptions(opts...)
  9040  			return req, nil
  9041  		},
  9042  	}
  9043  
  9044  	for p.Next() {
  9045  		if !fn(p.Page().(*DescribeOptionGroupsOutput), !p.HasNextPage()) {
  9046  			break
  9047  		}
  9048  	}
  9049  
  9050  	return p.Err()
  9051  }
  9052  
  9053  const opDescribeOrderableDBInstanceOptions = "DescribeOrderableDBInstanceOptions"
  9054  
  9055  // DescribeOrderableDBInstanceOptionsRequest generates a "aws/request.Request" representing the
  9056  // client's request for the DescribeOrderableDBInstanceOptions operation. The "output" return
  9057  // value will be populated with the request's response once the request completes
  9058  // successfully.
  9059  //
  9060  // Use "Send" method on the returned Request to send the API call to the service.
  9061  // the "output" return value is not valid until after Send returns without error.
  9062  //
  9063  // See DescribeOrderableDBInstanceOptions for more information on using the DescribeOrderableDBInstanceOptions
  9064  // API call, and error handling.
  9065  //
  9066  // This method is useful when you want to inject custom logic or configuration
  9067  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9068  //
  9069  //
  9070  //    // Example sending a request using the DescribeOrderableDBInstanceOptionsRequest method.
  9071  //    req, resp := client.DescribeOrderableDBInstanceOptionsRequest(params)
  9072  //
  9073  //    err := req.Send()
  9074  //    if err == nil { // resp is now filled
  9075  //        fmt.Println(resp)
  9076  //    }
  9077  //
  9078  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOrderableDBInstanceOptions
  9079  func (c *RDS) DescribeOrderableDBInstanceOptionsRequest(input *DescribeOrderableDBInstanceOptionsInput) (req *request.Request, output *DescribeOrderableDBInstanceOptionsOutput) {
  9080  	op := &request.Operation{
  9081  		Name:       opDescribeOrderableDBInstanceOptions,
  9082  		HTTPMethod: "POST",
  9083  		HTTPPath:   "/",
  9084  		Paginator: &request.Paginator{
  9085  			InputTokens:     []string{"Marker"},
  9086  			OutputTokens:    []string{"Marker"},
  9087  			LimitToken:      "MaxRecords",
  9088  			TruncationToken: "",
  9089  		},
  9090  	}
  9091  
  9092  	if input == nil {
  9093  		input = &DescribeOrderableDBInstanceOptionsInput{}
  9094  	}
  9095  
  9096  	output = &DescribeOrderableDBInstanceOptionsOutput{}
  9097  	req = c.newRequest(op, input, output)
  9098  	return
  9099  }
  9100  
  9101  // DescribeOrderableDBInstanceOptions API operation for Amazon Relational Database Service.
  9102  //
  9103  // Returns a list of orderable DB instance options for the specified engine.
  9104  //
  9105  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9106  // with awserr.Error's Code and Message methods to get detailed information about
  9107  // the error.
  9108  //
  9109  // See the AWS API reference guide for Amazon Relational Database Service's
  9110  // API operation DescribeOrderableDBInstanceOptions for usage and error information.
  9111  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOrderableDBInstanceOptions
  9112  func (c *RDS) DescribeOrderableDBInstanceOptions(input *DescribeOrderableDBInstanceOptionsInput) (*DescribeOrderableDBInstanceOptionsOutput, error) {
  9113  	req, out := c.DescribeOrderableDBInstanceOptionsRequest(input)
  9114  	return out, req.Send()
  9115  }
  9116  
  9117  // DescribeOrderableDBInstanceOptionsWithContext is the same as DescribeOrderableDBInstanceOptions with the addition of
  9118  // the ability to pass a context and additional request options.
  9119  //
  9120  // See DescribeOrderableDBInstanceOptions for details on how to use this API operation.
  9121  //
  9122  // The context must be non-nil and will be used for request cancellation. If
  9123  // the context is nil a panic will occur. In the future the SDK may create
  9124  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9125  // for more information on using Contexts.
  9126  func (c *RDS) DescribeOrderableDBInstanceOptionsWithContext(ctx aws.Context, input *DescribeOrderableDBInstanceOptionsInput, opts ...request.Option) (*DescribeOrderableDBInstanceOptionsOutput, error) {
  9127  	req, out := c.DescribeOrderableDBInstanceOptionsRequest(input)
  9128  	req.SetContext(ctx)
  9129  	req.ApplyOptions(opts...)
  9130  	return out, req.Send()
  9131  }
  9132  
  9133  // DescribeOrderableDBInstanceOptionsPages iterates over the pages of a DescribeOrderableDBInstanceOptions operation,
  9134  // calling the "fn" function with the response data for each page. To stop
  9135  // iterating, return false from the fn function.
  9136  //
  9137  // See DescribeOrderableDBInstanceOptions method for more information on how to use this operation.
  9138  //
  9139  // Note: This operation can generate multiple requests to a service.
  9140  //
  9141  //    // Example iterating over at most 3 pages of a DescribeOrderableDBInstanceOptions operation.
  9142  //    pageNum := 0
  9143  //    err := client.DescribeOrderableDBInstanceOptionsPages(params,
  9144  //        func(page *rds.DescribeOrderableDBInstanceOptionsOutput, lastPage bool) bool {
  9145  //            pageNum++
  9146  //            fmt.Println(page)
  9147  //            return pageNum <= 3
  9148  //        })
  9149  //
  9150  func (c *RDS) DescribeOrderableDBInstanceOptionsPages(input *DescribeOrderableDBInstanceOptionsInput, fn func(*DescribeOrderableDBInstanceOptionsOutput, bool) bool) error {
  9151  	return c.DescribeOrderableDBInstanceOptionsPagesWithContext(aws.BackgroundContext(), input, fn)
  9152  }
  9153  
  9154  // DescribeOrderableDBInstanceOptionsPagesWithContext same as DescribeOrderableDBInstanceOptionsPages except
  9155  // it takes a Context and allows setting request options on the pages.
  9156  //
  9157  // The context must be non-nil and will be used for request cancellation. If
  9158  // the context is nil a panic will occur. In the future the SDK may create
  9159  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9160  // for more information on using Contexts.
  9161  func (c *RDS) DescribeOrderableDBInstanceOptionsPagesWithContext(ctx aws.Context, input *DescribeOrderableDBInstanceOptionsInput, fn func(*DescribeOrderableDBInstanceOptionsOutput, bool) bool, opts ...request.Option) error {
  9162  	p := request.Pagination{
  9163  		NewRequest: func() (*request.Request, error) {
  9164  			var inCpy *DescribeOrderableDBInstanceOptionsInput
  9165  			if input != nil {
  9166  				tmp := *input
  9167  				inCpy = &tmp
  9168  			}
  9169  			req, _ := c.DescribeOrderableDBInstanceOptionsRequest(inCpy)
  9170  			req.SetContext(ctx)
  9171  			req.ApplyOptions(opts...)
  9172  			return req, nil
  9173  		},
  9174  	}
  9175  
  9176  	for p.Next() {
  9177  		if !fn(p.Page().(*DescribeOrderableDBInstanceOptionsOutput), !p.HasNextPage()) {
  9178  			break
  9179  		}
  9180  	}
  9181  
  9182  	return p.Err()
  9183  }
  9184  
  9185  const opDescribePendingMaintenanceActions = "DescribePendingMaintenanceActions"
  9186  
  9187  // DescribePendingMaintenanceActionsRequest generates a "aws/request.Request" representing the
  9188  // client's request for the DescribePendingMaintenanceActions operation. The "output" return
  9189  // value will be populated with the request's response once the request completes
  9190  // successfully.
  9191  //
  9192  // Use "Send" method on the returned Request to send the API call to the service.
  9193  // the "output" return value is not valid until after Send returns without error.
  9194  //
  9195  // See DescribePendingMaintenanceActions for more information on using the DescribePendingMaintenanceActions
  9196  // API call, and error handling.
  9197  //
  9198  // This method is useful when you want to inject custom logic or configuration
  9199  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9200  //
  9201  //
  9202  //    // Example sending a request using the DescribePendingMaintenanceActionsRequest method.
  9203  //    req, resp := client.DescribePendingMaintenanceActionsRequest(params)
  9204  //
  9205  //    err := req.Send()
  9206  //    if err == nil { // resp is now filled
  9207  //        fmt.Println(resp)
  9208  //    }
  9209  //
  9210  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribePendingMaintenanceActions
  9211  func (c *RDS) DescribePendingMaintenanceActionsRequest(input *DescribePendingMaintenanceActionsInput) (req *request.Request, output *DescribePendingMaintenanceActionsOutput) {
  9212  	op := &request.Operation{
  9213  		Name:       opDescribePendingMaintenanceActions,
  9214  		HTTPMethod: "POST",
  9215  		HTTPPath:   "/",
  9216  		Paginator: &request.Paginator{
  9217  			InputTokens:     []string{"Marker"},
  9218  			OutputTokens:    []string{"Marker"},
  9219  			LimitToken:      "MaxRecords",
  9220  			TruncationToken: "",
  9221  		},
  9222  	}
  9223  
  9224  	if input == nil {
  9225  		input = &DescribePendingMaintenanceActionsInput{}
  9226  	}
  9227  
  9228  	output = &DescribePendingMaintenanceActionsOutput{}
  9229  	req = c.newRequest(op, input, output)
  9230  	return
  9231  }
  9232  
  9233  // DescribePendingMaintenanceActions API operation for Amazon Relational Database Service.
  9234  //
  9235  // Returns a list of resources (for example, DB instances) that have at least
  9236  // one pending maintenance action.
  9237  //
  9238  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9239  // with awserr.Error's Code and Message methods to get detailed information about
  9240  // the error.
  9241  //
  9242  // See the AWS API reference guide for Amazon Relational Database Service's
  9243  // API operation DescribePendingMaintenanceActions for usage and error information.
  9244  //
  9245  // Returned Error Codes:
  9246  //   * ErrCodeResourceNotFoundFault "ResourceNotFoundFault"
  9247  //   The specified resource ID was not found.
  9248  //
  9249  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribePendingMaintenanceActions
  9250  func (c *RDS) DescribePendingMaintenanceActions(input *DescribePendingMaintenanceActionsInput) (*DescribePendingMaintenanceActionsOutput, error) {
  9251  	req, out := c.DescribePendingMaintenanceActionsRequest(input)
  9252  	return out, req.Send()
  9253  }
  9254  
  9255  // DescribePendingMaintenanceActionsWithContext is the same as DescribePendingMaintenanceActions with the addition of
  9256  // the ability to pass a context and additional request options.
  9257  //
  9258  // See DescribePendingMaintenanceActions for details on how to use this API operation.
  9259  //
  9260  // The context must be non-nil and will be used for request cancellation. If
  9261  // the context is nil a panic will occur. In the future the SDK may create
  9262  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9263  // for more information on using Contexts.
  9264  func (c *RDS) DescribePendingMaintenanceActionsWithContext(ctx aws.Context, input *DescribePendingMaintenanceActionsInput, opts ...request.Option) (*DescribePendingMaintenanceActionsOutput, error) {
  9265  	req, out := c.DescribePendingMaintenanceActionsRequest(input)
  9266  	req.SetContext(ctx)
  9267  	req.ApplyOptions(opts...)
  9268  	return out, req.Send()
  9269  }
  9270  
  9271  // DescribePendingMaintenanceActionsPages iterates over the pages of a DescribePendingMaintenanceActions operation,
  9272  // calling the "fn" function with the response data for each page. To stop
  9273  // iterating, return false from the fn function.
  9274  //
  9275  // See DescribePendingMaintenanceActions method for more information on how to use this operation.
  9276  //
  9277  // Note: This operation can generate multiple requests to a service.
  9278  //
  9279  //    // Example iterating over at most 3 pages of a DescribePendingMaintenanceActions operation.
  9280  //    pageNum := 0
  9281  //    err := client.DescribePendingMaintenanceActionsPages(params,
  9282  //        func(page *rds.DescribePendingMaintenanceActionsOutput, lastPage bool) bool {
  9283  //            pageNum++
  9284  //            fmt.Println(page)
  9285  //            return pageNum <= 3
  9286  //        })
  9287  //
  9288  func (c *RDS) DescribePendingMaintenanceActionsPages(input *DescribePendingMaintenanceActionsInput, fn func(*DescribePendingMaintenanceActionsOutput, bool) bool) error {
  9289  	return c.DescribePendingMaintenanceActionsPagesWithContext(aws.BackgroundContext(), input, fn)
  9290  }
  9291  
  9292  // DescribePendingMaintenanceActionsPagesWithContext same as DescribePendingMaintenanceActionsPages except
  9293  // it takes a Context and allows setting request options on the pages.
  9294  //
  9295  // The context must be non-nil and will be used for request cancellation. If
  9296  // the context is nil a panic will occur. In the future the SDK may create
  9297  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9298  // for more information on using Contexts.
  9299  func (c *RDS) DescribePendingMaintenanceActionsPagesWithContext(ctx aws.Context, input *DescribePendingMaintenanceActionsInput, fn func(*DescribePendingMaintenanceActionsOutput, bool) bool, opts ...request.Option) error {
  9300  	p := request.Pagination{
  9301  		NewRequest: func() (*request.Request, error) {
  9302  			var inCpy *DescribePendingMaintenanceActionsInput
  9303  			if input != nil {
  9304  				tmp := *input
  9305  				inCpy = &tmp
  9306  			}
  9307  			req, _ := c.DescribePendingMaintenanceActionsRequest(inCpy)
  9308  			req.SetContext(ctx)
  9309  			req.ApplyOptions(opts...)
  9310  			return req, nil
  9311  		},
  9312  	}
  9313  
  9314  	for p.Next() {
  9315  		if !fn(p.Page().(*DescribePendingMaintenanceActionsOutput), !p.HasNextPage()) {
  9316  			break
  9317  		}
  9318  	}
  9319  
  9320  	return p.Err()
  9321  }
  9322  
  9323  const opDescribeReservedDBInstances = "DescribeReservedDBInstances"
  9324  
  9325  // DescribeReservedDBInstancesRequest generates a "aws/request.Request" representing the
  9326  // client's request for the DescribeReservedDBInstances operation. The "output" return
  9327  // value will be populated with the request's response once the request completes
  9328  // successfully.
  9329  //
  9330  // Use "Send" method on the returned Request to send the API call to the service.
  9331  // the "output" return value is not valid until after Send returns without error.
  9332  //
  9333  // See DescribeReservedDBInstances for more information on using the DescribeReservedDBInstances
  9334  // API call, and error handling.
  9335  //
  9336  // This method is useful when you want to inject custom logic or configuration
  9337  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9338  //
  9339  //
  9340  //    // Example sending a request using the DescribeReservedDBInstancesRequest method.
  9341  //    req, resp := client.DescribeReservedDBInstancesRequest(params)
  9342  //
  9343  //    err := req.Send()
  9344  //    if err == nil { // resp is now filled
  9345  //        fmt.Println(resp)
  9346  //    }
  9347  //
  9348  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeReservedDBInstances
  9349  func (c *RDS) DescribeReservedDBInstancesRequest(input *DescribeReservedDBInstancesInput) (req *request.Request, output *DescribeReservedDBInstancesOutput) {
  9350  	op := &request.Operation{
  9351  		Name:       opDescribeReservedDBInstances,
  9352  		HTTPMethod: "POST",
  9353  		HTTPPath:   "/",
  9354  		Paginator: &request.Paginator{
  9355  			InputTokens:     []string{"Marker"},
  9356  			OutputTokens:    []string{"Marker"},
  9357  			LimitToken:      "MaxRecords",
  9358  			TruncationToken: "",
  9359  		},
  9360  	}
  9361  
  9362  	if input == nil {
  9363  		input = &DescribeReservedDBInstancesInput{}
  9364  	}
  9365  
  9366  	output = &DescribeReservedDBInstancesOutput{}
  9367  	req = c.newRequest(op, input, output)
  9368  	return
  9369  }
  9370  
  9371  // DescribeReservedDBInstances API operation for Amazon Relational Database Service.
  9372  //
  9373  // Returns information about reserved DB instances for this account, or about
  9374  // a specified reserved DB instance.
  9375  //
  9376  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9377  // with awserr.Error's Code and Message methods to get detailed information about
  9378  // the error.
  9379  //
  9380  // See the AWS API reference guide for Amazon Relational Database Service's
  9381  // API operation DescribeReservedDBInstances for usage and error information.
  9382  //
  9383  // Returned Error Codes:
  9384  //   * ErrCodeReservedDBInstanceNotFoundFault "ReservedDBInstanceNotFound"
  9385  //   The specified reserved DB Instance not found.
  9386  //
  9387  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeReservedDBInstances
  9388  func (c *RDS) DescribeReservedDBInstances(input *DescribeReservedDBInstancesInput) (*DescribeReservedDBInstancesOutput, error) {
  9389  	req, out := c.DescribeReservedDBInstancesRequest(input)
  9390  	return out, req.Send()
  9391  }
  9392  
  9393  // DescribeReservedDBInstancesWithContext is the same as DescribeReservedDBInstances with the addition of
  9394  // the ability to pass a context and additional request options.
  9395  //
  9396  // See DescribeReservedDBInstances for details on how to use this API operation.
  9397  //
  9398  // The context must be non-nil and will be used for request cancellation. If
  9399  // the context is nil a panic will occur. In the future the SDK may create
  9400  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9401  // for more information on using Contexts.
  9402  func (c *RDS) DescribeReservedDBInstancesWithContext(ctx aws.Context, input *DescribeReservedDBInstancesInput, opts ...request.Option) (*DescribeReservedDBInstancesOutput, error) {
  9403  	req, out := c.DescribeReservedDBInstancesRequest(input)
  9404  	req.SetContext(ctx)
  9405  	req.ApplyOptions(opts...)
  9406  	return out, req.Send()
  9407  }
  9408  
  9409  // DescribeReservedDBInstancesPages iterates over the pages of a DescribeReservedDBInstances operation,
  9410  // calling the "fn" function with the response data for each page. To stop
  9411  // iterating, return false from the fn function.
  9412  //
  9413  // See DescribeReservedDBInstances method for more information on how to use this operation.
  9414  //
  9415  // Note: This operation can generate multiple requests to a service.
  9416  //
  9417  //    // Example iterating over at most 3 pages of a DescribeReservedDBInstances operation.
  9418  //    pageNum := 0
  9419  //    err := client.DescribeReservedDBInstancesPages(params,
  9420  //        func(page *rds.DescribeReservedDBInstancesOutput, lastPage bool) bool {
  9421  //            pageNum++
  9422  //            fmt.Println(page)
  9423  //            return pageNum <= 3
  9424  //        })
  9425  //
  9426  func (c *RDS) DescribeReservedDBInstancesPages(input *DescribeReservedDBInstancesInput, fn func(*DescribeReservedDBInstancesOutput, bool) bool) error {
  9427  	return c.DescribeReservedDBInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
  9428  }
  9429  
  9430  // DescribeReservedDBInstancesPagesWithContext same as DescribeReservedDBInstancesPages except
  9431  // it takes a Context and allows setting request options on the pages.
  9432  //
  9433  // The context must be non-nil and will be used for request cancellation. If
  9434  // the context is nil a panic will occur. In the future the SDK may create
  9435  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9436  // for more information on using Contexts.
  9437  func (c *RDS) DescribeReservedDBInstancesPagesWithContext(ctx aws.Context, input *DescribeReservedDBInstancesInput, fn func(*DescribeReservedDBInstancesOutput, bool) bool, opts ...request.Option) error {
  9438  	p := request.Pagination{
  9439  		NewRequest: func() (*request.Request, error) {
  9440  			var inCpy *DescribeReservedDBInstancesInput
  9441  			if input != nil {
  9442  				tmp := *input
  9443  				inCpy = &tmp
  9444  			}
  9445  			req, _ := c.DescribeReservedDBInstancesRequest(inCpy)
  9446  			req.SetContext(ctx)
  9447  			req.ApplyOptions(opts...)
  9448  			return req, nil
  9449  		},
  9450  	}
  9451  
  9452  	for p.Next() {
  9453  		if !fn(p.Page().(*DescribeReservedDBInstancesOutput), !p.HasNextPage()) {
  9454  			break
  9455  		}
  9456  	}
  9457  
  9458  	return p.Err()
  9459  }
  9460  
  9461  const opDescribeReservedDBInstancesOfferings = "DescribeReservedDBInstancesOfferings"
  9462  
  9463  // DescribeReservedDBInstancesOfferingsRequest generates a "aws/request.Request" representing the
  9464  // client's request for the DescribeReservedDBInstancesOfferings operation. The "output" return
  9465  // value will be populated with the request's response once the request completes
  9466  // successfully.
  9467  //
  9468  // Use "Send" method on the returned Request to send the API call to the service.
  9469  // the "output" return value is not valid until after Send returns without error.
  9470  //
  9471  // See DescribeReservedDBInstancesOfferings for more information on using the DescribeReservedDBInstancesOfferings
  9472  // API call, and error handling.
  9473  //
  9474  // This method is useful when you want to inject custom logic or configuration
  9475  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9476  //
  9477  //
  9478  //    // Example sending a request using the DescribeReservedDBInstancesOfferingsRequest method.
  9479  //    req, resp := client.DescribeReservedDBInstancesOfferingsRequest(params)
  9480  //
  9481  //    err := req.Send()
  9482  //    if err == nil { // resp is now filled
  9483  //        fmt.Println(resp)
  9484  //    }
  9485  //
  9486  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeReservedDBInstancesOfferings
  9487  func (c *RDS) DescribeReservedDBInstancesOfferingsRequest(input *DescribeReservedDBInstancesOfferingsInput) (req *request.Request, output *DescribeReservedDBInstancesOfferingsOutput) {
  9488  	op := &request.Operation{
  9489  		Name:       opDescribeReservedDBInstancesOfferings,
  9490  		HTTPMethod: "POST",
  9491  		HTTPPath:   "/",
  9492  		Paginator: &request.Paginator{
  9493  			InputTokens:     []string{"Marker"},
  9494  			OutputTokens:    []string{"Marker"},
  9495  			LimitToken:      "MaxRecords",
  9496  			TruncationToken: "",
  9497  		},
  9498  	}
  9499  
  9500  	if input == nil {
  9501  		input = &DescribeReservedDBInstancesOfferingsInput{}
  9502  	}
  9503  
  9504  	output = &DescribeReservedDBInstancesOfferingsOutput{}
  9505  	req = c.newRequest(op, input, output)
  9506  	return
  9507  }
  9508  
  9509  // DescribeReservedDBInstancesOfferings API operation for Amazon Relational Database Service.
  9510  //
  9511  // Lists available reserved DB instance offerings.
  9512  //
  9513  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9514  // with awserr.Error's Code and Message methods to get detailed information about
  9515  // the error.
  9516  //
  9517  // See the AWS API reference guide for Amazon Relational Database Service's
  9518  // API operation DescribeReservedDBInstancesOfferings for usage and error information.
  9519  //
  9520  // Returned Error Codes:
  9521  //   * ErrCodeReservedDBInstancesOfferingNotFoundFault "ReservedDBInstancesOfferingNotFound"
  9522  //   Specified offering does not exist.
  9523  //
  9524  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeReservedDBInstancesOfferings
  9525  func (c *RDS) DescribeReservedDBInstancesOfferings(input *DescribeReservedDBInstancesOfferingsInput) (*DescribeReservedDBInstancesOfferingsOutput, error) {
  9526  	req, out := c.DescribeReservedDBInstancesOfferingsRequest(input)
  9527  	return out, req.Send()
  9528  }
  9529  
  9530  // DescribeReservedDBInstancesOfferingsWithContext is the same as DescribeReservedDBInstancesOfferings with the addition of
  9531  // the ability to pass a context and additional request options.
  9532  //
  9533  // See DescribeReservedDBInstancesOfferings for details on how to use this API operation.
  9534  //
  9535  // The context must be non-nil and will be used for request cancellation. If
  9536  // the context is nil a panic will occur. In the future the SDK may create
  9537  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9538  // for more information on using Contexts.
  9539  func (c *RDS) DescribeReservedDBInstancesOfferingsWithContext(ctx aws.Context, input *DescribeReservedDBInstancesOfferingsInput, opts ...request.Option) (*DescribeReservedDBInstancesOfferingsOutput, error) {
  9540  	req, out := c.DescribeReservedDBInstancesOfferingsRequest(input)
  9541  	req.SetContext(ctx)
  9542  	req.ApplyOptions(opts...)
  9543  	return out, req.Send()
  9544  }
  9545  
  9546  // DescribeReservedDBInstancesOfferingsPages iterates over the pages of a DescribeReservedDBInstancesOfferings operation,
  9547  // calling the "fn" function with the response data for each page. To stop
  9548  // iterating, return false from the fn function.
  9549  //
  9550  // See DescribeReservedDBInstancesOfferings method for more information on how to use this operation.
  9551  //
  9552  // Note: This operation can generate multiple requests to a service.
  9553  //
  9554  //    // Example iterating over at most 3 pages of a DescribeReservedDBInstancesOfferings operation.
  9555  //    pageNum := 0
  9556  //    err := client.DescribeReservedDBInstancesOfferingsPages(params,
  9557  //        func(page *rds.DescribeReservedDBInstancesOfferingsOutput, lastPage bool) bool {
  9558  //            pageNum++
  9559  //            fmt.Println(page)
  9560  //            return pageNum <= 3
  9561  //        })
  9562  //
  9563  func (c *RDS) DescribeReservedDBInstancesOfferingsPages(input *DescribeReservedDBInstancesOfferingsInput, fn func(*DescribeReservedDBInstancesOfferingsOutput, bool) bool) error {
  9564  	return c.DescribeReservedDBInstancesOfferingsPagesWithContext(aws.BackgroundContext(), input, fn)
  9565  }
  9566  
  9567  // DescribeReservedDBInstancesOfferingsPagesWithContext same as DescribeReservedDBInstancesOfferingsPages except
  9568  // it takes a Context and allows setting request options on the pages.
  9569  //
  9570  // The context must be non-nil and will be used for request cancellation. If
  9571  // the context is nil a panic will occur. In the future the SDK may create
  9572  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9573  // for more information on using Contexts.
  9574  func (c *RDS) DescribeReservedDBInstancesOfferingsPagesWithContext(ctx aws.Context, input *DescribeReservedDBInstancesOfferingsInput, fn func(*DescribeReservedDBInstancesOfferingsOutput, bool) bool, opts ...request.Option) error {
  9575  	p := request.Pagination{
  9576  		NewRequest: func() (*request.Request, error) {
  9577  			var inCpy *DescribeReservedDBInstancesOfferingsInput
  9578  			if input != nil {
  9579  				tmp := *input
  9580  				inCpy = &tmp
  9581  			}
  9582  			req, _ := c.DescribeReservedDBInstancesOfferingsRequest(inCpy)
  9583  			req.SetContext(ctx)
  9584  			req.ApplyOptions(opts...)
  9585  			return req, nil
  9586  		},
  9587  	}
  9588  
  9589  	for p.Next() {
  9590  		if !fn(p.Page().(*DescribeReservedDBInstancesOfferingsOutput), !p.HasNextPage()) {
  9591  			break
  9592  		}
  9593  	}
  9594  
  9595  	return p.Err()
  9596  }
  9597  
  9598  const opDescribeSourceRegions = "DescribeSourceRegions"
  9599  
  9600  // DescribeSourceRegionsRequest generates a "aws/request.Request" representing the
  9601  // client's request for the DescribeSourceRegions operation. The "output" return
  9602  // value will be populated with the request's response once the request completes
  9603  // successfully.
  9604  //
  9605  // Use "Send" method on the returned Request to send the API call to the service.
  9606  // the "output" return value is not valid until after Send returns without error.
  9607  //
  9608  // See DescribeSourceRegions for more information on using the DescribeSourceRegions
  9609  // API call, and error handling.
  9610  //
  9611  // This method is useful when you want to inject custom logic or configuration
  9612  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9613  //
  9614  //
  9615  //    // Example sending a request using the DescribeSourceRegionsRequest method.
  9616  //    req, resp := client.DescribeSourceRegionsRequest(params)
  9617  //
  9618  //    err := req.Send()
  9619  //    if err == nil { // resp is now filled
  9620  //        fmt.Println(resp)
  9621  //    }
  9622  //
  9623  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeSourceRegions
  9624  func (c *RDS) DescribeSourceRegionsRequest(input *DescribeSourceRegionsInput) (req *request.Request, output *DescribeSourceRegionsOutput) {
  9625  	op := &request.Operation{
  9626  		Name:       opDescribeSourceRegions,
  9627  		HTTPMethod: "POST",
  9628  		HTTPPath:   "/",
  9629  		Paginator: &request.Paginator{
  9630  			InputTokens:     []string{"Marker"},
  9631  			OutputTokens:    []string{"Marker"},
  9632  			LimitToken:      "MaxRecords",
  9633  			TruncationToken: "",
  9634  		},
  9635  	}
  9636  
  9637  	if input == nil {
  9638  		input = &DescribeSourceRegionsInput{}
  9639  	}
  9640  
  9641  	output = &DescribeSourceRegionsOutput{}
  9642  	req = c.newRequest(op, input, output)
  9643  	return
  9644  }
  9645  
  9646  // DescribeSourceRegions API operation for Amazon Relational Database Service.
  9647  //
  9648  // Returns a list of the source Amazon Web Services Regions where the current
  9649  // Amazon Web Services Region can create a read replica, copy a DB snapshot
  9650  // from, or replicate automated backups from. This API action supports pagination.
  9651  //
  9652  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9653  // with awserr.Error's Code and Message methods to get detailed information about
  9654  // the error.
  9655  //
  9656  // See the AWS API reference guide for Amazon Relational Database Service's
  9657  // API operation DescribeSourceRegions for usage and error information.
  9658  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeSourceRegions
  9659  func (c *RDS) DescribeSourceRegions(input *DescribeSourceRegionsInput) (*DescribeSourceRegionsOutput, error) {
  9660  	req, out := c.DescribeSourceRegionsRequest(input)
  9661  	return out, req.Send()
  9662  }
  9663  
  9664  // DescribeSourceRegionsWithContext is the same as DescribeSourceRegions with the addition of
  9665  // the ability to pass a context and additional request options.
  9666  //
  9667  // See DescribeSourceRegions for details on how to use this API operation.
  9668  //
  9669  // The context must be non-nil and will be used for request cancellation. If
  9670  // the context is nil a panic will occur. In the future the SDK may create
  9671  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9672  // for more information on using Contexts.
  9673  func (c *RDS) DescribeSourceRegionsWithContext(ctx aws.Context, input *DescribeSourceRegionsInput, opts ...request.Option) (*DescribeSourceRegionsOutput, error) {
  9674  	req, out := c.DescribeSourceRegionsRequest(input)
  9675  	req.SetContext(ctx)
  9676  	req.ApplyOptions(opts...)
  9677  	return out, req.Send()
  9678  }
  9679  
  9680  // DescribeSourceRegionsPages iterates over the pages of a DescribeSourceRegions operation,
  9681  // calling the "fn" function with the response data for each page. To stop
  9682  // iterating, return false from the fn function.
  9683  //
  9684  // See DescribeSourceRegions method for more information on how to use this operation.
  9685  //
  9686  // Note: This operation can generate multiple requests to a service.
  9687  //
  9688  //    // Example iterating over at most 3 pages of a DescribeSourceRegions operation.
  9689  //    pageNum := 0
  9690  //    err := client.DescribeSourceRegionsPages(params,
  9691  //        func(page *rds.DescribeSourceRegionsOutput, lastPage bool) bool {
  9692  //            pageNum++
  9693  //            fmt.Println(page)
  9694  //            return pageNum <= 3
  9695  //        })
  9696  //
  9697  func (c *RDS) DescribeSourceRegionsPages(input *DescribeSourceRegionsInput, fn func(*DescribeSourceRegionsOutput, bool) bool) error {
  9698  	return c.DescribeSourceRegionsPagesWithContext(aws.BackgroundContext(), input, fn)
  9699  }
  9700  
  9701  // DescribeSourceRegionsPagesWithContext same as DescribeSourceRegionsPages except
  9702  // it takes a Context and allows setting request options on the pages.
  9703  //
  9704  // The context must be non-nil and will be used for request cancellation. If
  9705  // the context is nil a panic will occur. In the future the SDK may create
  9706  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9707  // for more information on using Contexts.
  9708  func (c *RDS) DescribeSourceRegionsPagesWithContext(ctx aws.Context, input *DescribeSourceRegionsInput, fn func(*DescribeSourceRegionsOutput, bool) bool, opts ...request.Option) error {
  9709  	p := request.Pagination{
  9710  		NewRequest: func() (*request.Request, error) {
  9711  			var inCpy *DescribeSourceRegionsInput
  9712  			if input != nil {
  9713  				tmp := *input
  9714  				inCpy = &tmp
  9715  			}
  9716  			req, _ := c.DescribeSourceRegionsRequest(inCpy)
  9717  			req.SetContext(ctx)
  9718  			req.ApplyOptions(opts...)
  9719  			return req, nil
  9720  		},
  9721  	}
  9722  
  9723  	for p.Next() {
  9724  		if !fn(p.Page().(*DescribeSourceRegionsOutput), !p.HasNextPage()) {
  9725  			break
  9726  		}
  9727  	}
  9728  
  9729  	return p.Err()
  9730  }
  9731  
  9732  const opDescribeValidDBInstanceModifications = "DescribeValidDBInstanceModifications"
  9733  
  9734  // DescribeValidDBInstanceModificationsRequest generates a "aws/request.Request" representing the
  9735  // client's request for the DescribeValidDBInstanceModifications operation. The "output" return
  9736  // value will be populated with the request's response once the request completes
  9737  // successfully.
  9738  //
  9739  // Use "Send" method on the returned Request to send the API call to the service.
  9740  // the "output" return value is not valid until after Send returns without error.
  9741  //
  9742  // See DescribeValidDBInstanceModifications for more information on using the DescribeValidDBInstanceModifications
  9743  // API call, and error handling.
  9744  //
  9745  // This method is useful when you want to inject custom logic or configuration
  9746  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9747  //
  9748  //
  9749  //    // Example sending a request using the DescribeValidDBInstanceModificationsRequest method.
  9750  //    req, resp := client.DescribeValidDBInstanceModificationsRequest(params)
  9751  //
  9752  //    err := req.Send()
  9753  //    if err == nil { // resp is now filled
  9754  //        fmt.Println(resp)
  9755  //    }
  9756  //
  9757  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeValidDBInstanceModifications
  9758  func (c *RDS) DescribeValidDBInstanceModificationsRequest(input *DescribeValidDBInstanceModificationsInput) (req *request.Request, output *DescribeValidDBInstanceModificationsOutput) {
  9759  	op := &request.Operation{
  9760  		Name:       opDescribeValidDBInstanceModifications,
  9761  		HTTPMethod: "POST",
  9762  		HTTPPath:   "/",
  9763  	}
  9764  
  9765  	if input == nil {
  9766  		input = &DescribeValidDBInstanceModificationsInput{}
  9767  	}
  9768  
  9769  	output = &DescribeValidDBInstanceModificationsOutput{}
  9770  	req = c.newRequest(op, input, output)
  9771  	return
  9772  }
  9773  
  9774  // DescribeValidDBInstanceModifications API operation for Amazon Relational Database Service.
  9775  //
  9776  // You can call DescribeValidDBInstanceModifications to learn what modifications
  9777  // you can make to your DB instance. You can use this information when you call
  9778  // ModifyDBInstance.
  9779  //
  9780  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9781  // with awserr.Error's Code and Message methods to get detailed information about
  9782  // the error.
  9783  //
  9784  // See the AWS API reference guide for Amazon Relational Database Service's
  9785  // API operation DescribeValidDBInstanceModifications for usage and error information.
  9786  //
  9787  // Returned Error Codes:
  9788  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
  9789  //   DBInstanceIdentifier doesn't refer to an existing DB instance.
  9790  //
  9791  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
  9792  //   The DB instance isn't in a valid state.
  9793  //
  9794  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeValidDBInstanceModifications
  9795  func (c *RDS) DescribeValidDBInstanceModifications(input *DescribeValidDBInstanceModificationsInput) (*DescribeValidDBInstanceModificationsOutput, error) {
  9796  	req, out := c.DescribeValidDBInstanceModificationsRequest(input)
  9797  	return out, req.Send()
  9798  }
  9799  
  9800  // DescribeValidDBInstanceModificationsWithContext is the same as DescribeValidDBInstanceModifications with the addition of
  9801  // the ability to pass a context and additional request options.
  9802  //
  9803  // See DescribeValidDBInstanceModifications for details on how to use this API operation.
  9804  //
  9805  // The context must be non-nil and will be used for request cancellation. If
  9806  // the context is nil a panic will occur. In the future the SDK may create
  9807  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9808  // for more information on using Contexts.
  9809  func (c *RDS) DescribeValidDBInstanceModificationsWithContext(ctx aws.Context, input *DescribeValidDBInstanceModificationsInput, opts ...request.Option) (*DescribeValidDBInstanceModificationsOutput, error) {
  9810  	req, out := c.DescribeValidDBInstanceModificationsRequest(input)
  9811  	req.SetContext(ctx)
  9812  	req.ApplyOptions(opts...)
  9813  	return out, req.Send()
  9814  }
  9815  
  9816  const opDownloadDBLogFilePortion = "DownloadDBLogFilePortion"
  9817  
  9818  // DownloadDBLogFilePortionRequest generates a "aws/request.Request" representing the
  9819  // client's request for the DownloadDBLogFilePortion operation. The "output" return
  9820  // value will be populated with the request's response once the request completes
  9821  // successfully.
  9822  //
  9823  // Use "Send" method on the returned Request to send the API call to the service.
  9824  // the "output" return value is not valid until after Send returns without error.
  9825  //
  9826  // See DownloadDBLogFilePortion for more information on using the DownloadDBLogFilePortion
  9827  // API call, and error handling.
  9828  //
  9829  // This method is useful when you want to inject custom logic or configuration
  9830  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9831  //
  9832  //
  9833  //    // Example sending a request using the DownloadDBLogFilePortionRequest method.
  9834  //    req, resp := client.DownloadDBLogFilePortionRequest(params)
  9835  //
  9836  //    err := req.Send()
  9837  //    if err == nil { // resp is now filled
  9838  //        fmt.Println(resp)
  9839  //    }
  9840  //
  9841  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DownloadDBLogFilePortion
  9842  func (c *RDS) DownloadDBLogFilePortionRequest(input *DownloadDBLogFilePortionInput) (req *request.Request, output *DownloadDBLogFilePortionOutput) {
  9843  	op := &request.Operation{
  9844  		Name:       opDownloadDBLogFilePortion,
  9845  		HTTPMethod: "POST",
  9846  		HTTPPath:   "/",
  9847  		Paginator: &request.Paginator{
  9848  			InputTokens:     []string{"Marker"},
  9849  			OutputTokens:    []string{"Marker"},
  9850  			LimitToken:      "NumberOfLines",
  9851  			TruncationToken: "AdditionalDataPending",
  9852  		},
  9853  	}
  9854  
  9855  	if input == nil {
  9856  		input = &DownloadDBLogFilePortionInput{}
  9857  	}
  9858  
  9859  	output = &DownloadDBLogFilePortionOutput{}
  9860  	req = c.newRequest(op, input, output)
  9861  	return
  9862  }
  9863  
  9864  // DownloadDBLogFilePortion API operation for Amazon Relational Database Service.
  9865  //
  9866  // Downloads all or a portion of the specified log file, up to 1 MB in size.
  9867  //
  9868  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  9869  // with awserr.Error's Code and Message methods to get detailed information about
  9870  // the error.
  9871  //
  9872  // See the AWS API reference guide for Amazon Relational Database Service's
  9873  // API operation DownloadDBLogFilePortion for usage and error information.
  9874  //
  9875  // Returned Error Codes:
  9876  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
  9877  //   DBInstanceIdentifier doesn't refer to an existing DB instance.
  9878  //
  9879  //   * ErrCodeDBLogFileNotFoundFault "DBLogFileNotFoundFault"
  9880  //   LogFileName doesn't refer to an existing DB log file.
  9881  //
  9882  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DownloadDBLogFilePortion
  9883  func (c *RDS) DownloadDBLogFilePortion(input *DownloadDBLogFilePortionInput) (*DownloadDBLogFilePortionOutput, error) {
  9884  	req, out := c.DownloadDBLogFilePortionRequest(input)
  9885  	return out, req.Send()
  9886  }
  9887  
  9888  // DownloadDBLogFilePortionWithContext is the same as DownloadDBLogFilePortion with the addition of
  9889  // the ability to pass a context and additional request options.
  9890  //
  9891  // See DownloadDBLogFilePortion for details on how to use this API operation.
  9892  //
  9893  // The context must be non-nil and will be used for request cancellation. If
  9894  // the context is nil a panic will occur. In the future the SDK may create
  9895  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9896  // for more information on using Contexts.
  9897  func (c *RDS) DownloadDBLogFilePortionWithContext(ctx aws.Context, input *DownloadDBLogFilePortionInput, opts ...request.Option) (*DownloadDBLogFilePortionOutput, error) {
  9898  	req, out := c.DownloadDBLogFilePortionRequest(input)
  9899  	req.SetContext(ctx)
  9900  	req.ApplyOptions(opts...)
  9901  	return out, req.Send()
  9902  }
  9903  
  9904  // DownloadDBLogFilePortionPages iterates over the pages of a DownloadDBLogFilePortion operation,
  9905  // calling the "fn" function with the response data for each page. To stop
  9906  // iterating, return false from the fn function.
  9907  //
  9908  // See DownloadDBLogFilePortion method for more information on how to use this operation.
  9909  //
  9910  // Note: This operation can generate multiple requests to a service.
  9911  //
  9912  //    // Example iterating over at most 3 pages of a DownloadDBLogFilePortion operation.
  9913  //    pageNum := 0
  9914  //    err := client.DownloadDBLogFilePortionPages(params,
  9915  //        func(page *rds.DownloadDBLogFilePortionOutput, lastPage bool) bool {
  9916  //            pageNum++
  9917  //            fmt.Println(page)
  9918  //            return pageNum <= 3
  9919  //        })
  9920  //
  9921  func (c *RDS) DownloadDBLogFilePortionPages(input *DownloadDBLogFilePortionInput, fn func(*DownloadDBLogFilePortionOutput, bool) bool) error {
  9922  	return c.DownloadDBLogFilePortionPagesWithContext(aws.BackgroundContext(), input, fn)
  9923  }
  9924  
  9925  // DownloadDBLogFilePortionPagesWithContext same as DownloadDBLogFilePortionPages except
  9926  // it takes a Context and allows setting request options on the pages.
  9927  //
  9928  // The context must be non-nil and will be used for request cancellation. If
  9929  // the context is nil a panic will occur. In the future the SDK may create
  9930  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  9931  // for more information on using Contexts.
  9932  func (c *RDS) DownloadDBLogFilePortionPagesWithContext(ctx aws.Context, input *DownloadDBLogFilePortionInput, fn func(*DownloadDBLogFilePortionOutput, bool) bool, opts ...request.Option) error {
  9933  	p := request.Pagination{
  9934  		NewRequest: func() (*request.Request, error) {
  9935  			var inCpy *DownloadDBLogFilePortionInput
  9936  			if input != nil {
  9937  				tmp := *input
  9938  				inCpy = &tmp
  9939  			}
  9940  			req, _ := c.DownloadDBLogFilePortionRequest(inCpy)
  9941  			req.SetContext(ctx)
  9942  			req.ApplyOptions(opts...)
  9943  			return req, nil
  9944  		},
  9945  	}
  9946  
  9947  	for p.Next() {
  9948  		if !fn(p.Page().(*DownloadDBLogFilePortionOutput), !p.HasNextPage()) {
  9949  			break
  9950  		}
  9951  	}
  9952  
  9953  	return p.Err()
  9954  }
  9955  
  9956  const opFailoverDBCluster = "FailoverDBCluster"
  9957  
  9958  // FailoverDBClusterRequest generates a "aws/request.Request" representing the
  9959  // client's request for the FailoverDBCluster operation. The "output" return
  9960  // value will be populated with the request's response once the request completes
  9961  // successfully.
  9962  //
  9963  // Use "Send" method on the returned Request to send the API call to the service.
  9964  // the "output" return value is not valid until after Send returns without error.
  9965  //
  9966  // See FailoverDBCluster for more information on using the FailoverDBCluster
  9967  // API call, and error handling.
  9968  //
  9969  // This method is useful when you want to inject custom logic or configuration
  9970  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  9971  //
  9972  //
  9973  //    // Example sending a request using the FailoverDBClusterRequest method.
  9974  //    req, resp := client.FailoverDBClusterRequest(params)
  9975  //
  9976  //    err := req.Send()
  9977  //    if err == nil { // resp is now filled
  9978  //        fmt.Println(resp)
  9979  //    }
  9980  //
  9981  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/FailoverDBCluster
  9982  func (c *RDS) FailoverDBClusterRequest(input *FailoverDBClusterInput) (req *request.Request, output *FailoverDBClusterOutput) {
  9983  	op := &request.Operation{
  9984  		Name:       opFailoverDBCluster,
  9985  		HTTPMethod: "POST",
  9986  		HTTPPath:   "/",
  9987  	}
  9988  
  9989  	if input == nil {
  9990  		input = &FailoverDBClusterInput{}
  9991  	}
  9992  
  9993  	output = &FailoverDBClusterOutput{}
  9994  	req = c.newRequest(op, input, output)
  9995  	return
  9996  }
  9997  
  9998  // FailoverDBCluster API operation for Amazon Relational Database Service.
  9999  //
 10000  // Forces a failover for a DB cluster.
 10001  //
 10002  // A failover for a DB cluster promotes one of the Aurora Replicas (read-only
 10003  // instances) in the DB cluster to be the primary instance (the cluster writer).
 10004  //
 10005  // Amazon Aurora will automatically fail over to an Aurora Replica, if one exists,
 10006  // when the primary instance fails. You can force a failover when you want to
 10007  // simulate a failure of a primary instance for testing. Because each instance
 10008  // in a DB cluster has its own endpoint address, you will need to clean up and
 10009  // re-establish any existing connections that use those endpoint addresses when
 10010  // the failover is complete.
 10011  //
 10012  // For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
 10013  // in the Amazon Aurora User Guide.
 10014  //
 10015  // This action only applies to Aurora DB clusters.
 10016  //
 10017  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10018  // with awserr.Error's Code and Message methods to get detailed information about
 10019  // the error.
 10020  //
 10021  // See the AWS API reference guide for Amazon Relational Database Service's
 10022  // API operation FailoverDBCluster for usage and error information.
 10023  //
 10024  // Returned Error Codes:
 10025  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
 10026  //   DBClusterIdentifier doesn't refer to an existing DB cluster.
 10027  //
 10028  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
 10029  //   The requested operation can't be performed while the cluster is in this state.
 10030  //
 10031  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
 10032  //   The DB instance isn't in a valid state.
 10033  //
 10034  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/FailoverDBCluster
 10035  func (c *RDS) FailoverDBCluster(input *FailoverDBClusterInput) (*FailoverDBClusterOutput, error) {
 10036  	req, out := c.FailoverDBClusterRequest(input)
 10037  	return out, req.Send()
 10038  }
 10039  
 10040  // FailoverDBClusterWithContext is the same as FailoverDBCluster with the addition of
 10041  // the ability to pass a context and additional request options.
 10042  //
 10043  // See FailoverDBCluster for details on how to use this API operation.
 10044  //
 10045  // The context must be non-nil and will be used for request cancellation. If
 10046  // the context is nil a panic will occur. In the future the SDK may create
 10047  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10048  // for more information on using Contexts.
 10049  func (c *RDS) FailoverDBClusterWithContext(ctx aws.Context, input *FailoverDBClusterInput, opts ...request.Option) (*FailoverDBClusterOutput, error) {
 10050  	req, out := c.FailoverDBClusterRequest(input)
 10051  	req.SetContext(ctx)
 10052  	req.ApplyOptions(opts...)
 10053  	return out, req.Send()
 10054  }
 10055  
 10056  const opFailoverGlobalCluster = "FailoverGlobalCluster"
 10057  
 10058  // FailoverGlobalClusterRequest generates a "aws/request.Request" representing the
 10059  // client's request for the FailoverGlobalCluster operation. The "output" return
 10060  // value will be populated with the request's response once the request completes
 10061  // successfully.
 10062  //
 10063  // Use "Send" method on the returned Request to send the API call to the service.
 10064  // the "output" return value is not valid until after Send returns without error.
 10065  //
 10066  // See FailoverGlobalCluster for more information on using the FailoverGlobalCluster
 10067  // API call, and error handling.
 10068  //
 10069  // This method is useful when you want to inject custom logic or configuration
 10070  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10071  //
 10072  //
 10073  //    // Example sending a request using the FailoverGlobalClusterRequest method.
 10074  //    req, resp := client.FailoverGlobalClusterRequest(params)
 10075  //
 10076  //    err := req.Send()
 10077  //    if err == nil { // resp is now filled
 10078  //        fmt.Println(resp)
 10079  //    }
 10080  //
 10081  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/FailoverGlobalCluster
 10082  func (c *RDS) FailoverGlobalClusterRequest(input *FailoverGlobalClusterInput) (req *request.Request, output *FailoverGlobalClusterOutput) {
 10083  	op := &request.Operation{
 10084  		Name:       opFailoverGlobalCluster,
 10085  		HTTPMethod: "POST",
 10086  		HTTPPath:   "/",
 10087  	}
 10088  
 10089  	if input == nil {
 10090  		input = &FailoverGlobalClusterInput{}
 10091  	}
 10092  
 10093  	output = &FailoverGlobalClusterOutput{}
 10094  	req = c.newRequest(op, input, output)
 10095  	return
 10096  }
 10097  
 10098  // FailoverGlobalCluster API operation for Amazon Relational Database Service.
 10099  //
 10100  // Initiates the failover process for an Aurora global database (GlobalCluster).
 10101  //
 10102  // A failover for an Aurora global database promotes one of secondary read-only
 10103  // DB clusters to be the primary DB cluster and demotes the primary DB cluster
 10104  // to being a secondary (read-only) DB cluster. In other words, the role of
 10105  // the current primary DB cluster and the selected (target) DB cluster are switched.
 10106  // The selected secondary DB cluster assumes full read/write capabilities for
 10107  // the Aurora global database.
 10108  //
 10109  // For more information about failing over an Amazon Aurora global database,
 10110  // see Managed planned failover for Amazon Aurora global databases (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-disaster-recovery.html#aurora-global-database-disaster-recovery.managed-failover)
 10111  // in the Amazon Aurora User Guide.
 10112  //
 10113  // This action applies to GlobalCluster (Aurora global databases) only. Use
 10114  // this action only on healthy Aurora global databases with running Aurora DB
 10115  // clusters and no Region-wide outages, to test disaster recovery scenarios
 10116  // or to reconfigure your Aurora global database topology.
 10117  //
 10118  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10119  // with awserr.Error's Code and Message methods to get detailed information about
 10120  // the error.
 10121  //
 10122  // See the AWS API reference guide for Amazon Relational Database Service's
 10123  // API operation FailoverGlobalCluster for usage and error information.
 10124  //
 10125  // Returned Error Codes:
 10126  //   * ErrCodeGlobalClusterNotFoundFault "GlobalClusterNotFoundFault"
 10127  //   The GlobalClusterIdentifier doesn't refer to an existing global database
 10128  //   cluster.
 10129  //
 10130  //   * ErrCodeInvalidGlobalClusterStateFault "InvalidGlobalClusterStateFault"
 10131  //   The global cluster is in an invalid state and can't perform the requested
 10132  //   operation.
 10133  //
 10134  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
 10135  //   The requested operation can't be performed while the cluster is in this state.
 10136  //
 10137  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
 10138  //   DBClusterIdentifier doesn't refer to an existing DB cluster.
 10139  //
 10140  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/FailoverGlobalCluster
 10141  func (c *RDS) FailoverGlobalCluster(input *FailoverGlobalClusterInput) (*FailoverGlobalClusterOutput, error) {
 10142  	req, out := c.FailoverGlobalClusterRequest(input)
 10143  	return out, req.Send()
 10144  }
 10145  
 10146  // FailoverGlobalClusterWithContext is the same as FailoverGlobalCluster with the addition of
 10147  // the ability to pass a context and additional request options.
 10148  //
 10149  // See FailoverGlobalCluster for details on how to use this API operation.
 10150  //
 10151  // The context must be non-nil and will be used for request cancellation. If
 10152  // the context is nil a panic will occur. In the future the SDK may create
 10153  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10154  // for more information on using Contexts.
 10155  func (c *RDS) FailoverGlobalClusterWithContext(ctx aws.Context, input *FailoverGlobalClusterInput, opts ...request.Option) (*FailoverGlobalClusterOutput, error) {
 10156  	req, out := c.FailoverGlobalClusterRequest(input)
 10157  	req.SetContext(ctx)
 10158  	req.ApplyOptions(opts...)
 10159  	return out, req.Send()
 10160  }
 10161  
 10162  const opImportInstallationMedia = "ImportInstallationMedia"
 10163  
 10164  // ImportInstallationMediaRequest generates a "aws/request.Request" representing the
 10165  // client's request for the ImportInstallationMedia operation. The "output" return
 10166  // value will be populated with the request's response once the request completes
 10167  // successfully.
 10168  //
 10169  // Use "Send" method on the returned Request to send the API call to the service.
 10170  // the "output" return value is not valid until after Send returns without error.
 10171  //
 10172  // See ImportInstallationMedia for more information on using the ImportInstallationMedia
 10173  // API call, and error handling.
 10174  //
 10175  // This method is useful when you want to inject custom logic or configuration
 10176  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10177  //
 10178  //
 10179  //    // Example sending a request using the ImportInstallationMediaRequest method.
 10180  //    req, resp := client.ImportInstallationMediaRequest(params)
 10181  //
 10182  //    err := req.Send()
 10183  //    if err == nil { // resp is now filled
 10184  //        fmt.Println(resp)
 10185  //    }
 10186  //
 10187  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ImportInstallationMedia
 10188  func (c *RDS) ImportInstallationMediaRequest(input *ImportInstallationMediaInput) (req *request.Request, output *ImportInstallationMediaOutput) {
 10189  	op := &request.Operation{
 10190  		Name:       opImportInstallationMedia,
 10191  		HTTPMethod: "POST",
 10192  		HTTPPath:   "/",
 10193  	}
 10194  
 10195  	if input == nil {
 10196  		input = &ImportInstallationMediaInput{}
 10197  	}
 10198  
 10199  	output = &ImportInstallationMediaOutput{}
 10200  	req = c.newRequest(op, input, output)
 10201  	return
 10202  }
 10203  
 10204  // ImportInstallationMedia API operation for Amazon Relational Database Service.
 10205  //
 10206  // Imports the installation media for a DB engine that requires an on-premises
 10207  // customer provided license, such as SQL Server.
 10208  //
 10209  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10210  // with awserr.Error's Code and Message methods to get detailed information about
 10211  // the error.
 10212  //
 10213  // See the AWS API reference guide for Amazon Relational Database Service's
 10214  // API operation ImportInstallationMedia for usage and error information.
 10215  //
 10216  // Returned Error Codes:
 10217  //   * ErrCodeCustomAvailabilityZoneNotFoundFault "CustomAvailabilityZoneNotFound"
 10218  //   CustomAvailabilityZoneId doesn't refer to an existing custom Availability
 10219  //   Zone identifier.
 10220  //
 10221  //   * ErrCodeInstallationMediaAlreadyExistsFault "InstallationMediaAlreadyExists"
 10222  //   The specified installation medium has already been imported.
 10223  //
 10224  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ImportInstallationMedia
 10225  func (c *RDS) ImportInstallationMedia(input *ImportInstallationMediaInput) (*ImportInstallationMediaOutput, error) {
 10226  	req, out := c.ImportInstallationMediaRequest(input)
 10227  	return out, req.Send()
 10228  }
 10229  
 10230  // ImportInstallationMediaWithContext is the same as ImportInstallationMedia with the addition of
 10231  // the ability to pass a context and additional request options.
 10232  //
 10233  // See ImportInstallationMedia for details on how to use this API operation.
 10234  //
 10235  // The context must be non-nil and will be used for request cancellation. If
 10236  // the context is nil a panic will occur. In the future the SDK may create
 10237  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10238  // for more information on using Contexts.
 10239  func (c *RDS) ImportInstallationMediaWithContext(ctx aws.Context, input *ImportInstallationMediaInput, opts ...request.Option) (*ImportInstallationMediaOutput, error) {
 10240  	req, out := c.ImportInstallationMediaRequest(input)
 10241  	req.SetContext(ctx)
 10242  	req.ApplyOptions(opts...)
 10243  	return out, req.Send()
 10244  }
 10245  
 10246  const opListTagsForResource = "ListTagsForResource"
 10247  
 10248  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
 10249  // client's request for the ListTagsForResource operation. The "output" return
 10250  // value will be populated with the request's response once the request completes
 10251  // successfully.
 10252  //
 10253  // Use "Send" method on the returned Request to send the API call to the service.
 10254  // the "output" return value is not valid until after Send returns without error.
 10255  //
 10256  // See ListTagsForResource for more information on using the ListTagsForResource
 10257  // API call, and error handling.
 10258  //
 10259  // This method is useful when you want to inject custom logic or configuration
 10260  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10261  //
 10262  //
 10263  //    // Example sending a request using the ListTagsForResourceRequest method.
 10264  //    req, resp := client.ListTagsForResourceRequest(params)
 10265  //
 10266  //    err := req.Send()
 10267  //    if err == nil { // resp is now filled
 10268  //        fmt.Println(resp)
 10269  //    }
 10270  //
 10271  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ListTagsForResource
 10272  func (c *RDS) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
 10273  	op := &request.Operation{
 10274  		Name:       opListTagsForResource,
 10275  		HTTPMethod: "POST",
 10276  		HTTPPath:   "/",
 10277  	}
 10278  
 10279  	if input == nil {
 10280  		input = &ListTagsForResourceInput{}
 10281  	}
 10282  
 10283  	output = &ListTagsForResourceOutput{}
 10284  	req = c.newRequest(op, input, output)
 10285  	return
 10286  }
 10287  
 10288  // ListTagsForResource API operation for Amazon Relational Database Service.
 10289  //
 10290  // Lists all tags on an Amazon RDS resource.
 10291  //
 10292  // For an overview on tagging an Amazon RDS resource, see Tagging Amazon RDS
 10293  // Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Tagging.html)
 10294  // in the Amazon RDS User Guide.
 10295  //
 10296  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10297  // with awserr.Error's Code and Message methods to get detailed information about
 10298  // the error.
 10299  //
 10300  // See the AWS API reference guide for Amazon Relational Database Service's
 10301  // API operation ListTagsForResource for usage and error information.
 10302  //
 10303  // Returned Error Codes:
 10304  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
 10305  //   DBInstanceIdentifier doesn't refer to an existing DB instance.
 10306  //
 10307  //   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
 10308  //   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
 10309  //
 10310  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
 10311  //   DBClusterIdentifier doesn't refer to an existing DB cluster.
 10312  //
 10313  //   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
 10314  //   The specified proxy name doesn't correspond to a proxy owned by your Amazon
 10315  //   Web Services account in the specified Amazon Web Services Region.
 10316  //
 10317  //   * ErrCodeDBProxyTargetGroupNotFoundFault "DBProxyTargetGroupNotFoundFault"
 10318  //   The specified target group isn't available for a proxy owned by your Amazon
 10319  //   Web Services account in the specified Amazon Web Services Region.
 10320  //
 10321  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ListTagsForResource
 10322  func (c *RDS) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
 10323  	req, out := c.ListTagsForResourceRequest(input)
 10324  	return out, req.Send()
 10325  }
 10326  
 10327  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
 10328  // the ability to pass a context and additional request options.
 10329  //
 10330  // See ListTagsForResource for details on how to use this API operation.
 10331  //
 10332  // The context must be non-nil and will be used for request cancellation. If
 10333  // the context is nil a panic will occur. In the future the SDK may create
 10334  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10335  // for more information on using Contexts.
 10336  func (c *RDS) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
 10337  	req, out := c.ListTagsForResourceRequest(input)
 10338  	req.SetContext(ctx)
 10339  	req.ApplyOptions(opts...)
 10340  	return out, req.Send()
 10341  }
 10342  
 10343  const opModifyCertificates = "ModifyCertificates"
 10344  
 10345  // ModifyCertificatesRequest generates a "aws/request.Request" representing the
 10346  // client's request for the ModifyCertificates operation. The "output" return
 10347  // value will be populated with the request's response once the request completes
 10348  // successfully.
 10349  //
 10350  // Use "Send" method on the returned Request to send the API call to the service.
 10351  // the "output" return value is not valid until after Send returns without error.
 10352  //
 10353  // See ModifyCertificates for more information on using the ModifyCertificates
 10354  // API call, and error handling.
 10355  //
 10356  // This method is useful when you want to inject custom logic or configuration
 10357  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10358  //
 10359  //
 10360  //    // Example sending a request using the ModifyCertificatesRequest method.
 10361  //    req, resp := client.ModifyCertificatesRequest(params)
 10362  //
 10363  //    err := req.Send()
 10364  //    if err == nil { // resp is now filled
 10365  //        fmt.Println(resp)
 10366  //    }
 10367  //
 10368  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyCertificates
 10369  func (c *RDS) ModifyCertificatesRequest(input *ModifyCertificatesInput) (req *request.Request, output *ModifyCertificatesOutput) {
 10370  	op := &request.Operation{
 10371  		Name:       opModifyCertificates,
 10372  		HTTPMethod: "POST",
 10373  		HTTPPath:   "/",
 10374  	}
 10375  
 10376  	if input == nil {
 10377  		input = &ModifyCertificatesInput{}
 10378  	}
 10379  
 10380  	output = &ModifyCertificatesOutput{}
 10381  	req = c.newRequest(op, input, output)
 10382  	return
 10383  }
 10384  
 10385  // ModifyCertificates API operation for Amazon Relational Database Service.
 10386  //
 10387  // Override the system-default Secure Sockets Layer/Transport Layer Security
 10388  // (SSL/TLS) certificate for Amazon RDS for new DB instances temporarily, or
 10389  // remove the override.
 10390  //
 10391  // By using this operation, you can specify an RDS-approved SSL/TLS certificate
 10392  // for new DB instances that is different from the default certificate provided
 10393  // by RDS. You can also use this operation to remove the override, so that new
 10394  // DB instances use the default certificate provided by RDS.
 10395  //
 10396  // You might need to override the default certificate in the following situations:
 10397  //
 10398  //    * You already migrated your applications to support the latest certificate
 10399  //    authority (CA) certificate, but the new CA certificate is not yet the
 10400  //    RDS default CA certificate for the specified Amazon Web Services Region.
 10401  //
 10402  //    * RDS has already moved to a new default CA certificate for the specified
 10403  //    Amazon Web Services Region, but you are still in the process of supporting
 10404  //    the new CA certificate. In this case, you temporarily need additional
 10405  //    time to finish your application changes.
 10406  //
 10407  // For more information about rotating your SSL/TLS certificate for RDS DB engines,
 10408  // see Rotating Your SSL/TLS Certificate (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html)
 10409  // in the Amazon RDS User Guide.
 10410  //
 10411  // For more information about rotating your SSL/TLS certificate for Aurora DB
 10412  // engines, see Rotating Your SSL/TLS Certificate (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL-certificate-rotation.html)
 10413  // in the Amazon Aurora User Guide.
 10414  //
 10415  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10416  // with awserr.Error's Code and Message methods to get detailed information about
 10417  // the error.
 10418  //
 10419  // See the AWS API reference guide for Amazon Relational Database Service's
 10420  // API operation ModifyCertificates for usage and error information.
 10421  //
 10422  // Returned Error Codes:
 10423  //   * ErrCodeCertificateNotFoundFault "CertificateNotFound"
 10424  //   CertificateIdentifier doesn't refer to an existing certificate.
 10425  //
 10426  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyCertificates
 10427  func (c *RDS) ModifyCertificates(input *ModifyCertificatesInput) (*ModifyCertificatesOutput, error) {
 10428  	req, out := c.ModifyCertificatesRequest(input)
 10429  	return out, req.Send()
 10430  }
 10431  
 10432  // ModifyCertificatesWithContext is the same as ModifyCertificates with the addition of
 10433  // the ability to pass a context and additional request options.
 10434  //
 10435  // See ModifyCertificates for details on how to use this API operation.
 10436  //
 10437  // The context must be non-nil and will be used for request cancellation. If
 10438  // the context is nil a panic will occur. In the future the SDK may create
 10439  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10440  // for more information on using Contexts.
 10441  func (c *RDS) ModifyCertificatesWithContext(ctx aws.Context, input *ModifyCertificatesInput, opts ...request.Option) (*ModifyCertificatesOutput, error) {
 10442  	req, out := c.ModifyCertificatesRequest(input)
 10443  	req.SetContext(ctx)
 10444  	req.ApplyOptions(opts...)
 10445  	return out, req.Send()
 10446  }
 10447  
 10448  const opModifyCurrentDBClusterCapacity = "ModifyCurrentDBClusterCapacity"
 10449  
 10450  // ModifyCurrentDBClusterCapacityRequest generates a "aws/request.Request" representing the
 10451  // client's request for the ModifyCurrentDBClusterCapacity operation. The "output" return
 10452  // value will be populated with the request's response once the request completes
 10453  // successfully.
 10454  //
 10455  // Use "Send" method on the returned Request to send the API call to the service.
 10456  // the "output" return value is not valid until after Send returns without error.
 10457  //
 10458  // See ModifyCurrentDBClusterCapacity for more information on using the ModifyCurrentDBClusterCapacity
 10459  // API call, and error handling.
 10460  //
 10461  // This method is useful when you want to inject custom logic or configuration
 10462  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10463  //
 10464  //
 10465  //    // Example sending a request using the ModifyCurrentDBClusterCapacityRequest method.
 10466  //    req, resp := client.ModifyCurrentDBClusterCapacityRequest(params)
 10467  //
 10468  //    err := req.Send()
 10469  //    if err == nil { // resp is now filled
 10470  //        fmt.Println(resp)
 10471  //    }
 10472  //
 10473  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyCurrentDBClusterCapacity
 10474  func (c *RDS) ModifyCurrentDBClusterCapacityRequest(input *ModifyCurrentDBClusterCapacityInput) (req *request.Request, output *ModifyCurrentDBClusterCapacityOutput) {
 10475  	op := &request.Operation{
 10476  		Name:       opModifyCurrentDBClusterCapacity,
 10477  		HTTPMethod: "POST",
 10478  		HTTPPath:   "/",
 10479  	}
 10480  
 10481  	if input == nil {
 10482  		input = &ModifyCurrentDBClusterCapacityInput{}
 10483  	}
 10484  
 10485  	output = &ModifyCurrentDBClusterCapacityOutput{}
 10486  	req = c.newRequest(op, input, output)
 10487  	return
 10488  }
 10489  
 10490  // ModifyCurrentDBClusterCapacity API operation for Amazon Relational Database Service.
 10491  //
 10492  // Set the capacity of an Aurora Serverless DB cluster to a specific value.
 10493  //
 10494  // Aurora Serverless scales seamlessly based on the workload on the DB cluster.
 10495  // In some cases, the capacity might not scale fast enough to meet a sudden
 10496  // change in workload, such as a large number of new transactions. Call ModifyCurrentDBClusterCapacity
 10497  // to set the capacity explicitly.
 10498  //
 10499  // After this call sets the DB cluster capacity, Aurora Serverless can automatically
 10500  // scale the DB cluster based on the cooldown period for scaling up and the
 10501  // cooldown period for scaling down.
 10502  //
 10503  // For more information about Aurora Serverless, see Using Amazon Aurora Serverless
 10504  // (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html)
 10505  // in the Amazon Aurora User Guide.
 10506  //
 10507  // If you call ModifyCurrentDBClusterCapacity with the default TimeoutAction,
 10508  // connections that prevent Aurora Serverless from finding a scaling point might
 10509  // be dropped. For more information about scaling points, see Autoscaling for
 10510  // Aurora Serverless (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.how-it-works.html#aurora-serverless.how-it-works.auto-scaling)
 10511  // in the Amazon Aurora User Guide.
 10512  //
 10513  // This action only applies to Aurora Serverless DB clusters.
 10514  //
 10515  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10516  // with awserr.Error's Code and Message methods to get detailed information about
 10517  // the error.
 10518  //
 10519  // See the AWS API reference guide for Amazon Relational Database Service's
 10520  // API operation ModifyCurrentDBClusterCapacity for usage and error information.
 10521  //
 10522  // Returned Error Codes:
 10523  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
 10524  //   DBClusterIdentifier doesn't refer to an existing DB cluster.
 10525  //
 10526  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
 10527  //   The requested operation can't be performed while the cluster is in this state.
 10528  //
 10529  //   * ErrCodeInvalidDBClusterCapacityFault "InvalidDBClusterCapacityFault"
 10530  //   Capacity isn't a valid Aurora Serverless DB cluster capacity. Valid capacity
 10531  //   values are 2, 4, 8, 16, 32, 64, 128, and 256.
 10532  //
 10533  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyCurrentDBClusterCapacity
 10534  func (c *RDS) ModifyCurrentDBClusterCapacity(input *ModifyCurrentDBClusterCapacityInput) (*ModifyCurrentDBClusterCapacityOutput, error) {
 10535  	req, out := c.ModifyCurrentDBClusterCapacityRequest(input)
 10536  	return out, req.Send()
 10537  }
 10538  
 10539  // ModifyCurrentDBClusterCapacityWithContext is the same as ModifyCurrentDBClusterCapacity with the addition of
 10540  // the ability to pass a context and additional request options.
 10541  //
 10542  // See ModifyCurrentDBClusterCapacity for details on how to use this API operation.
 10543  //
 10544  // The context must be non-nil and will be used for request cancellation. If
 10545  // the context is nil a panic will occur. In the future the SDK may create
 10546  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10547  // for more information on using Contexts.
 10548  func (c *RDS) ModifyCurrentDBClusterCapacityWithContext(ctx aws.Context, input *ModifyCurrentDBClusterCapacityInput, opts ...request.Option) (*ModifyCurrentDBClusterCapacityOutput, error) {
 10549  	req, out := c.ModifyCurrentDBClusterCapacityRequest(input)
 10550  	req.SetContext(ctx)
 10551  	req.ApplyOptions(opts...)
 10552  	return out, req.Send()
 10553  }
 10554  
 10555  const opModifyDBCluster = "ModifyDBCluster"
 10556  
 10557  // ModifyDBClusterRequest generates a "aws/request.Request" representing the
 10558  // client's request for the ModifyDBCluster operation. The "output" return
 10559  // value will be populated with the request's response once the request completes
 10560  // successfully.
 10561  //
 10562  // Use "Send" method on the returned Request to send the API call to the service.
 10563  // the "output" return value is not valid until after Send returns without error.
 10564  //
 10565  // See ModifyDBCluster for more information on using the ModifyDBCluster
 10566  // API call, and error handling.
 10567  //
 10568  // This method is useful when you want to inject custom logic or configuration
 10569  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10570  //
 10571  //
 10572  //    // Example sending a request using the ModifyDBClusterRequest method.
 10573  //    req, resp := client.ModifyDBClusterRequest(params)
 10574  //
 10575  //    err := req.Send()
 10576  //    if err == nil { // resp is now filled
 10577  //        fmt.Println(resp)
 10578  //    }
 10579  //
 10580  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBCluster
 10581  func (c *RDS) ModifyDBClusterRequest(input *ModifyDBClusterInput) (req *request.Request, output *ModifyDBClusterOutput) {
 10582  	op := &request.Operation{
 10583  		Name:       opModifyDBCluster,
 10584  		HTTPMethod: "POST",
 10585  		HTTPPath:   "/",
 10586  	}
 10587  
 10588  	if input == nil {
 10589  		input = &ModifyDBClusterInput{}
 10590  	}
 10591  
 10592  	output = &ModifyDBClusterOutput{}
 10593  	req = c.newRequest(op, input, output)
 10594  	return
 10595  }
 10596  
 10597  // ModifyDBCluster API operation for Amazon Relational Database Service.
 10598  //
 10599  // Modify a setting for an Amazon Aurora DB cluster. You can change one or more
 10600  // database configuration parameters by specifying these parameters and the
 10601  // new values in the request. For more information on Amazon Aurora, see What
 10602  // Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
 10603  // in the Amazon Aurora User Guide.
 10604  //
 10605  // This action only applies to Aurora DB clusters.
 10606  //
 10607  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10608  // with awserr.Error's Code and Message methods to get detailed information about
 10609  // the error.
 10610  //
 10611  // See the AWS API reference guide for Amazon Relational Database Service's
 10612  // API operation ModifyDBCluster for usage and error information.
 10613  //
 10614  // Returned Error Codes:
 10615  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
 10616  //   DBClusterIdentifier doesn't refer to an existing DB cluster.
 10617  //
 10618  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
 10619  //   The requested operation can't be performed while the cluster is in this state.
 10620  //
 10621  //   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
 10622  //   The request would result in the user exceeding the allowed amount of storage
 10623  //   available across all DB instances.
 10624  //
 10625  //   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
 10626  //   DBSubnetGroupName doesn't refer to an existing DB subnet group.
 10627  //
 10628  //   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
 10629  //   The DB subnet group doesn't cover all Availability Zones after it's created
 10630  //   because of users' change.
 10631  //
 10632  //   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
 10633  //   The DB subnet group cannot be deleted because it's in use.
 10634  //
 10635  //   * ErrCodeInvalidSubnet "InvalidSubnet"
 10636  //   The requested subnet is invalid, or multiple subnets were requested that
 10637  //   are not all in a common VPC.
 10638  //
 10639  //   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
 10640  //   DBClusterParameterGroupName doesn't refer to an existing DB cluster parameter
 10641  //   group.
 10642  //
 10643  //   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
 10644  //   The state of the DB security group doesn't allow deletion.
 10645  //
 10646  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
 10647  //   The DB instance isn't in a valid state.
 10648  //
 10649  //   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
 10650  //   The user already has a DB cluster with the given identifier.
 10651  //
 10652  //   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
 10653  //   Domain doesn't refer to an existing Active Directory domain.
 10654  //
 10655  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBCluster
 10656  func (c *RDS) ModifyDBCluster(input *ModifyDBClusterInput) (*ModifyDBClusterOutput, error) {
 10657  	req, out := c.ModifyDBClusterRequest(input)
 10658  	return out, req.Send()
 10659  }
 10660  
 10661  // ModifyDBClusterWithContext is the same as ModifyDBCluster with the addition of
 10662  // the ability to pass a context and additional request options.
 10663  //
 10664  // See ModifyDBCluster for details on how to use this API operation.
 10665  //
 10666  // The context must be non-nil and will be used for request cancellation. If
 10667  // the context is nil a panic will occur. In the future the SDK may create
 10668  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10669  // for more information on using Contexts.
 10670  func (c *RDS) ModifyDBClusterWithContext(ctx aws.Context, input *ModifyDBClusterInput, opts ...request.Option) (*ModifyDBClusterOutput, error) {
 10671  	req, out := c.ModifyDBClusterRequest(input)
 10672  	req.SetContext(ctx)
 10673  	req.ApplyOptions(opts...)
 10674  	return out, req.Send()
 10675  }
 10676  
 10677  const opModifyDBClusterEndpoint = "ModifyDBClusterEndpoint"
 10678  
 10679  // ModifyDBClusterEndpointRequest generates a "aws/request.Request" representing the
 10680  // client's request for the ModifyDBClusterEndpoint operation. The "output" return
 10681  // value will be populated with the request's response once the request completes
 10682  // successfully.
 10683  //
 10684  // Use "Send" method on the returned Request to send the API call to the service.
 10685  // the "output" return value is not valid until after Send returns without error.
 10686  //
 10687  // See ModifyDBClusterEndpoint for more information on using the ModifyDBClusterEndpoint
 10688  // API call, and error handling.
 10689  //
 10690  // This method is useful when you want to inject custom logic or configuration
 10691  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10692  //
 10693  //
 10694  //    // Example sending a request using the ModifyDBClusterEndpointRequest method.
 10695  //    req, resp := client.ModifyDBClusterEndpointRequest(params)
 10696  //
 10697  //    err := req.Send()
 10698  //    if err == nil { // resp is now filled
 10699  //        fmt.Println(resp)
 10700  //    }
 10701  //
 10702  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterEndpoint
 10703  func (c *RDS) ModifyDBClusterEndpointRequest(input *ModifyDBClusterEndpointInput) (req *request.Request, output *ModifyDBClusterEndpointOutput) {
 10704  	op := &request.Operation{
 10705  		Name:       opModifyDBClusterEndpoint,
 10706  		HTTPMethod: "POST",
 10707  		HTTPPath:   "/",
 10708  	}
 10709  
 10710  	if input == nil {
 10711  		input = &ModifyDBClusterEndpointInput{}
 10712  	}
 10713  
 10714  	output = &ModifyDBClusterEndpointOutput{}
 10715  	req = c.newRequest(op, input, output)
 10716  	return
 10717  }
 10718  
 10719  // ModifyDBClusterEndpoint API operation for Amazon Relational Database Service.
 10720  //
 10721  // Modifies the properties of an endpoint in an Amazon Aurora DB cluster.
 10722  //
 10723  // This action only applies to Aurora DB clusters.
 10724  //
 10725  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10726  // with awserr.Error's Code and Message methods to get detailed information about
 10727  // the error.
 10728  //
 10729  // See the AWS API reference guide for Amazon Relational Database Service's
 10730  // API operation ModifyDBClusterEndpoint for usage and error information.
 10731  //
 10732  // Returned Error Codes:
 10733  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
 10734  //   The requested operation can't be performed while the cluster is in this state.
 10735  //
 10736  //   * ErrCodeInvalidDBClusterEndpointStateFault "InvalidDBClusterEndpointStateFault"
 10737  //   The requested operation can't be performed on the endpoint while the endpoint
 10738  //   is in this state.
 10739  //
 10740  //   * ErrCodeDBClusterEndpointNotFoundFault "DBClusterEndpointNotFoundFault"
 10741  //   The specified custom endpoint doesn't exist.
 10742  //
 10743  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
 10744  //   DBInstanceIdentifier doesn't refer to an existing DB instance.
 10745  //
 10746  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
 10747  //   The DB instance isn't in a valid state.
 10748  //
 10749  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterEndpoint
 10750  func (c *RDS) ModifyDBClusterEndpoint(input *ModifyDBClusterEndpointInput) (*ModifyDBClusterEndpointOutput, error) {
 10751  	req, out := c.ModifyDBClusterEndpointRequest(input)
 10752  	return out, req.Send()
 10753  }
 10754  
 10755  // ModifyDBClusterEndpointWithContext is the same as ModifyDBClusterEndpoint with the addition of
 10756  // the ability to pass a context and additional request options.
 10757  //
 10758  // See ModifyDBClusterEndpoint for details on how to use this API operation.
 10759  //
 10760  // The context must be non-nil and will be used for request cancellation. If
 10761  // the context is nil a panic will occur. In the future the SDK may create
 10762  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10763  // for more information on using Contexts.
 10764  func (c *RDS) ModifyDBClusterEndpointWithContext(ctx aws.Context, input *ModifyDBClusterEndpointInput, opts ...request.Option) (*ModifyDBClusterEndpointOutput, error) {
 10765  	req, out := c.ModifyDBClusterEndpointRequest(input)
 10766  	req.SetContext(ctx)
 10767  	req.ApplyOptions(opts...)
 10768  	return out, req.Send()
 10769  }
 10770  
 10771  const opModifyDBClusterParameterGroup = "ModifyDBClusterParameterGroup"
 10772  
 10773  // ModifyDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
 10774  // client's request for the ModifyDBClusterParameterGroup operation. The "output" return
 10775  // value will be populated with the request's response once the request completes
 10776  // successfully.
 10777  //
 10778  // Use "Send" method on the returned Request to send the API call to the service.
 10779  // the "output" return value is not valid until after Send returns without error.
 10780  //
 10781  // See ModifyDBClusterParameterGroup for more information on using the ModifyDBClusterParameterGroup
 10782  // API call, and error handling.
 10783  //
 10784  // This method is useful when you want to inject custom logic or configuration
 10785  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10786  //
 10787  //
 10788  //    // Example sending a request using the ModifyDBClusterParameterGroupRequest method.
 10789  //    req, resp := client.ModifyDBClusterParameterGroupRequest(params)
 10790  //
 10791  //    err := req.Send()
 10792  //    if err == nil { // resp is now filled
 10793  //        fmt.Println(resp)
 10794  //    }
 10795  //
 10796  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterParameterGroup
 10797  func (c *RDS) ModifyDBClusterParameterGroupRequest(input *ModifyDBClusterParameterGroupInput) (req *request.Request, output *DBClusterParameterGroupNameMessage) {
 10798  	op := &request.Operation{
 10799  		Name:       opModifyDBClusterParameterGroup,
 10800  		HTTPMethod: "POST",
 10801  		HTTPPath:   "/",
 10802  	}
 10803  
 10804  	if input == nil {
 10805  		input = &ModifyDBClusterParameterGroupInput{}
 10806  	}
 10807  
 10808  	output = &DBClusterParameterGroupNameMessage{}
 10809  	req = c.newRequest(op, input, output)
 10810  	return
 10811  }
 10812  
 10813  // ModifyDBClusterParameterGroup API operation for Amazon Relational Database Service.
 10814  //
 10815  // Modifies the parameters of a DB cluster parameter group. To modify more than
 10816  // one parameter, submit a list of the following: ParameterName, ParameterValue,
 10817  // and ApplyMethod. A maximum of 20 parameters can be modified in a single request.
 10818  //
 10819  // For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
 10820  // in the Amazon Aurora User Guide.
 10821  //
 10822  // After you create a DB cluster parameter group, you should wait at least 5
 10823  // minutes before creating your first DB cluster that uses that DB cluster parameter
 10824  // group as the default parameter group. This allows Amazon RDS to fully complete
 10825  // the create action before the parameter group is used as the default for a
 10826  // new DB cluster. This is especially important for parameters that are critical
 10827  // when creating the default database for a DB cluster, such as the character
 10828  // set for the default database defined by the character_set_database parameter.
 10829  // You can use the Parameter Groups option of the Amazon RDS console (https://console.aws.amazon.com/rds/)
 10830  // or the DescribeDBClusterParameters action to verify that your DB cluster
 10831  // parameter group has been created or modified.
 10832  //
 10833  // If the modified DB cluster parameter group is used by an Aurora Serverless
 10834  // cluster, Aurora applies the update immediately. The cluster restart might
 10835  // interrupt your workload. In that case, your application must reopen any connections
 10836  // and retry any transactions that were active when the parameter changes took
 10837  // effect.
 10838  //
 10839  // This action only applies to Aurora DB clusters.
 10840  //
 10841  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10842  // with awserr.Error's Code and Message methods to get detailed information about
 10843  // the error.
 10844  //
 10845  // See the AWS API reference guide for Amazon Relational Database Service's
 10846  // API operation ModifyDBClusterParameterGroup for usage and error information.
 10847  //
 10848  // Returned Error Codes:
 10849  //   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
 10850  //   DBParameterGroupName doesn't refer to an existing DB parameter group.
 10851  //
 10852  //   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
 10853  //   The DB parameter group is in use or is in an invalid state. If you are attempting
 10854  //   to delete the parameter group, you can't delete it when the parameter group
 10855  //   is in this state.
 10856  //
 10857  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterParameterGroup
 10858  func (c *RDS) ModifyDBClusterParameterGroup(input *ModifyDBClusterParameterGroupInput) (*DBClusterParameterGroupNameMessage, error) {
 10859  	req, out := c.ModifyDBClusterParameterGroupRequest(input)
 10860  	return out, req.Send()
 10861  }
 10862  
 10863  // ModifyDBClusterParameterGroupWithContext is the same as ModifyDBClusterParameterGroup with the addition of
 10864  // the ability to pass a context and additional request options.
 10865  //
 10866  // See ModifyDBClusterParameterGroup for details on how to use this API operation.
 10867  //
 10868  // The context must be non-nil and will be used for request cancellation. If
 10869  // the context is nil a panic will occur. In the future the SDK may create
 10870  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10871  // for more information on using Contexts.
 10872  func (c *RDS) ModifyDBClusterParameterGroupWithContext(ctx aws.Context, input *ModifyDBClusterParameterGroupInput, opts ...request.Option) (*DBClusterParameterGroupNameMessage, error) {
 10873  	req, out := c.ModifyDBClusterParameterGroupRequest(input)
 10874  	req.SetContext(ctx)
 10875  	req.ApplyOptions(opts...)
 10876  	return out, req.Send()
 10877  }
 10878  
 10879  const opModifyDBClusterSnapshotAttribute = "ModifyDBClusterSnapshotAttribute"
 10880  
 10881  // ModifyDBClusterSnapshotAttributeRequest generates a "aws/request.Request" representing the
 10882  // client's request for the ModifyDBClusterSnapshotAttribute operation. The "output" return
 10883  // value will be populated with the request's response once the request completes
 10884  // successfully.
 10885  //
 10886  // Use "Send" method on the returned Request to send the API call to the service.
 10887  // the "output" return value is not valid until after Send returns without error.
 10888  //
 10889  // See ModifyDBClusterSnapshotAttribute for more information on using the ModifyDBClusterSnapshotAttribute
 10890  // API call, and error handling.
 10891  //
 10892  // This method is useful when you want to inject custom logic or configuration
 10893  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 10894  //
 10895  //
 10896  //    // Example sending a request using the ModifyDBClusterSnapshotAttributeRequest method.
 10897  //    req, resp := client.ModifyDBClusterSnapshotAttributeRequest(params)
 10898  //
 10899  //    err := req.Send()
 10900  //    if err == nil { // resp is now filled
 10901  //        fmt.Println(resp)
 10902  //    }
 10903  //
 10904  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterSnapshotAttribute
 10905  func (c *RDS) ModifyDBClusterSnapshotAttributeRequest(input *ModifyDBClusterSnapshotAttributeInput) (req *request.Request, output *ModifyDBClusterSnapshotAttributeOutput) {
 10906  	op := &request.Operation{
 10907  		Name:       opModifyDBClusterSnapshotAttribute,
 10908  		HTTPMethod: "POST",
 10909  		HTTPPath:   "/",
 10910  	}
 10911  
 10912  	if input == nil {
 10913  		input = &ModifyDBClusterSnapshotAttributeInput{}
 10914  	}
 10915  
 10916  	output = &ModifyDBClusterSnapshotAttributeOutput{}
 10917  	req = c.newRequest(op, input, output)
 10918  	return
 10919  }
 10920  
 10921  // ModifyDBClusterSnapshotAttribute API operation for Amazon Relational Database Service.
 10922  //
 10923  // Adds an attribute and values to, or removes an attribute and values from,
 10924  // a manual DB cluster snapshot.
 10925  //
 10926  // To share a manual DB cluster snapshot with other Amazon Web Services accounts,
 10927  // specify restore as the AttributeName and use the ValuesToAdd parameter to
 10928  // add a list of IDs of the Amazon Web Services accounts that are authorized
 10929  // to restore the manual DB cluster snapshot. Use the value all to make the
 10930  // manual DB cluster snapshot public, which means that it can be copied or restored
 10931  // by all Amazon Web Services accounts.
 10932  //
 10933  // Don't add the all value for any manual DB cluster snapshots that contain
 10934  // private information that you don't want available to all Amazon Web Services
 10935  // accounts.
 10936  //
 10937  // If a manual DB cluster snapshot is encrypted, it can be shared, but only
 10938  // by specifying a list of authorized Amazon Web Services account IDs for the
 10939  // ValuesToAdd parameter. You can't use all as a value for that parameter in
 10940  // this case.
 10941  //
 10942  // To view which Amazon Web Services accounts have access to copy or restore
 10943  // a manual DB cluster snapshot, or whether a manual DB cluster snapshot is
 10944  // public or private, use the DescribeDBClusterSnapshotAttributes API action.
 10945  // The accounts are returned as values for the restore attribute.
 10946  //
 10947  // This action only applies to Aurora DB clusters.
 10948  //
 10949  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 10950  // with awserr.Error's Code and Message methods to get detailed information about
 10951  // the error.
 10952  //
 10953  // See the AWS API reference guide for Amazon Relational Database Service's
 10954  // API operation ModifyDBClusterSnapshotAttribute for usage and error information.
 10955  //
 10956  // Returned Error Codes:
 10957  //   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
 10958  //   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
 10959  //
 10960  //   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
 10961  //   The supplied value isn't a valid DB cluster snapshot state.
 10962  //
 10963  //   * ErrCodeSharedSnapshotQuotaExceededFault "SharedSnapshotQuotaExceeded"
 10964  //   You have exceeded the maximum number of accounts that you can share a manual
 10965  //   DB snapshot with.
 10966  //
 10967  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterSnapshotAttribute
 10968  func (c *RDS) ModifyDBClusterSnapshotAttribute(input *ModifyDBClusterSnapshotAttributeInput) (*ModifyDBClusterSnapshotAttributeOutput, error) {
 10969  	req, out := c.ModifyDBClusterSnapshotAttributeRequest(input)
 10970  	return out, req.Send()
 10971  }
 10972  
 10973  // ModifyDBClusterSnapshotAttributeWithContext is the same as ModifyDBClusterSnapshotAttribute with the addition of
 10974  // the ability to pass a context and additional request options.
 10975  //
 10976  // See ModifyDBClusterSnapshotAttribute for details on how to use this API operation.
 10977  //
 10978  // The context must be non-nil and will be used for request cancellation. If
 10979  // the context is nil a panic will occur. In the future the SDK may create
 10980  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 10981  // for more information on using Contexts.
 10982  func (c *RDS) ModifyDBClusterSnapshotAttributeWithContext(ctx aws.Context, input *ModifyDBClusterSnapshotAttributeInput, opts ...request.Option) (*ModifyDBClusterSnapshotAttributeOutput, error) {
 10983  	req, out := c.ModifyDBClusterSnapshotAttributeRequest(input)
 10984  	req.SetContext(ctx)
 10985  	req.ApplyOptions(opts...)
 10986  	return out, req.Send()
 10987  }
 10988  
 10989  const opModifyDBInstance = "ModifyDBInstance"
 10990  
 10991  // ModifyDBInstanceRequest generates a "aws/request.Request" representing the
 10992  // client's request for the ModifyDBInstance operation. The "output" return
 10993  // value will be populated with the request's response once the request completes
 10994  // successfully.
 10995  //
 10996  // Use "Send" method on the returned Request to send the API call to the service.
 10997  // the "output" return value is not valid until after Send returns without error.
 10998  //
 10999  // See ModifyDBInstance for more information on using the ModifyDBInstance
 11000  // API call, and error handling.
 11001  //
 11002  // This method is useful when you want to inject custom logic or configuration
 11003  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11004  //
 11005  //
 11006  //    // Example sending a request using the ModifyDBInstanceRequest method.
 11007  //    req, resp := client.ModifyDBInstanceRequest(params)
 11008  //
 11009  //    err := req.Send()
 11010  //    if err == nil { // resp is now filled
 11011  //        fmt.Println(resp)
 11012  //    }
 11013  //
 11014  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBInstance
 11015  func (c *RDS) ModifyDBInstanceRequest(input *ModifyDBInstanceInput) (req *request.Request, output *ModifyDBInstanceOutput) {
 11016  	op := &request.Operation{
 11017  		Name:       opModifyDBInstance,
 11018  		HTTPMethod: "POST",
 11019  		HTTPPath:   "/",
 11020  	}
 11021  
 11022  	if input == nil {
 11023  		input = &ModifyDBInstanceInput{}
 11024  	}
 11025  
 11026  	output = &ModifyDBInstanceOutput{}
 11027  	req = c.newRequest(op, input, output)
 11028  	return
 11029  }
 11030  
 11031  // ModifyDBInstance API operation for Amazon Relational Database Service.
 11032  //
 11033  // Modifies settings for a DB instance. You can change one or more database
 11034  // configuration parameters by specifying these parameters and the new values
 11035  // in the request. To learn what modifications you can make to your DB instance,
 11036  // call DescribeValidDBInstanceModifications before you call ModifyDBInstance.
 11037  //
 11038  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11039  // with awserr.Error's Code and Message methods to get detailed information about
 11040  // the error.
 11041  //
 11042  // See the AWS API reference guide for Amazon Relational Database Service's
 11043  // API operation ModifyDBInstance for usage and error information.
 11044  //
 11045  // Returned Error Codes:
 11046  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
 11047  //   The DB instance isn't in a valid state.
 11048  //
 11049  //   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
 11050  //   The state of the DB security group doesn't allow deletion.
 11051  //
 11052  //   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
 11053  //   The user already has a DB instance with the given identifier.
 11054  //
 11055  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
 11056  //   DBInstanceIdentifier doesn't refer to an existing DB instance.
 11057  //
 11058  //   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
 11059  //   DBSecurityGroupName doesn't refer to an existing DB security group.
 11060  //
 11061  //   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
 11062  //   DBParameterGroupName doesn't refer to an existing DB parameter group.
 11063  //
 11064  //   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
 11065  //   The specified DB instance class isn't available in the specified Availability
 11066  //   Zone.
 11067  //
 11068  //   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
 11069  //   The request would result in the user exceeding the allowed amount of storage
 11070  //   available across all DB instances.
 11071  //
 11072  //   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
 11073  //   The DB subnet group doesn't cover all Availability Zones after it's created
 11074  //   because of users' change.
 11075  //
 11076  //   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
 11077  //   Provisioned IOPS not available in the specified Availability Zone.
 11078  //
 11079  //   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
 11080  //   The specified option group could not be found.
 11081  //
 11082  //   * ErrCodeDBUpgradeDependencyFailureFault "DBUpgradeDependencyFailure"
 11083  //   The DB upgrade failed because a resource the DB depends on can't be modified.
 11084  //
 11085  //   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
 11086  //   Storage of the StorageType specified can't be associated with the DB instance.
 11087  //
 11088  //   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
 11089  //   The specified CIDR IP range or Amazon EC2 security group might not be authorized
 11090  //   for the specified DB security group.
 11091  //
 11092  //   Or, RDS might not be authorized to perform necessary actions using IAM on
 11093  //   your behalf.
 11094  //
 11095  //   * ErrCodeCertificateNotFoundFault "CertificateNotFound"
 11096  //   CertificateIdentifier doesn't refer to an existing certificate.
 11097  //
 11098  //   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
 11099  //   Domain doesn't refer to an existing Active Directory domain.
 11100  //
 11101  //   * ErrCodeBackupPolicyNotFoundFault "BackupPolicyNotFoundFault"
 11102  //
 11103  //   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
 11104  //   An error occurred accessing an Amazon Web Services KMS key.
 11105  //
 11106  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
 11107  //   The requested operation can't be performed while the cluster is in this state.
 11108  //
 11109  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBInstance
 11110  func (c *RDS) ModifyDBInstance(input *ModifyDBInstanceInput) (*ModifyDBInstanceOutput, error) {
 11111  	req, out := c.ModifyDBInstanceRequest(input)
 11112  	return out, req.Send()
 11113  }
 11114  
 11115  // ModifyDBInstanceWithContext is the same as ModifyDBInstance with the addition of
 11116  // the ability to pass a context and additional request options.
 11117  //
 11118  // See ModifyDBInstance for details on how to use this API operation.
 11119  //
 11120  // The context must be non-nil and will be used for request cancellation. If
 11121  // the context is nil a panic will occur. In the future the SDK may create
 11122  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11123  // for more information on using Contexts.
 11124  func (c *RDS) ModifyDBInstanceWithContext(ctx aws.Context, input *ModifyDBInstanceInput, opts ...request.Option) (*ModifyDBInstanceOutput, error) {
 11125  	req, out := c.ModifyDBInstanceRequest(input)
 11126  	req.SetContext(ctx)
 11127  	req.ApplyOptions(opts...)
 11128  	return out, req.Send()
 11129  }
 11130  
 11131  const opModifyDBParameterGroup = "ModifyDBParameterGroup"
 11132  
 11133  // ModifyDBParameterGroupRequest generates a "aws/request.Request" representing the
 11134  // client's request for the ModifyDBParameterGroup operation. The "output" return
 11135  // value will be populated with the request's response once the request completes
 11136  // successfully.
 11137  //
 11138  // Use "Send" method on the returned Request to send the API call to the service.
 11139  // the "output" return value is not valid until after Send returns without error.
 11140  //
 11141  // See ModifyDBParameterGroup for more information on using the ModifyDBParameterGroup
 11142  // API call, and error handling.
 11143  //
 11144  // This method is useful when you want to inject custom logic or configuration
 11145  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11146  //
 11147  //
 11148  //    // Example sending a request using the ModifyDBParameterGroupRequest method.
 11149  //    req, resp := client.ModifyDBParameterGroupRequest(params)
 11150  //
 11151  //    err := req.Send()
 11152  //    if err == nil { // resp is now filled
 11153  //        fmt.Println(resp)
 11154  //    }
 11155  //
 11156  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBParameterGroup
 11157  func (c *RDS) ModifyDBParameterGroupRequest(input *ModifyDBParameterGroupInput) (req *request.Request, output *DBParameterGroupNameMessage) {
 11158  	op := &request.Operation{
 11159  		Name:       opModifyDBParameterGroup,
 11160  		HTTPMethod: "POST",
 11161  		HTTPPath:   "/",
 11162  	}
 11163  
 11164  	if input == nil {
 11165  		input = &ModifyDBParameterGroupInput{}
 11166  	}
 11167  
 11168  	output = &DBParameterGroupNameMessage{}
 11169  	req = c.newRequest(op, input, output)
 11170  	return
 11171  }
 11172  
 11173  // ModifyDBParameterGroup API operation for Amazon Relational Database Service.
 11174  //
 11175  // Modifies the parameters of a DB parameter group. To modify more than one
 11176  // parameter, submit a list of the following: ParameterName, ParameterValue,
 11177  // and ApplyMethod. A maximum of 20 parameters can be modified in a single request.
 11178  //
 11179  // After you modify a DB parameter group, you should wait at least 5 minutes
 11180  // before creating your first DB instance that uses that DB parameter group
 11181  // as the default parameter group. This allows Amazon RDS to fully complete
 11182  // the modify action before the parameter group is used as the default for a
 11183  // new DB instance. This is especially important for parameters that are critical
 11184  // when creating the default database for a DB instance, such as the character
 11185  // set for the default database defined by the character_set_database parameter.
 11186  // You can use the Parameter Groups option of the Amazon RDS console (https://console.aws.amazon.com/rds/)
 11187  // or the DescribeDBParameters command to verify that your DB parameter group
 11188  // has been created or modified.
 11189  //
 11190  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11191  // with awserr.Error's Code and Message methods to get detailed information about
 11192  // the error.
 11193  //
 11194  // See the AWS API reference guide for Amazon Relational Database Service's
 11195  // API operation ModifyDBParameterGroup for usage and error information.
 11196  //
 11197  // Returned Error Codes:
 11198  //   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
 11199  //   DBParameterGroupName doesn't refer to an existing DB parameter group.
 11200  //
 11201  //   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
 11202  //   The DB parameter group is in use or is in an invalid state. If you are attempting
 11203  //   to delete the parameter group, you can't delete it when the parameter group
 11204  //   is in this state.
 11205  //
 11206  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBParameterGroup
 11207  func (c *RDS) ModifyDBParameterGroup(input *ModifyDBParameterGroupInput) (*DBParameterGroupNameMessage, error) {
 11208  	req, out := c.ModifyDBParameterGroupRequest(input)
 11209  	return out, req.Send()
 11210  }
 11211  
 11212  // ModifyDBParameterGroupWithContext is the same as ModifyDBParameterGroup with the addition of
 11213  // the ability to pass a context and additional request options.
 11214  //
 11215  // See ModifyDBParameterGroup for details on how to use this API operation.
 11216  //
 11217  // The context must be non-nil and will be used for request cancellation. If
 11218  // the context is nil a panic will occur. In the future the SDK may create
 11219  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11220  // for more information on using Contexts.
 11221  func (c *RDS) ModifyDBParameterGroupWithContext(ctx aws.Context, input *ModifyDBParameterGroupInput, opts ...request.Option) (*DBParameterGroupNameMessage, error) {
 11222  	req, out := c.ModifyDBParameterGroupRequest(input)
 11223  	req.SetContext(ctx)
 11224  	req.ApplyOptions(opts...)
 11225  	return out, req.Send()
 11226  }
 11227  
 11228  const opModifyDBProxy = "ModifyDBProxy"
 11229  
 11230  // ModifyDBProxyRequest generates a "aws/request.Request" representing the
 11231  // client's request for the ModifyDBProxy operation. The "output" return
 11232  // value will be populated with the request's response once the request completes
 11233  // successfully.
 11234  //
 11235  // Use "Send" method on the returned Request to send the API call to the service.
 11236  // the "output" return value is not valid until after Send returns without error.
 11237  //
 11238  // See ModifyDBProxy for more information on using the ModifyDBProxy
 11239  // API call, and error handling.
 11240  //
 11241  // This method is useful when you want to inject custom logic or configuration
 11242  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11243  //
 11244  //
 11245  //    // Example sending a request using the ModifyDBProxyRequest method.
 11246  //    req, resp := client.ModifyDBProxyRequest(params)
 11247  //
 11248  //    err := req.Send()
 11249  //    if err == nil { // resp is now filled
 11250  //        fmt.Println(resp)
 11251  //    }
 11252  //
 11253  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBProxy
 11254  func (c *RDS) ModifyDBProxyRequest(input *ModifyDBProxyInput) (req *request.Request, output *ModifyDBProxyOutput) {
 11255  	op := &request.Operation{
 11256  		Name:       opModifyDBProxy,
 11257  		HTTPMethod: "POST",
 11258  		HTTPPath:   "/",
 11259  	}
 11260  
 11261  	if input == nil {
 11262  		input = &ModifyDBProxyInput{}
 11263  	}
 11264  
 11265  	output = &ModifyDBProxyOutput{}
 11266  	req = c.newRequest(op, input, output)
 11267  	return
 11268  }
 11269  
 11270  // ModifyDBProxy API operation for Amazon Relational Database Service.
 11271  //
 11272  // Changes the settings for an existing DB proxy.
 11273  //
 11274  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11275  // with awserr.Error's Code and Message methods to get detailed information about
 11276  // the error.
 11277  //
 11278  // See the AWS API reference guide for Amazon Relational Database Service's
 11279  // API operation ModifyDBProxy for usage and error information.
 11280  //
 11281  // Returned Error Codes:
 11282  //   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
 11283  //   The specified proxy name doesn't correspond to a proxy owned by your Amazon
 11284  //   Web Services account in the specified Amazon Web Services Region.
 11285  //
 11286  //   * ErrCodeDBProxyAlreadyExistsFault "DBProxyAlreadyExistsFault"
 11287  //   The specified proxy name must be unique for all proxies owned by your Amazon
 11288  //   Web Services account in the specified Amazon Web Services Region.
 11289  //
 11290  //   * ErrCodeInvalidDBProxyStateFault "InvalidDBProxyStateFault"
 11291  //   The requested operation can't be performed while the proxy is in this state.
 11292  //
 11293  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBProxy
 11294  func (c *RDS) ModifyDBProxy(input *ModifyDBProxyInput) (*ModifyDBProxyOutput, error) {
 11295  	req, out := c.ModifyDBProxyRequest(input)
 11296  	return out, req.Send()
 11297  }
 11298  
 11299  // ModifyDBProxyWithContext is the same as ModifyDBProxy with the addition of
 11300  // the ability to pass a context and additional request options.
 11301  //
 11302  // See ModifyDBProxy for details on how to use this API operation.
 11303  //
 11304  // The context must be non-nil and will be used for request cancellation. If
 11305  // the context is nil a panic will occur. In the future the SDK may create
 11306  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11307  // for more information on using Contexts.
 11308  func (c *RDS) ModifyDBProxyWithContext(ctx aws.Context, input *ModifyDBProxyInput, opts ...request.Option) (*ModifyDBProxyOutput, error) {
 11309  	req, out := c.ModifyDBProxyRequest(input)
 11310  	req.SetContext(ctx)
 11311  	req.ApplyOptions(opts...)
 11312  	return out, req.Send()
 11313  }
 11314  
 11315  const opModifyDBProxyEndpoint = "ModifyDBProxyEndpoint"
 11316  
 11317  // ModifyDBProxyEndpointRequest generates a "aws/request.Request" representing the
 11318  // client's request for the ModifyDBProxyEndpoint operation. The "output" return
 11319  // value will be populated with the request's response once the request completes
 11320  // successfully.
 11321  //
 11322  // Use "Send" method on the returned Request to send the API call to the service.
 11323  // the "output" return value is not valid until after Send returns without error.
 11324  //
 11325  // See ModifyDBProxyEndpoint for more information on using the ModifyDBProxyEndpoint
 11326  // API call, and error handling.
 11327  //
 11328  // This method is useful when you want to inject custom logic or configuration
 11329  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11330  //
 11331  //
 11332  //    // Example sending a request using the ModifyDBProxyEndpointRequest method.
 11333  //    req, resp := client.ModifyDBProxyEndpointRequest(params)
 11334  //
 11335  //    err := req.Send()
 11336  //    if err == nil { // resp is now filled
 11337  //        fmt.Println(resp)
 11338  //    }
 11339  //
 11340  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBProxyEndpoint
 11341  func (c *RDS) ModifyDBProxyEndpointRequest(input *ModifyDBProxyEndpointInput) (req *request.Request, output *ModifyDBProxyEndpointOutput) {
 11342  	op := &request.Operation{
 11343  		Name:       opModifyDBProxyEndpoint,
 11344  		HTTPMethod: "POST",
 11345  		HTTPPath:   "/",
 11346  	}
 11347  
 11348  	if input == nil {
 11349  		input = &ModifyDBProxyEndpointInput{}
 11350  	}
 11351  
 11352  	output = &ModifyDBProxyEndpointOutput{}
 11353  	req = c.newRequest(op, input, output)
 11354  	return
 11355  }
 11356  
 11357  // ModifyDBProxyEndpoint API operation for Amazon Relational Database Service.
 11358  //
 11359  // Changes the settings for an existing DB proxy endpoint.
 11360  //
 11361  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11362  // with awserr.Error's Code and Message methods to get detailed information about
 11363  // the error.
 11364  //
 11365  // See the AWS API reference guide for Amazon Relational Database Service's
 11366  // API operation ModifyDBProxyEndpoint for usage and error information.
 11367  //
 11368  // Returned Error Codes:
 11369  //   * ErrCodeDBProxyEndpointNotFoundFault "DBProxyEndpointNotFoundFault"
 11370  //   The DB proxy endpoint doesn't exist.
 11371  //
 11372  //   * ErrCodeDBProxyEndpointAlreadyExistsFault "DBProxyEndpointAlreadyExistsFault"
 11373  //   The specified DB proxy endpoint name must be unique for all DB proxy endpoints
 11374  //   owned by your Amazon Web Services account in the specified Amazon Web Services
 11375  //   Region.
 11376  //
 11377  //   * ErrCodeInvalidDBProxyEndpointStateFault "InvalidDBProxyEndpointStateFault"
 11378  //   You can't perform this operation while the DB proxy endpoint is in a particular
 11379  //   state.
 11380  //
 11381  //   * ErrCodeInvalidDBProxyStateFault "InvalidDBProxyStateFault"
 11382  //   The requested operation can't be performed while the proxy is in this state.
 11383  //
 11384  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBProxyEndpoint
 11385  func (c *RDS) ModifyDBProxyEndpoint(input *ModifyDBProxyEndpointInput) (*ModifyDBProxyEndpointOutput, error) {
 11386  	req, out := c.ModifyDBProxyEndpointRequest(input)
 11387  	return out, req.Send()
 11388  }
 11389  
 11390  // ModifyDBProxyEndpointWithContext is the same as ModifyDBProxyEndpoint with the addition of
 11391  // the ability to pass a context and additional request options.
 11392  //
 11393  // See ModifyDBProxyEndpoint for details on how to use this API operation.
 11394  //
 11395  // The context must be non-nil and will be used for request cancellation. If
 11396  // the context is nil a panic will occur. In the future the SDK may create
 11397  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11398  // for more information on using Contexts.
 11399  func (c *RDS) ModifyDBProxyEndpointWithContext(ctx aws.Context, input *ModifyDBProxyEndpointInput, opts ...request.Option) (*ModifyDBProxyEndpointOutput, error) {
 11400  	req, out := c.ModifyDBProxyEndpointRequest(input)
 11401  	req.SetContext(ctx)
 11402  	req.ApplyOptions(opts...)
 11403  	return out, req.Send()
 11404  }
 11405  
 11406  const opModifyDBProxyTargetGroup = "ModifyDBProxyTargetGroup"
 11407  
 11408  // ModifyDBProxyTargetGroupRequest generates a "aws/request.Request" representing the
 11409  // client's request for the ModifyDBProxyTargetGroup operation. The "output" return
 11410  // value will be populated with the request's response once the request completes
 11411  // successfully.
 11412  //
 11413  // Use "Send" method on the returned Request to send the API call to the service.
 11414  // the "output" return value is not valid until after Send returns without error.
 11415  //
 11416  // See ModifyDBProxyTargetGroup for more information on using the ModifyDBProxyTargetGroup
 11417  // API call, and error handling.
 11418  //
 11419  // This method is useful when you want to inject custom logic or configuration
 11420  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11421  //
 11422  //
 11423  //    // Example sending a request using the ModifyDBProxyTargetGroupRequest method.
 11424  //    req, resp := client.ModifyDBProxyTargetGroupRequest(params)
 11425  //
 11426  //    err := req.Send()
 11427  //    if err == nil { // resp is now filled
 11428  //        fmt.Println(resp)
 11429  //    }
 11430  //
 11431  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBProxyTargetGroup
 11432  func (c *RDS) ModifyDBProxyTargetGroupRequest(input *ModifyDBProxyTargetGroupInput) (req *request.Request, output *ModifyDBProxyTargetGroupOutput) {
 11433  	op := &request.Operation{
 11434  		Name:       opModifyDBProxyTargetGroup,
 11435  		HTTPMethod: "POST",
 11436  		HTTPPath:   "/",
 11437  	}
 11438  
 11439  	if input == nil {
 11440  		input = &ModifyDBProxyTargetGroupInput{}
 11441  	}
 11442  
 11443  	output = &ModifyDBProxyTargetGroupOutput{}
 11444  	req = c.newRequest(op, input, output)
 11445  	return
 11446  }
 11447  
 11448  // ModifyDBProxyTargetGroup API operation for Amazon Relational Database Service.
 11449  //
 11450  // Modifies the properties of a DBProxyTargetGroup.
 11451  //
 11452  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11453  // with awserr.Error's Code and Message methods to get detailed information about
 11454  // the error.
 11455  //
 11456  // See the AWS API reference guide for Amazon Relational Database Service's
 11457  // API operation ModifyDBProxyTargetGroup for usage and error information.
 11458  //
 11459  // Returned Error Codes:
 11460  //   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
 11461  //   The specified proxy name doesn't correspond to a proxy owned by your Amazon
 11462  //   Web Services account in the specified Amazon Web Services Region.
 11463  //
 11464  //   * ErrCodeDBProxyTargetGroupNotFoundFault "DBProxyTargetGroupNotFoundFault"
 11465  //   The specified target group isn't available for a proxy owned by your Amazon
 11466  //   Web Services account in the specified Amazon Web Services Region.
 11467  //
 11468  //   * ErrCodeInvalidDBProxyStateFault "InvalidDBProxyStateFault"
 11469  //   The requested operation can't be performed while the proxy is in this state.
 11470  //
 11471  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBProxyTargetGroup
 11472  func (c *RDS) ModifyDBProxyTargetGroup(input *ModifyDBProxyTargetGroupInput) (*ModifyDBProxyTargetGroupOutput, error) {
 11473  	req, out := c.ModifyDBProxyTargetGroupRequest(input)
 11474  	return out, req.Send()
 11475  }
 11476  
 11477  // ModifyDBProxyTargetGroupWithContext is the same as ModifyDBProxyTargetGroup with the addition of
 11478  // the ability to pass a context and additional request options.
 11479  //
 11480  // See ModifyDBProxyTargetGroup for details on how to use this API operation.
 11481  //
 11482  // The context must be non-nil and will be used for request cancellation. If
 11483  // the context is nil a panic will occur. In the future the SDK may create
 11484  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11485  // for more information on using Contexts.
 11486  func (c *RDS) ModifyDBProxyTargetGroupWithContext(ctx aws.Context, input *ModifyDBProxyTargetGroupInput, opts ...request.Option) (*ModifyDBProxyTargetGroupOutput, error) {
 11487  	req, out := c.ModifyDBProxyTargetGroupRequest(input)
 11488  	req.SetContext(ctx)
 11489  	req.ApplyOptions(opts...)
 11490  	return out, req.Send()
 11491  }
 11492  
 11493  const opModifyDBSnapshot = "ModifyDBSnapshot"
 11494  
 11495  // ModifyDBSnapshotRequest generates a "aws/request.Request" representing the
 11496  // client's request for the ModifyDBSnapshot operation. The "output" return
 11497  // value will be populated with the request's response once the request completes
 11498  // successfully.
 11499  //
 11500  // Use "Send" method on the returned Request to send the API call to the service.
 11501  // the "output" return value is not valid until after Send returns without error.
 11502  //
 11503  // See ModifyDBSnapshot for more information on using the ModifyDBSnapshot
 11504  // API call, and error handling.
 11505  //
 11506  // This method is useful when you want to inject custom logic or configuration
 11507  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11508  //
 11509  //
 11510  //    // Example sending a request using the ModifyDBSnapshotRequest method.
 11511  //    req, resp := client.ModifyDBSnapshotRequest(params)
 11512  //
 11513  //    err := req.Send()
 11514  //    if err == nil { // resp is now filled
 11515  //        fmt.Println(resp)
 11516  //    }
 11517  //
 11518  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSnapshot
 11519  func (c *RDS) ModifyDBSnapshotRequest(input *ModifyDBSnapshotInput) (req *request.Request, output *ModifyDBSnapshotOutput) {
 11520  	op := &request.Operation{
 11521  		Name:       opModifyDBSnapshot,
 11522  		HTTPMethod: "POST",
 11523  		HTTPPath:   "/",
 11524  	}
 11525  
 11526  	if input == nil {
 11527  		input = &ModifyDBSnapshotInput{}
 11528  	}
 11529  
 11530  	output = &ModifyDBSnapshotOutput{}
 11531  	req = c.newRequest(op, input, output)
 11532  	return
 11533  }
 11534  
 11535  // ModifyDBSnapshot API operation for Amazon Relational Database Service.
 11536  //
 11537  // Updates a manual DB snapshot with a new engine version. The snapshot can
 11538  // be encrypted or unencrypted, but not shared or public.
 11539  //
 11540  // Amazon RDS supports upgrading DB snapshots for MySQL, Oracle, and PostgreSQL.
 11541  //
 11542  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11543  // with awserr.Error's Code and Message methods to get detailed information about
 11544  // the error.
 11545  //
 11546  // See the AWS API reference guide for Amazon Relational Database Service's
 11547  // API operation ModifyDBSnapshot for usage and error information.
 11548  //
 11549  // Returned Error Codes:
 11550  //   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
 11551  //   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
 11552  //
 11553  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSnapshot
 11554  func (c *RDS) ModifyDBSnapshot(input *ModifyDBSnapshotInput) (*ModifyDBSnapshotOutput, error) {
 11555  	req, out := c.ModifyDBSnapshotRequest(input)
 11556  	return out, req.Send()
 11557  }
 11558  
 11559  // ModifyDBSnapshotWithContext is the same as ModifyDBSnapshot with the addition of
 11560  // the ability to pass a context and additional request options.
 11561  //
 11562  // See ModifyDBSnapshot for details on how to use this API operation.
 11563  //
 11564  // The context must be non-nil and will be used for request cancellation. If
 11565  // the context is nil a panic will occur. In the future the SDK may create
 11566  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11567  // for more information on using Contexts.
 11568  func (c *RDS) ModifyDBSnapshotWithContext(ctx aws.Context, input *ModifyDBSnapshotInput, opts ...request.Option) (*ModifyDBSnapshotOutput, error) {
 11569  	req, out := c.ModifyDBSnapshotRequest(input)
 11570  	req.SetContext(ctx)
 11571  	req.ApplyOptions(opts...)
 11572  	return out, req.Send()
 11573  }
 11574  
 11575  const opModifyDBSnapshotAttribute = "ModifyDBSnapshotAttribute"
 11576  
 11577  // ModifyDBSnapshotAttributeRequest generates a "aws/request.Request" representing the
 11578  // client's request for the ModifyDBSnapshotAttribute operation. The "output" return
 11579  // value will be populated with the request's response once the request completes
 11580  // successfully.
 11581  //
 11582  // Use "Send" method on the returned Request to send the API call to the service.
 11583  // the "output" return value is not valid until after Send returns without error.
 11584  //
 11585  // See ModifyDBSnapshotAttribute for more information on using the ModifyDBSnapshotAttribute
 11586  // API call, and error handling.
 11587  //
 11588  // This method is useful when you want to inject custom logic or configuration
 11589  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11590  //
 11591  //
 11592  //    // Example sending a request using the ModifyDBSnapshotAttributeRequest method.
 11593  //    req, resp := client.ModifyDBSnapshotAttributeRequest(params)
 11594  //
 11595  //    err := req.Send()
 11596  //    if err == nil { // resp is now filled
 11597  //        fmt.Println(resp)
 11598  //    }
 11599  //
 11600  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSnapshotAttribute
 11601  func (c *RDS) ModifyDBSnapshotAttributeRequest(input *ModifyDBSnapshotAttributeInput) (req *request.Request, output *ModifyDBSnapshotAttributeOutput) {
 11602  	op := &request.Operation{
 11603  		Name:       opModifyDBSnapshotAttribute,
 11604  		HTTPMethod: "POST",
 11605  		HTTPPath:   "/",
 11606  	}
 11607  
 11608  	if input == nil {
 11609  		input = &ModifyDBSnapshotAttributeInput{}
 11610  	}
 11611  
 11612  	output = &ModifyDBSnapshotAttributeOutput{}
 11613  	req = c.newRequest(op, input, output)
 11614  	return
 11615  }
 11616  
 11617  // ModifyDBSnapshotAttribute API operation for Amazon Relational Database Service.
 11618  //
 11619  // Adds an attribute and values to, or removes an attribute and values from,
 11620  // a manual DB snapshot.
 11621  //
 11622  // To share a manual DB snapshot with other Amazon Web Services accounts, specify
 11623  // restore as the AttributeName and use the ValuesToAdd parameter to add a list
 11624  // of IDs of the Amazon Web Services accounts that are authorized to restore
 11625  // the manual DB snapshot. Uses the value all to make the manual DB snapshot
 11626  // public, which means it can be copied or restored by all Amazon Web Services
 11627  // accounts.
 11628  //
 11629  // Don't add the all value for any manual DB snapshots that contain private
 11630  // information that you don't want available to all Amazon Web Services accounts.
 11631  //
 11632  // If the manual DB snapshot is encrypted, it can be shared, but only by specifying
 11633  // a list of authorized Amazon Web Services account IDs for the ValuesToAdd
 11634  // parameter. You can't use all as a value for that parameter in this case.
 11635  //
 11636  // To view which Amazon Web Services accounts have access to copy or restore
 11637  // a manual DB snapshot, or whether a manual DB snapshot public or private,
 11638  // use the DescribeDBSnapshotAttributes API action. The accounts are returned
 11639  // as values for the restore attribute.
 11640  //
 11641  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11642  // with awserr.Error's Code and Message methods to get detailed information about
 11643  // the error.
 11644  //
 11645  // See the AWS API reference guide for Amazon Relational Database Service's
 11646  // API operation ModifyDBSnapshotAttribute for usage and error information.
 11647  //
 11648  // Returned Error Codes:
 11649  //   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
 11650  //   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
 11651  //
 11652  //   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
 11653  //   The state of the DB snapshot doesn't allow deletion.
 11654  //
 11655  //   * ErrCodeSharedSnapshotQuotaExceededFault "SharedSnapshotQuotaExceeded"
 11656  //   You have exceeded the maximum number of accounts that you can share a manual
 11657  //   DB snapshot with.
 11658  //
 11659  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSnapshotAttribute
 11660  func (c *RDS) ModifyDBSnapshotAttribute(input *ModifyDBSnapshotAttributeInput) (*ModifyDBSnapshotAttributeOutput, error) {
 11661  	req, out := c.ModifyDBSnapshotAttributeRequest(input)
 11662  	return out, req.Send()
 11663  }
 11664  
 11665  // ModifyDBSnapshotAttributeWithContext is the same as ModifyDBSnapshotAttribute with the addition of
 11666  // the ability to pass a context and additional request options.
 11667  //
 11668  // See ModifyDBSnapshotAttribute for details on how to use this API operation.
 11669  //
 11670  // The context must be non-nil and will be used for request cancellation. If
 11671  // the context is nil a panic will occur. In the future the SDK may create
 11672  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11673  // for more information on using Contexts.
 11674  func (c *RDS) ModifyDBSnapshotAttributeWithContext(ctx aws.Context, input *ModifyDBSnapshotAttributeInput, opts ...request.Option) (*ModifyDBSnapshotAttributeOutput, error) {
 11675  	req, out := c.ModifyDBSnapshotAttributeRequest(input)
 11676  	req.SetContext(ctx)
 11677  	req.ApplyOptions(opts...)
 11678  	return out, req.Send()
 11679  }
 11680  
 11681  const opModifyDBSubnetGroup = "ModifyDBSubnetGroup"
 11682  
 11683  // ModifyDBSubnetGroupRequest generates a "aws/request.Request" representing the
 11684  // client's request for the ModifyDBSubnetGroup operation. The "output" return
 11685  // value will be populated with the request's response once the request completes
 11686  // successfully.
 11687  //
 11688  // Use "Send" method on the returned Request to send the API call to the service.
 11689  // the "output" return value is not valid until after Send returns without error.
 11690  //
 11691  // See ModifyDBSubnetGroup for more information on using the ModifyDBSubnetGroup
 11692  // API call, and error handling.
 11693  //
 11694  // This method is useful when you want to inject custom logic or configuration
 11695  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11696  //
 11697  //
 11698  //    // Example sending a request using the ModifyDBSubnetGroupRequest method.
 11699  //    req, resp := client.ModifyDBSubnetGroupRequest(params)
 11700  //
 11701  //    err := req.Send()
 11702  //    if err == nil { // resp is now filled
 11703  //        fmt.Println(resp)
 11704  //    }
 11705  //
 11706  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSubnetGroup
 11707  func (c *RDS) ModifyDBSubnetGroupRequest(input *ModifyDBSubnetGroupInput) (req *request.Request, output *ModifyDBSubnetGroupOutput) {
 11708  	op := &request.Operation{
 11709  		Name:       opModifyDBSubnetGroup,
 11710  		HTTPMethod: "POST",
 11711  		HTTPPath:   "/",
 11712  	}
 11713  
 11714  	if input == nil {
 11715  		input = &ModifyDBSubnetGroupInput{}
 11716  	}
 11717  
 11718  	output = &ModifyDBSubnetGroupOutput{}
 11719  	req = c.newRequest(op, input, output)
 11720  	return
 11721  }
 11722  
 11723  // ModifyDBSubnetGroup API operation for Amazon Relational Database Service.
 11724  //
 11725  // Modifies an existing DB subnet group. DB subnet groups must contain at least
 11726  // one subnet in at least two AZs in the Amazon Web Services Region.
 11727  //
 11728  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11729  // with awserr.Error's Code and Message methods to get detailed information about
 11730  // the error.
 11731  //
 11732  // See the AWS API reference guide for Amazon Relational Database Service's
 11733  // API operation ModifyDBSubnetGroup for usage and error information.
 11734  //
 11735  // Returned Error Codes:
 11736  //   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
 11737  //   DBSubnetGroupName doesn't refer to an existing DB subnet group.
 11738  //
 11739  //   * ErrCodeDBSubnetQuotaExceededFault "DBSubnetQuotaExceededFault"
 11740  //   The request would result in the user exceeding the allowed number of subnets
 11741  //   in a DB subnet groups.
 11742  //
 11743  //   * ErrCodeSubnetAlreadyInUse "SubnetAlreadyInUse"
 11744  //   The DB subnet is already in use in the Availability Zone.
 11745  //
 11746  //   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
 11747  //   Subnets in the DB subnet group should cover at least two Availability Zones
 11748  //   unless there is only one Availability Zone.
 11749  //
 11750  //   * ErrCodeInvalidSubnet "InvalidSubnet"
 11751  //   The requested subnet is invalid, or multiple subnets were requested that
 11752  //   are not all in a common VPC.
 11753  //
 11754  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSubnetGroup
 11755  func (c *RDS) ModifyDBSubnetGroup(input *ModifyDBSubnetGroupInput) (*ModifyDBSubnetGroupOutput, error) {
 11756  	req, out := c.ModifyDBSubnetGroupRequest(input)
 11757  	return out, req.Send()
 11758  }
 11759  
 11760  // ModifyDBSubnetGroupWithContext is the same as ModifyDBSubnetGroup with the addition of
 11761  // the ability to pass a context and additional request options.
 11762  //
 11763  // See ModifyDBSubnetGroup for details on how to use this API operation.
 11764  //
 11765  // The context must be non-nil and will be used for request cancellation. If
 11766  // the context is nil a panic will occur. In the future the SDK may create
 11767  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11768  // for more information on using Contexts.
 11769  func (c *RDS) ModifyDBSubnetGroupWithContext(ctx aws.Context, input *ModifyDBSubnetGroupInput, opts ...request.Option) (*ModifyDBSubnetGroupOutput, error) {
 11770  	req, out := c.ModifyDBSubnetGroupRequest(input)
 11771  	req.SetContext(ctx)
 11772  	req.ApplyOptions(opts...)
 11773  	return out, req.Send()
 11774  }
 11775  
 11776  const opModifyEventSubscription = "ModifyEventSubscription"
 11777  
 11778  // ModifyEventSubscriptionRequest generates a "aws/request.Request" representing the
 11779  // client's request for the ModifyEventSubscription operation. The "output" return
 11780  // value will be populated with the request's response once the request completes
 11781  // successfully.
 11782  //
 11783  // Use "Send" method on the returned Request to send the API call to the service.
 11784  // the "output" return value is not valid until after Send returns without error.
 11785  //
 11786  // See ModifyEventSubscription for more information on using the ModifyEventSubscription
 11787  // API call, and error handling.
 11788  //
 11789  // This method is useful when you want to inject custom logic or configuration
 11790  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11791  //
 11792  //
 11793  //    // Example sending a request using the ModifyEventSubscriptionRequest method.
 11794  //    req, resp := client.ModifyEventSubscriptionRequest(params)
 11795  //
 11796  //    err := req.Send()
 11797  //    if err == nil { // resp is now filled
 11798  //        fmt.Println(resp)
 11799  //    }
 11800  //
 11801  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyEventSubscription
 11802  func (c *RDS) ModifyEventSubscriptionRequest(input *ModifyEventSubscriptionInput) (req *request.Request, output *ModifyEventSubscriptionOutput) {
 11803  	op := &request.Operation{
 11804  		Name:       opModifyEventSubscription,
 11805  		HTTPMethod: "POST",
 11806  		HTTPPath:   "/",
 11807  	}
 11808  
 11809  	if input == nil {
 11810  		input = &ModifyEventSubscriptionInput{}
 11811  	}
 11812  
 11813  	output = &ModifyEventSubscriptionOutput{}
 11814  	req = c.newRequest(op, input, output)
 11815  	return
 11816  }
 11817  
 11818  // ModifyEventSubscription API operation for Amazon Relational Database Service.
 11819  //
 11820  // Modifies an existing RDS event notification subscription. You can't modify
 11821  // the source identifiers using this call. To change source identifiers for
 11822  // a subscription, use the AddSourceIdentifierToSubscription and RemoveSourceIdentifierFromSubscription
 11823  // calls.
 11824  //
 11825  // You can see a list of the event categories for a given source type (SourceType)
 11826  // in Events (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html)
 11827  // in the Amazon RDS User Guide or by using the DescribeEventCategories operation.
 11828  //
 11829  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11830  // with awserr.Error's Code and Message methods to get detailed information about
 11831  // the error.
 11832  //
 11833  // See the AWS API reference guide for Amazon Relational Database Service's
 11834  // API operation ModifyEventSubscription for usage and error information.
 11835  //
 11836  // Returned Error Codes:
 11837  //   * ErrCodeEventSubscriptionQuotaExceededFault "EventSubscriptionQuotaExceeded"
 11838  //   You have reached the maximum number of event subscriptions.
 11839  //
 11840  //   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
 11841  //   The subscription name does not exist.
 11842  //
 11843  //   * ErrCodeSNSInvalidTopicFault "SNSInvalidTopic"
 11844  //   SNS has responded that there is a problem with the SND topic specified.
 11845  //
 11846  //   * ErrCodeSNSNoAuthorizationFault "SNSNoAuthorization"
 11847  //   You do not have permission to publish to the SNS topic ARN.
 11848  //
 11849  //   * ErrCodeSNSTopicArnNotFoundFault "SNSTopicArnNotFound"
 11850  //   The SNS topic ARN does not exist.
 11851  //
 11852  //   * ErrCodeSubscriptionCategoryNotFoundFault "SubscriptionCategoryNotFound"
 11853  //   The supplied category does not exist.
 11854  //
 11855  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyEventSubscription
 11856  func (c *RDS) ModifyEventSubscription(input *ModifyEventSubscriptionInput) (*ModifyEventSubscriptionOutput, error) {
 11857  	req, out := c.ModifyEventSubscriptionRequest(input)
 11858  	return out, req.Send()
 11859  }
 11860  
 11861  // ModifyEventSubscriptionWithContext is the same as ModifyEventSubscription with the addition of
 11862  // the ability to pass a context and additional request options.
 11863  //
 11864  // See ModifyEventSubscription for details on how to use this API operation.
 11865  //
 11866  // The context must be non-nil and will be used for request cancellation. If
 11867  // the context is nil a panic will occur. In the future the SDK may create
 11868  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11869  // for more information on using Contexts.
 11870  func (c *RDS) ModifyEventSubscriptionWithContext(ctx aws.Context, input *ModifyEventSubscriptionInput, opts ...request.Option) (*ModifyEventSubscriptionOutput, error) {
 11871  	req, out := c.ModifyEventSubscriptionRequest(input)
 11872  	req.SetContext(ctx)
 11873  	req.ApplyOptions(opts...)
 11874  	return out, req.Send()
 11875  }
 11876  
 11877  const opModifyGlobalCluster = "ModifyGlobalCluster"
 11878  
 11879  // ModifyGlobalClusterRequest generates a "aws/request.Request" representing the
 11880  // client's request for the ModifyGlobalCluster operation. The "output" return
 11881  // value will be populated with the request's response once the request completes
 11882  // successfully.
 11883  //
 11884  // Use "Send" method on the returned Request to send the API call to the service.
 11885  // the "output" return value is not valid until after Send returns without error.
 11886  //
 11887  // See ModifyGlobalCluster for more information on using the ModifyGlobalCluster
 11888  // API call, and error handling.
 11889  //
 11890  // This method is useful when you want to inject custom logic or configuration
 11891  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11892  //
 11893  //
 11894  //    // Example sending a request using the ModifyGlobalClusterRequest method.
 11895  //    req, resp := client.ModifyGlobalClusterRequest(params)
 11896  //
 11897  //    err := req.Send()
 11898  //    if err == nil { // resp is now filled
 11899  //        fmt.Println(resp)
 11900  //    }
 11901  //
 11902  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyGlobalCluster
 11903  func (c *RDS) ModifyGlobalClusterRequest(input *ModifyGlobalClusterInput) (req *request.Request, output *ModifyGlobalClusterOutput) {
 11904  	op := &request.Operation{
 11905  		Name:       opModifyGlobalCluster,
 11906  		HTTPMethod: "POST",
 11907  		HTTPPath:   "/",
 11908  	}
 11909  
 11910  	if input == nil {
 11911  		input = &ModifyGlobalClusterInput{}
 11912  	}
 11913  
 11914  	output = &ModifyGlobalClusterOutput{}
 11915  	req = c.newRequest(op, input, output)
 11916  	return
 11917  }
 11918  
 11919  // ModifyGlobalCluster API operation for Amazon Relational Database Service.
 11920  //
 11921  // Modify a setting for an Amazon Aurora global cluster. You can change one
 11922  // or more database configuration parameters by specifying these parameters
 11923  // and the new values in the request. For more information on Amazon Aurora,
 11924  // see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
 11925  // in the Amazon Aurora User Guide.
 11926  //
 11927  // This action only applies to Aurora DB clusters.
 11928  //
 11929  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 11930  // with awserr.Error's Code and Message methods to get detailed information about
 11931  // the error.
 11932  //
 11933  // See the AWS API reference guide for Amazon Relational Database Service's
 11934  // API operation ModifyGlobalCluster for usage and error information.
 11935  //
 11936  // Returned Error Codes:
 11937  //   * ErrCodeGlobalClusterNotFoundFault "GlobalClusterNotFoundFault"
 11938  //   The GlobalClusterIdentifier doesn't refer to an existing global database
 11939  //   cluster.
 11940  //
 11941  //   * ErrCodeInvalidGlobalClusterStateFault "InvalidGlobalClusterStateFault"
 11942  //   The global cluster is in an invalid state and can't perform the requested
 11943  //   operation.
 11944  //
 11945  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
 11946  //   The requested operation can't be performed while the cluster is in this state.
 11947  //
 11948  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
 11949  //   The DB instance isn't in a valid state.
 11950  //
 11951  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyGlobalCluster
 11952  func (c *RDS) ModifyGlobalCluster(input *ModifyGlobalClusterInput) (*ModifyGlobalClusterOutput, error) {
 11953  	req, out := c.ModifyGlobalClusterRequest(input)
 11954  	return out, req.Send()
 11955  }
 11956  
 11957  // ModifyGlobalClusterWithContext is the same as ModifyGlobalCluster with the addition of
 11958  // the ability to pass a context and additional request options.
 11959  //
 11960  // See ModifyGlobalCluster for details on how to use this API operation.
 11961  //
 11962  // The context must be non-nil and will be used for request cancellation. If
 11963  // the context is nil a panic will occur. In the future the SDK may create
 11964  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 11965  // for more information on using Contexts.
 11966  func (c *RDS) ModifyGlobalClusterWithContext(ctx aws.Context, input *ModifyGlobalClusterInput, opts ...request.Option) (*ModifyGlobalClusterOutput, error) {
 11967  	req, out := c.ModifyGlobalClusterRequest(input)
 11968  	req.SetContext(ctx)
 11969  	req.ApplyOptions(opts...)
 11970  	return out, req.Send()
 11971  }
 11972  
 11973  const opModifyOptionGroup = "ModifyOptionGroup"
 11974  
 11975  // ModifyOptionGroupRequest generates a "aws/request.Request" representing the
 11976  // client's request for the ModifyOptionGroup operation. The "output" return
 11977  // value will be populated with the request's response once the request completes
 11978  // successfully.
 11979  //
 11980  // Use "Send" method on the returned Request to send the API call to the service.
 11981  // the "output" return value is not valid until after Send returns without error.
 11982  //
 11983  // See ModifyOptionGroup for more information on using the ModifyOptionGroup
 11984  // API call, and error handling.
 11985  //
 11986  // This method is useful when you want to inject custom logic or configuration
 11987  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 11988  //
 11989  //
 11990  //    // Example sending a request using the ModifyOptionGroupRequest method.
 11991  //    req, resp := client.ModifyOptionGroupRequest(params)
 11992  //
 11993  //    err := req.Send()
 11994  //    if err == nil { // resp is now filled
 11995  //        fmt.Println(resp)
 11996  //    }
 11997  //
 11998  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyOptionGroup
 11999  func (c *RDS) ModifyOptionGroupRequest(input *ModifyOptionGroupInput) (req *request.Request, output *ModifyOptionGroupOutput) {
 12000  	op := &request.Operation{
 12001  		Name:       opModifyOptionGroup,
 12002  		HTTPMethod: "POST",
 12003  		HTTPPath:   "/",
 12004  	}
 12005  
 12006  	if input == nil {
 12007  		input = &ModifyOptionGroupInput{}
 12008  	}
 12009  
 12010  	output = &ModifyOptionGroupOutput{}
 12011  	req = c.newRequest(op, input, output)
 12012  	return
 12013  }
 12014  
 12015  // ModifyOptionGroup API operation for Amazon Relational Database Service.
 12016  //
 12017  // Modifies an existing option group.
 12018  //
 12019  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 12020  // with awserr.Error's Code and Message methods to get detailed information about
 12021  // the error.
 12022  //
 12023  // See the AWS API reference guide for Amazon Relational Database Service's
 12024  // API operation ModifyOptionGroup for usage and error information.
 12025  //
 12026  // Returned Error Codes:
 12027  //   * ErrCodeInvalidOptionGroupStateFault "InvalidOptionGroupStateFault"
 12028  //   The option group isn't in the available state.
 12029  //
 12030  //   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
 12031  //   The specified option group could not be found.
 12032  //
 12033  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyOptionGroup
 12034  func (c *RDS) ModifyOptionGroup(input *ModifyOptionGroupInput) (*ModifyOptionGroupOutput, error) {
 12035  	req, out := c.ModifyOptionGroupRequest(input)
 12036  	return out, req.Send()
 12037  }
 12038  
 12039  // ModifyOptionGroupWithContext is the same as ModifyOptionGroup with the addition of
 12040  // the ability to pass a context and additional request options.
 12041  //
 12042  // See ModifyOptionGroup for details on how to use this API operation.
 12043  //
 12044  // The context must be non-nil and will be used for request cancellation. If
 12045  // the context is nil a panic will occur. In the future the SDK may create
 12046  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 12047  // for more information on using Contexts.
 12048  func (c *RDS) ModifyOptionGroupWithContext(ctx aws.Context, input *ModifyOptionGroupInput, opts ...request.Option) (*ModifyOptionGroupOutput, error) {
 12049  	req, out := c.ModifyOptionGroupRequest(input)
 12050  	req.SetContext(ctx)
 12051  	req.ApplyOptions(opts...)
 12052  	return out, req.Send()
 12053  }
 12054  
 12055  const opPromoteReadReplica = "PromoteReadReplica"
 12056  
 12057  // PromoteReadReplicaRequest generates a "aws/request.Request" representing the
 12058  // client's request for the PromoteReadReplica operation. The "output" return
 12059  // value will be populated with the request's response once the request completes
 12060  // successfully.
 12061  //
 12062  // Use "Send" method on the returned Request to send the API call to the service.
 12063  // the "output" return value is not valid until after Send returns without error.
 12064  //
 12065  // See PromoteReadReplica for more information on using the PromoteReadReplica
 12066  // API call, and error handling.
 12067  //
 12068  // This method is useful when you want to inject custom logic or configuration
 12069  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 12070  //
 12071  //
 12072  //    // Example sending a request using the PromoteReadReplicaRequest method.
 12073  //    req, resp := client.PromoteReadReplicaRequest(params)
 12074  //
 12075  //    err := req.Send()
 12076  //    if err == nil { // resp is now filled
 12077  //        fmt.Println(resp)
 12078  //    }
 12079  //
 12080  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PromoteReadReplica
 12081  func (c *RDS) PromoteReadReplicaRequest(input *PromoteReadReplicaInput) (req *request.Request, output *PromoteReadReplicaOutput) {
 12082  	op := &request.Operation{
 12083  		Name:       opPromoteReadReplica,
 12084  		HTTPMethod: "POST",
 12085  		HTTPPath:   "/",
 12086  	}
 12087  
 12088  	if input == nil {
 12089  		input = &PromoteReadReplicaInput{}
 12090  	}
 12091  
 12092  	output = &PromoteReadReplicaOutput{}
 12093  	req = c.newRequest(op, input, output)
 12094  	return
 12095  }
 12096  
 12097  // PromoteReadReplica API operation for Amazon Relational Database Service.
 12098  //
 12099  // Promotes a read replica DB instance to a standalone DB instance.
 12100  //
 12101  //    * Backup duration is a function of the amount of changes to the database
 12102  //    since the previous backup. If you plan to promote a read replica to a
 12103  //    standalone instance, we recommend that you enable backups and complete
 12104  //    at least one backup prior to promotion. In addition, a read replica cannot
 12105  //    be promoted to a standalone instance when it is in the backing-up status.
 12106  //    If you have enabled backups on your read replica, configure the automated
 12107  //    backup window so that daily backups do not interfere with read replica
 12108  //    promotion.
 12109  //
 12110  //    * This command doesn't apply to Aurora MySQL and Aurora PostgreSQL.
 12111  //
 12112  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 12113  // with awserr.Error's Code and Message methods to get detailed information about
 12114  // the error.
 12115  //
 12116  // See the AWS API reference guide for Amazon Relational Database Service's
 12117  // API operation PromoteReadReplica for usage and error information.
 12118  //
 12119  // Returned Error Codes:
 12120  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
 12121  //   The DB instance isn't in a valid state.
 12122  //
 12123  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
 12124  //   DBInstanceIdentifier doesn't refer to an existing DB instance.
 12125  //
 12126  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PromoteReadReplica
 12127  func (c *RDS) PromoteReadReplica(input *PromoteReadReplicaInput) (*PromoteReadReplicaOutput, error) {
 12128  	req, out := c.PromoteReadReplicaRequest(input)
 12129  	return out, req.Send()
 12130  }
 12131  
 12132  // PromoteReadReplicaWithContext is the same as PromoteReadReplica with the addition of
 12133  // the ability to pass a context and additional request options.
 12134  //
 12135  // See PromoteReadReplica for details on how to use this API operation.
 12136  //
 12137  // The context must be non-nil and will be used for request cancellation. If
 12138  // the context is nil a panic will occur. In the future the SDK may create
 12139  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 12140  // for more information on using Contexts.
 12141  func (c *RDS) PromoteReadReplicaWithContext(ctx aws.Context, input *PromoteReadReplicaInput, opts ...request.Option) (*PromoteReadReplicaOutput, error) {
 12142  	req, out := c.PromoteReadReplicaRequest(input)
 12143  	req.SetContext(ctx)
 12144  	req.ApplyOptions(opts...)
 12145  	return out, req.Send()
 12146  }
 12147  
 12148  const opPromoteReadReplicaDBCluster = "PromoteReadReplicaDBCluster"
 12149  
 12150  // PromoteReadReplicaDBClusterRequest generates a "aws/request.Request" representing the
 12151  // client's request for the PromoteReadReplicaDBCluster operation. The "output" return
 12152  // value will be populated with the request's response once the request completes
 12153  // successfully.
 12154  //
 12155  // Use "Send" method on the returned Request to send the API call to the service.
 12156  // the "output" return value is not valid until after Send returns without error.
 12157  //
 12158  // See PromoteReadReplicaDBCluster for more information on using the PromoteReadReplicaDBCluster
 12159  // API call, and error handling.
 12160  //
 12161  // This method is useful when you want to inject custom logic or configuration
 12162  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 12163  //
 12164  //
 12165  //    // Example sending a request using the PromoteReadReplicaDBClusterRequest method.
 12166  //    req, resp := client.PromoteReadReplicaDBClusterRequest(params)
 12167  //
 12168  //    err := req.Send()
 12169  //    if err == nil { // resp is now filled
 12170  //        fmt.Println(resp)
 12171  //    }
 12172  //
 12173  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PromoteReadReplicaDBCluster
 12174  func (c *RDS) PromoteReadReplicaDBClusterRequest(input *PromoteReadReplicaDBClusterInput) (req *request.Request, output *PromoteReadReplicaDBClusterOutput) {
 12175  	op := &request.Operation{
 12176  		Name:       opPromoteReadReplicaDBCluster,
 12177  		HTTPMethod: "POST",
 12178  		HTTPPath:   "/",
 12179  	}
 12180  
 12181  	if input == nil {
 12182  		input = &PromoteReadReplicaDBClusterInput{}
 12183  	}
 12184  
 12185  	output = &PromoteReadReplicaDBClusterOutput{}
 12186  	req = c.newRequest(op, input, output)
 12187  	return
 12188  }
 12189  
 12190  // PromoteReadReplicaDBCluster API operation for Amazon Relational Database Service.
 12191  //
 12192  // Promotes a read replica DB cluster to a standalone DB cluster.
 12193  //
 12194  // This action only applies to Aurora DB clusters.
 12195  //
 12196  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 12197  // with awserr.Error's Code and Message methods to get detailed information about
 12198  // the error.
 12199  //
 12200  // See the AWS API reference guide for Amazon Relational Database Service's
 12201  // API operation PromoteReadReplicaDBCluster for usage and error information.
 12202  //
 12203  // Returned Error Codes:
 12204  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
 12205  //   DBClusterIdentifier doesn't refer to an existing DB cluster.
 12206  //
 12207  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
 12208  //   The requested operation can't be performed while the cluster is in this state.
 12209  //
 12210  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PromoteReadReplicaDBCluster
 12211  func (c *RDS) PromoteReadReplicaDBCluster(input *PromoteReadReplicaDBClusterInput) (*PromoteReadReplicaDBClusterOutput, error) {
 12212  	req, out := c.PromoteReadReplicaDBClusterRequest(input)
 12213  	return out, req.Send()
 12214  }
 12215  
 12216  // PromoteReadReplicaDBClusterWithContext is the same as PromoteReadReplicaDBCluster with the addition of
 12217  // the ability to pass a context and additional request options.
 12218  //
 12219  // See PromoteReadReplicaDBCluster for details on how to use this API operation.
 12220  //
 12221  // The context must be non-nil and will be used for request cancellation. If
 12222  // the context is nil a panic will occur. In the future the SDK may create
 12223  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 12224  // for more information on using Contexts.
 12225  func (c *RDS) PromoteReadReplicaDBClusterWithContext(ctx aws.Context, input *PromoteReadReplicaDBClusterInput, opts ...request.Option) (*PromoteReadReplicaDBClusterOutput, error) {
 12226  	req, out := c.PromoteReadReplicaDBClusterRequest(input)
 12227  	req.SetContext(ctx)
 12228  	req.ApplyOptions(opts...)
 12229  	return out, req.Send()
 12230  }
 12231  
 12232  const opPurchaseReservedDBInstancesOffering = "PurchaseReservedDBInstancesOffering"
 12233  
 12234  // PurchaseReservedDBInstancesOfferingRequest generates a "aws/request.Request" representing the
 12235  // client's request for the PurchaseReservedDBInstancesOffering operation. The "output" return
 12236  // value will be populated with the request's response once the request completes
 12237  // successfully.
 12238  //
 12239  // Use "Send" method on the returned Request to send the API call to the service.
 12240  // the "output" return value is not valid until after Send returns without error.
 12241  //
 12242  // See PurchaseReservedDBInstancesOffering for more information on using the PurchaseReservedDBInstancesOffering
 12243  // API call, and error handling.
 12244  //
 12245  // This method is useful when you want to inject custom logic or configuration
 12246  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 12247  //
 12248  //
 12249  //    // Example sending a request using the PurchaseReservedDBInstancesOfferingRequest method.
 12250  //    req, resp := client.PurchaseReservedDBInstancesOfferingRequest(params)
 12251  //
 12252  //    err := req.Send()
 12253  //    if err == nil { // resp is now filled
 12254  //        fmt.Println(resp)
 12255  //    }
 12256  //
 12257  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PurchaseReservedDBInstancesOffering
 12258  func (c *RDS) PurchaseReservedDBInstancesOfferingRequest(input *PurchaseReservedDBInstancesOfferingInput) (req *request.Request, output *PurchaseReservedDBInstancesOfferingOutput) {
 12259  	op := &request.Operation{
 12260  		Name:       opPurchaseReservedDBInstancesOffering,
 12261  		HTTPMethod: "POST",
 12262  		HTTPPath:   "/",
 12263  	}
 12264  
 12265  	if input == nil {
 12266  		input = &PurchaseReservedDBInstancesOfferingInput{}
 12267  	}
 12268  
 12269  	output = &PurchaseReservedDBInstancesOfferingOutput{}
 12270  	req = c.newRequest(op, input, output)
 12271  	return
 12272  }
 12273  
 12274  // PurchaseReservedDBInstancesOffering API operation for Amazon Relational Database Service.
 12275  //
 12276  // Purchases a reserved DB instance offering.
 12277  //
 12278  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 12279  // with awserr.Error's Code and Message methods to get detailed information about
 12280  // the error.
 12281  //
 12282  // See the AWS API reference guide for Amazon Relational Database Service's
 12283  // API operation PurchaseReservedDBInstancesOffering for usage and error information.
 12284  //
 12285  // Returned Error Codes:
 12286  //   * ErrCodeReservedDBInstancesOfferingNotFoundFault "ReservedDBInstancesOfferingNotFound"
 12287  //   Specified offering does not exist.
 12288  //
 12289  //   * ErrCodeReservedDBInstanceAlreadyExistsFault "ReservedDBInstanceAlreadyExists"
 12290  //   User already has a reservation with the given identifier.
 12291  //
 12292  //   * ErrCodeReservedDBInstanceQuotaExceededFault "ReservedDBInstanceQuotaExceeded"
 12293  //   Request would exceed the user's DB Instance quota.
 12294  //
 12295  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PurchaseReservedDBInstancesOffering
 12296  func (c *RDS) PurchaseReservedDBInstancesOffering(input *PurchaseReservedDBInstancesOfferingInput) (*PurchaseReservedDBInstancesOfferingOutput, error) {
 12297  	req, out := c.PurchaseReservedDBInstancesOfferingRequest(input)
 12298  	return out, req.Send()
 12299  }
 12300  
 12301  // PurchaseReservedDBInstancesOfferingWithContext is the same as PurchaseReservedDBInstancesOffering with the addition of
 12302  // the ability to pass a context and additional request options.
 12303  //
 12304  // See PurchaseReservedDBInstancesOffering for details on how to use this API operation.
 12305  //
 12306  // The context must be non-nil and will be used for request cancellation. If
 12307  // the context is nil a panic will occur. In the future the SDK may create
 12308  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 12309  // for more information on using Contexts.
 12310  func (c *RDS) PurchaseReservedDBInstancesOfferingWithContext(ctx aws.Context, input *PurchaseReservedDBInstancesOfferingInput, opts ...request.Option) (*PurchaseReservedDBInstancesOfferingOutput, error) {
 12311  	req, out := c.PurchaseReservedDBInstancesOfferingRequest(input)
 12312  	req.SetContext(ctx)
 12313  	req.ApplyOptions(opts...)
 12314  	return out, req.Send()
 12315  }
 12316  
 12317  const opRebootDBInstance = "RebootDBInstance"
 12318  
 12319  // RebootDBInstanceRequest generates a "aws/request.Request" representing the
 12320  // client's request for the RebootDBInstance operation. The "output" return
 12321  // value will be populated with the request's response once the request completes
 12322  // successfully.
 12323  //
 12324  // Use "Send" method on the returned Request to send the API call to the service.
 12325  // the "output" return value is not valid until after Send returns without error.
 12326  //
 12327  // See RebootDBInstance for more information on using the RebootDBInstance
 12328  // API call, and error handling.
 12329  //
 12330  // This method is useful when you want to inject custom logic or configuration
 12331  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 12332  //
 12333  //
 12334  //    // Example sending a request using the RebootDBInstanceRequest method.
 12335  //    req, resp := client.RebootDBInstanceRequest(params)
 12336  //
 12337  //    err := req.Send()
 12338  //    if err == nil { // resp is now filled
 12339  //        fmt.Println(resp)
 12340  //    }
 12341  //
 12342  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RebootDBInstance
 12343  func (c *RDS) RebootDBInstanceRequest(input *RebootDBInstanceInput) (req *request.Request, output *RebootDBInstanceOutput) {
 12344  	op := &request.Operation{
 12345  		Name:       opRebootDBInstance,
 12346  		HTTPMethod: "POST",
 12347  		HTTPPath:   "/",
 12348  	}
 12349  
 12350  	if input == nil {
 12351  		input = &RebootDBInstanceInput{}
 12352  	}
 12353  
 12354  	output = &RebootDBInstanceOutput{}
 12355  	req = c.newRequest(op, input, output)
 12356  	return
 12357  }
 12358  
 12359  // RebootDBInstance API operation for Amazon Relational Database Service.
 12360  //
 12361  // You might need to reboot your DB instance, usually for maintenance reasons.
 12362  // For example, if you make certain modifications, or if you change the DB parameter
 12363  // group associated with the DB instance, you must reboot the instance for the
 12364  // changes to take effect.
 12365  //
 12366  // Rebooting a DB instance restarts the database engine service. Rebooting a
 12367  // DB instance results in a momentary outage, during which the DB instance status
 12368  // is set to rebooting.
 12369  //
 12370  // For more information about rebooting, see Rebooting a DB Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RebootInstance.html)
 12371  // in the Amazon RDS User Guide.
 12372  //
 12373  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 12374  // with awserr.Error's Code and Message methods to get detailed information about
 12375  // the error.
 12376  //
 12377  // See the AWS API reference guide for Amazon Relational Database Service's
 12378  // API operation RebootDBInstance for usage and error information.
 12379  //
 12380  // Returned Error Codes:
 12381  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
 12382  //   The DB instance isn't in a valid state.
 12383  //
 12384  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
 12385  //   DBInstanceIdentifier doesn't refer to an existing DB instance.
 12386  //
 12387  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RebootDBInstance
 12388  func (c *RDS) RebootDBInstance(input *RebootDBInstanceInput) (*RebootDBInstanceOutput, error) {
 12389  	req, out := c.RebootDBInstanceRequest(input)
 12390  	return out, req.Send()
 12391  }
 12392  
 12393  // RebootDBInstanceWithContext is the same as RebootDBInstance with the addition of
 12394  // the ability to pass a context and additional request options.
 12395  //
 12396  // See RebootDBInstance 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.
 12402  func (c *RDS) RebootDBInstanceWithContext(ctx aws.Context, input *RebootDBInstanceInput, opts ...request.Option) (*RebootDBInstanceOutput, error) {
 12403  	req, out := c.RebootDBInstanceRequest(input)
 12404  	req.SetContext(ctx)
 12405  	req.ApplyOptions(opts...)
 12406  	return out, req.Send()
 12407  }
 12408  
 12409  const opRegisterDBProxyTargets = "RegisterDBProxyTargets"
 12410  
 12411  // RegisterDBProxyTargetsRequest generates a "aws/request.Request" representing the
 12412  // client's request for the RegisterDBProxyTargets 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 RegisterDBProxyTargets for more information on using the RegisterDBProxyTargets
 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 RegisterDBProxyTargetsRequest method.
 12427  //    req, resp := client.RegisterDBProxyTargetsRequest(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/RegisterDBProxyTargets
 12435  func (c *RDS) RegisterDBProxyTargetsRequest(input *RegisterDBProxyTargetsInput) (req *request.Request, output *RegisterDBProxyTargetsOutput) {
 12436  	op := &request.Operation{
 12437  		Name:       opRegisterDBProxyTargets,
 12438  		HTTPMethod: "POST",
 12439  		HTTPPath:   "/",
 12440  	}
 12441  
 12442  	if input == nil {
 12443  		input = &RegisterDBProxyTargetsInput{}
 12444  	}
 12445  
 12446  	output = &RegisterDBProxyTargetsOutput{}
 12447  	req = c.newRequest(op, input, output)
 12448  	return
 12449  }
 12450  
 12451  // RegisterDBProxyTargets API operation for Amazon Relational Database Service.
 12452  //
 12453  // Associate one or more DBProxyTarget data structures with a DBProxyTargetGroup.
 12454  //
 12455  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 12456  // with awserr.Error's Code and Message methods to get detailed information about
 12457  // the error.
 12458  //
 12459  // See the AWS API reference guide for Amazon Relational Database Service's
 12460  // API operation RegisterDBProxyTargets for usage and error information.
 12461  //
 12462  // Returned Error Codes:
 12463  //   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
 12464  //   The specified proxy name doesn't correspond to a proxy owned by your Amazon
 12465  //   Web Services account in the specified Amazon Web Services Region.
 12466  //
 12467  //   * ErrCodeDBProxyTargetGroupNotFoundFault "DBProxyTargetGroupNotFoundFault"
 12468  //   The specified target group isn't available for a proxy owned by your Amazon
 12469  //   Web Services account in the specified Amazon Web Services Region.
 12470  //
 12471  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
 12472  //   DBClusterIdentifier doesn't refer to an existing DB cluster.
 12473  //
 12474  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
 12475  //   DBInstanceIdentifier doesn't refer to an existing DB instance.
 12476  //
 12477  //   * ErrCodeDBProxyTargetAlreadyRegisteredFault "DBProxyTargetAlreadyRegisteredFault"
 12478  //   The proxy is already associated with the specified RDS DB instance or Aurora
 12479  //   DB cluster.
 12480  //
 12481  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
 12482  //   The DB instance isn't in a valid state.
 12483  //
 12484  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
 12485  //   The requested operation can't be performed while the cluster is in this state.
 12486  //
 12487  //   * ErrCodeInvalidDBProxyStateFault "InvalidDBProxyStateFault"
 12488  //   The requested operation can't be performed while the proxy is in this state.
 12489  //
 12490  //   * ErrCodeInsufficientAvailableIPsInSubnetFault "InsufficientAvailableIPsInSubnetFault"
 12491  //   The requested operation can't be performed because there aren't enough available
 12492  //   IP addresses in the proxy's subnets. Add more CIDR blocks to the VPC or remove
 12493  //   IP address that aren't required from the subnets.
 12494  //
 12495  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RegisterDBProxyTargets
 12496  func (c *RDS) RegisterDBProxyTargets(input *RegisterDBProxyTargetsInput) (*RegisterDBProxyTargetsOutput, error) {
 12497  	req, out := c.RegisterDBProxyTargetsRequest(input)
 12498  	return out, req.Send()
 12499  }
 12500  
 12501  // RegisterDBProxyTargetsWithContext is the same as RegisterDBProxyTargets with the addition of
 12502  // the ability to pass a context and additional request options.
 12503  //
 12504  // See RegisterDBProxyTargets for details on how to use this API operation.
 12505  //
 12506  // The context must be non-nil and will be used for request cancellation. If
 12507  // the context is nil a panic will occur. In the future the SDK may create
 12508  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 12509  // for more information on using Contexts.
 12510  func (c *RDS) RegisterDBProxyTargetsWithContext(ctx aws.Context, input *RegisterDBProxyTargetsInput, opts ...request.Option) (*RegisterDBProxyTargetsOutput, error) {
 12511  	req, out := c.RegisterDBProxyTargetsRequest(input)
 12512  	req.SetContext(ctx)
 12513  	req.ApplyOptions(opts...)
 12514  	return out, req.Send()
 12515  }
 12516  
 12517  const opRemoveFromGlobalCluster = "RemoveFromGlobalCluster"
 12518  
 12519  // RemoveFromGlobalClusterRequest generates a "aws/request.Request" representing the
 12520  // client's request for the RemoveFromGlobalCluster operation. The "output" return
 12521  // value will be populated with the request's response once the request completes
 12522  // successfully.
 12523  //
 12524  // Use "Send" method on the returned Request to send the API call to the service.
 12525  // the "output" return value is not valid until after Send returns without error.
 12526  //
 12527  // See RemoveFromGlobalCluster for more information on using the RemoveFromGlobalCluster
 12528  // API call, and error handling.
 12529  //
 12530  // This method is useful when you want to inject custom logic or configuration
 12531  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 12532  //
 12533  //
 12534  //    // Example sending a request using the RemoveFromGlobalClusterRequest method.
 12535  //    req, resp := client.RemoveFromGlobalClusterRequest(params)
 12536  //
 12537  //    err := req.Send()
 12538  //    if err == nil { // resp is now filled
 12539  //        fmt.Println(resp)
 12540  //    }
 12541  //
 12542  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveFromGlobalCluster
 12543  func (c *RDS) RemoveFromGlobalClusterRequest(input *RemoveFromGlobalClusterInput) (req *request.Request, output *RemoveFromGlobalClusterOutput) {
 12544  	op := &request.Operation{
 12545  		Name:       opRemoveFromGlobalCluster,
 12546  		HTTPMethod: "POST",
 12547  		HTTPPath:   "/",
 12548  	}
 12549  
 12550  	if input == nil {
 12551  		input = &RemoveFromGlobalClusterInput{}
 12552  	}
 12553  
 12554  	output = &RemoveFromGlobalClusterOutput{}
 12555  	req = c.newRequest(op, input, output)
 12556  	return
 12557  }
 12558  
 12559  // RemoveFromGlobalCluster API operation for Amazon Relational Database Service.
 12560  //
 12561  // Detaches an Aurora secondary cluster from an Aurora global database cluster.
 12562  // The cluster becomes a standalone cluster with read-write capability instead
 12563  // of being read-only and receiving data from a primary cluster in a different
 12564  // region.
 12565  //
 12566  // This action only applies to Aurora DB clusters.
 12567  //
 12568  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 12569  // with awserr.Error's Code and Message methods to get detailed information about
 12570  // the error.
 12571  //
 12572  // See the AWS API reference guide for Amazon Relational Database Service's
 12573  // API operation RemoveFromGlobalCluster for usage and error information.
 12574  //
 12575  // Returned Error Codes:
 12576  //   * ErrCodeGlobalClusterNotFoundFault "GlobalClusterNotFoundFault"
 12577  //   The GlobalClusterIdentifier doesn't refer to an existing global database
 12578  //   cluster.
 12579  //
 12580  //   * ErrCodeInvalidGlobalClusterStateFault "InvalidGlobalClusterStateFault"
 12581  //   The global cluster is in an invalid state and can't perform the requested
 12582  //   operation.
 12583  //
 12584  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
 12585  //   DBClusterIdentifier doesn't refer to an existing DB cluster.
 12586  //
 12587  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveFromGlobalCluster
 12588  func (c *RDS) RemoveFromGlobalCluster(input *RemoveFromGlobalClusterInput) (*RemoveFromGlobalClusterOutput, error) {
 12589  	req, out := c.RemoveFromGlobalClusterRequest(input)
 12590  	return out, req.Send()
 12591  }
 12592  
 12593  // RemoveFromGlobalClusterWithContext is the same as RemoveFromGlobalCluster with the addition of
 12594  // the ability to pass a context and additional request options.
 12595  //
 12596  // See RemoveFromGlobalCluster for details on how to use this API operation.
 12597  //
 12598  // The context must be non-nil and will be used for request cancellation. If
 12599  // the context is nil a panic will occur. In the future the SDK may create
 12600  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 12601  // for more information on using Contexts.
 12602  func (c *RDS) RemoveFromGlobalClusterWithContext(ctx aws.Context, input *RemoveFromGlobalClusterInput, opts ...request.Option) (*RemoveFromGlobalClusterOutput, error) {
 12603  	req, out := c.RemoveFromGlobalClusterRequest(input)
 12604  	req.SetContext(ctx)
 12605  	req.ApplyOptions(opts...)
 12606  	return out, req.Send()
 12607  }
 12608  
 12609  const opRemoveRoleFromDBCluster = "RemoveRoleFromDBCluster"
 12610  
 12611  // RemoveRoleFromDBClusterRequest generates a "aws/request.Request" representing the
 12612  // client's request for the RemoveRoleFromDBCluster operation. The "output" return
 12613  // value will be populated with the request's response once the request completes
 12614  // successfully.
 12615  //
 12616  // Use "Send" method on the returned Request to send the API call to the service.
 12617  // the "output" return value is not valid until after Send returns without error.
 12618  //
 12619  // See RemoveRoleFromDBCluster for more information on using the RemoveRoleFromDBCluster
 12620  // API call, and error handling.
 12621  //
 12622  // This method is useful when you want to inject custom logic or configuration
 12623  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 12624  //
 12625  //
 12626  //    // Example sending a request using the RemoveRoleFromDBClusterRequest method.
 12627  //    req, resp := client.RemoveRoleFromDBClusterRequest(params)
 12628  //
 12629  //    err := req.Send()
 12630  //    if err == nil { // resp is now filled
 12631  //        fmt.Println(resp)
 12632  //    }
 12633  //
 12634  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveRoleFromDBCluster
 12635  func (c *RDS) RemoveRoleFromDBClusterRequest(input *RemoveRoleFromDBClusterInput) (req *request.Request, output *RemoveRoleFromDBClusterOutput) {
 12636  	op := &request.Operation{
 12637  		Name:       opRemoveRoleFromDBCluster,
 12638  		HTTPMethod: "POST",
 12639  		HTTPPath:   "/",
 12640  	}
 12641  
 12642  	if input == nil {
 12643  		input = &RemoveRoleFromDBClusterInput{}
 12644  	}
 12645  
 12646  	output = &RemoveRoleFromDBClusterOutput{}
 12647  	req = c.newRequest(op, input, output)
 12648  	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
 12649  	return
 12650  }
 12651  
 12652  // RemoveRoleFromDBCluster API operation for Amazon Relational Database Service.
 12653  //
 12654  // Disassociates an Amazon Web Services Identity and Access Management (IAM)
 12655  // role from an Amazon Aurora DB cluster. For more information, see Authorizing
 12656  // Amazon Aurora MySQL to Access Other Amazon Web Services Services on Your
 12657  // Behalf (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Integrating.Authorizing.html)
 12658  // in the Amazon Aurora User Guide.
 12659  //
 12660  // This action only applies to Aurora DB clusters.
 12661  //
 12662  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 12663  // with awserr.Error's Code and Message methods to get detailed information about
 12664  // the error.
 12665  //
 12666  // See the AWS API reference guide for Amazon Relational Database Service's
 12667  // API operation RemoveRoleFromDBCluster for usage and error information.
 12668  //
 12669  // Returned Error Codes:
 12670  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
 12671  //   DBClusterIdentifier doesn't refer to an existing DB cluster.
 12672  //
 12673  //   * ErrCodeDBClusterRoleNotFoundFault "DBClusterRoleNotFound"
 12674  //   The specified IAM role Amazon Resource Name (ARN) isn't associated with the
 12675  //   specified DB cluster.
 12676  //
 12677  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
 12678  //   The requested operation can't be performed while the cluster is in this state.
 12679  //
 12680  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveRoleFromDBCluster
 12681  func (c *RDS) RemoveRoleFromDBCluster(input *RemoveRoleFromDBClusterInput) (*RemoveRoleFromDBClusterOutput, error) {
 12682  	req, out := c.RemoveRoleFromDBClusterRequest(input)
 12683  	return out, req.Send()
 12684  }
 12685  
 12686  // RemoveRoleFromDBClusterWithContext is the same as RemoveRoleFromDBCluster with the addition of
 12687  // the ability to pass a context and additional request options.
 12688  //
 12689  // See RemoveRoleFromDBCluster for details on how to use this API operation.
 12690  //
 12691  // The context must be non-nil and will be used for request cancellation. If
 12692  // the context is nil a panic will occur. In the future the SDK may create
 12693  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 12694  // for more information on using Contexts.
 12695  func (c *RDS) RemoveRoleFromDBClusterWithContext(ctx aws.Context, input *RemoveRoleFromDBClusterInput, opts ...request.Option) (*RemoveRoleFromDBClusterOutput, error) {
 12696  	req, out := c.RemoveRoleFromDBClusterRequest(input)
 12697  	req.SetContext(ctx)
 12698  	req.ApplyOptions(opts...)
 12699  	return out, req.Send()
 12700  }
 12701  
 12702  const opRemoveRoleFromDBInstance = "RemoveRoleFromDBInstance"
 12703  
 12704  // RemoveRoleFromDBInstanceRequest generates a "aws/request.Request" representing the
 12705  // client's request for the RemoveRoleFromDBInstance operation. The "output" return
 12706  // value will be populated with the request's response once the request completes
 12707  // successfully.
 12708  //
 12709  // Use "Send" method on the returned Request to send the API call to the service.
 12710  // the "output" return value is not valid until after Send returns without error.
 12711  //
 12712  // See RemoveRoleFromDBInstance for more information on using the RemoveRoleFromDBInstance
 12713  // API call, and error handling.
 12714  //
 12715  // This method is useful when you want to inject custom logic or configuration
 12716  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 12717  //
 12718  //
 12719  //    // Example sending a request using the RemoveRoleFromDBInstanceRequest method.
 12720  //    req, resp := client.RemoveRoleFromDBInstanceRequest(params)
 12721  //
 12722  //    err := req.Send()
 12723  //    if err == nil { // resp is now filled
 12724  //        fmt.Println(resp)
 12725  //    }
 12726  //
 12727  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveRoleFromDBInstance
 12728  func (c *RDS) RemoveRoleFromDBInstanceRequest(input *RemoveRoleFromDBInstanceInput) (req *request.Request, output *RemoveRoleFromDBInstanceOutput) {
 12729  	op := &request.Operation{
 12730  		Name:       opRemoveRoleFromDBInstance,
 12731  		HTTPMethod: "POST",
 12732  		HTTPPath:   "/",
 12733  	}
 12734  
 12735  	if input == nil {
 12736  		input = &RemoveRoleFromDBInstanceInput{}
 12737  	}
 12738  
 12739  	output = &RemoveRoleFromDBInstanceOutput{}
 12740  	req = c.newRequest(op, input, output)
 12741  	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
 12742  	return
 12743  }
 12744  
 12745  // RemoveRoleFromDBInstance API operation for Amazon Relational Database Service.
 12746  //
 12747  // Disassociates an Amazon Web Services Identity and Access Management (IAM)
 12748  // role from a DB instance.
 12749  //
 12750  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 12751  // with awserr.Error's Code and Message methods to get detailed information about
 12752  // the error.
 12753  //
 12754  // See the AWS API reference guide for Amazon Relational Database Service's
 12755  // API operation RemoveRoleFromDBInstance for usage and error information.
 12756  //
 12757  // Returned Error Codes:
 12758  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
 12759  //   DBInstanceIdentifier doesn't refer to an existing DB instance.
 12760  //
 12761  //   * ErrCodeDBInstanceRoleNotFoundFault "DBInstanceRoleNotFound"
 12762  //   The specified RoleArn value doesn't match the specified feature for the DB
 12763  //   instance.
 12764  //
 12765  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
 12766  //   The DB instance isn't in a valid state.
 12767  //
 12768  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveRoleFromDBInstance
 12769  func (c *RDS) RemoveRoleFromDBInstance(input *RemoveRoleFromDBInstanceInput) (*RemoveRoleFromDBInstanceOutput, error) {
 12770  	req, out := c.RemoveRoleFromDBInstanceRequest(input)
 12771  	return out, req.Send()
 12772  }
 12773  
 12774  // RemoveRoleFromDBInstanceWithContext is the same as RemoveRoleFromDBInstance with the addition of
 12775  // the ability to pass a context and additional request options.
 12776  //
 12777  // See RemoveRoleFromDBInstance for details on how to use this API operation.
 12778  //
 12779  // The context must be non-nil and will be used for request cancellation. If
 12780  // the context is nil a panic will occur. In the future the SDK may create
 12781  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 12782  // for more information on using Contexts.
 12783  func (c *RDS) RemoveRoleFromDBInstanceWithContext(ctx aws.Context, input *RemoveRoleFromDBInstanceInput, opts ...request.Option) (*RemoveRoleFromDBInstanceOutput, error) {
 12784  	req, out := c.RemoveRoleFromDBInstanceRequest(input)
 12785  	req.SetContext(ctx)
 12786  	req.ApplyOptions(opts...)
 12787  	return out, req.Send()
 12788  }
 12789  
 12790  const opRemoveSourceIdentifierFromSubscription = "RemoveSourceIdentifierFromSubscription"
 12791  
 12792  // RemoveSourceIdentifierFromSubscriptionRequest generates a "aws/request.Request" representing the
 12793  // client's request for the RemoveSourceIdentifierFromSubscription operation. The "output" return
 12794  // value will be populated with the request's response once the request completes
 12795  // successfully.
 12796  //
 12797  // Use "Send" method on the returned Request to send the API call to the service.
 12798  // the "output" return value is not valid until after Send returns without error.
 12799  //
 12800  // See RemoveSourceIdentifierFromSubscription for more information on using the RemoveSourceIdentifierFromSubscription
 12801  // API call, and error handling.
 12802  //
 12803  // This method is useful when you want to inject custom logic or configuration
 12804  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 12805  //
 12806  //
 12807  //    // Example sending a request using the RemoveSourceIdentifierFromSubscriptionRequest method.
 12808  //    req, resp := client.RemoveSourceIdentifierFromSubscriptionRequest(params)
 12809  //
 12810  //    err := req.Send()
 12811  //    if err == nil { // resp is now filled
 12812  //        fmt.Println(resp)
 12813  //    }
 12814  //
 12815  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveSourceIdentifierFromSubscription
 12816  func (c *RDS) RemoveSourceIdentifierFromSubscriptionRequest(input *RemoveSourceIdentifierFromSubscriptionInput) (req *request.Request, output *RemoveSourceIdentifierFromSubscriptionOutput) {
 12817  	op := &request.Operation{
 12818  		Name:       opRemoveSourceIdentifierFromSubscription,
 12819  		HTTPMethod: "POST",
 12820  		HTTPPath:   "/",
 12821  	}
 12822  
 12823  	if input == nil {
 12824  		input = &RemoveSourceIdentifierFromSubscriptionInput{}
 12825  	}
 12826  
 12827  	output = &RemoveSourceIdentifierFromSubscriptionOutput{}
 12828  	req = c.newRequest(op, input, output)
 12829  	return
 12830  }
 12831  
 12832  // RemoveSourceIdentifierFromSubscription API operation for Amazon Relational Database Service.
 12833  //
 12834  // Removes a source identifier from an existing RDS event notification subscription.
 12835  //
 12836  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 12837  // with awserr.Error's Code and Message methods to get detailed information about
 12838  // the error.
 12839  //
 12840  // See the AWS API reference guide for Amazon Relational Database Service's
 12841  // API operation RemoveSourceIdentifierFromSubscription for usage and error information.
 12842  //
 12843  // Returned Error Codes:
 12844  //   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
 12845  //   The subscription name does not exist.
 12846  //
 12847  //   * ErrCodeSourceNotFoundFault "SourceNotFound"
 12848  //   The requested source could not be found.
 12849  //
 12850  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveSourceIdentifierFromSubscription
 12851  func (c *RDS) RemoveSourceIdentifierFromSubscription(input *RemoveSourceIdentifierFromSubscriptionInput) (*RemoveSourceIdentifierFromSubscriptionOutput, error) {
 12852  	req, out := c.RemoveSourceIdentifierFromSubscriptionRequest(input)
 12853  	return out, req.Send()
 12854  }
 12855  
 12856  // RemoveSourceIdentifierFromSubscriptionWithContext is the same as RemoveSourceIdentifierFromSubscription with the addition of
 12857  // the ability to pass a context and additional request options.
 12858  //
 12859  // See RemoveSourceIdentifierFromSubscription for details on how to use this API operation.
 12860  //
 12861  // The context must be non-nil and will be used for request cancellation. If
 12862  // the context is nil a panic will occur. In the future the SDK may create
 12863  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 12864  // for more information on using Contexts.
 12865  func (c *RDS) RemoveSourceIdentifierFromSubscriptionWithContext(ctx aws.Context, input *RemoveSourceIdentifierFromSubscriptionInput, opts ...request.Option) (*RemoveSourceIdentifierFromSubscriptionOutput, error) {
 12866  	req, out := c.RemoveSourceIdentifierFromSubscriptionRequest(input)
 12867  	req.SetContext(ctx)
 12868  	req.ApplyOptions(opts...)
 12869  	return out, req.Send()
 12870  }
 12871  
 12872  const opRemoveTagsFromResource = "RemoveTagsFromResource"
 12873  
 12874  // RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the
 12875  // client's request for the RemoveTagsFromResource operation. The "output" return
 12876  // value will be populated with the request's response once the request completes
 12877  // successfully.
 12878  //
 12879  // Use "Send" method on the returned Request to send the API call to the service.
 12880  // the "output" return value is not valid until after Send returns without error.
 12881  //
 12882  // See RemoveTagsFromResource for more information on using the RemoveTagsFromResource
 12883  // API call, and error handling.
 12884  //
 12885  // This method is useful when you want to inject custom logic or configuration
 12886  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 12887  //
 12888  //
 12889  //    // Example sending a request using the RemoveTagsFromResourceRequest method.
 12890  //    req, resp := client.RemoveTagsFromResourceRequest(params)
 12891  //
 12892  //    err := req.Send()
 12893  //    if err == nil { // resp is now filled
 12894  //        fmt.Println(resp)
 12895  //    }
 12896  //
 12897  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveTagsFromResource
 12898  func (c *RDS) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) (req *request.Request, output *RemoveTagsFromResourceOutput) {
 12899  	op := &request.Operation{
 12900  		Name:       opRemoveTagsFromResource,
 12901  		HTTPMethod: "POST",
 12902  		HTTPPath:   "/",
 12903  	}
 12904  
 12905  	if input == nil {
 12906  		input = &RemoveTagsFromResourceInput{}
 12907  	}
 12908  
 12909  	output = &RemoveTagsFromResourceOutput{}
 12910  	req = c.newRequest(op, input, output)
 12911  	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
 12912  	return
 12913  }
 12914  
 12915  // RemoveTagsFromResource API operation for Amazon Relational Database Service.
 12916  //
 12917  // Removes metadata tags from an Amazon RDS resource.
 12918  //
 12919  // For an overview on tagging an Amazon RDS resource, see Tagging Amazon RDS
 12920  // Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Tagging.html)
 12921  // in the Amazon RDS User Guide.
 12922  //
 12923  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 12924  // with awserr.Error's Code and Message methods to get detailed information about
 12925  // the error.
 12926  //
 12927  // See the AWS API reference guide for Amazon Relational Database Service's
 12928  // API operation RemoveTagsFromResource for usage and error information.
 12929  //
 12930  // Returned Error Codes:
 12931  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
 12932  //   DBInstanceIdentifier doesn't refer to an existing DB instance.
 12933  //
 12934  //   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
 12935  //   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
 12936  //
 12937  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
 12938  //   DBClusterIdentifier doesn't refer to an existing DB cluster.
 12939  //
 12940  //   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
 12941  //   The specified proxy name doesn't correspond to a proxy owned by your Amazon
 12942  //   Web Services account in the specified Amazon Web Services Region.
 12943  //
 12944  //   * ErrCodeDBProxyTargetGroupNotFoundFault "DBProxyTargetGroupNotFoundFault"
 12945  //   The specified target group isn't available for a proxy owned by your Amazon
 12946  //   Web Services account in the specified Amazon Web Services Region.
 12947  //
 12948  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveTagsFromResource
 12949  func (c *RDS) RemoveTagsFromResource(input *RemoveTagsFromResourceInput) (*RemoveTagsFromResourceOutput, error) {
 12950  	req, out := c.RemoveTagsFromResourceRequest(input)
 12951  	return out, req.Send()
 12952  }
 12953  
 12954  // RemoveTagsFromResourceWithContext is the same as RemoveTagsFromResource with the addition of
 12955  // the ability to pass a context and additional request options.
 12956  //
 12957  // See RemoveTagsFromResource for details on how to use this API operation.
 12958  //
 12959  // The context must be non-nil and will be used for request cancellation. If
 12960  // the context is nil a panic will occur. In the future the SDK may create
 12961  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 12962  // for more information on using Contexts.
 12963  func (c *RDS) RemoveTagsFromResourceWithContext(ctx aws.Context, input *RemoveTagsFromResourceInput, opts ...request.Option) (*RemoveTagsFromResourceOutput, error) {
 12964  	req, out := c.RemoveTagsFromResourceRequest(input)
 12965  	req.SetContext(ctx)
 12966  	req.ApplyOptions(opts...)
 12967  	return out, req.Send()
 12968  }
 12969  
 12970  const opResetDBClusterParameterGroup = "ResetDBClusterParameterGroup"
 12971  
 12972  // ResetDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
 12973  // client's request for the ResetDBClusterParameterGroup operation. The "output" return
 12974  // value will be populated with the request's response once the request completes
 12975  // successfully.
 12976  //
 12977  // Use "Send" method on the returned Request to send the API call to the service.
 12978  // the "output" return value is not valid until after Send returns without error.
 12979  //
 12980  // See ResetDBClusterParameterGroup for more information on using the ResetDBClusterParameterGroup
 12981  // API call, and error handling.
 12982  //
 12983  // This method is useful when you want to inject custom logic or configuration
 12984  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 12985  //
 12986  //
 12987  //    // Example sending a request using the ResetDBClusterParameterGroupRequest method.
 12988  //    req, resp := client.ResetDBClusterParameterGroupRequest(params)
 12989  //
 12990  //    err := req.Send()
 12991  //    if err == nil { // resp is now filled
 12992  //        fmt.Println(resp)
 12993  //    }
 12994  //
 12995  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ResetDBClusterParameterGroup
 12996  func (c *RDS) ResetDBClusterParameterGroupRequest(input *ResetDBClusterParameterGroupInput) (req *request.Request, output *DBClusterParameterGroupNameMessage) {
 12997  	op := &request.Operation{
 12998  		Name:       opResetDBClusterParameterGroup,
 12999  		HTTPMethod: "POST",
 13000  		HTTPPath:   "/",
 13001  	}
 13002  
 13003  	if input == nil {
 13004  		input = &ResetDBClusterParameterGroupInput{}
 13005  	}
 13006  
 13007  	output = &DBClusterParameterGroupNameMessage{}
 13008  	req = c.newRequest(op, input, output)
 13009  	return
 13010  }
 13011  
 13012  // ResetDBClusterParameterGroup API operation for Amazon Relational Database Service.
 13013  //
 13014  // Modifies the parameters of a DB cluster parameter group to the default value.
 13015  // To reset specific parameters submit a list of the following: ParameterName
 13016  // and ApplyMethod. To reset the entire DB cluster parameter group, specify
 13017  // the DBClusterParameterGroupName and ResetAllParameters parameters.
 13018  //
 13019  // When resetting the entire group, dynamic parameters are updated immediately
 13020  // and static parameters are set to pending-reboot to take effect on the next
 13021  // DB instance restart or RebootDBInstance request. You must call RebootDBInstance
 13022  // for every DB instance in your DB cluster that you want the updated static
 13023  // parameter to apply to.
 13024  //
 13025  // For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
 13026  // in the Amazon Aurora User Guide.
 13027  //
 13028  // This action only applies to Aurora DB clusters.
 13029  //
 13030  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 13031  // with awserr.Error's Code and Message methods to get detailed information about
 13032  // the error.
 13033  //
 13034  // See the AWS API reference guide for Amazon Relational Database Service's
 13035  // API operation ResetDBClusterParameterGroup for usage and error information.
 13036  //
 13037  // Returned Error Codes:
 13038  //   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
 13039  //   The DB parameter group is in use or is in an invalid state. If you are attempting
 13040  //   to delete the parameter group, you can't delete it when the parameter group
 13041  //   is in this state.
 13042  //
 13043  //   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
 13044  //   DBParameterGroupName doesn't refer to an existing DB parameter group.
 13045  //
 13046  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ResetDBClusterParameterGroup
 13047  func (c *RDS) ResetDBClusterParameterGroup(input *ResetDBClusterParameterGroupInput) (*DBClusterParameterGroupNameMessage, error) {
 13048  	req, out := c.ResetDBClusterParameterGroupRequest(input)
 13049  	return out, req.Send()
 13050  }
 13051  
 13052  // ResetDBClusterParameterGroupWithContext is the same as ResetDBClusterParameterGroup with the addition of
 13053  // the ability to pass a context and additional request options.
 13054  //
 13055  // See ResetDBClusterParameterGroup for details on how to use this API operation.
 13056  //
 13057  // The context must be non-nil and will be used for request cancellation. If
 13058  // the context is nil a panic will occur. In the future the SDK may create
 13059  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 13060  // for more information on using Contexts.
 13061  func (c *RDS) ResetDBClusterParameterGroupWithContext(ctx aws.Context, input *ResetDBClusterParameterGroupInput, opts ...request.Option) (*DBClusterParameterGroupNameMessage, error) {
 13062  	req, out := c.ResetDBClusterParameterGroupRequest(input)
 13063  	req.SetContext(ctx)
 13064  	req.ApplyOptions(opts...)
 13065  	return out, req.Send()
 13066  }
 13067  
 13068  const opResetDBParameterGroup = "ResetDBParameterGroup"
 13069  
 13070  // ResetDBParameterGroupRequest generates a "aws/request.Request" representing the
 13071  // client's request for the ResetDBParameterGroup operation. The "output" return
 13072  // value will be populated with the request's response once the request completes
 13073  // successfully.
 13074  //
 13075  // Use "Send" method on the returned Request to send the API call to the service.
 13076  // the "output" return value is not valid until after Send returns without error.
 13077  //
 13078  // See ResetDBParameterGroup for more information on using the ResetDBParameterGroup
 13079  // API call, and error handling.
 13080  //
 13081  // This method is useful when you want to inject custom logic or configuration
 13082  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 13083  //
 13084  //
 13085  //    // Example sending a request using the ResetDBParameterGroupRequest method.
 13086  //    req, resp := client.ResetDBParameterGroupRequest(params)
 13087  //
 13088  //    err := req.Send()
 13089  //    if err == nil { // resp is now filled
 13090  //        fmt.Println(resp)
 13091  //    }
 13092  //
 13093  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ResetDBParameterGroup
 13094  func (c *RDS) ResetDBParameterGroupRequest(input *ResetDBParameterGroupInput) (req *request.Request, output *DBParameterGroupNameMessage) {
 13095  	op := &request.Operation{
 13096  		Name:       opResetDBParameterGroup,
 13097  		HTTPMethod: "POST",
 13098  		HTTPPath:   "/",
 13099  	}
 13100  
 13101  	if input == nil {
 13102  		input = &ResetDBParameterGroupInput{}
 13103  	}
 13104  
 13105  	output = &DBParameterGroupNameMessage{}
 13106  	req = c.newRequest(op, input, output)
 13107  	return
 13108  }
 13109  
 13110  // ResetDBParameterGroup API operation for Amazon Relational Database Service.
 13111  //
 13112  // Modifies the parameters of a DB parameter group to the engine/system default
 13113  // value. To reset specific parameters, provide a list of the following: ParameterName
 13114  // and ApplyMethod. To reset the entire DB parameter group, specify the DBParameterGroup
 13115  // name and ResetAllParameters parameters. When resetting the entire group,
 13116  // dynamic parameters are updated immediately and static parameters are set
 13117  // to pending-reboot to take effect on the next DB instance restart or RebootDBInstance
 13118  // request.
 13119  //
 13120  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 13121  // with awserr.Error's Code and Message methods to get detailed information about
 13122  // the error.
 13123  //
 13124  // See the AWS API reference guide for Amazon Relational Database Service's
 13125  // API operation ResetDBParameterGroup for usage and error information.
 13126  //
 13127  // Returned Error Codes:
 13128  //   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
 13129  //   The DB parameter group is in use or is in an invalid state. If you are attempting
 13130  //   to delete the parameter group, you can't delete it when the parameter group
 13131  //   is in this state.
 13132  //
 13133  //   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
 13134  //   DBParameterGroupName doesn't refer to an existing DB parameter group.
 13135  //
 13136  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ResetDBParameterGroup
 13137  func (c *RDS) ResetDBParameterGroup(input *ResetDBParameterGroupInput) (*DBParameterGroupNameMessage, error) {
 13138  	req, out := c.ResetDBParameterGroupRequest(input)
 13139  	return out, req.Send()
 13140  }
 13141  
 13142  // ResetDBParameterGroupWithContext is the same as ResetDBParameterGroup with the addition of
 13143  // the ability to pass a context and additional request options.
 13144  //
 13145  // See ResetDBParameterGroup for details on how to use this API operation.
 13146  //
 13147  // The context must be non-nil and will be used for request cancellation. If
 13148  // the context is nil a panic will occur. In the future the SDK may create
 13149  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 13150  // for more information on using Contexts.
 13151  func (c *RDS) ResetDBParameterGroupWithContext(ctx aws.Context, input *ResetDBParameterGroupInput, opts ...request.Option) (*DBParameterGroupNameMessage, error) {
 13152  	req, out := c.ResetDBParameterGroupRequest(input)
 13153  	req.SetContext(ctx)
 13154  	req.ApplyOptions(opts...)
 13155  	return out, req.Send()
 13156  }
 13157  
 13158  const opRestoreDBClusterFromS3 = "RestoreDBClusterFromS3"
 13159  
 13160  // RestoreDBClusterFromS3Request generates a "aws/request.Request" representing the
 13161  // client's request for the RestoreDBClusterFromS3 operation. The "output" return
 13162  // value will be populated with the request's response once the request completes
 13163  // successfully.
 13164  //
 13165  // Use "Send" method on the returned Request to send the API call to the service.
 13166  // the "output" return value is not valid until after Send returns without error.
 13167  //
 13168  // See RestoreDBClusterFromS3 for more information on using the RestoreDBClusterFromS3
 13169  // API call, and error handling.
 13170  //
 13171  // This method is useful when you want to inject custom logic or configuration
 13172  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 13173  //
 13174  //
 13175  //    // Example sending a request using the RestoreDBClusterFromS3Request method.
 13176  //    req, resp := client.RestoreDBClusterFromS3Request(params)
 13177  //
 13178  //    err := req.Send()
 13179  //    if err == nil { // resp is now filled
 13180  //        fmt.Println(resp)
 13181  //    }
 13182  //
 13183  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterFromS3
 13184  func (c *RDS) RestoreDBClusterFromS3Request(input *RestoreDBClusterFromS3Input) (req *request.Request, output *RestoreDBClusterFromS3Output) {
 13185  	op := &request.Operation{
 13186  		Name:       opRestoreDBClusterFromS3,
 13187  		HTTPMethod: "POST",
 13188  		HTTPPath:   "/",
 13189  	}
 13190  
 13191  	if input == nil {
 13192  		input = &RestoreDBClusterFromS3Input{}
 13193  	}
 13194  
 13195  	output = &RestoreDBClusterFromS3Output{}
 13196  	req = c.newRequest(op, input, output)
 13197  	return
 13198  }
 13199  
 13200  // RestoreDBClusterFromS3 API operation for Amazon Relational Database Service.
 13201  //
 13202  // Creates an Amazon Aurora DB cluster from MySQL data stored in an Amazon S3
 13203  // bucket. Amazon RDS must be authorized to access the Amazon S3 bucket and
 13204  // the data must be created using the Percona XtraBackup utility as described
 13205  // in Migrating Data from MySQL by Using an Amazon S3 Bucket (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.ExtMySQL.html#AuroraMySQL.Migrating.ExtMySQL.S3)
 13206  // in the Amazon Aurora User Guide.
 13207  //
 13208  // This action only restores the DB cluster, not the DB instances for that DB
 13209  // cluster. You must invoke the CreateDBInstance action to create DB instances
 13210  // for the restored DB cluster, specifying the identifier of the restored DB
 13211  // cluster in DBClusterIdentifier. You can create DB instances only after the
 13212  // RestoreDBClusterFromS3 action has completed and the DB cluster is available.
 13213  //
 13214  // For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
 13215  // in the Amazon Aurora User Guide.
 13216  //
 13217  // This action only applies to Aurora DB clusters. The source DB engine must
 13218  // be MySQL.
 13219  //
 13220  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 13221  // with awserr.Error's Code and Message methods to get detailed information about
 13222  // the error.
 13223  //
 13224  // See the AWS API reference guide for Amazon Relational Database Service's
 13225  // API operation RestoreDBClusterFromS3 for usage and error information.
 13226  //
 13227  // Returned Error Codes:
 13228  //   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
 13229  //   The user already has a DB cluster with the given identifier.
 13230  //
 13231  //   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
 13232  //   The user attempted to create a new DB cluster and the user has already reached
 13233  //   the maximum allowed DB cluster quota.
 13234  //
 13235  //   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
 13236  //   The request would result in the user exceeding the allowed amount of storage
 13237  //   available across all DB instances.
 13238  //
 13239  //   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
 13240  //   DBSubnetGroupName doesn't refer to an existing DB subnet group.
 13241  //
 13242  //   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
 13243  //   The DB subnet group doesn't cover all Availability Zones after it's created
 13244  //   because of users' change.
 13245  //
 13246  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
 13247  //   The requested operation can't be performed while the cluster is in this state.
 13248  //
 13249  //   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
 13250  //   The DB subnet group cannot be deleted because it's in use.
 13251  //
 13252  //   * ErrCodeInvalidSubnet "InvalidSubnet"
 13253  //   The requested subnet is invalid, or multiple subnets were requested that
 13254  //   are not all in a common VPC.
 13255  //
 13256  //   * ErrCodeInvalidS3BucketFault "InvalidS3BucketFault"
 13257  //   The specified Amazon S3 bucket name can't be found or Amazon RDS isn't authorized
 13258  //   to access the specified Amazon S3 bucket. Verify the SourceS3BucketName and
 13259  //   S3IngestionRoleArn values and try again.
 13260  //
 13261  //   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
 13262  //   DBClusterParameterGroupName doesn't refer to an existing DB cluster parameter
 13263  //   group.
 13264  //
 13265  //   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
 13266  //   An error occurred accessing an Amazon Web Services KMS key.
 13267  //
 13268  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
 13269  //   DBClusterIdentifier doesn't refer to an existing DB cluster.
 13270  //
 13271  //   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
 13272  //   Domain doesn't refer to an existing Active Directory domain.
 13273  //
 13274  //   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
 13275  //   There is insufficient storage available for the current action. You might
 13276  //   be able to resolve this error by updating your subnet group to use different
 13277  //   Availability Zones that have more storage available.
 13278  //
 13279  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterFromS3
 13280  func (c *RDS) RestoreDBClusterFromS3(input *RestoreDBClusterFromS3Input) (*RestoreDBClusterFromS3Output, error) {
 13281  	req, out := c.RestoreDBClusterFromS3Request(input)
 13282  	return out, req.Send()
 13283  }
 13284  
 13285  // RestoreDBClusterFromS3WithContext is the same as RestoreDBClusterFromS3 with the addition of
 13286  // the ability to pass a context and additional request options.
 13287  //
 13288  // See RestoreDBClusterFromS3 for details on how to use this API operation.
 13289  //
 13290  // The context must be non-nil and will be used for request cancellation. If
 13291  // the context is nil a panic will occur. In the future the SDK may create
 13292  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 13293  // for more information on using Contexts.
 13294  func (c *RDS) RestoreDBClusterFromS3WithContext(ctx aws.Context, input *RestoreDBClusterFromS3Input, opts ...request.Option) (*RestoreDBClusterFromS3Output, error) {
 13295  	req, out := c.RestoreDBClusterFromS3Request(input)
 13296  	req.SetContext(ctx)
 13297  	req.ApplyOptions(opts...)
 13298  	return out, req.Send()
 13299  }
 13300  
 13301  const opRestoreDBClusterFromSnapshot = "RestoreDBClusterFromSnapshot"
 13302  
 13303  // RestoreDBClusterFromSnapshotRequest generates a "aws/request.Request" representing the
 13304  // client's request for the RestoreDBClusterFromSnapshot operation. The "output" return
 13305  // value will be populated with the request's response once the request completes
 13306  // successfully.
 13307  //
 13308  // Use "Send" method on the returned Request to send the API call to the service.
 13309  // the "output" return value is not valid until after Send returns without error.
 13310  //
 13311  // See RestoreDBClusterFromSnapshot for more information on using the RestoreDBClusterFromSnapshot
 13312  // API call, and error handling.
 13313  //
 13314  // This method is useful when you want to inject custom logic or configuration
 13315  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 13316  //
 13317  //
 13318  //    // Example sending a request using the RestoreDBClusterFromSnapshotRequest method.
 13319  //    req, resp := client.RestoreDBClusterFromSnapshotRequest(params)
 13320  //
 13321  //    err := req.Send()
 13322  //    if err == nil { // resp is now filled
 13323  //        fmt.Println(resp)
 13324  //    }
 13325  //
 13326  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterFromSnapshot
 13327  func (c *RDS) RestoreDBClusterFromSnapshotRequest(input *RestoreDBClusterFromSnapshotInput) (req *request.Request, output *RestoreDBClusterFromSnapshotOutput) {
 13328  	op := &request.Operation{
 13329  		Name:       opRestoreDBClusterFromSnapshot,
 13330  		HTTPMethod: "POST",
 13331  		HTTPPath:   "/",
 13332  	}
 13333  
 13334  	if input == nil {
 13335  		input = &RestoreDBClusterFromSnapshotInput{}
 13336  	}
 13337  
 13338  	output = &RestoreDBClusterFromSnapshotOutput{}
 13339  	req = c.newRequest(op, input, output)
 13340  	return
 13341  }
 13342  
 13343  // RestoreDBClusterFromSnapshot API operation for Amazon Relational Database Service.
 13344  //
 13345  // Creates a new DB cluster from a DB snapshot or DB cluster snapshot. This
 13346  // action only applies to Aurora DB clusters.
 13347  //
 13348  // The target DB cluster is created from the source snapshot with a default
 13349  // configuration. If you don't specify a security group, the new DB cluster
 13350  // is associated with the default security group.
 13351  //
 13352  // This action only restores the DB cluster, not the DB instances for that DB
 13353  // cluster. You must invoke the CreateDBInstance action to create DB instances
 13354  // for the restored DB cluster, specifying the identifier of the restored DB
 13355  // cluster in DBClusterIdentifier. You can create DB instances only after the
 13356  // RestoreDBClusterFromSnapshot action has completed and the DB cluster is available.
 13357  //
 13358  // For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
 13359  // in the Amazon Aurora User Guide.
 13360  //
 13361  // This action only applies to Aurora DB clusters.
 13362  //
 13363  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 13364  // with awserr.Error's Code and Message methods to get detailed information about
 13365  // the error.
 13366  //
 13367  // See the AWS API reference guide for Amazon Relational Database Service's
 13368  // API operation RestoreDBClusterFromSnapshot for usage and error information.
 13369  //
 13370  // Returned Error Codes:
 13371  //   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
 13372  //   The user already has a DB cluster with the given identifier.
 13373  //
 13374  //   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
 13375  //   The user attempted to create a new DB cluster and the user has already reached
 13376  //   the maximum allowed DB cluster quota.
 13377  //
 13378  //   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
 13379  //   The request would result in the user exceeding the allowed amount of storage
 13380  //   available across all DB instances.
 13381  //
 13382  //   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
 13383  //   DBSubnetGroupName doesn't refer to an existing DB subnet group.
 13384  //
 13385  //   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
 13386  //   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
 13387  //
 13388  //   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
 13389  //   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
 13390  //
 13391  //   * ErrCodeInsufficientDBClusterCapacityFault "InsufficientDBClusterCapacityFault"
 13392  //   The DB cluster doesn't have enough capacity for the current operation.
 13393  //
 13394  //   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
 13395  //   There is insufficient storage available for the current action. You might
 13396  //   be able to resolve this error by updating your subnet group to use different
 13397  //   Availability Zones that have more storage available.
 13398  //
 13399  //   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
 13400  //   The state of the DB snapshot doesn't allow deletion.
 13401  //
 13402  //   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
 13403  //   The supplied value isn't a valid DB cluster snapshot state.
 13404  //
 13405  //   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
 13406  //   The request would result in the user exceeding the allowed amount of storage
 13407  //   available across all DB instances.
 13408  //
 13409  //   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
 13410  //   The DB subnet group doesn't cover all Availability Zones after it's created
 13411  //   because of users' change.
 13412  //
 13413  //   * ErrCodeInvalidRestoreFault "InvalidRestoreFault"
 13414  //   Cannot restore from VPC backup to non-VPC DB instance.
 13415  //
 13416  //   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
 13417  //   DBSubnetGroupName doesn't refer to an existing DB subnet group.
 13418  //
 13419  //   * ErrCodeInvalidSubnet "InvalidSubnet"
 13420  //   The requested subnet is invalid, or multiple subnets were requested that
 13421  //   are not all in a common VPC.
 13422  //
 13423  //   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
 13424  //   The specified option group could not be found.
 13425  //
 13426  //   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
 13427  //   An error occurred accessing an Amazon Web Services KMS key.
 13428  //
 13429  //   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
 13430  //   Domain doesn't refer to an existing Active Directory domain.
 13431  //
 13432  //   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
 13433  //   DBClusterParameterGroupName doesn't refer to an existing DB cluster parameter
 13434  //   group.
 13435  //
 13436  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterFromSnapshot
 13437  func (c *RDS) RestoreDBClusterFromSnapshot(input *RestoreDBClusterFromSnapshotInput) (*RestoreDBClusterFromSnapshotOutput, error) {
 13438  	req, out := c.RestoreDBClusterFromSnapshotRequest(input)
 13439  	return out, req.Send()
 13440  }
 13441  
 13442  // RestoreDBClusterFromSnapshotWithContext is the same as RestoreDBClusterFromSnapshot with the addition of
 13443  // the ability to pass a context and additional request options.
 13444  //
 13445  // See RestoreDBClusterFromSnapshot for details on how to use this API operation.
 13446  //
 13447  // The context must be non-nil and will be used for request cancellation. If
 13448  // the context is nil a panic will occur. In the future the SDK may create
 13449  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 13450  // for more information on using Contexts.
 13451  func (c *RDS) RestoreDBClusterFromSnapshotWithContext(ctx aws.Context, input *RestoreDBClusterFromSnapshotInput, opts ...request.Option) (*RestoreDBClusterFromSnapshotOutput, error) {
 13452  	req, out := c.RestoreDBClusterFromSnapshotRequest(input)
 13453  	req.SetContext(ctx)
 13454  	req.ApplyOptions(opts...)
 13455  	return out, req.Send()
 13456  }
 13457  
 13458  const opRestoreDBClusterToPointInTime = "RestoreDBClusterToPointInTime"
 13459  
 13460  // RestoreDBClusterToPointInTimeRequest generates a "aws/request.Request" representing the
 13461  // client's request for the RestoreDBClusterToPointInTime operation. The "output" return
 13462  // value will be populated with the request's response once the request completes
 13463  // successfully.
 13464  //
 13465  // Use "Send" method on the returned Request to send the API call to the service.
 13466  // the "output" return value is not valid until after Send returns without error.
 13467  //
 13468  // See RestoreDBClusterToPointInTime for more information on using the RestoreDBClusterToPointInTime
 13469  // API call, and error handling.
 13470  //
 13471  // This method is useful when you want to inject custom logic or configuration
 13472  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 13473  //
 13474  //
 13475  //    // Example sending a request using the RestoreDBClusterToPointInTimeRequest method.
 13476  //    req, resp := client.RestoreDBClusterToPointInTimeRequest(params)
 13477  //
 13478  //    err := req.Send()
 13479  //    if err == nil { // resp is now filled
 13480  //        fmt.Println(resp)
 13481  //    }
 13482  //
 13483  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterToPointInTime
 13484  func (c *RDS) RestoreDBClusterToPointInTimeRequest(input *RestoreDBClusterToPointInTimeInput) (req *request.Request, output *RestoreDBClusterToPointInTimeOutput) {
 13485  	op := &request.Operation{
 13486  		Name:       opRestoreDBClusterToPointInTime,
 13487  		HTTPMethod: "POST",
 13488  		HTTPPath:   "/",
 13489  	}
 13490  
 13491  	if input == nil {
 13492  		input = &RestoreDBClusterToPointInTimeInput{}
 13493  	}
 13494  
 13495  	output = &RestoreDBClusterToPointInTimeOutput{}
 13496  	req = c.newRequest(op, input, output)
 13497  	return
 13498  }
 13499  
 13500  // RestoreDBClusterToPointInTime API operation for Amazon Relational Database Service.
 13501  //
 13502  // Restores a DB cluster to an arbitrary point in time. Users can restore to
 13503  // any point in time before LatestRestorableTime for up to BackupRetentionPeriod
 13504  // days. The target DB cluster is created from the source DB cluster with the
 13505  // same configuration as the original DB cluster, except that the new DB cluster
 13506  // is created with the default DB security group.
 13507  //
 13508  // This action only restores the DB cluster, not the DB instances for that DB
 13509  // cluster. You must invoke the CreateDBInstance action to create DB instances
 13510  // for the restored DB cluster, specifying the identifier of the restored DB
 13511  // cluster in DBClusterIdentifier. You can create DB instances only after the
 13512  // RestoreDBClusterToPointInTime action has completed and the DB cluster is
 13513  // available.
 13514  //
 13515  // For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
 13516  // in the Amazon Aurora User Guide.
 13517  //
 13518  // This action only applies to Aurora DB clusters.
 13519  //
 13520  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 13521  // with awserr.Error's Code and Message methods to get detailed information about
 13522  // the error.
 13523  //
 13524  // See the AWS API reference guide for Amazon Relational Database Service's
 13525  // API operation RestoreDBClusterToPointInTime for usage and error information.
 13526  //
 13527  // Returned Error Codes:
 13528  //   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
 13529  //   The user already has a DB cluster with the given identifier.
 13530  //
 13531  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
 13532  //   DBClusterIdentifier doesn't refer to an existing DB cluster.
 13533  //
 13534  //   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
 13535  //   The user attempted to create a new DB cluster and the user has already reached
 13536  //   the maximum allowed DB cluster quota.
 13537  //
 13538  //   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
 13539  //   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
 13540  //
 13541  //   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
 13542  //   DBSubnetGroupName doesn't refer to an existing DB subnet group.
 13543  //
 13544  //   * ErrCodeInsufficientDBClusterCapacityFault "InsufficientDBClusterCapacityFault"
 13545  //   The DB cluster doesn't have enough capacity for the current operation.
 13546  //
 13547  //   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
 13548  //   There is insufficient storage available for the current action. You might
 13549  //   be able to resolve this error by updating your subnet group to use different
 13550  //   Availability Zones that have more storage available.
 13551  //
 13552  //   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
 13553  //   The supplied value isn't a valid DB cluster snapshot state.
 13554  //
 13555  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
 13556  //   The requested operation can't be performed while the cluster is in this state.
 13557  //
 13558  //   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
 13559  //   The state of the DB snapshot doesn't allow deletion.
 13560  //
 13561  //   * ErrCodeInvalidRestoreFault "InvalidRestoreFault"
 13562  //   Cannot restore from VPC backup to non-VPC DB instance.
 13563  //
 13564  //   * ErrCodeInvalidSubnet "InvalidSubnet"
 13565  //   The requested subnet is invalid, or multiple subnets were requested that
 13566  //   are not all in a common VPC.
 13567  //
 13568  //   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
 13569  //   The DB subnet group doesn't cover all Availability Zones after it's created
 13570  //   because of users' change.
 13571  //
 13572  //   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
 13573  //   An error occurred accessing an Amazon Web Services KMS key.
 13574  //
 13575  //   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
 13576  //   The specified option group could not be found.
 13577  //
 13578  //   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
 13579  //   The request would result in the user exceeding the allowed amount of storage
 13580  //   available across all DB instances.
 13581  //
 13582  //   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
 13583  //   Domain doesn't refer to an existing Active Directory domain.
 13584  //
 13585  //   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
 13586  //   DBClusterParameterGroupName doesn't refer to an existing DB cluster parameter
 13587  //   group.
 13588  //
 13589  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterToPointInTime
 13590  func (c *RDS) RestoreDBClusterToPointInTime(input *RestoreDBClusterToPointInTimeInput) (*RestoreDBClusterToPointInTimeOutput, error) {
 13591  	req, out := c.RestoreDBClusterToPointInTimeRequest(input)
 13592  	return out, req.Send()
 13593  }
 13594  
 13595  // RestoreDBClusterToPointInTimeWithContext is the same as RestoreDBClusterToPointInTime with the addition of
 13596  // the ability to pass a context and additional request options.
 13597  //
 13598  // See RestoreDBClusterToPointInTime for details on how to use this API operation.
 13599  //
 13600  // The context must be non-nil and will be used for request cancellation. If
 13601  // the context is nil a panic will occur. In the future the SDK may create
 13602  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 13603  // for more information on using Contexts.
 13604  func (c *RDS) RestoreDBClusterToPointInTimeWithContext(ctx aws.Context, input *RestoreDBClusterToPointInTimeInput, opts ...request.Option) (*RestoreDBClusterToPointInTimeOutput, error) {
 13605  	req, out := c.RestoreDBClusterToPointInTimeRequest(input)
 13606  	req.SetContext(ctx)
 13607  	req.ApplyOptions(opts...)
 13608  	return out, req.Send()
 13609  }
 13610  
 13611  const opRestoreDBInstanceFromDBSnapshot = "RestoreDBInstanceFromDBSnapshot"
 13612  
 13613  // RestoreDBInstanceFromDBSnapshotRequest generates a "aws/request.Request" representing the
 13614  // client's request for the RestoreDBInstanceFromDBSnapshot operation. The "output" return
 13615  // value will be populated with the request's response once the request completes
 13616  // successfully.
 13617  //
 13618  // Use "Send" method on the returned Request to send the API call to the service.
 13619  // the "output" return value is not valid until after Send returns without error.
 13620  //
 13621  // See RestoreDBInstanceFromDBSnapshot for more information on using the RestoreDBInstanceFromDBSnapshot
 13622  // API call, and error handling.
 13623  //
 13624  // This method is useful when you want to inject custom logic or configuration
 13625  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 13626  //
 13627  //
 13628  //    // Example sending a request using the RestoreDBInstanceFromDBSnapshotRequest method.
 13629  //    req, resp := client.RestoreDBInstanceFromDBSnapshotRequest(params)
 13630  //
 13631  //    err := req.Send()
 13632  //    if err == nil { // resp is now filled
 13633  //        fmt.Println(resp)
 13634  //    }
 13635  //
 13636  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceFromDBSnapshot
 13637  func (c *RDS) RestoreDBInstanceFromDBSnapshotRequest(input *RestoreDBInstanceFromDBSnapshotInput) (req *request.Request, output *RestoreDBInstanceFromDBSnapshotOutput) {
 13638  	op := &request.Operation{
 13639  		Name:       opRestoreDBInstanceFromDBSnapshot,
 13640  		HTTPMethod: "POST",
 13641  		HTTPPath:   "/",
 13642  	}
 13643  
 13644  	if input == nil {
 13645  		input = &RestoreDBInstanceFromDBSnapshotInput{}
 13646  	}
 13647  
 13648  	output = &RestoreDBInstanceFromDBSnapshotOutput{}
 13649  	req = c.newRequest(op, input, output)
 13650  	return
 13651  }
 13652  
 13653  // RestoreDBInstanceFromDBSnapshot API operation for Amazon Relational Database Service.
 13654  //
 13655  // Creates a new DB instance from a DB snapshot. The target database is created
 13656  // from the source database restore point with most of the source's original
 13657  // configuration, including the default security group and DB parameter group.
 13658  // By default, the new DB instance is created as a Single-AZ deployment, except
 13659  // when the instance is a SQL Server instance that has an option group associated
 13660  // with mirroring. In this case, the instance becomes a Multi-AZ deployment,
 13661  // not a Single-AZ deployment.
 13662  //
 13663  // If you want to replace your original DB instance with the new, restored DB
 13664  // instance, then rename your original DB instance before you call the RestoreDBInstanceFromDBSnapshot
 13665  // action. RDS doesn't allow two DB instances with the same name. After you
 13666  // have renamed your original DB instance with a different identifier, then
 13667  // you can pass the original name of the DB instance as the DBInstanceIdentifier
 13668  // in the call to the RestoreDBInstanceFromDBSnapshot action. The result is
 13669  // that you replace the original DB instance with the DB instance created from
 13670  // the snapshot.
 13671  //
 13672  // If you are restoring from a shared manual DB snapshot, the DBSnapshotIdentifier
 13673  // must be the ARN of the shared DB snapshot.
 13674  //
 13675  // This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora,
 13676  // use RestoreDBClusterFromSnapshot.
 13677  //
 13678  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 13679  // with awserr.Error's Code and Message methods to get detailed information about
 13680  // the error.
 13681  //
 13682  // See the AWS API reference guide for Amazon Relational Database Service's
 13683  // API operation RestoreDBInstanceFromDBSnapshot for usage and error information.
 13684  //
 13685  // Returned Error Codes:
 13686  //   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
 13687  //   The user already has a DB instance with the given identifier.
 13688  //
 13689  //   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
 13690  //   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
 13691  //
 13692  //   * ErrCodeInstanceQuotaExceededFault "InstanceQuotaExceeded"
 13693  //   The request would result in the user exceeding the allowed number of DB instances.
 13694  //
 13695  //   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
 13696  //   The specified DB instance class isn't available in the specified Availability
 13697  //   Zone.
 13698  //
 13699  //   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
 13700  //   The state of the DB snapshot doesn't allow deletion.
 13701  //
 13702  //   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
 13703  //   The request would result in the user exceeding the allowed amount of storage
 13704  //   available across all DB instances.
 13705  //
 13706  //   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
 13707  //   The DB subnet group doesn't cover all Availability Zones after it's created
 13708  //   because of users' change.
 13709  //
 13710  //   * ErrCodeInvalidRestoreFault "InvalidRestoreFault"
 13711  //   Cannot restore from VPC backup to non-VPC DB instance.
 13712  //
 13713  //   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
 13714  //   DBSubnetGroupName doesn't refer to an existing DB subnet group.
 13715  //
 13716  //   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
 13717  //   Subnets in the DB subnet group should cover at least two Availability Zones
 13718  //   unless there is only one Availability Zone.
 13719  //
 13720  //   * ErrCodeInvalidSubnet "InvalidSubnet"
 13721  //   The requested subnet is invalid, or multiple subnets were requested that
 13722  //   are not all in a common VPC.
 13723  //
 13724  //   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
 13725  //   Provisioned IOPS not available in the specified Availability Zone.
 13726  //
 13727  //   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
 13728  //   The specified option group could not be found.
 13729  //
 13730  //   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
 13731  //   Storage of the StorageType specified can't be associated with the DB instance.
 13732  //
 13733  //   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
 13734  //   The specified CIDR IP range or Amazon EC2 security group might not be authorized
 13735  //   for the specified DB security group.
 13736  //
 13737  //   Or, RDS might not be authorized to perform necessary actions using IAM on
 13738  //   your behalf.
 13739  //
 13740  //   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
 13741  //   An error occurred accessing an Amazon Web Services KMS key.
 13742  //
 13743  //   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
 13744  //   DBSecurityGroupName doesn't refer to an existing DB security group.
 13745  //
 13746  //   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
 13747  //   Domain doesn't refer to an existing Active Directory domain.
 13748  //
 13749  //   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
 13750  //   DBParameterGroupName doesn't refer to an existing DB parameter group.
 13751  //
 13752  //   * ErrCodeBackupPolicyNotFoundFault "BackupPolicyNotFoundFault"
 13753  //
 13754  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceFromDBSnapshot
 13755  func (c *RDS) RestoreDBInstanceFromDBSnapshot(input *RestoreDBInstanceFromDBSnapshotInput) (*RestoreDBInstanceFromDBSnapshotOutput, error) {
 13756  	req, out := c.RestoreDBInstanceFromDBSnapshotRequest(input)
 13757  	return out, req.Send()
 13758  }
 13759  
 13760  // RestoreDBInstanceFromDBSnapshotWithContext is the same as RestoreDBInstanceFromDBSnapshot with the addition of
 13761  // the ability to pass a context and additional request options.
 13762  //
 13763  // See RestoreDBInstanceFromDBSnapshot for details on how to use this API operation.
 13764  //
 13765  // The context must be non-nil and will be used for request cancellation. If
 13766  // the context is nil a panic will occur. In the future the SDK may create
 13767  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 13768  // for more information on using Contexts.
 13769  func (c *RDS) RestoreDBInstanceFromDBSnapshotWithContext(ctx aws.Context, input *RestoreDBInstanceFromDBSnapshotInput, opts ...request.Option) (*RestoreDBInstanceFromDBSnapshotOutput, error) {
 13770  	req, out := c.RestoreDBInstanceFromDBSnapshotRequest(input)
 13771  	req.SetContext(ctx)
 13772  	req.ApplyOptions(opts...)
 13773  	return out, req.Send()
 13774  }
 13775  
 13776  const opRestoreDBInstanceFromS3 = "RestoreDBInstanceFromS3"
 13777  
 13778  // RestoreDBInstanceFromS3Request generates a "aws/request.Request" representing the
 13779  // client's request for the RestoreDBInstanceFromS3 operation. The "output" return
 13780  // value will be populated with the request's response once the request completes
 13781  // successfully.
 13782  //
 13783  // Use "Send" method on the returned Request to send the API call to the service.
 13784  // the "output" return value is not valid until after Send returns without error.
 13785  //
 13786  // See RestoreDBInstanceFromS3 for more information on using the RestoreDBInstanceFromS3
 13787  // API call, and error handling.
 13788  //
 13789  // This method is useful when you want to inject custom logic or configuration
 13790  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 13791  //
 13792  //
 13793  //    // Example sending a request using the RestoreDBInstanceFromS3Request method.
 13794  //    req, resp := client.RestoreDBInstanceFromS3Request(params)
 13795  //
 13796  //    err := req.Send()
 13797  //    if err == nil { // resp is now filled
 13798  //        fmt.Println(resp)
 13799  //    }
 13800  //
 13801  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceFromS3
 13802  func (c *RDS) RestoreDBInstanceFromS3Request(input *RestoreDBInstanceFromS3Input) (req *request.Request, output *RestoreDBInstanceFromS3Output) {
 13803  	op := &request.Operation{
 13804  		Name:       opRestoreDBInstanceFromS3,
 13805  		HTTPMethod: "POST",
 13806  		HTTPPath:   "/",
 13807  	}
 13808  
 13809  	if input == nil {
 13810  		input = &RestoreDBInstanceFromS3Input{}
 13811  	}
 13812  
 13813  	output = &RestoreDBInstanceFromS3Output{}
 13814  	req = c.newRequest(op, input, output)
 13815  	return
 13816  }
 13817  
 13818  // RestoreDBInstanceFromS3 API operation for Amazon Relational Database Service.
 13819  //
 13820  // Amazon Relational Database Service (Amazon RDS) supports importing MySQL
 13821  // databases by using backup files. You can create a backup of your on-premises
 13822  // database, store it on Amazon Simple Storage Service (Amazon S3), and then
 13823  // restore the backup file onto a new Amazon RDS DB instance running MySQL.
 13824  // For more information, see Importing Data into an Amazon RDS MySQL DB Instance
 13825  // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Procedural.Importing.html)
 13826  // in the Amazon RDS User Guide.
 13827  //
 13828  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 13829  // with awserr.Error's Code and Message methods to get detailed information about
 13830  // the error.
 13831  //
 13832  // See the AWS API reference guide for Amazon Relational Database Service's
 13833  // API operation RestoreDBInstanceFromS3 for usage and error information.
 13834  //
 13835  // Returned Error Codes:
 13836  //   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
 13837  //   The user already has a DB instance with the given identifier.
 13838  //
 13839  //   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
 13840  //   The specified DB instance class isn't available in the specified Availability
 13841  //   Zone.
 13842  //
 13843  //   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
 13844  //   DBParameterGroupName doesn't refer to an existing DB parameter group.
 13845  //
 13846  //   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
 13847  //   DBSecurityGroupName doesn't refer to an existing DB security group.
 13848  //
 13849  //   * ErrCodeInstanceQuotaExceededFault "InstanceQuotaExceeded"
 13850  //   The request would result in the user exceeding the allowed number of DB instances.
 13851  //
 13852  //   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
 13853  //   The request would result in the user exceeding the allowed amount of storage
 13854  //   available across all DB instances.
 13855  //
 13856  //   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
 13857  //   DBSubnetGroupName doesn't refer to an existing DB subnet group.
 13858  //
 13859  //   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
 13860  //   Subnets in the DB subnet group should cover at least two Availability Zones
 13861  //   unless there is only one Availability Zone.
 13862  //
 13863  //   * ErrCodeInvalidSubnet "InvalidSubnet"
 13864  //   The requested subnet is invalid, or multiple subnets were requested that
 13865  //   are not all in a common VPC.
 13866  //
 13867  //   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
 13868  //   The DB subnet group doesn't cover all Availability Zones after it's created
 13869  //   because of users' change.
 13870  //
 13871  //   * ErrCodeInvalidS3BucketFault "InvalidS3BucketFault"
 13872  //   The specified Amazon S3 bucket name can't be found or Amazon RDS isn't authorized
 13873  //   to access the specified Amazon S3 bucket. Verify the SourceS3BucketName and
 13874  //   S3IngestionRoleArn values and try again.
 13875  //
 13876  //   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
 13877  //   Provisioned IOPS not available in the specified Availability Zone.
 13878  //
 13879  //   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
 13880  //   The specified option group could not be found.
 13881  //
 13882  //   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
 13883  //   Storage of the StorageType specified can't be associated with the DB instance.
 13884  //
 13885  //   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
 13886  //   The specified CIDR IP range or Amazon EC2 security group might not be authorized
 13887  //   for the specified DB security group.
 13888  //
 13889  //   Or, RDS might not be authorized to perform necessary actions using IAM on
 13890  //   your behalf.
 13891  //
 13892  //   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
 13893  //   An error occurred accessing an Amazon Web Services KMS key.
 13894  //
 13895  //   * ErrCodeBackupPolicyNotFoundFault "BackupPolicyNotFoundFault"
 13896  //
 13897  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceFromS3
 13898  func (c *RDS) RestoreDBInstanceFromS3(input *RestoreDBInstanceFromS3Input) (*RestoreDBInstanceFromS3Output, error) {
 13899  	req, out := c.RestoreDBInstanceFromS3Request(input)
 13900  	return out, req.Send()
 13901  }
 13902  
 13903  // RestoreDBInstanceFromS3WithContext is the same as RestoreDBInstanceFromS3 with the addition of
 13904  // the ability to pass a context and additional request options.
 13905  //
 13906  // See RestoreDBInstanceFromS3 for details on how to use this API operation.
 13907  //
 13908  // The context must be non-nil and will be used for request cancellation. If
 13909  // the context is nil a panic will occur. In the future the SDK may create
 13910  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 13911  // for more information on using Contexts.
 13912  func (c *RDS) RestoreDBInstanceFromS3WithContext(ctx aws.Context, input *RestoreDBInstanceFromS3Input, opts ...request.Option) (*RestoreDBInstanceFromS3Output, error) {
 13913  	req, out := c.RestoreDBInstanceFromS3Request(input)
 13914  	req.SetContext(ctx)
 13915  	req.ApplyOptions(opts...)
 13916  	return out, req.Send()
 13917  }
 13918  
 13919  const opRestoreDBInstanceToPointInTime = "RestoreDBInstanceToPointInTime"
 13920  
 13921  // RestoreDBInstanceToPointInTimeRequest generates a "aws/request.Request" representing the
 13922  // client's request for the RestoreDBInstanceToPointInTime operation. The "output" return
 13923  // value will be populated with the request's response once the request completes
 13924  // successfully.
 13925  //
 13926  // Use "Send" method on the returned Request to send the API call to the service.
 13927  // the "output" return value is not valid until after Send returns without error.
 13928  //
 13929  // See RestoreDBInstanceToPointInTime for more information on using the RestoreDBInstanceToPointInTime
 13930  // API call, and error handling.
 13931  //
 13932  // This method is useful when you want to inject custom logic or configuration
 13933  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 13934  //
 13935  //
 13936  //    // Example sending a request using the RestoreDBInstanceToPointInTimeRequest method.
 13937  //    req, resp := client.RestoreDBInstanceToPointInTimeRequest(params)
 13938  //
 13939  //    err := req.Send()
 13940  //    if err == nil { // resp is now filled
 13941  //        fmt.Println(resp)
 13942  //    }
 13943  //
 13944  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceToPointInTime
 13945  func (c *RDS) RestoreDBInstanceToPointInTimeRequest(input *RestoreDBInstanceToPointInTimeInput) (req *request.Request, output *RestoreDBInstanceToPointInTimeOutput) {
 13946  	op := &request.Operation{
 13947  		Name:       opRestoreDBInstanceToPointInTime,
 13948  		HTTPMethod: "POST",
 13949  		HTTPPath:   "/",
 13950  	}
 13951  
 13952  	if input == nil {
 13953  		input = &RestoreDBInstanceToPointInTimeInput{}
 13954  	}
 13955  
 13956  	output = &RestoreDBInstanceToPointInTimeOutput{}
 13957  	req = c.newRequest(op, input, output)
 13958  	return
 13959  }
 13960  
 13961  // RestoreDBInstanceToPointInTime API operation for Amazon Relational Database Service.
 13962  //
 13963  // Restores a DB instance to an arbitrary point in time. You can restore to
 13964  // any point in time before the time identified by the LatestRestorableTime
 13965  // property. You can restore to a point up to the number of days specified by
 13966  // the BackupRetentionPeriod property.
 13967  //
 13968  // The target database is created with most of the original configuration, but
 13969  // in a system-selected Availability Zone, with the default security group,
 13970  // the default subnet group, and the default DB parameter group. By default,
 13971  // the new DB instance is created as a single-AZ deployment except when the
 13972  // instance is a SQL Server instance that has an option group that is associated
 13973  // with mirroring; in this case, the instance becomes a mirrored deployment
 13974  // and not a single-AZ deployment.
 13975  //
 13976  // This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora,
 13977  // use RestoreDBClusterToPointInTime.
 13978  //
 13979  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 13980  // with awserr.Error's Code and Message methods to get detailed information about
 13981  // the error.
 13982  //
 13983  // See the AWS API reference guide for Amazon Relational Database Service's
 13984  // API operation RestoreDBInstanceToPointInTime for usage and error information.
 13985  //
 13986  // Returned Error Codes:
 13987  //   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
 13988  //   The user already has a DB instance with the given identifier.
 13989  //
 13990  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
 13991  //   DBInstanceIdentifier doesn't refer to an existing DB instance.
 13992  //
 13993  //   * ErrCodeInstanceQuotaExceededFault "InstanceQuotaExceeded"
 13994  //   The request would result in the user exceeding the allowed number of DB instances.
 13995  //
 13996  //   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
 13997  //   The specified DB instance class isn't available in the specified Availability
 13998  //   Zone.
 13999  //
 14000  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
 14001  //   The DB instance isn't in a valid state.
 14002  //
 14003  //   * ErrCodePointInTimeRestoreNotEnabledFault "PointInTimeRestoreNotEnabled"
 14004  //   SourceDBInstanceIdentifier refers to a DB instance with BackupRetentionPeriod
 14005  //   equal to 0.
 14006  //
 14007  //   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
 14008  //   The request would result in the user exceeding the allowed amount of storage
 14009  //   available across all DB instances.
 14010  //
 14011  //   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
 14012  //   The DB subnet group doesn't cover all Availability Zones after it's created
 14013  //   because of users' change.
 14014  //
 14015  //   * ErrCodeInvalidRestoreFault "InvalidRestoreFault"
 14016  //   Cannot restore from VPC backup to non-VPC DB instance.
 14017  //
 14018  //   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
 14019  //   DBSubnetGroupName doesn't refer to an existing DB subnet group.
 14020  //
 14021  //   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
 14022  //   Subnets in the DB subnet group should cover at least two Availability Zones
 14023  //   unless there is only one Availability Zone.
 14024  //
 14025  //   * ErrCodeInvalidSubnet "InvalidSubnet"
 14026  //   The requested subnet is invalid, or multiple subnets were requested that
 14027  //   are not all in a common VPC.
 14028  //
 14029  //   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
 14030  //   Provisioned IOPS not available in the specified Availability Zone.
 14031  //
 14032  //   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
 14033  //   The specified option group could not be found.
 14034  //
 14035  //   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
 14036  //   Storage of the StorageType specified can't be associated with the DB instance.
 14037  //
 14038  //   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
 14039  //   The specified CIDR IP range or Amazon EC2 security group might not be authorized
 14040  //   for the specified DB security group.
 14041  //
 14042  //   Or, RDS might not be authorized to perform necessary actions using IAM on
 14043  //   your behalf.
 14044  //
 14045  //   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
 14046  //   An error occurred accessing an Amazon Web Services KMS key.
 14047  //
 14048  //   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
 14049  //   DBSecurityGroupName doesn't refer to an existing DB security group.
 14050  //
 14051  //   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
 14052  //   Domain doesn't refer to an existing Active Directory domain.
 14053  //
 14054  //   * ErrCodeBackupPolicyNotFoundFault "BackupPolicyNotFoundFault"
 14055  //
 14056  //   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
 14057  //   DBParameterGroupName doesn't refer to an existing DB parameter group.
 14058  //
 14059  //   * ErrCodeDBInstanceAutomatedBackupNotFoundFault "DBInstanceAutomatedBackupNotFound"
 14060  //   No automated backup for this DB instance was found.
 14061  //
 14062  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceToPointInTime
 14063  func (c *RDS) RestoreDBInstanceToPointInTime(input *RestoreDBInstanceToPointInTimeInput) (*RestoreDBInstanceToPointInTimeOutput, error) {
 14064  	req, out := c.RestoreDBInstanceToPointInTimeRequest(input)
 14065  	return out, req.Send()
 14066  }
 14067  
 14068  // RestoreDBInstanceToPointInTimeWithContext is the same as RestoreDBInstanceToPointInTime with the addition of
 14069  // the ability to pass a context and additional request options.
 14070  //
 14071  // See RestoreDBInstanceToPointInTime for details on how to use this API operation.
 14072  //
 14073  // The context must be non-nil and will be used for request cancellation. If
 14074  // the context is nil a panic will occur. In the future the SDK may create
 14075  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 14076  // for more information on using Contexts.
 14077  func (c *RDS) RestoreDBInstanceToPointInTimeWithContext(ctx aws.Context, input *RestoreDBInstanceToPointInTimeInput, opts ...request.Option) (*RestoreDBInstanceToPointInTimeOutput, error) {
 14078  	req, out := c.RestoreDBInstanceToPointInTimeRequest(input)
 14079  	req.SetContext(ctx)
 14080  	req.ApplyOptions(opts...)
 14081  	return out, req.Send()
 14082  }
 14083  
 14084  const opRevokeDBSecurityGroupIngress = "RevokeDBSecurityGroupIngress"
 14085  
 14086  // RevokeDBSecurityGroupIngressRequest generates a "aws/request.Request" representing the
 14087  // client's request for the RevokeDBSecurityGroupIngress operation. The "output" return
 14088  // value will be populated with the request's response once the request completes
 14089  // successfully.
 14090  //
 14091  // Use "Send" method on the returned Request to send the API call to the service.
 14092  // the "output" return value is not valid until after Send returns without error.
 14093  //
 14094  // See RevokeDBSecurityGroupIngress for more information on using the RevokeDBSecurityGroupIngress
 14095  // API call, and error handling.
 14096  //
 14097  // This method is useful when you want to inject custom logic or configuration
 14098  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 14099  //
 14100  //
 14101  //    // Example sending a request using the RevokeDBSecurityGroupIngressRequest method.
 14102  //    req, resp := client.RevokeDBSecurityGroupIngressRequest(params)
 14103  //
 14104  //    err := req.Send()
 14105  //    if err == nil { // resp is now filled
 14106  //        fmt.Println(resp)
 14107  //    }
 14108  //
 14109  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RevokeDBSecurityGroupIngress
 14110  func (c *RDS) RevokeDBSecurityGroupIngressRequest(input *RevokeDBSecurityGroupIngressInput) (req *request.Request, output *RevokeDBSecurityGroupIngressOutput) {
 14111  	op := &request.Operation{
 14112  		Name:       opRevokeDBSecurityGroupIngress,
 14113  		HTTPMethod: "POST",
 14114  		HTTPPath:   "/",
 14115  	}
 14116  
 14117  	if input == nil {
 14118  		input = &RevokeDBSecurityGroupIngressInput{}
 14119  	}
 14120  
 14121  	output = &RevokeDBSecurityGroupIngressOutput{}
 14122  	req = c.newRequest(op, input, output)
 14123  	return
 14124  }
 14125  
 14126  // RevokeDBSecurityGroupIngress API operation for Amazon Relational Database Service.
 14127  //
 14128  // Revokes ingress from a DBSecurityGroup for previously authorized IP ranges
 14129  // or EC2 or VPC security groups. Required parameters for this API are one of
 14130  // CIDRIP, EC2SecurityGroupId for VPC, or (EC2SecurityGroupOwnerId and either
 14131  // EC2SecurityGroupName or EC2SecurityGroupId).
 14132  //
 14133  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 14134  // with awserr.Error's Code and Message methods to get detailed information about
 14135  // the error.
 14136  //
 14137  // See the AWS API reference guide for Amazon Relational Database Service's
 14138  // API operation RevokeDBSecurityGroupIngress for usage and error information.
 14139  //
 14140  // Returned Error Codes:
 14141  //   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
 14142  //   DBSecurityGroupName doesn't refer to an existing DB security group.
 14143  //
 14144  //   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
 14145  //   The specified CIDR IP range or Amazon EC2 security group might not be authorized
 14146  //   for the specified DB security group.
 14147  //
 14148  //   Or, RDS might not be authorized to perform necessary actions using IAM on
 14149  //   your behalf.
 14150  //
 14151  //   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
 14152  //   The state of the DB security group doesn't allow deletion.
 14153  //
 14154  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RevokeDBSecurityGroupIngress
 14155  func (c *RDS) RevokeDBSecurityGroupIngress(input *RevokeDBSecurityGroupIngressInput) (*RevokeDBSecurityGroupIngressOutput, error) {
 14156  	req, out := c.RevokeDBSecurityGroupIngressRequest(input)
 14157  	return out, req.Send()
 14158  }
 14159  
 14160  // RevokeDBSecurityGroupIngressWithContext is the same as RevokeDBSecurityGroupIngress with the addition of
 14161  // the ability to pass a context and additional request options.
 14162  //
 14163  // See RevokeDBSecurityGroupIngress for details on how to use this API operation.
 14164  //
 14165  // The context must be non-nil and will be used for request cancellation. If
 14166  // the context is nil a panic will occur. In the future the SDK may create
 14167  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 14168  // for more information on using Contexts.
 14169  func (c *RDS) RevokeDBSecurityGroupIngressWithContext(ctx aws.Context, input *RevokeDBSecurityGroupIngressInput, opts ...request.Option) (*RevokeDBSecurityGroupIngressOutput, error) {
 14170  	req, out := c.RevokeDBSecurityGroupIngressRequest(input)
 14171  	req.SetContext(ctx)
 14172  	req.ApplyOptions(opts...)
 14173  	return out, req.Send()
 14174  }
 14175  
 14176  const opStartActivityStream = "StartActivityStream"
 14177  
 14178  // StartActivityStreamRequest generates a "aws/request.Request" representing the
 14179  // client's request for the StartActivityStream operation. The "output" return
 14180  // value will be populated with the request's response once the request completes
 14181  // successfully.
 14182  //
 14183  // Use "Send" method on the returned Request to send the API call to the service.
 14184  // the "output" return value is not valid until after Send returns without error.
 14185  //
 14186  // See StartActivityStream for more information on using the StartActivityStream
 14187  // API call, and error handling.
 14188  //
 14189  // This method is useful when you want to inject custom logic or configuration
 14190  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 14191  //
 14192  //
 14193  //    // Example sending a request using the StartActivityStreamRequest method.
 14194  //    req, resp := client.StartActivityStreamRequest(params)
 14195  //
 14196  //    err := req.Send()
 14197  //    if err == nil { // resp is now filled
 14198  //        fmt.Println(resp)
 14199  //    }
 14200  //
 14201  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartActivityStream
 14202  func (c *RDS) StartActivityStreamRequest(input *StartActivityStreamInput) (req *request.Request, output *StartActivityStreamOutput) {
 14203  	op := &request.Operation{
 14204  		Name:       opStartActivityStream,
 14205  		HTTPMethod: "POST",
 14206  		HTTPPath:   "/",
 14207  	}
 14208  
 14209  	if input == nil {
 14210  		input = &StartActivityStreamInput{}
 14211  	}
 14212  
 14213  	output = &StartActivityStreamOutput{}
 14214  	req = c.newRequest(op, input, output)
 14215  	return
 14216  }
 14217  
 14218  // StartActivityStream API operation for Amazon Relational Database Service.
 14219  //
 14220  // Starts a database activity stream to monitor activity on the database. For
 14221  // more information, see Database Activity Streams (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/DBActivityStreams.html)
 14222  // in the Amazon Aurora User Guide.
 14223  //
 14224  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 14225  // with awserr.Error's Code and Message methods to get detailed information about
 14226  // the error.
 14227  //
 14228  // See the AWS API reference guide for Amazon Relational Database Service's
 14229  // API operation StartActivityStream for usage and error information.
 14230  //
 14231  // Returned Error Codes:
 14232  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
 14233  //   The DB instance isn't in a valid state.
 14234  //
 14235  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
 14236  //   The requested operation can't be performed while the cluster is in this state.
 14237  //
 14238  //   * ErrCodeResourceNotFoundFault "ResourceNotFoundFault"
 14239  //   The specified resource ID was not found.
 14240  //
 14241  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
 14242  //   DBClusterIdentifier doesn't refer to an existing DB cluster.
 14243  //
 14244  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
 14245  //   DBInstanceIdentifier doesn't refer to an existing DB instance.
 14246  //
 14247  //   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
 14248  //   An error occurred accessing an Amazon Web Services KMS key.
 14249  //
 14250  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartActivityStream
 14251  func (c *RDS) StartActivityStream(input *StartActivityStreamInput) (*StartActivityStreamOutput, error) {
 14252  	req, out := c.StartActivityStreamRequest(input)
 14253  	return out, req.Send()
 14254  }
 14255  
 14256  // StartActivityStreamWithContext is the same as StartActivityStream with the addition of
 14257  // the ability to pass a context and additional request options.
 14258  //
 14259  // See StartActivityStream for details on how to use this API operation.
 14260  //
 14261  // The context must be non-nil and will be used for request cancellation. If
 14262  // the context is nil a panic will occur. In the future the SDK may create
 14263  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 14264  // for more information on using Contexts.
 14265  func (c *RDS) StartActivityStreamWithContext(ctx aws.Context, input *StartActivityStreamInput, opts ...request.Option) (*StartActivityStreamOutput, error) {
 14266  	req, out := c.StartActivityStreamRequest(input)
 14267  	req.SetContext(ctx)
 14268  	req.ApplyOptions(opts...)
 14269  	return out, req.Send()
 14270  }
 14271  
 14272  const opStartDBCluster = "StartDBCluster"
 14273  
 14274  // StartDBClusterRequest generates a "aws/request.Request" representing the
 14275  // client's request for the StartDBCluster operation. The "output" return
 14276  // value will be populated with the request's response once the request completes
 14277  // successfully.
 14278  //
 14279  // Use "Send" method on the returned Request to send the API call to the service.
 14280  // the "output" return value is not valid until after Send returns without error.
 14281  //
 14282  // See StartDBCluster for more information on using the StartDBCluster
 14283  // API call, and error handling.
 14284  //
 14285  // This method is useful when you want to inject custom logic or configuration
 14286  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 14287  //
 14288  //
 14289  //    // Example sending a request using the StartDBClusterRequest method.
 14290  //    req, resp := client.StartDBClusterRequest(params)
 14291  //
 14292  //    err := req.Send()
 14293  //    if err == nil { // resp is now filled
 14294  //        fmt.Println(resp)
 14295  //    }
 14296  //
 14297  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartDBCluster
 14298  func (c *RDS) StartDBClusterRequest(input *StartDBClusterInput) (req *request.Request, output *StartDBClusterOutput) {
 14299  	op := &request.Operation{
 14300  		Name:       opStartDBCluster,
 14301  		HTTPMethod: "POST",
 14302  		HTTPPath:   "/",
 14303  	}
 14304  
 14305  	if input == nil {
 14306  		input = &StartDBClusterInput{}
 14307  	}
 14308  
 14309  	output = &StartDBClusterOutput{}
 14310  	req = c.newRequest(op, input, output)
 14311  	return
 14312  }
 14313  
 14314  // StartDBCluster API operation for Amazon Relational Database Service.
 14315  //
 14316  // Starts an Amazon Aurora DB cluster that was stopped using the Amazon Web
 14317  // Services console, the stop-db-cluster CLI command, or the StopDBCluster action.
 14318  //
 14319  // For more information, see Stopping and Starting an Aurora Cluster (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-cluster-stop-start.html)
 14320  // in the Amazon Aurora User Guide.
 14321  //
 14322  // This action only applies to Aurora DB clusters.
 14323  //
 14324  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 14325  // with awserr.Error's Code and Message methods to get detailed information about
 14326  // the error.
 14327  //
 14328  // See the AWS API reference guide for Amazon Relational Database Service's
 14329  // API operation StartDBCluster for usage and error information.
 14330  //
 14331  // Returned Error Codes:
 14332  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
 14333  //   DBClusterIdentifier doesn't refer to an existing DB cluster.
 14334  //
 14335  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
 14336  //   The requested operation can't be performed while the cluster is in this state.
 14337  //
 14338  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
 14339  //   The DB instance isn't in a valid state.
 14340  //
 14341  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartDBCluster
 14342  func (c *RDS) StartDBCluster(input *StartDBClusterInput) (*StartDBClusterOutput, error) {
 14343  	req, out := c.StartDBClusterRequest(input)
 14344  	return out, req.Send()
 14345  }
 14346  
 14347  // StartDBClusterWithContext is the same as StartDBCluster with the addition of
 14348  // the ability to pass a context and additional request options.
 14349  //
 14350  // See StartDBCluster for details on how to use this API operation.
 14351  //
 14352  // The context must be non-nil and will be used for request cancellation. If
 14353  // the context is nil a panic will occur. In the future the SDK may create
 14354  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 14355  // for more information on using Contexts.
 14356  func (c *RDS) StartDBClusterWithContext(ctx aws.Context, input *StartDBClusterInput, opts ...request.Option) (*StartDBClusterOutput, error) {
 14357  	req, out := c.StartDBClusterRequest(input)
 14358  	req.SetContext(ctx)
 14359  	req.ApplyOptions(opts...)
 14360  	return out, req.Send()
 14361  }
 14362  
 14363  const opStartDBInstance = "StartDBInstance"
 14364  
 14365  // StartDBInstanceRequest generates a "aws/request.Request" representing the
 14366  // client's request for the StartDBInstance operation. The "output" return
 14367  // value will be populated with the request's response once the request completes
 14368  // successfully.
 14369  //
 14370  // Use "Send" method on the returned Request to send the API call to the service.
 14371  // the "output" return value is not valid until after Send returns without error.
 14372  //
 14373  // See StartDBInstance for more information on using the StartDBInstance
 14374  // API call, and error handling.
 14375  //
 14376  // This method is useful when you want to inject custom logic or configuration
 14377  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 14378  //
 14379  //
 14380  //    // Example sending a request using the StartDBInstanceRequest method.
 14381  //    req, resp := client.StartDBInstanceRequest(params)
 14382  //
 14383  //    err := req.Send()
 14384  //    if err == nil { // resp is now filled
 14385  //        fmt.Println(resp)
 14386  //    }
 14387  //
 14388  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartDBInstance
 14389  func (c *RDS) StartDBInstanceRequest(input *StartDBInstanceInput) (req *request.Request, output *StartDBInstanceOutput) {
 14390  	op := &request.Operation{
 14391  		Name:       opStartDBInstance,
 14392  		HTTPMethod: "POST",
 14393  		HTTPPath:   "/",
 14394  	}
 14395  
 14396  	if input == nil {
 14397  		input = &StartDBInstanceInput{}
 14398  	}
 14399  
 14400  	output = &StartDBInstanceOutput{}
 14401  	req = c.newRequest(op, input, output)
 14402  	return
 14403  }
 14404  
 14405  // StartDBInstance API operation for Amazon Relational Database Service.
 14406  //
 14407  // Starts an Amazon RDS DB instance that was stopped using the Amazon Web Services
 14408  // console, the stop-db-instance CLI command, or the StopDBInstance action.
 14409  //
 14410  // For more information, see Starting an Amazon RDS DB instance That Was Previously
 14411  // Stopped (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_StartInstance.html)
 14412  // in the Amazon RDS User Guide.
 14413  //
 14414  // This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora
 14415  // DB clusters, use StartDBCluster instead.
 14416  //
 14417  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 14418  // with awserr.Error's Code and Message methods to get detailed information about
 14419  // the error.
 14420  //
 14421  // See the AWS API reference guide for Amazon Relational Database Service's
 14422  // API operation StartDBInstance for usage and error information.
 14423  //
 14424  // Returned Error Codes:
 14425  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
 14426  //   DBInstanceIdentifier doesn't refer to an existing DB instance.
 14427  //
 14428  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
 14429  //   The DB instance isn't in a valid state.
 14430  //
 14431  //   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
 14432  //   The specified DB instance class isn't available in the specified Availability
 14433  //   Zone.
 14434  //
 14435  //   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
 14436  //   DBSubnetGroupName doesn't refer to an existing DB subnet group.
 14437  //
 14438  //   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
 14439  //   Subnets in the DB subnet group should cover at least two Availability Zones
 14440  //   unless there is only one Availability Zone.
 14441  //
 14442  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
 14443  //   The requested operation can't be performed while the cluster is in this state.
 14444  //
 14445  //   * ErrCodeInvalidSubnet "InvalidSubnet"
 14446  //   The requested subnet is invalid, or multiple subnets were requested that
 14447  //   are not all in a common VPC.
 14448  //
 14449  //   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
 14450  //   The DB subnet group doesn't cover all Availability Zones after it's created
 14451  //   because of users' change.
 14452  //
 14453  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
 14454  //   DBClusterIdentifier doesn't refer to an existing DB cluster.
 14455  //
 14456  //   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
 14457  //   The specified CIDR IP range or Amazon EC2 security group might not be authorized
 14458  //   for the specified DB security group.
 14459  //
 14460  //   Or, RDS might not be authorized to perform necessary actions using IAM on
 14461  //   your behalf.
 14462  //
 14463  //   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
 14464  //   An error occurred accessing an Amazon Web Services KMS key.
 14465  //
 14466  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartDBInstance
 14467  func (c *RDS) StartDBInstance(input *StartDBInstanceInput) (*StartDBInstanceOutput, error) {
 14468  	req, out := c.StartDBInstanceRequest(input)
 14469  	return out, req.Send()
 14470  }
 14471  
 14472  // StartDBInstanceWithContext is the same as StartDBInstance with the addition of
 14473  // the ability to pass a context and additional request options.
 14474  //
 14475  // See StartDBInstance for details on how to use this API operation.
 14476  //
 14477  // The context must be non-nil and will be used for request cancellation. If
 14478  // the context is nil a panic will occur. In the future the SDK may create
 14479  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 14480  // for more information on using Contexts.
 14481  func (c *RDS) StartDBInstanceWithContext(ctx aws.Context, input *StartDBInstanceInput, opts ...request.Option) (*StartDBInstanceOutput, error) {
 14482  	req, out := c.StartDBInstanceRequest(input)
 14483  	req.SetContext(ctx)
 14484  	req.ApplyOptions(opts...)
 14485  	return out, req.Send()
 14486  }
 14487  
 14488  const opStartDBInstanceAutomatedBackupsReplication = "StartDBInstanceAutomatedBackupsReplication"
 14489  
 14490  // StartDBInstanceAutomatedBackupsReplicationRequest generates a "aws/request.Request" representing the
 14491  // client's request for the StartDBInstanceAutomatedBackupsReplication operation. The "output" return
 14492  // value will be populated with the request's response once the request completes
 14493  // successfully.
 14494  //
 14495  // Use "Send" method on the returned Request to send the API call to the service.
 14496  // the "output" return value is not valid until after Send returns without error.
 14497  //
 14498  // See StartDBInstanceAutomatedBackupsReplication for more information on using the StartDBInstanceAutomatedBackupsReplication
 14499  // API call, and error handling.
 14500  //
 14501  // This method is useful when you want to inject custom logic or configuration
 14502  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 14503  //
 14504  //
 14505  //    // Example sending a request using the StartDBInstanceAutomatedBackupsReplicationRequest method.
 14506  //    req, resp := client.StartDBInstanceAutomatedBackupsReplicationRequest(params)
 14507  //
 14508  //    err := req.Send()
 14509  //    if err == nil { // resp is now filled
 14510  //        fmt.Println(resp)
 14511  //    }
 14512  //
 14513  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartDBInstanceAutomatedBackupsReplication
 14514  func (c *RDS) StartDBInstanceAutomatedBackupsReplicationRequest(input *StartDBInstanceAutomatedBackupsReplicationInput) (req *request.Request, output *StartDBInstanceAutomatedBackupsReplicationOutput) {
 14515  	op := &request.Operation{
 14516  		Name:       opStartDBInstanceAutomatedBackupsReplication,
 14517  		HTTPMethod: "POST",
 14518  		HTTPPath:   "/",
 14519  	}
 14520  
 14521  	if input == nil {
 14522  		input = &StartDBInstanceAutomatedBackupsReplicationInput{}
 14523  	}
 14524  
 14525  	output = &StartDBInstanceAutomatedBackupsReplicationOutput{}
 14526  	req = c.newRequest(op, input, output)
 14527  	return
 14528  }
 14529  
 14530  // StartDBInstanceAutomatedBackupsReplication API operation for Amazon Relational Database Service.
 14531  //
 14532  // Enables replication of automated backups to a different Amazon Web Services
 14533  // Region.
 14534  //
 14535  // For more information, see Replicating Automated Backups to Another Amazon
 14536  // Web Services Region (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReplicateBackups.html)
 14537  // in the Amazon RDS User Guide.
 14538  //
 14539  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 14540  // with awserr.Error's Code and Message methods to get detailed information about
 14541  // the error.
 14542  //
 14543  // See the AWS API reference guide for Amazon Relational Database Service's
 14544  // API operation StartDBInstanceAutomatedBackupsReplication for usage and error information.
 14545  //
 14546  // Returned Error Codes:
 14547  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
 14548  //   DBInstanceIdentifier doesn't refer to an existing DB instance.
 14549  //
 14550  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
 14551  //   The DB instance isn't in a valid state.
 14552  //
 14553  //   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
 14554  //   An error occurred accessing an Amazon Web Services KMS key.
 14555  //
 14556  //   * ErrCodeDBInstanceAutomatedBackupQuotaExceededFault "DBInstanceAutomatedBackupQuotaExceeded"
 14557  //   The quota for retained automated backups was exceeded. This prevents you
 14558  //   from retaining any additional automated backups. The retained automated backups
 14559  //   quota is the same as your DB Instance quota.
 14560  //
 14561  //   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
 14562  //   Storage of the StorageType specified can't be associated with the DB instance.
 14563  //
 14564  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartDBInstanceAutomatedBackupsReplication
 14565  func (c *RDS) StartDBInstanceAutomatedBackupsReplication(input *StartDBInstanceAutomatedBackupsReplicationInput) (*StartDBInstanceAutomatedBackupsReplicationOutput, error) {
 14566  	req, out := c.StartDBInstanceAutomatedBackupsReplicationRequest(input)
 14567  	return out, req.Send()
 14568  }
 14569  
 14570  // StartDBInstanceAutomatedBackupsReplicationWithContext is the same as StartDBInstanceAutomatedBackupsReplication with the addition of
 14571  // the ability to pass a context and additional request options.
 14572  //
 14573  // See StartDBInstanceAutomatedBackupsReplication for details on how to use this API operation.
 14574  //
 14575  // The context must be non-nil and will be used for request cancellation. If
 14576  // the context is nil a panic will occur. In the future the SDK may create
 14577  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 14578  // for more information on using Contexts.
 14579  func (c *RDS) StartDBInstanceAutomatedBackupsReplicationWithContext(ctx aws.Context, input *StartDBInstanceAutomatedBackupsReplicationInput, opts ...request.Option) (*StartDBInstanceAutomatedBackupsReplicationOutput, error) {
 14580  	req, out := c.StartDBInstanceAutomatedBackupsReplicationRequest(input)
 14581  	req.SetContext(ctx)
 14582  	req.ApplyOptions(opts...)
 14583  	return out, req.Send()
 14584  }
 14585  
 14586  const opStartExportTask = "StartExportTask"
 14587  
 14588  // StartExportTaskRequest generates a "aws/request.Request" representing the
 14589  // client's request for the StartExportTask operation. The "output" return
 14590  // value will be populated with the request's response once the request completes
 14591  // successfully.
 14592  //
 14593  // Use "Send" method on the returned Request to send the API call to the service.
 14594  // the "output" return value is not valid until after Send returns without error.
 14595  //
 14596  // See StartExportTask for more information on using the StartExportTask
 14597  // API call, and error handling.
 14598  //
 14599  // This method is useful when you want to inject custom logic or configuration
 14600  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 14601  //
 14602  //
 14603  //    // Example sending a request using the StartExportTaskRequest method.
 14604  //    req, resp := client.StartExportTaskRequest(params)
 14605  //
 14606  //    err := req.Send()
 14607  //    if err == nil { // resp is now filled
 14608  //        fmt.Println(resp)
 14609  //    }
 14610  //
 14611  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartExportTask
 14612  func (c *RDS) StartExportTaskRequest(input *StartExportTaskInput) (req *request.Request, output *StartExportTaskOutput) {
 14613  	op := &request.Operation{
 14614  		Name:       opStartExportTask,
 14615  		HTTPMethod: "POST",
 14616  		HTTPPath:   "/",
 14617  	}
 14618  
 14619  	if input == nil {
 14620  		input = &StartExportTaskInput{}
 14621  	}
 14622  
 14623  	output = &StartExportTaskOutput{}
 14624  	req = c.newRequest(op, input, output)
 14625  	return
 14626  }
 14627  
 14628  // StartExportTask API operation for Amazon Relational Database Service.
 14629  //
 14630  // Starts an export of a snapshot to Amazon S3. The provided IAM role must have
 14631  // access to the S3 bucket.
 14632  //
 14633  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 14634  // with awserr.Error's Code and Message methods to get detailed information about
 14635  // the error.
 14636  //
 14637  // See the AWS API reference guide for Amazon Relational Database Service's
 14638  // API operation StartExportTask for usage and error information.
 14639  //
 14640  // Returned Error Codes:
 14641  //   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
 14642  //   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
 14643  //
 14644  //   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
 14645  //   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
 14646  //
 14647  //   * ErrCodeExportTaskAlreadyExistsFault "ExportTaskAlreadyExists"
 14648  //   You can't start an export task that's already running.
 14649  //
 14650  //   * ErrCodeInvalidS3BucketFault "InvalidS3BucketFault"
 14651  //   The specified Amazon S3 bucket name can't be found or Amazon RDS isn't authorized
 14652  //   to access the specified Amazon S3 bucket. Verify the SourceS3BucketName and
 14653  //   S3IngestionRoleArn values and try again.
 14654  //
 14655  //   * ErrCodeIamRoleNotFoundFault "IamRoleNotFound"
 14656  //   The IAM role is missing for exporting to an Amazon S3 bucket.
 14657  //
 14658  //   * ErrCodeIamRoleMissingPermissionsFault "IamRoleMissingPermissions"
 14659  //   The IAM role requires additional permissions to export to an Amazon S3 bucket.
 14660  //
 14661  //   * ErrCodeInvalidExportOnlyFault "InvalidExportOnly"
 14662  //   The export is invalid for exporting to an Amazon S3 bucket.
 14663  //
 14664  //   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
 14665  //   An error occurred accessing an Amazon Web Services KMS key.
 14666  //
 14667  //   * ErrCodeInvalidExportSourceStateFault "InvalidExportSourceState"
 14668  //   The state of the export snapshot is invalid for exporting to an Amazon S3
 14669  //   bucket.
 14670  //
 14671  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartExportTask
 14672  func (c *RDS) StartExportTask(input *StartExportTaskInput) (*StartExportTaskOutput, error) {
 14673  	req, out := c.StartExportTaskRequest(input)
 14674  	return out, req.Send()
 14675  }
 14676  
 14677  // StartExportTaskWithContext is the same as StartExportTask with the addition of
 14678  // the ability to pass a context and additional request options.
 14679  //
 14680  // See StartExportTask for details on how to use this API operation.
 14681  //
 14682  // The context must be non-nil and will be used for request cancellation. If
 14683  // the context is nil a panic will occur. In the future the SDK may create
 14684  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 14685  // for more information on using Contexts.
 14686  func (c *RDS) StartExportTaskWithContext(ctx aws.Context, input *StartExportTaskInput, opts ...request.Option) (*StartExportTaskOutput, error) {
 14687  	req, out := c.StartExportTaskRequest(input)
 14688  	req.SetContext(ctx)
 14689  	req.ApplyOptions(opts...)
 14690  	return out, req.Send()
 14691  }
 14692  
 14693  const opStopActivityStream = "StopActivityStream"
 14694  
 14695  // StopActivityStreamRequest generates a "aws/request.Request" representing the
 14696  // client's request for the StopActivityStream operation. The "output" return
 14697  // value will be populated with the request's response once the request completes
 14698  // successfully.
 14699  //
 14700  // Use "Send" method on the returned Request to send the API call to the service.
 14701  // the "output" return value is not valid until after Send returns without error.
 14702  //
 14703  // See StopActivityStream for more information on using the StopActivityStream
 14704  // API call, and error handling.
 14705  //
 14706  // This method is useful when you want to inject custom logic or configuration
 14707  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 14708  //
 14709  //
 14710  //    // Example sending a request using the StopActivityStreamRequest method.
 14711  //    req, resp := client.StopActivityStreamRequest(params)
 14712  //
 14713  //    err := req.Send()
 14714  //    if err == nil { // resp is now filled
 14715  //        fmt.Println(resp)
 14716  //    }
 14717  //
 14718  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StopActivityStream
 14719  func (c *RDS) StopActivityStreamRequest(input *StopActivityStreamInput) (req *request.Request, output *StopActivityStreamOutput) {
 14720  	op := &request.Operation{
 14721  		Name:       opStopActivityStream,
 14722  		HTTPMethod: "POST",
 14723  		HTTPPath:   "/",
 14724  	}
 14725  
 14726  	if input == nil {
 14727  		input = &StopActivityStreamInput{}
 14728  	}
 14729  
 14730  	output = &StopActivityStreamOutput{}
 14731  	req = c.newRequest(op, input, output)
 14732  	return
 14733  }
 14734  
 14735  // StopActivityStream API operation for Amazon Relational Database Service.
 14736  //
 14737  // Stops a database activity stream that was started using the Amazon Web Services
 14738  // console, the start-activity-stream CLI command, or the StartActivityStream
 14739  // action.
 14740  //
 14741  // For more information, see Database Activity Streams (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/DBActivityStreams.html)
 14742  // in the Amazon Aurora User Guide.
 14743  //
 14744  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 14745  // with awserr.Error's Code and Message methods to get detailed information about
 14746  // the error.
 14747  //
 14748  // See the AWS API reference guide for Amazon Relational Database Service's
 14749  // API operation StopActivityStream for usage and error information.
 14750  //
 14751  // Returned Error Codes:
 14752  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
 14753  //   The DB instance isn't in a valid state.
 14754  //
 14755  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
 14756  //   The requested operation can't be performed while the cluster is in this state.
 14757  //
 14758  //   * ErrCodeResourceNotFoundFault "ResourceNotFoundFault"
 14759  //   The specified resource ID was not found.
 14760  //
 14761  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
 14762  //   DBClusterIdentifier doesn't refer to an existing DB cluster.
 14763  //
 14764  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
 14765  //   DBInstanceIdentifier doesn't refer to an existing DB instance.
 14766  //
 14767  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StopActivityStream
 14768  func (c *RDS) StopActivityStream(input *StopActivityStreamInput) (*StopActivityStreamOutput, error) {
 14769  	req, out := c.StopActivityStreamRequest(input)
 14770  	return out, req.Send()
 14771  }
 14772  
 14773  // StopActivityStreamWithContext is the same as StopActivityStream with the addition of
 14774  // the ability to pass a context and additional request options.
 14775  //
 14776  // See StopActivityStream for details on how to use this API operation.
 14777  //
 14778  // The context must be non-nil and will be used for request cancellation. If
 14779  // the context is nil a panic will occur. In the future the SDK may create
 14780  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 14781  // for more information on using Contexts.
 14782  func (c *RDS) StopActivityStreamWithContext(ctx aws.Context, input *StopActivityStreamInput, opts ...request.Option) (*StopActivityStreamOutput, error) {
 14783  	req, out := c.StopActivityStreamRequest(input)
 14784  	req.SetContext(ctx)
 14785  	req.ApplyOptions(opts...)
 14786  	return out, req.Send()
 14787  }
 14788  
 14789  const opStopDBCluster = "StopDBCluster"
 14790  
 14791  // StopDBClusterRequest generates a "aws/request.Request" representing the
 14792  // client's request for the StopDBCluster operation. The "output" return
 14793  // value will be populated with the request's response once the request completes
 14794  // successfully.
 14795  //
 14796  // Use "Send" method on the returned Request to send the API call to the service.
 14797  // the "output" return value is not valid until after Send returns without error.
 14798  //
 14799  // See StopDBCluster for more information on using the StopDBCluster
 14800  // API call, and error handling.
 14801  //
 14802  // This method is useful when you want to inject custom logic or configuration
 14803  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 14804  //
 14805  //
 14806  //    // Example sending a request using the StopDBClusterRequest method.
 14807  //    req, resp := client.StopDBClusterRequest(params)
 14808  //
 14809  //    err := req.Send()
 14810  //    if err == nil { // resp is now filled
 14811  //        fmt.Println(resp)
 14812  //    }
 14813  //
 14814  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StopDBCluster
 14815  func (c *RDS) StopDBClusterRequest(input *StopDBClusterInput) (req *request.Request, output *StopDBClusterOutput) {
 14816  	op := &request.Operation{
 14817  		Name:       opStopDBCluster,
 14818  		HTTPMethod: "POST",
 14819  		HTTPPath:   "/",
 14820  	}
 14821  
 14822  	if input == nil {
 14823  		input = &StopDBClusterInput{}
 14824  	}
 14825  
 14826  	output = &StopDBClusterOutput{}
 14827  	req = c.newRequest(op, input, output)
 14828  	return
 14829  }
 14830  
 14831  // StopDBCluster API operation for Amazon Relational Database Service.
 14832  //
 14833  // Stops an Amazon Aurora DB cluster. When you stop a DB cluster, Aurora retains
 14834  // the DB cluster's metadata, including its endpoints and DB parameter groups.
 14835  // Aurora also retains the transaction logs so you can do a point-in-time restore
 14836  // if necessary.
 14837  //
 14838  // For more information, see Stopping and Starting an Aurora Cluster (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-cluster-stop-start.html)
 14839  // in the Amazon Aurora User Guide.
 14840  //
 14841  // This action only applies to Aurora DB clusters.
 14842  //
 14843  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 14844  // with awserr.Error's Code and Message methods to get detailed information about
 14845  // the error.
 14846  //
 14847  // See the AWS API reference guide for Amazon Relational Database Service's
 14848  // API operation StopDBCluster for usage and error information.
 14849  //
 14850  // Returned Error Codes:
 14851  //   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
 14852  //   DBClusterIdentifier doesn't refer to an existing DB cluster.
 14853  //
 14854  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
 14855  //   The requested operation can't be performed while the cluster is in this state.
 14856  //
 14857  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
 14858  //   The DB instance isn't in a valid state.
 14859  //
 14860  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StopDBCluster
 14861  func (c *RDS) StopDBCluster(input *StopDBClusterInput) (*StopDBClusterOutput, error) {
 14862  	req, out := c.StopDBClusterRequest(input)
 14863  	return out, req.Send()
 14864  }
 14865  
 14866  // StopDBClusterWithContext is the same as StopDBCluster with the addition of
 14867  // the ability to pass a context and additional request options.
 14868  //
 14869  // See StopDBCluster for details on how to use this API operation.
 14870  //
 14871  // The context must be non-nil and will be used for request cancellation. If
 14872  // the context is nil a panic will occur. In the future the SDK may create
 14873  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 14874  // for more information on using Contexts.
 14875  func (c *RDS) StopDBClusterWithContext(ctx aws.Context, input *StopDBClusterInput, opts ...request.Option) (*StopDBClusterOutput, error) {
 14876  	req, out := c.StopDBClusterRequest(input)
 14877  	req.SetContext(ctx)
 14878  	req.ApplyOptions(opts...)
 14879  	return out, req.Send()
 14880  }
 14881  
 14882  const opStopDBInstance = "StopDBInstance"
 14883  
 14884  // StopDBInstanceRequest generates a "aws/request.Request" representing the
 14885  // client's request for the StopDBInstance operation. The "output" return
 14886  // value will be populated with the request's response once the request completes
 14887  // successfully.
 14888  //
 14889  // Use "Send" method on the returned Request to send the API call to the service.
 14890  // the "output" return value is not valid until after Send returns without error.
 14891  //
 14892  // See StopDBInstance for more information on using the StopDBInstance
 14893  // API call, and error handling.
 14894  //
 14895  // This method is useful when you want to inject custom logic or configuration
 14896  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 14897  //
 14898  //
 14899  //    // Example sending a request using the StopDBInstanceRequest method.
 14900  //    req, resp := client.StopDBInstanceRequest(params)
 14901  //
 14902  //    err := req.Send()
 14903  //    if err == nil { // resp is now filled
 14904  //        fmt.Println(resp)
 14905  //    }
 14906  //
 14907  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StopDBInstance
 14908  func (c *RDS) StopDBInstanceRequest(input *StopDBInstanceInput) (req *request.Request, output *StopDBInstanceOutput) {
 14909  	op := &request.Operation{
 14910  		Name:       opStopDBInstance,
 14911  		HTTPMethod: "POST",
 14912  		HTTPPath:   "/",
 14913  	}
 14914  
 14915  	if input == nil {
 14916  		input = &StopDBInstanceInput{}
 14917  	}
 14918  
 14919  	output = &StopDBInstanceOutput{}
 14920  	req = c.newRequest(op, input, output)
 14921  	return
 14922  }
 14923  
 14924  // StopDBInstance API operation for Amazon Relational Database Service.
 14925  //
 14926  // Stops an Amazon RDS DB instance. When you stop a DB instance, Amazon RDS
 14927  // retains the DB instance's metadata, including its endpoint, DB parameter
 14928  // group, and option group membership. Amazon RDS also retains the transaction
 14929  // logs so you can do a point-in-time restore if necessary.
 14930  //
 14931  // For more information, see Stopping an Amazon RDS DB Instance Temporarily
 14932  // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_StopInstance.html)
 14933  // in the Amazon RDS User Guide.
 14934  //
 14935  // This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora
 14936  // clusters, use StopDBCluster instead.
 14937  //
 14938  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 14939  // with awserr.Error's Code and Message methods to get detailed information about
 14940  // the error.
 14941  //
 14942  // See the AWS API reference guide for Amazon Relational Database Service's
 14943  // API operation StopDBInstance for usage and error information.
 14944  //
 14945  // Returned Error Codes:
 14946  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
 14947  //   DBInstanceIdentifier doesn't refer to an existing DB instance.
 14948  //
 14949  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
 14950  //   The DB instance isn't in a valid state.
 14951  //
 14952  //   * ErrCodeDBSnapshotAlreadyExistsFault "DBSnapshotAlreadyExists"
 14953  //   DBSnapshotIdentifier is already used by an existing snapshot.
 14954  //
 14955  //   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
 14956  //   The request would result in the user exceeding the allowed number of DB snapshots.
 14957  //
 14958  //   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
 14959  //   The requested operation can't be performed while the cluster is in this state.
 14960  //
 14961  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StopDBInstance
 14962  func (c *RDS) StopDBInstance(input *StopDBInstanceInput) (*StopDBInstanceOutput, error) {
 14963  	req, out := c.StopDBInstanceRequest(input)
 14964  	return out, req.Send()
 14965  }
 14966  
 14967  // StopDBInstanceWithContext is the same as StopDBInstance with the addition of
 14968  // the ability to pass a context and additional request options.
 14969  //
 14970  // See StopDBInstance for details on how to use this API operation.
 14971  //
 14972  // The context must be non-nil and will be used for request cancellation. If
 14973  // the context is nil a panic will occur. In the future the SDK may create
 14974  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 14975  // for more information on using Contexts.
 14976  func (c *RDS) StopDBInstanceWithContext(ctx aws.Context, input *StopDBInstanceInput, opts ...request.Option) (*StopDBInstanceOutput, error) {
 14977  	req, out := c.StopDBInstanceRequest(input)
 14978  	req.SetContext(ctx)
 14979  	req.ApplyOptions(opts...)
 14980  	return out, req.Send()
 14981  }
 14982  
 14983  const opStopDBInstanceAutomatedBackupsReplication = "StopDBInstanceAutomatedBackupsReplication"
 14984  
 14985  // StopDBInstanceAutomatedBackupsReplicationRequest generates a "aws/request.Request" representing the
 14986  // client's request for the StopDBInstanceAutomatedBackupsReplication operation. The "output" return
 14987  // value will be populated with the request's response once the request completes
 14988  // successfully.
 14989  //
 14990  // Use "Send" method on the returned Request to send the API call to the service.
 14991  // the "output" return value is not valid until after Send returns without error.
 14992  //
 14993  // See StopDBInstanceAutomatedBackupsReplication for more information on using the StopDBInstanceAutomatedBackupsReplication
 14994  // API call, and error handling.
 14995  //
 14996  // This method is useful when you want to inject custom logic or configuration
 14997  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
 14998  //
 14999  //
 15000  //    // Example sending a request using the StopDBInstanceAutomatedBackupsReplicationRequest method.
 15001  //    req, resp := client.StopDBInstanceAutomatedBackupsReplicationRequest(params)
 15002  //
 15003  //    err := req.Send()
 15004  //    if err == nil { // resp is now filled
 15005  //        fmt.Println(resp)
 15006  //    }
 15007  //
 15008  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StopDBInstanceAutomatedBackupsReplication
 15009  func (c *RDS) StopDBInstanceAutomatedBackupsReplicationRequest(input *StopDBInstanceAutomatedBackupsReplicationInput) (req *request.Request, output *StopDBInstanceAutomatedBackupsReplicationOutput) {
 15010  	op := &request.Operation{
 15011  		Name:       opStopDBInstanceAutomatedBackupsReplication,
 15012  		HTTPMethod: "POST",
 15013  		HTTPPath:   "/",
 15014  	}
 15015  
 15016  	if input == nil {
 15017  		input = &StopDBInstanceAutomatedBackupsReplicationInput{}
 15018  	}
 15019  
 15020  	output = &StopDBInstanceAutomatedBackupsReplicationOutput{}
 15021  	req = c.newRequest(op, input, output)
 15022  	return
 15023  }
 15024  
 15025  // StopDBInstanceAutomatedBackupsReplication API operation for Amazon Relational Database Service.
 15026  //
 15027  // Stops automated backup replication for a DB instance.
 15028  //
 15029  // For more information, see Replicating Automated Backups to Another Amazon
 15030  // Web Services Region (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReplicateBackups.html)
 15031  // in the Amazon RDS User Guide.
 15032  //
 15033  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
 15034  // with awserr.Error's Code and Message methods to get detailed information about
 15035  // the error.
 15036  //
 15037  // See the AWS API reference guide for Amazon Relational Database Service's
 15038  // API operation StopDBInstanceAutomatedBackupsReplication for usage and error information.
 15039  //
 15040  // Returned Error Codes:
 15041  //   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
 15042  //   DBInstanceIdentifier doesn't refer to an existing DB instance.
 15043  //
 15044  //   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
 15045  //   The DB instance isn't in a valid state.
 15046  //
 15047  // See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StopDBInstanceAutomatedBackupsReplication
 15048  func (c *RDS) StopDBInstanceAutomatedBackupsReplication(input *StopDBInstanceAutomatedBackupsReplicationInput) (*StopDBInstanceAutomatedBackupsReplicationOutput, error) {
 15049  	req, out := c.StopDBInstanceAutomatedBackupsReplicationRequest(input)
 15050  	return out, req.Send()
 15051  }
 15052  
 15053  // StopDBInstanceAutomatedBackupsReplicationWithContext is the same as StopDBInstanceAutomatedBackupsReplication with the addition of
 15054  // the ability to pass a context and additional request options.
 15055  //
 15056  // See StopDBInstanceAutomatedBackupsReplication for details on how to use this API operation.
 15057  //
 15058  // The context must be non-nil and will be used for request cancellation. If
 15059  // the context is nil a panic will occur. In the future the SDK may create
 15060  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
 15061  // for more information on using Contexts.
 15062  func (c *RDS) StopDBInstanceAutomatedBackupsReplicationWithContext(ctx aws.Context, input *StopDBInstanceAutomatedBackupsReplicationInput, opts ...request.Option) (*StopDBInstanceAutomatedBackupsReplicationOutput, error) {
 15063  	req, out := c.StopDBInstanceAutomatedBackupsReplicationRequest(input)
 15064  	req.SetContext(ctx)
 15065  	req.ApplyOptions(opts...)
 15066  	return out, req.Send()
 15067  }
 15068  
 15069  // Describes a quota for an Amazon Web Services account.
 15070  //
 15071  // The following are account quotas:
 15072  //
 15073  //    * AllocatedStorage - The total allocated storage per account, in GiB.
 15074  //    The used value is the total allocated storage in the account, in GiB.
 15075  //
 15076  //    * AuthorizationsPerDBSecurityGroup - The number of ingress rules per DB
 15077  //    security group. The used value is the highest number of ingress rules
 15078  //    in a DB security group in the account. Other DB security groups in the
 15079  //    account might have a lower number of ingress rules.
 15080  //
 15081  //    * CustomEndpointsPerDBCluster - The number of custom endpoints per DB
 15082  //    cluster. The used value is the highest number of custom endpoints in a
 15083  //    DB clusters in the account. Other DB clusters in the account might have
 15084  //    a lower number of custom endpoints.
 15085  //
 15086  //    * DBClusterParameterGroups - The number of DB cluster parameter groups
 15087  //    per account, excluding default parameter groups. The used value is the
 15088  //    count of nondefault DB cluster parameter groups in the account.
 15089  //
 15090  //    * DBClusterRoles - The number of associated Amazon Web Services Identity
 15091  //    and Access Management (IAM) roles per DB cluster. The used value is the
 15092  //    highest number of associated IAM roles for a DB cluster in the account.
 15093  //    Other DB clusters in the account might have a lower number of associated
 15094  //    IAM roles.
 15095  //
 15096  //    * DBClusters - The number of DB clusters per account. The used value is
 15097  //    the count of DB clusters in the account.
 15098  //
 15099  //    * DBInstanceRoles - The number of associated IAM roles per DB instance.
 15100  //    The used value is the highest number of associated IAM roles for a DB
 15101  //    instance in the account. Other DB instances in the account might have
 15102  //    a lower number of associated IAM roles.
 15103  //
 15104  //    * DBInstances - The number of DB instances per account. The used value
 15105  //    is the count of the DB instances in the account. Amazon RDS DB instances,
 15106  //    Amazon Aurora DB instances, Amazon Neptune instances, and Amazon DocumentDB
 15107  //    instances apply to this quota.
 15108  //
 15109  //    * DBParameterGroups - The number of DB parameter groups per account, excluding
 15110  //    default parameter groups. The used value is the count of nondefault DB
 15111  //    parameter groups in the account.
 15112  //
 15113  //    * DBSecurityGroups - The number of DB security groups (not VPC security
 15114  //    groups) per account, excluding the default security group. The used value
 15115  //    is the count of nondefault DB security groups in the account.
 15116  //
 15117  //    * DBSubnetGroups - The number of DB subnet groups per account. The used
 15118  //    value is the count of the DB subnet groups in the account.
 15119  //
 15120  //    * EventSubscriptions - The number of event subscriptions per account.
 15121  //    The used value is the count of the event subscriptions in the account.
 15122  //
 15123  //    * ManualClusterSnapshots - The number of manual DB cluster snapshots per
 15124  //    account. The used value is the count of the manual DB cluster snapshots
 15125  //    in the account.
 15126  //
 15127  //    * ManualSnapshots - The number of manual DB instance snapshots per account.
 15128  //    The used value is the count of the manual DB instance snapshots in the
 15129  //    account.
 15130  //
 15131  //    * OptionGroups - The number of DB option groups per account, excluding
 15132  //    default option groups. The used value is the count of nondefault DB option
 15133  //    groups in the account.
 15134  //
 15135  //    * ReadReplicasPerMaster - The number of read replicas per DB instance.
 15136  //    The used value is the highest number of read replicas for a DB instance
 15137  //    in the account. Other DB instances in the account might have a lower number
 15138  //    of read replicas.
 15139  //
 15140  //    * ReservedDBInstances - The number of reserved DB instances per account.
 15141  //    The used value is the count of the active reserved DB instances in the
 15142  //    account.
 15143  //
 15144  //    * SubnetsPerDBSubnetGroup - The number of subnets per DB subnet group.
 15145  //    The used value is highest number of subnets for a DB subnet group in the
 15146  //    account. Other DB subnet groups in the account might have a lower number
 15147  //    of subnets.
 15148  //
 15149  // For more information, see Quotas for Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html)
 15150  // in the Amazon RDS User Guide and Quotas for Amazon Aurora (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_Limits.html)
 15151  // in the Amazon Aurora User Guide.
 15152  type AccountQuota struct {
 15153  	_ struct{} `type:"structure"`
 15154  
 15155  	// The name of the Amazon RDS quota for this Amazon Web Services account.
 15156  	AccountQuotaName *string `type:"string"`
 15157  
 15158  	// The maximum allowed value for the quota.
 15159  	Max *int64 `type:"long"`
 15160  
 15161  	// The amount currently used toward the quota maximum.
 15162  	Used *int64 `type:"long"`
 15163  }
 15164  
 15165  // String returns the string representation.
 15166  //
 15167  // API parameter values that are decorated as "sensitive" in the API will not
 15168  // be included in the string output. The member name will be present, but the
 15169  // value will be replaced with "sensitive".
 15170  func (s AccountQuota) String() string {
 15171  	return awsutil.Prettify(s)
 15172  }
 15173  
 15174  // GoString returns the string representation.
 15175  //
 15176  // API parameter values that are decorated as "sensitive" in the API will not
 15177  // be included in the string output. The member name will be present, but the
 15178  // value will be replaced with "sensitive".
 15179  func (s AccountQuota) GoString() string {
 15180  	return s.String()
 15181  }
 15182  
 15183  // SetAccountQuotaName sets the AccountQuotaName field's value.
 15184  func (s *AccountQuota) SetAccountQuotaName(v string) *AccountQuota {
 15185  	s.AccountQuotaName = &v
 15186  	return s
 15187  }
 15188  
 15189  // SetMax sets the Max field's value.
 15190  func (s *AccountQuota) SetMax(v int64) *AccountQuota {
 15191  	s.Max = &v
 15192  	return s
 15193  }
 15194  
 15195  // SetUsed sets the Used field's value.
 15196  func (s *AccountQuota) SetUsed(v int64) *AccountQuota {
 15197  	s.Used = &v
 15198  	return s
 15199  }
 15200  
 15201  type AddRoleToDBClusterInput struct {
 15202  	_ struct{} `type:"structure"`
 15203  
 15204  	// The name of the DB cluster to associate the IAM role with.
 15205  	//
 15206  	// DBClusterIdentifier is a required field
 15207  	DBClusterIdentifier *string `type:"string" required:"true"`
 15208  
 15209  	// The name of the feature for the DB cluster that the IAM role is to be associated
 15210  	// with. For the list of supported feature names, see DBEngineVersion.
 15211  	FeatureName *string `type:"string"`
 15212  
 15213  	// The Amazon Resource Name (ARN) of the IAM role to associate with the Aurora
 15214  	// DB cluster, for example, arn:aws:iam::123456789012:role/AuroraAccessRole.
 15215  	//
 15216  	// RoleArn is a required field
 15217  	RoleArn *string `type:"string" required:"true"`
 15218  }
 15219  
 15220  // String returns the string representation.
 15221  //
 15222  // API parameter values that are decorated as "sensitive" in the API will not
 15223  // be included in the string output. The member name will be present, but the
 15224  // value will be replaced with "sensitive".
 15225  func (s AddRoleToDBClusterInput) String() string {
 15226  	return awsutil.Prettify(s)
 15227  }
 15228  
 15229  // GoString returns the string representation.
 15230  //
 15231  // API parameter values that are decorated as "sensitive" in the API will not
 15232  // be included in the string output. The member name will be present, but the
 15233  // value will be replaced with "sensitive".
 15234  func (s AddRoleToDBClusterInput) GoString() string {
 15235  	return s.String()
 15236  }
 15237  
 15238  // Validate inspects the fields of the type to determine if they are valid.
 15239  func (s *AddRoleToDBClusterInput) Validate() error {
 15240  	invalidParams := request.ErrInvalidParams{Context: "AddRoleToDBClusterInput"}
 15241  	if s.DBClusterIdentifier == nil {
 15242  		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
 15243  	}
 15244  	if s.RoleArn == nil {
 15245  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
 15246  	}
 15247  
 15248  	if invalidParams.Len() > 0 {
 15249  		return invalidParams
 15250  	}
 15251  	return nil
 15252  }
 15253  
 15254  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 15255  func (s *AddRoleToDBClusterInput) SetDBClusterIdentifier(v string) *AddRoleToDBClusterInput {
 15256  	s.DBClusterIdentifier = &v
 15257  	return s
 15258  }
 15259  
 15260  // SetFeatureName sets the FeatureName field's value.
 15261  func (s *AddRoleToDBClusterInput) SetFeatureName(v string) *AddRoleToDBClusterInput {
 15262  	s.FeatureName = &v
 15263  	return s
 15264  }
 15265  
 15266  // SetRoleArn sets the RoleArn field's value.
 15267  func (s *AddRoleToDBClusterInput) SetRoleArn(v string) *AddRoleToDBClusterInput {
 15268  	s.RoleArn = &v
 15269  	return s
 15270  }
 15271  
 15272  type AddRoleToDBClusterOutput struct {
 15273  	_ struct{} `type:"structure"`
 15274  }
 15275  
 15276  // String returns the string representation.
 15277  //
 15278  // API parameter values that are decorated as "sensitive" in the API will not
 15279  // be included in the string output. The member name will be present, but the
 15280  // value will be replaced with "sensitive".
 15281  func (s AddRoleToDBClusterOutput) String() string {
 15282  	return awsutil.Prettify(s)
 15283  }
 15284  
 15285  // GoString returns the string representation.
 15286  //
 15287  // API parameter values that are decorated as "sensitive" in the API will not
 15288  // be included in the string output. The member name will be present, but the
 15289  // value will be replaced with "sensitive".
 15290  func (s AddRoleToDBClusterOutput) GoString() string {
 15291  	return s.String()
 15292  }
 15293  
 15294  type AddRoleToDBInstanceInput struct {
 15295  	_ struct{} `type:"structure"`
 15296  
 15297  	// The name of the DB instance to associate the IAM role with.
 15298  	//
 15299  	// DBInstanceIdentifier is a required field
 15300  	DBInstanceIdentifier *string `type:"string" required:"true"`
 15301  
 15302  	// The name of the feature for the DB instance that the IAM role is to be associated
 15303  	// with. For the list of supported feature names, see DBEngineVersion.
 15304  	//
 15305  	// FeatureName is a required field
 15306  	FeatureName *string `type:"string" required:"true"`
 15307  
 15308  	// The Amazon Resource Name (ARN) of the IAM role to associate with the DB instance,
 15309  	// for example arn:aws:iam::123456789012:role/AccessRole.
 15310  	//
 15311  	// RoleArn is a required field
 15312  	RoleArn *string `type:"string" required:"true"`
 15313  }
 15314  
 15315  // String returns the string representation.
 15316  //
 15317  // API parameter values that are decorated as "sensitive" in the API will not
 15318  // be included in the string output. The member name will be present, but the
 15319  // value will be replaced with "sensitive".
 15320  func (s AddRoleToDBInstanceInput) String() string {
 15321  	return awsutil.Prettify(s)
 15322  }
 15323  
 15324  // GoString returns the string representation.
 15325  //
 15326  // API parameter values that are decorated as "sensitive" in the API will not
 15327  // be included in the string output. The member name will be present, but the
 15328  // value will be replaced with "sensitive".
 15329  func (s AddRoleToDBInstanceInput) GoString() string {
 15330  	return s.String()
 15331  }
 15332  
 15333  // Validate inspects the fields of the type to determine if they are valid.
 15334  func (s *AddRoleToDBInstanceInput) Validate() error {
 15335  	invalidParams := request.ErrInvalidParams{Context: "AddRoleToDBInstanceInput"}
 15336  	if s.DBInstanceIdentifier == nil {
 15337  		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
 15338  	}
 15339  	if s.FeatureName == nil {
 15340  		invalidParams.Add(request.NewErrParamRequired("FeatureName"))
 15341  	}
 15342  	if s.RoleArn == nil {
 15343  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
 15344  	}
 15345  
 15346  	if invalidParams.Len() > 0 {
 15347  		return invalidParams
 15348  	}
 15349  	return nil
 15350  }
 15351  
 15352  // SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
 15353  func (s *AddRoleToDBInstanceInput) SetDBInstanceIdentifier(v string) *AddRoleToDBInstanceInput {
 15354  	s.DBInstanceIdentifier = &v
 15355  	return s
 15356  }
 15357  
 15358  // SetFeatureName sets the FeatureName field's value.
 15359  func (s *AddRoleToDBInstanceInput) SetFeatureName(v string) *AddRoleToDBInstanceInput {
 15360  	s.FeatureName = &v
 15361  	return s
 15362  }
 15363  
 15364  // SetRoleArn sets the RoleArn field's value.
 15365  func (s *AddRoleToDBInstanceInput) SetRoleArn(v string) *AddRoleToDBInstanceInput {
 15366  	s.RoleArn = &v
 15367  	return s
 15368  }
 15369  
 15370  type AddRoleToDBInstanceOutput struct {
 15371  	_ struct{} `type:"structure"`
 15372  }
 15373  
 15374  // String returns the string representation.
 15375  //
 15376  // API parameter values that are decorated as "sensitive" in the API will not
 15377  // be included in the string output. The member name will be present, but the
 15378  // value will be replaced with "sensitive".
 15379  func (s AddRoleToDBInstanceOutput) String() string {
 15380  	return awsutil.Prettify(s)
 15381  }
 15382  
 15383  // GoString returns the string representation.
 15384  //
 15385  // API parameter values that are decorated as "sensitive" in the API will not
 15386  // be included in the string output. The member name will be present, but the
 15387  // value will be replaced with "sensitive".
 15388  func (s AddRoleToDBInstanceOutput) GoString() string {
 15389  	return s.String()
 15390  }
 15391  
 15392  type AddSourceIdentifierToSubscriptionInput struct {
 15393  	_ struct{} `type:"structure"`
 15394  
 15395  	// The identifier of the event source to be added.
 15396  	//
 15397  	// Constraints:
 15398  	//
 15399  	//    * If the source type is a DB instance, a DBInstanceIdentifier value must
 15400  	//    be supplied.
 15401  	//
 15402  	//    * If the source type is a DB cluster, a DBClusterIdentifier value must
 15403  	//    be supplied.
 15404  	//
 15405  	//    * If the source type is a DB parameter group, a DBParameterGroupName value
 15406  	//    must be supplied.
 15407  	//
 15408  	//    * If the source type is a DB security group, a DBSecurityGroupName value
 15409  	//    must be supplied.
 15410  	//
 15411  	//    * If the source type is a DB snapshot, a DBSnapshotIdentifier value must
 15412  	//    be supplied.
 15413  	//
 15414  	//    * If the source type is a DB cluster snapshot, a DBClusterSnapshotIdentifier
 15415  	//    value must be supplied.
 15416  	//
 15417  	// SourceIdentifier is a required field
 15418  	SourceIdentifier *string `type:"string" required:"true"`
 15419  
 15420  	// The name of the RDS event notification subscription you want to add a source
 15421  	// identifier to.
 15422  	//
 15423  	// SubscriptionName is a required field
 15424  	SubscriptionName *string `type:"string" required:"true"`
 15425  }
 15426  
 15427  // String returns the string representation.
 15428  //
 15429  // API parameter values that are decorated as "sensitive" in the API will not
 15430  // be included in the string output. The member name will be present, but the
 15431  // value will be replaced with "sensitive".
 15432  func (s AddSourceIdentifierToSubscriptionInput) String() string {
 15433  	return awsutil.Prettify(s)
 15434  }
 15435  
 15436  // GoString returns the string representation.
 15437  //
 15438  // API parameter values that are decorated as "sensitive" in the API will not
 15439  // be included in the string output. The member name will be present, but the
 15440  // value will be replaced with "sensitive".
 15441  func (s AddSourceIdentifierToSubscriptionInput) GoString() string {
 15442  	return s.String()
 15443  }
 15444  
 15445  // Validate inspects the fields of the type to determine if they are valid.
 15446  func (s *AddSourceIdentifierToSubscriptionInput) Validate() error {
 15447  	invalidParams := request.ErrInvalidParams{Context: "AddSourceIdentifierToSubscriptionInput"}
 15448  	if s.SourceIdentifier == nil {
 15449  		invalidParams.Add(request.NewErrParamRequired("SourceIdentifier"))
 15450  	}
 15451  	if s.SubscriptionName == nil {
 15452  		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
 15453  	}
 15454  
 15455  	if invalidParams.Len() > 0 {
 15456  		return invalidParams
 15457  	}
 15458  	return nil
 15459  }
 15460  
 15461  // SetSourceIdentifier sets the SourceIdentifier field's value.
 15462  func (s *AddSourceIdentifierToSubscriptionInput) SetSourceIdentifier(v string) *AddSourceIdentifierToSubscriptionInput {
 15463  	s.SourceIdentifier = &v
 15464  	return s
 15465  }
 15466  
 15467  // SetSubscriptionName sets the SubscriptionName field's value.
 15468  func (s *AddSourceIdentifierToSubscriptionInput) SetSubscriptionName(v string) *AddSourceIdentifierToSubscriptionInput {
 15469  	s.SubscriptionName = &v
 15470  	return s
 15471  }
 15472  
 15473  type AddSourceIdentifierToSubscriptionOutput struct {
 15474  	_ struct{} `type:"structure"`
 15475  
 15476  	// Contains the results of a successful invocation of the DescribeEventSubscriptions
 15477  	// action.
 15478  	EventSubscription *EventSubscription `type:"structure"`
 15479  }
 15480  
 15481  // String returns the string representation.
 15482  //
 15483  // API parameter values that are decorated as "sensitive" in the API will not
 15484  // be included in the string output. The member name will be present, but the
 15485  // value will be replaced with "sensitive".
 15486  func (s AddSourceIdentifierToSubscriptionOutput) String() string {
 15487  	return awsutil.Prettify(s)
 15488  }
 15489  
 15490  // GoString returns the string representation.
 15491  //
 15492  // API parameter values that are decorated as "sensitive" in the API will not
 15493  // be included in the string output. The member name will be present, but the
 15494  // value will be replaced with "sensitive".
 15495  func (s AddSourceIdentifierToSubscriptionOutput) GoString() string {
 15496  	return s.String()
 15497  }
 15498  
 15499  // SetEventSubscription sets the EventSubscription field's value.
 15500  func (s *AddSourceIdentifierToSubscriptionOutput) SetEventSubscription(v *EventSubscription) *AddSourceIdentifierToSubscriptionOutput {
 15501  	s.EventSubscription = v
 15502  	return s
 15503  }
 15504  
 15505  type AddTagsToResourceInput struct {
 15506  	_ struct{} `type:"structure"`
 15507  
 15508  	// The Amazon RDS resource that the tags are added to. This value is an Amazon
 15509  	// Resource Name (ARN). For information about creating an ARN, see Constructing
 15510  	// an RDS Amazon Resource Name (ARN) (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing).
 15511  	//
 15512  	// ResourceName is a required field
 15513  	ResourceName *string `type:"string" required:"true"`
 15514  
 15515  	// The tags to be assigned to the Amazon RDS resource.
 15516  	//
 15517  	// Tags is a required field
 15518  	Tags []*Tag `locationNameList:"Tag" type:"list" required:"true"`
 15519  }
 15520  
 15521  // String returns the string representation.
 15522  //
 15523  // API parameter values that are decorated as "sensitive" in the API will not
 15524  // be included in the string output. The member name will be present, but the
 15525  // value will be replaced with "sensitive".
 15526  func (s AddTagsToResourceInput) String() string {
 15527  	return awsutil.Prettify(s)
 15528  }
 15529  
 15530  // GoString returns the string representation.
 15531  //
 15532  // API parameter values that are decorated as "sensitive" in the API will not
 15533  // be included in the string output. The member name will be present, but the
 15534  // value will be replaced with "sensitive".
 15535  func (s AddTagsToResourceInput) GoString() string {
 15536  	return s.String()
 15537  }
 15538  
 15539  // Validate inspects the fields of the type to determine if they are valid.
 15540  func (s *AddTagsToResourceInput) Validate() error {
 15541  	invalidParams := request.ErrInvalidParams{Context: "AddTagsToResourceInput"}
 15542  	if s.ResourceName == nil {
 15543  		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
 15544  	}
 15545  	if s.Tags == nil {
 15546  		invalidParams.Add(request.NewErrParamRequired("Tags"))
 15547  	}
 15548  
 15549  	if invalidParams.Len() > 0 {
 15550  		return invalidParams
 15551  	}
 15552  	return nil
 15553  }
 15554  
 15555  // SetResourceName sets the ResourceName field's value.
 15556  func (s *AddTagsToResourceInput) SetResourceName(v string) *AddTagsToResourceInput {
 15557  	s.ResourceName = &v
 15558  	return s
 15559  }
 15560  
 15561  // SetTags sets the Tags field's value.
 15562  func (s *AddTagsToResourceInput) SetTags(v []*Tag) *AddTagsToResourceInput {
 15563  	s.Tags = v
 15564  	return s
 15565  }
 15566  
 15567  type AddTagsToResourceOutput struct {
 15568  	_ struct{} `type:"structure"`
 15569  }
 15570  
 15571  // String returns the string representation.
 15572  //
 15573  // API parameter values that are decorated as "sensitive" in the API will not
 15574  // be included in the string output. The member name will be present, but the
 15575  // value will be replaced with "sensitive".
 15576  func (s AddTagsToResourceOutput) String() string {
 15577  	return awsutil.Prettify(s)
 15578  }
 15579  
 15580  // GoString returns the string representation.
 15581  //
 15582  // API parameter values that are decorated as "sensitive" in the API will not
 15583  // be included in the string output. The member name will be present, but the
 15584  // value will be replaced with "sensitive".
 15585  func (s AddTagsToResourceOutput) GoString() string {
 15586  	return s.String()
 15587  }
 15588  
 15589  type ApplyPendingMaintenanceActionInput struct {
 15590  	_ struct{} `type:"structure"`
 15591  
 15592  	// The pending maintenance action to apply to this resource.
 15593  	//
 15594  	// Valid values: system-update, db-upgrade, hardware-maintenance, ca-certificate-rotation
 15595  	//
 15596  	// ApplyAction is a required field
 15597  	ApplyAction *string `type:"string" required:"true"`
 15598  
 15599  	// A value that specifies the type of opt-in request, or undoes an opt-in request.
 15600  	// An opt-in request of type immediate can't be undone.
 15601  	//
 15602  	// Valid values:
 15603  	//
 15604  	//    * immediate - Apply the maintenance action immediately.
 15605  	//
 15606  	//    * next-maintenance - Apply the maintenance action during the next maintenance
 15607  	//    window for the resource.
 15608  	//
 15609  	//    * undo-opt-in - Cancel any existing next-maintenance opt-in requests.
 15610  	//
 15611  	// OptInType is a required field
 15612  	OptInType *string `type:"string" required:"true"`
 15613  
 15614  	// The RDS Amazon Resource Name (ARN) of the resource that the pending maintenance
 15615  	// action applies to. For information about creating an ARN, see Constructing
 15616  	// an RDS Amazon Resource Name (ARN) (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing).
 15617  	//
 15618  	// ResourceIdentifier is a required field
 15619  	ResourceIdentifier *string `type:"string" required:"true"`
 15620  }
 15621  
 15622  // String returns the string representation.
 15623  //
 15624  // API parameter values that are decorated as "sensitive" in the API will not
 15625  // be included in the string output. The member name will be present, but the
 15626  // value will be replaced with "sensitive".
 15627  func (s ApplyPendingMaintenanceActionInput) String() string {
 15628  	return awsutil.Prettify(s)
 15629  }
 15630  
 15631  // GoString returns the string representation.
 15632  //
 15633  // API parameter values that are decorated as "sensitive" in the API will not
 15634  // be included in the string output. The member name will be present, but the
 15635  // value will be replaced with "sensitive".
 15636  func (s ApplyPendingMaintenanceActionInput) GoString() string {
 15637  	return s.String()
 15638  }
 15639  
 15640  // Validate inspects the fields of the type to determine if they are valid.
 15641  func (s *ApplyPendingMaintenanceActionInput) Validate() error {
 15642  	invalidParams := request.ErrInvalidParams{Context: "ApplyPendingMaintenanceActionInput"}
 15643  	if s.ApplyAction == nil {
 15644  		invalidParams.Add(request.NewErrParamRequired("ApplyAction"))
 15645  	}
 15646  	if s.OptInType == nil {
 15647  		invalidParams.Add(request.NewErrParamRequired("OptInType"))
 15648  	}
 15649  	if s.ResourceIdentifier == nil {
 15650  		invalidParams.Add(request.NewErrParamRequired("ResourceIdentifier"))
 15651  	}
 15652  
 15653  	if invalidParams.Len() > 0 {
 15654  		return invalidParams
 15655  	}
 15656  	return nil
 15657  }
 15658  
 15659  // SetApplyAction sets the ApplyAction field's value.
 15660  func (s *ApplyPendingMaintenanceActionInput) SetApplyAction(v string) *ApplyPendingMaintenanceActionInput {
 15661  	s.ApplyAction = &v
 15662  	return s
 15663  }
 15664  
 15665  // SetOptInType sets the OptInType field's value.
 15666  func (s *ApplyPendingMaintenanceActionInput) SetOptInType(v string) *ApplyPendingMaintenanceActionInput {
 15667  	s.OptInType = &v
 15668  	return s
 15669  }
 15670  
 15671  // SetResourceIdentifier sets the ResourceIdentifier field's value.
 15672  func (s *ApplyPendingMaintenanceActionInput) SetResourceIdentifier(v string) *ApplyPendingMaintenanceActionInput {
 15673  	s.ResourceIdentifier = &v
 15674  	return s
 15675  }
 15676  
 15677  type ApplyPendingMaintenanceActionOutput struct {
 15678  	_ struct{} `type:"structure"`
 15679  
 15680  	// Describes the pending maintenance actions for a resource.
 15681  	ResourcePendingMaintenanceActions *ResourcePendingMaintenanceActions `type:"structure"`
 15682  }
 15683  
 15684  // String returns the string representation.
 15685  //
 15686  // API parameter values that are decorated as "sensitive" in the API will not
 15687  // be included in the string output. The member name will be present, but the
 15688  // value will be replaced with "sensitive".
 15689  func (s ApplyPendingMaintenanceActionOutput) String() string {
 15690  	return awsutil.Prettify(s)
 15691  }
 15692  
 15693  // GoString returns the string representation.
 15694  //
 15695  // API parameter values that are decorated as "sensitive" in the API will not
 15696  // be included in the string output. The member name will be present, but the
 15697  // value will be replaced with "sensitive".
 15698  func (s ApplyPendingMaintenanceActionOutput) GoString() string {
 15699  	return s.String()
 15700  }
 15701  
 15702  // SetResourcePendingMaintenanceActions sets the ResourcePendingMaintenanceActions field's value.
 15703  func (s *ApplyPendingMaintenanceActionOutput) SetResourcePendingMaintenanceActions(v *ResourcePendingMaintenanceActions) *ApplyPendingMaintenanceActionOutput {
 15704  	s.ResourcePendingMaintenanceActions = v
 15705  	return s
 15706  }
 15707  
 15708  type AuthorizeDBSecurityGroupIngressInput struct {
 15709  	_ struct{} `type:"structure"`
 15710  
 15711  	// The IP range to authorize.
 15712  	CIDRIP *string `type:"string"`
 15713  
 15714  	// The name of the DB security group to add authorization to.
 15715  	//
 15716  	// DBSecurityGroupName is a required field
 15717  	DBSecurityGroupName *string `type:"string" required:"true"`
 15718  
 15719  	// Id of the EC2 security group to authorize. For VPC DB security groups, EC2SecurityGroupId
 15720  	// must be provided. Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName
 15721  	// or EC2SecurityGroupId must be provided.
 15722  	EC2SecurityGroupId *string `type:"string"`
 15723  
 15724  	// Name of the EC2 security group to authorize. For VPC DB security groups,
 15725  	// EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId and
 15726  	// either EC2SecurityGroupName or EC2SecurityGroupId must be provided.
 15727  	EC2SecurityGroupName *string `type:"string"`
 15728  
 15729  	// Amazon Web Services account number of the owner of the EC2 security group
 15730  	// specified in the EC2SecurityGroupName parameter. The Amazon Web Services
 15731  	// access key ID isn't an acceptable value. For VPC DB security groups, EC2SecurityGroupId
 15732  	// must be provided. Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName
 15733  	// or EC2SecurityGroupId must be provided.
 15734  	EC2SecurityGroupOwnerId *string `type:"string"`
 15735  }
 15736  
 15737  // String returns the string representation.
 15738  //
 15739  // API parameter values that are decorated as "sensitive" in the API will not
 15740  // be included in the string output. The member name will be present, but the
 15741  // value will be replaced with "sensitive".
 15742  func (s AuthorizeDBSecurityGroupIngressInput) String() string {
 15743  	return awsutil.Prettify(s)
 15744  }
 15745  
 15746  // GoString returns the string representation.
 15747  //
 15748  // API parameter values that are decorated as "sensitive" in the API will not
 15749  // be included in the string output. The member name will be present, but the
 15750  // value will be replaced with "sensitive".
 15751  func (s AuthorizeDBSecurityGroupIngressInput) GoString() string {
 15752  	return s.String()
 15753  }
 15754  
 15755  // Validate inspects the fields of the type to determine if they are valid.
 15756  func (s *AuthorizeDBSecurityGroupIngressInput) Validate() error {
 15757  	invalidParams := request.ErrInvalidParams{Context: "AuthorizeDBSecurityGroupIngressInput"}
 15758  	if s.DBSecurityGroupName == nil {
 15759  		invalidParams.Add(request.NewErrParamRequired("DBSecurityGroupName"))
 15760  	}
 15761  
 15762  	if invalidParams.Len() > 0 {
 15763  		return invalidParams
 15764  	}
 15765  	return nil
 15766  }
 15767  
 15768  // SetCIDRIP sets the CIDRIP field's value.
 15769  func (s *AuthorizeDBSecurityGroupIngressInput) SetCIDRIP(v string) *AuthorizeDBSecurityGroupIngressInput {
 15770  	s.CIDRIP = &v
 15771  	return s
 15772  }
 15773  
 15774  // SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
 15775  func (s *AuthorizeDBSecurityGroupIngressInput) SetDBSecurityGroupName(v string) *AuthorizeDBSecurityGroupIngressInput {
 15776  	s.DBSecurityGroupName = &v
 15777  	return s
 15778  }
 15779  
 15780  // SetEC2SecurityGroupId sets the EC2SecurityGroupId field's value.
 15781  func (s *AuthorizeDBSecurityGroupIngressInput) SetEC2SecurityGroupId(v string) *AuthorizeDBSecurityGroupIngressInput {
 15782  	s.EC2SecurityGroupId = &v
 15783  	return s
 15784  }
 15785  
 15786  // SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value.
 15787  func (s *AuthorizeDBSecurityGroupIngressInput) SetEC2SecurityGroupName(v string) *AuthorizeDBSecurityGroupIngressInput {
 15788  	s.EC2SecurityGroupName = &v
 15789  	return s
 15790  }
 15791  
 15792  // SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value.
 15793  func (s *AuthorizeDBSecurityGroupIngressInput) SetEC2SecurityGroupOwnerId(v string) *AuthorizeDBSecurityGroupIngressInput {
 15794  	s.EC2SecurityGroupOwnerId = &v
 15795  	return s
 15796  }
 15797  
 15798  type AuthorizeDBSecurityGroupIngressOutput struct {
 15799  	_ struct{} `type:"structure"`
 15800  
 15801  	// Contains the details for an Amazon RDS DB security group.
 15802  	//
 15803  	// This data type is used as a response element in the DescribeDBSecurityGroups
 15804  	// action.
 15805  	DBSecurityGroup *DBSecurityGroup `type:"structure"`
 15806  }
 15807  
 15808  // String returns the string representation.
 15809  //
 15810  // API parameter values that are decorated as "sensitive" in the API will not
 15811  // be included in the string output. The member name will be present, but the
 15812  // value will be replaced with "sensitive".
 15813  func (s AuthorizeDBSecurityGroupIngressOutput) String() string {
 15814  	return awsutil.Prettify(s)
 15815  }
 15816  
 15817  // GoString returns the string representation.
 15818  //
 15819  // API parameter values that are decorated as "sensitive" in the API will not
 15820  // be included in the string output. The member name will be present, but the
 15821  // value will be replaced with "sensitive".
 15822  func (s AuthorizeDBSecurityGroupIngressOutput) GoString() string {
 15823  	return s.String()
 15824  }
 15825  
 15826  // SetDBSecurityGroup sets the DBSecurityGroup field's value.
 15827  func (s *AuthorizeDBSecurityGroupIngressOutput) SetDBSecurityGroup(v *DBSecurityGroup) *AuthorizeDBSecurityGroupIngressOutput {
 15828  	s.DBSecurityGroup = v
 15829  	return s
 15830  }
 15831  
 15832  // Contains Availability Zone information.
 15833  //
 15834  // This data type is used as an element in the OrderableDBInstanceOption data
 15835  // type.
 15836  type AvailabilityZone struct {
 15837  	_ struct{} `type:"structure"`
 15838  
 15839  	// The name of the Availability Zone.
 15840  	Name *string `type:"string"`
 15841  }
 15842  
 15843  // String returns the string representation.
 15844  //
 15845  // API parameter values that are decorated as "sensitive" in the API will not
 15846  // be included in the string output. The member name will be present, but the
 15847  // value will be replaced with "sensitive".
 15848  func (s AvailabilityZone) String() string {
 15849  	return awsutil.Prettify(s)
 15850  }
 15851  
 15852  // GoString returns the string representation.
 15853  //
 15854  // API parameter values that are decorated as "sensitive" in the API will not
 15855  // be included in the string output. The member name will be present, but the
 15856  // value will be replaced with "sensitive".
 15857  func (s AvailabilityZone) GoString() string {
 15858  	return s.String()
 15859  }
 15860  
 15861  // SetName sets the Name field's value.
 15862  func (s *AvailabilityZone) SetName(v string) *AvailabilityZone {
 15863  	s.Name = &v
 15864  	return s
 15865  }
 15866  
 15867  // Contains the available processor feature information for the DB instance
 15868  // class of a DB instance.
 15869  //
 15870  // For more information, see Configuring the Processor of the DB Instance Class
 15871  // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html#USER_ConfigureProcessor)
 15872  // in the Amazon RDS User Guide.
 15873  type AvailableProcessorFeature struct {
 15874  	_ struct{} `type:"structure"`
 15875  
 15876  	// The allowed values for the processor feature of the DB instance class.
 15877  	AllowedValues *string `type:"string"`
 15878  
 15879  	// The default value for the processor feature of the DB instance class.
 15880  	DefaultValue *string `type:"string"`
 15881  
 15882  	// The name of the processor feature. Valid names are coreCount and threadsPerCore.
 15883  	Name *string `type:"string"`
 15884  }
 15885  
 15886  // String returns the string representation.
 15887  //
 15888  // API parameter values that are decorated as "sensitive" in the API will not
 15889  // be included in the string output. The member name will be present, but the
 15890  // value will be replaced with "sensitive".
 15891  func (s AvailableProcessorFeature) String() string {
 15892  	return awsutil.Prettify(s)
 15893  }
 15894  
 15895  // GoString returns the string representation.
 15896  //
 15897  // API parameter values that are decorated as "sensitive" in the API will not
 15898  // be included in the string output. The member name will be present, but the
 15899  // value will be replaced with "sensitive".
 15900  func (s AvailableProcessorFeature) GoString() string {
 15901  	return s.String()
 15902  }
 15903  
 15904  // SetAllowedValues sets the AllowedValues field's value.
 15905  func (s *AvailableProcessorFeature) SetAllowedValues(v string) *AvailableProcessorFeature {
 15906  	s.AllowedValues = &v
 15907  	return s
 15908  }
 15909  
 15910  // SetDefaultValue sets the DefaultValue field's value.
 15911  func (s *AvailableProcessorFeature) SetDefaultValue(v string) *AvailableProcessorFeature {
 15912  	s.DefaultValue = &v
 15913  	return s
 15914  }
 15915  
 15916  // SetName sets the Name field's value.
 15917  func (s *AvailableProcessorFeature) SetName(v string) *AvailableProcessorFeature {
 15918  	s.Name = &v
 15919  	return s
 15920  }
 15921  
 15922  type BacktrackDBClusterInput struct {
 15923  	_ struct{} `type:"structure"`
 15924  
 15925  	// The timestamp of the time to backtrack the DB cluster to, specified in ISO
 15926  	// 8601 format. For more information about ISO 8601, see the ISO8601 Wikipedia
 15927  	// page. (http://en.wikipedia.org/wiki/ISO_8601)
 15928  	//
 15929  	// If the specified time isn't a consistent time for the DB cluster, Aurora
 15930  	// automatically chooses the nearest possible consistent time for the DB cluster.
 15931  	//
 15932  	// Constraints:
 15933  	//
 15934  	//    * Must contain a valid ISO 8601 timestamp.
 15935  	//
 15936  	//    * Can't contain a timestamp set in the future.
 15937  	//
 15938  	// Example: 2017-07-08T18:00Z
 15939  	//
 15940  	// BacktrackTo is a required field
 15941  	BacktrackTo *time.Time `type:"timestamp" required:"true"`
 15942  
 15943  	// The DB cluster identifier of the DB cluster to be backtracked. This parameter
 15944  	// is stored as a lowercase string.
 15945  	//
 15946  	// Constraints:
 15947  	//
 15948  	//    * Must contain from 1 to 63 alphanumeric characters or hyphens.
 15949  	//
 15950  	//    * First character must be a letter.
 15951  	//
 15952  	//    * Can't end with a hyphen or contain two consecutive hyphens.
 15953  	//
 15954  	// Example: my-cluster1
 15955  	//
 15956  	// DBClusterIdentifier is a required field
 15957  	DBClusterIdentifier *string `type:"string" required:"true"`
 15958  
 15959  	// A value that indicates whether to force the DB cluster to backtrack when
 15960  	// binary logging is enabled. Otherwise, an error occurs when binary logging
 15961  	// is enabled.
 15962  	Force *bool `type:"boolean"`
 15963  
 15964  	// A value that indicates whether to backtrack the DB cluster to the earliest
 15965  	// possible backtrack time when BacktrackTo is set to a timestamp earlier than
 15966  	// the earliest backtrack time. When this parameter is disabled and BacktrackTo
 15967  	// is set to a timestamp earlier than the earliest backtrack time, an error
 15968  	// occurs.
 15969  	UseEarliestTimeOnPointInTimeUnavailable *bool `type:"boolean"`
 15970  }
 15971  
 15972  // String returns the string representation.
 15973  //
 15974  // API parameter values that are decorated as "sensitive" in the API will not
 15975  // be included in the string output. The member name will be present, but the
 15976  // value will be replaced with "sensitive".
 15977  func (s BacktrackDBClusterInput) String() string {
 15978  	return awsutil.Prettify(s)
 15979  }
 15980  
 15981  // GoString returns the string representation.
 15982  //
 15983  // API parameter values that are decorated as "sensitive" in the API will not
 15984  // be included in the string output. The member name will be present, but the
 15985  // value will be replaced with "sensitive".
 15986  func (s BacktrackDBClusterInput) GoString() string {
 15987  	return s.String()
 15988  }
 15989  
 15990  // Validate inspects the fields of the type to determine if they are valid.
 15991  func (s *BacktrackDBClusterInput) Validate() error {
 15992  	invalidParams := request.ErrInvalidParams{Context: "BacktrackDBClusterInput"}
 15993  	if s.BacktrackTo == nil {
 15994  		invalidParams.Add(request.NewErrParamRequired("BacktrackTo"))
 15995  	}
 15996  	if s.DBClusterIdentifier == nil {
 15997  		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
 15998  	}
 15999  
 16000  	if invalidParams.Len() > 0 {
 16001  		return invalidParams
 16002  	}
 16003  	return nil
 16004  }
 16005  
 16006  // SetBacktrackTo sets the BacktrackTo field's value.
 16007  func (s *BacktrackDBClusterInput) SetBacktrackTo(v time.Time) *BacktrackDBClusterInput {
 16008  	s.BacktrackTo = &v
 16009  	return s
 16010  }
 16011  
 16012  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 16013  func (s *BacktrackDBClusterInput) SetDBClusterIdentifier(v string) *BacktrackDBClusterInput {
 16014  	s.DBClusterIdentifier = &v
 16015  	return s
 16016  }
 16017  
 16018  // SetForce sets the Force field's value.
 16019  func (s *BacktrackDBClusterInput) SetForce(v bool) *BacktrackDBClusterInput {
 16020  	s.Force = &v
 16021  	return s
 16022  }
 16023  
 16024  // SetUseEarliestTimeOnPointInTimeUnavailable sets the UseEarliestTimeOnPointInTimeUnavailable field's value.
 16025  func (s *BacktrackDBClusterInput) SetUseEarliestTimeOnPointInTimeUnavailable(v bool) *BacktrackDBClusterInput {
 16026  	s.UseEarliestTimeOnPointInTimeUnavailable = &v
 16027  	return s
 16028  }
 16029  
 16030  // This data type is used as a response element in the DescribeDBClusterBacktracks
 16031  // action.
 16032  type BacktrackDBClusterOutput struct {
 16033  	_ struct{} `type:"structure"`
 16034  
 16035  	// Contains the backtrack identifier.
 16036  	BacktrackIdentifier *string `type:"string"`
 16037  
 16038  	// The timestamp of the time at which the backtrack was requested.
 16039  	BacktrackRequestCreationTime *time.Time `type:"timestamp"`
 16040  
 16041  	// The timestamp of the time to which the DB cluster was backtracked.
 16042  	BacktrackTo *time.Time `type:"timestamp"`
 16043  
 16044  	// The timestamp of the time from which the DB cluster was backtracked.
 16045  	BacktrackedFrom *time.Time `type:"timestamp"`
 16046  
 16047  	// Contains a user-supplied DB cluster identifier. This identifier is the unique
 16048  	// key that identifies a DB cluster.
 16049  	DBClusterIdentifier *string `type:"string"`
 16050  
 16051  	// The status of the backtrack. This property returns one of the following values:
 16052  	//
 16053  	//    * applying - The backtrack is currently being applied to or rolled back
 16054  	//    from the DB cluster.
 16055  	//
 16056  	//    * completed - The backtrack has successfully been applied to or rolled
 16057  	//    back from the DB cluster.
 16058  	//
 16059  	//    * failed - An error occurred while the backtrack was applied to or rolled
 16060  	//    back from the DB cluster.
 16061  	//
 16062  	//    * pending - The backtrack is currently pending application to or rollback
 16063  	//    from the DB cluster.
 16064  	Status *string `type:"string"`
 16065  }
 16066  
 16067  // String returns the string representation.
 16068  //
 16069  // API parameter values that are decorated as "sensitive" in the API will not
 16070  // be included in the string output. The member name will be present, but the
 16071  // value will be replaced with "sensitive".
 16072  func (s BacktrackDBClusterOutput) String() string {
 16073  	return awsutil.Prettify(s)
 16074  }
 16075  
 16076  // GoString returns the string representation.
 16077  //
 16078  // API parameter values that are decorated as "sensitive" in the API will not
 16079  // be included in the string output. The member name will be present, but the
 16080  // value will be replaced with "sensitive".
 16081  func (s BacktrackDBClusterOutput) GoString() string {
 16082  	return s.String()
 16083  }
 16084  
 16085  // SetBacktrackIdentifier sets the BacktrackIdentifier field's value.
 16086  func (s *BacktrackDBClusterOutput) SetBacktrackIdentifier(v string) *BacktrackDBClusterOutput {
 16087  	s.BacktrackIdentifier = &v
 16088  	return s
 16089  }
 16090  
 16091  // SetBacktrackRequestCreationTime sets the BacktrackRequestCreationTime field's value.
 16092  func (s *BacktrackDBClusterOutput) SetBacktrackRequestCreationTime(v time.Time) *BacktrackDBClusterOutput {
 16093  	s.BacktrackRequestCreationTime = &v
 16094  	return s
 16095  }
 16096  
 16097  // SetBacktrackTo sets the BacktrackTo field's value.
 16098  func (s *BacktrackDBClusterOutput) SetBacktrackTo(v time.Time) *BacktrackDBClusterOutput {
 16099  	s.BacktrackTo = &v
 16100  	return s
 16101  }
 16102  
 16103  // SetBacktrackedFrom sets the BacktrackedFrom field's value.
 16104  func (s *BacktrackDBClusterOutput) SetBacktrackedFrom(v time.Time) *BacktrackDBClusterOutput {
 16105  	s.BacktrackedFrom = &v
 16106  	return s
 16107  }
 16108  
 16109  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 16110  func (s *BacktrackDBClusterOutput) SetDBClusterIdentifier(v string) *BacktrackDBClusterOutput {
 16111  	s.DBClusterIdentifier = &v
 16112  	return s
 16113  }
 16114  
 16115  // SetStatus sets the Status field's value.
 16116  func (s *BacktrackDBClusterOutput) SetStatus(v string) *BacktrackDBClusterOutput {
 16117  	s.Status = &v
 16118  	return s
 16119  }
 16120  
 16121  type CancelExportTaskInput struct {
 16122  	_ struct{} `type:"structure"`
 16123  
 16124  	// The identifier of the snapshot export task to cancel.
 16125  	//
 16126  	// ExportTaskIdentifier is a required field
 16127  	ExportTaskIdentifier *string `type:"string" required:"true"`
 16128  }
 16129  
 16130  // String returns the string representation.
 16131  //
 16132  // API parameter values that are decorated as "sensitive" in the API will not
 16133  // be included in the string output. The member name will be present, but the
 16134  // value will be replaced with "sensitive".
 16135  func (s CancelExportTaskInput) String() string {
 16136  	return awsutil.Prettify(s)
 16137  }
 16138  
 16139  // GoString returns the string representation.
 16140  //
 16141  // API parameter values that are decorated as "sensitive" in the API will not
 16142  // be included in the string output. The member name will be present, but the
 16143  // value will be replaced with "sensitive".
 16144  func (s CancelExportTaskInput) GoString() string {
 16145  	return s.String()
 16146  }
 16147  
 16148  // Validate inspects the fields of the type to determine if they are valid.
 16149  func (s *CancelExportTaskInput) Validate() error {
 16150  	invalidParams := request.ErrInvalidParams{Context: "CancelExportTaskInput"}
 16151  	if s.ExportTaskIdentifier == nil {
 16152  		invalidParams.Add(request.NewErrParamRequired("ExportTaskIdentifier"))
 16153  	}
 16154  
 16155  	if invalidParams.Len() > 0 {
 16156  		return invalidParams
 16157  	}
 16158  	return nil
 16159  }
 16160  
 16161  // SetExportTaskIdentifier sets the ExportTaskIdentifier field's value.
 16162  func (s *CancelExportTaskInput) SetExportTaskIdentifier(v string) *CancelExportTaskInput {
 16163  	s.ExportTaskIdentifier = &v
 16164  	return s
 16165  }
 16166  
 16167  // Contains the details of a snapshot export to Amazon S3.
 16168  //
 16169  // This data type is used as a response element in the DescribeExportTasks action.
 16170  type CancelExportTaskOutput struct {
 16171  	_ struct{} `type:"structure"`
 16172  
 16173  	// The data exported from the snapshot. Valid values are the following:
 16174  	//
 16175  	//    * database - Export all the data from a specified database.
 16176  	//
 16177  	//    * database.table table-name - Export a table of the snapshot. This format
 16178  	//    is valid only for RDS for MySQL, RDS for MariaDB, and Aurora MySQL.
 16179  	//
 16180  	//    * database.schema schema-name - Export a database schema of the snapshot.
 16181  	//    This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.
 16182  	//
 16183  	//    * database.schema.table table-name - Export a table of the database schema.
 16184  	//    This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.
 16185  	ExportOnly []*string `type:"list"`
 16186  
 16187  	// A unique identifier for the snapshot export task. This ID isn't an identifier
 16188  	// for the Amazon S3 bucket where the snapshot is exported to.
 16189  	ExportTaskIdentifier *string `type:"string"`
 16190  
 16191  	// The reason the export failed, if it failed.
 16192  	FailureCause *string `type:"string"`
 16193  
 16194  	// The name of the IAM role that is used to write to Amazon S3 when exporting
 16195  	// a snapshot.
 16196  	IamRoleArn *string `type:"string"`
 16197  
 16198  	// The key identifier of the Amazon Web Services KMS customer master key (CMK)
 16199  	// that is used to encrypt the snapshot when it's exported to Amazon S3. The
 16200  	// Amazon Web Services KMS CMK identifier is its key ARN, key ID, alias ARN,
 16201  	// or alias name. The IAM role used for the snapshot export must have encryption
 16202  	// and decryption permissions to use this Amazon Web Services KMS CMK.
 16203  	KmsKeyId *string `type:"string"`
 16204  
 16205  	// The progress of the snapshot export task as a percentage.
 16206  	PercentProgress *int64 `type:"integer"`
 16207  
 16208  	// The Amazon S3 bucket that the snapshot is exported to.
 16209  	S3Bucket *string `type:"string"`
 16210  
 16211  	// The Amazon S3 bucket prefix that is the file name and path of the exported
 16212  	// snapshot.
 16213  	S3Prefix *string `type:"string"`
 16214  
 16215  	// The time that the snapshot was created.
 16216  	SnapshotTime *time.Time `type:"timestamp"`
 16217  
 16218  	// The Amazon Resource Name (ARN) of the snapshot exported to Amazon S3.
 16219  	SourceArn *string `type:"string"`
 16220  
 16221  	// The progress status of the export task.
 16222  	Status *string `type:"string"`
 16223  
 16224  	// The time that the snapshot export task completed.
 16225  	TaskEndTime *time.Time `type:"timestamp"`
 16226  
 16227  	// The time that the snapshot export task started.
 16228  	TaskStartTime *time.Time `type:"timestamp"`
 16229  
 16230  	// The total amount of data exported, in gigabytes.
 16231  	TotalExtractedDataInGB *int64 `type:"integer"`
 16232  
 16233  	// A warning about the snapshot export task.
 16234  	WarningMessage *string `type:"string"`
 16235  }
 16236  
 16237  // String returns the string representation.
 16238  //
 16239  // API parameter values that are decorated as "sensitive" in the API will not
 16240  // be included in the string output. The member name will be present, but the
 16241  // value will be replaced with "sensitive".
 16242  func (s CancelExportTaskOutput) String() string {
 16243  	return awsutil.Prettify(s)
 16244  }
 16245  
 16246  // GoString returns the string representation.
 16247  //
 16248  // API parameter values that are decorated as "sensitive" in the API will not
 16249  // be included in the string output. The member name will be present, but the
 16250  // value will be replaced with "sensitive".
 16251  func (s CancelExportTaskOutput) GoString() string {
 16252  	return s.String()
 16253  }
 16254  
 16255  // SetExportOnly sets the ExportOnly field's value.
 16256  func (s *CancelExportTaskOutput) SetExportOnly(v []*string) *CancelExportTaskOutput {
 16257  	s.ExportOnly = v
 16258  	return s
 16259  }
 16260  
 16261  // SetExportTaskIdentifier sets the ExportTaskIdentifier field's value.
 16262  func (s *CancelExportTaskOutput) SetExportTaskIdentifier(v string) *CancelExportTaskOutput {
 16263  	s.ExportTaskIdentifier = &v
 16264  	return s
 16265  }
 16266  
 16267  // SetFailureCause sets the FailureCause field's value.
 16268  func (s *CancelExportTaskOutput) SetFailureCause(v string) *CancelExportTaskOutput {
 16269  	s.FailureCause = &v
 16270  	return s
 16271  }
 16272  
 16273  // SetIamRoleArn sets the IamRoleArn field's value.
 16274  func (s *CancelExportTaskOutput) SetIamRoleArn(v string) *CancelExportTaskOutput {
 16275  	s.IamRoleArn = &v
 16276  	return s
 16277  }
 16278  
 16279  // SetKmsKeyId sets the KmsKeyId field's value.
 16280  func (s *CancelExportTaskOutput) SetKmsKeyId(v string) *CancelExportTaskOutput {
 16281  	s.KmsKeyId = &v
 16282  	return s
 16283  }
 16284  
 16285  // SetPercentProgress sets the PercentProgress field's value.
 16286  func (s *CancelExportTaskOutput) SetPercentProgress(v int64) *CancelExportTaskOutput {
 16287  	s.PercentProgress = &v
 16288  	return s
 16289  }
 16290  
 16291  // SetS3Bucket sets the S3Bucket field's value.
 16292  func (s *CancelExportTaskOutput) SetS3Bucket(v string) *CancelExportTaskOutput {
 16293  	s.S3Bucket = &v
 16294  	return s
 16295  }
 16296  
 16297  // SetS3Prefix sets the S3Prefix field's value.
 16298  func (s *CancelExportTaskOutput) SetS3Prefix(v string) *CancelExportTaskOutput {
 16299  	s.S3Prefix = &v
 16300  	return s
 16301  }
 16302  
 16303  // SetSnapshotTime sets the SnapshotTime field's value.
 16304  func (s *CancelExportTaskOutput) SetSnapshotTime(v time.Time) *CancelExportTaskOutput {
 16305  	s.SnapshotTime = &v
 16306  	return s
 16307  }
 16308  
 16309  // SetSourceArn sets the SourceArn field's value.
 16310  func (s *CancelExportTaskOutput) SetSourceArn(v string) *CancelExportTaskOutput {
 16311  	s.SourceArn = &v
 16312  	return s
 16313  }
 16314  
 16315  // SetStatus sets the Status field's value.
 16316  func (s *CancelExportTaskOutput) SetStatus(v string) *CancelExportTaskOutput {
 16317  	s.Status = &v
 16318  	return s
 16319  }
 16320  
 16321  // SetTaskEndTime sets the TaskEndTime field's value.
 16322  func (s *CancelExportTaskOutput) SetTaskEndTime(v time.Time) *CancelExportTaskOutput {
 16323  	s.TaskEndTime = &v
 16324  	return s
 16325  }
 16326  
 16327  // SetTaskStartTime sets the TaskStartTime field's value.
 16328  func (s *CancelExportTaskOutput) SetTaskStartTime(v time.Time) *CancelExportTaskOutput {
 16329  	s.TaskStartTime = &v
 16330  	return s
 16331  }
 16332  
 16333  // SetTotalExtractedDataInGB sets the TotalExtractedDataInGB field's value.
 16334  func (s *CancelExportTaskOutput) SetTotalExtractedDataInGB(v int64) *CancelExportTaskOutput {
 16335  	s.TotalExtractedDataInGB = &v
 16336  	return s
 16337  }
 16338  
 16339  // SetWarningMessage sets the WarningMessage field's value.
 16340  func (s *CancelExportTaskOutput) SetWarningMessage(v string) *CancelExportTaskOutput {
 16341  	s.WarningMessage = &v
 16342  	return s
 16343  }
 16344  
 16345  // A CA certificate for an Amazon Web Services account.
 16346  type Certificate struct {
 16347  	_ struct{} `type:"structure"`
 16348  
 16349  	// The Amazon Resource Name (ARN) for the certificate.
 16350  	CertificateArn *string `type:"string"`
 16351  
 16352  	// The unique key that identifies a certificate.
 16353  	CertificateIdentifier *string `type:"string"`
 16354  
 16355  	// The type of the certificate.
 16356  	CertificateType *string `type:"string"`
 16357  
 16358  	// Whether there is an override for the default certificate identifier.
 16359  	CustomerOverride *bool `type:"boolean"`
 16360  
 16361  	// If there is an override for the default certificate identifier, when the
 16362  	// override expires.
 16363  	CustomerOverrideValidTill *time.Time `type:"timestamp"`
 16364  
 16365  	// The thumbprint of the certificate.
 16366  	Thumbprint *string `type:"string"`
 16367  
 16368  	// The starting date from which the certificate is valid.
 16369  	ValidFrom *time.Time `type:"timestamp"`
 16370  
 16371  	// The final date that the certificate continues to be valid.
 16372  	ValidTill *time.Time `type:"timestamp"`
 16373  }
 16374  
 16375  // String returns the string representation.
 16376  //
 16377  // API parameter values that are decorated as "sensitive" in the API will not
 16378  // be included in the string output. The member name will be present, but the
 16379  // value will be replaced with "sensitive".
 16380  func (s Certificate) String() string {
 16381  	return awsutil.Prettify(s)
 16382  }
 16383  
 16384  // GoString returns the string representation.
 16385  //
 16386  // API parameter values that are decorated as "sensitive" in the API will not
 16387  // be included in the string output. The member name will be present, but the
 16388  // value will be replaced with "sensitive".
 16389  func (s Certificate) GoString() string {
 16390  	return s.String()
 16391  }
 16392  
 16393  // SetCertificateArn sets the CertificateArn field's value.
 16394  func (s *Certificate) SetCertificateArn(v string) *Certificate {
 16395  	s.CertificateArn = &v
 16396  	return s
 16397  }
 16398  
 16399  // SetCertificateIdentifier sets the CertificateIdentifier field's value.
 16400  func (s *Certificate) SetCertificateIdentifier(v string) *Certificate {
 16401  	s.CertificateIdentifier = &v
 16402  	return s
 16403  }
 16404  
 16405  // SetCertificateType sets the CertificateType field's value.
 16406  func (s *Certificate) SetCertificateType(v string) *Certificate {
 16407  	s.CertificateType = &v
 16408  	return s
 16409  }
 16410  
 16411  // SetCustomerOverride sets the CustomerOverride field's value.
 16412  func (s *Certificate) SetCustomerOverride(v bool) *Certificate {
 16413  	s.CustomerOverride = &v
 16414  	return s
 16415  }
 16416  
 16417  // SetCustomerOverrideValidTill sets the CustomerOverrideValidTill field's value.
 16418  func (s *Certificate) SetCustomerOverrideValidTill(v time.Time) *Certificate {
 16419  	s.CustomerOverrideValidTill = &v
 16420  	return s
 16421  }
 16422  
 16423  // SetThumbprint sets the Thumbprint field's value.
 16424  func (s *Certificate) SetThumbprint(v string) *Certificate {
 16425  	s.Thumbprint = &v
 16426  	return s
 16427  }
 16428  
 16429  // SetValidFrom sets the ValidFrom field's value.
 16430  func (s *Certificate) SetValidFrom(v time.Time) *Certificate {
 16431  	s.ValidFrom = &v
 16432  	return s
 16433  }
 16434  
 16435  // SetValidTill sets the ValidTill field's value.
 16436  func (s *Certificate) SetValidTill(v time.Time) *Certificate {
 16437  	s.ValidTill = &v
 16438  	return s
 16439  }
 16440  
 16441  // This data type is used as a response element in the action DescribeDBEngineVersions.
 16442  type CharacterSet struct {
 16443  	_ struct{} `type:"structure"`
 16444  
 16445  	// The description of the character set.
 16446  	CharacterSetDescription *string `type:"string"`
 16447  
 16448  	// The name of the character set.
 16449  	CharacterSetName *string `type:"string"`
 16450  }
 16451  
 16452  // String returns the string representation.
 16453  //
 16454  // API parameter values that are decorated as "sensitive" in the API will not
 16455  // be included in the string output. The member name will be present, but the
 16456  // value will be replaced with "sensitive".
 16457  func (s CharacterSet) String() string {
 16458  	return awsutil.Prettify(s)
 16459  }
 16460  
 16461  // GoString returns the string representation.
 16462  //
 16463  // API parameter values that are decorated as "sensitive" in the API will not
 16464  // be included in the string output. The member name will be present, but the
 16465  // value will be replaced with "sensitive".
 16466  func (s CharacterSet) GoString() string {
 16467  	return s.String()
 16468  }
 16469  
 16470  // SetCharacterSetDescription sets the CharacterSetDescription field's value.
 16471  func (s *CharacterSet) SetCharacterSetDescription(v string) *CharacterSet {
 16472  	s.CharacterSetDescription = &v
 16473  	return s
 16474  }
 16475  
 16476  // SetCharacterSetName sets the CharacterSetName field's value.
 16477  func (s *CharacterSet) SetCharacterSetName(v string) *CharacterSet {
 16478  	s.CharacterSetName = &v
 16479  	return s
 16480  }
 16481  
 16482  // The configuration setting for the log types to be enabled for export to CloudWatch
 16483  // Logs for a specific DB instance or DB cluster.
 16484  //
 16485  // The EnableLogTypes and DisableLogTypes arrays determine which logs will be
 16486  // exported (or not exported) to CloudWatch Logs. The values within these arrays
 16487  // depend on the DB engine being used.
 16488  //
 16489  // For more information about exporting CloudWatch Logs for Amazon RDS DB instances,
 16490  // see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
 16491  // in the Amazon RDS User Guide.
 16492  //
 16493  // For more information about exporting CloudWatch Logs for Amazon Aurora DB
 16494  // clusters, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
 16495  // in the Amazon Aurora User Guide.
 16496  type CloudwatchLogsExportConfiguration struct {
 16497  	_ struct{} `type:"structure"`
 16498  
 16499  	// The list of log types to disable.
 16500  	DisableLogTypes []*string `type:"list"`
 16501  
 16502  	// The list of log types to enable.
 16503  	EnableLogTypes []*string `type:"list"`
 16504  }
 16505  
 16506  // String returns the string representation.
 16507  //
 16508  // API parameter values that are decorated as "sensitive" in the API will not
 16509  // be included in the string output. The member name will be present, but the
 16510  // value will be replaced with "sensitive".
 16511  func (s CloudwatchLogsExportConfiguration) String() string {
 16512  	return awsutil.Prettify(s)
 16513  }
 16514  
 16515  // GoString returns the string representation.
 16516  //
 16517  // API parameter values that are decorated as "sensitive" in the API will not
 16518  // be included in the string output. The member name will be present, but the
 16519  // value will be replaced with "sensitive".
 16520  func (s CloudwatchLogsExportConfiguration) GoString() string {
 16521  	return s.String()
 16522  }
 16523  
 16524  // SetDisableLogTypes sets the DisableLogTypes field's value.
 16525  func (s *CloudwatchLogsExportConfiguration) SetDisableLogTypes(v []*string) *CloudwatchLogsExportConfiguration {
 16526  	s.DisableLogTypes = v
 16527  	return s
 16528  }
 16529  
 16530  // SetEnableLogTypes sets the EnableLogTypes field's value.
 16531  func (s *CloudwatchLogsExportConfiguration) SetEnableLogTypes(v []*string) *CloudwatchLogsExportConfiguration {
 16532  	s.EnableLogTypes = v
 16533  	return s
 16534  }
 16535  
 16536  // This data type is used as a response element in the ModifyDBCluster operation
 16537  // and contains changes that will be applied during the next maintenance window.
 16538  type ClusterPendingModifiedValues struct {
 16539  	_ struct{} `type:"structure"`
 16540  
 16541  	// The DBClusterIdentifier value for the DB cluster.
 16542  	DBClusterIdentifier *string `type:"string"`
 16543  
 16544  	// The database engine version.
 16545  	EngineVersion *string `type:"string"`
 16546  
 16547  	// A value that indicates whether mapping of Amazon Web Services Identity and
 16548  	// Access Management (IAM) accounts to database accounts is enabled.
 16549  	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
 16550  
 16551  	// The master credentials for the DB cluster.
 16552  	MasterUserPassword *string `type:"string"`
 16553  
 16554  	// A list of the log types whose configuration is still pending. In other words,
 16555  	// these log types are in the process of being activated or deactivated.
 16556  	PendingCloudwatchLogsExports *PendingCloudwatchLogsExports `type:"structure"`
 16557  }
 16558  
 16559  // String returns the string representation.
 16560  //
 16561  // API parameter values that are decorated as "sensitive" in the API will not
 16562  // be included in the string output. The member name will be present, but the
 16563  // value will be replaced with "sensitive".
 16564  func (s ClusterPendingModifiedValues) String() string {
 16565  	return awsutil.Prettify(s)
 16566  }
 16567  
 16568  // GoString returns the string representation.
 16569  //
 16570  // API parameter values that are decorated as "sensitive" in the API will not
 16571  // be included in the string output. The member name will be present, but the
 16572  // value will be replaced with "sensitive".
 16573  func (s ClusterPendingModifiedValues) GoString() string {
 16574  	return s.String()
 16575  }
 16576  
 16577  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 16578  func (s *ClusterPendingModifiedValues) SetDBClusterIdentifier(v string) *ClusterPendingModifiedValues {
 16579  	s.DBClusterIdentifier = &v
 16580  	return s
 16581  }
 16582  
 16583  // SetEngineVersion sets the EngineVersion field's value.
 16584  func (s *ClusterPendingModifiedValues) SetEngineVersion(v string) *ClusterPendingModifiedValues {
 16585  	s.EngineVersion = &v
 16586  	return s
 16587  }
 16588  
 16589  // SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
 16590  func (s *ClusterPendingModifiedValues) SetIAMDatabaseAuthenticationEnabled(v bool) *ClusterPendingModifiedValues {
 16591  	s.IAMDatabaseAuthenticationEnabled = &v
 16592  	return s
 16593  }
 16594  
 16595  // SetMasterUserPassword sets the MasterUserPassword field's value.
 16596  func (s *ClusterPendingModifiedValues) SetMasterUserPassword(v string) *ClusterPendingModifiedValues {
 16597  	s.MasterUserPassword = &v
 16598  	return s
 16599  }
 16600  
 16601  // SetPendingCloudwatchLogsExports sets the PendingCloudwatchLogsExports field's value.
 16602  func (s *ClusterPendingModifiedValues) SetPendingCloudwatchLogsExports(v *PendingCloudwatchLogsExports) *ClusterPendingModifiedValues {
 16603  	s.PendingCloudwatchLogsExports = v
 16604  	return s
 16605  }
 16606  
 16607  // Specifies the settings that control the size and behavior of the connection
 16608  // pool associated with a DBProxyTargetGroup.
 16609  type ConnectionPoolConfiguration struct {
 16610  	_ struct{} `type:"structure"`
 16611  
 16612  	// The number of seconds for a proxy to wait for a connection to become available
 16613  	// in the connection pool. Only applies when the proxy has opened its maximum
 16614  	// number of connections and all connections are busy with client sessions.
 16615  	//
 16616  	// Default: 120
 16617  	//
 16618  	// Constraints: between 1 and 3600, or 0 representing unlimited
 16619  	ConnectionBorrowTimeout *int64 `type:"integer"`
 16620  
 16621  	// One or more SQL statements for the proxy to run when opening each new database
 16622  	// connection. Typically used with SET statements to make sure that each connection
 16623  	// has identical settings such as time zone and character set. For multiple
 16624  	// statements, use semicolons as the separator. You can also include multiple
 16625  	// variables in a single SET statement, such as SET x=1, y=2.
 16626  	//
 16627  	// Default: no initialization query
 16628  	InitQuery *string `type:"string"`
 16629  
 16630  	// The maximum size of the connection pool for each target in a target group.
 16631  	// For Aurora MySQL, it is expressed as a percentage of the max_connections
 16632  	// setting for the RDS DB instance or Aurora DB cluster used by the target group.
 16633  	//
 16634  	// Default: 100
 16635  	//
 16636  	// Constraints: between 1 and 100
 16637  	MaxConnectionsPercent *int64 `type:"integer"`
 16638  
 16639  	// Controls how actively the proxy closes idle database connections in the connection
 16640  	// pool. A high value enables the proxy to leave a high percentage of idle connections
 16641  	// open. A low value causes the proxy to close idle client connections and return
 16642  	// the underlying database connections to the connection pool. For Aurora MySQL,
 16643  	// it is expressed as a percentage of the max_connections setting for the RDS
 16644  	// DB instance or Aurora DB cluster used by the target group.
 16645  	//
 16646  	// Default: 50
 16647  	//
 16648  	// Constraints: between 0 and MaxConnectionsPercent
 16649  	MaxIdleConnectionsPercent *int64 `type:"integer"`
 16650  
 16651  	// Each item in the list represents a class of SQL operations that normally
 16652  	// cause all later statements in a session using a proxy to be pinned to the
 16653  	// same underlying database connection. Including an item in the list exempts
 16654  	// that class of SQL operations from the pinning behavior.
 16655  	//
 16656  	// Default: no session pinning filters
 16657  	SessionPinningFilters []*string `type:"list"`
 16658  }
 16659  
 16660  // String returns the string representation.
 16661  //
 16662  // API parameter values that are decorated as "sensitive" in the API will not
 16663  // be included in the string output. The member name will be present, but the
 16664  // value will be replaced with "sensitive".
 16665  func (s ConnectionPoolConfiguration) String() string {
 16666  	return awsutil.Prettify(s)
 16667  }
 16668  
 16669  // GoString returns the string representation.
 16670  //
 16671  // API parameter values that are decorated as "sensitive" in the API will not
 16672  // be included in the string output. The member name will be present, but the
 16673  // value will be replaced with "sensitive".
 16674  func (s ConnectionPoolConfiguration) GoString() string {
 16675  	return s.String()
 16676  }
 16677  
 16678  // SetConnectionBorrowTimeout sets the ConnectionBorrowTimeout field's value.
 16679  func (s *ConnectionPoolConfiguration) SetConnectionBorrowTimeout(v int64) *ConnectionPoolConfiguration {
 16680  	s.ConnectionBorrowTimeout = &v
 16681  	return s
 16682  }
 16683  
 16684  // SetInitQuery sets the InitQuery field's value.
 16685  func (s *ConnectionPoolConfiguration) SetInitQuery(v string) *ConnectionPoolConfiguration {
 16686  	s.InitQuery = &v
 16687  	return s
 16688  }
 16689  
 16690  // SetMaxConnectionsPercent sets the MaxConnectionsPercent field's value.
 16691  func (s *ConnectionPoolConfiguration) SetMaxConnectionsPercent(v int64) *ConnectionPoolConfiguration {
 16692  	s.MaxConnectionsPercent = &v
 16693  	return s
 16694  }
 16695  
 16696  // SetMaxIdleConnectionsPercent sets the MaxIdleConnectionsPercent field's value.
 16697  func (s *ConnectionPoolConfiguration) SetMaxIdleConnectionsPercent(v int64) *ConnectionPoolConfiguration {
 16698  	s.MaxIdleConnectionsPercent = &v
 16699  	return s
 16700  }
 16701  
 16702  // SetSessionPinningFilters sets the SessionPinningFilters field's value.
 16703  func (s *ConnectionPoolConfiguration) SetSessionPinningFilters(v []*string) *ConnectionPoolConfiguration {
 16704  	s.SessionPinningFilters = v
 16705  	return s
 16706  }
 16707  
 16708  // Displays the settings that control the size and behavior of the connection
 16709  // pool associated with a DBProxyTarget.
 16710  type ConnectionPoolConfigurationInfo struct {
 16711  	_ struct{} `type:"structure"`
 16712  
 16713  	// The number of seconds for a proxy to wait for a connection to become available
 16714  	// in the connection pool. Only applies when the proxy has opened its maximum
 16715  	// number of connections and all connections are busy with client sessions.
 16716  	ConnectionBorrowTimeout *int64 `type:"integer"`
 16717  
 16718  	// One or more SQL statements for the proxy to run when opening each new database
 16719  	// connection. Typically used with SET statements to make sure that each connection
 16720  	// has identical settings such as time zone and character set. This setting
 16721  	// is empty by default. For multiple statements, use semicolons as the separator.
 16722  	// You can also include multiple variables in a single SET statement, such as
 16723  	// SET x=1, y=2.
 16724  	InitQuery *string `type:"string"`
 16725  
 16726  	// The maximum size of the connection pool for each target in a target group.
 16727  	// For Aurora MySQL, it is expressed as a percentage of the max_connections
 16728  	// setting for the RDS DB instance or Aurora DB cluster used by the target group.
 16729  	MaxConnectionsPercent *int64 `type:"integer"`
 16730  
 16731  	// Controls how actively the proxy closes idle database connections in the connection
 16732  	// pool. A high value enables the proxy to leave a high percentage of idle connections
 16733  	// open. A low value causes the proxy to close idle client connections and return
 16734  	// the underlying database connections to the connection pool. For Aurora MySQL,
 16735  	// it is expressed as a percentage of the max_connections setting for the RDS
 16736  	// DB instance or Aurora DB cluster used by the target group.
 16737  	MaxIdleConnectionsPercent *int64 `type:"integer"`
 16738  
 16739  	// Each item in the list represents a class of SQL operations that normally
 16740  	// cause all later statements in a session using a proxy to be pinned to the
 16741  	// same underlying database connection. Including an item in the list exempts
 16742  	// that class of SQL operations from the pinning behavior. Currently, the only
 16743  	// allowed value is EXCLUDE_VARIABLE_SETS.
 16744  	SessionPinningFilters []*string `type:"list"`
 16745  }
 16746  
 16747  // String returns the string representation.
 16748  //
 16749  // API parameter values that are decorated as "sensitive" in the API will not
 16750  // be included in the string output. The member name will be present, but the
 16751  // value will be replaced with "sensitive".
 16752  func (s ConnectionPoolConfigurationInfo) String() string {
 16753  	return awsutil.Prettify(s)
 16754  }
 16755  
 16756  // GoString returns the string representation.
 16757  //
 16758  // API parameter values that are decorated as "sensitive" in the API will not
 16759  // be included in the string output. The member name will be present, but the
 16760  // value will be replaced with "sensitive".
 16761  func (s ConnectionPoolConfigurationInfo) GoString() string {
 16762  	return s.String()
 16763  }
 16764  
 16765  // SetConnectionBorrowTimeout sets the ConnectionBorrowTimeout field's value.
 16766  func (s *ConnectionPoolConfigurationInfo) SetConnectionBorrowTimeout(v int64) *ConnectionPoolConfigurationInfo {
 16767  	s.ConnectionBorrowTimeout = &v
 16768  	return s
 16769  }
 16770  
 16771  // SetInitQuery sets the InitQuery field's value.
 16772  func (s *ConnectionPoolConfigurationInfo) SetInitQuery(v string) *ConnectionPoolConfigurationInfo {
 16773  	s.InitQuery = &v
 16774  	return s
 16775  }
 16776  
 16777  // SetMaxConnectionsPercent sets the MaxConnectionsPercent field's value.
 16778  func (s *ConnectionPoolConfigurationInfo) SetMaxConnectionsPercent(v int64) *ConnectionPoolConfigurationInfo {
 16779  	s.MaxConnectionsPercent = &v
 16780  	return s
 16781  }
 16782  
 16783  // SetMaxIdleConnectionsPercent sets the MaxIdleConnectionsPercent field's value.
 16784  func (s *ConnectionPoolConfigurationInfo) SetMaxIdleConnectionsPercent(v int64) *ConnectionPoolConfigurationInfo {
 16785  	s.MaxIdleConnectionsPercent = &v
 16786  	return s
 16787  }
 16788  
 16789  // SetSessionPinningFilters sets the SessionPinningFilters field's value.
 16790  func (s *ConnectionPoolConfigurationInfo) SetSessionPinningFilters(v []*string) *ConnectionPoolConfigurationInfo {
 16791  	s.SessionPinningFilters = v
 16792  	return s
 16793  }
 16794  
 16795  type CopyDBClusterParameterGroupInput struct {
 16796  	_ struct{} `type:"structure"`
 16797  
 16798  	// The identifier or Amazon Resource Name (ARN) for the source DB cluster parameter
 16799  	// group. For information about creating an ARN, see Constructing an ARN for
 16800  	// Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing)
 16801  	// in the Amazon Aurora User Guide.
 16802  	//
 16803  	// Constraints:
 16804  	//
 16805  	//    * Must specify a valid DB cluster parameter group.
 16806  	//
 16807  	// SourceDBClusterParameterGroupIdentifier is a required field
 16808  	SourceDBClusterParameterGroupIdentifier *string `type:"string" required:"true"`
 16809  
 16810  	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
 16811  	// in the Amazon RDS User Guide.
 16812  	Tags []*Tag `locationNameList:"Tag" type:"list"`
 16813  
 16814  	// A description for the copied DB cluster parameter group.
 16815  	//
 16816  	// TargetDBClusterParameterGroupDescription is a required field
 16817  	TargetDBClusterParameterGroupDescription *string `type:"string" required:"true"`
 16818  
 16819  	// The identifier for the copied DB cluster parameter group.
 16820  	//
 16821  	// Constraints:
 16822  	//
 16823  	//    * Can't be null, empty, or blank
 16824  	//
 16825  	//    * Must contain from 1 to 255 letters, numbers, or hyphens
 16826  	//
 16827  	//    * First character must be a letter
 16828  	//
 16829  	//    * Can't end with a hyphen or contain two consecutive hyphens
 16830  	//
 16831  	// Example: my-cluster-param-group1
 16832  	//
 16833  	// TargetDBClusterParameterGroupIdentifier is a required field
 16834  	TargetDBClusterParameterGroupIdentifier *string `type:"string" required:"true"`
 16835  }
 16836  
 16837  // String returns the string representation.
 16838  //
 16839  // API parameter values that are decorated as "sensitive" in the API will not
 16840  // be included in the string output. The member name will be present, but the
 16841  // value will be replaced with "sensitive".
 16842  func (s CopyDBClusterParameterGroupInput) String() string {
 16843  	return awsutil.Prettify(s)
 16844  }
 16845  
 16846  // GoString returns the string representation.
 16847  //
 16848  // API parameter values that are decorated as "sensitive" in the API will not
 16849  // be included in the string output. The member name will be present, but the
 16850  // value will be replaced with "sensitive".
 16851  func (s CopyDBClusterParameterGroupInput) GoString() string {
 16852  	return s.String()
 16853  }
 16854  
 16855  // Validate inspects the fields of the type to determine if they are valid.
 16856  func (s *CopyDBClusterParameterGroupInput) Validate() error {
 16857  	invalidParams := request.ErrInvalidParams{Context: "CopyDBClusterParameterGroupInput"}
 16858  	if s.SourceDBClusterParameterGroupIdentifier == nil {
 16859  		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterParameterGroupIdentifier"))
 16860  	}
 16861  	if s.TargetDBClusterParameterGroupDescription == nil {
 16862  		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterParameterGroupDescription"))
 16863  	}
 16864  	if s.TargetDBClusterParameterGroupIdentifier == nil {
 16865  		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterParameterGroupIdentifier"))
 16866  	}
 16867  
 16868  	if invalidParams.Len() > 0 {
 16869  		return invalidParams
 16870  	}
 16871  	return nil
 16872  }
 16873  
 16874  // SetSourceDBClusterParameterGroupIdentifier sets the SourceDBClusterParameterGroupIdentifier field's value.
 16875  func (s *CopyDBClusterParameterGroupInput) SetSourceDBClusterParameterGroupIdentifier(v string) *CopyDBClusterParameterGroupInput {
 16876  	s.SourceDBClusterParameterGroupIdentifier = &v
 16877  	return s
 16878  }
 16879  
 16880  // SetTags sets the Tags field's value.
 16881  func (s *CopyDBClusterParameterGroupInput) SetTags(v []*Tag) *CopyDBClusterParameterGroupInput {
 16882  	s.Tags = v
 16883  	return s
 16884  }
 16885  
 16886  // SetTargetDBClusterParameterGroupDescription sets the TargetDBClusterParameterGroupDescription field's value.
 16887  func (s *CopyDBClusterParameterGroupInput) SetTargetDBClusterParameterGroupDescription(v string) *CopyDBClusterParameterGroupInput {
 16888  	s.TargetDBClusterParameterGroupDescription = &v
 16889  	return s
 16890  }
 16891  
 16892  // SetTargetDBClusterParameterGroupIdentifier sets the TargetDBClusterParameterGroupIdentifier field's value.
 16893  func (s *CopyDBClusterParameterGroupInput) SetTargetDBClusterParameterGroupIdentifier(v string) *CopyDBClusterParameterGroupInput {
 16894  	s.TargetDBClusterParameterGroupIdentifier = &v
 16895  	return s
 16896  }
 16897  
 16898  type CopyDBClusterParameterGroupOutput struct {
 16899  	_ struct{} `type:"structure"`
 16900  
 16901  	// Contains the details of an Amazon RDS DB cluster parameter group.
 16902  	//
 16903  	// This data type is used as a response element in the DescribeDBClusterParameterGroups
 16904  	// action.
 16905  	DBClusterParameterGroup *DBClusterParameterGroup `type:"structure"`
 16906  }
 16907  
 16908  // String returns the string representation.
 16909  //
 16910  // API parameter values that are decorated as "sensitive" in the API will not
 16911  // be included in the string output. The member name will be present, but the
 16912  // value will be replaced with "sensitive".
 16913  func (s CopyDBClusterParameterGroupOutput) String() string {
 16914  	return awsutil.Prettify(s)
 16915  }
 16916  
 16917  // GoString returns the string representation.
 16918  //
 16919  // API parameter values that are decorated as "sensitive" in the API will not
 16920  // be included in the string output. The member name will be present, but the
 16921  // value will be replaced with "sensitive".
 16922  func (s CopyDBClusterParameterGroupOutput) GoString() string {
 16923  	return s.String()
 16924  }
 16925  
 16926  // SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
 16927  func (s *CopyDBClusterParameterGroupOutput) SetDBClusterParameterGroup(v *DBClusterParameterGroup) *CopyDBClusterParameterGroupOutput {
 16928  	s.DBClusterParameterGroup = v
 16929  	return s
 16930  }
 16931  
 16932  type CopyDBClusterSnapshotInput struct {
 16933  	_ struct{} `type:"structure"`
 16934  
 16935  	// A value that indicates whether to copy all tags from the source DB cluster
 16936  	// snapshot to the target DB cluster snapshot. By default, tags are not copied.
 16937  	CopyTags *bool `type:"boolean"`
 16938  
 16939  	// DestinationRegion is used for presigning the request to a given region.
 16940  	DestinationRegion *string `type:"string"`
 16941  
 16942  	// The Amazon Web Services KMS key identifier for an encrypted DB cluster snapshot.
 16943  	// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
 16944  	// ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).
 16945  	//
 16946  	// If you copy an encrypted DB cluster snapshot from your Amazon Web Services
 16947  	// account, you can specify a value for KmsKeyId to encrypt the copy with a
 16948  	// new Amazon Web Services KMS CMK. If you don't specify a value for KmsKeyId,
 16949  	// then the copy of the DB cluster snapshot is encrypted with the same Amazon
 16950  	// Web Services KMS key as the source DB cluster snapshot.
 16951  	//
 16952  	// If you copy an encrypted DB cluster snapshot that is shared from another
 16953  	// Amazon Web Services account, then you must specify a value for KmsKeyId.
 16954  	//
 16955  	// To copy an encrypted DB cluster snapshot to another Amazon Web Services Region,
 16956  	// you must set KmsKeyId to the Amazon Web Services KMS key identifier you want
 16957  	// to use to encrypt the copy of the DB cluster snapshot in the destination
 16958  	// Amazon Web Services Region. Amazon Web Services KMS CMKs are specific to
 16959  	// the Amazon Web Services Region that they are created in, and you can't use
 16960  	// CMKs from one Amazon Web Services Region in another Amazon Web Services Region.
 16961  	//
 16962  	// If you copy an unencrypted DB cluster snapshot and specify a value for the
 16963  	// KmsKeyId parameter, an error is returned.
 16964  	KmsKeyId *string `type:"string"`
 16965  
 16966  	// The URL that contains a Signature Version 4 signed request for the CopyDBClusterSnapshot
 16967  	// API action in the Amazon Web Services Region that contains the source DB
 16968  	// cluster snapshot to copy. The PreSignedUrl parameter must be used when copying
 16969  	// an encrypted DB cluster snapshot from another Amazon Web Services Region.
 16970  	// Don't specify PreSignedUrl when you are copying an encrypted DB cluster snapshot
 16971  	// in the same Amazon Web Services Region.
 16972  	//
 16973  	// The pre-signed URL must be a valid request for the CopyDBClusterSnapshot
 16974  	// API action that can be executed in the source Amazon Web Services Region
 16975  	// that contains the encrypted DB cluster snapshot to be copied. The pre-signed
 16976  	// URL request must contain the following parameter values:
 16977  	//
 16978  	//    * KmsKeyId - The Amazon Web Services KMS key identifier for the customer
 16979  	//    master key (CMK) to use to encrypt the copy of the DB cluster snapshot
 16980  	//    in the destination Amazon Web Services Region. This is the same identifier
 16981  	//    for both the CopyDBClusterSnapshot action that is called in the destination
 16982  	//    Amazon Web Services Region, and the action contained in the pre-signed
 16983  	//    URL.
 16984  	//
 16985  	//    * DestinationRegion - The name of the Amazon Web Services Region that
 16986  	//    the DB cluster snapshot is to be created in.
 16987  	//
 16988  	//    * SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier
 16989  	//    for the encrypted DB cluster snapshot to be copied. This identifier must
 16990  	//    be in the Amazon Resource Name (ARN) format for the source Amazon Web
 16991  	//    Services Region. For example, if you are copying an encrypted DB cluster
 16992  	//    snapshot from the us-west-2 Amazon Web Services Region, then your SourceDBClusterSnapshotIdentifier
 16993  	//    looks like the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115.
 16994  	//
 16995  	// To learn how to generate a Signature Version 4 signed request, see Authenticating
 16996  	// Requests: Using Query Parameters (Amazon Web Services Signature Version 4)
 16997  	// (https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
 16998  	// and Signature Version 4 Signing Process (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
 16999  	//
 17000  	// If you are using an Amazon Web Services SDK tool or the CLI, you can specify
 17001  	// SourceRegion (or --source-region for the CLI) instead of specifying PreSignedUrl
 17002  	// manually. Specifying SourceRegion autogenerates a pre-signed URL that is
 17003  	// a valid request for the operation that can be executed in the source Amazon
 17004  	// Web Services Region.
 17005  	PreSignedUrl *string `type:"string"`
 17006  
 17007  	// The identifier of the DB cluster snapshot to copy. This parameter isn't case-sensitive.
 17008  	//
 17009  	// You can't copy an encrypted, shared DB cluster snapshot from one Amazon Web
 17010  	// Services Region to another.
 17011  	//
 17012  	// Constraints:
 17013  	//
 17014  	//    * Must specify a valid system snapshot in the "available" state.
 17015  	//
 17016  	//    * If the source snapshot is in the same Amazon Web Services Region as
 17017  	//    the copy, specify a valid DB snapshot identifier.
 17018  	//
 17019  	//    * If the source snapshot is in a different Amazon Web Services Region
 17020  	//    than the copy, specify a valid DB cluster snapshot ARN. For more information,
 17021  	//    go to Copying Snapshots Across Amazon Web Services Regions (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_CopySnapshot.html#USER_CopySnapshot.AcrossRegions)
 17022  	//    in the Amazon Aurora User Guide.
 17023  	//
 17024  	// Example: my-cluster-snapshot1
 17025  	//
 17026  	// SourceDBClusterSnapshotIdentifier is a required field
 17027  	SourceDBClusterSnapshotIdentifier *string `type:"string" required:"true"`
 17028  
 17029  	// SourceRegion is the source region where the resource exists. This is not
 17030  	// sent over the wire and is only used for presigning. This value should always
 17031  	// have the same region as the source ARN.
 17032  	SourceRegion *string `type:"string" ignore:"true"`
 17033  
 17034  	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
 17035  	// in the Amazon RDS User Guide.
 17036  	Tags []*Tag `locationNameList:"Tag" type:"list"`
 17037  
 17038  	// The identifier of the new DB cluster snapshot to create from the source DB
 17039  	// cluster snapshot. This parameter isn't case-sensitive.
 17040  	//
 17041  	// Constraints:
 17042  	//
 17043  	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
 17044  	//
 17045  	//    * First character must be a letter.
 17046  	//
 17047  	//    * Can't end with a hyphen or contain two consecutive hyphens.
 17048  	//
 17049  	// Example: my-cluster-snapshot2
 17050  	//
 17051  	// TargetDBClusterSnapshotIdentifier is a required field
 17052  	TargetDBClusterSnapshotIdentifier *string `type:"string" required:"true"`
 17053  }
 17054  
 17055  // String returns the string representation.
 17056  //
 17057  // API parameter values that are decorated as "sensitive" in the API will not
 17058  // be included in the string output. The member name will be present, but the
 17059  // value will be replaced with "sensitive".
 17060  func (s CopyDBClusterSnapshotInput) String() string {
 17061  	return awsutil.Prettify(s)
 17062  }
 17063  
 17064  // GoString returns the string representation.
 17065  //
 17066  // API parameter values that are decorated as "sensitive" in the API will not
 17067  // be included in the string output. The member name will be present, but the
 17068  // value will be replaced with "sensitive".
 17069  func (s CopyDBClusterSnapshotInput) GoString() string {
 17070  	return s.String()
 17071  }
 17072  
 17073  // Validate inspects the fields of the type to determine if they are valid.
 17074  func (s *CopyDBClusterSnapshotInput) Validate() error {
 17075  	invalidParams := request.ErrInvalidParams{Context: "CopyDBClusterSnapshotInput"}
 17076  	if s.SourceDBClusterSnapshotIdentifier == nil {
 17077  		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterSnapshotIdentifier"))
 17078  	}
 17079  	if s.TargetDBClusterSnapshotIdentifier == nil {
 17080  		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterSnapshotIdentifier"))
 17081  	}
 17082  
 17083  	if invalidParams.Len() > 0 {
 17084  		return invalidParams
 17085  	}
 17086  	return nil
 17087  }
 17088  
 17089  // SetCopyTags sets the CopyTags field's value.
 17090  func (s *CopyDBClusterSnapshotInput) SetCopyTags(v bool) *CopyDBClusterSnapshotInput {
 17091  	s.CopyTags = &v
 17092  	return s
 17093  }
 17094  
 17095  // SetDestinationRegion sets the DestinationRegion field's value.
 17096  func (s *CopyDBClusterSnapshotInput) SetDestinationRegion(v string) *CopyDBClusterSnapshotInput {
 17097  	s.DestinationRegion = &v
 17098  	return s
 17099  }
 17100  
 17101  // SetKmsKeyId sets the KmsKeyId field's value.
 17102  func (s *CopyDBClusterSnapshotInput) SetKmsKeyId(v string) *CopyDBClusterSnapshotInput {
 17103  	s.KmsKeyId = &v
 17104  	return s
 17105  }
 17106  
 17107  // SetPreSignedUrl sets the PreSignedUrl field's value.
 17108  func (s *CopyDBClusterSnapshotInput) SetPreSignedUrl(v string) *CopyDBClusterSnapshotInput {
 17109  	s.PreSignedUrl = &v
 17110  	return s
 17111  }
 17112  
 17113  // SetSourceDBClusterSnapshotIdentifier sets the SourceDBClusterSnapshotIdentifier field's value.
 17114  func (s *CopyDBClusterSnapshotInput) SetSourceDBClusterSnapshotIdentifier(v string) *CopyDBClusterSnapshotInput {
 17115  	s.SourceDBClusterSnapshotIdentifier = &v
 17116  	return s
 17117  }
 17118  
 17119  // SetSourceRegion sets the SourceRegion field's value.
 17120  func (s *CopyDBClusterSnapshotInput) SetSourceRegion(v string) *CopyDBClusterSnapshotInput {
 17121  	s.SourceRegion = &v
 17122  	return s
 17123  }
 17124  
 17125  // SetTags sets the Tags field's value.
 17126  func (s *CopyDBClusterSnapshotInput) SetTags(v []*Tag) *CopyDBClusterSnapshotInput {
 17127  	s.Tags = v
 17128  	return s
 17129  }
 17130  
 17131  // SetTargetDBClusterSnapshotIdentifier sets the TargetDBClusterSnapshotIdentifier field's value.
 17132  func (s *CopyDBClusterSnapshotInput) SetTargetDBClusterSnapshotIdentifier(v string) *CopyDBClusterSnapshotInput {
 17133  	s.TargetDBClusterSnapshotIdentifier = &v
 17134  	return s
 17135  }
 17136  
 17137  type CopyDBClusterSnapshotOutput struct {
 17138  	_ struct{} `type:"structure"`
 17139  
 17140  	// Contains the details for an Amazon RDS DB cluster snapshot
 17141  	//
 17142  	// This data type is used as a response element in the DescribeDBClusterSnapshots
 17143  	// action.
 17144  	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
 17145  }
 17146  
 17147  // String returns the string representation.
 17148  //
 17149  // API parameter values that are decorated as "sensitive" in the API will not
 17150  // be included in the string output. The member name will be present, but the
 17151  // value will be replaced with "sensitive".
 17152  func (s CopyDBClusterSnapshotOutput) String() string {
 17153  	return awsutil.Prettify(s)
 17154  }
 17155  
 17156  // GoString returns the string representation.
 17157  //
 17158  // API parameter values that are decorated as "sensitive" in the API will not
 17159  // be included in the string output. The member name will be present, but the
 17160  // value will be replaced with "sensitive".
 17161  func (s CopyDBClusterSnapshotOutput) GoString() string {
 17162  	return s.String()
 17163  }
 17164  
 17165  // SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
 17166  func (s *CopyDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *CopyDBClusterSnapshotOutput {
 17167  	s.DBClusterSnapshot = v
 17168  	return s
 17169  }
 17170  
 17171  type CopyDBParameterGroupInput struct {
 17172  	_ struct{} `type:"structure"`
 17173  
 17174  	// The identifier or ARN for the source DB parameter group. For information
 17175  	// 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)
 17176  	// in the Amazon RDS User Guide.
 17177  	//
 17178  	// Constraints:
 17179  	//
 17180  	//    * Must specify a valid DB parameter group.
 17181  	//
 17182  	// SourceDBParameterGroupIdentifier is a required field
 17183  	SourceDBParameterGroupIdentifier *string `type:"string" required:"true"`
 17184  
 17185  	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
 17186  	// in the Amazon RDS User Guide.
 17187  	Tags []*Tag `locationNameList:"Tag" type:"list"`
 17188  
 17189  	// A description for the copied DB parameter group.
 17190  	//
 17191  	// TargetDBParameterGroupDescription is a required field
 17192  	TargetDBParameterGroupDescription *string `type:"string" required:"true"`
 17193  
 17194  	// The identifier for the copied DB parameter group.
 17195  	//
 17196  	// Constraints:
 17197  	//
 17198  	//    * Can't be null, empty, or blank
 17199  	//
 17200  	//    * Must contain from 1 to 255 letters, numbers, or hyphens
 17201  	//
 17202  	//    * First character must be a letter
 17203  	//
 17204  	//    * Can't end with a hyphen or contain two consecutive hyphens
 17205  	//
 17206  	// Example: my-db-parameter-group
 17207  	//
 17208  	// TargetDBParameterGroupIdentifier is a required field
 17209  	TargetDBParameterGroupIdentifier *string `type:"string" required:"true"`
 17210  }
 17211  
 17212  // String returns the string representation.
 17213  //
 17214  // API parameter values that are decorated as "sensitive" in the API will not
 17215  // be included in the string output. The member name will be present, but the
 17216  // value will be replaced with "sensitive".
 17217  func (s CopyDBParameterGroupInput) String() string {
 17218  	return awsutil.Prettify(s)
 17219  }
 17220  
 17221  // GoString returns the string representation.
 17222  //
 17223  // API parameter values that are decorated as "sensitive" in the API will not
 17224  // be included in the string output. The member name will be present, but the
 17225  // value will be replaced with "sensitive".
 17226  func (s CopyDBParameterGroupInput) GoString() string {
 17227  	return s.String()
 17228  }
 17229  
 17230  // Validate inspects the fields of the type to determine if they are valid.
 17231  func (s *CopyDBParameterGroupInput) Validate() error {
 17232  	invalidParams := request.ErrInvalidParams{Context: "CopyDBParameterGroupInput"}
 17233  	if s.SourceDBParameterGroupIdentifier == nil {
 17234  		invalidParams.Add(request.NewErrParamRequired("SourceDBParameterGroupIdentifier"))
 17235  	}
 17236  	if s.TargetDBParameterGroupDescription == nil {
 17237  		invalidParams.Add(request.NewErrParamRequired("TargetDBParameterGroupDescription"))
 17238  	}
 17239  	if s.TargetDBParameterGroupIdentifier == nil {
 17240  		invalidParams.Add(request.NewErrParamRequired("TargetDBParameterGroupIdentifier"))
 17241  	}
 17242  
 17243  	if invalidParams.Len() > 0 {
 17244  		return invalidParams
 17245  	}
 17246  	return nil
 17247  }
 17248  
 17249  // SetSourceDBParameterGroupIdentifier sets the SourceDBParameterGroupIdentifier field's value.
 17250  func (s *CopyDBParameterGroupInput) SetSourceDBParameterGroupIdentifier(v string) *CopyDBParameterGroupInput {
 17251  	s.SourceDBParameterGroupIdentifier = &v
 17252  	return s
 17253  }
 17254  
 17255  // SetTags sets the Tags field's value.
 17256  func (s *CopyDBParameterGroupInput) SetTags(v []*Tag) *CopyDBParameterGroupInput {
 17257  	s.Tags = v
 17258  	return s
 17259  }
 17260  
 17261  // SetTargetDBParameterGroupDescription sets the TargetDBParameterGroupDescription field's value.
 17262  func (s *CopyDBParameterGroupInput) SetTargetDBParameterGroupDescription(v string) *CopyDBParameterGroupInput {
 17263  	s.TargetDBParameterGroupDescription = &v
 17264  	return s
 17265  }
 17266  
 17267  // SetTargetDBParameterGroupIdentifier sets the TargetDBParameterGroupIdentifier field's value.
 17268  func (s *CopyDBParameterGroupInput) SetTargetDBParameterGroupIdentifier(v string) *CopyDBParameterGroupInput {
 17269  	s.TargetDBParameterGroupIdentifier = &v
 17270  	return s
 17271  }
 17272  
 17273  type CopyDBParameterGroupOutput struct {
 17274  	_ struct{} `type:"structure"`
 17275  
 17276  	// Contains the details of an Amazon RDS DB parameter group.
 17277  	//
 17278  	// This data type is used as a response element in the DescribeDBParameterGroups
 17279  	// action.
 17280  	DBParameterGroup *DBParameterGroup `type:"structure"`
 17281  }
 17282  
 17283  // String returns the string representation.
 17284  //
 17285  // API parameter values that are decorated as "sensitive" in the API will not
 17286  // be included in the string output. The member name will be present, but the
 17287  // value will be replaced with "sensitive".
 17288  func (s CopyDBParameterGroupOutput) String() string {
 17289  	return awsutil.Prettify(s)
 17290  }
 17291  
 17292  // GoString returns the string representation.
 17293  //
 17294  // API parameter values that are decorated as "sensitive" in the API will not
 17295  // be included in the string output. The member name will be present, but the
 17296  // value will be replaced with "sensitive".
 17297  func (s CopyDBParameterGroupOutput) GoString() string {
 17298  	return s.String()
 17299  }
 17300  
 17301  // SetDBParameterGroup sets the DBParameterGroup field's value.
 17302  func (s *CopyDBParameterGroupOutput) SetDBParameterGroup(v *DBParameterGroup) *CopyDBParameterGroupOutput {
 17303  	s.DBParameterGroup = v
 17304  	return s
 17305  }
 17306  
 17307  type CopyDBSnapshotInput struct {
 17308  	_ struct{} `type:"structure"`
 17309  
 17310  	// A value that indicates whether to copy all tags from the source DB snapshot
 17311  	// to the target DB snapshot. By default, tags are not copied.
 17312  	CopyTags *bool `type:"boolean"`
 17313  
 17314  	// DestinationRegion is used for presigning the request to a given region.
 17315  	DestinationRegion *string `type:"string"`
 17316  
 17317  	// The Amazon Web Services KMS key identifier for an encrypted DB snapshot.
 17318  	// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
 17319  	// ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).
 17320  	//
 17321  	// If you copy an encrypted DB snapshot from your Amazon Web Services account,
 17322  	// you can specify a value for this parameter to encrypt the copy with a new
 17323  	// Amazon Web Services KMS CMK. If you don't specify a value for this parameter,
 17324  	// then the copy of the DB snapshot is encrypted with the same Amazon Web Services
 17325  	// KMS key as the source DB snapshot.
 17326  	//
 17327  	// If you copy an encrypted DB snapshot that is shared from another Amazon Web
 17328  	// Services account, then you must specify a value for this parameter.
 17329  	//
 17330  	// If you specify this parameter when you copy an unencrypted snapshot, the
 17331  	// copy is encrypted.
 17332  	//
 17333  	// If you copy an encrypted snapshot to a different Amazon Web Services Region,
 17334  	// then you must specify a Amazon Web Services KMS key identifier for the destination
 17335  	// Amazon Web Services Region. Amazon Web Services KMS CMKs are specific to
 17336  	// the Amazon Web Services Region that they are created in, and you can't use
 17337  	// CMKs from one Amazon Web Services Region in another Amazon Web Services Region.
 17338  	KmsKeyId *string `type:"string"`
 17339  
 17340  	// The name of an option group to associate with the copy of the snapshot.
 17341  	//
 17342  	// Specify this option if you are copying a snapshot from one Amazon Web Services
 17343  	// Region to another, and your DB instance uses a nondefault option group. If
 17344  	// your source DB instance uses Transparent Data Encryption for Oracle or Microsoft
 17345  	// SQL Server, you must specify this option when copying across Amazon Web Services
 17346  	// Regions. For more information, see Option group considerations (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopySnapshot.html#USER_CopySnapshot.Options)
 17347  	// in the Amazon RDS User Guide.
 17348  	OptionGroupName *string `type:"string"`
 17349  
 17350  	// The URL that contains a Signature Version 4 signed request for the CopyDBSnapshot
 17351  	// API action in the source Amazon Web Services Region that contains the source
 17352  	// DB snapshot to copy.
 17353  	//
 17354  	// You must specify this parameter when you copy an encrypted DB snapshot from
 17355  	// another Amazon Web Services Region by using the Amazon RDS API. Don't specify
 17356  	// PreSignedUrl when you are copying an encrypted DB snapshot in the same Amazon
 17357  	// Web Services Region.
 17358  	//
 17359  	// The presigned URL must be a valid request for the CopyDBSnapshot API action
 17360  	// that can be executed in the source Amazon Web Services Region that contains
 17361  	// the encrypted DB snapshot to be copied. The presigned URL request must contain
 17362  	// the following parameter values:
 17363  	//
 17364  	//    * DestinationRegion - The Amazon Web Services Region that the encrypted
 17365  	//    DB snapshot is copied to. This Amazon Web Services Region is the same
 17366  	//    one where the CopyDBSnapshot action is called that contains this presigned
 17367  	//    URL. For example, if you copy an encrypted DB snapshot from the us-west-2
 17368  	//    Amazon Web Services Region to the us-east-1 Amazon Web Services Region,
 17369  	//    then you call the CopyDBSnapshot action in the us-east-1 Amazon Web Services
 17370  	//    Region and provide a presigned URL that contains a call to the CopyDBSnapshot
 17371  	//    action in the us-west-2 Amazon Web Services Region. For this example,
 17372  	//    the DestinationRegion in the presigned URL must be set to the us-east-1
 17373  	//    Amazon Web Services Region.
 17374  	//
 17375  	//    * KmsKeyId - The Amazon Web Services KMS key identifier for the customer
 17376  	//    master key (CMK) to use to encrypt the copy of the DB snapshot in the
 17377  	//    destination Amazon Web Services Region. This is the same identifier for
 17378  	//    both the CopyDBSnapshot action that is called in the destination Amazon
 17379  	//    Web Services Region, and the action contained in the presigned URL.
 17380  	//
 17381  	//    * SourceDBSnapshotIdentifier - The DB snapshot identifier for the encrypted
 17382  	//    snapshot to be copied. This identifier must be in the Amazon Resource
 17383  	//    Name (ARN) format for the source Amazon Web Services Region. For example,
 17384  	//    if you are copying an encrypted DB snapshot from the us-west-2 Amazon
 17385  	//    Web Services Region, then your SourceDBSnapshotIdentifier looks like the
 17386  	//    following example: arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20161115.
 17387  	//
 17388  	// To learn how to generate a Signature Version 4 signed request, see Authenticating
 17389  	// Requests: Using Query Parameters (Amazon Web Services Signature Version 4)
 17390  	// (https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
 17391  	// and Signature Version 4 Signing Process (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
 17392  	//
 17393  	// If you are using an Amazon Web Services SDK tool or the CLI, you can specify
 17394  	// SourceRegion (or --source-region for the CLI) instead of specifying PreSignedUrl
 17395  	// manually. Specifying SourceRegion autogenerates a pre-signed URL that is
 17396  	// a valid request for the operation that can be executed in the source Amazon
 17397  	// Web Services Region.
 17398  	PreSignedUrl *string `type:"string"`
 17399  
 17400  	// The identifier for the source DB snapshot.
 17401  	//
 17402  	// If the source snapshot is in the same Amazon Web Services Region as the copy,
 17403  	// specify a valid DB snapshot identifier. For example, you might specify rds:mysql-instance1-snapshot-20130805.
 17404  	//
 17405  	// If the source snapshot is in a different Amazon Web Services Region than
 17406  	// the copy, specify a valid DB snapshot ARN. For example, you might specify
 17407  	// arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805.
 17408  	//
 17409  	// If you are copying from a shared manual DB snapshot, this parameter must
 17410  	// be the Amazon Resource Name (ARN) of the shared DB snapshot.
 17411  	//
 17412  	// If you are copying an encrypted snapshot this parameter must be in the ARN
 17413  	// format for the source Amazon Web Services Region, and must match the SourceDBSnapshotIdentifier
 17414  	// in the PreSignedUrl parameter.
 17415  	//
 17416  	// Constraints:
 17417  	//
 17418  	//    * Must specify a valid system snapshot in the "available" state.
 17419  	//
 17420  	// Example: rds:mydb-2012-04-02-00-01
 17421  	//
 17422  	// Example: arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805
 17423  	//
 17424  	// SourceDBSnapshotIdentifier is a required field
 17425  	SourceDBSnapshotIdentifier *string `type:"string" required:"true"`
 17426  
 17427  	// SourceRegion is the source region where the resource exists. This is not
 17428  	// sent over the wire and is only used for presigning. This value should always
 17429  	// have the same region as the source ARN.
 17430  	SourceRegion *string `type:"string" ignore:"true"`
 17431  
 17432  	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
 17433  	// in the Amazon RDS User Guide.
 17434  	Tags []*Tag `locationNameList:"Tag" type:"list"`
 17435  
 17436  	// The external custom Availability Zone (CAZ) identifier for the target CAZ.
 17437  	//
 17438  	// Example: rds-caz-aiqhTgQv.
 17439  	TargetCustomAvailabilityZone *string `type:"string"`
 17440  
 17441  	// The identifier for the copy of the snapshot.
 17442  	//
 17443  	// Constraints:
 17444  	//
 17445  	//    * Can't be null, empty, or blank
 17446  	//
 17447  	//    * Must contain from 1 to 255 letters, numbers, or hyphens
 17448  	//
 17449  	//    * First character must be a letter
 17450  	//
 17451  	//    * Can't end with a hyphen or contain two consecutive hyphens
 17452  	//
 17453  	// Example: my-db-snapshot
 17454  	//
 17455  	// TargetDBSnapshotIdentifier is a required field
 17456  	TargetDBSnapshotIdentifier *string `type:"string" required:"true"`
 17457  }
 17458  
 17459  // String returns the string representation.
 17460  //
 17461  // API parameter values that are decorated as "sensitive" in the API will not
 17462  // be included in the string output. The member name will be present, but the
 17463  // value will be replaced with "sensitive".
 17464  func (s CopyDBSnapshotInput) String() string {
 17465  	return awsutil.Prettify(s)
 17466  }
 17467  
 17468  // GoString returns the string representation.
 17469  //
 17470  // API parameter values that are decorated as "sensitive" in the API will not
 17471  // be included in the string output. The member name will be present, but the
 17472  // value will be replaced with "sensitive".
 17473  func (s CopyDBSnapshotInput) GoString() string {
 17474  	return s.String()
 17475  }
 17476  
 17477  // Validate inspects the fields of the type to determine if they are valid.
 17478  func (s *CopyDBSnapshotInput) Validate() error {
 17479  	invalidParams := request.ErrInvalidParams{Context: "CopyDBSnapshotInput"}
 17480  	if s.SourceDBSnapshotIdentifier == nil {
 17481  		invalidParams.Add(request.NewErrParamRequired("SourceDBSnapshotIdentifier"))
 17482  	}
 17483  	if s.TargetDBSnapshotIdentifier == nil {
 17484  		invalidParams.Add(request.NewErrParamRequired("TargetDBSnapshotIdentifier"))
 17485  	}
 17486  
 17487  	if invalidParams.Len() > 0 {
 17488  		return invalidParams
 17489  	}
 17490  	return nil
 17491  }
 17492  
 17493  // SetCopyTags sets the CopyTags field's value.
 17494  func (s *CopyDBSnapshotInput) SetCopyTags(v bool) *CopyDBSnapshotInput {
 17495  	s.CopyTags = &v
 17496  	return s
 17497  }
 17498  
 17499  // SetDestinationRegion sets the DestinationRegion field's value.
 17500  func (s *CopyDBSnapshotInput) SetDestinationRegion(v string) *CopyDBSnapshotInput {
 17501  	s.DestinationRegion = &v
 17502  	return s
 17503  }
 17504  
 17505  // SetKmsKeyId sets the KmsKeyId field's value.
 17506  func (s *CopyDBSnapshotInput) SetKmsKeyId(v string) *CopyDBSnapshotInput {
 17507  	s.KmsKeyId = &v
 17508  	return s
 17509  }
 17510  
 17511  // SetOptionGroupName sets the OptionGroupName field's value.
 17512  func (s *CopyDBSnapshotInput) SetOptionGroupName(v string) *CopyDBSnapshotInput {
 17513  	s.OptionGroupName = &v
 17514  	return s
 17515  }
 17516  
 17517  // SetPreSignedUrl sets the PreSignedUrl field's value.
 17518  func (s *CopyDBSnapshotInput) SetPreSignedUrl(v string) *CopyDBSnapshotInput {
 17519  	s.PreSignedUrl = &v
 17520  	return s
 17521  }
 17522  
 17523  // SetSourceDBSnapshotIdentifier sets the SourceDBSnapshotIdentifier field's value.
 17524  func (s *CopyDBSnapshotInput) SetSourceDBSnapshotIdentifier(v string) *CopyDBSnapshotInput {
 17525  	s.SourceDBSnapshotIdentifier = &v
 17526  	return s
 17527  }
 17528  
 17529  // SetSourceRegion sets the SourceRegion field's value.
 17530  func (s *CopyDBSnapshotInput) SetSourceRegion(v string) *CopyDBSnapshotInput {
 17531  	s.SourceRegion = &v
 17532  	return s
 17533  }
 17534  
 17535  // SetTags sets the Tags field's value.
 17536  func (s *CopyDBSnapshotInput) SetTags(v []*Tag) *CopyDBSnapshotInput {
 17537  	s.Tags = v
 17538  	return s
 17539  }
 17540  
 17541  // SetTargetCustomAvailabilityZone sets the TargetCustomAvailabilityZone field's value.
 17542  func (s *CopyDBSnapshotInput) SetTargetCustomAvailabilityZone(v string) *CopyDBSnapshotInput {
 17543  	s.TargetCustomAvailabilityZone = &v
 17544  	return s
 17545  }
 17546  
 17547  // SetTargetDBSnapshotIdentifier sets the TargetDBSnapshotIdentifier field's value.
 17548  func (s *CopyDBSnapshotInput) SetTargetDBSnapshotIdentifier(v string) *CopyDBSnapshotInput {
 17549  	s.TargetDBSnapshotIdentifier = &v
 17550  	return s
 17551  }
 17552  
 17553  type CopyDBSnapshotOutput struct {
 17554  	_ struct{} `type:"structure"`
 17555  
 17556  	// Contains the details of an Amazon RDS DB snapshot.
 17557  	//
 17558  	// This data type is used as a response element in the DescribeDBSnapshots action.
 17559  	DBSnapshot *DBSnapshot `type:"structure"`
 17560  }
 17561  
 17562  // String returns the string representation.
 17563  //
 17564  // API parameter values that are decorated as "sensitive" in the API will not
 17565  // be included in the string output. The member name will be present, but the
 17566  // value will be replaced with "sensitive".
 17567  func (s CopyDBSnapshotOutput) String() string {
 17568  	return awsutil.Prettify(s)
 17569  }
 17570  
 17571  // GoString returns the string representation.
 17572  //
 17573  // API parameter values that are decorated as "sensitive" in the API will not
 17574  // be included in the string output. The member name will be present, but the
 17575  // value will be replaced with "sensitive".
 17576  func (s CopyDBSnapshotOutput) GoString() string {
 17577  	return s.String()
 17578  }
 17579  
 17580  // SetDBSnapshot sets the DBSnapshot field's value.
 17581  func (s *CopyDBSnapshotOutput) SetDBSnapshot(v *DBSnapshot) *CopyDBSnapshotOutput {
 17582  	s.DBSnapshot = v
 17583  	return s
 17584  }
 17585  
 17586  type CopyOptionGroupInput struct {
 17587  	_ struct{} `type:"structure"`
 17588  
 17589  	// The identifier for the source option group.
 17590  	//
 17591  	// Constraints:
 17592  	//
 17593  	//    * Must specify a valid option group.
 17594  	//
 17595  	// SourceOptionGroupIdentifier is a required field
 17596  	SourceOptionGroupIdentifier *string `type:"string" required:"true"`
 17597  
 17598  	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
 17599  	// in the Amazon RDS User Guide.
 17600  	Tags []*Tag `locationNameList:"Tag" type:"list"`
 17601  
 17602  	// The description for the copied option group.
 17603  	//
 17604  	// TargetOptionGroupDescription is a required field
 17605  	TargetOptionGroupDescription *string `type:"string" required:"true"`
 17606  
 17607  	// The identifier for the copied option group.
 17608  	//
 17609  	// Constraints:
 17610  	//
 17611  	//    * Can't be null, empty, or blank
 17612  	//
 17613  	//    * Must contain from 1 to 255 letters, numbers, or hyphens
 17614  	//
 17615  	//    * First character must be a letter
 17616  	//
 17617  	//    * Can't end with a hyphen or contain two consecutive hyphens
 17618  	//
 17619  	// Example: my-option-group
 17620  	//
 17621  	// TargetOptionGroupIdentifier is a required field
 17622  	TargetOptionGroupIdentifier *string `type:"string" required:"true"`
 17623  }
 17624  
 17625  // String returns the string representation.
 17626  //
 17627  // API parameter values that are decorated as "sensitive" in the API will not
 17628  // be included in the string output. The member name will be present, but the
 17629  // value will be replaced with "sensitive".
 17630  func (s CopyOptionGroupInput) String() string {
 17631  	return awsutil.Prettify(s)
 17632  }
 17633  
 17634  // GoString returns the string representation.
 17635  //
 17636  // API parameter values that are decorated as "sensitive" in the API will not
 17637  // be included in the string output. The member name will be present, but the
 17638  // value will be replaced with "sensitive".
 17639  func (s CopyOptionGroupInput) GoString() string {
 17640  	return s.String()
 17641  }
 17642  
 17643  // Validate inspects the fields of the type to determine if they are valid.
 17644  func (s *CopyOptionGroupInput) Validate() error {
 17645  	invalidParams := request.ErrInvalidParams{Context: "CopyOptionGroupInput"}
 17646  	if s.SourceOptionGroupIdentifier == nil {
 17647  		invalidParams.Add(request.NewErrParamRequired("SourceOptionGroupIdentifier"))
 17648  	}
 17649  	if s.TargetOptionGroupDescription == nil {
 17650  		invalidParams.Add(request.NewErrParamRequired("TargetOptionGroupDescription"))
 17651  	}
 17652  	if s.TargetOptionGroupIdentifier == nil {
 17653  		invalidParams.Add(request.NewErrParamRequired("TargetOptionGroupIdentifier"))
 17654  	}
 17655  
 17656  	if invalidParams.Len() > 0 {
 17657  		return invalidParams
 17658  	}
 17659  	return nil
 17660  }
 17661  
 17662  // SetSourceOptionGroupIdentifier sets the SourceOptionGroupIdentifier field's value.
 17663  func (s *CopyOptionGroupInput) SetSourceOptionGroupIdentifier(v string) *CopyOptionGroupInput {
 17664  	s.SourceOptionGroupIdentifier = &v
 17665  	return s
 17666  }
 17667  
 17668  // SetTags sets the Tags field's value.
 17669  func (s *CopyOptionGroupInput) SetTags(v []*Tag) *CopyOptionGroupInput {
 17670  	s.Tags = v
 17671  	return s
 17672  }
 17673  
 17674  // SetTargetOptionGroupDescription sets the TargetOptionGroupDescription field's value.
 17675  func (s *CopyOptionGroupInput) SetTargetOptionGroupDescription(v string) *CopyOptionGroupInput {
 17676  	s.TargetOptionGroupDescription = &v
 17677  	return s
 17678  }
 17679  
 17680  // SetTargetOptionGroupIdentifier sets the TargetOptionGroupIdentifier field's value.
 17681  func (s *CopyOptionGroupInput) SetTargetOptionGroupIdentifier(v string) *CopyOptionGroupInput {
 17682  	s.TargetOptionGroupIdentifier = &v
 17683  	return s
 17684  }
 17685  
 17686  type CopyOptionGroupOutput struct {
 17687  	_ struct{} `type:"structure"`
 17688  
 17689  	OptionGroup *OptionGroup `type:"structure"`
 17690  }
 17691  
 17692  // String returns the string representation.
 17693  //
 17694  // API parameter values that are decorated as "sensitive" in the API will not
 17695  // be included in the string output. The member name will be present, but the
 17696  // value will be replaced with "sensitive".
 17697  func (s CopyOptionGroupOutput) String() string {
 17698  	return awsutil.Prettify(s)
 17699  }
 17700  
 17701  // GoString returns the string representation.
 17702  //
 17703  // API parameter values that are decorated as "sensitive" in the API will not
 17704  // be included in the string output. The member name will be present, but the
 17705  // value will be replaced with "sensitive".
 17706  func (s CopyOptionGroupOutput) GoString() string {
 17707  	return s.String()
 17708  }
 17709  
 17710  // SetOptionGroup sets the OptionGroup field's value.
 17711  func (s *CopyOptionGroupOutput) SetOptionGroup(v *OptionGroup) *CopyOptionGroupOutput {
 17712  	s.OptionGroup = v
 17713  	return s
 17714  }
 17715  
 17716  type CreateCustomAvailabilityZoneInput struct {
 17717  	_ struct{} `type:"structure"`
 17718  
 17719  	// The name of the custom Availability Zone (AZ).
 17720  	//
 17721  	// CustomAvailabilityZoneName is a required field
 17722  	CustomAvailabilityZoneName *string `type:"string" required:"true"`
 17723  
 17724  	// The ID of an existing virtual private network (VPN) between the Amazon RDS
 17725  	// website and the VMware vSphere cluster.
 17726  	ExistingVpnId *string `type:"string"`
 17727  
 17728  	// The name of a new VPN tunnel between the Amazon RDS website and the VMware
 17729  	// vSphere cluster.
 17730  	//
 17731  	// Specify this parameter only if ExistingVpnId isn't specified.
 17732  	NewVpnTunnelName *string `type:"string"`
 17733  
 17734  	// The IP address of network traffic from your on-premises data center. A custom
 17735  	// AZ receives the network traffic.
 17736  	//
 17737  	// Specify this parameter only if ExistingVpnId isn't specified.
 17738  	VpnTunnelOriginatorIP *string `type:"string"`
 17739  }
 17740  
 17741  // String returns the string representation.
 17742  //
 17743  // API parameter values that are decorated as "sensitive" in the API will not
 17744  // be included in the string output. The member name will be present, but the
 17745  // value will be replaced with "sensitive".
 17746  func (s CreateCustomAvailabilityZoneInput) String() string {
 17747  	return awsutil.Prettify(s)
 17748  }
 17749  
 17750  // GoString returns the string representation.
 17751  //
 17752  // API parameter values that are decorated as "sensitive" in the API will not
 17753  // be included in the string output. The member name will be present, but the
 17754  // value will be replaced with "sensitive".
 17755  func (s CreateCustomAvailabilityZoneInput) GoString() string {
 17756  	return s.String()
 17757  }
 17758  
 17759  // Validate inspects the fields of the type to determine if they are valid.
 17760  func (s *CreateCustomAvailabilityZoneInput) Validate() error {
 17761  	invalidParams := request.ErrInvalidParams{Context: "CreateCustomAvailabilityZoneInput"}
 17762  	if s.CustomAvailabilityZoneName == nil {
 17763  		invalidParams.Add(request.NewErrParamRequired("CustomAvailabilityZoneName"))
 17764  	}
 17765  
 17766  	if invalidParams.Len() > 0 {
 17767  		return invalidParams
 17768  	}
 17769  	return nil
 17770  }
 17771  
 17772  // SetCustomAvailabilityZoneName sets the CustomAvailabilityZoneName field's value.
 17773  func (s *CreateCustomAvailabilityZoneInput) SetCustomAvailabilityZoneName(v string) *CreateCustomAvailabilityZoneInput {
 17774  	s.CustomAvailabilityZoneName = &v
 17775  	return s
 17776  }
 17777  
 17778  // SetExistingVpnId sets the ExistingVpnId field's value.
 17779  func (s *CreateCustomAvailabilityZoneInput) SetExistingVpnId(v string) *CreateCustomAvailabilityZoneInput {
 17780  	s.ExistingVpnId = &v
 17781  	return s
 17782  }
 17783  
 17784  // SetNewVpnTunnelName sets the NewVpnTunnelName field's value.
 17785  func (s *CreateCustomAvailabilityZoneInput) SetNewVpnTunnelName(v string) *CreateCustomAvailabilityZoneInput {
 17786  	s.NewVpnTunnelName = &v
 17787  	return s
 17788  }
 17789  
 17790  // SetVpnTunnelOriginatorIP sets the VpnTunnelOriginatorIP field's value.
 17791  func (s *CreateCustomAvailabilityZoneInput) SetVpnTunnelOriginatorIP(v string) *CreateCustomAvailabilityZoneInput {
 17792  	s.VpnTunnelOriginatorIP = &v
 17793  	return s
 17794  }
 17795  
 17796  type CreateCustomAvailabilityZoneOutput struct {
 17797  	_ struct{} `type:"structure"`
 17798  
 17799  	// A custom Availability Zone (AZ) is an on-premises AZ that is integrated with
 17800  	// a VMware vSphere cluster.
 17801  	//
 17802  	// For more information about RDS on VMware, see the RDS on VMware User Guide.
 17803  	// (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html)
 17804  	CustomAvailabilityZone *CustomAvailabilityZone `type:"structure"`
 17805  }
 17806  
 17807  // String returns the string representation.
 17808  //
 17809  // API parameter values that are decorated as "sensitive" in the API will not
 17810  // be included in the string output. The member name will be present, but the
 17811  // value will be replaced with "sensitive".
 17812  func (s CreateCustomAvailabilityZoneOutput) String() string {
 17813  	return awsutil.Prettify(s)
 17814  }
 17815  
 17816  // GoString returns the string representation.
 17817  //
 17818  // API parameter values that are decorated as "sensitive" in the API will not
 17819  // be included in the string output. The member name will be present, but the
 17820  // value will be replaced with "sensitive".
 17821  func (s CreateCustomAvailabilityZoneOutput) GoString() string {
 17822  	return s.String()
 17823  }
 17824  
 17825  // SetCustomAvailabilityZone sets the CustomAvailabilityZone field's value.
 17826  func (s *CreateCustomAvailabilityZoneOutput) SetCustomAvailabilityZone(v *CustomAvailabilityZone) *CreateCustomAvailabilityZoneOutput {
 17827  	s.CustomAvailabilityZone = v
 17828  	return s
 17829  }
 17830  
 17831  type CreateDBClusterEndpointInput struct {
 17832  	_ struct{} `type:"structure"`
 17833  
 17834  	// The identifier to use for the new endpoint. This parameter is stored as a
 17835  	// lowercase string.
 17836  	//
 17837  	// DBClusterEndpointIdentifier is a required field
 17838  	DBClusterEndpointIdentifier *string `type:"string" required:"true"`
 17839  
 17840  	// The DB cluster identifier of the DB cluster associated with the endpoint.
 17841  	// This parameter is stored as a lowercase string.
 17842  	//
 17843  	// DBClusterIdentifier is a required field
 17844  	DBClusterIdentifier *string `type:"string" required:"true"`
 17845  
 17846  	// The type of the endpoint. One of: READER, WRITER, ANY.
 17847  	//
 17848  	// EndpointType is a required field
 17849  	EndpointType *string `type:"string" required:"true"`
 17850  
 17851  	// List of DB instance identifiers that aren't part of the custom endpoint group.
 17852  	// All other eligible instances are reachable through the custom endpoint. Only
 17853  	// relevant if the list of static members is empty.
 17854  	ExcludedMembers []*string `type:"list"`
 17855  
 17856  	// List of DB instance identifiers that are part of the custom endpoint group.
 17857  	StaticMembers []*string `type:"list"`
 17858  
 17859  	// The tags to be assigned to the Amazon RDS resource.
 17860  	Tags []*Tag `locationNameList:"Tag" type:"list"`
 17861  }
 17862  
 17863  // String returns the string representation.
 17864  //
 17865  // API parameter values that are decorated as "sensitive" in the API will not
 17866  // be included in the string output. The member name will be present, but the
 17867  // value will be replaced with "sensitive".
 17868  func (s CreateDBClusterEndpointInput) String() string {
 17869  	return awsutil.Prettify(s)
 17870  }
 17871  
 17872  // GoString returns the string representation.
 17873  //
 17874  // API parameter values that are decorated as "sensitive" in the API will not
 17875  // be included in the string output. The member name will be present, but the
 17876  // value will be replaced with "sensitive".
 17877  func (s CreateDBClusterEndpointInput) GoString() string {
 17878  	return s.String()
 17879  }
 17880  
 17881  // Validate inspects the fields of the type to determine if they are valid.
 17882  func (s *CreateDBClusterEndpointInput) Validate() error {
 17883  	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterEndpointInput"}
 17884  	if s.DBClusterEndpointIdentifier == nil {
 17885  		invalidParams.Add(request.NewErrParamRequired("DBClusterEndpointIdentifier"))
 17886  	}
 17887  	if s.DBClusterIdentifier == nil {
 17888  		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
 17889  	}
 17890  	if s.EndpointType == nil {
 17891  		invalidParams.Add(request.NewErrParamRequired("EndpointType"))
 17892  	}
 17893  
 17894  	if invalidParams.Len() > 0 {
 17895  		return invalidParams
 17896  	}
 17897  	return nil
 17898  }
 17899  
 17900  // SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
 17901  func (s *CreateDBClusterEndpointInput) SetDBClusterEndpointIdentifier(v string) *CreateDBClusterEndpointInput {
 17902  	s.DBClusterEndpointIdentifier = &v
 17903  	return s
 17904  }
 17905  
 17906  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 17907  func (s *CreateDBClusterEndpointInput) SetDBClusterIdentifier(v string) *CreateDBClusterEndpointInput {
 17908  	s.DBClusterIdentifier = &v
 17909  	return s
 17910  }
 17911  
 17912  // SetEndpointType sets the EndpointType field's value.
 17913  func (s *CreateDBClusterEndpointInput) SetEndpointType(v string) *CreateDBClusterEndpointInput {
 17914  	s.EndpointType = &v
 17915  	return s
 17916  }
 17917  
 17918  // SetExcludedMembers sets the ExcludedMembers field's value.
 17919  func (s *CreateDBClusterEndpointInput) SetExcludedMembers(v []*string) *CreateDBClusterEndpointInput {
 17920  	s.ExcludedMembers = v
 17921  	return s
 17922  }
 17923  
 17924  // SetStaticMembers sets the StaticMembers field's value.
 17925  func (s *CreateDBClusterEndpointInput) SetStaticMembers(v []*string) *CreateDBClusterEndpointInput {
 17926  	s.StaticMembers = v
 17927  	return s
 17928  }
 17929  
 17930  // SetTags sets the Tags field's value.
 17931  func (s *CreateDBClusterEndpointInput) SetTags(v []*Tag) *CreateDBClusterEndpointInput {
 17932  	s.Tags = v
 17933  	return s
 17934  }
 17935  
 17936  // This data type represents the information you need to connect to an Amazon
 17937  // Aurora DB cluster. This data type is used as a response element in the following
 17938  // actions:
 17939  //
 17940  //    * CreateDBClusterEndpoint
 17941  //
 17942  //    * DescribeDBClusterEndpoints
 17943  //
 17944  //    * ModifyDBClusterEndpoint
 17945  //
 17946  //    * DeleteDBClusterEndpoint
 17947  //
 17948  // For the data structure that represents Amazon RDS DB instance endpoints,
 17949  // see Endpoint.
 17950  type CreateDBClusterEndpointOutput struct {
 17951  	_ struct{} `type:"structure"`
 17952  
 17953  	// The type associated with a custom endpoint. One of: READER, WRITER, ANY.
 17954  	CustomEndpointType *string `type:"string"`
 17955  
 17956  	// The Amazon Resource Name (ARN) for the endpoint.
 17957  	DBClusterEndpointArn *string `type:"string"`
 17958  
 17959  	// The identifier associated with the endpoint. This parameter is stored as
 17960  	// a lowercase string.
 17961  	DBClusterEndpointIdentifier *string `type:"string"`
 17962  
 17963  	// A unique system-generated identifier for an endpoint. It remains the same
 17964  	// for the whole life of the endpoint.
 17965  	DBClusterEndpointResourceIdentifier *string `type:"string"`
 17966  
 17967  	// The DB cluster identifier of the DB cluster associated with the endpoint.
 17968  	// This parameter is stored as a lowercase string.
 17969  	DBClusterIdentifier *string `type:"string"`
 17970  
 17971  	// The DNS address of the endpoint.
 17972  	Endpoint *string `type:"string"`
 17973  
 17974  	// The type of the endpoint. One of: READER, WRITER, CUSTOM.
 17975  	EndpointType *string `type:"string"`
 17976  
 17977  	// List of DB instance identifiers that aren't part of the custom endpoint group.
 17978  	// All other eligible instances are reachable through the custom endpoint. Only
 17979  	// relevant if the list of static members is empty.
 17980  	ExcludedMembers []*string `type:"list"`
 17981  
 17982  	// List of DB instance identifiers that are part of the custom endpoint group.
 17983  	StaticMembers []*string `type:"list"`
 17984  
 17985  	// The current status of the endpoint. One of: creating, available, deleting,
 17986  	// inactive, modifying. The inactive state applies to an endpoint that can't
 17987  	// be used for a certain kind of cluster, such as a writer endpoint for a read-only
 17988  	// secondary cluster in a global database.
 17989  	Status *string `type:"string"`
 17990  }
 17991  
 17992  // String returns the string representation.
 17993  //
 17994  // API parameter values that are decorated as "sensitive" in the API will not
 17995  // be included in the string output. The member name will be present, but the
 17996  // value will be replaced with "sensitive".
 17997  func (s CreateDBClusterEndpointOutput) String() string {
 17998  	return awsutil.Prettify(s)
 17999  }
 18000  
 18001  // GoString returns the string representation.
 18002  //
 18003  // API parameter values that are decorated as "sensitive" in the API will not
 18004  // be included in the string output. The member name will be present, but the
 18005  // value will be replaced with "sensitive".
 18006  func (s CreateDBClusterEndpointOutput) GoString() string {
 18007  	return s.String()
 18008  }
 18009  
 18010  // SetCustomEndpointType sets the CustomEndpointType field's value.
 18011  func (s *CreateDBClusterEndpointOutput) SetCustomEndpointType(v string) *CreateDBClusterEndpointOutput {
 18012  	s.CustomEndpointType = &v
 18013  	return s
 18014  }
 18015  
 18016  // SetDBClusterEndpointArn sets the DBClusterEndpointArn field's value.
 18017  func (s *CreateDBClusterEndpointOutput) SetDBClusterEndpointArn(v string) *CreateDBClusterEndpointOutput {
 18018  	s.DBClusterEndpointArn = &v
 18019  	return s
 18020  }
 18021  
 18022  // SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
 18023  func (s *CreateDBClusterEndpointOutput) SetDBClusterEndpointIdentifier(v string) *CreateDBClusterEndpointOutput {
 18024  	s.DBClusterEndpointIdentifier = &v
 18025  	return s
 18026  }
 18027  
 18028  // SetDBClusterEndpointResourceIdentifier sets the DBClusterEndpointResourceIdentifier field's value.
 18029  func (s *CreateDBClusterEndpointOutput) SetDBClusterEndpointResourceIdentifier(v string) *CreateDBClusterEndpointOutput {
 18030  	s.DBClusterEndpointResourceIdentifier = &v
 18031  	return s
 18032  }
 18033  
 18034  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 18035  func (s *CreateDBClusterEndpointOutput) SetDBClusterIdentifier(v string) *CreateDBClusterEndpointOutput {
 18036  	s.DBClusterIdentifier = &v
 18037  	return s
 18038  }
 18039  
 18040  // SetEndpoint sets the Endpoint field's value.
 18041  func (s *CreateDBClusterEndpointOutput) SetEndpoint(v string) *CreateDBClusterEndpointOutput {
 18042  	s.Endpoint = &v
 18043  	return s
 18044  }
 18045  
 18046  // SetEndpointType sets the EndpointType field's value.
 18047  func (s *CreateDBClusterEndpointOutput) SetEndpointType(v string) *CreateDBClusterEndpointOutput {
 18048  	s.EndpointType = &v
 18049  	return s
 18050  }
 18051  
 18052  // SetExcludedMembers sets the ExcludedMembers field's value.
 18053  func (s *CreateDBClusterEndpointOutput) SetExcludedMembers(v []*string) *CreateDBClusterEndpointOutput {
 18054  	s.ExcludedMembers = v
 18055  	return s
 18056  }
 18057  
 18058  // SetStaticMembers sets the StaticMembers field's value.
 18059  func (s *CreateDBClusterEndpointOutput) SetStaticMembers(v []*string) *CreateDBClusterEndpointOutput {
 18060  	s.StaticMembers = v
 18061  	return s
 18062  }
 18063  
 18064  // SetStatus sets the Status field's value.
 18065  func (s *CreateDBClusterEndpointOutput) SetStatus(v string) *CreateDBClusterEndpointOutput {
 18066  	s.Status = &v
 18067  	return s
 18068  }
 18069  
 18070  type CreateDBClusterInput struct {
 18071  	_ struct{} `type:"structure"`
 18072  
 18073  	// A list of Availability Zones (AZs) where instances in the DB cluster can
 18074  	// be created. For information on Amazon Web Services Regions and Availability
 18075  	// Zones, see Choosing the Regions and Availability Zones (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.RegionsAndAvailabilityZones.html)
 18076  	// in the Amazon Aurora User Guide.
 18077  	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
 18078  
 18079  	// The target backtrack window, in seconds. To disable backtracking, set this
 18080  	// value to 0.
 18081  	//
 18082  	// Currently, Backtrack is only supported for Aurora MySQL DB clusters.
 18083  	//
 18084  	// Default: 0
 18085  	//
 18086  	// Constraints:
 18087  	//
 18088  	//    * If specified, this value must be set to a number from 0 to 259,200 (72
 18089  	//    hours).
 18090  	BacktrackWindow *int64 `type:"long"`
 18091  
 18092  	// The number of days for which automated backups are retained.
 18093  	//
 18094  	// Default: 1
 18095  	//
 18096  	// Constraints:
 18097  	//
 18098  	//    * Must be a value from 1 to 35
 18099  	BackupRetentionPeriod *int64 `type:"integer"`
 18100  
 18101  	// A value that indicates that the DB cluster should be associated with the
 18102  	// specified CharacterSet.
 18103  	CharacterSetName *string `type:"string"`
 18104  
 18105  	// A value that indicates whether to copy all tags from the DB cluster to snapshots
 18106  	// of the DB cluster. The default is not to copy them.
 18107  	CopyTagsToSnapshot *bool `type:"boolean"`
 18108  
 18109  	// The DB cluster identifier. This parameter is stored as a lowercase string.
 18110  	//
 18111  	// Constraints:
 18112  	//
 18113  	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
 18114  	//
 18115  	//    * First character must be a letter.
 18116  	//
 18117  	//    * Can't end with a hyphen or contain two consecutive hyphens.
 18118  	//
 18119  	// Example: my-cluster1
 18120  	//
 18121  	// DBClusterIdentifier is a required field
 18122  	DBClusterIdentifier *string `type:"string" required:"true"`
 18123  
 18124  	// The name of the DB cluster parameter group to associate with this DB cluster.
 18125  	// If you do not specify a value, then the default DB cluster parameter group
 18126  	// for the specified DB engine and version is used.
 18127  	//
 18128  	// Constraints:
 18129  	//
 18130  	//    * If supplied, must match the name of an existing DB cluster parameter
 18131  	//    group.
 18132  	DBClusterParameterGroupName *string `type:"string"`
 18133  
 18134  	// A DB subnet group to associate with this DB cluster.
 18135  	//
 18136  	// Constraints: Must match the name of an existing DBSubnetGroup. Must not be
 18137  	// default.
 18138  	//
 18139  	// Example: mySubnetgroup
 18140  	DBSubnetGroupName *string `type:"string"`
 18141  
 18142  	// The name for your database of up to 64 alphanumeric characters. If you do
 18143  	// not provide a name, Amazon RDS doesn't create a database in the DB cluster
 18144  	// you are creating.
 18145  	DatabaseName *string `type:"string"`
 18146  
 18147  	// A value that indicates whether the DB cluster has deletion protection enabled.
 18148  	// The database can't be deleted when deletion protection is enabled. By default,
 18149  	// deletion protection is disabled.
 18150  	DeletionProtection *bool `type:"boolean"`
 18151  
 18152  	// DestinationRegion is used for presigning the request to a given region.
 18153  	DestinationRegion *string `type:"string"`
 18154  
 18155  	// The Active Directory directory ID to create the DB cluster in.
 18156  	//
 18157  	// For Amazon Aurora DB clusters, Amazon RDS can use Kerberos Authentication
 18158  	// to authenticate users that connect to the DB cluster. For more information,
 18159  	// see Kerberos Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/kerberos-authentication.html)
 18160  	// in the Amazon Aurora User Guide.
 18161  	Domain *string `type:"string"`
 18162  
 18163  	// Specify the name of the IAM role to be used when making API calls to the
 18164  	// Directory Service.
 18165  	DomainIAMRoleName *string `type:"string"`
 18166  
 18167  	// The list of log types that need to be enabled for exporting to CloudWatch
 18168  	// Logs. The values in the list depend on the DB engine being used. For more
 18169  	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
 18170  	// in the Amazon Aurora User Guide.
 18171  	//
 18172  	// Aurora MySQL
 18173  	//
 18174  	// Possible values are audit, error, general, and slowquery.
 18175  	//
 18176  	// Aurora PostgreSQL
 18177  	//
 18178  	// Possible value is postgresql.
 18179  	EnableCloudwatchLogsExports []*string `type:"list"`
 18180  
 18181  	// A value that indicates whether to enable this DB cluster to forward write
 18182  	// operations to the primary cluster of an Aurora global database (GlobalCluster).
 18183  	// By default, write operations are not allowed on Aurora DB clusters that are
 18184  	// secondary clusters in an Aurora global database.
 18185  	//
 18186  	// You can set this value only on Aurora DB clusters that are members of an
 18187  	// Aurora global database. With this parameter enabled, a secondary cluster
 18188  	// can forward writes to the current primary cluster and the resulting changes
 18189  	// are replicated back to this cluster. For the primary DB cluster of an Aurora
 18190  	// global database, this value is used immediately if the primary is demoted
 18191  	// by the FailoverGlobalCluster API operation, but it does nothing until then.
 18192  	EnableGlobalWriteForwarding *bool `type:"boolean"`
 18193  
 18194  	// A value that indicates whether to enable the HTTP endpoint for an Aurora
 18195  	// Serverless DB cluster. By default, the HTTP endpoint is disabled.
 18196  	//
 18197  	// When enabled, the HTTP endpoint provides a connectionless web service API
 18198  	// for running SQL queries on the Aurora Serverless DB cluster. You can also
 18199  	// query your database from inside the RDS console with the query editor.
 18200  	//
 18201  	// For more information, see Using the Data API for Aurora Serverless (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html)
 18202  	// in the Amazon Aurora User Guide.
 18203  	EnableHttpEndpoint *bool `type:"boolean"`
 18204  
 18205  	// A value that indicates whether to enable mapping of Amazon Web Services Identity
 18206  	// and Access Management (IAM) accounts to database accounts. By default, mapping
 18207  	// is disabled.
 18208  	//
 18209  	// For more information, see IAM Database Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html)
 18210  	// in the Amazon Aurora User Guide.
 18211  	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
 18212  
 18213  	// The name of the database engine to be used for this DB cluster.
 18214  	//
 18215  	// Valid Values: aurora (for MySQL 5.6-compatible Aurora), aurora-mysql (for
 18216  	// MySQL 5.7-compatible Aurora), and aurora-postgresql
 18217  	//
 18218  	// Engine is a required field
 18219  	Engine *string `type:"string" required:"true"`
 18220  
 18221  	// The DB engine mode of the DB cluster, either provisioned, serverless, parallelquery,
 18222  	// global, or multimaster.
 18223  	//
 18224  	// The parallelquery engine mode isn't required for Aurora MySQL version 1.23
 18225  	// and higher 1.x versions, and version 2.09 and higher 2.x versions.
 18226  	//
 18227  	// The global engine mode isn't required for Aurora MySQL version 1.22 and higher
 18228  	// 1.x versions, and global engine mode isn't required for any 2.x versions.
 18229  	//
 18230  	// The multimaster engine mode only applies for DB clusters created with Aurora
 18231  	// MySQL version 5.6.10a.
 18232  	//
 18233  	// For Aurora PostgreSQL, the global engine mode isn't required, and both the
 18234  	// parallelquery and the multimaster engine modes currently aren't supported.
 18235  	//
 18236  	// Limitations and requirements apply to some DB engine modes. For more information,
 18237  	// see the following sections in the Amazon Aurora User Guide:
 18238  	//
 18239  	//    * Limitations of Aurora Serverless (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html#aurora-serverless.limitations)
 18240  	//
 18241  	//    * Limitations of Parallel Query (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-mysql-parallel-query.html#aurora-mysql-parallel-query-limitations)
 18242  	//
 18243  	//    * Limitations of Aurora Global Databases (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html#aurora-global-database.limitations)
 18244  	//
 18245  	//    * Limitations of Multi-Master Clusters (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-multi-master.html#aurora-multi-master-limitations)
 18246  	EngineMode *string `type:"string"`
 18247  
 18248  	// The version number of the database engine to use.
 18249  	//
 18250  	// To list all of the available engine versions for aurora (for MySQL 5.6-compatible
 18251  	// Aurora), use the following command:
 18252  	//
 18253  	// aws rds describe-db-engine-versions --engine aurora --query "DBEngineVersions[].EngineVersion"
 18254  	//
 18255  	// To list all of the available engine versions for aurora-mysql (for MySQL
 18256  	// 5.7-compatible Aurora), use the following command:
 18257  	//
 18258  	// aws rds describe-db-engine-versions --engine aurora-mysql --query "DBEngineVersions[].EngineVersion"
 18259  	//
 18260  	// To list all of the available engine versions for aurora-postgresql, use the
 18261  	// following command:
 18262  	//
 18263  	// aws rds describe-db-engine-versions --engine aurora-postgresql --query "DBEngineVersions[].EngineVersion"
 18264  	//
 18265  	// Aurora MySQL
 18266  	//
 18267  	// Example: 5.6.10a, 5.6.mysql_aurora.1.19.2, 5.7.12, 5.7.mysql_aurora.2.04.5
 18268  	//
 18269  	// Aurora PostgreSQL
 18270  	//
 18271  	// Example: 9.6.3, 10.7
 18272  	EngineVersion *string `type:"string"`
 18273  
 18274  	// The global cluster ID of an Aurora cluster that becomes the primary cluster
 18275  	// in the new global database cluster.
 18276  	GlobalClusterIdentifier *string `type:"string"`
 18277  
 18278  	// The Amazon Web Services KMS key identifier for an encrypted DB cluster.
 18279  	//
 18280  	// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
 18281  	// ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).
 18282  	// To use a CMK in a different Amazon Web Services account, specify the key
 18283  	// ARN or alias ARN.
 18284  	//
 18285  	// When a CMK isn't specified in KmsKeyId:
 18286  	//
 18287  	//    * If ReplicationSourceIdentifier identifies an encrypted source, then
 18288  	//    Amazon RDS will use the CMK used to encrypt the source. Otherwise, Amazon
 18289  	//    RDS will use your default CMK.
 18290  	//
 18291  	//    * If the StorageEncrypted parameter is enabled and ReplicationSourceIdentifier
 18292  	//    isn't specified, then Amazon RDS will use your default CMK.
 18293  	//
 18294  	// There is a default CMK for your Amazon Web Services account. Your Amazon
 18295  	// Web Services account has a different default CMK for each Amazon Web Services
 18296  	// Region.
 18297  	//
 18298  	// If you create a read replica of an encrypted DB cluster in another Amazon
 18299  	// Web Services Region, you must set KmsKeyId to a Amazon Web Services KMS key
 18300  	// identifier that is valid in the destination Amazon Web Services Region. This
 18301  	// CMK is used to encrypt the read replica in that Amazon Web Services Region.
 18302  	KmsKeyId *string `type:"string"`
 18303  
 18304  	// The password for the master database user. This password can contain any
 18305  	// printable ASCII character except "/", """, or "@".
 18306  	//
 18307  	// Constraints: Must contain from 8 to 41 characters.
 18308  	MasterUserPassword *string `type:"string"`
 18309  
 18310  	// The name of the master user for the DB cluster.
 18311  	//
 18312  	// Constraints:
 18313  	//
 18314  	//    * Must be 1 to 16 letters or numbers.
 18315  	//
 18316  	//    * First character must be a letter.
 18317  	//
 18318  	//    * Can't be a reserved word for the chosen database engine.
 18319  	MasterUsername *string `type:"string"`
 18320  
 18321  	// A value that indicates that the DB cluster should be associated with the
 18322  	// specified option group.
 18323  	//
 18324  	// Permanent options can't be removed from an option group. The option group
 18325  	// can't be removed from a DB cluster once it is associated with a DB cluster.
 18326  	OptionGroupName *string `type:"string"`
 18327  
 18328  	// The port number on which the instances in the DB cluster accept connections.
 18329  	//
 18330  	// Default: 3306 if engine is set as aurora or 5432 if set to aurora-postgresql.
 18331  	Port *int64 `type:"integer"`
 18332  
 18333  	// A URL that contains a Signature Version 4 signed request for the CreateDBCluster
 18334  	// action to be called in the source Amazon Web Services Region where the DB
 18335  	// cluster is replicated from. You only need to specify PreSignedUrl when you
 18336  	// are performing cross-region replication from an encrypted DB cluster.
 18337  	//
 18338  	// The pre-signed URL must be a valid request for the CreateDBCluster API action
 18339  	// that can be executed in the source Amazon Web Services Region that contains
 18340  	// the encrypted DB cluster to be copied.
 18341  	//
 18342  	// The pre-signed URL request must contain the following parameter values:
 18343  	//
 18344  	//    * KmsKeyId - The Amazon Web Services KMS key identifier for the key to
 18345  	//    use to encrypt the copy of the DB cluster in the destination Amazon Web
 18346  	//    Services Region. This should refer to the same Amazon Web Services KMS
 18347  	//    CMK for both the CreateDBCluster action that is called in the destination
 18348  	//    Amazon Web Services Region, and the action contained in the pre-signed
 18349  	//    URL.
 18350  	//
 18351  	//    * DestinationRegion - The name of the Amazon Web Services Region that
 18352  	//    Aurora read replica will be created in.
 18353  	//
 18354  	//    * ReplicationSourceIdentifier - The DB cluster identifier for the encrypted
 18355  	//    DB cluster to be copied. This identifier must be in the Amazon Resource
 18356  	//    Name (ARN) format for the source Amazon Web Services Region. For example,
 18357  	//    if you are copying an encrypted DB cluster from the us-west-2 Amazon Web
 18358  	//    Services Region, then your ReplicationSourceIdentifier would look like
 18359  	//    Example: arn:aws:rds:us-west-2:123456789012:cluster:aurora-cluster1.
 18360  	//
 18361  	// To learn how to generate a Signature Version 4 signed request, see Authenticating
 18362  	// Requests: Using Query Parameters (Amazon Web Services Signature Version 4)
 18363  	// (https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
 18364  	// and Signature Version 4 Signing Process (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
 18365  	//
 18366  	// If you are using an Amazon Web Services SDK tool or the CLI, you can specify
 18367  	// SourceRegion (or --source-region for the CLI) instead of specifying PreSignedUrl
 18368  	// manually. Specifying SourceRegion autogenerates a pre-signed URL that is
 18369  	// a valid request for the operation that can be executed in the source Amazon
 18370  	// Web Services Region.
 18371  	PreSignedUrl *string `type:"string"`
 18372  
 18373  	// The daily time range during which automated backups are created if automated
 18374  	// backups are enabled using the BackupRetentionPeriod parameter.
 18375  	//
 18376  	// The default is a 30-minute window selected at random from an 8-hour block
 18377  	// of time for each Amazon Web Services Region. To view the time blocks available,
 18378  	// see Backup window (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Managing.Backups.html#Aurora.Managing.Backups.BackupWindow)
 18379  	// in the Amazon Aurora User Guide.
 18380  	//
 18381  	// Constraints:
 18382  	//
 18383  	//    * Must be in the format hh24:mi-hh24:mi.
 18384  	//
 18385  	//    * Must be in Universal Coordinated Time (UTC).
 18386  	//
 18387  	//    * Must not conflict with the preferred maintenance window.
 18388  	//
 18389  	//    * Must be at least 30 minutes.
 18390  	PreferredBackupWindow *string `type:"string"`
 18391  
 18392  	// The weekly time range during which system maintenance can occur, in Universal
 18393  	// Coordinated Time (UTC).
 18394  	//
 18395  	// Format: ddd:hh24:mi-ddd:hh24:mi
 18396  	//
 18397  	// The default is a 30-minute window selected at random from an 8-hour block
 18398  	// of time for each Amazon Web Services Region, occurring on a random day of
 18399  	// the week. To see the time blocks available, see Adjusting the Preferred DB
 18400  	// Cluster Maintenance Window (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora)
 18401  	// in the Amazon Aurora User Guide.
 18402  	//
 18403  	// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
 18404  	//
 18405  	// Constraints: Minimum 30-minute window.
 18406  	PreferredMaintenanceWindow *string `type:"string"`
 18407  
 18408  	// The Amazon Resource Name (ARN) of the source DB instance or DB cluster if
 18409  	// this DB cluster is created as a read replica.
 18410  	ReplicationSourceIdentifier *string `type:"string"`
 18411  
 18412  	// For DB clusters in serverless DB engine mode, the scaling properties of the
 18413  	// DB cluster.
 18414  	ScalingConfiguration *ScalingConfiguration `type:"structure"`
 18415  
 18416  	// SourceRegion is the source region where the resource exists. This is not
 18417  	// sent over the wire and is only used for presigning. This value should always
 18418  	// have the same region as the source ARN.
 18419  	SourceRegion *string `type:"string" ignore:"true"`
 18420  
 18421  	// A value that indicates whether the DB cluster is encrypted.
 18422  	StorageEncrypted *bool `type:"boolean"`
 18423  
 18424  	// Tags to assign to the DB cluster.
 18425  	Tags []*Tag `locationNameList:"Tag" type:"list"`
 18426  
 18427  	// A list of EC2 VPC security groups to associate with this DB cluster.
 18428  	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
 18429  }
 18430  
 18431  // String returns the string representation.
 18432  //
 18433  // API parameter values that are decorated as "sensitive" in the API will not
 18434  // be included in the string output. The member name will be present, but the
 18435  // value will be replaced with "sensitive".
 18436  func (s CreateDBClusterInput) String() string {
 18437  	return awsutil.Prettify(s)
 18438  }
 18439  
 18440  // GoString returns the string representation.
 18441  //
 18442  // API parameter values that are decorated as "sensitive" in the API will not
 18443  // be included in the string output. The member name will be present, but the
 18444  // value will be replaced with "sensitive".
 18445  func (s CreateDBClusterInput) GoString() string {
 18446  	return s.String()
 18447  }
 18448  
 18449  // Validate inspects the fields of the type to determine if they are valid.
 18450  func (s *CreateDBClusterInput) Validate() error {
 18451  	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterInput"}
 18452  	if s.DBClusterIdentifier == nil {
 18453  		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
 18454  	}
 18455  	if s.Engine == nil {
 18456  		invalidParams.Add(request.NewErrParamRequired("Engine"))
 18457  	}
 18458  
 18459  	if invalidParams.Len() > 0 {
 18460  		return invalidParams
 18461  	}
 18462  	return nil
 18463  }
 18464  
 18465  // SetAvailabilityZones sets the AvailabilityZones field's value.
 18466  func (s *CreateDBClusterInput) SetAvailabilityZones(v []*string) *CreateDBClusterInput {
 18467  	s.AvailabilityZones = v
 18468  	return s
 18469  }
 18470  
 18471  // SetBacktrackWindow sets the BacktrackWindow field's value.
 18472  func (s *CreateDBClusterInput) SetBacktrackWindow(v int64) *CreateDBClusterInput {
 18473  	s.BacktrackWindow = &v
 18474  	return s
 18475  }
 18476  
 18477  // SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
 18478  func (s *CreateDBClusterInput) SetBackupRetentionPeriod(v int64) *CreateDBClusterInput {
 18479  	s.BackupRetentionPeriod = &v
 18480  	return s
 18481  }
 18482  
 18483  // SetCharacterSetName sets the CharacterSetName field's value.
 18484  func (s *CreateDBClusterInput) SetCharacterSetName(v string) *CreateDBClusterInput {
 18485  	s.CharacterSetName = &v
 18486  	return s
 18487  }
 18488  
 18489  // SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
 18490  func (s *CreateDBClusterInput) SetCopyTagsToSnapshot(v bool) *CreateDBClusterInput {
 18491  	s.CopyTagsToSnapshot = &v
 18492  	return s
 18493  }
 18494  
 18495  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 18496  func (s *CreateDBClusterInput) SetDBClusterIdentifier(v string) *CreateDBClusterInput {
 18497  	s.DBClusterIdentifier = &v
 18498  	return s
 18499  }
 18500  
 18501  // SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
 18502  func (s *CreateDBClusterInput) SetDBClusterParameterGroupName(v string) *CreateDBClusterInput {
 18503  	s.DBClusterParameterGroupName = &v
 18504  	return s
 18505  }
 18506  
 18507  // SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
 18508  func (s *CreateDBClusterInput) SetDBSubnetGroupName(v string) *CreateDBClusterInput {
 18509  	s.DBSubnetGroupName = &v
 18510  	return s
 18511  }
 18512  
 18513  // SetDatabaseName sets the DatabaseName field's value.
 18514  func (s *CreateDBClusterInput) SetDatabaseName(v string) *CreateDBClusterInput {
 18515  	s.DatabaseName = &v
 18516  	return s
 18517  }
 18518  
 18519  // SetDeletionProtection sets the DeletionProtection field's value.
 18520  func (s *CreateDBClusterInput) SetDeletionProtection(v bool) *CreateDBClusterInput {
 18521  	s.DeletionProtection = &v
 18522  	return s
 18523  }
 18524  
 18525  // SetDestinationRegion sets the DestinationRegion field's value.
 18526  func (s *CreateDBClusterInput) SetDestinationRegion(v string) *CreateDBClusterInput {
 18527  	s.DestinationRegion = &v
 18528  	return s
 18529  }
 18530  
 18531  // SetDomain sets the Domain field's value.
 18532  func (s *CreateDBClusterInput) SetDomain(v string) *CreateDBClusterInput {
 18533  	s.Domain = &v
 18534  	return s
 18535  }
 18536  
 18537  // SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
 18538  func (s *CreateDBClusterInput) SetDomainIAMRoleName(v string) *CreateDBClusterInput {
 18539  	s.DomainIAMRoleName = &v
 18540  	return s
 18541  }
 18542  
 18543  // SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
 18544  func (s *CreateDBClusterInput) SetEnableCloudwatchLogsExports(v []*string) *CreateDBClusterInput {
 18545  	s.EnableCloudwatchLogsExports = v
 18546  	return s
 18547  }
 18548  
 18549  // SetEnableGlobalWriteForwarding sets the EnableGlobalWriteForwarding field's value.
 18550  func (s *CreateDBClusterInput) SetEnableGlobalWriteForwarding(v bool) *CreateDBClusterInput {
 18551  	s.EnableGlobalWriteForwarding = &v
 18552  	return s
 18553  }
 18554  
 18555  // SetEnableHttpEndpoint sets the EnableHttpEndpoint field's value.
 18556  func (s *CreateDBClusterInput) SetEnableHttpEndpoint(v bool) *CreateDBClusterInput {
 18557  	s.EnableHttpEndpoint = &v
 18558  	return s
 18559  }
 18560  
 18561  // SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
 18562  func (s *CreateDBClusterInput) SetEnableIAMDatabaseAuthentication(v bool) *CreateDBClusterInput {
 18563  	s.EnableIAMDatabaseAuthentication = &v
 18564  	return s
 18565  }
 18566  
 18567  // SetEngine sets the Engine field's value.
 18568  func (s *CreateDBClusterInput) SetEngine(v string) *CreateDBClusterInput {
 18569  	s.Engine = &v
 18570  	return s
 18571  }
 18572  
 18573  // SetEngineMode sets the EngineMode field's value.
 18574  func (s *CreateDBClusterInput) SetEngineMode(v string) *CreateDBClusterInput {
 18575  	s.EngineMode = &v
 18576  	return s
 18577  }
 18578  
 18579  // SetEngineVersion sets the EngineVersion field's value.
 18580  func (s *CreateDBClusterInput) SetEngineVersion(v string) *CreateDBClusterInput {
 18581  	s.EngineVersion = &v
 18582  	return s
 18583  }
 18584  
 18585  // SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
 18586  func (s *CreateDBClusterInput) SetGlobalClusterIdentifier(v string) *CreateDBClusterInput {
 18587  	s.GlobalClusterIdentifier = &v
 18588  	return s
 18589  }
 18590  
 18591  // SetKmsKeyId sets the KmsKeyId field's value.
 18592  func (s *CreateDBClusterInput) SetKmsKeyId(v string) *CreateDBClusterInput {
 18593  	s.KmsKeyId = &v
 18594  	return s
 18595  }
 18596  
 18597  // SetMasterUserPassword sets the MasterUserPassword field's value.
 18598  func (s *CreateDBClusterInput) SetMasterUserPassword(v string) *CreateDBClusterInput {
 18599  	s.MasterUserPassword = &v
 18600  	return s
 18601  }
 18602  
 18603  // SetMasterUsername sets the MasterUsername field's value.
 18604  func (s *CreateDBClusterInput) SetMasterUsername(v string) *CreateDBClusterInput {
 18605  	s.MasterUsername = &v
 18606  	return s
 18607  }
 18608  
 18609  // SetOptionGroupName sets the OptionGroupName field's value.
 18610  func (s *CreateDBClusterInput) SetOptionGroupName(v string) *CreateDBClusterInput {
 18611  	s.OptionGroupName = &v
 18612  	return s
 18613  }
 18614  
 18615  // SetPort sets the Port field's value.
 18616  func (s *CreateDBClusterInput) SetPort(v int64) *CreateDBClusterInput {
 18617  	s.Port = &v
 18618  	return s
 18619  }
 18620  
 18621  // SetPreSignedUrl sets the PreSignedUrl field's value.
 18622  func (s *CreateDBClusterInput) SetPreSignedUrl(v string) *CreateDBClusterInput {
 18623  	s.PreSignedUrl = &v
 18624  	return s
 18625  }
 18626  
 18627  // SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
 18628  func (s *CreateDBClusterInput) SetPreferredBackupWindow(v string) *CreateDBClusterInput {
 18629  	s.PreferredBackupWindow = &v
 18630  	return s
 18631  }
 18632  
 18633  // SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
 18634  func (s *CreateDBClusterInput) SetPreferredMaintenanceWindow(v string) *CreateDBClusterInput {
 18635  	s.PreferredMaintenanceWindow = &v
 18636  	return s
 18637  }
 18638  
 18639  // SetReplicationSourceIdentifier sets the ReplicationSourceIdentifier field's value.
 18640  func (s *CreateDBClusterInput) SetReplicationSourceIdentifier(v string) *CreateDBClusterInput {
 18641  	s.ReplicationSourceIdentifier = &v
 18642  	return s
 18643  }
 18644  
 18645  // SetScalingConfiguration sets the ScalingConfiguration field's value.
 18646  func (s *CreateDBClusterInput) SetScalingConfiguration(v *ScalingConfiguration) *CreateDBClusterInput {
 18647  	s.ScalingConfiguration = v
 18648  	return s
 18649  }
 18650  
 18651  // SetSourceRegion sets the SourceRegion field's value.
 18652  func (s *CreateDBClusterInput) SetSourceRegion(v string) *CreateDBClusterInput {
 18653  	s.SourceRegion = &v
 18654  	return s
 18655  }
 18656  
 18657  // SetStorageEncrypted sets the StorageEncrypted field's value.
 18658  func (s *CreateDBClusterInput) SetStorageEncrypted(v bool) *CreateDBClusterInput {
 18659  	s.StorageEncrypted = &v
 18660  	return s
 18661  }
 18662  
 18663  // SetTags sets the Tags field's value.
 18664  func (s *CreateDBClusterInput) SetTags(v []*Tag) *CreateDBClusterInput {
 18665  	s.Tags = v
 18666  	return s
 18667  }
 18668  
 18669  // SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
 18670  func (s *CreateDBClusterInput) SetVpcSecurityGroupIds(v []*string) *CreateDBClusterInput {
 18671  	s.VpcSecurityGroupIds = v
 18672  	return s
 18673  }
 18674  
 18675  type CreateDBClusterOutput struct {
 18676  	_ struct{} `type:"structure"`
 18677  
 18678  	// Contains the details of an Amazon Aurora DB cluster.
 18679  	//
 18680  	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
 18681  	// and StartDBCluster actions.
 18682  	DBCluster *DBCluster `type:"structure"`
 18683  }
 18684  
 18685  // String returns the string representation.
 18686  //
 18687  // API parameter values that are decorated as "sensitive" in the API will not
 18688  // be included in the string output. The member name will be present, but the
 18689  // value will be replaced with "sensitive".
 18690  func (s CreateDBClusterOutput) String() string {
 18691  	return awsutil.Prettify(s)
 18692  }
 18693  
 18694  // GoString returns the string representation.
 18695  //
 18696  // API parameter values that are decorated as "sensitive" in the API will not
 18697  // be included in the string output. The member name will be present, but the
 18698  // value will be replaced with "sensitive".
 18699  func (s CreateDBClusterOutput) GoString() string {
 18700  	return s.String()
 18701  }
 18702  
 18703  // SetDBCluster sets the DBCluster field's value.
 18704  func (s *CreateDBClusterOutput) SetDBCluster(v *DBCluster) *CreateDBClusterOutput {
 18705  	s.DBCluster = v
 18706  	return s
 18707  }
 18708  
 18709  type CreateDBClusterParameterGroupInput struct {
 18710  	_ struct{} `type:"structure"`
 18711  
 18712  	// The name of the DB cluster parameter group.
 18713  	//
 18714  	// Constraints:
 18715  	//
 18716  	//    * Must match the name of an existing DB cluster parameter group.
 18717  	//
 18718  	// This value is stored as a lowercase string.
 18719  	//
 18720  	// DBClusterParameterGroupName is a required field
 18721  	DBClusterParameterGroupName *string `type:"string" required:"true"`
 18722  
 18723  	// The DB cluster parameter group family name. A DB cluster parameter group
 18724  	// can be associated with one and only one DB cluster parameter group family,
 18725  	// and can be applied only to a DB cluster running a database engine and engine
 18726  	// version compatible with that DB cluster parameter group family.
 18727  	//
 18728  	// Aurora MySQL
 18729  	//
 18730  	// Example: aurora5.6, aurora-mysql5.7
 18731  	//
 18732  	// Aurora PostgreSQL
 18733  	//
 18734  	// Example: aurora-postgresql9.6
 18735  	//
 18736  	// To list all of the available parameter group families for a DB engine, use
 18737  	// the following command:
 18738  	//
 18739  	// aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily"
 18740  	// --engine <engine>
 18741  	//
 18742  	// For example, to list all of the available parameter group families for the
 18743  	// Aurora PostgreSQL DB engine, use the following command:
 18744  	//
 18745  	// aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily"
 18746  	// --engine aurora-postgresql
 18747  	//
 18748  	// The output contains duplicates.
 18749  	//
 18750  	// The following are the valid DB engine values:
 18751  	//
 18752  	//    * aurora (for MySQL 5.6-compatible Aurora)
 18753  	//
 18754  	//    * aurora-mysql (for MySQL 5.7-compatible Aurora)
 18755  	//
 18756  	//    * aurora-postgresql
 18757  	//
 18758  	// DBParameterGroupFamily is a required field
 18759  	DBParameterGroupFamily *string `type:"string" required:"true"`
 18760  
 18761  	// The description for the DB cluster parameter group.
 18762  	//
 18763  	// Description is a required field
 18764  	Description *string `type:"string" required:"true"`
 18765  
 18766  	// Tags to assign to the DB cluster parameter group.
 18767  	Tags []*Tag `locationNameList:"Tag" type:"list"`
 18768  }
 18769  
 18770  // String returns the string representation.
 18771  //
 18772  // API parameter values that are decorated as "sensitive" in the API will not
 18773  // be included in the string output. The member name will be present, but the
 18774  // value will be replaced with "sensitive".
 18775  func (s CreateDBClusterParameterGroupInput) String() string {
 18776  	return awsutil.Prettify(s)
 18777  }
 18778  
 18779  // GoString returns the string representation.
 18780  //
 18781  // API parameter values that are decorated as "sensitive" in the API will not
 18782  // be included in the string output. The member name will be present, but the
 18783  // value will be replaced with "sensitive".
 18784  func (s CreateDBClusterParameterGroupInput) GoString() string {
 18785  	return s.String()
 18786  }
 18787  
 18788  // Validate inspects the fields of the type to determine if they are valid.
 18789  func (s *CreateDBClusterParameterGroupInput) Validate() error {
 18790  	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterParameterGroupInput"}
 18791  	if s.DBClusterParameterGroupName == nil {
 18792  		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
 18793  	}
 18794  	if s.DBParameterGroupFamily == nil {
 18795  		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
 18796  	}
 18797  	if s.Description == nil {
 18798  		invalidParams.Add(request.NewErrParamRequired("Description"))
 18799  	}
 18800  
 18801  	if invalidParams.Len() > 0 {
 18802  		return invalidParams
 18803  	}
 18804  	return nil
 18805  }
 18806  
 18807  // SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
 18808  func (s *CreateDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *CreateDBClusterParameterGroupInput {
 18809  	s.DBClusterParameterGroupName = &v
 18810  	return s
 18811  }
 18812  
 18813  // SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
 18814  func (s *CreateDBClusterParameterGroupInput) SetDBParameterGroupFamily(v string) *CreateDBClusterParameterGroupInput {
 18815  	s.DBParameterGroupFamily = &v
 18816  	return s
 18817  }
 18818  
 18819  // SetDescription sets the Description field's value.
 18820  func (s *CreateDBClusterParameterGroupInput) SetDescription(v string) *CreateDBClusterParameterGroupInput {
 18821  	s.Description = &v
 18822  	return s
 18823  }
 18824  
 18825  // SetTags sets the Tags field's value.
 18826  func (s *CreateDBClusterParameterGroupInput) SetTags(v []*Tag) *CreateDBClusterParameterGroupInput {
 18827  	s.Tags = v
 18828  	return s
 18829  }
 18830  
 18831  type CreateDBClusterParameterGroupOutput struct {
 18832  	_ struct{} `type:"structure"`
 18833  
 18834  	// Contains the details of an Amazon RDS DB cluster parameter group.
 18835  	//
 18836  	// This data type is used as a response element in the DescribeDBClusterParameterGroups
 18837  	// action.
 18838  	DBClusterParameterGroup *DBClusterParameterGroup `type:"structure"`
 18839  }
 18840  
 18841  // String returns the string representation.
 18842  //
 18843  // API parameter values that are decorated as "sensitive" in the API will not
 18844  // be included in the string output. The member name will be present, but the
 18845  // value will be replaced with "sensitive".
 18846  func (s CreateDBClusterParameterGroupOutput) String() string {
 18847  	return awsutil.Prettify(s)
 18848  }
 18849  
 18850  // GoString returns the string representation.
 18851  //
 18852  // API parameter values that are decorated as "sensitive" in the API will not
 18853  // be included in the string output. The member name will be present, but the
 18854  // value will be replaced with "sensitive".
 18855  func (s CreateDBClusterParameterGroupOutput) GoString() string {
 18856  	return s.String()
 18857  }
 18858  
 18859  // SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
 18860  func (s *CreateDBClusterParameterGroupOutput) SetDBClusterParameterGroup(v *DBClusterParameterGroup) *CreateDBClusterParameterGroupOutput {
 18861  	s.DBClusterParameterGroup = v
 18862  	return s
 18863  }
 18864  
 18865  type CreateDBClusterSnapshotInput struct {
 18866  	_ struct{} `type:"structure"`
 18867  
 18868  	// The identifier of the DB cluster to create a snapshot for. This parameter
 18869  	// isn't case-sensitive.
 18870  	//
 18871  	// Constraints:
 18872  	//
 18873  	//    * Must match the identifier of an existing DBCluster.
 18874  	//
 18875  	// Example: my-cluster1
 18876  	//
 18877  	// DBClusterIdentifier is a required field
 18878  	DBClusterIdentifier *string `type:"string" required:"true"`
 18879  
 18880  	// The identifier of the DB cluster snapshot. This parameter is stored as a
 18881  	// lowercase string.
 18882  	//
 18883  	// Constraints:
 18884  	//
 18885  	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
 18886  	//
 18887  	//    * First character must be a letter.
 18888  	//
 18889  	//    * Can't end with a hyphen or contain two consecutive hyphens.
 18890  	//
 18891  	// Example: my-cluster1-snapshot1
 18892  	//
 18893  	// DBClusterSnapshotIdentifier is a required field
 18894  	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
 18895  
 18896  	// The tags to be assigned to the DB cluster snapshot.
 18897  	Tags []*Tag `locationNameList:"Tag" type:"list"`
 18898  }
 18899  
 18900  // String returns the string representation.
 18901  //
 18902  // API parameter values that are decorated as "sensitive" in the API will not
 18903  // be included in the string output. The member name will be present, but the
 18904  // value will be replaced with "sensitive".
 18905  func (s CreateDBClusterSnapshotInput) String() string {
 18906  	return awsutil.Prettify(s)
 18907  }
 18908  
 18909  // GoString returns the string representation.
 18910  //
 18911  // API parameter values that are decorated as "sensitive" in the API will not
 18912  // be included in the string output. The member name will be present, but the
 18913  // value will be replaced with "sensitive".
 18914  func (s CreateDBClusterSnapshotInput) GoString() string {
 18915  	return s.String()
 18916  }
 18917  
 18918  // Validate inspects the fields of the type to determine if they are valid.
 18919  func (s *CreateDBClusterSnapshotInput) Validate() error {
 18920  	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterSnapshotInput"}
 18921  	if s.DBClusterIdentifier == nil {
 18922  		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
 18923  	}
 18924  	if s.DBClusterSnapshotIdentifier == nil {
 18925  		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
 18926  	}
 18927  
 18928  	if invalidParams.Len() > 0 {
 18929  		return invalidParams
 18930  	}
 18931  	return nil
 18932  }
 18933  
 18934  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 18935  func (s *CreateDBClusterSnapshotInput) SetDBClusterIdentifier(v string) *CreateDBClusterSnapshotInput {
 18936  	s.DBClusterIdentifier = &v
 18937  	return s
 18938  }
 18939  
 18940  // SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
 18941  func (s *CreateDBClusterSnapshotInput) SetDBClusterSnapshotIdentifier(v string) *CreateDBClusterSnapshotInput {
 18942  	s.DBClusterSnapshotIdentifier = &v
 18943  	return s
 18944  }
 18945  
 18946  // SetTags sets the Tags field's value.
 18947  func (s *CreateDBClusterSnapshotInput) SetTags(v []*Tag) *CreateDBClusterSnapshotInput {
 18948  	s.Tags = v
 18949  	return s
 18950  }
 18951  
 18952  type CreateDBClusterSnapshotOutput struct {
 18953  	_ struct{} `type:"structure"`
 18954  
 18955  	// Contains the details for an Amazon RDS DB cluster snapshot
 18956  	//
 18957  	// This data type is used as a response element in the DescribeDBClusterSnapshots
 18958  	// action.
 18959  	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
 18960  }
 18961  
 18962  // String returns the string representation.
 18963  //
 18964  // API parameter values that are decorated as "sensitive" in the API will not
 18965  // be included in the string output. The member name will be present, but the
 18966  // value will be replaced with "sensitive".
 18967  func (s CreateDBClusterSnapshotOutput) String() string {
 18968  	return awsutil.Prettify(s)
 18969  }
 18970  
 18971  // GoString returns the string representation.
 18972  //
 18973  // API parameter values that are decorated as "sensitive" in the API will not
 18974  // be included in the string output. The member name will be present, but the
 18975  // value will be replaced with "sensitive".
 18976  func (s CreateDBClusterSnapshotOutput) GoString() string {
 18977  	return s.String()
 18978  }
 18979  
 18980  // SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
 18981  func (s *CreateDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *CreateDBClusterSnapshotOutput {
 18982  	s.DBClusterSnapshot = v
 18983  	return s
 18984  }
 18985  
 18986  type CreateDBInstanceInput struct {
 18987  	_ struct{} `type:"structure"`
 18988  
 18989  	// The amount of storage in gibibytes (GiB) to allocate for the DB instance.
 18990  	//
 18991  	// Type: Integer
 18992  	//
 18993  	// Amazon Aurora
 18994  	//
 18995  	// Not applicable. Aurora cluster volumes automatically grow as the amount of
 18996  	// data in your database increases, though you are only charged for the space
 18997  	// that you use in an Aurora cluster volume.
 18998  	//
 18999  	// MySQL
 19000  	//
 19001  	// Constraints to the amount of storage for each storage type are the following:
 19002  	//
 19003  	//    * General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.
 19004  	//
 19005  	//    * Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.
 19006  	//
 19007  	//    * Magnetic storage (standard): Must be an integer from 5 to 3072.
 19008  	//
 19009  	// MariaDB
 19010  	//
 19011  	// Constraints to the amount of storage for each storage type are the following:
 19012  	//
 19013  	//    * General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.
 19014  	//
 19015  	//    * Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.
 19016  	//
 19017  	//    * Magnetic storage (standard): Must be an integer from 5 to 3072.
 19018  	//
 19019  	// PostgreSQL
 19020  	//
 19021  	// Constraints to the amount of storage for each storage type are the following:
 19022  	//
 19023  	//    * General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.
 19024  	//
 19025  	//    * Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.
 19026  	//
 19027  	//    * Magnetic storage (standard): Must be an integer from 5 to 3072.
 19028  	//
 19029  	// Oracle
 19030  	//
 19031  	// Constraints to the amount of storage for each storage type are the following:
 19032  	//
 19033  	//    * General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.
 19034  	//
 19035  	//    * Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.
 19036  	//
 19037  	//    * Magnetic storage (standard): Must be an integer from 10 to 3072.
 19038  	//
 19039  	// SQL Server
 19040  	//
 19041  	// Constraints to the amount of storage for each storage type are the following:
 19042  	//
 19043  	//    * General Purpose (SSD) storage (gp2): Enterprise and Standard editions:
 19044  	//    Must be an integer from 200 to 16384. Web and Express editions: Must be
 19045  	//    an integer from 20 to 16384.
 19046  	//
 19047  	//    * Provisioned IOPS storage (io1): Enterprise and Standard editions: Must
 19048  	//    be an integer from 200 to 16384. Web and Express editions: Must be an
 19049  	//    integer from 100 to 16384.
 19050  	//
 19051  	//    * Magnetic storage (standard): Enterprise and Standard editions: Must
 19052  	//    be an integer from 200 to 1024. Web and Express editions: Must be an integer
 19053  	//    from 20 to 1024.
 19054  	AllocatedStorage *int64 `type:"integer"`
 19055  
 19056  	// A value that indicates whether minor engine upgrades are applied automatically
 19057  	// to the DB instance during the maintenance window. By default, minor engine
 19058  	// upgrades are applied automatically.
 19059  	AutoMinorVersionUpgrade *bool `type:"boolean"`
 19060  
 19061  	// The Availability Zone (AZ) where the database will be created. For information
 19062  	// on Amazon Web Services Regions and Availability Zones, see Regions and Availability
 19063  	// Zones (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html).
 19064  	//
 19065  	// Default: A random, system-chosen Availability Zone in the endpoint's Amazon
 19066  	// Web Services Region.
 19067  	//
 19068  	// Example: us-east-1d
 19069  	//
 19070  	// Constraint: The AvailabilityZone parameter can't be specified if the DB instance
 19071  	// is a Multi-AZ deployment. The specified Availability Zone must be in the
 19072  	// same Amazon Web Services Region as the current endpoint.
 19073  	//
 19074  	// If you're creating a DB instance in an RDS on VMware environment, specify
 19075  	// the identifier of the custom Availability Zone to create the DB instance
 19076  	// in.
 19077  	//
 19078  	// For more information about RDS on VMware, see the RDS on VMware User Guide.
 19079  	// (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html)
 19080  	AvailabilityZone *string `type:"string"`
 19081  
 19082  	// The number of days for which automated backups are retained. Setting this
 19083  	// parameter to a positive number enables backups. Setting this parameter to
 19084  	// 0 disables automated backups.
 19085  	//
 19086  	// Amazon Aurora
 19087  	//
 19088  	// Not applicable. The retention period for automated backups is managed by
 19089  	// the DB cluster.
 19090  	//
 19091  	// Default: 1
 19092  	//
 19093  	// Constraints:
 19094  	//
 19095  	//    * Must be a value from 0 to 35
 19096  	//
 19097  	//    * Can't be set to 0 if the DB instance is a source to read replicas
 19098  	BackupRetentionPeriod *int64 `type:"integer"`
 19099  
 19100  	// For supported engines, indicates that the DB instance should be associated
 19101  	// with the specified CharacterSet.
 19102  	//
 19103  	// Amazon Aurora
 19104  	//
 19105  	// Not applicable. The character set is managed by the DB cluster. For more
 19106  	// information, see CreateDBCluster.
 19107  	CharacterSetName *string `type:"string"`
 19108  
 19109  	// A value that indicates whether to copy tags from the DB instance to snapshots
 19110  	// of the DB instance. By default, tags are not copied.
 19111  	//
 19112  	// Amazon Aurora
 19113  	//
 19114  	// Not applicable. Copying tags to snapshots is managed by the DB cluster. Setting
 19115  	// this value for an Aurora DB instance has no effect on the DB cluster setting.
 19116  	CopyTagsToSnapshot *bool `type:"boolean"`
 19117  
 19118  	// The identifier of the DB cluster that the instance will belong to.
 19119  	DBClusterIdentifier *string `type:"string"`
 19120  
 19121  	// The compute and memory capacity of the DB instance, for example, db.m4.large.
 19122  	// Not all DB instance classes are available in all Amazon Web Services Regions,
 19123  	// or for all database engines. For the full list of DB instance classes, and
 19124  	// availability for your engine, see DB Instance Class (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
 19125  	// in the Amazon RDS User Guide.
 19126  	//
 19127  	// DBInstanceClass is a required field
 19128  	DBInstanceClass *string `type:"string" required:"true"`
 19129  
 19130  	// The DB instance identifier. This parameter is stored as a lowercase string.
 19131  	//
 19132  	// Constraints:
 19133  	//
 19134  	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
 19135  	//
 19136  	//    * First character must be a letter.
 19137  	//
 19138  	//    * Can't end with a hyphen or contain two consecutive hyphens.
 19139  	//
 19140  	// Example: mydbinstance
 19141  	//
 19142  	// DBInstanceIdentifier is a required field
 19143  	DBInstanceIdentifier *string `type:"string" required:"true"`
 19144  
 19145  	// The meaning of this parameter differs according to the database engine you
 19146  	// use.
 19147  	//
 19148  	// MySQL
 19149  	//
 19150  	// The name of the database to create when the DB instance is created. If this
 19151  	// parameter isn't specified, no database is created in the DB instance.
 19152  	//
 19153  	// Constraints:
 19154  	//
 19155  	//    * Must contain 1 to 64 letters or numbers.
 19156  	//
 19157  	//    * Must begin with a letter. Subsequent characters can be letters, underscores,
 19158  	//    or digits (0-9).
 19159  	//
 19160  	//    * Can't be a word reserved by the specified database engine
 19161  	//
 19162  	// MariaDB
 19163  	//
 19164  	// The name of the database to create when the DB instance is created. If this
 19165  	// parameter isn't specified, no database is created in the DB instance.
 19166  	//
 19167  	// Constraints:
 19168  	//
 19169  	//    * Must contain 1 to 64 letters or numbers.
 19170  	//
 19171  	//    * Must begin with a letter. Subsequent characters can be letters, underscores,
 19172  	//    or digits (0-9).
 19173  	//
 19174  	//    * Can't be a word reserved by the specified database engine
 19175  	//
 19176  	// PostgreSQL
 19177  	//
 19178  	// The name of the database to create when the DB instance is created. If this
 19179  	// parameter isn't specified, a database named postgres is created in the DB
 19180  	// instance.
 19181  	//
 19182  	// Constraints:
 19183  	//
 19184  	//    * Must contain 1 to 63 letters, numbers, or underscores.
 19185  	//
 19186  	//    * Must begin with a letter. Subsequent characters can be letters, underscores,
 19187  	//    or digits (0-9).
 19188  	//
 19189  	//    * Can't be a word reserved by the specified database engine
 19190  	//
 19191  	// Oracle
 19192  	//
 19193  	// The Oracle System ID (SID) of the created DB instance. If you specify null,
 19194  	// the default value ORCL is used. You can't specify the string NULL, or any
 19195  	// other reserved word, for DBName.
 19196  	//
 19197  	// Default: ORCL
 19198  	//
 19199  	// Constraints:
 19200  	//
 19201  	//    * Can't be longer than 8 characters
 19202  	//
 19203  	// SQL Server
 19204  	//
 19205  	// Not applicable. Must be null.
 19206  	//
 19207  	// Amazon Aurora MySQL
 19208  	//
 19209  	// The name of the database to create when the primary DB instance of the Aurora
 19210  	// MySQL DB cluster is created. If this parameter isn't specified for an Aurora
 19211  	// MySQL DB cluster, no database is created in the DB cluster.
 19212  	//
 19213  	// Constraints:
 19214  	//
 19215  	//    * It must contain 1 to 64 alphanumeric characters.
 19216  	//
 19217  	//    * It can't be a word reserved by the database engine.
 19218  	//
 19219  	// Amazon Aurora PostgreSQL
 19220  	//
 19221  	// The name of the database to create when the primary DB instance of the Aurora
 19222  	// PostgreSQL DB cluster is created. If this parameter isn't specified for an
 19223  	// Aurora PostgreSQL DB cluster, a database named postgres is created in the
 19224  	// DB cluster.
 19225  	//
 19226  	// Constraints:
 19227  	//
 19228  	//    * It must contain 1 to 63 alphanumeric characters.
 19229  	//
 19230  	//    * It must begin with a letter or an underscore. Subsequent characters
 19231  	//    can be letters, underscores, or digits (0 to 9).
 19232  	//
 19233  	//    * It can't be a word reserved by the database engine.
 19234  	DBName *string `type:"string"`
 19235  
 19236  	// The name of the DB parameter group to associate with this DB instance. If
 19237  	// you do not specify a value, then the default DB parameter group for the specified
 19238  	// DB engine and version is used.
 19239  	//
 19240  	// Constraints:
 19241  	//
 19242  	//    * Must be 1 to 255 letters, numbers, or hyphens.
 19243  	//
 19244  	//    * First character must be a letter
 19245  	//
 19246  	//    * Can't end with a hyphen or contain two consecutive hyphens
 19247  	DBParameterGroupName *string `type:"string"`
 19248  
 19249  	// A list of DB security groups to associate with this DB instance.
 19250  	//
 19251  	// Default: The default DB security group for the database engine.
 19252  	DBSecurityGroups []*string `locationNameList:"DBSecurityGroupName" type:"list"`
 19253  
 19254  	// A DB subnet group to associate with this DB instance.
 19255  	//
 19256  	// If there is no DB subnet group, then it is a non-VPC DB instance.
 19257  	DBSubnetGroupName *string `type:"string"`
 19258  
 19259  	// A value that indicates whether the DB instance has deletion protection enabled.
 19260  	// The database can't be deleted when deletion protection is enabled. By default,
 19261  	// deletion protection is disabled. For more information, see Deleting a DB
 19262  	// Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html).
 19263  	//
 19264  	// Amazon Aurora
 19265  	//
 19266  	// Not applicable. You can enable or disable deletion protection for the DB
 19267  	// cluster. For more information, see CreateDBCluster. DB instances in a DB
 19268  	// cluster can be deleted even when deletion protection is enabled for the DB
 19269  	// cluster.
 19270  	DeletionProtection *bool `type:"boolean"`
 19271  
 19272  	// The Active Directory directory ID to create the DB instance in. Currently,
 19273  	// only MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances can
 19274  	// be created in an Active Directory Domain.
 19275  	//
 19276  	// For more information, see Kerberos Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/kerberos-authentication.html)
 19277  	// in the Amazon RDS User Guide.
 19278  	Domain *string `type:"string"`
 19279  
 19280  	// Specify the name of the IAM role to be used when making API calls to the
 19281  	// Directory Service.
 19282  	DomainIAMRoleName *string `type:"string"`
 19283  
 19284  	// The list of log types that need to be enabled for exporting to CloudWatch
 19285  	// Logs. The values in the list depend on the DB engine being used. For more
 19286  	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
 19287  	// in the Amazon Relational Database Service User Guide.
 19288  	//
 19289  	// Amazon Aurora
 19290  	//
 19291  	// Not applicable. CloudWatch Logs exports are managed by the DB cluster.
 19292  	//
 19293  	// MariaDB
 19294  	//
 19295  	// Possible values are audit, error, general, and slowquery.
 19296  	//
 19297  	// Microsoft SQL Server
 19298  	//
 19299  	// Possible values are agent and error.
 19300  	//
 19301  	// MySQL
 19302  	//
 19303  	// Possible values are audit, error, general, and slowquery.
 19304  	//
 19305  	// Oracle
 19306  	//
 19307  	// Possible values are alert, audit, listener, trace, and oemagent.
 19308  	//
 19309  	// PostgreSQL
 19310  	//
 19311  	// Possible values are postgresql and upgrade.
 19312  	EnableCloudwatchLogsExports []*string `type:"list"`
 19313  
 19314  	// A value that indicates whether to enable a customer-owned IP address (CoIP)
 19315  	// for an RDS on Outposts DB instance.
 19316  	//
 19317  	// A CoIP provides local or external connectivity to resources in your Outpost
 19318  	// subnets through your on-premises network. For some use cases, a CoIP can
 19319  	// provide lower latency for connections to the DB instance from outside of
 19320  	// its virtual private cloud (VPC) on your local network.
 19321  	//
 19322  	// For more information about RDS on Outposts, see Working with Amazon RDS on
 19323  	// Amazon Web Services Outposts (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html)
 19324  	// in the Amazon RDS User Guide.
 19325  	//
 19326  	// For more information about CoIPs, see Customer-owned IP addresses (https://docs.aws.amazon.com/outposts/latest/userguide/outposts-networking-components.html#ip-addressing)
 19327  	// in the Amazon Web Services Outposts User Guide.
 19328  	EnableCustomerOwnedIp *bool `type:"boolean"`
 19329  
 19330  	// A value that indicates whether to enable mapping of Amazon Web Services Identity
 19331  	// and Access Management (IAM) accounts to database accounts. By default, mapping
 19332  	// is disabled.
 19333  	//
 19334  	// This setting doesn't apply to Amazon Aurora. Mapping Amazon Web Services
 19335  	// IAM accounts to database accounts is managed by the DB cluster.
 19336  	//
 19337  	// For more information, see IAM Database Authentication for MySQL and PostgreSQL
 19338  	// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)
 19339  	// in the Amazon RDS User Guide.
 19340  	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
 19341  
 19342  	// A value that indicates whether to enable Performance Insights for the DB
 19343  	// instance.
 19344  	//
 19345  	// For more information, see Using Amazon Performance Insights (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html)
 19346  	// in the Amazon Relational Database Service User Guide.
 19347  	EnablePerformanceInsights *bool `type:"boolean"`
 19348  
 19349  	// The name of the database engine to be used for this instance.
 19350  	//
 19351  	// Not every database engine is available for every Amazon Web Services Region.
 19352  	//
 19353  	// Valid Values:
 19354  	//
 19355  	//    * aurora (for MySQL 5.6-compatible Aurora)
 19356  	//
 19357  	//    * aurora-mysql (for MySQL 5.7-compatible Aurora)
 19358  	//
 19359  	//    * aurora-postgresql
 19360  	//
 19361  	//    * mariadb
 19362  	//
 19363  	//    * mysql
 19364  	//
 19365  	//    * oracle-ee
 19366  	//
 19367  	//    * oracle-ee-cdb
 19368  	//
 19369  	//    * oracle-se2
 19370  	//
 19371  	//    * oracle-se2-cdb
 19372  	//
 19373  	//    * postgres
 19374  	//
 19375  	//    * sqlserver-ee
 19376  	//
 19377  	//    * sqlserver-se
 19378  	//
 19379  	//    * sqlserver-ex
 19380  	//
 19381  	//    * sqlserver-web
 19382  	//
 19383  	// Engine is a required field
 19384  	Engine *string `type:"string" required:"true"`
 19385  
 19386  	// The version number of the database engine to use.
 19387  	//
 19388  	// For a list of valid engine versions, use the DescribeDBEngineVersions action.
 19389  	//
 19390  	// The following are the database engines and links to information about the
 19391  	// major and minor versions that are available with Amazon RDS. Not every database
 19392  	// engine is available for every Amazon Web Services Region.
 19393  	//
 19394  	// Amazon Aurora
 19395  	//
 19396  	// Not applicable. The version number of the database engine to be used by the
 19397  	// DB instance is managed by the DB cluster.
 19398  	//
 19399  	// MariaDB
 19400  	//
 19401  	// See MariaDB on Amazon RDS Versions (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MariaDB.html#MariaDB.Concepts.VersionMgmt)
 19402  	// in the Amazon RDS User Guide.
 19403  	//
 19404  	// Microsoft SQL Server
 19405  	//
 19406  	// See Microsoft SQL Server Versions on Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.VersionSupport)
 19407  	// in the Amazon RDS User Guide.
 19408  	//
 19409  	// MySQL
 19410  	//
 19411  	// See MySQL on Amazon RDS Versions (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.VersionMgmt)
 19412  	// in the Amazon RDS User Guide.
 19413  	//
 19414  	// Oracle
 19415  	//
 19416  	// See Oracle Database Engine Release Notes (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.PatchComposition.html)
 19417  	// in the Amazon RDS User Guide.
 19418  	//
 19419  	// PostgreSQL
 19420  	//
 19421  	// See Amazon RDS for PostgreSQL versions and extensions (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts)
 19422  	// in the Amazon RDS User Guide.
 19423  	EngineVersion *string `type:"string"`
 19424  
 19425  	// The amount of Provisioned IOPS (input/output operations per second) to be
 19426  	// initially allocated for the DB instance. For information about valid Iops
 19427  	// values, see Amazon RDS Provisioned IOPS Storage to Improve Performance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS)
 19428  	// in the Amazon RDS User Guide.
 19429  	//
 19430  	// Constraints: For MariaDB, MySQL, Oracle, and PostgreSQL DB instances, must
 19431  	// be a multiple between .5 and 50 of the storage amount for the DB instance.
 19432  	// For SQL Server DB instances, must be a multiple between 1 and 50 of the storage
 19433  	// amount for the DB instance.
 19434  	Iops *int64 `type:"integer"`
 19435  
 19436  	// The Amazon Web Services KMS key identifier for an encrypted DB instance.
 19437  	//
 19438  	// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
 19439  	// ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).
 19440  	// To use a CMK in a different Amazon Web Services account, specify the key
 19441  	// ARN or alias ARN.
 19442  	//
 19443  	// Amazon Aurora
 19444  	//
 19445  	// Not applicable. The Amazon Web Services KMS key identifier is managed by
 19446  	// the DB cluster. For more information, see CreateDBCluster.
 19447  	//
 19448  	// If StorageEncrypted is enabled, and you do not specify a value for the KmsKeyId
 19449  	// parameter, then Amazon RDS uses your default CMK. There is a default CMK
 19450  	// for your Amazon Web Services account. Your Amazon Web Services account has
 19451  	// a different default CMK for each Amazon Web Services Region.
 19452  	KmsKeyId *string `type:"string"`
 19453  
 19454  	// License model information for this DB instance.
 19455  	//
 19456  	// Valid values: license-included | bring-your-own-license | general-public-license
 19457  	LicenseModel *string `type:"string"`
 19458  
 19459  	// The password for the master user. The password can include any printable
 19460  	// ASCII character except "/", """, or "@".
 19461  	//
 19462  	// Amazon Aurora
 19463  	//
 19464  	// Not applicable. The password for the master user is managed by the DB cluster.
 19465  	//
 19466  	// MariaDB
 19467  	//
 19468  	// Constraints: Must contain from 8 to 41 characters.
 19469  	//
 19470  	// Microsoft SQL Server
 19471  	//
 19472  	// Constraints: Must contain from 8 to 128 characters.
 19473  	//
 19474  	// MySQL
 19475  	//
 19476  	// Constraints: Must contain from 8 to 41 characters.
 19477  	//
 19478  	// Oracle
 19479  	//
 19480  	// Constraints: Must contain from 8 to 30 characters.
 19481  	//
 19482  	// PostgreSQL
 19483  	//
 19484  	// Constraints: Must contain from 8 to 128 characters.
 19485  	MasterUserPassword *string `type:"string"`
 19486  
 19487  	// The name for the master user.
 19488  	//
 19489  	// Amazon Aurora
 19490  	//
 19491  	// Not applicable. The name for the master user is managed by the DB cluster.
 19492  	//
 19493  	// MariaDB
 19494  	//
 19495  	// Constraints:
 19496  	//
 19497  	//    * Required for MariaDB.
 19498  	//
 19499  	//    * Must be 1 to 16 letters or numbers.
 19500  	//
 19501  	//    * Can't be a reserved word for the chosen database engine.
 19502  	//
 19503  	// Microsoft SQL Server
 19504  	//
 19505  	// Constraints:
 19506  	//
 19507  	//    * Required for SQL Server.
 19508  	//
 19509  	//    * Must be 1 to 128 letters or numbers.
 19510  	//
 19511  	//    * The first character must be a letter.
 19512  	//
 19513  	//    * Can't be a reserved word for the chosen database engine.
 19514  	//
 19515  	// MySQL
 19516  	//
 19517  	// Constraints:
 19518  	//
 19519  	//    * Required for MySQL.
 19520  	//
 19521  	//    * Must be 1 to 16 letters or numbers.
 19522  	//
 19523  	//    * First character must be a letter.
 19524  	//
 19525  	//    * Can't be a reserved word for the chosen database engine.
 19526  	//
 19527  	// Oracle
 19528  	//
 19529  	// Constraints:
 19530  	//
 19531  	//    * Required for Oracle.
 19532  	//
 19533  	//    * Must be 1 to 30 letters or numbers.
 19534  	//
 19535  	//    * First character must be a letter.
 19536  	//
 19537  	//    * Can't be a reserved word for the chosen database engine.
 19538  	//
 19539  	// PostgreSQL
 19540  	//
 19541  	// Constraints:
 19542  	//
 19543  	//    * Required for PostgreSQL.
 19544  	//
 19545  	//    * Must be 1 to 63 letters or numbers.
 19546  	//
 19547  	//    * First character must be a letter.
 19548  	//
 19549  	//    * Can't be a reserved word for the chosen database engine.
 19550  	MasterUsername *string `type:"string"`
 19551  
 19552  	// The upper limit in gibibytes (GiB) to which Amazon RDS can automatically
 19553  	// scale the storage of the DB instance.
 19554  	//
 19555  	// For more information about this setting, including limitations that apply
 19556  	// to it, see Managing capacity automatically with Amazon RDS storage autoscaling
 19557  	// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.Autoscaling)
 19558  	// in the Amazon RDS User Guide.
 19559  	MaxAllocatedStorage *int64 `type:"integer"`
 19560  
 19561  	// The interval, in seconds, between points when Enhanced Monitoring metrics
 19562  	// are collected for the DB instance. To disable collecting Enhanced Monitoring
 19563  	// metrics, specify 0. The default is 0.
 19564  	//
 19565  	// If MonitoringRoleArn is specified, then you must also set MonitoringInterval
 19566  	// to a value other than 0.
 19567  	//
 19568  	// Valid Values: 0, 1, 5, 10, 15, 30, 60
 19569  	MonitoringInterval *int64 `type:"integer"`
 19570  
 19571  	// The ARN for the IAM role that permits RDS to send enhanced monitoring metrics
 19572  	// to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.
 19573  	// For information on creating a monitoring role, go to Setting Up and Enabling
 19574  	// Enhanced Monitoring (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling)
 19575  	// in the Amazon RDS User Guide.
 19576  	//
 19577  	// If MonitoringInterval is set to a value other than 0, then you must supply
 19578  	// a MonitoringRoleArn value.
 19579  	MonitoringRoleArn *string `type:"string"`
 19580  
 19581  	// A value that indicates whether the DB instance is a Multi-AZ deployment.
 19582  	// You can't set the AvailabilityZone parameter if the DB instance is a Multi-AZ
 19583  	// deployment.
 19584  	MultiAZ *bool `type:"boolean"`
 19585  
 19586  	// The name of the NCHAR character set for the Oracle DB instance.
 19587  	NcharCharacterSetName *string `type:"string"`
 19588  
 19589  	// A value that indicates that the DB instance should be associated with the
 19590  	// specified option group.
 19591  	//
 19592  	// Permanent options, such as the TDE option for Oracle Advanced Security TDE,
 19593  	// can't be removed from an option group. Also, that option group can't be removed
 19594  	// from a DB instance once it is associated with a DB instance
 19595  	OptionGroupName *string `type:"string"`
 19596  
 19597  	// The Amazon Web Services KMS key identifier for encryption of Performance
 19598  	// Insights data.
 19599  	//
 19600  	// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
 19601  	// ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).
 19602  	//
 19603  	// If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon
 19604  	// RDS uses your default CMK. There is a default CMK for your Amazon Web Services
 19605  	// account. Your Amazon Web Services account has a different default CMK for
 19606  	// each Amazon Web Services Region.
 19607  	PerformanceInsightsKMSKeyId *string `type:"string"`
 19608  
 19609  	// The amount of time, in days, to retain Performance Insights data. Valid values
 19610  	// are 7 or 731 (2 years).
 19611  	PerformanceInsightsRetentionPeriod *int64 `type:"integer"`
 19612  
 19613  	// The port number on which the database accepts connections.
 19614  	//
 19615  	// MySQL
 19616  	//
 19617  	// Default: 3306
 19618  	//
 19619  	// Valid values: 1150-65535
 19620  	//
 19621  	// Type: Integer
 19622  	//
 19623  	// MariaDB
 19624  	//
 19625  	// Default: 3306
 19626  	//
 19627  	// Valid values: 1150-65535
 19628  	//
 19629  	// Type: Integer
 19630  	//
 19631  	// PostgreSQL
 19632  	//
 19633  	// Default: 5432
 19634  	//
 19635  	// Valid values: 1150-65535
 19636  	//
 19637  	// Type: Integer
 19638  	//
 19639  	// Oracle
 19640  	//
 19641  	// Default: 1521
 19642  	//
 19643  	// Valid values: 1150-65535
 19644  	//
 19645  	// SQL Server
 19646  	//
 19647  	// Default: 1433
 19648  	//
 19649  	// Valid values: 1150-65535 except 1234, 1434, 3260, 3343, 3389, 47001, and
 19650  	// 49152-49156.
 19651  	//
 19652  	// Amazon Aurora
 19653  	//
 19654  	// Default: 3306
 19655  	//
 19656  	// Valid values: 1150-65535
 19657  	//
 19658  	// Type: Integer
 19659  	Port *int64 `type:"integer"`
 19660  
 19661  	// The daily time range during which automated backups are created if automated
 19662  	// backups are enabled, using the BackupRetentionPeriod parameter. The default
 19663  	// is a 30-minute window selected at random from an 8-hour block of time for
 19664  	// each Amazon Web Services Region. For more information, see Backup window
 19665  	// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow)
 19666  	// in the Amazon RDS User Guide.
 19667  	//
 19668  	// Amazon Aurora
 19669  	//
 19670  	// Not applicable. The daily time range for creating automated backups is managed
 19671  	// by the DB cluster.
 19672  	//
 19673  	// Constraints:
 19674  	//
 19675  	//    * Must be in the format hh24:mi-hh24:mi.
 19676  	//
 19677  	//    * Must be in Universal Coordinated Time (UTC).
 19678  	//
 19679  	//    * Must not conflict with the preferred maintenance window.
 19680  	//
 19681  	//    * Must be at least 30 minutes.
 19682  	PreferredBackupWindow *string `type:"string"`
 19683  
 19684  	// The time range each week during which system maintenance can occur, in Universal
 19685  	// Coordinated Time (UTC). For more information, see Amazon RDS Maintenance
 19686  	// Window (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance).
 19687  	//
 19688  	// Format: ddd:hh24:mi-ddd:hh24:mi
 19689  	//
 19690  	// The default is a 30-minute window selected at random from an 8-hour block
 19691  	// of time for each Amazon Web Services Region, occurring on a random day of
 19692  	// the week.
 19693  	//
 19694  	// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
 19695  	//
 19696  	// Constraints: Minimum 30-minute window.
 19697  	PreferredMaintenanceWindow *string `type:"string"`
 19698  
 19699  	// The number of CPU cores and the number of threads per core for the DB instance
 19700  	// class of the DB instance.
 19701  	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
 19702  
 19703  	// A value that specifies the order in which an Aurora Replica is promoted to
 19704  	// the primary instance after a failure of the existing primary instance. For
 19705  	// 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)
 19706  	// in the Amazon Aurora User Guide.
 19707  	//
 19708  	// Default: 1
 19709  	//
 19710  	// Valid Values: 0 - 15
 19711  	PromotionTier *int64 `type:"integer"`
 19712  
 19713  	// A value that indicates whether the DB instance is publicly accessible.
 19714  	//
 19715  	// When the DB instance is publicly accessible, its DNS endpoint resolves to
 19716  	// the private IP address from within the DB instance's VPC, and to the public
 19717  	// IP address from outside of the DB instance's VPC. Access to the DB instance
 19718  	// is ultimately controlled by the security group it uses, and that public access
 19719  	// is not permitted if the security group assigned to the DB instance doesn't
 19720  	// permit it.
 19721  	//
 19722  	// When the DB instance isn't publicly accessible, it is an internal DB instance
 19723  	// with a DNS name that resolves to a private IP address.
 19724  	//
 19725  	// Default: The default behavior varies depending on whether DBSubnetGroupName
 19726  	// is specified.
 19727  	//
 19728  	// If DBSubnetGroupName isn't specified, and PubliclyAccessible isn't specified,
 19729  	// the following applies:
 19730  	//
 19731  	//    * If the default VPC in the target region doesn’t have an Internet gateway
 19732  	//    attached to it, the DB instance is private.
 19733  	//
 19734  	//    * If the default VPC in the target region has an Internet gateway attached
 19735  	//    to it, the DB instance is public.
 19736  	//
 19737  	// If DBSubnetGroupName is specified, and PubliclyAccessible isn't specified,
 19738  	// the following applies:
 19739  	//
 19740  	//    * If the subnets are part of a VPC that doesn’t have an Internet gateway
 19741  	//    attached to it, the DB instance is private.
 19742  	//
 19743  	//    * If the subnets are part of a VPC that has an Internet gateway attached
 19744  	//    to it, the DB instance is public.
 19745  	PubliclyAccessible *bool `type:"boolean"`
 19746  
 19747  	// A value that indicates whether the DB instance is encrypted. By default,
 19748  	// it isn't encrypted.
 19749  	//
 19750  	// Amazon Aurora
 19751  	//
 19752  	// Not applicable. The encryption for DB instances is managed by the DB cluster.
 19753  	StorageEncrypted *bool `type:"boolean"`
 19754  
 19755  	// Specifies the storage type to be associated with the DB instance.
 19756  	//
 19757  	// Valid values: standard | gp2 | io1
 19758  	//
 19759  	// If you specify io1, you must also include a value for the Iops parameter.
 19760  	//
 19761  	// Default: io1 if the Iops parameter is specified, otherwise gp2
 19762  	StorageType *string `type:"string"`
 19763  
 19764  	// Tags to assign to the DB instance.
 19765  	Tags []*Tag `locationNameList:"Tag" type:"list"`
 19766  
 19767  	// The ARN from the key store with which to associate the instance for TDE encryption.
 19768  	TdeCredentialArn *string `type:"string"`
 19769  
 19770  	// The password for the given ARN from the key store in order to access the
 19771  	// device.
 19772  	TdeCredentialPassword *string `type:"string"`
 19773  
 19774  	// The time zone of the DB instance. The time zone parameter is currently supported
 19775  	// only by Microsoft SQL Server (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.TimeZone).
 19776  	Timezone *string `type:"string"`
 19777  
 19778  	// A list of Amazon EC2 VPC security groups to associate with this DB instance.
 19779  	//
 19780  	// Amazon Aurora
 19781  	//
 19782  	// Not applicable. The associated list of EC2 VPC security groups is managed
 19783  	// by the DB cluster.
 19784  	//
 19785  	// Default: The default EC2 VPC security group for the DB subnet group's VPC.
 19786  	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
 19787  }
 19788  
 19789  // String returns the string representation.
 19790  //
 19791  // API parameter values that are decorated as "sensitive" in the API will not
 19792  // be included in the string output. The member name will be present, but the
 19793  // value will be replaced with "sensitive".
 19794  func (s CreateDBInstanceInput) String() string {
 19795  	return awsutil.Prettify(s)
 19796  }
 19797  
 19798  // GoString returns the string representation.
 19799  //
 19800  // API parameter values that are decorated as "sensitive" in the API will not
 19801  // be included in the string output. The member name will be present, but the
 19802  // value will be replaced with "sensitive".
 19803  func (s CreateDBInstanceInput) GoString() string {
 19804  	return s.String()
 19805  }
 19806  
 19807  // Validate inspects the fields of the type to determine if they are valid.
 19808  func (s *CreateDBInstanceInput) Validate() error {
 19809  	invalidParams := request.ErrInvalidParams{Context: "CreateDBInstanceInput"}
 19810  	if s.DBInstanceClass == nil {
 19811  		invalidParams.Add(request.NewErrParamRequired("DBInstanceClass"))
 19812  	}
 19813  	if s.DBInstanceIdentifier == nil {
 19814  		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
 19815  	}
 19816  	if s.Engine == nil {
 19817  		invalidParams.Add(request.NewErrParamRequired("Engine"))
 19818  	}
 19819  
 19820  	if invalidParams.Len() > 0 {
 19821  		return invalidParams
 19822  	}
 19823  	return nil
 19824  }
 19825  
 19826  // SetAllocatedStorage sets the AllocatedStorage field's value.
 19827  func (s *CreateDBInstanceInput) SetAllocatedStorage(v int64) *CreateDBInstanceInput {
 19828  	s.AllocatedStorage = &v
 19829  	return s
 19830  }
 19831  
 19832  // SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
 19833  func (s *CreateDBInstanceInput) SetAutoMinorVersionUpgrade(v bool) *CreateDBInstanceInput {
 19834  	s.AutoMinorVersionUpgrade = &v
 19835  	return s
 19836  }
 19837  
 19838  // SetAvailabilityZone sets the AvailabilityZone field's value.
 19839  func (s *CreateDBInstanceInput) SetAvailabilityZone(v string) *CreateDBInstanceInput {
 19840  	s.AvailabilityZone = &v
 19841  	return s
 19842  }
 19843  
 19844  // SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
 19845  func (s *CreateDBInstanceInput) SetBackupRetentionPeriod(v int64) *CreateDBInstanceInput {
 19846  	s.BackupRetentionPeriod = &v
 19847  	return s
 19848  }
 19849  
 19850  // SetCharacterSetName sets the CharacterSetName field's value.
 19851  func (s *CreateDBInstanceInput) SetCharacterSetName(v string) *CreateDBInstanceInput {
 19852  	s.CharacterSetName = &v
 19853  	return s
 19854  }
 19855  
 19856  // SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
 19857  func (s *CreateDBInstanceInput) SetCopyTagsToSnapshot(v bool) *CreateDBInstanceInput {
 19858  	s.CopyTagsToSnapshot = &v
 19859  	return s
 19860  }
 19861  
 19862  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 19863  func (s *CreateDBInstanceInput) SetDBClusterIdentifier(v string) *CreateDBInstanceInput {
 19864  	s.DBClusterIdentifier = &v
 19865  	return s
 19866  }
 19867  
 19868  // SetDBInstanceClass sets the DBInstanceClass field's value.
 19869  func (s *CreateDBInstanceInput) SetDBInstanceClass(v string) *CreateDBInstanceInput {
 19870  	s.DBInstanceClass = &v
 19871  	return s
 19872  }
 19873  
 19874  // SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
 19875  func (s *CreateDBInstanceInput) SetDBInstanceIdentifier(v string) *CreateDBInstanceInput {
 19876  	s.DBInstanceIdentifier = &v
 19877  	return s
 19878  }
 19879  
 19880  // SetDBName sets the DBName field's value.
 19881  func (s *CreateDBInstanceInput) SetDBName(v string) *CreateDBInstanceInput {
 19882  	s.DBName = &v
 19883  	return s
 19884  }
 19885  
 19886  // SetDBParameterGroupName sets the DBParameterGroupName field's value.
 19887  func (s *CreateDBInstanceInput) SetDBParameterGroupName(v string) *CreateDBInstanceInput {
 19888  	s.DBParameterGroupName = &v
 19889  	return s
 19890  }
 19891  
 19892  // SetDBSecurityGroups sets the DBSecurityGroups field's value.
 19893  func (s *CreateDBInstanceInput) SetDBSecurityGroups(v []*string) *CreateDBInstanceInput {
 19894  	s.DBSecurityGroups = v
 19895  	return s
 19896  }
 19897  
 19898  // SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
 19899  func (s *CreateDBInstanceInput) SetDBSubnetGroupName(v string) *CreateDBInstanceInput {
 19900  	s.DBSubnetGroupName = &v
 19901  	return s
 19902  }
 19903  
 19904  // SetDeletionProtection sets the DeletionProtection field's value.
 19905  func (s *CreateDBInstanceInput) SetDeletionProtection(v bool) *CreateDBInstanceInput {
 19906  	s.DeletionProtection = &v
 19907  	return s
 19908  }
 19909  
 19910  // SetDomain sets the Domain field's value.
 19911  func (s *CreateDBInstanceInput) SetDomain(v string) *CreateDBInstanceInput {
 19912  	s.Domain = &v
 19913  	return s
 19914  }
 19915  
 19916  // SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
 19917  func (s *CreateDBInstanceInput) SetDomainIAMRoleName(v string) *CreateDBInstanceInput {
 19918  	s.DomainIAMRoleName = &v
 19919  	return s
 19920  }
 19921  
 19922  // SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
 19923  func (s *CreateDBInstanceInput) SetEnableCloudwatchLogsExports(v []*string) *CreateDBInstanceInput {
 19924  	s.EnableCloudwatchLogsExports = v
 19925  	return s
 19926  }
 19927  
 19928  // SetEnableCustomerOwnedIp sets the EnableCustomerOwnedIp field's value.
 19929  func (s *CreateDBInstanceInput) SetEnableCustomerOwnedIp(v bool) *CreateDBInstanceInput {
 19930  	s.EnableCustomerOwnedIp = &v
 19931  	return s
 19932  }
 19933  
 19934  // SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
 19935  func (s *CreateDBInstanceInput) SetEnableIAMDatabaseAuthentication(v bool) *CreateDBInstanceInput {
 19936  	s.EnableIAMDatabaseAuthentication = &v
 19937  	return s
 19938  }
 19939  
 19940  // SetEnablePerformanceInsights sets the EnablePerformanceInsights field's value.
 19941  func (s *CreateDBInstanceInput) SetEnablePerformanceInsights(v bool) *CreateDBInstanceInput {
 19942  	s.EnablePerformanceInsights = &v
 19943  	return s
 19944  }
 19945  
 19946  // SetEngine sets the Engine field's value.
 19947  func (s *CreateDBInstanceInput) SetEngine(v string) *CreateDBInstanceInput {
 19948  	s.Engine = &v
 19949  	return s
 19950  }
 19951  
 19952  // SetEngineVersion sets the EngineVersion field's value.
 19953  func (s *CreateDBInstanceInput) SetEngineVersion(v string) *CreateDBInstanceInput {
 19954  	s.EngineVersion = &v
 19955  	return s
 19956  }
 19957  
 19958  // SetIops sets the Iops field's value.
 19959  func (s *CreateDBInstanceInput) SetIops(v int64) *CreateDBInstanceInput {
 19960  	s.Iops = &v
 19961  	return s
 19962  }
 19963  
 19964  // SetKmsKeyId sets the KmsKeyId field's value.
 19965  func (s *CreateDBInstanceInput) SetKmsKeyId(v string) *CreateDBInstanceInput {
 19966  	s.KmsKeyId = &v
 19967  	return s
 19968  }
 19969  
 19970  // SetLicenseModel sets the LicenseModel field's value.
 19971  func (s *CreateDBInstanceInput) SetLicenseModel(v string) *CreateDBInstanceInput {
 19972  	s.LicenseModel = &v
 19973  	return s
 19974  }
 19975  
 19976  // SetMasterUserPassword sets the MasterUserPassword field's value.
 19977  func (s *CreateDBInstanceInput) SetMasterUserPassword(v string) *CreateDBInstanceInput {
 19978  	s.MasterUserPassword = &v
 19979  	return s
 19980  }
 19981  
 19982  // SetMasterUsername sets the MasterUsername field's value.
 19983  func (s *CreateDBInstanceInput) SetMasterUsername(v string) *CreateDBInstanceInput {
 19984  	s.MasterUsername = &v
 19985  	return s
 19986  }
 19987  
 19988  // SetMaxAllocatedStorage sets the MaxAllocatedStorage field's value.
 19989  func (s *CreateDBInstanceInput) SetMaxAllocatedStorage(v int64) *CreateDBInstanceInput {
 19990  	s.MaxAllocatedStorage = &v
 19991  	return s
 19992  }
 19993  
 19994  // SetMonitoringInterval sets the MonitoringInterval field's value.
 19995  func (s *CreateDBInstanceInput) SetMonitoringInterval(v int64) *CreateDBInstanceInput {
 19996  	s.MonitoringInterval = &v
 19997  	return s
 19998  }
 19999  
 20000  // SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
 20001  func (s *CreateDBInstanceInput) SetMonitoringRoleArn(v string) *CreateDBInstanceInput {
 20002  	s.MonitoringRoleArn = &v
 20003  	return s
 20004  }
 20005  
 20006  // SetMultiAZ sets the MultiAZ field's value.
 20007  func (s *CreateDBInstanceInput) SetMultiAZ(v bool) *CreateDBInstanceInput {
 20008  	s.MultiAZ = &v
 20009  	return s
 20010  }
 20011  
 20012  // SetNcharCharacterSetName sets the NcharCharacterSetName field's value.
 20013  func (s *CreateDBInstanceInput) SetNcharCharacterSetName(v string) *CreateDBInstanceInput {
 20014  	s.NcharCharacterSetName = &v
 20015  	return s
 20016  }
 20017  
 20018  // SetOptionGroupName sets the OptionGroupName field's value.
 20019  func (s *CreateDBInstanceInput) SetOptionGroupName(v string) *CreateDBInstanceInput {
 20020  	s.OptionGroupName = &v
 20021  	return s
 20022  }
 20023  
 20024  // SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
 20025  func (s *CreateDBInstanceInput) SetPerformanceInsightsKMSKeyId(v string) *CreateDBInstanceInput {
 20026  	s.PerformanceInsightsKMSKeyId = &v
 20027  	return s
 20028  }
 20029  
 20030  // SetPerformanceInsightsRetentionPeriod sets the PerformanceInsightsRetentionPeriod field's value.
 20031  func (s *CreateDBInstanceInput) SetPerformanceInsightsRetentionPeriod(v int64) *CreateDBInstanceInput {
 20032  	s.PerformanceInsightsRetentionPeriod = &v
 20033  	return s
 20034  }
 20035  
 20036  // SetPort sets the Port field's value.
 20037  func (s *CreateDBInstanceInput) SetPort(v int64) *CreateDBInstanceInput {
 20038  	s.Port = &v
 20039  	return s
 20040  }
 20041  
 20042  // SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
 20043  func (s *CreateDBInstanceInput) SetPreferredBackupWindow(v string) *CreateDBInstanceInput {
 20044  	s.PreferredBackupWindow = &v
 20045  	return s
 20046  }
 20047  
 20048  // SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
 20049  func (s *CreateDBInstanceInput) SetPreferredMaintenanceWindow(v string) *CreateDBInstanceInput {
 20050  	s.PreferredMaintenanceWindow = &v
 20051  	return s
 20052  }
 20053  
 20054  // SetProcessorFeatures sets the ProcessorFeatures field's value.
 20055  func (s *CreateDBInstanceInput) SetProcessorFeatures(v []*ProcessorFeature) *CreateDBInstanceInput {
 20056  	s.ProcessorFeatures = v
 20057  	return s
 20058  }
 20059  
 20060  // SetPromotionTier sets the PromotionTier field's value.
 20061  func (s *CreateDBInstanceInput) SetPromotionTier(v int64) *CreateDBInstanceInput {
 20062  	s.PromotionTier = &v
 20063  	return s
 20064  }
 20065  
 20066  // SetPubliclyAccessible sets the PubliclyAccessible field's value.
 20067  func (s *CreateDBInstanceInput) SetPubliclyAccessible(v bool) *CreateDBInstanceInput {
 20068  	s.PubliclyAccessible = &v
 20069  	return s
 20070  }
 20071  
 20072  // SetStorageEncrypted sets the StorageEncrypted field's value.
 20073  func (s *CreateDBInstanceInput) SetStorageEncrypted(v bool) *CreateDBInstanceInput {
 20074  	s.StorageEncrypted = &v
 20075  	return s
 20076  }
 20077  
 20078  // SetStorageType sets the StorageType field's value.
 20079  func (s *CreateDBInstanceInput) SetStorageType(v string) *CreateDBInstanceInput {
 20080  	s.StorageType = &v
 20081  	return s
 20082  }
 20083  
 20084  // SetTags sets the Tags field's value.
 20085  func (s *CreateDBInstanceInput) SetTags(v []*Tag) *CreateDBInstanceInput {
 20086  	s.Tags = v
 20087  	return s
 20088  }
 20089  
 20090  // SetTdeCredentialArn sets the TdeCredentialArn field's value.
 20091  func (s *CreateDBInstanceInput) SetTdeCredentialArn(v string) *CreateDBInstanceInput {
 20092  	s.TdeCredentialArn = &v
 20093  	return s
 20094  }
 20095  
 20096  // SetTdeCredentialPassword sets the TdeCredentialPassword field's value.
 20097  func (s *CreateDBInstanceInput) SetTdeCredentialPassword(v string) *CreateDBInstanceInput {
 20098  	s.TdeCredentialPassword = &v
 20099  	return s
 20100  }
 20101  
 20102  // SetTimezone sets the Timezone field's value.
 20103  func (s *CreateDBInstanceInput) SetTimezone(v string) *CreateDBInstanceInput {
 20104  	s.Timezone = &v
 20105  	return s
 20106  }
 20107  
 20108  // SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
 20109  func (s *CreateDBInstanceInput) SetVpcSecurityGroupIds(v []*string) *CreateDBInstanceInput {
 20110  	s.VpcSecurityGroupIds = v
 20111  	return s
 20112  }
 20113  
 20114  type CreateDBInstanceOutput struct {
 20115  	_ struct{} `type:"structure"`
 20116  
 20117  	// Contains the details of an Amazon RDS DB instance.
 20118  	//
 20119  	// This data type is used as a response element in the DescribeDBInstances action.
 20120  	DBInstance *DBInstance `type:"structure"`
 20121  }
 20122  
 20123  // String returns the string representation.
 20124  //
 20125  // API parameter values that are decorated as "sensitive" in the API will not
 20126  // be included in the string output. The member name will be present, but the
 20127  // value will be replaced with "sensitive".
 20128  func (s CreateDBInstanceOutput) String() string {
 20129  	return awsutil.Prettify(s)
 20130  }
 20131  
 20132  // GoString returns the string representation.
 20133  //
 20134  // API parameter values that are decorated as "sensitive" in the API will not
 20135  // be included in the string output. The member name will be present, but the
 20136  // value will be replaced with "sensitive".
 20137  func (s CreateDBInstanceOutput) GoString() string {
 20138  	return s.String()
 20139  }
 20140  
 20141  // SetDBInstance sets the DBInstance field's value.
 20142  func (s *CreateDBInstanceOutput) SetDBInstance(v *DBInstance) *CreateDBInstanceOutput {
 20143  	s.DBInstance = v
 20144  	return s
 20145  }
 20146  
 20147  type CreateDBInstanceReadReplicaInput struct {
 20148  	_ struct{} `type:"structure"`
 20149  
 20150  	// A value that indicates whether minor engine upgrades are applied automatically
 20151  	// to the read replica during the maintenance window.
 20152  	//
 20153  	// Default: Inherits from the source DB instance
 20154  	AutoMinorVersionUpgrade *bool `type:"boolean"`
 20155  
 20156  	// The Availability Zone (AZ) where the read replica will be created.
 20157  	//
 20158  	// Default: A random, system-chosen Availability Zone in the endpoint's Amazon
 20159  	// Web Services Region.
 20160  	//
 20161  	// Example: us-east-1d
 20162  	AvailabilityZone *string `type:"string"`
 20163  
 20164  	// A value that indicates whether to copy all tags from the read replica to
 20165  	// snapshots of the read replica. By default, tags are not copied.
 20166  	CopyTagsToSnapshot *bool `type:"boolean"`
 20167  
 20168  	// The compute and memory capacity of the read replica, for example, db.m4.large.
 20169  	// Not all DB instance classes are available in all Amazon Web Services Regions,
 20170  	// or for all database engines. For the full list of DB instance classes, and
 20171  	// availability for your engine, see DB Instance Class (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
 20172  	// in the Amazon RDS User Guide.
 20173  	//
 20174  	// Default: Inherits from the source DB instance.
 20175  	DBInstanceClass *string `type:"string"`
 20176  
 20177  	// The DB instance identifier of the read replica. This identifier is the unique
 20178  	// key that identifies a DB instance. This parameter is stored as a lowercase
 20179  	// string.
 20180  	//
 20181  	// DBInstanceIdentifier is a required field
 20182  	DBInstanceIdentifier *string `type:"string" required:"true"`
 20183  
 20184  	// The name of the DB parameter group to associate with this DB instance.
 20185  	//
 20186  	// If you do not specify a value for DBParameterGroupName, then Amazon RDS uses
 20187  	// the DBParameterGroup of source DB instance for a same region read replica,
 20188  	// or the default DBParameterGroup for the specified DB engine for a cross region
 20189  	// read replica.
 20190  	//
 20191  	// Currently, specifying a parameter group for this operation is only supported
 20192  	// for Oracle DB instances.
 20193  	//
 20194  	// Constraints:
 20195  	//
 20196  	//    * Must be 1 to 255 letters, numbers, or hyphens.
 20197  	//
 20198  	//    * First character must be a letter
 20199  	//
 20200  	//    * Can't end with a hyphen or contain two consecutive hyphens
 20201  	DBParameterGroupName *string `type:"string"`
 20202  
 20203  	// Specifies a DB subnet group for the DB instance. The new DB instance is created
 20204  	// in the VPC associated with the DB subnet group. If no DB subnet group is
 20205  	// specified, then the new DB instance isn't created in a VPC.
 20206  	//
 20207  	// Constraints:
 20208  	//
 20209  	//    * Can only be specified if the source DB instance identifier specifies
 20210  	//    a DB instance in another Amazon Web Services Region.
 20211  	//
 20212  	//    * If supplied, must match the name of an existing DBSubnetGroup.
 20213  	//
 20214  	//    * The specified DB subnet group must be in the same Amazon Web Services
 20215  	//    Region in which the operation is running.
 20216  	//
 20217  	//    * All read replicas in one Amazon Web Services Region that are created
 20218  	//    from the same source DB instance must either:> Specify DB subnet groups
 20219  	//    from the same VPC. All these read replicas are created in the same VPC.
 20220  	//    Not specify a DB subnet group. All these read replicas are created outside
 20221  	//    of any VPC.
 20222  	//
 20223  	// Example: mySubnetgroup
 20224  	DBSubnetGroupName *string `type:"string"`
 20225  
 20226  	// A value that indicates whether the DB instance has deletion protection enabled.
 20227  	// The database can't be deleted when deletion protection is enabled. By default,
 20228  	// deletion protection is disabled. For more information, see Deleting a DB
 20229  	// Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html).
 20230  	DeletionProtection *bool `type:"boolean"`
 20231  
 20232  	// DestinationRegion is used for presigning the request to a given region.
 20233  	DestinationRegion *string `type:"string"`
 20234  
 20235  	// The Active Directory directory ID to create the DB instance in. Currently,
 20236  	// only MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB instances can
 20237  	// be created in an Active Directory Domain.
 20238  	//
 20239  	// For more information, see Kerberos Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/kerberos-authentication.html)
 20240  	// in the Amazon RDS User Guide.
 20241  	Domain *string `type:"string"`
 20242  
 20243  	// Specify the name of the IAM role to be used when making API calls to the
 20244  	// Directory Service.
 20245  	DomainIAMRoleName *string `type:"string"`
 20246  
 20247  	// The list of logs that the new DB instance is to export to CloudWatch Logs.
 20248  	// The values in the list depend on the DB engine being used. For more information,
 20249  	// see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
 20250  	// in the Amazon RDS User Guide.
 20251  	EnableCloudwatchLogsExports []*string `type:"list"`
 20252  
 20253  	// A value that indicates whether to enable mapping of Amazon Web Services Identity
 20254  	// and Access Management (IAM) accounts to database accounts. By default, mapping
 20255  	// is disabled.
 20256  	//
 20257  	// For more information about IAM database authentication, see IAM Database
 20258  	// Authentication for MySQL and PostgreSQL (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)
 20259  	// in the Amazon RDS User Guide.
 20260  	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
 20261  
 20262  	// A value that indicates whether to enable Performance Insights for the read
 20263  	// replica.
 20264  	//
 20265  	// For more information, see Using Amazon Performance Insights (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html)
 20266  	// in the Amazon RDS User Guide.
 20267  	EnablePerformanceInsights *bool `type:"boolean"`
 20268  
 20269  	// The amount of Provisioned IOPS (input/output operations per second) to be
 20270  	// initially allocated for the DB instance.
 20271  	Iops *int64 `type:"integer"`
 20272  
 20273  	// The Amazon Web Services KMS key identifier for an encrypted read replica.
 20274  	//
 20275  	// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
 20276  	// ARN, or alias name for the Amazon Web Services KMS CMK.
 20277  	//
 20278  	// If you create an encrypted read replica in the same Amazon Web Services Region
 20279  	// as the source DB instance, then do not specify a value for this parameter.
 20280  	// A read replica in the same Region is always encrypted with the same Amazon
 20281  	// Web Services KMS CMK as the source DB instance.
 20282  	//
 20283  	// If you create an encrypted read replica in a different Amazon Web Services
 20284  	// Region, then you must specify a Amazon Web Services KMS key identifier for
 20285  	// the destination Amazon Web Services Region. Amazon Web Services KMS CMKs
 20286  	// are specific to the Amazon Web Services Region that they are created in,
 20287  	// and you can't use CMKs from one Amazon Web Services Region in another Amazon
 20288  	// Web Services Region.
 20289  	//
 20290  	// You can't create an encrypted read replica from an unencrypted DB instance.
 20291  	KmsKeyId *string `type:"string"`
 20292  
 20293  	// The upper limit in gibibytes (GiB) to which Amazon RDS can automatically
 20294  	// scale the storage of the DB instance.
 20295  	//
 20296  	// For more information about this setting, including limitations that apply
 20297  	// to it, see Managing capacity automatically with Amazon RDS storage autoscaling
 20298  	// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.Autoscaling)
 20299  	// in the Amazon RDS User Guide.
 20300  	MaxAllocatedStorage *int64 `type:"integer"`
 20301  
 20302  	// The interval, in seconds, between points when Enhanced Monitoring metrics
 20303  	// are collected for the read replica. To disable collecting Enhanced Monitoring
 20304  	// metrics, specify 0. The default is 0.
 20305  	//
 20306  	// If MonitoringRoleArn is specified, then you must also set MonitoringInterval
 20307  	// to a value other than 0.
 20308  	//
 20309  	// Valid Values: 0, 1, 5, 10, 15, 30, 60
 20310  	MonitoringInterval *int64 `type:"integer"`
 20311  
 20312  	// The ARN for the IAM role that permits RDS to send enhanced monitoring metrics
 20313  	// to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.
 20314  	// For information on creating a monitoring role, go to To create an IAM role
 20315  	// for Amazon RDS Enhanced Monitoring (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html#USER_Monitoring.OS.IAMRole)
 20316  	// in the Amazon RDS User Guide.
 20317  	//
 20318  	// If MonitoringInterval is set to a value other than 0, then you must supply
 20319  	// a MonitoringRoleArn value.
 20320  	MonitoringRoleArn *string `type:"string"`
 20321  
 20322  	// A value that indicates whether the read replica is in a Multi-AZ deployment.
 20323  	//
 20324  	// You can create a read replica as a Multi-AZ DB instance. RDS creates a standby
 20325  	// of your replica in another Availability Zone for failover support for the
 20326  	// replica. Creating your read replica as a Multi-AZ DB instance is independent
 20327  	// of whether the source database is a Multi-AZ DB instance.
 20328  	MultiAZ *bool `type:"boolean"`
 20329  
 20330  	// The option group the DB instance is associated with. If omitted, the option
 20331  	// group associated with the source instance is used.
 20332  	//
 20333  	// For SQL Server, you must use the option group associated with the source
 20334  	// instance.
 20335  	OptionGroupName *string `type:"string"`
 20336  
 20337  	// The Amazon Web Services KMS key identifier for encryption of Performance
 20338  	// Insights data.
 20339  	//
 20340  	// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
 20341  	// ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).
 20342  	//
 20343  	// If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon
 20344  	// RDS uses your default CMK. There is a default CMK for your Amazon Web Services
 20345  	// account. Your Amazon Web Services account has a different default CMK for
 20346  	// each Amazon Web Services Region.
 20347  	PerformanceInsightsKMSKeyId *string `type:"string"`
 20348  
 20349  	// The amount of time, in days, to retain Performance Insights data. Valid values
 20350  	// are 7 or 731 (2 years).
 20351  	PerformanceInsightsRetentionPeriod *int64 `type:"integer"`
 20352  
 20353  	// The port number that the DB instance uses for connections.
 20354  	//
 20355  	// Default: Inherits from the source DB instance
 20356  	//
 20357  	// Valid Values: 1150-65535
 20358  	Port *int64 `type:"integer"`
 20359  
 20360  	// The URL that contains a Signature Version 4 signed request for the CreateDBInstanceReadReplica
 20361  	// API action in the source Amazon Web Services Region that contains the source
 20362  	// DB instance.
 20363  	//
 20364  	// You must specify this parameter when you create an encrypted read replica
 20365  	// from another Amazon Web Services Region by using the Amazon RDS API. Don't
 20366  	// specify PreSignedUrl when you are creating an encrypted read replica in the
 20367  	// same Amazon Web Services Region.
 20368  	//
 20369  	// The presigned URL must be a valid request for the CreateDBInstanceReadReplica
 20370  	// API action that can be executed in the source Amazon Web Services Region
 20371  	// that contains the encrypted source DB instance. The presigned URL request
 20372  	// must contain the following parameter values:
 20373  	//
 20374  	//    * DestinationRegion - The Amazon Web Services Region that the encrypted
 20375  	//    read replica is created in. This Amazon Web Services Region is the same
 20376  	//    one where the CreateDBInstanceReadReplica action is called that contains
 20377  	//    this presigned URL. For example, if you create an encrypted DB instance
 20378  	//    in the us-west-1 Amazon Web Services Region, from a source DB instance
 20379  	//    in the us-east-2 Amazon Web Services Region, then you call the CreateDBInstanceReadReplica
 20380  	//    action in the us-east-1 Amazon Web Services Region and provide a presigned
 20381  	//    URL that contains a call to the CreateDBInstanceReadReplica action in
 20382  	//    the us-west-2 Amazon Web Services Region. For this example, the DestinationRegion
 20383  	//    in the presigned URL must be set to the us-east-1 Amazon Web Services
 20384  	//    Region.
 20385  	//
 20386  	//    * KmsKeyId - The Amazon Web Services KMS key identifier for the key to
 20387  	//    use to encrypt the read replica in the destination Amazon Web Services
 20388  	//    Region. This is the same identifier for both the CreateDBInstanceReadReplica
 20389  	//    action that is called in the destination Amazon Web Services Region, and
 20390  	//    the action contained in the presigned URL.
 20391  	//
 20392  	//    * SourceDBInstanceIdentifier - The DB instance identifier for the encrypted
 20393  	//    DB instance to be replicated. This identifier must be in the Amazon Resource
 20394  	//    Name (ARN) format for the source Amazon Web Services Region. For example,
 20395  	//    if you are creating an encrypted read replica from a DB instance in the
 20396  	//    us-west-2 Amazon Web Services Region, then your SourceDBInstanceIdentifier
 20397  	//    looks like the following example: arn:aws:rds:us-west-2:123456789012:instance:mysql-instance1-20161115.
 20398  	//
 20399  	// To learn how to generate a Signature Version 4 signed request, see Authenticating
 20400  	// Requests: Using Query Parameters (Amazon Web Services Signature Version 4)
 20401  	// (https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
 20402  	// and Signature Version 4 Signing Process (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
 20403  	//
 20404  	// If you are using an Amazon Web Services SDK tool or the CLI, you can specify
 20405  	// SourceRegion (or --source-region for the CLI) instead of specifying PreSignedUrl
 20406  	// manually. Specifying SourceRegion autogenerates a presigned URL that is a
 20407  	// valid request for the operation that can be executed in the source Amazon
 20408  	// Web Services Region.
 20409  	//
 20410  	// SourceRegion isn't supported for SQL Server, because SQL Server on Amazon
 20411  	// RDS doesn't support cross-region read replicas.
 20412  	PreSignedUrl *string `type:"string"`
 20413  
 20414  	// The number of CPU cores and the number of threads per core for the DB instance
 20415  	// class of the DB instance.
 20416  	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
 20417  
 20418  	// A value that indicates whether the DB instance is publicly accessible.
 20419  	//
 20420  	// When the DB instance is publicly accessible, its DNS endpoint resolves to
 20421  	// the private IP address from within the DB instance's VPC, and to the public
 20422  	// IP address from outside of the DB instance's VPC. Access to the DB instance
 20423  	// is ultimately controlled by the security group it uses, and that public access
 20424  	// is not permitted if the security group assigned to the DB instance doesn't
 20425  	// permit it.
 20426  	//
 20427  	// When the DB instance isn't publicly accessible, it is an internal DB instance
 20428  	// with a DNS name that resolves to a private IP address.
 20429  	//
 20430  	// For more information, see CreateDBInstance.
 20431  	PubliclyAccessible *bool `type:"boolean"`
 20432  
 20433  	// The open mode of the replica database: mounted or read-only.
 20434  	//
 20435  	// This parameter is only supported for Oracle DB instances.
 20436  	//
 20437  	// Mounted DB replicas are included in Oracle Enterprise Edition. The main use
 20438  	// case for mounted replicas is cross-Region disaster recovery. The primary
 20439  	// database doesn't use Active Data Guard to transmit information to the mounted
 20440  	// replica. Because it doesn't accept user connections, a mounted replica can't
 20441  	// serve a read-only workload.
 20442  	//
 20443  	// You can create a combination of mounted and read-only DB replicas for the
 20444  	// same primary DB instance. For more information, see Working with Oracle Read
 20445  	// Replicas for Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html)
 20446  	// in the Amazon RDS User Guide.
 20447  	ReplicaMode *string `type:"string" enum:"ReplicaMode"`
 20448  
 20449  	// The identifier of the DB instance that will act as the source for the read
 20450  	// replica. Each DB instance can have up to five read replicas.
 20451  	//
 20452  	// Constraints:
 20453  	//
 20454  	//    * Must be the identifier of an existing MySQL, MariaDB, Oracle, PostgreSQL,
 20455  	//    or SQL Server DB instance.
 20456  	//
 20457  	//    * Can specify a DB instance that is a MySQL read replica only if the source
 20458  	//    is running MySQL 5.6 or later.
 20459  	//
 20460  	//    * For the limitations of Oracle read replicas, see Read Replica Limitations
 20461  	//    with Oracle (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html)
 20462  	//    in the Amazon RDS User Guide.
 20463  	//
 20464  	//    * For the limitations of SQL Server read replicas, see Read Replica Limitations
 20465  	//    with Microsoft SQL Server (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/SQLServer.ReadReplicas.Limitations.html)
 20466  	//    in the Amazon RDS User Guide.
 20467  	//
 20468  	//    * Can specify a PostgreSQL DB instance only if the source is running PostgreSQL
 20469  	//    9.3.5 or later (9.4.7 and higher for cross-region replication).
 20470  	//
 20471  	//    * The specified DB instance must have automatic backups enabled, that
 20472  	//    is, its backup retention period must be greater than 0.
 20473  	//
 20474  	//    * If the source DB instance is in the same Amazon Web Services Region
 20475  	//    as the read replica, specify a valid DB instance identifier.
 20476  	//
 20477  	//    * If the source DB instance is in a different Amazon Web Services Region
 20478  	//    from the read replica, specify a valid DB instance ARN. For more information,
 20479  	//    see Constructing an ARN for Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing)
 20480  	//    in the Amazon RDS User Guide. This doesn't apply to SQL Server, which
 20481  	//    doesn't support cross-region replicas.
 20482  	//
 20483  	// SourceDBInstanceIdentifier is a required field
 20484  	SourceDBInstanceIdentifier *string `type:"string" required:"true"`
 20485  
 20486  	// SourceRegion is the source region where the resource exists. This is not
 20487  	// sent over the wire and is only used for presigning. This value should always
 20488  	// have the same region as the source ARN.
 20489  	SourceRegion *string `type:"string" ignore:"true"`
 20490  
 20491  	// Specifies the storage type to be associated with the read replica.
 20492  	//
 20493  	// Valid values: standard | gp2 | io1
 20494  	//
 20495  	// If you specify io1, you must also include a value for the Iops parameter.
 20496  	//
 20497  	// Default: io1 if the Iops parameter is specified, otherwise gp2
 20498  	StorageType *string `type:"string"`
 20499  
 20500  	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
 20501  	// in the Amazon RDS User Guide.
 20502  	Tags []*Tag `locationNameList:"Tag" type:"list"`
 20503  
 20504  	// A value that indicates whether the DB instance class of the DB instance uses
 20505  	// its default processor features.
 20506  	UseDefaultProcessorFeatures *bool `type:"boolean"`
 20507  
 20508  	// A list of EC2 VPC security groups to associate with the read replica.
 20509  	//
 20510  	// Default: The default EC2 VPC security group for the DB subnet group's VPC.
 20511  	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
 20512  }
 20513  
 20514  // String returns the string representation.
 20515  //
 20516  // API parameter values that are decorated as "sensitive" in the API will not
 20517  // be included in the string output. The member name will be present, but the
 20518  // value will be replaced with "sensitive".
 20519  func (s CreateDBInstanceReadReplicaInput) String() string {
 20520  	return awsutil.Prettify(s)
 20521  }
 20522  
 20523  // GoString returns the string representation.
 20524  //
 20525  // API parameter values that are decorated as "sensitive" in the API will not
 20526  // be included in the string output. The member name will be present, but the
 20527  // value will be replaced with "sensitive".
 20528  func (s CreateDBInstanceReadReplicaInput) GoString() string {
 20529  	return s.String()
 20530  }
 20531  
 20532  // Validate inspects the fields of the type to determine if they are valid.
 20533  func (s *CreateDBInstanceReadReplicaInput) Validate() error {
 20534  	invalidParams := request.ErrInvalidParams{Context: "CreateDBInstanceReadReplicaInput"}
 20535  	if s.DBInstanceIdentifier == nil {
 20536  		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
 20537  	}
 20538  	if s.SourceDBInstanceIdentifier == nil {
 20539  		invalidParams.Add(request.NewErrParamRequired("SourceDBInstanceIdentifier"))
 20540  	}
 20541  
 20542  	if invalidParams.Len() > 0 {
 20543  		return invalidParams
 20544  	}
 20545  	return nil
 20546  }
 20547  
 20548  // SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
 20549  func (s *CreateDBInstanceReadReplicaInput) SetAutoMinorVersionUpgrade(v bool) *CreateDBInstanceReadReplicaInput {
 20550  	s.AutoMinorVersionUpgrade = &v
 20551  	return s
 20552  }
 20553  
 20554  // SetAvailabilityZone sets the AvailabilityZone field's value.
 20555  func (s *CreateDBInstanceReadReplicaInput) SetAvailabilityZone(v string) *CreateDBInstanceReadReplicaInput {
 20556  	s.AvailabilityZone = &v
 20557  	return s
 20558  }
 20559  
 20560  // SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
 20561  func (s *CreateDBInstanceReadReplicaInput) SetCopyTagsToSnapshot(v bool) *CreateDBInstanceReadReplicaInput {
 20562  	s.CopyTagsToSnapshot = &v
 20563  	return s
 20564  }
 20565  
 20566  // SetDBInstanceClass sets the DBInstanceClass field's value.
 20567  func (s *CreateDBInstanceReadReplicaInput) SetDBInstanceClass(v string) *CreateDBInstanceReadReplicaInput {
 20568  	s.DBInstanceClass = &v
 20569  	return s
 20570  }
 20571  
 20572  // SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
 20573  func (s *CreateDBInstanceReadReplicaInput) SetDBInstanceIdentifier(v string) *CreateDBInstanceReadReplicaInput {
 20574  	s.DBInstanceIdentifier = &v
 20575  	return s
 20576  }
 20577  
 20578  // SetDBParameterGroupName sets the DBParameterGroupName field's value.
 20579  func (s *CreateDBInstanceReadReplicaInput) SetDBParameterGroupName(v string) *CreateDBInstanceReadReplicaInput {
 20580  	s.DBParameterGroupName = &v
 20581  	return s
 20582  }
 20583  
 20584  // SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
 20585  func (s *CreateDBInstanceReadReplicaInput) SetDBSubnetGroupName(v string) *CreateDBInstanceReadReplicaInput {
 20586  	s.DBSubnetGroupName = &v
 20587  	return s
 20588  }
 20589  
 20590  // SetDeletionProtection sets the DeletionProtection field's value.
 20591  func (s *CreateDBInstanceReadReplicaInput) SetDeletionProtection(v bool) *CreateDBInstanceReadReplicaInput {
 20592  	s.DeletionProtection = &v
 20593  	return s
 20594  }
 20595  
 20596  // SetDestinationRegion sets the DestinationRegion field's value.
 20597  func (s *CreateDBInstanceReadReplicaInput) SetDestinationRegion(v string) *CreateDBInstanceReadReplicaInput {
 20598  	s.DestinationRegion = &v
 20599  	return s
 20600  }
 20601  
 20602  // SetDomain sets the Domain field's value.
 20603  func (s *CreateDBInstanceReadReplicaInput) SetDomain(v string) *CreateDBInstanceReadReplicaInput {
 20604  	s.Domain = &v
 20605  	return s
 20606  }
 20607  
 20608  // SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
 20609  func (s *CreateDBInstanceReadReplicaInput) SetDomainIAMRoleName(v string) *CreateDBInstanceReadReplicaInput {
 20610  	s.DomainIAMRoleName = &v
 20611  	return s
 20612  }
 20613  
 20614  // SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
 20615  func (s *CreateDBInstanceReadReplicaInput) SetEnableCloudwatchLogsExports(v []*string) *CreateDBInstanceReadReplicaInput {
 20616  	s.EnableCloudwatchLogsExports = v
 20617  	return s
 20618  }
 20619  
 20620  // SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
 20621  func (s *CreateDBInstanceReadReplicaInput) SetEnableIAMDatabaseAuthentication(v bool) *CreateDBInstanceReadReplicaInput {
 20622  	s.EnableIAMDatabaseAuthentication = &v
 20623  	return s
 20624  }
 20625  
 20626  // SetEnablePerformanceInsights sets the EnablePerformanceInsights field's value.
 20627  func (s *CreateDBInstanceReadReplicaInput) SetEnablePerformanceInsights(v bool) *CreateDBInstanceReadReplicaInput {
 20628  	s.EnablePerformanceInsights = &v
 20629  	return s
 20630  }
 20631  
 20632  // SetIops sets the Iops field's value.
 20633  func (s *CreateDBInstanceReadReplicaInput) SetIops(v int64) *CreateDBInstanceReadReplicaInput {
 20634  	s.Iops = &v
 20635  	return s
 20636  }
 20637  
 20638  // SetKmsKeyId sets the KmsKeyId field's value.
 20639  func (s *CreateDBInstanceReadReplicaInput) SetKmsKeyId(v string) *CreateDBInstanceReadReplicaInput {
 20640  	s.KmsKeyId = &v
 20641  	return s
 20642  }
 20643  
 20644  // SetMaxAllocatedStorage sets the MaxAllocatedStorage field's value.
 20645  func (s *CreateDBInstanceReadReplicaInput) SetMaxAllocatedStorage(v int64) *CreateDBInstanceReadReplicaInput {
 20646  	s.MaxAllocatedStorage = &v
 20647  	return s
 20648  }
 20649  
 20650  // SetMonitoringInterval sets the MonitoringInterval field's value.
 20651  func (s *CreateDBInstanceReadReplicaInput) SetMonitoringInterval(v int64) *CreateDBInstanceReadReplicaInput {
 20652  	s.MonitoringInterval = &v
 20653  	return s
 20654  }
 20655  
 20656  // SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
 20657  func (s *CreateDBInstanceReadReplicaInput) SetMonitoringRoleArn(v string) *CreateDBInstanceReadReplicaInput {
 20658  	s.MonitoringRoleArn = &v
 20659  	return s
 20660  }
 20661  
 20662  // SetMultiAZ sets the MultiAZ field's value.
 20663  func (s *CreateDBInstanceReadReplicaInput) SetMultiAZ(v bool) *CreateDBInstanceReadReplicaInput {
 20664  	s.MultiAZ = &v
 20665  	return s
 20666  }
 20667  
 20668  // SetOptionGroupName sets the OptionGroupName field's value.
 20669  func (s *CreateDBInstanceReadReplicaInput) SetOptionGroupName(v string) *CreateDBInstanceReadReplicaInput {
 20670  	s.OptionGroupName = &v
 20671  	return s
 20672  }
 20673  
 20674  // SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
 20675  func (s *CreateDBInstanceReadReplicaInput) SetPerformanceInsightsKMSKeyId(v string) *CreateDBInstanceReadReplicaInput {
 20676  	s.PerformanceInsightsKMSKeyId = &v
 20677  	return s
 20678  }
 20679  
 20680  // SetPerformanceInsightsRetentionPeriod sets the PerformanceInsightsRetentionPeriod field's value.
 20681  func (s *CreateDBInstanceReadReplicaInput) SetPerformanceInsightsRetentionPeriod(v int64) *CreateDBInstanceReadReplicaInput {
 20682  	s.PerformanceInsightsRetentionPeriod = &v
 20683  	return s
 20684  }
 20685  
 20686  // SetPort sets the Port field's value.
 20687  func (s *CreateDBInstanceReadReplicaInput) SetPort(v int64) *CreateDBInstanceReadReplicaInput {
 20688  	s.Port = &v
 20689  	return s
 20690  }
 20691  
 20692  // SetPreSignedUrl sets the PreSignedUrl field's value.
 20693  func (s *CreateDBInstanceReadReplicaInput) SetPreSignedUrl(v string) *CreateDBInstanceReadReplicaInput {
 20694  	s.PreSignedUrl = &v
 20695  	return s
 20696  }
 20697  
 20698  // SetProcessorFeatures sets the ProcessorFeatures field's value.
 20699  func (s *CreateDBInstanceReadReplicaInput) SetProcessorFeatures(v []*ProcessorFeature) *CreateDBInstanceReadReplicaInput {
 20700  	s.ProcessorFeatures = v
 20701  	return s
 20702  }
 20703  
 20704  // SetPubliclyAccessible sets the PubliclyAccessible field's value.
 20705  func (s *CreateDBInstanceReadReplicaInput) SetPubliclyAccessible(v bool) *CreateDBInstanceReadReplicaInput {
 20706  	s.PubliclyAccessible = &v
 20707  	return s
 20708  }
 20709  
 20710  // SetReplicaMode sets the ReplicaMode field's value.
 20711  func (s *CreateDBInstanceReadReplicaInput) SetReplicaMode(v string) *CreateDBInstanceReadReplicaInput {
 20712  	s.ReplicaMode = &v
 20713  	return s
 20714  }
 20715  
 20716  // SetSourceDBInstanceIdentifier sets the SourceDBInstanceIdentifier field's value.
 20717  func (s *CreateDBInstanceReadReplicaInput) SetSourceDBInstanceIdentifier(v string) *CreateDBInstanceReadReplicaInput {
 20718  	s.SourceDBInstanceIdentifier = &v
 20719  	return s
 20720  }
 20721  
 20722  // SetSourceRegion sets the SourceRegion field's value.
 20723  func (s *CreateDBInstanceReadReplicaInput) SetSourceRegion(v string) *CreateDBInstanceReadReplicaInput {
 20724  	s.SourceRegion = &v
 20725  	return s
 20726  }
 20727  
 20728  // SetStorageType sets the StorageType field's value.
 20729  func (s *CreateDBInstanceReadReplicaInput) SetStorageType(v string) *CreateDBInstanceReadReplicaInput {
 20730  	s.StorageType = &v
 20731  	return s
 20732  }
 20733  
 20734  // SetTags sets the Tags field's value.
 20735  func (s *CreateDBInstanceReadReplicaInput) SetTags(v []*Tag) *CreateDBInstanceReadReplicaInput {
 20736  	s.Tags = v
 20737  	return s
 20738  }
 20739  
 20740  // SetUseDefaultProcessorFeatures sets the UseDefaultProcessorFeatures field's value.
 20741  func (s *CreateDBInstanceReadReplicaInput) SetUseDefaultProcessorFeatures(v bool) *CreateDBInstanceReadReplicaInput {
 20742  	s.UseDefaultProcessorFeatures = &v
 20743  	return s
 20744  }
 20745  
 20746  // SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
 20747  func (s *CreateDBInstanceReadReplicaInput) SetVpcSecurityGroupIds(v []*string) *CreateDBInstanceReadReplicaInput {
 20748  	s.VpcSecurityGroupIds = v
 20749  	return s
 20750  }
 20751  
 20752  type CreateDBInstanceReadReplicaOutput struct {
 20753  	_ struct{} `type:"structure"`
 20754  
 20755  	// Contains the details of an Amazon RDS DB instance.
 20756  	//
 20757  	// This data type is used as a response element in the DescribeDBInstances action.
 20758  	DBInstance *DBInstance `type:"structure"`
 20759  }
 20760  
 20761  // String returns the string representation.
 20762  //
 20763  // API parameter values that are decorated as "sensitive" in the API will not
 20764  // be included in the string output. The member name will be present, but the
 20765  // value will be replaced with "sensitive".
 20766  func (s CreateDBInstanceReadReplicaOutput) String() string {
 20767  	return awsutil.Prettify(s)
 20768  }
 20769  
 20770  // GoString returns the string representation.
 20771  //
 20772  // API parameter values that are decorated as "sensitive" in the API will not
 20773  // be included in the string output. The member name will be present, but the
 20774  // value will be replaced with "sensitive".
 20775  func (s CreateDBInstanceReadReplicaOutput) GoString() string {
 20776  	return s.String()
 20777  }
 20778  
 20779  // SetDBInstance sets the DBInstance field's value.
 20780  func (s *CreateDBInstanceReadReplicaOutput) SetDBInstance(v *DBInstance) *CreateDBInstanceReadReplicaOutput {
 20781  	s.DBInstance = v
 20782  	return s
 20783  }
 20784  
 20785  type CreateDBParameterGroupInput struct {
 20786  	_ struct{} `type:"structure"`
 20787  
 20788  	// The DB parameter group family name. A DB parameter group can be associated
 20789  	// with one and only one DB parameter group family, and can be applied only
 20790  	// to a DB instance running a database engine and engine version compatible
 20791  	// with that DB parameter group family.
 20792  	//
 20793  	// To list all of the available parameter group families for a DB engine, use
 20794  	// the following command:
 20795  	//
 20796  	// aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily"
 20797  	// --engine <engine>
 20798  	//
 20799  	// For example, to list all of the available parameter group families for the
 20800  	// MySQL DB engine, use the following command:
 20801  	//
 20802  	// aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily"
 20803  	// --engine mysql
 20804  	//
 20805  	// The output contains duplicates.
 20806  	//
 20807  	// The following are the valid DB engine values:
 20808  	//
 20809  	//    * aurora (for MySQL 5.6-compatible Aurora)
 20810  	//
 20811  	//    * aurora-mysql (for MySQL 5.7-compatible Aurora)
 20812  	//
 20813  	//    * aurora-postgresql
 20814  	//
 20815  	//    * mariadb
 20816  	//
 20817  	//    * mysql
 20818  	//
 20819  	//    * oracle-ee
 20820  	//
 20821  	//    * oracle-ee-cdb
 20822  	//
 20823  	//    * oracle-se2
 20824  	//
 20825  	//    * oracle-se2-cdb
 20826  	//
 20827  	//    * postgres
 20828  	//
 20829  	//    * sqlserver-ee
 20830  	//
 20831  	//    * sqlserver-se
 20832  	//
 20833  	//    * sqlserver-ex
 20834  	//
 20835  	//    * sqlserver-web
 20836  	//
 20837  	// DBParameterGroupFamily is a required field
 20838  	DBParameterGroupFamily *string `type:"string" required:"true"`
 20839  
 20840  	// The name of the DB parameter group.
 20841  	//
 20842  	// Constraints:
 20843  	//
 20844  	//    * Must be 1 to 255 letters, numbers, or hyphens.
 20845  	//
 20846  	//    * First character must be a letter
 20847  	//
 20848  	//    * Can't end with a hyphen or contain two consecutive hyphens
 20849  	//
 20850  	// This value is stored as a lowercase string.
 20851  	//
 20852  	// DBParameterGroupName is a required field
 20853  	DBParameterGroupName *string `type:"string" required:"true"`
 20854  
 20855  	// The description for the DB parameter group.
 20856  	//
 20857  	// Description is a required field
 20858  	Description *string `type:"string" required:"true"`
 20859  
 20860  	// Tags to assign to the DB parameter group.
 20861  	Tags []*Tag `locationNameList:"Tag" type:"list"`
 20862  }
 20863  
 20864  // String returns the string representation.
 20865  //
 20866  // API parameter values that are decorated as "sensitive" in the API will not
 20867  // be included in the string output. The member name will be present, but the
 20868  // value will be replaced with "sensitive".
 20869  func (s CreateDBParameterGroupInput) String() string {
 20870  	return awsutil.Prettify(s)
 20871  }
 20872  
 20873  // GoString returns the string representation.
 20874  //
 20875  // API parameter values that are decorated as "sensitive" in the API will not
 20876  // be included in the string output. The member name will be present, but the
 20877  // value will be replaced with "sensitive".
 20878  func (s CreateDBParameterGroupInput) GoString() string {
 20879  	return s.String()
 20880  }
 20881  
 20882  // Validate inspects the fields of the type to determine if they are valid.
 20883  func (s *CreateDBParameterGroupInput) Validate() error {
 20884  	invalidParams := request.ErrInvalidParams{Context: "CreateDBParameterGroupInput"}
 20885  	if s.DBParameterGroupFamily == nil {
 20886  		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
 20887  	}
 20888  	if s.DBParameterGroupName == nil {
 20889  		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
 20890  	}
 20891  	if s.Description == nil {
 20892  		invalidParams.Add(request.NewErrParamRequired("Description"))
 20893  	}
 20894  
 20895  	if invalidParams.Len() > 0 {
 20896  		return invalidParams
 20897  	}
 20898  	return nil
 20899  }
 20900  
 20901  // SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
 20902  func (s *CreateDBParameterGroupInput) SetDBParameterGroupFamily(v string) *CreateDBParameterGroupInput {
 20903  	s.DBParameterGroupFamily = &v
 20904  	return s
 20905  }
 20906  
 20907  // SetDBParameterGroupName sets the DBParameterGroupName field's value.
 20908  func (s *CreateDBParameterGroupInput) SetDBParameterGroupName(v string) *CreateDBParameterGroupInput {
 20909  	s.DBParameterGroupName = &v
 20910  	return s
 20911  }
 20912  
 20913  // SetDescription sets the Description field's value.
 20914  func (s *CreateDBParameterGroupInput) SetDescription(v string) *CreateDBParameterGroupInput {
 20915  	s.Description = &v
 20916  	return s
 20917  }
 20918  
 20919  // SetTags sets the Tags field's value.
 20920  func (s *CreateDBParameterGroupInput) SetTags(v []*Tag) *CreateDBParameterGroupInput {
 20921  	s.Tags = v
 20922  	return s
 20923  }
 20924  
 20925  type CreateDBParameterGroupOutput struct {
 20926  	_ struct{} `type:"structure"`
 20927  
 20928  	// Contains the details of an Amazon RDS DB parameter group.
 20929  	//
 20930  	// This data type is used as a response element in the DescribeDBParameterGroups
 20931  	// action.
 20932  	DBParameterGroup *DBParameterGroup `type:"structure"`
 20933  }
 20934  
 20935  // String returns the string representation.
 20936  //
 20937  // API parameter values that are decorated as "sensitive" in the API will not
 20938  // be included in the string output. The member name will be present, but the
 20939  // value will be replaced with "sensitive".
 20940  func (s CreateDBParameterGroupOutput) String() string {
 20941  	return awsutil.Prettify(s)
 20942  }
 20943  
 20944  // GoString returns the string representation.
 20945  //
 20946  // API parameter values that are decorated as "sensitive" in the API will not
 20947  // be included in the string output. The member name will be present, but the
 20948  // value will be replaced with "sensitive".
 20949  func (s CreateDBParameterGroupOutput) GoString() string {
 20950  	return s.String()
 20951  }
 20952  
 20953  // SetDBParameterGroup sets the DBParameterGroup field's value.
 20954  func (s *CreateDBParameterGroupOutput) SetDBParameterGroup(v *DBParameterGroup) *CreateDBParameterGroupOutput {
 20955  	s.DBParameterGroup = v
 20956  	return s
 20957  }
 20958  
 20959  type CreateDBProxyEndpointInput struct {
 20960  	_ struct{} `type:"structure"`
 20961  
 20962  	// The name of the DB proxy endpoint to create.
 20963  	//
 20964  	// DBProxyEndpointName is a required field
 20965  	DBProxyEndpointName *string `min:"1" type:"string" required:"true"`
 20966  
 20967  	// The name of the DB proxy associated with the DB proxy endpoint that you create.
 20968  	//
 20969  	// DBProxyName is a required field
 20970  	DBProxyName *string `min:"1" type:"string" required:"true"`
 20971  
 20972  	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
 20973  	// in the Amazon RDS User Guide.
 20974  	Tags []*Tag `locationNameList:"Tag" type:"list"`
 20975  
 20976  	// A value that indicates whether the DB proxy endpoint can be used for read/write
 20977  	// or read-only operations. The default is READ_WRITE.
 20978  	TargetRole *string `type:"string" enum:"DBProxyEndpointTargetRole"`
 20979  
 20980  	// The VPC security group IDs for the DB proxy endpoint that you create. You
 20981  	// can specify a different set of security group IDs than for the original DB
 20982  	// proxy. The default is the default security group for the VPC.
 20983  	VpcSecurityGroupIds []*string `type:"list"`
 20984  
 20985  	// The VPC subnet IDs for the DB proxy endpoint that you create. You can specify
 20986  	// a different set of subnet IDs than for the original DB proxy.
 20987  	//
 20988  	// VpcSubnetIds is a required field
 20989  	VpcSubnetIds []*string `type:"list" required:"true"`
 20990  }
 20991  
 20992  // String returns the string representation.
 20993  //
 20994  // API parameter values that are decorated as "sensitive" in the API will not
 20995  // be included in the string output. The member name will be present, but the
 20996  // value will be replaced with "sensitive".
 20997  func (s CreateDBProxyEndpointInput) String() string {
 20998  	return awsutil.Prettify(s)
 20999  }
 21000  
 21001  // GoString returns the string representation.
 21002  //
 21003  // API parameter values that are decorated as "sensitive" in the API will not
 21004  // be included in the string output. The member name will be present, but the
 21005  // value will be replaced with "sensitive".
 21006  func (s CreateDBProxyEndpointInput) GoString() string {
 21007  	return s.String()
 21008  }
 21009  
 21010  // Validate inspects the fields of the type to determine if they are valid.
 21011  func (s *CreateDBProxyEndpointInput) Validate() error {
 21012  	invalidParams := request.ErrInvalidParams{Context: "CreateDBProxyEndpointInput"}
 21013  	if s.DBProxyEndpointName == nil {
 21014  		invalidParams.Add(request.NewErrParamRequired("DBProxyEndpointName"))
 21015  	}
 21016  	if s.DBProxyEndpointName != nil && len(*s.DBProxyEndpointName) < 1 {
 21017  		invalidParams.Add(request.NewErrParamMinLen("DBProxyEndpointName", 1))
 21018  	}
 21019  	if s.DBProxyName == nil {
 21020  		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
 21021  	}
 21022  	if s.DBProxyName != nil && len(*s.DBProxyName) < 1 {
 21023  		invalidParams.Add(request.NewErrParamMinLen("DBProxyName", 1))
 21024  	}
 21025  	if s.VpcSubnetIds == nil {
 21026  		invalidParams.Add(request.NewErrParamRequired("VpcSubnetIds"))
 21027  	}
 21028  
 21029  	if invalidParams.Len() > 0 {
 21030  		return invalidParams
 21031  	}
 21032  	return nil
 21033  }
 21034  
 21035  // SetDBProxyEndpointName sets the DBProxyEndpointName field's value.
 21036  func (s *CreateDBProxyEndpointInput) SetDBProxyEndpointName(v string) *CreateDBProxyEndpointInput {
 21037  	s.DBProxyEndpointName = &v
 21038  	return s
 21039  }
 21040  
 21041  // SetDBProxyName sets the DBProxyName field's value.
 21042  func (s *CreateDBProxyEndpointInput) SetDBProxyName(v string) *CreateDBProxyEndpointInput {
 21043  	s.DBProxyName = &v
 21044  	return s
 21045  }
 21046  
 21047  // SetTags sets the Tags field's value.
 21048  func (s *CreateDBProxyEndpointInput) SetTags(v []*Tag) *CreateDBProxyEndpointInput {
 21049  	s.Tags = v
 21050  	return s
 21051  }
 21052  
 21053  // SetTargetRole sets the TargetRole field's value.
 21054  func (s *CreateDBProxyEndpointInput) SetTargetRole(v string) *CreateDBProxyEndpointInput {
 21055  	s.TargetRole = &v
 21056  	return s
 21057  }
 21058  
 21059  // SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
 21060  func (s *CreateDBProxyEndpointInput) SetVpcSecurityGroupIds(v []*string) *CreateDBProxyEndpointInput {
 21061  	s.VpcSecurityGroupIds = v
 21062  	return s
 21063  }
 21064  
 21065  // SetVpcSubnetIds sets the VpcSubnetIds field's value.
 21066  func (s *CreateDBProxyEndpointInput) SetVpcSubnetIds(v []*string) *CreateDBProxyEndpointInput {
 21067  	s.VpcSubnetIds = v
 21068  	return s
 21069  }
 21070  
 21071  type CreateDBProxyEndpointOutput struct {
 21072  	_ struct{} `type:"structure"`
 21073  
 21074  	// The DBProxyEndpoint object that is created by the API operation. The DB proxy
 21075  	// endpoint that you create might provide capabilities such as read/write or
 21076  	// read-only operations, or using a different VPC than the proxy's default VPC.
 21077  	DBProxyEndpoint *DBProxyEndpoint `type:"structure"`
 21078  }
 21079  
 21080  // String returns the string representation.
 21081  //
 21082  // API parameter values that are decorated as "sensitive" in the API will not
 21083  // be included in the string output. The member name will be present, but the
 21084  // value will be replaced with "sensitive".
 21085  func (s CreateDBProxyEndpointOutput) String() string {
 21086  	return awsutil.Prettify(s)
 21087  }
 21088  
 21089  // GoString returns the string representation.
 21090  //
 21091  // API parameter values that are decorated as "sensitive" in the API will not
 21092  // be included in the string output. The member name will be present, but the
 21093  // value will be replaced with "sensitive".
 21094  func (s CreateDBProxyEndpointOutput) GoString() string {
 21095  	return s.String()
 21096  }
 21097  
 21098  // SetDBProxyEndpoint sets the DBProxyEndpoint field's value.
 21099  func (s *CreateDBProxyEndpointOutput) SetDBProxyEndpoint(v *DBProxyEndpoint) *CreateDBProxyEndpointOutput {
 21100  	s.DBProxyEndpoint = v
 21101  	return s
 21102  }
 21103  
 21104  type CreateDBProxyInput struct {
 21105  	_ struct{} `type:"structure"`
 21106  
 21107  	// The authorization mechanism that the proxy uses.
 21108  	//
 21109  	// Auth is a required field
 21110  	Auth []*UserAuthConfig `type:"list" required:"true"`
 21111  
 21112  	// The identifier for the proxy. This name must be unique for all proxies owned
 21113  	// by your Amazon Web Services account in the specified Amazon Web Services
 21114  	// Region. An identifier must begin with a letter and must contain only ASCII
 21115  	// letters, digits, and hyphens; it can't end with a hyphen or contain two consecutive
 21116  	// hyphens.
 21117  	//
 21118  	// DBProxyName is a required field
 21119  	DBProxyName *string `type:"string" required:"true"`
 21120  
 21121  	// Whether the proxy includes detailed information about SQL statements in its
 21122  	// logs. This information helps you to debug issues involving SQL behavior or
 21123  	// the performance and scalability of the proxy connections. The debug information
 21124  	// includes the text of SQL statements that you submit through the proxy. Thus,
 21125  	// only enable this setting when needed for debugging, and only when you have
 21126  	// security measures in place to safeguard any sensitive information that appears
 21127  	// in the logs.
 21128  	DebugLogging *bool `type:"boolean"`
 21129  
 21130  	// The kinds of databases that the proxy can connect to. This value determines
 21131  	// which database network protocol the proxy recognizes when it interprets network
 21132  	// traffic to and from the database. The engine family applies to MySQL and
 21133  	// PostgreSQL for both RDS and Aurora.
 21134  	//
 21135  	// EngineFamily is a required field
 21136  	EngineFamily *string `type:"string" required:"true" enum:"EngineFamily"`
 21137  
 21138  	// The number of seconds that a connection to the proxy can be inactive before
 21139  	// the proxy disconnects it. You can set this value higher or lower than the
 21140  	// connection timeout limit for the associated database.
 21141  	IdleClientTimeout *int64 `type:"integer"`
 21142  
 21143  	// A Boolean parameter that specifies whether Transport Layer Security (TLS)
 21144  	// encryption is required for connections to the proxy. By enabling this setting,
 21145  	// you can enforce encrypted TLS connections to the proxy.
 21146  	RequireTLS *bool `type:"boolean"`
 21147  
 21148  	// The Amazon Resource Name (ARN) of the IAM role that the proxy uses to access
 21149  	// secrets in Amazon Web Services Secrets Manager.
 21150  	//
 21151  	// RoleArn is a required field
 21152  	RoleArn *string `type:"string" required:"true"`
 21153  
 21154  	// An optional set of key-value pairs to associate arbitrary data of your choosing
 21155  	// with the proxy.
 21156  	Tags []*Tag `locationNameList:"Tag" type:"list"`
 21157  
 21158  	// One or more VPC security group IDs to associate with the new proxy.
 21159  	VpcSecurityGroupIds []*string `type:"list"`
 21160  
 21161  	// One or more VPC subnet IDs to associate with the new proxy.
 21162  	//
 21163  	// VpcSubnetIds is a required field
 21164  	VpcSubnetIds []*string `type:"list" required:"true"`
 21165  }
 21166  
 21167  // String returns the string representation.
 21168  //
 21169  // API parameter values that are decorated as "sensitive" in the API will not
 21170  // be included in the string output. The member name will be present, but the
 21171  // value will be replaced with "sensitive".
 21172  func (s CreateDBProxyInput) String() string {
 21173  	return awsutil.Prettify(s)
 21174  }
 21175  
 21176  // GoString returns the string representation.
 21177  //
 21178  // API parameter values that are decorated as "sensitive" in the API will not
 21179  // be included in the string output. The member name will be present, but the
 21180  // value will be replaced with "sensitive".
 21181  func (s CreateDBProxyInput) GoString() string {
 21182  	return s.String()
 21183  }
 21184  
 21185  // Validate inspects the fields of the type to determine if they are valid.
 21186  func (s *CreateDBProxyInput) Validate() error {
 21187  	invalidParams := request.ErrInvalidParams{Context: "CreateDBProxyInput"}
 21188  	if s.Auth == nil {
 21189  		invalidParams.Add(request.NewErrParamRequired("Auth"))
 21190  	}
 21191  	if s.DBProxyName == nil {
 21192  		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
 21193  	}
 21194  	if s.EngineFamily == nil {
 21195  		invalidParams.Add(request.NewErrParamRequired("EngineFamily"))
 21196  	}
 21197  	if s.RoleArn == nil {
 21198  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
 21199  	}
 21200  	if s.VpcSubnetIds == nil {
 21201  		invalidParams.Add(request.NewErrParamRequired("VpcSubnetIds"))
 21202  	}
 21203  
 21204  	if invalidParams.Len() > 0 {
 21205  		return invalidParams
 21206  	}
 21207  	return nil
 21208  }
 21209  
 21210  // SetAuth sets the Auth field's value.
 21211  func (s *CreateDBProxyInput) SetAuth(v []*UserAuthConfig) *CreateDBProxyInput {
 21212  	s.Auth = v
 21213  	return s
 21214  }
 21215  
 21216  // SetDBProxyName sets the DBProxyName field's value.
 21217  func (s *CreateDBProxyInput) SetDBProxyName(v string) *CreateDBProxyInput {
 21218  	s.DBProxyName = &v
 21219  	return s
 21220  }
 21221  
 21222  // SetDebugLogging sets the DebugLogging field's value.
 21223  func (s *CreateDBProxyInput) SetDebugLogging(v bool) *CreateDBProxyInput {
 21224  	s.DebugLogging = &v
 21225  	return s
 21226  }
 21227  
 21228  // SetEngineFamily sets the EngineFamily field's value.
 21229  func (s *CreateDBProxyInput) SetEngineFamily(v string) *CreateDBProxyInput {
 21230  	s.EngineFamily = &v
 21231  	return s
 21232  }
 21233  
 21234  // SetIdleClientTimeout sets the IdleClientTimeout field's value.
 21235  func (s *CreateDBProxyInput) SetIdleClientTimeout(v int64) *CreateDBProxyInput {
 21236  	s.IdleClientTimeout = &v
 21237  	return s
 21238  }
 21239  
 21240  // SetRequireTLS sets the RequireTLS field's value.
 21241  func (s *CreateDBProxyInput) SetRequireTLS(v bool) *CreateDBProxyInput {
 21242  	s.RequireTLS = &v
 21243  	return s
 21244  }
 21245  
 21246  // SetRoleArn sets the RoleArn field's value.
 21247  func (s *CreateDBProxyInput) SetRoleArn(v string) *CreateDBProxyInput {
 21248  	s.RoleArn = &v
 21249  	return s
 21250  }
 21251  
 21252  // SetTags sets the Tags field's value.
 21253  func (s *CreateDBProxyInput) SetTags(v []*Tag) *CreateDBProxyInput {
 21254  	s.Tags = v
 21255  	return s
 21256  }
 21257  
 21258  // SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
 21259  func (s *CreateDBProxyInput) SetVpcSecurityGroupIds(v []*string) *CreateDBProxyInput {
 21260  	s.VpcSecurityGroupIds = v
 21261  	return s
 21262  }
 21263  
 21264  // SetVpcSubnetIds sets the VpcSubnetIds field's value.
 21265  func (s *CreateDBProxyInput) SetVpcSubnetIds(v []*string) *CreateDBProxyInput {
 21266  	s.VpcSubnetIds = v
 21267  	return s
 21268  }
 21269  
 21270  type CreateDBProxyOutput struct {
 21271  	_ struct{} `type:"structure"`
 21272  
 21273  	// The DBProxy structure corresponding to the new proxy.
 21274  	DBProxy *DBProxy `type:"structure"`
 21275  }
 21276  
 21277  // String returns the string representation.
 21278  //
 21279  // API parameter values that are decorated as "sensitive" in the API will not
 21280  // be included in the string output. The member name will be present, but the
 21281  // value will be replaced with "sensitive".
 21282  func (s CreateDBProxyOutput) String() string {
 21283  	return awsutil.Prettify(s)
 21284  }
 21285  
 21286  // GoString returns the string representation.
 21287  //
 21288  // API parameter values that are decorated as "sensitive" in the API will not
 21289  // be included in the string output. The member name will be present, but the
 21290  // value will be replaced with "sensitive".
 21291  func (s CreateDBProxyOutput) GoString() string {
 21292  	return s.String()
 21293  }
 21294  
 21295  // SetDBProxy sets the DBProxy field's value.
 21296  func (s *CreateDBProxyOutput) SetDBProxy(v *DBProxy) *CreateDBProxyOutput {
 21297  	s.DBProxy = v
 21298  	return s
 21299  }
 21300  
 21301  type CreateDBSecurityGroupInput struct {
 21302  	_ struct{} `type:"structure"`
 21303  
 21304  	// The description for the DB security group.
 21305  	//
 21306  	// DBSecurityGroupDescription is a required field
 21307  	DBSecurityGroupDescription *string `type:"string" required:"true"`
 21308  
 21309  	// The name for the DB security group. This value is stored as a lowercase string.
 21310  	//
 21311  	// Constraints:
 21312  	//
 21313  	//    * Must be 1 to 255 letters, numbers, or hyphens.
 21314  	//
 21315  	//    * First character must be a letter
 21316  	//
 21317  	//    * Can't end with a hyphen or contain two consecutive hyphens
 21318  	//
 21319  	//    * Must not be "Default"
 21320  	//
 21321  	// Example: mysecuritygroup
 21322  	//
 21323  	// DBSecurityGroupName is a required field
 21324  	DBSecurityGroupName *string `type:"string" required:"true"`
 21325  
 21326  	// Tags to assign to the DB security group.
 21327  	Tags []*Tag `locationNameList:"Tag" type:"list"`
 21328  }
 21329  
 21330  // String returns the string representation.
 21331  //
 21332  // API parameter values that are decorated as "sensitive" in the API will not
 21333  // be included in the string output. The member name will be present, but the
 21334  // value will be replaced with "sensitive".
 21335  func (s CreateDBSecurityGroupInput) String() string {
 21336  	return awsutil.Prettify(s)
 21337  }
 21338  
 21339  // GoString returns the string representation.
 21340  //
 21341  // API parameter values that are decorated as "sensitive" in the API will not
 21342  // be included in the string output. The member name will be present, but the
 21343  // value will be replaced with "sensitive".
 21344  func (s CreateDBSecurityGroupInput) GoString() string {
 21345  	return s.String()
 21346  }
 21347  
 21348  // Validate inspects the fields of the type to determine if they are valid.
 21349  func (s *CreateDBSecurityGroupInput) Validate() error {
 21350  	invalidParams := request.ErrInvalidParams{Context: "CreateDBSecurityGroupInput"}
 21351  	if s.DBSecurityGroupDescription == nil {
 21352  		invalidParams.Add(request.NewErrParamRequired("DBSecurityGroupDescription"))
 21353  	}
 21354  	if s.DBSecurityGroupName == nil {
 21355  		invalidParams.Add(request.NewErrParamRequired("DBSecurityGroupName"))
 21356  	}
 21357  
 21358  	if invalidParams.Len() > 0 {
 21359  		return invalidParams
 21360  	}
 21361  	return nil
 21362  }
 21363  
 21364  // SetDBSecurityGroupDescription sets the DBSecurityGroupDescription field's value.
 21365  func (s *CreateDBSecurityGroupInput) SetDBSecurityGroupDescription(v string) *CreateDBSecurityGroupInput {
 21366  	s.DBSecurityGroupDescription = &v
 21367  	return s
 21368  }
 21369  
 21370  // SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
 21371  func (s *CreateDBSecurityGroupInput) SetDBSecurityGroupName(v string) *CreateDBSecurityGroupInput {
 21372  	s.DBSecurityGroupName = &v
 21373  	return s
 21374  }
 21375  
 21376  // SetTags sets the Tags field's value.
 21377  func (s *CreateDBSecurityGroupInput) SetTags(v []*Tag) *CreateDBSecurityGroupInput {
 21378  	s.Tags = v
 21379  	return s
 21380  }
 21381  
 21382  type CreateDBSecurityGroupOutput struct {
 21383  	_ struct{} `type:"structure"`
 21384  
 21385  	// Contains the details for an Amazon RDS DB security group.
 21386  	//
 21387  	// This data type is used as a response element in the DescribeDBSecurityGroups
 21388  	// action.
 21389  	DBSecurityGroup *DBSecurityGroup `type:"structure"`
 21390  }
 21391  
 21392  // String returns the string representation.
 21393  //
 21394  // API parameter values that are decorated as "sensitive" in the API will not
 21395  // be included in the string output. The member name will be present, but the
 21396  // value will be replaced with "sensitive".
 21397  func (s CreateDBSecurityGroupOutput) String() string {
 21398  	return awsutil.Prettify(s)
 21399  }
 21400  
 21401  // GoString returns the string representation.
 21402  //
 21403  // API parameter values that are decorated as "sensitive" in the API will not
 21404  // be included in the string output. The member name will be present, but the
 21405  // value will be replaced with "sensitive".
 21406  func (s CreateDBSecurityGroupOutput) GoString() string {
 21407  	return s.String()
 21408  }
 21409  
 21410  // SetDBSecurityGroup sets the DBSecurityGroup field's value.
 21411  func (s *CreateDBSecurityGroupOutput) SetDBSecurityGroup(v *DBSecurityGroup) *CreateDBSecurityGroupOutput {
 21412  	s.DBSecurityGroup = v
 21413  	return s
 21414  }
 21415  
 21416  type CreateDBSnapshotInput struct {
 21417  	_ struct{} `type:"structure"`
 21418  
 21419  	// The identifier of the DB instance that you want to create the snapshot of.
 21420  	//
 21421  	// Constraints:
 21422  	//
 21423  	//    * Must match the identifier of an existing DBInstance.
 21424  	//
 21425  	// DBInstanceIdentifier is a required field
 21426  	DBInstanceIdentifier *string `type:"string" required:"true"`
 21427  
 21428  	// The identifier for the DB snapshot.
 21429  	//
 21430  	// Constraints:
 21431  	//
 21432  	//    * Can't be null, empty, or blank
 21433  	//
 21434  	//    * Must contain from 1 to 255 letters, numbers, or hyphens
 21435  	//
 21436  	//    * First character must be a letter
 21437  	//
 21438  	//    * Can't end with a hyphen or contain two consecutive hyphens
 21439  	//
 21440  	// Example: my-snapshot-id
 21441  	//
 21442  	// DBSnapshotIdentifier is a required field
 21443  	DBSnapshotIdentifier *string `type:"string" required:"true"`
 21444  
 21445  	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
 21446  	// in the Amazon RDS User Guide.
 21447  	Tags []*Tag `locationNameList:"Tag" type:"list"`
 21448  }
 21449  
 21450  // String returns the string representation.
 21451  //
 21452  // API parameter values that are decorated as "sensitive" in the API will not
 21453  // be included in the string output. The member name will be present, but the
 21454  // value will be replaced with "sensitive".
 21455  func (s CreateDBSnapshotInput) String() string {
 21456  	return awsutil.Prettify(s)
 21457  }
 21458  
 21459  // GoString returns the string representation.
 21460  //
 21461  // API parameter values that are decorated as "sensitive" in the API will not
 21462  // be included in the string output. The member name will be present, but the
 21463  // value will be replaced with "sensitive".
 21464  func (s CreateDBSnapshotInput) GoString() string {
 21465  	return s.String()
 21466  }
 21467  
 21468  // Validate inspects the fields of the type to determine if they are valid.
 21469  func (s *CreateDBSnapshotInput) Validate() error {
 21470  	invalidParams := request.ErrInvalidParams{Context: "CreateDBSnapshotInput"}
 21471  	if s.DBInstanceIdentifier == nil {
 21472  		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
 21473  	}
 21474  	if s.DBSnapshotIdentifier == nil {
 21475  		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
 21476  	}
 21477  
 21478  	if invalidParams.Len() > 0 {
 21479  		return invalidParams
 21480  	}
 21481  	return nil
 21482  }
 21483  
 21484  // SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
 21485  func (s *CreateDBSnapshotInput) SetDBInstanceIdentifier(v string) *CreateDBSnapshotInput {
 21486  	s.DBInstanceIdentifier = &v
 21487  	return s
 21488  }
 21489  
 21490  // SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
 21491  func (s *CreateDBSnapshotInput) SetDBSnapshotIdentifier(v string) *CreateDBSnapshotInput {
 21492  	s.DBSnapshotIdentifier = &v
 21493  	return s
 21494  }
 21495  
 21496  // SetTags sets the Tags field's value.
 21497  func (s *CreateDBSnapshotInput) SetTags(v []*Tag) *CreateDBSnapshotInput {
 21498  	s.Tags = v
 21499  	return s
 21500  }
 21501  
 21502  type CreateDBSnapshotOutput struct {
 21503  	_ struct{} `type:"structure"`
 21504  
 21505  	// Contains the details of an Amazon RDS DB snapshot.
 21506  	//
 21507  	// This data type is used as a response element in the DescribeDBSnapshots action.
 21508  	DBSnapshot *DBSnapshot `type:"structure"`
 21509  }
 21510  
 21511  // String returns the string representation.
 21512  //
 21513  // API parameter values that are decorated as "sensitive" in the API will not
 21514  // be included in the string output. The member name will be present, but the
 21515  // value will be replaced with "sensitive".
 21516  func (s CreateDBSnapshotOutput) String() string {
 21517  	return awsutil.Prettify(s)
 21518  }
 21519  
 21520  // GoString returns the string representation.
 21521  //
 21522  // API parameter values that are decorated as "sensitive" in the API will not
 21523  // be included in the string output. The member name will be present, but the
 21524  // value will be replaced with "sensitive".
 21525  func (s CreateDBSnapshotOutput) GoString() string {
 21526  	return s.String()
 21527  }
 21528  
 21529  // SetDBSnapshot sets the DBSnapshot field's value.
 21530  func (s *CreateDBSnapshotOutput) SetDBSnapshot(v *DBSnapshot) *CreateDBSnapshotOutput {
 21531  	s.DBSnapshot = v
 21532  	return s
 21533  }
 21534  
 21535  type CreateDBSubnetGroupInput struct {
 21536  	_ struct{} `type:"structure"`
 21537  
 21538  	// The description for the DB subnet group.
 21539  	//
 21540  	// DBSubnetGroupDescription is a required field
 21541  	DBSubnetGroupDescription *string `type:"string" required:"true"`
 21542  
 21543  	// The name for the DB subnet group. This value is stored as a lowercase string.
 21544  	//
 21545  	// Constraints: Must contain no more than 255 letters, numbers, periods, underscores,
 21546  	// spaces, or hyphens. Must not be default.
 21547  	//
 21548  	// Example: mySubnetgroup
 21549  	//
 21550  	// DBSubnetGroupName is a required field
 21551  	DBSubnetGroupName *string `type:"string" required:"true"`
 21552  
 21553  	// The EC2 Subnet IDs for the DB subnet group.
 21554  	//
 21555  	// SubnetIds is a required field
 21556  	SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"`
 21557  
 21558  	// Tags to assign to the DB subnet group.
 21559  	Tags []*Tag `locationNameList:"Tag" type:"list"`
 21560  }
 21561  
 21562  // String returns the string representation.
 21563  //
 21564  // API parameter values that are decorated as "sensitive" in the API will not
 21565  // be included in the string output. The member name will be present, but the
 21566  // value will be replaced with "sensitive".
 21567  func (s CreateDBSubnetGroupInput) String() string {
 21568  	return awsutil.Prettify(s)
 21569  }
 21570  
 21571  // GoString returns the string representation.
 21572  //
 21573  // API parameter values that are decorated as "sensitive" in the API will not
 21574  // be included in the string output. The member name will be present, but the
 21575  // value will be replaced with "sensitive".
 21576  func (s CreateDBSubnetGroupInput) GoString() string {
 21577  	return s.String()
 21578  }
 21579  
 21580  // Validate inspects the fields of the type to determine if they are valid.
 21581  func (s *CreateDBSubnetGroupInput) Validate() error {
 21582  	invalidParams := request.ErrInvalidParams{Context: "CreateDBSubnetGroupInput"}
 21583  	if s.DBSubnetGroupDescription == nil {
 21584  		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupDescription"))
 21585  	}
 21586  	if s.DBSubnetGroupName == nil {
 21587  		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
 21588  	}
 21589  	if s.SubnetIds == nil {
 21590  		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
 21591  	}
 21592  
 21593  	if invalidParams.Len() > 0 {
 21594  		return invalidParams
 21595  	}
 21596  	return nil
 21597  }
 21598  
 21599  // SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
 21600  func (s *CreateDBSubnetGroupInput) SetDBSubnetGroupDescription(v string) *CreateDBSubnetGroupInput {
 21601  	s.DBSubnetGroupDescription = &v
 21602  	return s
 21603  }
 21604  
 21605  // SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
 21606  func (s *CreateDBSubnetGroupInput) SetDBSubnetGroupName(v string) *CreateDBSubnetGroupInput {
 21607  	s.DBSubnetGroupName = &v
 21608  	return s
 21609  }
 21610  
 21611  // SetSubnetIds sets the SubnetIds field's value.
 21612  func (s *CreateDBSubnetGroupInput) SetSubnetIds(v []*string) *CreateDBSubnetGroupInput {
 21613  	s.SubnetIds = v
 21614  	return s
 21615  }
 21616  
 21617  // SetTags sets the Tags field's value.
 21618  func (s *CreateDBSubnetGroupInput) SetTags(v []*Tag) *CreateDBSubnetGroupInput {
 21619  	s.Tags = v
 21620  	return s
 21621  }
 21622  
 21623  type CreateDBSubnetGroupOutput struct {
 21624  	_ struct{} `type:"structure"`
 21625  
 21626  	// Contains the details of an Amazon RDS DB subnet group.
 21627  	//
 21628  	// This data type is used as a response element in the DescribeDBSubnetGroups
 21629  	// action.
 21630  	DBSubnetGroup *DBSubnetGroup `type:"structure"`
 21631  }
 21632  
 21633  // String returns the string representation.
 21634  //
 21635  // API parameter values that are decorated as "sensitive" in the API will not
 21636  // be included in the string output. The member name will be present, but the
 21637  // value will be replaced with "sensitive".
 21638  func (s CreateDBSubnetGroupOutput) String() string {
 21639  	return awsutil.Prettify(s)
 21640  }
 21641  
 21642  // GoString returns the string representation.
 21643  //
 21644  // API parameter values that are decorated as "sensitive" in the API will not
 21645  // be included in the string output. The member name will be present, but the
 21646  // value will be replaced with "sensitive".
 21647  func (s CreateDBSubnetGroupOutput) GoString() string {
 21648  	return s.String()
 21649  }
 21650  
 21651  // SetDBSubnetGroup sets the DBSubnetGroup field's value.
 21652  func (s *CreateDBSubnetGroupOutput) SetDBSubnetGroup(v *DBSubnetGroup) *CreateDBSubnetGroupOutput {
 21653  	s.DBSubnetGroup = v
 21654  	return s
 21655  }
 21656  
 21657  type CreateEventSubscriptionInput struct {
 21658  	_ struct{} `type:"structure"`
 21659  
 21660  	// A value that indicates whether to activate the subscription. If the event
 21661  	// notification subscription isn't activated, the subscription is created but
 21662  	// not active.
 21663  	Enabled *bool `type:"boolean"`
 21664  
 21665  	// A list of event categories for a particular source type (SourceType) that
 21666  	// you want to subscribe to. You can see a list of the categories for a given
 21667  	// source type in Events (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html)
 21668  	// in the Amazon RDS User Guide or by using the DescribeEventCategories operation.
 21669  	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
 21670  
 21671  	// The Amazon Resource Name (ARN) of the SNS topic created for event notification.
 21672  	// The ARN is created by Amazon SNS when you create a topic and subscribe to
 21673  	// it.
 21674  	//
 21675  	// SnsTopicArn is a required field
 21676  	SnsTopicArn *string `type:"string" required:"true"`
 21677  
 21678  	// The list of identifiers of the event sources for which events are returned.
 21679  	// If not specified, then all sources are included in the response. An identifier
 21680  	// must begin with a letter and must contain only ASCII letters, digits, and
 21681  	// hyphens. It can't end with a hyphen or contain two consecutive hyphens.
 21682  	//
 21683  	// Constraints:
 21684  	//
 21685  	//    * If SourceIds are supplied, SourceType must also be provided.
 21686  	//
 21687  	//    * If the source type is a DB instance, a DBInstanceIdentifier value must
 21688  	//    be supplied.
 21689  	//
 21690  	//    * If the source type is a DB cluster, a DBClusterIdentifier value must
 21691  	//    be supplied.
 21692  	//
 21693  	//    * If the source type is a DB parameter group, a DBParameterGroupName value
 21694  	//    must be supplied.
 21695  	//
 21696  	//    * If the source type is a DB security group, a DBSecurityGroupName value
 21697  	//    must be supplied.
 21698  	//
 21699  	//    * If the source type is a DB snapshot, a DBSnapshotIdentifier value must
 21700  	//    be supplied.
 21701  	//
 21702  	//    * If the source type is a DB cluster snapshot, a DBClusterSnapshotIdentifier
 21703  	//    value must be supplied.
 21704  	SourceIds []*string `locationNameList:"SourceId" type:"list"`
 21705  
 21706  	// The type of source that is generating the events. For example, if you want
 21707  	// to be notified of events generated by a DB instance, you set this parameter
 21708  	// to db-instance. If this value isn't specified, all events are returned.
 21709  	//
 21710  	// Valid values: db-instance | db-cluster | db-parameter-group | db-security-group
 21711  	// | db-snapshot | db-cluster-snapshot
 21712  	SourceType *string `type:"string"`
 21713  
 21714  	// The name of the subscription.
 21715  	//
 21716  	// Constraints: The name must be less than 255 characters.
 21717  	//
 21718  	// SubscriptionName is a required field
 21719  	SubscriptionName *string `type:"string" required:"true"`
 21720  
 21721  	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
 21722  	// in the Amazon RDS User Guide.
 21723  	Tags []*Tag `locationNameList:"Tag" type:"list"`
 21724  }
 21725  
 21726  // String returns the string representation.
 21727  //
 21728  // API parameter values that are decorated as "sensitive" in the API will not
 21729  // be included in the string output. The member name will be present, but the
 21730  // value will be replaced with "sensitive".
 21731  func (s CreateEventSubscriptionInput) String() string {
 21732  	return awsutil.Prettify(s)
 21733  }
 21734  
 21735  // GoString returns the string representation.
 21736  //
 21737  // API parameter values that are decorated as "sensitive" in the API will not
 21738  // be included in the string output. The member name will be present, but the
 21739  // value will be replaced with "sensitive".
 21740  func (s CreateEventSubscriptionInput) GoString() string {
 21741  	return s.String()
 21742  }
 21743  
 21744  // Validate inspects the fields of the type to determine if they are valid.
 21745  func (s *CreateEventSubscriptionInput) Validate() error {
 21746  	invalidParams := request.ErrInvalidParams{Context: "CreateEventSubscriptionInput"}
 21747  	if s.SnsTopicArn == nil {
 21748  		invalidParams.Add(request.NewErrParamRequired("SnsTopicArn"))
 21749  	}
 21750  	if s.SubscriptionName == nil {
 21751  		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
 21752  	}
 21753  
 21754  	if invalidParams.Len() > 0 {
 21755  		return invalidParams
 21756  	}
 21757  	return nil
 21758  }
 21759  
 21760  // SetEnabled sets the Enabled field's value.
 21761  func (s *CreateEventSubscriptionInput) SetEnabled(v bool) *CreateEventSubscriptionInput {
 21762  	s.Enabled = &v
 21763  	return s
 21764  }
 21765  
 21766  // SetEventCategories sets the EventCategories field's value.
 21767  func (s *CreateEventSubscriptionInput) SetEventCategories(v []*string) *CreateEventSubscriptionInput {
 21768  	s.EventCategories = v
 21769  	return s
 21770  }
 21771  
 21772  // SetSnsTopicArn sets the SnsTopicArn field's value.
 21773  func (s *CreateEventSubscriptionInput) SetSnsTopicArn(v string) *CreateEventSubscriptionInput {
 21774  	s.SnsTopicArn = &v
 21775  	return s
 21776  }
 21777  
 21778  // SetSourceIds sets the SourceIds field's value.
 21779  func (s *CreateEventSubscriptionInput) SetSourceIds(v []*string) *CreateEventSubscriptionInput {
 21780  	s.SourceIds = v
 21781  	return s
 21782  }
 21783  
 21784  // SetSourceType sets the SourceType field's value.
 21785  func (s *CreateEventSubscriptionInput) SetSourceType(v string) *CreateEventSubscriptionInput {
 21786  	s.SourceType = &v
 21787  	return s
 21788  }
 21789  
 21790  // SetSubscriptionName sets the SubscriptionName field's value.
 21791  func (s *CreateEventSubscriptionInput) SetSubscriptionName(v string) *CreateEventSubscriptionInput {
 21792  	s.SubscriptionName = &v
 21793  	return s
 21794  }
 21795  
 21796  // SetTags sets the Tags field's value.
 21797  func (s *CreateEventSubscriptionInput) SetTags(v []*Tag) *CreateEventSubscriptionInput {
 21798  	s.Tags = v
 21799  	return s
 21800  }
 21801  
 21802  type CreateEventSubscriptionOutput struct {
 21803  	_ struct{} `type:"structure"`
 21804  
 21805  	// Contains the results of a successful invocation of the DescribeEventSubscriptions
 21806  	// action.
 21807  	EventSubscription *EventSubscription `type:"structure"`
 21808  }
 21809  
 21810  // String returns the string representation.
 21811  //
 21812  // API parameter values that are decorated as "sensitive" in the API will not
 21813  // be included in the string output. The member name will be present, but the
 21814  // value will be replaced with "sensitive".
 21815  func (s CreateEventSubscriptionOutput) String() string {
 21816  	return awsutil.Prettify(s)
 21817  }
 21818  
 21819  // GoString returns the string representation.
 21820  //
 21821  // API parameter values that are decorated as "sensitive" in the API will not
 21822  // be included in the string output. The member name will be present, but the
 21823  // value will be replaced with "sensitive".
 21824  func (s CreateEventSubscriptionOutput) GoString() string {
 21825  	return s.String()
 21826  }
 21827  
 21828  // SetEventSubscription sets the EventSubscription field's value.
 21829  func (s *CreateEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *CreateEventSubscriptionOutput {
 21830  	s.EventSubscription = v
 21831  	return s
 21832  }
 21833  
 21834  type CreateGlobalClusterInput struct {
 21835  	_ struct{} `type:"structure"`
 21836  
 21837  	// The name for your database of up to 64 alpha-numeric characters. If you do
 21838  	// not provide a name, Amazon Aurora will not create a database in the global
 21839  	// database cluster you are creating.
 21840  	DatabaseName *string `type:"string"`
 21841  
 21842  	// The deletion protection setting for the new global database. The global database
 21843  	// can't be deleted when deletion protection is enabled.
 21844  	DeletionProtection *bool `type:"boolean"`
 21845  
 21846  	// The name of the database engine to be used for this DB cluster.
 21847  	Engine *string `type:"string"`
 21848  
 21849  	// The engine version of the Aurora global database.
 21850  	EngineVersion *string `type:"string"`
 21851  
 21852  	// The cluster identifier of the new global database cluster.
 21853  	GlobalClusterIdentifier *string `type:"string"`
 21854  
 21855  	// The Amazon Resource Name (ARN) to use as the primary cluster of the global
 21856  	// database. This parameter is optional.
 21857  	SourceDBClusterIdentifier *string `type:"string"`
 21858  
 21859  	// The storage encryption setting for the new global database cluster.
 21860  	StorageEncrypted *bool `type:"boolean"`
 21861  }
 21862  
 21863  // String returns the string representation.
 21864  //
 21865  // API parameter values that are decorated as "sensitive" in the API will not
 21866  // be included in the string output. The member name will be present, but the
 21867  // value will be replaced with "sensitive".
 21868  func (s CreateGlobalClusterInput) String() string {
 21869  	return awsutil.Prettify(s)
 21870  }
 21871  
 21872  // GoString returns the string representation.
 21873  //
 21874  // API parameter values that are decorated as "sensitive" in the API will not
 21875  // be included in the string output. The member name will be present, but the
 21876  // value will be replaced with "sensitive".
 21877  func (s CreateGlobalClusterInput) GoString() string {
 21878  	return s.String()
 21879  }
 21880  
 21881  // SetDatabaseName sets the DatabaseName field's value.
 21882  func (s *CreateGlobalClusterInput) SetDatabaseName(v string) *CreateGlobalClusterInput {
 21883  	s.DatabaseName = &v
 21884  	return s
 21885  }
 21886  
 21887  // SetDeletionProtection sets the DeletionProtection field's value.
 21888  func (s *CreateGlobalClusterInput) SetDeletionProtection(v bool) *CreateGlobalClusterInput {
 21889  	s.DeletionProtection = &v
 21890  	return s
 21891  }
 21892  
 21893  // SetEngine sets the Engine field's value.
 21894  func (s *CreateGlobalClusterInput) SetEngine(v string) *CreateGlobalClusterInput {
 21895  	s.Engine = &v
 21896  	return s
 21897  }
 21898  
 21899  // SetEngineVersion sets the EngineVersion field's value.
 21900  func (s *CreateGlobalClusterInput) SetEngineVersion(v string) *CreateGlobalClusterInput {
 21901  	s.EngineVersion = &v
 21902  	return s
 21903  }
 21904  
 21905  // SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
 21906  func (s *CreateGlobalClusterInput) SetGlobalClusterIdentifier(v string) *CreateGlobalClusterInput {
 21907  	s.GlobalClusterIdentifier = &v
 21908  	return s
 21909  }
 21910  
 21911  // SetSourceDBClusterIdentifier sets the SourceDBClusterIdentifier field's value.
 21912  func (s *CreateGlobalClusterInput) SetSourceDBClusterIdentifier(v string) *CreateGlobalClusterInput {
 21913  	s.SourceDBClusterIdentifier = &v
 21914  	return s
 21915  }
 21916  
 21917  // SetStorageEncrypted sets the StorageEncrypted field's value.
 21918  func (s *CreateGlobalClusterInput) SetStorageEncrypted(v bool) *CreateGlobalClusterInput {
 21919  	s.StorageEncrypted = &v
 21920  	return s
 21921  }
 21922  
 21923  type CreateGlobalClusterOutput struct {
 21924  	_ struct{} `type:"structure"`
 21925  
 21926  	// A data type representing an Aurora global database.
 21927  	GlobalCluster *GlobalCluster `type:"structure"`
 21928  }
 21929  
 21930  // String returns the string representation.
 21931  //
 21932  // API parameter values that are decorated as "sensitive" in the API will not
 21933  // be included in the string output. The member name will be present, but the
 21934  // value will be replaced with "sensitive".
 21935  func (s CreateGlobalClusterOutput) String() string {
 21936  	return awsutil.Prettify(s)
 21937  }
 21938  
 21939  // GoString returns the string representation.
 21940  //
 21941  // API parameter values that are decorated as "sensitive" in the API will not
 21942  // be included in the string output. The member name will be present, but the
 21943  // value will be replaced with "sensitive".
 21944  func (s CreateGlobalClusterOutput) GoString() string {
 21945  	return s.String()
 21946  }
 21947  
 21948  // SetGlobalCluster sets the GlobalCluster field's value.
 21949  func (s *CreateGlobalClusterOutput) SetGlobalCluster(v *GlobalCluster) *CreateGlobalClusterOutput {
 21950  	s.GlobalCluster = v
 21951  	return s
 21952  }
 21953  
 21954  type CreateOptionGroupInput struct {
 21955  	_ struct{} `type:"structure"`
 21956  
 21957  	// Specifies the name of the engine that this option group should be associated
 21958  	// with.
 21959  	//
 21960  	// Valid Values:
 21961  	//
 21962  	//    * mariadb
 21963  	//
 21964  	//    * mysql
 21965  	//
 21966  	//    * oracle-ee
 21967  	//
 21968  	//    * oracle-ee-cdb
 21969  	//
 21970  	//    * oracle-se2
 21971  	//
 21972  	//    * oracle-se2-cdb
 21973  	//
 21974  	//    * postgres
 21975  	//
 21976  	//    * sqlserver-ee
 21977  	//
 21978  	//    * sqlserver-se
 21979  	//
 21980  	//    * sqlserver-ex
 21981  	//
 21982  	//    * sqlserver-web
 21983  	//
 21984  	// EngineName is a required field
 21985  	EngineName *string `type:"string" required:"true"`
 21986  
 21987  	// Specifies the major version of the engine that this option group should be
 21988  	// associated with.
 21989  	//
 21990  	// MajorEngineVersion is a required field
 21991  	MajorEngineVersion *string `type:"string" required:"true"`
 21992  
 21993  	// The description of the option group.
 21994  	//
 21995  	// OptionGroupDescription is a required field
 21996  	OptionGroupDescription *string `type:"string" required:"true"`
 21997  
 21998  	// Specifies the name of the option group to be created.
 21999  	//
 22000  	// Constraints:
 22001  	//
 22002  	//    * Must be 1 to 255 letters, numbers, or hyphens
 22003  	//
 22004  	//    * First character must be a letter
 22005  	//
 22006  	//    * Can't end with a hyphen or contain two consecutive hyphens
 22007  	//
 22008  	// Example: myoptiongroup
 22009  	//
 22010  	// OptionGroupName is a required field
 22011  	OptionGroupName *string `type:"string" required:"true"`
 22012  
 22013  	// Tags to assign to the option group.
 22014  	Tags []*Tag `locationNameList:"Tag" type:"list"`
 22015  }
 22016  
 22017  // String returns the string representation.
 22018  //
 22019  // API parameter values that are decorated as "sensitive" in the API will not
 22020  // be included in the string output. The member name will be present, but the
 22021  // value will be replaced with "sensitive".
 22022  func (s CreateOptionGroupInput) String() string {
 22023  	return awsutil.Prettify(s)
 22024  }
 22025  
 22026  // GoString returns the string representation.
 22027  //
 22028  // API parameter values that are decorated as "sensitive" in the API will not
 22029  // be included in the string output. The member name will be present, but the
 22030  // value will be replaced with "sensitive".
 22031  func (s CreateOptionGroupInput) GoString() string {
 22032  	return s.String()
 22033  }
 22034  
 22035  // Validate inspects the fields of the type to determine if they are valid.
 22036  func (s *CreateOptionGroupInput) Validate() error {
 22037  	invalidParams := request.ErrInvalidParams{Context: "CreateOptionGroupInput"}
 22038  	if s.EngineName == nil {
 22039  		invalidParams.Add(request.NewErrParamRequired("EngineName"))
 22040  	}
 22041  	if s.MajorEngineVersion == nil {
 22042  		invalidParams.Add(request.NewErrParamRequired("MajorEngineVersion"))
 22043  	}
 22044  	if s.OptionGroupDescription == nil {
 22045  		invalidParams.Add(request.NewErrParamRequired("OptionGroupDescription"))
 22046  	}
 22047  	if s.OptionGroupName == nil {
 22048  		invalidParams.Add(request.NewErrParamRequired("OptionGroupName"))
 22049  	}
 22050  
 22051  	if invalidParams.Len() > 0 {
 22052  		return invalidParams
 22053  	}
 22054  	return nil
 22055  }
 22056  
 22057  // SetEngineName sets the EngineName field's value.
 22058  func (s *CreateOptionGroupInput) SetEngineName(v string) *CreateOptionGroupInput {
 22059  	s.EngineName = &v
 22060  	return s
 22061  }
 22062  
 22063  // SetMajorEngineVersion sets the MajorEngineVersion field's value.
 22064  func (s *CreateOptionGroupInput) SetMajorEngineVersion(v string) *CreateOptionGroupInput {
 22065  	s.MajorEngineVersion = &v
 22066  	return s
 22067  }
 22068  
 22069  // SetOptionGroupDescription sets the OptionGroupDescription field's value.
 22070  func (s *CreateOptionGroupInput) SetOptionGroupDescription(v string) *CreateOptionGroupInput {
 22071  	s.OptionGroupDescription = &v
 22072  	return s
 22073  }
 22074  
 22075  // SetOptionGroupName sets the OptionGroupName field's value.
 22076  func (s *CreateOptionGroupInput) SetOptionGroupName(v string) *CreateOptionGroupInput {
 22077  	s.OptionGroupName = &v
 22078  	return s
 22079  }
 22080  
 22081  // SetTags sets the Tags field's value.
 22082  func (s *CreateOptionGroupInput) SetTags(v []*Tag) *CreateOptionGroupInput {
 22083  	s.Tags = v
 22084  	return s
 22085  }
 22086  
 22087  type CreateOptionGroupOutput struct {
 22088  	_ struct{} `type:"structure"`
 22089  
 22090  	OptionGroup *OptionGroup `type:"structure"`
 22091  }
 22092  
 22093  // String returns the string representation.
 22094  //
 22095  // API parameter values that are decorated as "sensitive" in the API will not
 22096  // be included in the string output. The member name will be present, but the
 22097  // value will be replaced with "sensitive".
 22098  func (s CreateOptionGroupOutput) String() string {
 22099  	return awsutil.Prettify(s)
 22100  }
 22101  
 22102  // GoString returns the string representation.
 22103  //
 22104  // API parameter values that are decorated as "sensitive" in the API will not
 22105  // be included in the string output. The member name will be present, but the
 22106  // value will be replaced with "sensitive".
 22107  func (s CreateOptionGroupOutput) GoString() string {
 22108  	return s.String()
 22109  }
 22110  
 22111  // SetOptionGroup sets the OptionGroup field's value.
 22112  func (s *CreateOptionGroupOutput) SetOptionGroup(v *OptionGroup) *CreateOptionGroupOutput {
 22113  	s.OptionGroup = v
 22114  	return s
 22115  }
 22116  
 22117  // A custom Availability Zone (AZ) is an on-premises AZ that is integrated with
 22118  // a VMware vSphere cluster.
 22119  //
 22120  // For more information about RDS on VMware, see the RDS on VMware User Guide.
 22121  // (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html)
 22122  type CustomAvailabilityZone struct {
 22123  	_ struct{} `type:"structure"`
 22124  
 22125  	// The identifier of the custom AZ.
 22126  	//
 22127  	// Amazon RDS generates a unique identifier when a custom AZ is created.
 22128  	CustomAvailabilityZoneId *string `type:"string"`
 22129  
 22130  	// The name of the custom AZ.
 22131  	CustomAvailabilityZoneName *string `type:"string"`
 22132  
 22133  	// The status of the custom AZ.
 22134  	CustomAvailabilityZoneStatus *string `type:"string"`
 22135  
 22136  	// Information about the virtual private network (VPN) between the VMware vSphere
 22137  	// cluster and the Amazon Web Services website.
 22138  	VpnDetails *VpnDetails `type:"structure"`
 22139  }
 22140  
 22141  // String returns the string representation.
 22142  //
 22143  // API parameter values that are decorated as "sensitive" in the API will not
 22144  // be included in the string output. The member name will be present, but the
 22145  // value will be replaced with "sensitive".
 22146  func (s CustomAvailabilityZone) String() string {
 22147  	return awsutil.Prettify(s)
 22148  }
 22149  
 22150  // GoString returns the string representation.
 22151  //
 22152  // API parameter values that are decorated as "sensitive" in the API will not
 22153  // be included in the string output. The member name will be present, but the
 22154  // value will be replaced with "sensitive".
 22155  func (s CustomAvailabilityZone) GoString() string {
 22156  	return s.String()
 22157  }
 22158  
 22159  // SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value.
 22160  func (s *CustomAvailabilityZone) SetCustomAvailabilityZoneId(v string) *CustomAvailabilityZone {
 22161  	s.CustomAvailabilityZoneId = &v
 22162  	return s
 22163  }
 22164  
 22165  // SetCustomAvailabilityZoneName sets the CustomAvailabilityZoneName field's value.
 22166  func (s *CustomAvailabilityZone) SetCustomAvailabilityZoneName(v string) *CustomAvailabilityZone {
 22167  	s.CustomAvailabilityZoneName = &v
 22168  	return s
 22169  }
 22170  
 22171  // SetCustomAvailabilityZoneStatus sets the CustomAvailabilityZoneStatus field's value.
 22172  func (s *CustomAvailabilityZone) SetCustomAvailabilityZoneStatus(v string) *CustomAvailabilityZone {
 22173  	s.CustomAvailabilityZoneStatus = &v
 22174  	return s
 22175  }
 22176  
 22177  // SetVpnDetails sets the VpnDetails field's value.
 22178  func (s *CustomAvailabilityZone) SetVpnDetails(v *VpnDetails) *CustomAvailabilityZone {
 22179  	s.VpnDetails = v
 22180  	return s
 22181  }
 22182  
 22183  // Contains the details of an Amazon Aurora DB cluster.
 22184  //
 22185  // This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
 22186  // and StartDBCluster actions.
 22187  type DBCluster struct {
 22188  	_ struct{} `type:"structure"`
 22189  
 22190  	// The name of the Amazon Kinesis data stream used for the database activity
 22191  	// stream.
 22192  	ActivityStreamKinesisStreamName *string `type:"string"`
 22193  
 22194  	// The Amazon Web Services KMS key identifier used for encrypting messages in
 22195  	// the database activity stream.
 22196  	//
 22197  	// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
 22198  	// ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).
 22199  	ActivityStreamKmsKeyId *string `type:"string"`
 22200  
 22201  	// The mode of the database activity stream. Database events such as a change
 22202  	// or access generate an activity stream event. The database session can handle
 22203  	// these events either synchronously or asynchronously.
 22204  	ActivityStreamMode *string `type:"string" enum:"ActivityStreamMode"`
 22205  
 22206  	// The status of the database activity stream.
 22207  	ActivityStreamStatus *string `type:"string" enum:"ActivityStreamStatus"`
 22208  
 22209  	// For all database engines except Amazon Aurora, AllocatedStorage specifies
 22210  	// the allocated storage size in gibibytes (GiB). For Aurora, AllocatedStorage
 22211  	// always returns 1, because Aurora DB cluster storage size isn't fixed, but
 22212  	// instead automatically adjusts as needed.
 22213  	AllocatedStorage *int64 `type:"integer"`
 22214  
 22215  	// Provides a list of the Amazon Web Services Identity and Access Management
 22216  	// (IAM) roles that are associated with the DB cluster. IAM roles that are associated
 22217  	// with a DB cluster grant permission for the DB cluster to access other Amazon
 22218  	// Web Services on your behalf.
 22219  	AssociatedRoles []*DBClusterRole `locationNameList:"DBClusterRole" type:"list"`
 22220  
 22221  	// The time when a stopped DB cluster is restarted automatically.
 22222  	AutomaticRestartTime *time.Time `type:"timestamp"`
 22223  
 22224  	// Provides the list of Availability Zones (AZs) where instances in the DB cluster
 22225  	// can be created.
 22226  	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
 22227  
 22228  	// The number of change records stored for Backtrack.
 22229  	BacktrackConsumedChangeRecords *int64 `type:"long"`
 22230  
 22231  	// The target backtrack window, in seconds. If this value is set to 0, backtracking
 22232  	// is disabled for the DB cluster. Otherwise, backtracking is enabled.
 22233  	BacktrackWindow *int64 `type:"long"`
 22234  
 22235  	// Specifies the number of days for which automatic DB snapshots are retained.
 22236  	BackupRetentionPeriod *int64 `type:"integer"`
 22237  
 22238  	// The current capacity of an Aurora Serverless DB cluster. The capacity is
 22239  	// 0 (zero) when the cluster is paused.
 22240  	//
 22241  	// For more information about Aurora Serverless, see Using Amazon Aurora Serverless
 22242  	// (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html)
 22243  	// in the Amazon Aurora User Guide.
 22244  	Capacity *int64 `type:"integer"`
 22245  
 22246  	// If present, specifies the name of the character set that this cluster is
 22247  	// associated with.
 22248  	CharacterSetName *string `type:"string"`
 22249  
 22250  	// Identifies the clone group to which the DB cluster is associated.
 22251  	CloneGroupId *string `type:"string"`
 22252  
 22253  	// Specifies the time when the DB cluster was created, in Universal Coordinated
 22254  	// Time (UTC).
 22255  	ClusterCreateTime *time.Time `type:"timestamp"`
 22256  
 22257  	// Specifies whether tags are copied from the DB cluster to snapshots of the
 22258  	// DB cluster.
 22259  	CopyTagsToSnapshot *bool `type:"boolean"`
 22260  
 22261  	// Specifies whether the DB cluster is a clone of a DB cluster owned by a different
 22262  	// Amazon Web Services account.
 22263  	CrossAccountClone *bool `type:"boolean"`
 22264  
 22265  	// Identifies all custom endpoints associated with the cluster.
 22266  	CustomEndpoints []*string `type:"list"`
 22267  
 22268  	// The Amazon Resource Name (ARN) for the DB cluster.
 22269  	DBClusterArn *string `type:"string"`
 22270  
 22271  	// Contains a user-supplied DB cluster identifier. This identifier is the unique
 22272  	// key that identifies a DB cluster.
 22273  	DBClusterIdentifier *string `type:"string"`
 22274  
 22275  	// Provides the list of instances that make up the DB cluster.
 22276  	DBClusterMembers []*DBClusterMember `locationNameList:"DBClusterMember" type:"list"`
 22277  
 22278  	// Provides the list of option group memberships for this DB cluster.
 22279  	DBClusterOptionGroupMemberships []*DBClusterOptionGroupStatus `locationNameList:"DBClusterOptionGroup" type:"list"`
 22280  
 22281  	// Specifies the name of the DB cluster parameter group for the DB cluster.
 22282  	DBClusterParameterGroup *string `type:"string"`
 22283  
 22284  	// Specifies information on the subnet group associated with the DB cluster,
 22285  	// including the name, description, and subnets in the subnet group.
 22286  	DBSubnetGroup *string `type:"string"`
 22287  
 22288  	// Contains the name of the initial database of this DB cluster that was provided
 22289  	// at create time, if one was specified when the DB cluster was created. This
 22290  	// same name is returned for the life of the DB cluster.
 22291  	DatabaseName *string `type:"string"`
 22292  
 22293  	// The Amazon Web Services Region-unique, immutable identifier for the DB cluster.
 22294  	// This identifier is found in Amazon Web Services CloudTrail log entries whenever
 22295  	// the Amazon Web Services KMS CMK for the DB cluster is accessed.
 22296  	DbClusterResourceId *string `type:"string"`
 22297  
 22298  	// Indicates if the DB cluster has deletion protection enabled. The database
 22299  	// can't be deleted when deletion protection is enabled.
 22300  	DeletionProtection *bool `type:"boolean"`
 22301  
 22302  	// The Active Directory Domain membership records associated with the DB cluster.
 22303  	DomainMemberships []*DomainMembership `locationNameList:"DomainMembership" type:"list"`
 22304  
 22305  	// The earliest time to which a DB cluster can be backtracked.
 22306  	EarliestBacktrackTime *time.Time `type:"timestamp"`
 22307  
 22308  	// The earliest time to which a database can be restored with point-in-time
 22309  	// restore.
 22310  	EarliestRestorableTime *time.Time `type:"timestamp"`
 22311  
 22312  	// A list of log types that this DB cluster is configured to export to CloudWatch
 22313  	// Logs.
 22314  	//
 22315  	// Log types vary by DB engine. For information about the log types for each
 22316  	// DB engine, see Amazon RDS Database Log Files (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html)
 22317  	// in the Amazon Aurora User Guide.
 22318  	EnabledCloudwatchLogsExports []*string `type:"list"`
 22319  
 22320  	// Specifies the connection endpoint for the primary instance of the DB cluster.
 22321  	Endpoint *string `type:"string"`
 22322  
 22323  	// The name of the database engine to be used for this DB cluster.
 22324  	Engine *string `type:"string"`
 22325  
 22326  	// The DB engine mode of the DB cluster, either provisioned, serverless, parallelquery,
 22327  	// global, or multimaster.
 22328  	//
 22329  	// For more information, see CreateDBCluster (https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBCluster.html).
 22330  	EngineMode *string `type:"string"`
 22331  
 22332  	// Indicates the database engine version.
 22333  	EngineVersion *string `type:"string"`
 22334  
 22335  	// Specifies whether you have requested to enable write forwarding for a secondary
 22336  	// cluster in an Aurora global database. Because write forwarding takes time
 22337  	// to enable, check the value of GlobalWriteForwardingStatus to confirm that
 22338  	// the request has completed before using the write forwarding feature for this
 22339  	// cluster.
 22340  	GlobalWriteForwardingRequested *bool `type:"boolean"`
 22341  
 22342  	// Specifies whether a secondary cluster in an Aurora global database has write
 22343  	// forwarding enabled, not enabled, or is in the process of enabling it.
 22344  	GlobalWriteForwardingStatus *string `type:"string" enum:"WriteForwardingStatus"`
 22345  
 22346  	// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
 22347  	HostedZoneId *string `type:"string"`
 22348  
 22349  	// A value that indicates whether the HTTP endpoint for an Aurora Serverless
 22350  	// DB cluster is enabled.
 22351  	//
 22352  	// When enabled, the HTTP endpoint provides a connectionless web service API
 22353  	// for running SQL queries on the Aurora Serverless DB cluster. You can also
 22354  	// query your database from inside the RDS console with the query editor.
 22355  	//
 22356  	// For more information, see Using the Data API for Aurora Serverless (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html)
 22357  	// in the Amazon Aurora User Guide.
 22358  	HttpEndpointEnabled *bool `type:"boolean"`
 22359  
 22360  	// A value that indicates whether the mapping of Amazon Web Services Identity
 22361  	// and Access Management (IAM) accounts to database accounts is enabled.
 22362  	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
 22363  
 22364  	// If StorageEncrypted is enabled, the Amazon Web Services KMS key identifier
 22365  	// for the encrypted DB cluster.
 22366  	//
 22367  	// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
 22368  	// ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).
 22369  	KmsKeyId *string `type:"string"`
 22370  
 22371  	// Specifies the latest time to which a database can be restored with point-in-time
 22372  	// restore.
 22373  	LatestRestorableTime *time.Time `type:"timestamp"`
 22374  
 22375  	// Contains the master username for the DB cluster.
 22376  	MasterUsername *string `type:"string"`
 22377  
 22378  	// Specifies whether the DB cluster has instances in multiple Availability Zones.
 22379  	MultiAZ *bool `type:"boolean"`
 22380  
 22381  	// A value that specifies that changes to the DB cluster are pending. This element
 22382  	// is only included when changes are pending. Specific changes are identified
 22383  	// by subelements.
 22384  	PendingModifiedValues *ClusterPendingModifiedValues `type:"structure"`
 22385  
 22386  	// Specifies the progress of the operation as a percentage.
 22387  	PercentProgress *string `type:"string"`
 22388  
 22389  	// Specifies the port that the database engine is listening on.
 22390  	Port *int64 `type:"integer"`
 22391  
 22392  	// Specifies the daily time range during which automated backups are created
 22393  	// if automated backups are enabled, as determined by the BackupRetentionPeriod.
 22394  	PreferredBackupWindow *string `type:"string"`
 22395  
 22396  	// Specifies the weekly time range during which system maintenance can occur,
 22397  	// in Universal Coordinated Time (UTC).
 22398  	PreferredMaintenanceWindow *string `type:"string"`
 22399  
 22400  	// Contains one or more identifiers of the read replicas associated with this
 22401  	// DB cluster.
 22402  	ReadReplicaIdentifiers []*string `locationNameList:"ReadReplicaIdentifier" type:"list"`
 22403  
 22404  	// The reader endpoint for the DB cluster. The reader endpoint for a DB cluster
 22405  	// load-balances connections across the Aurora Replicas that are available in
 22406  	// a DB cluster. As clients request new connections to the reader endpoint,
 22407  	// Aurora distributes the connection requests among the Aurora Replicas in the
 22408  	// DB cluster. This functionality can help balance your read workload across
 22409  	// multiple Aurora Replicas in your DB cluster.
 22410  	//
 22411  	// If a failover occurs, and the Aurora Replica that you are connected to is
 22412  	// promoted to be the primary instance, your connection is dropped. To continue
 22413  	// sending your read workload to other Aurora Replicas in the cluster, you can
 22414  	// then reconnect to the reader endpoint.
 22415  	ReaderEndpoint *string `type:"string"`
 22416  
 22417  	// Contains the identifier of the source DB cluster if this DB cluster is a
 22418  	// read replica.
 22419  	ReplicationSourceIdentifier *string `type:"string"`
 22420  
 22421  	// Shows the scaling configuration for an Aurora DB cluster in serverless DB
 22422  	// engine mode.
 22423  	//
 22424  	// For more information, see Using Amazon Aurora Serverless (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html)
 22425  	// in the Amazon Aurora User Guide.
 22426  	ScalingConfigurationInfo *ScalingConfigurationInfo `type:"structure"`
 22427  
 22428  	// Specifies the current state of this DB cluster.
 22429  	Status *string `type:"string"`
 22430  
 22431  	// Specifies whether the DB cluster is encrypted.
 22432  	StorageEncrypted *bool `type:"boolean"`
 22433  
 22434  	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
 22435  	// in the Amazon RDS User Guide.
 22436  	TagList []*Tag `locationNameList:"Tag" type:"list"`
 22437  
 22438  	// Provides a list of VPC security groups that the DB cluster belongs to.
 22439  	VpcSecurityGroups []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroupMembership" type:"list"`
 22440  }
 22441  
 22442  // String returns the string representation.
 22443  //
 22444  // API parameter values that are decorated as "sensitive" in the API will not
 22445  // be included in the string output. The member name will be present, but the
 22446  // value will be replaced with "sensitive".
 22447  func (s DBCluster) String() string {
 22448  	return awsutil.Prettify(s)
 22449  }
 22450  
 22451  // GoString returns the string representation.
 22452  //
 22453  // API parameter values that are decorated as "sensitive" in the API will not
 22454  // be included in the string output. The member name will be present, but the
 22455  // value will be replaced with "sensitive".
 22456  func (s DBCluster) GoString() string {
 22457  	return s.String()
 22458  }
 22459  
 22460  // SetActivityStreamKinesisStreamName sets the ActivityStreamKinesisStreamName field's value.
 22461  func (s *DBCluster) SetActivityStreamKinesisStreamName(v string) *DBCluster {
 22462  	s.ActivityStreamKinesisStreamName = &v
 22463  	return s
 22464  }
 22465  
 22466  // SetActivityStreamKmsKeyId sets the ActivityStreamKmsKeyId field's value.
 22467  func (s *DBCluster) SetActivityStreamKmsKeyId(v string) *DBCluster {
 22468  	s.ActivityStreamKmsKeyId = &v
 22469  	return s
 22470  }
 22471  
 22472  // SetActivityStreamMode sets the ActivityStreamMode field's value.
 22473  func (s *DBCluster) SetActivityStreamMode(v string) *DBCluster {
 22474  	s.ActivityStreamMode = &v
 22475  	return s
 22476  }
 22477  
 22478  // SetActivityStreamStatus sets the ActivityStreamStatus field's value.
 22479  func (s *DBCluster) SetActivityStreamStatus(v string) *DBCluster {
 22480  	s.ActivityStreamStatus = &v
 22481  	return s
 22482  }
 22483  
 22484  // SetAllocatedStorage sets the AllocatedStorage field's value.
 22485  func (s *DBCluster) SetAllocatedStorage(v int64) *DBCluster {
 22486  	s.AllocatedStorage = &v
 22487  	return s
 22488  }
 22489  
 22490  // SetAssociatedRoles sets the AssociatedRoles field's value.
 22491  func (s *DBCluster) SetAssociatedRoles(v []*DBClusterRole) *DBCluster {
 22492  	s.AssociatedRoles = v
 22493  	return s
 22494  }
 22495  
 22496  // SetAutomaticRestartTime sets the AutomaticRestartTime field's value.
 22497  func (s *DBCluster) SetAutomaticRestartTime(v time.Time) *DBCluster {
 22498  	s.AutomaticRestartTime = &v
 22499  	return s
 22500  }
 22501  
 22502  // SetAvailabilityZones sets the AvailabilityZones field's value.
 22503  func (s *DBCluster) SetAvailabilityZones(v []*string) *DBCluster {
 22504  	s.AvailabilityZones = v
 22505  	return s
 22506  }
 22507  
 22508  // SetBacktrackConsumedChangeRecords sets the BacktrackConsumedChangeRecords field's value.
 22509  func (s *DBCluster) SetBacktrackConsumedChangeRecords(v int64) *DBCluster {
 22510  	s.BacktrackConsumedChangeRecords = &v
 22511  	return s
 22512  }
 22513  
 22514  // SetBacktrackWindow sets the BacktrackWindow field's value.
 22515  func (s *DBCluster) SetBacktrackWindow(v int64) *DBCluster {
 22516  	s.BacktrackWindow = &v
 22517  	return s
 22518  }
 22519  
 22520  // SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
 22521  func (s *DBCluster) SetBackupRetentionPeriod(v int64) *DBCluster {
 22522  	s.BackupRetentionPeriod = &v
 22523  	return s
 22524  }
 22525  
 22526  // SetCapacity sets the Capacity field's value.
 22527  func (s *DBCluster) SetCapacity(v int64) *DBCluster {
 22528  	s.Capacity = &v
 22529  	return s
 22530  }
 22531  
 22532  // SetCharacterSetName sets the CharacterSetName field's value.
 22533  func (s *DBCluster) SetCharacterSetName(v string) *DBCluster {
 22534  	s.CharacterSetName = &v
 22535  	return s
 22536  }
 22537  
 22538  // SetCloneGroupId sets the CloneGroupId field's value.
 22539  func (s *DBCluster) SetCloneGroupId(v string) *DBCluster {
 22540  	s.CloneGroupId = &v
 22541  	return s
 22542  }
 22543  
 22544  // SetClusterCreateTime sets the ClusterCreateTime field's value.
 22545  func (s *DBCluster) SetClusterCreateTime(v time.Time) *DBCluster {
 22546  	s.ClusterCreateTime = &v
 22547  	return s
 22548  }
 22549  
 22550  // SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
 22551  func (s *DBCluster) SetCopyTagsToSnapshot(v bool) *DBCluster {
 22552  	s.CopyTagsToSnapshot = &v
 22553  	return s
 22554  }
 22555  
 22556  // SetCrossAccountClone sets the CrossAccountClone field's value.
 22557  func (s *DBCluster) SetCrossAccountClone(v bool) *DBCluster {
 22558  	s.CrossAccountClone = &v
 22559  	return s
 22560  }
 22561  
 22562  // SetCustomEndpoints sets the CustomEndpoints field's value.
 22563  func (s *DBCluster) SetCustomEndpoints(v []*string) *DBCluster {
 22564  	s.CustomEndpoints = v
 22565  	return s
 22566  }
 22567  
 22568  // SetDBClusterArn sets the DBClusterArn field's value.
 22569  func (s *DBCluster) SetDBClusterArn(v string) *DBCluster {
 22570  	s.DBClusterArn = &v
 22571  	return s
 22572  }
 22573  
 22574  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 22575  func (s *DBCluster) SetDBClusterIdentifier(v string) *DBCluster {
 22576  	s.DBClusterIdentifier = &v
 22577  	return s
 22578  }
 22579  
 22580  // SetDBClusterMembers sets the DBClusterMembers field's value.
 22581  func (s *DBCluster) SetDBClusterMembers(v []*DBClusterMember) *DBCluster {
 22582  	s.DBClusterMembers = v
 22583  	return s
 22584  }
 22585  
 22586  // SetDBClusterOptionGroupMemberships sets the DBClusterOptionGroupMemberships field's value.
 22587  func (s *DBCluster) SetDBClusterOptionGroupMemberships(v []*DBClusterOptionGroupStatus) *DBCluster {
 22588  	s.DBClusterOptionGroupMemberships = v
 22589  	return s
 22590  }
 22591  
 22592  // SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
 22593  func (s *DBCluster) SetDBClusterParameterGroup(v string) *DBCluster {
 22594  	s.DBClusterParameterGroup = &v
 22595  	return s
 22596  }
 22597  
 22598  // SetDBSubnetGroup sets the DBSubnetGroup field's value.
 22599  func (s *DBCluster) SetDBSubnetGroup(v string) *DBCluster {
 22600  	s.DBSubnetGroup = &v
 22601  	return s
 22602  }
 22603  
 22604  // SetDatabaseName sets the DatabaseName field's value.
 22605  func (s *DBCluster) SetDatabaseName(v string) *DBCluster {
 22606  	s.DatabaseName = &v
 22607  	return s
 22608  }
 22609  
 22610  // SetDbClusterResourceId sets the DbClusterResourceId field's value.
 22611  func (s *DBCluster) SetDbClusterResourceId(v string) *DBCluster {
 22612  	s.DbClusterResourceId = &v
 22613  	return s
 22614  }
 22615  
 22616  // SetDeletionProtection sets the DeletionProtection field's value.
 22617  func (s *DBCluster) SetDeletionProtection(v bool) *DBCluster {
 22618  	s.DeletionProtection = &v
 22619  	return s
 22620  }
 22621  
 22622  // SetDomainMemberships sets the DomainMemberships field's value.
 22623  func (s *DBCluster) SetDomainMemberships(v []*DomainMembership) *DBCluster {
 22624  	s.DomainMemberships = v
 22625  	return s
 22626  }
 22627  
 22628  // SetEarliestBacktrackTime sets the EarliestBacktrackTime field's value.
 22629  func (s *DBCluster) SetEarliestBacktrackTime(v time.Time) *DBCluster {
 22630  	s.EarliestBacktrackTime = &v
 22631  	return s
 22632  }
 22633  
 22634  // SetEarliestRestorableTime sets the EarliestRestorableTime field's value.
 22635  func (s *DBCluster) SetEarliestRestorableTime(v time.Time) *DBCluster {
 22636  	s.EarliestRestorableTime = &v
 22637  	return s
 22638  }
 22639  
 22640  // SetEnabledCloudwatchLogsExports sets the EnabledCloudwatchLogsExports field's value.
 22641  func (s *DBCluster) SetEnabledCloudwatchLogsExports(v []*string) *DBCluster {
 22642  	s.EnabledCloudwatchLogsExports = v
 22643  	return s
 22644  }
 22645  
 22646  // SetEndpoint sets the Endpoint field's value.
 22647  func (s *DBCluster) SetEndpoint(v string) *DBCluster {
 22648  	s.Endpoint = &v
 22649  	return s
 22650  }
 22651  
 22652  // SetEngine sets the Engine field's value.
 22653  func (s *DBCluster) SetEngine(v string) *DBCluster {
 22654  	s.Engine = &v
 22655  	return s
 22656  }
 22657  
 22658  // SetEngineMode sets the EngineMode field's value.
 22659  func (s *DBCluster) SetEngineMode(v string) *DBCluster {
 22660  	s.EngineMode = &v
 22661  	return s
 22662  }
 22663  
 22664  // SetEngineVersion sets the EngineVersion field's value.
 22665  func (s *DBCluster) SetEngineVersion(v string) *DBCluster {
 22666  	s.EngineVersion = &v
 22667  	return s
 22668  }
 22669  
 22670  // SetGlobalWriteForwardingRequested sets the GlobalWriteForwardingRequested field's value.
 22671  func (s *DBCluster) SetGlobalWriteForwardingRequested(v bool) *DBCluster {
 22672  	s.GlobalWriteForwardingRequested = &v
 22673  	return s
 22674  }
 22675  
 22676  // SetGlobalWriteForwardingStatus sets the GlobalWriteForwardingStatus field's value.
 22677  func (s *DBCluster) SetGlobalWriteForwardingStatus(v string) *DBCluster {
 22678  	s.GlobalWriteForwardingStatus = &v
 22679  	return s
 22680  }
 22681  
 22682  // SetHostedZoneId sets the HostedZoneId field's value.
 22683  func (s *DBCluster) SetHostedZoneId(v string) *DBCluster {
 22684  	s.HostedZoneId = &v
 22685  	return s
 22686  }
 22687  
 22688  // SetHttpEndpointEnabled sets the HttpEndpointEnabled field's value.
 22689  func (s *DBCluster) SetHttpEndpointEnabled(v bool) *DBCluster {
 22690  	s.HttpEndpointEnabled = &v
 22691  	return s
 22692  }
 22693  
 22694  // SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
 22695  func (s *DBCluster) SetIAMDatabaseAuthenticationEnabled(v bool) *DBCluster {
 22696  	s.IAMDatabaseAuthenticationEnabled = &v
 22697  	return s
 22698  }
 22699  
 22700  // SetKmsKeyId sets the KmsKeyId field's value.
 22701  func (s *DBCluster) SetKmsKeyId(v string) *DBCluster {
 22702  	s.KmsKeyId = &v
 22703  	return s
 22704  }
 22705  
 22706  // SetLatestRestorableTime sets the LatestRestorableTime field's value.
 22707  func (s *DBCluster) SetLatestRestorableTime(v time.Time) *DBCluster {
 22708  	s.LatestRestorableTime = &v
 22709  	return s
 22710  }
 22711  
 22712  // SetMasterUsername sets the MasterUsername field's value.
 22713  func (s *DBCluster) SetMasterUsername(v string) *DBCluster {
 22714  	s.MasterUsername = &v
 22715  	return s
 22716  }
 22717  
 22718  // SetMultiAZ sets the MultiAZ field's value.
 22719  func (s *DBCluster) SetMultiAZ(v bool) *DBCluster {
 22720  	s.MultiAZ = &v
 22721  	return s
 22722  }
 22723  
 22724  // SetPendingModifiedValues sets the PendingModifiedValues field's value.
 22725  func (s *DBCluster) SetPendingModifiedValues(v *ClusterPendingModifiedValues) *DBCluster {
 22726  	s.PendingModifiedValues = v
 22727  	return s
 22728  }
 22729  
 22730  // SetPercentProgress sets the PercentProgress field's value.
 22731  func (s *DBCluster) SetPercentProgress(v string) *DBCluster {
 22732  	s.PercentProgress = &v
 22733  	return s
 22734  }
 22735  
 22736  // SetPort sets the Port field's value.
 22737  func (s *DBCluster) SetPort(v int64) *DBCluster {
 22738  	s.Port = &v
 22739  	return s
 22740  }
 22741  
 22742  // SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
 22743  func (s *DBCluster) SetPreferredBackupWindow(v string) *DBCluster {
 22744  	s.PreferredBackupWindow = &v
 22745  	return s
 22746  }
 22747  
 22748  // SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
 22749  func (s *DBCluster) SetPreferredMaintenanceWindow(v string) *DBCluster {
 22750  	s.PreferredMaintenanceWindow = &v
 22751  	return s
 22752  }
 22753  
 22754  // SetReadReplicaIdentifiers sets the ReadReplicaIdentifiers field's value.
 22755  func (s *DBCluster) SetReadReplicaIdentifiers(v []*string) *DBCluster {
 22756  	s.ReadReplicaIdentifiers = v
 22757  	return s
 22758  }
 22759  
 22760  // SetReaderEndpoint sets the ReaderEndpoint field's value.
 22761  func (s *DBCluster) SetReaderEndpoint(v string) *DBCluster {
 22762  	s.ReaderEndpoint = &v
 22763  	return s
 22764  }
 22765  
 22766  // SetReplicationSourceIdentifier sets the ReplicationSourceIdentifier field's value.
 22767  func (s *DBCluster) SetReplicationSourceIdentifier(v string) *DBCluster {
 22768  	s.ReplicationSourceIdentifier = &v
 22769  	return s
 22770  }
 22771  
 22772  // SetScalingConfigurationInfo sets the ScalingConfigurationInfo field's value.
 22773  func (s *DBCluster) SetScalingConfigurationInfo(v *ScalingConfigurationInfo) *DBCluster {
 22774  	s.ScalingConfigurationInfo = v
 22775  	return s
 22776  }
 22777  
 22778  // SetStatus sets the Status field's value.
 22779  func (s *DBCluster) SetStatus(v string) *DBCluster {
 22780  	s.Status = &v
 22781  	return s
 22782  }
 22783  
 22784  // SetStorageEncrypted sets the StorageEncrypted field's value.
 22785  func (s *DBCluster) SetStorageEncrypted(v bool) *DBCluster {
 22786  	s.StorageEncrypted = &v
 22787  	return s
 22788  }
 22789  
 22790  // SetTagList sets the TagList field's value.
 22791  func (s *DBCluster) SetTagList(v []*Tag) *DBCluster {
 22792  	s.TagList = v
 22793  	return s
 22794  }
 22795  
 22796  // SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
 22797  func (s *DBCluster) SetVpcSecurityGroups(v []*VpcSecurityGroupMembership) *DBCluster {
 22798  	s.VpcSecurityGroups = v
 22799  	return s
 22800  }
 22801  
 22802  // This data type represents the information you need to connect to an Amazon
 22803  // Aurora DB cluster. This data type is used as a response element in the following
 22804  // actions:
 22805  //
 22806  //    * CreateDBClusterEndpoint
 22807  //
 22808  //    * DescribeDBClusterEndpoints
 22809  //
 22810  //    * ModifyDBClusterEndpoint
 22811  //
 22812  //    * DeleteDBClusterEndpoint
 22813  //
 22814  // For the data structure that represents Amazon RDS DB instance endpoints,
 22815  // see Endpoint.
 22816  type DBClusterEndpoint struct {
 22817  	_ struct{} `type:"structure"`
 22818  
 22819  	// The type associated with a custom endpoint. One of: READER, WRITER, ANY.
 22820  	CustomEndpointType *string `type:"string"`
 22821  
 22822  	// The Amazon Resource Name (ARN) for the endpoint.
 22823  	DBClusterEndpointArn *string `type:"string"`
 22824  
 22825  	// The identifier associated with the endpoint. This parameter is stored as
 22826  	// a lowercase string.
 22827  	DBClusterEndpointIdentifier *string `type:"string"`
 22828  
 22829  	// A unique system-generated identifier for an endpoint. It remains the same
 22830  	// for the whole life of the endpoint.
 22831  	DBClusterEndpointResourceIdentifier *string `type:"string"`
 22832  
 22833  	// The DB cluster identifier of the DB cluster associated with the endpoint.
 22834  	// This parameter is stored as a lowercase string.
 22835  	DBClusterIdentifier *string `type:"string"`
 22836  
 22837  	// The DNS address of the endpoint.
 22838  	Endpoint *string `type:"string"`
 22839  
 22840  	// The type of the endpoint. One of: READER, WRITER, CUSTOM.
 22841  	EndpointType *string `type:"string"`
 22842  
 22843  	// List of DB instance identifiers that aren't part of the custom endpoint group.
 22844  	// All other eligible instances are reachable through the custom endpoint. Only
 22845  	// relevant if the list of static members is empty.
 22846  	ExcludedMembers []*string `type:"list"`
 22847  
 22848  	// List of DB instance identifiers that are part of the custom endpoint group.
 22849  	StaticMembers []*string `type:"list"`
 22850  
 22851  	// The current status of the endpoint. One of: creating, available, deleting,
 22852  	// inactive, modifying. The inactive state applies to an endpoint that can't
 22853  	// be used for a certain kind of cluster, such as a writer endpoint for a read-only
 22854  	// secondary cluster in a global database.
 22855  	Status *string `type:"string"`
 22856  }
 22857  
 22858  // String returns the string representation.
 22859  //
 22860  // API parameter values that are decorated as "sensitive" in the API will not
 22861  // be included in the string output. The member name will be present, but the
 22862  // value will be replaced with "sensitive".
 22863  func (s DBClusterEndpoint) String() string {
 22864  	return awsutil.Prettify(s)
 22865  }
 22866  
 22867  // GoString returns the string representation.
 22868  //
 22869  // API parameter values that are decorated as "sensitive" in the API will not
 22870  // be included in the string output. The member name will be present, but the
 22871  // value will be replaced with "sensitive".
 22872  func (s DBClusterEndpoint) GoString() string {
 22873  	return s.String()
 22874  }
 22875  
 22876  // SetCustomEndpointType sets the CustomEndpointType field's value.
 22877  func (s *DBClusterEndpoint) SetCustomEndpointType(v string) *DBClusterEndpoint {
 22878  	s.CustomEndpointType = &v
 22879  	return s
 22880  }
 22881  
 22882  // SetDBClusterEndpointArn sets the DBClusterEndpointArn field's value.
 22883  func (s *DBClusterEndpoint) SetDBClusterEndpointArn(v string) *DBClusterEndpoint {
 22884  	s.DBClusterEndpointArn = &v
 22885  	return s
 22886  }
 22887  
 22888  // SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
 22889  func (s *DBClusterEndpoint) SetDBClusterEndpointIdentifier(v string) *DBClusterEndpoint {
 22890  	s.DBClusterEndpointIdentifier = &v
 22891  	return s
 22892  }
 22893  
 22894  // SetDBClusterEndpointResourceIdentifier sets the DBClusterEndpointResourceIdentifier field's value.
 22895  func (s *DBClusterEndpoint) SetDBClusterEndpointResourceIdentifier(v string) *DBClusterEndpoint {
 22896  	s.DBClusterEndpointResourceIdentifier = &v
 22897  	return s
 22898  }
 22899  
 22900  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 22901  func (s *DBClusterEndpoint) SetDBClusterIdentifier(v string) *DBClusterEndpoint {
 22902  	s.DBClusterIdentifier = &v
 22903  	return s
 22904  }
 22905  
 22906  // SetEndpoint sets the Endpoint field's value.
 22907  func (s *DBClusterEndpoint) SetEndpoint(v string) *DBClusterEndpoint {
 22908  	s.Endpoint = &v
 22909  	return s
 22910  }
 22911  
 22912  // SetEndpointType sets the EndpointType field's value.
 22913  func (s *DBClusterEndpoint) SetEndpointType(v string) *DBClusterEndpoint {
 22914  	s.EndpointType = &v
 22915  	return s
 22916  }
 22917  
 22918  // SetExcludedMembers sets the ExcludedMembers field's value.
 22919  func (s *DBClusterEndpoint) SetExcludedMembers(v []*string) *DBClusterEndpoint {
 22920  	s.ExcludedMembers = v
 22921  	return s
 22922  }
 22923  
 22924  // SetStaticMembers sets the StaticMembers field's value.
 22925  func (s *DBClusterEndpoint) SetStaticMembers(v []*string) *DBClusterEndpoint {
 22926  	s.StaticMembers = v
 22927  	return s
 22928  }
 22929  
 22930  // SetStatus sets the Status field's value.
 22931  func (s *DBClusterEndpoint) SetStatus(v string) *DBClusterEndpoint {
 22932  	s.Status = &v
 22933  	return s
 22934  }
 22935  
 22936  // Contains information about an instance that is part of a DB cluster.
 22937  type DBClusterMember struct {
 22938  	_ struct{} `type:"structure"`
 22939  
 22940  	// Specifies the status of the DB cluster parameter group for this member of
 22941  	// the DB cluster.
 22942  	DBClusterParameterGroupStatus *string `type:"string"`
 22943  
 22944  	// Specifies the instance identifier for this member of the DB cluster.
 22945  	DBInstanceIdentifier *string `type:"string"`
 22946  
 22947  	// Value that is true if the cluster member is the primary instance for the
 22948  	// DB cluster and false otherwise.
 22949  	IsClusterWriter *bool `type:"boolean"`
 22950  
 22951  	// A value that specifies the order in which an Aurora Replica is promoted to
 22952  	// the primary instance after a failure of the existing primary instance. For
 22953  	// 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)
 22954  	// in the Amazon Aurora User Guide.
 22955  	PromotionTier *int64 `type:"integer"`
 22956  }
 22957  
 22958  // String returns the string representation.
 22959  //
 22960  // API parameter values that are decorated as "sensitive" in the API will not
 22961  // be included in the string output. The member name will be present, but the
 22962  // value will be replaced with "sensitive".
 22963  func (s DBClusterMember) String() string {
 22964  	return awsutil.Prettify(s)
 22965  }
 22966  
 22967  // GoString returns the string representation.
 22968  //
 22969  // API parameter values that are decorated as "sensitive" in the API will not
 22970  // be included in the string output. The member name will be present, but the
 22971  // value will be replaced with "sensitive".
 22972  func (s DBClusterMember) GoString() string {
 22973  	return s.String()
 22974  }
 22975  
 22976  // SetDBClusterParameterGroupStatus sets the DBClusterParameterGroupStatus field's value.
 22977  func (s *DBClusterMember) SetDBClusterParameterGroupStatus(v string) *DBClusterMember {
 22978  	s.DBClusterParameterGroupStatus = &v
 22979  	return s
 22980  }
 22981  
 22982  // SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
 22983  func (s *DBClusterMember) SetDBInstanceIdentifier(v string) *DBClusterMember {
 22984  	s.DBInstanceIdentifier = &v
 22985  	return s
 22986  }
 22987  
 22988  // SetIsClusterWriter sets the IsClusterWriter field's value.
 22989  func (s *DBClusterMember) SetIsClusterWriter(v bool) *DBClusterMember {
 22990  	s.IsClusterWriter = &v
 22991  	return s
 22992  }
 22993  
 22994  // SetPromotionTier sets the PromotionTier field's value.
 22995  func (s *DBClusterMember) SetPromotionTier(v int64) *DBClusterMember {
 22996  	s.PromotionTier = &v
 22997  	return s
 22998  }
 22999  
 23000  // Contains status information for a DB cluster option group.
 23001  type DBClusterOptionGroupStatus struct {
 23002  	_ struct{} `type:"structure"`
 23003  
 23004  	// Specifies the name of the DB cluster option group.
 23005  	DBClusterOptionGroupName *string `type:"string"`
 23006  
 23007  	// Specifies the status of the DB cluster option group.
 23008  	Status *string `type:"string"`
 23009  }
 23010  
 23011  // String returns the string representation.
 23012  //
 23013  // API parameter values that are decorated as "sensitive" in the API will not
 23014  // be included in the string output. The member name will be present, but the
 23015  // value will be replaced with "sensitive".
 23016  func (s DBClusterOptionGroupStatus) String() string {
 23017  	return awsutil.Prettify(s)
 23018  }
 23019  
 23020  // GoString returns the string representation.
 23021  //
 23022  // API parameter values that are decorated as "sensitive" in the API will not
 23023  // be included in the string output. The member name will be present, but the
 23024  // value will be replaced with "sensitive".
 23025  func (s DBClusterOptionGroupStatus) GoString() string {
 23026  	return s.String()
 23027  }
 23028  
 23029  // SetDBClusterOptionGroupName sets the DBClusterOptionGroupName field's value.
 23030  func (s *DBClusterOptionGroupStatus) SetDBClusterOptionGroupName(v string) *DBClusterOptionGroupStatus {
 23031  	s.DBClusterOptionGroupName = &v
 23032  	return s
 23033  }
 23034  
 23035  // SetStatus sets the Status field's value.
 23036  func (s *DBClusterOptionGroupStatus) SetStatus(v string) *DBClusterOptionGroupStatus {
 23037  	s.Status = &v
 23038  	return s
 23039  }
 23040  
 23041  // Contains the details of an Amazon RDS DB cluster parameter group.
 23042  //
 23043  // This data type is used as a response element in the DescribeDBClusterParameterGroups
 23044  // action.
 23045  type DBClusterParameterGroup struct {
 23046  	_ struct{} `type:"structure"`
 23047  
 23048  	// The Amazon Resource Name (ARN) for the DB cluster parameter group.
 23049  	DBClusterParameterGroupArn *string `type:"string"`
 23050  
 23051  	// The name of the DB cluster parameter group.
 23052  	DBClusterParameterGroupName *string `type:"string"`
 23053  
 23054  	// The name of the DB parameter group family that this DB cluster parameter
 23055  	// group is compatible with.
 23056  	DBParameterGroupFamily *string `type:"string"`
 23057  
 23058  	// Provides the customer-specified description for this DB cluster parameter
 23059  	// group.
 23060  	Description *string `type:"string"`
 23061  }
 23062  
 23063  // String returns the string representation.
 23064  //
 23065  // API parameter values that are decorated as "sensitive" in the API will not
 23066  // be included in the string output. The member name will be present, but the
 23067  // value will be replaced with "sensitive".
 23068  func (s DBClusterParameterGroup) String() string {
 23069  	return awsutil.Prettify(s)
 23070  }
 23071  
 23072  // GoString returns the string representation.
 23073  //
 23074  // API parameter values that are decorated as "sensitive" in the API will not
 23075  // be included in the string output. The member name will be present, but the
 23076  // value will be replaced with "sensitive".
 23077  func (s DBClusterParameterGroup) GoString() string {
 23078  	return s.String()
 23079  }
 23080  
 23081  // SetDBClusterParameterGroupArn sets the DBClusterParameterGroupArn field's value.
 23082  func (s *DBClusterParameterGroup) SetDBClusterParameterGroupArn(v string) *DBClusterParameterGroup {
 23083  	s.DBClusterParameterGroupArn = &v
 23084  	return s
 23085  }
 23086  
 23087  // SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
 23088  func (s *DBClusterParameterGroup) SetDBClusterParameterGroupName(v string) *DBClusterParameterGroup {
 23089  	s.DBClusterParameterGroupName = &v
 23090  	return s
 23091  }
 23092  
 23093  // SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
 23094  func (s *DBClusterParameterGroup) SetDBParameterGroupFamily(v string) *DBClusterParameterGroup {
 23095  	s.DBParameterGroupFamily = &v
 23096  	return s
 23097  }
 23098  
 23099  // SetDescription sets the Description field's value.
 23100  func (s *DBClusterParameterGroup) SetDescription(v string) *DBClusterParameterGroup {
 23101  	s.Description = &v
 23102  	return s
 23103  }
 23104  
 23105  type DBClusterParameterGroupNameMessage struct {
 23106  	_ struct{} `type:"structure"`
 23107  
 23108  	// The name of the DB cluster parameter group.
 23109  	//
 23110  	// Constraints:
 23111  	//
 23112  	//    * Must be 1 to 255 letters or numbers.
 23113  	//
 23114  	//    * First character must be a letter
 23115  	//
 23116  	//    * Can't end with a hyphen or contain two consecutive hyphens
 23117  	//
 23118  	// This value is stored as a lowercase string.
 23119  	DBClusterParameterGroupName *string `type:"string"`
 23120  }
 23121  
 23122  // String returns the string representation.
 23123  //
 23124  // API parameter values that are decorated as "sensitive" in the API will not
 23125  // be included in the string output. The member name will be present, but the
 23126  // value will be replaced with "sensitive".
 23127  func (s DBClusterParameterGroupNameMessage) String() string {
 23128  	return awsutil.Prettify(s)
 23129  }
 23130  
 23131  // GoString returns the string representation.
 23132  //
 23133  // API parameter values that are decorated as "sensitive" in the API will not
 23134  // be included in the string output. The member name will be present, but the
 23135  // value will be replaced with "sensitive".
 23136  func (s DBClusterParameterGroupNameMessage) GoString() string {
 23137  	return s.String()
 23138  }
 23139  
 23140  // SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
 23141  func (s *DBClusterParameterGroupNameMessage) SetDBClusterParameterGroupName(v string) *DBClusterParameterGroupNameMessage {
 23142  	s.DBClusterParameterGroupName = &v
 23143  	return s
 23144  }
 23145  
 23146  // Describes an Amazon Web Services Identity and Access Management (IAM) role
 23147  // that is associated with a DB cluster.
 23148  type DBClusterRole struct {
 23149  	_ struct{} `type:"structure"`
 23150  
 23151  	// The name of the feature associated with the Amazon Web Services Identity
 23152  	// and Access Management (IAM) role. For the list of supported feature names,
 23153  	// see DBEngineVersion.
 23154  	FeatureName *string `type:"string"`
 23155  
 23156  	// The Amazon Resource Name (ARN) of the IAM role that is associated with the
 23157  	// DB cluster.
 23158  	RoleArn *string `type:"string"`
 23159  
 23160  	// Describes the state of association between the IAM role and the DB cluster.
 23161  	// The Status property returns one of the following values:
 23162  	//
 23163  	//    * ACTIVE - the IAM role ARN is associated with the DB cluster and can
 23164  	//    be used to access other Amazon Web Services on your behalf.
 23165  	//
 23166  	//    * PENDING - the IAM role ARN is being associated with the DB cluster.
 23167  	//
 23168  	//    * INVALID - the IAM role ARN is associated with the DB cluster, but the
 23169  	//    DB cluster is unable to assume the IAM role in order to access other Amazon
 23170  	//    Web Services on your behalf.
 23171  	Status *string `type:"string"`
 23172  }
 23173  
 23174  // String returns the string representation.
 23175  //
 23176  // API parameter values that are decorated as "sensitive" in the API will not
 23177  // be included in the string output. The member name will be present, but the
 23178  // value will be replaced with "sensitive".
 23179  func (s DBClusterRole) String() string {
 23180  	return awsutil.Prettify(s)
 23181  }
 23182  
 23183  // GoString returns the string representation.
 23184  //
 23185  // API parameter values that are decorated as "sensitive" in the API will not
 23186  // be included in the string output. The member name will be present, but the
 23187  // value will be replaced with "sensitive".
 23188  func (s DBClusterRole) GoString() string {
 23189  	return s.String()
 23190  }
 23191  
 23192  // SetFeatureName sets the FeatureName field's value.
 23193  func (s *DBClusterRole) SetFeatureName(v string) *DBClusterRole {
 23194  	s.FeatureName = &v
 23195  	return s
 23196  }
 23197  
 23198  // SetRoleArn sets the RoleArn field's value.
 23199  func (s *DBClusterRole) SetRoleArn(v string) *DBClusterRole {
 23200  	s.RoleArn = &v
 23201  	return s
 23202  }
 23203  
 23204  // SetStatus sets the Status field's value.
 23205  func (s *DBClusterRole) SetStatus(v string) *DBClusterRole {
 23206  	s.Status = &v
 23207  	return s
 23208  }
 23209  
 23210  // Contains the details for an Amazon RDS DB cluster snapshot
 23211  //
 23212  // This data type is used as a response element in the DescribeDBClusterSnapshots
 23213  // action.
 23214  type DBClusterSnapshot struct {
 23215  	_ struct{} `type:"structure"`
 23216  
 23217  	// Specifies the allocated storage size in gibibytes (GiB).
 23218  	AllocatedStorage *int64 `type:"integer"`
 23219  
 23220  	// Provides the list of Availability Zones (AZs) where instances in the DB cluster
 23221  	// snapshot can be restored.
 23222  	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
 23223  
 23224  	// Specifies the time when the DB cluster was created, in Universal Coordinated
 23225  	// Time (UTC).
 23226  	ClusterCreateTime *time.Time `type:"timestamp"`
 23227  
 23228  	// Specifies the DB cluster identifier of the DB cluster that this DB cluster
 23229  	// snapshot was created from.
 23230  	DBClusterIdentifier *string `type:"string"`
 23231  
 23232  	// The Amazon Resource Name (ARN) for the DB cluster snapshot.
 23233  	DBClusterSnapshotArn *string `type:"string"`
 23234  
 23235  	// Specifies the identifier for the DB cluster snapshot.
 23236  	DBClusterSnapshotIdentifier *string `type:"string"`
 23237  
 23238  	// Specifies the name of the database engine for this DB cluster snapshot.
 23239  	Engine *string `type:"string"`
 23240  
 23241  	// Provides the engine mode of the database engine for this DB cluster snapshot.
 23242  	EngineMode *string `type:"string"`
 23243  
 23244  	// Provides the version of the database engine for this DB cluster snapshot.
 23245  	EngineVersion *string `type:"string"`
 23246  
 23247  	// True if mapping of Amazon Web Services Identity and Access Management (IAM)
 23248  	// accounts to database accounts is enabled, and otherwise false.
 23249  	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
 23250  
 23251  	// If StorageEncrypted is true, the Amazon Web Services KMS key identifier for
 23252  	// the encrypted DB cluster snapshot.
 23253  	//
 23254  	// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
 23255  	// ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).
 23256  	KmsKeyId *string `type:"string"`
 23257  
 23258  	// Provides the license model information for this DB cluster snapshot.
 23259  	LicenseModel *string `type:"string"`
 23260  
 23261  	// Provides the master username for this DB cluster snapshot.
 23262  	MasterUsername *string `type:"string"`
 23263  
 23264  	// Specifies the percentage of the estimated data that has been transferred.
 23265  	PercentProgress *int64 `type:"integer"`
 23266  
 23267  	// Specifies the port that the DB cluster was listening on at the time of the
 23268  	// snapshot.
 23269  	Port *int64 `type:"integer"`
 23270  
 23271  	// Provides the time when the snapshot was taken, in Universal Coordinated Time
 23272  	// (UTC).
 23273  	SnapshotCreateTime *time.Time `type:"timestamp"`
 23274  
 23275  	// Provides the type of the DB cluster snapshot.
 23276  	SnapshotType *string `type:"string"`
 23277  
 23278  	// If the DB cluster snapshot was copied from a source DB cluster snapshot,
 23279  	// the Amazon Resource Name (ARN) for the source DB cluster snapshot, otherwise,
 23280  	// a null value.
 23281  	SourceDBClusterSnapshotArn *string `type:"string"`
 23282  
 23283  	// Specifies the status of this DB cluster snapshot.
 23284  	Status *string `type:"string"`
 23285  
 23286  	// Specifies whether the DB cluster snapshot is encrypted.
 23287  	StorageEncrypted *bool `type:"boolean"`
 23288  
 23289  	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
 23290  	// in the Amazon RDS User Guide.
 23291  	TagList []*Tag `locationNameList:"Tag" type:"list"`
 23292  
 23293  	// Provides the VPC ID associated with the DB cluster snapshot.
 23294  	VpcId *string `type:"string"`
 23295  }
 23296  
 23297  // String returns the string representation.
 23298  //
 23299  // API parameter values that are decorated as "sensitive" in the API will not
 23300  // be included in the string output. The member name will be present, but the
 23301  // value will be replaced with "sensitive".
 23302  func (s DBClusterSnapshot) String() string {
 23303  	return awsutil.Prettify(s)
 23304  }
 23305  
 23306  // GoString returns the string representation.
 23307  //
 23308  // API parameter values that are decorated as "sensitive" in the API will not
 23309  // be included in the string output. The member name will be present, but the
 23310  // value will be replaced with "sensitive".
 23311  func (s DBClusterSnapshot) GoString() string {
 23312  	return s.String()
 23313  }
 23314  
 23315  // SetAllocatedStorage sets the AllocatedStorage field's value.
 23316  func (s *DBClusterSnapshot) SetAllocatedStorage(v int64) *DBClusterSnapshot {
 23317  	s.AllocatedStorage = &v
 23318  	return s
 23319  }
 23320  
 23321  // SetAvailabilityZones sets the AvailabilityZones field's value.
 23322  func (s *DBClusterSnapshot) SetAvailabilityZones(v []*string) *DBClusterSnapshot {
 23323  	s.AvailabilityZones = v
 23324  	return s
 23325  }
 23326  
 23327  // SetClusterCreateTime sets the ClusterCreateTime field's value.
 23328  func (s *DBClusterSnapshot) SetClusterCreateTime(v time.Time) *DBClusterSnapshot {
 23329  	s.ClusterCreateTime = &v
 23330  	return s
 23331  }
 23332  
 23333  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 23334  func (s *DBClusterSnapshot) SetDBClusterIdentifier(v string) *DBClusterSnapshot {
 23335  	s.DBClusterIdentifier = &v
 23336  	return s
 23337  }
 23338  
 23339  // SetDBClusterSnapshotArn sets the DBClusterSnapshotArn field's value.
 23340  func (s *DBClusterSnapshot) SetDBClusterSnapshotArn(v string) *DBClusterSnapshot {
 23341  	s.DBClusterSnapshotArn = &v
 23342  	return s
 23343  }
 23344  
 23345  // SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
 23346  func (s *DBClusterSnapshot) SetDBClusterSnapshotIdentifier(v string) *DBClusterSnapshot {
 23347  	s.DBClusterSnapshotIdentifier = &v
 23348  	return s
 23349  }
 23350  
 23351  // SetEngine sets the Engine field's value.
 23352  func (s *DBClusterSnapshot) SetEngine(v string) *DBClusterSnapshot {
 23353  	s.Engine = &v
 23354  	return s
 23355  }
 23356  
 23357  // SetEngineMode sets the EngineMode field's value.
 23358  func (s *DBClusterSnapshot) SetEngineMode(v string) *DBClusterSnapshot {
 23359  	s.EngineMode = &v
 23360  	return s
 23361  }
 23362  
 23363  // SetEngineVersion sets the EngineVersion field's value.
 23364  func (s *DBClusterSnapshot) SetEngineVersion(v string) *DBClusterSnapshot {
 23365  	s.EngineVersion = &v
 23366  	return s
 23367  }
 23368  
 23369  // SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
 23370  func (s *DBClusterSnapshot) SetIAMDatabaseAuthenticationEnabled(v bool) *DBClusterSnapshot {
 23371  	s.IAMDatabaseAuthenticationEnabled = &v
 23372  	return s
 23373  }
 23374  
 23375  // SetKmsKeyId sets the KmsKeyId field's value.
 23376  func (s *DBClusterSnapshot) SetKmsKeyId(v string) *DBClusterSnapshot {
 23377  	s.KmsKeyId = &v
 23378  	return s
 23379  }
 23380  
 23381  // SetLicenseModel sets the LicenseModel field's value.
 23382  func (s *DBClusterSnapshot) SetLicenseModel(v string) *DBClusterSnapshot {
 23383  	s.LicenseModel = &v
 23384  	return s
 23385  }
 23386  
 23387  // SetMasterUsername sets the MasterUsername field's value.
 23388  func (s *DBClusterSnapshot) SetMasterUsername(v string) *DBClusterSnapshot {
 23389  	s.MasterUsername = &v
 23390  	return s
 23391  }
 23392  
 23393  // SetPercentProgress sets the PercentProgress field's value.
 23394  func (s *DBClusterSnapshot) SetPercentProgress(v int64) *DBClusterSnapshot {
 23395  	s.PercentProgress = &v
 23396  	return s
 23397  }
 23398  
 23399  // SetPort sets the Port field's value.
 23400  func (s *DBClusterSnapshot) SetPort(v int64) *DBClusterSnapshot {
 23401  	s.Port = &v
 23402  	return s
 23403  }
 23404  
 23405  // SetSnapshotCreateTime sets the SnapshotCreateTime field's value.
 23406  func (s *DBClusterSnapshot) SetSnapshotCreateTime(v time.Time) *DBClusterSnapshot {
 23407  	s.SnapshotCreateTime = &v
 23408  	return s
 23409  }
 23410  
 23411  // SetSnapshotType sets the SnapshotType field's value.
 23412  func (s *DBClusterSnapshot) SetSnapshotType(v string) *DBClusterSnapshot {
 23413  	s.SnapshotType = &v
 23414  	return s
 23415  }
 23416  
 23417  // SetSourceDBClusterSnapshotArn sets the SourceDBClusterSnapshotArn field's value.
 23418  func (s *DBClusterSnapshot) SetSourceDBClusterSnapshotArn(v string) *DBClusterSnapshot {
 23419  	s.SourceDBClusterSnapshotArn = &v
 23420  	return s
 23421  }
 23422  
 23423  // SetStatus sets the Status field's value.
 23424  func (s *DBClusterSnapshot) SetStatus(v string) *DBClusterSnapshot {
 23425  	s.Status = &v
 23426  	return s
 23427  }
 23428  
 23429  // SetStorageEncrypted sets the StorageEncrypted field's value.
 23430  func (s *DBClusterSnapshot) SetStorageEncrypted(v bool) *DBClusterSnapshot {
 23431  	s.StorageEncrypted = &v
 23432  	return s
 23433  }
 23434  
 23435  // SetTagList sets the TagList field's value.
 23436  func (s *DBClusterSnapshot) SetTagList(v []*Tag) *DBClusterSnapshot {
 23437  	s.TagList = v
 23438  	return s
 23439  }
 23440  
 23441  // SetVpcId sets the VpcId field's value.
 23442  func (s *DBClusterSnapshot) SetVpcId(v string) *DBClusterSnapshot {
 23443  	s.VpcId = &v
 23444  	return s
 23445  }
 23446  
 23447  // Contains the name and values of a manual DB cluster snapshot attribute.
 23448  //
 23449  // Manual DB cluster snapshot attributes are used to authorize other Amazon
 23450  // Web Services accounts to restore a manual DB cluster snapshot. For more information,
 23451  // see the ModifyDBClusterSnapshotAttribute API action.
 23452  type DBClusterSnapshotAttribute struct {
 23453  	_ struct{} `type:"structure"`
 23454  
 23455  	// The name of the manual DB cluster snapshot attribute.
 23456  	//
 23457  	// The attribute named restore refers to the list of Amazon Web Services accounts
 23458  	// that have permission to copy or restore the manual DB cluster snapshot. For
 23459  	// more information, see the ModifyDBClusterSnapshotAttribute API action.
 23460  	AttributeName *string `type:"string"`
 23461  
 23462  	// The value(s) for the manual DB cluster snapshot attribute.
 23463  	//
 23464  	// If the AttributeName field is set to restore, then this element returns a
 23465  	// list of IDs of the Amazon Web Services accounts that are authorized to copy
 23466  	// or restore the manual DB cluster snapshot. If a value of all is in the list,
 23467  	// then the manual DB cluster snapshot is public and available for any Amazon
 23468  	// Web Services account to copy or restore.
 23469  	AttributeValues []*string `locationNameList:"AttributeValue" type:"list"`
 23470  }
 23471  
 23472  // String returns the string representation.
 23473  //
 23474  // API parameter values that are decorated as "sensitive" in the API will not
 23475  // be included in the string output. The member name will be present, but the
 23476  // value will be replaced with "sensitive".
 23477  func (s DBClusterSnapshotAttribute) String() string {
 23478  	return awsutil.Prettify(s)
 23479  }
 23480  
 23481  // GoString returns the string representation.
 23482  //
 23483  // API parameter values that are decorated as "sensitive" in the API will not
 23484  // be included in the string output. The member name will be present, but the
 23485  // value will be replaced with "sensitive".
 23486  func (s DBClusterSnapshotAttribute) GoString() string {
 23487  	return s.String()
 23488  }
 23489  
 23490  // SetAttributeName sets the AttributeName field's value.
 23491  func (s *DBClusterSnapshotAttribute) SetAttributeName(v string) *DBClusterSnapshotAttribute {
 23492  	s.AttributeName = &v
 23493  	return s
 23494  }
 23495  
 23496  // SetAttributeValues sets the AttributeValues field's value.
 23497  func (s *DBClusterSnapshotAttribute) SetAttributeValues(v []*string) *DBClusterSnapshotAttribute {
 23498  	s.AttributeValues = v
 23499  	return s
 23500  }
 23501  
 23502  // Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes
 23503  // API action.
 23504  //
 23505  // Manual DB cluster snapshot attributes are used to authorize other Amazon
 23506  // Web Services accounts to copy or restore a manual DB cluster snapshot. For
 23507  // more information, see the ModifyDBClusterSnapshotAttribute API action.
 23508  type DBClusterSnapshotAttributesResult struct {
 23509  	_ struct{} `type:"structure"`
 23510  
 23511  	// The list of attributes and values for the manual DB cluster snapshot.
 23512  	DBClusterSnapshotAttributes []*DBClusterSnapshotAttribute `locationNameList:"DBClusterSnapshotAttribute" type:"list"`
 23513  
 23514  	// The identifier of the manual DB cluster snapshot that the attributes apply
 23515  	// to.
 23516  	DBClusterSnapshotIdentifier *string `type:"string"`
 23517  }
 23518  
 23519  // String returns the string representation.
 23520  //
 23521  // API parameter values that are decorated as "sensitive" in the API will not
 23522  // be included in the string output. The member name will be present, but the
 23523  // value will be replaced with "sensitive".
 23524  func (s DBClusterSnapshotAttributesResult) String() string {
 23525  	return awsutil.Prettify(s)
 23526  }
 23527  
 23528  // GoString returns the string representation.
 23529  //
 23530  // API parameter values that are decorated as "sensitive" in the API will not
 23531  // be included in the string output. The member name will be present, but the
 23532  // value will be replaced with "sensitive".
 23533  func (s DBClusterSnapshotAttributesResult) GoString() string {
 23534  	return s.String()
 23535  }
 23536  
 23537  // SetDBClusterSnapshotAttributes sets the DBClusterSnapshotAttributes field's value.
 23538  func (s *DBClusterSnapshotAttributesResult) SetDBClusterSnapshotAttributes(v []*DBClusterSnapshotAttribute) *DBClusterSnapshotAttributesResult {
 23539  	s.DBClusterSnapshotAttributes = v
 23540  	return s
 23541  }
 23542  
 23543  // SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
 23544  func (s *DBClusterSnapshotAttributesResult) SetDBClusterSnapshotIdentifier(v string) *DBClusterSnapshotAttributesResult {
 23545  	s.DBClusterSnapshotIdentifier = &v
 23546  	return s
 23547  }
 23548  
 23549  // This data type is used as a response element in the action DescribeDBEngineVersions.
 23550  type DBEngineVersion struct {
 23551  	_ struct{} `type:"structure"`
 23552  
 23553  	// The description of the database engine.
 23554  	DBEngineDescription *string `type:"string"`
 23555  
 23556  	// The description of the database engine version.
 23557  	DBEngineVersionDescription *string `type:"string"`
 23558  
 23559  	// The name of the DB parameter group family for the database engine.
 23560  	DBParameterGroupFamily *string `type:"string"`
 23561  
 23562  	// The default character set for new instances of this engine version, if the
 23563  	// CharacterSetName parameter of the CreateDBInstance API isn't specified.
 23564  	DefaultCharacterSet *CharacterSet `type:"structure"`
 23565  
 23566  	// The name of the database engine.
 23567  	Engine *string `type:"string"`
 23568  
 23569  	// The version number of the database engine.
 23570  	EngineVersion *string `type:"string"`
 23571  
 23572  	// The types of logs that the database engine has available for export to CloudWatch
 23573  	// Logs.
 23574  	ExportableLogTypes []*string `type:"list"`
 23575  
 23576  	// The status of the DB engine version, either available or deprecated.
 23577  	Status *string `type:"string"`
 23578  
 23579  	// A list of the character sets supported by this engine for the CharacterSetName
 23580  	// parameter of the CreateDBInstance operation.
 23581  	SupportedCharacterSets []*CharacterSet `locationNameList:"CharacterSet" type:"list"`
 23582  
 23583  	// A list of the supported DB engine modes.
 23584  	SupportedEngineModes []*string `type:"list"`
 23585  
 23586  	// A list of features supported by the DB engine. Supported feature names include
 23587  	// the following.
 23588  	//
 23589  	//    * s3Import
 23590  	SupportedFeatureNames []*string `type:"list"`
 23591  
 23592  	// A list of the character sets supported by the Oracle DB engine for the NcharCharacterSetName
 23593  	// parameter of the CreateDBInstance operation.
 23594  	SupportedNcharCharacterSets []*CharacterSet `locationNameList:"CharacterSet" type:"list"`
 23595  
 23596  	// A list of the time zones supported by this engine for the Timezone parameter
 23597  	// of the CreateDBInstance action.
 23598  	SupportedTimezones []*Timezone `locationNameList:"Timezone" type:"list"`
 23599  
 23600  	// A value that indicates whether you can use Aurora global databases with a
 23601  	// specific DB engine version.
 23602  	SupportsGlobalDatabases *bool `type:"boolean"`
 23603  
 23604  	// A value that indicates whether the engine version supports exporting the
 23605  	// log types specified by ExportableLogTypes to CloudWatch Logs.
 23606  	SupportsLogExportsToCloudwatchLogs *bool `type:"boolean"`
 23607  
 23608  	// A value that indicates whether you can use Aurora parallel query with a specific
 23609  	// DB engine version.
 23610  	SupportsParallelQuery *bool `type:"boolean"`
 23611  
 23612  	// Indicates whether the database engine version supports read replicas.
 23613  	SupportsReadReplica *bool `type:"boolean"`
 23614  
 23615  	// A list of engine versions that this database engine version can be upgraded
 23616  	// to.
 23617  	ValidUpgradeTarget []*UpgradeTarget `locationNameList:"UpgradeTarget" type:"list"`
 23618  }
 23619  
 23620  // String returns the string representation.
 23621  //
 23622  // API parameter values that are decorated as "sensitive" in the API will not
 23623  // be included in the string output. The member name will be present, but the
 23624  // value will be replaced with "sensitive".
 23625  func (s DBEngineVersion) String() string {
 23626  	return awsutil.Prettify(s)
 23627  }
 23628  
 23629  // GoString returns the string representation.
 23630  //
 23631  // API parameter values that are decorated as "sensitive" in the API will not
 23632  // be included in the string output. The member name will be present, but the
 23633  // value will be replaced with "sensitive".
 23634  func (s DBEngineVersion) GoString() string {
 23635  	return s.String()
 23636  }
 23637  
 23638  // SetDBEngineDescription sets the DBEngineDescription field's value.
 23639  func (s *DBEngineVersion) SetDBEngineDescription(v string) *DBEngineVersion {
 23640  	s.DBEngineDescription = &v
 23641  	return s
 23642  }
 23643  
 23644  // SetDBEngineVersionDescription sets the DBEngineVersionDescription field's value.
 23645  func (s *DBEngineVersion) SetDBEngineVersionDescription(v string) *DBEngineVersion {
 23646  	s.DBEngineVersionDescription = &v
 23647  	return s
 23648  }
 23649  
 23650  // SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
 23651  func (s *DBEngineVersion) SetDBParameterGroupFamily(v string) *DBEngineVersion {
 23652  	s.DBParameterGroupFamily = &v
 23653  	return s
 23654  }
 23655  
 23656  // SetDefaultCharacterSet sets the DefaultCharacterSet field's value.
 23657  func (s *DBEngineVersion) SetDefaultCharacterSet(v *CharacterSet) *DBEngineVersion {
 23658  	s.DefaultCharacterSet = v
 23659  	return s
 23660  }
 23661  
 23662  // SetEngine sets the Engine field's value.
 23663  func (s *DBEngineVersion) SetEngine(v string) *DBEngineVersion {
 23664  	s.Engine = &v
 23665  	return s
 23666  }
 23667  
 23668  // SetEngineVersion sets the EngineVersion field's value.
 23669  func (s *DBEngineVersion) SetEngineVersion(v string) *DBEngineVersion {
 23670  	s.EngineVersion = &v
 23671  	return s
 23672  }
 23673  
 23674  // SetExportableLogTypes sets the ExportableLogTypes field's value.
 23675  func (s *DBEngineVersion) SetExportableLogTypes(v []*string) *DBEngineVersion {
 23676  	s.ExportableLogTypes = v
 23677  	return s
 23678  }
 23679  
 23680  // SetStatus sets the Status field's value.
 23681  func (s *DBEngineVersion) SetStatus(v string) *DBEngineVersion {
 23682  	s.Status = &v
 23683  	return s
 23684  }
 23685  
 23686  // SetSupportedCharacterSets sets the SupportedCharacterSets field's value.
 23687  func (s *DBEngineVersion) SetSupportedCharacterSets(v []*CharacterSet) *DBEngineVersion {
 23688  	s.SupportedCharacterSets = v
 23689  	return s
 23690  }
 23691  
 23692  // SetSupportedEngineModes sets the SupportedEngineModes field's value.
 23693  func (s *DBEngineVersion) SetSupportedEngineModes(v []*string) *DBEngineVersion {
 23694  	s.SupportedEngineModes = v
 23695  	return s
 23696  }
 23697  
 23698  // SetSupportedFeatureNames sets the SupportedFeatureNames field's value.
 23699  func (s *DBEngineVersion) SetSupportedFeatureNames(v []*string) *DBEngineVersion {
 23700  	s.SupportedFeatureNames = v
 23701  	return s
 23702  }
 23703  
 23704  // SetSupportedNcharCharacterSets sets the SupportedNcharCharacterSets field's value.
 23705  func (s *DBEngineVersion) SetSupportedNcharCharacterSets(v []*CharacterSet) *DBEngineVersion {
 23706  	s.SupportedNcharCharacterSets = v
 23707  	return s
 23708  }
 23709  
 23710  // SetSupportedTimezones sets the SupportedTimezones field's value.
 23711  func (s *DBEngineVersion) SetSupportedTimezones(v []*Timezone) *DBEngineVersion {
 23712  	s.SupportedTimezones = v
 23713  	return s
 23714  }
 23715  
 23716  // SetSupportsGlobalDatabases sets the SupportsGlobalDatabases field's value.
 23717  func (s *DBEngineVersion) SetSupportsGlobalDatabases(v bool) *DBEngineVersion {
 23718  	s.SupportsGlobalDatabases = &v
 23719  	return s
 23720  }
 23721  
 23722  // SetSupportsLogExportsToCloudwatchLogs sets the SupportsLogExportsToCloudwatchLogs field's value.
 23723  func (s *DBEngineVersion) SetSupportsLogExportsToCloudwatchLogs(v bool) *DBEngineVersion {
 23724  	s.SupportsLogExportsToCloudwatchLogs = &v
 23725  	return s
 23726  }
 23727  
 23728  // SetSupportsParallelQuery sets the SupportsParallelQuery field's value.
 23729  func (s *DBEngineVersion) SetSupportsParallelQuery(v bool) *DBEngineVersion {
 23730  	s.SupportsParallelQuery = &v
 23731  	return s
 23732  }
 23733  
 23734  // SetSupportsReadReplica sets the SupportsReadReplica field's value.
 23735  func (s *DBEngineVersion) SetSupportsReadReplica(v bool) *DBEngineVersion {
 23736  	s.SupportsReadReplica = &v
 23737  	return s
 23738  }
 23739  
 23740  // SetValidUpgradeTarget sets the ValidUpgradeTarget field's value.
 23741  func (s *DBEngineVersion) SetValidUpgradeTarget(v []*UpgradeTarget) *DBEngineVersion {
 23742  	s.ValidUpgradeTarget = v
 23743  	return s
 23744  }
 23745  
 23746  // Contains the details of an Amazon RDS DB instance.
 23747  //
 23748  // This data type is used as a response element in the DescribeDBInstances action.
 23749  type DBInstance struct {
 23750  	_ struct{} `type:"structure"`
 23751  
 23752  	// Indicates whether engine-native audit fields are included in the database
 23753  	// activity stream.
 23754  	ActivityStreamEngineNativeAuditFieldsIncluded *bool `type:"boolean"`
 23755  
 23756  	// The name of the Amazon Kinesis data stream used for the database activity
 23757  	// stream.
 23758  	ActivityStreamKinesisStreamName *string `type:"string"`
 23759  
 23760  	// The Amazon Web Services KMS key identifier used for encrypting messages in
 23761  	// the database activity stream. The Amazon Web Services KMS key identifier
 23762  	// is the key ARN, key ID, alias ARN, or alias name for the Amazon Web Services
 23763  	// KMS customer master key (CMK).
 23764  	ActivityStreamKmsKeyId *string `type:"string"`
 23765  
 23766  	// The mode of the database activity stream. Database events such as a change
 23767  	// or access generate an activity stream event. RDS for Oracle always handles
 23768  	// these events asynchronously.
 23769  	ActivityStreamMode *string `type:"string" enum:"ActivityStreamMode"`
 23770  
 23771  	// The status of the database activity stream.
 23772  	ActivityStreamStatus *string `type:"string" enum:"ActivityStreamStatus"`
 23773  
 23774  	// Specifies the allocated storage size specified in gibibytes (GiB).
 23775  	AllocatedStorage *int64 `type:"integer"`
 23776  
 23777  	// The Amazon Web Services Identity and Access Management (IAM) roles associated
 23778  	// with the DB instance.
 23779  	AssociatedRoles []*DBInstanceRole `locationNameList:"DBInstanceRole" type:"list"`
 23780  
 23781  	// A value that indicates that minor version patches are applied automatically.
 23782  	AutoMinorVersionUpgrade *bool `type:"boolean"`
 23783  
 23784  	// The time when a stopped DB instance is restarted automatically.
 23785  	AutomaticRestartTime *time.Time `type:"timestamp"`
 23786  
 23787  	// Specifies the name of the Availability Zone the DB instance is located in.
 23788  	AvailabilityZone *string `type:"string"`
 23789  
 23790  	// The Amazon Resource Name (ARN) of the recovery point in Amazon Web Services
 23791  	// Backup.
 23792  	AwsBackupRecoveryPointArn *string `type:"string"`
 23793  
 23794  	// Specifies the number of days for which automatic DB snapshots are retained.
 23795  	BackupRetentionPeriod *int64 `type:"integer"`
 23796  
 23797  	// The identifier of the CA certificate for this DB instance.
 23798  	CACertificateIdentifier *string `type:"string"`
 23799  
 23800  	// If present, specifies the name of the character set that this instance is
 23801  	// associated with.
 23802  	CharacterSetName *string `type:"string"`
 23803  
 23804  	// Specifies whether tags are copied from the DB instance to snapshots of the
 23805  	// DB instance.
 23806  	//
 23807  	// Amazon Aurora
 23808  	//
 23809  	// Not applicable. Copying tags to snapshots is managed by the DB cluster. Setting
 23810  	// this value for an Aurora DB instance has no effect on the DB cluster setting.
 23811  	// For more information, see DBCluster.
 23812  	CopyTagsToSnapshot *bool `type:"boolean"`
 23813  
 23814  	// Specifies whether a customer-owned IP address (CoIP) is enabled for an RDS
 23815  	// on Outposts DB instance.
 23816  	//
 23817  	// A CoIP provides local or external connectivity to resources in your Outpost
 23818  	// subnets through your on-premises network. For some use cases, a CoIP can
 23819  	// provide lower latency for connections to the DB instance from outside of
 23820  	// its virtual private cloud (VPC) on your local network.
 23821  	//
 23822  	// For more information about RDS on Outposts, see Working with Amazon RDS on
 23823  	// Amazon Web Services Outposts (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html)
 23824  	// in the Amazon RDS User Guide.
 23825  	//
 23826  	// For more information about CoIPs, see Customer-owned IP addresses (https://docs.aws.amazon.com/outposts/latest/userguide/outposts-networking-components.html#ip-addressing)
 23827  	// in the Amazon Web Services Outposts User Guide.
 23828  	CustomerOwnedIpEnabled *bool `type:"boolean"`
 23829  
 23830  	// If the DB instance is a member of a DB cluster, contains the name of the
 23831  	// DB cluster that the DB instance is a member of.
 23832  	DBClusterIdentifier *string `type:"string"`
 23833  
 23834  	// The Amazon Resource Name (ARN) for the DB instance.
 23835  	DBInstanceArn *string `type:"string"`
 23836  
 23837  	// The list of replicated automated backups associated with the DB instance.
 23838  	DBInstanceAutomatedBackupsReplications []*DBInstanceAutomatedBackupsReplication `locationNameList:"DBInstanceAutomatedBackupsReplication" type:"list"`
 23839  
 23840  	// Contains the name of the compute and memory capacity class of the DB instance.
 23841  	DBInstanceClass *string `type:"string"`
 23842  
 23843  	// Contains a user-supplied database identifier. This identifier is the unique
 23844  	// key that identifies a DB instance.
 23845  	DBInstanceIdentifier *string `type:"string"`
 23846  
 23847  	// Specifies the current state of this database.
 23848  	//
 23849  	// For information about DB instance statuses, see Viewing DB instance status
 23850  	// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/accessing-monitoring.html#Overview.DBInstance.Status)
 23851  	// in the Amazon RDS User Guide.
 23852  	DBInstanceStatus *string `type:"string"`
 23853  
 23854  	// The meaning of this parameter differs according to the database engine you
 23855  	// use.
 23856  	//
 23857  	// MySQL, MariaDB, SQL Server, PostgreSQL
 23858  	//
 23859  	// Contains the name of the initial database of this instance that was provided
 23860  	// at create time, if one was specified when the DB instance was created. This
 23861  	// same name is returned for the life of the DB instance.
 23862  	//
 23863  	// Type: String
 23864  	//
 23865  	// Oracle
 23866  	//
 23867  	// Contains the Oracle System ID (SID) of the created DB instance. Not shown
 23868  	// when the returned parameters do not apply to an Oracle DB instance.
 23869  	DBName *string `type:"string"`
 23870  
 23871  	// Provides the list of DB parameter groups applied to this DB instance.
 23872  	DBParameterGroups []*DBParameterGroupStatus `locationNameList:"DBParameterGroup" type:"list"`
 23873  
 23874  	// A list of DB security group elements containing DBSecurityGroup.Name and
 23875  	// DBSecurityGroup.Status subelements.
 23876  	DBSecurityGroups []*DBSecurityGroupMembership `locationNameList:"DBSecurityGroup" type:"list"`
 23877  
 23878  	// Specifies information on the subnet group associated with the DB instance,
 23879  	// including the name, description, and subnets in the subnet group.
 23880  	DBSubnetGroup *DBSubnetGroup `type:"structure"`
 23881  
 23882  	// Specifies the port that the DB instance listens on. If the DB instance is
 23883  	// part of a DB cluster, this can be a different port than the DB cluster port.
 23884  	DbInstancePort *int64 `type:"integer"`
 23885  
 23886  	// The Amazon Web Services Region-unique, immutable identifier for the DB instance.
 23887  	// This identifier is found in Amazon Web Services CloudTrail log entries whenever
 23888  	// the Amazon Web Services KMS customer master key (CMK) for the DB instance
 23889  	// is accessed.
 23890  	DbiResourceId *string `type:"string"`
 23891  
 23892  	// Indicates if the DB instance has deletion protection enabled. The database
 23893  	// can't be deleted when deletion protection is enabled. For more information,
 23894  	// see Deleting a DB Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html).
 23895  	DeletionProtection *bool `type:"boolean"`
 23896  
 23897  	// The Active Directory Domain membership records associated with the DB instance.
 23898  	DomainMemberships []*DomainMembership `locationNameList:"DomainMembership" type:"list"`
 23899  
 23900  	// A list of log types that this DB instance is configured to export to CloudWatch
 23901  	// Logs.
 23902  	//
 23903  	// Log types vary by DB engine. For information about the log types for each
 23904  	// DB engine, see Amazon RDS Database Log Files (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html)
 23905  	// in the Amazon RDS User Guide.
 23906  	EnabledCloudwatchLogsExports []*string `type:"list"`
 23907  
 23908  	// Specifies the connection endpoint.
 23909  	//
 23910  	// The endpoint might not be shown for instances whose status is creating.
 23911  	Endpoint *Endpoint `type:"structure"`
 23912  
 23913  	// The name of the database engine to be used for this DB instance.
 23914  	Engine *string `type:"string"`
 23915  
 23916  	// Indicates the database engine version.
 23917  	EngineVersion *string `type:"string"`
 23918  
 23919  	// The Amazon Resource Name (ARN) of the Amazon CloudWatch Logs log stream that
 23920  	// receives the Enhanced Monitoring metrics data for the DB instance.
 23921  	EnhancedMonitoringResourceArn *string `type:"string"`
 23922  
 23923  	// True if mapping of Amazon Web Services Identity and Access Management (IAM)
 23924  	// accounts to database accounts is enabled, and otherwise false.
 23925  	//
 23926  	// IAM database authentication can be enabled for the following database engines
 23927  	//
 23928  	//    * For MySQL 5.6, minor version 5.6.34 or higher
 23929  	//
 23930  	//    * For MySQL 5.7, minor version 5.7.16 or higher
 23931  	//
 23932  	//    * Aurora 5.6 or higher. To enable IAM database authentication for Aurora,
 23933  	//    see DBCluster Type.
 23934  	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
 23935  
 23936  	// Provides the date and time the DB instance was created.
 23937  	InstanceCreateTime *time.Time `type:"timestamp"`
 23938  
 23939  	// Specifies the Provisioned IOPS (I/O operations per second) value.
 23940  	Iops *int64 `type:"integer"`
 23941  
 23942  	// If StorageEncrypted is true, the Amazon Web Services KMS key identifier for
 23943  	// the encrypted DB instance.
 23944  	//
 23945  	// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
 23946  	// ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).
 23947  	KmsKeyId *string `type:"string"`
 23948  
 23949  	// Specifies the latest time to which a database can be restored with point-in-time
 23950  	// restore.
 23951  	LatestRestorableTime *time.Time `type:"timestamp"`
 23952  
 23953  	// License model information for this DB instance.
 23954  	LicenseModel *string `type:"string"`
 23955  
 23956  	// Specifies the listener connection endpoint for SQL Server Always On.
 23957  	ListenerEndpoint *Endpoint `type:"structure"`
 23958  
 23959  	// Contains the master username for the DB instance.
 23960  	MasterUsername *string `type:"string"`
 23961  
 23962  	// The upper limit in gibibytes (GiB) to which Amazon RDS can automatically
 23963  	// scale the storage of the DB instance.
 23964  	MaxAllocatedStorage *int64 `type:"integer"`
 23965  
 23966  	// The interval, in seconds, between points when Enhanced Monitoring metrics
 23967  	// are collected for the DB instance.
 23968  	MonitoringInterval *int64 `type:"integer"`
 23969  
 23970  	// The ARN for the IAM role that permits RDS to send Enhanced Monitoring metrics
 23971  	// to Amazon CloudWatch Logs.
 23972  	MonitoringRoleArn *string `type:"string"`
 23973  
 23974  	// Specifies if the DB instance is a Multi-AZ deployment.
 23975  	MultiAZ *bool `type:"boolean"`
 23976  
 23977  	// The name of the NCHAR character set for the Oracle DB instance. This character
 23978  	// set specifies the Unicode encoding for data stored in table columns of type
 23979  	// NCHAR, NCLOB, or NVARCHAR2.
 23980  	NcharCharacterSetName *string `type:"string"`
 23981  
 23982  	// Provides the list of option group memberships for this DB instance.
 23983  	OptionGroupMemberships []*OptionGroupMembership `locationNameList:"OptionGroupMembership" type:"list"`
 23984  
 23985  	// A value that specifies that changes to the DB instance are pending. This
 23986  	// element is only included when changes are pending. Specific changes are identified
 23987  	// by subelements.
 23988  	PendingModifiedValues *PendingModifiedValues `type:"structure"`
 23989  
 23990  	// True if Performance Insights is enabled for the DB instance, and otherwise
 23991  	// false.
 23992  	PerformanceInsightsEnabled *bool `type:"boolean"`
 23993  
 23994  	// The Amazon Web Services KMS key identifier for encryption of Performance
 23995  	// Insights data.
 23996  	//
 23997  	// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
 23998  	// ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).
 23999  	PerformanceInsightsKMSKeyId *string `type:"string"`
 24000  
 24001  	// The amount of time, in days, to retain Performance Insights data. Valid values
 24002  	// are 7 or 731 (2 years).
 24003  	PerformanceInsightsRetentionPeriod *int64 `type:"integer"`
 24004  
 24005  	// Specifies the daily time range during which automated backups are created
 24006  	// if automated backups are enabled, as determined by the BackupRetentionPeriod.
 24007  	PreferredBackupWindow *string `type:"string"`
 24008  
 24009  	// Specifies the weekly time range during which system maintenance can occur,
 24010  	// in Universal Coordinated Time (UTC).
 24011  	PreferredMaintenanceWindow *string `type:"string"`
 24012  
 24013  	// The number of CPU cores and the number of threads per core for the DB instance
 24014  	// class of the DB instance.
 24015  	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
 24016  
 24017  	// A value that specifies the order in which an Aurora Replica is promoted to
 24018  	// the primary instance after a failure of the existing primary instance. For
 24019  	// 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)
 24020  	// in the Amazon Aurora User Guide.
 24021  	PromotionTier *int64 `type:"integer"`
 24022  
 24023  	// Specifies the accessibility options for the DB instance.
 24024  	//
 24025  	// When the DB instance is publicly accessible, its DNS endpoint resolves to
 24026  	// the private IP address from within the DB instance's VPC, and to the public
 24027  	// IP address from outside of the DB instance's VPC. Access to the DB instance
 24028  	// is ultimately controlled by the security group it uses, and that public access
 24029  	// is not permitted if the security group assigned to the DB instance doesn't
 24030  	// permit it.
 24031  	//
 24032  	// When the DB instance isn't publicly accessible, it is an internal DB instance
 24033  	// with a DNS name that resolves to a private IP address.
 24034  	//
 24035  	// For more information, see CreateDBInstance.
 24036  	PubliclyAccessible *bool `type:"boolean"`
 24037  
 24038  	// Contains one or more identifiers of Aurora DB clusters to which the RDS DB
 24039  	// instance is replicated as a read replica. For example, when you create an
 24040  	// Aurora read replica of an RDS MySQL DB instance, the Aurora MySQL DB cluster
 24041  	// for the Aurora read replica is shown. This output does not contain information
 24042  	// about cross region Aurora read replicas.
 24043  	//
 24044  	// Currently, each RDS DB instance can have only one Aurora read replica.
 24045  	ReadReplicaDBClusterIdentifiers []*string `locationNameList:"ReadReplicaDBClusterIdentifier" type:"list"`
 24046  
 24047  	// Contains one or more identifiers of the read replicas associated with this
 24048  	// DB instance.
 24049  	ReadReplicaDBInstanceIdentifiers []*string `locationNameList:"ReadReplicaDBInstanceIdentifier" type:"list"`
 24050  
 24051  	// Contains the identifier of the source DB instance if this DB instance is
 24052  	// a read replica.
 24053  	ReadReplicaSourceDBInstanceIdentifier *string `type:"string"`
 24054  
 24055  	// The open mode of an Oracle read replica. The default is open-read-only. For
 24056  	// more information, see Working with Oracle Read Replicas for Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html)
 24057  	// in the Amazon RDS User Guide.
 24058  	//
 24059  	// This attribute is only supported in RDS for Oracle.
 24060  	ReplicaMode *string `type:"string" enum:"ReplicaMode"`
 24061  
 24062  	// If present, specifies the name of the secondary Availability Zone for a DB
 24063  	// instance with multi-AZ support.
 24064  	SecondaryAvailabilityZone *string `type:"string"`
 24065  
 24066  	// The status of a read replica. If the instance isn't a read replica, this
 24067  	// is blank.
 24068  	StatusInfos []*DBInstanceStatusInfo `locationNameList:"DBInstanceStatusInfo" type:"list"`
 24069  
 24070  	// Specifies whether the DB instance is encrypted.
 24071  	StorageEncrypted *bool `type:"boolean"`
 24072  
 24073  	// Specifies the storage type associated with DB instance.
 24074  	StorageType *string `type:"string"`
 24075  
 24076  	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
 24077  	// in the Amazon RDS User Guide.
 24078  	TagList []*Tag `locationNameList:"Tag" type:"list"`
 24079  
 24080  	// The ARN from the key store with which the instance is associated for TDE
 24081  	// encryption.
 24082  	TdeCredentialArn *string `type:"string"`
 24083  
 24084  	// The time zone of the DB instance. In most cases, the Timezone element is
 24085  	// empty. Timezone content appears only for Microsoft SQL Server DB instances
 24086  	// that were created with a time zone specified.
 24087  	Timezone *string `type:"string"`
 24088  
 24089  	// Provides a list of VPC security group elements that the DB instance belongs
 24090  	// to.
 24091  	VpcSecurityGroups []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroupMembership" type:"list"`
 24092  }
 24093  
 24094  // String returns the string representation.
 24095  //
 24096  // API parameter values that are decorated as "sensitive" in the API will not
 24097  // be included in the string output. The member name will be present, but the
 24098  // value will be replaced with "sensitive".
 24099  func (s DBInstance) String() string {
 24100  	return awsutil.Prettify(s)
 24101  }
 24102  
 24103  // GoString returns the string representation.
 24104  //
 24105  // API parameter values that are decorated as "sensitive" in the API will not
 24106  // be included in the string output. The member name will be present, but the
 24107  // value will be replaced with "sensitive".
 24108  func (s DBInstance) GoString() string {
 24109  	return s.String()
 24110  }
 24111  
 24112  // SetActivityStreamEngineNativeAuditFieldsIncluded sets the ActivityStreamEngineNativeAuditFieldsIncluded field's value.
 24113  func (s *DBInstance) SetActivityStreamEngineNativeAuditFieldsIncluded(v bool) *DBInstance {
 24114  	s.ActivityStreamEngineNativeAuditFieldsIncluded = &v
 24115  	return s
 24116  }
 24117  
 24118  // SetActivityStreamKinesisStreamName sets the ActivityStreamKinesisStreamName field's value.
 24119  func (s *DBInstance) SetActivityStreamKinesisStreamName(v string) *DBInstance {
 24120  	s.ActivityStreamKinesisStreamName = &v
 24121  	return s
 24122  }
 24123  
 24124  // SetActivityStreamKmsKeyId sets the ActivityStreamKmsKeyId field's value.
 24125  func (s *DBInstance) SetActivityStreamKmsKeyId(v string) *DBInstance {
 24126  	s.ActivityStreamKmsKeyId = &v
 24127  	return s
 24128  }
 24129  
 24130  // SetActivityStreamMode sets the ActivityStreamMode field's value.
 24131  func (s *DBInstance) SetActivityStreamMode(v string) *DBInstance {
 24132  	s.ActivityStreamMode = &v
 24133  	return s
 24134  }
 24135  
 24136  // SetActivityStreamStatus sets the ActivityStreamStatus field's value.
 24137  func (s *DBInstance) SetActivityStreamStatus(v string) *DBInstance {
 24138  	s.ActivityStreamStatus = &v
 24139  	return s
 24140  }
 24141  
 24142  // SetAllocatedStorage sets the AllocatedStorage field's value.
 24143  func (s *DBInstance) SetAllocatedStorage(v int64) *DBInstance {
 24144  	s.AllocatedStorage = &v
 24145  	return s
 24146  }
 24147  
 24148  // SetAssociatedRoles sets the AssociatedRoles field's value.
 24149  func (s *DBInstance) SetAssociatedRoles(v []*DBInstanceRole) *DBInstance {
 24150  	s.AssociatedRoles = v
 24151  	return s
 24152  }
 24153  
 24154  // SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
 24155  func (s *DBInstance) SetAutoMinorVersionUpgrade(v bool) *DBInstance {
 24156  	s.AutoMinorVersionUpgrade = &v
 24157  	return s
 24158  }
 24159  
 24160  // SetAutomaticRestartTime sets the AutomaticRestartTime field's value.
 24161  func (s *DBInstance) SetAutomaticRestartTime(v time.Time) *DBInstance {
 24162  	s.AutomaticRestartTime = &v
 24163  	return s
 24164  }
 24165  
 24166  // SetAvailabilityZone sets the AvailabilityZone field's value.
 24167  func (s *DBInstance) SetAvailabilityZone(v string) *DBInstance {
 24168  	s.AvailabilityZone = &v
 24169  	return s
 24170  }
 24171  
 24172  // SetAwsBackupRecoveryPointArn sets the AwsBackupRecoveryPointArn field's value.
 24173  func (s *DBInstance) SetAwsBackupRecoveryPointArn(v string) *DBInstance {
 24174  	s.AwsBackupRecoveryPointArn = &v
 24175  	return s
 24176  }
 24177  
 24178  // SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
 24179  func (s *DBInstance) SetBackupRetentionPeriod(v int64) *DBInstance {
 24180  	s.BackupRetentionPeriod = &v
 24181  	return s
 24182  }
 24183  
 24184  // SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
 24185  func (s *DBInstance) SetCACertificateIdentifier(v string) *DBInstance {
 24186  	s.CACertificateIdentifier = &v
 24187  	return s
 24188  }
 24189  
 24190  // SetCharacterSetName sets the CharacterSetName field's value.
 24191  func (s *DBInstance) SetCharacterSetName(v string) *DBInstance {
 24192  	s.CharacterSetName = &v
 24193  	return s
 24194  }
 24195  
 24196  // SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
 24197  func (s *DBInstance) SetCopyTagsToSnapshot(v bool) *DBInstance {
 24198  	s.CopyTagsToSnapshot = &v
 24199  	return s
 24200  }
 24201  
 24202  // SetCustomerOwnedIpEnabled sets the CustomerOwnedIpEnabled field's value.
 24203  func (s *DBInstance) SetCustomerOwnedIpEnabled(v bool) *DBInstance {
 24204  	s.CustomerOwnedIpEnabled = &v
 24205  	return s
 24206  }
 24207  
 24208  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 24209  func (s *DBInstance) SetDBClusterIdentifier(v string) *DBInstance {
 24210  	s.DBClusterIdentifier = &v
 24211  	return s
 24212  }
 24213  
 24214  // SetDBInstanceArn sets the DBInstanceArn field's value.
 24215  func (s *DBInstance) SetDBInstanceArn(v string) *DBInstance {
 24216  	s.DBInstanceArn = &v
 24217  	return s
 24218  }
 24219  
 24220  // SetDBInstanceAutomatedBackupsReplications sets the DBInstanceAutomatedBackupsReplications field's value.
 24221  func (s *DBInstance) SetDBInstanceAutomatedBackupsReplications(v []*DBInstanceAutomatedBackupsReplication) *DBInstance {
 24222  	s.DBInstanceAutomatedBackupsReplications = v
 24223  	return s
 24224  }
 24225  
 24226  // SetDBInstanceClass sets the DBInstanceClass field's value.
 24227  func (s *DBInstance) SetDBInstanceClass(v string) *DBInstance {
 24228  	s.DBInstanceClass = &v
 24229  	return s
 24230  }
 24231  
 24232  // SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
 24233  func (s *DBInstance) SetDBInstanceIdentifier(v string) *DBInstance {
 24234  	s.DBInstanceIdentifier = &v
 24235  	return s
 24236  }
 24237  
 24238  // SetDBInstanceStatus sets the DBInstanceStatus field's value.
 24239  func (s *DBInstance) SetDBInstanceStatus(v string) *DBInstance {
 24240  	s.DBInstanceStatus = &v
 24241  	return s
 24242  }
 24243  
 24244  // SetDBName sets the DBName field's value.
 24245  func (s *DBInstance) SetDBName(v string) *DBInstance {
 24246  	s.DBName = &v
 24247  	return s
 24248  }
 24249  
 24250  // SetDBParameterGroups sets the DBParameterGroups field's value.
 24251  func (s *DBInstance) SetDBParameterGroups(v []*DBParameterGroupStatus) *DBInstance {
 24252  	s.DBParameterGroups = v
 24253  	return s
 24254  }
 24255  
 24256  // SetDBSecurityGroups sets the DBSecurityGroups field's value.
 24257  func (s *DBInstance) SetDBSecurityGroups(v []*DBSecurityGroupMembership) *DBInstance {
 24258  	s.DBSecurityGroups = v
 24259  	return s
 24260  }
 24261  
 24262  // SetDBSubnetGroup sets the DBSubnetGroup field's value.
 24263  func (s *DBInstance) SetDBSubnetGroup(v *DBSubnetGroup) *DBInstance {
 24264  	s.DBSubnetGroup = v
 24265  	return s
 24266  }
 24267  
 24268  // SetDbInstancePort sets the DbInstancePort field's value.
 24269  func (s *DBInstance) SetDbInstancePort(v int64) *DBInstance {
 24270  	s.DbInstancePort = &v
 24271  	return s
 24272  }
 24273  
 24274  // SetDbiResourceId sets the DbiResourceId field's value.
 24275  func (s *DBInstance) SetDbiResourceId(v string) *DBInstance {
 24276  	s.DbiResourceId = &v
 24277  	return s
 24278  }
 24279  
 24280  // SetDeletionProtection sets the DeletionProtection field's value.
 24281  func (s *DBInstance) SetDeletionProtection(v bool) *DBInstance {
 24282  	s.DeletionProtection = &v
 24283  	return s
 24284  }
 24285  
 24286  // SetDomainMemberships sets the DomainMemberships field's value.
 24287  func (s *DBInstance) SetDomainMemberships(v []*DomainMembership) *DBInstance {
 24288  	s.DomainMemberships = v
 24289  	return s
 24290  }
 24291  
 24292  // SetEnabledCloudwatchLogsExports sets the EnabledCloudwatchLogsExports field's value.
 24293  func (s *DBInstance) SetEnabledCloudwatchLogsExports(v []*string) *DBInstance {
 24294  	s.EnabledCloudwatchLogsExports = v
 24295  	return s
 24296  }
 24297  
 24298  // SetEndpoint sets the Endpoint field's value.
 24299  func (s *DBInstance) SetEndpoint(v *Endpoint) *DBInstance {
 24300  	s.Endpoint = v
 24301  	return s
 24302  }
 24303  
 24304  // SetEngine sets the Engine field's value.
 24305  func (s *DBInstance) SetEngine(v string) *DBInstance {
 24306  	s.Engine = &v
 24307  	return s
 24308  }
 24309  
 24310  // SetEngineVersion sets the EngineVersion field's value.
 24311  func (s *DBInstance) SetEngineVersion(v string) *DBInstance {
 24312  	s.EngineVersion = &v
 24313  	return s
 24314  }
 24315  
 24316  // SetEnhancedMonitoringResourceArn sets the EnhancedMonitoringResourceArn field's value.
 24317  func (s *DBInstance) SetEnhancedMonitoringResourceArn(v string) *DBInstance {
 24318  	s.EnhancedMonitoringResourceArn = &v
 24319  	return s
 24320  }
 24321  
 24322  // SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
 24323  func (s *DBInstance) SetIAMDatabaseAuthenticationEnabled(v bool) *DBInstance {
 24324  	s.IAMDatabaseAuthenticationEnabled = &v
 24325  	return s
 24326  }
 24327  
 24328  // SetInstanceCreateTime sets the InstanceCreateTime field's value.
 24329  func (s *DBInstance) SetInstanceCreateTime(v time.Time) *DBInstance {
 24330  	s.InstanceCreateTime = &v
 24331  	return s
 24332  }
 24333  
 24334  // SetIops sets the Iops field's value.
 24335  func (s *DBInstance) SetIops(v int64) *DBInstance {
 24336  	s.Iops = &v
 24337  	return s
 24338  }
 24339  
 24340  // SetKmsKeyId sets the KmsKeyId field's value.
 24341  func (s *DBInstance) SetKmsKeyId(v string) *DBInstance {
 24342  	s.KmsKeyId = &v
 24343  	return s
 24344  }
 24345  
 24346  // SetLatestRestorableTime sets the LatestRestorableTime field's value.
 24347  func (s *DBInstance) SetLatestRestorableTime(v time.Time) *DBInstance {
 24348  	s.LatestRestorableTime = &v
 24349  	return s
 24350  }
 24351  
 24352  // SetLicenseModel sets the LicenseModel field's value.
 24353  func (s *DBInstance) SetLicenseModel(v string) *DBInstance {
 24354  	s.LicenseModel = &v
 24355  	return s
 24356  }
 24357  
 24358  // SetListenerEndpoint sets the ListenerEndpoint field's value.
 24359  func (s *DBInstance) SetListenerEndpoint(v *Endpoint) *DBInstance {
 24360  	s.ListenerEndpoint = v
 24361  	return s
 24362  }
 24363  
 24364  // SetMasterUsername sets the MasterUsername field's value.
 24365  func (s *DBInstance) SetMasterUsername(v string) *DBInstance {
 24366  	s.MasterUsername = &v
 24367  	return s
 24368  }
 24369  
 24370  // SetMaxAllocatedStorage sets the MaxAllocatedStorage field's value.
 24371  func (s *DBInstance) SetMaxAllocatedStorage(v int64) *DBInstance {
 24372  	s.MaxAllocatedStorage = &v
 24373  	return s
 24374  }
 24375  
 24376  // SetMonitoringInterval sets the MonitoringInterval field's value.
 24377  func (s *DBInstance) SetMonitoringInterval(v int64) *DBInstance {
 24378  	s.MonitoringInterval = &v
 24379  	return s
 24380  }
 24381  
 24382  // SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
 24383  func (s *DBInstance) SetMonitoringRoleArn(v string) *DBInstance {
 24384  	s.MonitoringRoleArn = &v
 24385  	return s
 24386  }
 24387  
 24388  // SetMultiAZ sets the MultiAZ field's value.
 24389  func (s *DBInstance) SetMultiAZ(v bool) *DBInstance {
 24390  	s.MultiAZ = &v
 24391  	return s
 24392  }
 24393  
 24394  // SetNcharCharacterSetName sets the NcharCharacterSetName field's value.
 24395  func (s *DBInstance) SetNcharCharacterSetName(v string) *DBInstance {
 24396  	s.NcharCharacterSetName = &v
 24397  	return s
 24398  }
 24399  
 24400  // SetOptionGroupMemberships sets the OptionGroupMemberships field's value.
 24401  func (s *DBInstance) SetOptionGroupMemberships(v []*OptionGroupMembership) *DBInstance {
 24402  	s.OptionGroupMemberships = v
 24403  	return s
 24404  }
 24405  
 24406  // SetPendingModifiedValues sets the PendingModifiedValues field's value.
 24407  func (s *DBInstance) SetPendingModifiedValues(v *PendingModifiedValues) *DBInstance {
 24408  	s.PendingModifiedValues = v
 24409  	return s
 24410  }
 24411  
 24412  // SetPerformanceInsightsEnabled sets the PerformanceInsightsEnabled field's value.
 24413  func (s *DBInstance) SetPerformanceInsightsEnabled(v bool) *DBInstance {
 24414  	s.PerformanceInsightsEnabled = &v
 24415  	return s
 24416  }
 24417  
 24418  // SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
 24419  func (s *DBInstance) SetPerformanceInsightsKMSKeyId(v string) *DBInstance {
 24420  	s.PerformanceInsightsKMSKeyId = &v
 24421  	return s
 24422  }
 24423  
 24424  // SetPerformanceInsightsRetentionPeriod sets the PerformanceInsightsRetentionPeriod field's value.
 24425  func (s *DBInstance) SetPerformanceInsightsRetentionPeriod(v int64) *DBInstance {
 24426  	s.PerformanceInsightsRetentionPeriod = &v
 24427  	return s
 24428  }
 24429  
 24430  // SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
 24431  func (s *DBInstance) SetPreferredBackupWindow(v string) *DBInstance {
 24432  	s.PreferredBackupWindow = &v
 24433  	return s
 24434  }
 24435  
 24436  // SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
 24437  func (s *DBInstance) SetPreferredMaintenanceWindow(v string) *DBInstance {
 24438  	s.PreferredMaintenanceWindow = &v
 24439  	return s
 24440  }
 24441  
 24442  // SetProcessorFeatures sets the ProcessorFeatures field's value.
 24443  func (s *DBInstance) SetProcessorFeatures(v []*ProcessorFeature) *DBInstance {
 24444  	s.ProcessorFeatures = v
 24445  	return s
 24446  }
 24447  
 24448  // SetPromotionTier sets the PromotionTier field's value.
 24449  func (s *DBInstance) SetPromotionTier(v int64) *DBInstance {
 24450  	s.PromotionTier = &v
 24451  	return s
 24452  }
 24453  
 24454  // SetPubliclyAccessible sets the PubliclyAccessible field's value.
 24455  func (s *DBInstance) SetPubliclyAccessible(v bool) *DBInstance {
 24456  	s.PubliclyAccessible = &v
 24457  	return s
 24458  }
 24459  
 24460  // SetReadReplicaDBClusterIdentifiers sets the ReadReplicaDBClusterIdentifiers field's value.
 24461  func (s *DBInstance) SetReadReplicaDBClusterIdentifiers(v []*string) *DBInstance {
 24462  	s.ReadReplicaDBClusterIdentifiers = v
 24463  	return s
 24464  }
 24465  
 24466  // SetReadReplicaDBInstanceIdentifiers sets the ReadReplicaDBInstanceIdentifiers field's value.
 24467  func (s *DBInstance) SetReadReplicaDBInstanceIdentifiers(v []*string) *DBInstance {
 24468  	s.ReadReplicaDBInstanceIdentifiers = v
 24469  	return s
 24470  }
 24471  
 24472  // SetReadReplicaSourceDBInstanceIdentifier sets the ReadReplicaSourceDBInstanceIdentifier field's value.
 24473  func (s *DBInstance) SetReadReplicaSourceDBInstanceIdentifier(v string) *DBInstance {
 24474  	s.ReadReplicaSourceDBInstanceIdentifier = &v
 24475  	return s
 24476  }
 24477  
 24478  // SetReplicaMode sets the ReplicaMode field's value.
 24479  func (s *DBInstance) SetReplicaMode(v string) *DBInstance {
 24480  	s.ReplicaMode = &v
 24481  	return s
 24482  }
 24483  
 24484  // SetSecondaryAvailabilityZone sets the SecondaryAvailabilityZone field's value.
 24485  func (s *DBInstance) SetSecondaryAvailabilityZone(v string) *DBInstance {
 24486  	s.SecondaryAvailabilityZone = &v
 24487  	return s
 24488  }
 24489  
 24490  // SetStatusInfos sets the StatusInfos field's value.
 24491  func (s *DBInstance) SetStatusInfos(v []*DBInstanceStatusInfo) *DBInstance {
 24492  	s.StatusInfos = v
 24493  	return s
 24494  }
 24495  
 24496  // SetStorageEncrypted sets the StorageEncrypted field's value.
 24497  func (s *DBInstance) SetStorageEncrypted(v bool) *DBInstance {
 24498  	s.StorageEncrypted = &v
 24499  	return s
 24500  }
 24501  
 24502  // SetStorageType sets the StorageType field's value.
 24503  func (s *DBInstance) SetStorageType(v string) *DBInstance {
 24504  	s.StorageType = &v
 24505  	return s
 24506  }
 24507  
 24508  // SetTagList sets the TagList field's value.
 24509  func (s *DBInstance) SetTagList(v []*Tag) *DBInstance {
 24510  	s.TagList = v
 24511  	return s
 24512  }
 24513  
 24514  // SetTdeCredentialArn sets the TdeCredentialArn field's value.
 24515  func (s *DBInstance) SetTdeCredentialArn(v string) *DBInstance {
 24516  	s.TdeCredentialArn = &v
 24517  	return s
 24518  }
 24519  
 24520  // SetTimezone sets the Timezone field's value.
 24521  func (s *DBInstance) SetTimezone(v string) *DBInstance {
 24522  	s.Timezone = &v
 24523  	return s
 24524  }
 24525  
 24526  // SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
 24527  func (s *DBInstance) SetVpcSecurityGroups(v []*VpcSecurityGroupMembership) *DBInstance {
 24528  	s.VpcSecurityGroups = v
 24529  	return s
 24530  }
 24531  
 24532  // An automated backup of a DB instance. It consists of system backups, transaction
 24533  // logs, and the database instance properties that existed at the time you deleted
 24534  // the source instance.
 24535  type DBInstanceAutomatedBackup struct {
 24536  	_ struct{} `type:"structure"`
 24537  
 24538  	// Specifies the allocated storage size in gibibytes (GiB).
 24539  	AllocatedStorage *int64 `type:"integer"`
 24540  
 24541  	// The Availability Zone that the automated backup was created in. For information
 24542  	// on Amazon Web Services Regions and Availability Zones, see Regions and Availability
 24543  	// Zones (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html).
 24544  	AvailabilityZone *string `type:"string"`
 24545  
 24546  	// The retention period for the automated backups.
 24547  	BackupRetentionPeriod *int64 `type:"integer"`
 24548  
 24549  	// The Amazon Resource Name (ARN) for the automated backups.
 24550  	DBInstanceArn *string `type:"string"`
 24551  
 24552  	// The Amazon Resource Name (ARN) for the replicated automated backups.
 24553  	DBInstanceAutomatedBackupsArn *string `type:"string"`
 24554  
 24555  	// The list of replications to different Amazon Web Services Regions associated
 24556  	// with the automated backup.
 24557  	DBInstanceAutomatedBackupsReplications []*DBInstanceAutomatedBackupsReplication `locationNameList:"DBInstanceAutomatedBackupsReplication" type:"list"`
 24558  
 24559  	// The customer id of the instance that is/was associated with the automated
 24560  	// backup.
 24561  	DBInstanceIdentifier *string `type:"string"`
 24562  
 24563  	// The identifier for the source DB instance, which can't be changed and which
 24564  	// is unique to an Amazon Web Services Region.
 24565  	DbiResourceId *string `type:"string"`
 24566  
 24567  	// Specifies whether the automated backup is encrypted.
 24568  	Encrypted *bool `type:"boolean"`
 24569  
 24570  	// The name of the database engine for this automated backup.
 24571  	Engine *string `type:"string"`
 24572  
 24573  	// The version of the database engine for the automated backup.
 24574  	EngineVersion *string `type:"string"`
 24575  
 24576  	// True if mapping of Amazon Web Services Identity and Access Management (IAM)
 24577  	// accounts to database accounts is enabled, and otherwise false.
 24578  	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
 24579  
 24580  	// Provides the date and time that the DB instance was created.
 24581  	InstanceCreateTime *time.Time `type:"timestamp"`
 24582  
 24583  	// The IOPS (I/O operations per second) value for the automated backup.
 24584  	Iops *int64 `type:"integer"`
 24585  
 24586  	// The Amazon Web Services KMS key ID for an automated backup.
 24587  	//
 24588  	// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
 24589  	// ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).
 24590  	KmsKeyId *string `type:"string"`
 24591  
 24592  	// License model information for the automated backup.
 24593  	LicenseModel *string `type:"string"`
 24594  
 24595  	// The license model of an automated backup.
 24596  	MasterUsername *string `type:"string"`
 24597  
 24598  	// The option group the automated backup is associated with. If omitted, the
 24599  	// default option group for the engine specified is used.
 24600  	OptionGroupName *string `type:"string"`
 24601  
 24602  	// The port number that the automated backup used for connections.
 24603  	//
 24604  	// Default: Inherits from the source DB instance
 24605  	//
 24606  	// Valid Values: 1150-65535
 24607  	Port *int64 `type:"integer"`
 24608  
 24609  	// The Amazon Web Services Region associated with the automated backup.
 24610  	Region *string `type:"string"`
 24611  
 24612  	// Earliest and latest time an instance can be restored to.
 24613  	RestoreWindow *RestoreWindow `type:"structure"`
 24614  
 24615  	// Provides a list of status information for an automated backup:
 24616  	//
 24617  	//    * active - automated backups for current instances
 24618  	//
 24619  	//    * retained - automated backups for deleted instances
 24620  	//
 24621  	//    * creating - automated backups that are waiting for the first automated
 24622  	//    snapshot to be available.
 24623  	Status *string `type:"string"`
 24624  
 24625  	// Specifies the storage type associated with the automated backup.
 24626  	StorageType *string `type:"string"`
 24627  
 24628  	// The ARN from the key store with which the automated backup is associated
 24629  	// for TDE encryption.
 24630  	TdeCredentialArn *string `type:"string"`
 24631  
 24632  	// The time zone of the automated backup. In most cases, the Timezone element
 24633  	// is empty. Timezone content appears only for Microsoft SQL Server DB instances
 24634  	// that were created with a time zone specified.
 24635  	Timezone *string `type:"string"`
 24636  
 24637  	// Provides the VPC ID associated with the DB instance
 24638  	VpcId *string `type:"string"`
 24639  }
 24640  
 24641  // String returns the string representation.
 24642  //
 24643  // API parameter values that are decorated as "sensitive" in the API will not
 24644  // be included in the string output. The member name will be present, but the
 24645  // value will be replaced with "sensitive".
 24646  func (s DBInstanceAutomatedBackup) String() string {
 24647  	return awsutil.Prettify(s)
 24648  }
 24649  
 24650  // GoString returns the string representation.
 24651  //
 24652  // API parameter values that are decorated as "sensitive" in the API will not
 24653  // be included in the string output. The member name will be present, but the
 24654  // value will be replaced with "sensitive".
 24655  func (s DBInstanceAutomatedBackup) GoString() string {
 24656  	return s.String()
 24657  }
 24658  
 24659  // SetAllocatedStorage sets the AllocatedStorage field's value.
 24660  func (s *DBInstanceAutomatedBackup) SetAllocatedStorage(v int64) *DBInstanceAutomatedBackup {
 24661  	s.AllocatedStorage = &v
 24662  	return s
 24663  }
 24664  
 24665  // SetAvailabilityZone sets the AvailabilityZone field's value.
 24666  func (s *DBInstanceAutomatedBackup) SetAvailabilityZone(v string) *DBInstanceAutomatedBackup {
 24667  	s.AvailabilityZone = &v
 24668  	return s
 24669  }
 24670  
 24671  // SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
 24672  func (s *DBInstanceAutomatedBackup) SetBackupRetentionPeriod(v int64) *DBInstanceAutomatedBackup {
 24673  	s.BackupRetentionPeriod = &v
 24674  	return s
 24675  }
 24676  
 24677  // SetDBInstanceArn sets the DBInstanceArn field's value.
 24678  func (s *DBInstanceAutomatedBackup) SetDBInstanceArn(v string) *DBInstanceAutomatedBackup {
 24679  	s.DBInstanceArn = &v
 24680  	return s
 24681  }
 24682  
 24683  // SetDBInstanceAutomatedBackupsArn sets the DBInstanceAutomatedBackupsArn field's value.
 24684  func (s *DBInstanceAutomatedBackup) SetDBInstanceAutomatedBackupsArn(v string) *DBInstanceAutomatedBackup {
 24685  	s.DBInstanceAutomatedBackupsArn = &v
 24686  	return s
 24687  }
 24688  
 24689  // SetDBInstanceAutomatedBackupsReplications sets the DBInstanceAutomatedBackupsReplications field's value.
 24690  func (s *DBInstanceAutomatedBackup) SetDBInstanceAutomatedBackupsReplications(v []*DBInstanceAutomatedBackupsReplication) *DBInstanceAutomatedBackup {
 24691  	s.DBInstanceAutomatedBackupsReplications = v
 24692  	return s
 24693  }
 24694  
 24695  // SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
 24696  func (s *DBInstanceAutomatedBackup) SetDBInstanceIdentifier(v string) *DBInstanceAutomatedBackup {
 24697  	s.DBInstanceIdentifier = &v
 24698  	return s
 24699  }
 24700  
 24701  // SetDbiResourceId sets the DbiResourceId field's value.
 24702  func (s *DBInstanceAutomatedBackup) SetDbiResourceId(v string) *DBInstanceAutomatedBackup {
 24703  	s.DbiResourceId = &v
 24704  	return s
 24705  }
 24706  
 24707  // SetEncrypted sets the Encrypted field's value.
 24708  func (s *DBInstanceAutomatedBackup) SetEncrypted(v bool) *DBInstanceAutomatedBackup {
 24709  	s.Encrypted = &v
 24710  	return s
 24711  }
 24712  
 24713  // SetEngine sets the Engine field's value.
 24714  func (s *DBInstanceAutomatedBackup) SetEngine(v string) *DBInstanceAutomatedBackup {
 24715  	s.Engine = &v
 24716  	return s
 24717  }
 24718  
 24719  // SetEngineVersion sets the EngineVersion field's value.
 24720  func (s *DBInstanceAutomatedBackup) SetEngineVersion(v string) *DBInstanceAutomatedBackup {
 24721  	s.EngineVersion = &v
 24722  	return s
 24723  }
 24724  
 24725  // SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
 24726  func (s *DBInstanceAutomatedBackup) SetIAMDatabaseAuthenticationEnabled(v bool) *DBInstanceAutomatedBackup {
 24727  	s.IAMDatabaseAuthenticationEnabled = &v
 24728  	return s
 24729  }
 24730  
 24731  // SetInstanceCreateTime sets the InstanceCreateTime field's value.
 24732  func (s *DBInstanceAutomatedBackup) SetInstanceCreateTime(v time.Time) *DBInstanceAutomatedBackup {
 24733  	s.InstanceCreateTime = &v
 24734  	return s
 24735  }
 24736  
 24737  // SetIops sets the Iops field's value.
 24738  func (s *DBInstanceAutomatedBackup) SetIops(v int64) *DBInstanceAutomatedBackup {
 24739  	s.Iops = &v
 24740  	return s
 24741  }
 24742  
 24743  // SetKmsKeyId sets the KmsKeyId field's value.
 24744  func (s *DBInstanceAutomatedBackup) SetKmsKeyId(v string) *DBInstanceAutomatedBackup {
 24745  	s.KmsKeyId = &v
 24746  	return s
 24747  }
 24748  
 24749  // SetLicenseModel sets the LicenseModel field's value.
 24750  func (s *DBInstanceAutomatedBackup) SetLicenseModel(v string) *DBInstanceAutomatedBackup {
 24751  	s.LicenseModel = &v
 24752  	return s
 24753  }
 24754  
 24755  // SetMasterUsername sets the MasterUsername field's value.
 24756  func (s *DBInstanceAutomatedBackup) SetMasterUsername(v string) *DBInstanceAutomatedBackup {
 24757  	s.MasterUsername = &v
 24758  	return s
 24759  }
 24760  
 24761  // SetOptionGroupName sets the OptionGroupName field's value.
 24762  func (s *DBInstanceAutomatedBackup) SetOptionGroupName(v string) *DBInstanceAutomatedBackup {
 24763  	s.OptionGroupName = &v
 24764  	return s
 24765  }
 24766  
 24767  // SetPort sets the Port field's value.
 24768  func (s *DBInstanceAutomatedBackup) SetPort(v int64) *DBInstanceAutomatedBackup {
 24769  	s.Port = &v
 24770  	return s
 24771  }
 24772  
 24773  // SetRegion sets the Region field's value.
 24774  func (s *DBInstanceAutomatedBackup) SetRegion(v string) *DBInstanceAutomatedBackup {
 24775  	s.Region = &v
 24776  	return s
 24777  }
 24778  
 24779  // SetRestoreWindow sets the RestoreWindow field's value.
 24780  func (s *DBInstanceAutomatedBackup) SetRestoreWindow(v *RestoreWindow) *DBInstanceAutomatedBackup {
 24781  	s.RestoreWindow = v
 24782  	return s
 24783  }
 24784  
 24785  // SetStatus sets the Status field's value.
 24786  func (s *DBInstanceAutomatedBackup) SetStatus(v string) *DBInstanceAutomatedBackup {
 24787  	s.Status = &v
 24788  	return s
 24789  }
 24790  
 24791  // SetStorageType sets the StorageType field's value.
 24792  func (s *DBInstanceAutomatedBackup) SetStorageType(v string) *DBInstanceAutomatedBackup {
 24793  	s.StorageType = &v
 24794  	return s
 24795  }
 24796  
 24797  // SetTdeCredentialArn sets the TdeCredentialArn field's value.
 24798  func (s *DBInstanceAutomatedBackup) SetTdeCredentialArn(v string) *DBInstanceAutomatedBackup {
 24799  	s.TdeCredentialArn = &v
 24800  	return s
 24801  }
 24802  
 24803  // SetTimezone sets the Timezone field's value.
 24804  func (s *DBInstanceAutomatedBackup) SetTimezone(v string) *DBInstanceAutomatedBackup {
 24805  	s.Timezone = &v
 24806  	return s
 24807  }
 24808  
 24809  // SetVpcId sets the VpcId field's value.
 24810  func (s *DBInstanceAutomatedBackup) SetVpcId(v string) *DBInstanceAutomatedBackup {
 24811  	s.VpcId = &v
 24812  	return s
 24813  }
 24814  
 24815  // Automated backups of a DB instance replicated to another Amazon Web Services
 24816  // Region. They consist of system backups, transaction logs, and database instance
 24817  // properties.
 24818  type DBInstanceAutomatedBackupsReplication struct {
 24819  	_ struct{} `type:"structure"`
 24820  
 24821  	// The Amazon Resource Name (ARN) of the replicated automated backups.
 24822  	DBInstanceAutomatedBackupsArn *string `type:"string"`
 24823  }
 24824  
 24825  // String returns the string representation.
 24826  //
 24827  // API parameter values that are decorated as "sensitive" in the API will not
 24828  // be included in the string output. The member name will be present, but the
 24829  // value will be replaced with "sensitive".
 24830  func (s DBInstanceAutomatedBackupsReplication) String() string {
 24831  	return awsutil.Prettify(s)
 24832  }
 24833  
 24834  // GoString returns the string representation.
 24835  //
 24836  // API parameter values that are decorated as "sensitive" in the API will not
 24837  // be included in the string output. The member name will be present, but the
 24838  // value will be replaced with "sensitive".
 24839  func (s DBInstanceAutomatedBackupsReplication) GoString() string {
 24840  	return s.String()
 24841  }
 24842  
 24843  // SetDBInstanceAutomatedBackupsArn sets the DBInstanceAutomatedBackupsArn field's value.
 24844  func (s *DBInstanceAutomatedBackupsReplication) SetDBInstanceAutomatedBackupsArn(v string) *DBInstanceAutomatedBackupsReplication {
 24845  	s.DBInstanceAutomatedBackupsArn = &v
 24846  	return s
 24847  }
 24848  
 24849  // Describes an Amazon Web Services Identity and Access Management (IAM) role
 24850  // that is associated with a DB instance.
 24851  type DBInstanceRole struct {
 24852  	_ struct{} `type:"structure"`
 24853  
 24854  	// The name of the feature associated with the Amazon Web Services Identity
 24855  	// and Access Management (IAM) role. For the list of supported feature names,
 24856  	// see DBEngineVersion.
 24857  	FeatureName *string `type:"string"`
 24858  
 24859  	// The Amazon Resource Name (ARN) of the IAM role that is associated with the
 24860  	// DB instance.
 24861  	RoleArn *string `type:"string"`
 24862  
 24863  	// Describes the state of association between the IAM role and the DB instance.
 24864  	// The Status property returns one of the following values:
 24865  	//
 24866  	//    * ACTIVE - the IAM role ARN is associated with the DB instance and can
 24867  	//    be used to access other Amazon Web Services services on your behalf.
 24868  	//
 24869  	//    * PENDING - the IAM role ARN is being associated with the DB instance.
 24870  	//
 24871  	//    * INVALID - the IAM role ARN is associated with the DB instance, but the
 24872  	//    DB instance is unable to assume the IAM role in order to access other
 24873  	//    Amazon Web Services services on your behalf.
 24874  	Status *string `type:"string"`
 24875  }
 24876  
 24877  // String returns the string representation.
 24878  //
 24879  // API parameter values that are decorated as "sensitive" in the API will not
 24880  // be included in the string output. The member name will be present, but the
 24881  // value will be replaced with "sensitive".
 24882  func (s DBInstanceRole) String() string {
 24883  	return awsutil.Prettify(s)
 24884  }
 24885  
 24886  // GoString returns the string representation.
 24887  //
 24888  // API parameter values that are decorated as "sensitive" in the API will not
 24889  // be included in the string output. The member name will be present, but the
 24890  // value will be replaced with "sensitive".
 24891  func (s DBInstanceRole) GoString() string {
 24892  	return s.String()
 24893  }
 24894  
 24895  // SetFeatureName sets the FeatureName field's value.
 24896  func (s *DBInstanceRole) SetFeatureName(v string) *DBInstanceRole {
 24897  	s.FeatureName = &v
 24898  	return s
 24899  }
 24900  
 24901  // SetRoleArn sets the RoleArn field's value.
 24902  func (s *DBInstanceRole) SetRoleArn(v string) *DBInstanceRole {
 24903  	s.RoleArn = &v
 24904  	return s
 24905  }
 24906  
 24907  // SetStatus sets the Status field's value.
 24908  func (s *DBInstanceRole) SetStatus(v string) *DBInstanceRole {
 24909  	s.Status = &v
 24910  	return s
 24911  }
 24912  
 24913  // Provides a list of status information for a DB instance.
 24914  type DBInstanceStatusInfo struct {
 24915  	_ struct{} `type:"structure"`
 24916  
 24917  	// Details of the error if there is an error for the instance. If the instance
 24918  	// isn't in an error state, this value is blank.
 24919  	Message *string `type:"string"`
 24920  
 24921  	// Boolean value that is true if the instance is operating normally, or false
 24922  	// if the instance is in an error state.
 24923  	Normal *bool `type:"boolean"`
 24924  
 24925  	// Status of the DB instance. For a StatusType of read replica, the values can
 24926  	// be replicating, replication stop point set, replication stop point reached,
 24927  	// error, stopped, or terminated.
 24928  	Status *string `type:"string"`
 24929  
 24930  	// This value is currently "read replication."
 24931  	StatusType *string `type:"string"`
 24932  }
 24933  
 24934  // String returns the string representation.
 24935  //
 24936  // API parameter values that are decorated as "sensitive" in the API will not
 24937  // be included in the string output. The member name will be present, but the
 24938  // value will be replaced with "sensitive".
 24939  func (s DBInstanceStatusInfo) String() string {
 24940  	return awsutil.Prettify(s)
 24941  }
 24942  
 24943  // GoString returns the string representation.
 24944  //
 24945  // API parameter values that are decorated as "sensitive" in the API will not
 24946  // be included in the string output. The member name will be present, but the
 24947  // value will be replaced with "sensitive".
 24948  func (s DBInstanceStatusInfo) GoString() string {
 24949  	return s.String()
 24950  }
 24951  
 24952  // SetMessage sets the Message field's value.
 24953  func (s *DBInstanceStatusInfo) SetMessage(v string) *DBInstanceStatusInfo {
 24954  	s.Message = &v
 24955  	return s
 24956  }
 24957  
 24958  // SetNormal sets the Normal field's value.
 24959  func (s *DBInstanceStatusInfo) SetNormal(v bool) *DBInstanceStatusInfo {
 24960  	s.Normal = &v
 24961  	return s
 24962  }
 24963  
 24964  // SetStatus sets the Status field's value.
 24965  func (s *DBInstanceStatusInfo) SetStatus(v string) *DBInstanceStatusInfo {
 24966  	s.Status = &v
 24967  	return s
 24968  }
 24969  
 24970  // SetStatusType sets the StatusType field's value.
 24971  func (s *DBInstanceStatusInfo) SetStatusType(v string) *DBInstanceStatusInfo {
 24972  	s.StatusType = &v
 24973  	return s
 24974  }
 24975  
 24976  // Contains the details of an Amazon RDS DB parameter group.
 24977  //
 24978  // This data type is used as a response element in the DescribeDBParameterGroups
 24979  // action.
 24980  type DBParameterGroup struct {
 24981  	_ struct{} `type:"structure"`
 24982  
 24983  	// The Amazon Resource Name (ARN) for the DB parameter group.
 24984  	DBParameterGroupArn *string `type:"string"`
 24985  
 24986  	// The name of the DB parameter group family that this DB parameter group is
 24987  	// compatible with.
 24988  	DBParameterGroupFamily *string `type:"string"`
 24989  
 24990  	// The name of the DB parameter group.
 24991  	DBParameterGroupName *string `type:"string"`
 24992  
 24993  	// Provides the customer-specified description for this DB parameter group.
 24994  	Description *string `type:"string"`
 24995  }
 24996  
 24997  // String returns the string representation.
 24998  //
 24999  // API parameter values that are decorated as "sensitive" in the API will not
 25000  // be included in the string output. The member name will be present, but the
 25001  // value will be replaced with "sensitive".
 25002  func (s DBParameterGroup) String() string {
 25003  	return awsutil.Prettify(s)
 25004  }
 25005  
 25006  // GoString returns the string representation.
 25007  //
 25008  // API parameter values that are decorated as "sensitive" in the API will not
 25009  // be included in the string output. The member name will be present, but the
 25010  // value will be replaced with "sensitive".
 25011  func (s DBParameterGroup) GoString() string {
 25012  	return s.String()
 25013  }
 25014  
 25015  // SetDBParameterGroupArn sets the DBParameterGroupArn field's value.
 25016  func (s *DBParameterGroup) SetDBParameterGroupArn(v string) *DBParameterGroup {
 25017  	s.DBParameterGroupArn = &v
 25018  	return s
 25019  }
 25020  
 25021  // SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
 25022  func (s *DBParameterGroup) SetDBParameterGroupFamily(v string) *DBParameterGroup {
 25023  	s.DBParameterGroupFamily = &v
 25024  	return s
 25025  }
 25026  
 25027  // SetDBParameterGroupName sets the DBParameterGroupName field's value.
 25028  func (s *DBParameterGroup) SetDBParameterGroupName(v string) *DBParameterGroup {
 25029  	s.DBParameterGroupName = &v
 25030  	return s
 25031  }
 25032  
 25033  // SetDescription sets the Description field's value.
 25034  func (s *DBParameterGroup) SetDescription(v string) *DBParameterGroup {
 25035  	s.Description = &v
 25036  	return s
 25037  }
 25038  
 25039  // Contains the result of a successful invocation of the ModifyDBParameterGroup
 25040  // or ResetDBParameterGroup action.
 25041  type DBParameterGroupNameMessage struct {
 25042  	_ struct{} `type:"structure"`
 25043  
 25044  	// The name of the DB parameter group.
 25045  	DBParameterGroupName *string `type:"string"`
 25046  }
 25047  
 25048  // String returns the string representation.
 25049  //
 25050  // API parameter values that are decorated as "sensitive" in the API will not
 25051  // be included in the string output. The member name will be present, but the
 25052  // value will be replaced with "sensitive".
 25053  func (s DBParameterGroupNameMessage) String() string {
 25054  	return awsutil.Prettify(s)
 25055  }
 25056  
 25057  // GoString returns the string representation.
 25058  //
 25059  // API parameter values that are decorated as "sensitive" in the API will not
 25060  // be included in the string output. The member name will be present, but the
 25061  // value will be replaced with "sensitive".
 25062  func (s DBParameterGroupNameMessage) GoString() string {
 25063  	return s.String()
 25064  }
 25065  
 25066  // SetDBParameterGroupName sets the DBParameterGroupName field's value.
 25067  func (s *DBParameterGroupNameMessage) SetDBParameterGroupName(v string) *DBParameterGroupNameMessage {
 25068  	s.DBParameterGroupName = &v
 25069  	return s
 25070  }
 25071  
 25072  // The status of the DB parameter group.
 25073  //
 25074  // This data type is used as a response element in the following actions:
 25075  //
 25076  //    * CreateDBInstance
 25077  //
 25078  //    * CreateDBInstanceReadReplica
 25079  //
 25080  //    * DeleteDBInstance
 25081  //
 25082  //    * ModifyDBInstance
 25083  //
 25084  //    * RebootDBInstance
 25085  //
 25086  //    * RestoreDBInstanceFromDBSnapshot
 25087  type DBParameterGroupStatus struct {
 25088  	_ struct{} `type:"structure"`
 25089  
 25090  	// The name of the DB parameter group.
 25091  	DBParameterGroupName *string `type:"string"`
 25092  
 25093  	// The status of parameter updates.
 25094  	ParameterApplyStatus *string `type:"string"`
 25095  }
 25096  
 25097  // String returns the string representation.
 25098  //
 25099  // API parameter values that are decorated as "sensitive" in the API will not
 25100  // be included in the string output. The member name will be present, but the
 25101  // value will be replaced with "sensitive".
 25102  func (s DBParameterGroupStatus) String() string {
 25103  	return awsutil.Prettify(s)
 25104  }
 25105  
 25106  // GoString returns the string representation.
 25107  //
 25108  // API parameter values that are decorated as "sensitive" in the API will not
 25109  // be included in the string output. The member name will be present, but the
 25110  // value will be replaced with "sensitive".
 25111  func (s DBParameterGroupStatus) GoString() string {
 25112  	return s.String()
 25113  }
 25114  
 25115  // SetDBParameterGroupName sets the DBParameterGroupName field's value.
 25116  func (s *DBParameterGroupStatus) SetDBParameterGroupName(v string) *DBParameterGroupStatus {
 25117  	s.DBParameterGroupName = &v
 25118  	return s
 25119  }
 25120  
 25121  // SetParameterApplyStatus sets the ParameterApplyStatus field's value.
 25122  func (s *DBParameterGroupStatus) SetParameterApplyStatus(v string) *DBParameterGroupStatus {
 25123  	s.ParameterApplyStatus = &v
 25124  	return s
 25125  }
 25126  
 25127  // The data structure representing a proxy managed by the RDS Proxy.
 25128  //
 25129  // This data type is used as a response element in the DescribeDBProxies action.
 25130  type DBProxy struct {
 25131  	_ struct{} `type:"structure"`
 25132  
 25133  	// One or more data structures specifying the authorization mechanism to connect
 25134  	// to the associated RDS DB instance or Aurora DB cluster.
 25135  	Auth []*UserAuthConfigInfo `type:"list"`
 25136  
 25137  	// The date and time when the proxy was first created.
 25138  	CreatedDate *time.Time `type:"timestamp"`
 25139  
 25140  	// The Amazon Resource Name (ARN) for the proxy.
 25141  	DBProxyArn *string `type:"string"`
 25142  
 25143  	// The identifier for the proxy. This name must be unique for all proxies owned
 25144  	// by your Amazon Web Services account in the specified Amazon Web Services
 25145  	// Region.
 25146  	DBProxyName *string `type:"string"`
 25147  
 25148  	// Whether the proxy includes detailed information about SQL statements in its
 25149  	// logs. This information helps you to debug issues involving SQL behavior or
 25150  	// the performance and scalability of the proxy connections. The debug information
 25151  	// includes the text of SQL statements that you submit through the proxy. Thus,
 25152  	// only enable this setting when needed for debugging, and only when you have
 25153  	// security measures in place to safeguard any sensitive information that appears
 25154  	// in the logs.
 25155  	DebugLogging *bool `type:"boolean"`
 25156  
 25157  	// The endpoint that you can use to connect to the DB proxy. You include the
 25158  	// endpoint value in the connection string for a database client application.
 25159  	Endpoint *string `type:"string"`
 25160  
 25161  	// The engine family applies to MySQL and PostgreSQL for both RDS and Aurora.
 25162  	EngineFamily *string `type:"string"`
 25163  
 25164  	// The number of seconds a connection to the proxy can have no activity before
 25165  	// the proxy drops the client connection. The proxy keeps the underlying database
 25166  	// connection open and puts it back into the connection pool for reuse by later
 25167  	// connection requests.
 25168  	//
 25169  	// Default: 1800 (30 minutes)
 25170  	//
 25171  	// Constraints: 1 to 28,800
 25172  	IdleClientTimeout *int64 `type:"integer"`
 25173  
 25174  	// Indicates whether Transport Layer Security (TLS) encryption is required for
 25175  	// connections to the proxy.
 25176  	RequireTLS *bool `type:"boolean"`
 25177  
 25178  	// The Amazon Resource Name (ARN) for the IAM role that the proxy uses to access
 25179  	// Amazon Secrets Manager.
 25180  	RoleArn *string `type:"string"`
 25181  
 25182  	// The current status of this proxy. A status of available means the proxy is
 25183  	// ready to handle requests. Other values indicate that you must wait for the
 25184  	// proxy to be ready, or take some action to resolve an issue.
 25185  	Status *string `type:"string" enum:"DBProxyStatus"`
 25186  
 25187  	// The date and time when the proxy was last updated.
 25188  	UpdatedDate *time.Time `type:"timestamp"`
 25189  
 25190  	// Provides the VPC ID of the DB proxy.
 25191  	VpcId *string `type:"string"`
 25192  
 25193  	// Provides a list of VPC security groups that the proxy belongs to.
 25194  	VpcSecurityGroupIds []*string `type:"list"`
 25195  
 25196  	// The EC2 subnet IDs for the proxy.
 25197  	VpcSubnetIds []*string `type:"list"`
 25198  }
 25199  
 25200  // String returns the string representation.
 25201  //
 25202  // API parameter values that are decorated as "sensitive" in the API will not
 25203  // be included in the string output. The member name will be present, but the
 25204  // value will be replaced with "sensitive".
 25205  func (s DBProxy) String() string {
 25206  	return awsutil.Prettify(s)
 25207  }
 25208  
 25209  // GoString returns the string representation.
 25210  //
 25211  // API parameter values that are decorated as "sensitive" in the API will not
 25212  // be included in the string output. The member name will be present, but the
 25213  // value will be replaced with "sensitive".
 25214  func (s DBProxy) GoString() string {
 25215  	return s.String()
 25216  }
 25217  
 25218  // SetAuth sets the Auth field's value.
 25219  func (s *DBProxy) SetAuth(v []*UserAuthConfigInfo) *DBProxy {
 25220  	s.Auth = v
 25221  	return s
 25222  }
 25223  
 25224  // SetCreatedDate sets the CreatedDate field's value.
 25225  func (s *DBProxy) SetCreatedDate(v time.Time) *DBProxy {
 25226  	s.CreatedDate = &v
 25227  	return s
 25228  }
 25229  
 25230  // SetDBProxyArn sets the DBProxyArn field's value.
 25231  func (s *DBProxy) SetDBProxyArn(v string) *DBProxy {
 25232  	s.DBProxyArn = &v
 25233  	return s
 25234  }
 25235  
 25236  // SetDBProxyName sets the DBProxyName field's value.
 25237  func (s *DBProxy) SetDBProxyName(v string) *DBProxy {
 25238  	s.DBProxyName = &v
 25239  	return s
 25240  }
 25241  
 25242  // SetDebugLogging sets the DebugLogging field's value.
 25243  func (s *DBProxy) SetDebugLogging(v bool) *DBProxy {
 25244  	s.DebugLogging = &v
 25245  	return s
 25246  }
 25247  
 25248  // SetEndpoint sets the Endpoint field's value.
 25249  func (s *DBProxy) SetEndpoint(v string) *DBProxy {
 25250  	s.Endpoint = &v
 25251  	return s
 25252  }
 25253  
 25254  // SetEngineFamily sets the EngineFamily field's value.
 25255  func (s *DBProxy) SetEngineFamily(v string) *DBProxy {
 25256  	s.EngineFamily = &v
 25257  	return s
 25258  }
 25259  
 25260  // SetIdleClientTimeout sets the IdleClientTimeout field's value.
 25261  func (s *DBProxy) SetIdleClientTimeout(v int64) *DBProxy {
 25262  	s.IdleClientTimeout = &v
 25263  	return s
 25264  }
 25265  
 25266  // SetRequireTLS sets the RequireTLS field's value.
 25267  func (s *DBProxy) SetRequireTLS(v bool) *DBProxy {
 25268  	s.RequireTLS = &v
 25269  	return s
 25270  }
 25271  
 25272  // SetRoleArn sets the RoleArn field's value.
 25273  func (s *DBProxy) SetRoleArn(v string) *DBProxy {
 25274  	s.RoleArn = &v
 25275  	return s
 25276  }
 25277  
 25278  // SetStatus sets the Status field's value.
 25279  func (s *DBProxy) SetStatus(v string) *DBProxy {
 25280  	s.Status = &v
 25281  	return s
 25282  }
 25283  
 25284  // SetUpdatedDate sets the UpdatedDate field's value.
 25285  func (s *DBProxy) SetUpdatedDate(v time.Time) *DBProxy {
 25286  	s.UpdatedDate = &v
 25287  	return s
 25288  }
 25289  
 25290  // SetVpcId sets the VpcId field's value.
 25291  func (s *DBProxy) SetVpcId(v string) *DBProxy {
 25292  	s.VpcId = &v
 25293  	return s
 25294  }
 25295  
 25296  // SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
 25297  func (s *DBProxy) SetVpcSecurityGroupIds(v []*string) *DBProxy {
 25298  	s.VpcSecurityGroupIds = v
 25299  	return s
 25300  }
 25301  
 25302  // SetVpcSubnetIds sets the VpcSubnetIds field's value.
 25303  func (s *DBProxy) SetVpcSubnetIds(v []*string) *DBProxy {
 25304  	s.VpcSubnetIds = v
 25305  	return s
 25306  }
 25307  
 25308  // The data structure representing an endpoint associated with a DB proxy. RDS
 25309  // automatically creates one endpoint for each DB proxy. For Aurora DB clusters,
 25310  // you can associate additional endpoints with the same DB proxy. These endpoints
 25311  // can be read/write or read-only. They can also reside in different VPCs than
 25312  // the associated DB proxy.
 25313  //
 25314  // This data type is used as a response element in the DescribeDBProxyEndpoints
 25315  // operation.
 25316  type DBProxyEndpoint struct {
 25317  	_ struct{} `type:"structure"`
 25318  
 25319  	// The date and time when the DB proxy endpoint was first created.
 25320  	CreatedDate *time.Time `type:"timestamp"`
 25321  
 25322  	// The Amazon Resource Name (ARN) for the DB proxy endpoint.
 25323  	DBProxyEndpointArn *string `type:"string"`
 25324  
 25325  	// The name for the DB proxy endpoint. An identifier must begin with a letter
 25326  	// and must contain only ASCII letters, digits, and hyphens; it can't end with
 25327  	// a hyphen or contain two consecutive hyphens.
 25328  	DBProxyEndpointName *string `type:"string"`
 25329  
 25330  	// The identifier for the DB proxy that is associated with this DB proxy endpoint.
 25331  	DBProxyName *string `type:"string"`
 25332  
 25333  	// The endpoint that you can use to connect to the DB proxy. You include the
 25334  	// endpoint value in the connection string for a database client application.
 25335  	Endpoint *string `type:"string"`
 25336  
 25337  	// A value that indicates whether this endpoint is the default endpoint for
 25338  	// the associated DB proxy. Default DB proxy endpoints always have read/write
 25339  	// capability. Other endpoints that you associate with the DB proxy can be either
 25340  	// read/write or read-only.
 25341  	IsDefault *bool `type:"boolean"`
 25342  
 25343  	// The current status of this DB proxy endpoint. A status of available means
 25344  	// the endpoint is ready to handle requests. Other values indicate that you
 25345  	// must wait for the endpoint to be ready, or take some action to resolve an
 25346  	// issue.
 25347  	Status *string `type:"string" enum:"DBProxyEndpointStatus"`
 25348  
 25349  	// A value that indicates whether the DB proxy endpoint can be used for read/write
 25350  	// or read-only operations.
 25351  	TargetRole *string `type:"string" enum:"DBProxyEndpointTargetRole"`
 25352  
 25353  	// Provides the VPC ID of the DB proxy endpoint.
 25354  	VpcId *string `type:"string"`
 25355  
 25356  	// Provides a list of VPC security groups that the DB proxy endpoint belongs
 25357  	// to.
 25358  	VpcSecurityGroupIds []*string `type:"list"`
 25359  
 25360  	// The EC2 subnet IDs for the DB proxy endpoint.
 25361  	VpcSubnetIds []*string `type:"list"`
 25362  }
 25363  
 25364  // String returns the string representation.
 25365  //
 25366  // API parameter values that are decorated as "sensitive" in the API will not
 25367  // be included in the string output. The member name will be present, but the
 25368  // value will be replaced with "sensitive".
 25369  func (s DBProxyEndpoint) String() string {
 25370  	return awsutil.Prettify(s)
 25371  }
 25372  
 25373  // GoString returns the string representation.
 25374  //
 25375  // API parameter values that are decorated as "sensitive" in the API will not
 25376  // be included in the string output. The member name will be present, but the
 25377  // value will be replaced with "sensitive".
 25378  func (s DBProxyEndpoint) GoString() string {
 25379  	return s.String()
 25380  }
 25381  
 25382  // SetCreatedDate sets the CreatedDate field's value.
 25383  func (s *DBProxyEndpoint) SetCreatedDate(v time.Time) *DBProxyEndpoint {
 25384  	s.CreatedDate = &v
 25385  	return s
 25386  }
 25387  
 25388  // SetDBProxyEndpointArn sets the DBProxyEndpointArn field's value.
 25389  func (s *DBProxyEndpoint) SetDBProxyEndpointArn(v string) *DBProxyEndpoint {
 25390  	s.DBProxyEndpointArn = &v
 25391  	return s
 25392  }
 25393  
 25394  // SetDBProxyEndpointName sets the DBProxyEndpointName field's value.
 25395  func (s *DBProxyEndpoint) SetDBProxyEndpointName(v string) *DBProxyEndpoint {
 25396  	s.DBProxyEndpointName = &v
 25397  	return s
 25398  }
 25399  
 25400  // SetDBProxyName sets the DBProxyName field's value.
 25401  func (s *DBProxyEndpoint) SetDBProxyName(v string) *DBProxyEndpoint {
 25402  	s.DBProxyName = &v
 25403  	return s
 25404  }
 25405  
 25406  // SetEndpoint sets the Endpoint field's value.
 25407  func (s *DBProxyEndpoint) SetEndpoint(v string) *DBProxyEndpoint {
 25408  	s.Endpoint = &v
 25409  	return s
 25410  }
 25411  
 25412  // SetIsDefault sets the IsDefault field's value.
 25413  func (s *DBProxyEndpoint) SetIsDefault(v bool) *DBProxyEndpoint {
 25414  	s.IsDefault = &v
 25415  	return s
 25416  }
 25417  
 25418  // SetStatus sets the Status field's value.
 25419  func (s *DBProxyEndpoint) SetStatus(v string) *DBProxyEndpoint {
 25420  	s.Status = &v
 25421  	return s
 25422  }
 25423  
 25424  // SetTargetRole sets the TargetRole field's value.
 25425  func (s *DBProxyEndpoint) SetTargetRole(v string) *DBProxyEndpoint {
 25426  	s.TargetRole = &v
 25427  	return s
 25428  }
 25429  
 25430  // SetVpcId sets the VpcId field's value.
 25431  func (s *DBProxyEndpoint) SetVpcId(v string) *DBProxyEndpoint {
 25432  	s.VpcId = &v
 25433  	return s
 25434  }
 25435  
 25436  // SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
 25437  func (s *DBProxyEndpoint) SetVpcSecurityGroupIds(v []*string) *DBProxyEndpoint {
 25438  	s.VpcSecurityGroupIds = v
 25439  	return s
 25440  }
 25441  
 25442  // SetVpcSubnetIds sets the VpcSubnetIds field's value.
 25443  func (s *DBProxyEndpoint) SetVpcSubnetIds(v []*string) *DBProxyEndpoint {
 25444  	s.VpcSubnetIds = v
 25445  	return s
 25446  }
 25447  
 25448  // Contains the details for an RDS Proxy target. It represents an RDS DB instance
 25449  // or Aurora DB cluster that the proxy can connect to. One or more targets are
 25450  // associated with an RDS Proxy target group.
 25451  //
 25452  // This data type is used as a response element in the DescribeDBProxyTargets
 25453  // action.
 25454  type DBProxyTarget struct {
 25455  	_ struct{} `type:"structure"`
 25456  
 25457  	// The writer endpoint for the RDS DB instance or Aurora DB cluster.
 25458  	Endpoint *string `type:"string"`
 25459  
 25460  	// The port that the RDS Proxy uses to connect to the target RDS DB instance
 25461  	// or Aurora DB cluster.
 25462  	Port *int64 `type:"integer"`
 25463  
 25464  	// The identifier representing the target. It can be the instance identifier
 25465  	// for an RDS DB instance, or the cluster identifier for an Aurora DB cluster.
 25466  	RdsResourceId *string `type:"string"`
 25467  
 25468  	// A value that indicates whether the target of the proxy can be used for read/write
 25469  	// or read-only operations.
 25470  	Role *string `type:"string" enum:"TargetRole"`
 25471  
 25472  	// The Amazon Resource Name (ARN) for the RDS DB instance or Aurora DB cluster.
 25473  	TargetArn *string `type:"string"`
 25474  
 25475  	// Information about the connection health of the RDS Proxy target.
 25476  	TargetHealth *TargetHealth `type:"structure"`
 25477  
 25478  	// The DB cluster identifier when the target represents an Aurora DB cluster.
 25479  	// This field is blank when the target represents an RDS DB instance.
 25480  	TrackedClusterId *string `type:"string"`
 25481  
 25482  	// Specifies the kind of database, such as an RDS DB instance or an Aurora DB
 25483  	// cluster, that the target represents.
 25484  	Type *string `type:"string" enum:"TargetType"`
 25485  }
 25486  
 25487  // String returns the string representation.
 25488  //
 25489  // API parameter values that are decorated as "sensitive" in the API will not
 25490  // be included in the string output. The member name will be present, but the
 25491  // value will be replaced with "sensitive".
 25492  func (s DBProxyTarget) String() string {
 25493  	return awsutil.Prettify(s)
 25494  }
 25495  
 25496  // GoString returns the string representation.
 25497  //
 25498  // API parameter values that are decorated as "sensitive" in the API will not
 25499  // be included in the string output. The member name will be present, but the
 25500  // value will be replaced with "sensitive".
 25501  func (s DBProxyTarget) GoString() string {
 25502  	return s.String()
 25503  }
 25504  
 25505  // SetEndpoint sets the Endpoint field's value.
 25506  func (s *DBProxyTarget) SetEndpoint(v string) *DBProxyTarget {
 25507  	s.Endpoint = &v
 25508  	return s
 25509  }
 25510  
 25511  // SetPort sets the Port field's value.
 25512  func (s *DBProxyTarget) SetPort(v int64) *DBProxyTarget {
 25513  	s.Port = &v
 25514  	return s
 25515  }
 25516  
 25517  // SetRdsResourceId sets the RdsResourceId field's value.
 25518  func (s *DBProxyTarget) SetRdsResourceId(v string) *DBProxyTarget {
 25519  	s.RdsResourceId = &v
 25520  	return s
 25521  }
 25522  
 25523  // SetRole sets the Role field's value.
 25524  func (s *DBProxyTarget) SetRole(v string) *DBProxyTarget {
 25525  	s.Role = &v
 25526  	return s
 25527  }
 25528  
 25529  // SetTargetArn sets the TargetArn field's value.
 25530  func (s *DBProxyTarget) SetTargetArn(v string) *DBProxyTarget {
 25531  	s.TargetArn = &v
 25532  	return s
 25533  }
 25534  
 25535  // SetTargetHealth sets the TargetHealth field's value.
 25536  func (s *DBProxyTarget) SetTargetHealth(v *TargetHealth) *DBProxyTarget {
 25537  	s.TargetHealth = v
 25538  	return s
 25539  }
 25540  
 25541  // SetTrackedClusterId sets the TrackedClusterId field's value.
 25542  func (s *DBProxyTarget) SetTrackedClusterId(v string) *DBProxyTarget {
 25543  	s.TrackedClusterId = &v
 25544  	return s
 25545  }
 25546  
 25547  // SetType sets the Type field's value.
 25548  func (s *DBProxyTarget) SetType(v string) *DBProxyTarget {
 25549  	s.Type = &v
 25550  	return s
 25551  }
 25552  
 25553  // Represents a set of RDS DB instances, Aurora DB clusters, or both that a
 25554  // proxy can connect to. Currently, each target group is associated with exactly
 25555  // one RDS DB instance or Aurora DB cluster.
 25556  //
 25557  // This data type is used as a response element in the DescribeDBProxyTargetGroups
 25558  // action.
 25559  type DBProxyTargetGroup struct {
 25560  	_ struct{} `type:"structure"`
 25561  
 25562  	// The settings that determine the size and behavior of the connection pool
 25563  	// for the target group.
 25564  	ConnectionPoolConfig *ConnectionPoolConfigurationInfo `type:"structure"`
 25565  
 25566  	// The date and time when the target group was first created.
 25567  	CreatedDate *time.Time `type:"timestamp"`
 25568  
 25569  	// The identifier for the RDS proxy associated with this target group.
 25570  	DBProxyName *string `type:"string"`
 25571  
 25572  	// Whether this target group is the first one used for connection requests by
 25573  	// the associated proxy. Because each proxy is currently associated with a single
 25574  	// target group, currently this setting is always true.
 25575  	IsDefault *bool `type:"boolean"`
 25576  
 25577  	// The current status of this target group. A status of available means the
 25578  	// target group is correctly associated with a database. Other values indicate
 25579  	// that you must wait for the target group to be ready, or take some action
 25580  	// to resolve an issue.
 25581  	Status *string `type:"string"`
 25582  
 25583  	// The Amazon Resource Name (ARN) representing the target group.
 25584  	TargetGroupArn *string `type:"string"`
 25585  
 25586  	// The identifier for the target group. This name must be unique for all target
 25587  	// groups owned by your Amazon Web Services account in the specified Amazon
 25588  	// Web Services Region.
 25589  	TargetGroupName *string `type:"string"`
 25590  
 25591  	// The date and time when the target group was last updated.
 25592  	UpdatedDate *time.Time `type:"timestamp"`
 25593  }
 25594  
 25595  // String returns the string representation.
 25596  //
 25597  // API parameter values that are decorated as "sensitive" in the API will not
 25598  // be included in the string output. The member name will be present, but the
 25599  // value will be replaced with "sensitive".
 25600  func (s DBProxyTargetGroup) String() string {
 25601  	return awsutil.Prettify(s)
 25602  }
 25603  
 25604  // GoString returns the string representation.
 25605  //
 25606  // API parameter values that are decorated as "sensitive" in the API will not
 25607  // be included in the string output. The member name will be present, but the
 25608  // value will be replaced with "sensitive".
 25609  func (s DBProxyTargetGroup) GoString() string {
 25610  	return s.String()
 25611  }
 25612  
 25613  // SetConnectionPoolConfig sets the ConnectionPoolConfig field's value.
 25614  func (s *DBProxyTargetGroup) SetConnectionPoolConfig(v *ConnectionPoolConfigurationInfo) *DBProxyTargetGroup {
 25615  	s.ConnectionPoolConfig = v
 25616  	return s
 25617  }
 25618  
 25619  // SetCreatedDate sets the CreatedDate field's value.
 25620  func (s *DBProxyTargetGroup) SetCreatedDate(v time.Time) *DBProxyTargetGroup {
 25621  	s.CreatedDate = &v
 25622  	return s
 25623  }
 25624  
 25625  // SetDBProxyName sets the DBProxyName field's value.
 25626  func (s *DBProxyTargetGroup) SetDBProxyName(v string) *DBProxyTargetGroup {
 25627  	s.DBProxyName = &v
 25628  	return s
 25629  }
 25630  
 25631  // SetIsDefault sets the IsDefault field's value.
 25632  func (s *DBProxyTargetGroup) SetIsDefault(v bool) *DBProxyTargetGroup {
 25633  	s.IsDefault = &v
 25634  	return s
 25635  }
 25636  
 25637  // SetStatus sets the Status field's value.
 25638  func (s *DBProxyTargetGroup) SetStatus(v string) *DBProxyTargetGroup {
 25639  	s.Status = &v
 25640  	return s
 25641  }
 25642  
 25643  // SetTargetGroupArn sets the TargetGroupArn field's value.
 25644  func (s *DBProxyTargetGroup) SetTargetGroupArn(v string) *DBProxyTargetGroup {
 25645  	s.TargetGroupArn = &v
 25646  	return s
 25647  }
 25648  
 25649  // SetTargetGroupName sets the TargetGroupName field's value.
 25650  func (s *DBProxyTargetGroup) SetTargetGroupName(v string) *DBProxyTargetGroup {
 25651  	s.TargetGroupName = &v
 25652  	return s
 25653  }
 25654  
 25655  // SetUpdatedDate sets the UpdatedDate field's value.
 25656  func (s *DBProxyTargetGroup) SetUpdatedDate(v time.Time) *DBProxyTargetGroup {
 25657  	s.UpdatedDate = &v
 25658  	return s
 25659  }
 25660  
 25661  // Contains the details for an Amazon RDS DB security group.
 25662  //
 25663  // This data type is used as a response element in the DescribeDBSecurityGroups
 25664  // action.
 25665  type DBSecurityGroup struct {
 25666  	_ struct{} `type:"structure"`
 25667  
 25668  	// The Amazon Resource Name (ARN) for the DB security group.
 25669  	DBSecurityGroupArn *string `type:"string"`
 25670  
 25671  	// Provides the description of the DB security group.
 25672  	DBSecurityGroupDescription *string `type:"string"`
 25673  
 25674  	// Specifies the name of the DB security group.
 25675  	DBSecurityGroupName *string `type:"string"`
 25676  
 25677  	// Contains a list of EC2SecurityGroup elements.
 25678  	EC2SecurityGroups []*EC2SecurityGroup `locationNameList:"EC2SecurityGroup" type:"list"`
 25679  
 25680  	// Contains a list of IPRange elements.
 25681  	IPRanges []*IPRange `locationNameList:"IPRange" type:"list"`
 25682  
 25683  	// Provides the Amazon Web Services ID of the owner of a specific DB security
 25684  	// group.
 25685  	OwnerId *string `type:"string"`
 25686  
 25687  	// Provides the VpcId of the DB security group.
 25688  	VpcId *string `type:"string"`
 25689  }
 25690  
 25691  // String returns the string representation.
 25692  //
 25693  // API parameter values that are decorated as "sensitive" in the API will not
 25694  // be included in the string output. The member name will be present, but the
 25695  // value will be replaced with "sensitive".
 25696  func (s DBSecurityGroup) String() string {
 25697  	return awsutil.Prettify(s)
 25698  }
 25699  
 25700  // GoString returns the string representation.
 25701  //
 25702  // API parameter values that are decorated as "sensitive" in the API will not
 25703  // be included in the string output. The member name will be present, but the
 25704  // value will be replaced with "sensitive".
 25705  func (s DBSecurityGroup) GoString() string {
 25706  	return s.String()
 25707  }
 25708  
 25709  // SetDBSecurityGroupArn sets the DBSecurityGroupArn field's value.
 25710  func (s *DBSecurityGroup) SetDBSecurityGroupArn(v string) *DBSecurityGroup {
 25711  	s.DBSecurityGroupArn = &v
 25712  	return s
 25713  }
 25714  
 25715  // SetDBSecurityGroupDescription sets the DBSecurityGroupDescription field's value.
 25716  func (s *DBSecurityGroup) SetDBSecurityGroupDescription(v string) *DBSecurityGroup {
 25717  	s.DBSecurityGroupDescription = &v
 25718  	return s
 25719  }
 25720  
 25721  // SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
 25722  func (s *DBSecurityGroup) SetDBSecurityGroupName(v string) *DBSecurityGroup {
 25723  	s.DBSecurityGroupName = &v
 25724  	return s
 25725  }
 25726  
 25727  // SetEC2SecurityGroups sets the EC2SecurityGroups field's value.
 25728  func (s *DBSecurityGroup) SetEC2SecurityGroups(v []*EC2SecurityGroup) *DBSecurityGroup {
 25729  	s.EC2SecurityGroups = v
 25730  	return s
 25731  }
 25732  
 25733  // SetIPRanges sets the IPRanges field's value.
 25734  func (s *DBSecurityGroup) SetIPRanges(v []*IPRange) *DBSecurityGroup {
 25735  	s.IPRanges = v
 25736  	return s
 25737  }
 25738  
 25739  // SetOwnerId sets the OwnerId field's value.
 25740  func (s *DBSecurityGroup) SetOwnerId(v string) *DBSecurityGroup {
 25741  	s.OwnerId = &v
 25742  	return s
 25743  }
 25744  
 25745  // SetVpcId sets the VpcId field's value.
 25746  func (s *DBSecurityGroup) SetVpcId(v string) *DBSecurityGroup {
 25747  	s.VpcId = &v
 25748  	return s
 25749  }
 25750  
 25751  // This data type is used as a response element in the following actions:
 25752  //
 25753  //    * ModifyDBInstance
 25754  //
 25755  //    * RebootDBInstance
 25756  //
 25757  //    * RestoreDBInstanceFromDBSnapshot
 25758  //
 25759  //    * RestoreDBInstanceToPointInTime
 25760  type DBSecurityGroupMembership struct {
 25761  	_ struct{} `type:"structure"`
 25762  
 25763  	// The name of the DB security group.
 25764  	DBSecurityGroupName *string `type:"string"`
 25765  
 25766  	// The status of the DB security group.
 25767  	Status *string `type:"string"`
 25768  }
 25769  
 25770  // String returns the string representation.
 25771  //
 25772  // API parameter values that are decorated as "sensitive" in the API will not
 25773  // be included in the string output. The member name will be present, but the
 25774  // value will be replaced with "sensitive".
 25775  func (s DBSecurityGroupMembership) String() string {
 25776  	return awsutil.Prettify(s)
 25777  }
 25778  
 25779  // GoString returns the string representation.
 25780  //
 25781  // API parameter values that are decorated as "sensitive" in the API will not
 25782  // be included in the string output. The member name will be present, but the
 25783  // value will be replaced with "sensitive".
 25784  func (s DBSecurityGroupMembership) GoString() string {
 25785  	return s.String()
 25786  }
 25787  
 25788  // SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
 25789  func (s *DBSecurityGroupMembership) SetDBSecurityGroupName(v string) *DBSecurityGroupMembership {
 25790  	s.DBSecurityGroupName = &v
 25791  	return s
 25792  }
 25793  
 25794  // SetStatus sets the Status field's value.
 25795  func (s *DBSecurityGroupMembership) SetStatus(v string) *DBSecurityGroupMembership {
 25796  	s.Status = &v
 25797  	return s
 25798  }
 25799  
 25800  // Contains the details of an Amazon RDS DB snapshot.
 25801  //
 25802  // This data type is used as a response element in the DescribeDBSnapshots action.
 25803  type DBSnapshot struct {
 25804  	_ struct{} `type:"structure"`
 25805  
 25806  	// Specifies the allocated storage size in gibibytes (GiB).
 25807  	AllocatedStorage *int64 `type:"integer"`
 25808  
 25809  	// Specifies the name of the Availability Zone the DB instance was located in
 25810  	// at the time of the DB snapshot.
 25811  	AvailabilityZone *string `type:"string"`
 25812  
 25813  	// Specifies the DB instance identifier of the DB instance this DB snapshot
 25814  	// was created from.
 25815  	DBInstanceIdentifier *string `type:"string"`
 25816  
 25817  	// The Amazon Resource Name (ARN) for the DB snapshot.
 25818  	DBSnapshotArn *string `type:"string"`
 25819  
 25820  	// Specifies the identifier for the DB snapshot.
 25821  	DBSnapshotIdentifier *string `type:"string"`
 25822  
 25823  	// The identifier for the source DB instance, which can't be changed and which
 25824  	// is unique to an Amazon Web Services Region.
 25825  	DbiResourceId *string `type:"string"`
 25826  
 25827  	// Specifies whether the DB snapshot is encrypted.
 25828  	Encrypted *bool `type:"boolean"`
 25829  
 25830  	// Specifies the name of the database engine.
 25831  	Engine *string `type:"string"`
 25832  
 25833  	// Specifies the version of the database engine.
 25834  	EngineVersion *string `type:"string"`
 25835  
 25836  	// True if mapping of Amazon Web Services Identity and Access Management (IAM)
 25837  	// accounts to database accounts is enabled, and otherwise false.
 25838  	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
 25839  
 25840  	// Specifies the time in Coordinated Universal Time (UTC) when the DB instance,
 25841  	// from which the snapshot was taken, was created.
 25842  	InstanceCreateTime *time.Time `type:"timestamp"`
 25843  
 25844  	// Specifies the Provisioned IOPS (I/O operations per second) value of the DB
 25845  	// instance at the time of the snapshot.
 25846  	Iops *int64 `type:"integer"`
 25847  
 25848  	// If Encrypted is true, the Amazon Web Services KMS key identifier for the
 25849  	// encrypted DB snapshot.
 25850  	//
 25851  	// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
 25852  	// ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).
 25853  	KmsKeyId *string `type:"string"`
 25854  
 25855  	// License model information for the restored DB instance.
 25856  	LicenseModel *string `type:"string"`
 25857  
 25858  	// Provides the master username for the DB snapshot.
 25859  	MasterUsername *string `type:"string"`
 25860  
 25861  	// Provides the option group name for the DB snapshot.
 25862  	OptionGroupName *string `type:"string"`
 25863  
 25864  	// Specifies the time of the CreateDBSnapshot operation in Coordinated Universal
 25865  	// Time (UTC). Doesn't change when the snapshot is copied.
 25866  	OriginalSnapshotCreateTime *time.Time `type:"timestamp"`
 25867  
 25868  	// The percentage of the estimated data that has been transferred.
 25869  	PercentProgress *int64 `type:"integer"`
 25870  
 25871  	// Specifies the port that the database engine was listening on at the time
 25872  	// of the snapshot.
 25873  	Port *int64 `type:"integer"`
 25874  
 25875  	// The number of CPU cores and the number of threads per core for the DB instance
 25876  	// class of the DB instance when the DB snapshot was created.
 25877  	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
 25878  
 25879  	// Specifies when the snapshot was taken in Coordinated Universal Time (UTC).
 25880  	// Changes for the copy when the snapshot is copied.
 25881  	SnapshotCreateTime *time.Time `type:"timestamp"`
 25882  
 25883  	// Provides the type of the DB snapshot.
 25884  	SnapshotType *string `type:"string"`
 25885  
 25886  	// The DB snapshot Amazon Resource Name (ARN) that the DB snapshot was copied
 25887  	// from. It only has a value in the case of a cross-account or cross-Region
 25888  	// copy.
 25889  	SourceDBSnapshotIdentifier *string `type:"string"`
 25890  
 25891  	// The Amazon Web Services Region that the DB snapshot was created in or copied
 25892  	// from.
 25893  	SourceRegion *string `type:"string"`
 25894  
 25895  	// Specifies the status of this DB snapshot.
 25896  	Status *string `type:"string"`
 25897  
 25898  	// Specifies the storage type associated with DB snapshot.
 25899  	StorageType *string `type:"string"`
 25900  
 25901  	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
 25902  	// in the Amazon RDS User Guide.
 25903  	TagList []*Tag `locationNameList:"Tag" type:"list"`
 25904  
 25905  	// The ARN from the key store with which to associate the instance for TDE encryption.
 25906  	TdeCredentialArn *string `type:"string"`
 25907  
 25908  	// The time zone of the DB snapshot. In most cases, the Timezone element is
 25909  	// empty. Timezone content appears only for snapshots taken from Microsoft SQL
 25910  	// Server DB instances that were created with a time zone specified.
 25911  	Timezone *string `type:"string"`
 25912  
 25913  	// Provides the VPC ID associated with the DB snapshot.
 25914  	VpcId *string `type:"string"`
 25915  }
 25916  
 25917  // String returns the string representation.
 25918  //
 25919  // API parameter values that are decorated as "sensitive" in the API will not
 25920  // be included in the string output. The member name will be present, but the
 25921  // value will be replaced with "sensitive".
 25922  func (s DBSnapshot) String() string {
 25923  	return awsutil.Prettify(s)
 25924  }
 25925  
 25926  // GoString returns the string representation.
 25927  //
 25928  // API parameter values that are decorated as "sensitive" in the API will not
 25929  // be included in the string output. The member name will be present, but the
 25930  // value will be replaced with "sensitive".
 25931  func (s DBSnapshot) GoString() string {
 25932  	return s.String()
 25933  }
 25934  
 25935  // SetAllocatedStorage sets the AllocatedStorage field's value.
 25936  func (s *DBSnapshot) SetAllocatedStorage(v int64) *DBSnapshot {
 25937  	s.AllocatedStorage = &v
 25938  	return s
 25939  }
 25940  
 25941  // SetAvailabilityZone sets the AvailabilityZone field's value.
 25942  func (s *DBSnapshot) SetAvailabilityZone(v string) *DBSnapshot {
 25943  	s.AvailabilityZone = &v
 25944  	return s
 25945  }
 25946  
 25947  // SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
 25948  func (s *DBSnapshot) SetDBInstanceIdentifier(v string) *DBSnapshot {
 25949  	s.DBInstanceIdentifier = &v
 25950  	return s
 25951  }
 25952  
 25953  // SetDBSnapshotArn sets the DBSnapshotArn field's value.
 25954  func (s *DBSnapshot) SetDBSnapshotArn(v string) *DBSnapshot {
 25955  	s.DBSnapshotArn = &v
 25956  	return s
 25957  }
 25958  
 25959  // SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
 25960  func (s *DBSnapshot) SetDBSnapshotIdentifier(v string) *DBSnapshot {
 25961  	s.DBSnapshotIdentifier = &v
 25962  	return s
 25963  }
 25964  
 25965  // SetDbiResourceId sets the DbiResourceId field's value.
 25966  func (s *DBSnapshot) SetDbiResourceId(v string) *DBSnapshot {
 25967  	s.DbiResourceId = &v
 25968  	return s
 25969  }
 25970  
 25971  // SetEncrypted sets the Encrypted field's value.
 25972  func (s *DBSnapshot) SetEncrypted(v bool) *DBSnapshot {
 25973  	s.Encrypted = &v
 25974  	return s
 25975  }
 25976  
 25977  // SetEngine sets the Engine field's value.
 25978  func (s *DBSnapshot) SetEngine(v string) *DBSnapshot {
 25979  	s.Engine = &v
 25980  	return s
 25981  }
 25982  
 25983  // SetEngineVersion sets the EngineVersion field's value.
 25984  func (s *DBSnapshot) SetEngineVersion(v string) *DBSnapshot {
 25985  	s.EngineVersion = &v
 25986  	return s
 25987  }
 25988  
 25989  // SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
 25990  func (s *DBSnapshot) SetIAMDatabaseAuthenticationEnabled(v bool) *DBSnapshot {
 25991  	s.IAMDatabaseAuthenticationEnabled = &v
 25992  	return s
 25993  }
 25994  
 25995  // SetInstanceCreateTime sets the InstanceCreateTime field's value.
 25996  func (s *DBSnapshot) SetInstanceCreateTime(v time.Time) *DBSnapshot {
 25997  	s.InstanceCreateTime = &v
 25998  	return s
 25999  }
 26000  
 26001  // SetIops sets the Iops field's value.
 26002  func (s *DBSnapshot) SetIops(v int64) *DBSnapshot {
 26003  	s.Iops = &v
 26004  	return s
 26005  }
 26006  
 26007  // SetKmsKeyId sets the KmsKeyId field's value.
 26008  func (s *DBSnapshot) SetKmsKeyId(v string) *DBSnapshot {
 26009  	s.KmsKeyId = &v
 26010  	return s
 26011  }
 26012  
 26013  // SetLicenseModel sets the LicenseModel field's value.
 26014  func (s *DBSnapshot) SetLicenseModel(v string) *DBSnapshot {
 26015  	s.LicenseModel = &v
 26016  	return s
 26017  }
 26018  
 26019  // SetMasterUsername sets the MasterUsername field's value.
 26020  func (s *DBSnapshot) SetMasterUsername(v string) *DBSnapshot {
 26021  	s.MasterUsername = &v
 26022  	return s
 26023  }
 26024  
 26025  // SetOptionGroupName sets the OptionGroupName field's value.
 26026  func (s *DBSnapshot) SetOptionGroupName(v string) *DBSnapshot {
 26027  	s.OptionGroupName = &v
 26028  	return s
 26029  }
 26030  
 26031  // SetOriginalSnapshotCreateTime sets the OriginalSnapshotCreateTime field's value.
 26032  func (s *DBSnapshot) SetOriginalSnapshotCreateTime(v time.Time) *DBSnapshot {
 26033  	s.OriginalSnapshotCreateTime = &v
 26034  	return s
 26035  }
 26036  
 26037  // SetPercentProgress sets the PercentProgress field's value.
 26038  func (s *DBSnapshot) SetPercentProgress(v int64) *DBSnapshot {
 26039  	s.PercentProgress = &v
 26040  	return s
 26041  }
 26042  
 26043  // SetPort sets the Port field's value.
 26044  func (s *DBSnapshot) SetPort(v int64) *DBSnapshot {
 26045  	s.Port = &v
 26046  	return s
 26047  }
 26048  
 26049  // SetProcessorFeatures sets the ProcessorFeatures field's value.
 26050  func (s *DBSnapshot) SetProcessorFeatures(v []*ProcessorFeature) *DBSnapshot {
 26051  	s.ProcessorFeatures = v
 26052  	return s
 26053  }
 26054  
 26055  // SetSnapshotCreateTime sets the SnapshotCreateTime field's value.
 26056  func (s *DBSnapshot) SetSnapshotCreateTime(v time.Time) *DBSnapshot {
 26057  	s.SnapshotCreateTime = &v
 26058  	return s
 26059  }
 26060  
 26061  // SetSnapshotType sets the SnapshotType field's value.
 26062  func (s *DBSnapshot) SetSnapshotType(v string) *DBSnapshot {
 26063  	s.SnapshotType = &v
 26064  	return s
 26065  }
 26066  
 26067  // SetSourceDBSnapshotIdentifier sets the SourceDBSnapshotIdentifier field's value.
 26068  func (s *DBSnapshot) SetSourceDBSnapshotIdentifier(v string) *DBSnapshot {
 26069  	s.SourceDBSnapshotIdentifier = &v
 26070  	return s
 26071  }
 26072  
 26073  // SetSourceRegion sets the SourceRegion field's value.
 26074  func (s *DBSnapshot) SetSourceRegion(v string) *DBSnapshot {
 26075  	s.SourceRegion = &v
 26076  	return s
 26077  }
 26078  
 26079  // SetStatus sets the Status field's value.
 26080  func (s *DBSnapshot) SetStatus(v string) *DBSnapshot {
 26081  	s.Status = &v
 26082  	return s
 26083  }
 26084  
 26085  // SetStorageType sets the StorageType field's value.
 26086  func (s *DBSnapshot) SetStorageType(v string) *DBSnapshot {
 26087  	s.StorageType = &v
 26088  	return s
 26089  }
 26090  
 26091  // SetTagList sets the TagList field's value.
 26092  func (s *DBSnapshot) SetTagList(v []*Tag) *DBSnapshot {
 26093  	s.TagList = v
 26094  	return s
 26095  }
 26096  
 26097  // SetTdeCredentialArn sets the TdeCredentialArn field's value.
 26098  func (s *DBSnapshot) SetTdeCredentialArn(v string) *DBSnapshot {
 26099  	s.TdeCredentialArn = &v
 26100  	return s
 26101  }
 26102  
 26103  // SetTimezone sets the Timezone field's value.
 26104  func (s *DBSnapshot) SetTimezone(v string) *DBSnapshot {
 26105  	s.Timezone = &v
 26106  	return s
 26107  }
 26108  
 26109  // SetVpcId sets the VpcId field's value.
 26110  func (s *DBSnapshot) SetVpcId(v string) *DBSnapshot {
 26111  	s.VpcId = &v
 26112  	return s
 26113  }
 26114  
 26115  // Contains the name and values of a manual DB snapshot attribute
 26116  //
 26117  // Manual DB snapshot attributes are used to authorize other Amazon Web Services
 26118  // accounts to restore a manual DB snapshot. For more information, see the ModifyDBSnapshotAttribute
 26119  // API.
 26120  type DBSnapshotAttribute struct {
 26121  	_ struct{} `type:"structure"`
 26122  
 26123  	// The name of the manual DB snapshot attribute.
 26124  	//
 26125  	// The attribute named restore refers to the list of Amazon Web Services accounts
 26126  	// that have permission to copy or restore the manual DB cluster snapshot. For
 26127  	// more information, see the ModifyDBSnapshotAttribute API action.
 26128  	AttributeName *string `type:"string"`
 26129  
 26130  	// The value or values for the manual DB snapshot attribute.
 26131  	//
 26132  	// If the AttributeName field is set to restore, then this element returns a
 26133  	// list of IDs of the Amazon Web Services accounts that are authorized to copy
 26134  	// or restore the manual DB snapshot. If a value of all is in the list, then
 26135  	// the manual DB snapshot is public and available for any Amazon Web Services
 26136  	// account to copy or restore.
 26137  	AttributeValues []*string `locationNameList:"AttributeValue" type:"list"`
 26138  }
 26139  
 26140  // String returns the string representation.
 26141  //
 26142  // API parameter values that are decorated as "sensitive" in the API will not
 26143  // be included in the string output. The member name will be present, but the
 26144  // value will be replaced with "sensitive".
 26145  func (s DBSnapshotAttribute) String() string {
 26146  	return awsutil.Prettify(s)
 26147  }
 26148  
 26149  // GoString returns the string representation.
 26150  //
 26151  // API parameter values that are decorated as "sensitive" in the API will not
 26152  // be included in the string output. The member name will be present, but the
 26153  // value will be replaced with "sensitive".
 26154  func (s DBSnapshotAttribute) GoString() string {
 26155  	return s.String()
 26156  }
 26157  
 26158  // SetAttributeName sets the AttributeName field's value.
 26159  func (s *DBSnapshotAttribute) SetAttributeName(v string) *DBSnapshotAttribute {
 26160  	s.AttributeName = &v
 26161  	return s
 26162  }
 26163  
 26164  // SetAttributeValues sets the AttributeValues field's value.
 26165  func (s *DBSnapshotAttribute) SetAttributeValues(v []*string) *DBSnapshotAttribute {
 26166  	s.AttributeValues = v
 26167  	return s
 26168  }
 26169  
 26170  // Contains the results of a successful call to the DescribeDBSnapshotAttributes
 26171  // API action.
 26172  //
 26173  // Manual DB snapshot attributes are used to authorize other Amazon Web Services
 26174  // accounts to copy or restore a manual DB snapshot. For more information, see
 26175  // the ModifyDBSnapshotAttribute API action.
 26176  type DBSnapshotAttributesResult struct {
 26177  	_ struct{} `type:"structure"`
 26178  
 26179  	// The list of attributes and values for the manual DB snapshot.
 26180  	DBSnapshotAttributes []*DBSnapshotAttribute `locationNameList:"DBSnapshotAttribute" type:"list"`
 26181  
 26182  	// The identifier of the manual DB snapshot that the attributes apply to.
 26183  	DBSnapshotIdentifier *string `type:"string"`
 26184  }
 26185  
 26186  // String returns the string representation.
 26187  //
 26188  // API parameter values that are decorated as "sensitive" in the API will not
 26189  // be included in the string output. The member name will be present, but the
 26190  // value will be replaced with "sensitive".
 26191  func (s DBSnapshotAttributesResult) String() string {
 26192  	return awsutil.Prettify(s)
 26193  }
 26194  
 26195  // GoString returns the string representation.
 26196  //
 26197  // API parameter values that are decorated as "sensitive" in the API will not
 26198  // be included in the string output. The member name will be present, but the
 26199  // value will be replaced with "sensitive".
 26200  func (s DBSnapshotAttributesResult) GoString() string {
 26201  	return s.String()
 26202  }
 26203  
 26204  // SetDBSnapshotAttributes sets the DBSnapshotAttributes field's value.
 26205  func (s *DBSnapshotAttributesResult) SetDBSnapshotAttributes(v []*DBSnapshotAttribute) *DBSnapshotAttributesResult {
 26206  	s.DBSnapshotAttributes = v
 26207  	return s
 26208  }
 26209  
 26210  // SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
 26211  func (s *DBSnapshotAttributesResult) SetDBSnapshotIdentifier(v string) *DBSnapshotAttributesResult {
 26212  	s.DBSnapshotIdentifier = &v
 26213  	return s
 26214  }
 26215  
 26216  // Contains the details of an Amazon RDS DB subnet group.
 26217  //
 26218  // This data type is used as a response element in the DescribeDBSubnetGroups
 26219  // action.
 26220  type DBSubnetGroup struct {
 26221  	_ struct{} `type:"structure"`
 26222  
 26223  	// The Amazon Resource Name (ARN) for the DB subnet group.
 26224  	DBSubnetGroupArn *string `type:"string"`
 26225  
 26226  	// Provides the description of the DB subnet group.
 26227  	DBSubnetGroupDescription *string `type:"string"`
 26228  
 26229  	// The name of the DB subnet group.
 26230  	DBSubnetGroupName *string `type:"string"`
 26231  
 26232  	// Provides the status of the DB subnet group.
 26233  	SubnetGroupStatus *string `type:"string"`
 26234  
 26235  	// Contains a list of Subnet elements.
 26236  	Subnets []*Subnet `locationNameList:"Subnet" type:"list"`
 26237  
 26238  	// Provides the VpcId of the DB subnet group.
 26239  	VpcId *string `type:"string"`
 26240  }
 26241  
 26242  // String returns the string representation.
 26243  //
 26244  // API parameter values that are decorated as "sensitive" in the API will not
 26245  // be included in the string output. The member name will be present, but the
 26246  // value will be replaced with "sensitive".
 26247  func (s DBSubnetGroup) String() string {
 26248  	return awsutil.Prettify(s)
 26249  }
 26250  
 26251  // GoString returns the string representation.
 26252  //
 26253  // API parameter values that are decorated as "sensitive" in the API will not
 26254  // be included in the string output. The member name will be present, but the
 26255  // value will be replaced with "sensitive".
 26256  func (s DBSubnetGroup) GoString() string {
 26257  	return s.String()
 26258  }
 26259  
 26260  // SetDBSubnetGroupArn sets the DBSubnetGroupArn field's value.
 26261  func (s *DBSubnetGroup) SetDBSubnetGroupArn(v string) *DBSubnetGroup {
 26262  	s.DBSubnetGroupArn = &v
 26263  	return s
 26264  }
 26265  
 26266  // SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
 26267  func (s *DBSubnetGroup) SetDBSubnetGroupDescription(v string) *DBSubnetGroup {
 26268  	s.DBSubnetGroupDescription = &v
 26269  	return s
 26270  }
 26271  
 26272  // SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
 26273  func (s *DBSubnetGroup) SetDBSubnetGroupName(v string) *DBSubnetGroup {
 26274  	s.DBSubnetGroupName = &v
 26275  	return s
 26276  }
 26277  
 26278  // SetSubnetGroupStatus sets the SubnetGroupStatus field's value.
 26279  func (s *DBSubnetGroup) SetSubnetGroupStatus(v string) *DBSubnetGroup {
 26280  	s.SubnetGroupStatus = &v
 26281  	return s
 26282  }
 26283  
 26284  // SetSubnets sets the Subnets field's value.
 26285  func (s *DBSubnetGroup) SetSubnets(v []*Subnet) *DBSubnetGroup {
 26286  	s.Subnets = v
 26287  	return s
 26288  }
 26289  
 26290  // SetVpcId sets the VpcId field's value.
 26291  func (s *DBSubnetGroup) SetVpcId(v string) *DBSubnetGroup {
 26292  	s.VpcId = &v
 26293  	return s
 26294  }
 26295  
 26296  type DeleteCustomAvailabilityZoneInput struct {
 26297  	_ struct{} `type:"structure"`
 26298  
 26299  	// The custom AZ identifier.
 26300  	//
 26301  	// CustomAvailabilityZoneId is a required field
 26302  	CustomAvailabilityZoneId *string `type:"string" required:"true"`
 26303  }
 26304  
 26305  // String returns the string representation.
 26306  //
 26307  // API parameter values that are decorated as "sensitive" in the API will not
 26308  // be included in the string output. The member name will be present, but the
 26309  // value will be replaced with "sensitive".
 26310  func (s DeleteCustomAvailabilityZoneInput) String() string {
 26311  	return awsutil.Prettify(s)
 26312  }
 26313  
 26314  // GoString returns the string representation.
 26315  //
 26316  // API parameter values that are decorated as "sensitive" in the API will not
 26317  // be included in the string output. The member name will be present, but the
 26318  // value will be replaced with "sensitive".
 26319  func (s DeleteCustomAvailabilityZoneInput) GoString() string {
 26320  	return s.String()
 26321  }
 26322  
 26323  // Validate inspects the fields of the type to determine if they are valid.
 26324  func (s *DeleteCustomAvailabilityZoneInput) Validate() error {
 26325  	invalidParams := request.ErrInvalidParams{Context: "DeleteCustomAvailabilityZoneInput"}
 26326  	if s.CustomAvailabilityZoneId == nil {
 26327  		invalidParams.Add(request.NewErrParamRequired("CustomAvailabilityZoneId"))
 26328  	}
 26329  
 26330  	if invalidParams.Len() > 0 {
 26331  		return invalidParams
 26332  	}
 26333  	return nil
 26334  }
 26335  
 26336  // SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value.
 26337  func (s *DeleteCustomAvailabilityZoneInput) SetCustomAvailabilityZoneId(v string) *DeleteCustomAvailabilityZoneInput {
 26338  	s.CustomAvailabilityZoneId = &v
 26339  	return s
 26340  }
 26341  
 26342  type DeleteCustomAvailabilityZoneOutput struct {
 26343  	_ struct{} `type:"structure"`
 26344  
 26345  	// A custom Availability Zone (AZ) is an on-premises AZ that is integrated with
 26346  	// a VMware vSphere cluster.
 26347  	//
 26348  	// For more information about RDS on VMware, see the RDS on VMware User Guide.
 26349  	// (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html)
 26350  	CustomAvailabilityZone *CustomAvailabilityZone `type:"structure"`
 26351  }
 26352  
 26353  // String returns the string representation.
 26354  //
 26355  // API parameter values that are decorated as "sensitive" in the API will not
 26356  // be included in the string output. The member name will be present, but the
 26357  // value will be replaced with "sensitive".
 26358  func (s DeleteCustomAvailabilityZoneOutput) String() string {
 26359  	return awsutil.Prettify(s)
 26360  }
 26361  
 26362  // GoString returns the string representation.
 26363  //
 26364  // API parameter values that are decorated as "sensitive" in the API will not
 26365  // be included in the string output. The member name will be present, but the
 26366  // value will be replaced with "sensitive".
 26367  func (s DeleteCustomAvailabilityZoneOutput) GoString() string {
 26368  	return s.String()
 26369  }
 26370  
 26371  // SetCustomAvailabilityZone sets the CustomAvailabilityZone field's value.
 26372  func (s *DeleteCustomAvailabilityZoneOutput) SetCustomAvailabilityZone(v *CustomAvailabilityZone) *DeleteCustomAvailabilityZoneOutput {
 26373  	s.CustomAvailabilityZone = v
 26374  	return s
 26375  }
 26376  
 26377  type DeleteDBClusterEndpointInput struct {
 26378  	_ struct{} `type:"structure"`
 26379  
 26380  	// The identifier associated with the custom endpoint. This parameter is stored
 26381  	// as a lowercase string.
 26382  	//
 26383  	// DBClusterEndpointIdentifier is a required field
 26384  	DBClusterEndpointIdentifier *string `type:"string" required:"true"`
 26385  }
 26386  
 26387  // String returns the string representation.
 26388  //
 26389  // API parameter values that are decorated as "sensitive" in the API will not
 26390  // be included in the string output. The member name will be present, but the
 26391  // value will be replaced with "sensitive".
 26392  func (s DeleteDBClusterEndpointInput) String() string {
 26393  	return awsutil.Prettify(s)
 26394  }
 26395  
 26396  // GoString returns the string representation.
 26397  //
 26398  // API parameter values that are decorated as "sensitive" in the API will not
 26399  // be included in the string output. The member name will be present, but the
 26400  // value will be replaced with "sensitive".
 26401  func (s DeleteDBClusterEndpointInput) GoString() string {
 26402  	return s.String()
 26403  }
 26404  
 26405  // Validate inspects the fields of the type to determine if they are valid.
 26406  func (s *DeleteDBClusterEndpointInput) Validate() error {
 26407  	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterEndpointInput"}
 26408  	if s.DBClusterEndpointIdentifier == nil {
 26409  		invalidParams.Add(request.NewErrParamRequired("DBClusterEndpointIdentifier"))
 26410  	}
 26411  
 26412  	if invalidParams.Len() > 0 {
 26413  		return invalidParams
 26414  	}
 26415  	return nil
 26416  }
 26417  
 26418  // SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
 26419  func (s *DeleteDBClusterEndpointInput) SetDBClusterEndpointIdentifier(v string) *DeleteDBClusterEndpointInput {
 26420  	s.DBClusterEndpointIdentifier = &v
 26421  	return s
 26422  }
 26423  
 26424  // This data type represents the information you need to connect to an Amazon
 26425  // Aurora DB cluster. This data type is used as a response element in the following
 26426  // actions:
 26427  //
 26428  //    * CreateDBClusterEndpoint
 26429  //
 26430  //    * DescribeDBClusterEndpoints
 26431  //
 26432  //    * ModifyDBClusterEndpoint
 26433  //
 26434  //    * DeleteDBClusterEndpoint
 26435  //
 26436  // For the data structure that represents Amazon RDS DB instance endpoints,
 26437  // see Endpoint.
 26438  type DeleteDBClusterEndpointOutput struct {
 26439  	_ struct{} `type:"structure"`
 26440  
 26441  	// The type associated with a custom endpoint. One of: READER, WRITER, ANY.
 26442  	CustomEndpointType *string `type:"string"`
 26443  
 26444  	// The Amazon Resource Name (ARN) for the endpoint.
 26445  	DBClusterEndpointArn *string `type:"string"`
 26446  
 26447  	// The identifier associated with the endpoint. This parameter is stored as
 26448  	// a lowercase string.
 26449  	DBClusterEndpointIdentifier *string `type:"string"`
 26450  
 26451  	// A unique system-generated identifier for an endpoint. It remains the same
 26452  	// for the whole life of the endpoint.
 26453  	DBClusterEndpointResourceIdentifier *string `type:"string"`
 26454  
 26455  	// The DB cluster identifier of the DB cluster associated with the endpoint.
 26456  	// This parameter is stored as a lowercase string.
 26457  	DBClusterIdentifier *string `type:"string"`
 26458  
 26459  	// The DNS address of the endpoint.
 26460  	Endpoint *string `type:"string"`
 26461  
 26462  	// The type of the endpoint. One of: READER, WRITER, CUSTOM.
 26463  	EndpointType *string `type:"string"`
 26464  
 26465  	// List of DB instance identifiers that aren't part of the custom endpoint group.
 26466  	// All other eligible instances are reachable through the custom endpoint. Only
 26467  	// relevant if the list of static members is empty.
 26468  	ExcludedMembers []*string `type:"list"`
 26469  
 26470  	// List of DB instance identifiers that are part of the custom endpoint group.
 26471  	StaticMembers []*string `type:"list"`
 26472  
 26473  	// The current status of the endpoint. One of: creating, available, deleting,
 26474  	// inactive, modifying. The inactive state applies to an endpoint that can't
 26475  	// be used for a certain kind of cluster, such as a writer endpoint for a read-only
 26476  	// secondary cluster in a global database.
 26477  	Status *string `type:"string"`
 26478  }
 26479  
 26480  // String returns the string representation.
 26481  //
 26482  // API parameter values that are decorated as "sensitive" in the API will not
 26483  // be included in the string output. The member name will be present, but the
 26484  // value will be replaced with "sensitive".
 26485  func (s DeleteDBClusterEndpointOutput) String() string {
 26486  	return awsutil.Prettify(s)
 26487  }
 26488  
 26489  // GoString returns the string representation.
 26490  //
 26491  // API parameter values that are decorated as "sensitive" in the API will not
 26492  // be included in the string output. The member name will be present, but the
 26493  // value will be replaced with "sensitive".
 26494  func (s DeleteDBClusterEndpointOutput) GoString() string {
 26495  	return s.String()
 26496  }
 26497  
 26498  // SetCustomEndpointType sets the CustomEndpointType field's value.
 26499  func (s *DeleteDBClusterEndpointOutput) SetCustomEndpointType(v string) *DeleteDBClusterEndpointOutput {
 26500  	s.CustomEndpointType = &v
 26501  	return s
 26502  }
 26503  
 26504  // SetDBClusterEndpointArn sets the DBClusterEndpointArn field's value.
 26505  func (s *DeleteDBClusterEndpointOutput) SetDBClusterEndpointArn(v string) *DeleteDBClusterEndpointOutput {
 26506  	s.DBClusterEndpointArn = &v
 26507  	return s
 26508  }
 26509  
 26510  // SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
 26511  func (s *DeleteDBClusterEndpointOutput) SetDBClusterEndpointIdentifier(v string) *DeleteDBClusterEndpointOutput {
 26512  	s.DBClusterEndpointIdentifier = &v
 26513  	return s
 26514  }
 26515  
 26516  // SetDBClusterEndpointResourceIdentifier sets the DBClusterEndpointResourceIdentifier field's value.
 26517  func (s *DeleteDBClusterEndpointOutput) SetDBClusterEndpointResourceIdentifier(v string) *DeleteDBClusterEndpointOutput {
 26518  	s.DBClusterEndpointResourceIdentifier = &v
 26519  	return s
 26520  }
 26521  
 26522  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 26523  func (s *DeleteDBClusterEndpointOutput) SetDBClusterIdentifier(v string) *DeleteDBClusterEndpointOutput {
 26524  	s.DBClusterIdentifier = &v
 26525  	return s
 26526  }
 26527  
 26528  // SetEndpoint sets the Endpoint field's value.
 26529  func (s *DeleteDBClusterEndpointOutput) SetEndpoint(v string) *DeleteDBClusterEndpointOutput {
 26530  	s.Endpoint = &v
 26531  	return s
 26532  }
 26533  
 26534  // SetEndpointType sets the EndpointType field's value.
 26535  func (s *DeleteDBClusterEndpointOutput) SetEndpointType(v string) *DeleteDBClusterEndpointOutput {
 26536  	s.EndpointType = &v
 26537  	return s
 26538  }
 26539  
 26540  // SetExcludedMembers sets the ExcludedMembers field's value.
 26541  func (s *DeleteDBClusterEndpointOutput) SetExcludedMembers(v []*string) *DeleteDBClusterEndpointOutput {
 26542  	s.ExcludedMembers = v
 26543  	return s
 26544  }
 26545  
 26546  // SetStaticMembers sets the StaticMembers field's value.
 26547  func (s *DeleteDBClusterEndpointOutput) SetStaticMembers(v []*string) *DeleteDBClusterEndpointOutput {
 26548  	s.StaticMembers = v
 26549  	return s
 26550  }
 26551  
 26552  // SetStatus sets the Status field's value.
 26553  func (s *DeleteDBClusterEndpointOutput) SetStatus(v string) *DeleteDBClusterEndpointOutput {
 26554  	s.Status = &v
 26555  	return s
 26556  }
 26557  
 26558  type DeleteDBClusterInput struct {
 26559  	_ struct{} `type:"structure"`
 26560  
 26561  	// The DB cluster identifier for the DB cluster to be deleted. This parameter
 26562  	// isn't case-sensitive.
 26563  	//
 26564  	// Constraints:
 26565  	//
 26566  	//    * Must match an existing DBClusterIdentifier.
 26567  	//
 26568  	// DBClusterIdentifier is a required field
 26569  	DBClusterIdentifier *string `type:"string" required:"true"`
 26570  
 26571  	// The DB cluster snapshot identifier of the new DB cluster snapshot created
 26572  	// when SkipFinalSnapshot is disabled.
 26573  	//
 26574  	// Specifying this parameter and also skipping the creation of a final DB cluster
 26575  	// snapshot with the SkipFinalShapshot parameter results in an error.
 26576  	//
 26577  	// Constraints:
 26578  	//
 26579  	//    * Must be 1 to 255 letters, numbers, or hyphens.
 26580  	//
 26581  	//    * First character must be a letter
 26582  	//
 26583  	//    * Can't end with a hyphen or contain two consecutive hyphens
 26584  	FinalDBSnapshotIdentifier *string `type:"string"`
 26585  
 26586  	// A value that indicates whether to skip the creation of a final DB cluster
 26587  	// snapshot before the DB cluster is deleted. If skip is specified, no DB cluster
 26588  	// snapshot is created. If skip isn't specified, a DB cluster snapshot is created
 26589  	// before the DB cluster is deleted. By default, skip isn't specified, and the
 26590  	// DB cluster snapshot is created. By default, this parameter is disabled.
 26591  	//
 26592  	// You must specify a FinalDBSnapshotIdentifier parameter if SkipFinalSnapshot
 26593  	// is disabled.
 26594  	SkipFinalSnapshot *bool `type:"boolean"`
 26595  }
 26596  
 26597  // String returns the string representation.
 26598  //
 26599  // API parameter values that are decorated as "sensitive" in the API will not
 26600  // be included in the string output. The member name will be present, but the
 26601  // value will be replaced with "sensitive".
 26602  func (s DeleteDBClusterInput) String() string {
 26603  	return awsutil.Prettify(s)
 26604  }
 26605  
 26606  // GoString returns the string representation.
 26607  //
 26608  // API parameter values that are decorated as "sensitive" in the API will not
 26609  // be included in the string output. The member name will be present, but the
 26610  // value will be replaced with "sensitive".
 26611  func (s DeleteDBClusterInput) GoString() string {
 26612  	return s.String()
 26613  }
 26614  
 26615  // Validate inspects the fields of the type to determine if they are valid.
 26616  func (s *DeleteDBClusterInput) Validate() error {
 26617  	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterInput"}
 26618  	if s.DBClusterIdentifier == nil {
 26619  		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
 26620  	}
 26621  
 26622  	if invalidParams.Len() > 0 {
 26623  		return invalidParams
 26624  	}
 26625  	return nil
 26626  }
 26627  
 26628  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 26629  func (s *DeleteDBClusterInput) SetDBClusterIdentifier(v string) *DeleteDBClusterInput {
 26630  	s.DBClusterIdentifier = &v
 26631  	return s
 26632  }
 26633  
 26634  // SetFinalDBSnapshotIdentifier sets the FinalDBSnapshotIdentifier field's value.
 26635  func (s *DeleteDBClusterInput) SetFinalDBSnapshotIdentifier(v string) *DeleteDBClusterInput {
 26636  	s.FinalDBSnapshotIdentifier = &v
 26637  	return s
 26638  }
 26639  
 26640  // SetSkipFinalSnapshot sets the SkipFinalSnapshot field's value.
 26641  func (s *DeleteDBClusterInput) SetSkipFinalSnapshot(v bool) *DeleteDBClusterInput {
 26642  	s.SkipFinalSnapshot = &v
 26643  	return s
 26644  }
 26645  
 26646  type DeleteDBClusterOutput struct {
 26647  	_ struct{} `type:"structure"`
 26648  
 26649  	// Contains the details of an Amazon Aurora DB cluster.
 26650  	//
 26651  	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
 26652  	// and StartDBCluster actions.
 26653  	DBCluster *DBCluster `type:"structure"`
 26654  }
 26655  
 26656  // String returns the string representation.
 26657  //
 26658  // API parameter values that are decorated as "sensitive" in the API will not
 26659  // be included in the string output. The member name will be present, but the
 26660  // value will be replaced with "sensitive".
 26661  func (s DeleteDBClusterOutput) String() string {
 26662  	return awsutil.Prettify(s)
 26663  }
 26664  
 26665  // GoString returns the string representation.
 26666  //
 26667  // API parameter values that are decorated as "sensitive" in the API will not
 26668  // be included in the string output. The member name will be present, but the
 26669  // value will be replaced with "sensitive".
 26670  func (s DeleteDBClusterOutput) GoString() string {
 26671  	return s.String()
 26672  }
 26673  
 26674  // SetDBCluster sets the DBCluster field's value.
 26675  func (s *DeleteDBClusterOutput) SetDBCluster(v *DBCluster) *DeleteDBClusterOutput {
 26676  	s.DBCluster = v
 26677  	return s
 26678  }
 26679  
 26680  type DeleteDBClusterParameterGroupInput struct {
 26681  	_ struct{} `type:"structure"`
 26682  
 26683  	// The name of the DB cluster parameter group.
 26684  	//
 26685  	// Constraints:
 26686  	//
 26687  	//    * Must be the name of an existing DB cluster parameter group.
 26688  	//
 26689  	//    * You can't delete a default DB cluster parameter group.
 26690  	//
 26691  	//    * Can't be associated with any DB clusters.
 26692  	//
 26693  	// DBClusterParameterGroupName is a required field
 26694  	DBClusterParameterGroupName *string `type:"string" required:"true"`
 26695  }
 26696  
 26697  // String returns the string representation.
 26698  //
 26699  // API parameter values that are decorated as "sensitive" in the API will not
 26700  // be included in the string output. The member name will be present, but the
 26701  // value will be replaced with "sensitive".
 26702  func (s DeleteDBClusterParameterGroupInput) String() string {
 26703  	return awsutil.Prettify(s)
 26704  }
 26705  
 26706  // GoString returns the string representation.
 26707  //
 26708  // API parameter values that are decorated as "sensitive" in the API will not
 26709  // be included in the string output. The member name will be present, but the
 26710  // value will be replaced with "sensitive".
 26711  func (s DeleteDBClusterParameterGroupInput) GoString() string {
 26712  	return s.String()
 26713  }
 26714  
 26715  // Validate inspects the fields of the type to determine if they are valid.
 26716  func (s *DeleteDBClusterParameterGroupInput) Validate() error {
 26717  	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterParameterGroupInput"}
 26718  	if s.DBClusterParameterGroupName == nil {
 26719  		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
 26720  	}
 26721  
 26722  	if invalidParams.Len() > 0 {
 26723  		return invalidParams
 26724  	}
 26725  	return nil
 26726  }
 26727  
 26728  // SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
 26729  func (s *DeleteDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *DeleteDBClusterParameterGroupInput {
 26730  	s.DBClusterParameterGroupName = &v
 26731  	return s
 26732  }
 26733  
 26734  type DeleteDBClusterParameterGroupOutput struct {
 26735  	_ struct{} `type:"structure"`
 26736  }
 26737  
 26738  // String returns the string representation.
 26739  //
 26740  // API parameter values that are decorated as "sensitive" in the API will not
 26741  // be included in the string output. The member name will be present, but the
 26742  // value will be replaced with "sensitive".
 26743  func (s DeleteDBClusterParameterGroupOutput) String() string {
 26744  	return awsutil.Prettify(s)
 26745  }
 26746  
 26747  // GoString returns the string representation.
 26748  //
 26749  // API parameter values that are decorated as "sensitive" in the API will not
 26750  // be included in the string output. The member name will be present, but the
 26751  // value will be replaced with "sensitive".
 26752  func (s DeleteDBClusterParameterGroupOutput) GoString() string {
 26753  	return s.String()
 26754  }
 26755  
 26756  type DeleteDBClusterSnapshotInput struct {
 26757  	_ struct{} `type:"structure"`
 26758  
 26759  	// The identifier of the DB cluster snapshot to delete.
 26760  	//
 26761  	// Constraints: Must be the name of an existing DB cluster snapshot in the available
 26762  	// state.
 26763  	//
 26764  	// DBClusterSnapshotIdentifier is a required field
 26765  	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
 26766  }
 26767  
 26768  // String returns the string representation.
 26769  //
 26770  // API parameter values that are decorated as "sensitive" in the API will not
 26771  // be included in the string output. The member name will be present, but the
 26772  // value will be replaced with "sensitive".
 26773  func (s DeleteDBClusterSnapshotInput) String() string {
 26774  	return awsutil.Prettify(s)
 26775  }
 26776  
 26777  // GoString returns the string representation.
 26778  //
 26779  // API parameter values that are decorated as "sensitive" in the API will not
 26780  // be included in the string output. The member name will be present, but the
 26781  // value will be replaced with "sensitive".
 26782  func (s DeleteDBClusterSnapshotInput) GoString() string {
 26783  	return s.String()
 26784  }
 26785  
 26786  // Validate inspects the fields of the type to determine if they are valid.
 26787  func (s *DeleteDBClusterSnapshotInput) Validate() error {
 26788  	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterSnapshotInput"}
 26789  	if s.DBClusterSnapshotIdentifier == nil {
 26790  		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
 26791  	}
 26792  
 26793  	if invalidParams.Len() > 0 {
 26794  		return invalidParams
 26795  	}
 26796  	return nil
 26797  }
 26798  
 26799  // SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
 26800  func (s *DeleteDBClusterSnapshotInput) SetDBClusterSnapshotIdentifier(v string) *DeleteDBClusterSnapshotInput {
 26801  	s.DBClusterSnapshotIdentifier = &v
 26802  	return s
 26803  }
 26804  
 26805  type DeleteDBClusterSnapshotOutput struct {
 26806  	_ struct{} `type:"structure"`
 26807  
 26808  	// Contains the details for an Amazon RDS DB cluster snapshot
 26809  	//
 26810  	// This data type is used as a response element in the DescribeDBClusterSnapshots
 26811  	// action.
 26812  	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
 26813  }
 26814  
 26815  // String returns the string representation.
 26816  //
 26817  // API parameter values that are decorated as "sensitive" in the API will not
 26818  // be included in the string output. The member name will be present, but the
 26819  // value will be replaced with "sensitive".
 26820  func (s DeleteDBClusterSnapshotOutput) String() string {
 26821  	return awsutil.Prettify(s)
 26822  }
 26823  
 26824  // GoString returns the string representation.
 26825  //
 26826  // API parameter values that are decorated as "sensitive" in the API will not
 26827  // be included in the string output. The member name will be present, but the
 26828  // value will be replaced with "sensitive".
 26829  func (s DeleteDBClusterSnapshotOutput) GoString() string {
 26830  	return s.String()
 26831  }
 26832  
 26833  // SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
 26834  func (s *DeleteDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *DeleteDBClusterSnapshotOutput {
 26835  	s.DBClusterSnapshot = v
 26836  	return s
 26837  }
 26838  
 26839  // Parameter input for the DeleteDBInstanceAutomatedBackup operation.
 26840  type DeleteDBInstanceAutomatedBackupInput struct {
 26841  	_ struct{} `type:"structure"`
 26842  
 26843  	// The Amazon Resource Name (ARN) of the automated backups to delete, for example,
 26844  	// arn:aws:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE.
 26845  	DBInstanceAutomatedBackupsArn *string `type:"string"`
 26846  
 26847  	// The identifier for the source DB instance, which can't be changed and which
 26848  	// is unique to an Amazon Web Services Region.
 26849  	DbiResourceId *string `type:"string"`
 26850  }
 26851  
 26852  // String returns the string representation.
 26853  //
 26854  // API parameter values that are decorated as "sensitive" in the API will not
 26855  // be included in the string output. The member name will be present, but the
 26856  // value will be replaced with "sensitive".
 26857  func (s DeleteDBInstanceAutomatedBackupInput) String() string {
 26858  	return awsutil.Prettify(s)
 26859  }
 26860  
 26861  // GoString returns the string representation.
 26862  //
 26863  // API parameter values that are decorated as "sensitive" in the API will not
 26864  // be included in the string output. The member name will be present, but the
 26865  // value will be replaced with "sensitive".
 26866  func (s DeleteDBInstanceAutomatedBackupInput) GoString() string {
 26867  	return s.String()
 26868  }
 26869  
 26870  // SetDBInstanceAutomatedBackupsArn sets the DBInstanceAutomatedBackupsArn field's value.
 26871  func (s *DeleteDBInstanceAutomatedBackupInput) SetDBInstanceAutomatedBackupsArn(v string) *DeleteDBInstanceAutomatedBackupInput {
 26872  	s.DBInstanceAutomatedBackupsArn = &v
 26873  	return s
 26874  }
 26875  
 26876  // SetDbiResourceId sets the DbiResourceId field's value.
 26877  func (s *DeleteDBInstanceAutomatedBackupInput) SetDbiResourceId(v string) *DeleteDBInstanceAutomatedBackupInput {
 26878  	s.DbiResourceId = &v
 26879  	return s
 26880  }
 26881  
 26882  type DeleteDBInstanceAutomatedBackupOutput struct {
 26883  	_ struct{} `type:"structure"`
 26884  
 26885  	// An automated backup of a DB instance. It consists of system backups, transaction
 26886  	// logs, and the database instance properties that existed at the time you deleted
 26887  	// the source instance.
 26888  	DBInstanceAutomatedBackup *DBInstanceAutomatedBackup `type:"structure"`
 26889  }
 26890  
 26891  // String returns the string representation.
 26892  //
 26893  // API parameter values that are decorated as "sensitive" in the API will not
 26894  // be included in the string output. The member name will be present, but the
 26895  // value will be replaced with "sensitive".
 26896  func (s DeleteDBInstanceAutomatedBackupOutput) String() string {
 26897  	return awsutil.Prettify(s)
 26898  }
 26899  
 26900  // GoString returns the string representation.
 26901  //
 26902  // API parameter values that are decorated as "sensitive" in the API will not
 26903  // be included in the string output. The member name will be present, but the
 26904  // value will be replaced with "sensitive".
 26905  func (s DeleteDBInstanceAutomatedBackupOutput) GoString() string {
 26906  	return s.String()
 26907  }
 26908  
 26909  // SetDBInstanceAutomatedBackup sets the DBInstanceAutomatedBackup field's value.
 26910  func (s *DeleteDBInstanceAutomatedBackupOutput) SetDBInstanceAutomatedBackup(v *DBInstanceAutomatedBackup) *DeleteDBInstanceAutomatedBackupOutput {
 26911  	s.DBInstanceAutomatedBackup = v
 26912  	return s
 26913  }
 26914  
 26915  type DeleteDBInstanceInput struct {
 26916  	_ struct{} `type:"structure"`
 26917  
 26918  	// The DB instance identifier for the DB instance to be deleted. This parameter
 26919  	// isn't case-sensitive.
 26920  	//
 26921  	// Constraints:
 26922  	//
 26923  	//    * Must match the name of an existing DB instance.
 26924  	//
 26925  	// DBInstanceIdentifier is a required field
 26926  	DBInstanceIdentifier *string `type:"string" required:"true"`
 26927  
 26928  	// A value that indicates whether to remove automated backups immediately after
 26929  	// the DB instance is deleted. This parameter isn't case-sensitive. The default
 26930  	// is to remove automated backups immediately after the DB instance is deleted.
 26931  	DeleteAutomatedBackups *bool `type:"boolean"`
 26932  
 26933  	// The DBSnapshotIdentifier of the new DBSnapshot created when the SkipFinalSnapshot
 26934  	// parameter is disabled.
 26935  	//
 26936  	// Specifying this parameter and also specifying to skip final DB snapshot creation
 26937  	// in SkipFinalShapshot results in an error.
 26938  	//
 26939  	// Constraints:
 26940  	//
 26941  	//    * Must be 1 to 255 letters or numbers.
 26942  	//
 26943  	//    * First character must be a letter.
 26944  	//
 26945  	//    * Can't end with a hyphen or contain two consecutive hyphens.
 26946  	//
 26947  	//    * Can't be specified when deleting a read replica.
 26948  	FinalDBSnapshotIdentifier *string `type:"string"`
 26949  
 26950  	// A value that indicates whether to skip the creation of a final DB snapshot
 26951  	// before the DB instance is deleted. If skip is specified, no DB snapshot is
 26952  	// created. If skip isn't specified, a DB snapshot is created before the DB
 26953  	// instance is deleted. By default, skip isn't specified, and the DB snapshot
 26954  	// is created.
 26955  	//
 26956  	// When a DB instance is in a failure state and has a status of 'failed', 'incompatible-restore',
 26957  	// or 'incompatible-network', it can only be deleted when skip is specified.
 26958  	//
 26959  	// Specify skip when deleting a read replica.
 26960  	//
 26961  	// The FinalDBSnapshotIdentifier parameter must be specified if skip isn't specified.
 26962  	SkipFinalSnapshot *bool `type:"boolean"`
 26963  }
 26964  
 26965  // String returns the string representation.
 26966  //
 26967  // API parameter values that are decorated as "sensitive" in the API will not
 26968  // be included in the string output. The member name will be present, but the
 26969  // value will be replaced with "sensitive".
 26970  func (s DeleteDBInstanceInput) String() string {
 26971  	return awsutil.Prettify(s)
 26972  }
 26973  
 26974  // GoString returns the string representation.
 26975  //
 26976  // API parameter values that are decorated as "sensitive" in the API will not
 26977  // be included in the string output. The member name will be present, but the
 26978  // value will be replaced with "sensitive".
 26979  func (s DeleteDBInstanceInput) GoString() string {
 26980  	return s.String()
 26981  }
 26982  
 26983  // Validate inspects the fields of the type to determine if they are valid.
 26984  func (s *DeleteDBInstanceInput) Validate() error {
 26985  	invalidParams := request.ErrInvalidParams{Context: "DeleteDBInstanceInput"}
 26986  	if s.DBInstanceIdentifier == nil {
 26987  		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
 26988  	}
 26989  
 26990  	if invalidParams.Len() > 0 {
 26991  		return invalidParams
 26992  	}
 26993  	return nil
 26994  }
 26995  
 26996  // SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
 26997  func (s *DeleteDBInstanceInput) SetDBInstanceIdentifier(v string) *DeleteDBInstanceInput {
 26998  	s.DBInstanceIdentifier = &v
 26999  	return s
 27000  }
 27001  
 27002  // SetDeleteAutomatedBackups sets the DeleteAutomatedBackups field's value.
 27003  func (s *DeleteDBInstanceInput) SetDeleteAutomatedBackups(v bool) *DeleteDBInstanceInput {
 27004  	s.DeleteAutomatedBackups = &v
 27005  	return s
 27006  }
 27007  
 27008  // SetFinalDBSnapshotIdentifier sets the FinalDBSnapshotIdentifier field's value.
 27009  func (s *DeleteDBInstanceInput) SetFinalDBSnapshotIdentifier(v string) *DeleteDBInstanceInput {
 27010  	s.FinalDBSnapshotIdentifier = &v
 27011  	return s
 27012  }
 27013  
 27014  // SetSkipFinalSnapshot sets the SkipFinalSnapshot field's value.
 27015  func (s *DeleteDBInstanceInput) SetSkipFinalSnapshot(v bool) *DeleteDBInstanceInput {
 27016  	s.SkipFinalSnapshot = &v
 27017  	return s
 27018  }
 27019  
 27020  type DeleteDBInstanceOutput struct {
 27021  	_ struct{} `type:"structure"`
 27022  
 27023  	// Contains the details of an Amazon RDS DB instance.
 27024  	//
 27025  	// This data type is used as a response element in the DescribeDBInstances action.
 27026  	DBInstance *DBInstance `type:"structure"`
 27027  }
 27028  
 27029  // String returns the string representation.
 27030  //
 27031  // API parameter values that are decorated as "sensitive" in the API will not
 27032  // be included in the string output. The member name will be present, but the
 27033  // value will be replaced with "sensitive".
 27034  func (s DeleteDBInstanceOutput) String() string {
 27035  	return awsutil.Prettify(s)
 27036  }
 27037  
 27038  // GoString returns the string representation.
 27039  //
 27040  // API parameter values that are decorated as "sensitive" in the API will not
 27041  // be included in the string output. The member name will be present, but the
 27042  // value will be replaced with "sensitive".
 27043  func (s DeleteDBInstanceOutput) GoString() string {
 27044  	return s.String()
 27045  }
 27046  
 27047  // SetDBInstance sets the DBInstance field's value.
 27048  func (s *DeleteDBInstanceOutput) SetDBInstance(v *DBInstance) *DeleteDBInstanceOutput {
 27049  	s.DBInstance = v
 27050  	return s
 27051  }
 27052  
 27053  type DeleteDBParameterGroupInput struct {
 27054  	_ struct{} `type:"structure"`
 27055  
 27056  	// The name of the DB parameter group.
 27057  	//
 27058  	// Constraints:
 27059  	//
 27060  	//    * Must be the name of an existing DB parameter group
 27061  	//
 27062  	//    * You can't delete a default DB parameter group
 27063  	//
 27064  	//    * Can't be associated with any DB instances
 27065  	//
 27066  	// DBParameterGroupName is a required field
 27067  	DBParameterGroupName *string `type:"string" required:"true"`
 27068  }
 27069  
 27070  // String returns the string representation.
 27071  //
 27072  // API parameter values that are decorated as "sensitive" in the API will not
 27073  // be included in the string output. The member name will be present, but the
 27074  // value will be replaced with "sensitive".
 27075  func (s DeleteDBParameterGroupInput) String() string {
 27076  	return awsutil.Prettify(s)
 27077  }
 27078  
 27079  // GoString returns the string representation.
 27080  //
 27081  // API parameter values that are decorated as "sensitive" in the API will not
 27082  // be included in the string output. The member name will be present, but the
 27083  // value will be replaced with "sensitive".
 27084  func (s DeleteDBParameterGroupInput) GoString() string {
 27085  	return s.String()
 27086  }
 27087  
 27088  // Validate inspects the fields of the type to determine if they are valid.
 27089  func (s *DeleteDBParameterGroupInput) Validate() error {
 27090  	invalidParams := request.ErrInvalidParams{Context: "DeleteDBParameterGroupInput"}
 27091  	if s.DBParameterGroupName == nil {
 27092  		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
 27093  	}
 27094  
 27095  	if invalidParams.Len() > 0 {
 27096  		return invalidParams
 27097  	}
 27098  	return nil
 27099  }
 27100  
 27101  // SetDBParameterGroupName sets the DBParameterGroupName field's value.
 27102  func (s *DeleteDBParameterGroupInput) SetDBParameterGroupName(v string) *DeleteDBParameterGroupInput {
 27103  	s.DBParameterGroupName = &v
 27104  	return s
 27105  }
 27106  
 27107  type DeleteDBParameterGroupOutput struct {
 27108  	_ struct{} `type:"structure"`
 27109  }
 27110  
 27111  // String returns the string representation.
 27112  //
 27113  // API parameter values that are decorated as "sensitive" in the API will not
 27114  // be included in the string output. The member name will be present, but the
 27115  // value will be replaced with "sensitive".
 27116  func (s DeleteDBParameterGroupOutput) String() string {
 27117  	return awsutil.Prettify(s)
 27118  }
 27119  
 27120  // GoString returns the string representation.
 27121  //
 27122  // API parameter values that are decorated as "sensitive" in the API will not
 27123  // be included in the string output. The member name will be present, but the
 27124  // value will be replaced with "sensitive".
 27125  func (s DeleteDBParameterGroupOutput) GoString() string {
 27126  	return s.String()
 27127  }
 27128  
 27129  type DeleteDBProxyEndpointInput struct {
 27130  	_ struct{} `type:"structure"`
 27131  
 27132  	// The name of the DB proxy endpoint to delete.
 27133  	//
 27134  	// DBProxyEndpointName is a required field
 27135  	DBProxyEndpointName *string `min:"1" type:"string" required:"true"`
 27136  }
 27137  
 27138  // String returns the string representation.
 27139  //
 27140  // API parameter values that are decorated as "sensitive" in the API will not
 27141  // be included in the string output. The member name will be present, but the
 27142  // value will be replaced with "sensitive".
 27143  func (s DeleteDBProxyEndpointInput) String() string {
 27144  	return awsutil.Prettify(s)
 27145  }
 27146  
 27147  // GoString returns the string representation.
 27148  //
 27149  // API parameter values that are decorated as "sensitive" in the API will not
 27150  // be included in the string output. The member name will be present, but the
 27151  // value will be replaced with "sensitive".
 27152  func (s DeleteDBProxyEndpointInput) GoString() string {
 27153  	return s.String()
 27154  }
 27155  
 27156  // Validate inspects the fields of the type to determine if they are valid.
 27157  func (s *DeleteDBProxyEndpointInput) Validate() error {
 27158  	invalidParams := request.ErrInvalidParams{Context: "DeleteDBProxyEndpointInput"}
 27159  	if s.DBProxyEndpointName == nil {
 27160  		invalidParams.Add(request.NewErrParamRequired("DBProxyEndpointName"))
 27161  	}
 27162  	if s.DBProxyEndpointName != nil && len(*s.DBProxyEndpointName) < 1 {
 27163  		invalidParams.Add(request.NewErrParamMinLen("DBProxyEndpointName", 1))
 27164  	}
 27165  
 27166  	if invalidParams.Len() > 0 {
 27167  		return invalidParams
 27168  	}
 27169  	return nil
 27170  }
 27171  
 27172  // SetDBProxyEndpointName sets the DBProxyEndpointName field's value.
 27173  func (s *DeleteDBProxyEndpointInput) SetDBProxyEndpointName(v string) *DeleteDBProxyEndpointInput {
 27174  	s.DBProxyEndpointName = &v
 27175  	return s
 27176  }
 27177  
 27178  type DeleteDBProxyEndpointOutput struct {
 27179  	_ struct{} `type:"structure"`
 27180  
 27181  	// The data structure representing the details of the DB proxy endpoint that
 27182  	// you delete.
 27183  	DBProxyEndpoint *DBProxyEndpoint `type:"structure"`
 27184  }
 27185  
 27186  // String returns the string representation.
 27187  //
 27188  // API parameter values that are decorated as "sensitive" in the API will not
 27189  // be included in the string output. The member name will be present, but the
 27190  // value will be replaced with "sensitive".
 27191  func (s DeleteDBProxyEndpointOutput) String() string {
 27192  	return awsutil.Prettify(s)
 27193  }
 27194  
 27195  // GoString returns the string representation.
 27196  //
 27197  // API parameter values that are decorated as "sensitive" in the API will not
 27198  // be included in the string output. The member name will be present, but the
 27199  // value will be replaced with "sensitive".
 27200  func (s DeleteDBProxyEndpointOutput) GoString() string {
 27201  	return s.String()
 27202  }
 27203  
 27204  // SetDBProxyEndpoint sets the DBProxyEndpoint field's value.
 27205  func (s *DeleteDBProxyEndpointOutput) SetDBProxyEndpoint(v *DBProxyEndpoint) *DeleteDBProxyEndpointOutput {
 27206  	s.DBProxyEndpoint = v
 27207  	return s
 27208  }
 27209  
 27210  type DeleteDBProxyInput struct {
 27211  	_ struct{} `type:"structure"`
 27212  
 27213  	// The name of the DB proxy to delete.
 27214  	//
 27215  	// DBProxyName is a required field
 27216  	DBProxyName *string `type:"string" required:"true"`
 27217  }
 27218  
 27219  // String returns the string representation.
 27220  //
 27221  // API parameter values that are decorated as "sensitive" in the API will not
 27222  // be included in the string output. The member name will be present, but the
 27223  // value will be replaced with "sensitive".
 27224  func (s DeleteDBProxyInput) String() string {
 27225  	return awsutil.Prettify(s)
 27226  }
 27227  
 27228  // GoString returns the string representation.
 27229  //
 27230  // API parameter values that are decorated as "sensitive" in the API will not
 27231  // be included in the string output. The member name will be present, but the
 27232  // value will be replaced with "sensitive".
 27233  func (s DeleteDBProxyInput) GoString() string {
 27234  	return s.String()
 27235  }
 27236  
 27237  // Validate inspects the fields of the type to determine if they are valid.
 27238  func (s *DeleteDBProxyInput) Validate() error {
 27239  	invalidParams := request.ErrInvalidParams{Context: "DeleteDBProxyInput"}
 27240  	if s.DBProxyName == nil {
 27241  		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
 27242  	}
 27243  
 27244  	if invalidParams.Len() > 0 {
 27245  		return invalidParams
 27246  	}
 27247  	return nil
 27248  }
 27249  
 27250  // SetDBProxyName sets the DBProxyName field's value.
 27251  func (s *DeleteDBProxyInput) SetDBProxyName(v string) *DeleteDBProxyInput {
 27252  	s.DBProxyName = &v
 27253  	return s
 27254  }
 27255  
 27256  type DeleteDBProxyOutput struct {
 27257  	_ struct{} `type:"structure"`
 27258  
 27259  	// The data structure representing the details of the DB proxy that you delete.
 27260  	DBProxy *DBProxy `type:"structure"`
 27261  }
 27262  
 27263  // String returns the string representation.
 27264  //
 27265  // API parameter values that are decorated as "sensitive" in the API will not
 27266  // be included in the string output. The member name will be present, but the
 27267  // value will be replaced with "sensitive".
 27268  func (s DeleteDBProxyOutput) String() string {
 27269  	return awsutil.Prettify(s)
 27270  }
 27271  
 27272  // GoString returns the string representation.
 27273  //
 27274  // API parameter values that are decorated as "sensitive" in the API will not
 27275  // be included in the string output. The member name will be present, but the
 27276  // value will be replaced with "sensitive".
 27277  func (s DeleteDBProxyOutput) GoString() string {
 27278  	return s.String()
 27279  }
 27280  
 27281  // SetDBProxy sets the DBProxy field's value.
 27282  func (s *DeleteDBProxyOutput) SetDBProxy(v *DBProxy) *DeleteDBProxyOutput {
 27283  	s.DBProxy = v
 27284  	return s
 27285  }
 27286  
 27287  type DeleteDBSecurityGroupInput struct {
 27288  	_ struct{} `type:"structure"`
 27289  
 27290  	// The name of the DB security group to delete.
 27291  	//
 27292  	// You can't delete the default DB security group.
 27293  	//
 27294  	// Constraints:
 27295  	//
 27296  	//    * Must be 1 to 255 letters, numbers, or hyphens.
 27297  	//
 27298  	//    * First character must be a letter
 27299  	//
 27300  	//    * Can't end with a hyphen or contain two consecutive hyphens
 27301  	//
 27302  	//    * Must not be "Default"
 27303  	//
 27304  	// DBSecurityGroupName is a required field
 27305  	DBSecurityGroupName *string `type:"string" required:"true"`
 27306  }
 27307  
 27308  // String returns the string representation.
 27309  //
 27310  // API parameter values that are decorated as "sensitive" in the API will not
 27311  // be included in the string output. The member name will be present, but the
 27312  // value will be replaced with "sensitive".
 27313  func (s DeleteDBSecurityGroupInput) String() string {
 27314  	return awsutil.Prettify(s)
 27315  }
 27316  
 27317  // GoString returns the string representation.
 27318  //
 27319  // API parameter values that are decorated as "sensitive" in the API will not
 27320  // be included in the string output. The member name will be present, but the
 27321  // value will be replaced with "sensitive".
 27322  func (s DeleteDBSecurityGroupInput) GoString() string {
 27323  	return s.String()
 27324  }
 27325  
 27326  // Validate inspects the fields of the type to determine if they are valid.
 27327  func (s *DeleteDBSecurityGroupInput) Validate() error {
 27328  	invalidParams := request.ErrInvalidParams{Context: "DeleteDBSecurityGroupInput"}
 27329  	if s.DBSecurityGroupName == nil {
 27330  		invalidParams.Add(request.NewErrParamRequired("DBSecurityGroupName"))
 27331  	}
 27332  
 27333  	if invalidParams.Len() > 0 {
 27334  		return invalidParams
 27335  	}
 27336  	return nil
 27337  }
 27338  
 27339  // SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
 27340  func (s *DeleteDBSecurityGroupInput) SetDBSecurityGroupName(v string) *DeleteDBSecurityGroupInput {
 27341  	s.DBSecurityGroupName = &v
 27342  	return s
 27343  }
 27344  
 27345  type DeleteDBSecurityGroupOutput struct {
 27346  	_ struct{} `type:"structure"`
 27347  }
 27348  
 27349  // String returns the string representation.
 27350  //
 27351  // API parameter values that are decorated as "sensitive" in the API will not
 27352  // be included in the string output. The member name will be present, but the
 27353  // value will be replaced with "sensitive".
 27354  func (s DeleteDBSecurityGroupOutput) String() string {
 27355  	return awsutil.Prettify(s)
 27356  }
 27357  
 27358  // GoString returns the string representation.
 27359  //
 27360  // API parameter values that are decorated as "sensitive" in the API will not
 27361  // be included in the string output. The member name will be present, but the
 27362  // value will be replaced with "sensitive".
 27363  func (s DeleteDBSecurityGroupOutput) GoString() string {
 27364  	return s.String()
 27365  }
 27366  
 27367  type DeleteDBSnapshotInput struct {
 27368  	_ struct{} `type:"structure"`
 27369  
 27370  	// The DB snapshot identifier.
 27371  	//
 27372  	// Constraints: Must be the name of an existing DB snapshot in the available
 27373  	// state.
 27374  	//
 27375  	// DBSnapshotIdentifier is a required field
 27376  	DBSnapshotIdentifier *string `type:"string" required:"true"`
 27377  }
 27378  
 27379  // String returns the string representation.
 27380  //
 27381  // API parameter values that are decorated as "sensitive" in the API will not
 27382  // be included in the string output. The member name will be present, but the
 27383  // value will be replaced with "sensitive".
 27384  func (s DeleteDBSnapshotInput) String() string {
 27385  	return awsutil.Prettify(s)
 27386  }
 27387  
 27388  // GoString returns the string representation.
 27389  //
 27390  // API parameter values that are decorated as "sensitive" in the API will not
 27391  // be included in the string output. The member name will be present, but the
 27392  // value will be replaced with "sensitive".
 27393  func (s DeleteDBSnapshotInput) GoString() string {
 27394  	return s.String()
 27395  }
 27396  
 27397  // Validate inspects the fields of the type to determine if they are valid.
 27398  func (s *DeleteDBSnapshotInput) Validate() error {
 27399  	invalidParams := request.ErrInvalidParams{Context: "DeleteDBSnapshotInput"}
 27400  	if s.DBSnapshotIdentifier == nil {
 27401  		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
 27402  	}
 27403  
 27404  	if invalidParams.Len() > 0 {
 27405  		return invalidParams
 27406  	}
 27407  	return nil
 27408  }
 27409  
 27410  // SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
 27411  func (s *DeleteDBSnapshotInput) SetDBSnapshotIdentifier(v string) *DeleteDBSnapshotInput {
 27412  	s.DBSnapshotIdentifier = &v
 27413  	return s
 27414  }
 27415  
 27416  type DeleteDBSnapshotOutput struct {
 27417  	_ struct{} `type:"structure"`
 27418  
 27419  	// Contains the details of an Amazon RDS DB snapshot.
 27420  	//
 27421  	// This data type is used as a response element in the DescribeDBSnapshots action.
 27422  	DBSnapshot *DBSnapshot `type:"structure"`
 27423  }
 27424  
 27425  // String returns the string representation.
 27426  //
 27427  // API parameter values that are decorated as "sensitive" in the API will not
 27428  // be included in the string output. The member name will be present, but the
 27429  // value will be replaced with "sensitive".
 27430  func (s DeleteDBSnapshotOutput) String() string {
 27431  	return awsutil.Prettify(s)
 27432  }
 27433  
 27434  // GoString returns the string representation.
 27435  //
 27436  // API parameter values that are decorated as "sensitive" in the API will not
 27437  // be included in the string output. The member name will be present, but the
 27438  // value will be replaced with "sensitive".
 27439  func (s DeleteDBSnapshotOutput) GoString() string {
 27440  	return s.String()
 27441  }
 27442  
 27443  // SetDBSnapshot sets the DBSnapshot field's value.
 27444  func (s *DeleteDBSnapshotOutput) SetDBSnapshot(v *DBSnapshot) *DeleteDBSnapshotOutput {
 27445  	s.DBSnapshot = v
 27446  	return s
 27447  }
 27448  
 27449  type DeleteDBSubnetGroupInput struct {
 27450  	_ struct{} `type:"structure"`
 27451  
 27452  	// The name of the database subnet group to delete.
 27453  	//
 27454  	// You can't delete the default subnet group.
 27455  	//
 27456  	// Constraints:
 27457  	//
 27458  	// Constraints: Must match the name of an existing DBSubnetGroup. Must not be
 27459  	// default.
 27460  	//
 27461  	// Example: mySubnetgroup
 27462  	//
 27463  	// DBSubnetGroupName is a required field
 27464  	DBSubnetGroupName *string `type:"string" required:"true"`
 27465  }
 27466  
 27467  // String returns the string representation.
 27468  //
 27469  // API parameter values that are decorated as "sensitive" in the API will not
 27470  // be included in the string output. The member name will be present, but the
 27471  // value will be replaced with "sensitive".
 27472  func (s DeleteDBSubnetGroupInput) String() string {
 27473  	return awsutil.Prettify(s)
 27474  }
 27475  
 27476  // GoString returns the string representation.
 27477  //
 27478  // API parameter values that are decorated as "sensitive" in the API will not
 27479  // be included in the string output. The member name will be present, but the
 27480  // value will be replaced with "sensitive".
 27481  func (s DeleteDBSubnetGroupInput) GoString() string {
 27482  	return s.String()
 27483  }
 27484  
 27485  // Validate inspects the fields of the type to determine if they are valid.
 27486  func (s *DeleteDBSubnetGroupInput) Validate() error {
 27487  	invalidParams := request.ErrInvalidParams{Context: "DeleteDBSubnetGroupInput"}
 27488  	if s.DBSubnetGroupName == nil {
 27489  		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
 27490  	}
 27491  
 27492  	if invalidParams.Len() > 0 {
 27493  		return invalidParams
 27494  	}
 27495  	return nil
 27496  }
 27497  
 27498  // SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
 27499  func (s *DeleteDBSubnetGroupInput) SetDBSubnetGroupName(v string) *DeleteDBSubnetGroupInput {
 27500  	s.DBSubnetGroupName = &v
 27501  	return s
 27502  }
 27503  
 27504  type DeleteDBSubnetGroupOutput struct {
 27505  	_ struct{} `type:"structure"`
 27506  }
 27507  
 27508  // String returns the string representation.
 27509  //
 27510  // API parameter values that are decorated as "sensitive" in the API will not
 27511  // be included in the string output. The member name will be present, but the
 27512  // value will be replaced with "sensitive".
 27513  func (s DeleteDBSubnetGroupOutput) String() string {
 27514  	return awsutil.Prettify(s)
 27515  }
 27516  
 27517  // GoString returns the string representation.
 27518  //
 27519  // API parameter values that are decorated as "sensitive" in the API will not
 27520  // be included in the string output. The member name will be present, but the
 27521  // value will be replaced with "sensitive".
 27522  func (s DeleteDBSubnetGroupOutput) GoString() string {
 27523  	return s.String()
 27524  }
 27525  
 27526  type DeleteEventSubscriptionInput struct {
 27527  	_ struct{} `type:"structure"`
 27528  
 27529  	// The name of the RDS event notification subscription you want to delete.
 27530  	//
 27531  	// SubscriptionName is a required field
 27532  	SubscriptionName *string `type:"string" required:"true"`
 27533  }
 27534  
 27535  // String returns the string representation.
 27536  //
 27537  // API parameter values that are decorated as "sensitive" in the API will not
 27538  // be included in the string output. The member name will be present, but the
 27539  // value will be replaced with "sensitive".
 27540  func (s DeleteEventSubscriptionInput) String() string {
 27541  	return awsutil.Prettify(s)
 27542  }
 27543  
 27544  // GoString returns the string representation.
 27545  //
 27546  // API parameter values that are decorated as "sensitive" in the API will not
 27547  // be included in the string output. The member name will be present, but the
 27548  // value will be replaced with "sensitive".
 27549  func (s DeleteEventSubscriptionInput) GoString() string {
 27550  	return s.String()
 27551  }
 27552  
 27553  // Validate inspects the fields of the type to determine if they are valid.
 27554  func (s *DeleteEventSubscriptionInput) Validate() error {
 27555  	invalidParams := request.ErrInvalidParams{Context: "DeleteEventSubscriptionInput"}
 27556  	if s.SubscriptionName == nil {
 27557  		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
 27558  	}
 27559  
 27560  	if invalidParams.Len() > 0 {
 27561  		return invalidParams
 27562  	}
 27563  	return nil
 27564  }
 27565  
 27566  // SetSubscriptionName sets the SubscriptionName field's value.
 27567  func (s *DeleteEventSubscriptionInput) SetSubscriptionName(v string) *DeleteEventSubscriptionInput {
 27568  	s.SubscriptionName = &v
 27569  	return s
 27570  }
 27571  
 27572  type DeleteEventSubscriptionOutput struct {
 27573  	_ struct{} `type:"structure"`
 27574  
 27575  	// Contains the results of a successful invocation of the DescribeEventSubscriptions
 27576  	// action.
 27577  	EventSubscription *EventSubscription `type:"structure"`
 27578  }
 27579  
 27580  // String returns the string representation.
 27581  //
 27582  // API parameter values that are decorated as "sensitive" in the API will not
 27583  // be included in the string output. The member name will be present, but the
 27584  // value will be replaced with "sensitive".
 27585  func (s DeleteEventSubscriptionOutput) String() string {
 27586  	return awsutil.Prettify(s)
 27587  }
 27588  
 27589  // GoString returns the string representation.
 27590  //
 27591  // API parameter values that are decorated as "sensitive" in the API will not
 27592  // be included in the string output. The member name will be present, but the
 27593  // value will be replaced with "sensitive".
 27594  func (s DeleteEventSubscriptionOutput) GoString() string {
 27595  	return s.String()
 27596  }
 27597  
 27598  // SetEventSubscription sets the EventSubscription field's value.
 27599  func (s *DeleteEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *DeleteEventSubscriptionOutput {
 27600  	s.EventSubscription = v
 27601  	return s
 27602  }
 27603  
 27604  type DeleteGlobalClusterInput struct {
 27605  	_ struct{} `type:"structure"`
 27606  
 27607  	// The cluster identifier of the global database cluster being deleted.
 27608  	//
 27609  	// GlobalClusterIdentifier is a required field
 27610  	GlobalClusterIdentifier *string `type:"string" required:"true"`
 27611  }
 27612  
 27613  // String returns the string representation.
 27614  //
 27615  // API parameter values that are decorated as "sensitive" in the API will not
 27616  // be included in the string output. The member name will be present, but the
 27617  // value will be replaced with "sensitive".
 27618  func (s DeleteGlobalClusterInput) String() string {
 27619  	return awsutil.Prettify(s)
 27620  }
 27621  
 27622  // GoString returns the string representation.
 27623  //
 27624  // API parameter values that are decorated as "sensitive" in the API will not
 27625  // be included in the string output. The member name will be present, but the
 27626  // value will be replaced with "sensitive".
 27627  func (s DeleteGlobalClusterInput) GoString() string {
 27628  	return s.String()
 27629  }
 27630  
 27631  // Validate inspects the fields of the type to determine if they are valid.
 27632  func (s *DeleteGlobalClusterInput) Validate() error {
 27633  	invalidParams := request.ErrInvalidParams{Context: "DeleteGlobalClusterInput"}
 27634  	if s.GlobalClusterIdentifier == nil {
 27635  		invalidParams.Add(request.NewErrParamRequired("GlobalClusterIdentifier"))
 27636  	}
 27637  
 27638  	if invalidParams.Len() > 0 {
 27639  		return invalidParams
 27640  	}
 27641  	return nil
 27642  }
 27643  
 27644  // SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
 27645  func (s *DeleteGlobalClusterInput) SetGlobalClusterIdentifier(v string) *DeleteGlobalClusterInput {
 27646  	s.GlobalClusterIdentifier = &v
 27647  	return s
 27648  }
 27649  
 27650  type DeleteGlobalClusterOutput struct {
 27651  	_ struct{} `type:"structure"`
 27652  
 27653  	// A data type representing an Aurora global database.
 27654  	GlobalCluster *GlobalCluster `type:"structure"`
 27655  }
 27656  
 27657  // String returns the string representation.
 27658  //
 27659  // API parameter values that are decorated as "sensitive" in the API will not
 27660  // be included in the string output. The member name will be present, but the
 27661  // value will be replaced with "sensitive".
 27662  func (s DeleteGlobalClusterOutput) String() string {
 27663  	return awsutil.Prettify(s)
 27664  }
 27665  
 27666  // GoString returns the string representation.
 27667  //
 27668  // API parameter values that are decorated as "sensitive" in the API will not
 27669  // be included in the string output. The member name will be present, but the
 27670  // value will be replaced with "sensitive".
 27671  func (s DeleteGlobalClusterOutput) GoString() string {
 27672  	return s.String()
 27673  }
 27674  
 27675  // SetGlobalCluster sets the GlobalCluster field's value.
 27676  func (s *DeleteGlobalClusterOutput) SetGlobalCluster(v *GlobalCluster) *DeleteGlobalClusterOutput {
 27677  	s.GlobalCluster = v
 27678  	return s
 27679  }
 27680  
 27681  type DeleteInstallationMediaInput struct {
 27682  	_ struct{} `type:"structure"`
 27683  
 27684  	// The installation medium ID.
 27685  	//
 27686  	// InstallationMediaId is a required field
 27687  	InstallationMediaId *string `type:"string" required:"true"`
 27688  }
 27689  
 27690  // String returns the string representation.
 27691  //
 27692  // API parameter values that are decorated as "sensitive" in the API will not
 27693  // be included in the string output. The member name will be present, but the
 27694  // value will be replaced with "sensitive".
 27695  func (s DeleteInstallationMediaInput) String() string {
 27696  	return awsutil.Prettify(s)
 27697  }
 27698  
 27699  // GoString returns the string representation.
 27700  //
 27701  // API parameter values that are decorated as "sensitive" in the API will not
 27702  // be included in the string output. The member name will be present, but the
 27703  // value will be replaced with "sensitive".
 27704  func (s DeleteInstallationMediaInput) GoString() string {
 27705  	return s.String()
 27706  }
 27707  
 27708  // Validate inspects the fields of the type to determine if they are valid.
 27709  func (s *DeleteInstallationMediaInput) Validate() error {
 27710  	invalidParams := request.ErrInvalidParams{Context: "DeleteInstallationMediaInput"}
 27711  	if s.InstallationMediaId == nil {
 27712  		invalidParams.Add(request.NewErrParamRequired("InstallationMediaId"))
 27713  	}
 27714  
 27715  	if invalidParams.Len() > 0 {
 27716  		return invalidParams
 27717  	}
 27718  	return nil
 27719  }
 27720  
 27721  // SetInstallationMediaId sets the InstallationMediaId field's value.
 27722  func (s *DeleteInstallationMediaInput) SetInstallationMediaId(v string) *DeleteInstallationMediaInput {
 27723  	s.InstallationMediaId = &v
 27724  	return s
 27725  }
 27726  
 27727  // Contains the installation media for a DB engine that requires an on-premises
 27728  // customer provided license, such as Microsoft SQL Server.
 27729  type DeleteInstallationMediaOutput struct {
 27730  	_ struct{} `type:"structure"`
 27731  
 27732  	// The custom Availability Zone (AZ) that contains the installation media.
 27733  	CustomAvailabilityZoneId *string `type:"string"`
 27734  
 27735  	// The DB engine.
 27736  	Engine *string `type:"string"`
 27737  
 27738  	// The path to the installation medium for the DB engine.
 27739  	EngineInstallationMediaPath *string `type:"string"`
 27740  
 27741  	// The engine version of the DB engine.
 27742  	EngineVersion *string `type:"string"`
 27743  
 27744  	// If an installation media failure occurred, the cause of the failure.
 27745  	FailureCause *InstallationMediaFailureCause `type:"structure"`
 27746  
 27747  	// The installation medium ID.
 27748  	InstallationMediaId *string `type:"string"`
 27749  
 27750  	// The path to the installation medium for the operating system associated with
 27751  	// the DB engine.
 27752  	OSInstallationMediaPath *string `type:"string"`
 27753  
 27754  	// The status of the installation medium.
 27755  	Status *string `type:"string"`
 27756  }
 27757  
 27758  // String returns the string representation.
 27759  //
 27760  // API parameter values that are decorated as "sensitive" in the API will not
 27761  // be included in the string output. The member name will be present, but the
 27762  // value will be replaced with "sensitive".
 27763  func (s DeleteInstallationMediaOutput) String() string {
 27764  	return awsutil.Prettify(s)
 27765  }
 27766  
 27767  // GoString returns the string representation.
 27768  //
 27769  // API parameter values that are decorated as "sensitive" in the API will not
 27770  // be included in the string output. The member name will be present, but the
 27771  // value will be replaced with "sensitive".
 27772  func (s DeleteInstallationMediaOutput) GoString() string {
 27773  	return s.String()
 27774  }
 27775  
 27776  // SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value.
 27777  func (s *DeleteInstallationMediaOutput) SetCustomAvailabilityZoneId(v string) *DeleteInstallationMediaOutput {
 27778  	s.CustomAvailabilityZoneId = &v
 27779  	return s
 27780  }
 27781  
 27782  // SetEngine sets the Engine field's value.
 27783  func (s *DeleteInstallationMediaOutput) SetEngine(v string) *DeleteInstallationMediaOutput {
 27784  	s.Engine = &v
 27785  	return s
 27786  }
 27787  
 27788  // SetEngineInstallationMediaPath sets the EngineInstallationMediaPath field's value.
 27789  func (s *DeleteInstallationMediaOutput) SetEngineInstallationMediaPath(v string) *DeleteInstallationMediaOutput {
 27790  	s.EngineInstallationMediaPath = &v
 27791  	return s
 27792  }
 27793  
 27794  // SetEngineVersion sets the EngineVersion field's value.
 27795  func (s *DeleteInstallationMediaOutput) SetEngineVersion(v string) *DeleteInstallationMediaOutput {
 27796  	s.EngineVersion = &v
 27797  	return s
 27798  }
 27799  
 27800  // SetFailureCause sets the FailureCause field's value.
 27801  func (s *DeleteInstallationMediaOutput) SetFailureCause(v *InstallationMediaFailureCause) *DeleteInstallationMediaOutput {
 27802  	s.FailureCause = v
 27803  	return s
 27804  }
 27805  
 27806  // SetInstallationMediaId sets the InstallationMediaId field's value.
 27807  func (s *DeleteInstallationMediaOutput) SetInstallationMediaId(v string) *DeleteInstallationMediaOutput {
 27808  	s.InstallationMediaId = &v
 27809  	return s
 27810  }
 27811  
 27812  // SetOSInstallationMediaPath sets the OSInstallationMediaPath field's value.
 27813  func (s *DeleteInstallationMediaOutput) SetOSInstallationMediaPath(v string) *DeleteInstallationMediaOutput {
 27814  	s.OSInstallationMediaPath = &v
 27815  	return s
 27816  }
 27817  
 27818  // SetStatus sets the Status field's value.
 27819  func (s *DeleteInstallationMediaOutput) SetStatus(v string) *DeleteInstallationMediaOutput {
 27820  	s.Status = &v
 27821  	return s
 27822  }
 27823  
 27824  type DeleteOptionGroupInput struct {
 27825  	_ struct{} `type:"structure"`
 27826  
 27827  	// The name of the option group to be deleted.
 27828  	//
 27829  	// You can't delete default option groups.
 27830  	//
 27831  	// OptionGroupName is a required field
 27832  	OptionGroupName *string `type:"string" required:"true"`
 27833  }
 27834  
 27835  // String returns the string representation.
 27836  //
 27837  // API parameter values that are decorated as "sensitive" in the API will not
 27838  // be included in the string output. The member name will be present, but the
 27839  // value will be replaced with "sensitive".
 27840  func (s DeleteOptionGroupInput) String() string {
 27841  	return awsutil.Prettify(s)
 27842  }
 27843  
 27844  // GoString returns the string representation.
 27845  //
 27846  // API parameter values that are decorated as "sensitive" in the API will not
 27847  // be included in the string output. The member name will be present, but the
 27848  // value will be replaced with "sensitive".
 27849  func (s DeleteOptionGroupInput) GoString() string {
 27850  	return s.String()
 27851  }
 27852  
 27853  // Validate inspects the fields of the type to determine if they are valid.
 27854  func (s *DeleteOptionGroupInput) Validate() error {
 27855  	invalidParams := request.ErrInvalidParams{Context: "DeleteOptionGroupInput"}
 27856  	if s.OptionGroupName == nil {
 27857  		invalidParams.Add(request.NewErrParamRequired("OptionGroupName"))
 27858  	}
 27859  
 27860  	if invalidParams.Len() > 0 {
 27861  		return invalidParams
 27862  	}
 27863  	return nil
 27864  }
 27865  
 27866  // SetOptionGroupName sets the OptionGroupName field's value.
 27867  func (s *DeleteOptionGroupInput) SetOptionGroupName(v string) *DeleteOptionGroupInput {
 27868  	s.OptionGroupName = &v
 27869  	return s
 27870  }
 27871  
 27872  type DeleteOptionGroupOutput struct {
 27873  	_ struct{} `type:"structure"`
 27874  }
 27875  
 27876  // String returns the string representation.
 27877  //
 27878  // API parameter values that are decorated as "sensitive" in the API will not
 27879  // be included in the string output. The member name will be present, but the
 27880  // value will be replaced with "sensitive".
 27881  func (s DeleteOptionGroupOutput) String() string {
 27882  	return awsutil.Prettify(s)
 27883  }
 27884  
 27885  // GoString returns the string representation.
 27886  //
 27887  // API parameter values that are decorated as "sensitive" in the API will not
 27888  // be included in the string output. The member name will be present, but the
 27889  // value will be replaced with "sensitive".
 27890  func (s DeleteOptionGroupOutput) GoString() string {
 27891  	return s.String()
 27892  }
 27893  
 27894  type DeregisterDBProxyTargetsInput struct {
 27895  	_ struct{} `type:"structure"`
 27896  
 27897  	// One or more DB cluster identifiers.
 27898  	DBClusterIdentifiers []*string `type:"list"`
 27899  
 27900  	// One or more DB instance identifiers.
 27901  	DBInstanceIdentifiers []*string `type:"list"`
 27902  
 27903  	// The identifier of the DBProxy that is associated with the DBProxyTargetGroup.
 27904  	//
 27905  	// DBProxyName is a required field
 27906  	DBProxyName *string `type:"string" required:"true"`
 27907  
 27908  	// The identifier of the DBProxyTargetGroup.
 27909  	TargetGroupName *string `type:"string"`
 27910  }
 27911  
 27912  // String returns the string representation.
 27913  //
 27914  // API parameter values that are decorated as "sensitive" in the API will not
 27915  // be included in the string output. The member name will be present, but the
 27916  // value will be replaced with "sensitive".
 27917  func (s DeregisterDBProxyTargetsInput) String() string {
 27918  	return awsutil.Prettify(s)
 27919  }
 27920  
 27921  // GoString returns the string representation.
 27922  //
 27923  // API parameter values that are decorated as "sensitive" in the API will not
 27924  // be included in the string output. The member name will be present, but the
 27925  // value will be replaced with "sensitive".
 27926  func (s DeregisterDBProxyTargetsInput) GoString() string {
 27927  	return s.String()
 27928  }
 27929  
 27930  // Validate inspects the fields of the type to determine if they are valid.
 27931  func (s *DeregisterDBProxyTargetsInput) Validate() error {
 27932  	invalidParams := request.ErrInvalidParams{Context: "DeregisterDBProxyTargetsInput"}
 27933  	if s.DBProxyName == nil {
 27934  		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
 27935  	}
 27936  
 27937  	if invalidParams.Len() > 0 {
 27938  		return invalidParams
 27939  	}
 27940  	return nil
 27941  }
 27942  
 27943  // SetDBClusterIdentifiers sets the DBClusterIdentifiers field's value.
 27944  func (s *DeregisterDBProxyTargetsInput) SetDBClusterIdentifiers(v []*string) *DeregisterDBProxyTargetsInput {
 27945  	s.DBClusterIdentifiers = v
 27946  	return s
 27947  }
 27948  
 27949  // SetDBInstanceIdentifiers sets the DBInstanceIdentifiers field's value.
 27950  func (s *DeregisterDBProxyTargetsInput) SetDBInstanceIdentifiers(v []*string) *DeregisterDBProxyTargetsInput {
 27951  	s.DBInstanceIdentifiers = v
 27952  	return s
 27953  }
 27954  
 27955  // SetDBProxyName sets the DBProxyName field's value.
 27956  func (s *DeregisterDBProxyTargetsInput) SetDBProxyName(v string) *DeregisterDBProxyTargetsInput {
 27957  	s.DBProxyName = &v
 27958  	return s
 27959  }
 27960  
 27961  // SetTargetGroupName sets the TargetGroupName field's value.
 27962  func (s *DeregisterDBProxyTargetsInput) SetTargetGroupName(v string) *DeregisterDBProxyTargetsInput {
 27963  	s.TargetGroupName = &v
 27964  	return s
 27965  }
 27966  
 27967  type DeregisterDBProxyTargetsOutput struct {
 27968  	_ struct{} `type:"structure"`
 27969  }
 27970  
 27971  // String returns the string representation.
 27972  //
 27973  // API parameter values that are decorated as "sensitive" in the API will not
 27974  // be included in the string output. The member name will be present, but the
 27975  // value will be replaced with "sensitive".
 27976  func (s DeregisterDBProxyTargetsOutput) String() string {
 27977  	return awsutil.Prettify(s)
 27978  }
 27979  
 27980  // GoString returns the string representation.
 27981  //
 27982  // API parameter values that are decorated as "sensitive" in the API will not
 27983  // be included in the string output. The member name will be present, but the
 27984  // value will be replaced with "sensitive".
 27985  func (s DeregisterDBProxyTargetsOutput) GoString() string {
 27986  	return s.String()
 27987  }
 27988  
 27989  type DescribeAccountAttributesInput struct {
 27990  	_ struct{} `type:"structure"`
 27991  }
 27992  
 27993  // String returns the string representation.
 27994  //
 27995  // API parameter values that are decorated as "sensitive" in the API will not
 27996  // be included in the string output. The member name will be present, but the
 27997  // value will be replaced with "sensitive".
 27998  func (s DescribeAccountAttributesInput) String() string {
 27999  	return awsutil.Prettify(s)
 28000  }
 28001  
 28002  // GoString returns the string representation.
 28003  //
 28004  // API parameter values that are decorated as "sensitive" in the API will not
 28005  // be included in the string output. The member name will be present, but the
 28006  // value will be replaced with "sensitive".
 28007  func (s DescribeAccountAttributesInput) GoString() string {
 28008  	return s.String()
 28009  }
 28010  
 28011  // Data returned by the DescribeAccountAttributes action.
 28012  type DescribeAccountAttributesOutput struct {
 28013  	_ struct{} `type:"structure"`
 28014  
 28015  	// A list of AccountQuota objects. Within this list, each quota has a name,
 28016  	// a count of usage toward the quota maximum, and a maximum value for the quota.
 28017  	AccountQuotas []*AccountQuota `locationNameList:"AccountQuota" type:"list"`
 28018  }
 28019  
 28020  // String returns the string representation.
 28021  //
 28022  // API parameter values that are decorated as "sensitive" in the API will not
 28023  // be included in the string output. The member name will be present, but the
 28024  // value will be replaced with "sensitive".
 28025  func (s DescribeAccountAttributesOutput) String() string {
 28026  	return awsutil.Prettify(s)
 28027  }
 28028  
 28029  // GoString returns the string representation.
 28030  //
 28031  // API parameter values that are decorated as "sensitive" in the API will not
 28032  // be included in the string output. The member name will be present, but the
 28033  // value will be replaced with "sensitive".
 28034  func (s DescribeAccountAttributesOutput) GoString() string {
 28035  	return s.String()
 28036  }
 28037  
 28038  // SetAccountQuotas sets the AccountQuotas field's value.
 28039  func (s *DescribeAccountAttributesOutput) SetAccountQuotas(v []*AccountQuota) *DescribeAccountAttributesOutput {
 28040  	s.AccountQuotas = v
 28041  	return s
 28042  }
 28043  
 28044  type DescribeCertificatesInput struct {
 28045  	_ struct{} `type:"structure"`
 28046  
 28047  	// The user-supplied certificate identifier. If this parameter is specified,
 28048  	// information for only the identified certificate is returned. This parameter
 28049  	// isn't case-sensitive.
 28050  	//
 28051  	// Constraints:
 28052  	//
 28053  	//    * Must match an existing CertificateIdentifier.
 28054  	CertificateIdentifier *string `type:"string"`
 28055  
 28056  	// This parameter isn't currently supported.
 28057  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 28058  
 28059  	// An optional pagination token provided by a previous DescribeCertificates
 28060  	// request. If this parameter is specified, the response includes only records
 28061  	// beyond the marker, up to the value specified by MaxRecords.
 28062  	Marker *string `type:"string"`
 28063  
 28064  	// The maximum number of records to include in the response. If more records
 28065  	// exist than the specified MaxRecords value, a pagination token called a marker
 28066  	// is included in the response so you can retrieve the remaining results.
 28067  	//
 28068  	// Default: 100
 28069  	//
 28070  	// Constraints: Minimum 20, maximum 100.
 28071  	MaxRecords *int64 `type:"integer"`
 28072  }
 28073  
 28074  // String returns the string representation.
 28075  //
 28076  // API parameter values that are decorated as "sensitive" in the API will not
 28077  // be included in the string output. The member name will be present, but the
 28078  // value will be replaced with "sensitive".
 28079  func (s DescribeCertificatesInput) String() string {
 28080  	return awsutil.Prettify(s)
 28081  }
 28082  
 28083  // GoString returns the string representation.
 28084  //
 28085  // API parameter values that are decorated as "sensitive" in the API will not
 28086  // be included in the string output. The member name will be present, but the
 28087  // value will be replaced with "sensitive".
 28088  func (s DescribeCertificatesInput) GoString() string {
 28089  	return s.String()
 28090  }
 28091  
 28092  // Validate inspects the fields of the type to determine if they are valid.
 28093  func (s *DescribeCertificatesInput) Validate() error {
 28094  	invalidParams := request.ErrInvalidParams{Context: "DescribeCertificatesInput"}
 28095  	if s.Filters != nil {
 28096  		for i, v := range s.Filters {
 28097  			if v == nil {
 28098  				continue
 28099  			}
 28100  			if err := v.Validate(); err != nil {
 28101  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 28102  			}
 28103  		}
 28104  	}
 28105  
 28106  	if invalidParams.Len() > 0 {
 28107  		return invalidParams
 28108  	}
 28109  	return nil
 28110  }
 28111  
 28112  // SetCertificateIdentifier sets the CertificateIdentifier field's value.
 28113  func (s *DescribeCertificatesInput) SetCertificateIdentifier(v string) *DescribeCertificatesInput {
 28114  	s.CertificateIdentifier = &v
 28115  	return s
 28116  }
 28117  
 28118  // SetFilters sets the Filters field's value.
 28119  func (s *DescribeCertificatesInput) SetFilters(v []*Filter) *DescribeCertificatesInput {
 28120  	s.Filters = v
 28121  	return s
 28122  }
 28123  
 28124  // SetMarker sets the Marker field's value.
 28125  func (s *DescribeCertificatesInput) SetMarker(v string) *DescribeCertificatesInput {
 28126  	s.Marker = &v
 28127  	return s
 28128  }
 28129  
 28130  // SetMaxRecords sets the MaxRecords field's value.
 28131  func (s *DescribeCertificatesInput) SetMaxRecords(v int64) *DescribeCertificatesInput {
 28132  	s.MaxRecords = &v
 28133  	return s
 28134  }
 28135  
 28136  // Data returned by the DescribeCertificates action.
 28137  type DescribeCertificatesOutput struct {
 28138  	_ struct{} `type:"structure"`
 28139  
 28140  	// The list of Certificate objects for the Amazon Web Services account.
 28141  	Certificates []*Certificate `locationNameList:"Certificate" type:"list"`
 28142  
 28143  	// An optional pagination token provided by a previous DescribeCertificates
 28144  	// request. If this parameter is specified, the response includes only records
 28145  	// beyond the marker, up to the value specified by MaxRecords .
 28146  	Marker *string `type:"string"`
 28147  }
 28148  
 28149  // String returns the string representation.
 28150  //
 28151  // API parameter values that are decorated as "sensitive" in the API will not
 28152  // be included in the string output. The member name will be present, but the
 28153  // value will be replaced with "sensitive".
 28154  func (s DescribeCertificatesOutput) String() string {
 28155  	return awsutil.Prettify(s)
 28156  }
 28157  
 28158  // GoString returns the string representation.
 28159  //
 28160  // API parameter values that are decorated as "sensitive" in the API will not
 28161  // be included in the string output. The member name will be present, but the
 28162  // value will be replaced with "sensitive".
 28163  func (s DescribeCertificatesOutput) GoString() string {
 28164  	return s.String()
 28165  }
 28166  
 28167  // SetCertificates sets the Certificates field's value.
 28168  func (s *DescribeCertificatesOutput) SetCertificates(v []*Certificate) *DescribeCertificatesOutput {
 28169  	s.Certificates = v
 28170  	return s
 28171  }
 28172  
 28173  // SetMarker sets the Marker field's value.
 28174  func (s *DescribeCertificatesOutput) SetMarker(v string) *DescribeCertificatesOutput {
 28175  	s.Marker = &v
 28176  	return s
 28177  }
 28178  
 28179  type DescribeCustomAvailabilityZonesInput struct {
 28180  	_ struct{} `type:"structure"`
 28181  
 28182  	// The custom AZ identifier. If this parameter is specified, information from
 28183  	// only the specific custom AZ is returned.
 28184  	CustomAvailabilityZoneId *string `type:"string"`
 28185  
 28186  	// A filter that specifies one or more custom AZs to describe.
 28187  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 28188  
 28189  	// An optional pagination token provided by a previous DescribeCustomAvailabilityZones
 28190  	// request. If this parameter is specified, the response includes only records
 28191  	// beyond the marker, up to the value specified by MaxRecords.
 28192  	Marker *string `type:"string"`
 28193  
 28194  	// The maximum number of records to include in the response. If more records
 28195  	// exist than the specified MaxRecords value, a pagination token called a marker
 28196  	// is included in the response so you can retrieve the remaining results.
 28197  	//
 28198  	// Default: 100
 28199  	//
 28200  	// Constraints: Minimum 20, maximum 100.
 28201  	MaxRecords *int64 `type:"integer"`
 28202  }
 28203  
 28204  // String returns the string representation.
 28205  //
 28206  // API parameter values that are decorated as "sensitive" in the API will not
 28207  // be included in the string output. The member name will be present, but the
 28208  // value will be replaced with "sensitive".
 28209  func (s DescribeCustomAvailabilityZonesInput) String() string {
 28210  	return awsutil.Prettify(s)
 28211  }
 28212  
 28213  // GoString returns the string representation.
 28214  //
 28215  // API parameter values that are decorated as "sensitive" in the API will not
 28216  // be included in the string output. The member name will be present, but the
 28217  // value will be replaced with "sensitive".
 28218  func (s DescribeCustomAvailabilityZonesInput) GoString() string {
 28219  	return s.String()
 28220  }
 28221  
 28222  // Validate inspects the fields of the type to determine if they are valid.
 28223  func (s *DescribeCustomAvailabilityZonesInput) Validate() error {
 28224  	invalidParams := request.ErrInvalidParams{Context: "DescribeCustomAvailabilityZonesInput"}
 28225  	if s.Filters != nil {
 28226  		for i, v := range s.Filters {
 28227  			if v == nil {
 28228  				continue
 28229  			}
 28230  			if err := v.Validate(); err != nil {
 28231  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 28232  			}
 28233  		}
 28234  	}
 28235  
 28236  	if invalidParams.Len() > 0 {
 28237  		return invalidParams
 28238  	}
 28239  	return nil
 28240  }
 28241  
 28242  // SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value.
 28243  func (s *DescribeCustomAvailabilityZonesInput) SetCustomAvailabilityZoneId(v string) *DescribeCustomAvailabilityZonesInput {
 28244  	s.CustomAvailabilityZoneId = &v
 28245  	return s
 28246  }
 28247  
 28248  // SetFilters sets the Filters field's value.
 28249  func (s *DescribeCustomAvailabilityZonesInput) SetFilters(v []*Filter) *DescribeCustomAvailabilityZonesInput {
 28250  	s.Filters = v
 28251  	return s
 28252  }
 28253  
 28254  // SetMarker sets the Marker field's value.
 28255  func (s *DescribeCustomAvailabilityZonesInput) SetMarker(v string) *DescribeCustomAvailabilityZonesInput {
 28256  	s.Marker = &v
 28257  	return s
 28258  }
 28259  
 28260  // SetMaxRecords sets the MaxRecords field's value.
 28261  func (s *DescribeCustomAvailabilityZonesInput) SetMaxRecords(v int64) *DescribeCustomAvailabilityZonesInput {
 28262  	s.MaxRecords = &v
 28263  	return s
 28264  }
 28265  
 28266  type DescribeCustomAvailabilityZonesOutput struct {
 28267  	_ struct{} `type:"structure"`
 28268  
 28269  	// The list of CustomAvailabilityZone objects for the Amazon Web Services account.
 28270  	CustomAvailabilityZones []*CustomAvailabilityZone `locationNameList:"CustomAvailabilityZone" type:"list"`
 28271  
 28272  	// An optional pagination token provided by a previous DescribeCustomAvailabilityZones
 28273  	// request. If this parameter is specified, the response includes only records
 28274  	// beyond the marker, up to the value specified by MaxRecords.
 28275  	Marker *string `type:"string"`
 28276  }
 28277  
 28278  // String returns the string representation.
 28279  //
 28280  // API parameter values that are decorated as "sensitive" in the API will not
 28281  // be included in the string output. The member name will be present, but the
 28282  // value will be replaced with "sensitive".
 28283  func (s DescribeCustomAvailabilityZonesOutput) String() string {
 28284  	return awsutil.Prettify(s)
 28285  }
 28286  
 28287  // GoString returns the string representation.
 28288  //
 28289  // API parameter values that are decorated as "sensitive" in the API will not
 28290  // be included in the string output. The member name will be present, but the
 28291  // value will be replaced with "sensitive".
 28292  func (s DescribeCustomAvailabilityZonesOutput) GoString() string {
 28293  	return s.String()
 28294  }
 28295  
 28296  // SetCustomAvailabilityZones sets the CustomAvailabilityZones field's value.
 28297  func (s *DescribeCustomAvailabilityZonesOutput) SetCustomAvailabilityZones(v []*CustomAvailabilityZone) *DescribeCustomAvailabilityZonesOutput {
 28298  	s.CustomAvailabilityZones = v
 28299  	return s
 28300  }
 28301  
 28302  // SetMarker sets the Marker field's value.
 28303  func (s *DescribeCustomAvailabilityZonesOutput) SetMarker(v string) *DescribeCustomAvailabilityZonesOutput {
 28304  	s.Marker = &v
 28305  	return s
 28306  }
 28307  
 28308  type DescribeDBClusterBacktracksInput struct {
 28309  	_ struct{} `type:"structure"`
 28310  
 28311  	// If specified, this value is the backtrack identifier of the backtrack to
 28312  	// be described.
 28313  	//
 28314  	// Constraints:
 28315  	//
 28316  	//    * Must contain a valid universally unique identifier (UUID). For more
 28317  	//    information about UUIDs, see A Universally Unique Identifier (UUID) URN
 28318  	//    Namespace (http://www.ietf.org/rfc/rfc4122.txt).
 28319  	//
 28320  	// Example: 123e4567-e89b-12d3-a456-426655440000
 28321  	BacktrackIdentifier *string `type:"string"`
 28322  
 28323  	// The DB cluster identifier of the DB cluster to be described. This parameter
 28324  	// is stored as a lowercase string.
 28325  	//
 28326  	// Constraints:
 28327  	//
 28328  	//    * Must contain from 1 to 63 alphanumeric characters or hyphens.
 28329  	//
 28330  	//    * First character must be a letter.
 28331  	//
 28332  	//    * Can't end with a hyphen or contain two consecutive hyphens.
 28333  	//
 28334  	// Example: my-cluster1
 28335  	//
 28336  	// DBClusterIdentifier is a required field
 28337  	DBClusterIdentifier *string `type:"string" required:"true"`
 28338  
 28339  	// A filter that specifies one or more DB clusters to describe. Supported filters
 28340  	// include the following:
 28341  	//
 28342  	//    * db-cluster-backtrack-id - Accepts backtrack identifiers. The results
 28343  	//    list includes information about only the backtracks identified by these
 28344  	//    identifiers.
 28345  	//
 28346  	//    * db-cluster-backtrack-status - Accepts any of the following backtrack
 28347  	//    status values: applying completed failed pending The results list includes
 28348  	//    information about only the backtracks identified by these values.
 28349  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 28350  
 28351  	// An optional pagination token provided by a previous DescribeDBClusterBacktracks
 28352  	// request. If this parameter is specified, the response includes only records
 28353  	// beyond the marker, up to the value specified by MaxRecords.
 28354  	Marker *string `type:"string"`
 28355  
 28356  	// The maximum number of records to include in the response. If more records
 28357  	// exist than the specified MaxRecords value, a pagination token called a marker
 28358  	// is included in the response so you can retrieve the remaining results.
 28359  	//
 28360  	// Default: 100
 28361  	//
 28362  	// Constraints: Minimum 20, maximum 100.
 28363  	MaxRecords *int64 `type:"integer"`
 28364  }
 28365  
 28366  // String returns the string representation.
 28367  //
 28368  // API parameter values that are decorated as "sensitive" in the API will not
 28369  // be included in the string output. The member name will be present, but the
 28370  // value will be replaced with "sensitive".
 28371  func (s DescribeDBClusterBacktracksInput) String() string {
 28372  	return awsutil.Prettify(s)
 28373  }
 28374  
 28375  // GoString returns the string representation.
 28376  //
 28377  // API parameter values that are decorated as "sensitive" in the API will not
 28378  // be included in the string output. The member name will be present, but the
 28379  // value will be replaced with "sensitive".
 28380  func (s DescribeDBClusterBacktracksInput) GoString() string {
 28381  	return s.String()
 28382  }
 28383  
 28384  // Validate inspects the fields of the type to determine if they are valid.
 28385  func (s *DescribeDBClusterBacktracksInput) Validate() error {
 28386  	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterBacktracksInput"}
 28387  	if s.DBClusterIdentifier == nil {
 28388  		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
 28389  	}
 28390  	if s.Filters != nil {
 28391  		for i, v := range s.Filters {
 28392  			if v == nil {
 28393  				continue
 28394  			}
 28395  			if err := v.Validate(); err != nil {
 28396  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 28397  			}
 28398  		}
 28399  	}
 28400  
 28401  	if invalidParams.Len() > 0 {
 28402  		return invalidParams
 28403  	}
 28404  	return nil
 28405  }
 28406  
 28407  // SetBacktrackIdentifier sets the BacktrackIdentifier field's value.
 28408  func (s *DescribeDBClusterBacktracksInput) SetBacktrackIdentifier(v string) *DescribeDBClusterBacktracksInput {
 28409  	s.BacktrackIdentifier = &v
 28410  	return s
 28411  }
 28412  
 28413  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 28414  func (s *DescribeDBClusterBacktracksInput) SetDBClusterIdentifier(v string) *DescribeDBClusterBacktracksInput {
 28415  	s.DBClusterIdentifier = &v
 28416  	return s
 28417  }
 28418  
 28419  // SetFilters sets the Filters field's value.
 28420  func (s *DescribeDBClusterBacktracksInput) SetFilters(v []*Filter) *DescribeDBClusterBacktracksInput {
 28421  	s.Filters = v
 28422  	return s
 28423  }
 28424  
 28425  // SetMarker sets the Marker field's value.
 28426  func (s *DescribeDBClusterBacktracksInput) SetMarker(v string) *DescribeDBClusterBacktracksInput {
 28427  	s.Marker = &v
 28428  	return s
 28429  }
 28430  
 28431  // SetMaxRecords sets the MaxRecords field's value.
 28432  func (s *DescribeDBClusterBacktracksInput) SetMaxRecords(v int64) *DescribeDBClusterBacktracksInput {
 28433  	s.MaxRecords = &v
 28434  	return s
 28435  }
 28436  
 28437  // Contains the result of a successful invocation of the DescribeDBClusterBacktracks
 28438  // action.
 28439  type DescribeDBClusterBacktracksOutput struct {
 28440  	_ struct{} `type:"structure"`
 28441  
 28442  	// Contains a list of backtracks for the user.
 28443  	DBClusterBacktracks []*BacktrackDBClusterOutput `locationNameList:"DBClusterBacktrack" type:"list"`
 28444  
 28445  	// A pagination token that can be used in a later DescribeDBClusterBacktracks
 28446  	// request.
 28447  	Marker *string `type:"string"`
 28448  }
 28449  
 28450  // String returns the string representation.
 28451  //
 28452  // API parameter values that are decorated as "sensitive" in the API will not
 28453  // be included in the string output. The member name will be present, but the
 28454  // value will be replaced with "sensitive".
 28455  func (s DescribeDBClusterBacktracksOutput) String() string {
 28456  	return awsutil.Prettify(s)
 28457  }
 28458  
 28459  // GoString returns the string representation.
 28460  //
 28461  // API parameter values that are decorated as "sensitive" in the API will not
 28462  // be included in the string output. The member name will be present, but the
 28463  // value will be replaced with "sensitive".
 28464  func (s DescribeDBClusterBacktracksOutput) GoString() string {
 28465  	return s.String()
 28466  }
 28467  
 28468  // SetDBClusterBacktracks sets the DBClusterBacktracks field's value.
 28469  func (s *DescribeDBClusterBacktracksOutput) SetDBClusterBacktracks(v []*BacktrackDBClusterOutput) *DescribeDBClusterBacktracksOutput {
 28470  	s.DBClusterBacktracks = v
 28471  	return s
 28472  }
 28473  
 28474  // SetMarker sets the Marker field's value.
 28475  func (s *DescribeDBClusterBacktracksOutput) SetMarker(v string) *DescribeDBClusterBacktracksOutput {
 28476  	s.Marker = &v
 28477  	return s
 28478  }
 28479  
 28480  type DescribeDBClusterEndpointsInput struct {
 28481  	_ struct{} `type:"structure"`
 28482  
 28483  	// The identifier of the endpoint to describe. This parameter is stored as a
 28484  	// lowercase string.
 28485  	DBClusterEndpointIdentifier *string `type:"string"`
 28486  
 28487  	// The DB cluster identifier of the DB cluster associated with the endpoint.
 28488  	// This parameter is stored as a lowercase string.
 28489  	DBClusterIdentifier *string `type:"string"`
 28490  
 28491  	// A set of name-value pairs that define which endpoints to include in the output.
 28492  	// The filters are specified as name-value pairs, in the format Name=endpoint_type,Values=endpoint_type1,endpoint_type2,....
 28493  	// Name can be one of: db-cluster-endpoint-type, db-cluster-endpoint-custom-type,
 28494  	// db-cluster-endpoint-id, db-cluster-endpoint-status. Values for the db-cluster-endpoint-type
 28495  	// filter can be one or more of: reader, writer, custom. Values for the db-cluster-endpoint-custom-type
 28496  	// filter can be one or more of: reader, any. Values for the db-cluster-endpoint-status
 28497  	// filter can be one or more of: available, creating, deleting, inactive, modifying.
 28498  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 28499  
 28500  	// An optional pagination token provided by a previous DescribeDBClusterEndpoints
 28501  	// request. If this parameter is specified, the response includes only records
 28502  	// beyond the marker, up to the value specified by MaxRecords.
 28503  	Marker *string `type:"string"`
 28504  
 28505  	// The maximum number of records to include in the response. If more records
 28506  	// exist than the specified MaxRecords value, a pagination token called a marker
 28507  	// is included in the response so you can retrieve the remaining results.
 28508  	//
 28509  	// Default: 100
 28510  	//
 28511  	// Constraints: Minimum 20, maximum 100.
 28512  	MaxRecords *int64 `type:"integer"`
 28513  }
 28514  
 28515  // String returns the string representation.
 28516  //
 28517  // API parameter values that are decorated as "sensitive" in the API will not
 28518  // be included in the string output. The member name will be present, but the
 28519  // value will be replaced with "sensitive".
 28520  func (s DescribeDBClusterEndpointsInput) String() string {
 28521  	return awsutil.Prettify(s)
 28522  }
 28523  
 28524  // GoString returns the string representation.
 28525  //
 28526  // API parameter values that are decorated as "sensitive" in the API will not
 28527  // be included in the string output. The member name will be present, but the
 28528  // value will be replaced with "sensitive".
 28529  func (s DescribeDBClusterEndpointsInput) GoString() string {
 28530  	return s.String()
 28531  }
 28532  
 28533  // Validate inspects the fields of the type to determine if they are valid.
 28534  func (s *DescribeDBClusterEndpointsInput) Validate() error {
 28535  	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterEndpointsInput"}
 28536  	if s.Filters != nil {
 28537  		for i, v := range s.Filters {
 28538  			if v == nil {
 28539  				continue
 28540  			}
 28541  			if err := v.Validate(); err != nil {
 28542  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 28543  			}
 28544  		}
 28545  	}
 28546  
 28547  	if invalidParams.Len() > 0 {
 28548  		return invalidParams
 28549  	}
 28550  	return nil
 28551  }
 28552  
 28553  // SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
 28554  func (s *DescribeDBClusterEndpointsInput) SetDBClusterEndpointIdentifier(v string) *DescribeDBClusterEndpointsInput {
 28555  	s.DBClusterEndpointIdentifier = &v
 28556  	return s
 28557  }
 28558  
 28559  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 28560  func (s *DescribeDBClusterEndpointsInput) SetDBClusterIdentifier(v string) *DescribeDBClusterEndpointsInput {
 28561  	s.DBClusterIdentifier = &v
 28562  	return s
 28563  }
 28564  
 28565  // SetFilters sets the Filters field's value.
 28566  func (s *DescribeDBClusterEndpointsInput) SetFilters(v []*Filter) *DescribeDBClusterEndpointsInput {
 28567  	s.Filters = v
 28568  	return s
 28569  }
 28570  
 28571  // SetMarker sets the Marker field's value.
 28572  func (s *DescribeDBClusterEndpointsInput) SetMarker(v string) *DescribeDBClusterEndpointsInput {
 28573  	s.Marker = &v
 28574  	return s
 28575  }
 28576  
 28577  // SetMaxRecords sets the MaxRecords field's value.
 28578  func (s *DescribeDBClusterEndpointsInput) SetMaxRecords(v int64) *DescribeDBClusterEndpointsInput {
 28579  	s.MaxRecords = &v
 28580  	return s
 28581  }
 28582  
 28583  type DescribeDBClusterEndpointsOutput struct {
 28584  	_ struct{} `type:"structure"`
 28585  
 28586  	// Contains the details of the endpoints associated with the cluster and matching
 28587  	// any filter conditions.
 28588  	DBClusterEndpoints []*DBClusterEndpoint `locationNameList:"DBClusterEndpointList" type:"list"`
 28589  
 28590  	// An optional pagination token provided by a previous DescribeDBClusterEndpoints
 28591  	// request. If this parameter is specified, the response includes only records
 28592  	// beyond the marker, up to the value specified by MaxRecords.
 28593  	Marker *string `type:"string"`
 28594  }
 28595  
 28596  // String returns the string representation.
 28597  //
 28598  // API parameter values that are decorated as "sensitive" in the API will not
 28599  // be included in the string output. The member name will be present, but the
 28600  // value will be replaced with "sensitive".
 28601  func (s DescribeDBClusterEndpointsOutput) String() string {
 28602  	return awsutil.Prettify(s)
 28603  }
 28604  
 28605  // GoString returns the string representation.
 28606  //
 28607  // API parameter values that are decorated as "sensitive" in the API will not
 28608  // be included in the string output. The member name will be present, but the
 28609  // value will be replaced with "sensitive".
 28610  func (s DescribeDBClusterEndpointsOutput) GoString() string {
 28611  	return s.String()
 28612  }
 28613  
 28614  // SetDBClusterEndpoints sets the DBClusterEndpoints field's value.
 28615  func (s *DescribeDBClusterEndpointsOutput) SetDBClusterEndpoints(v []*DBClusterEndpoint) *DescribeDBClusterEndpointsOutput {
 28616  	s.DBClusterEndpoints = v
 28617  	return s
 28618  }
 28619  
 28620  // SetMarker sets the Marker field's value.
 28621  func (s *DescribeDBClusterEndpointsOutput) SetMarker(v string) *DescribeDBClusterEndpointsOutput {
 28622  	s.Marker = &v
 28623  	return s
 28624  }
 28625  
 28626  type DescribeDBClusterParameterGroupsInput struct {
 28627  	_ struct{} `type:"structure"`
 28628  
 28629  	// The name of a specific DB cluster parameter group to return details for.
 28630  	//
 28631  	// Constraints:
 28632  	//
 28633  	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
 28634  	DBClusterParameterGroupName *string `type:"string"`
 28635  
 28636  	// This parameter isn't currently supported.
 28637  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 28638  
 28639  	// An optional pagination token provided by a previous DescribeDBClusterParameterGroups
 28640  	// request. If this parameter is specified, the response includes only records
 28641  	// beyond the marker, up to the value specified by MaxRecords.
 28642  	Marker *string `type:"string"`
 28643  
 28644  	// The maximum number of records to include in the response. If more records
 28645  	// exist than the specified MaxRecords value, a pagination token called a marker
 28646  	// is included in the response so you can retrieve the remaining results.
 28647  	//
 28648  	// Default: 100
 28649  	//
 28650  	// Constraints: Minimum 20, maximum 100.
 28651  	MaxRecords *int64 `type:"integer"`
 28652  }
 28653  
 28654  // String returns the string representation.
 28655  //
 28656  // API parameter values that are decorated as "sensitive" in the API will not
 28657  // be included in the string output. The member name will be present, but the
 28658  // value will be replaced with "sensitive".
 28659  func (s DescribeDBClusterParameterGroupsInput) String() string {
 28660  	return awsutil.Prettify(s)
 28661  }
 28662  
 28663  // GoString returns the string representation.
 28664  //
 28665  // API parameter values that are decorated as "sensitive" in the API will not
 28666  // be included in the string output. The member name will be present, but the
 28667  // value will be replaced with "sensitive".
 28668  func (s DescribeDBClusterParameterGroupsInput) GoString() string {
 28669  	return s.String()
 28670  }
 28671  
 28672  // Validate inspects the fields of the type to determine if they are valid.
 28673  func (s *DescribeDBClusterParameterGroupsInput) Validate() error {
 28674  	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterParameterGroupsInput"}
 28675  	if s.Filters != nil {
 28676  		for i, v := range s.Filters {
 28677  			if v == nil {
 28678  				continue
 28679  			}
 28680  			if err := v.Validate(); err != nil {
 28681  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 28682  			}
 28683  		}
 28684  	}
 28685  
 28686  	if invalidParams.Len() > 0 {
 28687  		return invalidParams
 28688  	}
 28689  	return nil
 28690  }
 28691  
 28692  // SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
 28693  func (s *DescribeDBClusterParameterGroupsInput) SetDBClusterParameterGroupName(v string) *DescribeDBClusterParameterGroupsInput {
 28694  	s.DBClusterParameterGroupName = &v
 28695  	return s
 28696  }
 28697  
 28698  // SetFilters sets the Filters field's value.
 28699  func (s *DescribeDBClusterParameterGroupsInput) SetFilters(v []*Filter) *DescribeDBClusterParameterGroupsInput {
 28700  	s.Filters = v
 28701  	return s
 28702  }
 28703  
 28704  // SetMarker sets the Marker field's value.
 28705  func (s *DescribeDBClusterParameterGroupsInput) SetMarker(v string) *DescribeDBClusterParameterGroupsInput {
 28706  	s.Marker = &v
 28707  	return s
 28708  }
 28709  
 28710  // SetMaxRecords sets the MaxRecords field's value.
 28711  func (s *DescribeDBClusterParameterGroupsInput) SetMaxRecords(v int64) *DescribeDBClusterParameterGroupsInput {
 28712  	s.MaxRecords = &v
 28713  	return s
 28714  }
 28715  
 28716  type DescribeDBClusterParameterGroupsOutput struct {
 28717  	_ struct{} `type:"structure"`
 28718  
 28719  	// A list of DB cluster parameter groups.
 28720  	DBClusterParameterGroups []*DBClusterParameterGroup `locationNameList:"DBClusterParameterGroup" type:"list"`
 28721  
 28722  	// An optional pagination token provided by a previous DescribeDBClusterParameterGroups
 28723  	// request. If this parameter is specified, the response includes only records
 28724  	// beyond the marker, up to the value specified by MaxRecords.
 28725  	Marker *string `type:"string"`
 28726  }
 28727  
 28728  // String returns the string representation.
 28729  //
 28730  // API parameter values that are decorated as "sensitive" in the API will not
 28731  // be included in the string output. The member name will be present, but the
 28732  // value will be replaced with "sensitive".
 28733  func (s DescribeDBClusterParameterGroupsOutput) String() string {
 28734  	return awsutil.Prettify(s)
 28735  }
 28736  
 28737  // GoString returns the string representation.
 28738  //
 28739  // API parameter values that are decorated as "sensitive" in the API will not
 28740  // be included in the string output. The member name will be present, but the
 28741  // value will be replaced with "sensitive".
 28742  func (s DescribeDBClusterParameterGroupsOutput) GoString() string {
 28743  	return s.String()
 28744  }
 28745  
 28746  // SetDBClusterParameterGroups sets the DBClusterParameterGroups field's value.
 28747  func (s *DescribeDBClusterParameterGroupsOutput) SetDBClusterParameterGroups(v []*DBClusterParameterGroup) *DescribeDBClusterParameterGroupsOutput {
 28748  	s.DBClusterParameterGroups = v
 28749  	return s
 28750  }
 28751  
 28752  // SetMarker sets the Marker field's value.
 28753  func (s *DescribeDBClusterParameterGroupsOutput) SetMarker(v string) *DescribeDBClusterParameterGroupsOutput {
 28754  	s.Marker = &v
 28755  	return s
 28756  }
 28757  
 28758  type DescribeDBClusterParametersInput struct {
 28759  	_ struct{} `type:"structure"`
 28760  
 28761  	// The name of a specific DB cluster parameter group to return parameter details
 28762  	// for.
 28763  	//
 28764  	// Constraints:
 28765  	//
 28766  	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
 28767  	//
 28768  	// DBClusterParameterGroupName is a required field
 28769  	DBClusterParameterGroupName *string `type:"string" required:"true"`
 28770  
 28771  	// This parameter isn't currently supported.
 28772  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 28773  
 28774  	// An optional pagination token provided by a previous DescribeDBClusterParameters
 28775  	// request. If this parameter is specified, the response includes only records
 28776  	// beyond the marker, up to the value specified by MaxRecords.
 28777  	Marker *string `type:"string"`
 28778  
 28779  	// The maximum number of records to include in the response. If more records
 28780  	// exist than the specified MaxRecords value, a pagination token called a marker
 28781  	// is included in the response so you can retrieve the remaining results.
 28782  	//
 28783  	// Default: 100
 28784  	//
 28785  	// Constraints: Minimum 20, maximum 100.
 28786  	MaxRecords *int64 `type:"integer"`
 28787  
 28788  	// A value that indicates to return only parameters for a specific source. Parameter
 28789  	// sources can be engine, service, or customer.
 28790  	Source *string `type:"string"`
 28791  }
 28792  
 28793  // String returns the string representation.
 28794  //
 28795  // API parameter values that are decorated as "sensitive" in the API will not
 28796  // be included in the string output. The member name will be present, but the
 28797  // value will be replaced with "sensitive".
 28798  func (s DescribeDBClusterParametersInput) String() string {
 28799  	return awsutil.Prettify(s)
 28800  }
 28801  
 28802  // GoString returns the string representation.
 28803  //
 28804  // API parameter values that are decorated as "sensitive" in the API will not
 28805  // be included in the string output. The member name will be present, but the
 28806  // value will be replaced with "sensitive".
 28807  func (s DescribeDBClusterParametersInput) GoString() string {
 28808  	return s.String()
 28809  }
 28810  
 28811  // Validate inspects the fields of the type to determine if they are valid.
 28812  func (s *DescribeDBClusterParametersInput) Validate() error {
 28813  	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterParametersInput"}
 28814  	if s.DBClusterParameterGroupName == nil {
 28815  		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
 28816  	}
 28817  	if s.Filters != nil {
 28818  		for i, v := range s.Filters {
 28819  			if v == nil {
 28820  				continue
 28821  			}
 28822  			if err := v.Validate(); err != nil {
 28823  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 28824  			}
 28825  		}
 28826  	}
 28827  
 28828  	if invalidParams.Len() > 0 {
 28829  		return invalidParams
 28830  	}
 28831  	return nil
 28832  }
 28833  
 28834  // SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
 28835  func (s *DescribeDBClusterParametersInput) SetDBClusterParameterGroupName(v string) *DescribeDBClusterParametersInput {
 28836  	s.DBClusterParameterGroupName = &v
 28837  	return s
 28838  }
 28839  
 28840  // SetFilters sets the Filters field's value.
 28841  func (s *DescribeDBClusterParametersInput) SetFilters(v []*Filter) *DescribeDBClusterParametersInput {
 28842  	s.Filters = v
 28843  	return s
 28844  }
 28845  
 28846  // SetMarker sets the Marker field's value.
 28847  func (s *DescribeDBClusterParametersInput) SetMarker(v string) *DescribeDBClusterParametersInput {
 28848  	s.Marker = &v
 28849  	return s
 28850  }
 28851  
 28852  // SetMaxRecords sets the MaxRecords field's value.
 28853  func (s *DescribeDBClusterParametersInput) SetMaxRecords(v int64) *DescribeDBClusterParametersInput {
 28854  	s.MaxRecords = &v
 28855  	return s
 28856  }
 28857  
 28858  // SetSource sets the Source field's value.
 28859  func (s *DescribeDBClusterParametersInput) SetSource(v string) *DescribeDBClusterParametersInput {
 28860  	s.Source = &v
 28861  	return s
 28862  }
 28863  
 28864  // Provides details about a DB cluster parameter group including the parameters
 28865  // in the DB cluster parameter group.
 28866  type DescribeDBClusterParametersOutput struct {
 28867  	_ struct{} `type:"structure"`
 28868  
 28869  	// An optional pagination token provided by a previous DescribeDBClusterParameters
 28870  	// request. If this parameter is specified, the response includes only records
 28871  	// beyond the marker, up to the value specified by MaxRecords .
 28872  	Marker *string `type:"string"`
 28873  
 28874  	// Provides a list of parameters for the DB cluster parameter group.
 28875  	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
 28876  }
 28877  
 28878  // String returns the string representation.
 28879  //
 28880  // API parameter values that are decorated as "sensitive" in the API will not
 28881  // be included in the string output. The member name will be present, but the
 28882  // value will be replaced with "sensitive".
 28883  func (s DescribeDBClusterParametersOutput) String() string {
 28884  	return awsutil.Prettify(s)
 28885  }
 28886  
 28887  // GoString returns the string representation.
 28888  //
 28889  // API parameter values that are decorated as "sensitive" in the API will not
 28890  // be included in the string output. The member name will be present, but the
 28891  // value will be replaced with "sensitive".
 28892  func (s DescribeDBClusterParametersOutput) GoString() string {
 28893  	return s.String()
 28894  }
 28895  
 28896  // SetMarker sets the Marker field's value.
 28897  func (s *DescribeDBClusterParametersOutput) SetMarker(v string) *DescribeDBClusterParametersOutput {
 28898  	s.Marker = &v
 28899  	return s
 28900  }
 28901  
 28902  // SetParameters sets the Parameters field's value.
 28903  func (s *DescribeDBClusterParametersOutput) SetParameters(v []*Parameter) *DescribeDBClusterParametersOutput {
 28904  	s.Parameters = v
 28905  	return s
 28906  }
 28907  
 28908  type DescribeDBClusterSnapshotAttributesInput struct {
 28909  	_ struct{} `type:"structure"`
 28910  
 28911  	// The identifier for the DB cluster snapshot to describe the attributes for.
 28912  	//
 28913  	// DBClusterSnapshotIdentifier is a required field
 28914  	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
 28915  }
 28916  
 28917  // String returns the string representation.
 28918  //
 28919  // API parameter values that are decorated as "sensitive" in the API will not
 28920  // be included in the string output. The member name will be present, but the
 28921  // value will be replaced with "sensitive".
 28922  func (s DescribeDBClusterSnapshotAttributesInput) String() string {
 28923  	return awsutil.Prettify(s)
 28924  }
 28925  
 28926  // GoString returns the string representation.
 28927  //
 28928  // API parameter values that are decorated as "sensitive" in the API will not
 28929  // be included in the string output. The member name will be present, but the
 28930  // value will be replaced with "sensitive".
 28931  func (s DescribeDBClusterSnapshotAttributesInput) GoString() string {
 28932  	return s.String()
 28933  }
 28934  
 28935  // Validate inspects the fields of the type to determine if they are valid.
 28936  func (s *DescribeDBClusterSnapshotAttributesInput) Validate() error {
 28937  	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterSnapshotAttributesInput"}
 28938  	if s.DBClusterSnapshotIdentifier == nil {
 28939  		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
 28940  	}
 28941  
 28942  	if invalidParams.Len() > 0 {
 28943  		return invalidParams
 28944  	}
 28945  	return nil
 28946  }
 28947  
 28948  // SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
 28949  func (s *DescribeDBClusterSnapshotAttributesInput) SetDBClusterSnapshotIdentifier(v string) *DescribeDBClusterSnapshotAttributesInput {
 28950  	s.DBClusterSnapshotIdentifier = &v
 28951  	return s
 28952  }
 28953  
 28954  type DescribeDBClusterSnapshotAttributesOutput struct {
 28955  	_ struct{} `type:"structure"`
 28956  
 28957  	// Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes
 28958  	// API action.
 28959  	//
 28960  	// Manual DB cluster snapshot attributes are used to authorize other Amazon
 28961  	// Web Services accounts to copy or restore a manual DB cluster snapshot. For
 28962  	// more information, see the ModifyDBClusterSnapshotAttribute API action.
 28963  	DBClusterSnapshotAttributesResult *DBClusterSnapshotAttributesResult `type:"structure"`
 28964  }
 28965  
 28966  // String returns the string representation.
 28967  //
 28968  // API parameter values that are decorated as "sensitive" in the API will not
 28969  // be included in the string output. The member name will be present, but the
 28970  // value will be replaced with "sensitive".
 28971  func (s DescribeDBClusterSnapshotAttributesOutput) String() string {
 28972  	return awsutil.Prettify(s)
 28973  }
 28974  
 28975  // GoString returns the string representation.
 28976  //
 28977  // API parameter values that are decorated as "sensitive" in the API will not
 28978  // be included in the string output. The member name will be present, but the
 28979  // value will be replaced with "sensitive".
 28980  func (s DescribeDBClusterSnapshotAttributesOutput) GoString() string {
 28981  	return s.String()
 28982  }
 28983  
 28984  // SetDBClusterSnapshotAttributesResult sets the DBClusterSnapshotAttributesResult field's value.
 28985  func (s *DescribeDBClusterSnapshotAttributesOutput) SetDBClusterSnapshotAttributesResult(v *DBClusterSnapshotAttributesResult) *DescribeDBClusterSnapshotAttributesOutput {
 28986  	s.DBClusterSnapshotAttributesResult = v
 28987  	return s
 28988  }
 28989  
 28990  type DescribeDBClusterSnapshotsInput struct {
 28991  	_ struct{} `type:"structure"`
 28992  
 28993  	// The ID of the DB cluster to retrieve the list of DB cluster snapshots for.
 28994  	// This parameter can't be used in conjunction with the DBClusterSnapshotIdentifier
 28995  	// parameter. This parameter isn't case-sensitive.
 28996  	//
 28997  	// Constraints:
 28998  	//
 28999  	//    * If supplied, must match the identifier of an existing DBCluster.
 29000  	DBClusterIdentifier *string `type:"string"`
 29001  
 29002  	// A specific DB cluster snapshot identifier to describe. This parameter can't
 29003  	// be used in conjunction with the DBClusterIdentifier parameter. This value
 29004  	// is stored as a lowercase string.
 29005  	//
 29006  	// Constraints:
 29007  	//
 29008  	//    * If supplied, must match the identifier of an existing DBClusterSnapshot.
 29009  	//
 29010  	//    * If this identifier is for an automated snapshot, the SnapshotType parameter
 29011  	//    must also be specified.
 29012  	DBClusterSnapshotIdentifier *string `type:"string"`
 29013  
 29014  	// A filter that specifies one or more DB cluster snapshots to describe.
 29015  	//
 29016  	// Supported filters:
 29017  	//
 29018  	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
 29019  	//    Resource Names (ARNs).
 29020  	//
 29021  	//    * db-cluster-snapshot-id - Accepts DB cluster snapshot identifiers.
 29022  	//
 29023  	//    * snapshot-type - Accepts types of DB cluster snapshots.
 29024  	//
 29025  	//    * engine - Accepts names of database engines.
 29026  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 29027  
 29028  	// A value that indicates whether to include manual DB cluster snapshots that
 29029  	// are public and can be copied or restored by any Amazon Web Services account.
 29030  	// By default, the public snapshots are not included.
 29031  	//
 29032  	// You can share a manual DB cluster snapshot as public by using the ModifyDBClusterSnapshotAttribute
 29033  	// API action.
 29034  	IncludePublic *bool `type:"boolean"`
 29035  
 29036  	// A value that indicates whether to include shared manual DB cluster snapshots
 29037  	// from other Amazon Web Services accounts that this Amazon Web Services account
 29038  	// has been given permission to copy or restore. By default, these snapshots
 29039  	// are not included.
 29040  	//
 29041  	// You can give an Amazon Web Services account permission to restore a manual
 29042  	// DB cluster snapshot from another Amazon Web Services account by the ModifyDBClusterSnapshotAttribute
 29043  	// API action.
 29044  	IncludeShared *bool `type:"boolean"`
 29045  
 29046  	// An optional pagination token provided by a previous DescribeDBClusterSnapshots
 29047  	// request. If this parameter is specified, the response includes only records
 29048  	// beyond the marker, up to the value specified by MaxRecords.
 29049  	Marker *string `type:"string"`
 29050  
 29051  	// The maximum number of records to include in the response. If more records
 29052  	// exist than the specified MaxRecords value, a pagination token called a marker
 29053  	// is included in the response so you can retrieve the remaining results.
 29054  	//
 29055  	// Default: 100
 29056  	//
 29057  	// Constraints: Minimum 20, maximum 100.
 29058  	MaxRecords *int64 `type:"integer"`
 29059  
 29060  	// The type of DB cluster snapshots to be returned. You can specify one of the
 29061  	// following values:
 29062  	//
 29063  	//    * automated - Return all DB cluster snapshots that have been automatically
 29064  	//    taken by Amazon RDS for my Amazon Web Services account.
 29065  	//
 29066  	//    * manual - Return all DB cluster snapshots that have been taken by my
 29067  	//    Amazon Web Services account.
 29068  	//
 29069  	//    * shared - Return all manual DB cluster snapshots that have been shared
 29070  	//    to my Amazon Web Services account.
 29071  	//
 29072  	//    * public - Return all DB cluster snapshots that have been marked as public.
 29073  	//
 29074  	// If you don't specify a SnapshotType value, then both automated and manual
 29075  	// DB cluster snapshots are returned. You can include shared DB cluster snapshots
 29076  	// with these results by enabling the IncludeShared parameter. You can include
 29077  	// public DB cluster snapshots with these results by enabling the IncludePublic
 29078  	// parameter.
 29079  	//
 29080  	// The IncludeShared and IncludePublic parameters don't apply for SnapshotType
 29081  	// values of manual or automated. The IncludePublic parameter doesn't apply
 29082  	// when SnapshotType is set to shared. The IncludeShared parameter doesn't apply
 29083  	// when SnapshotType is set to public.
 29084  	SnapshotType *string `type:"string"`
 29085  }
 29086  
 29087  // String returns the string representation.
 29088  //
 29089  // API parameter values that are decorated as "sensitive" in the API will not
 29090  // be included in the string output. The member name will be present, but the
 29091  // value will be replaced with "sensitive".
 29092  func (s DescribeDBClusterSnapshotsInput) String() string {
 29093  	return awsutil.Prettify(s)
 29094  }
 29095  
 29096  // GoString returns the string representation.
 29097  //
 29098  // API parameter values that are decorated as "sensitive" in the API will not
 29099  // be included in the string output. The member name will be present, but the
 29100  // value will be replaced with "sensitive".
 29101  func (s DescribeDBClusterSnapshotsInput) GoString() string {
 29102  	return s.String()
 29103  }
 29104  
 29105  // Validate inspects the fields of the type to determine if they are valid.
 29106  func (s *DescribeDBClusterSnapshotsInput) Validate() error {
 29107  	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterSnapshotsInput"}
 29108  	if s.Filters != nil {
 29109  		for i, v := range s.Filters {
 29110  			if v == nil {
 29111  				continue
 29112  			}
 29113  			if err := v.Validate(); err != nil {
 29114  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 29115  			}
 29116  		}
 29117  	}
 29118  
 29119  	if invalidParams.Len() > 0 {
 29120  		return invalidParams
 29121  	}
 29122  	return nil
 29123  }
 29124  
 29125  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 29126  func (s *DescribeDBClusterSnapshotsInput) SetDBClusterIdentifier(v string) *DescribeDBClusterSnapshotsInput {
 29127  	s.DBClusterIdentifier = &v
 29128  	return s
 29129  }
 29130  
 29131  // SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
 29132  func (s *DescribeDBClusterSnapshotsInput) SetDBClusterSnapshotIdentifier(v string) *DescribeDBClusterSnapshotsInput {
 29133  	s.DBClusterSnapshotIdentifier = &v
 29134  	return s
 29135  }
 29136  
 29137  // SetFilters sets the Filters field's value.
 29138  func (s *DescribeDBClusterSnapshotsInput) SetFilters(v []*Filter) *DescribeDBClusterSnapshotsInput {
 29139  	s.Filters = v
 29140  	return s
 29141  }
 29142  
 29143  // SetIncludePublic sets the IncludePublic field's value.
 29144  func (s *DescribeDBClusterSnapshotsInput) SetIncludePublic(v bool) *DescribeDBClusterSnapshotsInput {
 29145  	s.IncludePublic = &v
 29146  	return s
 29147  }
 29148  
 29149  // SetIncludeShared sets the IncludeShared field's value.
 29150  func (s *DescribeDBClusterSnapshotsInput) SetIncludeShared(v bool) *DescribeDBClusterSnapshotsInput {
 29151  	s.IncludeShared = &v
 29152  	return s
 29153  }
 29154  
 29155  // SetMarker sets the Marker field's value.
 29156  func (s *DescribeDBClusterSnapshotsInput) SetMarker(v string) *DescribeDBClusterSnapshotsInput {
 29157  	s.Marker = &v
 29158  	return s
 29159  }
 29160  
 29161  // SetMaxRecords sets the MaxRecords field's value.
 29162  func (s *DescribeDBClusterSnapshotsInput) SetMaxRecords(v int64) *DescribeDBClusterSnapshotsInput {
 29163  	s.MaxRecords = &v
 29164  	return s
 29165  }
 29166  
 29167  // SetSnapshotType sets the SnapshotType field's value.
 29168  func (s *DescribeDBClusterSnapshotsInput) SetSnapshotType(v string) *DescribeDBClusterSnapshotsInput {
 29169  	s.SnapshotType = &v
 29170  	return s
 29171  }
 29172  
 29173  // Provides a list of DB cluster snapshots for the user as the result of a call
 29174  // to the DescribeDBClusterSnapshots action.
 29175  type DescribeDBClusterSnapshotsOutput struct {
 29176  	_ struct{} `type:"structure"`
 29177  
 29178  	// Provides a list of DB cluster snapshots for the user.
 29179  	DBClusterSnapshots []*DBClusterSnapshot `locationNameList:"DBClusterSnapshot" type:"list"`
 29180  
 29181  	// An optional pagination token provided by a previous DescribeDBClusterSnapshots
 29182  	// request. If this parameter is specified, the response includes only records
 29183  	// beyond the marker, up to the value specified by MaxRecords.
 29184  	Marker *string `type:"string"`
 29185  }
 29186  
 29187  // String returns the string representation.
 29188  //
 29189  // API parameter values that are decorated as "sensitive" in the API will not
 29190  // be included in the string output. The member name will be present, but the
 29191  // value will be replaced with "sensitive".
 29192  func (s DescribeDBClusterSnapshotsOutput) String() string {
 29193  	return awsutil.Prettify(s)
 29194  }
 29195  
 29196  // GoString returns the string representation.
 29197  //
 29198  // API parameter values that are decorated as "sensitive" in the API will not
 29199  // be included in the string output. The member name will be present, but the
 29200  // value will be replaced with "sensitive".
 29201  func (s DescribeDBClusterSnapshotsOutput) GoString() string {
 29202  	return s.String()
 29203  }
 29204  
 29205  // SetDBClusterSnapshots sets the DBClusterSnapshots field's value.
 29206  func (s *DescribeDBClusterSnapshotsOutput) SetDBClusterSnapshots(v []*DBClusterSnapshot) *DescribeDBClusterSnapshotsOutput {
 29207  	s.DBClusterSnapshots = v
 29208  	return s
 29209  }
 29210  
 29211  // SetMarker sets the Marker field's value.
 29212  func (s *DescribeDBClusterSnapshotsOutput) SetMarker(v string) *DescribeDBClusterSnapshotsOutput {
 29213  	s.Marker = &v
 29214  	return s
 29215  }
 29216  
 29217  type DescribeDBClustersInput struct {
 29218  	_ struct{} `type:"structure"`
 29219  
 29220  	// The user-supplied DB cluster identifier. If this parameter is specified,
 29221  	// information from only the specific DB cluster is returned. This parameter
 29222  	// isn't case-sensitive.
 29223  	//
 29224  	// Constraints:
 29225  	//
 29226  	//    * If supplied, must match an existing DBClusterIdentifier.
 29227  	DBClusterIdentifier *string `type:"string"`
 29228  
 29229  	// A filter that specifies one or more DB clusters to describe.
 29230  	//
 29231  	// Supported filters:
 29232  	//
 29233  	//    * clone-group-id - Accepts clone group identifiers. The results list will
 29234  	//    only include information about the DB clusters associated with these clone
 29235  	//    groups.
 29236  	//
 29237  	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
 29238  	//    Resource Names (ARNs). The results list will only include information
 29239  	//    about the DB clusters identified by these ARNs.
 29240  	//
 29241  	//    * domain - Accepts Active Directory directory IDs. The results list will
 29242  	//    only include information about the DB clusters associated with these domains.
 29243  	//
 29244  	//    * engine - Accepts engine names. The results list will only include information
 29245  	//    about the DB clusters for these engines.
 29246  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 29247  
 29248  	// Optional Boolean parameter that specifies whether the output includes information
 29249  	// about clusters shared from other Amazon Web Services accounts.
 29250  	IncludeShared *bool `type:"boolean"`
 29251  
 29252  	// An optional pagination token provided by a previous DescribeDBClusters request.
 29253  	// If this parameter is specified, the response includes only records beyond
 29254  	// the marker, up to the value specified by MaxRecords.
 29255  	Marker *string `type:"string"`
 29256  
 29257  	// The maximum number of records to include in the response. If more records
 29258  	// exist than the specified MaxRecords value, a pagination token called a marker
 29259  	// is included in the response so you can retrieve the remaining results.
 29260  	//
 29261  	// Default: 100
 29262  	//
 29263  	// Constraints: Minimum 20, maximum 100.
 29264  	MaxRecords *int64 `type:"integer"`
 29265  }
 29266  
 29267  // String returns the string representation.
 29268  //
 29269  // API parameter values that are decorated as "sensitive" in the API will not
 29270  // be included in the string output. The member name will be present, but the
 29271  // value will be replaced with "sensitive".
 29272  func (s DescribeDBClustersInput) String() string {
 29273  	return awsutil.Prettify(s)
 29274  }
 29275  
 29276  // GoString returns the string representation.
 29277  //
 29278  // API parameter values that are decorated as "sensitive" in the API will not
 29279  // be included in the string output. The member name will be present, but the
 29280  // value will be replaced with "sensitive".
 29281  func (s DescribeDBClustersInput) GoString() string {
 29282  	return s.String()
 29283  }
 29284  
 29285  // Validate inspects the fields of the type to determine if they are valid.
 29286  func (s *DescribeDBClustersInput) Validate() error {
 29287  	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClustersInput"}
 29288  	if s.Filters != nil {
 29289  		for i, v := range s.Filters {
 29290  			if v == nil {
 29291  				continue
 29292  			}
 29293  			if err := v.Validate(); err != nil {
 29294  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 29295  			}
 29296  		}
 29297  	}
 29298  
 29299  	if invalidParams.Len() > 0 {
 29300  		return invalidParams
 29301  	}
 29302  	return nil
 29303  }
 29304  
 29305  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 29306  func (s *DescribeDBClustersInput) SetDBClusterIdentifier(v string) *DescribeDBClustersInput {
 29307  	s.DBClusterIdentifier = &v
 29308  	return s
 29309  }
 29310  
 29311  // SetFilters sets the Filters field's value.
 29312  func (s *DescribeDBClustersInput) SetFilters(v []*Filter) *DescribeDBClustersInput {
 29313  	s.Filters = v
 29314  	return s
 29315  }
 29316  
 29317  // SetIncludeShared sets the IncludeShared field's value.
 29318  func (s *DescribeDBClustersInput) SetIncludeShared(v bool) *DescribeDBClustersInput {
 29319  	s.IncludeShared = &v
 29320  	return s
 29321  }
 29322  
 29323  // SetMarker sets the Marker field's value.
 29324  func (s *DescribeDBClustersInput) SetMarker(v string) *DescribeDBClustersInput {
 29325  	s.Marker = &v
 29326  	return s
 29327  }
 29328  
 29329  // SetMaxRecords sets the MaxRecords field's value.
 29330  func (s *DescribeDBClustersInput) SetMaxRecords(v int64) *DescribeDBClustersInput {
 29331  	s.MaxRecords = &v
 29332  	return s
 29333  }
 29334  
 29335  // Contains the result of a successful invocation of the DescribeDBClusters
 29336  // action.
 29337  type DescribeDBClustersOutput struct {
 29338  	_ struct{} `type:"structure"`
 29339  
 29340  	// Contains a list of DB clusters for the user.
 29341  	DBClusters []*DBCluster `locationNameList:"DBCluster" type:"list"`
 29342  
 29343  	// A pagination token that can be used in a later DescribeDBClusters request.
 29344  	Marker *string `type:"string"`
 29345  }
 29346  
 29347  // String returns the string representation.
 29348  //
 29349  // API parameter values that are decorated as "sensitive" in the API will not
 29350  // be included in the string output. The member name will be present, but the
 29351  // value will be replaced with "sensitive".
 29352  func (s DescribeDBClustersOutput) String() string {
 29353  	return awsutil.Prettify(s)
 29354  }
 29355  
 29356  // GoString returns the string representation.
 29357  //
 29358  // API parameter values that are decorated as "sensitive" in the API will not
 29359  // be included in the string output. The member name will be present, but the
 29360  // value will be replaced with "sensitive".
 29361  func (s DescribeDBClustersOutput) GoString() string {
 29362  	return s.String()
 29363  }
 29364  
 29365  // SetDBClusters sets the DBClusters field's value.
 29366  func (s *DescribeDBClustersOutput) SetDBClusters(v []*DBCluster) *DescribeDBClustersOutput {
 29367  	s.DBClusters = v
 29368  	return s
 29369  }
 29370  
 29371  // SetMarker sets the Marker field's value.
 29372  func (s *DescribeDBClustersOutput) SetMarker(v string) *DescribeDBClustersOutput {
 29373  	s.Marker = &v
 29374  	return s
 29375  }
 29376  
 29377  type DescribeDBEngineVersionsInput struct {
 29378  	_ struct{} `type:"structure"`
 29379  
 29380  	// The name of a specific DB parameter group family to return details for.
 29381  	//
 29382  	// Constraints:
 29383  	//
 29384  	//    * If supplied, must match an existing DBParameterGroupFamily.
 29385  	DBParameterGroupFamily *string `type:"string"`
 29386  
 29387  	// A value that indicates whether only the default version of the specified
 29388  	// engine or engine and major version combination is returned.
 29389  	DefaultOnly *bool `type:"boolean"`
 29390  
 29391  	// The database engine to return.
 29392  	//
 29393  	// Valid Values:
 29394  	//
 29395  	//    * aurora (for MySQL 5.6-compatible Aurora)
 29396  	//
 29397  	//    * aurora-mysql (for MySQL 5.7-compatible Aurora)
 29398  	//
 29399  	//    * aurora-postgresql
 29400  	//
 29401  	//    * mariadb
 29402  	//
 29403  	//    * mysql
 29404  	//
 29405  	//    * oracle-ee
 29406  	//
 29407  	//    * oracle-ee-cdb
 29408  	//
 29409  	//    * oracle-se2
 29410  	//
 29411  	//    * oracle-se2-cdb
 29412  	//
 29413  	//    * postgres
 29414  	//
 29415  	//    * sqlserver-ee
 29416  	//
 29417  	//    * sqlserver-se
 29418  	//
 29419  	//    * sqlserver-ex
 29420  	//
 29421  	//    * sqlserver-web
 29422  	Engine *string `type:"string"`
 29423  
 29424  	// The database engine version to return.
 29425  	//
 29426  	// Example: 5.1.49
 29427  	EngineVersion *string `type:"string"`
 29428  
 29429  	// This parameter isn't currently supported.
 29430  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 29431  
 29432  	// A value that indicates whether to include engine versions that aren't available
 29433  	// in the list. The default is to list only available engine versions.
 29434  	IncludeAll *bool `type:"boolean"`
 29435  
 29436  	// A value that indicates whether to list the supported character sets for each
 29437  	// engine version.
 29438  	//
 29439  	// If this parameter is enabled and the requested engine supports the CharacterSetName
 29440  	// parameter for CreateDBInstance, the response includes a list of supported
 29441  	// character sets for each engine version.
 29442  	ListSupportedCharacterSets *bool `type:"boolean"`
 29443  
 29444  	// A value that indicates whether to list the supported time zones for each
 29445  	// engine version.
 29446  	//
 29447  	// If this parameter is enabled and the requested engine supports the TimeZone
 29448  	// parameter for CreateDBInstance, the response includes a list of supported
 29449  	// time zones for each engine version.
 29450  	ListSupportedTimezones *bool `type:"boolean"`
 29451  
 29452  	// An optional pagination token provided by a previous request. If this parameter
 29453  	// is specified, the response includes only records beyond the marker, up to
 29454  	// the value specified by MaxRecords.
 29455  	Marker *string `type:"string"`
 29456  
 29457  	// The maximum number of records to include in the response. If more than the
 29458  	// MaxRecords value is available, a pagination token called a marker is included
 29459  	// in the response so you can retrieve the remaining results.
 29460  	//
 29461  	// Default: 100
 29462  	//
 29463  	// Constraints: Minimum 20, maximum 100.
 29464  	MaxRecords *int64 `type:"integer"`
 29465  }
 29466  
 29467  // String returns the string representation.
 29468  //
 29469  // API parameter values that are decorated as "sensitive" in the API will not
 29470  // be included in the string output. The member name will be present, but the
 29471  // value will be replaced with "sensitive".
 29472  func (s DescribeDBEngineVersionsInput) String() string {
 29473  	return awsutil.Prettify(s)
 29474  }
 29475  
 29476  // GoString returns the string representation.
 29477  //
 29478  // API parameter values that are decorated as "sensitive" in the API will not
 29479  // be included in the string output. The member name will be present, but the
 29480  // value will be replaced with "sensitive".
 29481  func (s DescribeDBEngineVersionsInput) GoString() string {
 29482  	return s.String()
 29483  }
 29484  
 29485  // Validate inspects the fields of the type to determine if they are valid.
 29486  func (s *DescribeDBEngineVersionsInput) Validate() error {
 29487  	invalidParams := request.ErrInvalidParams{Context: "DescribeDBEngineVersionsInput"}
 29488  	if s.Filters != nil {
 29489  		for i, v := range s.Filters {
 29490  			if v == nil {
 29491  				continue
 29492  			}
 29493  			if err := v.Validate(); err != nil {
 29494  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 29495  			}
 29496  		}
 29497  	}
 29498  
 29499  	if invalidParams.Len() > 0 {
 29500  		return invalidParams
 29501  	}
 29502  	return nil
 29503  }
 29504  
 29505  // SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
 29506  func (s *DescribeDBEngineVersionsInput) SetDBParameterGroupFamily(v string) *DescribeDBEngineVersionsInput {
 29507  	s.DBParameterGroupFamily = &v
 29508  	return s
 29509  }
 29510  
 29511  // SetDefaultOnly sets the DefaultOnly field's value.
 29512  func (s *DescribeDBEngineVersionsInput) SetDefaultOnly(v bool) *DescribeDBEngineVersionsInput {
 29513  	s.DefaultOnly = &v
 29514  	return s
 29515  }
 29516  
 29517  // SetEngine sets the Engine field's value.
 29518  func (s *DescribeDBEngineVersionsInput) SetEngine(v string) *DescribeDBEngineVersionsInput {
 29519  	s.Engine = &v
 29520  	return s
 29521  }
 29522  
 29523  // SetEngineVersion sets the EngineVersion field's value.
 29524  func (s *DescribeDBEngineVersionsInput) SetEngineVersion(v string) *DescribeDBEngineVersionsInput {
 29525  	s.EngineVersion = &v
 29526  	return s
 29527  }
 29528  
 29529  // SetFilters sets the Filters field's value.
 29530  func (s *DescribeDBEngineVersionsInput) SetFilters(v []*Filter) *DescribeDBEngineVersionsInput {
 29531  	s.Filters = v
 29532  	return s
 29533  }
 29534  
 29535  // SetIncludeAll sets the IncludeAll field's value.
 29536  func (s *DescribeDBEngineVersionsInput) SetIncludeAll(v bool) *DescribeDBEngineVersionsInput {
 29537  	s.IncludeAll = &v
 29538  	return s
 29539  }
 29540  
 29541  // SetListSupportedCharacterSets sets the ListSupportedCharacterSets field's value.
 29542  func (s *DescribeDBEngineVersionsInput) SetListSupportedCharacterSets(v bool) *DescribeDBEngineVersionsInput {
 29543  	s.ListSupportedCharacterSets = &v
 29544  	return s
 29545  }
 29546  
 29547  // SetListSupportedTimezones sets the ListSupportedTimezones field's value.
 29548  func (s *DescribeDBEngineVersionsInput) SetListSupportedTimezones(v bool) *DescribeDBEngineVersionsInput {
 29549  	s.ListSupportedTimezones = &v
 29550  	return s
 29551  }
 29552  
 29553  // SetMarker sets the Marker field's value.
 29554  func (s *DescribeDBEngineVersionsInput) SetMarker(v string) *DescribeDBEngineVersionsInput {
 29555  	s.Marker = &v
 29556  	return s
 29557  }
 29558  
 29559  // SetMaxRecords sets the MaxRecords field's value.
 29560  func (s *DescribeDBEngineVersionsInput) SetMaxRecords(v int64) *DescribeDBEngineVersionsInput {
 29561  	s.MaxRecords = &v
 29562  	return s
 29563  }
 29564  
 29565  // Contains the result of a successful invocation of the DescribeDBEngineVersions
 29566  // action.
 29567  type DescribeDBEngineVersionsOutput struct {
 29568  	_ struct{} `type:"structure"`
 29569  
 29570  	// A list of DBEngineVersion elements.
 29571  	DBEngineVersions []*DBEngineVersion `locationNameList:"DBEngineVersion" type:"list"`
 29572  
 29573  	// An optional pagination token provided by a previous request. If this parameter
 29574  	// is specified, the response includes only records beyond the marker, up to
 29575  	// the value specified by MaxRecords.
 29576  	Marker *string `type:"string"`
 29577  }
 29578  
 29579  // String returns the string representation.
 29580  //
 29581  // API parameter values that are decorated as "sensitive" in the API will not
 29582  // be included in the string output. The member name will be present, but the
 29583  // value will be replaced with "sensitive".
 29584  func (s DescribeDBEngineVersionsOutput) String() string {
 29585  	return awsutil.Prettify(s)
 29586  }
 29587  
 29588  // GoString returns the string representation.
 29589  //
 29590  // API parameter values that are decorated as "sensitive" in the API will not
 29591  // be included in the string output. The member name will be present, but the
 29592  // value will be replaced with "sensitive".
 29593  func (s DescribeDBEngineVersionsOutput) GoString() string {
 29594  	return s.String()
 29595  }
 29596  
 29597  // SetDBEngineVersions sets the DBEngineVersions field's value.
 29598  func (s *DescribeDBEngineVersionsOutput) SetDBEngineVersions(v []*DBEngineVersion) *DescribeDBEngineVersionsOutput {
 29599  	s.DBEngineVersions = v
 29600  	return s
 29601  }
 29602  
 29603  // SetMarker sets the Marker field's value.
 29604  func (s *DescribeDBEngineVersionsOutput) SetMarker(v string) *DescribeDBEngineVersionsOutput {
 29605  	s.Marker = &v
 29606  	return s
 29607  }
 29608  
 29609  // Parameter input for DescribeDBInstanceAutomatedBackups.
 29610  type DescribeDBInstanceAutomatedBackupsInput struct {
 29611  	_ struct{} `type:"structure"`
 29612  
 29613  	// The Amazon Resource Name (ARN) of the replicated automated backups, for example,
 29614  	// arn:aws:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE.
 29615  	DBInstanceAutomatedBackupsArn *string `type:"string"`
 29616  
 29617  	// (Optional) The user-supplied instance identifier. If this parameter is specified,
 29618  	// it must match the identifier of an existing DB instance. It returns information
 29619  	// from the specific DB instance' automated backup. This parameter isn't case-sensitive.
 29620  	DBInstanceIdentifier *string `type:"string"`
 29621  
 29622  	// The resource ID of the DB instance that is the source of the automated backup.
 29623  	// This parameter isn't case-sensitive.
 29624  	DbiResourceId *string `type:"string"`
 29625  
 29626  	// A filter that specifies which resources to return based on status.
 29627  	//
 29628  	// Supported filters are the following:
 29629  	//
 29630  	//    * status active - automated backups for current instances retained - automated
 29631  	//    backups for deleted instances and after backup replication is stopped
 29632  	//    creating - automated backups that are waiting for the first automated
 29633  	//    snapshot to be available
 29634  	//
 29635  	//    * db-instance-id - Accepts DB instance identifiers and Amazon Resource
 29636  	//    Names (ARNs). The results list includes only information about the DB
 29637  	//    instance automated backups identified by these ARNs.
 29638  	//
 29639  	//    * dbi-resource-id - Accepts DB resource identifiers and Amazon Resource
 29640  	//    Names (ARNs). The results list includes only information about the DB
 29641  	//    instance resources identified by these ARNs.
 29642  	//
 29643  	// Returns all resources by default. The status for each resource is specified
 29644  	// in the response.
 29645  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 29646  
 29647  	// The pagination token provided in the previous request. If this parameter
 29648  	// is specified the response includes only records beyond the marker, up to
 29649  	// MaxRecords.
 29650  	Marker *string `type:"string"`
 29651  
 29652  	// The maximum number of records to include in the response. If more records
 29653  	// exist than the specified MaxRecords value, a pagination token called a marker
 29654  	// is included in the response so that you can retrieve the remaining results.
 29655  	MaxRecords *int64 `type:"integer"`
 29656  }
 29657  
 29658  // String returns the string representation.
 29659  //
 29660  // API parameter values that are decorated as "sensitive" in the API will not
 29661  // be included in the string output. The member name will be present, but the
 29662  // value will be replaced with "sensitive".
 29663  func (s DescribeDBInstanceAutomatedBackupsInput) String() string {
 29664  	return awsutil.Prettify(s)
 29665  }
 29666  
 29667  // GoString returns the string representation.
 29668  //
 29669  // API parameter values that are decorated as "sensitive" in the API will not
 29670  // be included in the string output. The member name will be present, but the
 29671  // value will be replaced with "sensitive".
 29672  func (s DescribeDBInstanceAutomatedBackupsInput) GoString() string {
 29673  	return s.String()
 29674  }
 29675  
 29676  // Validate inspects the fields of the type to determine if they are valid.
 29677  func (s *DescribeDBInstanceAutomatedBackupsInput) Validate() error {
 29678  	invalidParams := request.ErrInvalidParams{Context: "DescribeDBInstanceAutomatedBackupsInput"}
 29679  	if s.Filters != nil {
 29680  		for i, v := range s.Filters {
 29681  			if v == nil {
 29682  				continue
 29683  			}
 29684  			if err := v.Validate(); err != nil {
 29685  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 29686  			}
 29687  		}
 29688  	}
 29689  
 29690  	if invalidParams.Len() > 0 {
 29691  		return invalidParams
 29692  	}
 29693  	return nil
 29694  }
 29695  
 29696  // SetDBInstanceAutomatedBackupsArn sets the DBInstanceAutomatedBackupsArn field's value.
 29697  func (s *DescribeDBInstanceAutomatedBackupsInput) SetDBInstanceAutomatedBackupsArn(v string) *DescribeDBInstanceAutomatedBackupsInput {
 29698  	s.DBInstanceAutomatedBackupsArn = &v
 29699  	return s
 29700  }
 29701  
 29702  // SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
 29703  func (s *DescribeDBInstanceAutomatedBackupsInput) SetDBInstanceIdentifier(v string) *DescribeDBInstanceAutomatedBackupsInput {
 29704  	s.DBInstanceIdentifier = &v
 29705  	return s
 29706  }
 29707  
 29708  // SetDbiResourceId sets the DbiResourceId field's value.
 29709  func (s *DescribeDBInstanceAutomatedBackupsInput) SetDbiResourceId(v string) *DescribeDBInstanceAutomatedBackupsInput {
 29710  	s.DbiResourceId = &v
 29711  	return s
 29712  }
 29713  
 29714  // SetFilters sets the Filters field's value.
 29715  func (s *DescribeDBInstanceAutomatedBackupsInput) SetFilters(v []*Filter) *DescribeDBInstanceAutomatedBackupsInput {
 29716  	s.Filters = v
 29717  	return s
 29718  }
 29719  
 29720  // SetMarker sets the Marker field's value.
 29721  func (s *DescribeDBInstanceAutomatedBackupsInput) SetMarker(v string) *DescribeDBInstanceAutomatedBackupsInput {
 29722  	s.Marker = &v
 29723  	return s
 29724  }
 29725  
 29726  // SetMaxRecords sets the MaxRecords field's value.
 29727  func (s *DescribeDBInstanceAutomatedBackupsInput) SetMaxRecords(v int64) *DescribeDBInstanceAutomatedBackupsInput {
 29728  	s.MaxRecords = &v
 29729  	return s
 29730  }
 29731  
 29732  // Contains the result of a successful invocation of the DescribeDBInstanceAutomatedBackups
 29733  // action.
 29734  type DescribeDBInstanceAutomatedBackupsOutput struct {
 29735  	_ struct{} `type:"structure"`
 29736  
 29737  	// A list of DBInstanceAutomatedBackup instances.
 29738  	DBInstanceAutomatedBackups []*DBInstanceAutomatedBackup `locationNameList:"DBInstanceAutomatedBackup" type:"list"`
 29739  
 29740  	// An optional pagination token provided by a previous request. If this parameter
 29741  	// is specified, the response includes only records beyond the marker, up to
 29742  	// the value specified by MaxRecords .
 29743  	Marker *string `type:"string"`
 29744  }
 29745  
 29746  // String returns the string representation.
 29747  //
 29748  // API parameter values that are decorated as "sensitive" in the API will not
 29749  // be included in the string output. The member name will be present, but the
 29750  // value will be replaced with "sensitive".
 29751  func (s DescribeDBInstanceAutomatedBackupsOutput) String() string {
 29752  	return awsutil.Prettify(s)
 29753  }
 29754  
 29755  // GoString returns the string representation.
 29756  //
 29757  // API parameter values that are decorated as "sensitive" in the API will not
 29758  // be included in the string output. The member name will be present, but the
 29759  // value will be replaced with "sensitive".
 29760  func (s DescribeDBInstanceAutomatedBackupsOutput) GoString() string {
 29761  	return s.String()
 29762  }
 29763  
 29764  // SetDBInstanceAutomatedBackups sets the DBInstanceAutomatedBackups field's value.
 29765  func (s *DescribeDBInstanceAutomatedBackupsOutput) SetDBInstanceAutomatedBackups(v []*DBInstanceAutomatedBackup) *DescribeDBInstanceAutomatedBackupsOutput {
 29766  	s.DBInstanceAutomatedBackups = v
 29767  	return s
 29768  }
 29769  
 29770  // SetMarker sets the Marker field's value.
 29771  func (s *DescribeDBInstanceAutomatedBackupsOutput) SetMarker(v string) *DescribeDBInstanceAutomatedBackupsOutput {
 29772  	s.Marker = &v
 29773  	return s
 29774  }
 29775  
 29776  type DescribeDBInstancesInput struct {
 29777  	_ struct{} `type:"structure"`
 29778  
 29779  	// The user-supplied instance identifier. If this parameter is specified, information
 29780  	// from only the specific DB instance is returned. This parameter isn't case-sensitive.
 29781  	//
 29782  	// Constraints:
 29783  	//
 29784  	//    * If supplied, must match the identifier of an existing DBInstance.
 29785  	DBInstanceIdentifier *string `type:"string"`
 29786  
 29787  	// A filter that specifies one or more DB instances to describe.
 29788  	//
 29789  	// Supported filters:
 29790  	//
 29791  	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
 29792  	//    Resource Names (ARNs). The results list will only include information
 29793  	//    about the DB instances associated with the DB clusters identified by these
 29794  	//    ARNs.
 29795  	//
 29796  	//    * db-instance-id - Accepts DB instance identifiers and DB instance Amazon
 29797  	//    Resource Names (ARNs). The results list will only include information
 29798  	//    about the DB instances identified by these ARNs.
 29799  	//
 29800  	//    * dbi-resource-id - Accepts DB instance resource identifiers. The results
 29801  	//    list will only include information about the DB instances identified by
 29802  	//    these DB instance resource identifiers.
 29803  	//
 29804  	//    * domain - Accepts Active Directory directory IDs. The results list will
 29805  	//    only include information about the DB instances associated with these
 29806  	//    domains.
 29807  	//
 29808  	//    * engine - Accepts engine names. The results list will only include information
 29809  	//    about the DB instances for these engines.
 29810  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 29811  
 29812  	// An optional pagination token provided by a previous DescribeDBInstances request.
 29813  	// If this parameter is specified, the response includes only records beyond
 29814  	// the marker, up to the value specified by MaxRecords.
 29815  	Marker *string `type:"string"`
 29816  
 29817  	// The maximum number of records to include in the response. If more records
 29818  	// exist than the specified MaxRecords value, a pagination token called a marker
 29819  	// is included in the response so that you can retrieve the remaining results.
 29820  	//
 29821  	// Default: 100
 29822  	//
 29823  	// Constraints: Minimum 20, maximum 100.
 29824  	MaxRecords *int64 `type:"integer"`
 29825  }
 29826  
 29827  // String returns the string representation.
 29828  //
 29829  // API parameter values that are decorated as "sensitive" in the API will not
 29830  // be included in the string output. The member name will be present, but the
 29831  // value will be replaced with "sensitive".
 29832  func (s DescribeDBInstancesInput) String() string {
 29833  	return awsutil.Prettify(s)
 29834  }
 29835  
 29836  // GoString returns the string representation.
 29837  //
 29838  // API parameter values that are decorated as "sensitive" in the API will not
 29839  // be included in the string output. The member name will be present, but the
 29840  // value will be replaced with "sensitive".
 29841  func (s DescribeDBInstancesInput) GoString() string {
 29842  	return s.String()
 29843  }
 29844  
 29845  // Validate inspects the fields of the type to determine if they are valid.
 29846  func (s *DescribeDBInstancesInput) Validate() error {
 29847  	invalidParams := request.ErrInvalidParams{Context: "DescribeDBInstancesInput"}
 29848  	if s.Filters != nil {
 29849  		for i, v := range s.Filters {
 29850  			if v == nil {
 29851  				continue
 29852  			}
 29853  			if err := v.Validate(); err != nil {
 29854  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 29855  			}
 29856  		}
 29857  	}
 29858  
 29859  	if invalidParams.Len() > 0 {
 29860  		return invalidParams
 29861  	}
 29862  	return nil
 29863  }
 29864  
 29865  // SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
 29866  func (s *DescribeDBInstancesInput) SetDBInstanceIdentifier(v string) *DescribeDBInstancesInput {
 29867  	s.DBInstanceIdentifier = &v
 29868  	return s
 29869  }
 29870  
 29871  // SetFilters sets the Filters field's value.
 29872  func (s *DescribeDBInstancesInput) SetFilters(v []*Filter) *DescribeDBInstancesInput {
 29873  	s.Filters = v
 29874  	return s
 29875  }
 29876  
 29877  // SetMarker sets the Marker field's value.
 29878  func (s *DescribeDBInstancesInput) SetMarker(v string) *DescribeDBInstancesInput {
 29879  	s.Marker = &v
 29880  	return s
 29881  }
 29882  
 29883  // SetMaxRecords sets the MaxRecords field's value.
 29884  func (s *DescribeDBInstancesInput) SetMaxRecords(v int64) *DescribeDBInstancesInput {
 29885  	s.MaxRecords = &v
 29886  	return s
 29887  }
 29888  
 29889  // Contains the result of a successful invocation of the DescribeDBInstances
 29890  // action.
 29891  type DescribeDBInstancesOutput struct {
 29892  	_ struct{} `type:"structure"`
 29893  
 29894  	// A list of DBInstance instances.
 29895  	DBInstances []*DBInstance `locationNameList:"DBInstance" type:"list"`
 29896  
 29897  	// An optional pagination token provided by a previous request. If this parameter
 29898  	// is specified, the response includes only records beyond the marker, up to
 29899  	// the value specified by MaxRecords .
 29900  	Marker *string `type:"string"`
 29901  }
 29902  
 29903  // String returns the string representation.
 29904  //
 29905  // API parameter values that are decorated as "sensitive" in the API will not
 29906  // be included in the string output. The member name will be present, but the
 29907  // value will be replaced with "sensitive".
 29908  func (s DescribeDBInstancesOutput) String() string {
 29909  	return awsutil.Prettify(s)
 29910  }
 29911  
 29912  // GoString returns the string representation.
 29913  //
 29914  // API parameter values that are decorated as "sensitive" in the API will not
 29915  // be included in the string output. The member name will be present, but the
 29916  // value will be replaced with "sensitive".
 29917  func (s DescribeDBInstancesOutput) GoString() string {
 29918  	return s.String()
 29919  }
 29920  
 29921  // SetDBInstances sets the DBInstances field's value.
 29922  func (s *DescribeDBInstancesOutput) SetDBInstances(v []*DBInstance) *DescribeDBInstancesOutput {
 29923  	s.DBInstances = v
 29924  	return s
 29925  }
 29926  
 29927  // SetMarker sets the Marker field's value.
 29928  func (s *DescribeDBInstancesOutput) SetMarker(v string) *DescribeDBInstancesOutput {
 29929  	s.Marker = &v
 29930  	return s
 29931  }
 29932  
 29933  // This data type is used as a response element to DescribeDBLogFiles.
 29934  type DescribeDBLogFilesDetails struct {
 29935  	_ struct{} `type:"structure"`
 29936  
 29937  	// A POSIX timestamp when the last log entry was written.
 29938  	LastWritten *int64 `type:"long"`
 29939  
 29940  	// The name of the log file for the specified DB instance.
 29941  	LogFileName *string `type:"string"`
 29942  
 29943  	// The size, in bytes, of the log file for the specified DB instance.
 29944  	Size *int64 `type:"long"`
 29945  }
 29946  
 29947  // String returns the string representation.
 29948  //
 29949  // API parameter values that are decorated as "sensitive" in the API will not
 29950  // be included in the string output. The member name will be present, but the
 29951  // value will be replaced with "sensitive".
 29952  func (s DescribeDBLogFilesDetails) String() string {
 29953  	return awsutil.Prettify(s)
 29954  }
 29955  
 29956  // GoString returns the string representation.
 29957  //
 29958  // API parameter values that are decorated as "sensitive" in the API will not
 29959  // be included in the string output. The member name will be present, but the
 29960  // value will be replaced with "sensitive".
 29961  func (s DescribeDBLogFilesDetails) GoString() string {
 29962  	return s.String()
 29963  }
 29964  
 29965  // SetLastWritten sets the LastWritten field's value.
 29966  func (s *DescribeDBLogFilesDetails) SetLastWritten(v int64) *DescribeDBLogFilesDetails {
 29967  	s.LastWritten = &v
 29968  	return s
 29969  }
 29970  
 29971  // SetLogFileName sets the LogFileName field's value.
 29972  func (s *DescribeDBLogFilesDetails) SetLogFileName(v string) *DescribeDBLogFilesDetails {
 29973  	s.LogFileName = &v
 29974  	return s
 29975  }
 29976  
 29977  // SetSize sets the Size field's value.
 29978  func (s *DescribeDBLogFilesDetails) SetSize(v int64) *DescribeDBLogFilesDetails {
 29979  	s.Size = &v
 29980  	return s
 29981  }
 29982  
 29983  type DescribeDBLogFilesInput struct {
 29984  	_ struct{} `type:"structure"`
 29985  
 29986  	// The customer-assigned name of the DB instance that contains the log files
 29987  	// you want to list.
 29988  	//
 29989  	// Constraints:
 29990  	//
 29991  	//    * Must match the identifier of an existing DBInstance.
 29992  	//
 29993  	// DBInstanceIdentifier is a required field
 29994  	DBInstanceIdentifier *string `type:"string" required:"true"`
 29995  
 29996  	// Filters the available log files for files written since the specified date,
 29997  	// in POSIX timestamp format with milliseconds.
 29998  	FileLastWritten *int64 `type:"long"`
 29999  
 30000  	// Filters the available log files for files larger than the specified size.
 30001  	FileSize *int64 `type:"long"`
 30002  
 30003  	// Filters the available log files for log file names that contain the specified
 30004  	// string.
 30005  	FilenameContains *string `type:"string"`
 30006  
 30007  	// This parameter isn't currently supported.
 30008  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 30009  
 30010  	// The pagination token provided in the previous request. If this parameter
 30011  	// is specified the response includes only records beyond the marker, up to
 30012  	// MaxRecords.
 30013  	Marker *string `type:"string"`
 30014  
 30015  	// The maximum number of records to include in the response. If more records
 30016  	// exist than the specified MaxRecords value, a pagination token called a marker
 30017  	// is included in the response so you can retrieve the remaining results.
 30018  	MaxRecords *int64 `type:"integer"`
 30019  }
 30020  
 30021  // String returns the string representation.
 30022  //
 30023  // API parameter values that are decorated as "sensitive" in the API will not
 30024  // be included in the string output. The member name will be present, but the
 30025  // value will be replaced with "sensitive".
 30026  func (s DescribeDBLogFilesInput) String() string {
 30027  	return awsutil.Prettify(s)
 30028  }
 30029  
 30030  // GoString returns the string representation.
 30031  //
 30032  // API parameter values that are decorated as "sensitive" in the API will not
 30033  // be included in the string output. The member name will be present, but the
 30034  // value will be replaced with "sensitive".
 30035  func (s DescribeDBLogFilesInput) GoString() string {
 30036  	return s.String()
 30037  }
 30038  
 30039  // Validate inspects the fields of the type to determine if they are valid.
 30040  func (s *DescribeDBLogFilesInput) Validate() error {
 30041  	invalidParams := request.ErrInvalidParams{Context: "DescribeDBLogFilesInput"}
 30042  	if s.DBInstanceIdentifier == nil {
 30043  		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
 30044  	}
 30045  	if s.Filters != nil {
 30046  		for i, v := range s.Filters {
 30047  			if v == nil {
 30048  				continue
 30049  			}
 30050  			if err := v.Validate(); err != nil {
 30051  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 30052  			}
 30053  		}
 30054  	}
 30055  
 30056  	if invalidParams.Len() > 0 {
 30057  		return invalidParams
 30058  	}
 30059  	return nil
 30060  }
 30061  
 30062  // SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
 30063  func (s *DescribeDBLogFilesInput) SetDBInstanceIdentifier(v string) *DescribeDBLogFilesInput {
 30064  	s.DBInstanceIdentifier = &v
 30065  	return s
 30066  }
 30067  
 30068  // SetFileLastWritten sets the FileLastWritten field's value.
 30069  func (s *DescribeDBLogFilesInput) SetFileLastWritten(v int64) *DescribeDBLogFilesInput {
 30070  	s.FileLastWritten = &v
 30071  	return s
 30072  }
 30073  
 30074  // SetFileSize sets the FileSize field's value.
 30075  func (s *DescribeDBLogFilesInput) SetFileSize(v int64) *DescribeDBLogFilesInput {
 30076  	s.FileSize = &v
 30077  	return s
 30078  }
 30079  
 30080  // SetFilenameContains sets the FilenameContains field's value.
 30081  func (s *DescribeDBLogFilesInput) SetFilenameContains(v string) *DescribeDBLogFilesInput {
 30082  	s.FilenameContains = &v
 30083  	return s
 30084  }
 30085  
 30086  // SetFilters sets the Filters field's value.
 30087  func (s *DescribeDBLogFilesInput) SetFilters(v []*Filter) *DescribeDBLogFilesInput {
 30088  	s.Filters = v
 30089  	return s
 30090  }
 30091  
 30092  // SetMarker sets the Marker field's value.
 30093  func (s *DescribeDBLogFilesInput) SetMarker(v string) *DescribeDBLogFilesInput {
 30094  	s.Marker = &v
 30095  	return s
 30096  }
 30097  
 30098  // SetMaxRecords sets the MaxRecords field's value.
 30099  func (s *DescribeDBLogFilesInput) SetMaxRecords(v int64) *DescribeDBLogFilesInput {
 30100  	s.MaxRecords = &v
 30101  	return s
 30102  }
 30103  
 30104  // The response from a call to DescribeDBLogFiles.
 30105  type DescribeDBLogFilesOutput struct {
 30106  	_ struct{} `type:"structure"`
 30107  
 30108  	// The DB log files returned.
 30109  	DescribeDBLogFiles []*DescribeDBLogFilesDetails `locationNameList:"DescribeDBLogFilesDetails" type:"list"`
 30110  
 30111  	// A pagination token that can be used in a later DescribeDBLogFiles request.
 30112  	Marker *string `type:"string"`
 30113  }
 30114  
 30115  // String returns the string representation.
 30116  //
 30117  // API parameter values that are decorated as "sensitive" in the API will not
 30118  // be included in the string output. The member name will be present, but the
 30119  // value will be replaced with "sensitive".
 30120  func (s DescribeDBLogFilesOutput) String() string {
 30121  	return awsutil.Prettify(s)
 30122  }
 30123  
 30124  // GoString returns the string representation.
 30125  //
 30126  // API parameter values that are decorated as "sensitive" in the API will not
 30127  // be included in the string output. The member name will be present, but the
 30128  // value will be replaced with "sensitive".
 30129  func (s DescribeDBLogFilesOutput) GoString() string {
 30130  	return s.String()
 30131  }
 30132  
 30133  // SetDescribeDBLogFiles sets the DescribeDBLogFiles field's value.
 30134  func (s *DescribeDBLogFilesOutput) SetDescribeDBLogFiles(v []*DescribeDBLogFilesDetails) *DescribeDBLogFilesOutput {
 30135  	s.DescribeDBLogFiles = v
 30136  	return s
 30137  }
 30138  
 30139  // SetMarker sets the Marker field's value.
 30140  func (s *DescribeDBLogFilesOutput) SetMarker(v string) *DescribeDBLogFilesOutput {
 30141  	s.Marker = &v
 30142  	return s
 30143  }
 30144  
 30145  type DescribeDBParameterGroupsInput struct {
 30146  	_ struct{} `type:"structure"`
 30147  
 30148  	// The name of a specific DB parameter group to return details for.
 30149  	//
 30150  	// Constraints:
 30151  	//
 30152  	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
 30153  	DBParameterGroupName *string `type:"string"`
 30154  
 30155  	// This parameter isn't currently supported.
 30156  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 30157  
 30158  	// An optional pagination token provided by a previous DescribeDBParameterGroups
 30159  	// request. If this parameter is specified, the response includes only records
 30160  	// beyond the marker, up to the value specified by MaxRecords.
 30161  	Marker *string `type:"string"`
 30162  
 30163  	// The maximum number of records to include in the response. If more records
 30164  	// exist than the specified MaxRecords value, a pagination token called a marker
 30165  	// is included in the response so that you can retrieve the remaining results.
 30166  	//
 30167  	// Default: 100
 30168  	//
 30169  	// Constraints: Minimum 20, maximum 100.
 30170  	MaxRecords *int64 `type:"integer"`
 30171  }
 30172  
 30173  // String returns the string representation.
 30174  //
 30175  // API parameter values that are decorated as "sensitive" in the API will not
 30176  // be included in the string output. The member name will be present, but the
 30177  // value will be replaced with "sensitive".
 30178  func (s DescribeDBParameterGroupsInput) String() string {
 30179  	return awsutil.Prettify(s)
 30180  }
 30181  
 30182  // GoString returns the string representation.
 30183  //
 30184  // API parameter values that are decorated as "sensitive" in the API will not
 30185  // be included in the string output. The member name will be present, but the
 30186  // value will be replaced with "sensitive".
 30187  func (s DescribeDBParameterGroupsInput) GoString() string {
 30188  	return s.String()
 30189  }
 30190  
 30191  // Validate inspects the fields of the type to determine if they are valid.
 30192  func (s *DescribeDBParameterGroupsInput) Validate() error {
 30193  	invalidParams := request.ErrInvalidParams{Context: "DescribeDBParameterGroupsInput"}
 30194  	if s.Filters != nil {
 30195  		for i, v := range s.Filters {
 30196  			if v == nil {
 30197  				continue
 30198  			}
 30199  			if err := v.Validate(); err != nil {
 30200  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 30201  			}
 30202  		}
 30203  	}
 30204  
 30205  	if invalidParams.Len() > 0 {
 30206  		return invalidParams
 30207  	}
 30208  	return nil
 30209  }
 30210  
 30211  // SetDBParameterGroupName sets the DBParameterGroupName field's value.
 30212  func (s *DescribeDBParameterGroupsInput) SetDBParameterGroupName(v string) *DescribeDBParameterGroupsInput {
 30213  	s.DBParameterGroupName = &v
 30214  	return s
 30215  }
 30216  
 30217  // SetFilters sets the Filters field's value.
 30218  func (s *DescribeDBParameterGroupsInput) SetFilters(v []*Filter) *DescribeDBParameterGroupsInput {
 30219  	s.Filters = v
 30220  	return s
 30221  }
 30222  
 30223  // SetMarker sets the Marker field's value.
 30224  func (s *DescribeDBParameterGroupsInput) SetMarker(v string) *DescribeDBParameterGroupsInput {
 30225  	s.Marker = &v
 30226  	return s
 30227  }
 30228  
 30229  // SetMaxRecords sets the MaxRecords field's value.
 30230  func (s *DescribeDBParameterGroupsInput) SetMaxRecords(v int64) *DescribeDBParameterGroupsInput {
 30231  	s.MaxRecords = &v
 30232  	return s
 30233  }
 30234  
 30235  // Contains the result of a successful invocation of the DescribeDBParameterGroups
 30236  // action.
 30237  type DescribeDBParameterGroupsOutput struct {
 30238  	_ struct{} `type:"structure"`
 30239  
 30240  	// A list of DBParameterGroup instances.
 30241  	DBParameterGroups []*DBParameterGroup `locationNameList:"DBParameterGroup" type:"list"`
 30242  
 30243  	// An optional pagination token provided by a previous request. If this parameter
 30244  	// is specified, the response includes only records beyond the marker, up to
 30245  	// the value specified by MaxRecords.
 30246  	Marker *string `type:"string"`
 30247  }
 30248  
 30249  // String returns the string representation.
 30250  //
 30251  // API parameter values that are decorated as "sensitive" in the API will not
 30252  // be included in the string output. The member name will be present, but the
 30253  // value will be replaced with "sensitive".
 30254  func (s DescribeDBParameterGroupsOutput) String() string {
 30255  	return awsutil.Prettify(s)
 30256  }
 30257  
 30258  // GoString returns the string representation.
 30259  //
 30260  // API parameter values that are decorated as "sensitive" in the API will not
 30261  // be included in the string output. The member name will be present, but the
 30262  // value will be replaced with "sensitive".
 30263  func (s DescribeDBParameterGroupsOutput) GoString() string {
 30264  	return s.String()
 30265  }
 30266  
 30267  // SetDBParameterGroups sets the DBParameterGroups field's value.
 30268  func (s *DescribeDBParameterGroupsOutput) SetDBParameterGroups(v []*DBParameterGroup) *DescribeDBParameterGroupsOutput {
 30269  	s.DBParameterGroups = v
 30270  	return s
 30271  }
 30272  
 30273  // SetMarker sets the Marker field's value.
 30274  func (s *DescribeDBParameterGroupsOutput) SetMarker(v string) *DescribeDBParameterGroupsOutput {
 30275  	s.Marker = &v
 30276  	return s
 30277  }
 30278  
 30279  type DescribeDBParametersInput struct {
 30280  	_ struct{} `type:"structure"`
 30281  
 30282  	// The name of a specific DB parameter group to return details for.
 30283  	//
 30284  	// Constraints:
 30285  	//
 30286  	//    * If supplied, must match the name of an existing DBParameterGroup.
 30287  	//
 30288  	// DBParameterGroupName is a required field
 30289  	DBParameterGroupName *string `type:"string" required:"true"`
 30290  
 30291  	// This parameter isn't currently supported.
 30292  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 30293  
 30294  	// An optional pagination token provided by a previous DescribeDBParameters
 30295  	// request. If this parameter is specified, the response includes only records
 30296  	// beyond the marker, up to the value specified by MaxRecords.
 30297  	Marker *string `type:"string"`
 30298  
 30299  	// The maximum number of records to include in the response. If more records
 30300  	// exist than the specified MaxRecords value, a pagination token called a marker
 30301  	// is included in the response so that you can retrieve the remaining results.
 30302  	//
 30303  	// Default: 100
 30304  	//
 30305  	// Constraints: Minimum 20, maximum 100.
 30306  	MaxRecords *int64 `type:"integer"`
 30307  
 30308  	// The parameter types to return.
 30309  	//
 30310  	// Default: All parameter types returned
 30311  	//
 30312  	// Valid Values: user | system | engine-default
 30313  	Source *string `type:"string"`
 30314  }
 30315  
 30316  // String returns the string representation.
 30317  //
 30318  // API parameter values that are decorated as "sensitive" in the API will not
 30319  // be included in the string output. The member name will be present, but the
 30320  // value will be replaced with "sensitive".
 30321  func (s DescribeDBParametersInput) String() string {
 30322  	return awsutil.Prettify(s)
 30323  }
 30324  
 30325  // GoString returns the string representation.
 30326  //
 30327  // API parameter values that are decorated as "sensitive" in the API will not
 30328  // be included in the string output. The member name will be present, but the
 30329  // value will be replaced with "sensitive".
 30330  func (s DescribeDBParametersInput) GoString() string {
 30331  	return s.String()
 30332  }
 30333  
 30334  // Validate inspects the fields of the type to determine if they are valid.
 30335  func (s *DescribeDBParametersInput) Validate() error {
 30336  	invalidParams := request.ErrInvalidParams{Context: "DescribeDBParametersInput"}
 30337  	if s.DBParameterGroupName == nil {
 30338  		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
 30339  	}
 30340  	if s.Filters != nil {
 30341  		for i, v := range s.Filters {
 30342  			if v == nil {
 30343  				continue
 30344  			}
 30345  			if err := v.Validate(); err != nil {
 30346  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 30347  			}
 30348  		}
 30349  	}
 30350  
 30351  	if invalidParams.Len() > 0 {
 30352  		return invalidParams
 30353  	}
 30354  	return nil
 30355  }
 30356  
 30357  // SetDBParameterGroupName sets the DBParameterGroupName field's value.
 30358  func (s *DescribeDBParametersInput) SetDBParameterGroupName(v string) *DescribeDBParametersInput {
 30359  	s.DBParameterGroupName = &v
 30360  	return s
 30361  }
 30362  
 30363  // SetFilters sets the Filters field's value.
 30364  func (s *DescribeDBParametersInput) SetFilters(v []*Filter) *DescribeDBParametersInput {
 30365  	s.Filters = v
 30366  	return s
 30367  }
 30368  
 30369  // SetMarker sets the Marker field's value.
 30370  func (s *DescribeDBParametersInput) SetMarker(v string) *DescribeDBParametersInput {
 30371  	s.Marker = &v
 30372  	return s
 30373  }
 30374  
 30375  // SetMaxRecords sets the MaxRecords field's value.
 30376  func (s *DescribeDBParametersInput) SetMaxRecords(v int64) *DescribeDBParametersInput {
 30377  	s.MaxRecords = &v
 30378  	return s
 30379  }
 30380  
 30381  // SetSource sets the Source field's value.
 30382  func (s *DescribeDBParametersInput) SetSource(v string) *DescribeDBParametersInput {
 30383  	s.Source = &v
 30384  	return s
 30385  }
 30386  
 30387  // Contains the result of a successful invocation of the DescribeDBParameters
 30388  // action.
 30389  type DescribeDBParametersOutput struct {
 30390  	_ struct{} `type:"structure"`
 30391  
 30392  	// An optional pagination token provided by a previous request. If this parameter
 30393  	// is specified, the response includes only records beyond the marker, up to
 30394  	// the value specified by MaxRecords.
 30395  	Marker *string `type:"string"`
 30396  
 30397  	// A list of Parameter values.
 30398  	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
 30399  }
 30400  
 30401  // String returns the string representation.
 30402  //
 30403  // API parameter values that are decorated as "sensitive" in the API will not
 30404  // be included in the string output. The member name will be present, but the
 30405  // value will be replaced with "sensitive".
 30406  func (s DescribeDBParametersOutput) String() string {
 30407  	return awsutil.Prettify(s)
 30408  }
 30409  
 30410  // GoString returns the string representation.
 30411  //
 30412  // API parameter values that are decorated as "sensitive" in the API will not
 30413  // be included in the string output. The member name will be present, but the
 30414  // value will be replaced with "sensitive".
 30415  func (s DescribeDBParametersOutput) GoString() string {
 30416  	return s.String()
 30417  }
 30418  
 30419  // SetMarker sets the Marker field's value.
 30420  func (s *DescribeDBParametersOutput) SetMarker(v string) *DescribeDBParametersOutput {
 30421  	s.Marker = &v
 30422  	return s
 30423  }
 30424  
 30425  // SetParameters sets the Parameters field's value.
 30426  func (s *DescribeDBParametersOutput) SetParameters(v []*Parameter) *DescribeDBParametersOutput {
 30427  	s.Parameters = v
 30428  	return s
 30429  }
 30430  
 30431  type DescribeDBProxiesInput struct {
 30432  	_ struct{} `type:"structure"`
 30433  
 30434  	// The name of the DB proxy. If you omit this parameter, the output includes
 30435  	// information about all DB proxies owned by your Amazon Web Services account
 30436  	// ID.
 30437  	DBProxyName *string `type:"string"`
 30438  
 30439  	// This parameter is not currently supported.
 30440  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 30441  
 30442  	// An optional pagination token provided by a previous request. If this parameter
 30443  	// is specified, the response includes only records beyond the marker, up to
 30444  	// the value specified by MaxRecords.
 30445  	Marker *string `type:"string"`
 30446  
 30447  	// The maximum number of records to include in the response. If more records
 30448  	// exist than the specified MaxRecords value, a pagination token called a marker
 30449  	// is included in the response so that the remaining results can be retrieved.
 30450  	//
 30451  	// Default: 100
 30452  	//
 30453  	// Constraints: Minimum 20, maximum 100.
 30454  	MaxRecords *int64 `min:"20" type:"integer"`
 30455  }
 30456  
 30457  // String returns the string representation.
 30458  //
 30459  // API parameter values that are decorated as "sensitive" in the API will not
 30460  // be included in the string output. The member name will be present, but the
 30461  // value will be replaced with "sensitive".
 30462  func (s DescribeDBProxiesInput) String() string {
 30463  	return awsutil.Prettify(s)
 30464  }
 30465  
 30466  // GoString returns the string representation.
 30467  //
 30468  // API parameter values that are decorated as "sensitive" in the API will not
 30469  // be included in the string output. The member name will be present, but the
 30470  // value will be replaced with "sensitive".
 30471  func (s DescribeDBProxiesInput) GoString() string {
 30472  	return s.String()
 30473  }
 30474  
 30475  // Validate inspects the fields of the type to determine if they are valid.
 30476  func (s *DescribeDBProxiesInput) Validate() error {
 30477  	invalidParams := request.ErrInvalidParams{Context: "DescribeDBProxiesInput"}
 30478  	if s.MaxRecords != nil && *s.MaxRecords < 20 {
 30479  		invalidParams.Add(request.NewErrParamMinValue("MaxRecords", 20))
 30480  	}
 30481  	if s.Filters != nil {
 30482  		for i, v := range s.Filters {
 30483  			if v == nil {
 30484  				continue
 30485  			}
 30486  			if err := v.Validate(); err != nil {
 30487  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 30488  			}
 30489  		}
 30490  	}
 30491  
 30492  	if invalidParams.Len() > 0 {
 30493  		return invalidParams
 30494  	}
 30495  	return nil
 30496  }
 30497  
 30498  // SetDBProxyName sets the DBProxyName field's value.
 30499  func (s *DescribeDBProxiesInput) SetDBProxyName(v string) *DescribeDBProxiesInput {
 30500  	s.DBProxyName = &v
 30501  	return s
 30502  }
 30503  
 30504  // SetFilters sets the Filters field's value.
 30505  func (s *DescribeDBProxiesInput) SetFilters(v []*Filter) *DescribeDBProxiesInput {
 30506  	s.Filters = v
 30507  	return s
 30508  }
 30509  
 30510  // SetMarker sets the Marker field's value.
 30511  func (s *DescribeDBProxiesInput) SetMarker(v string) *DescribeDBProxiesInput {
 30512  	s.Marker = &v
 30513  	return s
 30514  }
 30515  
 30516  // SetMaxRecords sets the MaxRecords field's value.
 30517  func (s *DescribeDBProxiesInput) SetMaxRecords(v int64) *DescribeDBProxiesInput {
 30518  	s.MaxRecords = &v
 30519  	return s
 30520  }
 30521  
 30522  type DescribeDBProxiesOutput struct {
 30523  	_ struct{} `type:"structure"`
 30524  
 30525  	// A return value representing an arbitrary number of DBProxy data structures.
 30526  	DBProxies []*DBProxy `type:"list"`
 30527  
 30528  	// An optional pagination token provided by a previous request. If this parameter
 30529  	// is specified, the response includes only records beyond the marker, up to
 30530  	// the value specified by MaxRecords.
 30531  	Marker *string `type:"string"`
 30532  }
 30533  
 30534  // String returns the string representation.
 30535  //
 30536  // API parameter values that are decorated as "sensitive" in the API will not
 30537  // be included in the string output. The member name will be present, but the
 30538  // value will be replaced with "sensitive".
 30539  func (s DescribeDBProxiesOutput) String() string {
 30540  	return awsutil.Prettify(s)
 30541  }
 30542  
 30543  // GoString returns the string representation.
 30544  //
 30545  // API parameter values that are decorated as "sensitive" in the API will not
 30546  // be included in the string output. The member name will be present, but the
 30547  // value will be replaced with "sensitive".
 30548  func (s DescribeDBProxiesOutput) GoString() string {
 30549  	return s.String()
 30550  }
 30551  
 30552  // SetDBProxies sets the DBProxies field's value.
 30553  func (s *DescribeDBProxiesOutput) SetDBProxies(v []*DBProxy) *DescribeDBProxiesOutput {
 30554  	s.DBProxies = v
 30555  	return s
 30556  }
 30557  
 30558  // SetMarker sets the Marker field's value.
 30559  func (s *DescribeDBProxiesOutput) SetMarker(v string) *DescribeDBProxiesOutput {
 30560  	s.Marker = &v
 30561  	return s
 30562  }
 30563  
 30564  type DescribeDBProxyEndpointsInput struct {
 30565  	_ struct{} `type:"structure"`
 30566  
 30567  	// The name of a DB proxy endpoint to describe. If you omit this parameter,
 30568  	// the output includes information about all DB proxy endpoints associated with
 30569  	// the specified proxy.
 30570  	DBProxyEndpointName *string `min:"1" type:"string"`
 30571  
 30572  	// The name of the DB proxy whose endpoints you want to describe. If you omit
 30573  	// this parameter, the output includes information about all DB proxy endpoints
 30574  	// associated with all your DB proxies.
 30575  	DBProxyName *string `min:"1" type:"string"`
 30576  
 30577  	// This parameter is not currently supported.
 30578  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 30579  
 30580  	// An optional pagination token provided by a previous request. If this parameter
 30581  	// is specified, the response includes only records beyond the marker, up to
 30582  	// the value specified by MaxRecords.
 30583  	Marker *string `type:"string"`
 30584  
 30585  	// The maximum number of records to include in the response. If more records
 30586  	// exist than the specified MaxRecords value, a pagination token called a marker
 30587  	// is included in the response so that the remaining results can be retrieved.
 30588  	//
 30589  	// Default: 100
 30590  	//
 30591  	// Constraints: Minimum 20, maximum 100.
 30592  	MaxRecords *int64 `min:"20" type:"integer"`
 30593  }
 30594  
 30595  // String returns the string representation.
 30596  //
 30597  // API parameter values that are decorated as "sensitive" in the API will not
 30598  // be included in the string output. The member name will be present, but the
 30599  // value will be replaced with "sensitive".
 30600  func (s DescribeDBProxyEndpointsInput) String() string {
 30601  	return awsutil.Prettify(s)
 30602  }
 30603  
 30604  // GoString returns the string representation.
 30605  //
 30606  // API parameter values that are decorated as "sensitive" in the API will not
 30607  // be included in the string output. The member name will be present, but the
 30608  // value will be replaced with "sensitive".
 30609  func (s DescribeDBProxyEndpointsInput) GoString() string {
 30610  	return s.String()
 30611  }
 30612  
 30613  // Validate inspects the fields of the type to determine if they are valid.
 30614  func (s *DescribeDBProxyEndpointsInput) Validate() error {
 30615  	invalidParams := request.ErrInvalidParams{Context: "DescribeDBProxyEndpointsInput"}
 30616  	if s.DBProxyEndpointName != nil && len(*s.DBProxyEndpointName) < 1 {
 30617  		invalidParams.Add(request.NewErrParamMinLen("DBProxyEndpointName", 1))
 30618  	}
 30619  	if s.DBProxyName != nil && len(*s.DBProxyName) < 1 {
 30620  		invalidParams.Add(request.NewErrParamMinLen("DBProxyName", 1))
 30621  	}
 30622  	if s.MaxRecords != nil && *s.MaxRecords < 20 {
 30623  		invalidParams.Add(request.NewErrParamMinValue("MaxRecords", 20))
 30624  	}
 30625  	if s.Filters != nil {
 30626  		for i, v := range s.Filters {
 30627  			if v == nil {
 30628  				continue
 30629  			}
 30630  			if err := v.Validate(); err != nil {
 30631  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 30632  			}
 30633  		}
 30634  	}
 30635  
 30636  	if invalidParams.Len() > 0 {
 30637  		return invalidParams
 30638  	}
 30639  	return nil
 30640  }
 30641  
 30642  // SetDBProxyEndpointName sets the DBProxyEndpointName field's value.
 30643  func (s *DescribeDBProxyEndpointsInput) SetDBProxyEndpointName(v string) *DescribeDBProxyEndpointsInput {
 30644  	s.DBProxyEndpointName = &v
 30645  	return s
 30646  }
 30647  
 30648  // SetDBProxyName sets the DBProxyName field's value.
 30649  func (s *DescribeDBProxyEndpointsInput) SetDBProxyName(v string) *DescribeDBProxyEndpointsInput {
 30650  	s.DBProxyName = &v
 30651  	return s
 30652  }
 30653  
 30654  // SetFilters sets the Filters field's value.
 30655  func (s *DescribeDBProxyEndpointsInput) SetFilters(v []*Filter) *DescribeDBProxyEndpointsInput {
 30656  	s.Filters = v
 30657  	return s
 30658  }
 30659  
 30660  // SetMarker sets the Marker field's value.
 30661  func (s *DescribeDBProxyEndpointsInput) SetMarker(v string) *DescribeDBProxyEndpointsInput {
 30662  	s.Marker = &v
 30663  	return s
 30664  }
 30665  
 30666  // SetMaxRecords sets the MaxRecords field's value.
 30667  func (s *DescribeDBProxyEndpointsInput) SetMaxRecords(v int64) *DescribeDBProxyEndpointsInput {
 30668  	s.MaxRecords = &v
 30669  	return s
 30670  }
 30671  
 30672  type DescribeDBProxyEndpointsOutput struct {
 30673  	_ struct{} `type:"structure"`
 30674  
 30675  	// The list of ProxyEndpoint objects returned by the API operation.
 30676  	DBProxyEndpoints []*DBProxyEndpoint `type:"list"`
 30677  
 30678  	// An optional pagination token provided by a previous request. If this parameter
 30679  	// is specified, the response includes only records beyond the marker, up to
 30680  	// the value specified by MaxRecords.
 30681  	Marker *string `type:"string"`
 30682  }
 30683  
 30684  // String returns the string representation.
 30685  //
 30686  // API parameter values that are decorated as "sensitive" in the API will not
 30687  // be included in the string output. The member name will be present, but the
 30688  // value will be replaced with "sensitive".
 30689  func (s DescribeDBProxyEndpointsOutput) String() string {
 30690  	return awsutil.Prettify(s)
 30691  }
 30692  
 30693  // GoString returns the string representation.
 30694  //
 30695  // API parameter values that are decorated as "sensitive" in the API will not
 30696  // be included in the string output. The member name will be present, but the
 30697  // value will be replaced with "sensitive".
 30698  func (s DescribeDBProxyEndpointsOutput) GoString() string {
 30699  	return s.String()
 30700  }
 30701  
 30702  // SetDBProxyEndpoints sets the DBProxyEndpoints field's value.
 30703  func (s *DescribeDBProxyEndpointsOutput) SetDBProxyEndpoints(v []*DBProxyEndpoint) *DescribeDBProxyEndpointsOutput {
 30704  	s.DBProxyEndpoints = v
 30705  	return s
 30706  }
 30707  
 30708  // SetMarker sets the Marker field's value.
 30709  func (s *DescribeDBProxyEndpointsOutput) SetMarker(v string) *DescribeDBProxyEndpointsOutput {
 30710  	s.Marker = &v
 30711  	return s
 30712  }
 30713  
 30714  type DescribeDBProxyTargetGroupsInput struct {
 30715  	_ struct{} `type:"structure"`
 30716  
 30717  	// The identifier of the DBProxy associated with the target group.
 30718  	//
 30719  	// DBProxyName is a required field
 30720  	DBProxyName *string `type:"string" required:"true"`
 30721  
 30722  	// This parameter is not currently supported.
 30723  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 30724  
 30725  	// An optional pagination token provided by a previous request. If this parameter
 30726  	// is specified, the response includes only records beyond the marker, up to
 30727  	// the value specified by MaxRecords.
 30728  	Marker *string `type:"string"`
 30729  
 30730  	// The maximum number of records to include in the response. If more records
 30731  	// exist than the specified MaxRecords value, a pagination token called a marker
 30732  	// is included in the response so that the remaining results can be retrieved.
 30733  	//
 30734  	// Default: 100
 30735  	//
 30736  	// Constraints: Minimum 20, maximum 100.
 30737  	MaxRecords *int64 `min:"20" type:"integer"`
 30738  
 30739  	// The identifier of the DBProxyTargetGroup to describe.
 30740  	TargetGroupName *string `type:"string"`
 30741  }
 30742  
 30743  // String returns the string representation.
 30744  //
 30745  // API parameter values that are decorated as "sensitive" in the API will not
 30746  // be included in the string output. The member name will be present, but the
 30747  // value will be replaced with "sensitive".
 30748  func (s DescribeDBProxyTargetGroupsInput) String() string {
 30749  	return awsutil.Prettify(s)
 30750  }
 30751  
 30752  // GoString returns the string representation.
 30753  //
 30754  // API parameter values that are decorated as "sensitive" in the API will not
 30755  // be included in the string output. The member name will be present, but the
 30756  // value will be replaced with "sensitive".
 30757  func (s DescribeDBProxyTargetGroupsInput) GoString() string {
 30758  	return s.String()
 30759  }
 30760  
 30761  // Validate inspects the fields of the type to determine if they are valid.
 30762  func (s *DescribeDBProxyTargetGroupsInput) Validate() error {
 30763  	invalidParams := request.ErrInvalidParams{Context: "DescribeDBProxyTargetGroupsInput"}
 30764  	if s.DBProxyName == nil {
 30765  		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
 30766  	}
 30767  	if s.MaxRecords != nil && *s.MaxRecords < 20 {
 30768  		invalidParams.Add(request.NewErrParamMinValue("MaxRecords", 20))
 30769  	}
 30770  	if s.Filters != nil {
 30771  		for i, v := range s.Filters {
 30772  			if v == nil {
 30773  				continue
 30774  			}
 30775  			if err := v.Validate(); err != nil {
 30776  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 30777  			}
 30778  		}
 30779  	}
 30780  
 30781  	if invalidParams.Len() > 0 {
 30782  		return invalidParams
 30783  	}
 30784  	return nil
 30785  }
 30786  
 30787  // SetDBProxyName sets the DBProxyName field's value.
 30788  func (s *DescribeDBProxyTargetGroupsInput) SetDBProxyName(v string) *DescribeDBProxyTargetGroupsInput {
 30789  	s.DBProxyName = &v
 30790  	return s
 30791  }
 30792  
 30793  // SetFilters sets the Filters field's value.
 30794  func (s *DescribeDBProxyTargetGroupsInput) SetFilters(v []*Filter) *DescribeDBProxyTargetGroupsInput {
 30795  	s.Filters = v
 30796  	return s
 30797  }
 30798  
 30799  // SetMarker sets the Marker field's value.
 30800  func (s *DescribeDBProxyTargetGroupsInput) SetMarker(v string) *DescribeDBProxyTargetGroupsInput {
 30801  	s.Marker = &v
 30802  	return s
 30803  }
 30804  
 30805  // SetMaxRecords sets the MaxRecords field's value.
 30806  func (s *DescribeDBProxyTargetGroupsInput) SetMaxRecords(v int64) *DescribeDBProxyTargetGroupsInput {
 30807  	s.MaxRecords = &v
 30808  	return s
 30809  }
 30810  
 30811  // SetTargetGroupName sets the TargetGroupName field's value.
 30812  func (s *DescribeDBProxyTargetGroupsInput) SetTargetGroupName(v string) *DescribeDBProxyTargetGroupsInput {
 30813  	s.TargetGroupName = &v
 30814  	return s
 30815  }
 30816  
 30817  type DescribeDBProxyTargetGroupsOutput struct {
 30818  	_ struct{} `type:"structure"`
 30819  
 30820  	// An optional pagination token provided by a previous request. If this parameter
 30821  	// is specified, the response includes only records beyond the marker, up to
 30822  	// the value specified by MaxRecords.
 30823  	Marker *string `type:"string"`
 30824  
 30825  	// An arbitrary number of DBProxyTargetGroup objects, containing details of
 30826  	// the corresponding target groups.
 30827  	TargetGroups []*DBProxyTargetGroup `type:"list"`
 30828  }
 30829  
 30830  // String returns the string representation.
 30831  //
 30832  // API parameter values that are decorated as "sensitive" in the API will not
 30833  // be included in the string output. The member name will be present, but the
 30834  // value will be replaced with "sensitive".
 30835  func (s DescribeDBProxyTargetGroupsOutput) String() string {
 30836  	return awsutil.Prettify(s)
 30837  }
 30838  
 30839  // GoString returns the string representation.
 30840  //
 30841  // API parameter values that are decorated as "sensitive" in the API will not
 30842  // be included in the string output. The member name will be present, but the
 30843  // value will be replaced with "sensitive".
 30844  func (s DescribeDBProxyTargetGroupsOutput) GoString() string {
 30845  	return s.String()
 30846  }
 30847  
 30848  // SetMarker sets the Marker field's value.
 30849  func (s *DescribeDBProxyTargetGroupsOutput) SetMarker(v string) *DescribeDBProxyTargetGroupsOutput {
 30850  	s.Marker = &v
 30851  	return s
 30852  }
 30853  
 30854  // SetTargetGroups sets the TargetGroups field's value.
 30855  func (s *DescribeDBProxyTargetGroupsOutput) SetTargetGroups(v []*DBProxyTargetGroup) *DescribeDBProxyTargetGroupsOutput {
 30856  	s.TargetGroups = v
 30857  	return s
 30858  }
 30859  
 30860  type DescribeDBProxyTargetsInput struct {
 30861  	_ struct{} `type:"structure"`
 30862  
 30863  	// The identifier of the DBProxyTarget to describe.
 30864  	//
 30865  	// DBProxyName is a required field
 30866  	DBProxyName *string `type:"string" required:"true"`
 30867  
 30868  	// This parameter is not currently supported.
 30869  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 30870  
 30871  	// An optional pagination token provided by a previous request. If this parameter
 30872  	// is specified, the response includes only records beyond the marker, up to
 30873  	// the value specified by MaxRecords.
 30874  	Marker *string `type:"string"`
 30875  
 30876  	// The maximum number of records to include in the response. If more records
 30877  	// exist than the specified MaxRecords value, a pagination token called a marker
 30878  	// is included in the response so that the remaining results can be retrieved.
 30879  	//
 30880  	// Default: 100
 30881  	//
 30882  	// Constraints: Minimum 20, maximum 100.
 30883  	MaxRecords *int64 `min:"20" type:"integer"`
 30884  
 30885  	// The identifier of the DBProxyTargetGroup to describe.
 30886  	TargetGroupName *string `type:"string"`
 30887  }
 30888  
 30889  // String returns the string representation.
 30890  //
 30891  // API parameter values that are decorated as "sensitive" in the API will not
 30892  // be included in the string output. The member name will be present, but the
 30893  // value will be replaced with "sensitive".
 30894  func (s DescribeDBProxyTargetsInput) String() string {
 30895  	return awsutil.Prettify(s)
 30896  }
 30897  
 30898  // GoString returns the string representation.
 30899  //
 30900  // API parameter values that are decorated as "sensitive" in the API will not
 30901  // be included in the string output. The member name will be present, but the
 30902  // value will be replaced with "sensitive".
 30903  func (s DescribeDBProxyTargetsInput) GoString() string {
 30904  	return s.String()
 30905  }
 30906  
 30907  // Validate inspects the fields of the type to determine if they are valid.
 30908  func (s *DescribeDBProxyTargetsInput) Validate() error {
 30909  	invalidParams := request.ErrInvalidParams{Context: "DescribeDBProxyTargetsInput"}
 30910  	if s.DBProxyName == nil {
 30911  		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
 30912  	}
 30913  	if s.MaxRecords != nil && *s.MaxRecords < 20 {
 30914  		invalidParams.Add(request.NewErrParamMinValue("MaxRecords", 20))
 30915  	}
 30916  	if s.Filters != nil {
 30917  		for i, v := range s.Filters {
 30918  			if v == nil {
 30919  				continue
 30920  			}
 30921  			if err := v.Validate(); err != nil {
 30922  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 30923  			}
 30924  		}
 30925  	}
 30926  
 30927  	if invalidParams.Len() > 0 {
 30928  		return invalidParams
 30929  	}
 30930  	return nil
 30931  }
 30932  
 30933  // SetDBProxyName sets the DBProxyName field's value.
 30934  func (s *DescribeDBProxyTargetsInput) SetDBProxyName(v string) *DescribeDBProxyTargetsInput {
 30935  	s.DBProxyName = &v
 30936  	return s
 30937  }
 30938  
 30939  // SetFilters sets the Filters field's value.
 30940  func (s *DescribeDBProxyTargetsInput) SetFilters(v []*Filter) *DescribeDBProxyTargetsInput {
 30941  	s.Filters = v
 30942  	return s
 30943  }
 30944  
 30945  // SetMarker sets the Marker field's value.
 30946  func (s *DescribeDBProxyTargetsInput) SetMarker(v string) *DescribeDBProxyTargetsInput {
 30947  	s.Marker = &v
 30948  	return s
 30949  }
 30950  
 30951  // SetMaxRecords sets the MaxRecords field's value.
 30952  func (s *DescribeDBProxyTargetsInput) SetMaxRecords(v int64) *DescribeDBProxyTargetsInput {
 30953  	s.MaxRecords = &v
 30954  	return s
 30955  }
 30956  
 30957  // SetTargetGroupName sets the TargetGroupName field's value.
 30958  func (s *DescribeDBProxyTargetsInput) SetTargetGroupName(v string) *DescribeDBProxyTargetsInput {
 30959  	s.TargetGroupName = &v
 30960  	return s
 30961  }
 30962  
 30963  type DescribeDBProxyTargetsOutput struct {
 30964  	_ struct{} `type:"structure"`
 30965  
 30966  	// An optional pagination token provided by a previous request. If this parameter
 30967  	// is specified, the response includes only records beyond the marker, up to
 30968  	// the value specified by MaxRecords.
 30969  	Marker *string `type:"string"`
 30970  
 30971  	// An arbitrary number of DBProxyTarget objects, containing details of the corresponding
 30972  	// targets.
 30973  	Targets []*DBProxyTarget `type:"list"`
 30974  }
 30975  
 30976  // String returns the string representation.
 30977  //
 30978  // API parameter values that are decorated as "sensitive" in the API will not
 30979  // be included in the string output. The member name will be present, but the
 30980  // value will be replaced with "sensitive".
 30981  func (s DescribeDBProxyTargetsOutput) String() string {
 30982  	return awsutil.Prettify(s)
 30983  }
 30984  
 30985  // GoString returns the string representation.
 30986  //
 30987  // API parameter values that are decorated as "sensitive" in the API will not
 30988  // be included in the string output. The member name will be present, but the
 30989  // value will be replaced with "sensitive".
 30990  func (s DescribeDBProxyTargetsOutput) GoString() string {
 30991  	return s.String()
 30992  }
 30993  
 30994  // SetMarker sets the Marker field's value.
 30995  func (s *DescribeDBProxyTargetsOutput) SetMarker(v string) *DescribeDBProxyTargetsOutput {
 30996  	s.Marker = &v
 30997  	return s
 30998  }
 30999  
 31000  // SetTargets sets the Targets field's value.
 31001  func (s *DescribeDBProxyTargetsOutput) SetTargets(v []*DBProxyTarget) *DescribeDBProxyTargetsOutput {
 31002  	s.Targets = v
 31003  	return s
 31004  }
 31005  
 31006  type DescribeDBSecurityGroupsInput struct {
 31007  	_ struct{} `type:"structure"`
 31008  
 31009  	// The name of the DB security group to return details for.
 31010  	DBSecurityGroupName *string `type:"string"`
 31011  
 31012  	// This parameter isn't currently supported.
 31013  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 31014  
 31015  	// An optional pagination token provided by a previous DescribeDBSecurityGroups
 31016  	// request. If this parameter is specified, the response includes only records
 31017  	// beyond the marker, up to the value specified by MaxRecords.
 31018  	Marker *string `type:"string"`
 31019  
 31020  	// The maximum number of records to include in the response. If more records
 31021  	// exist than the specified MaxRecords value, a pagination token called a marker
 31022  	// is included in the response so that you can retrieve the remaining results.
 31023  	//
 31024  	// Default: 100
 31025  	//
 31026  	// Constraints: Minimum 20, maximum 100.
 31027  	MaxRecords *int64 `type:"integer"`
 31028  }
 31029  
 31030  // String returns the string representation.
 31031  //
 31032  // API parameter values that are decorated as "sensitive" in the API will not
 31033  // be included in the string output. The member name will be present, but the
 31034  // value will be replaced with "sensitive".
 31035  func (s DescribeDBSecurityGroupsInput) String() string {
 31036  	return awsutil.Prettify(s)
 31037  }
 31038  
 31039  // GoString returns the string representation.
 31040  //
 31041  // API parameter values that are decorated as "sensitive" in the API will not
 31042  // be included in the string output. The member name will be present, but the
 31043  // value will be replaced with "sensitive".
 31044  func (s DescribeDBSecurityGroupsInput) GoString() string {
 31045  	return s.String()
 31046  }
 31047  
 31048  // Validate inspects the fields of the type to determine if they are valid.
 31049  func (s *DescribeDBSecurityGroupsInput) Validate() error {
 31050  	invalidParams := request.ErrInvalidParams{Context: "DescribeDBSecurityGroupsInput"}
 31051  	if s.Filters != nil {
 31052  		for i, v := range s.Filters {
 31053  			if v == nil {
 31054  				continue
 31055  			}
 31056  			if err := v.Validate(); err != nil {
 31057  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 31058  			}
 31059  		}
 31060  	}
 31061  
 31062  	if invalidParams.Len() > 0 {
 31063  		return invalidParams
 31064  	}
 31065  	return nil
 31066  }
 31067  
 31068  // SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
 31069  func (s *DescribeDBSecurityGroupsInput) SetDBSecurityGroupName(v string) *DescribeDBSecurityGroupsInput {
 31070  	s.DBSecurityGroupName = &v
 31071  	return s
 31072  }
 31073  
 31074  // SetFilters sets the Filters field's value.
 31075  func (s *DescribeDBSecurityGroupsInput) SetFilters(v []*Filter) *DescribeDBSecurityGroupsInput {
 31076  	s.Filters = v
 31077  	return s
 31078  }
 31079  
 31080  // SetMarker sets the Marker field's value.
 31081  func (s *DescribeDBSecurityGroupsInput) SetMarker(v string) *DescribeDBSecurityGroupsInput {
 31082  	s.Marker = &v
 31083  	return s
 31084  }
 31085  
 31086  // SetMaxRecords sets the MaxRecords field's value.
 31087  func (s *DescribeDBSecurityGroupsInput) SetMaxRecords(v int64) *DescribeDBSecurityGroupsInput {
 31088  	s.MaxRecords = &v
 31089  	return s
 31090  }
 31091  
 31092  // Contains the result of a successful invocation of the DescribeDBSecurityGroups
 31093  // action.
 31094  type DescribeDBSecurityGroupsOutput struct {
 31095  	_ struct{} `type:"structure"`
 31096  
 31097  	// A list of DBSecurityGroup instances.
 31098  	DBSecurityGroups []*DBSecurityGroup `locationNameList:"DBSecurityGroup" type:"list"`
 31099  
 31100  	// An optional pagination token provided by a previous request. If this parameter
 31101  	// is specified, the response includes only records beyond the marker, up to
 31102  	// the value specified by MaxRecords.
 31103  	Marker *string `type:"string"`
 31104  }
 31105  
 31106  // String returns the string representation.
 31107  //
 31108  // API parameter values that are decorated as "sensitive" in the API will not
 31109  // be included in the string output. The member name will be present, but the
 31110  // value will be replaced with "sensitive".
 31111  func (s DescribeDBSecurityGroupsOutput) String() string {
 31112  	return awsutil.Prettify(s)
 31113  }
 31114  
 31115  // GoString returns the string representation.
 31116  //
 31117  // API parameter values that are decorated as "sensitive" in the API will not
 31118  // be included in the string output. The member name will be present, but the
 31119  // value will be replaced with "sensitive".
 31120  func (s DescribeDBSecurityGroupsOutput) GoString() string {
 31121  	return s.String()
 31122  }
 31123  
 31124  // SetDBSecurityGroups sets the DBSecurityGroups field's value.
 31125  func (s *DescribeDBSecurityGroupsOutput) SetDBSecurityGroups(v []*DBSecurityGroup) *DescribeDBSecurityGroupsOutput {
 31126  	s.DBSecurityGroups = v
 31127  	return s
 31128  }
 31129  
 31130  // SetMarker sets the Marker field's value.
 31131  func (s *DescribeDBSecurityGroupsOutput) SetMarker(v string) *DescribeDBSecurityGroupsOutput {
 31132  	s.Marker = &v
 31133  	return s
 31134  }
 31135  
 31136  type DescribeDBSnapshotAttributesInput struct {
 31137  	_ struct{} `type:"structure"`
 31138  
 31139  	// The identifier for the DB snapshot to describe the attributes for.
 31140  	//
 31141  	// DBSnapshotIdentifier is a required field
 31142  	DBSnapshotIdentifier *string `type:"string" required:"true"`
 31143  }
 31144  
 31145  // String returns the string representation.
 31146  //
 31147  // API parameter values that are decorated as "sensitive" in the API will not
 31148  // be included in the string output. The member name will be present, but the
 31149  // value will be replaced with "sensitive".
 31150  func (s DescribeDBSnapshotAttributesInput) String() string {
 31151  	return awsutil.Prettify(s)
 31152  }
 31153  
 31154  // GoString returns the string representation.
 31155  //
 31156  // API parameter values that are decorated as "sensitive" in the API will not
 31157  // be included in the string output. The member name will be present, but the
 31158  // value will be replaced with "sensitive".
 31159  func (s DescribeDBSnapshotAttributesInput) GoString() string {
 31160  	return s.String()
 31161  }
 31162  
 31163  // Validate inspects the fields of the type to determine if they are valid.
 31164  func (s *DescribeDBSnapshotAttributesInput) Validate() error {
 31165  	invalidParams := request.ErrInvalidParams{Context: "DescribeDBSnapshotAttributesInput"}
 31166  	if s.DBSnapshotIdentifier == nil {
 31167  		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
 31168  	}
 31169  
 31170  	if invalidParams.Len() > 0 {
 31171  		return invalidParams
 31172  	}
 31173  	return nil
 31174  }
 31175  
 31176  // SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
 31177  func (s *DescribeDBSnapshotAttributesInput) SetDBSnapshotIdentifier(v string) *DescribeDBSnapshotAttributesInput {
 31178  	s.DBSnapshotIdentifier = &v
 31179  	return s
 31180  }
 31181  
 31182  type DescribeDBSnapshotAttributesOutput struct {
 31183  	_ struct{} `type:"structure"`
 31184  
 31185  	// Contains the results of a successful call to the DescribeDBSnapshotAttributes
 31186  	// API action.
 31187  	//
 31188  	// Manual DB snapshot attributes are used to authorize other Amazon Web Services
 31189  	// accounts to copy or restore a manual DB snapshot. For more information, see
 31190  	// the ModifyDBSnapshotAttribute API action.
 31191  	DBSnapshotAttributesResult *DBSnapshotAttributesResult `type:"structure"`
 31192  }
 31193  
 31194  // String returns the string representation.
 31195  //
 31196  // API parameter values that are decorated as "sensitive" in the API will not
 31197  // be included in the string output. The member name will be present, but the
 31198  // value will be replaced with "sensitive".
 31199  func (s DescribeDBSnapshotAttributesOutput) String() string {
 31200  	return awsutil.Prettify(s)
 31201  }
 31202  
 31203  // GoString returns the string representation.
 31204  //
 31205  // API parameter values that are decorated as "sensitive" in the API will not
 31206  // be included in the string output. The member name will be present, but the
 31207  // value will be replaced with "sensitive".
 31208  func (s DescribeDBSnapshotAttributesOutput) GoString() string {
 31209  	return s.String()
 31210  }
 31211  
 31212  // SetDBSnapshotAttributesResult sets the DBSnapshotAttributesResult field's value.
 31213  func (s *DescribeDBSnapshotAttributesOutput) SetDBSnapshotAttributesResult(v *DBSnapshotAttributesResult) *DescribeDBSnapshotAttributesOutput {
 31214  	s.DBSnapshotAttributesResult = v
 31215  	return s
 31216  }
 31217  
 31218  type DescribeDBSnapshotsInput struct {
 31219  	_ struct{} `type:"structure"`
 31220  
 31221  	// The ID of the DB instance to retrieve the list of DB snapshots for. This
 31222  	// parameter can't be used in conjunction with DBSnapshotIdentifier. This parameter
 31223  	// isn't case-sensitive.
 31224  	//
 31225  	// Constraints:
 31226  	//
 31227  	//    * If supplied, must match the identifier of an existing DBInstance.
 31228  	DBInstanceIdentifier *string `type:"string"`
 31229  
 31230  	// A specific DB snapshot identifier to describe. This parameter can't be used
 31231  	// in conjunction with DBInstanceIdentifier. This value is stored as a lowercase
 31232  	// string.
 31233  	//
 31234  	// Constraints:
 31235  	//
 31236  	//    * If supplied, must match the identifier of an existing DBSnapshot.
 31237  	//
 31238  	//    * If this identifier is for an automated snapshot, the SnapshotType parameter
 31239  	//    must also be specified.
 31240  	DBSnapshotIdentifier *string `type:"string"`
 31241  
 31242  	// A specific DB resource ID to describe.
 31243  	DbiResourceId *string `type:"string"`
 31244  
 31245  	// A filter that specifies one or more DB snapshots to describe.
 31246  	//
 31247  	// Supported filters:
 31248  	//
 31249  	//    * db-instance-id - Accepts DB instance identifiers and DB instance Amazon
 31250  	//    Resource Names (ARNs).
 31251  	//
 31252  	//    * db-snapshot-id - Accepts DB snapshot identifiers.
 31253  	//
 31254  	//    * dbi-resource-id - Accepts identifiers of source DB instances.
 31255  	//
 31256  	//    * snapshot-type - Accepts types of DB snapshots.
 31257  	//
 31258  	//    * engine - Accepts names of database engines.
 31259  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 31260  
 31261  	// A value that indicates whether to include manual DB cluster snapshots that
 31262  	// are public and can be copied or restored by any Amazon Web Services account.
 31263  	// By default, the public snapshots are not included.
 31264  	//
 31265  	// You can share a manual DB snapshot as public by using the ModifyDBSnapshotAttribute
 31266  	// API.
 31267  	IncludePublic *bool `type:"boolean"`
 31268  
 31269  	// A value that indicates whether to include shared manual DB cluster snapshots
 31270  	// from other Amazon Web Services accounts that this Amazon Web Services account
 31271  	// has been given permission to copy or restore. By default, these snapshots
 31272  	// are not included.
 31273  	//
 31274  	// You can give an Amazon Web Services account permission to restore a manual
 31275  	// DB snapshot from another Amazon Web Services account by using the ModifyDBSnapshotAttribute
 31276  	// API action.
 31277  	IncludeShared *bool `type:"boolean"`
 31278  
 31279  	// An optional pagination token provided by a previous DescribeDBSnapshots request.
 31280  	// If this parameter is specified, the response includes only records beyond
 31281  	// the marker, up to the value specified by MaxRecords.
 31282  	Marker *string `type:"string"`
 31283  
 31284  	// The maximum number of records to include in the response. If more records
 31285  	// exist than the specified MaxRecords value, a pagination token called a marker
 31286  	// is included in the response so that you can retrieve the remaining results.
 31287  	//
 31288  	// Default: 100
 31289  	//
 31290  	// Constraints: Minimum 20, maximum 100.
 31291  	MaxRecords *int64 `type:"integer"`
 31292  
 31293  	// The type of snapshots to be returned. You can specify one of the following
 31294  	// values:
 31295  	//
 31296  	//    * automated - Return all DB snapshots that have been automatically taken
 31297  	//    by Amazon RDS for my Amazon Web Services account.
 31298  	//
 31299  	//    * manual - Return all DB snapshots that have been taken by my Amazon Web
 31300  	//    Services account.
 31301  	//
 31302  	//    * shared - Return all manual DB snapshots that have been shared to my
 31303  	//    Amazon Web Services account.
 31304  	//
 31305  	//    * public - Return all DB snapshots that have been marked as public.
 31306  	//
 31307  	//    * awsbackup - Return the DB snapshots managed by the Amazon Web Services
 31308  	//    Backup service. For information about Amazon Web Services Backup, see
 31309  	//    the Amazon Web Services Backup Developer Guide. (https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html)
 31310  	//    The awsbackup type does not apply to Aurora.
 31311  	//
 31312  	// If you don't specify a SnapshotType value, then both automated and manual
 31313  	// snapshots are returned. Shared and public DB snapshots are not included in
 31314  	// the returned results by default. You can include shared snapshots with these
 31315  	// results by enabling the IncludeShared parameter. You can include public snapshots
 31316  	// with these results by enabling the IncludePublic parameter.
 31317  	//
 31318  	// The IncludeShared and IncludePublic parameters don't apply for SnapshotType
 31319  	// values of manual or automated. The IncludePublic parameter doesn't apply
 31320  	// when SnapshotType is set to shared. The IncludeShared parameter doesn't apply
 31321  	// when SnapshotType is set to public.
 31322  	SnapshotType *string `type:"string"`
 31323  }
 31324  
 31325  // String returns the string representation.
 31326  //
 31327  // API parameter values that are decorated as "sensitive" in the API will not
 31328  // be included in the string output. The member name will be present, but the
 31329  // value will be replaced with "sensitive".
 31330  func (s DescribeDBSnapshotsInput) String() string {
 31331  	return awsutil.Prettify(s)
 31332  }
 31333  
 31334  // GoString returns the string representation.
 31335  //
 31336  // API parameter values that are decorated as "sensitive" in the API will not
 31337  // be included in the string output. The member name will be present, but the
 31338  // value will be replaced with "sensitive".
 31339  func (s DescribeDBSnapshotsInput) GoString() string {
 31340  	return s.String()
 31341  }
 31342  
 31343  // Validate inspects the fields of the type to determine if they are valid.
 31344  func (s *DescribeDBSnapshotsInput) Validate() error {
 31345  	invalidParams := request.ErrInvalidParams{Context: "DescribeDBSnapshotsInput"}
 31346  	if s.Filters != nil {
 31347  		for i, v := range s.Filters {
 31348  			if v == nil {
 31349  				continue
 31350  			}
 31351  			if err := v.Validate(); err != nil {
 31352  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 31353  			}
 31354  		}
 31355  	}
 31356  
 31357  	if invalidParams.Len() > 0 {
 31358  		return invalidParams
 31359  	}
 31360  	return nil
 31361  }
 31362  
 31363  // SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
 31364  func (s *DescribeDBSnapshotsInput) SetDBInstanceIdentifier(v string) *DescribeDBSnapshotsInput {
 31365  	s.DBInstanceIdentifier = &v
 31366  	return s
 31367  }
 31368  
 31369  // SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
 31370  func (s *DescribeDBSnapshotsInput) SetDBSnapshotIdentifier(v string) *DescribeDBSnapshotsInput {
 31371  	s.DBSnapshotIdentifier = &v
 31372  	return s
 31373  }
 31374  
 31375  // SetDbiResourceId sets the DbiResourceId field's value.
 31376  func (s *DescribeDBSnapshotsInput) SetDbiResourceId(v string) *DescribeDBSnapshotsInput {
 31377  	s.DbiResourceId = &v
 31378  	return s
 31379  }
 31380  
 31381  // SetFilters sets the Filters field's value.
 31382  func (s *DescribeDBSnapshotsInput) SetFilters(v []*Filter) *DescribeDBSnapshotsInput {
 31383  	s.Filters = v
 31384  	return s
 31385  }
 31386  
 31387  // SetIncludePublic sets the IncludePublic field's value.
 31388  func (s *DescribeDBSnapshotsInput) SetIncludePublic(v bool) *DescribeDBSnapshotsInput {
 31389  	s.IncludePublic = &v
 31390  	return s
 31391  }
 31392  
 31393  // SetIncludeShared sets the IncludeShared field's value.
 31394  func (s *DescribeDBSnapshotsInput) SetIncludeShared(v bool) *DescribeDBSnapshotsInput {
 31395  	s.IncludeShared = &v
 31396  	return s
 31397  }
 31398  
 31399  // SetMarker sets the Marker field's value.
 31400  func (s *DescribeDBSnapshotsInput) SetMarker(v string) *DescribeDBSnapshotsInput {
 31401  	s.Marker = &v
 31402  	return s
 31403  }
 31404  
 31405  // SetMaxRecords sets the MaxRecords field's value.
 31406  func (s *DescribeDBSnapshotsInput) SetMaxRecords(v int64) *DescribeDBSnapshotsInput {
 31407  	s.MaxRecords = &v
 31408  	return s
 31409  }
 31410  
 31411  // SetSnapshotType sets the SnapshotType field's value.
 31412  func (s *DescribeDBSnapshotsInput) SetSnapshotType(v string) *DescribeDBSnapshotsInput {
 31413  	s.SnapshotType = &v
 31414  	return s
 31415  }
 31416  
 31417  // Contains the result of a successful invocation of the DescribeDBSnapshots
 31418  // action.
 31419  type DescribeDBSnapshotsOutput struct {
 31420  	_ struct{} `type:"structure"`
 31421  
 31422  	// A list of DBSnapshot instances.
 31423  	DBSnapshots []*DBSnapshot `locationNameList:"DBSnapshot" type:"list"`
 31424  
 31425  	// An optional pagination token provided by a previous request. If this parameter
 31426  	// is specified, the response includes only records beyond the marker, up to
 31427  	// the value specified by MaxRecords.
 31428  	Marker *string `type:"string"`
 31429  }
 31430  
 31431  // String returns the string representation.
 31432  //
 31433  // API parameter values that are decorated as "sensitive" in the API will not
 31434  // be included in the string output. The member name will be present, but the
 31435  // value will be replaced with "sensitive".
 31436  func (s DescribeDBSnapshotsOutput) String() string {
 31437  	return awsutil.Prettify(s)
 31438  }
 31439  
 31440  // GoString returns the string representation.
 31441  //
 31442  // API parameter values that are decorated as "sensitive" in the API will not
 31443  // be included in the string output. The member name will be present, but the
 31444  // value will be replaced with "sensitive".
 31445  func (s DescribeDBSnapshotsOutput) GoString() string {
 31446  	return s.String()
 31447  }
 31448  
 31449  // SetDBSnapshots sets the DBSnapshots field's value.
 31450  func (s *DescribeDBSnapshotsOutput) SetDBSnapshots(v []*DBSnapshot) *DescribeDBSnapshotsOutput {
 31451  	s.DBSnapshots = v
 31452  	return s
 31453  }
 31454  
 31455  // SetMarker sets the Marker field's value.
 31456  func (s *DescribeDBSnapshotsOutput) SetMarker(v string) *DescribeDBSnapshotsOutput {
 31457  	s.Marker = &v
 31458  	return s
 31459  }
 31460  
 31461  type DescribeDBSubnetGroupsInput struct {
 31462  	_ struct{} `type:"structure"`
 31463  
 31464  	// The name of the DB subnet group to return details for.
 31465  	DBSubnetGroupName *string `type:"string"`
 31466  
 31467  	// This parameter isn't currently supported.
 31468  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 31469  
 31470  	// An optional pagination token provided by a previous DescribeDBSubnetGroups
 31471  	// request. If this parameter is specified, the response includes only records
 31472  	// beyond the marker, up to the value specified by MaxRecords.
 31473  	Marker *string `type:"string"`
 31474  
 31475  	// The maximum number of records to include in the response. If more records
 31476  	// exist than the specified MaxRecords value, a pagination token called a marker
 31477  	// is included in the response so that you can retrieve the remaining results.
 31478  	//
 31479  	// Default: 100
 31480  	//
 31481  	// Constraints: Minimum 20, maximum 100.
 31482  	MaxRecords *int64 `type:"integer"`
 31483  }
 31484  
 31485  // String returns the string representation.
 31486  //
 31487  // API parameter values that are decorated as "sensitive" in the API will not
 31488  // be included in the string output. The member name will be present, but the
 31489  // value will be replaced with "sensitive".
 31490  func (s DescribeDBSubnetGroupsInput) String() string {
 31491  	return awsutil.Prettify(s)
 31492  }
 31493  
 31494  // GoString returns the string representation.
 31495  //
 31496  // API parameter values that are decorated as "sensitive" in the API will not
 31497  // be included in the string output. The member name will be present, but the
 31498  // value will be replaced with "sensitive".
 31499  func (s DescribeDBSubnetGroupsInput) GoString() string {
 31500  	return s.String()
 31501  }
 31502  
 31503  // Validate inspects the fields of the type to determine if they are valid.
 31504  func (s *DescribeDBSubnetGroupsInput) Validate() error {
 31505  	invalidParams := request.ErrInvalidParams{Context: "DescribeDBSubnetGroupsInput"}
 31506  	if s.Filters != nil {
 31507  		for i, v := range s.Filters {
 31508  			if v == nil {
 31509  				continue
 31510  			}
 31511  			if err := v.Validate(); err != nil {
 31512  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 31513  			}
 31514  		}
 31515  	}
 31516  
 31517  	if invalidParams.Len() > 0 {
 31518  		return invalidParams
 31519  	}
 31520  	return nil
 31521  }
 31522  
 31523  // SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
 31524  func (s *DescribeDBSubnetGroupsInput) SetDBSubnetGroupName(v string) *DescribeDBSubnetGroupsInput {
 31525  	s.DBSubnetGroupName = &v
 31526  	return s
 31527  }
 31528  
 31529  // SetFilters sets the Filters field's value.
 31530  func (s *DescribeDBSubnetGroupsInput) SetFilters(v []*Filter) *DescribeDBSubnetGroupsInput {
 31531  	s.Filters = v
 31532  	return s
 31533  }
 31534  
 31535  // SetMarker sets the Marker field's value.
 31536  func (s *DescribeDBSubnetGroupsInput) SetMarker(v string) *DescribeDBSubnetGroupsInput {
 31537  	s.Marker = &v
 31538  	return s
 31539  }
 31540  
 31541  // SetMaxRecords sets the MaxRecords field's value.
 31542  func (s *DescribeDBSubnetGroupsInput) SetMaxRecords(v int64) *DescribeDBSubnetGroupsInput {
 31543  	s.MaxRecords = &v
 31544  	return s
 31545  }
 31546  
 31547  // Contains the result of a successful invocation of the DescribeDBSubnetGroups
 31548  // action.
 31549  type DescribeDBSubnetGroupsOutput struct {
 31550  	_ struct{} `type:"structure"`
 31551  
 31552  	// A list of DBSubnetGroup instances.
 31553  	DBSubnetGroups []*DBSubnetGroup `locationNameList:"DBSubnetGroup" type:"list"`
 31554  
 31555  	// An optional pagination token provided by a previous request. If this parameter
 31556  	// is specified, the response includes only records beyond the marker, up to
 31557  	// the value specified by MaxRecords.
 31558  	Marker *string `type:"string"`
 31559  }
 31560  
 31561  // String returns the string representation.
 31562  //
 31563  // API parameter values that are decorated as "sensitive" in the API will not
 31564  // be included in the string output. The member name will be present, but the
 31565  // value will be replaced with "sensitive".
 31566  func (s DescribeDBSubnetGroupsOutput) String() string {
 31567  	return awsutil.Prettify(s)
 31568  }
 31569  
 31570  // GoString returns the string representation.
 31571  //
 31572  // API parameter values that are decorated as "sensitive" in the API will not
 31573  // be included in the string output. The member name will be present, but the
 31574  // value will be replaced with "sensitive".
 31575  func (s DescribeDBSubnetGroupsOutput) GoString() string {
 31576  	return s.String()
 31577  }
 31578  
 31579  // SetDBSubnetGroups sets the DBSubnetGroups field's value.
 31580  func (s *DescribeDBSubnetGroupsOutput) SetDBSubnetGroups(v []*DBSubnetGroup) *DescribeDBSubnetGroupsOutput {
 31581  	s.DBSubnetGroups = v
 31582  	return s
 31583  }
 31584  
 31585  // SetMarker sets the Marker field's value.
 31586  func (s *DescribeDBSubnetGroupsOutput) SetMarker(v string) *DescribeDBSubnetGroupsOutput {
 31587  	s.Marker = &v
 31588  	return s
 31589  }
 31590  
 31591  type DescribeEngineDefaultClusterParametersInput struct {
 31592  	_ struct{} `type:"structure"`
 31593  
 31594  	// The name of the DB cluster parameter group family to return engine parameter
 31595  	// information for.
 31596  	//
 31597  	// DBParameterGroupFamily is a required field
 31598  	DBParameterGroupFamily *string `type:"string" required:"true"`
 31599  
 31600  	// This parameter isn't currently supported.
 31601  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 31602  
 31603  	// An optional pagination token provided by a previous DescribeEngineDefaultClusterParameters
 31604  	// request. If this parameter is specified, the response includes only records
 31605  	// beyond the marker, up to the value specified by MaxRecords.
 31606  	Marker *string `type:"string"`
 31607  
 31608  	// The maximum number of records to include in the response. If more records
 31609  	// exist than the specified MaxRecords value, a pagination token called a marker
 31610  	// is included in the response so you can retrieve the remaining results.
 31611  	//
 31612  	// Default: 100
 31613  	//
 31614  	// Constraints: Minimum 20, maximum 100.
 31615  	MaxRecords *int64 `type:"integer"`
 31616  }
 31617  
 31618  // String returns the string representation.
 31619  //
 31620  // API parameter values that are decorated as "sensitive" in the API will not
 31621  // be included in the string output. The member name will be present, but the
 31622  // value will be replaced with "sensitive".
 31623  func (s DescribeEngineDefaultClusterParametersInput) String() string {
 31624  	return awsutil.Prettify(s)
 31625  }
 31626  
 31627  // GoString returns the string representation.
 31628  //
 31629  // API parameter values that are decorated as "sensitive" in the API will not
 31630  // be included in the string output. The member name will be present, but the
 31631  // value will be replaced with "sensitive".
 31632  func (s DescribeEngineDefaultClusterParametersInput) GoString() string {
 31633  	return s.String()
 31634  }
 31635  
 31636  // Validate inspects the fields of the type to determine if they are valid.
 31637  func (s *DescribeEngineDefaultClusterParametersInput) Validate() error {
 31638  	invalidParams := request.ErrInvalidParams{Context: "DescribeEngineDefaultClusterParametersInput"}
 31639  	if s.DBParameterGroupFamily == nil {
 31640  		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
 31641  	}
 31642  	if s.Filters != nil {
 31643  		for i, v := range s.Filters {
 31644  			if v == nil {
 31645  				continue
 31646  			}
 31647  			if err := v.Validate(); err != nil {
 31648  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 31649  			}
 31650  		}
 31651  	}
 31652  
 31653  	if invalidParams.Len() > 0 {
 31654  		return invalidParams
 31655  	}
 31656  	return nil
 31657  }
 31658  
 31659  // SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
 31660  func (s *DescribeEngineDefaultClusterParametersInput) SetDBParameterGroupFamily(v string) *DescribeEngineDefaultClusterParametersInput {
 31661  	s.DBParameterGroupFamily = &v
 31662  	return s
 31663  }
 31664  
 31665  // SetFilters sets the Filters field's value.
 31666  func (s *DescribeEngineDefaultClusterParametersInput) SetFilters(v []*Filter) *DescribeEngineDefaultClusterParametersInput {
 31667  	s.Filters = v
 31668  	return s
 31669  }
 31670  
 31671  // SetMarker sets the Marker field's value.
 31672  func (s *DescribeEngineDefaultClusterParametersInput) SetMarker(v string) *DescribeEngineDefaultClusterParametersInput {
 31673  	s.Marker = &v
 31674  	return s
 31675  }
 31676  
 31677  // SetMaxRecords sets the MaxRecords field's value.
 31678  func (s *DescribeEngineDefaultClusterParametersInput) SetMaxRecords(v int64) *DescribeEngineDefaultClusterParametersInput {
 31679  	s.MaxRecords = &v
 31680  	return s
 31681  }
 31682  
 31683  type DescribeEngineDefaultClusterParametersOutput struct {
 31684  	_ struct{} `type:"structure"`
 31685  
 31686  	// Contains the result of a successful invocation of the DescribeEngineDefaultParameters
 31687  	// action.
 31688  	EngineDefaults *EngineDefaults `type:"structure"`
 31689  }
 31690  
 31691  // String returns the string representation.
 31692  //
 31693  // API parameter values that are decorated as "sensitive" in the API will not
 31694  // be included in the string output. The member name will be present, but the
 31695  // value will be replaced with "sensitive".
 31696  func (s DescribeEngineDefaultClusterParametersOutput) String() string {
 31697  	return awsutil.Prettify(s)
 31698  }
 31699  
 31700  // GoString returns the string representation.
 31701  //
 31702  // API parameter values that are decorated as "sensitive" in the API will not
 31703  // be included in the string output. The member name will be present, but the
 31704  // value will be replaced with "sensitive".
 31705  func (s DescribeEngineDefaultClusterParametersOutput) GoString() string {
 31706  	return s.String()
 31707  }
 31708  
 31709  // SetEngineDefaults sets the EngineDefaults field's value.
 31710  func (s *DescribeEngineDefaultClusterParametersOutput) SetEngineDefaults(v *EngineDefaults) *DescribeEngineDefaultClusterParametersOutput {
 31711  	s.EngineDefaults = v
 31712  	return s
 31713  }
 31714  
 31715  type DescribeEngineDefaultParametersInput struct {
 31716  	_ struct{} `type:"structure"`
 31717  
 31718  	// The name of the DB parameter group family.
 31719  	//
 31720  	// DBParameterGroupFamily is a required field
 31721  	DBParameterGroupFamily *string `type:"string" required:"true"`
 31722  
 31723  	// This parameter isn't currently supported.
 31724  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 31725  
 31726  	// An optional pagination token provided by a previous DescribeEngineDefaultParameters
 31727  	// request. If this parameter is specified, the response includes only records
 31728  	// beyond the marker, up to the value specified by MaxRecords.
 31729  	Marker *string `type:"string"`
 31730  
 31731  	// The maximum number of records to include in the response. If more records
 31732  	// exist than the specified MaxRecords value, a pagination token called a marker
 31733  	// is included in the response so you can retrieve the remaining results.
 31734  	//
 31735  	// Default: 100
 31736  	//
 31737  	// Constraints: Minimum 20, maximum 100.
 31738  	MaxRecords *int64 `type:"integer"`
 31739  }
 31740  
 31741  // String returns the string representation.
 31742  //
 31743  // API parameter values that are decorated as "sensitive" in the API will not
 31744  // be included in the string output. The member name will be present, but the
 31745  // value will be replaced with "sensitive".
 31746  func (s DescribeEngineDefaultParametersInput) String() string {
 31747  	return awsutil.Prettify(s)
 31748  }
 31749  
 31750  // GoString returns the string representation.
 31751  //
 31752  // API parameter values that are decorated as "sensitive" in the API will not
 31753  // be included in the string output. The member name will be present, but the
 31754  // value will be replaced with "sensitive".
 31755  func (s DescribeEngineDefaultParametersInput) GoString() string {
 31756  	return s.String()
 31757  }
 31758  
 31759  // Validate inspects the fields of the type to determine if they are valid.
 31760  func (s *DescribeEngineDefaultParametersInput) Validate() error {
 31761  	invalidParams := request.ErrInvalidParams{Context: "DescribeEngineDefaultParametersInput"}
 31762  	if s.DBParameterGroupFamily == nil {
 31763  		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
 31764  	}
 31765  	if s.Filters != nil {
 31766  		for i, v := range s.Filters {
 31767  			if v == nil {
 31768  				continue
 31769  			}
 31770  			if err := v.Validate(); err != nil {
 31771  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 31772  			}
 31773  		}
 31774  	}
 31775  
 31776  	if invalidParams.Len() > 0 {
 31777  		return invalidParams
 31778  	}
 31779  	return nil
 31780  }
 31781  
 31782  // SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
 31783  func (s *DescribeEngineDefaultParametersInput) SetDBParameterGroupFamily(v string) *DescribeEngineDefaultParametersInput {
 31784  	s.DBParameterGroupFamily = &v
 31785  	return s
 31786  }
 31787  
 31788  // SetFilters sets the Filters field's value.
 31789  func (s *DescribeEngineDefaultParametersInput) SetFilters(v []*Filter) *DescribeEngineDefaultParametersInput {
 31790  	s.Filters = v
 31791  	return s
 31792  }
 31793  
 31794  // SetMarker sets the Marker field's value.
 31795  func (s *DescribeEngineDefaultParametersInput) SetMarker(v string) *DescribeEngineDefaultParametersInput {
 31796  	s.Marker = &v
 31797  	return s
 31798  }
 31799  
 31800  // SetMaxRecords sets the MaxRecords field's value.
 31801  func (s *DescribeEngineDefaultParametersInput) SetMaxRecords(v int64) *DescribeEngineDefaultParametersInput {
 31802  	s.MaxRecords = &v
 31803  	return s
 31804  }
 31805  
 31806  type DescribeEngineDefaultParametersOutput struct {
 31807  	_ struct{} `type:"structure"`
 31808  
 31809  	// Contains the result of a successful invocation of the DescribeEngineDefaultParameters
 31810  	// action.
 31811  	EngineDefaults *EngineDefaults `type:"structure"`
 31812  }
 31813  
 31814  // String returns the string representation.
 31815  //
 31816  // API parameter values that are decorated as "sensitive" in the API will not
 31817  // be included in the string output. The member name will be present, but the
 31818  // value will be replaced with "sensitive".
 31819  func (s DescribeEngineDefaultParametersOutput) String() string {
 31820  	return awsutil.Prettify(s)
 31821  }
 31822  
 31823  // GoString returns the string representation.
 31824  //
 31825  // API parameter values that are decorated as "sensitive" in the API will not
 31826  // be included in the string output. The member name will be present, but the
 31827  // value will be replaced with "sensitive".
 31828  func (s DescribeEngineDefaultParametersOutput) GoString() string {
 31829  	return s.String()
 31830  }
 31831  
 31832  // SetEngineDefaults sets the EngineDefaults field's value.
 31833  func (s *DescribeEngineDefaultParametersOutput) SetEngineDefaults(v *EngineDefaults) *DescribeEngineDefaultParametersOutput {
 31834  	s.EngineDefaults = v
 31835  	return s
 31836  }
 31837  
 31838  type DescribeEventCategoriesInput struct {
 31839  	_ struct{} `type:"structure"`
 31840  
 31841  	// This parameter isn't currently supported.
 31842  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 31843  
 31844  	// The type of source that is generating the events.
 31845  	//
 31846  	// Valid values: db-instance | db-cluster | db-parameter-group | db-security-group
 31847  	// | db-snapshot | db-cluster-snapshot
 31848  	SourceType *string `type:"string"`
 31849  }
 31850  
 31851  // String returns the string representation.
 31852  //
 31853  // API parameter values that are decorated as "sensitive" in the API will not
 31854  // be included in the string output. The member name will be present, but the
 31855  // value will be replaced with "sensitive".
 31856  func (s DescribeEventCategoriesInput) String() string {
 31857  	return awsutil.Prettify(s)
 31858  }
 31859  
 31860  // GoString returns the string representation.
 31861  //
 31862  // API parameter values that are decorated as "sensitive" in the API will not
 31863  // be included in the string output. The member name will be present, but the
 31864  // value will be replaced with "sensitive".
 31865  func (s DescribeEventCategoriesInput) GoString() string {
 31866  	return s.String()
 31867  }
 31868  
 31869  // Validate inspects the fields of the type to determine if they are valid.
 31870  func (s *DescribeEventCategoriesInput) Validate() error {
 31871  	invalidParams := request.ErrInvalidParams{Context: "DescribeEventCategoriesInput"}
 31872  	if s.Filters != nil {
 31873  		for i, v := range s.Filters {
 31874  			if v == nil {
 31875  				continue
 31876  			}
 31877  			if err := v.Validate(); err != nil {
 31878  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 31879  			}
 31880  		}
 31881  	}
 31882  
 31883  	if invalidParams.Len() > 0 {
 31884  		return invalidParams
 31885  	}
 31886  	return nil
 31887  }
 31888  
 31889  // SetFilters sets the Filters field's value.
 31890  func (s *DescribeEventCategoriesInput) SetFilters(v []*Filter) *DescribeEventCategoriesInput {
 31891  	s.Filters = v
 31892  	return s
 31893  }
 31894  
 31895  // SetSourceType sets the SourceType field's value.
 31896  func (s *DescribeEventCategoriesInput) SetSourceType(v string) *DescribeEventCategoriesInput {
 31897  	s.SourceType = &v
 31898  	return s
 31899  }
 31900  
 31901  // Data returned from the DescribeEventCategories operation.
 31902  type DescribeEventCategoriesOutput struct {
 31903  	_ struct{} `type:"structure"`
 31904  
 31905  	// A list of EventCategoriesMap data types.
 31906  	EventCategoriesMapList []*EventCategoriesMap `locationNameList:"EventCategoriesMap" type:"list"`
 31907  }
 31908  
 31909  // String returns the string representation.
 31910  //
 31911  // API parameter values that are decorated as "sensitive" in the API will not
 31912  // be included in the string output. The member name will be present, but the
 31913  // value will be replaced with "sensitive".
 31914  func (s DescribeEventCategoriesOutput) String() string {
 31915  	return awsutil.Prettify(s)
 31916  }
 31917  
 31918  // GoString returns the string representation.
 31919  //
 31920  // API parameter values that are decorated as "sensitive" in the API will not
 31921  // be included in the string output. The member name will be present, but the
 31922  // value will be replaced with "sensitive".
 31923  func (s DescribeEventCategoriesOutput) GoString() string {
 31924  	return s.String()
 31925  }
 31926  
 31927  // SetEventCategoriesMapList sets the EventCategoriesMapList field's value.
 31928  func (s *DescribeEventCategoriesOutput) SetEventCategoriesMapList(v []*EventCategoriesMap) *DescribeEventCategoriesOutput {
 31929  	s.EventCategoriesMapList = v
 31930  	return s
 31931  }
 31932  
 31933  type DescribeEventSubscriptionsInput struct {
 31934  	_ struct{} `type:"structure"`
 31935  
 31936  	// This parameter isn't currently supported.
 31937  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 31938  
 31939  	// An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions
 31940  	// request. If this parameter is specified, the response includes only records
 31941  	// beyond the marker, up to the value specified by MaxRecords .
 31942  	Marker *string `type:"string"`
 31943  
 31944  	// The maximum number of records to include in the response. If more records
 31945  	// exist than the specified MaxRecords value, a pagination token called a marker
 31946  	// is included in the response so that you can retrieve the remaining results.
 31947  	//
 31948  	// Default: 100
 31949  	//
 31950  	// Constraints: Minimum 20, maximum 100.
 31951  	MaxRecords *int64 `type:"integer"`
 31952  
 31953  	// The name of the RDS event notification subscription you want to describe.
 31954  	SubscriptionName *string `type:"string"`
 31955  }
 31956  
 31957  // String returns the string representation.
 31958  //
 31959  // API parameter values that are decorated as "sensitive" in the API will not
 31960  // be included in the string output. The member name will be present, but the
 31961  // value will be replaced with "sensitive".
 31962  func (s DescribeEventSubscriptionsInput) String() string {
 31963  	return awsutil.Prettify(s)
 31964  }
 31965  
 31966  // GoString returns the string representation.
 31967  //
 31968  // API parameter values that are decorated as "sensitive" in the API will not
 31969  // be included in the string output. The member name will be present, but the
 31970  // value will be replaced with "sensitive".
 31971  func (s DescribeEventSubscriptionsInput) GoString() string {
 31972  	return s.String()
 31973  }
 31974  
 31975  // Validate inspects the fields of the type to determine if they are valid.
 31976  func (s *DescribeEventSubscriptionsInput) Validate() error {
 31977  	invalidParams := request.ErrInvalidParams{Context: "DescribeEventSubscriptionsInput"}
 31978  	if s.Filters != nil {
 31979  		for i, v := range s.Filters {
 31980  			if v == nil {
 31981  				continue
 31982  			}
 31983  			if err := v.Validate(); err != nil {
 31984  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 31985  			}
 31986  		}
 31987  	}
 31988  
 31989  	if invalidParams.Len() > 0 {
 31990  		return invalidParams
 31991  	}
 31992  	return nil
 31993  }
 31994  
 31995  // SetFilters sets the Filters field's value.
 31996  func (s *DescribeEventSubscriptionsInput) SetFilters(v []*Filter) *DescribeEventSubscriptionsInput {
 31997  	s.Filters = v
 31998  	return s
 31999  }
 32000  
 32001  // SetMarker sets the Marker field's value.
 32002  func (s *DescribeEventSubscriptionsInput) SetMarker(v string) *DescribeEventSubscriptionsInput {
 32003  	s.Marker = &v
 32004  	return s
 32005  }
 32006  
 32007  // SetMaxRecords sets the MaxRecords field's value.
 32008  func (s *DescribeEventSubscriptionsInput) SetMaxRecords(v int64) *DescribeEventSubscriptionsInput {
 32009  	s.MaxRecords = &v
 32010  	return s
 32011  }
 32012  
 32013  // SetSubscriptionName sets the SubscriptionName field's value.
 32014  func (s *DescribeEventSubscriptionsInput) SetSubscriptionName(v string) *DescribeEventSubscriptionsInput {
 32015  	s.SubscriptionName = &v
 32016  	return s
 32017  }
 32018  
 32019  // Data returned by the DescribeEventSubscriptions action.
 32020  type DescribeEventSubscriptionsOutput struct {
 32021  	_ struct{} `type:"structure"`
 32022  
 32023  	// A list of EventSubscriptions data types.
 32024  	EventSubscriptionsList []*EventSubscription `locationNameList:"EventSubscription" type:"list"`
 32025  
 32026  	// An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions
 32027  	// request. If this parameter is specified, the response includes only records
 32028  	// beyond the marker, up to the value specified by MaxRecords.
 32029  	Marker *string `type:"string"`
 32030  }
 32031  
 32032  // String returns the string representation.
 32033  //
 32034  // API parameter values that are decorated as "sensitive" in the API will not
 32035  // be included in the string output. The member name will be present, but the
 32036  // value will be replaced with "sensitive".
 32037  func (s DescribeEventSubscriptionsOutput) String() string {
 32038  	return awsutil.Prettify(s)
 32039  }
 32040  
 32041  // GoString returns the string representation.
 32042  //
 32043  // API parameter values that are decorated as "sensitive" in the API will not
 32044  // be included in the string output. The member name will be present, but the
 32045  // value will be replaced with "sensitive".
 32046  func (s DescribeEventSubscriptionsOutput) GoString() string {
 32047  	return s.String()
 32048  }
 32049  
 32050  // SetEventSubscriptionsList sets the EventSubscriptionsList field's value.
 32051  func (s *DescribeEventSubscriptionsOutput) SetEventSubscriptionsList(v []*EventSubscription) *DescribeEventSubscriptionsOutput {
 32052  	s.EventSubscriptionsList = v
 32053  	return s
 32054  }
 32055  
 32056  // SetMarker sets the Marker field's value.
 32057  func (s *DescribeEventSubscriptionsOutput) SetMarker(v string) *DescribeEventSubscriptionsOutput {
 32058  	s.Marker = &v
 32059  	return s
 32060  }
 32061  
 32062  type DescribeEventsInput struct {
 32063  	_ struct{} `type:"structure"`
 32064  
 32065  	// The number of minutes to retrieve events for.
 32066  	//
 32067  	// Default: 60
 32068  	Duration *int64 `type:"integer"`
 32069  
 32070  	// The end of the time interval for which to retrieve events, specified in ISO
 32071  	// 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia
 32072  	// page. (http://en.wikipedia.org/wiki/ISO_8601)
 32073  	//
 32074  	// Example: 2009-07-08T18:00Z
 32075  	EndTime *time.Time `type:"timestamp"`
 32076  
 32077  	// A list of event categories that trigger notifications for a event notification
 32078  	// subscription.
 32079  	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
 32080  
 32081  	// This parameter isn't currently supported.
 32082  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 32083  
 32084  	// An optional pagination token provided by a previous DescribeEvents request.
 32085  	// If this parameter is specified, the response includes only records beyond
 32086  	// the marker, up to the value specified by MaxRecords.
 32087  	Marker *string `type:"string"`
 32088  
 32089  	// The maximum number of records to include in the response. If more records
 32090  	// exist than the specified MaxRecords value, a pagination token called a marker
 32091  	// is included in the response so that you can retrieve the remaining results.
 32092  	//
 32093  	// Default: 100
 32094  	//
 32095  	// Constraints: Minimum 20, maximum 100.
 32096  	MaxRecords *int64 `type:"integer"`
 32097  
 32098  	// The identifier of the event source for which events are returned. If not
 32099  	// specified, then all sources are included in the response.
 32100  	//
 32101  	// Constraints:
 32102  	//
 32103  	//    * If SourceIdentifier is supplied, SourceType must also be provided.
 32104  	//
 32105  	//    * If the source type is a DB instance, a DBInstanceIdentifier value must
 32106  	//    be supplied.
 32107  	//
 32108  	//    * If the source type is a DB cluster, a DBClusterIdentifier value must
 32109  	//    be supplied.
 32110  	//
 32111  	//    * If the source type is a DB parameter group, a DBParameterGroupName value
 32112  	//    must be supplied.
 32113  	//
 32114  	//    * If the source type is a DB security group, a DBSecurityGroupName value
 32115  	//    must be supplied.
 32116  	//
 32117  	//    * If the source type is a DB snapshot, a DBSnapshotIdentifier value must
 32118  	//    be supplied.
 32119  	//
 32120  	//    * If the source type is a DB cluster snapshot, a DBClusterSnapshotIdentifier
 32121  	//    value must be supplied.
 32122  	//
 32123  	//    * Can't end with a hyphen or contain two consecutive hyphens.
 32124  	SourceIdentifier *string `type:"string"`
 32125  
 32126  	// The event source to retrieve events for. If no value is specified, all events
 32127  	// are returned.
 32128  	SourceType *string `type:"string" enum:"SourceType"`
 32129  
 32130  	// The beginning of the time interval to retrieve events for, specified in ISO
 32131  	// 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia
 32132  	// page. (http://en.wikipedia.org/wiki/ISO_8601)
 32133  	//
 32134  	// Example: 2009-07-08T18:00Z
 32135  	StartTime *time.Time `type:"timestamp"`
 32136  }
 32137  
 32138  // String returns the string representation.
 32139  //
 32140  // API parameter values that are decorated as "sensitive" in the API will not
 32141  // be included in the string output. The member name will be present, but the
 32142  // value will be replaced with "sensitive".
 32143  func (s DescribeEventsInput) String() string {
 32144  	return awsutil.Prettify(s)
 32145  }
 32146  
 32147  // GoString returns the string representation.
 32148  //
 32149  // API parameter values that are decorated as "sensitive" in the API will not
 32150  // be included in the string output. The member name will be present, but the
 32151  // value will be replaced with "sensitive".
 32152  func (s DescribeEventsInput) GoString() string {
 32153  	return s.String()
 32154  }
 32155  
 32156  // Validate inspects the fields of the type to determine if they are valid.
 32157  func (s *DescribeEventsInput) Validate() error {
 32158  	invalidParams := request.ErrInvalidParams{Context: "DescribeEventsInput"}
 32159  	if s.Filters != nil {
 32160  		for i, v := range s.Filters {
 32161  			if v == nil {
 32162  				continue
 32163  			}
 32164  			if err := v.Validate(); err != nil {
 32165  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 32166  			}
 32167  		}
 32168  	}
 32169  
 32170  	if invalidParams.Len() > 0 {
 32171  		return invalidParams
 32172  	}
 32173  	return nil
 32174  }
 32175  
 32176  // SetDuration sets the Duration field's value.
 32177  func (s *DescribeEventsInput) SetDuration(v int64) *DescribeEventsInput {
 32178  	s.Duration = &v
 32179  	return s
 32180  }
 32181  
 32182  // SetEndTime sets the EndTime field's value.
 32183  func (s *DescribeEventsInput) SetEndTime(v time.Time) *DescribeEventsInput {
 32184  	s.EndTime = &v
 32185  	return s
 32186  }
 32187  
 32188  // SetEventCategories sets the EventCategories field's value.
 32189  func (s *DescribeEventsInput) SetEventCategories(v []*string) *DescribeEventsInput {
 32190  	s.EventCategories = v
 32191  	return s
 32192  }
 32193  
 32194  // SetFilters sets the Filters field's value.
 32195  func (s *DescribeEventsInput) SetFilters(v []*Filter) *DescribeEventsInput {
 32196  	s.Filters = v
 32197  	return s
 32198  }
 32199  
 32200  // SetMarker sets the Marker field's value.
 32201  func (s *DescribeEventsInput) SetMarker(v string) *DescribeEventsInput {
 32202  	s.Marker = &v
 32203  	return s
 32204  }
 32205  
 32206  // SetMaxRecords sets the MaxRecords field's value.
 32207  func (s *DescribeEventsInput) SetMaxRecords(v int64) *DescribeEventsInput {
 32208  	s.MaxRecords = &v
 32209  	return s
 32210  }
 32211  
 32212  // SetSourceIdentifier sets the SourceIdentifier field's value.
 32213  func (s *DescribeEventsInput) SetSourceIdentifier(v string) *DescribeEventsInput {
 32214  	s.SourceIdentifier = &v
 32215  	return s
 32216  }
 32217  
 32218  // SetSourceType sets the SourceType field's value.
 32219  func (s *DescribeEventsInput) SetSourceType(v string) *DescribeEventsInput {
 32220  	s.SourceType = &v
 32221  	return s
 32222  }
 32223  
 32224  // SetStartTime sets the StartTime field's value.
 32225  func (s *DescribeEventsInput) SetStartTime(v time.Time) *DescribeEventsInput {
 32226  	s.StartTime = &v
 32227  	return s
 32228  }
 32229  
 32230  // Contains the result of a successful invocation of the DescribeEvents action.
 32231  type DescribeEventsOutput struct {
 32232  	_ struct{} `type:"structure"`
 32233  
 32234  	// A list of Event instances.
 32235  	Events []*Event `locationNameList:"Event" type:"list"`
 32236  
 32237  	// An optional pagination token provided by a previous Events request. If this
 32238  	// parameter is specified, the response includes only records beyond the marker,
 32239  	// up to the value specified by MaxRecords .
 32240  	Marker *string `type:"string"`
 32241  }
 32242  
 32243  // String returns the string representation.
 32244  //
 32245  // API parameter values that are decorated as "sensitive" in the API will not
 32246  // be included in the string output. The member name will be present, but the
 32247  // value will be replaced with "sensitive".
 32248  func (s DescribeEventsOutput) String() string {
 32249  	return awsutil.Prettify(s)
 32250  }
 32251  
 32252  // GoString returns the string representation.
 32253  //
 32254  // API parameter values that are decorated as "sensitive" in the API will not
 32255  // be included in the string output. The member name will be present, but the
 32256  // value will be replaced with "sensitive".
 32257  func (s DescribeEventsOutput) GoString() string {
 32258  	return s.String()
 32259  }
 32260  
 32261  // SetEvents sets the Events field's value.
 32262  func (s *DescribeEventsOutput) SetEvents(v []*Event) *DescribeEventsOutput {
 32263  	s.Events = v
 32264  	return s
 32265  }
 32266  
 32267  // SetMarker sets the Marker field's value.
 32268  func (s *DescribeEventsOutput) SetMarker(v string) *DescribeEventsOutput {
 32269  	s.Marker = &v
 32270  	return s
 32271  }
 32272  
 32273  type DescribeExportTasksInput struct {
 32274  	_ struct{} `type:"structure"`
 32275  
 32276  	// The identifier of the snapshot export task to be described.
 32277  	ExportTaskIdentifier *string `type:"string"`
 32278  
 32279  	// Filters specify one or more snapshot exports to describe. The filters are
 32280  	// specified as name-value pairs that define what to include in the output.
 32281  	// Filter names and values are case-sensitive.
 32282  	//
 32283  	// Supported filters include the following:
 32284  	//
 32285  	//    * export-task-identifier - An identifier for the snapshot export task.
 32286  	//
 32287  	//    * s3-bucket - The Amazon S3 bucket the snapshot is exported to.
 32288  	//
 32289  	//    * source-arn - The Amazon Resource Name (ARN) of the snapshot exported
 32290  	//    to Amazon S3
 32291  	//
 32292  	//    * status - The status of the export task. Must be lowercase, for example,
 32293  	//    complete.
 32294  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 32295  
 32296  	// An optional pagination token provided by a previous DescribeExportTasks request.
 32297  	// If you specify this parameter, the response includes only records beyond
 32298  	// the marker, up to the value specified by the MaxRecords parameter.
 32299  	Marker *string `type:"string"`
 32300  
 32301  	// The maximum number of records to include in the response. If more records
 32302  	// exist than the specified value, a pagination token called a marker is included
 32303  	// in the response. You can use the marker in a later DescribeExportTasks request
 32304  	// to retrieve the remaining results.
 32305  	//
 32306  	// Default: 100
 32307  	//
 32308  	// Constraints: Minimum 20, maximum 100.
 32309  	MaxRecords *int64 `min:"20" type:"integer"`
 32310  
 32311  	// The Amazon Resource Name (ARN) of the snapshot exported to Amazon S3.
 32312  	SourceArn *string `type:"string"`
 32313  }
 32314  
 32315  // String returns the string representation.
 32316  //
 32317  // API parameter values that are decorated as "sensitive" in the API will not
 32318  // be included in the string output. The member name will be present, but the
 32319  // value will be replaced with "sensitive".
 32320  func (s DescribeExportTasksInput) String() string {
 32321  	return awsutil.Prettify(s)
 32322  }
 32323  
 32324  // GoString returns the string representation.
 32325  //
 32326  // API parameter values that are decorated as "sensitive" in the API will not
 32327  // be included in the string output. The member name will be present, but the
 32328  // value will be replaced with "sensitive".
 32329  func (s DescribeExportTasksInput) GoString() string {
 32330  	return s.String()
 32331  }
 32332  
 32333  // Validate inspects the fields of the type to determine if they are valid.
 32334  func (s *DescribeExportTasksInput) Validate() error {
 32335  	invalidParams := request.ErrInvalidParams{Context: "DescribeExportTasksInput"}
 32336  	if s.MaxRecords != nil && *s.MaxRecords < 20 {
 32337  		invalidParams.Add(request.NewErrParamMinValue("MaxRecords", 20))
 32338  	}
 32339  	if s.Filters != nil {
 32340  		for i, v := range s.Filters {
 32341  			if v == nil {
 32342  				continue
 32343  			}
 32344  			if err := v.Validate(); err != nil {
 32345  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 32346  			}
 32347  		}
 32348  	}
 32349  
 32350  	if invalidParams.Len() > 0 {
 32351  		return invalidParams
 32352  	}
 32353  	return nil
 32354  }
 32355  
 32356  // SetExportTaskIdentifier sets the ExportTaskIdentifier field's value.
 32357  func (s *DescribeExportTasksInput) SetExportTaskIdentifier(v string) *DescribeExportTasksInput {
 32358  	s.ExportTaskIdentifier = &v
 32359  	return s
 32360  }
 32361  
 32362  // SetFilters sets the Filters field's value.
 32363  func (s *DescribeExportTasksInput) SetFilters(v []*Filter) *DescribeExportTasksInput {
 32364  	s.Filters = v
 32365  	return s
 32366  }
 32367  
 32368  // SetMarker sets the Marker field's value.
 32369  func (s *DescribeExportTasksInput) SetMarker(v string) *DescribeExportTasksInput {
 32370  	s.Marker = &v
 32371  	return s
 32372  }
 32373  
 32374  // SetMaxRecords sets the MaxRecords field's value.
 32375  func (s *DescribeExportTasksInput) SetMaxRecords(v int64) *DescribeExportTasksInput {
 32376  	s.MaxRecords = &v
 32377  	return s
 32378  }
 32379  
 32380  // SetSourceArn sets the SourceArn field's value.
 32381  func (s *DescribeExportTasksInput) SetSourceArn(v string) *DescribeExportTasksInput {
 32382  	s.SourceArn = &v
 32383  	return s
 32384  }
 32385  
 32386  type DescribeExportTasksOutput struct {
 32387  	_ struct{} `type:"structure"`
 32388  
 32389  	// Information about an export of a snapshot to Amazon S3.
 32390  	ExportTasks []*ExportTask `locationNameList:"ExportTask" type:"list"`
 32391  
 32392  	// A pagination token that can be used in a later DescribeExportTasks request.
 32393  	// A marker is used for pagination to identify the location to begin output
 32394  	// for the next response of DescribeExportTasks.
 32395  	Marker *string `type:"string"`
 32396  }
 32397  
 32398  // String returns the string representation.
 32399  //
 32400  // API parameter values that are decorated as "sensitive" in the API will not
 32401  // be included in the string output. The member name will be present, but the
 32402  // value will be replaced with "sensitive".
 32403  func (s DescribeExportTasksOutput) String() string {
 32404  	return awsutil.Prettify(s)
 32405  }
 32406  
 32407  // GoString returns the string representation.
 32408  //
 32409  // API parameter values that are decorated as "sensitive" in the API will not
 32410  // be included in the string output. The member name will be present, but the
 32411  // value will be replaced with "sensitive".
 32412  func (s DescribeExportTasksOutput) GoString() string {
 32413  	return s.String()
 32414  }
 32415  
 32416  // SetExportTasks sets the ExportTasks field's value.
 32417  func (s *DescribeExportTasksOutput) SetExportTasks(v []*ExportTask) *DescribeExportTasksOutput {
 32418  	s.ExportTasks = v
 32419  	return s
 32420  }
 32421  
 32422  // SetMarker sets the Marker field's value.
 32423  func (s *DescribeExportTasksOutput) SetMarker(v string) *DescribeExportTasksOutput {
 32424  	s.Marker = &v
 32425  	return s
 32426  }
 32427  
 32428  type DescribeGlobalClustersInput struct {
 32429  	_ struct{} `type:"structure"`
 32430  
 32431  	// This parameter isn't currently supported.
 32432  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 32433  
 32434  	// The user-supplied DB cluster identifier. If this parameter is specified,
 32435  	// information from only the specific DB cluster is returned. This parameter
 32436  	// isn't case-sensitive.
 32437  	//
 32438  	// Constraints:
 32439  	//
 32440  	//    * If supplied, must match an existing DBClusterIdentifier.
 32441  	GlobalClusterIdentifier *string `type:"string"`
 32442  
 32443  	// An optional pagination token provided by a previous DescribeGlobalClusters
 32444  	// request. If this parameter is specified, the response includes only records
 32445  	// beyond the marker, up to the value specified by MaxRecords.
 32446  	Marker *string `type:"string"`
 32447  
 32448  	// The maximum number of records to include in the response. If more records
 32449  	// exist than the specified MaxRecords value, a pagination token called a marker
 32450  	// is included in the response so that you can retrieve the remaining results.
 32451  	//
 32452  	// Default: 100
 32453  	//
 32454  	// Constraints: Minimum 20, maximum 100.
 32455  	MaxRecords *int64 `type:"integer"`
 32456  }
 32457  
 32458  // String returns the string representation.
 32459  //
 32460  // API parameter values that are decorated as "sensitive" in the API will not
 32461  // be included in the string output. The member name will be present, but the
 32462  // value will be replaced with "sensitive".
 32463  func (s DescribeGlobalClustersInput) String() string {
 32464  	return awsutil.Prettify(s)
 32465  }
 32466  
 32467  // GoString returns the string representation.
 32468  //
 32469  // API parameter values that are decorated as "sensitive" in the API will not
 32470  // be included in the string output. The member name will be present, but the
 32471  // value will be replaced with "sensitive".
 32472  func (s DescribeGlobalClustersInput) GoString() string {
 32473  	return s.String()
 32474  }
 32475  
 32476  // Validate inspects the fields of the type to determine if they are valid.
 32477  func (s *DescribeGlobalClustersInput) Validate() error {
 32478  	invalidParams := request.ErrInvalidParams{Context: "DescribeGlobalClustersInput"}
 32479  	if s.Filters != nil {
 32480  		for i, v := range s.Filters {
 32481  			if v == nil {
 32482  				continue
 32483  			}
 32484  			if err := v.Validate(); err != nil {
 32485  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 32486  			}
 32487  		}
 32488  	}
 32489  
 32490  	if invalidParams.Len() > 0 {
 32491  		return invalidParams
 32492  	}
 32493  	return nil
 32494  }
 32495  
 32496  // SetFilters sets the Filters field's value.
 32497  func (s *DescribeGlobalClustersInput) SetFilters(v []*Filter) *DescribeGlobalClustersInput {
 32498  	s.Filters = v
 32499  	return s
 32500  }
 32501  
 32502  // SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
 32503  func (s *DescribeGlobalClustersInput) SetGlobalClusterIdentifier(v string) *DescribeGlobalClustersInput {
 32504  	s.GlobalClusterIdentifier = &v
 32505  	return s
 32506  }
 32507  
 32508  // SetMarker sets the Marker field's value.
 32509  func (s *DescribeGlobalClustersInput) SetMarker(v string) *DescribeGlobalClustersInput {
 32510  	s.Marker = &v
 32511  	return s
 32512  }
 32513  
 32514  // SetMaxRecords sets the MaxRecords field's value.
 32515  func (s *DescribeGlobalClustersInput) SetMaxRecords(v int64) *DescribeGlobalClustersInput {
 32516  	s.MaxRecords = &v
 32517  	return s
 32518  }
 32519  
 32520  type DescribeGlobalClustersOutput struct {
 32521  	_ struct{} `type:"structure"`
 32522  
 32523  	// The list of global clusters returned by this request.
 32524  	GlobalClusters []*GlobalCluster `locationNameList:"GlobalClusterMember" type:"list"`
 32525  
 32526  	// An optional pagination token provided by a previous DescribeGlobalClusters
 32527  	// request. If this parameter is specified, the response includes only records
 32528  	// beyond the marker, up to the value specified by MaxRecords.
 32529  	Marker *string `type:"string"`
 32530  }
 32531  
 32532  // String returns the string representation.
 32533  //
 32534  // API parameter values that are decorated as "sensitive" in the API will not
 32535  // be included in the string output. The member name will be present, but the
 32536  // value will be replaced with "sensitive".
 32537  func (s DescribeGlobalClustersOutput) String() string {
 32538  	return awsutil.Prettify(s)
 32539  }
 32540  
 32541  // GoString returns the string representation.
 32542  //
 32543  // API parameter values that are decorated as "sensitive" in the API will not
 32544  // be included in the string output. The member name will be present, but the
 32545  // value will be replaced with "sensitive".
 32546  func (s DescribeGlobalClustersOutput) GoString() string {
 32547  	return s.String()
 32548  }
 32549  
 32550  // SetGlobalClusters sets the GlobalClusters field's value.
 32551  func (s *DescribeGlobalClustersOutput) SetGlobalClusters(v []*GlobalCluster) *DescribeGlobalClustersOutput {
 32552  	s.GlobalClusters = v
 32553  	return s
 32554  }
 32555  
 32556  // SetMarker sets the Marker field's value.
 32557  func (s *DescribeGlobalClustersOutput) SetMarker(v string) *DescribeGlobalClustersOutput {
 32558  	s.Marker = &v
 32559  	return s
 32560  }
 32561  
 32562  type DescribeInstallationMediaInput struct {
 32563  	_ struct{} `type:"structure"`
 32564  
 32565  	// A filter that specifies one or more installation media to describe. Supported
 32566  	// filters include the following:
 32567  	//
 32568  	//    * custom-availability-zone-id - Accepts custom Availability Zone (AZ)
 32569  	//    identifiers. The results list includes information about only the custom
 32570  	//    AZs identified by these identifiers.
 32571  	//
 32572  	//    * engine - Accepts database engines. The results list includes information
 32573  	//    about only the database engines identified by these identifiers. For more
 32574  	//    information about the valid engines for installation media, see ImportInstallationMedia.
 32575  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 32576  
 32577  	// The installation medium ID.
 32578  	InstallationMediaId *string `type:"string"`
 32579  
 32580  	// An optional pagination token provided by a previous request. If this parameter
 32581  	// is specified, the response includes only records beyond the marker, up to
 32582  	// the value specified by MaxRecords.
 32583  	Marker *string `type:"string"`
 32584  
 32585  	// An optional pagination token provided by a previous DescribeInstallationMedia
 32586  	// request. If this parameter is specified, the response includes only records
 32587  	// beyond the marker, up to the value specified by MaxRecords.
 32588  	MaxRecords *int64 `type:"integer"`
 32589  }
 32590  
 32591  // String returns the string representation.
 32592  //
 32593  // API parameter values that are decorated as "sensitive" in the API will not
 32594  // be included in the string output. The member name will be present, but the
 32595  // value will be replaced with "sensitive".
 32596  func (s DescribeInstallationMediaInput) String() string {
 32597  	return awsutil.Prettify(s)
 32598  }
 32599  
 32600  // GoString returns the string representation.
 32601  //
 32602  // API parameter values that are decorated as "sensitive" in the API will not
 32603  // be included in the string output. The member name will be present, but the
 32604  // value will be replaced with "sensitive".
 32605  func (s DescribeInstallationMediaInput) GoString() string {
 32606  	return s.String()
 32607  }
 32608  
 32609  // Validate inspects the fields of the type to determine if they are valid.
 32610  func (s *DescribeInstallationMediaInput) Validate() error {
 32611  	invalidParams := request.ErrInvalidParams{Context: "DescribeInstallationMediaInput"}
 32612  	if s.Filters != nil {
 32613  		for i, v := range s.Filters {
 32614  			if v == nil {
 32615  				continue
 32616  			}
 32617  			if err := v.Validate(); err != nil {
 32618  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 32619  			}
 32620  		}
 32621  	}
 32622  
 32623  	if invalidParams.Len() > 0 {
 32624  		return invalidParams
 32625  	}
 32626  	return nil
 32627  }
 32628  
 32629  // SetFilters sets the Filters field's value.
 32630  func (s *DescribeInstallationMediaInput) SetFilters(v []*Filter) *DescribeInstallationMediaInput {
 32631  	s.Filters = v
 32632  	return s
 32633  }
 32634  
 32635  // SetInstallationMediaId sets the InstallationMediaId field's value.
 32636  func (s *DescribeInstallationMediaInput) SetInstallationMediaId(v string) *DescribeInstallationMediaInput {
 32637  	s.InstallationMediaId = &v
 32638  	return s
 32639  }
 32640  
 32641  // SetMarker sets the Marker field's value.
 32642  func (s *DescribeInstallationMediaInput) SetMarker(v string) *DescribeInstallationMediaInput {
 32643  	s.Marker = &v
 32644  	return s
 32645  }
 32646  
 32647  // SetMaxRecords sets the MaxRecords field's value.
 32648  func (s *DescribeInstallationMediaInput) SetMaxRecords(v int64) *DescribeInstallationMediaInput {
 32649  	s.MaxRecords = &v
 32650  	return s
 32651  }
 32652  
 32653  type DescribeInstallationMediaOutput struct {
 32654  	_ struct{} `type:"structure"`
 32655  
 32656  	// The list of InstallationMedia objects for the Amazon Web Services account.
 32657  	InstallationMedia []*InstallationMedia `locationNameList:"InstallationMedia" type:"list"`
 32658  
 32659  	// An optional pagination token provided by a previous DescribeInstallationMedia
 32660  	// request. If this parameter is specified, the response includes only records
 32661  	// beyond the marker, up to the value specified by MaxRecords.
 32662  	Marker *string `type:"string"`
 32663  }
 32664  
 32665  // String returns the string representation.
 32666  //
 32667  // API parameter values that are decorated as "sensitive" in the API will not
 32668  // be included in the string output. The member name will be present, but the
 32669  // value will be replaced with "sensitive".
 32670  func (s DescribeInstallationMediaOutput) String() string {
 32671  	return awsutil.Prettify(s)
 32672  }
 32673  
 32674  // GoString returns the string representation.
 32675  //
 32676  // API parameter values that are decorated as "sensitive" in the API will not
 32677  // be included in the string output. The member name will be present, but the
 32678  // value will be replaced with "sensitive".
 32679  func (s DescribeInstallationMediaOutput) GoString() string {
 32680  	return s.String()
 32681  }
 32682  
 32683  // SetInstallationMedia sets the InstallationMedia field's value.
 32684  func (s *DescribeInstallationMediaOutput) SetInstallationMedia(v []*InstallationMedia) *DescribeInstallationMediaOutput {
 32685  	s.InstallationMedia = v
 32686  	return s
 32687  }
 32688  
 32689  // SetMarker sets the Marker field's value.
 32690  func (s *DescribeInstallationMediaOutput) SetMarker(v string) *DescribeInstallationMediaOutput {
 32691  	s.Marker = &v
 32692  	return s
 32693  }
 32694  
 32695  type DescribeOptionGroupOptionsInput struct {
 32696  	_ struct{} `type:"structure"`
 32697  
 32698  	// A required parameter. Options available for the given engine name are described.
 32699  	//
 32700  	// Valid Values:
 32701  	//
 32702  	//    * mariadb
 32703  	//
 32704  	//    * mysql
 32705  	//
 32706  	//    * oracle-ee
 32707  	//
 32708  	//    * oracle-ee-cdb
 32709  	//
 32710  	//    * oracle-se2
 32711  	//
 32712  	//    * oracle-se2-cdb
 32713  	//
 32714  	//    * postgres
 32715  	//
 32716  	//    * sqlserver-ee
 32717  	//
 32718  	//    * sqlserver-se
 32719  	//
 32720  	//    * sqlserver-ex
 32721  	//
 32722  	//    * sqlserver-web
 32723  	//
 32724  	// EngineName is a required field
 32725  	EngineName *string `type:"string" required:"true"`
 32726  
 32727  	// This parameter isn't currently supported.
 32728  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 32729  
 32730  	// If specified, filters the results to include only options for the specified
 32731  	// major engine version.
 32732  	MajorEngineVersion *string `type:"string"`
 32733  
 32734  	// An optional pagination token provided by a previous request. If this parameter
 32735  	// is specified, the response includes only records beyond the marker, up to
 32736  	// the value specified by MaxRecords.
 32737  	Marker *string `type:"string"`
 32738  
 32739  	// The maximum number of records to include in the response. If more records
 32740  	// exist than the specified MaxRecords value, a pagination token called a marker
 32741  	// is included in the response so that you can retrieve the remaining results.
 32742  	//
 32743  	// Default: 100
 32744  	//
 32745  	// Constraints: Minimum 20, maximum 100.
 32746  	MaxRecords *int64 `type:"integer"`
 32747  }
 32748  
 32749  // String returns the string representation.
 32750  //
 32751  // API parameter values that are decorated as "sensitive" in the API will not
 32752  // be included in the string output. The member name will be present, but the
 32753  // value will be replaced with "sensitive".
 32754  func (s DescribeOptionGroupOptionsInput) String() string {
 32755  	return awsutil.Prettify(s)
 32756  }
 32757  
 32758  // GoString returns the string representation.
 32759  //
 32760  // API parameter values that are decorated as "sensitive" in the API will not
 32761  // be included in the string output. The member name will be present, but the
 32762  // value will be replaced with "sensitive".
 32763  func (s DescribeOptionGroupOptionsInput) GoString() string {
 32764  	return s.String()
 32765  }
 32766  
 32767  // Validate inspects the fields of the type to determine if they are valid.
 32768  func (s *DescribeOptionGroupOptionsInput) Validate() error {
 32769  	invalidParams := request.ErrInvalidParams{Context: "DescribeOptionGroupOptionsInput"}
 32770  	if s.EngineName == nil {
 32771  		invalidParams.Add(request.NewErrParamRequired("EngineName"))
 32772  	}
 32773  	if s.Filters != nil {
 32774  		for i, v := range s.Filters {
 32775  			if v == nil {
 32776  				continue
 32777  			}
 32778  			if err := v.Validate(); err != nil {
 32779  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 32780  			}
 32781  		}
 32782  	}
 32783  
 32784  	if invalidParams.Len() > 0 {
 32785  		return invalidParams
 32786  	}
 32787  	return nil
 32788  }
 32789  
 32790  // SetEngineName sets the EngineName field's value.
 32791  func (s *DescribeOptionGroupOptionsInput) SetEngineName(v string) *DescribeOptionGroupOptionsInput {
 32792  	s.EngineName = &v
 32793  	return s
 32794  }
 32795  
 32796  // SetFilters sets the Filters field's value.
 32797  func (s *DescribeOptionGroupOptionsInput) SetFilters(v []*Filter) *DescribeOptionGroupOptionsInput {
 32798  	s.Filters = v
 32799  	return s
 32800  }
 32801  
 32802  // SetMajorEngineVersion sets the MajorEngineVersion field's value.
 32803  func (s *DescribeOptionGroupOptionsInput) SetMajorEngineVersion(v string) *DescribeOptionGroupOptionsInput {
 32804  	s.MajorEngineVersion = &v
 32805  	return s
 32806  }
 32807  
 32808  // SetMarker sets the Marker field's value.
 32809  func (s *DescribeOptionGroupOptionsInput) SetMarker(v string) *DescribeOptionGroupOptionsInput {
 32810  	s.Marker = &v
 32811  	return s
 32812  }
 32813  
 32814  // SetMaxRecords sets the MaxRecords field's value.
 32815  func (s *DescribeOptionGroupOptionsInput) SetMaxRecords(v int64) *DescribeOptionGroupOptionsInput {
 32816  	s.MaxRecords = &v
 32817  	return s
 32818  }
 32819  
 32820  type DescribeOptionGroupOptionsOutput struct {
 32821  	_ struct{} `type:"structure"`
 32822  
 32823  	// An optional pagination token provided by a previous request. If this parameter
 32824  	// is specified, the response includes only records beyond the marker, up to
 32825  	// the value specified by MaxRecords.
 32826  	Marker *string `type:"string"`
 32827  
 32828  	// List of available option group options.
 32829  	OptionGroupOptions []*OptionGroupOption `locationNameList:"OptionGroupOption" type:"list"`
 32830  }
 32831  
 32832  // String returns the string representation.
 32833  //
 32834  // API parameter values that are decorated as "sensitive" in the API will not
 32835  // be included in the string output. The member name will be present, but the
 32836  // value will be replaced with "sensitive".
 32837  func (s DescribeOptionGroupOptionsOutput) String() string {
 32838  	return awsutil.Prettify(s)
 32839  }
 32840  
 32841  // GoString returns the string representation.
 32842  //
 32843  // API parameter values that are decorated as "sensitive" in the API will not
 32844  // be included in the string output. The member name will be present, but the
 32845  // value will be replaced with "sensitive".
 32846  func (s DescribeOptionGroupOptionsOutput) GoString() string {
 32847  	return s.String()
 32848  }
 32849  
 32850  // SetMarker sets the Marker field's value.
 32851  func (s *DescribeOptionGroupOptionsOutput) SetMarker(v string) *DescribeOptionGroupOptionsOutput {
 32852  	s.Marker = &v
 32853  	return s
 32854  }
 32855  
 32856  // SetOptionGroupOptions sets the OptionGroupOptions field's value.
 32857  func (s *DescribeOptionGroupOptionsOutput) SetOptionGroupOptions(v []*OptionGroupOption) *DescribeOptionGroupOptionsOutput {
 32858  	s.OptionGroupOptions = v
 32859  	return s
 32860  }
 32861  
 32862  type DescribeOptionGroupsInput struct {
 32863  	_ struct{} `type:"structure"`
 32864  
 32865  	// Filters the list of option groups to only include groups associated with
 32866  	// a specific database engine.
 32867  	//
 32868  	// Valid Values:
 32869  	//
 32870  	//    * mariadb
 32871  	//
 32872  	//    * mysql
 32873  	//
 32874  	//    * oracle-ee
 32875  	//
 32876  	//    * oracle-ee-cdb
 32877  	//
 32878  	//    * oracle-se2
 32879  	//
 32880  	//    * oracle-se2-cdb
 32881  	//
 32882  	//    * postgres
 32883  	//
 32884  	//    * sqlserver-ee
 32885  	//
 32886  	//    * sqlserver-se
 32887  	//
 32888  	//    * sqlserver-ex
 32889  	//
 32890  	//    * sqlserver-web
 32891  	EngineName *string `type:"string"`
 32892  
 32893  	// This parameter isn't currently supported.
 32894  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 32895  
 32896  	// Filters the list of option groups to only include groups associated with
 32897  	// a specific database engine version. If specified, then EngineName must also
 32898  	// be specified.
 32899  	MajorEngineVersion *string `type:"string"`
 32900  
 32901  	// An optional pagination token provided by a previous DescribeOptionGroups
 32902  	// request. If this parameter is specified, the response includes only records
 32903  	// beyond the marker, up to the value specified by MaxRecords.
 32904  	Marker *string `type:"string"`
 32905  
 32906  	// The maximum number of records to include in the response. If more records
 32907  	// exist than the specified MaxRecords value, a pagination token called a marker
 32908  	// is included in the response so that you can retrieve the remaining results.
 32909  	//
 32910  	// Default: 100
 32911  	//
 32912  	// Constraints: Minimum 20, maximum 100.
 32913  	MaxRecords *int64 `type:"integer"`
 32914  
 32915  	// The name of the option group to describe. Can't be supplied together with
 32916  	// EngineName or MajorEngineVersion.
 32917  	OptionGroupName *string `type:"string"`
 32918  }
 32919  
 32920  // String returns the string representation.
 32921  //
 32922  // API parameter values that are decorated as "sensitive" in the API will not
 32923  // be included in the string output. The member name will be present, but the
 32924  // value will be replaced with "sensitive".
 32925  func (s DescribeOptionGroupsInput) String() string {
 32926  	return awsutil.Prettify(s)
 32927  }
 32928  
 32929  // GoString returns the string representation.
 32930  //
 32931  // API parameter values that are decorated as "sensitive" in the API will not
 32932  // be included in the string output. The member name will be present, but the
 32933  // value will be replaced with "sensitive".
 32934  func (s DescribeOptionGroupsInput) GoString() string {
 32935  	return s.String()
 32936  }
 32937  
 32938  // Validate inspects the fields of the type to determine if they are valid.
 32939  func (s *DescribeOptionGroupsInput) Validate() error {
 32940  	invalidParams := request.ErrInvalidParams{Context: "DescribeOptionGroupsInput"}
 32941  	if s.Filters != nil {
 32942  		for i, v := range s.Filters {
 32943  			if v == nil {
 32944  				continue
 32945  			}
 32946  			if err := v.Validate(); err != nil {
 32947  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 32948  			}
 32949  		}
 32950  	}
 32951  
 32952  	if invalidParams.Len() > 0 {
 32953  		return invalidParams
 32954  	}
 32955  	return nil
 32956  }
 32957  
 32958  // SetEngineName sets the EngineName field's value.
 32959  func (s *DescribeOptionGroupsInput) SetEngineName(v string) *DescribeOptionGroupsInput {
 32960  	s.EngineName = &v
 32961  	return s
 32962  }
 32963  
 32964  // SetFilters sets the Filters field's value.
 32965  func (s *DescribeOptionGroupsInput) SetFilters(v []*Filter) *DescribeOptionGroupsInput {
 32966  	s.Filters = v
 32967  	return s
 32968  }
 32969  
 32970  // SetMajorEngineVersion sets the MajorEngineVersion field's value.
 32971  func (s *DescribeOptionGroupsInput) SetMajorEngineVersion(v string) *DescribeOptionGroupsInput {
 32972  	s.MajorEngineVersion = &v
 32973  	return s
 32974  }
 32975  
 32976  // SetMarker sets the Marker field's value.
 32977  func (s *DescribeOptionGroupsInput) SetMarker(v string) *DescribeOptionGroupsInput {
 32978  	s.Marker = &v
 32979  	return s
 32980  }
 32981  
 32982  // SetMaxRecords sets the MaxRecords field's value.
 32983  func (s *DescribeOptionGroupsInput) SetMaxRecords(v int64) *DescribeOptionGroupsInput {
 32984  	s.MaxRecords = &v
 32985  	return s
 32986  }
 32987  
 32988  // SetOptionGroupName sets the OptionGroupName field's value.
 32989  func (s *DescribeOptionGroupsInput) SetOptionGroupName(v string) *DescribeOptionGroupsInput {
 32990  	s.OptionGroupName = &v
 32991  	return s
 32992  }
 32993  
 32994  // List of option groups.
 32995  type DescribeOptionGroupsOutput struct {
 32996  	_ struct{} `type:"structure"`
 32997  
 32998  	// An optional pagination token provided by a previous request. If this parameter
 32999  	// is specified, the response includes only records beyond the marker, up to
 33000  	// the value specified by MaxRecords.
 33001  	Marker *string `type:"string"`
 33002  
 33003  	// List of option groups.
 33004  	OptionGroupsList []*OptionGroup `locationNameList:"OptionGroup" type:"list"`
 33005  }
 33006  
 33007  // String returns the string representation.
 33008  //
 33009  // API parameter values that are decorated as "sensitive" in the API will not
 33010  // be included in the string output. The member name will be present, but the
 33011  // value will be replaced with "sensitive".
 33012  func (s DescribeOptionGroupsOutput) String() string {
 33013  	return awsutil.Prettify(s)
 33014  }
 33015  
 33016  // GoString returns the string representation.
 33017  //
 33018  // API parameter values that are decorated as "sensitive" in the API will not
 33019  // be included in the string output. The member name will be present, but the
 33020  // value will be replaced with "sensitive".
 33021  func (s DescribeOptionGroupsOutput) GoString() string {
 33022  	return s.String()
 33023  }
 33024  
 33025  // SetMarker sets the Marker field's value.
 33026  func (s *DescribeOptionGroupsOutput) SetMarker(v string) *DescribeOptionGroupsOutput {
 33027  	s.Marker = &v
 33028  	return s
 33029  }
 33030  
 33031  // SetOptionGroupsList sets the OptionGroupsList field's value.
 33032  func (s *DescribeOptionGroupsOutput) SetOptionGroupsList(v []*OptionGroup) *DescribeOptionGroupsOutput {
 33033  	s.OptionGroupsList = v
 33034  	return s
 33035  }
 33036  
 33037  type DescribeOrderableDBInstanceOptionsInput struct {
 33038  	_ struct{} `type:"structure"`
 33039  
 33040  	// The Availability Zone group associated with a Local Zone. Specify this parameter
 33041  	// to retrieve available offerings for the Local Zones in the group.
 33042  	//
 33043  	// Omit this parameter to show the available offerings in the specified Amazon
 33044  	// Web Services Region.
 33045  	AvailabilityZoneGroup *string `type:"string"`
 33046  
 33047  	// The DB instance class filter value. Specify this parameter to show only the
 33048  	// available offerings matching the specified DB instance class.
 33049  	DBInstanceClass *string `type:"string"`
 33050  
 33051  	// The name of the engine to retrieve DB instance options for.
 33052  	//
 33053  	// Valid Values:
 33054  	//
 33055  	//    * aurora (for MySQL 5.6-compatible Aurora)
 33056  	//
 33057  	//    * aurora-mysql (for MySQL 5.7-compatible Aurora)
 33058  	//
 33059  	//    * aurora-postgresql
 33060  	//
 33061  	//    * mariadb
 33062  	//
 33063  	//    * mysql
 33064  	//
 33065  	//    * oracle-ee
 33066  	//
 33067  	//    * oracle-ee-cdb
 33068  	//
 33069  	//    * oracle-se2
 33070  	//
 33071  	//    * oracle-se2-cdb
 33072  	//
 33073  	//    * postgres
 33074  	//
 33075  	//    * sqlserver-ee
 33076  	//
 33077  	//    * sqlserver-se
 33078  	//
 33079  	//    * sqlserver-ex
 33080  	//
 33081  	//    * sqlserver-web
 33082  	//
 33083  	// Engine is a required field
 33084  	Engine *string `type:"string" required:"true"`
 33085  
 33086  	// The engine version filter value. Specify this parameter to show only the
 33087  	// available offerings matching the specified engine version.
 33088  	EngineVersion *string `type:"string"`
 33089  
 33090  	// This parameter isn't currently supported.
 33091  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 33092  
 33093  	// The license model filter value. Specify this parameter to show only the available
 33094  	// offerings matching the specified license model.
 33095  	LicenseModel *string `type:"string"`
 33096  
 33097  	// An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions
 33098  	// request. If this parameter is specified, the response includes only records
 33099  	// beyond the marker, up to the value specified by MaxRecords .
 33100  	Marker *string `type:"string"`
 33101  
 33102  	// The maximum number of records to include in the response. If more records
 33103  	// exist than the specified MaxRecords value, a pagination token called a marker
 33104  	// is included in the response so that you can retrieve the remaining results.
 33105  	//
 33106  	// Default: 100
 33107  	//
 33108  	// Constraints: Minimum 20, maximum 100.
 33109  	MaxRecords *int64 `type:"integer"`
 33110  
 33111  	// A value that indicates whether to show only VPC or non-VPC offerings.
 33112  	Vpc *bool `type:"boolean"`
 33113  }
 33114  
 33115  // String returns the string representation.
 33116  //
 33117  // API parameter values that are decorated as "sensitive" in the API will not
 33118  // be included in the string output. The member name will be present, but the
 33119  // value will be replaced with "sensitive".
 33120  func (s DescribeOrderableDBInstanceOptionsInput) String() string {
 33121  	return awsutil.Prettify(s)
 33122  }
 33123  
 33124  // GoString returns the string representation.
 33125  //
 33126  // API parameter values that are decorated as "sensitive" in the API will not
 33127  // be included in the string output. The member name will be present, but the
 33128  // value will be replaced with "sensitive".
 33129  func (s DescribeOrderableDBInstanceOptionsInput) GoString() string {
 33130  	return s.String()
 33131  }
 33132  
 33133  // Validate inspects the fields of the type to determine if they are valid.
 33134  func (s *DescribeOrderableDBInstanceOptionsInput) Validate() error {
 33135  	invalidParams := request.ErrInvalidParams{Context: "DescribeOrderableDBInstanceOptionsInput"}
 33136  	if s.Engine == nil {
 33137  		invalidParams.Add(request.NewErrParamRequired("Engine"))
 33138  	}
 33139  	if s.Filters != nil {
 33140  		for i, v := range s.Filters {
 33141  			if v == nil {
 33142  				continue
 33143  			}
 33144  			if err := v.Validate(); err != nil {
 33145  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 33146  			}
 33147  		}
 33148  	}
 33149  
 33150  	if invalidParams.Len() > 0 {
 33151  		return invalidParams
 33152  	}
 33153  	return nil
 33154  }
 33155  
 33156  // SetAvailabilityZoneGroup sets the AvailabilityZoneGroup field's value.
 33157  func (s *DescribeOrderableDBInstanceOptionsInput) SetAvailabilityZoneGroup(v string) *DescribeOrderableDBInstanceOptionsInput {
 33158  	s.AvailabilityZoneGroup = &v
 33159  	return s
 33160  }
 33161  
 33162  // SetDBInstanceClass sets the DBInstanceClass field's value.
 33163  func (s *DescribeOrderableDBInstanceOptionsInput) SetDBInstanceClass(v string) *DescribeOrderableDBInstanceOptionsInput {
 33164  	s.DBInstanceClass = &v
 33165  	return s
 33166  }
 33167  
 33168  // SetEngine sets the Engine field's value.
 33169  func (s *DescribeOrderableDBInstanceOptionsInput) SetEngine(v string) *DescribeOrderableDBInstanceOptionsInput {
 33170  	s.Engine = &v
 33171  	return s
 33172  }
 33173  
 33174  // SetEngineVersion sets the EngineVersion field's value.
 33175  func (s *DescribeOrderableDBInstanceOptionsInput) SetEngineVersion(v string) *DescribeOrderableDBInstanceOptionsInput {
 33176  	s.EngineVersion = &v
 33177  	return s
 33178  }
 33179  
 33180  // SetFilters sets the Filters field's value.
 33181  func (s *DescribeOrderableDBInstanceOptionsInput) SetFilters(v []*Filter) *DescribeOrderableDBInstanceOptionsInput {
 33182  	s.Filters = v
 33183  	return s
 33184  }
 33185  
 33186  // SetLicenseModel sets the LicenseModel field's value.
 33187  func (s *DescribeOrderableDBInstanceOptionsInput) SetLicenseModel(v string) *DescribeOrderableDBInstanceOptionsInput {
 33188  	s.LicenseModel = &v
 33189  	return s
 33190  }
 33191  
 33192  // SetMarker sets the Marker field's value.
 33193  func (s *DescribeOrderableDBInstanceOptionsInput) SetMarker(v string) *DescribeOrderableDBInstanceOptionsInput {
 33194  	s.Marker = &v
 33195  	return s
 33196  }
 33197  
 33198  // SetMaxRecords sets the MaxRecords field's value.
 33199  func (s *DescribeOrderableDBInstanceOptionsInput) SetMaxRecords(v int64) *DescribeOrderableDBInstanceOptionsInput {
 33200  	s.MaxRecords = &v
 33201  	return s
 33202  }
 33203  
 33204  // SetVpc sets the Vpc field's value.
 33205  func (s *DescribeOrderableDBInstanceOptionsInput) SetVpc(v bool) *DescribeOrderableDBInstanceOptionsInput {
 33206  	s.Vpc = &v
 33207  	return s
 33208  }
 33209  
 33210  // Contains the result of a successful invocation of the DescribeOrderableDBInstanceOptions
 33211  // action.
 33212  type DescribeOrderableDBInstanceOptionsOutput struct {
 33213  	_ struct{} `type:"structure"`
 33214  
 33215  	// An optional pagination token provided by a previous OrderableDBInstanceOptions
 33216  	// request. If this parameter is specified, the response includes only records
 33217  	// beyond the marker, up to the value specified by MaxRecords .
 33218  	Marker *string `type:"string"`
 33219  
 33220  	// An OrderableDBInstanceOption structure containing information about orderable
 33221  	// options for the DB instance.
 33222  	OrderableDBInstanceOptions []*OrderableDBInstanceOption `locationNameList:"OrderableDBInstanceOption" type:"list"`
 33223  }
 33224  
 33225  // String returns the string representation.
 33226  //
 33227  // API parameter values that are decorated as "sensitive" in the API will not
 33228  // be included in the string output. The member name will be present, but the
 33229  // value will be replaced with "sensitive".
 33230  func (s DescribeOrderableDBInstanceOptionsOutput) String() string {
 33231  	return awsutil.Prettify(s)
 33232  }
 33233  
 33234  // GoString returns the string representation.
 33235  //
 33236  // API parameter values that are decorated as "sensitive" in the API will not
 33237  // be included in the string output. The member name will be present, but the
 33238  // value will be replaced with "sensitive".
 33239  func (s DescribeOrderableDBInstanceOptionsOutput) GoString() string {
 33240  	return s.String()
 33241  }
 33242  
 33243  // SetMarker sets the Marker field's value.
 33244  func (s *DescribeOrderableDBInstanceOptionsOutput) SetMarker(v string) *DescribeOrderableDBInstanceOptionsOutput {
 33245  	s.Marker = &v
 33246  	return s
 33247  }
 33248  
 33249  // SetOrderableDBInstanceOptions sets the OrderableDBInstanceOptions field's value.
 33250  func (s *DescribeOrderableDBInstanceOptionsOutput) SetOrderableDBInstanceOptions(v []*OrderableDBInstanceOption) *DescribeOrderableDBInstanceOptionsOutput {
 33251  	s.OrderableDBInstanceOptions = v
 33252  	return s
 33253  }
 33254  
 33255  type DescribePendingMaintenanceActionsInput struct {
 33256  	_ struct{} `type:"structure"`
 33257  
 33258  	// A filter that specifies one or more resources to return pending maintenance
 33259  	// actions for.
 33260  	//
 33261  	// Supported filters:
 33262  	//
 33263  	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
 33264  	//    Resource Names (ARNs). The results list will only include pending maintenance
 33265  	//    actions for the DB clusters identified by these ARNs.
 33266  	//
 33267  	//    * db-instance-id - Accepts DB instance identifiers and DB instance ARNs.
 33268  	//    The results list will only include pending maintenance actions for the
 33269  	//    DB instances identified by these ARNs.
 33270  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 33271  
 33272  	// An optional pagination token provided by a previous DescribePendingMaintenanceActions
 33273  	// request. If this parameter is specified, the response includes only records
 33274  	// beyond the marker, up to a number of records specified by MaxRecords.
 33275  	Marker *string `type:"string"`
 33276  
 33277  	// The maximum number of records to include in the response. If more records
 33278  	// exist than the specified MaxRecords value, a pagination token called a marker
 33279  	// is included in the response so that you can retrieve the remaining results.
 33280  	//
 33281  	// Default: 100
 33282  	//
 33283  	// Constraints: Minimum 20, maximum 100.
 33284  	MaxRecords *int64 `type:"integer"`
 33285  
 33286  	// The ARN of a resource to return pending maintenance actions for.
 33287  	ResourceIdentifier *string `type:"string"`
 33288  }
 33289  
 33290  // String returns the string representation.
 33291  //
 33292  // API parameter values that are decorated as "sensitive" in the API will not
 33293  // be included in the string output. The member name will be present, but the
 33294  // value will be replaced with "sensitive".
 33295  func (s DescribePendingMaintenanceActionsInput) String() string {
 33296  	return awsutil.Prettify(s)
 33297  }
 33298  
 33299  // GoString returns the string representation.
 33300  //
 33301  // API parameter values that are decorated as "sensitive" in the API will not
 33302  // be included in the string output. The member name will be present, but the
 33303  // value will be replaced with "sensitive".
 33304  func (s DescribePendingMaintenanceActionsInput) GoString() string {
 33305  	return s.String()
 33306  }
 33307  
 33308  // Validate inspects the fields of the type to determine if they are valid.
 33309  func (s *DescribePendingMaintenanceActionsInput) Validate() error {
 33310  	invalidParams := request.ErrInvalidParams{Context: "DescribePendingMaintenanceActionsInput"}
 33311  	if s.Filters != nil {
 33312  		for i, v := range s.Filters {
 33313  			if v == nil {
 33314  				continue
 33315  			}
 33316  			if err := v.Validate(); err != nil {
 33317  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 33318  			}
 33319  		}
 33320  	}
 33321  
 33322  	if invalidParams.Len() > 0 {
 33323  		return invalidParams
 33324  	}
 33325  	return nil
 33326  }
 33327  
 33328  // SetFilters sets the Filters field's value.
 33329  func (s *DescribePendingMaintenanceActionsInput) SetFilters(v []*Filter) *DescribePendingMaintenanceActionsInput {
 33330  	s.Filters = v
 33331  	return s
 33332  }
 33333  
 33334  // SetMarker sets the Marker field's value.
 33335  func (s *DescribePendingMaintenanceActionsInput) SetMarker(v string) *DescribePendingMaintenanceActionsInput {
 33336  	s.Marker = &v
 33337  	return s
 33338  }
 33339  
 33340  // SetMaxRecords sets the MaxRecords field's value.
 33341  func (s *DescribePendingMaintenanceActionsInput) SetMaxRecords(v int64) *DescribePendingMaintenanceActionsInput {
 33342  	s.MaxRecords = &v
 33343  	return s
 33344  }
 33345  
 33346  // SetResourceIdentifier sets the ResourceIdentifier field's value.
 33347  func (s *DescribePendingMaintenanceActionsInput) SetResourceIdentifier(v string) *DescribePendingMaintenanceActionsInput {
 33348  	s.ResourceIdentifier = &v
 33349  	return s
 33350  }
 33351  
 33352  // Data returned from the DescribePendingMaintenanceActions action.
 33353  type DescribePendingMaintenanceActionsOutput struct {
 33354  	_ struct{} `type:"structure"`
 33355  
 33356  	// An optional pagination token provided by a previous DescribePendingMaintenanceActions
 33357  	// request. If this parameter is specified, the response includes only records
 33358  	// beyond the marker, up to a number of records specified by MaxRecords.
 33359  	Marker *string `type:"string"`
 33360  
 33361  	// A list of the pending maintenance actions for the resource.
 33362  	PendingMaintenanceActions []*ResourcePendingMaintenanceActions `locationNameList:"ResourcePendingMaintenanceActions" type:"list"`
 33363  }
 33364  
 33365  // String returns the string representation.
 33366  //
 33367  // API parameter values that are decorated as "sensitive" in the API will not
 33368  // be included in the string output. The member name will be present, but the
 33369  // value will be replaced with "sensitive".
 33370  func (s DescribePendingMaintenanceActionsOutput) String() string {
 33371  	return awsutil.Prettify(s)
 33372  }
 33373  
 33374  // GoString returns the string representation.
 33375  //
 33376  // API parameter values that are decorated as "sensitive" in the API will not
 33377  // be included in the string output. The member name will be present, but the
 33378  // value will be replaced with "sensitive".
 33379  func (s DescribePendingMaintenanceActionsOutput) GoString() string {
 33380  	return s.String()
 33381  }
 33382  
 33383  // SetMarker sets the Marker field's value.
 33384  func (s *DescribePendingMaintenanceActionsOutput) SetMarker(v string) *DescribePendingMaintenanceActionsOutput {
 33385  	s.Marker = &v
 33386  	return s
 33387  }
 33388  
 33389  // SetPendingMaintenanceActions sets the PendingMaintenanceActions field's value.
 33390  func (s *DescribePendingMaintenanceActionsOutput) SetPendingMaintenanceActions(v []*ResourcePendingMaintenanceActions) *DescribePendingMaintenanceActionsOutput {
 33391  	s.PendingMaintenanceActions = v
 33392  	return s
 33393  }
 33394  
 33395  type DescribeReservedDBInstancesInput struct {
 33396  	_ struct{} `type:"structure"`
 33397  
 33398  	// The DB instance class filter value. Specify this parameter to show only those
 33399  	// reservations matching the specified DB instances class.
 33400  	DBInstanceClass *string `type:"string"`
 33401  
 33402  	// The duration filter value, specified in years or seconds. Specify this parameter
 33403  	// to show only reservations for this duration.
 33404  	//
 33405  	// Valid Values: 1 | 3 | 31536000 | 94608000
 33406  	Duration *string `type:"string"`
 33407  
 33408  	// This parameter isn't currently supported.
 33409  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 33410  
 33411  	// The lease identifier filter value. Specify this parameter to show only the
 33412  	// reservation that matches the specified lease ID.
 33413  	//
 33414  	// Amazon Web Services Support might request the lease ID for an issue related
 33415  	// to a reserved DB instance.
 33416  	LeaseId *string `type:"string"`
 33417  
 33418  	// An optional pagination token provided by a previous request. If this parameter
 33419  	// is specified, the response includes only records beyond the marker, up to
 33420  	// the value specified by MaxRecords.
 33421  	Marker *string `type:"string"`
 33422  
 33423  	// The maximum number of records to include in the response. If more than the
 33424  	// MaxRecords value is available, a pagination token called a marker is included
 33425  	// in the response so you can retrieve the remaining results.
 33426  	//
 33427  	// Default: 100
 33428  	//
 33429  	// Constraints: Minimum 20, maximum 100.
 33430  	MaxRecords *int64 `type:"integer"`
 33431  
 33432  	// A value that indicates whether to show only those reservations that support
 33433  	// Multi-AZ.
 33434  	MultiAZ *bool `type:"boolean"`
 33435  
 33436  	// The offering type filter value. Specify this parameter to show only the available
 33437  	// offerings matching the specified offering type.
 33438  	//
 33439  	// Valid Values: "Partial Upfront" | "All Upfront" | "No Upfront"
 33440  	OfferingType *string `type:"string"`
 33441  
 33442  	// The product description filter value. Specify this parameter to show only
 33443  	// those reservations matching the specified product description.
 33444  	ProductDescription *string `type:"string"`
 33445  
 33446  	// The reserved DB instance identifier filter value. Specify this parameter
 33447  	// to show only the reservation that matches the specified reservation ID.
 33448  	ReservedDBInstanceId *string `type:"string"`
 33449  
 33450  	// The offering identifier filter value. Specify this parameter to show only
 33451  	// purchased reservations matching the specified offering identifier.
 33452  	ReservedDBInstancesOfferingId *string `type:"string"`
 33453  }
 33454  
 33455  // String returns the string representation.
 33456  //
 33457  // API parameter values that are decorated as "sensitive" in the API will not
 33458  // be included in the string output. The member name will be present, but the
 33459  // value will be replaced with "sensitive".
 33460  func (s DescribeReservedDBInstancesInput) String() string {
 33461  	return awsutil.Prettify(s)
 33462  }
 33463  
 33464  // GoString returns the string representation.
 33465  //
 33466  // API parameter values that are decorated as "sensitive" in the API will not
 33467  // be included in the string output. The member name will be present, but the
 33468  // value will be replaced with "sensitive".
 33469  func (s DescribeReservedDBInstancesInput) GoString() string {
 33470  	return s.String()
 33471  }
 33472  
 33473  // Validate inspects the fields of the type to determine if they are valid.
 33474  func (s *DescribeReservedDBInstancesInput) Validate() error {
 33475  	invalidParams := request.ErrInvalidParams{Context: "DescribeReservedDBInstancesInput"}
 33476  	if s.Filters != nil {
 33477  		for i, v := range s.Filters {
 33478  			if v == nil {
 33479  				continue
 33480  			}
 33481  			if err := v.Validate(); err != nil {
 33482  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 33483  			}
 33484  		}
 33485  	}
 33486  
 33487  	if invalidParams.Len() > 0 {
 33488  		return invalidParams
 33489  	}
 33490  	return nil
 33491  }
 33492  
 33493  // SetDBInstanceClass sets the DBInstanceClass field's value.
 33494  func (s *DescribeReservedDBInstancesInput) SetDBInstanceClass(v string) *DescribeReservedDBInstancesInput {
 33495  	s.DBInstanceClass = &v
 33496  	return s
 33497  }
 33498  
 33499  // SetDuration sets the Duration field's value.
 33500  func (s *DescribeReservedDBInstancesInput) SetDuration(v string) *DescribeReservedDBInstancesInput {
 33501  	s.Duration = &v
 33502  	return s
 33503  }
 33504  
 33505  // SetFilters sets the Filters field's value.
 33506  func (s *DescribeReservedDBInstancesInput) SetFilters(v []*Filter) *DescribeReservedDBInstancesInput {
 33507  	s.Filters = v
 33508  	return s
 33509  }
 33510  
 33511  // SetLeaseId sets the LeaseId field's value.
 33512  func (s *DescribeReservedDBInstancesInput) SetLeaseId(v string) *DescribeReservedDBInstancesInput {
 33513  	s.LeaseId = &v
 33514  	return s
 33515  }
 33516  
 33517  // SetMarker sets the Marker field's value.
 33518  func (s *DescribeReservedDBInstancesInput) SetMarker(v string) *DescribeReservedDBInstancesInput {
 33519  	s.Marker = &v
 33520  	return s
 33521  }
 33522  
 33523  // SetMaxRecords sets the MaxRecords field's value.
 33524  func (s *DescribeReservedDBInstancesInput) SetMaxRecords(v int64) *DescribeReservedDBInstancesInput {
 33525  	s.MaxRecords = &v
 33526  	return s
 33527  }
 33528  
 33529  // SetMultiAZ sets the MultiAZ field's value.
 33530  func (s *DescribeReservedDBInstancesInput) SetMultiAZ(v bool) *DescribeReservedDBInstancesInput {
 33531  	s.MultiAZ = &v
 33532  	return s
 33533  }
 33534  
 33535  // SetOfferingType sets the OfferingType field's value.
 33536  func (s *DescribeReservedDBInstancesInput) SetOfferingType(v string) *DescribeReservedDBInstancesInput {
 33537  	s.OfferingType = &v
 33538  	return s
 33539  }
 33540  
 33541  // SetProductDescription sets the ProductDescription field's value.
 33542  func (s *DescribeReservedDBInstancesInput) SetProductDescription(v string) *DescribeReservedDBInstancesInput {
 33543  	s.ProductDescription = &v
 33544  	return s
 33545  }
 33546  
 33547  // SetReservedDBInstanceId sets the ReservedDBInstanceId field's value.
 33548  func (s *DescribeReservedDBInstancesInput) SetReservedDBInstanceId(v string) *DescribeReservedDBInstancesInput {
 33549  	s.ReservedDBInstanceId = &v
 33550  	return s
 33551  }
 33552  
 33553  // SetReservedDBInstancesOfferingId sets the ReservedDBInstancesOfferingId field's value.
 33554  func (s *DescribeReservedDBInstancesInput) SetReservedDBInstancesOfferingId(v string) *DescribeReservedDBInstancesInput {
 33555  	s.ReservedDBInstancesOfferingId = &v
 33556  	return s
 33557  }
 33558  
 33559  type DescribeReservedDBInstancesOfferingsInput struct {
 33560  	_ struct{} `type:"structure"`
 33561  
 33562  	// The DB instance class filter value. Specify this parameter to show only the
 33563  	// available offerings matching the specified DB instance class.
 33564  	DBInstanceClass *string `type:"string"`
 33565  
 33566  	// Duration filter value, specified in years or seconds. Specify this parameter
 33567  	// to show only reservations for this duration.
 33568  	//
 33569  	// Valid Values: 1 | 3 | 31536000 | 94608000
 33570  	Duration *string `type:"string"`
 33571  
 33572  	// This parameter isn't currently supported.
 33573  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 33574  
 33575  	// An optional pagination token provided by a previous request. If this parameter
 33576  	// is specified, the response includes only records beyond the marker, up to
 33577  	// the value specified by MaxRecords.
 33578  	Marker *string `type:"string"`
 33579  
 33580  	// The maximum number of records to include in the response. If more than the
 33581  	// MaxRecords value is available, a pagination token called a marker is included
 33582  	// in the response so you can retrieve the remaining results.
 33583  	//
 33584  	// Default: 100
 33585  	//
 33586  	// Constraints: Minimum 20, maximum 100.
 33587  	MaxRecords *int64 `type:"integer"`
 33588  
 33589  	// A value that indicates whether to show only those reservations that support
 33590  	// Multi-AZ.
 33591  	MultiAZ *bool `type:"boolean"`
 33592  
 33593  	// The offering type filter value. Specify this parameter to show only the available
 33594  	// offerings matching the specified offering type.
 33595  	//
 33596  	// Valid Values: "Partial Upfront" | "All Upfront" | "No Upfront"
 33597  	OfferingType *string `type:"string"`
 33598  
 33599  	// Product description filter value. Specify this parameter to show only the
 33600  	// available offerings that contain the specified product description.
 33601  	//
 33602  	// The results show offerings that partially match the filter value.
 33603  	ProductDescription *string `type:"string"`
 33604  
 33605  	// The offering identifier filter value. Specify this parameter to show only
 33606  	// the available offering that matches the specified reservation identifier.
 33607  	//
 33608  	// Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706
 33609  	ReservedDBInstancesOfferingId *string `type:"string"`
 33610  }
 33611  
 33612  // String returns the string representation.
 33613  //
 33614  // API parameter values that are decorated as "sensitive" in the API will not
 33615  // be included in the string output. The member name will be present, but the
 33616  // value will be replaced with "sensitive".
 33617  func (s DescribeReservedDBInstancesOfferingsInput) String() string {
 33618  	return awsutil.Prettify(s)
 33619  }
 33620  
 33621  // GoString returns the string representation.
 33622  //
 33623  // API parameter values that are decorated as "sensitive" in the API will not
 33624  // be included in the string output. The member name will be present, but the
 33625  // value will be replaced with "sensitive".
 33626  func (s DescribeReservedDBInstancesOfferingsInput) GoString() string {
 33627  	return s.String()
 33628  }
 33629  
 33630  // Validate inspects the fields of the type to determine if they are valid.
 33631  func (s *DescribeReservedDBInstancesOfferingsInput) Validate() error {
 33632  	invalidParams := request.ErrInvalidParams{Context: "DescribeReservedDBInstancesOfferingsInput"}
 33633  	if s.Filters != nil {
 33634  		for i, v := range s.Filters {
 33635  			if v == nil {
 33636  				continue
 33637  			}
 33638  			if err := v.Validate(); err != nil {
 33639  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 33640  			}
 33641  		}
 33642  	}
 33643  
 33644  	if invalidParams.Len() > 0 {
 33645  		return invalidParams
 33646  	}
 33647  	return nil
 33648  }
 33649  
 33650  // SetDBInstanceClass sets the DBInstanceClass field's value.
 33651  func (s *DescribeReservedDBInstancesOfferingsInput) SetDBInstanceClass(v string) *DescribeReservedDBInstancesOfferingsInput {
 33652  	s.DBInstanceClass = &v
 33653  	return s
 33654  }
 33655  
 33656  // SetDuration sets the Duration field's value.
 33657  func (s *DescribeReservedDBInstancesOfferingsInput) SetDuration(v string) *DescribeReservedDBInstancesOfferingsInput {
 33658  	s.Duration = &v
 33659  	return s
 33660  }
 33661  
 33662  // SetFilters sets the Filters field's value.
 33663  func (s *DescribeReservedDBInstancesOfferingsInput) SetFilters(v []*Filter) *DescribeReservedDBInstancesOfferingsInput {
 33664  	s.Filters = v
 33665  	return s
 33666  }
 33667  
 33668  // SetMarker sets the Marker field's value.
 33669  func (s *DescribeReservedDBInstancesOfferingsInput) SetMarker(v string) *DescribeReservedDBInstancesOfferingsInput {
 33670  	s.Marker = &v
 33671  	return s
 33672  }
 33673  
 33674  // SetMaxRecords sets the MaxRecords field's value.
 33675  func (s *DescribeReservedDBInstancesOfferingsInput) SetMaxRecords(v int64) *DescribeReservedDBInstancesOfferingsInput {
 33676  	s.MaxRecords = &v
 33677  	return s
 33678  }
 33679  
 33680  // SetMultiAZ sets the MultiAZ field's value.
 33681  func (s *DescribeReservedDBInstancesOfferingsInput) SetMultiAZ(v bool) *DescribeReservedDBInstancesOfferingsInput {
 33682  	s.MultiAZ = &v
 33683  	return s
 33684  }
 33685  
 33686  // SetOfferingType sets the OfferingType field's value.
 33687  func (s *DescribeReservedDBInstancesOfferingsInput) SetOfferingType(v string) *DescribeReservedDBInstancesOfferingsInput {
 33688  	s.OfferingType = &v
 33689  	return s
 33690  }
 33691  
 33692  // SetProductDescription sets the ProductDescription field's value.
 33693  func (s *DescribeReservedDBInstancesOfferingsInput) SetProductDescription(v string) *DescribeReservedDBInstancesOfferingsInput {
 33694  	s.ProductDescription = &v
 33695  	return s
 33696  }
 33697  
 33698  // SetReservedDBInstancesOfferingId sets the ReservedDBInstancesOfferingId field's value.
 33699  func (s *DescribeReservedDBInstancesOfferingsInput) SetReservedDBInstancesOfferingId(v string) *DescribeReservedDBInstancesOfferingsInput {
 33700  	s.ReservedDBInstancesOfferingId = &v
 33701  	return s
 33702  }
 33703  
 33704  // Contains the result of a successful invocation of the DescribeReservedDBInstancesOfferings
 33705  // action.
 33706  type DescribeReservedDBInstancesOfferingsOutput struct {
 33707  	_ struct{} `type:"structure"`
 33708  
 33709  	// An optional pagination token provided by a previous request. If this parameter
 33710  	// is specified, the response includes only records beyond the marker, up to
 33711  	// the value specified by MaxRecords.
 33712  	Marker *string `type:"string"`
 33713  
 33714  	// A list of reserved DB instance offerings.
 33715  	ReservedDBInstancesOfferings []*ReservedDBInstancesOffering `locationNameList:"ReservedDBInstancesOffering" type:"list"`
 33716  }
 33717  
 33718  // String returns the string representation.
 33719  //
 33720  // API parameter values that are decorated as "sensitive" in the API will not
 33721  // be included in the string output. The member name will be present, but the
 33722  // value will be replaced with "sensitive".
 33723  func (s DescribeReservedDBInstancesOfferingsOutput) String() string {
 33724  	return awsutil.Prettify(s)
 33725  }
 33726  
 33727  // GoString returns the string representation.
 33728  //
 33729  // API parameter values that are decorated as "sensitive" in the API will not
 33730  // be included in the string output. The member name will be present, but the
 33731  // value will be replaced with "sensitive".
 33732  func (s DescribeReservedDBInstancesOfferingsOutput) GoString() string {
 33733  	return s.String()
 33734  }
 33735  
 33736  // SetMarker sets the Marker field's value.
 33737  func (s *DescribeReservedDBInstancesOfferingsOutput) SetMarker(v string) *DescribeReservedDBInstancesOfferingsOutput {
 33738  	s.Marker = &v
 33739  	return s
 33740  }
 33741  
 33742  // SetReservedDBInstancesOfferings sets the ReservedDBInstancesOfferings field's value.
 33743  func (s *DescribeReservedDBInstancesOfferingsOutput) SetReservedDBInstancesOfferings(v []*ReservedDBInstancesOffering) *DescribeReservedDBInstancesOfferingsOutput {
 33744  	s.ReservedDBInstancesOfferings = v
 33745  	return s
 33746  }
 33747  
 33748  // Contains the result of a successful invocation of the DescribeReservedDBInstances
 33749  // action.
 33750  type DescribeReservedDBInstancesOutput struct {
 33751  	_ struct{} `type:"structure"`
 33752  
 33753  	// An optional pagination token provided by a previous request. If this parameter
 33754  	// is specified, the response includes only records beyond the marker, up to
 33755  	// the value specified by MaxRecords.
 33756  	Marker *string `type:"string"`
 33757  
 33758  	// A list of reserved DB instances.
 33759  	ReservedDBInstances []*ReservedDBInstance `locationNameList:"ReservedDBInstance" type:"list"`
 33760  }
 33761  
 33762  // String returns the string representation.
 33763  //
 33764  // API parameter values that are decorated as "sensitive" in the API will not
 33765  // be included in the string output. The member name will be present, but the
 33766  // value will be replaced with "sensitive".
 33767  func (s DescribeReservedDBInstancesOutput) String() string {
 33768  	return awsutil.Prettify(s)
 33769  }
 33770  
 33771  // GoString returns the string representation.
 33772  //
 33773  // API parameter values that are decorated as "sensitive" in the API will not
 33774  // be included in the string output. The member name will be present, but the
 33775  // value will be replaced with "sensitive".
 33776  func (s DescribeReservedDBInstancesOutput) GoString() string {
 33777  	return s.String()
 33778  }
 33779  
 33780  // SetMarker sets the Marker field's value.
 33781  func (s *DescribeReservedDBInstancesOutput) SetMarker(v string) *DescribeReservedDBInstancesOutput {
 33782  	s.Marker = &v
 33783  	return s
 33784  }
 33785  
 33786  // SetReservedDBInstances sets the ReservedDBInstances field's value.
 33787  func (s *DescribeReservedDBInstancesOutput) SetReservedDBInstances(v []*ReservedDBInstance) *DescribeReservedDBInstancesOutput {
 33788  	s.ReservedDBInstances = v
 33789  	return s
 33790  }
 33791  
 33792  type DescribeSourceRegionsInput struct {
 33793  	_ struct{} `type:"structure"`
 33794  
 33795  	// This parameter isn't currently supported.
 33796  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 33797  
 33798  	// An optional pagination token provided by a previous DescribeSourceRegions
 33799  	// request. If this parameter is specified, the response includes only records
 33800  	// beyond the marker, up to the value specified by MaxRecords.
 33801  	Marker *string `type:"string"`
 33802  
 33803  	// The maximum number of records to include in the response. If more records
 33804  	// exist than the specified MaxRecords value, a pagination token called a marker
 33805  	// is included in the response so you can retrieve the remaining results.
 33806  	//
 33807  	// Default: 100
 33808  	//
 33809  	// Constraints: Minimum 20, maximum 100.
 33810  	MaxRecords *int64 `type:"integer"`
 33811  
 33812  	// The source Amazon Web Services Region name. For example, us-east-1.
 33813  	//
 33814  	// Constraints:
 33815  	//
 33816  	//    * Must specify a valid Amazon Web Services Region name.
 33817  	RegionName *string `type:"string"`
 33818  }
 33819  
 33820  // String returns the string representation.
 33821  //
 33822  // API parameter values that are decorated as "sensitive" in the API will not
 33823  // be included in the string output. The member name will be present, but the
 33824  // value will be replaced with "sensitive".
 33825  func (s DescribeSourceRegionsInput) String() string {
 33826  	return awsutil.Prettify(s)
 33827  }
 33828  
 33829  // GoString returns the string representation.
 33830  //
 33831  // API parameter values that are decorated as "sensitive" in the API will not
 33832  // be included in the string output. The member name will be present, but the
 33833  // value will be replaced with "sensitive".
 33834  func (s DescribeSourceRegionsInput) GoString() string {
 33835  	return s.String()
 33836  }
 33837  
 33838  // Validate inspects the fields of the type to determine if they are valid.
 33839  func (s *DescribeSourceRegionsInput) Validate() error {
 33840  	invalidParams := request.ErrInvalidParams{Context: "DescribeSourceRegionsInput"}
 33841  	if s.Filters != nil {
 33842  		for i, v := range s.Filters {
 33843  			if v == nil {
 33844  				continue
 33845  			}
 33846  			if err := v.Validate(); err != nil {
 33847  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 33848  			}
 33849  		}
 33850  	}
 33851  
 33852  	if invalidParams.Len() > 0 {
 33853  		return invalidParams
 33854  	}
 33855  	return nil
 33856  }
 33857  
 33858  // SetFilters sets the Filters field's value.
 33859  func (s *DescribeSourceRegionsInput) SetFilters(v []*Filter) *DescribeSourceRegionsInput {
 33860  	s.Filters = v
 33861  	return s
 33862  }
 33863  
 33864  // SetMarker sets the Marker field's value.
 33865  func (s *DescribeSourceRegionsInput) SetMarker(v string) *DescribeSourceRegionsInput {
 33866  	s.Marker = &v
 33867  	return s
 33868  }
 33869  
 33870  // SetMaxRecords sets the MaxRecords field's value.
 33871  func (s *DescribeSourceRegionsInput) SetMaxRecords(v int64) *DescribeSourceRegionsInput {
 33872  	s.MaxRecords = &v
 33873  	return s
 33874  }
 33875  
 33876  // SetRegionName sets the RegionName field's value.
 33877  func (s *DescribeSourceRegionsInput) SetRegionName(v string) *DescribeSourceRegionsInput {
 33878  	s.RegionName = &v
 33879  	return s
 33880  }
 33881  
 33882  // Contains the result of a successful invocation of the DescribeSourceRegions
 33883  // action.
 33884  type DescribeSourceRegionsOutput struct {
 33885  	_ struct{} `type:"structure"`
 33886  
 33887  	// An optional pagination token provided by a previous request. If this parameter
 33888  	// is specified, the response includes only records beyond the marker, up to
 33889  	// the value specified by MaxRecords.
 33890  	Marker *string `type:"string"`
 33891  
 33892  	// A list of SourceRegion instances that contains each source Amazon Web Services
 33893  	// Region that the current Amazon Web Services Region can get a read replica
 33894  	// or a DB snapshot from.
 33895  	SourceRegions []*SourceRegion `locationNameList:"SourceRegion" type:"list"`
 33896  }
 33897  
 33898  // String returns the string representation.
 33899  //
 33900  // API parameter values that are decorated as "sensitive" in the API will not
 33901  // be included in the string output. The member name will be present, but the
 33902  // value will be replaced with "sensitive".
 33903  func (s DescribeSourceRegionsOutput) String() string {
 33904  	return awsutil.Prettify(s)
 33905  }
 33906  
 33907  // GoString returns the string representation.
 33908  //
 33909  // API parameter values that are decorated as "sensitive" in the API will not
 33910  // be included in the string output. The member name will be present, but the
 33911  // value will be replaced with "sensitive".
 33912  func (s DescribeSourceRegionsOutput) GoString() string {
 33913  	return s.String()
 33914  }
 33915  
 33916  // SetMarker sets the Marker field's value.
 33917  func (s *DescribeSourceRegionsOutput) SetMarker(v string) *DescribeSourceRegionsOutput {
 33918  	s.Marker = &v
 33919  	return s
 33920  }
 33921  
 33922  // SetSourceRegions sets the SourceRegions field's value.
 33923  func (s *DescribeSourceRegionsOutput) SetSourceRegions(v []*SourceRegion) *DescribeSourceRegionsOutput {
 33924  	s.SourceRegions = v
 33925  	return s
 33926  }
 33927  
 33928  type DescribeValidDBInstanceModificationsInput struct {
 33929  	_ struct{} `type:"structure"`
 33930  
 33931  	// The customer identifier or the ARN of your DB instance.
 33932  	//
 33933  	// DBInstanceIdentifier is a required field
 33934  	DBInstanceIdentifier *string `type:"string" required:"true"`
 33935  }
 33936  
 33937  // String returns the string representation.
 33938  //
 33939  // API parameter values that are decorated as "sensitive" in the API will not
 33940  // be included in the string output. The member name will be present, but the
 33941  // value will be replaced with "sensitive".
 33942  func (s DescribeValidDBInstanceModificationsInput) String() string {
 33943  	return awsutil.Prettify(s)
 33944  }
 33945  
 33946  // GoString returns the string representation.
 33947  //
 33948  // API parameter values that are decorated as "sensitive" in the API will not
 33949  // be included in the string output. The member name will be present, but the
 33950  // value will be replaced with "sensitive".
 33951  func (s DescribeValidDBInstanceModificationsInput) GoString() string {
 33952  	return s.String()
 33953  }
 33954  
 33955  // Validate inspects the fields of the type to determine if they are valid.
 33956  func (s *DescribeValidDBInstanceModificationsInput) Validate() error {
 33957  	invalidParams := request.ErrInvalidParams{Context: "DescribeValidDBInstanceModificationsInput"}
 33958  	if s.DBInstanceIdentifier == nil {
 33959  		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
 33960  	}
 33961  
 33962  	if invalidParams.Len() > 0 {
 33963  		return invalidParams
 33964  	}
 33965  	return nil
 33966  }
 33967  
 33968  // SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
 33969  func (s *DescribeValidDBInstanceModificationsInput) SetDBInstanceIdentifier(v string) *DescribeValidDBInstanceModificationsInput {
 33970  	s.DBInstanceIdentifier = &v
 33971  	return s
 33972  }
 33973  
 33974  type DescribeValidDBInstanceModificationsOutput struct {
 33975  	_ struct{} `type:"structure"`
 33976  
 33977  	// Information about valid modifications that you can make to your DB instance.
 33978  	// Contains the result of a successful call to the DescribeValidDBInstanceModifications
 33979  	// action. You can use this information when you call ModifyDBInstance.
 33980  	ValidDBInstanceModificationsMessage *ValidDBInstanceModificationsMessage `type:"structure"`
 33981  }
 33982  
 33983  // String returns the string representation.
 33984  //
 33985  // API parameter values that are decorated as "sensitive" in the API will not
 33986  // be included in the string output. The member name will be present, but the
 33987  // value will be replaced with "sensitive".
 33988  func (s DescribeValidDBInstanceModificationsOutput) String() string {
 33989  	return awsutil.Prettify(s)
 33990  }
 33991  
 33992  // GoString returns the string representation.
 33993  //
 33994  // API parameter values that are decorated as "sensitive" in the API will not
 33995  // be included in the string output. The member name will be present, but the
 33996  // value will be replaced with "sensitive".
 33997  func (s DescribeValidDBInstanceModificationsOutput) GoString() string {
 33998  	return s.String()
 33999  }
 34000  
 34001  // SetValidDBInstanceModificationsMessage sets the ValidDBInstanceModificationsMessage field's value.
 34002  func (s *DescribeValidDBInstanceModificationsOutput) SetValidDBInstanceModificationsMessage(v *ValidDBInstanceModificationsMessage) *DescribeValidDBInstanceModificationsOutput {
 34003  	s.ValidDBInstanceModificationsMessage = v
 34004  	return s
 34005  }
 34006  
 34007  // An Active Directory Domain membership record associated with the DB instance
 34008  // or cluster.
 34009  type DomainMembership struct {
 34010  	_ struct{} `type:"structure"`
 34011  
 34012  	// The identifier of the Active Directory Domain.
 34013  	Domain *string `type:"string"`
 34014  
 34015  	// The fully qualified domain name of the Active Directory Domain.
 34016  	FQDN *string `type:"string"`
 34017  
 34018  	// The name of the IAM role to be used when making API calls to the Directory
 34019  	// Service.
 34020  	IAMRoleName *string `type:"string"`
 34021  
 34022  	// The status of the Active Directory Domain membership for the DB instance
 34023  	// or cluster. Values include joined, pending-join, failed, and so on.
 34024  	Status *string `type:"string"`
 34025  }
 34026  
 34027  // String returns the string representation.
 34028  //
 34029  // API parameter values that are decorated as "sensitive" in the API will not
 34030  // be included in the string output. The member name will be present, but the
 34031  // value will be replaced with "sensitive".
 34032  func (s DomainMembership) String() string {
 34033  	return awsutil.Prettify(s)
 34034  }
 34035  
 34036  // GoString returns the string representation.
 34037  //
 34038  // API parameter values that are decorated as "sensitive" in the API will not
 34039  // be included in the string output. The member name will be present, but the
 34040  // value will be replaced with "sensitive".
 34041  func (s DomainMembership) GoString() string {
 34042  	return s.String()
 34043  }
 34044  
 34045  // SetDomain sets the Domain field's value.
 34046  func (s *DomainMembership) SetDomain(v string) *DomainMembership {
 34047  	s.Domain = &v
 34048  	return s
 34049  }
 34050  
 34051  // SetFQDN sets the FQDN field's value.
 34052  func (s *DomainMembership) SetFQDN(v string) *DomainMembership {
 34053  	s.FQDN = &v
 34054  	return s
 34055  }
 34056  
 34057  // SetIAMRoleName sets the IAMRoleName field's value.
 34058  func (s *DomainMembership) SetIAMRoleName(v string) *DomainMembership {
 34059  	s.IAMRoleName = &v
 34060  	return s
 34061  }
 34062  
 34063  // SetStatus sets the Status field's value.
 34064  func (s *DomainMembership) SetStatus(v string) *DomainMembership {
 34065  	s.Status = &v
 34066  	return s
 34067  }
 34068  
 34069  // A range of double values.
 34070  type DoubleRange struct {
 34071  	_ struct{} `type:"structure"`
 34072  
 34073  	// The minimum value in the range.
 34074  	From *float64 `type:"double"`
 34075  
 34076  	// The maximum value in the range.
 34077  	To *float64 `type:"double"`
 34078  }
 34079  
 34080  // String returns the string representation.
 34081  //
 34082  // API parameter values that are decorated as "sensitive" in the API will not
 34083  // be included in the string output. The member name will be present, but the
 34084  // value will be replaced with "sensitive".
 34085  func (s DoubleRange) String() string {
 34086  	return awsutil.Prettify(s)
 34087  }
 34088  
 34089  // GoString returns the string representation.
 34090  //
 34091  // API parameter values that are decorated as "sensitive" in the API will not
 34092  // be included in the string output. The member name will be present, but the
 34093  // value will be replaced with "sensitive".
 34094  func (s DoubleRange) GoString() string {
 34095  	return s.String()
 34096  }
 34097  
 34098  // SetFrom sets the From field's value.
 34099  func (s *DoubleRange) SetFrom(v float64) *DoubleRange {
 34100  	s.From = &v
 34101  	return s
 34102  }
 34103  
 34104  // SetTo sets the To field's value.
 34105  func (s *DoubleRange) SetTo(v float64) *DoubleRange {
 34106  	s.To = &v
 34107  	return s
 34108  }
 34109  
 34110  type DownloadDBLogFilePortionInput struct {
 34111  	_ struct{} `type:"structure"`
 34112  
 34113  	// The customer-assigned name of the DB instance that contains the log files
 34114  	// you want to list.
 34115  	//
 34116  	// Constraints:
 34117  	//
 34118  	//    * Must match the identifier of an existing DBInstance.
 34119  	//
 34120  	// DBInstanceIdentifier is a required field
 34121  	DBInstanceIdentifier *string `type:"string" required:"true"`
 34122  
 34123  	// The name of the log file to be downloaded.
 34124  	//
 34125  	// LogFileName is a required field
 34126  	LogFileName *string `type:"string" required:"true"`
 34127  
 34128  	// The pagination token provided in the previous request or "0". If the Marker
 34129  	// parameter is specified the response includes only records beyond the marker
 34130  	// until the end of the file or up to NumberOfLines.
 34131  	Marker *string `type:"string"`
 34132  
 34133  	// The number of lines to download. If the number of lines specified results
 34134  	// in a file over 1 MB in size, the file is truncated at 1 MB in size.
 34135  	//
 34136  	// If the NumberOfLines parameter is specified, then the block of lines returned
 34137  	// can be from the beginning or the end of the log file, depending on the value
 34138  	// of the Marker parameter.
 34139  	//
 34140  	//    * If neither Marker or NumberOfLines are specified, the entire log file
 34141  	//    is returned up to a maximum of 10000 lines, starting with the most recent
 34142  	//    log entries first.
 34143  	//
 34144  	//    * If NumberOfLines is specified and Marker isn't specified, then the most
 34145  	//    recent lines from the end of the log file are returned.
 34146  	//
 34147  	//    * If Marker is specified as "0", then the specified number of lines from
 34148  	//    the beginning of the log file are returned.
 34149  	//
 34150  	//    * You can download the log file in blocks of lines by specifying the size
 34151  	//    of the block using the NumberOfLines parameter, and by specifying a value
 34152  	//    of "0" for the Marker parameter in your first request. Include the Marker
 34153  	//    value returned in the response as the Marker value for the next request,
 34154  	//    continuing until the AdditionalDataPending response element returns false.
 34155  	NumberOfLines *int64 `type:"integer"`
 34156  }
 34157  
 34158  // String returns the string representation.
 34159  //
 34160  // API parameter values that are decorated as "sensitive" in the API will not
 34161  // be included in the string output. The member name will be present, but the
 34162  // value will be replaced with "sensitive".
 34163  func (s DownloadDBLogFilePortionInput) String() string {
 34164  	return awsutil.Prettify(s)
 34165  }
 34166  
 34167  // GoString returns the string representation.
 34168  //
 34169  // API parameter values that are decorated as "sensitive" in the API will not
 34170  // be included in the string output. The member name will be present, but the
 34171  // value will be replaced with "sensitive".
 34172  func (s DownloadDBLogFilePortionInput) GoString() string {
 34173  	return s.String()
 34174  }
 34175  
 34176  // Validate inspects the fields of the type to determine if they are valid.
 34177  func (s *DownloadDBLogFilePortionInput) Validate() error {
 34178  	invalidParams := request.ErrInvalidParams{Context: "DownloadDBLogFilePortionInput"}
 34179  	if s.DBInstanceIdentifier == nil {
 34180  		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
 34181  	}
 34182  	if s.LogFileName == nil {
 34183  		invalidParams.Add(request.NewErrParamRequired("LogFileName"))
 34184  	}
 34185  
 34186  	if invalidParams.Len() > 0 {
 34187  		return invalidParams
 34188  	}
 34189  	return nil
 34190  }
 34191  
 34192  // SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
 34193  func (s *DownloadDBLogFilePortionInput) SetDBInstanceIdentifier(v string) *DownloadDBLogFilePortionInput {
 34194  	s.DBInstanceIdentifier = &v
 34195  	return s
 34196  }
 34197  
 34198  // SetLogFileName sets the LogFileName field's value.
 34199  func (s *DownloadDBLogFilePortionInput) SetLogFileName(v string) *DownloadDBLogFilePortionInput {
 34200  	s.LogFileName = &v
 34201  	return s
 34202  }
 34203  
 34204  // SetMarker sets the Marker field's value.
 34205  func (s *DownloadDBLogFilePortionInput) SetMarker(v string) *DownloadDBLogFilePortionInput {
 34206  	s.Marker = &v
 34207  	return s
 34208  }
 34209  
 34210  // SetNumberOfLines sets the NumberOfLines field's value.
 34211  func (s *DownloadDBLogFilePortionInput) SetNumberOfLines(v int64) *DownloadDBLogFilePortionInput {
 34212  	s.NumberOfLines = &v
 34213  	return s
 34214  }
 34215  
 34216  // This data type is used as a response element to DownloadDBLogFilePortion.
 34217  type DownloadDBLogFilePortionOutput struct {
 34218  	_ struct{} `type:"structure"`
 34219  
 34220  	// Boolean value that if true, indicates there is more data to be downloaded.
 34221  	AdditionalDataPending *bool `type:"boolean"`
 34222  
 34223  	// Entries from the specified log file.
 34224  	LogFileData *string `type:"string"`
 34225  
 34226  	// A pagination token that can be used in a later DownloadDBLogFilePortion request.
 34227  	Marker *string `type:"string"`
 34228  }
 34229  
 34230  // String returns the string representation.
 34231  //
 34232  // API parameter values that are decorated as "sensitive" in the API will not
 34233  // be included in the string output. The member name will be present, but the
 34234  // value will be replaced with "sensitive".
 34235  func (s DownloadDBLogFilePortionOutput) String() string {
 34236  	return awsutil.Prettify(s)
 34237  }
 34238  
 34239  // GoString returns the string representation.
 34240  //
 34241  // API parameter values that are decorated as "sensitive" in the API will not
 34242  // be included in the string output. The member name will be present, but the
 34243  // value will be replaced with "sensitive".
 34244  func (s DownloadDBLogFilePortionOutput) GoString() string {
 34245  	return s.String()
 34246  }
 34247  
 34248  // SetAdditionalDataPending sets the AdditionalDataPending field's value.
 34249  func (s *DownloadDBLogFilePortionOutput) SetAdditionalDataPending(v bool) *DownloadDBLogFilePortionOutput {
 34250  	s.AdditionalDataPending = &v
 34251  	return s
 34252  }
 34253  
 34254  // SetLogFileData sets the LogFileData field's value.
 34255  func (s *DownloadDBLogFilePortionOutput) SetLogFileData(v string) *DownloadDBLogFilePortionOutput {
 34256  	s.LogFileData = &v
 34257  	return s
 34258  }
 34259  
 34260  // SetMarker sets the Marker field's value.
 34261  func (s *DownloadDBLogFilePortionOutput) SetMarker(v string) *DownloadDBLogFilePortionOutput {
 34262  	s.Marker = &v
 34263  	return s
 34264  }
 34265  
 34266  // This data type is used as a response element in the following actions:
 34267  //
 34268  //    * AuthorizeDBSecurityGroupIngress
 34269  //
 34270  //    * DescribeDBSecurityGroups
 34271  //
 34272  //    * RevokeDBSecurityGroupIngress
 34273  type EC2SecurityGroup struct {
 34274  	_ struct{} `type:"structure"`
 34275  
 34276  	// Specifies the id of the EC2 security group.
 34277  	EC2SecurityGroupId *string `type:"string"`
 34278  
 34279  	// Specifies the name of the EC2 security group.
 34280  	EC2SecurityGroupName *string `type:"string"`
 34281  
 34282  	// Specifies the Amazon Web Services ID of the owner of the EC2 security group
 34283  	// specified in the EC2SecurityGroupName field.
 34284  	EC2SecurityGroupOwnerId *string `type:"string"`
 34285  
 34286  	// Provides the status of the EC2 security group. Status can be "authorizing",
 34287  	// "authorized", "revoking", and "revoked".
 34288  	Status *string `type:"string"`
 34289  }
 34290  
 34291  // String returns the string representation.
 34292  //
 34293  // API parameter values that are decorated as "sensitive" in the API will not
 34294  // be included in the string output. The member name will be present, but the
 34295  // value will be replaced with "sensitive".
 34296  func (s EC2SecurityGroup) String() string {
 34297  	return awsutil.Prettify(s)
 34298  }
 34299  
 34300  // GoString returns the string representation.
 34301  //
 34302  // API parameter values that are decorated as "sensitive" in the API will not
 34303  // be included in the string output. The member name will be present, but the
 34304  // value will be replaced with "sensitive".
 34305  func (s EC2SecurityGroup) GoString() string {
 34306  	return s.String()
 34307  }
 34308  
 34309  // SetEC2SecurityGroupId sets the EC2SecurityGroupId field's value.
 34310  func (s *EC2SecurityGroup) SetEC2SecurityGroupId(v string) *EC2SecurityGroup {
 34311  	s.EC2SecurityGroupId = &v
 34312  	return s
 34313  }
 34314  
 34315  // SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value.
 34316  func (s *EC2SecurityGroup) SetEC2SecurityGroupName(v string) *EC2SecurityGroup {
 34317  	s.EC2SecurityGroupName = &v
 34318  	return s
 34319  }
 34320  
 34321  // SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value.
 34322  func (s *EC2SecurityGroup) SetEC2SecurityGroupOwnerId(v string) *EC2SecurityGroup {
 34323  	s.EC2SecurityGroupOwnerId = &v
 34324  	return s
 34325  }
 34326  
 34327  // SetStatus sets the Status field's value.
 34328  func (s *EC2SecurityGroup) SetStatus(v string) *EC2SecurityGroup {
 34329  	s.Status = &v
 34330  	return s
 34331  }
 34332  
 34333  // This data type represents the information you need to connect to an Amazon
 34334  // RDS DB instance. This data type is used as a response element in the following
 34335  // actions:
 34336  //
 34337  //    * CreateDBInstance
 34338  //
 34339  //    * DescribeDBInstances
 34340  //
 34341  //    * DeleteDBInstance
 34342  //
 34343  // For the data structure that represents Amazon Aurora DB cluster endpoints,
 34344  // see DBClusterEndpoint.
 34345  type Endpoint struct {
 34346  	_ struct{} `type:"structure"`
 34347  
 34348  	// Specifies the DNS address of the DB instance.
 34349  	Address *string `type:"string"`
 34350  
 34351  	// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
 34352  	HostedZoneId *string `type:"string"`
 34353  
 34354  	// Specifies the port that the database engine is listening on.
 34355  	Port *int64 `type:"integer"`
 34356  }
 34357  
 34358  // String returns the string representation.
 34359  //
 34360  // API parameter values that are decorated as "sensitive" in the API will not
 34361  // be included in the string output. The member name will be present, but the
 34362  // value will be replaced with "sensitive".
 34363  func (s Endpoint) String() string {
 34364  	return awsutil.Prettify(s)
 34365  }
 34366  
 34367  // GoString returns the string representation.
 34368  //
 34369  // API parameter values that are decorated as "sensitive" in the API will not
 34370  // be included in the string output. The member name will be present, but the
 34371  // value will be replaced with "sensitive".
 34372  func (s Endpoint) GoString() string {
 34373  	return s.String()
 34374  }
 34375  
 34376  // SetAddress sets the Address field's value.
 34377  func (s *Endpoint) SetAddress(v string) *Endpoint {
 34378  	s.Address = &v
 34379  	return s
 34380  }
 34381  
 34382  // SetHostedZoneId sets the HostedZoneId field's value.
 34383  func (s *Endpoint) SetHostedZoneId(v string) *Endpoint {
 34384  	s.HostedZoneId = &v
 34385  	return s
 34386  }
 34387  
 34388  // SetPort sets the Port field's value.
 34389  func (s *Endpoint) SetPort(v int64) *Endpoint {
 34390  	s.Port = &v
 34391  	return s
 34392  }
 34393  
 34394  // Contains the result of a successful invocation of the DescribeEngineDefaultParameters
 34395  // action.
 34396  type EngineDefaults struct {
 34397  	_ struct{} `type:"structure"`
 34398  
 34399  	// Specifies the name of the DB parameter group family that the engine default
 34400  	// parameters apply to.
 34401  	DBParameterGroupFamily *string `type:"string"`
 34402  
 34403  	// An optional pagination token provided by a previous EngineDefaults request.
 34404  	// If this parameter is specified, the response includes only records beyond
 34405  	// the marker, up to the value specified by MaxRecords .
 34406  	Marker *string `type:"string"`
 34407  
 34408  	// Contains a list of engine default parameters.
 34409  	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
 34410  }
 34411  
 34412  // String returns the string representation.
 34413  //
 34414  // API parameter values that are decorated as "sensitive" in the API will not
 34415  // be included in the string output. The member name will be present, but the
 34416  // value will be replaced with "sensitive".
 34417  func (s EngineDefaults) String() string {
 34418  	return awsutil.Prettify(s)
 34419  }
 34420  
 34421  // GoString returns the string representation.
 34422  //
 34423  // API parameter values that are decorated as "sensitive" in the API will not
 34424  // be included in the string output. The member name will be present, but the
 34425  // value will be replaced with "sensitive".
 34426  func (s EngineDefaults) GoString() string {
 34427  	return s.String()
 34428  }
 34429  
 34430  // SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
 34431  func (s *EngineDefaults) SetDBParameterGroupFamily(v string) *EngineDefaults {
 34432  	s.DBParameterGroupFamily = &v
 34433  	return s
 34434  }
 34435  
 34436  // SetMarker sets the Marker field's value.
 34437  func (s *EngineDefaults) SetMarker(v string) *EngineDefaults {
 34438  	s.Marker = &v
 34439  	return s
 34440  }
 34441  
 34442  // SetParameters sets the Parameters field's value.
 34443  func (s *EngineDefaults) SetParameters(v []*Parameter) *EngineDefaults {
 34444  	s.Parameters = v
 34445  	return s
 34446  }
 34447  
 34448  // This data type is used as a response element in the DescribeEvents action.
 34449  type Event struct {
 34450  	_ struct{} `type:"structure"`
 34451  
 34452  	// Specifies the date and time of the event.
 34453  	Date *time.Time `type:"timestamp"`
 34454  
 34455  	// Specifies the category for the event.
 34456  	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
 34457  
 34458  	// Provides the text of this event.
 34459  	Message *string `type:"string"`
 34460  
 34461  	// The Amazon Resource Name (ARN) for the event.
 34462  	SourceArn *string `type:"string"`
 34463  
 34464  	// Provides the identifier for the source of the event.
 34465  	SourceIdentifier *string `type:"string"`
 34466  
 34467  	// Specifies the source type for this event.
 34468  	SourceType *string `type:"string" enum:"SourceType"`
 34469  }
 34470  
 34471  // String returns the string representation.
 34472  //
 34473  // API parameter values that are decorated as "sensitive" in the API will not
 34474  // be included in the string output. The member name will be present, but the
 34475  // value will be replaced with "sensitive".
 34476  func (s Event) String() string {
 34477  	return awsutil.Prettify(s)
 34478  }
 34479  
 34480  // GoString returns the string representation.
 34481  //
 34482  // API parameter values that are decorated as "sensitive" in the API will not
 34483  // be included in the string output. The member name will be present, but the
 34484  // value will be replaced with "sensitive".
 34485  func (s Event) GoString() string {
 34486  	return s.String()
 34487  }
 34488  
 34489  // SetDate sets the Date field's value.
 34490  func (s *Event) SetDate(v time.Time) *Event {
 34491  	s.Date = &v
 34492  	return s
 34493  }
 34494  
 34495  // SetEventCategories sets the EventCategories field's value.
 34496  func (s *Event) SetEventCategories(v []*string) *Event {
 34497  	s.EventCategories = v
 34498  	return s
 34499  }
 34500  
 34501  // SetMessage sets the Message field's value.
 34502  func (s *Event) SetMessage(v string) *Event {
 34503  	s.Message = &v
 34504  	return s
 34505  }
 34506  
 34507  // SetSourceArn sets the SourceArn field's value.
 34508  func (s *Event) SetSourceArn(v string) *Event {
 34509  	s.SourceArn = &v
 34510  	return s
 34511  }
 34512  
 34513  // SetSourceIdentifier sets the SourceIdentifier field's value.
 34514  func (s *Event) SetSourceIdentifier(v string) *Event {
 34515  	s.SourceIdentifier = &v
 34516  	return s
 34517  }
 34518  
 34519  // SetSourceType sets the SourceType field's value.
 34520  func (s *Event) SetSourceType(v string) *Event {
 34521  	s.SourceType = &v
 34522  	return s
 34523  }
 34524  
 34525  // Contains the results of a successful invocation of the DescribeEventCategories
 34526  // operation.
 34527  type EventCategoriesMap struct {
 34528  	_ struct{} `type:"structure"`
 34529  
 34530  	// The event categories for the specified source type
 34531  	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
 34532  
 34533  	// The source type that the returned categories belong to
 34534  	SourceType *string `type:"string"`
 34535  }
 34536  
 34537  // String returns the string representation.
 34538  //
 34539  // API parameter values that are decorated as "sensitive" in the API will not
 34540  // be included in the string output. The member name will be present, but the
 34541  // value will be replaced with "sensitive".
 34542  func (s EventCategoriesMap) String() string {
 34543  	return awsutil.Prettify(s)
 34544  }
 34545  
 34546  // GoString returns the string representation.
 34547  //
 34548  // API parameter values that are decorated as "sensitive" in the API will not
 34549  // be included in the string output. The member name will be present, but the
 34550  // value will be replaced with "sensitive".
 34551  func (s EventCategoriesMap) GoString() string {
 34552  	return s.String()
 34553  }
 34554  
 34555  // SetEventCategories sets the EventCategories field's value.
 34556  func (s *EventCategoriesMap) SetEventCategories(v []*string) *EventCategoriesMap {
 34557  	s.EventCategories = v
 34558  	return s
 34559  }
 34560  
 34561  // SetSourceType sets the SourceType field's value.
 34562  func (s *EventCategoriesMap) SetSourceType(v string) *EventCategoriesMap {
 34563  	s.SourceType = &v
 34564  	return s
 34565  }
 34566  
 34567  // Contains the results of a successful invocation of the DescribeEventSubscriptions
 34568  // action.
 34569  type EventSubscription struct {
 34570  	_ struct{} `type:"structure"`
 34571  
 34572  	// The RDS event notification subscription Id.
 34573  	CustSubscriptionId *string `type:"string"`
 34574  
 34575  	// The Amazon Web Services customer account associated with the RDS event notification
 34576  	// subscription.
 34577  	CustomerAwsId *string `type:"string"`
 34578  
 34579  	// A Boolean value indicating if the subscription is enabled. True indicates
 34580  	// the subscription is enabled.
 34581  	Enabled *bool `type:"boolean"`
 34582  
 34583  	// A list of event categories for the RDS event notification subscription.
 34584  	EventCategoriesList []*string `locationNameList:"EventCategory" type:"list"`
 34585  
 34586  	// The Amazon Resource Name (ARN) for the event subscription.
 34587  	EventSubscriptionArn *string `type:"string"`
 34588  
 34589  	// The topic ARN of the RDS event notification subscription.
 34590  	SnsTopicArn *string `type:"string"`
 34591  
 34592  	// A list of source IDs for the RDS event notification subscription.
 34593  	SourceIdsList []*string `locationNameList:"SourceId" type:"list"`
 34594  
 34595  	// The source type for the RDS event notification subscription.
 34596  	SourceType *string `type:"string"`
 34597  
 34598  	// The status of the RDS event notification subscription.
 34599  	//
 34600  	// Constraints:
 34601  	//
 34602  	// Can be one of the following: creating | modifying | deleting | active | no-permission
 34603  	// | topic-not-exist
 34604  	//
 34605  	// The status "no-permission" indicates that RDS no longer has permission to
 34606  	// post to the SNS topic. The status "topic-not-exist" indicates that the topic
 34607  	// was deleted after the subscription was created.
 34608  	Status *string `type:"string"`
 34609  
 34610  	// The time the RDS event notification subscription was created.
 34611  	SubscriptionCreationTime *string `type:"string"`
 34612  }
 34613  
 34614  // String returns the string representation.
 34615  //
 34616  // API parameter values that are decorated as "sensitive" in the API will not
 34617  // be included in the string output. The member name will be present, but the
 34618  // value will be replaced with "sensitive".
 34619  func (s EventSubscription) String() string {
 34620  	return awsutil.Prettify(s)
 34621  }
 34622  
 34623  // GoString returns the string representation.
 34624  //
 34625  // API parameter values that are decorated as "sensitive" in the API will not
 34626  // be included in the string output. The member name will be present, but the
 34627  // value will be replaced with "sensitive".
 34628  func (s EventSubscription) GoString() string {
 34629  	return s.String()
 34630  }
 34631  
 34632  // SetCustSubscriptionId sets the CustSubscriptionId field's value.
 34633  func (s *EventSubscription) SetCustSubscriptionId(v string) *EventSubscription {
 34634  	s.CustSubscriptionId = &v
 34635  	return s
 34636  }
 34637  
 34638  // SetCustomerAwsId sets the CustomerAwsId field's value.
 34639  func (s *EventSubscription) SetCustomerAwsId(v string) *EventSubscription {
 34640  	s.CustomerAwsId = &v
 34641  	return s
 34642  }
 34643  
 34644  // SetEnabled sets the Enabled field's value.
 34645  func (s *EventSubscription) SetEnabled(v bool) *EventSubscription {
 34646  	s.Enabled = &v
 34647  	return s
 34648  }
 34649  
 34650  // SetEventCategoriesList sets the EventCategoriesList field's value.
 34651  func (s *EventSubscription) SetEventCategoriesList(v []*string) *EventSubscription {
 34652  	s.EventCategoriesList = v
 34653  	return s
 34654  }
 34655  
 34656  // SetEventSubscriptionArn sets the EventSubscriptionArn field's value.
 34657  func (s *EventSubscription) SetEventSubscriptionArn(v string) *EventSubscription {
 34658  	s.EventSubscriptionArn = &v
 34659  	return s
 34660  }
 34661  
 34662  // SetSnsTopicArn sets the SnsTopicArn field's value.
 34663  func (s *EventSubscription) SetSnsTopicArn(v string) *EventSubscription {
 34664  	s.SnsTopicArn = &v
 34665  	return s
 34666  }
 34667  
 34668  // SetSourceIdsList sets the SourceIdsList field's value.
 34669  func (s *EventSubscription) SetSourceIdsList(v []*string) *EventSubscription {
 34670  	s.SourceIdsList = v
 34671  	return s
 34672  }
 34673  
 34674  // SetSourceType sets the SourceType field's value.
 34675  func (s *EventSubscription) SetSourceType(v string) *EventSubscription {
 34676  	s.SourceType = &v
 34677  	return s
 34678  }
 34679  
 34680  // SetStatus sets the Status field's value.
 34681  func (s *EventSubscription) SetStatus(v string) *EventSubscription {
 34682  	s.Status = &v
 34683  	return s
 34684  }
 34685  
 34686  // SetSubscriptionCreationTime sets the SubscriptionCreationTime field's value.
 34687  func (s *EventSubscription) SetSubscriptionCreationTime(v string) *EventSubscription {
 34688  	s.SubscriptionCreationTime = &v
 34689  	return s
 34690  }
 34691  
 34692  // Contains the details of a snapshot export to Amazon S3.
 34693  //
 34694  // This data type is used as a response element in the DescribeExportTasks action.
 34695  type ExportTask struct {
 34696  	_ struct{} `type:"structure"`
 34697  
 34698  	// The data exported from the snapshot. Valid values are the following:
 34699  	//
 34700  	//    * database - Export all the data from a specified database.
 34701  	//
 34702  	//    * database.table table-name - Export a table of the snapshot. This format
 34703  	//    is valid only for RDS for MySQL, RDS for MariaDB, and Aurora MySQL.
 34704  	//
 34705  	//    * database.schema schema-name - Export a database schema of the snapshot.
 34706  	//    This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.
 34707  	//
 34708  	//    * database.schema.table table-name - Export a table of the database schema.
 34709  	//    This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.
 34710  	ExportOnly []*string `type:"list"`
 34711  
 34712  	// A unique identifier for the snapshot export task. This ID isn't an identifier
 34713  	// for the Amazon S3 bucket where the snapshot is exported to.
 34714  	ExportTaskIdentifier *string `type:"string"`
 34715  
 34716  	// The reason the export failed, if it failed.
 34717  	FailureCause *string `type:"string"`
 34718  
 34719  	// The name of the IAM role that is used to write to Amazon S3 when exporting
 34720  	// a snapshot.
 34721  	IamRoleArn *string `type:"string"`
 34722  
 34723  	// The key identifier of the Amazon Web Services KMS customer master key (CMK)
 34724  	// that is used to encrypt the snapshot when it's exported to Amazon S3. The
 34725  	// Amazon Web Services KMS CMK identifier is its key ARN, key ID, alias ARN,
 34726  	// or alias name. The IAM role used for the snapshot export must have encryption
 34727  	// and decryption permissions to use this Amazon Web Services KMS CMK.
 34728  	KmsKeyId *string `type:"string"`
 34729  
 34730  	// The progress of the snapshot export task as a percentage.
 34731  	PercentProgress *int64 `type:"integer"`
 34732  
 34733  	// The Amazon S3 bucket that the snapshot is exported to.
 34734  	S3Bucket *string `type:"string"`
 34735  
 34736  	// The Amazon S3 bucket prefix that is the file name and path of the exported
 34737  	// snapshot.
 34738  	S3Prefix *string `type:"string"`
 34739  
 34740  	// The time that the snapshot was created.
 34741  	SnapshotTime *time.Time `type:"timestamp"`
 34742  
 34743  	// The Amazon Resource Name (ARN) of the snapshot exported to Amazon S3.
 34744  	SourceArn *string `type:"string"`
 34745  
 34746  	// The progress status of the export task.
 34747  	Status *string `type:"string"`
 34748  
 34749  	// The time that the snapshot export task completed.
 34750  	TaskEndTime *time.Time `type:"timestamp"`
 34751  
 34752  	// The time that the snapshot export task started.
 34753  	TaskStartTime *time.Time `type:"timestamp"`
 34754  
 34755  	// The total amount of data exported, in gigabytes.
 34756  	TotalExtractedDataInGB *int64 `type:"integer"`
 34757  
 34758  	// A warning about the snapshot export task.
 34759  	WarningMessage *string `type:"string"`
 34760  }
 34761  
 34762  // String returns the string representation.
 34763  //
 34764  // API parameter values that are decorated as "sensitive" in the API will not
 34765  // be included in the string output. The member name will be present, but the
 34766  // value will be replaced with "sensitive".
 34767  func (s ExportTask) String() string {
 34768  	return awsutil.Prettify(s)
 34769  }
 34770  
 34771  // GoString returns the string representation.
 34772  //
 34773  // API parameter values that are decorated as "sensitive" in the API will not
 34774  // be included in the string output. The member name will be present, but the
 34775  // value will be replaced with "sensitive".
 34776  func (s ExportTask) GoString() string {
 34777  	return s.String()
 34778  }
 34779  
 34780  // SetExportOnly sets the ExportOnly field's value.
 34781  func (s *ExportTask) SetExportOnly(v []*string) *ExportTask {
 34782  	s.ExportOnly = v
 34783  	return s
 34784  }
 34785  
 34786  // SetExportTaskIdentifier sets the ExportTaskIdentifier field's value.
 34787  func (s *ExportTask) SetExportTaskIdentifier(v string) *ExportTask {
 34788  	s.ExportTaskIdentifier = &v
 34789  	return s
 34790  }
 34791  
 34792  // SetFailureCause sets the FailureCause field's value.
 34793  func (s *ExportTask) SetFailureCause(v string) *ExportTask {
 34794  	s.FailureCause = &v
 34795  	return s
 34796  }
 34797  
 34798  // SetIamRoleArn sets the IamRoleArn field's value.
 34799  func (s *ExportTask) SetIamRoleArn(v string) *ExportTask {
 34800  	s.IamRoleArn = &v
 34801  	return s
 34802  }
 34803  
 34804  // SetKmsKeyId sets the KmsKeyId field's value.
 34805  func (s *ExportTask) SetKmsKeyId(v string) *ExportTask {
 34806  	s.KmsKeyId = &v
 34807  	return s
 34808  }
 34809  
 34810  // SetPercentProgress sets the PercentProgress field's value.
 34811  func (s *ExportTask) SetPercentProgress(v int64) *ExportTask {
 34812  	s.PercentProgress = &v
 34813  	return s
 34814  }
 34815  
 34816  // SetS3Bucket sets the S3Bucket field's value.
 34817  func (s *ExportTask) SetS3Bucket(v string) *ExportTask {
 34818  	s.S3Bucket = &v
 34819  	return s
 34820  }
 34821  
 34822  // SetS3Prefix sets the S3Prefix field's value.
 34823  func (s *ExportTask) SetS3Prefix(v string) *ExportTask {
 34824  	s.S3Prefix = &v
 34825  	return s
 34826  }
 34827  
 34828  // SetSnapshotTime sets the SnapshotTime field's value.
 34829  func (s *ExportTask) SetSnapshotTime(v time.Time) *ExportTask {
 34830  	s.SnapshotTime = &v
 34831  	return s
 34832  }
 34833  
 34834  // SetSourceArn sets the SourceArn field's value.
 34835  func (s *ExportTask) SetSourceArn(v string) *ExportTask {
 34836  	s.SourceArn = &v
 34837  	return s
 34838  }
 34839  
 34840  // SetStatus sets the Status field's value.
 34841  func (s *ExportTask) SetStatus(v string) *ExportTask {
 34842  	s.Status = &v
 34843  	return s
 34844  }
 34845  
 34846  // SetTaskEndTime sets the TaskEndTime field's value.
 34847  func (s *ExportTask) SetTaskEndTime(v time.Time) *ExportTask {
 34848  	s.TaskEndTime = &v
 34849  	return s
 34850  }
 34851  
 34852  // SetTaskStartTime sets the TaskStartTime field's value.
 34853  func (s *ExportTask) SetTaskStartTime(v time.Time) *ExportTask {
 34854  	s.TaskStartTime = &v
 34855  	return s
 34856  }
 34857  
 34858  // SetTotalExtractedDataInGB sets the TotalExtractedDataInGB field's value.
 34859  func (s *ExportTask) SetTotalExtractedDataInGB(v int64) *ExportTask {
 34860  	s.TotalExtractedDataInGB = &v
 34861  	return s
 34862  }
 34863  
 34864  // SetWarningMessage sets the WarningMessage field's value.
 34865  func (s *ExportTask) SetWarningMessage(v string) *ExportTask {
 34866  	s.WarningMessage = &v
 34867  	return s
 34868  }
 34869  
 34870  type FailoverDBClusterInput struct {
 34871  	_ struct{} `type:"structure"`
 34872  
 34873  	// A DB cluster identifier to force a failover for. This parameter isn't case-sensitive.
 34874  	//
 34875  	// Constraints:
 34876  	//
 34877  	//    * Must match the identifier of an existing DBCluster.
 34878  	//
 34879  	// DBClusterIdentifier is a required field
 34880  	DBClusterIdentifier *string `type:"string" required:"true"`
 34881  
 34882  	// The name of the instance to promote to the primary instance.
 34883  	//
 34884  	// You must specify the instance identifier for an Aurora Replica in the DB
 34885  	// cluster. For example, mydbcluster-replica1.
 34886  	TargetDBInstanceIdentifier *string `type:"string"`
 34887  }
 34888  
 34889  // String returns the string representation.
 34890  //
 34891  // API parameter values that are decorated as "sensitive" in the API will not
 34892  // be included in the string output. The member name will be present, but the
 34893  // value will be replaced with "sensitive".
 34894  func (s FailoverDBClusterInput) String() string {
 34895  	return awsutil.Prettify(s)
 34896  }
 34897  
 34898  // GoString returns the string representation.
 34899  //
 34900  // API parameter values that are decorated as "sensitive" in the API will not
 34901  // be included in the string output. The member name will be present, but the
 34902  // value will be replaced with "sensitive".
 34903  func (s FailoverDBClusterInput) GoString() string {
 34904  	return s.String()
 34905  }
 34906  
 34907  // Validate inspects the fields of the type to determine if they are valid.
 34908  func (s *FailoverDBClusterInput) Validate() error {
 34909  	invalidParams := request.ErrInvalidParams{Context: "FailoverDBClusterInput"}
 34910  	if s.DBClusterIdentifier == nil {
 34911  		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
 34912  	}
 34913  
 34914  	if invalidParams.Len() > 0 {
 34915  		return invalidParams
 34916  	}
 34917  	return nil
 34918  }
 34919  
 34920  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 34921  func (s *FailoverDBClusterInput) SetDBClusterIdentifier(v string) *FailoverDBClusterInput {
 34922  	s.DBClusterIdentifier = &v
 34923  	return s
 34924  }
 34925  
 34926  // SetTargetDBInstanceIdentifier sets the TargetDBInstanceIdentifier field's value.
 34927  func (s *FailoverDBClusterInput) SetTargetDBInstanceIdentifier(v string) *FailoverDBClusterInput {
 34928  	s.TargetDBInstanceIdentifier = &v
 34929  	return s
 34930  }
 34931  
 34932  type FailoverDBClusterOutput struct {
 34933  	_ struct{} `type:"structure"`
 34934  
 34935  	// Contains the details of an Amazon Aurora DB cluster.
 34936  	//
 34937  	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
 34938  	// and StartDBCluster actions.
 34939  	DBCluster *DBCluster `type:"structure"`
 34940  }
 34941  
 34942  // String returns the string representation.
 34943  //
 34944  // API parameter values that are decorated as "sensitive" in the API will not
 34945  // be included in the string output. The member name will be present, but the
 34946  // value will be replaced with "sensitive".
 34947  func (s FailoverDBClusterOutput) String() string {
 34948  	return awsutil.Prettify(s)
 34949  }
 34950  
 34951  // GoString returns the string representation.
 34952  //
 34953  // API parameter values that are decorated as "sensitive" in the API will not
 34954  // be included in the string output. The member name will be present, but the
 34955  // value will be replaced with "sensitive".
 34956  func (s FailoverDBClusterOutput) GoString() string {
 34957  	return s.String()
 34958  }
 34959  
 34960  // SetDBCluster sets the DBCluster field's value.
 34961  func (s *FailoverDBClusterOutput) SetDBCluster(v *DBCluster) *FailoverDBClusterOutput {
 34962  	s.DBCluster = v
 34963  	return s
 34964  }
 34965  
 34966  type FailoverGlobalClusterInput struct {
 34967  	_ struct{} `type:"structure"`
 34968  
 34969  	// Identifier of the Aurora global database (GlobalCluster) that should be failed
 34970  	// over. The identifier is the unique key assigned by the user when the Aurora
 34971  	// global database was created. In other words, it's the name of the Aurora
 34972  	// global database that you want to fail over.
 34973  	//
 34974  	// Constraints:
 34975  	//
 34976  	//    * Must match the identifier of an existing GlobalCluster (Aurora global
 34977  	//    database).
 34978  	//
 34979  	// GlobalClusterIdentifier is a required field
 34980  	GlobalClusterIdentifier *string `min:"1" type:"string" required:"true"`
 34981  
 34982  	// Identifier of the secondary Aurora DB cluster that you want to promote to
 34983  	// primary for the Aurora global database (GlobalCluster.) Use the Amazon Resource
 34984  	// Name (ARN) for the identifier so that Aurora can locate the cluster in its
 34985  	// Amazon Web Services Region.
 34986  	//
 34987  	// TargetDbClusterIdentifier is a required field
 34988  	TargetDbClusterIdentifier *string `min:"1" type:"string" required:"true"`
 34989  }
 34990  
 34991  // String returns the string representation.
 34992  //
 34993  // API parameter values that are decorated as "sensitive" in the API will not
 34994  // be included in the string output. The member name will be present, but the
 34995  // value will be replaced with "sensitive".
 34996  func (s FailoverGlobalClusterInput) String() string {
 34997  	return awsutil.Prettify(s)
 34998  }
 34999  
 35000  // GoString returns the string representation.
 35001  //
 35002  // API parameter values that are decorated as "sensitive" in the API will not
 35003  // be included in the string output. The member name will be present, but the
 35004  // value will be replaced with "sensitive".
 35005  func (s FailoverGlobalClusterInput) GoString() string {
 35006  	return s.String()
 35007  }
 35008  
 35009  // Validate inspects the fields of the type to determine if they are valid.
 35010  func (s *FailoverGlobalClusterInput) Validate() error {
 35011  	invalidParams := request.ErrInvalidParams{Context: "FailoverGlobalClusterInput"}
 35012  	if s.GlobalClusterIdentifier == nil {
 35013  		invalidParams.Add(request.NewErrParamRequired("GlobalClusterIdentifier"))
 35014  	}
 35015  	if s.GlobalClusterIdentifier != nil && len(*s.GlobalClusterIdentifier) < 1 {
 35016  		invalidParams.Add(request.NewErrParamMinLen("GlobalClusterIdentifier", 1))
 35017  	}
 35018  	if s.TargetDbClusterIdentifier == nil {
 35019  		invalidParams.Add(request.NewErrParamRequired("TargetDbClusterIdentifier"))
 35020  	}
 35021  	if s.TargetDbClusterIdentifier != nil && len(*s.TargetDbClusterIdentifier) < 1 {
 35022  		invalidParams.Add(request.NewErrParamMinLen("TargetDbClusterIdentifier", 1))
 35023  	}
 35024  
 35025  	if invalidParams.Len() > 0 {
 35026  		return invalidParams
 35027  	}
 35028  	return nil
 35029  }
 35030  
 35031  // SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
 35032  func (s *FailoverGlobalClusterInput) SetGlobalClusterIdentifier(v string) *FailoverGlobalClusterInput {
 35033  	s.GlobalClusterIdentifier = &v
 35034  	return s
 35035  }
 35036  
 35037  // SetTargetDbClusterIdentifier sets the TargetDbClusterIdentifier field's value.
 35038  func (s *FailoverGlobalClusterInput) SetTargetDbClusterIdentifier(v string) *FailoverGlobalClusterInput {
 35039  	s.TargetDbClusterIdentifier = &v
 35040  	return s
 35041  }
 35042  
 35043  type FailoverGlobalClusterOutput struct {
 35044  	_ struct{} `type:"structure"`
 35045  
 35046  	// A data type representing an Aurora global database.
 35047  	GlobalCluster *GlobalCluster `type:"structure"`
 35048  }
 35049  
 35050  // String returns the string representation.
 35051  //
 35052  // API parameter values that are decorated as "sensitive" in the API will not
 35053  // be included in the string output. The member name will be present, but the
 35054  // value will be replaced with "sensitive".
 35055  func (s FailoverGlobalClusterOutput) String() string {
 35056  	return awsutil.Prettify(s)
 35057  }
 35058  
 35059  // GoString returns the string representation.
 35060  //
 35061  // API parameter values that are decorated as "sensitive" in the API will not
 35062  // be included in the string output. The member name will be present, but the
 35063  // value will be replaced with "sensitive".
 35064  func (s FailoverGlobalClusterOutput) GoString() string {
 35065  	return s.String()
 35066  }
 35067  
 35068  // SetGlobalCluster sets the GlobalCluster field's value.
 35069  func (s *FailoverGlobalClusterOutput) SetGlobalCluster(v *GlobalCluster) *FailoverGlobalClusterOutput {
 35070  	s.GlobalCluster = v
 35071  	return s
 35072  }
 35073  
 35074  // Contains the state of scheduled or in-process failover operations on an Aurora
 35075  // global database (GlobalCluster). This Data type is empty unless a failover
 35076  // operation is scheduled or is currently underway on the Aurora global database.
 35077  type FailoverState struct {
 35078  	_ struct{} `type:"structure"`
 35079  
 35080  	// The Amazon Resource Name (ARN) of the Aurora DB cluster that is currently
 35081  	// being demoted, and which is associated with this state.
 35082  	FromDbClusterArn *string `type:"string"`
 35083  
 35084  	// The current status of the Aurora global database (GlobalCluster). Possible
 35085  	// values are as follows:
 35086  	//
 35087  	//    * pending – A request to fail over the Aurora global database (GlobalCluster)
 35088  	//    has been received by the service. The GlobalCluster's primary DB cluster
 35089  	//    and the specified secondary DB cluster are being verified before the failover
 35090  	//    process can start.
 35091  	//
 35092  	//    * failing-over – This status covers the range of Aurora internal operations
 35093  	//    that take place during the failover process, such as demoting the primary
 35094  	//    Aurora DB cluster, promoting the secondary Aurora DB, and synchronizing
 35095  	//    replicas.
 35096  	//
 35097  	//    * cancelling – The request to fail over the Aurora global database (GlobalCluster)
 35098  	//    was cancelled and the primary Aurora DB cluster and the selected secondary
 35099  	//    Aurora DB cluster are returning to their previous states.
 35100  	Status *string `type:"string" enum:"FailoverStatus"`
 35101  
 35102  	// The Amazon Resource Name (ARN) of the Aurora DB cluster that is currently
 35103  	// being promoted, and which is associated with this state.
 35104  	ToDbClusterArn *string `type:"string"`
 35105  }
 35106  
 35107  // String returns the string representation.
 35108  //
 35109  // API parameter values that are decorated as "sensitive" in the API will not
 35110  // be included in the string output. The member name will be present, but the
 35111  // value will be replaced with "sensitive".
 35112  func (s FailoverState) String() string {
 35113  	return awsutil.Prettify(s)
 35114  }
 35115  
 35116  // GoString returns the string representation.
 35117  //
 35118  // API parameter values that are decorated as "sensitive" in the API will not
 35119  // be included in the string output. The member name will be present, but the
 35120  // value will be replaced with "sensitive".
 35121  func (s FailoverState) GoString() string {
 35122  	return s.String()
 35123  }
 35124  
 35125  // SetFromDbClusterArn sets the FromDbClusterArn field's value.
 35126  func (s *FailoverState) SetFromDbClusterArn(v string) *FailoverState {
 35127  	s.FromDbClusterArn = &v
 35128  	return s
 35129  }
 35130  
 35131  // SetStatus sets the Status field's value.
 35132  func (s *FailoverState) SetStatus(v string) *FailoverState {
 35133  	s.Status = &v
 35134  	return s
 35135  }
 35136  
 35137  // SetToDbClusterArn sets the ToDbClusterArn field's value.
 35138  func (s *FailoverState) SetToDbClusterArn(v string) *FailoverState {
 35139  	s.ToDbClusterArn = &v
 35140  	return s
 35141  }
 35142  
 35143  // A filter name and value pair that is used to return a more specific list
 35144  // of results from a describe operation. Filters can be used to match a set
 35145  // of resources by specific criteria, such as IDs. The filters supported by
 35146  // a describe operation are documented with the describe operation.
 35147  //
 35148  // Currently, wildcards are not supported in filters.
 35149  //
 35150  // The following actions can be filtered:
 35151  //
 35152  //    * DescribeDBClusterBacktracks
 35153  //
 35154  //    * DescribeDBClusterEndpoints
 35155  //
 35156  //    * DescribeDBClusters
 35157  //
 35158  //    * DescribeDBInstances
 35159  //
 35160  //    * DescribePendingMaintenanceActions
 35161  type Filter struct {
 35162  	_ struct{} `type:"structure"`
 35163  
 35164  	// The name of the filter. Filter names are case-sensitive.
 35165  	//
 35166  	// Name is a required field
 35167  	Name *string `type:"string" required:"true"`
 35168  
 35169  	// One or more filter values. Filter values are case-sensitive.
 35170  	//
 35171  	// Values is a required field
 35172  	Values []*string `locationNameList:"Value" type:"list" required:"true"`
 35173  }
 35174  
 35175  // String returns the string representation.
 35176  //
 35177  // API parameter values that are decorated as "sensitive" in the API will not
 35178  // be included in the string output. The member name will be present, but the
 35179  // value will be replaced with "sensitive".
 35180  func (s Filter) String() string {
 35181  	return awsutil.Prettify(s)
 35182  }
 35183  
 35184  // GoString returns the string representation.
 35185  //
 35186  // API parameter values that are decorated as "sensitive" in the API will not
 35187  // be included in the string output. The member name will be present, but the
 35188  // value will be replaced with "sensitive".
 35189  func (s Filter) GoString() string {
 35190  	return s.String()
 35191  }
 35192  
 35193  // Validate inspects the fields of the type to determine if they are valid.
 35194  func (s *Filter) Validate() error {
 35195  	invalidParams := request.ErrInvalidParams{Context: "Filter"}
 35196  	if s.Name == nil {
 35197  		invalidParams.Add(request.NewErrParamRequired("Name"))
 35198  	}
 35199  	if s.Values == nil {
 35200  		invalidParams.Add(request.NewErrParamRequired("Values"))
 35201  	}
 35202  
 35203  	if invalidParams.Len() > 0 {
 35204  		return invalidParams
 35205  	}
 35206  	return nil
 35207  }
 35208  
 35209  // SetName sets the Name field's value.
 35210  func (s *Filter) SetName(v string) *Filter {
 35211  	s.Name = &v
 35212  	return s
 35213  }
 35214  
 35215  // SetValues sets the Values field's value.
 35216  func (s *Filter) SetValues(v []*string) *Filter {
 35217  	s.Values = v
 35218  	return s
 35219  }
 35220  
 35221  // A data type representing an Aurora global database.
 35222  type GlobalCluster struct {
 35223  	_ struct{} `type:"structure"`
 35224  
 35225  	// The default database name within the new global database cluster.
 35226  	DatabaseName *string `type:"string"`
 35227  
 35228  	// The deletion protection setting for the new global database cluster.
 35229  	DeletionProtection *bool `type:"boolean"`
 35230  
 35231  	// The Aurora database engine used by the global database cluster.
 35232  	Engine *string `type:"string"`
 35233  
 35234  	// Indicates the database engine version.
 35235  	EngineVersion *string `type:"string"`
 35236  
 35237  	// A data object containing all properties for the current state of an in-process
 35238  	// or pending failover process for this Aurora global database. This object
 35239  	// is empty unless the FailoverGlobalCluster API operation has been called on
 35240  	// this Aurora global database (GlobalCluster).
 35241  	FailoverState *FailoverState `type:"structure"`
 35242  
 35243  	// The Amazon Resource Name (ARN) for the global database cluster.
 35244  	GlobalClusterArn *string `type:"string"`
 35245  
 35246  	// Contains a user-supplied global database cluster identifier. This identifier
 35247  	// is the unique key that identifies a global database cluster.
 35248  	GlobalClusterIdentifier *string `type:"string"`
 35249  
 35250  	// The list of cluster IDs for secondary clusters within the global database
 35251  	// cluster. Currently limited to 1 item.
 35252  	GlobalClusterMembers []*GlobalClusterMember `locationNameList:"GlobalClusterMember" type:"list"`
 35253  
 35254  	// The Amazon Web Services Region-unique, immutable identifier for the global
 35255  	// database cluster. This identifier is found in Amazon Web Services CloudTrail
 35256  	// log entries whenever the Amazon Web Services KMS customer master key (CMK)
 35257  	// for the DB cluster is accessed.
 35258  	GlobalClusterResourceId *string `type:"string"`
 35259  
 35260  	// Specifies the current state of this global database cluster.
 35261  	Status *string `type:"string"`
 35262  
 35263  	// The storage encryption setting for the global database cluster.
 35264  	StorageEncrypted *bool `type:"boolean"`
 35265  }
 35266  
 35267  // String returns the string representation.
 35268  //
 35269  // API parameter values that are decorated as "sensitive" in the API will not
 35270  // be included in the string output. The member name will be present, but the
 35271  // value will be replaced with "sensitive".
 35272  func (s GlobalCluster) String() string {
 35273  	return awsutil.Prettify(s)
 35274  }
 35275  
 35276  // GoString returns the string representation.
 35277  //
 35278  // API parameter values that are decorated as "sensitive" in the API will not
 35279  // be included in the string output. The member name will be present, but the
 35280  // value will be replaced with "sensitive".
 35281  func (s GlobalCluster) GoString() string {
 35282  	return s.String()
 35283  }
 35284  
 35285  // SetDatabaseName sets the DatabaseName field's value.
 35286  func (s *GlobalCluster) SetDatabaseName(v string) *GlobalCluster {
 35287  	s.DatabaseName = &v
 35288  	return s
 35289  }
 35290  
 35291  // SetDeletionProtection sets the DeletionProtection field's value.
 35292  func (s *GlobalCluster) SetDeletionProtection(v bool) *GlobalCluster {
 35293  	s.DeletionProtection = &v
 35294  	return s
 35295  }
 35296  
 35297  // SetEngine sets the Engine field's value.
 35298  func (s *GlobalCluster) SetEngine(v string) *GlobalCluster {
 35299  	s.Engine = &v
 35300  	return s
 35301  }
 35302  
 35303  // SetEngineVersion sets the EngineVersion field's value.
 35304  func (s *GlobalCluster) SetEngineVersion(v string) *GlobalCluster {
 35305  	s.EngineVersion = &v
 35306  	return s
 35307  }
 35308  
 35309  // SetFailoverState sets the FailoverState field's value.
 35310  func (s *GlobalCluster) SetFailoverState(v *FailoverState) *GlobalCluster {
 35311  	s.FailoverState = v
 35312  	return s
 35313  }
 35314  
 35315  // SetGlobalClusterArn sets the GlobalClusterArn field's value.
 35316  func (s *GlobalCluster) SetGlobalClusterArn(v string) *GlobalCluster {
 35317  	s.GlobalClusterArn = &v
 35318  	return s
 35319  }
 35320  
 35321  // SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
 35322  func (s *GlobalCluster) SetGlobalClusterIdentifier(v string) *GlobalCluster {
 35323  	s.GlobalClusterIdentifier = &v
 35324  	return s
 35325  }
 35326  
 35327  // SetGlobalClusterMembers sets the GlobalClusterMembers field's value.
 35328  func (s *GlobalCluster) SetGlobalClusterMembers(v []*GlobalClusterMember) *GlobalCluster {
 35329  	s.GlobalClusterMembers = v
 35330  	return s
 35331  }
 35332  
 35333  // SetGlobalClusterResourceId sets the GlobalClusterResourceId field's value.
 35334  func (s *GlobalCluster) SetGlobalClusterResourceId(v string) *GlobalCluster {
 35335  	s.GlobalClusterResourceId = &v
 35336  	return s
 35337  }
 35338  
 35339  // SetStatus sets the Status field's value.
 35340  func (s *GlobalCluster) SetStatus(v string) *GlobalCluster {
 35341  	s.Status = &v
 35342  	return s
 35343  }
 35344  
 35345  // SetStorageEncrypted sets the StorageEncrypted field's value.
 35346  func (s *GlobalCluster) SetStorageEncrypted(v bool) *GlobalCluster {
 35347  	s.StorageEncrypted = &v
 35348  	return s
 35349  }
 35350  
 35351  // A data structure with information about any primary and secondary clusters
 35352  // associated with an Aurora global database.
 35353  type GlobalClusterMember struct {
 35354  	_ struct{} `type:"structure"`
 35355  
 35356  	// The Amazon Resource Name (ARN) for each Aurora cluster.
 35357  	DBClusterArn *string `type:"string"`
 35358  
 35359  	// Specifies whether a secondary cluster in an Aurora global database has write
 35360  	// forwarding enabled, not enabled, or is in the process of enabling it.
 35361  	GlobalWriteForwardingStatus *string `type:"string" enum:"WriteForwardingStatus"`
 35362  
 35363  	// Specifies whether the Aurora cluster is the primary cluster (that is, has
 35364  	// read-write capability) for the Aurora global database with which it is associated.
 35365  	IsWriter *bool `type:"boolean"`
 35366  
 35367  	// The Amazon Resource Name (ARN) for each read-only secondary cluster associated
 35368  	// with the Aurora global database.
 35369  	Readers []*string `type:"list"`
 35370  }
 35371  
 35372  // String returns the string representation.
 35373  //
 35374  // API parameter values that are decorated as "sensitive" in the API will not
 35375  // be included in the string output. The member name will be present, but the
 35376  // value will be replaced with "sensitive".
 35377  func (s GlobalClusterMember) String() string {
 35378  	return awsutil.Prettify(s)
 35379  }
 35380  
 35381  // GoString returns the string representation.
 35382  //
 35383  // API parameter values that are decorated as "sensitive" in the API will not
 35384  // be included in the string output. The member name will be present, but the
 35385  // value will be replaced with "sensitive".
 35386  func (s GlobalClusterMember) GoString() string {
 35387  	return s.String()
 35388  }
 35389  
 35390  // SetDBClusterArn sets the DBClusterArn field's value.
 35391  func (s *GlobalClusterMember) SetDBClusterArn(v string) *GlobalClusterMember {
 35392  	s.DBClusterArn = &v
 35393  	return s
 35394  }
 35395  
 35396  // SetGlobalWriteForwardingStatus sets the GlobalWriteForwardingStatus field's value.
 35397  func (s *GlobalClusterMember) SetGlobalWriteForwardingStatus(v string) *GlobalClusterMember {
 35398  	s.GlobalWriteForwardingStatus = &v
 35399  	return s
 35400  }
 35401  
 35402  // SetIsWriter sets the IsWriter field's value.
 35403  func (s *GlobalClusterMember) SetIsWriter(v bool) *GlobalClusterMember {
 35404  	s.IsWriter = &v
 35405  	return s
 35406  }
 35407  
 35408  // SetReaders sets the Readers field's value.
 35409  func (s *GlobalClusterMember) SetReaders(v []*string) *GlobalClusterMember {
 35410  	s.Readers = v
 35411  	return s
 35412  }
 35413  
 35414  // This data type is used as a response element in the DescribeDBSecurityGroups
 35415  // action.
 35416  type IPRange struct {
 35417  	_ struct{} `type:"structure"`
 35418  
 35419  	// Specifies the IP range.
 35420  	CIDRIP *string `type:"string"`
 35421  
 35422  	// Specifies the status of the IP range. Status can be "authorizing", "authorized",
 35423  	// "revoking", and "revoked".
 35424  	Status *string `type:"string"`
 35425  }
 35426  
 35427  // String returns the string representation.
 35428  //
 35429  // API parameter values that are decorated as "sensitive" in the API will not
 35430  // be included in the string output. The member name will be present, but the
 35431  // value will be replaced with "sensitive".
 35432  func (s IPRange) String() string {
 35433  	return awsutil.Prettify(s)
 35434  }
 35435  
 35436  // GoString returns the string representation.
 35437  //
 35438  // API parameter values that are decorated as "sensitive" in the API will not
 35439  // be included in the string output. The member name will be present, but the
 35440  // value will be replaced with "sensitive".
 35441  func (s IPRange) GoString() string {
 35442  	return s.String()
 35443  }
 35444  
 35445  // SetCIDRIP sets the CIDRIP field's value.
 35446  func (s *IPRange) SetCIDRIP(v string) *IPRange {
 35447  	s.CIDRIP = &v
 35448  	return s
 35449  }
 35450  
 35451  // SetStatus sets the Status field's value.
 35452  func (s *IPRange) SetStatus(v string) *IPRange {
 35453  	s.Status = &v
 35454  	return s
 35455  }
 35456  
 35457  type ImportInstallationMediaInput struct {
 35458  	_ struct{} `type:"structure"`
 35459  
 35460  	// The identifier of the custom Availability Zone (AZ) to import the installation
 35461  	// media to.
 35462  	//
 35463  	// CustomAvailabilityZoneId is a required field
 35464  	CustomAvailabilityZoneId *string `type:"string" required:"true"`
 35465  
 35466  	// The name of the database engine to be used for this instance.
 35467  	//
 35468  	// The list only includes supported DB engines that require an on-premises customer
 35469  	// provided license.
 35470  	//
 35471  	// Valid Values:
 35472  	//
 35473  	//    * sqlserver-ee
 35474  	//
 35475  	//    * sqlserver-se
 35476  	//
 35477  	//    * sqlserver-ex
 35478  	//
 35479  	//    * sqlserver-web
 35480  	//
 35481  	// Engine is a required field
 35482  	Engine *string `type:"string" required:"true"`
 35483  
 35484  	// The path to the installation medium for the specified DB engine.
 35485  	//
 35486  	// Example: SQLServerISO/en_sql_server_2016_enterprise_x64_dvd_8701793.iso
 35487  	//
 35488  	// EngineInstallationMediaPath is a required field
 35489  	EngineInstallationMediaPath *string `type:"string" required:"true"`
 35490  
 35491  	// The version number of the database engine to use.
 35492  	//
 35493  	// For a list of valid engine versions, call DescribeDBEngineVersions.
 35494  	//
 35495  	// The following are the database engines and links to information about the
 35496  	// major and minor versions. The list only includes DB engines that require
 35497  	// an on-premises customer provided license.
 35498  	//
 35499  	// Microsoft SQL Server
 35500  	//
 35501  	// See Microsoft SQL Server Versions on Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.VersionSupport)
 35502  	// in the Amazon RDS User Guide.
 35503  	//
 35504  	// EngineVersion is a required field
 35505  	EngineVersion *string `type:"string" required:"true"`
 35506  
 35507  	// The path to the installation medium for the operating system associated with
 35508  	// the specified DB engine.
 35509  	//
 35510  	// Example: WindowsISO/en_windows_server_2016_x64_dvd_9327751.iso
 35511  	//
 35512  	// OSInstallationMediaPath is a required field
 35513  	OSInstallationMediaPath *string `type:"string" required:"true"`
 35514  }
 35515  
 35516  // String returns the string representation.
 35517  //
 35518  // API parameter values that are decorated as "sensitive" in the API will not
 35519  // be included in the string output. The member name will be present, but the
 35520  // value will be replaced with "sensitive".
 35521  func (s ImportInstallationMediaInput) String() string {
 35522  	return awsutil.Prettify(s)
 35523  }
 35524  
 35525  // GoString returns the string representation.
 35526  //
 35527  // API parameter values that are decorated as "sensitive" in the API will not
 35528  // be included in the string output. The member name will be present, but the
 35529  // value will be replaced with "sensitive".
 35530  func (s ImportInstallationMediaInput) GoString() string {
 35531  	return s.String()
 35532  }
 35533  
 35534  // Validate inspects the fields of the type to determine if they are valid.
 35535  func (s *ImportInstallationMediaInput) Validate() error {
 35536  	invalidParams := request.ErrInvalidParams{Context: "ImportInstallationMediaInput"}
 35537  	if s.CustomAvailabilityZoneId == nil {
 35538  		invalidParams.Add(request.NewErrParamRequired("CustomAvailabilityZoneId"))
 35539  	}
 35540  	if s.Engine == nil {
 35541  		invalidParams.Add(request.NewErrParamRequired("Engine"))
 35542  	}
 35543  	if s.EngineInstallationMediaPath == nil {
 35544  		invalidParams.Add(request.NewErrParamRequired("EngineInstallationMediaPath"))
 35545  	}
 35546  	if s.EngineVersion == nil {
 35547  		invalidParams.Add(request.NewErrParamRequired("EngineVersion"))
 35548  	}
 35549  	if s.OSInstallationMediaPath == nil {
 35550  		invalidParams.Add(request.NewErrParamRequired("OSInstallationMediaPath"))
 35551  	}
 35552  
 35553  	if invalidParams.Len() > 0 {
 35554  		return invalidParams
 35555  	}
 35556  	return nil
 35557  }
 35558  
 35559  // SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value.
 35560  func (s *ImportInstallationMediaInput) SetCustomAvailabilityZoneId(v string) *ImportInstallationMediaInput {
 35561  	s.CustomAvailabilityZoneId = &v
 35562  	return s
 35563  }
 35564  
 35565  // SetEngine sets the Engine field's value.
 35566  func (s *ImportInstallationMediaInput) SetEngine(v string) *ImportInstallationMediaInput {
 35567  	s.Engine = &v
 35568  	return s
 35569  }
 35570  
 35571  // SetEngineInstallationMediaPath sets the EngineInstallationMediaPath field's value.
 35572  func (s *ImportInstallationMediaInput) SetEngineInstallationMediaPath(v string) *ImportInstallationMediaInput {
 35573  	s.EngineInstallationMediaPath = &v
 35574  	return s
 35575  }
 35576  
 35577  // SetEngineVersion sets the EngineVersion field's value.
 35578  func (s *ImportInstallationMediaInput) SetEngineVersion(v string) *ImportInstallationMediaInput {
 35579  	s.EngineVersion = &v
 35580  	return s
 35581  }
 35582  
 35583  // SetOSInstallationMediaPath sets the OSInstallationMediaPath field's value.
 35584  func (s *ImportInstallationMediaInput) SetOSInstallationMediaPath(v string) *ImportInstallationMediaInput {
 35585  	s.OSInstallationMediaPath = &v
 35586  	return s
 35587  }
 35588  
 35589  // Contains the installation media for a DB engine that requires an on-premises
 35590  // customer provided license, such as Microsoft SQL Server.
 35591  type ImportInstallationMediaOutput struct {
 35592  	_ struct{} `type:"structure"`
 35593  
 35594  	// The custom Availability Zone (AZ) that contains the installation media.
 35595  	CustomAvailabilityZoneId *string `type:"string"`
 35596  
 35597  	// The DB engine.
 35598  	Engine *string `type:"string"`
 35599  
 35600  	// The path to the installation medium for the DB engine.
 35601  	EngineInstallationMediaPath *string `type:"string"`
 35602  
 35603  	// The engine version of the DB engine.
 35604  	EngineVersion *string `type:"string"`
 35605  
 35606  	// If an installation media failure occurred, the cause of the failure.
 35607  	FailureCause *InstallationMediaFailureCause `type:"structure"`
 35608  
 35609  	// The installation medium ID.
 35610  	InstallationMediaId *string `type:"string"`
 35611  
 35612  	// The path to the installation medium for the operating system associated with
 35613  	// the DB engine.
 35614  	OSInstallationMediaPath *string `type:"string"`
 35615  
 35616  	// The status of the installation medium.
 35617  	Status *string `type:"string"`
 35618  }
 35619  
 35620  // String returns the string representation.
 35621  //
 35622  // API parameter values that are decorated as "sensitive" in the API will not
 35623  // be included in the string output. The member name will be present, but the
 35624  // value will be replaced with "sensitive".
 35625  func (s ImportInstallationMediaOutput) String() string {
 35626  	return awsutil.Prettify(s)
 35627  }
 35628  
 35629  // GoString returns the string representation.
 35630  //
 35631  // API parameter values that are decorated as "sensitive" in the API will not
 35632  // be included in the string output. The member name will be present, but the
 35633  // value will be replaced with "sensitive".
 35634  func (s ImportInstallationMediaOutput) GoString() string {
 35635  	return s.String()
 35636  }
 35637  
 35638  // SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value.
 35639  func (s *ImportInstallationMediaOutput) SetCustomAvailabilityZoneId(v string) *ImportInstallationMediaOutput {
 35640  	s.CustomAvailabilityZoneId = &v
 35641  	return s
 35642  }
 35643  
 35644  // SetEngine sets the Engine field's value.
 35645  func (s *ImportInstallationMediaOutput) SetEngine(v string) *ImportInstallationMediaOutput {
 35646  	s.Engine = &v
 35647  	return s
 35648  }
 35649  
 35650  // SetEngineInstallationMediaPath sets the EngineInstallationMediaPath field's value.
 35651  func (s *ImportInstallationMediaOutput) SetEngineInstallationMediaPath(v string) *ImportInstallationMediaOutput {
 35652  	s.EngineInstallationMediaPath = &v
 35653  	return s
 35654  }
 35655  
 35656  // SetEngineVersion sets the EngineVersion field's value.
 35657  func (s *ImportInstallationMediaOutput) SetEngineVersion(v string) *ImportInstallationMediaOutput {
 35658  	s.EngineVersion = &v
 35659  	return s
 35660  }
 35661  
 35662  // SetFailureCause sets the FailureCause field's value.
 35663  func (s *ImportInstallationMediaOutput) SetFailureCause(v *InstallationMediaFailureCause) *ImportInstallationMediaOutput {
 35664  	s.FailureCause = v
 35665  	return s
 35666  }
 35667  
 35668  // SetInstallationMediaId sets the InstallationMediaId field's value.
 35669  func (s *ImportInstallationMediaOutput) SetInstallationMediaId(v string) *ImportInstallationMediaOutput {
 35670  	s.InstallationMediaId = &v
 35671  	return s
 35672  }
 35673  
 35674  // SetOSInstallationMediaPath sets the OSInstallationMediaPath field's value.
 35675  func (s *ImportInstallationMediaOutput) SetOSInstallationMediaPath(v string) *ImportInstallationMediaOutput {
 35676  	s.OSInstallationMediaPath = &v
 35677  	return s
 35678  }
 35679  
 35680  // SetStatus sets the Status field's value.
 35681  func (s *ImportInstallationMediaOutput) SetStatus(v string) *ImportInstallationMediaOutput {
 35682  	s.Status = &v
 35683  	return s
 35684  }
 35685  
 35686  // Contains the installation media for a DB engine that requires an on-premises
 35687  // customer provided license, such as Microsoft SQL Server.
 35688  type InstallationMedia struct {
 35689  	_ struct{} `type:"structure"`
 35690  
 35691  	// The custom Availability Zone (AZ) that contains the installation media.
 35692  	CustomAvailabilityZoneId *string `type:"string"`
 35693  
 35694  	// The DB engine.
 35695  	Engine *string `type:"string"`
 35696  
 35697  	// The path to the installation medium for the DB engine.
 35698  	EngineInstallationMediaPath *string `type:"string"`
 35699  
 35700  	// The engine version of the DB engine.
 35701  	EngineVersion *string `type:"string"`
 35702  
 35703  	// If an installation media failure occurred, the cause of the failure.
 35704  	FailureCause *InstallationMediaFailureCause `type:"structure"`
 35705  
 35706  	// The installation medium ID.
 35707  	InstallationMediaId *string `type:"string"`
 35708  
 35709  	// The path to the installation medium for the operating system associated with
 35710  	// the DB engine.
 35711  	OSInstallationMediaPath *string `type:"string"`
 35712  
 35713  	// The status of the installation medium.
 35714  	Status *string `type:"string"`
 35715  }
 35716  
 35717  // String returns the string representation.
 35718  //
 35719  // API parameter values that are decorated as "sensitive" in the API will not
 35720  // be included in the string output. The member name will be present, but the
 35721  // value will be replaced with "sensitive".
 35722  func (s InstallationMedia) String() string {
 35723  	return awsutil.Prettify(s)
 35724  }
 35725  
 35726  // GoString returns the string representation.
 35727  //
 35728  // API parameter values that are decorated as "sensitive" in the API will not
 35729  // be included in the string output. The member name will be present, but the
 35730  // value will be replaced with "sensitive".
 35731  func (s InstallationMedia) GoString() string {
 35732  	return s.String()
 35733  }
 35734  
 35735  // SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value.
 35736  func (s *InstallationMedia) SetCustomAvailabilityZoneId(v string) *InstallationMedia {
 35737  	s.CustomAvailabilityZoneId = &v
 35738  	return s
 35739  }
 35740  
 35741  // SetEngine sets the Engine field's value.
 35742  func (s *InstallationMedia) SetEngine(v string) *InstallationMedia {
 35743  	s.Engine = &v
 35744  	return s
 35745  }
 35746  
 35747  // SetEngineInstallationMediaPath sets the EngineInstallationMediaPath field's value.
 35748  func (s *InstallationMedia) SetEngineInstallationMediaPath(v string) *InstallationMedia {
 35749  	s.EngineInstallationMediaPath = &v
 35750  	return s
 35751  }
 35752  
 35753  // SetEngineVersion sets the EngineVersion field's value.
 35754  func (s *InstallationMedia) SetEngineVersion(v string) *InstallationMedia {
 35755  	s.EngineVersion = &v
 35756  	return s
 35757  }
 35758  
 35759  // SetFailureCause sets the FailureCause field's value.
 35760  func (s *InstallationMedia) SetFailureCause(v *InstallationMediaFailureCause) *InstallationMedia {
 35761  	s.FailureCause = v
 35762  	return s
 35763  }
 35764  
 35765  // SetInstallationMediaId sets the InstallationMediaId field's value.
 35766  func (s *InstallationMedia) SetInstallationMediaId(v string) *InstallationMedia {
 35767  	s.InstallationMediaId = &v
 35768  	return s
 35769  }
 35770  
 35771  // SetOSInstallationMediaPath sets the OSInstallationMediaPath field's value.
 35772  func (s *InstallationMedia) SetOSInstallationMediaPath(v string) *InstallationMedia {
 35773  	s.OSInstallationMediaPath = &v
 35774  	return s
 35775  }
 35776  
 35777  // SetStatus sets the Status field's value.
 35778  func (s *InstallationMedia) SetStatus(v string) *InstallationMedia {
 35779  	s.Status = &v
 35780  	return s
 35781  }
 35782  
 35783  // Contains the cause of an installation media failure. Installation media is
 35784  // used for a DB engine that requires an on-premises customer provided license,
 35785  // such as Microsoft SQL Server.
 35786  type InstallationMediaFailureCause struct {
 35787  	_ struct{} `type:"structure"`
 35788  
 35789  	// The reason that an installation media import failed.
 35790  	Message *string `type:"string"`
 35791  }
 35792  
 35793  // String returns the string representation.
 35794  //
 35795  // API parameter values that are decorated as "sensitive" in the API will not
 35796  // be included in the string output. The member name will be present, but the
 35797  // value will be replaced with "sensitive".
 35798  func (s InstallationMediaFailureCause) String() string {
 35799  	return awsutil.Prettify(s)
 35800  }
 35801  
 35802  // GoString returns the string representation.
 35803  //
 35804  // API parameter values that are decorated as "sensitive" in the API will not
 35805  // be included in the string output. The member name will be present, but the
 35806  // value will be replaced with "sensitive".
 35807  func (s InstallationMediaFailureCause) GoString() string {
 35808  	return s.String()
 35809  }
 35810  
 35811  // SetMessage sets the Message field's value.
 35812  func (s *InstallationMediaFailureCause) SetMessage(v string) *InstallationMediaFailureCause {
 35813  	s.Message = &v
 35814  	return s
 35815  }
 35816  
 35817  type ListTagsForResourceInput struct {
 35818  	_ struct{} `type:"structure"`
 35819  
 35820  	// This parameter isn't currently supported.
 35821  	Filters []*Filter `locationNameList:"Filter" type:"list"`
 35822  
 35823  	// The Amazon RDS resource with tags to be listed. This value is an Amazon Resource
 35824  	// Name (ARN). For information about creating an ARN, see Constructing an ARN
 35825  	// for Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing)
 35826  	// in the Amazon RDS User Guide.
 35827  	//
 35828  	// ResourceName is a required field
 35829  	ResourceName *string `type:"string" required:"true"`
 35830  }
 35831  
 35832  // String returns the string representation.
 35833  //
 35834  // API parameter values that are decorated as "sensitive" in the API will not
 35835  // be included in the string output. The member name will be present, but the
 35836  // value will be replaced with "sensitive".
 35837  func (s ListTagsForResourceInput) String() string {
 35838  	return awsutil.Prettify(s)
 35839  }
 35840  
 35841  // GoString returns the string representation.
 35842  //
 35843  // API parameter values that are decorated as "sensitive" in the API will not
 35844  // be included in the string output. The member name will be present, but the
 35845  // value will be replaced with "sensitive".
 35846  func (s ListTagsForResourceInput) GoString() string {
 35847  	return s.String()
 35848  }
 35849  
 35850  // Validate inspects the fields of the type to determine if they are valid.
 35851  func (s *ListTagsForResourceInput) Validate() error {
 35852  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
 35853  	if s.ResourceName == nil {
 35854  		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
 35855  	}
 35856  	if s.Filters != nil {
 35857  		for i, v := range s.Filters {
 35858  			if v == nil {
 35859  				continue
 35860  			}
 35861  			if err := v.Validate(); err != nil {
 35862  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
 35863  			}
 35864  		}
 35865  	}
 35866  
 35867  	if invalidParams.Len() > 0 {
 35868  		return invalidParams
 35869  	}
 35870  	return nil
 35871  }
 35872  
 35873  // SetFilters sets the Filters field's value.
 35874  func (s *ListTagsForResourceInput) SetFilters(v []*Filter) *ListTagsForResourceInput {
 35875  	s.Filters = v
 35876  	return s
 35877  }
 35878  
 35879  // SetResourceName sets the ResourceName field's value.
 35880  func (s *ListTagsForResourceInput) SetResourceName(v string) *ListTagsForResourceInput {
 35881  	s.ResourceName = &v
 35882  	return s
 35883  }
 35884  
 35885  type ListTagsForResourceOutput struct {
 35886  	_ struct{} `type:"structure"`
 35887  
 35888  	// List of tags returned by the ListTagsForResource operation.
 35889  	TagList []*Tag `locationNameList:"Tag" type:"list"`
 35890  }
 35891  
 35892  // String returns the string representation.
 35893  //
 35894  // API parameter values that are decorated as "sensitive" in the API will not
 35895  // be included in the string output. The member name will be present, but the
 35896  // value will be replaced with "sensitive".
 35897  func (s ListTagsForResourceOutput) String() string {
 35898  	return awsutil.Prettify(s)
 35899  }
 35900  
 35901  // GoString returns the string representation.
 35902  //
 35903  // API parameter values that are decorated as "sensitive" in the API will not
 35904  // be included in the string output. The member name will be present, but the
 35905  // value will be replaced with "sensitive".
 35906  func (s ListTagsForResourceOutput) GoString() string {
 35907  	return s.String()
 35908  }
 35909  
 35910  // SetTagList sets the TagList field's value.
 35911  func (s *ListTagsForResourceOutput) SetTagList(v []*Tag) *ListTagsForResourceOutput {
 35912  	s.TagList = v
 35913  	return s
 35914  }
 35915  
 35916  // The minimum DB engine version required for each corresponding allowed value
 35917  // for an option setting.
 35918  type MinimumEngineVersionPerAllowedValue struct {
 35919  	_ struct{} `type:"structure"`
 35920  
 35921  	// The allowed value for an option setting.
 35922  	AllowedValue *string `type:"string"`
 35923  
 35924  	// The minimum DB engine version required for the allowed value.
 35925  	MinimumEngineVersion *string `type:"string"`
 35926  }
 35927  
 35928  // String returns the string representation.
 35929  //
 35930  // API parameter values that are decorated as "sensitive" in the API will not
 35931  // be included in the string output. The member name will be present, but the
 35932  // value will be replaced with "sensitive".
 35933  func (s MinimumEngineVersionPerAllowedValue) String() string {
 35934  	return awsutil.Prettify(s)
 35935  }
 35936  
 35937  // GoString returns the string representation.
 35938  //
 35939  // API parameter values that are decorated as "sensitive" in the API will not
 35940  // be included in the string output. The member name will be present, but the
 35941  // value will be replaced with "sensitive".
 35942  func (s MinimumEngineVersionPerAllowedValue) GoString() string {
 35943  	return s.String()
 35944  }
 35945  
 35946  // SetAllowedValue sets the AllowedValue field's value.
 35947  func (s *MinimumEngineVersionPerAllowedValue) SetAllowedValue(v string) *MinimumEngineVersionPerAllowedValue {
 35948  	s.AllowedValue = &v
 35949  	return s
 35950  }
 35951  
 35952  // SetMinimumEngineVersion sets the MinimumEngineVersion field's value.
 35953  func (s *MinimumEngineVersionPerAllowedValue) SetMinimumEngineVersion(v string) *MinimumEngineVersionPerAllowedValue {
 35954  	s.MinimumEngineVersion = &v
 35955  	return s
 35956  }
 35957  
 35958  type ModifyCertificatesInput struct {
 35959  	_ struct{} `type:"structure"`
 35960  
 35961  	// The new default certificate identifier to override the current one with.
 35962  	//
 35963  	// To determine the valid values, use the describe-certificates CLI command
 35964  	// or the DescribeCertificates API operation.
 35965  	CertificateIdentifier *string `type:"string"`
 35966  
 35967  	// A value that indicates whether to remove the override for the default certificate.
 35968  	// If the override is removed, the default certificate is the system default.
 35969  	RemoveCustomerOverride *bool `type:"boolean"`
 35970  }
 35971  
 35972  // String returns the string representation.
 35973  //
 35974  // API parameter values that are decorated as "sensitive" in the API will not
 35975  // be included in the string output. The member name will be present, but the
 35976  // value will be replaced with "sensitive".
 35977  func (s ModifyCertificatesInput) String() string {
 35978  	return awsutil.Prettify(s)
 35979  }
 35980  
 35981  // GoString returns the string representation.
 35982  //
 35983  // API parameter values that are decorated as "sensitive" in the API will not
 35984  // be included in the string output. The member name will be present, but the
 35985  // value will be replaced with "sensitive".
 35986  func (s ModifyCertificatesInput) GoString() string {
 35987  	return s.String()
 35988  }
 35989  
 35990  // SetCertificateIdentifier sets the CertificateIdentifier field's value.
 35991  func (s *ModifyCertificatesInput) SetCertificateIdentifier(v string) *ModifyCertificatesInput {
 35992  	s.CertificateIdentifier = &v
 35993  	return s
 35994  }
 35995  
 35996  // SetRemoveCustomerOverride sets the RemoveCustomerOverride field's value.
 35997  func (s *ModifyCertificatesInput) SetRemoveCustomerOverride(v bool) *ModifyCertificatesInput {
 35998  	s.RemoveCustomerOverride = &v
 35999  	return s
 36000  }
 36001  
 36002  type ModifyCertificatesOutput struct {
 36003  	_ struct{} `type:"structure"`
 36004  
 36005  	// A CA certificate for an Amazon Web Services account.
 36006  	Certificate *Certificate `type:"structure"`
 36007  }
 36008  
 36009  // String returns the string representation.
 36010  //
 36011  // API parameter values that are decorated as "sensitive" in the API will not
 36012  // be included in the string output. The member name will be present, but the
 36013  // value will be replaced with "sensitive".
 36014  func (s ModifyCertificatesOutput) String() string {
 36015  	return awsutil.Prettify(s)
 36016  }
 36017  
 36018  // GoString returns the string representation.
 36019  //
 36020  // API parameter values that are decorated as "sensitive" in the API will not
 36021  // be included in the string output. The member name will be present, but the
 36022  // value will be replaced with "sensitive".
 36023  func (s ModifyCertificatesOutput) GoString() string {
 36024  	return s.String()
 36025  }
 36026  
 36027  // SetCertificate sets the Certificate field's value.
 36028  func (s *ModifyCertificatesOutput) SetCertificate(v *Certificate) *ModifyCertificatesOutput {
 36029  	s.Certificate = v
 36030  	return s
 36031  }
 36032  
 36033  type ModifyCurrentDBClusterCapacityInput struct {
 36034  	_ struct{} `type:"structure"`
 36035  
 36036  	// The DB cluster capacity.
 36037  	//
 36038  	// When you change the capacity of a paused Aurora Serverless DB cluster, it
 36039  	// automatically resumes.
 36040  	//
 36041  	// Constraints:
 36042  	//
 36043  	//    * For Aurora MySQL, valid capacity values are 1, 2, 4, 8, 16, 32, 64,
 36044  	//    128, and 256.
 36045  	//
 36046  	//    * For Aurora PostgreSQL, valid capacity values are 2, 4, 8, 16, 32, 64,
 36047  	//    192, and 384.
 36048  	Capacity *int64 `type:"integer"`
 36049  
 36050  	// The DB cluster identifier for the cluster being modified. This parameter
 36051  	// isn't case-sensitive.
 36052  	//
 36053  	// Constraints:
 36054  	//
 36055  	//    * Must match the identifier of an existing DB cluster.
 36056  	//
 36057  	// DBClusterIdentifier is a required field
 36058  	DBClusterIdentifier *string `type:"string" required:"true"`
 36059  
 36060  	// The amount of time, in seconds, that Aurora Serverless tries to find a scaling
 36061  	// point to perform seamless scaling before enforcing the timeout action. The
 36062  	// default is 300.
 36063  	//
 36064  	// Specify a value between 10 and 600 seconds.
 36065  	SecondsBeforeTimeout *int64 `type:"integer"`
 36066  
 36067  	// The action to take when the timeout is reached, either ForceApplyCapacityChange
 36068  	// or RollbackCapacityChange.
 36069  	//
 36070  	// ForceApplyCapacityChange, the default, sets the capacity to the specified
 36071  	// value as soon as possible.
 36072  	//
 36073  	// RollbackCapacityChange ignores the capacity change if a scaling point isn't
 36074  	// found in the timeout period.
 36075  	TimeoutAction *string `type:"string"`
 36076  }
 36077  
 36078  // String returns the string representation.
 36079  //
 36080  // API parameter values that are decorated as "sensitive" in the API will not
 36081  // be included in the string output. The member name will be present, but the
 36082  // value will be replaced with "sensitive".
 36083  func (s ModifyCurrentDBClusterCapacityInput) String() string {
 36084  	return awsutil.Prettify(s)
 36085  }
 36086  
 36087  // GoString returns the string representation.
 36088  //
 36089  // API parameter values that are decorated as "sensitive" in the API will not
 36090  // be included in the string output. The member name will be present, but the
 36091  // value will be replaced with "sensitive".
 36092  func (s ModifyCurrentDBClusterCapacityInput) GoString() string {
 36093  	return s.String()
 36094  }
 36095  
 36096  // Validate inspects the fields of the type to determine if they are valid.
 36097  func (s *ModifyCurrentDBClusterCapacityInput) Validate() error {
 36098  	invalidParams := request.ErrInvalidParams{Context: "ModifyCurrentDBClusterCapacityInput"}
 36099  	if s.DBClusterIdentifier == nil {
 36100  		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
 36101  	}
 36102  
 36103  	if invalidParams.Len() > 0 {
 36104  		return invalidParams
 36105  	}
 36106  	return nil
 36107  }
 36108  
 36109  // SetCapacity sets the Capacity field's value.
 36110  func (s *ModifyCurrentDBClusterCapacityInput) SetCapacity(v int64) *ModifyCurrentDBClusterCapacityInput {
 36111  	s.Capacity = &v
 36112  	return s
 36113  }
 36114  
 36115  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 36116  func (s *ModifyCurrentDBClusterCapacityInput) SetDBClusterIdentifier(v string) *ModifyCurrentDBClusterCapacityInput {
 36117  	s.DBClusterIdentifier = &v
 36118  	return s
 36119  }
 36120  
 36121  // SetSecondsBeforeTimeout sets the SecondsBeforeTimeout field's value.
 36122  func (s *ModifyCurrentDBClusterCapacityInput) SetSecondsBeforeTimeout(v int64) *ModifyCurrentDBClusterCapacityInput {
 36123  	s.SecondsBeforeTimeout = &v
 36124  	return s
 36125  }
 36126  
 36127  // SetTimeoutAction sets the TimeoutAction field's value.
 36128  func (s *ModifyCurrentDBClusterCapacityInput) SetTimeoutAction(v string) *ModifyCurrentDBClusterCapacityInput {
 36129  	s.TimeoutAction = &v
 36130  	return s
 36131  }
 36132  
 36133  type ModifyCurrentDBClusterCapacityOutput struct {
 36134  	_ struct{} `type:"structure"`
 36135  
 36136  	// The current capacity of the DB cluster.
 36137  	CurrentCapacity *int64 `type:"integer"`
 36138  
 36139  	// A user-supplied DB cluster identifier. This identifier is the unique key
 36140  	// that identifies a DB cluster.
 36141  	DBClusterIdentifier *string `type:"string"`
 36142  
 36143  	// A value that specifies the capacity that the DB cluster scales to next.
 36144  	PendingCapacity *int64 `type:"integer"`
 36145  
 36146  	// The number of seconds before a call to ModifyCurrentDBClusterCapacity times
 36147  	// out.
 36148  	SecondsBeforeTimeout *int64 `type:"integer"`
 36149  
 36150  	// The timeout action of a call to ModifyCurrentDBClusterCapacity, either ForceApplyCapacityChange
 36151  	// or RollbackCapacityChange.
 36152  	TimeoutAction *string `type:"string"`
 36153  }
 36154  
 36155  // String returns the string representation.
 36156  //
 36157  // API parameter values that are decorated as "sensitive" in the API will not
 36158  // be included in the string output. The member name will be present, but the
 36159  // value will be replaced with "sensitive".
 36160  func (s ModifyCurrentDBClusterCapacityOutput) String() string {
 36161  	return awsutil.Prettify(s)
 36162  }
 36163  
 36164  // GoString returns the string representation.
 36165  //
 36166  // API parameter values that are decorated as "sensitive" in the API will not
 36167  // be included in the string output. The member name will be present, but the
 36168  // value will be replaced with "sensitive".
 36169  func (s ModifyCurrentDBClusterCapacityOutput) GoString() string {
 36170  	return s.String()
 36171  }
 36172  
 36173  // SetCurrentCapacity sets the CurrentCapacity field's value.
 36174  func (s *ModifyCurrentDBClusterCapacityOutput) SetCurrentCapacity(v int64) *ModifyCurrentDBClusterCapacityOutput {
 36175  	s.CurrentCapacity = &v
 36176  	return s
 36177  }
 36178  
 36179  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 36180  func (s *ModifyCurrentDBClusterCapacityOutput) SetDBClusterIdentifier(v string) *ModifyCurrentDBClusterCapacityOutput {
 36181  	s.DBClusterIdentifier = &v
 36182  	return s
 36183  }
 36184  
 36185  // SetPendingCapacity sets the PendingCapacity field's value.
 36186  func (s *ModifyCurrentDBClusterCapacityOutput) SetPendingCapacity(v int64) *ModifyCurrentDBClusterCapacityOutput {
 36187  	s.PendingCapacity = &v
 36188  	return s
 36189  }
 36190  
 36191  // SetSecondsBeforeTimeout sets the SecondsBeforeTimeout field's value.
 36192  func (s *ModifyCurrentDBClusterCapacityOutput) SetSecondsBeforeTimeout(v int64) *ModifyCurrentDBClusterCapacityOutput {
 36193  	s.SecondsBeforeTimeout = &v
 36194  	return s
 36195  }
 36196  
 36197  // SetTimeoutAction sets the TimeoutAction field's value.
 36198  func (s *ModifyCurrentDBClusterCapacityOutput) SetTimeoutAction(v string) *ModifyCurrentDBClusterCapacityOutput {
 36199  	s.TimeoutAction = &v
 36200  	return s
 36201  }
 36202  
 36203  type ModifyDBClusterEndpointInput struct {
 36204  	_ struct{} `type:"structure"`
 36205  
 36206  	// The identifier of the endpoint to modify. This parameter is stored as a lowercase
 36207  	// string.
 36208  	//
 36209  	// DBClusterEndpointIdentifier is a required field
 36210  	DBClusterEndpointIdentifier *string `type:"string" required:"true"`
 36211  
 36212  	// The type of the endpoint. One of: READER, WRITER, ANY.
 36213  	EndpointType *string `type:"string"`
 36214  
 36215  	// List of DB instance identifiers that aren't part of the custom endpoint group.
 36216  	// All other eligible instances are reachable through the custom endpoint. Only
 36217  	// relevant if the list of static members is empty.
 36218  	ExcludedMembers []*string `type:"list"`
 36219  
 36220  	// List of DB instance identifiers that are part of the custom endpoint group.
 36221  	StaticMembers []*string `type:"list"`
 36222  }
 36223  
 36224  // String returns the string representation.
 36225  //
 36226  // API parameter values that are decorated as "sensitive" in the API will not
 36227  // be included in the string output. The member name will be present, but the
 36228  // value will be replaced with "sensitive".
 36229  func (s ModifyDBClusterEndpointInput) String() string {
 36230  	return awsutil.Prettify(s)
 36231  }
 36232  
 36233  // GoString returns the string representation.
 36234  //
 36235  // API parameter values that are decorated as "sensitive" in the API will not
 36236  // be included in the string output. The member name will be present, but the
 36237  // value will be replaced with "sensitive".
 36238  func (s ModifyDBClusterEndpointInput) GoString() string {
 36239  	return s.String()
 36240  }
 36241  
 36242  // Validate inspects the fields of the type to determine if they are valid.
 36243  func (s *ModifyDBClusterEndpointInput) Validate() error {
 36244  	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterEndpointInput"}
 36245  	if s.DBClusterEndpointIdentifier == nil {
 36246  		invalidParams.Add(request.NewErrParamRequired("DBClusterEndpointIdentifier"))
 36247  	}
 36248  
 36249  	if invalidParams.Len() > 0 {
 36250  		return invalidParams
 36251  	}
 36252  	return nil
 36253  }
 36254  
 36255  // SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
 36256  func (s *ModifyDBClusterEndpointInput) SetDBClusterEndpointIdentifier(v string) *ModifyDBClusterEndpointInput {
 36257  	s.DBClusterEndpointIdentifier = &v
 36258  	return s
 36259  }
 36260  
 36261  // SetEndpointType sets the EndpointType field's value.
 36262  func (s *ModifyDBClusterEndpointInput) SetEndpointType(v string) *ModifyDBClusterEndpointInput {
 36263  	s.EndpointType = &v
 36264  	return s
 36265  }
 36266  
 36267  // SetExcludedMembers sets the ExcludedMembers field's value.
 36268  func (s *ModifyDBClusterEndpointInput) SetExcludedMembers(v []*string) *ModifyDBClusterEndpointInput {
 36269  	s.ExcludedMembers = v
 36270  	return s
 36271  }
 36272  
 36273  // SetStaticMembers sets the StaticMembers field's value.
 36274  func (s *ModifyDBClusterEndpointInput) SetStaticMembers(v []*string) *ModifyDBClusterEndpointInput {
 36275  	s.StaticMembers = v
 36276  	return s
 36277  }
 36278  
 36279  // This data type represents the information you need to connect to an Amazon
 36280  // Aurora DB cluster. This data type is used as a response element in the following
 36281  // actions:
 36282  //
 36283  //    * CreateDBClusterEndpoint
 36284  //
 36285  //    * DescribeDBClusterEndpoints
 36286  //
 36287  //    * ModifyDBClusterEndpoint
 36288  //
 36289  //    * DeleteDBClusterEndpoint
 36290  //
 36291  // For the data structure that represents Amazon RDS DB instance endpoints,
 36292  // see Endpoint.
 36293  type ModifyDBClusterEndpointOutput struct {
 36294  	_ struct{} `type:"structure"`
 36295  
 36296  	// The type associated with a custom endpoint. One of: READER, WRITER, ANY.
 36297  	CustomEndpointType *string `type:"string"`
 36298  
 36299  	// The Amazon Resource Name (ARN) for the endpoint.
 36300  	DBClusterEndpointArn *string `type:"string"`
 36301  
 36302  	// The identifier associated with the endpoint. This parameter is stored as
 36303  	// a lowercase string.
 36304  	DBClusterEndpointIdentifier *string `type:"string"`
 36305  
 36306  	// A unique system-generated identifier for an endpoint. It remains the same
 36307  	// for the whole life of the endpoint.
 36308  	DBClusterEndpointResourceIdentifier *string `type:"string"`
 36309  
 36310  	// The DB cluster identifier of the DB cluster associated with the endpoint.
 36311  	// This parameter is stored as a lowercase string.
 36312  	DBClusterIdentifier *string `type:"string"`
 36313  
 36314  	// The DNS address of the endpoint.
 36315  	Endpoint *string `type:"string"`
 36316  
 36317  	// The type of the endpoint. One of: READER, WRITER, CUSTOM.
 36318  	EndpointType *string `type:"string"`
 36319  
 36320  	// List of DB instance identifiers that aren't part of the custom endpoint group.
 36321  	// All other eligible instances are reachable through the custom endpoint. Only
 36322  	// relevant if the list of static members is empty.
 36323  	ExcludedMembers []*string `type:"list"`
 36324  
 36325  	// List of DB instance identifiers that are part of the custom endpoint group.
 36326  	StaticMembers []*string `type:"list"`
 36327  
 36328  	// The current status of the endpoint. One of: creating, available, deleting,
 36329  	// inactive, modifying. The inactive state applies to an endpoint that can't
 36330  	// be used for a certain kind of cluster, such as a writer endpoint for a read-only
 36331  	// secondary cluster in a global database.
 36332  	Status *string `type:"string"`
 36333  }
 36334  
 36335  // String returns the string representation.
 36336  //
 36337  // API parameter values that are decorated as "sensitive" in the API will not
 36338  // be included in the string output. The member name will be present, but the
 36339  // value will be replaced with "sensitive".
 36340  func (s ModifyDBClusterEndpointOutput) String() string {
 36341  	return awsutil.Prettify(s)
 36342  }
 36343  
 36344  // GoString returns the string representation.
 36345  //
 36346  // API parameter values that are decorated as "sensitive" in the API will not
 36347  // be included in the string output. The member name will be present, but the
 36348  // value will be replaced with "sensitive".
 36349  func (s ModifyDBClusterEndpointOutput) GoString() string {
 36350  	return s.String()
 36351  }
 36352  
 36353  // SetCustomEndpointType sets the CustomEndpointType field's value.
 36354  func (s *ModifyDBClusterEndpointOutput) SetCustomEndpointType(v string) *ModifyDBClusterEndpointOutput {
 36355  	s.CustomEndpointType = &v
 36356  	return s
 36357  }
 36358  
 36359  // SetDBClusterEndpointArn sets the DBClusterEndpointArn field's value.
 36360  func (s *ModifyDBClusterEndpointOutput) SetDBClusterEndpointArn(v string) *ModifyDBClusterEndpointOutput {
 36361  	s.DBClusterEndpointArn = &v
 36362  	return s
 36363  }
 36364  
 36365  // SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
 36366  func (s *ModifyDBClusterEndpointOutput) SetDBClusterEndpointIdentifier(v string) *ModifyDBClusterEndpointOutput {
 36367  	s.DBClusterEndpointIdentifier = &v
 36368  	return s
 36369  }
 36370  
 36371  // SetDBClusterEndpointResourceIdentifier sets the DBClusterEndpointResourceIdentifier field's value.
 36372  func (s *ModifyDBClusterEndpointOutput) SetDBClusterEndpointResourceIdentifier(v string) *ModifyDBClusterEndpointOutput {
 36373  	s.DBClusterEndpointResourceIdentifier = &v
 36374  	return s
 36375  }
 36376  
 36377  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 36378  func (s *ModifyDBClusterEndpointOutput) SetDBClusterIdentifier(v string) *ModifyDBClusterEndpointOutput {
 36379  	s.DBClusterIdentifier = &v
 36380  	return s
 36381  }
 36382  
 36383  // SetEndpoint sets the Endpoint field's value.
 36384  func (s *ModifyDBClusterEndpointOutput) SetEndpoint(v string) *ModifyDBClusterEndpointOutput {
 36385  	s.Endpoint = &v
 36386  	return s
 36387  }
 36388  
 36389  // SetEndpointType sets the EndpointType field's value.
 36390  func (s *ModifyDBClusterEndpointOutput) SetEndpointType(v string) *ModifyDBClusterEndpointOutput {
 36391  	s.EndpointType = &v
 36392  	return s
 36393  }
 36394  
 36395  // SetExcludedMembers sets the ExcludedMembers field's value.
 36396  func (s *ModifyDBClusterEndpointOutput) SetExcludedMembers(v []*string) *ModifyDBClusterEndpointOutput {
 36397  	s.ExcludedMembers = v
 36398  	return s
 36399  }
 36400  
 36401  // SetStaticMembers sets the StaticMembers field's value.
 36402  func (s *ModifyDBClusterEndpointOutput) SetStaticMembers(v []*string) *ModifyDBClusterEndpointOutput {
 36403  	s.StaticMembers = v
 36404  	return s
 36405  }
 36406  
 36407  // SetStatus sets the Status field's value.
 36408  func (s *ModifyDBClusterEndpointOutput) SetStatus(v string) *ModifyDBClusterEndpointOutput {
 36409  	s.Status = &v
 36410  	return s
 36411  }
 36412  
 36413  type ModifyDBClusterInput struct {
 36414  	_ struct{} `type:"structure"`
 36415  
 36416  	// A value that indicates whether major version upgrades are allowed.
 36417  	//
 36418  	// Constraints: You must allow major version upgrades when specifying a value
 36419  	// for the EngineVersion parameter that is a different major version than the
 36420  	// DB cluster's current version.
 36421  	AllowMajorVersionUpgrade *bool `type:"boolean"`
 36422  
 36423  	// A value that indicates whether the modifications in this request and any
 36424  	// pending modifications are asynchronously applied as soon as possible, regardless
 36425  	// of the PreferredMaintenanceWindow setting for the DB cluster. If this parameter
 36426  	// is disabled, changes to the DB cluster are applied during the next maintenance
 36427  	// window.
 36428  	//
 36429  	// The ApplyImmediately parameter only affects the EnableIAMDatabaseAuthentication,
 36430  	// MasterUserPassword, and NewDBClusterIdentifier values. If the ApplyImmediately
 36431  	// parameter is disabled, then changes to the EnableIAMDatabaseAuthentication,
 36432  	// MasterUserPassword, and NewDBClusterIdentifier values are applied during
 36433  	// the next maintenance window. All other changes are applied immediately, regardless
 36434  	// of the value of the ApplyImmediately parameter.
 36435  	//
 36436  	// By default, this parameter is disabled.
 36437  	ApplyImmediately *bool `type:"boolean"`
 36438  
 36439  	// The target backtrack window, in seconds. To disable backtracking, set this
 36440  	// value to 0.
 36441  	//
 36442  	// Currently, Backtrack is only supported for Aurora MySQL DB clusters.
 36443  	//
 36444  	// Default: 0
 36445  	//
 36446  	// Constraints:
 36447  	//
 36448  	//    * If specified, this value must be set to a number from 0 to 259,200 (72
 36449  	//    hours).
 36450  	BacktrackWindow *int64 `type:"long"`
 36451  
 36452  	// The number of days for which automated backups are retained. You must specify
 36453  	// a minimum value of 1.
 36454  	//
 36455  	// Default: 1
 36456  	//
 36457  	// Constraints:
 36458  	//
 36459  	//    * Must be a value from 1 to 35
 36460  	BackupRetentionPeriod *int64 `type:"integer"`
 36461  
 36462  	// The configuration setting for the log types to be enabled for export to CloudWatch
 36463  	// Logs for a specific DB cluster.
 36464  	CloudwatchLogsExportConfiguration *CloudwatchLogsExportConfiguration `type:"structure"`
 36465  
 36466  	// A value that indicates whether to copy all tags from the DB cluster to snapshots
 36467  	// of the DB cluster. The default is not to copy them.
 36468  	CopyTagsToSnapshot *bool `type:"boolean"`
 36469  
 36470  	// The DB cluster identifier for the cluster being modified. This parameter
 36471  	// isn't case-sensitive.
 36472  	//
 36473  	// Constraints: This identifier must match the identifier of an existing DB
 36474  	// cluster.
 36475  	//
 36476  	// DBClusterIdentifier is a required field
 36477  	DBClusterIdentifier *string `type:"string" required:"true"`
 36478  
 36479  	// The name of the DB cluster parameter group to use for the DB cluster.
 36480  	DBClusterParameterGroupName *string `type:"string"`
 36481  
 36482  	// The name of the DB parameter group to apply to all instances of the DB cluster.
 36483  	//
 36484  	// When you apply a parameter group using the DBInstanceParameterGroupName parameter,
 36485  	// the DB cluster isn't rebooted automatically. Also, parameter changes aren't
 36486  	// applied during the next maintenance window but instead are applied immediately.
 36487  	//
 36488  	// Default: The existing name setting
 36489  	//
 36490  	// Constraints:
 36491  	//
 36492  	//    * The DB parameter group must be in the same DB parameter group family
 36493  	//    as this DB cluster.
 36494  	//
 36495  	//    * The DBInstanceParameterGroupName parameter is only valid in combination
 36496  	//    with the AllowMajorVersionUpgrade parameter.
 36497  	DBInstanceParameterGroupName *string `type:"string"`
 36498  
 36499  	// A value that indicates whether the DB cluster has deletion protection enabled.
 36500  	// The database can't be deleted when deletion protection is enabled. By default,
 36501  	// deletion protection is disabled.
 36502  	DeletionProtection *bool `type:"boolean"`
 36503  
 36504  	// The Active Directory directory ID to move the DB cluster to. Specify none
 36505  	// to remove the cluster from its current domain. The domain must be created
 36506  	// prior to this operation.
 36507  	//
 36508  	// For more information, see Kerberos Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/kerberos-authentication.html)
 36509  	// in the Amazon Aurora User Guide.
 36510  	Domain *string `type:"string"`
 36511  
 36512  	// Specify the name of the IAM role to be used when making API calls to the
 36513  	// Directory Service.
 36514  	DomainIAMRoleName *string `type:"string"`
 36515  
 36516  	// A value that indicates whether to enable this DB cluster to forward write
 36517  	// operations to the primary cluster of an Aurora global database (GlobalCluster).
 36518  	// By default, write operations are not allowed on Aurora DB clusters that are
 36519  	// secondary clusters in an Aurora global database.
 36520  	//
 36521  	// You can set this value only on Aurora DB clusters that are members of an
 36522  	// Aurora global database. With this parameter enabled, a secondary cluster
 36523  	// can forward writes to the current primary cluster and the resulting changes
 36524  	// are replicated back to this cluster. For the primary DB cluster of an Aurora
 36525  	// global database, this value is used immediately if the primary is demoted
 36526  	// by the FailoverGlobalCluster API operation, but it does nothing until then.
 36527  	EnableGlobalWriteForwarding *bool `type:"boolean"`
 36528  
 36529  	// A value that indicates whether to enable the HTTP endpoint for an Aurora
 36530  	// Serverless DB cluster. By default, the HTTP endpoint is disabled.
 36531  	//
 36532  	// When enabled, the HTTP endpoint provides a connectionless web service API
 36533  	// for running SQL queries on the Aurora Serverless DB cluster. You can also
 36534  	// query your database from inside the RDS console with the query editor.
 36535  	//
 36536  	// For more information, see Using the Data API for Aurora Serverless (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html)
 36537  	// in the Amazon Aurora User Guide.
 36538  	EnableHttpEndpoint *bool `type:"boolean"`
 36539  
 36540  	// A value that indicates whether to enable mapping of Amazon Web Services Identity
 36541  	// and Access Management (IAM) accounts to database accounts. By default, mapping
 36542  	// is disabled.
 36543  	//
 36544  	// For more information, see IAM Database Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html)
 36545  	// in the Amazon Aurora User Guide.
 36546  	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
 36547  
 36548  	// The version number of the database engine to which you want to upgrade. Changing
 36549  	// this parameter results in an outage. The change is applied during the next
 36550  	// maintenance window unless ApplyImmediately is enabled.
 36551  	//
 36552  	// To list all of the available engine versions for aurora (for MySQL 5.6-compatible
 36553  	// Aurora), use the following command:
 36554  	//
 36555  	// aws rds describe-db-engine-versions --engine aurora --query "DBEngineVersions[].EngineVersion"
 36556  	//
 36557  	// To list all of the available engine versions for aurora-mysql (for MySQL
 36558  	// 5.7-compatible Aurora), use the following command:
 36559  	//
 36560  	// aws rds describe-db-engine-versions --engine aurora-mysql --query "DBEngineVersions[].EngineVersion"
 36561  	//
 36562  	// To list all of the available engine versions for aurora-postgresql, use the
 36563  	// following command:
 36564  	//
 36565  	// aws rds describe-db-engine-versions --engine aurora-postgresql --query "DBEngineVersions[].EngineVersion"
 36566  	EngineVersion *string `type:"string"`
 36567  
 36568  	// The new password for the master database user. This password can contain
 36569  	// any printable ASCII character except "/", """, or "@".
 36570  	//
 36571  	// Constraints: Must contain from 8 to 41 characters.
 36572  	MasterUserPassword *string `type:"string"`
 36573  
 36574  	// The new DB cluster identifier for the DB cluster when renaming a DB cluster.
 36575  	// This value is stored as a lowercase string.
 36576  	//
 36577  	// Constraints:
 36578  	//
 36579  	//    * Must contain from 1 to 63 letters, numbers, or hyphens
 36580  	//
 36581  	//    * The first character must be a letter
 36582  	//
 36583  	//    * Can't end with a hyphen or contain two consecutive hyphens
 36584  	//
 36585  	// Example: my-cluster2
 36586  	NewDBClusterIdentifier *string `type:"string"`
 36587  
 36588  	// A value that indicates that the DB cluster should be associated with the
 36589  	// specified option group. Changing this parameter doesn't result in an outage
 36590  	// except in the following case, and the change is applied during the next maintenance
 36591  	// window unless the ApplyImmediately is enabled for this request. If the parameter
 36592  	// change results in an option group that enables OEM, this change can cause
 36593  	// a brief (sub-second) period during which new connections are rejected but
 36594  	// existing connections are not interrupted.
 36595  	//
 36596  	// Permanent options can't be removed from an option group. The option group
 36597  	// can't be removed from a DB cluster once it is associated with a DB cluster.
 36598  	OptionGroupName *string `type:"string"`
 36599  
 36600  	// The port number on which the DB cluster accepts connections.
 36601  	//
 36602  	// Constraints: Value must be 1150-65535
 36603  	//
 36604  	// Default: The same port as the original DB cluster.
 36605  	Port *int64 `type:"integer"`
 36606  
 36607  	// The daily time range during which automated backups are created if automated
 36608  	// backups are enabled, using the BackupRetentionPeriod parameter.
 36609  	//
 36610  	// The default is a 30-minute window selected at random from an 8-hour block
 36611  	// of time for each Amazon Web Services Region. To view the time blocks available,
 36612  	// see Backup window (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Managing.Backups.html#Aurora.Managing.Backups.BackupWindow)
 36613  	// in the Amazon Aurora User Guide.
 36614  	//
 36615  	// Constraints:
 36616  	//
 36617  	//    * Must be in the format hh24:mi-hh24:mi.
 36618  	//
 36619  	//    * Must be in Universal Coordinated Time (UTC).
 36620  	//
 36621  	//    * Must not conflict with the preferred maintenance window.
 36622  	//
 36623  	//    * Must be at least 30 minutes.
 36624  	PreferredBackupWindow *string `type:"string"`
 36625  
 36626  	// The weekly time range during which system maintenance can occur, in Universal
 36627  	// Coordinated Time (UTC).
 36628  	//
 36629  	// Format: ddd:hh24:mi-ddd:hh24:mi
 36630  	//
 36631  	// The default is a 30-minute window selected at random from an 8-hour block
 36632  	// of time for each Amazon Web Services Region, occurring on a random day of
 36633  	// the week. To see the time blocks available, see Adjusting the Preferred DB
 36634  	// Cluster Maintenance Window (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora)
 36635  	// in the Amazon Aurora User Guide.
 36636  	//
 36637  	// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
 36638  	//
 36639  	// Constraints: Minimum 30-minute window.
 36640  	PreferredMaintenanceWindow *string `type:"string"`
 36641  
 36642  	// The scaling properties of the DB cluster. You can only modify scaling properties
 36643  	// for DB clusters in serverless DB engine mode.
 36644  	ScalingConfiguration *ScalingConfiguration `type:"structure"`
 36645  
 36646  	// A list of VPC security groups that the DB cluster will belong to.
 36647  	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
 36648  }
 36649  
 36650  // String returns the string representation.
 36651  //
 36652  // API parameter values that are decorated as "sensitive" in the API will not
 36653  // be included in the string output. The member name will be present, but the
 36654  // value will be replaced with "sensitive".
 36655  func (s ModifyDBClusterInput) String() string {
 36656  	return awsutil.Prettify(s)
 36657  }
 36658  
 36659  // GoString returns the string representation.
 36660  //
 36661  // API parameter values that are decorated as "sensitive" in the API will not
 36662  // be included in the string output. The member name will be present, but the
 36663  // value will be replaced with "sensitive".
 36664  func (s ModifyDBClusterInput) GoString() string {
 36665  	return s.String()
 36666  }
 36667  
 36668  // Validate inspects the fields of the type to determine if they are valid.
 36669  func (s *ModifyDBClusterInput) Validate() error {
 36670  	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterInput"}
 36671  	if s.DBClusterIdentifier == nil {
 36672  		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
 36673  	}
 36674  
 36675  	if invalidParams.Len() > 0 {
 36676  		return invalidParams
 36677  	}
 36678  	return nil
 36679  }
 36680  
 36681  // SetAllowMajorVersionUpgrade sets the AllowMajorVersionUpgrade field's value.
 36682  func (s *ModifyDBClusterInput) SetAllowMajorVersionUpgrade(v bool) *ModifyDBClusterInput {
 36683  	s.AllowMajorVersionUpgrade = &v
 36684  	return s
 36685  }
 36686  
 36687  // SetApplyImmediately sets the ApplyImmediately field's value.
 36688  func (s *ModifyDBClusterInput) SetApplyImmediately(v bool) *ModifyDBClusterInput {
 36689  	s.ApplyImmediately = &v
 36690  	return s
 36691  }
 36692  
 36693  // SetBacktrackWindow sets the BacktrackWindow field's value.
 36694  func (s *ModifyDBClusterInput) SetBacktrackWindow(v int64) *ModifyDBClusterInput {
 36695  	s.BacktrackWindow = &v
 36696  	return s
 36697  }
 36698  
 36699  // SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
 36700  func (s *ModifyDBClusterInput) SetBackupRetentionPeriod(v int64) *ModifyDBClusterInput {
 36701  	s.BackupRetentionPeriod = &v
 36702  	return s
 36703  }
 36704  
 36705  // SetCloudwatchLogsExportConfiguration sets the CloudwatchLogsExportConfiguration field's value.
 36706  func (s *ModifyDBClusterInput) SetCloudwatchLogsExportConfiguration(v *CloudwatchLogsExportConfiguration) *ModifyDBClusterInput {
 36707  	s.CloudwatchLogsExportConfiguration = v
 36708  	return s
 36709  }
 36710  
 36711  // SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
 36712  func (s *ModifyDBClusterInput) SetCopyTagsToSnapshot(v bool) *ModifyDBClusterInput {
 36713  	s.CopyTagsToSnapshot = &v
 36714  	return s
 36715  }
 36716  
 36717  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 36718  func (s *ModifyDBClusterInput) SetDBClusterIdentifier(v string) *ModifyDBClusterInput {
 36719  	s.DBClusterIdentifier = &v
 36720  	return s
 36721  }
 36722  
 36723  // SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
 36724  func (s *ModifyDBClusterInput) SetDBClusterParameterGroupName(v string) *ModifyDBClusterInput {
 36725  	s.DBClusterParameterGroupName = &v
 36726  	return s
 36727  }
 36728  
 36729  // SetDBInstanceParameterGroupName sets the DBInstanceParameterGroupName field's value.
 36730  func (s *ModifyDBClusterInput) SetDBInstanceParameterGroupName(v string) *ModifyDBClusterInput {
 36731  	s.DBInstanceParameterGroupName = &v
 36732  	return s
 36733  }
 36734  
 36735  // SetDeletionProtection sets the DeletionProtection field's value.
 36736  func (s *ModifyDBClusterInput) SetDeletionProtection(v bool) *ModifyDBClusterInput {
 36737  	s.DeletionProtection = &v
 36738  	return s
 36739  }
 36740  
 36741  // SetDomain sets the Domain field's value.
 36742  func (s *ModifyDBClusterInput) SetDomain(v string) *ModifyDBClusterInput {
 36743  	s.Domain = &v
 36744  	return s
 36745  }
 36746  
 36747  // SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
 36748  func (s *ModifyDBClusterInput) SetDomainIAMRoleName(v string) *ModifyDBClusterInput {
 36749  	s.DomainIAMRoleName = &v
 36750  	return s
 36751  }
 36752  
 36753  // SetEnableGlobalWriteForwarding sets the EnableGlobalWriteForwarding field's value.
 36754  func (s *ModifyDBClusterInput) SetEnableGlobalWriteForwarding(v bool) *ModifyDBClusterInput {
 36755  	s.EnableGlobalWriteForwarding = &v
 36756  	return s
 36757  }
 36758  
 36759  // SetEnableHttpEndpoint sets the EnableHttpEndpoint field's value.
 36760  func (s *ModifyDBClusterInput) SetEnableHttpEndpoint(v bool) *ModifyDBClusterInput {
 36761  	s.EnableHttpEndpoint = &v
 36762  	return s
 36763  }
 36764  
 36765  // SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
 36766  func (s *ModifyDBClusterInput) SetEnableIAMDatabaseAuthentication(v bool) *ModifyDBClusterInput {
 36767  	s.EnableIAMDatabaseAuthentication = &v
 36768  	return s
 36769  }
 36770  
 36771  // SetEngineVersion sets the EngineVersion field's value.
 36772  func (s *ModifyDBClusterInput) SetEngineVersion(v string) *ModifyDBClusterInput {
 36773  	s.EngineVersion = &v
 36774  	return s
 36775  }
 36776  
 36777  // SetMasterUserPassword sets the MasterUserPassword field's value.
 36778  func (s *ModifyDBClusterInput) SetMasterUserPassword(v string) *ModifyDBClusterInput {
 36779  	s.MasterUserPassword = &v
 36780  	return s
 36781  }
 36782  
 36783  // SetNewDBClusterIdentifier sets the NewDBClusterIdentifier field's value.
 36784  func (s *ModifyDBClusterInput) SetNewDBClusterIdentifier(v string) *ModifyDBClusterInput {
 36785  	s.NewDBClusterIdentifier = &v
 36786  	return s
 36787  }
 36788  
 36789  // SetOptionGroupName sets the OptionGroupName field's value.
 36790  func (s *ModifyDBClusterInput) SetOptionGroupName(v string) *ModifyDBClusterInput {
 36791  	s.OptionGroupName = &v
 36792  	return s
 36793  }
 36794  
 36795  // SetPort sets the Port field's value.
 36796  func (s *ModifyDBClusterInput) SetPort(v int64) *ModifyDBClusterInput {
 36797  	s.Port = &v
 36798  	return s
 36799  }
 36800  
 36801  // SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
 36802  func (s *ModifyDBClusterInput) SetPreferredBackupWindow(v string) *ModifyDBClusterInput {
 36803  	s.PreferredBackupWindow = &v
 36804  	return s
 36805  }
 36806  
 36807  // SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
 36808  func (s *ModifyDBClusterInput) SetPreferredMaintenanceWindow(v string) *ModifyDBClusterInput {
 36809  	s.PreferredMaintenanceWindow = &v
 36810  	return s
 36811  }
 36812  
 36813  // SetScalingConfiguration sets the ScalingConfiguration field's value.
 36814  func (s *ModifyDBClusterInput) SetScalingConfiguration(v *ScalingConfiguration) *ModifyDBClusterInput {
 36815  	s.ScalingConfiguration = v
 36816  	return s
 36817  }
 36818  
 36819  // SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
 36820  func (s *ModifyDBClusterInput) SetVpcSecurityGroupIds(v []*string) *ModifyDBClusterInput {
 36821  	s.VpcSecurityGroupIds = v
 36822  	return s
 36823  }
 36824  
 36825  type ModifyDBClusterOutput struct {
 36826  	_ struct{} `type:"structure"`
 36827  
 36828  	// Contains the details of an Amazon Aurora DB cluster.
 36829  	//
 36830  	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
 36831  	// and StartDBCluster actions.
 36832  	DBCluster *DBCluster `type:"structure"`
 36833  }
 36834  
 36835  // String returns the string representation.
 36836  //
 36837  // API parameter values that are decorated as "sensitive" in the API will not
 36838  // be included in the string output. The member name will be present, but the
 36839  // value will be replaced with "sensitive".
 36840  func (s ModifyDBClusterOutput) String() string {
 36841  	return awsutil.Prettify(s)
 36842  }
 36843  
 36844  // GoString returns the string representation.
 36845  //
 36846  // API parameter values that are decorated as "sensitive" in the API will not
 36847  // be included in the string output. The member name will be present, but the
 36848  // value will be replaced with "sensitive".
 36849  func (s ModifyDBClusterOutput) GoString() string {
 36850  	return s.String()
 36851  }
 36852  
 36853  // SetDBCluster sets the DBCluster field's value.
 36854  func (s *ModifyDBClusterOutput) SetDBCluster(v *DBCluster) *ModifyDBClusterOutput {
 36855  	s.DBCluster = v
 36856  	return s
 36857  }
 36858  
 36859  type ModifyDBClusterParameterGroupInput struct {
 36860  	_ struct{} `type:"structure"`
 36861  
 36862  	// The name of the DB cluster parameter group to modify.
 36863  	//
 36864  	// DBClusterParameterGroupName is a required field
 36865  	DBClusterParameterGroupName *string `type:"string" required:"true"`
 36866  
 36867  	// A list of parameters in the DB cluster parameter group to modify.
 36868  	//
 36869  	// Valid Values (for the application method): immediate | pending-reboot
 36870  	//
 36871  	// You can use the immediate value with dynamic parameters only. You can use
 36872  	// the pending-reboot value for both dynamic and static parameters.
 36873  	//
 36874  	// When the application method is immediate, changes to dynamic parameters are
 36875  	// applied immediately to the DB clusters associated with the parameter group.
 36876  	// When the application method is pending-reboot, changes to dynamic and static
 36877  	// parameters are applied after a reboot without failover to the DB clusters
 36878  	// associated with the parameter group.
 36879  	//
 36880  	// Parameters is a required field
 36881  	Parameters []*Parameter `locationNameList:"Parameter" type:"list" required:"true"`
 36882  }
 36883  
 36884  // String returns the string representation.
 36885  //
 36886  // API parameter values that are decorated as "sensitive" in the API will not
 36887  // be included in the string output. The member name will be present, but the
 36888  // value will be replaced with "sensitive".
 36889  func (s ModifyDBClusterParameterGroupInput) String() string {
 36890  	return awsutil.Prettify(s)
 36891  }
 36892  
 36893  // GoString returns the string representation.
 36894  //
 36895  // API parameter values that are decorated as "sensitive" in the API will not
 36896  // be included in the string output. The member name will be present, but the
 36897  // value will be replaced with "sensitive".
 36898  func (s ModifyDBClusterParameterGroupInput) GoString() string {
 36899  	return s.String()
 36900  }
 36901  
 36902  // Validate inspects the fields of the type to determine if they are valid.
 36903  func (s *ModifyDBClusterParameterGroupInput) Validate() error {
 36904  	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterParameterGroupInput"}
 36905  	if s.DBClusterParameterGroupName == nil {
 36906  		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
 36907  	}
 36908  	if s.Parameters == nil {
 36909  		invalidParams.Add(request.NewErrParamRequired("Parameters"))
 36910  	}
 36911  
 36912  	if invalidParams.Len() > 0 {
 36913  		return invalidParams
 36914  	}
 36915  	return nil
 36916  }
 36917  
 36918  // SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
 36919  func (s *ModifyDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *ModifyDBClusterParameterGroupInput {
 36920  	s.DBClusterParameterGroupName = &v
 36921  	return s
 36922  }
 36923  
 36924  // SetParameters sets the Parameters field's value.
 36925  func (s *ModifyDBClusterParameterGroupInput) SetParameters(v []*Parameter) *ModifyDBClusterParameterGroupInput {
 36926  	s.Parameters = v
 36927  	return s
 36928  }
 36929  
 36930  type ModifyDBClusterSnapshotAttributeInput struct {
 36931  	_ struct{} `type:"structure"`
 36932  
 36933  	// The name of the DB cluster snapshot attribute to modify.
 36934  	//
 36935  	// To manage authorization for other Amazon Web Services accounts to copy or
 36936  	// restore a manual DB cluster snapshot, set this value to restore.
 36937  	//
 36938  	// To view the list of attributes available to modify, use the DescribeDBClusterSnapshotAttributes
 36939  	// API action.
 36940  	//
 36941  	// AttributeName is a required field
 36942  	AttributeName *string `type:"string" required:"true"`
 36943  
 36944  	// The identifier for the DB cluster snapshot to modify the attributes for.
 36945  	//
 36946  	// DBClusterSnapshotIdentifier is a required field
 36947  	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
 36948  
 36949  	// A list of DB cluster snapshot attributes to add to the attribute specified
 36950  	// by AttributeName.
 36951  	//
 36952  	// To authorize other Amazon Web Services accounts to copy or restore a manual
 36953  	// DB cluster snapshot, set this list to include one or more Amazon Web Services
 36954  	// account IDs, or all to make the manual DB cluster snapshot restorable by
 36955  	// any Amazon Web Services account. Do not add the all value for any manual
 36956  	// DB cluster snapshots that contain private information that you don't want
 36957  	// available to all Amazon Web Services accounts.
 36958  	ValuesToAdd []*string `locationNameList:"AttributeValue" type:"list"`
 36959  
 36960  	// A list of DB cluster snapshot attributes to remove from the attribute specified
 36961  	// by AttributeName.
 36962  	//
 36963  	// To remove authorization for other Amazon Web Services accounts to copy or
 36964  	// restore a manual DB cluster snapshot, set this list to include one or more
 36965  	// Amazon Web Services account identifiers, or all to remove authorization for
 36966  	// any Amazon Web Services account to copy or restore the DB cluster snapshot.
 36967  	// If you specify all, an Amazon Web Services account whose account ID is explicitly
 36968  	// added to the restore attribute can still copy or restore a manual DB cluster
 36969  	// snapshot.
 36970  	ValuesToRemove []*string `locationNameList:"AttributeValue" type:"list"`
 36971  }
 36972  
 36973  // String returns the string representation.
 36974  //
 36975  // API parameter values that are decorated as "sensitive" in the API will not
 36976  // be included in the string output. The member name will be present, but the
 36977  // value will be replaced with "sensitive".
 36978  func (s ModifyDBClusterSnapshotAttributeInput) String() string {
 36979  	return awsutil.Prettify(s)
 36980  }
 36981  
 36982  // GoString returns the string representation.
 36983  //
 36984  // API parameter values that are decorated as "sensitive" in the API will not
 36985  // be included in the string output. The member name will be present, but the
 36986  // value will be replaced with "sensitive".
 36987  func (s ModifyDBClusterSnapshotAttributeInput) GoString() string {
 36988  	return s.String()
 36989  }
 36990  
 36991  // Validate inspects the fields of the type to determine if they are valid.
 36992  func (s *ModifyDBClusterSnapshotAttributeInput) Validate() error {
 36993  	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterSnapshotAttributeInput"}
 36994  	if s.AttributeName == nil {
 36995  		invalidParams.Add(request.NewErrParamRequired("AttributeName"))
 36996  	}
 36997  	if s.DBClusterSnapshotIdentifier == nil {
 36998  		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
 36999  	}
 37000  
 37001  	if invalidParams.Len() > 0 {
 37002  		return invalidParams
 37003  	}
 37004  	return nil
 37005  }
 37006  
 37007  // SetAttributeName sets the AttributeName field's value.
 37008  func (s *ModifyDBClusterSnapshotAttributeInput) SetAttributeName(v string) *ModifyDBClusterSnapshotAttributeInput {
 37009  	s.AttributeName = &v
 37010  	return s
 37011  }
 37012  
 37013  // SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
 37014  func (s *ModifyDBClusterSnapshotAttributeInput) SetDBClusterSnapshotIdentifier(v string) *ModifyDBClusterSnapshotAttributeInput {
 37015  	s.DBClusterSnapshotIdentifier = &v
 37016  	return s
 37017  }
 37018  
 37019  // SetValuesToAdd sets the ValuesToAdd field's value.
 37020  func (s *ModifyDBClusterSnapshotAttributeInput) SetValuesToAdd(v []*string) *ModifyDBClusterSnapshotAttributeInput {
 37021  	s.ValuesToAdd = v
 37022  	return s
 37023  }
 37024  
 37025  // SetValuesToRemove sets the ValuesToRemove field's value.
 37026  func (s *ModifyDBClusterSnapshotAttributeInput) SetValuesToRemove(v []*string) *ModifyDBClusterSnapshotAttributeInput {
 37027  	s.ValuesToRemove = v
 37028  	return s
 37029  }
 37030  
 37031  type ModifyDBClusterSnapshotAttributeOutput struct {
 37032  	_ struct{} `type:"structure"`
 37033  
 37034  	// Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes
 37035  	// API action.
 37036  	//
 37037  	// Manual DB cluster snapshot attributes are used to authorize other Amazon
 37038  	// Web Services accounts to copy or restore a manual DB cluster snapshot. For
 37039  	// more information, see the ModifyDBClusterSnapshotAttribute API action.
 37040  	DBClusterSnapshotAttributesResult *DBClusterSnapshotAttributesResult `type:"structure"`
 37041  }
 37042  
 37043  // String returns the string representation.
 37044  //
 37045  // API parameter values that are decorated as "sensitive" in the API will not
 37046  // be included in the string output. The member name will be present, but the
 37047  // value will be replaced with "sensitive".
 37048  func (s ModifyDBClusterSnapshotAttributeOutput) String() string {
 37049  	return awsutil.Prettify(s)
 37050  }
 37051  
 37052  // GoString returns the string representation.
 37053  //
 37054  // API parameter values that are decorated as "sensitive" in the API will not
 37055  // be included in the string output. The member name will be present, but the
 37056  // value will be replaced with "sensitive".
 37057  func (s ModifyDBClusterSnapshotAttributeOutput) GoString() string {
 37058  	return s.String()
 37059  }
 37060  
 37061  // SetDBClusterSnapshotAttributesResult sets the DBClusterSnapshotAttributesResult field's value.
 37062  func (s *ModifyDBClusterSnapshotAttributeOutput) SetDBClusterSnapshotAttributesResult(v *DBClusterSnapshotAttributesResult) *ModifyDBClusterSnapshotAttributeOutput {
 37063  	s.DBClusterSnapshotAttributesResult = v
 37064  	return s
 37065  }
 37066  
 37067  type ModifyDBInstanceInput struct {
 37068  	_ struct{} `type:"structure"`
 37069  
 37070  	// The new amount of storage in gibibytes (GiB) to allocate for the DB instance.
 37071  	//
 37072  	// For MariaDB, MySQL, Oracle, and PostgreSQL, the value supplied must be at
 37073  	// least 10% greater than the current value. Values that are not at least 10%
 37074  	// greater than the existing value are rounded up so that they are 10% greater
 37075  	// than the current value.
 37076  	//
 37077  	// For the valid values for allocated storage for each engine, see CreateDBInstance.
 37078  	AllocatedStorage *int64 `type:"integer"`
 37079  
 37080  	// A value that indicates whether major version upgrades are allowed. Changing
 37081  	// this parameter doesn't result in an outage and the change is asynchronously
 37082  	// applied as soon as possible.
 37083  	//
 37084  	// Constraints: Major version upgrades must be allowed when specifying a value
 37085  	// for the EngineVersion parameter that is a different major version than the
 37086  	// DB instance's current version.
 37087  	AllowMajorVersionUpgrade *bool `type:"boolean"`
 37088  
 37089  	// A value that indicates whether the modifications in this request and any
 37090  	// pending modifications are asynchronously applied as soon as possible, regardless
 37091  	// of the PreferredMaintenanceWindow setting for the DB instance. By default,
 37092  	// this parameter is disabled.
 37093  	//
 37094  	// If this parameter is disabled, changes to the DB instance are applied during
 37095  	// the next maintenance window. Some parameter changes can cause an outage and
 37096  	// are applied on the next call to RebootDBInstance, or the next failure reboot.
 37097  	// Review the table of parameters in Modifying a DB Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html)
 37098  	// in the Amazon RDS User Guide. to see the impact of enabling or disabling
 37099  	// ApplyImmediately for each modified parameter and to determine when the changes
 37100  	// are applied.
 37101  	ApplyImmediately *bool `type:"boolean"`
 37102  
 37103  	// A value that indicates whether minor version upgrades are applied automatically
 37104  	// to the DB instance during the maintenance window. Changing this parameter
 37105  	// doesn't result in an outage except in the following case and the change is
 37106  	// asynchronously applied as soon as possible. An outage results if this parameter
 37107  	// is enabled during the maintenance window, and a newer minor version is available,
 37108  	// and RDS has enabled auto patching for that engine version.
 37109  	AutoMinorVersionUpgrade *bool `type:"boolean"`
 37110  
 37111  	// The Amazon Resource Name (ARN) of the recovery point in Amazon Web Services
 37112  	// Backup.
 37113  	AwsBackupRecoveryPointArn *string `min:"43" type:"string"`
 37114  
 37115  	// The number of days to retain automated backups. Setting this parameter to
 37116  	// a positive number enables backups. Setting this parameter to 0 disables automated
 37117  	// backups.
 37118  	//
 37119  	// Enabling and disabling backups can result in a brief I/O suspension that
 37120  	// lasts from a few seconds to a few minutes, depending on the size and class
 37121  	// of your DB instance.
 37122  	//
 37123  	// These changes are applied during the next maintenance window unless the ApplyImmediately
 37124  	// parameter is enabled for this request. If you change the parameter from one
 37125  	// non-zero value to another non-zero value, the change is asynchronously applied
 37126  	// as soon as possible.
 37127  	//
 37128  	// Amazon Aurora
 37129  	//
 37130  	// Not applicable. The retention period for automated backups is managed by
 37131  	// the DB cluster. For more information, see ModifyDBCluster.
 37132  	//
 37133  	// Default: Uses existing setting
 37134  	//
 37135  	// Constraints:
 37136  	//
 37137  	//    * Must be a value from 0 to 35
 37138  	//
 37139  	//    * Can be specified for a MySQL read replica only if the source is running
 37140  	//    MySQL 5.6 or later
 37141  	//
 37142  	//    * Can be specified for a PostgreSQL read replica only if the source is
 37143  	//    running PostgreSQL 9.3.5
 37144  	//
 37145  	//    * Can't be set to 0 if the DB instance is a source to read replicas
 37146  	BackupRetentionPeriod *int64 `type:"integer"`
 37147  
 37148  	// Indicates the certificate that needs to be associated with the instance.
 37149  	CACertificateIdentifier *string `type:"string"`
 37150  
 37151  	// A value that indicates whether the DB instance is restarted when you rotate
 37152  	// your SSL/TLS certificate.
 37153  	//
 37154  	// By default, the DB instance is restarted when you rotate your SSL/TLS certificate.
 37155  	// The certificate is not updated until the DB instance is restarted.
 37156  	//
 37157  	// Set this parameter only if you are not using SSL/TLS to connect to the DB
 37158  	// instance.
 37159  	//
 37160  	// If you are using SSL/TLS to connect to the DB instance, follow the appropriate
 37161  	// instructions for your DB engine to rotate your SSL/TLS certificate:
 37162  	//
 37163  	//    * For more information about rotating your SSL/TLS certificate for RDS
 37164  	//    DB engines, see Rotating Your SSL/TLS Certificate. (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html)
 37165  	//    in the Amazon RDS User Guide.
 37166  	//
 37167  	//    * For more information about rotating your SSL/TLS certificate for Aurora
 37168  	//    DB engines, see Rotating Your SSL/TLS Certificate (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL-certificate-rotation.html)
 37169  	//    in the Amazon Aurora User Guide.
 37170  	CertificateRotationRestart *bool `type:"boolean"`
 37171  
 37172  	// The configuration setting for the log types to be enabled for export to CloudWatch
 37173  	// Logs for a specific DB instance.
 37174  	//
 37175  	// A change to the CloudwatchLogsExportConfiguration parameter is always applied
 37176  	// to the DB instance immediately. Therefore, the ApplyImmediately parameter
 37177  	// has no effect.
 37178  	CloudwatchLogsExportConfiguration *CloudwatchLogsExportConfiguration `type:"structure"`
 37179  
 37180  	// A value that indicates whether to copy all tags from the DB instance to snapshots
 37181  	// of the DB instance. By default, tags are not copied.
 37182  	//
 37183  	// Amazon Aurora
 37184  	//
 37185  	// Not applicable. Copying tags to snapshots is managed by the DB cluster. Setting
 37186  	// this value for an Aurora DB instance has no effect on the DB cluster setting.
 37187  	// For more information, see ModifyDBCluster.
 37188  	CopyTagsToSnapshot *bool `type:"boolean"`
 37189  
 37190  	// The new compute and memory capacity of the DB instance, for example, db.m4.large.
 37191  	// Not all DB instance classes are available in all Amazon Web Services Regions,
 37192  	// or for all database engines. For the full list of DB instance classes, and
 37193  	// availability for your engine, see DB Instance Class (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
 37194  	// in the Amazon RDS User Guide.
 37195  	//
 37196  	// If you modify the DB instance class, an outage occurs during the change.
 37197  	// The change is applied during the next maintenance window, unless ApplyImmediately
 37198  	// is enabled for this request.
 37199  	//
 37200  	// Default: Uses existing setting
 37201  	DBInstanceClass *string `type:"string"`
 37202  
 37203  	// The DB instance identifier. This value is stored as a lowercase string.
 37204  	//
 37205  	// Constraints:
 37206  	//
 37207  	//    * Must match the identifier of an existing DBInstance.
 37208  	//
 37209  	// DBInstanceIdentifier is a required field
 37210  	DBInstanceIdentifier *string `type:"string" required:"true"`
 37211  
 37212  	// The name of the DB parameter group to apply to the DB instance. Changing
 37213  	// this setting doesn't result in an outage. The parameter group name itself
 37214  	// is changed immediately, but the actual parameter changes are not applied
 37215  	// until you reboot the instance without failover. In this case, the DB instance
 37216  	// isn't rebooted automatically and the parameter changes isn't applied during
 37217  	// the next maintenance window.
 37218  	//
 37219  	// Default: Uses existing setting
 37220  	//
 37221  	// Constraints: The DB parameter group must be in the same DB parameter group
 37222  	// family as this DB instance.
 37223  	DBParameterGroupName *string `type:"string"`
 37224  
 37225  	// The port number on which the database accepts connections.
 37226  	//
 37227  	// The value of the DBPortNumber parameter must not match any of the port values
 37228  	// specified for options in the option group for the DB instance.
 37229  	//
 37230  	// Your database will restart when you change the DBPortNumber value regardless
 37231  	// of the value of the ApplyImmediately parameter.
 37232  	//
 37233  	// MySQL
 37234  	//
 37235  	// Default: 3306
 37236  	//
 37237  	// Valid values: 1150-65535
 37238  	//
 37239  	// MariaDB
 37240  	//
 37241  	// Default: 3306
 37242  	//
 37243  	// Valid values: 1150-65535
 37244  	//
 37245  	// PostgreSQL
 37246  	//
 37247  	// Default: 5432
 37248  	//
 37249  	// Valid values: 1150-65535
 37250  	//
 37251  	// Type: Integer
 37252  	//
 37253  	// Oracle
 37254  	//
 37255  	// Default: 1521
 37256  	//
 37257  	// Valid values: 1150-65535
 37258  	//
 37259  	// SQL Server
 37260  	//
 37261  	// Default: 1433
 37262  	//
 37263  	// Valid values: 1150-65535 except 1234, 1434, 3260, 3343, 3389, 47001, and
 37264  	// 49152-49156.
 37265  	//
 37266  	// Amazon Aurora
 37267  	//
 37268  	// Default: 3306
 37269  	//
 37270  	// Valid values: 1150-65535
 37271  	DBPortNumber *int64 `type:"integer"`
 37272  
 37273  	// A list of DB security groups to authorize on this DB instance. Changing this
 37274  	// setting doesn't result in an outage and the change is asynchronously applied
 37275  	// as soon as possible.
 37276  	//
 37277  	// Constraints:
 37278  	//
 37279  	//    * If supplied, must match existing DBSecurityGroups.
 37280  	DBSecurityGroups []*string `locationNameList:"DBSecurityGroupName" type:"list"`
 37281  
 37282  	// The new DB subnet group for the DB instance. You can use this parameter to
 37283  	// move your DB instance to a different VPC. If your DB instance isn't in a
 37284  	// VPC, you can also use this parameter to move your DB instance into a VPC.
 37285  	// For more information, see Working with a DB instance in a VPC (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html#USER_VPC.Non-VPC2VPC)
 37286  	// in the Amazon RDS User Guide.
 37287  	//
 37288  	// Changing the subnet group causes an outage during the change. The change
 37289  	// is applied during the next maintenance window, unless you enable ApplyImmediately.
 37290  	//
 37291  	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
 37292  	//
 37293  	// Example: mySubnetGroup
 37294  	DBSubnetGroupName *string `type:"string"`
 37295  
 37296  	// A value that indicates whether the DB instance has deletion protection enabled.
 37297  	// The database can't be deleted when deletion protection is enabled. By default,
 37298  	// deletion protection is disabled. For more information, see Deleting a DB
 37299  	// Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html).
 37300  	DeletionProtection *bool `type:"boolean"`
 37301  
 37302  	// The Active Directory directory ID to move the DB instance to. Specify none
 37303  	// to remove the instance from its current domain. The domain must be created
 37304  	// prior to this operation. Currently, only MySQL, Microsoft SQL Server, Oracle,
 37305  	// and PostgreSQL DB instances can be created in an Active Directory Domain.
 37306  	//
 37307  	// For more information, see Kerberos Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/kerberos-authentication.html)
 37308  	// in the Amazon RDS User Guide.
 37309  	Domain *string `type:"string"`
 37310  
 37311  	// The name of the IAM role to use when making API calls to the Directory Service.
 37312  	DomainIAMRoleName *string `type:"string"`
 37313  
 37314  	// A value that indicates whether to enable a customer-owned IP address (CoIP)
 37315  	// for an RDS on Outposts DB instance.
 37316  	//
 37317  	// A CoIP provides local or external connectivity to resources in your Outpost
 37318  	// subnets through your on-premises network. For some use cases, a CoIP can
 37319  	// provide lower latency for connections to the DB instance from outside of
 37320  	// its virtual private cloud (VPC) on your local network.
 37321  	//
 37322  	// For more information about RDS on Outposts, see Working with Amazon RDS on
 37323  	// Amazon Web Services Outposts (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html)
 37324  	// in the Amazon RDS User Guide.
 37325  	//
 37326  	// For more information about CoIPs, see Customer-owned IP addresses (https://docs.aws.amazon.com/outposts/latest/userguide/outposts-networking-components.html#ip-addressing)
 37327  	// in the Amazon Web Services Outposts User Guide.
 37328  	EnableCustomerOwnedIp *bool `type:"boolean"`
 37329  
 37330  	// A value that indicates whether to enable mapping of Amazon Web Services Identity
 37331  	// and Access Management (IAM) accounts to database accounts. By default, mapping
 37332  	// is disabled.
 37333  	//
 37334  	// This setting doesn't apply to Amazon Aurora. Mapping Amazon Web Services
 37335  	// IAM accounts to database accounts is managed by the DB cluster.
 37336  	//
 37337  	// For more information about IAM database authentication, see IAM Database
 37338  	// Authentication for MySQL and PostgreSQL (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)
 37339  	// in the Amazon RDS User Guide.
 37340  	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
 37341  
 37342  	// A value that indicates whether to enable Performance Insights for the DB
 37343  	// instance.
 37344  	//
 37345  	// For more information, see Using Amazon Performance Insights (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html)
 37346  	// in the Amazon Relational Database Service User Guide.
 37347  	EnablePerformanceInsights *bool `type:"boolean"`
 37348  
 37349  	// The version number of the database engine to upgrade to. Changing this parameter
 37350  	// results in an outage and the change is applied during the next maintenance
 37351  	// window unless the ApplyImmediately parameter is enabled for this request.
 37352  	//
 37353  	// For major version upgrades, if a nondefault DB parameter group is currently
 37354  	// in use, a new DB parameter group in the DB parameter group family for the
 37355  	// new engine version must be specified. The new DB parameter group can be the
 37356  	// default for that DB parameter group family.
 37357  	//
 37358  	// If you specify only a major version, Amazon RDS will update the DB instance
 37359  	// to the default minor version if the current minor version is lower. For information
 37360  	// about valid engine versions, see CreateDBInstance, or call DescribeDBEngineVersions.
 37361  	EngineVersion *string `type:"string"`
 37362  
 37363  	// The new Provisioned IOPS (I/O operations per second) value for the RDS instance.
 37364  	//
 37365  	// Changing this setting doesn't result in an outage and the change is applied
 37366  	// during the next maintenance window unless the ApplyImmediately parameter
 37367  	// is enabled for this request. If you are migrating from Provisioned IOPS to
 37368  	// standard storage, set this value to 0. The DB instance will require a reboot
 37369  	// for the change in storage type to take effect.
 37370  	//
 37371  	// If you choose to migrate your DB instance from using standard storage to
 37372  	// using Provisioned IOPS, or from using Provisioned IOPS to using standard
 37373  	// storage, the process can take time. The duration of the migration depends
 37374  	// on several factors such as database load, storage size, storage type (standard
 37375  	// or Provisioned IOPS), amount of IOPS provisioned (if any), and the number
 37376  	// of prior scale storage operations. Typical migration times are under 24 hours,
 37377  	// but the process can take up to several days in some cases. During the migration,
 37378  	// the DB instance is available for use, but might experience performance degradation.
 37379  	// While the migration takes place, nightly backups for the instance are suspended.
 37380  	// No other Amazon RDS operations can take place for the instance, including
 37381  	// modifying the instance, rebooting the instance, deleting the instance, creating
 37382  	// a read replica for the instance, and creating a DB snapshot of the instance.
 37383  	//
 37384  	// Constraints: For MariaDB, MySQL, Oracle, and PostgreSQL, the value supplied
 37385  	// must be at least 10% greater than the current value. Values that are not
 37386  	// at least 10% greater than the existing value are rounded up so that they
 37387  	// are 10% greater than the current value.
 37388  	//
 37389  	// Default: Uses existing setting
 37390  	Iops *int64 `type:"integer"`
 37391  
 37392  	// The license model for the DB instance.
 37393  	//
 37394  	// Valid values: license-included | bring-your-own-license | general-public-license
 37395  	LicenseModel *string `type:"string"`
 37396  
 37397  	// The new password for the master user. The password can include any printable
 37398  	// ASCII character except "/", """, or "@".
 37399  	//
 37400  	// Changing this parameter doesn't result in an outage and the change is asynchronously
 37401  	// applied as soon as possible. Between the time of the request and the completion
 37402  	// of the request, the MasterUserPassword element exists in the PendingModifiedValues
 37403  	// element of the operation response.
 37404  	//
 37405  	// Amazon Aurora
 37406  	//
 37407  	// Not applicable. The password for the master user is managed by the DB cluster.
 37408  	// For more information, see ModifyDBCluster.
 37409  	//
 37410  	// Default: Uses existing setting
 37411  	//
 37412  	// MariaDB
 37413  	//
 37414  	// Constraints: Must contain from 8 to 41 characters.
 37415  	//
 37416  	// Microsoft SQL Server
 37417  	//
 37418  	// Constraints: Must contain from 8 to 128 characters.
 37419  	//
 37420  	// MySQL
 37421  	//
 37422  	// Constraints: Must contain from 8 to 41 characters.
 37423  	//
 37424  	// Oracle
 37425  	//
 37426  	// Constraints: Must contain from 8 to 30 characters.
 37427  	//
 37428  	// PostgreSQL
 37429  	//
 37430  	// Constraints: Must contain from 8 to 128 characters.
 37431  	//
 37432  	// Amazon RDS API actions never return the password, so this action provides
 37433  	// a way to regain access to a primary instance user if the password is lost.
 37434  	// This includes restoring privileges that might have been accidentally revoked.
 37435  	MasterUserPassword *string `type:"string"`
 37436  
 37437  	// The upper limit in gibibytes (GiB) to which Amazon RDS can automatically
 37438  	// scale the storage of the DB instance.
 37439  	//
 37440  	// For more information about this setting, including limitations that apply
 37441  	// to it, see Managing capacity automatically with Amazon RDS storage autoscaling
 37442  	// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.Autoscaling)
 37443  	// in the Amazon RDS User Guide.
 37444  	MaxAllocatedStorage *int64 `type:"integer"`
 37445  
 37446  	// The interval, in seconds, between points when Enhanced Monitoring metrics
 37447  	// are collected for the DB instance. To disable collecting Enhanced Monitoring
 37448  	// metrics, specify 0. The default is 0.
 37449  	//
 37450  	// If MonitoringRoleArn is specified, then you must also set MonitoringInterval
 37451  	// to a value other than 0.
 37452  	//
 37453  	// Valid Values: 0, 1, 5, 10, 15, 30, 60
 37454  	MonitoringInterval *int64 `type:"integer"`
 37455  
 37456  	// The ARN for the IAM role that permits RDS to send enhanced monitoring metrics
 37457  	// to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.
 37458  	// For information on creating a monitoring role, go to To create an IAM role
 37459  	// for Amazon RDS Enhanced Monitoring (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html#USER_Monitoring.OS.IAMRole)
 37460  	// in the Amazon RDS User Guide.
 37461  	//
 37462  	// If MonitoringInterval is set to a value other than 0, then you must supply
 37463  	// a MonitoringRoleArn value.
 37464  	MonitoringRoleArn *string `type:"string"`
 37465  
 37466  	// A value that indicates whether the DB instance is a Multi-AZ deployment.
 37467  	// Changing this parameter doesn't result in an outage and the change is applied
 37468  	// during the next maintenance window unless the ApplyImmediately parameter
 37469  	// is enabled for this request.
 37470  	MultiAZ *bool `type:"boolean"`
 37471  
 37472  	// The new DB instance identifier for the DB instance when renaming a DB instance.
 37473  	// When you change the DB instance identifier, an instance reboot occurs immediately
 37474  	// if you enable ApplyImmediately, or will occur during the next maintenance
 37475  	// window if you disable Apply Immediately. This value is stored as a lowercase
 37476  	// string.
 37477  	//
 37478  	// Constraints:
 37479  	//
 37480  	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
 37481  	//
 37482  	//    * The first character must be a letter.
 37483  	//
 37484  	//    * Can't end with a hyphen or contain two consecutive hyphens.
 37485  	//
 37486  	// Example: mydbinstance
 37487  	NewDBInstanceIdentifier *string `type:"string"`
 37488  
 37489  	// A value that indicates the DB instance should be associated with the specified
 37490  	// option group. Changing this parameter doesn't result in an outage except
 37491  	// in the following case and the change is applied during the next maintenance
 37492  	// window unless the ApplyImmediately parameter is enabled for this request.
 37493  	// If the parameter change results in an option group that enables OEM, this
 37494  	// change can cause a brief (sub-second) period during which new connections
 37495  	// are rejected but existing connections are not interrupted.
 37496  	//
 37497  	// Permanent options, such as the TDE option for Oracle Advanced Security TDE,
 37498  	// can't be removed from an option group, and that option group can't be removed
 37499  	// from a DB instance once it is associated with a DB instance
 37500  	OptionGroupName *string `type:"string"`
 37501  
 37502  	// The Amazon Web Services KMS key identifier for encryption of Performance
 37503  	// Insights data.
 37504  	//
 37505  	// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
 37506  	// ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).
 37507  	//
 37508  	// If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon
 37509  	// RDS uses your default CMK. There is a default CMK for your Amazon Web Services
 37510  	// account. Your Amazon Web Services account has a different default CMK for
 37511  	// each Amazon Web Services Region.
 37512  	PerformanceInsightsKMSKeyId *string `type:"string"`
 37513  
 37514  	// The amount of time, in days, to retain Performance Insights data. Valid values
 37515  	// are 7 or 731 (2 years).
 37516  	PerformanceInsightsRetentionPeriod *int64 `type:"integer"`
 37517  
 37518  	// The daily time range during which automated backups are created if automated
 37519  	// backups are enabled, as determined by the BackupRetentionPeriod parameter.
 37520  	// Changing this parameter doesn't result in an outage and the change is asynchronously
 37521  	// applied as soon as possible. The default is a 30-minute window selected at
 37522  	// random from an 8-hour block of time for each Amazon Web Services Region.
 37523  	// For more information, see Backup window (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow)
 37524  	// in the Amazon RDS User Guide.
 37525  	//
 37526  	// Amazon Aurora
 37527  	//
 37528  	// Not applicable. The daily time range for creating automated backups is managed
 37529  	// by the DB cluster. For more information, see ModifyDBCluster.
 37530  	//
 37531  	// Constraints:
 37532  	//
 37533  	//    * Must be in the format hh24:mi-hh24:mi
 37534  	//
 37535  	//    * Must be in Universal Time Coordinated (UTC)
 37536  	//
 37537  	//    * Must not conflict with the preferred maintenance window
 37538  	//
 37539  	//    * Must be at least 30 minutes
 37540  	PreferredBackupWindow *string `type:"string"`
 37541  
 37542  	// The weekly time range (in UTC) during which system maintenance can occur,
 37543  	// which might result in an outage. Changing this parameter doesn't result in
 37544  	// an outage, except in the following situation, and the change is asynchronously
 37545  	// applied as soon as possible. If there are pending actions that cause a reboot,
 37546  	// and the maintenance window is changed to include the current time, then changing
 37547  	// this parameter will cause a reboot of the DB instance. If moving this window
 37548  	// to the current time, there must be at least 30 minutes between the current
 37549  	// time and end of the window to ensure pending changes are applied.
 37550  	//
 37551  	// For more information, see Amazon RDS Maintenance Window (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance)
 37552  	// in the Amazon RDS User Guide.
 37553  	//
 37554  	// Default: Uses existing setting
 37555  	//
 37556  	// Format: ddd:hh24:mi-ddd:hh24:mi
 37557  	//
 37558  	// Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun
 37559  	//
 37560  	// Constraints: Must be at least 30 minutes
 37561  	PreferredMaintenanceWindow *string `type:"string"`
 37562  
 37563  	// The number of CPU cores and the number of threads per core for the DB instance
 37564  	// class of the DB instance.
 37565  	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
 37566  
 37567  	// A value that specifies the order in which an Aurora Replica is promoted to
 37568  	// the primary instance after a failure of the existing primary instance. For
 37569  	// 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)
 37570  	// in the Amazon Aurora User Guide.
 37571  	//
 37572  	// Default: 1
 37573  	//
 37574  	// Valid Values: 0 - 15
 37575  	PromotionTier *int64 `type:"integer"`
 37576  
 37577  	// A value that indicates whether the DB instance is publicly accessible.
 37578  	//
 37579  	// When the DB instance is publicly accessible, its DNS endpoint resolves to
 37580  	// the private IP address from within the DB instance's VPC, and to the public
 37581  	// IP address from outside of the DB instance's VPC. Access to the DB instance
 37582  	// is ultimately controlled by the security group it uses, and that public access
 37583  	// is not permitted if the security group assigned to the DB instance doesn't
 37584  	// permit it.
 37585  	//
 37586  	// When the DB instance isn't publicly accessible, it is an internal DB instance
 37587  	// with a DNS name that resolves to a private IP address.
 37588  	//
 37589  	// PubliclyAccessible only applies to DB instances in a VPC. The DB instance
 37590  	// must be part of a public subnet and PubliclyAccessible must be enabled for
 37591  	// it to be publicly accessible.
 37592  	//
 37593  	// Changes to the PubliclyAccessible parameter are applied immediately regardless
 37594  	// of the value of the ApplyImmediately parameter.
 37595  	PubliclyAccessible *bool `type:"boolean"`
 37596  
 37597  	// A value that sets the open mode of a replica database to either mounted or
 37598  	// read-only.
 37599  	//
 37600  	// Currently, this parameter is only supported for Oracle DB instances.
 37601  	//
 37602  	// Mounted DB replicas are included in Oracle Enterprise Edition. The main use
 37603  	// case for mounted replicas is cross-Region disaster recovery. The primary
 37604  	// database doesn't use Active Data Guard to transmit information to the mounted
 37605  	// replica. Because it doesn't accept user connections, a mounted replica can't
 37606  	// serve a read-only workload. For more information, see Working with Oracle
 37607  	// Read Replicas for Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html)
 37608  	// in the Amazon RDS User Guide.
 37609  	ReplicaMode *string `type:"string" enum:"ReplicaMode"`
 37610  
 37611  	// Specifies the storage type to be associated with the DB instance.
 37612  	//
 37613  	// If you specify Provisioned IOPS (io1), you must also include a value for
 37614  	// the Iops parameter.
 37615  	//
 37616  	// If you choose to migrate your DB instance from using standard storage to
 37617  	// using Provisioned IOPS, or from using Provisioned IOPS to using standard
 37618  	// storage, the process can take time. The duration of the migration depends
 37619  	// on several factors such as database load, storage size, storage type (standard
 37620  	// or Provisioned IOPS), amount of IOPS provisioned (if any), and the number
 37621  	// of prior scale storage operations. Typical migration times are under 24 hours,
 37622  	// but the process can take up to several days in some cases. During the migration,
 37623  	// the DB instance is available for use, but might experience performance degradation.
 37624  	// While the migration takes place, nightly backups for the instance are suspended.
 37625  	// No other Amazon RDS operations can take place for the instance, including
 37626  	// modifying the instance, rebooting the instance, deleting the instance, creating
 37627  	// a read replica for the instance, and creating a DB snapshot of the instance.
 37628  	//
 37629  	// Valid values: standard | gp2 | io1
 37630  	//
 37631  	// Default: io1 if the Iops parameter is specified, otherwise gp2
 37632  	StorageType *string `type:"string"`
 37633  
 37634  	// The ARN from the key store with which to associate the instance for TDE encryption.
 37635  	TdeCredentialArn *string `type:"string"`
 37636  
 37637  	// The password for the given ARN from the key store in order to access the
 37638  	// device.
 37639  	TdeCredentialPassword *string `type:"string"`
 37640  
 37641  	// A value that indicates whether the DB instance class of the DB instance uses
 37642  	// its default processor features.
 37643  	UseDefaultProcessorFeatures *bool `type:"boolean"`
 37644  
 37645  	// A list of EC2 VPC security groups to authorize on this DB instance. This
 37646  	// change is asynchronously applied as soon as possible.
 37647  	//
 37648  	// Amazon Aurora
 37649  	//
 37650  	// Not applicable. The associated list of EC2 VPC security groups is managed
 37651  	// by the DB cluster. For more information, see ModifyDBCluster.
 37652  	//
 37653  	// Constraints:
 37654  	//
 37655  	//    * If supplied, must match existing VpcSecurityGroupIds.
 37656  	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
 37657  }
 37658  
 37659  // String returns the string representation.
 37660  //
 37661  // API parameter values that are decorated as "sensitive" in the API will not
 37662  // be included in the string output. The member name will be present, but the
 37663  // value will be replaced with "sensitive".
 37664  func (s ModifyDBInstanceInput) String() string {
 37665  	return awsutil.Prettify(s)
 37666  }
 37667  
 37668  // GoString returns the string representation.
 37669  //
 37670  // API parameter values that are decorated as "sensitive" in the API will not
 37671  // be included in the string output. The member name will be present, but the
 37672  // value will be replaced with "sensitive".
 37673  func (s ModifyDBInstanceInput) GoString() string {
 37674  	return s.String()
 37675  }
 37676  
 37677  // Validate inspects the fields of the type to determine if they are valid.
 37678  func (s *ModifyDBInstanceInput) Validate() error {
 37679  	invalidParams := request.ErrInvalidParams{Context: "ModifyDBInstanceInput"}
 37680  	if s.AwsBackupRecoveryPointArn != nil && len(*s.AwsBackupRecoveryPointArn) < 43 {
 37681  		invalidParams.Add(request.NewErrParamMinLen("AwsBackupRecoveryPointArn", 43))
 37682  	}
 37683  	if s.DBInstanceIdentifier == nil {
 37684  		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
 37685  	}
 37686  
 37687  	if invalidParams.Len() > 0 {
 37688  		return invalidParams
 37689  	}
 37690  	return nil
 37691  }
 37692  
 37693  // SetAllocatedStorage sets the AllocatedStorage field's value.
 37694  func (s *ModifyDBInstanceInput) SetAllocatedStorage(v int64) *ModifyDBInstanceInput {
 37695  	s.AllocatedStorage = &v
 37696  	return s
 37697  }
 37698  
 37699  // SetAllowMajorVersionUpgrade sets the AllowMajorVersionUpgrade field's value.
 37700  func (s *ModifyDBInstanceInput) SetAllowMajorVersionUpgrade(v bool) *ModifyDBInstanceInput {
 37701  	s.AllowMajorVersionUpgrade = &v
 37702  	return s
 37703  }
 37704  
 37705  // SetApplyImmediately sets the ApplyImmediately field's value.
 37706  func (s *ModifyDBInstanceInput) SetApplyImmediately(v bool) *ModifyDBInstanceInput {
 37707  	s.ApplyImmediately = &v
 37708  	return s
 37709  }
 37710  
 37711  // SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
 37712  func (s *ModifyDBInstanceInput) SetAutoMinorVersionUpgrade(v bool) *ModifyDBInstanceInput {
 37713  	s.AutoMinorVersionUpgrade = &v
 37714  	return s
 37715  }
 37716  
 37717  // SetAwsBackupRecoveryPointArn sets the AwsBackupRecoveryPointArn field's value.
 37718  func (s *ModifyDBInstanceInput) SetAwsBackupRecoveryPointArn(v string) *ModifyDBInstanceInput {
 37719  	s.AwsBackupRecoveryPointArn = &v
 37720  	return s
 37721  }
 37722  
 37723  // SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
 37724  func (s *ModifyDBInstanceInput) SetBackupRetentionPeriod(v int64) *ModifyDBInstanceInput {
 37725  	s.BackupRetentionPeriod = &v
 37726  	return s
 37727  }
 37728  
 37729  // SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
 37730  func (s *ModifyDBInstanceInput) SetCACertificateIdentifier(v string) *ModifyDBInstanceInput {
 37731  	s.CACertificateIdentifier = &v
 37732  	return s
 37733  }
 37734  
 37735  // SetCertificateRotationRestart sets the CertificateRotationRestart field's value.
 37736  func (s *ModifyDBInstanceInput) SetCertificateRotationRestart(v bool) *ModifyDBInstanceInput {
 37737  	s.CertificateRotationRestart = &v
 37738  	return s
 37739  }
 37740  
 37741  // SetCloudwatchLogsExportConfiguration sets the CloudwatchLogsExportConfiguration field's value.
 37742  func (s *ModifyDBInstanceInput) SetCloudwatchLogsExportConfiguration(v *CloudwatchLogsExportConfiguration) *ModifyDBInstanceInput {
 37743  	s.CloudwatchLogsExportConfiguration = v
 37744  	return s
 37745  }
 37746  
 37747  // SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
 37748  func (s *ModifyDBInstanceInput) SetCopyTagsToSnapshot(v bool) *ModifyDBInstanceInput {
 37749  	s.CopyTagsToSnapshot = &v
 37750  	return s
 37751  }
 37752  
 37753  // SetDBInstanceClass sets the DBInstanceClass field's value.
 37754  func (s *ModifyDBInstanceInput) SetDBInstanceClass(v string) *ModifyDBInstanceInput {
 37755  	s.DBInstanceClass = &v
 37756  	return s
 37757  }
 37758  
 37759  // SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
 37760  func (s *ModifyDBInstanceInput) SetDBInstanceIdentifier(v string) *ModifyDBInstanceInput {
 37761  	s.DBInstanceIdentifier = &v
 37762  	return s
 37763  }
 37764  
 37765  // SetDBParameterGroupName sets the DBParameterGroupName field's value.
 37766  func (s *ModifyDBInstanceInput) SetDBParameterGroupName(v string) *ModifyDBInstanceInput {
 37767  	s.DBParameterGroupName = &v
 37768  	return s
 37769  }
 37770  
 37771  // SetDBPortNumber sets the DBPortNumber field's value.
 37772  func (s *ModifyDBInstanceInput) SetDBPortNumber(v int64) *ModifyDBInstanceInput {
 37773  	s.DBPortNumber = &v
 37774  	return s
 37775  }
 37776  
 37777  // SetDBSecurityGroups sets the DBSecurityGroups field's value.
 37778  func (s *ModifyDBInstanceInput) SetDBSecurityGroups(v []*string) *ModifyDBInstanceInput {
 37779  	s.DBSecurityGroups = v
 37780  	return s
 37781  }
 37782  
 37783  // SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
 37784  func (s *ModifyDBInstanceInput) SetDBSubnetGroupName(v string) *ModifyDBInstanceInput {
 37785  	s.DBSubnetGroupName = &v
 37786  	return s
 37787  }
 37788  
 37789  // SetDeletionProtection sets the DeletionProtection field's value.
 37790  func (s *ModifyDBInstanceInput) SetDeletionProtection(v bool) *ModifyDBInstanceInput {
 37791  	s.DeletionProtection = &v
 37792  	return s
 37793  }
 37794  
 37795  // SetDomain sets the Domain field's value.
 37796  func (s *ModifyDBInstanceInput) SetDomain(v string) *ModifyDBInstanceInput {
 37797  	s.Domain = &v
 37798  	return s
 37799  }
 37800  
 37801  // SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
 37802  func (s *ModifyDBInstanceInput) SetDomainIAMRoleName(v string) *ModifyDBInstanceInput {
 37803  	s.DomainIAMRoleName = &v
 37804  	return s
 37805  }
 37806  
 37807  // SetEnableCustomerOwnedIp sets the EnableCustomerOwnedIp field's value.
 37808  func (s *ModifyDBInstanceInput) SetEnableCustomerOwnedIp(v bool) *ModifyDBInstanceInput {
 37809  	s.EnableCustomerOwnedIp = &v
 37810  	return s
 37811  }
 37812  
 37813  // SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
 37814  func (s *ModifyDBInstanceInput) SetEnableIAMDatabaseAuthentication(v bool) *ModifyDBInstanceInput {
 37815  	s.EnableIAMDatabaseAuthentication = &v
 37816  	return s
 37817  }
 37818  
 37819  // SetEnablePerformanceInsights sets the EnablePerformanceInsights field's value.
 37820  func (s *ModifyDBInstanceInput) SetEnablePerformanceInsights(v bool) *ModifyDBInstanceInput {
 37821  	s.EnablePerformanceInsights = &v
 37822  	return s
 37823  }
 37824  
 37825  // SetEngineVersion sets the EngineVersion field's value.
 37826  func (s *ModifyDBInstanceInput) SetEngineVersion(v string) *ModifyDBInstanceInput {
 37827  	s.EngineVersion = &v
 37828  	return s
 37829  }
 37830  
 37831  // SetIops sets the Iops field's value.
 37832  func (s *ModifyDBInstanceInput) SetIops(v int64) *ModifyDBInstanceInput {
 37833  	s.Iops = &v
 37834  	return s
 37835  }
 37836  
 37837  // SetLicenseModel sets the LicenseModel field's value.
 37838  func (s *ModifyDBInstanceInput) SetLicenseModel(v string) *ModifyDBInstanceInput {
 37839  	s.LicenseModel = &v
 37840  	return s
 37841  }
 37842  
 37843  // SetMasterUserPassword sets the MasterUserPassword field's value.
 37844  func (s *ModifyDBInstanceInput) SetMasterUserPassword(v string) *ModifyDBInstanceInput {
 37845  	s.MasterUserPassword = &v
 37846  	return s
 37847  }
 37848  
 37849  // SetMaxAllocatedStorage sets the MaxAllocatedStorage field's value.
 37850  func (s *ModifyDBInstanceInput) SetMaxAllocatedStorage(v int64) *ModifyDBInstanceInput {
 37851  	s.MaxAllocatedStorage = &v
 37852  	return s
 37853  }
 37854  
 37855  // SetMonitoringInterval sets the MonitoringInterval field's value.
 37856  func (s *ModifyDBInstanceInput) SetMonitoringInterval(v int64) *ModifyDBInstanceInput {
 37857  	s.MonitoringInterval = &v
 37858  	return s
 37859  }
 37860  
 37861  // SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
 37862  func (s *ModifyDBInstanceInput) SetMonitoringRoleArn(v string) *ModifyDBInstanceInput {
 37863  	s.MonitoringRoleArn = &v
 37864  	return s
 37865  }
 37866  
 37867  // SetMultiAZ sets the MultiAZ field's value.
 37868  func (s *ModifyDBInstanceInput) SetMultiAZ(v bool) *ModifyDBInstanceInput {
 37869  	s.MultiAZ = &v
 37870  	return s
 37871  }
 37872  
 37873  // SetNewDBInstanceIdentifier sets the NewDBInstanceIdentifier field's value.
 37874  func (s *ModifyDBInstanceInput) SetNewDBInstanceIdentifier(v string) *ModifyDBInstanceInput {
 37875  	s.NewDBInstanceIdentifier = &v
 37876  	return s
 37877  }
 37878  
 37879  // SetOptionGroupName sets the OptionGroupName field's value.
 37880  func (s *ModifyDBInstanceInput) SetOptionGroupName(v string) *ModifyDBInstanceInput {
 37881  	s.OptionGroupName = &v
 37882  	return s
 37883  }
 37884  
 37885  // SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
 37886  func (s *ModifyDBInstanceInput) SetPerformanceInsightsKMSKeyId(v string) *ModifyDBInstanceInput {
 37887  	s.PerformanceInsightsKMSKeyId = &v
 37888  	return s
 37889  }
 37890  
 37891  // SetPerformanceInsightsRetentionPeriod sets the PerformanceInsightsRetentionPeriod field's value.
 37892  func (s *ModifyDBInstanceInput) SetPerformanceInsightsRetentionPeriod(v int64) *ModifyDBInstanceInput {
 37893  	s.PerformanceInsightsRetentionPeriod = &v
 37894  	return s
 37895  }
 37896  
 37897  // SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
 37898  func (s *ModifyDBInstanceInput) SetPreferredBackupWindow(v string) *ModifyDBInstanceInput {
 37899  	s.PreferredBackupWindow = &v
 37900  	return s
 37901  }
 37902  
 37903  // SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
 37904  func (s *ModifyDBInstanceInput) SetPreferredMaintenanceWindow(v string) *ModifyDBInstanceInput {
 37905  	s.PreferredMaintenanceWindow = &v
 37906  	return s
 37907  }
 37908  
 37909  // SetProcessorFeatures sets the ProcessorFeatures field's value.
 37910  func (s *ModifyDBInstanceInput) SetProcessorFeatures(v []*ProcessorFeature) *ModifyDBInstanceInput {
 37911  	s.ProcessorFeatures = v
 37912  	return s
 37913  }
 37914  
 37915  // SetPromotionTier sets the PromotionTier field's value.
 37916  func (s *ModifyDBInstanceInput) SetPromotionTier(v int64) *ModifyDBInstanceInput {
 37917  	s.PromotionTier = &v
 37918  	return s
 37919  }
 37920  
 37921  // SetPubliclyAccessible sets the PubliclyAccessible field's value.
 37922  func (s *ModifyDBInstanceInput) SetPubliclyAccessible(v bool) *ModifyDBInstanceInput {
 37923  	s.PubliclyAccessible = &v
 37924  	return s
 37925  }
 37926  
 37927  // SetReplicaMode sets the ReplicaMode field's value.
 37928  func (s *ModifyDBInstanceInput) SetReplicaMode(v string) *ModifyDBInstanceInput {
 37929  	s.ReplicaMode = &v
 37930  	return s
 37931  }
 37932  
 37933  // SetStorageType sets the StorageType field's value.
 37934  func (s *ModifyDBInstanceInput) SetStorageType(v string) *ModifyDBInstanceInput {
 37935  	s.StorageType = &v
 37936  	return s
 37937  }
 37938  
 37939  // SetTdeCredentialArn sets the TdeCredentialArn field's value.
 37940  func (s *ModifyDBInstanceInput) SetTdeCredentialArn(v string) *ModifyDBInstanceInput {
 37941  	s.TdeCredentialArn = &v
 37942  	return s
 37943  }
 37944  
 37945  // SetTdeCredentialPassword sets the TdeCredentialPassword field's value.
 37946  func (s *ModifyDBInstanceInput) SetTdeCredentialPassword(v string) *ModifyDBInstanceInput {
 37947  	s.TdeCredentialPassword = &v
 37948  	return s
 37949  }
 37950  
 37951  // SetUseDefaultProcessorFeatures sets the UseDefaultProcessorFeatures field's value.
 37952  func (s *ModifyDBInstanceInput) SetUseDefaultProcessorFeatures(v bool) *ModifyDBInstanceInput {
 37953  	s.UseDefaultProcessorFeatures = &v
 37954  	return s
 37955  }
 37956  
 37957  // SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
 37958  func (s *ModifyDBInstanceInput) SetVpcSecurityGroupIds(v []*string) *ModifyDBInstanceInput {
 37959  	s.VpcSecurityGroupIds = v
 37960  	return s
 37961  }
 37962  
 37963  type ModifyDBInstanceOutput struct {
 37964  	_ struct{} `type:"structure"`
 37965  
 37966  	// Contains the details of an Amazon RDS DB instance.
 37967  	//
 37968  	// This data type is used as a response element in the DescribeDBInstances action.
 37969  	DBInstance *DBInstance `type:"structure"`
 37970  }
 37971  
 37972  // String returns the string representation.
 37973  //
 37974  // API parameter values that are decorated as "sensitive" in the API will not
 37975  // be included in the string output. The member name will be present, but the
 37976  // value will be replaced with "sensitive".
 37977  func (s ModifyDBInstanceOutput) String() string {
 37978  	return awsutil.Prettify(s)
 37979  }
 37980  
 37981  // GoString returns the string representation.
 37982  //
 37983  // API parameter values that are decorated as "sensitive" in the API will not
 37984  // be included in the string output. The member name will be present, but the
 37985  // value will be replaced with "sensitive".
 37986  func (s ModifyDBInstanceOutput) GoString() string {
 37987  	return s.String()
 37988  }
 37989  
 37990  // SetDBInstance sets the DBInstance field's value.
 37991  func (s *ModifyDBInstanceOutput) SetDBInstance(v *DBInstance) *ModifyDBInstanceOutput {
 37992  	s.DBInstance = v
 37993  	return s
 37994  }
 37995  
 37996  type ModifyDBParameterGroupInput struct {
 37997  	_ struct{} `type:"structure"`
 37998  
 37999  	// The name of the DB parameter group.
 38000  	//
 38001  	// Constraints:
 38002  	//
 38003  	//    * If supplied, must match the name of an existing DBParameterGroup.
 38004  	//
 38005  	// DBParameterGroupName is a required field
 38006  	DBParameterGroupName *string `type:"string" required:"true"`
 38007  
 38008  	// An array of parameter names, values, and the application methods for the
 38009  	// parameter update. At least one parameter name, value, and application method
 38010  	// method must be supplied; later arguments are optional. A maximum of 20 parameters
 38011  	// can be modified in a single request.
 38012  	//
 38013  	// Valid Values (for the application method): immediate | pending-reboot
 38014  	//
 38015  	// You can use the immediate value with dynamic parameters only. You can use
 38016  	// the pending-reboot value for both dynamic and static parameters.
 38017  	//
 38018  	// When the application method is immediate, changes to dynamic parameters are
 38019  	// applied immediately to the DB instances associated with the parameter group.
 38020  	// When the application method is pending-reboot, changes to dynamic and static
 38021  	// parameters are applied after a reboot without failover to the DB instances
 38022  	// associated with the parameter group.
 38023  	//
 38024  	// Parameters is a required field
 38025  	Parameters []*Parameter `locationNameList:"Parameter" type:"list" required:"true"`
 38026  }
 38027  
 38028  // String returns the string representation.
 38029  //
 38030  // API parameter values that are decorated as "sensitive" in the API will not
 38031  // be included in the string output. The member name will be present, but the
 38032  // value will be replaced with "sensitive".
 38033  func (s ModifyDBParameterGroupInput) String() string {
 38034  	return awsutil.Prettify(s)
 38035  }
 38036  
 38037  // GoString returns the string representation.
 38038  //
 38039  // API parameter values that are decorated as "sensitive" in the API will not
 38040  // be included in the string output. The member name will be present, but the
 38041  // value will be replaced with "sensitive".
 38042  func (s ModifyDBParameterGroupInput) GoString() string {
 38043  	return s.String()
 38044  }
 38045  
 38046  // Validate inspects the fields of the type to determine if they are valid.
 38047  func (s *ModifyDBParameterGroupInput) Validate() error {
 38048  	invalidParams := request.ErrInvalidParams{Context: "ModifyDBParameterGroupInput"}
 38049  	if s.DBParameterGroupName == nil {
 38050  		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
 38051  	}
 38052  	if s.Parameters == nil {
 38053  		invalidParams.Add(request.NewErrParamRequired("Parameters"))
 38054  	}
 38055  
 38056  	if invalidParams.Len() > 0 {
 38057  		return invalidParams
 38058  	}
 38059  	return nil
 38060  }
 38061  
 38062  // SetDBParameterGroupName sets the DBParameterGroupName field's value.
 38063  func (s *ModifyDBParameterGroupInput) SetDBParameterGroupName(v string) *ModifyDBParameterGroupInput {
 38064  	s.DBParameterGroupName = &v
 38065  	return s
 38066  }
 38067  
 38068  // SetParameters sets the Parameters field's value.
 38069  func (s *ModifyDBParameterGroupInput) SetParameters(v []*Parameter) *ModifyDBParameterGroupInput {
 38070  	s.Parameters = v
 38071  	return s
 38072  }
 38073  
 38074  type ModifyDBProxyEndpointInput struct {
 38075  	_ struct{} `type:"structure"`
 38076  
 38077  	// The name of the DB proxy sociated with the DB proxy endpoint that you want
 38078  	// to modify.
 38079  	//
 38080  	// DBProxyEndpointName is a required field
 38081  	DBProxyEndpointName *string `min:"1" type:"string" required:"true"`
 38082  
 38083  	// The new identifier for the DBProxyEndpoint. An identifier must begin with
 38084  	// a letter and must contain only ASCII letters, digits, and hyphens; it can't
 38085  	// end with a hyphen or contain two consecutive hyphens.
 38086  	NewDBProxyEndpointName *string `min:"1" type:"string"`
 38087  
 38088  	// The VPC security group IDs for the DB proxy endpoint. When the DB proxy endpoint
 38089  	// uses a different VPC than the original proxy, you also specify a different
 38090  	// set of security group IDs than for the original proxy.
 38091  	VpcSecurityGroupIds []*string `type:"list"`
 38092  }
 38093  
 38094  // String returns the string representation.
 38095  //
 38096  // API parameter values that are decorated as "sensitive" in the API will not
 38097  // be included in the string output. The member name will be present, but the
 38098  // value will be replaced with "sensitive".
 38099  func (s ModifyDBProxyEndpointInput) String() string {
 38100  	return awsutil.Prettify(s)
 38101  }
 38102  
 38103  // GoString returns the string representation.
 38104  //
 38105  // API parameter values that are decorated as "sensitive" in the API will not
 38106  // be included in the string output. The member name will be present, but the
 38107  // value will be replaced with "sensitive".
 38108  func (s ModifyDBProxyEndpointInput) GoString() string {
 38109  	return s.String()
 38110  }
 38111  
 38112  // Validate inspects the fields of the type to determine if they are valid.
 38113  func (s *ModifyDBProxyEndpointInput) Validate() error {
 38114  	invalidParams := request.ErrInvalidParams{Context: "ModifyDBProxyEndpointInput"}
 38115  	if s.DBProxyEndpointName == nil {
 38116  		invalidParams.Add(request.NewErrParamRequired("DBProxyEndpointName"))
 38117  	}
 38118  	if s.DBProxyEndpointName != nil && len(*s.DBProxyEndpointName) < 1 {
 38119  		invalidParams.Add(request.NewErrParamMinLen("DBProxyEndpointName", 1))
 38120  	}
 38121  	if s.NewDBProxyEndpointName != nil && len(*s.NewDBProxyEndpointName) < 1 {
 38122  		invalidParams.Add(request.NewErrParamMinLen("NewDBProxyEndpointName", 1))
 38123  	}
 38124  
 38125  	if invalidParams.Len() > 0 {
 38126  		return invalidParams
 38127  	}
 38128  	return nil
 38129  }
 38130  
 38131  // SetDBProxyEndpointName sets the DBProxyEndpointName field's value.
 38132  func (s *ModifyDBProxyEndpointInput) SetDBProxyEndpointName(v string) *ModifyDBProxyEndpointInput {
 38133  	s.DBProxyEndpointName = &v
 38134  	return s
 38135  }
 38136  
 38137  // SetNewDBProxyEndpointName sets the NewDBProxyEndpointName field's value.
 38138  func (s *ModifyDBProxyEndpointInput) SetNewDBProxyEndpointName(v string) *ModifyDBProxyEndpointInput {
 38139  	s.NewDBProxyEndpointName = &v
 38140  	return s
 38141  }
 38142  
 38143  // SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
 38144  func (s *ModifyDBProxyEndpointInput) SetVpcSecurityGroupIds(v []*string) *ModifyDBProxyEndpointInput {
 38145  	s.VpcSecurityGroupIds = v
 38146  	return s
 38147  }
 38148  
 38149  type ModifyDBProxyEndpointOutput struct {
 38150  	_ struct{} `type:"structure"`
 38151  
 38152  	// The DBProxyEndpoint object representing the new settings for the DB proxy
 38153  	// endpoint.
 38154  	DBProxyEndpoint *DBProxyEndpoint `type:"structure"`
 38155  }
 38156  
 38157  // String returns the string representation.
 38158  //
 38159  // API parameter values that are decorated as "sensitive" in the API will not
 38160  // be included in the string output. The member name will be present, but the
 38161  // value will be replaced with "sensitive".
 38162  func (s ModifyDBProxyEndpointOutput) String() string {
 38163  	return awsutil.Prettify(s)
 38164  }
 38165  
 38166  // GoString returns the string representation.
 38167  //
 38168  // API parameter values that are decorated as "sensitive" in the API will not
 38169  // be included in the string output. The member name will be present, but the
 38170  // value will be replaced with "sensitive".
 38171  func (s ModifyDBProxyEndpointOutput) GoString() string {
 38172  	return s.String()
 38173  }
 38174  
 38175  // SetDBProxyEndpoint sets the DBProxyEndpoint field's value.
 38176  func (s *ModifyDBProxyEndpointOutput) SetDBProxyEndpoint(v *DBProxyEndpoint) *ModifyDBProxyEndpointOutput {
 38177  	s.DBProxyEndpoint = v
 38178  	return s
 38179  }
 38180  
 38181  type ModifyDBProxyInput struct {
 38182  	_ struct{} `type:"structure"`
 38183  
 38184  	// The new authentication settings for the DBProxy.
 38185  	Auth []*UserAuthConfig `type:"list"`
 38186  
 38187  	// The identifier for the DBProxy to modify.
 38188  	//
 38189  	// DBProxyName is a required field
 38190  	DBProxyName *string `type:"string" required:"true"`
 38191  
 38192  	// Whether the proxy includes detailed information about SQL statements in its
 38193  	// logs. This information helps you to debug issues involving SQL behavior or
 38194  	// the performance and scalability of the proxy connections. The debug information
 38195  	// includes the text of SQL statements that you submit through the proxy. Thus,
 38196  	// only enable this setting when needed for debugging, and only when you have
 38197  	// security measures in place to safeguard any sensitive information that appears
 38198  	// in the logs.
 38199  	DebugLogging *bool `type:"boolean"`
 38200  
 38201  	// The number of seconds that a connection to the proxy can be inactive before
 38202  	// the proxy disconnects it. You can set this value higher or lower than the
 38203  	// connection timeout limit for the associated database.
 38204  	IdleClientTimeout *int64 `type:"integer"`
 38205  
 38206  	// The new identifier for the DBProxy. An identifier must begin with a letter
 38207  	// and must contain only ASCII letters, digits, and hyphens; it can't end with
 38208  	// a hyphen or contain two consecutive hyphens.
 38209  	NewDBProxyName *string `type:"string"`
 38210  
 38211  	// Whether Transport Layer Security (TLS) encryption is required for connections
 38212  	// to the proxy. By enabling this setting, you can enforce encrypted TLS connections
 38213  	// to the proxy, even if the associated database doesn't use TLS.
 38214  	RequireTLS *bool `type:"boolean"`
 38215  
 38216  	// The Amazon Resource Name (ARN) of the IAM role that the proxy uses to access
 38217  	// secrets in Amazon Web Services Secrets Manager.
 38218  	RoleArn *string `type:"string"`
 38219  
 38220  	// The new list of security groups for the DBProxy.
 38221  	SecurityGroups []*string `type:"list"`
 38222  }
 38223  
 38224  // String returns the string representation.
 38225  //
 38226  // API parameter values that are decorated as "sensitive" in the API will not
 38227  // be included in the string output. The member name will be present, but the
 38228  // value will be replaced with "sensitive".
 38229  func (s ModifyDBProxyInput) String() string {
 38230  	return awsutil.Prettify(s)
 38231  }
 38232  
 38233  // GoString returns the string representation.
 38234  //
 38235  // API parameter values that are decorated as "sensitive" in the API will not
 38236  // be included in the string output. The member name will be present, but the
 38237  // value will be replaced with "sensitive".
 38238  func (s ModifyDBProxyInput) GoString() string {
 38239  	return s.String()
 38240  }
 38241  
 38242  // Validate inspects the fields of the type to determine if they are valid.
 38243  func (s *ModifyDBProxyInput) Validate() error {
 38244  	invalidParams := request.ErrInvalidParams{Context: "ModifyDBProxyInput"}
 38245  	if s.DBProxyName == nil {
 38246  		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
 38247  	}
 38248  
 38249  	if invalidParams.Len() > 0 {
 38250  		return invalidParams
 38251  	}
 38252  	return nil
 38253  }
 38254  
 38255  // SetAuth sets the Auth field's value.
 38256  func (s *ModifyDBProxyInput) SetAuth(v []*UserAuthConfig) *ModifyDBProxyInput {
 38257  	s.Auth = v
 38258  	return s
 38259  }
 38260  
 38261  // SetDBProxyName sets the DBProxyName field's value.
 38262  func (s *ModifyDBProxyInput) SetDBProxyName(v string) *ModifyDBProxyInput {
 38263  	s.DBProxyName = &v
 38264  	return s
 38265  }
 38266  
 38267  // SetDebugLogging sets the DebugLogging field's value.
 38268  func (s *ModifyDBProxyInput) SetDebugLogging(v bool) *ModifyDBProxyInput {
 38269  	s.DebugLogging = &v
 38270  	return s
 38271  }
 38272  
 38273  // SetIdleClientTimeout sets the IdleClientTimeout field's value.
 38274  func (s *ModifyDBProxyInput) SetIdleClientTimeout(v int64) *ModifyDBProxyInput {
 38275  	s.IdleClientTimeout = &v
 38276  	return s
 38277  }
 38278  
 38279  // SetNewDBProxyName sets the NewDBProxyName field's value.
 38280  func (s *ModifyDBProxyInput) SetNewDBProxyName(v string) *ModifyDBProxyInput {
 38281  	s.NewDBProxyName = &v
 38282  	return s
 38283  }
 38284  
 38285  // SetRequireTLS sets the RequireTLS field's value.
 38286  func (s *ModifyDBProxyInput) SetRequireTLS(v bool) *ModifyDBProxyInput {
 38287  	s.RequireTLS = &v
 38288  	return s
 38289  }
 38290  
 38291  // SetRoleArn sets the RoleArn field's value.
 38292  func (s *ModifyDBProxyInput) SetRoleArn(v string) *ModifyDBProxyInput {
 38293  	s.RoleArn = &v
 38294  	return s
 38295  }
 38296  
 38297  // SetSecurityGroups sets the SecurityGroups field's value.
 38298  func (s *ModifyDBProxyInput) SetSecurityGroups(v []*string) *ModifyDBProxyInput {
 38299  	s.SecurityGroups = v
 38300  	return s
 38301  }
 38302  
 38303  type ModifyDBProxyOutput struct {
 38304  	_ struct{} `type:"structure"`
 38305  
 38306  	// The DBProxy object representing the new settings for the proxy.
 38307  	DBProxy *DBProxy `type:"structure"`
 38308  }
 38309  
 38310  // String returns the string representation.
 38311  //
 38312  // API parameter values that are decorated as "sensitive" in the API will not
 38313  // be included in the string output. The member name will be present, but the
 38314  // value will be replaced with "sensitive".
 38315  func (s ModifyDBProxyOutput) String() string {
 38316  	return awsutil.Prettify(s)
 38317  }
 38318  
 38319  // GoString returns the string representation.
 38320  //
 38321  // API parameter values that are decorated as "sensitive" in the API will not
 38322  // be included in the string output. The member name will be present, but the
 38323  // value will be replaced with "sensitive".
 38324  func (s ModifyDBProxyOutput) GoString() string {
 38325  	return s.String()
 38326  }
 38327  
 38328  // SetDBProxy sets the DBProxy field's value.
 38329  func (s *ModifyDBProxyOutput) SetDBProxy(v *DBProxy) *ModifyDBProxyOutput {
 38330  	s.DBProxy = v
 38331  	return s
 38332  }
 38333  
 38334  type ModifyDBProxyTargetGroupInput struct {
 38335  	_ struct{} `type:"structure"`
 38336  
 38337  	// The settings that determine the size and behavior of the connection pool
 38338  	// for the target group.
 38339  	ConnectionPoolConfig *ConnectionPoolConfiguration `type:"structure"`
 38340  
 38341  	// The name of the new proxy to which to assign the target group.
 38342  	//
 38343  	// DBProxyName is a required field
 38344  	DBProxyName *string `type:"string" required:"true"`
 38345  
 38346  	// The new name for the modified DBProxyTarget. An identifier must begin with
 38347  	// a letter and must contain only ASCII letters, digits, and hyphens; it can't
 38348  	// end with a hyphen or contain two consecutive hyphens.
 38349  	NewName *string `type:"string"`
 38350  
 38351  	// The name of the new target group to assign to the proxy.
 38352  	//
 38353  	// TargetGroupName is a required field
 38354  	TargetGroupName *string `type:"string" required:"true"`
 38355  }
 38356  
 38357  // String returns the string representation.
 38358  //
 38359  // API parameter values that are decorated as "sensitive" in the API will not
 38360  // be included in the string output. The member name will be present, but the
 38361  // value will be replaced with "sensitive".
 38362  func (s ModifyDBProxyTargetGroupInput) String() string {
 38363  	return awsutil.Prettify(s)
 38364  }
 38365  
 38366  // GoString returns the string representation.
 38367  //
 38368  // API parameter values that are decorated as "sensitive" in the API will not
 38369  // be included in the string output. The member name will be present, but the
 38370  // value will be replaced with "sensitive".
 38371  func (s ModifyDBProxyTargetGroupInput) GoString() string {
 38372  	return s.String()
 38373  }
 38374  
 38375  // Validate inspects the fields of the type to determine if they are valid.
 38376  func (s *ModifyDBProxyTargetGroupInput) Validate() error {
 38377  	invalidParams := request.ErrInvalidParams{Context: "ModifyDBProxyTargetGroupInput"}
 38378  	if s.DBProxyName == nil {
 38379  		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
 38380  	}
 38381  	if s.TargetGroupName == nil {
 38382  		invalidParams.Add(request.NewErrParamRequired("TargetGroupName"))
 38383  	}
 38384  
 38385  	if invalidParams.Len() > 0 {
 38386  		return invalidParams
 38387  	}
 38388  	return nil
 38389  }
 38390  
 38391  // SetConnectionPoolConfig sets the ConnectionPoolConfig field's value.
 38392  func (s *ModifyDBProxyTargetGroupInput) SetConnectionPoolConfig(v *ConnectionPoolConfiguration) *ModifyDBProxyTargetGroupInput {
 38393  	s.ConnectionPoolConfig = v
 38394  	return s
 38395  }
 38396  
 38397  // SetDBProxyName sets the DBProxyName field's value.
 38398  func (s *ModifyDBProxyTargetGroupInput) SetDBProxyName(v string) *ModifyDBProxyTargetGroupInput {
 38399  	s.DBProxyName = &v
 38400  	return s
 38401  }
 38402  
 38403  // SetNewName sets the NewName field's value.
 38404  func (s *ModifyDBProxyTargetGroupInput) SetNewName(v string) *ModifyDBProxyTargetGroupInput {
 38405  	s.NewName = &v
 38406  	return s
 38407  }
 38408  
 38409  // SetTargetGroupName sets the TargetGroupName field's value.
 38410  func (s *ModifyDBProxyTargetGroupInput) SetTargetGroupName(v string) *ModifyDBProxyTargetGroupInput {
 38411  	s.TargetGroupName = &v
 38412  	return s
 38413  }
 38414  
 38415  type ModifyDBProxyTargetGroupOutput struct {
 38416  	_ struct{} `type:"structure"`
 38417  
 38418  	// The settings of the modified DBProxyTarget.
 38419  	DBProxyTargetGroup *DBProxyTargetGroup `type:"structure"`
 38420  }
 38421  
 38422  // String returns the string representation.
 38423  //
 38424  // API parameter values that are decorated as "sensitive" in the API will not
 38425  // be included in the string output. The member name will be present, but the
 38426  // value will be replaced with "sensitive".
 38427  func (s ModifyDBProxyTargetGroupOutput) String() string {
 38428  	return awsutil.Prettify(s)
 38429  }
 38430  
 38431  // GoString returns the string representation.
 38432  //
 38433  // API parameter values that are decorated as "sensitive" in the API will not
 38434  // be included in the string output. The member name will be present, but the
 38435  // value will be replaced with "sensitive".
 38436  func (s ModifyDBProxyTargetGroupOutput) GoString() string {
 38437  	return s.String()
 38438  }
 38439  
 38440  // SetDBProxyTargetGroup sets the DBProxyTargetGroup field's value.
 38441  func (s *ModifyDBProxyTargetGroupOutput) SetDBProxyTargetGroup(v *DBProxyTargetGroup) *ModifyDBProxyTargetGroupOutput {
 38442  	s.DBProxyTargetGroup = v
 38443  	return s
 38444  }
 38445  
 38446  type ModifyDBSnapshotAttributeInput struct {
 38447  	_ struct{} `type:"structure"`
 38448  
 38449  	// The name of the DB snapshot attribute to modify.
 38450  	//
 38451  	// To manage authorization for other Amazon Web Services accounts to copy or
 38452  	// restore a manual DB snapshot, set this value to restore.
 38453  	//
 38454  	// To view the list of attributes available to modify, use the DescribeDBSnapshotAttributes
 38455  	// API action.
 38456  	//
 38457  	// AttributeName is a required field
 38458  	AttributeName *string `type:"string" required:"true"`
 38459  
 38460  	// The identifier for the DB snapshot to modify the attributes for.
 38461  	//
 38462  	// DBSnapshotIdentifier is a required field
 38463  	DBSnapshotIdentifier *string `type:"string" required:"true"`
 38464  
 38465  	// A list of DB snapshot attributes to add to the attribute specified by AttributeName.
 38466  	//
 38467  	// To authorize other Amazon Web Services accounts to copy or restore a manual
 38468  	// snapshot, set this list to include one or more Amazon Web Services account
 38469  	// IDs, or all to make the manual DB snapshot restorable by any Amazon Web Services
 38470  	// account. Do not add the all value for any manual DB snapshots that contain
 38471  	// private information that you don't want available to all Amazon Web Services
 38472  	// accounts.
 38473  	ValuesToAdd []*string `locationNameList:"AttributeValue" type:"list"`
 38474  
 38475  	// A list of DB snapshot attributes to remove from the attribute specified by
 38476  	// AttributeName.
 38477  	//
 38478  	// To remove authorization for other Amazon Web Services accounts to copy or
 38479  	// restore a manual snapshot, set this list to include one or more Amazon Web
 38480  	// Services account identifiers, or all to remove authorization for any Amazon
 38481  	// Web Services account to copy or restore the DB snapshot. If you specify all,
 38482  	// an Amazon Web Services account whose account ID is explicitly added to the
 38483  	// restore attribute can still copy or restore the manual DB snapshot.
 38484  	ValuesToRemove []*string `locationNameList:"AttributeValue" type:"list"`
 38485  }
 38486  
 38487  // String returns the string representation.
 38488  //
 38489  // API parameter values that are decorated as "sensitive" in the API will not
 38490  // be included in the string output. The member name will be present, but the
 38491  // value will be replaced with "sensitive".
 38492  func (s ModifyDBSnapshotAttributeInput) String() string {
 38493  	return awsutil.Prettify(s)
 38494  }
 38495  
 38496  // GoString returns the string representation.
 38497  //
 38498  // API parameter values that are decorated as "sensitive" in the API will not
 38499  // be included in the string output. The member name will be present, but the
 38500  // value will be replaced with "sensitive".
 38501  func (s ModifyDBSnapshotAttributeInput) GoString() string {
 38502  	return s.String()
 38503  }
 38504  
 38505  // Validate inspects the fields of the type to determine if they are valid.
 38506  func (s *ModifyDBSnapshotAttributeInput) Validate() error {
 38507  	invalidParams := request.ErrInvalidParams{Context: "ModifyDBSnapshotAttributeInput"}
 38508  	if s.AttributeName == nil {
 38509  		invalidParams.Add(request.NewErrParamRequired("AttributeName"))
 38510  	}
 38511  	if s.DBSnapshotIdentifier == nil {
 38512  		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
 38513  	}
 38514  
 38515  	if invalidParams.Len() > 0 {
 38516  		return invalidParams
 38517  	}
 38518  	return nil
 38519  }
 38520  
 38521  // SetAttributeName sets the AttributeName field's value.
 38522  func (s *ModifyDBSnapshotAttributeInput) SetAttributeName(v string) *ModifyDBSnapshotAttributeInput {
 38523  	s.AttributeName = &v
 38524  	return s
 38525  }
 38526  
 38527  // SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
 38528  func (s *ModifyDBSnapshotAttributeInput) SetDBSnapshotIdentifier(v string) *ModifyDBSnapshotAttributeInput {
 38529  	s.DBSnapshotIdentifier = &v
 38530  	return s
 38531  }
 38532  
 38533  // SetValuesToAdd sets the ValuesToAdd field's value.
 38534  func (s *ModifyDBSnapshotAttributeInput) SetValuesToAdd(v []*string) *ModifyDBSnapshotAttributeInput {
 38535  	s.ValuesToAdd = v
 38536  	return s
 38537  }
 38538  
 38539  // SetValuesToRemove sets the ValuesToRemove field's value.
 38540  func (s *ModifyDBSnapshotAttributeInput) SetValuesToRemove(v []*string) *ModifyDBSnapshotAttributeInput {
 38541  	s.ValuesToRemove = v
 38542  	return s
 38543  }
 38544  
 38545  type ModifyDBSnapshotAttributeOutput struct {
 38546  	_ struct{} `type:"structure"`
 38547  
 38548  	// Contains the results of a successful call to the DescribeDBSnapshotAttributes
 38549  	// API action.
 38550  	//
 38551  	// Manual DB snapshot attributes are used to authorize other Amazon Web Services
 38552  	// accounts to copy or restore a manual DB snapshot. For more information, see
 38553  	// the ModifyDBSnapshotAttribute API action.
 38554  	DBSnapshotAttributesResult *DBSnapshotAttributesResult `type:"structure"`
 38555  }
 38556  
 38557  // String returns the string representation.
 38558  //
 38559  // API parameter values that are decorated as "sensitive" in the API will not
 38560  // be included in the string output. The member name will be present, but the
 38561  // value will be replaced with "sensitive".
 38562  func (s ModifyDBSnapshotAttributeOutput) String() string {
 38563  	return awsutil.Prettify(s)
 38564  }
 38565  
 38566  // GoString returns the string representation.
 38567  //
 38568  // API parameter values that are decorated as "sensitive" in the API will not
 38569  // be included in the string output. The member name will be present, but the
 38570  // value will be replaced with "sensitive".
 38571  func (s ModifyDBSnapshotAttributeOutput) GoString() string {
 38572  	return s.String()
 38573  }
 38574  
 38575  // SetDBSnapshotAttributesResult sets the DBSnapshotAttributesResult field's value.
 38576  func (s *ModifyDBSnapshotAttributeOutput) SetDBSnapshotAttributesResult(v *DBSnapshotAttributesResult) *ModifyDBSnapshotAttributeOutput {
 38577  	s.DBSnapshotAttributesResult = v
 38578  	return s
 38579  }
 38580  
 38581  type ModifyDBSnapshotInput struct {
 38582  	_ struct{} `type:"structure"`
 38583  
 38584  	// The identifier of the DB snapshot to modify.
 38585  	//
 38586  	// DBSnapshotIdentifier is a required field
 38587  	DBSnapshotIdentifier *string `type:"string" required:"true"`
 38588  
 38589  	// The engine version to upgrade the DB snapshot to.
 38590  	//
 38591  	// The following are the database engines and engine versions that are available
 38592  	// when you upgrade a DB snapshot.
 38593  	//
 38594  	// MySQL
 38595  	//
 38596  	//    * 5.5.46 (supported for 5.1 DB snapshots)
 38597  	//
 38598  	// Oracle
 38599  	//
 38600  	//    * 12.1.0.2.v8 (supported for 12.1.0.1 DB snapshots)
 38601  	//
 38602  	//    * 11.2.0.4.v12 (supported for 11.2.0.2 DB snapshots)
 38603  	//
 38604  	//    * 11.2.0.4.v11 (supported for 11.2.0.3 DB snapshots)
 38605  	//
 38606  	// PostgreSQL
 38607  	//
 38608  	// For the list of engine versions that are available for upgrading a DB snapshot,
 38609  	// 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).
 38610  	EngineVersion *string `type:"string"`
 38611  
 38612  	// The option group to identify with the upgraded DB snapshot.
 38613  	//
 38614  	// You can specify this parameter when you upgrade an Oracle DB snapshot. The
 38615  	// same option group considerations apply when upgrading a DB snapshot as when
 38616  	// upgrading a DB instance. For more information, see Option group considerations
 38617  	// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Oracle.html#USER_UpgradeDBInstance.Oracle.OGPG.OG)
 38618  	// in the Amazon RDS User Guide.
 38619  	OptionGroupName *string `type:"string"`
 38620  }
 38621  
 38622  // String returns the string representation.
 38623  //
 38624  // API parameter values that are decorated as "sensitive" in the API will not
 38625  // be included in the string output. The member name will be present, but the
 38626  // value will be replaced with "sensitive".
 38627  func (s ModifyDBSnapshotInput) String() string {
 38628  	return awsutil.Prettify(s)
 38629  }
 38630  
 38631  // GoString returns the string representation.
 38632  //
 38633  // API parameter values that are decorated as "sensitive" in the API will not
 38634  // be included in the string output. The member name will be present, but the
 38635  // value will be replaced with "sensitive".
 38636  func (s ModifyDBSnapshotInput) GoString() string {
 38637  	return s.String()
 38638  }
 38639  
 38640  // Validate inspects the fields of the type to determine if they are valid.
 38641  func (s *ModifyDBSnapshotInput) Validate() error {
 38642  	invalidParams := request.ErrInvalidParams{Context: "ModifyDBSnapshotInput"}
 38643  	if s.DBSnapshotIdentifier == nil {
 38644  		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
 38645  	}
 38646  
 38647  	if invalidParams.Len() > 0 {
 38648  		return invalidParams
 38649  	}
 38650  	return nil
 38651  }
 38652  
 38653  // SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
 38654  func (s *ModifyDBSnapshotInput) SetDBSnapshotIdentifier(v string) *ModifyDBSnapshotInput {
 38655  	s.DBSnapshotIdentifier = &v
 38656  	return s
 38657  }
 38658  
 38659  // SetEngineVersion sets the EngineVersion field's value.
 38660  func (s *ModifyDBSnapshotInput) SetEngineVersion(v string) *ModifyDBSnapshotInput {
 38661  	s.EngineVersion = &v
 38662  	return s
 38663  }
 38664  
 38665  // SetOptionGroupName sets the OptionGroupName field's value.
 38666  func (s *ModifyDBSnapshotInput) SetOptionGroupName(v string) *ModifyDBSnapshotInput {
 38667  	s.OptionGroupName = &v
 38668  	return s
 38669  }
 38670  
 38671  type ModifyDBSnapshotOutput struct {
 38672  	_ struct{} `type:"structure"`
 38673  
 38674  	// Contains the details of an Amazon RDS DB snapshot.
 38675  	//
 38676  	// This data type is used as a response element in the DescribeDBSnapshots action.
 38677  	DBSnapshot *DBSnapshot `type:"structure"`
 38678  }
 38679  
 38680  // String returns the string representation.
 38681  //
 38682  // API parameter values that are decorated as "sensitive" in the API will not
 38683  // be included in the string output. The member name will be present, but the
 38684  // value will be replaced with "sensitive".
 38685  func (s ModifyDBSnapshotOutput) String() string {
 38686  	return awsutil.Prettify(s)
 38687  }
 38688  
 38689  // GoString returns the string representation.
 38690  //
 38691  // API parameter values that are decorated as "sensitive" in the API will not
 38692  // be included in the string output. The member name will be present, but the
 38693  // value will be replaced with "sensitive".
 38694  func (s ModifyDBSnapshotOutput) GoString() string {
 38695  	return s.String()
 38696  }
 38697  
 38698  // SetDBSnapshot sets the DBSnapshot field's value.
 38699  func (s *ModifyDBSnapshotOutput) SetDBSnapshot(v *DBSnapshot) *ModifyDBSnapshotOutput {
 38700  	s.DBSnapshot = v
 38701  	return s
 38702  }
 38703  
 38704  type ModifyDBSubnetGroupInput struct {
 38705  	_ struct{} `type:"structure"`
 38706  
 38707  	// The description for the DB subnet group.
 38708  	DBSubnetGroupDescription *string `type:"string"`
 38709  
 38710  	// The name for the DB subnet group. This value is stored as a lowercase string.
 38711  	// You can't modify the default subnet group.
 38712  	//
 38713  	// Constraints: Must match the name of an existing DBSubnetGroup. Must not be
 38714  	// default.
 38715  	//
 38716  	// Example: mySubnetgroup
 38717  	//
 38718  	// DBSubnetGroupName is a required field
 38719  	DBSubnetGroupName *string `type:"string" required:"true"`
 38720  
 38721  	// The EC2 subnet IDs for the DB subnet group.
 38722  	//
 38723  	// SubnetIds is a required field
 38724  	SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"`
 38725  }
 38726  
 38727  // String returns the string representation.
 38728  //
 38729  // API parameter values that are decorated as "sensitive" in the API will not
 38730  // be included in the string output. The member name will be present, but the
 38731  // value will be replaced with "sensitive".
 38732  func (s ModifyDBSubnetGroupInput) String() string {
 38733  	return awsutil.Prettify(s)
 38734  }
 38735  
 38736  // GoString returns the string representation.
 38737  //
 38738  // API parameter values that are decorated as "sensitive" in the API will not
 38739  // be included in the string output. The member name will be present, but the
 38740  // value will be replaced with "sensitive".
 38741  func (s ModifyDBSubnetGroupInput) GoString() string {
 38742  	return s.String()
 38743  }
 38744  
 38745  // Validate inspects the fields of the type to determine if they are valid.
 38746  func (s *ModifyDBSubnetGroupInput) Validate() error {
 38747  	invalidParams := request.ErrInvalidParams{Context: "ModifyDBSubnetGroupInput"}
 38748  	if s.DBSubnetGroupName == nil {
 38749  		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
 38750  	}
 38751  	if s.SubnetIds == nil {
 38752  		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
 38753  	}
 38754  
 38755  	if invalidParams.Len() > 0 {
 38756  		return invalidParams
 38757  	}
 38758  	return nil
 38759  }
 38760  
 38761  // SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
 38762  func (s *ModifyDBSubnetGroupInput) SetDBSubnetGroupDescription(v string) *ModifyDBSubnetGroupInput {
 38763  	s.DBSubnetGroupDescription = &v
 38764  	return s
 38765  }
 38766  
 38767  // SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
 38768  func (s *ModifyDBSubnetGroupInput) SetDBSubnetGroupName(v string) *ModifyDBSubnetGroupInput {
 38769  	s.DBSubnetGroupName = &v
 38770  	return s
 38771  }
 38772  
 38773  // SetSubnetIds sets the SubnetIds field's value.
 38774  func (s *ModifyDBSubnetGroupInput) SetSubnetIds(v []*string) *ModifyDBSubnetGroupInput {
 38775  	s.SubnetIds = v
 38776  	return s
 38777  }
 38778  
 38779  type ModifyDBSubnetGroupOutput struct {
 38780  	_ struct{} `type:"structure"`
 38781  
 38782  	// Contains the details of an Amazon RDS DB subnet group.
 38783  	//
 38784  	// This data type is used as a response element in the DescribeDBSubnetGroups
 38785  	// action.
 38786  	DBSubnetGroup *DBSubnetGroup `type:"structure"`
 38787  }
 38788  
 38789  // String returns the string representation.
 38790  //
 38791  // API parameter values that are decorated as "sensitive" in the API will not
 38792  // be included in the string output. The member name will be present, but the
 38793  // value will be replaced with "sensitive".
 38794  func (s ModifyDBSubnetGroupOutput) String() string {
 38795  	return awsutil.Prettify(s)
 38796  }
 38797  
 38798  // GoString returns the string representation.
 38799  //
 38800  // API parameter values that are decorated as "sensitive" in the API will not
 38801  // be included in the string output. The member name will be present, but the
 38802  // value will be replaced with "sensitive".
 38803  func (s ModifyDBSubnetGroupOutput) GoString() string {
 38804  	return s.String()
 38805  }
 38806  
 38807  // SetDBSubnetGroup sets the DBSubnetGroup field's value.
 38808  func (s *ModifyDBSubnetGroupOutput) SetDBSubnetGroup(v *DBSubnetGroup) *ModifyDBSubnetGroupOutput {
 38809  	s.DBSubnetGroup = v
 38810  	return s
 38811  }
 38812  
 38813  type ModifyEventSubscriptionInput struct {
 38814  	_ struct{} `type:"structure"`
 38815  
 38816  	// A value that indicates whether to activate the subscription.
 38817  	Enabled *bool `type:"boolean"`
 38818  
 38819  	// A list of event categories for a source type (SourceType) that you want to
 38820  	// subscribe to. You can see a list of the categories for a given source type
 38821  	// in Events (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html)
 38822  	// in the Amazon RDS User Guide or by using the DescribeEventCategories operation.
 38823  	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
 38824  
 38825  	// The Amazon Resource Name (ARN) of the SNS topic created for event notification.
 38826  	// The ARN is created by Amazon SNS when you create a topic and subscribe to
 38827  	// it.
 38828  	SnsTopicArn *string `type:"string"`
 38829  
 38830  	// The type of source that is generating the events. For example, if you want
 38831  	// to be notified of events generated by a DB instance, you would set this parameter
 38832  	// to db-instance. If this value isn't specified, all events are returned.
 38833  	//
 38834  	// Valid values: db-instance | db-cluster | db-parameter-group | db-security-group
 38835  	// | db-snapshot | db-cluster-snapshot
 38836  	SourceType *string `type:"string"`
 38837  
 38838  	// The name of the RDS event notification subscription.
 38839  	//
 38840  	// SubscriptionName is a required field
 38841  	SubscriptionName *string `type:"string" required:"true"`
 38842  }
 38843  
 38844  // String returns the string representation.
 38845  //
 38846  // API parameter values that are decorated as "sensitive" in the API will not
 38847  // be included in the string output. The member name will be present, but the
 38848  // value will be replaced with "sensitive".
 38849  func (s ModifyEventSubscriptionInput) String() string {
 38850  	return awsutil.Prettify(s)
 38851  }
 38852  
 38853  // GoString returns the string representation.
 38854  //
 38855  // API parameter values that are decorated as "sensitive" in the API will not
 38856  // be included in the string output. The member name will be present, but the
 38857  // value will be replaced with "sensitive".
 38858  func (s ModifyEventSubscriptionInput) GoString() string {
 38859  	return s.String()
 38860  }
 38861  
 38862  // Validate inspects the fields of the type to determine if they are valid.
 38863  func (s *ModifyEventSubscriptionInput) Validate() error {
 38864  	invalidParams := request.ErrInvalidParams{Context: "ModifyEventSubscriptionInput"}
 38865  	if s.SubscriptionName == nil {
 38866  		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
 38867  	}
 38868  
 38869  	if invalidParams.Len() > 0 {
 38870  		return invalidParams
 38871  	}
 38872  	return nil
 38873  }
 38874  
 38875  // SetEnabled sets the Enabled field's value.
 38876  func (s *ModifyEventSubscriptionInput) SetEnabled(v bool) *ModifyEventSubscriptionInput {
 38877  	s.Enabled = &v
 38878  	return s
 38879  }
 38880  
 38881  // SetEventCategories sets the EventCategories field's value.
 38882  func (s *ModifyEventSubscriptionInput) SetEventCategories(v []*string) *ModifyEventSubscriptionInput {
 38883  	s.EventCategories = v
 38884  	return s
 38885  }
 38886  
 38887  // SetSnsTopicArn sets the SnsTopicArn field's value.
 38888  func (s *ModifyEventSubscriptionInput) SetSnsTopicArn(v string) *ModifyEventSubscriptionInput {
 38889  	s.SnsTopicArn = &v
 38890  	return s
 38891  }
 38892  
 38893  // SetSourceType sets the SourceType field's value.
 38894  func (s *ModifyEventSubscriptionInput) SetSourceType(v string) *ModifyEventSubscriptionInput {
 38895  	s.SourceType = &v
 38896  	return s
 38897  }
 38898  
 38899  // SetSubscriptionName sets the SubscriptionName field's value.
 38900  func (s *ModifyEventSubscriptionInput) SetSubscriptionName(v string) *ModifyEventSubscriptionInput {
 38901  	s.SubscriptionName = &v
 38902  	return s
 38903  }
 38904  
 38905  type ModifyEventSubscriptionOutput struct {
 38906  	_ struct{} `type:"structure"`
 38907  
 38908  	// Contains the results of a successful invocation of the DescribeEventSubscriptions
 38909  	// action.
 38910  	EventSubscription *EventSubscription `type:"structure"`
 38911  }
 38912  
 38913  // String returns the string representation.
 38914  //
 38915  // API parameter values that are decorated as "sensitive" in the API will not
 38916  // be included in the string output. The member name will be present, but the
 38917  // value will be replaced with "sensitive".
 38918  func (s ModifyEventSubscriptionOutput) String() string {
 38919  	return awsutil.Prettify(s)
 38920  }
 38921  
 38922  // GoString returns the string representation.
 38923  //
 38924  // API parameter values that are decorated as "sensitive" in the API will not
 38925  // be included in the string output. The member name will be present, but the
 38926  // value will be replaced with "sensitive".
 38927  func (s ModifyEventSubscriptionOutput) GoString() string {
 38928  	return s.String()
 38929  }
 38930  
 38931  // SetEventSubscription sets the EventSubscription field's value.
 38932  func (s *ModifyEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *ModifyEventSubscriptionOutput {
 38933  	s.EventSubscription = v
 38934  	return s
 38935  }
 38936  
 38937  type ModifyGlobalClusterInput struct {
 38938  	_ struct{} `type:"structure"`
 38939  
 38940  	// A value that indicates whether major version upgrades are allowed.
 38941  	//
 38942  	// Constraints: You must allow major version upgrades when specifying a value
 38943  	// for the EngineVersion parameter that is a different major version than the
 38944  	// DB cluster's current version.
 38945  	//
 38946  	// If you upgrade the major version of a global database, the cluster and DB
 38947  	// instance parameter groups are set to the default parameter groups for the
 38948  	// new version. Apply any custom parameter groups after completing the upgrade.
 38949  	AllowMajorVersionUpgrade *bool `type:"boolean"`
 38950  
 38951  	// Indicates if the global database cluster has deletion protection enabled.
 38952  	// The global database cluster can't be deleted when deletion protection is
 38953  	// enabled.
 38954  	DeletionProtection *bool `type:"boolean"`
 38955  
 38956  	// The version number of the database engine to which you want to upgrade. Changing
 38957  	// this parameter results in an outage. The change is applied during the next
 38958  	// maintenance window unless ApplyImmediately is enabled.
 38959  	//
 38960  	// To list all of the available engine versions for aurora (for MySQL 5.6-compatible
 38961  	// Aurora), use the following command:
 38962  	//
 38963  	// aws rds describe-db-engine-versions --engine aurora --query '*[]|[?SupportsGlobalDatabases
 38964  	// == `true`].[EngineVersion]'
 38965  	//
 38966  	// To list all of the available engine versions for aurora-mysql (for MySQL
 38967  	// 5.7-compatible Aurora), use the following command:
 38968  	//
 38969  	// aws rds describe-db-engine-versions --engine aurora-mysql --query '*[]|[?SupportsGlobalDatabases
 38970  	// == `true`].[EngineVersion]'
 38971  	//
 38972  	// To list all of the available engine versions for aurora-postgresql, use the
 38973  	// following command:
 38974  	//
 38975  	// aws rds describe-db-engine-versions --engine aurora-postgresql --query '*[]|[?SupportsGlobalDatabases
 38976  	// == `true`].[EngineVersion]'
 38977  	EngineVersion *string `type:"string"`
 38978  
 38979  	// The DB cluster identifier for the global cluster being modified. This parameter
 38980  	// isn't case-sensitive.
 38981  	//
 38982  	// Constraints:
 38983  	//
 38984  	//    * Must match the identifier of an existing global database cluster.
 38985  	GlobalClusterIdentifier *string `type:"string"`
 38986  
 38987  	// The new cluster identifier for the global database cluster when modifying
 38988  	// a global database cluster. This value is stored as a lowercase string.
 38989  	//
 38990  	// Constraints:
 38991  	//
 38992  	//    * Must contain from 1 to 63 letters, numbers, or hyphens
 38993  	//
 38994  	//    * The first character must be a letter
 38995  	//
 38996  	//    * Can't end with a hyphen or contain two consecutive hyphens
 38997  	//
 38998  	// Example: my-cluster2
 38999  	NewGlobalClusterIdentifier *string `type:"string"`
 39000  }
 39001  
 39002  // String returns the string representation.
 39003  //
 39004  // API parameter values that are decorated as "sensitive" in the API will not
 39005  // be included in the string output. The member name will be present, but the
 39006  // value will be replaced with "sensitive".
 39007  func (s ModifyGlobalClusterInput) String() string {
 39008  	return awsutil.Prettify(s)
 39009  }
 39010  
 39011  // GoString returns the string representation.
 39012  //
 39013  // API parameter values that are decorated as "sensitive" in the API will not
 39014  // be included in the string output. The member name will be present, but the
 39015  // value will be replaced with "sensitive".
 39016  func (s ModifyGlobalClusterInput) GoString() string {
 39017  	return s.String()
 39018  }
 39019  
 39020  // SetAllowMajorVersionUpgrade sets the AllowMajorVersionUpgrade field's value.
 39021  func (s *ModifyGlobalClusterInput) SetAllowMajorVersionUpgrade(v bool) *ModifyGlobalClusterInput {
 39022  	s.AllowMajorVersionUpgrade = &v
 39023  	return s
 39024  }
 39025  
 39026  // SetDeletionProtection sets the DeletionProtection field's value.
 39027  func (s *ModifyGlobalClusterInput) SetDeletionProtection(v bool) *ModifyGlobalClusterInput {
 39028  	s.DeletionProtection = &v
 39029  	return s
 39030  }
 39031  
 39032  // SetEngineVersion sets the EngineVersion field's value.
 39033  func (s *ModifyGlobalClusterInput) SetEngineVersion(v string) *ModifyGlobalClusterInput {
 39034  	s.EngineVersion = &v
 39035  	return s
 39036  }
 39037  
 39038  // SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
 39039  func (s *ModifyGlobalClusterInput) SetGlobalClusterIdentifier(v string) *ModifyGlobalClusterInput {
 39040  	s.GlobalClusterIdentifier = &v
 39041  	return s
 39042  }
 39043  
 39044  // SetNewGlobalClusterIdentifier sets the NewGlobalClusterIdentifier field's value.
 39045  func (s *ModifyGlobalClusterInput) SetNewGlobalClusterIdentifier(v string) *ModifyGlobalClusterInput {
 39046  	s.NewGlobalClusterIdentifier = &v
 39047  	return s
 39048  }
 39049  
 39050  type ModifyGlobalClusterOutput struct {
 39051  	_ struct{} `type:"structure"`
 39052  
 39053  	// A data type representing an Aurora global database.
 39054  	GlobalCluster *GlobalCluster `type:"structure"`
 39055  }
 39056  
 39057  // String returns the string representation.
 39058  //
 39059  // API parameter values that are decorated as "sensitive" in the API will not
 39060  // be included in the string output. The member name will be present, but the
 39061  // value will be replaced with "sensitive".
 39062  func (s ModifyGlobalClusterOutput) String() string {
 39063  	return awsutil.Prettify(s)
 39064  }
 39065  
 39066  // GoString returns the string representation.
 39067  //
 39068  // API parameter values that are decorated as "sensitive" in the API will not
 39069  // be included in the string output. The member name will be present, but the
 39070  // value will be replaced with "sensitive".
 39071  func (s ModifyGlobalClusterOutput) GoString() string {
 39072  	return s.String()
 39073  }
 39074  
 39075  // SetGlobalCluster sets the GlobalCluster field's value.
 39076  func (s *ModifyGlobalClusterOutput) SetGlobalCluster(v *GlobalCluster) *ModifyGlobalClusterOutput {
 39077  	s.GlobalCluster = v
 39078  	return s
 39079  }
 39080  
 39081  type ModifyOptionGroupInput struct {
 39082  	_ struct{} `type:"structure"`
 39083  
 39084  	// A value that indicates whether to apply the change immediately or during
 39085  	// the next maintenance window for each instance associated with the option
 39086  	// group.
 39087  	ApplyImmediately *bool `type:"boolean"`
 39088  
 39089  	// The name of the option group to be modified.
 39090  	//
 39091  	// Permanent options, such as the TDE option for Oracle Advanced Security TDE,
 39092  	// can't be removed from an option group, and that option group can't be removed
 39093  	// from a DB instance once it is associated with a DB instance
 39094  	//
 39095  	// OptionGroupName is a required field
 39096  	OptionGroupName *string `type:"string" required:"true"`
 39097  
 39098  	// Options in this list are added to the option group or, if already present,
 39099  	// the specified configuration is used to update the existing configuration.
 39100  	OptionsToInclude []*OptionConfiguration `locationNameList:"OptionConfiguration" type:"list"`
 39101  
 39102  	// Options in this list are removed from the option group.
 39103  	OptionsToRemove []*string `type:"list"`
 39104  }
 39105  
 39106  // String returns the string representation.
 39107  //
 39108  // API parameter values that are decorated as "sensitive" in the API will not
 39109  // be included in the string output. The member name will be present, but the
 39110  // value will be replaced with "sensitive".
 39111  func (s ModifyOptionGroupInput) String() string {
 39112  	return awsutil.Prettify(s)
 39113  }
 39114  
 39115  // GoString returns the string representation.
 39116  //
 39117  // API parameter values that are decorated as "sensitive" in the API will not
 39118  // be included in the string output. The member name will be present, but the
 39119  // value will be replaced with "sensitive".
 39120  func (s ModifyOptionGroupInput) GoString() string {
 39121  	return s.String()
 39122  }
 39123  
 39124  // Validate inspects the fields of the type to determine if they are valid.
 39125  func (s *ModifyOptionGroupInput) Validate() error {
 39126  	invalidParams := request.ErrInvalidParams{Context: "ModifyOptionGroupInput"}
 39127  	if s.OptionGroupName == nil {
 39128  		invalidParams.Add(request.NewErrParamRequired("OptionGroupName"))
 39129  	}
 39130  	if s.OptionsToInclude != nil {
 39131  		for i, v := range s.OptionsToInclude {
 39132  			if v == nil {
 39133  				continue
 39134  			}
 39135  			if err := v.Validate(); err != nil {
 39136  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OptionsToInclude", i), err.(request.ErrInvalidParams))
 39137  			}
 39138  		}
 39139  	}
 39140  
 39141  	if invalidParams.Len() > 0 {
 39142  		return invalidParams
 39143  	}
 39144  	return nil
 39145  }
 39146  
 39147  // SetApplyImmediately sets the ApplyImmediately field's value.
 39148  func (s *ModifyOptionGroupInput) SetApplyImmediately(v bool) *ModifyOptionGroupInput {
 39149  	s.ApplyImmediately = &v
 39150  	return s
 39151  }
 39152  
 39153  // SetOptionGroupName sets the OptionGroupName field's value.
 39154  func (s *ModifyOptionGroupInput) SetOptionGroupName(v string) *ModifyOptionGroupInput {
 39155  	s.OptionGroupName = &v
 39156  	return s
 39157  }
 39158  
 39159  // SetOptionsToInclude sets the OptionsToInclude field's value.
 39160  func (s *ModifyOptionGroupInput) SetOptionsToInclude(v []*OptionConfiguration) *ModifyOptionGroupInput {
 39161  	s.OptionsToInclude = v
 39162  	return s
 39163  }
 39164  
 39165  // SetOptionsToRemove sets the OptionsToRemove field's value.
 39166  func (s *ModifyOptionGroupInput) SetOptionsToRemove(v []*string) *ModifyOptionGroupInput {
 39167  	s.OptionsToRemove = v
 39168  	return s
 39169  }
 39170  
 39171  type ModifyOptionGroupOutput struct {
 39172  	_ struct{} `type:"structure"`
 39173  
 39174  	OptionGroup *OptionGroup `type:"structure"`
 39175  }
 39176  
 39177  // String returns the string representation.
 39178  //
 39179  // API parameter values that are decorated as "sensitive" in the API will not
 39180  // be included in the string output. The member name will be present, but the
 39181  // value will be replaced with "sensitive".
 39182  func (s ModifyOptionGroupOutput) String() string {
 39183  	return awsutil.Prettify(s)
 39184  }
 39185  
 39186  // GoString returns the string representation.
 39187  //
 39188  // API parameter values that are decorated as "sensitive" in the API will not
 39189  // be included in the string output. The member name will be present, but the
 39190  // value will be replaced with "sensitive".
 39191  func (s ModifyOptionGroupOutput) GoString() string {
 39192  	return s.String()
 39193  }
 39194  
 39195  // SetOptionGroup sets the OptionGroup field's value.
 39196  func (s *ModifyOptionGroupOutput) SetOptionGroup(v *OptionGroup) *ModifyOptionGroupOutput {
 39197  	s.OptionGroup = v
 39198  	return s
 39199  }
 39200  
 39201  // Option details.
 39202  type Option struct {
 39203  	_ struct{} `type:"structure"`
 39204  
 39205  	// If the option requires access to a port, then this DB security group allows
 39206  	// access to the port.
 39207  	DBSecurityGroupMemberships []*DBSecurityGroupMembership `locationNameList:"DBSecurityGroup" type:"list"`
 39208  
 39209  	// The description of the option.
 39210  	OptionDescription *string `type:"string"`
 39211  
 39212  	// The name of the option.
 39213  	OptionName *string `type:"string"`
 39214  
 39215  	// The option settings for this option.
 39216  	OptionSettings []*OptionSetting `locationNameList:"OptionSetting" type:"list"`
 39217  
 39218  	// The version of the option.
 39219  	OptionVersion *string `type:"string"`
 39220  
 39221  	// Indicate if this option is permanent.
 39222  	Permanent *bool `type:"boolean"`
 39223  
 39224  	// Indicate if this option is persistent.
 39225  	Persistent *bool `type:"boolean"`
 39226  
 39227  	// If required, the port configured for this option to use.
 39228  	Port *int64 `type:"integer"`
 39229  
 39230  	// If the option requires access to a port, then this VPC security group allows
 39231  	// access to the port.
 39232  	VpcSecurityGroupMemberships []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroupMembership" type:"list"`
 39233  }
 39234  
 39235  // String returns the string representation.
 39236  //
 39237  // API parameter values that are decorated as "sensitive" in the API will not
 39238  // be included in the string output. The member name will be present, but the
 39239  // value will be replaced with "sensitive".
 39240  func (s Option) String() string {
 39241  	return awsutil.Prettify(s)
 39242  }
 39243  
 39244  // GoString returns the string representation.
 39245  //
 39246  // API parameter values that are decorated as "sensitive" in the API will not
 39247  // be included in the string output. The member name will be present, but the
 39248  // value will be replaced with "sensitive".
 39249  func (s Option) GoString() string {
 39250  	return s.String()
 39251  }
 39252  
 39253  // SetDBSecurityGroupMemberships sets the DBSecurityGroupMemberships field's value.
 39254  func (s *Option) SetDBSecurityGroupMemberships(v []*DBSecurityGroupMembership) *Option {
 39255  	s.DBSecurityGroupMemberships = v
 39256  	return s
 39257  }
 39258  
 39259  // SetOptionDescription sets the OptionDescription field's value.
 39260  func (s *Option) SetOptionDescription(v string) *Option {
 39261  	s.OptionDescription = &v
 39262  	return s
 39263  }
 39264  
 39265  // SetOptionName sets the OptionName field's value.
 39266  func (s *Option) SetOptionName(v string) *Option {
 39267  	s.OptionName = &v
 39268  	return s
 39269  }
 39270  
 39271  // SetOptionSettings sets the OptionSettings field's value.
 39272  func (s *Option) SetOptionSettings(v []*OptionSetting) *Option {
 39273  	s.OptionSettings = v
 39274  	return s
 39275  }
 39276  
 39277  // SetOptionVersion sets the OptionVersion field's value.
 39278  func (s *Option) SetOptionVersion(v string) *Option {
 39279  	s.OptionVersion = &v
 39280  	return s
 39281  }
 39282  
 39283  // SetPermanent sets the Permanent field's value.
 39284  func (s *Option) SetPermanent(v bool) *Option {
 39285  	s.Permanent = &v
 39286  	return s
 39287  }
 39288  
 39289  // SetPersistent sets the Persistent field's value.
 39290  func (s *Option) SetPersistent(v bool) *Option {
 39291  	s.Persistent = &v
 39292  	return s
 39293  }
 39294  
 39295  // SetPort sets the Port field's value.
 39296  func (s *Option) SetPort(v int64) *Option {
 39297  	s.Port = &v
 39298  	return s
 39299  }
 39300  
 39301  // SetVpcSecurityGroupMemberships sets the VpcSecurityGroupMemberships field's value.
 39302  func (s *Option) SetVpcSecurityGroupMemberships(v []*VpcSecurityGroupMembership) *Option {
 39303  	s.VpcSecurityGroupMemberships = v
 39304  	return s
 39305  }
 39306  
 39307  // A list of all available options
 39308  type OptionConfiguration struct {
 39309  	_ struct{} `type:"structure"`
 39310  
 39311  	// A list of DBSecurityGroupMembership name strings used for this option.
 39312  	DBSecurityGroupMemberships []*string `locationNameList:"DBSecurityGroupName" type:"list"`
 39313  
 39314  	// The configuration of options to include in a group.
 39315  	//
 39316  	// OptionName is a required field
 39317  	OptionName *string `type:"string" required:"true"`
 39318  
 39319  	// The option settings to include in an option group.
 39320  	OptionSettings []*OptionSetting `locationNameList:"OptionSetting" type:"list"`
 39321  
 39322  	// The version for the option.
 39323  	OptionVersion *string `type:"string"`
 39324  
 39325  	// The optional port for the option.
 39326  	Port *int64 `type:"integer"`
 39327  
 39328  	// A list of VpcSecurityGroupMembership name strings used for this option.
 39329  	VpcSecurityGroupMemberships []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
 39330  }
 39331  
 39332  // String returns the string representation.
 39333  //
 39334  // API parameter values that are decorated as "sensitive" in the API will not
 39335  // be included in the string output. The member name will be present, but the
 39336  // value will be replaced with "sensitive".
 39337  func (s OptionConfiguration) String() string {
 39338  	return awsutil.Prettify(s)
 39339  }
 39340  
 39341  // GoString returns the string representation.
 39342  //
 39343  // API parameter values that are decorated as "sensitive" in the API will not
 39344  // be included in the string output. The member name will be present, but the
 39345  // value will be replaced with "sensitive".
 39346  func (s OptionConfiguration) GoString() string {
 39347  	return s.String()
 39348  }
 39349  
 39350  // Validate inspects the fields of the type to determine if they are valid.
 39351  func (s *OptionConfiguration) Validate() error {
 39352  	invalidParams := request.ErrInvalidParams{Context: "OptionConfiguration"}
 39353  	if s.OptionName == nil {
 39354  		invalidParams.Add(request.NewErrParamRequired("OptionName"))
 39355  	}
 39356  
 39357  	if invalidParams.Len() > 0 {
 39358  		return invalidParams
 39359  	}
 39360  	return nil
 39361  }
 39362  
 39363  // SetDBSecurityGroupMemberships sets the DBSecurityGroupMemberships field's value.
 39364  func (s *OptionConfiguration) SetDBSecurityGroupMemberships(v []*string) *OptionConfiguration {
 39365  	s.DBSecurityGroupMemberships = v
 39366  	return s
 39367  }
 39368  
 39369  // SetOptionName sets the OptionName field's value.
 39370  func (s *OptionConfiguration) SetOptionName(v string) *OptionConfiguration {
 39371  	s.OptionName = &v
 39372  	return s
 39373  }
 39374  
 39375  // SetOptionSettings sets the OptionSettings field's value.
 39376  func (s *OptionConfiguration) SetOptionSettings(v []*OptionSetting) *OptionConfiguration {
 39377  	s.OptionSettings = v
 39378  	return s
 39379  }
 39380  
 39381  // SetOptionVersion sets the OptionVersion field's value.
 39382  func (s *OptionConfiguration) SetOptionVersion(v string) *OptionConfiguration {
 39383  	s.OptionVersion = &v
 39384  	return s
 39385  }
 39386  
 39387  // SetPort sets the Port field's value.
 39388  func (s *OptionConfiguration) SetPort(v int64) *OptionConfiguration {
 39389  	s.Port = &v
 39390  	return s
 39391  }
 39392  
 39393  // SetVpcSecurityGroupMemberships sets the VpcSecurityGroupMemberships field's value.
 39394  func (s *OptionConfiguration) SetVpcSecurityGroupMemberships(v []*string) *OptionConfiguration {
 39395  	s.VpcSecurityGroupMemberships = v
 39396  	return s
 39397  }
 39398  
 39399  type OptionGroup struct {
 39400  	_ struct{} `type:"structure"`
 39401  
 39402  	// Indicates whether this option group can be applied to both VPC and non-VPC
 39403  	// instances. The value true indicates the option group can be applied to both
 39404  	// VPC and non-VPC instances.
 39405  	AllowsVpcAndNonVpcInstanceMemberships *bool `type:"boolean"`
 39406  
 39407  	// Indicates the name of the engine that this option group can be applied to.
 39408  	EngineName *string `type:"string"`
 39409  
 39410  	// Indicates the major engine version associated with this option group.
 39411  	MajorEngineVersion *string `type:"string"`
 39412  
 39413  	// The Amazon Resource Name (ARN) for the option group.
 39414  	OptionGroupArn *string `type:"string"`
 39415  
 39416  	// Provides a description of the option group.
 39417  	OptionGroupDescription *string `type:"string"`
 39418  
 39419  	// Specifies the name of the option group.
 39420  	OptionGroupName *string `type:"string"`
 39421  
 39422  	// Indicates what options are available in the option group.
 39423  	Options []*Option `locationNameList:"Option" type:"list"`
 39424  
 39425  	// If AllowsVpcAndNonVpcInstanceMemberships is false, this field is blank. If
 39426  	// AllowsVpcAndNonVpcInstanceMemberships is true and this field is blank, then
 39427  	// this option group can be applied to both VPC and non-VPC instances. If this
 39428  	// field contains a value, then this option group can only be applied to instances
 39429  	// that are in the VPC indicated by this field.
 39430  	VpcId *string `type:"string"`
 39431  }
 39432  
 39433  // String returns the string representation.
 39434  //
 39435  // API parameter values that are decorated as "sensitive" in the API will not
 39436  // be included in the string output. The member name will be present, but the
 39437  // value will be replaced with "sensitive".
 39438  func (s OptionGroup) String() string {
 39439  	return awsutil.Prettify(s)
 39440  }
 39441  
 39442  // GoString returns the string representation.
 39443  //
 39444  // API parameter values that are decorated as "sensitive" in the API will not
 39445  // be included in the string output. The member name will be present, but the
 39446  // value will be replaced with "sensitive".
 39447  func (s OptionGroup) GoString() string {
 39448  	return s.String()
 39449  }
 39450  
 39451  // SetAllowsVpcAndNonVpcInstanceMemberships sets the AllowsVpcAndNonVpcInstanceMemberships field's value.
 39452  func (s *OptionGroup) SetAllowsVpcAndNonVpcInstanceMemberships(v bool) *OptionGroup {
 39453  	s.AllowsVpcAndNonVpcInstanceMemberships = &v
 39454  	return s
 39455  }
 39456  
 39457  // SetEngineName sets the EngineName field's value.
 39458  func (s *OptionGroup) SetEngineName(v string) *OptionGroup {
 39459  	s.EngineName = &v
 39460  	return s
 39461  }
 39462  
 39463  // SetMajorEngineVersion sets the MajorEngineVersion field's value.
 39464  func (s *OptionGroup) SetMajorEngineVersion(v string) *OptionGroup {
 39465  	s.MajorEngineVersion = &v
 39466  	return s
 39467  }
 39468  
 39469  // SetOptionGroupArn sets the OptionGroupArn field's value.
 39470  func (s *OptionGroup) SetOptionGroupArn(v string) *OptionGroup {
 39471  	s.OptionGroupArn = &v
 39472  	return s
 39473  }
 39474  
 39475  // SetOptionGroupDescription sets the OptionGroupDescription field's value.
 39476  func (s *OptionGroup) SetOptionGroupDescription(v string) *OptionGroup {
 39477  	s.OptionGroupDescription = &v
 39478  	return s
 39479  }
 39480  
 39481  // SetOptionGroupName sets the OptionGroupName field's value.
 39482  func (s *OptionGroup) SetOptionGroupName(v string) *OptionGroup {
 39483  	s.OptionGroupName = &v
 39484  	return s
 39485  }
 39486  
 39487  // SetOptions sets the Options field's value.
 39488  func (s *OptionGroup) SetOptions(v []*Option) *OptionGroup {
 39489  	s.Options = v
 39490  	return s
 39491  }
 39492  
 39493  // SetVpcId sets the VpcId field's value.
 39494  func (s *OptionGroup) SetVpcId(v string) *OptionGroup {
 39495  	s.VpcId = &v
 39496  	return s
 39497  }
 39498  
 39499  // Provides information on the option groups the DB instance is a member of.
 39500  type OptionGroupMembership struct {
 39501  	_ struct{} `type:"structure"`
 39502  
 39503  	// The name of the option group that the instance belongs to.
 39504  	OptionGroupName *string `type:"string"`
 39505  
 39506  	// The status of the DB instance's option group membership. Valid values are:
 39507  	// in-sync, pending-apply, pending-removal, pending-maintenance-apply, pending-maintenance-removal,
 39508  	// applying, removing, and failed.
 39509  	Status *string `type:"string"`
 39510  }
 39511  
 39512  // String returns the string representation.
 39513  //
 39514  // API parameter values that are decorated as "sensitive" in the API will not
 39515  // be included in the string output. The member name will be present, but the
 39516  // value will be replaced with "sensitive".
 39517  func (s OptionGroupMembership) String() string {
 39518  	return awsutil.Prettify(s)
 39519  }
 39520  
 39521  // GoString returns the string representation.
 39522  //
 39523  // API parameter values that are decorated as "sensitive" in the API will not
 39524  // be included in the string output. The member name will be present, but the
 39525  // value will be replaced with "sensitive".
 39526  func (s OptionGroupMembership) GoString() string {
 39527  	return s.String()
 39528  }
 39529  
 39530  // SetOptionGroupName sets the OptionGroupName field's value.
 39531  func (s *OptionGroupMembership) SetOptionGroupName(v string) *OptionGroupMembership {
 39532  	s.OptionGroupName = &v
 39533  	return s
 39534  }
 39535  
 39536  // SetStatus sets the Status field's value.
 39537  func (s *OptionGroupMembership) SetStatus(v string) *OptionGroupMembership {
 39538  	s.Status = &v
 39539  	return s
 39540  }
 39541  
 39542  // Available option.
 39543  type OptionGroupOption struct {
 39544  	_ struct{} `type:"structure"`
 39545  
 39546  	// If the option requires a port, specifies the default port for the option.
 39547  	DefaultPort *int64 `type:"integer"`
 39548  
 39549  	// The description of the option.
 39550  	Description *string `type:"string"`
 39551  
 39552  	// The name of the engine that this option can be applied to.
 39553  	EngineName *string `type:"string"`
 39554  
 39555  	// Indicates the major engine version that the option is available for.
 39556  	MajorEngineVersion *string `type:"string"`
 39557  
 39558  	// The minimum required engine version for the option to be applied.
 39559  	MinimumRequiredMinorEngineVersion *string `type:"string"`
 39560  
 39561  	// The name of the option.
 39562  	Name *string `type:"string"`
 39563  
 39564  	// The option settings that are available (and the default value) for each option
 39565  	// in an option group.
 39566  	OptionGroupOptionSettings []*OptionGroupOptionSetting `locationNameList:"OptionGroupOptionSetting" type:"list"`
 39567  
 39568  	// The versions that are available for the option.
 39569  	OptionGroupOptionVersions []*OptionVersion `locationNameList:"OptionVersion" type:"list"`
 39570  
 39571  	// The options that conflict with this option.
 39572  	OptionsConflictsWith []*string `locationNameList:"OptionConflictName" type:"list"`
 39573  
 39574  	// The options that are prerequisites for this option.
 39575  	OptionsDependedOn []*string `locationNameList:"OptionName" type:"list"`
 39576  
 39577  	// Permanent options can never be removed from an option group. An option group
 39578  	// containing a permanent option can't be removed from a DB instance.
 39579  	Permanent *bool `type:"boolean"`
 39580  
 39581  	// Persistent options can't be removed from an option group while DB instances
 39582  	// are associated with the option group. If you disassociate all DB instances
 39583  	// from the option group, your can remove the persistent option from the option
 39584  	// group.
 39585  	Persistent *bool `type:"boolean"`
 39586  
 39587  	// Specifies whether the option requires a port.
 39588  	PortRequired *bool `type:"boolean"`
 39589  
 39590  	// If true, you must enable the Auto Minor Version Upgrade setting for your
 39591  	// DB instance before you can use this option. You can enable Auto Minor Version
 39592  	// Upgrade when you first create your DB instance, or by modifying your DB instance
 39593  	// later.
 39594  	RequiresAutoMinorEngineVersionUpgrade *bool `type:"boolean"`
 39595  
 39596  	// If true, you can change the option to an earlier version of the option. This
 39597  	// only applies to options that have different versions available.
 39598  	SupportsOptionVersionDowngrade *bool `type:"boolean"`
 39599  
 39600  	// If true, you can only use this option with a DB instance that is in a VPC.
 39601  	VpcOnly *bool `type:"boolean"`
 39602  }
 39603  
 39604  // String returns the string representation.
 39605  //
 39606  // API parameter values that are decorated as "sensitive" in the API will not
 39607  // be included in the string output. The member name will be present, but the
 39608  // value will be replaced with "sensitive".
 39609  func (s OptionGroupOption) String() string {
 39610  	return awsutil.Prettify(s)
 39611  }
 39612  
 39613  // GoString returns the string representation.
 39614  //
 39615  // API parameter values that are decorated as "sensitive" in the API will not
 39616  // be included in the string output. The member name will be present, but the
 39617  // value will be replaced with "sensitive".
 39618  func (s OptionGroupOption) GoString() string {
 39619  	return s.String()
 39620  }
 39621  
 39622  // SetDefaultPort sets the DefaultPort field's value.
 39623  func (s *OptionGroupOption) SetDefaultPort(v int64) *OptionGroupOption {
 39624  	s.DefaultPort = &v
 39625  	return s
 39626  }
 39627  
 39628  // SetDescription sets the Description field's value.
 39629  func (s *OptionGroupOption) SetDescription(v string) *OptionGroupOption {
 39630  	s.Description = &v
 39631  	return s
 39632  }
 39633  
 39634  // SetEngineName sets the EngineName field's value.
 39635  func (s *OptionGroupOption) SetEngineName(v string) *OptionGroupOption {
 39636  	s.EngineName = &v
 39637  	return s
 39638  }
 39639  
 39640  // SetMajorEngineVersion sets the MajorEngineVersion field's value.
 39641  func (s *OptionGroupOption) SetMajorEngineVersion(v string) *OptionGroupOption {
 39642  	s.MajorEngineVersion = &v
 39643  	return s
 39644  }
 39645  
 39646  // SetMinimumRequiredMinorEngineVersion sets the MinimumRequiredMinorEngineVersion field's value.
 39647  func (s *OptionGroupOption) SetMinimumRequiredMinorEngineVersion(v string) *OptionGroupOption {
 39648  	s.MinimumRequiredMinorEngineVersion = &v
 39649  	return s
 39650  }
 39651  
 39652  // SetName sets the Name field's value.
 39653  func (s *OptionGroupOption) SetName(v string) *OptionGroupOption {
 39654  	s.Name = &v
 39655  	return s
 39656  }
 39657  
 39658  // SetOptionGroupOptionSettings sets the OptionGroupOptionSettings field's value.
 39659  func (s *OptionGroupOption) SetOptionGroupOptionSettings(v []*OptionGroupOptionSetting) *OptionGroupOption {
 39660  	s.OptionGroupOptionSettings = v
 39661  	return s
 39662  }
 39663  
 39664  // SetOptionGroupOptionVersions sets the OptionGroupOptionVersions field's value.
 39665  func (s *OptionGroupOption) SetOptionGroupOptionVersions(v []*OptionVersion) *OptionGroupOption {
 39666  	s.OptionGroupOptionVersions = v
 39667  	return s
 39668  }
 39669  
 39670  // SetOptionsConflictsWith sets the OptionsConflictsWith field's value.
 39671  func (s *OptionGroupOption) SetOptionsConflictsWith(v []*string) *OptionGroupOption {
 39672  	s.OptionsConflictsWith = v
 39673  	return s
 39674  }
 39675  
 39676  // SetOptionsDependedOn sets the OptionsDependedOn field's value.
 39677  func (s *OptionGroupOption) SetOptionsDependedOn(v []*string) *OptionGroupOption {
 39678  	s.OptionsDependedOn = v
 39679  	return s
 39680  }
 39681  
 39682  // SetPermanent sets the Permanent field's value.
 39683  func (s *OptionGroupOption) SetPermanent(v bool) *OptionGroupOption {
 39684  	s.Permanent = &v
 39685  	return s
 39686  }
 39687  
 39688  // SetPersistent sets the Persistent field's value.
 39689  func (s *OptionGroupOption) SetPersistent(v bool) *OptionGroupOption {
 39690  	s.Persistent = &v
 39691  	return s
 39692  }
 39693  
 39694  // SetPortRequired sets the PortRequired field's value.
 39695  func (s *OptionGroupOption) SetPortRequired(v bool) *OptionGroupOption {
 39696  	s.PortRequired = &v
 39697  	return s
 39698  }
 39699  
 39700  // SetRequiresAutoMinorEngineVersionUpgrade sets the RequiresAutoMinorEngineVersionUpgrade field's value.
 39701  func (s *OptionGroupOption) SetRequiresAutoMinorEngineVersionUpgrade(v bool) *OptionGroupOption {
 39702  	s.RequiresAutoMinorEngineVersionUpgrade = &v
 39703  	return s
 39704  }
 39705  
 39706  // SetSupportsOptionVersionDowngrade sets the SupportsOptionVersionDowngrade field's value.
 39707  func (s *OptionGroupOption) SetSupportsOptionVersionDowngrade(v bool) *OptionGroupOption {
 39708  	s.SupportsOptionVersionDowngrade = &v
 39709  	return s
 39710  }
 39711  
 39712  // SetVpcOnly sets the VpcOnly field's value.
 39713  func (s *OptionGroupOption) SetVpcOnly(v bool) *OptionGroupOption {
 39714  	s.VpcOnly = &v
 39715  	return s
 39716  }
 39717  
 39718  // Option group option settings are used to display settings available for each
 39719  // option with their default values and other information. These values are
 39720  // used with the DescribeOptionGroupOptions action.
 39721  type OptionGroupOptionSetting struct {
 39722  	_ struct{} `type:"structure"`
 39723  
 39724  	// Indicates the acceptable values for the option group option.
 39725  	AllowedValues *string `type:"string"`
 39726  
 39727  	// The DB engine specific parameter type for the option group option.
 39728  	ApplyType *string `type:"string"`
 39729  
 39730  	// The default value for the option group option.
 39731  	DefaultValue *string `type:"string"`
 39732  
 39733  	// Boolean value where true indicates that this option group option can be changed
 39734  	// from the default value.
 39735  	IsModifiable *bool `type:"boolean"`
 39736  
 39737  	// Boolean value where true indicates that a value must be specified for this
 39738  	// option setting of the option group option.
 39739  	IsRequired *bool `type:"boolean"`
 39740  
 39741  	// The minimum DB engine version required for the corresponding allowed value
 39742  	// for this option setting.
 39743  	MinimumEngineVersionPerAllowedValue []*MinimumEngineVersionPerAllowedValue `locationNameList:"MinimumEngineVersionPerAllowedValue" type:"list"`
 39744  
 39745  	// The description of the option group option.
 39746  	SettingDescription *string `type:"string"`
 39747  
 39748  	// The name of the option group option.
 39749  	SettingName *string `type:"string"`
 39750  }
 39751  
 39752  // String returns the string representation.
 39753  //
 39754  // API parameter values that are decorated as "sensitive" in the API will not
 39755  // be included in the string output. The member name will be present, but the
 39756  // value will be replaced with "sensitive".
 39757  func (s OptionGroupOptionSetting) String() string {
 39758  	return awsutil.Prettify(s)
 39759  }
 39760  
 39761  // GoString returns the string representation.
 39762  //
 39763  // API parameter values that are decorated as "sensitive" in the API will not
 39764  // be included in the string output. The member name will be present, but the
 39765  // value will be replaced with "sensitive".
 39766  func (s OptionGroupOptionSetting) GoString() string {
 39767  	return s.String()
 39768  }
 39769  
 39770  // SetAllowedValues sets the AllowedValues field's value.
 39771  func (s *OptionGroupOptionSetting) SetAllowedValues(v string) *OptionGroupOptionSetting {
 39772  	s.AllowedValues = &v
 39773  	return s
 39774  }
 39775  
 39776  // SetApplyType sets the ApplyType field's value.
 39777  func (s *OptionGroupOptionSetting) SetApplyType(v string) *OptionGroupOptionSetting {
 39778  	s.ApplyType = &v
 39779  	return s
 39780  }
 39781  
 39782  // SetDefaultValue sets the DefaultValue field's value.
 39783  func (s *OptionGroupOptionSetting) SetDefaultValue(v string) *OptionGroupOptionSetting {
 39784  	s.DefaultValue = &v
 39785  	return s
 39786  }
 39787  
 39788  // SetIsModifiable sets the IsModifiable field's value.
 39789  func (s *OptionGroupOptionSetting) SetIsModifiable(v bool) *OptionGroupOptionSetting {
 39790  	s.IsModifiable = &v
 39791  	return s
 39792  }
 39793  
 39794  // SetIsRequired sets the IsRequired field's value.
 39795  func (s *OptionGroupOptionSetting) SetIsRequired(v bool) *OptionGroupOptionSetting {
 39796  	s.IsRequired = &v
 39797  	return s
 39798  }
 39799  
 39800  // SetMinimumEngineVersionPerAllowedValue sets the MinimumEngineVersionPerAllowedValue field's value.
 39801  func (s *OptionGroupOptionSetting) SetMinimumEngineVersionPerAllowedValue(v []*MinimumEngineVersionPerAllowedValue) *OptionGroupOptionSetting {
 39802  	s.MinimumEngineVersionPerAllowedValue = v
 39803  	return s
 39804  }
 39805  
 39806  // SetSettingDescription sets the SettingDescription field's value.
 39807  func (s *OptionGroupOptionSetting) SetSettingDescription(v string) *OptionGroupOptionSetting {
 39808  	s.SettingDescription = &v
 39809  	return s
 39810  }
 39811  
 39812  // SetSettingName sets the SettingName field's value.
 39813  func (s *OptionGroupOptionSetting) SetSettingName(v string) *OptionGroupOptionSetting {
 39814  	s.SettingName = &v
 39815  	return s
 39816  }
 39817  
 39818  // Option settings are the actual settings being applied or configured for that
 39819  // option. It is used when you modify an option group or describe option groups.
 39820  // For example, the NATIVE_NETWORK_ENCRYPTION option has a setting called SQLNET.ENCRYPTION_SERVER
 39821  // that can have several different values.
 39822  type OptionSetting struct {
 39823  	_ struct{} `type:"structure"`
 39824  
 39825  	// The allowed values of the option setting.
 39826  	AllowedValues *string `type:"string"`
 39827  
 39828  	// The DB engine specific parameter type.
 39829  	ApplyType *string `type:"string"`
 39830  
 39831  	// The data type of the option setting.
 39832  	DataType *string `type:"string"`
 39833  
 39834  	// The default value of the option setting.
 39835  	DefaultValue *string `type:"string"`
 39836  
 39837  	// The description of the option setting.
 39838  	Description *string `type:"string"`
 39839  
 39840  	// Indicates if the option setting is part of a collection.
 39841  	IsCollection *bool `type:"boolean"`
 39842  
 39843  	// A Boolean value that, when true, indicates the option setting can be modified
 39844  	// from the default.
 39845  	IsModifiable *bool `type:"boolean"`
 39846  
 39847  	// The name of the option that has settings that you can set.
 39848  	Name *string `type:"string"`
 39849  
 39850  	// The current value of the option setting.
 39851  	Value *string `type:"string"`
 39852  }
 39853  
 39854  // String returns the string representation.
 39855  //
 39856  // API parameter values that are decorated as "sensitive" in the API will not
 39857  // be included in the string output. The member name will be present, but the
 39858  // value will be replaced with "sensitive".
 39859  func (s OptionSetting) String() string {
 39860  	return awsutil.Prettify(s)
 39861  }
 39862  
 39863  // GoString returns the string representation.
 39864  //
 39865  // API parameter values that are decorated as "sensitive" in the API will not
 39866  // be included in the string output. The member name will be present, but the
 39867  // value will be replaced with "sensitive".
 39868  func (s OptionSetting) GoString() string {
 39869  	return s.String()
 39870  }
 39871  
 39872  // SetAllowedValues sets the AllowedValues field's value.
 39873  func (s *OptionSetting) SetAllowedValues(v string) *OptionSetting {
 39874  	s.AllowedValues = &v
 39875  	return s
 39876  }
 39877  
 39878  // SetApplyType sets the ApplyType field's value.
 39879  func (s *OptionSetting) SetApplyType(v string) *OptionSetting {
 39880  	s.ApplyType = &v
 39881  	return s
 39882  }
 39883  
 39884  // SetDataType sets the DataType field's value.
 39885  func (s *OptionSetting) SetDataType(v string) *OptionSetting {
 39886  	s.DataType = &v
 39887  	return s
 39888  }
 39889  
 39890  // SetDefaultValue sets the DefaultValue field's value.
 39891  func (s *OptionSetting) SetDefaultValue(v string) *OptionSetting {
 39892  	s.DefaultValue = &v
 39893  	return s
 39894  }
 39895  
 39896  // SetDescription sets the Description field's value.
 39897  func (s *OptionSetting) SetDescription(v string) *OptionSetting {
 39898  	s.Description = &v
 39899  	return s
 39900  }
 39901  
 39902  // SetIsCollection sets the IsCollection field's value.
 39903  func (s *OptionSetting) SetIsCollection(v bool) *OptionSetting {
 39904  	s.IsCollection = &v
 39905  	return s
 39906  }
 39907  
 39908  // SetIsModifiable sets the IsModifiable field's value.
 39909  func (s *OptionSetting) SetIsModifiable(v bool) *OptionSetting {
 39910  	s.IsModifiable = &v
 39911  	return s
 39912  }
 39913  
 39914  // SetName sets the Name field's value.
 39915  func (s *OptionSetting) SetName(v string) *OptionSetting {
 39916  	s.Name = &v
 39917  	return s
 39918  }
 39919  
 39920  // SetValue sets the Value field's value.
 39921  func (s *OptionSetting) SetValue(v string) *OptionSetting {
 39922  	s.Value = &v
 39923  	return s
 39924  }
 39925  
 39926  // The version for an option. Option group option versions are returned by the
 39927  // DescribeOptionGroupOptions action.
 39928  type OptionVersion struct {
 39929  	_ struct{} `type:"structure"`
 39930  
 39931  	// True if the version is the default version of the option, and otherwise false.
 39932  	IsDefault *bool `type:"boolean"`
 39933  
 39934  	// The version of the option.
 39935  	Version *string `type:"string"`
 39936  }
 39937  
 39938  // String returns the string representation.
 39939  //
 39940  // API parameter values that are decorated as "sensitive" in the API will not
 39941  // be included in the string output. The member name will be present, but the
 39942  // value will be replaced with "sensitive".
 39943  func (s OptionVersion) String() string {
 39944  	return awsutil.Prettify(s)
 39945  }
 39946  
 39947  // GoString returns the string representation.
 39948  //
 39949  // API parameter values that are decorated as "sensitive" in the API will not
 39950  // be included in the string output. The member name will be present, but the
 39951  // value will be replaced with "sensitive".
 39952  func (s OptionVersion) GoString() string {
 39953  	return s.String()
 39954  }
 39955  
 39956  // SetIsDefault sets the IsDefault field's value.
 39957  func (s *OptionVersion) SetIsDefault(v bool) *OptionVersion {
 39958  	s.IsDefault = &v
 39959  	return s
 39960  }
 39961  
 39962  // SetVersion sets the Version field's value.
 39963  func (s *OptionVersion) SetVersion(v string) *OptionVersion {
 39964  	s.Version = &v
 39965  	return s
 39966  }
 39967  
 39968  // Contains a list of available options for a DB instance.
 39969  //
 39970  // This data type is used as a response element in the DescribeOrderableDBInstanceOptions
 39971  // action.
 39972  type OrderableDBInstanceOption struct {
 39973  	_ struct{} `type:"structure"`
 39974  
 39975  	// The Availability Zone group for a DB instance.
 39976  	AvailabilityZoneGroup *string `type:"string"`
 39977  
 39978  	// A list of Availability Zones for a DB instance.
 39979  	AvailabilityZones []*AvailabilityZone `locationNameList:"AvailabilityZone" type:"list"`
 39980  
 39981  	// A list of the available processor features for the DB instance class of a
 39982  	// DB instance.
 39983  	AvailableProcessorFeatures []*AvailableProcessorFeature `locationNameList:"AvailableProcessorFeature" type:"list"`
 39984  
 39985  	// The DB instance class for a DB instance.
 39986  	DBInstanceClass *string `type:"string"`
 39987  
 39988  	// The engine type of a DB instance.
 39989  	Engine *string `type:"string"`
 39990  
 39991  	// The engine version of a DB instance.
 39992  	EngineVersion *string `type:"string"`
 39993  
 39994  	// The license model for a DB instance.
 39995  	LicenseModel *string `type:"string"`
 39996  
 39997  	// Maximum total provisioned IOPS for a DB instance.
 39998  	MaxIopsPerDbInstance *int64 `type:"integer"`
 39999  
 40000  	// Maximum provisioned IOPS per GiB for a DB instance.
 40001  	MaxIopsPerGib *float64 `type:"double"`
 40002  
 40003  	// Maximum storage size for a DB instance.
 40004  	MaxStorageSize *int64 `type:"integer"`
 40005  
 40006  	// Minimum total provisioned IOPS for a DB instance.
 40007  	MinIopsPerDbInstance *int64 `type:"integer"`
 40008  
 40009  	// Minimum provisioned IOPS per GiB for a DB instance.
 40010  	MinIopsPerGib *float64 `type:"double"`
 40011  
 40012  	// Minimum storage size for a DB instance.
 40013  	MinStorageSize *int64 `type:"integer"`
 40014  
 40015  	// Indicates whether a DB instance is Multi-AZ capable.
 40016  	MultiAZCapable *bool `type:"boolean"`
 40017  
 40018  	// Whether a DB instance supports RDS on Outposts.
 40019  	//
 40020  	// For more information about RDS on Outposts, see Amazon RDS on Amazon Web
 40021  	// Services Outposts (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html)
 40022  	// in the Amazon RDS User Guide.
 40023  	OutpostCapable *bool `type:"boolean"`
 40024  
 40025  	// Indicates whether a DB instance can have a read replica.
 40026  	ReadReplicaCapable *bool `type:"boolean"`
 40027  
 40028  	// Indicates the storage type for a DB instance.
 40029  	StorageType *string `type:"string"`
 40030  
 40031  	// The list of supported modes for Database Activity Streams. Aurora PostgreSQL
 40032  	// returns the value [sync, async]. Aurora MySQL and RDS for Oracle return [async]
 40033  	// only. If Database Activity Streams isn't supported, the return value is an
 40034  	// empty list.
 40035  	SupportedActivityStreamModes []*string `type:"list"`
 40036  
 40037  	// A list of the supported DB engine modes.
 40038  	SupportedEngineModes []*string `type:"list"`
 40039  
 40040  	// Indicates whether a DB instance supports Enhanced Monitoring at intervals
 40041  	// from 1 to 60 seconds.
 40042  	SupportsEnhancedMonitoring *bool `type:"boolean"`
 40043  
 40044  	// A value that indicates whether you can use Aurora global databases with a
 40045  	// specific combination of other DB engine attributes.
 40046  	SupportsGlobalDatabases *bool `type:"boolean"`
 40047  
 40048  	// Indicates whether a DB instance supports IAM database authentication.
 40049  	SupportsIAMDatabaseAuthentication *bool `type:"boolean"`
 40050  
 40051  	// Indicates whether a DB instance supports provisioned IOPS.
 40052  	SupportsIops *bool `type:"boolean"`
 40053  
 40054  	// Whether a DB instance supports Kerberos Authentication.
 40055  	SupportsKerberosAuthentication *bool `type:"boolean"`
 40056  
 40057  	// True if a DB instance supports Performance Insights, otherwise false.
 40058  	SupportsPerformanceInsights *bool `type:"boolean"`
 40059  
 40060  	// Whether Amazon RDS can automatically scale storage for DB instances that
 40061  	// use the specified DB instance class.
 40062  	SupportsStorageAutoscaling *bool `type:"boolean"`
 40063  
 40064  	// Indicates whether a DB instance supports encrypted storage.
 40065  	SupportsStorageEncryption *bool `type:"boolean"`
 40066  
 40067  	// Indicates whether a DB instance is in a VPC.
 40068  	Vpc *bool `type:"boolean"`
 40069  }
 40070  
 40071  // String returns the string representation.
 40072  //
 40073  // API parameter values that are decorated as "sensitive" in the API will not
 40074  // be included in the string output. The member name will be present, but the
 40075  // value will be replaced with "sensitive".
 40076  func (s OrderableDBInstanceOption) String() string {
 40077  	return awsutil.Prettify(s)
 40078  }
 40079  
 40080  // GoString returns the string representation.
 40081  //
 40082  // API parameter values that are decorated as "sensitive" in the API will not
 40083  // be included in the string output. The member name will be present, but the
 40084  // value will be replaced with "sensitive".
 40085  func (s OrderableDBInstanceOption) GoString() string {
 40086  	return s.String()
 40087  }
 40088  
 40089  // SetAvailabilityZoneGroup sets the AvailabilityZoneGroup field's value.
 40090  func (s *OrderableDBInstanceOption) SetAvailabilityZoneGroup(v string) *OrderableDBInstanceOption {
 40091  	s.AvailabilityZoneGroup = &v
 40092  	return s
 40093  }
 40094  
 40095  // SetAvailabilityZones sets the AvailabilityZones field's value.
 40096  func (s *OrderableDBInstanceOption) SetAvailabilityZones(v []*AvailabilityZone) *OrderableDBInstanceOption {
 40097  	s.AvailabilityZones = v
 40098  	return s
 40099  }
 40100  
 40101  // SetAvailableProcessorFeatures sets the AvailableProcessorFeatures field's value.
 40102  func (s *OrderableDBInstanceOption) SetAvailableProcessorFeatures(v []*AvailableProcessorFeature) *OrderableDBInstanceOption {
 40103  	s.AvailableProcessorFeatures = v
 40104  	return s
 40105  }
 40106  
 40107  // SetDBInstanceClass sets the DBInstanceClass field's value.
 40108  func (s *OrderableDBInstanceOption) SetDBInstanceClass(v string) *OrderableDBInstanceOption {
 40109  	s.DBInstanceClass = &v
 40110  	return s
 40111  }
 40112  
 40113  // SetEngine sets the Engine field's value.
 40114  func (s *OrderableDBInstanceOption) SetEngine(v string) *OrderableDBInstanceOption {
 40115  	s.Engine = &v
 40116  	return s
 40117  }
 40118  
 40119  // SetEngineVersion sets the EngineVersion field's value.
 40120  func (s *OrderableDBInstanceOption) SetEngineVersion(v string) *OrderableDBInstanceOption {
 40121  	s.EngineVersion = &v
 40122  	return s
 40123  }
 40124  
 40125  // SetLicenseModel sets the LicenseModel field's value.
 40126  func (s *OrderableDBInstanceOption) SetLicenseModel(v string) *OrderableDBInstanceOption {
 40127  	s.LicenseModel = &v
 40128  	return s
 40129  }
 40130  
 40131  // SetMaxIopsPerDbInstance sets the MaxIopsPerDbInstance field's value.
 40132  func (s *OrderableDBInstanceOption) SetMaxIopsPerDbInstance(v int64) *OrderableDBInstanceOption {
 40133  	s.MaxIopsPerDbInstance = &v
 40134  	return s
 40135  }
 40136  
 40137  // SetMaxIopsPerGib sets the MaxIopsPerGib field's value.
 40138  func (s *OrderableDBInstanceOption) SetMaxIopsPerGib(v float64) *OrderableDBInstanceOption {
 40139  	s.MaxIopsPerGib = &v
 40140  	return s
 40141  }
 40142  
 40143  // SetMaxStorageSize sets the MaxStorageSize field's value.
 40144  func (s *OrderableDBInstanceOption) SetMaxStorageSize(v int64) *OrderableDBInstanceOption {
 40145  	s.MaxStorageSize = &v
 40146  	return s
 40147  }
 40148  
 40149  // SetMinIopsPerDbInstance sets the MinIopsPerDbInstance field's value.
 40150  func (s *OrderableDBInstanceOption) SetMinIopsPerDbInstance(v int64) *OrderableDBInstanceOption {
 40151  	s.MinIopsPerDbInstance = &v
 40152  	return s
 40153  }
 40154  
 40155  // SetMinIopsPerGib sets the MinIopsPerGib field's value.
 40156  func (s *OrderableDBInstanceOption) SetMinIopsPerGib(v float64) *OrderableDBInstanceOption {
 40157  	s.MinIopsPerGib = &v
 40158  	return s
 40159  }
 40160  
 40161  // SetMinStorageSize sets the MinStorageSize field's value.
 40162  func (s *OrderableDBInstanceOption) SetMinStorageSize(v int64) *OrderableDBInstanceOption {
 40163  	s.MinStorageSize = &v
 40164  	return s
 40165  }
 40166  
 40167  // SetMultiAZCapable sets the MultiAZCapable field's value.
 40168  func (s *OrderableDBInstanceOption) SetMultiAZCapable(v bool) *OrderableDBInstanceOption {
 40169  	s.MultiAZCapable = &v
 40170  	return s
 40171  }
 40172  
 40173  // SetOutpostCapable sets the OutpostCapable field's value.
 40174  func (s *OrderableDBInstanceOption) SetOutpostCapable(v bool) *OrderableDBInstanceOption {
 40175  	s.OutpostCapable = &v
 40176  	return s
 40177  }
 40178  
 40179  // SetReadReplicaCapable sets the ReadReplicaCapable field's value.
 40180  func (s *OrderableDBInstanceOption) SetReadReplicaCapable(v bool) *OrderableDBInstanceOption {
 40181  	s.ReadReplicaCapable = &v
 40182  	return s
 40183  }
 40184  
 40185  // SetStorageType sets the StorageType field's value.
 40186  func (s *OrderableDBInstanceOption) SetStorageType(v string) *OrderableDBInstanceOption {
 40187  	s.StorageType = &v
 40188  	return s
 40189  }
 40190  
 40191  // SetSupportedActivityStreamModes sets the SupportedActivityStreamModes field's value.
 40192  func (s *OrderableDBInstanceOption) SetSupportedActivityStreamModes(v []*string) *OrderableDBInstanceOption {
 40193  	s.SupportedActivityStreamModes = v
 40194  	return s
 40195  }
 40196  
 40197  // SetSupportedEngineModes sets the SupportedEngineModes field's value.
 40198  func (s *OrderableDBInstanceOption) SetSupportedEngineModes(v []*string) *OrderableDBInstanceOption {
 40199  	s.SupportedEngineModes = v
 40200  	return s
 40201  }
 40202  
 40203  // SetSupportsEnhancedMonitoring sets the SupportsEnhancedMonitoring field's value.
 40204  func (s *OrderableDBInstanceOption) SetSupportsEnhancedMonitoring(v bool) *OrderableDBInstanceOption {
 40205  	s.SupportsEnhancedMonitoring = &v
 40206  	return s
 40207  }
 40208  
 40209  // SetSupportsGlobalDatabases sets the SupportsGlobalDatabases field's value.
 40210  func (s *OrderableDBInstanceOption) SetSupportsGlobalDatabases(v bool) *OrderableDBInstanceOption {
 40211  	s.SupportsGlobalDatabases = &v
 40212  	return s
 40213  }
 40214  
 40215  // SetSupportsIAMDatabaseAuthentication sets the SupportsIAMDatabaseAuthentication field's value.
 40216  func (s *OrderableDBInstanceOption) SetSupportsIAMDatabaseAuthentication(v bool) *OrderableDBInstanceOption {
 40217  	s.SupportsIAMDatabaseAuthentication = &v
 40218  	return s
 40219  }
 40220  
 40221  // SetSupportsIops sets the SupportsIops field's value.
 40222  func (s *OrderableDBInstanceOption) SetSupportsIops(v bool) *OrderableDBInstanceOption {
 40223  	s.SupportsIops = &v
 40224  	return s
 40225  }
 40226  
 40227  // SetSupportsKerberosAuthentication sets the SupportsKerberosAuthentication field's value.
 40228  func (s *OrderableDBInstanceOption) SetSupportsKerberosAuthentication(v bool) *OrderableDBInstanceOption {
 40229  	s.SupportsKerberosAuthentication = &v
 40230  	return s
 40231  }
 40232  
 40233  // SetSupportsPerformanceInsights sets the SupportsPerformanceInsights field's value.
 40234  func (s *OrderableDBInstanceOption) SetSupportsPerformanceInsights(v bool) *OrderableDBInstanceOption {
 40235  	s.SupportsPerformanceInsights = &v
 40236  	return s
 40237  }
 40238  
 40239  // SetSupportsStorageAutoscaling sets the SupportsStorageAutoscaling field's value.
 40240  func (s *OrderableDBInstanceOption) SetSupportsStorageAutoscaling(v bool) *OrderableDBInstanceOption {
 40241  	s.SupportsStorageAutoscaling = &v
 40242  	return s
 40243  }
 40244  
 40245  // SetSupportsStorageEncryption sets the SupportsStorageEncryption field's value.
 40246  func (s *OrderableDBInstanceOption) SetSupportsStorageEncryption(v bool) *OrderableDBInstanceOption {
 40247  	s.SupportsStorageEncryption = &v
 40248  	return s
 40249  }
 40250  
 40251  // SetVpc sets the Vpc field's value.
 40252  func (s *OrderableDBInstanceOption) SetVpc(v bool) *OrderableDBInstanceOption {
 40253  	s.Vpc = &v
 40254  	return s
 40255  }
 40256  
 40257  // A data type that represents an Outpost.
 40258  //
 40259  // For more information about RDS on Outposts, see Amazon RDS on Amazon Web
 40260  // Services Outposts (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html)
 40261  // in the Amazon RDS User Guide.
 40262  type Outpost struct {
 40263  	_ struct{} `type:"structure"`
 40264  
 40265  	// The Amazon Resource Name (ARN) of the Outpost.
 40266  	Arn *string `type:"string"`
 40267  }
 40268  
 40269  // String returns the string representation.
 40270  //
 40271  // API parameter values that are decorated as "sensitive" in the API will not
 40272  // be included in the string output. The member name will be present, but the
 40273  // value will be replaced with "sensitive".
 40274  func (s Outpost) String() string {
 40275  	return awsutil.Prettify(s)
 40276  }
 40277  
 40278  // GoString returns the string representation.
 40279  //
 40280  // API parameter values that are decorated as "sensitive" in the API will not
 40281  // be included in the string output. The member name will be present, but the
 40282  // value will be replaced with "sensitive".
 40283  func (s Outpost) GoString() string {
 40284  	return s.String()
 40285  }
 40286  
 40287  // SetArn sets the Arn field's value.
 40288  func (s *Outpost) SetArn(v string) *Outpost {
 40289  	s.Arn = &v
 40290  	return s
 40291  }
 40292  
 40293  // This data type is used as a request parameter in the ModifyDBParameterGroup
 40294  // and ResetDBParameterGroup actions.
 40295  //
 40296  // This data type is used as a response element in the DescribeEngineDefaultParameters
 40297  // and DescribeDBParameters actions.
 40298  type Parameter struct {
 40299  	_ struct{} `type:"structure"`
 40300  
 40301  	// Specifies the valid range of values for the parameter.
 40302  	AllowedValues *string `type:"string"`
 40303  
 40304  	// Indicates when to apply parameter updates.
 40305  	ApplyMethod *string `type:"string" enum:"ApplyMethod"`
 40306  
 40307  	// Specifies the engine specific parameters type.
 40308  	ApplyType *string `type:"string"`
 40309  
 40310  	// Specifies the valid data type for the parameter.
 40311  	DataType *string `type:"string"`
 40312  
 40313  	// Provides a description of the parameter.
 40314  	Description *string `type:"string"`
 40315  
 40316  	// Indicates whether (true) or not (false) the parameter can be modified. Some
 40317  	// parameters have security or operational implications that prevent them from
 40318  	// being changed.
 40319  	IsModifiable *bool `type:"boolean"`
 40320  
 40321  	// The earliest engine version to which the parameter can apply.
 40322  	MinimumEngineVersion *string `type:"string"`
 40323  
 40324  	// Specifies the name of the parameter.
 40325  	ParameterName *string `type:"string"`
 40326  
 40327  	// Specifies the value of the parameter.
 40328  	ParameterValue *string `type:"string"`
 40329  
 40330  	// Indicates the source of the parameter value.
 40331  	Source *string `type:"string"`
 40332  
 40333  	// The valid DB engine modes.
 40334  	SupportedEngineModes []*string `type:"list"`
 40335  }
 40336  
 40337  // String returns the string representation.
 40338  //
 40339  // API parameter values that are decorated as "sensitive" in the API will not
 40340  // be included in the string output. The member name will be present, but the
 40341  // value will be replaced with "sensitive".
 40342  func (s Parameter) String() string {
 40343  	return awsutil.Prettify(s)
 40344  }
 40345  
 40346  // GoString returns the string representation.
 40347  //
 40348  // API parameter values that are decorated as "sensitive" in the API will not
 40349  // be included in the string output. The member name will be present, but the
 40350  // value will be replaced with "sensitive".
 40351  func (s Parameter) GoString() string {
 40352  	return s.String()
 40353  }
 40354  
 40355  // SetAllowedValues sets the AllowedValues field's value.
 40356  func (s *Parameter) SetAllowedValues(v string) *Parameter {
 40357  	s.AllowedValues = &v
 40358  	return s
 40359  }
 40360  
 40361  // SetApplyMethod sets the ApplyMethod field's value.
 40362  func (s *Parameter) SetApplyMethod(v string) *Parameter {
 40363  	s.ApplyMethod = &v
 40364  	return s
 40365  }
 40366  
 40367  // SetApplyType sets the ApplyType field's value.
 40368  func (s *Parameter) SetApplyType(v string) *Parameter {
 40369  	s.ApplyType = &v
 40370  	return s
 40371  }
 40372  
 40373  // SetDataType sets the DataType field's value.
 40374  func (s *Parameter) SetDataType(v string) *Parameter {
 40375  	s.DataType = &v
 40376  	return s
 40377  }
 40378  
 40379  // SetDescription sets the Description field's value.
 40380  func (s *Parameter) SetDescription(v string) *Parameter {
 40381  	s.Description = &v
 40382  	return s
 40383  }
 40384  
 40385  // SetIsModifiable sets the IsModifiable field's value.
 40386  func (s *Parameter) SetIsModifiable(v bool) *Parameter {
 40387  	s.IsModifiable = &v
 40388  	return s
 40389  }
 40390  
 40391  // SetMinimumEngineVersion sets the MinimumEngineVersion field's value.
 40392  func (s *Parameter) SetMinimumEngineVersion(v string) *Parameter {
 40393  	s.MinimumEngineVersion = &v
 40394  	return s
 40395  }
 40396  
 40397  // SetParameterName sets the ParameterName field's value.
 40398  func (s *Parameter) SetParameterName(v string) *Parameter {
 40399  	s.ParameterName = &v
 40400  	return s
 40401  }
 40402  
 40403  // SetParameterValue sets the ParameterValue field's value.
 40404  func (s *Parameter) SetParameterValue(v string) *Parameter {
 40405  	s.ParameterValue = &v
 40406  	return s
 40407  }
 40408  
 40409  // SetSource sets the Source field's value.
 40410  func (s *Parameter) SetSource(v string) *Parameter {
 40411  	s.Source = &v
 40412  	return s
 40413  }
 40414  
 40415  // SetSupportedEngineModes sets the SupportedEngineModes field's value.
 40416  func (s *Parameter) SetSupportedEngineModes(v []*string) *Parameter {
 40417  	s.SupportedEngineModes = v
 40418  	return s
 40419  }
 40420  
 40421  // A list of the log types whose configuration is still pending. In other words,
 40422  // these log types are in the process of being activated or deactivated.
 40423  type PendingCloudwatchLogsExports struct {
 40424  	_ struct{} `type:"structure"`
 40425  
 40426  	// Log types that are in the process of being enabled. After they are enabled,
 40427  	// these log types are exported to CloudWatch Logs.
 40428  	LogTypesToDisable []*string `type:"list"`
 40429  
 40430  	// Log types that are in the process of being deactivated. After they are deactivated,
 40431  	// these log types aren't exported to CloudWatch Logs.
 40432  	LogTypesToEnable []*string `type:"list"`
 40433  }
 40434  
 40435  // String returns the string representation.
 40436  //
 40437  // API parameter values that are decorated as "sensitive" in the API will not
 40438  // be included in the string output. The member name will be present, but the
 40439  // value will be replaced with "sensitive".
 40440  func (s PendingCloudwatchLogsExports) String() string {
 40441  	return awsutil.Prettify(s)
 40442  }
 40443  
 40444  // GoString returns the string representation.
 40445  //
 40446  // API parameter values that are decorated as "sensitive" in the API will not
 40447  // be included in the string output. The member name will be present, but the
 40448  // value will be replaced with "sensitive".
 40449  func (s PendingCloudwatchLogsExports) GoString() string {
 40450  	return s.String()
 40451  }
 40452  
 40453  // SetLogTypesToDisable sets the LogTypesToDisable field's value.
 40454  func (s *PendingCloudwatchLogsExports) SetLogTypesToDisable(v []*string) *PendingCloudwatchLogsExports {
 40455  	s.LogTypesToDisable = v
 40456  	return s
 40457  }
 40458  
 40459  // SetLogTypesToEnable sets the LogTypesToEnable field's value.
 40460  func (s *PendingCloudwatchLogsExports) SetLogTypesToEnable(v []*string) *PendingCloudwatchLogsExports {
 40461  	s.LogTypesToEnable = v
 40462  	return s
 40463  }
 40464  
 40465  // Provides information about a pending maintenance action for a resource.
 40466  type PendingMaintenanceAction struct {
 40467  	_ struct{} `type:"structure"`
 40468  
 40469  	// The type of pending maintenance action that is available for the resource.
 40470  	// Valid actions are system-update, db-upgrade, hardware-maintenance, and ca-certificate-rotation.
 40471  	Action *string `type:"string"`
 40472  
 40473  	// The date of the maintenance window when the action is applied. The maintenance
 40474  	// action is applied to the resource during its first maintenance window after
 40475  	// this date.
 40476  	AutoAppliedAfterDate *time.Time `type:"timestamp"`
 40477  
 40478  	// The effective date when the pending maintenance action is applied to the
 40479  	// resource. This date takes into account opt-in requests received from the
 40480  	// ApplyPendingMaintenanceAction API, the AutoAppliedAfterDate, and the ForcedApplyDate.
 40481  	// This value is blank if an opt-in request has not been received and nothing
 40482  	// has been specified as AutoAppliedAfterDate or ForcedApplyDate.
 40483  	CurrentApplyDate *time.Time `type:"timestamp"`
 40484  
 40485  	// A description providing more detail about the maintenance action.
 40486  	Description *string `type:"string"`
 40487  
 40488  	// The date when the maintenance action is automatically applied.
 40489  	//
 40490  	// On this date, the maintenance action is applied to the resource as soon as
 40491  	// possible, regardless of the maintenance window for the resource. There might
 40492  	// be a delay of one or more days from this date before the maintenance action
 40493  	// is applied.
 40494  	ForcedApplyDate *time.Time `type:"timestamp"`
 40495  
 40496  	// Indicates the type of opt-in request that has been received for the resource.
 40497  	OptInStatus *string `type:"string"`
 40498  }
 40499  
 40500  // String returns the string representation.
 40501  //
 40502  // API parameter values that are decorated as "sensitive" in the API will not
 40503  // be included in the string output. The member name will be present, but the
 40504  // value will be replaced with "sensitive".
 40505  func (s PendingMaintenanceAction) String() string {
 40506  	return awsutil.Prettify(s)
 40507  }
 40508  
 40509  // GoString returns the string representation.
 40510  //
 40511  // API parameter values that are decorated as "sensitive" in the API will not
 40512  // be included in the string output. The member name will be present, but the
 40513  // value will be replaced with "sensitive".
 40514  func (s PendingMaintenanceAction) GoString() string {
 40515  	return s.String()
 40516  }
 40517  
 40518  // SetAction sets the Action field's value.
 40519  func (s *PendingMaintenanceAction) SetAction(v string) *PendingMaintenanceAction {
 40520  	s.Action = &v
 40521  	return s
 40522  }
 40523  
 40524  // SetAutoAppliedAfterDate sets the AutoAppliedAfterDate field's value.
 40525  func (s *PendingMaintenanceAction) SetAutoAppliedAfterDate(v time.Time) *PendingMaintenanceAction {
 40526  	s.AutoAppliedAfterDate = &v
 40527  	return s
 40528  }
 40529  
 40530  // SetCurrentApplyDate sets the CurrentApplyDate field's value.
 40531  func (s *PendingMaintenanceAction) SetCurrentApplyDate(v time.Time) *PendingMaintenanceAction {
 40532  	s.CurrentApplyDate = &v
 40533  	return s
 40534  }
 40535  
 40536  // SetDescription sets the Description field's value.
 40537  func (s *PendingMaintenanceAction) SetDescription(v string) *PendingMaintenanceAction {
 40538  	s.Description = &v
 40539  	return s
 40540  }
 40541  
 40542  // SetForcedApplyDate sets the ForcedApplyDate field's value.
 40543  func (s *PendingMaintenanceAction) SetForcedApplyDate(v time.Time) *PendingMaintenanceAction {
 40544  	s.ForcedApplyDate = &v
 40545  	return s
 40546  }
 40547  
 40548  // SetOptInStatus sets the OptInStatus field's value.
 40549  func (s *PendingMaintenanceAction) SetOptInStatus(v string) *PendingMaintenanceAction {
 40550  	s.OptInStatus = &v
 40551  	return s
 40552  }
 40553  
 40554  // This data type is used as a response element in the ModifyDBInstance operation
 40555  // and contains changes that will be applied during the next maintenance window.
 40556  type PendingModifiedValues struct {
 40557  	_ struct{} `type:"structure"`
 40558  
 40559  	// The allocated storage size for the DB instance specified in gibibytes (GiB).
 40560  	AllocatedStorage *int64 `type:"integer"`
 40561  
 40562  	// The number of days for which automated backups are retained.
 40563  	BackupRetentionPeriod *int64 `type:"integer"`
 40564  
 40565  	// The identifier of the CA certificate for the DB instance.
 40566  	CACertificateIdentifier *string `type:"string"`
 40567  
 40568  	// The name of the compute and memory capacity class for the DB instance.
 40569  	DBInstanceClass *string `type:"string"`
 40570  
 40571  	// The database identifier for the DB instance.
 40572  	DBInstanceIdentifier *string `type:"string"`
 40573  
 40574  	// The DB subnet group for the DB instance.
 40575  	DBSubnetGroupName *string `type:"string"`
 40576  
 40577  	// The database engine version.
 40578  	EngineVersion *string `type:"string"`
 40579  
 40580  	// Whether mapping of Amazon Web Services Identity and Access Management (IAM)
 40581  	// accounts to database accounts is enabled.
 40582  	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
 40583  
 40584  	// The Provisioned IOPS value for the DB instance.
 40585  	Iops *int64 `type:"integer"`
 40586  
 40587  	// The license model for the DB instance.
 40588  	//
 40589  	// Valid values: license-included | bring-your-own-license | general-public-license
 40590  	LicenseModel *string `type:"string"`
 40591  
 40592  	// The master credentials for the DB instance.
 40593  	MasterUserPassword *string `type:"string"`
 40594  
 40595  	// A value that indicates that the Single-AZ DB instance will change to a Multi-AZ
 40596  	// deployment.
 40597  	MultiAZ *bool `type:"boolean"`
 40598  
 40599  	// A list of the log types whose configuration is still pending. In other words,
 40600  	// these log types are in the process of being activated or deactivated.
 40601  	PendingCloudwatchLogsExports *PendingCloudwatchLogsExports `type:"structure"`
 40602  
 40603  	// The port for the DB instance.
 40604  	Port *int64 `type:"integer"`
 40605  
 40606  	// The number of CPU cores and the number of threads per core for the DB instance
 40607  	// class of the DB instance.
 40608  	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
 40609  
 40610  	// The storage type of the DB instance.
 40611  	StorageType *string `type:"string"`
 40612  }
 40613  
 40614  // String returns the string representation.
 40615  //
 40616  // API parameter values that are decorated as "sensitive" in the API will not
 40617  // be included in the string output. The member name will be present, but the
 40618  // value will be replaced with "sensitive".
 40619  func (s PendingModifiedValues) String() string {
 40620  	return awsutil.Prettify(s)
 40621  }
 40622  
 40623  // GoString returns the string representation.
 40624  //
 40625  // API parameter values that are decorated as "sensitive" in the API will not
 40626  // be included in the string output. The member name will be present, but the
 40627  // value will be replaced with "sensitive".
 40628  func (s PendingModifiedValues) GoString() string {
 40629  	return s.String()
 40630  }
 40631  
 40632  // SetAllocatedStorage sets the AllocatedStorage field's value.
 40633  func (s *PendingModifiedValues) SetAllocatedStorage(v int64) *PendingModifiedValues {
 40634  	s.AllocatedStorage = &v
 40635  	return s
 40636  }
 40637  
 40638  // SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
 40639  func (s *PendingModifiedValues) SetBackupRetentionPeriod(v int64) *PendingModifiedValues {
 40640  	s.BackupRetentionPeriod = &v
 40641  	return s
 40642  }
 40643  
 40644  // SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
 40645  func (s *PendingModifiedValues) SetCACertificateIdentifier(v string) *PendingModifiedValues {
 40646  	s.CACertificateIdentifier = &v
 40647  	return s
 40648  }
 40649  
 40650  // SetDBInstanceClass sets the DBInstanceClass field's value.
 40651  func (s *PendingModifiedValues) SetDBInstanceClass(v string) *PendingModifiedValues {
 40652  	s.DBInstanceClass = &v
 40653  	return s
 40654  }
 40655  
 40656  // SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
 40657  func (s *PendingModifiedValues) SetDBInstanceIdentifier(v string) *PendingModifiedValues {
 40658  	s.DBInstanceIdentifier = &v
 40659  	return s
 40660  }
 40661  
 40662  // SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
 40663  func (s *PendingModifiedValues) SetDBSubnetGroupName(v string) *PendingModifiedValues {
 40664  	s.DBSubnetGroupName = &v
 40665  	return s
 40666  }
 40667  
 40668  // SetEngineVersion sets the EngineVersion field's value.
 40669  func (s *PendingModifiedValues) SetEngineVersion(v string) *PendingModifiedValues {
 40670  	s.EngineVersion = &v
 40671  	return s
 40672  }
 40673  
 40674  // SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
 40675  func (s *PendingModifiedValues) SetIAMDatabaseAuthenticationEnabled(v bool) *PendingModifiedValues {
 40676  	s.IAMDatabaseAuthenticationEnabled = &v
 40677  	return s
 40678  }
 40679  
 40680  // SetIops sets the Iops field's value.
 40681  func (s *PendingModifiedValues) SetIops(v int64) *PendingModifiedValues {
 40682  	s.Iops = &v
 40683  	return s
 40684  }
 40685  
 40686  // SetLicenseModel sets the LicenseModel field's value.
 40687  func (s *PendingModifiedValues) SetLicenseModel(v string) *PendingModifiedValues {
 40688  	s.LicenseModel = &v
 40689  	return s
 40690  }
 40691  
 40692  // SetMasterUserPassword sets the MasterUserPassword field's value.
 40693  func (s *PendingModifiedValues) SetMasterUserPassword(v string) *PendingModifiedValues {
 40694  	s.MasterUserPassword = &v
 40695  	return s
 40696  }
 40697  
 40698  // SetMultiAZ sets the MultiAZ field's value.
 40699  func (s *PendingModifiedValues) SetMultiAZ(v bool) *PendingModifiedValues {
 40700  	s.MultiAZ = &v
 40701  	return s
 40702  }
 40703  
 40704  // SetPendingCloudwatchLogsExports sets the PendingCloudwatchLogsExports field's value.
 40705  func (s *PendingModifiedValues) SetPendingCloudwatchLogsExports(v *PendingCloudwatchLogsExports) *PendingModifiedValues {
 40706  	s.PendingCloudwatchLogsExports = v
 40707  	return s
 40708  }
 40709  
 40710  // SetPort sets the Port field's value.
 40711  func (s *PendingModifiedValues) SetPort(v int64) *PendingModifiedValues {
 40712  	s.Port = &v
 40713  	return s
 40714  }
 40715  
 40716  // SetProcessorFeatures sets the ProcessorFeatures field's value.
 40717  func (s *PendingModifiedValues) SetProcessorFeatures(v []*ProcessorFeature) *PendingModifiedValues {
 40718  	s.ProcessorFeatures = v
 40719  	return s
 40720  }
 40721  
 40722  // SetStorageType sets the StorageType field's value.
 40723  func (s *PendingModifiedValues) SetStorageType(v string) *PendingModifiedValues {
 40724  	s.StorageType = &v
 40725  	return s
 40726  }
 40727  
 40728  // Contains the processor features of a DB instance class.
 40729  //
 40730  // To specify the number of CPU cores, use the coreCount feature name for the
 40731  // Name parameter. To specify the number of threads per core, use the threadsPerCore
 40732  // feature name for the Name parameter.
 40733  //
 40734  // You can set the processor features of the DB instance class for a DB instance
 40735  // when you call one of the following actions:
 40736  //
 40737  //    * CreateDBInstance
 40738  //
 40739  //    * ModifyDBInstance
 40740  //
 40741  //    * RestoreDBInstanceFromDBSnapshot
 40742  //
 40743  //    * RestoreDBInstanceFromS3
 40744  //
 40745  //    * RestoreDBInstanceToPointInTime
 40746  //
 40747  // You can view the valid processor values for a particular instance class by
 40748  // calling the DescribeOrderableDBInstanceOptions action and specifying the
 40749  // instance class for the DBInstanceClass parameter.
 40750  //
 40751  // In addition, you can use the following actions for DB instance class processor
 40752  // information:
 40753  //
 40754  //    * DescribeDBInstances
 40755  //
 40756  //    * DescribeDBSnapshots
 40757  //
 40758  //    * DescribeValidDBInstanceModifications
 40759  //
 40760  // If you call DescribeDBInstances, ProcessorFeature returns non-null values
 40761  // only if the following conditions are met:
 40762  //
 40763  //    * You are accessing an Oracle DB instance.
 40764  //
 40765  //    * Your Oracle DB instance class supports configuring the number of CPU
 40766  //    cores and threads per core.
 40767  //
 40768  //    * The current number CPU cores and threads is set to a non-default value.
 40769  //
 40770  // For more information, see Configuring the Processor of the DB Instance Class
 40771  // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html#USER_ConfigureProcessor)
 40772  // in the Amazon RDS User Guide.
 40773  type ProcessorFeature struct {
 40774  	_ struct{} `type:"structure"`
 40775  
 40776  	// The name of the processor feature. Valid names are coreCount and threadsPerCore.
 40777  	Name *string `type:"string"`
 40778  
 40779  	// The value of a processor feature name.
 40780  	Value *string `type:"string"`
 40781  }
 40782  
 40783  // String returns the string representation.
 40784  //
 40785  // API parameter values that are decorated as "sensitive" in the API will not
 40786  // be included in the string output. The member name will be present, but the
 40787  // value will be replaced with "sensitive".
 40788  func (s ProcessorFeature) String() string {
 40789  	return awsutil.Prettify(s)
 40790  }
 40791  
 40792  // GoString returns the string representation.
 40793  //
 40794  // API parameter values that are decorated as "sensitive" in the API will not
 40795  // be included in the string output. The member name will be present, but the
 40796  // value will be replaced with "sensitive".
 40797  func (s ProcessorFeature) GoString() string {
 40798  	return s.String()
 40799  }
 40800  
 40801  // SetName sets the Name field's value.
 40802  func (s *ProcessorFeature) SetName(v string) *ProcessorFeature {
 40803  	s.Name = &v
 40804  	return s
 40805  }
 40806  
 40807  // SetValue sets the Value field's value.
 40808  func (s *ProcessorFeature) SetValue(v string) *ProcessorFeature {
 40809  	s.Value = &v
 40810  	return s
 40811  }
 40812  
 40813  type PromoteReadReplicaDBClusterInput struct {
 40814  	_ struct{} `type:"structure"`
 40815  
 40816  	// The identifier of the DB cluster read replica to promote. This parameter
 40817  	// isn't case-sensitive.
 40818  	//
 40819  	// Constraints:
 40820  	//
 40821  	//    * Must match the identifier of an existing DB cluster read replica.
 40822  	//
 40823  	// Example: my-cluster-replica1
 40824  	//
 40825  	// DBClusterIdentifier is a required field
 40826  	DBClusterIdentifier *string `type:"string" required:"true"`
 40827  }
 40828  
 40829  // String returns the string representation.
 40830  //
 40831  // API parameter values that are decorated as "sensitive" in the API will not
 40832  // be included in the string output. The member name will be present, but the
 40833  // value will be replaced with "sensitive".
 40834  func (s PromoteReadReplicaDBClusterInput) String() string {
 40835  	return awsutil.Prettify(s)
 40836  }
 40837  
 40838  // GoString returns the string representation.
 40839  //
 40840  // API parameter values that are decorated as "sensitive" in the API will not
 40841  // be included in the string output. The member name will be present, but the
 40842  // value will be replaced with "sensitive".
 40843  func (s PromoteReadReplicaDBClusterInput) GoString() string {
 40844  	return s.String()
 40845  }
 40846  
 40847  // Validate inspects the fields of the type to determine if they are valid.
 40848  func (s *PromoteReadReplicaDBClusterInput) Validate() error {
 40849  	invalidParams := request.ErrInvalidParams{Context: "PromoteReadReplicaDBClusterInput"}
 40850  	if s.DBClusterIdentifier == nil {
 40851  		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
 40852  	}
 40853  
 40854  	if invalidParams.Len() > 0 {
 40855  		return invalidParams
 40856  	}
 40857  	return nil
 40858  }
 40859  
 40860  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 40861  func (s *PromoteReadReplicaDBClusterInput) SetDBClusterIdentifier(v string) *PromoteReadReplicaDBClusterInput {
 40862  	s.DBClusterIdentifier = &v
 40863  	return s
 40864  }
 40865  
 40866  type PromoteReadReplicaDBClusterOutput struct {
 40867  	_ struct{} `type:"structure"`
 40868  
 40869  	// Contains the details of an Amazon Aurora DB cluster.
 40870  	//
 40871  	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
 40872  	// and StartDBCluster actions.
 40873  	DBCluster *DBCluster `type:"structure"`
 40874  }
 40875  
 40876  // String returns the string representation.
 40877  //
 40878  // API parameter values that are decorated as "sensitive" in the API will not
 40879  // be included in the string output. The member name will be present, but the
 40880  // value will be replaced with "sensitive".
 40881  func (s PromoteReadReplicaDBClusterOutput) String() string {
 40882  	return awsutil.Prettify(s)
 40883  }
 40884  
 40885  // GoString returns the string representation.
 40886  //
 40887  // API parameter values that are decorated as "sensitive" in the API will not
 40888  // be included in the string output. The member name will be present, but the
 40889  // value will be replaced with "sensitive".
 40890  func (s PromoteReadReplicaDBClusterOutput) GoString() string {
 40891  	return s.String()
 40892  }
 40893  
 40894  // SetDBCluster sets the DBCluster field's value.
 40895  func (s *PromoteReadReplicaDBClusterOutput) SetDBCluster(v *DBCluster) *PromoteReadReplicaDBClusterOutput {
 40896  	s.DBCluster = v
 40897  	return s
 40898  }
 40899  
 40900  type PromoteReadReplicaInput struct {
 40901  	_ struct{} `type:"structure"`
 40902  
 40903  	// The number of days for which automated backups are retained. Setting this
 40904  	// parameter to a positive number enables backups. Setting this parameter to
 40905  	// 0 disables automated backups.
 40906  	//
 40907  	// Default: 1
 40908  	//
 40909  	// Constraints:
 40910  	//
 40911  	//    * Must be a value from 0 to 35.
 40912  	//
 40913  	//    * Can't be set to 0 if the DB instance is a source to read replicas.
 40914  	BackupRetentionPeriod *int64 `type:"integer"`
 40915  
 40916  	// The DB instance identifier. This value is stored as a lowercase string.
 40917  	//
 40918  	// Constraints:
 40919  	//
 40920  	//    * Must match the identifier of an existing read replica DB instance.
 40921  	//
 40922  	// Example: mydbinstance
 40923  	//
 40924  	// DBInstanceIdentifier is a required field
 40925  	DBInstanceIdentifier *string `type:"string" required:"true"`
 40926  
 40927  	// The daily time range during which automated backups are created if automated
 40928  	// backups are enabled, using the BackupRetentionPeriod parameter.
 40929  	//
 40930  	// The default is a 30-minute window selected at random from an 8-hour block
 40931  	// of time for each Amazon Web Services Region. To see the time blocks available,
 40932  	// see Adjusting the Preferred Maintenance Window (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html)
 40933  	// in the Amazon RDS User Guide.
 40934  	//
 40935  	// Constraints:
 40936  	//
 40937  	//    * Must be in the format hh24:mi-hh24:mi.
 40938  	//
 40939  	//    * Must be in Universal Coordinated Time (UTC).
 40940  	//
 40941  	//    * Must not conflict with the preferred maintenance window.
 40942  	//
 40943  	//    * Must be at least 30 minutes.
 40944  	PreferredBackupWindow *string `type:"string"`
 40945  }
 40946  
 40947  // String returns the string representation.
 40948  //
 40949  // API parameter values that are decorated as "sensitive" in the API will not
 40950  // be included in the string output. The member name will be present, but the
 40951  // value will be replaced with "sensitive".
 40952  func (s PromoteReadReplicaInput) String() string {
 40953  	return awsutil.Prettify(s)
 40954  }
 40955  
 40956  // GoString returns the string representation.
 40957  //
 40958  // API parameter values that are decorated as "sensitive" in the API will not
 40959  // be included in the string output. The member name will be present, but the
 40960  // value will be replaced with "sensitive".
 40961  func (s PromoteReadReplicaInput) GoString() string {
 40962  	return s.String()
 40963  }
 40964  
 40965  // Validate inspects the fields of the type to determine if they are valid.
 40966  func (s *PromoteReadReplicaInput) Validate() error {
 40967  	invalidParams := request.ErrInvalidParams{Context: "PromoteReadReplicaInput"}
 40968  	if s.DBInstanceIdentifier == nil {
 40969  		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
 40970  	}
 40971  
 40972  	if invalidParams.Len() > 0 {
 40973  		return invalidParams
 40974  	}
 40975  	return nil
 40976  }
 40977  
 40978  // SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
 40979  func (s *PromoteReadReplicaInput) SetBackupRetentionPeriod(v int64) *PromoteReadReplicaInput {
 40980  	s.BackupRetentionPeriod = &v
 40981  	return s
 40982  }
 40983  
 40984  // SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
 40985  func (s *PromoteReadReplicaInput) SetDBInstanceIdentifier(v string) *PromoteReadReplicaInput {
 40986  	s.DBInstanceIdentifier = &v
 40987  	return s
 40988  }
 40989  
 40990  // SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
 40991  func (s *PromoteReadReplicaInput) SetPreferredBackupWindow(v string) *PromoteReadReplicaInput {
 40992  	s.PreferredBackupWindow = &v
 40993  	return s
 40994  }
 40995  
 40996  type PromoteReadReplicaOutput struct {
 40997  	_ struct{} `type:"structure"`
 40998  
 40999  	// Contains the details of an Amazon RDS DB instance.
 41000  	//
 41001  	// This data type is used as a response element in the DescribeDBInstances action.
 41002  	DBInstance *DBInstance `type:"structure"`
 41003  }
 41004  
 41005  // String returns the string representation.
 41006  //
 41007  // API parameter values that are decorated as "sensitive" in the API will not
 41008  // be included in the string output. The member name will be present, but the
 41009  // value will be replaced with "sensitive".
 41010  func (s PromoteReadReplicaOutput) String() string {
 41011  	return awsutil.Prettify(s)
 41012  }
 41013  
 41014  // GoString returns the string representation.
 41015  //
 41016  // API parameter values that are decorated as "sensitive" in the API will not
 41017  // be included in the string output. The member name will be present, but the
 41018  // value will be replaced with "sensitive".
 41019  func (s PromoteReadReplicaOutput) GoString() string {
 41020  	return s.String()
 41021  }
 41022  
 41023  // SetDBInstance sets the DBInstance field's value.
 41024  func (s *PromoteReadReplicaOutput) SetDBInstance(v *DBInstance) *PromoteReadReplicaOutput {
 41025  	s.DBInstance = v
 41026  	return s
 41027  }
 41028  
 41029  type PurchaseReservedDBInstancesOfferingInput struct {
 41030  	_ struct{} `type:"structure"`
 41031  
 41032  	// The number of instances to reserve.
 41033  	//
 41034  	// Default: 1
 41035  	DBInstanceCount *int64 `type:"integer"`
 41036  
 41037  	// Customer-specified identifier to track this reservation.
 41038  	//
 41039  	// Example: myreservationID
 41040  	ReservedDBInstanceId *string `type:"string"`
 41041  
 41042  	// The ID of the Reserved DB instance offering to purchase.
 41043  	//
 41044  	// Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706
 41045  	//
 41046  	// ReservedDBInstancesOfferingId is a required field
 41047  	ReservedDBInstancesOfferingId *string `type:"string" required:"true"`
 41048  
 41049  	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
 41050  	// in the Amazon RDS User Guide.
 41051  	Tags []*Tag `locationNameList:"Tag" type:"list"`
 41052  }
 41053  
 41054  // String returns the string representation.
 41055  //
 41056  // API parameter values that are decorated as "sensitive" in the API will not
 41057  // be included in the string output. The member name will be present, but the
 41058  // value will be replaced with "sensitive".
 41059  func (s PurchaseReservedDBInstancesOfferingInput) String() string {
 41060  	return awsutil.Prettify(s)
 41061  }
 41062  
 41063  // GoString returns the string representation.
 41064  //
 41065  // API parameter values that are decorated as "sensitive" in the API will not
 41066  // be included in the string output. The member name will be present, but the
 41067  // value will be replaced with "sensitive".
 41068  func (s PurchaseReservedDBInstancesOfferingInput) GoString() string {
 41069  	return s.String()
 41070  }
 41071  
 41072  // Validate inspects the fields of the type to determine if they are valid.
 41073  func (s *PurchaseReservedDBInstancesOfferingInput) Validate() error {
 41074  	invalidParams := request.ErrInvalidParams{Context: "PurchaseReservedDBInstancesOfferingInput"}
 41075  	if s.ReservedDBInstancesOfferingId == nil {
 41076  		invalidParams.Add(request.NewErrParamRequired("ReservedDBInstancesOfferingId"))
 41077  	}
 41078  
 41079  	if invalidParams.Len() > 0 {
 41080  		return invalidParams
 41081  	}
 41082  	return nil
 41083  }
 41084  
 41085  // SetDBInstanceCount sets the DBInstanceCount field's value.
 41086  func (s *PurchaseReservedDBInstancesOfferingInput) SetDBInstanceCount(v int64) *PurchaseReservedDBInstancesOfferingInput {
 41087  	s.DBInstanceCount = &v
 41088  	return s
 41089  }
 41090  
 41091  // SetReservedDBInstanceId sets the ReservedDBInstanceId field's value.
 41092  func (s *PurchaseReservedDBInstancesOfferingInput) SetReservedDBInstanceId(v string) *PurchaseReservedDBInstancesOfferingInput {
 41093  	s.ReservedDBInstanceId = &v
 41094  	return s
 41095  }
 41096  
 41097  // SetReservedDBInstancesOfferingId sets the ReservedDBInstancesOfferingId field's value.
 41098  func (s *PurchaseReservedDBInstancesOfferingInput) SetReservedDBInstancesOfferingId(v string) *PurchaseReservedDBInstancesOfferingInput {
 41099  	s.ReservedDBInstancesOfferingId = &v
 41100  	return s
 41101  }
 41102  
 41103  // SetTags sets the Tags field's value.
 41104  func (s *PurchaseReservedDBInstancesOfferingInput) SetTags(v []*Tag) *PurchaseReservedDBInstancesOfferingInput {
 41105  	s.Tags = v
 41106  	return s
 41107  }
 41108  
 41109  type PurchaseReservedDBInstancesOfferingOutput struct {
 41110  	_ struct{} `type:"structure"`
 41111  
 41112  	// This data type is used as a response element in the DescribeReservedDBInstances
 41113  	// and PurchaseReservedDBInstancesOffering actions.
 41114  	ReservedDBInstance *ReservedDBInstance `type:"structure"`
 41115  }
 41116  
 41117  // String returns the string representation.
 41118  //
 41119  // API parameter values that are decorated as "sensitive" in the API will not
 41120  // be included in the string output. The member name will be present, but the
 41121  // value will be replaced with "sensitive".
 41122  func (s PurchaseReservedDBInstancesOfferingOutput) String() string {
 41123  	return awsutil.Prettify(s)
 41124  }
 41125  
 41126  // GoString returns the string representation.
 41127  //
 41128  // API parameter values that are decorated as "sensitive" in the API will not
 41129  // be included in the string output. The member name will be present, but the
 41130  // value will be replaced with "sensitive".
 41131  func (s PurchaseReservedDBInstancesOfferingOutput) GoString() string {
 41132  	return s.String()
 41133  }
 41134  
 41135  // SetReservedDBInstance sets the ReservedDBInstance field's value.
 41136  func (s *PurchaseReservedDBInstancesOfferingOutput) SetReservedDBInstance(v *ReservedDBInstance) *PurchaseReservedDBInstancesOfferingOutput {
 41137  	s.ReservedDBInstance = v
 41138  	return s
 41139  }
 41140  
 41141  // A range of integer values.
 41142  type Range struct {
 41143  	_ struct{} `type:"structure"`
 41144  
 41145  	// The minimum value in the range.
 41146  	From *int64 `type:"integer"`
 41147  
 41148  	// The step value for the range. For example, if you have a range of 5,000 to
 41149  	// 10,000, with a step value of 1,000, the valid values start at 5,000 and step
 41150  	// up by 1,000. Even though 7,500 is within the range, it isn't a valid value
 41151  	// for the range. The valid values are 5,000, 6,000, 7,000, 8,000...
 41152  	Step *int64 `type:"integer"`
 41153  
 41154  	// The maximum value in the range.
 41155  	To *int64 `type:"integer"`
 41156  }
 41157  
 41158  // String returns the string representation.
 41159  //
 41160  // API parameter values that are decorated as "sensitive" in the API will not
 41161  // be included in the string output. The member name will be present, but the
 41162  // value will be replaced with "sensitive".
 41163  func (s Range) String() string {
 41164  	return awsutil.Prettify(s)
 41165  }
 41166  
 41167  // GoString returns the string representation.
 41168  //
 41169  // API parameter values that are decorated as "sensitive" in the API will not
 41170  // be included in the string output. The member name will be present, but the
 41171  // value will be replaced with "sensitive".
 41172  func (s Range) GoString() string {
 41173  	return s.String()
 41174  }
 41175  
 41176  // SetFrom sets the From field's value.
 41177  func (s *Range) SetFrom(v int64) *Range {
 41178  	s.From = &v
 41179  	return s
 41180  }
 41181  
 41182  // SetStep sets the Step field's value.
 41183  func (s *Range) SetStep(v int64) *Range {
 41184  	s.Step = &v
 41185  	return s
 41186  }
 41187  
 41188  // SetTo sets the To field's value.
 41189  func (s *Range) SetTo(v int64) *Range {
 41190  	s.To = &v
 41191  	return s
 41192  }
 41193  
 41194  type RebootDBInstanceInput struct {
 41195  	_ struct{} `type:"structure"`
 41196  
 41197  	// The DB instance identifier. This parameter is stored as a lowercase string.
 41198  	//
 41199  	// Constraints:
 41200  	//
 41201  	//    * Must match the identifier of an existing DBInstance.
 41202  	//
 41203  	// DBInstanceIdentifier is a required field
 41204  	DBInstanceIdentifier *string `type:"string" required:"true"`
 41205  
 41206  	// A value that indicates whether the reboot is conducted through a Multi-AZ
 41207  	// failover.
 41208  	//
 41209  	// Constraint: You can't enable force failover if the instance isn't configured
 41210  	// for Multi-AZ.
 41211  	ForceFailover *bool `type:"boolean"`
 41212  }
 41213  
 41214  // String returns the string representation.
 41215  //
 41216  // API parameter values that are decorated as "sensitive" in the API will not
 41217  // be included in the string output. The member name will be present, but the
 41218  // value will be replaced with "sensitive".
 41219  func (s RebootDBInstanceInput) String() string {
 41220  	return awsutil.Prettify(s)
 41221  }
 41222  
 41223  // GoString returns the string representation.
 41224  //
 41225  // API parameter values that are decorated as "sensitive" in the API will not
 41226  // be included in the string output. The member name will be present, but the
 41227  // value will be replaced with "sensitive".
 41228  func (s RebootDBInstanceInput) GoString() string {
 41229  	return s.String()
 41230  }
 41231  
 41232  // Validate inspects the fields of the type to determine if they are valid.
 41233  func (s *RebootDBInstanceInput) Validate() error {
 41234  	invalidParams := request.ErrInvalidParams{Context: "RebootDBInstanceInput"}
 41235  	if s.DBInstanceIdentifier == nil {
 41236  		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
 41237  	}
 41238  
 41239  	if invalidParams.Len() > 0 {
 41240  		return invalidParams
 41241  	}
 41242  	return nil
 41243  }
 41244  
 41245  // SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
 41246  func (s *RebootDBInstanceInput) SetDBInstanceIdentifier(v string) *RebootDBInstanceInput {
 41247  	s.DBInstanceIdentifier = &v
 41248  	return s
 41249  }
 41250  
 41251  // SetForceFailover sets the ForceFailover field's value.
 41252  func (s *RebootDBInstanceInput) SetForceFailover(v bool) *RebootDBInstanceInput {
 41253  	s.ForceFailover = &v
 41254  	return s
 41255  }
 41256  
 41257  type RebootDBInstanceOutput struct {
 41258  	_ struct{} `type:"structure"`
 41259  
 41260  	// Contains the details of an Amazon RDS DB instance.
 41261  	//
 41262  	// This data type is used as a response element in the DescribeDBInstances action.
 41263  	DBInstance *DBInstance `type:"structure"`
 41264  }
 41265  
 41266  // String returns the string representation.
 41267  //
 41268  // API parameter values that are decorated as "sensitive" in the API will not
 41269  // be included in the string output. The member name will be present, but the
 41270  // value will be replaced with "sensitive".
 41271  func (s RebootDBInstanceOutput) String() string {
 41272  	return awsutil.Prettify(s)
 41273  }
 41274  
 41275  // GoString returns the string representation.
 41276  //
 41277  // API parameter values that are decorated as "sensitive" in the API will not
 41278  // be included in the string output. The member name will be present, but the
 41279  // value will be replaced with "sensitive".
 41280  func (s RebootDBInstanceOutput) GoString() string {
 41281  	return s.String()
 41282  }
 41283  
 41284  // SetDBInstance sets the DBInstance field's value.
 41285  func (s *RebootDBInstanceOutput) SetDBInstance(v *DBInstance) *RebootDBInstanceOutput {
 41286  	s.DBInstance = v
 41287  	return s
 41288  }
 41289  
 41290  // This data type is used as a response element in the DescribeReservedDBInstances
 41291  // and DescribeReservedDBInstancesOfferings actions.
 41292  type RecurringCharge struct {
 41293  	_ struct{} `type:"structure"`
 41294  
 41295  	// The amount of the recurring charge.
 41296  	RecurringChargeAmount *float64 `type:"double"`
 41297  
 41298  	// The frequency of the recurring charge.
 41299  	RecurringChargeFrequency *string `type:"string"`
 41300  }
 41301  
 41302  // String returns the string representation.
 41303  //
 41304  // API parameter values that are decorated as "sensitive" in the API will not
 41305  // be included in the string output. The member name will be present, but the
 41306  // value will be replaced with "sensitive".
 41307  func (s RecurringCharge) String() string {
 41308  	return awsutil.Prettify(s)
 41309  }
 41310  
 41311  // GoString returns the string representation.
 41312  //
 41313  // API parameter values that are decorated as "sensitive" in the API will not
 41314  // be included in the string output. The member name will be present, but the
 41315  // value will be replaced with "sensitive".
 41316  func (s RecurringCharge) GoString() string {
 41317  	return s.String()
 41318  }
 41319  
 41320  // SetRecurringChargeAmount sets the RecurringChargeAmount field's value.
 41321  func (s *RecurringCharge) SetRecurringChargeAmount(v float64) *RecurringCharge {
 41322  	s.RecurringChargeAmount = &v
 41323  	return s
 41324  }
 41325  
 41326  // SetRecurringChargeFrequency sets the RecurringChargeFrequency field's value.
 41327  func (s *RecurringCharge) SetRecurringChargeFrequency(v string) *RecurringCharge {
 41328  	s.RecurringChargeFrequency = &v
 41329  	return s
 41330  }
 41331  
 41332  type RegisterDBProxyTargetsInput struct {
 41333  	_ struct{} `type:"structure"`
 41334  
 41335  	// One or more DB cluster identifiers.
 41336  	DBClusterIdentifiers []*string `type:"list"`
 41337  
 41338  	// One or more DB instance identifiers.
 41339  	DBInstanceIdentifiers []*string `type:"list"`
 41340  
 41341  	// The identifier of the DBProxy that is associated with the DBProxyTargetGroup.
 41342  	//
 41343  	// DBProxyName is a required field
 41344  	DBProxyName *string `type:"string" required:"true"`
 41345  
 41346  	// The identifier of the DBProxyTargetGroup.
 41347  	TargetGroupName *string `type:"string"`
 41348  }
 41349  
 41350  // String returns the string representation.
 41351  //
 41352  // API parameter values that are decorated as "sensitive" in the API will not
 41353  // be included in the string output. The member name will be present, but the
 41354  // value will be replaced with "sensitive".
 41355  func (s RegisterDBProxyTargetsInput) String() string {
 41356  	return awsutil.Prettify(s)
 41357  }
 41358  
 41359  // GoString returns the string representation.
 41360  //
 41361  // API parameter values that are decorated as "sensitive" in the API will not
 41362  // be included in the string output. The member name will be present, but the
 41363  // value will be replaced with "sensitive".
 41364  func (s RegisterDBProxyTargetsInput) GoString() string {
 41365  	return s.String()
 41366  }
 41367  
 41368  // Validate inspects the fields of the type to determine if they are valid.
 41369  func (s *RegisterDBProxyTargetsInput) Validate() error {
 41370  	invalidParams := request.ErrInvalidParams{Context: "RegisterDBProxyTargetsInput"}
 41371  	if s.DBProxyName == nil {
 41372  		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
 41373  	}
 41374  
 41375  	if invalidParams.Len() > 0 {
 41376  		return invalidParams
 41377  	}
 41378  	return nil
 41379  }
 41380  
 41381  // SetDBClusterIdentifiers sets the DBClusterIdentifiers field's value.
 41382  func (s *RegisterDBProxyTargetsInput) SetDBClusterIdentifiers(v []*string) *RegisterDBProxyTargetsInput {
 41383  	s.DBClusterIdentifiers = v
 41384  	return s
 41385  }
 41386  
 41387  // SetDBInstanceIdentifiers sets the DBInstanceIdentifiers field's value.
 41388  func (s *RegisterDBProxyTargetsInput) SetDBInstanceIdentifiers(v []*string) *RegisterDBProxyTargetsInput {
 41389  	s.DBInstanceIdentifiers = v
 41390  	return s
 41391  }
 41392  
 41393  // SetDBProxyName sets the DBProxyName field's value.
 41394  func (s *RegisterDBProxyTargetsInput) SetDBProxyName(v string) *RegisterDBProxyTargetsInput {
 41395  	s.DBProxyName = &v
 41396  	return s
 41397  }
 41398  
 41399  // SetTargetGroupName sets the TargetGroupName field's value.
 41400  func (s *RegisterDBProxyTargetsInput) SetTargetGroupName(v string) *RegisterDBProxyTargetsInput {
 41401  	s.TargetGroupName = &v
 41402  	return s
 41403  }
 41404  
 41405  type RegisterDBProxyTargetsOutput struct {
 41406  	_ struct{} `type:"structure"`
 41407  
 41408  	// One or more DBProxyTarget objects that are created when you register targets
 41409  	// with a target group.
 41410  	DBProxyTargets []*DBProxyTarget `type:"list"`
 41411  }
 41412  
 41413  // String returns the string representation.
 41414  //
 41415  // API parameter values that are decorated as "sensitive" in the API will not
 41416  // be included in the string output. The member name will be present, but the
 41417  // value will be replaced with "sensitive".
 41418  func (s RegisterDBProxyTargetsOutput) String() string {
 41419  	return awsutil.Prettify(s)
 41420  }
 41421  
 41422  // GoString returns the string representation.
 41423  //
 41424  // API parameter values that are decorated as "sensitive" in the API will not
 41425  // be included in the string output. The member name will be present, but the
 41426  // value will be replaced with "sensitive".
 41427  func (s RegisterDBProxyTargetsOutput) GoString() string {
 41428  	return s.String()
 41429  }
 41430  
 41431  // SetDBProxyTargets sets the DBProxyTargets field's value.
 41432  func (s *RegisterDBProxyTargetsOutput) SetDBProxyTargets(v []*DBProxyTarget) *RegisterDBProxyTargetsOutput {
 41433  	s.DBProxyTargets = v
 41434  	return s
 41435  }
 41436  
 41437  type RemoveFromGlobalClusterInput struct {
 41438  	_ struct{} `type:"structure"`
 41439  
 41440  	// The Amazon Resource Name (ARN) identifying the cluster that was detached
 41441  	// from the Aurora global database cluster.
 41442  	DbClusterIdentifier *string `type:"string"`
 41443  
 41444  	// The cluster identifier to detach from the Aurora global database cluster.
 41445  	GlobalClusterIdentifier *string `type:"string"`
 41446  }
 41447  
 41448  // String returns the string representation.
 41449  //
 41450  // API parameter values that are decorated as "sensitive" in the API will not
 41451  // be included in the string output. The member name will be present, but the
 41452  // value will be replaced with "sensitive".
 41453  func (s RemoveFromGlobalClusterInput) String() string {
 41454  	return awsutil.Prettify(s)
 41455  }
 41456  
 41457  // GoString returns the string representation.
 41458  //
 41459  // API parameter values that are decorated as "sensitive" in the API will not
 41460  // be included in the string output. The member name will be present, but the
 41461  // value will be replaced with "sensitive".
 41462  func (s RemoveFromGlobalClusterInput) GoString() string {
 41463  	return s.String()
 41464  }
 41465  
 41466  // SetDbClusterIdentifier sets the DbClusterIdentifier field's value.
 41467  func (s *RemoveFromGlobalClusterInput) SetDbClusterIdentifier(v string) *RemoveFromGlobalClusterInput {
 41468  	s.DbClusterIdentifier = &v
 41469  	return s
 41470  }
 41471  
 41472  // SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
 41473  func (s *RemoveFromGlobalClusterInput) SetGlobalClusterIdentifier(v string) *RemoveFromGlobalClusterInput {
 41474  	s.GlobalClusterIdentifier = &v
 41475  	return s
 41476  }
 41477  
 41478  type RemoveFromGlobalClusterOutput struct {
 41479  	_ struct{} `type:"structure"`
 41480  
 41481  	// A data type representing an Aurora global database.
 41482  	GlobalCluster *GlobalCluster `type:"structure"`
 41483  }
 41484  
 41485  // String returns the string representation.
 41486  //
 41487  // API parameter values that are decorated as "sensitive" in the API will not
 41488  // be included in the string output. The member name will be present, but the
 41489  // value will be replaced with "sensitive".
 41490  func (s RemoveFromGlobalClusterOutput) String() string {
 41491  	return awsutil.Prettify(s)
 41492  }
 41493  
 41494  // GoString returns the string representation.
 41495  //
 41496  // API parameter values that are decorated as "sensitive" in the API will not
 41497  // be included in the string output. The member name will be present, but the
 41498  // value will be replaced with "sensitive".
 41499  func (s RemoveFromGlobalClusterOutput) GoString() string {
 41500  	return s.String()
 41501  }
 41502  
 41503  // SetGlobalCluster sets the GlobalCluster field's value.
 41504  func (s *RemoveFromGlobalClusterOutput) SetGlobalCluster(v *GlobalCluster) *RemoveFromGlobalClusterOutput {
 41505  	s.GlobalCluster = v
 41506  	return s
 41507  }
 41508  
 41509  type RemoveRoleFromDBClusterInput struct {
 41510  	_ struct{} `type:"structure"`
 41511  
 41512  	// The name of the DB cluster to disassociate the IAM role from.
 41513  	//
 41514  	// DBClusterIdentifier is a required field
 41515  	DBClusterIdentifier *string `type:"string" required:"true"`
 41516  
 41517  	// The name of the feature for the DB cluster that the IAM role is to be disassociated
 41518  	// from. For the list of supported feature names, see DBEngineVersion.
 41519  	FeatureName *string `type:"string"`
 41520  
 41521  	// The Amazon Resource Name (ARN) of the IAM role to disassociate from the Aurora
 41522  	// DB cluster, for example arn:aws:iam::123456789012:role/AuroraAccessRole.
 41523  	//
 41524  	// RoleArn is a required field
 41525  	RoleArn *string `type:"string" required:"true"`
 41526  }
 41527  
 41528  // String returns the string representation.
 41529  //
 41530  // API parameter values that are decorated as "sensitive" in the API will not
 41531  // be included in the string output. The member name will be present, but the
 41532  // value will be replaced with "sensitive".
 41533  func (s RemoveRoleFromDBClusterInput) String() string {
 41534  	return awsutil.Prettify(s)
 41535  }
 41536  
 41537  // GoString returns the string representation.
 41538  //
 41539  // API parameter values that are decorated as "sensitive" in the API will not
 41540  // be included in the string output. The member name will be present, but the
 41541  // value will be replaced with "sensitive".
 41542  func (s RemoveRoleFromDBClusterInput) GoString() string {
 41543  	return s.String()
 41544  }
 41545  
 41546  // Validate inspects the fields of the type to determine if they are valid.
 41547  func (s *RemoveRoleFromDBClusterInput) Validate() error {
 41548  	invalidParams := request.ErrInvalidParams{Context: "RemoveRoleFromDBClusterInput"}
 41549  	if s.DBClusterIdentifier == nil {
 41550  		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
 41551  	}
 41552  	if s.RoleArn == nil {
 41553  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
 41554  	}
 41555  
 41556  	if invalidParams.Len() > 0 {
 41557  		return invalidParams
 41558  	}
 41559  	return nil
 41560  }
 41561  
 41562  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 41563  func (s *RemoveRoleFromDBClusterInput) SetDBClusterIdentifier(v string) *RemoveRoleFromDBClusterInput {
 41564  	s.DBClusterIdentifier = &v
 41565  	return s
 41566  }
 41567  
 41568  // SetFeatureName sets the FeatureName field's value.
 41569  func (s *RemoveRoleFromDBClusterInput) SetFeatureName(v string) *RemoveRoleFromDBClusterInput {
 41570  	s.FeatureName = &v
 41571  	return s
 41572  }
 41573  
 41574  // SetRoleArn sets the RoleArn field's value.
 41575  func (s *RemoveRoleFromDBClusterInput) SetRoleArn(v string) *RemoveRoleFromDBClusterInput {
 41576  	s.RoleArn = &v
 41577  	return s
 41578  }
 41579  
 41580  type RemoveRoleFromDBClusterOutput struct {
 41581  	_ struct{} `type:"structure"`
 41582  }
 41583  
 41584  // String returns the string representation.
 41585  //
 41586  // API parameter values that are decorated as "sensitive" in the API will not
 41587  // be included in the string output. The member name will be present, but the
 41588  // value will be replaced with "sensitive".
 41589  func (s RemoveRoleFromDBClusterOutput) String() string {
 41590  	return awsutil.Prettify(s)
 41591  }
 41592  
 41593  // GoString returns the string representation.
 41594  //
 41595  // API parameter values that are decorated as "sensitive" in the API will not
 41596  // be included in the string output. The member name will be present, but the
 41597  // value will be replaced with "sensitive".
 41598  func (s RemoveRoleFromDBClusterOutput) GoString() string {
 41599  	return s.String()
 41600  }
 41601  
 41602  type RemoveRoleFromDBInstanceInput struct {
 41603  	_ struct{} `type:"structure"`
 41604  
 41605  	// The name of the DB instance to disassociate the IAM role from.
 41606  	//
 41607  	// DBInstanceIdentifier is a required field
 41608  	DBInstanceIdentifier *string `type:"string" required:"true"`
 41609  
 41610  	// The name of the feature for the DB instance that the IAM role is to be disassociated
 41611  	// from. For the list of supported feature names, see DBEngineVersion.
 41612  	//
 41613  	// FeatureName is a required field
 41614  	FeatureName *string `type:"string" required:"true"`
 41615  
 41616  	// The Amazon Resource Name (ARN) of the IAM role to disassociate from the DB
 41617  	// instance, for example, arn:aws:iam::123456789012:role/AccessRole.
 41618  	//
 41619  	// RoleArn is a required field
 41620  	RoleArn *string `type:"string" required:"true"`
 41621  }
 41622  
 41623  // String returns the string representation.
 41624  //
 41625  // API parameter values that are decorated as "sensitive" in the API will not
 41626  // be included in the string output. The member name will be present, but the
 41627  // value will be replaced with "sensitive".
 41628  func (s RemoveRoleFromDBInstanceInput) String() string {
 41629  	return awsutil.Prettify(s)
 41630  }
 41631  
 41632  // GoString returns the string representation.
 41633  //
 41634  // API parameter values that are decorated as "sensitive" in the API will not
 41635  // be included in the string output. The member name will be present, but the
 41636  // value will be replaced with "sensitive".
 41637  func (s RemoveRoleFromDBInstanceInput) GoString() string {
 41638  	return s.String()
 41639  }
 41640  
 41641  // Validate inspects the fields of the type to determine if they are valid.
 41642  func (s *RemoveRoleFromDBInstanceInput) Validate() error {
 41643  	invalidParams := request.ErrInvalidParams{Context: "RemoveRoleFromDBInstanceInput"}
 41644  	if s.DBInstanceIdentifier == nil {
 41645  		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
 41646  	}
 41647  	if s.FeatureName == nil {
 41648  		invalidParams.Add(request.NewErrParamRequired("FeatureName"))
 41649  	}
 41650  	if s.RoleArn == nil {
 41651  		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
 41652  	}
 41653  
 41654  	if invalidParams.Len() > 0 {
 41655  		return invalidParams
 41656  	}
 41657  	return nil
 41658  }
 41659  
 41660  // SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
 41661  func (s *RemoveRoleFromDBInstanceInput) SetDBInstanceIdentifier(v string) *RemoveRoleFromDBInstanceInput {
 41662  	s.DBInstanceIdentifier = &v
 41663  	return s
 41664  }
 41665  
 41666  // SetFeatureName sets the FeatureName field's value.
 41667  func (s *RemoveRoleFromDBInstanceInput) SetFeatureName(v string) *RemoveRoleFromDBInstanceInput {
 41668  	s.FeatureName = &v
 41669  	return s
 41670  }
 41671  
 41672  // SetRoleArn sets the RoleArn field's value.
 41673  func (s *RemoveRoleFromDBInstanceInput) SetRoleArn(v string) *RemoveRoleFromDBInstanceInput {
 41674  	s.RoleArn = &v
 41675  	return s
 41676  }
 41677  
 41678  type RemoveRoleFromDBInstanceOutput struct {
 41679  	_ struct{} `type:"structure"`
 41680  }
 41681  
 41682  // String returns the string representation.
 41683  //
 41684  // API parameter values that are decorated as "sensitive" in the API will not
 41685  // be included in the string output. The member name will be present, but the
 41686  // value will be replaced with "sensitive".
 41687  func (s RemoveRoleFromDBInstanceOutput) String() string {
 41688  	return awsutil.Prettify(s)
 41689  }
 41690  
 41691  // GoString returns the string representation.
 41692  //
 41693  // API parameter values that are decorated as "sensitive" in the API will not
 41694  // be included in the string output. The member name will be present, but the
 41695  // value will be replaced with "sensitive".
 41696  func (s RemoveRoleFromDBInstanceOutput) GoString() string {
 41697  	return s.String()
 41698  }
 41699  
 41700  type RemoveSourceIdentifierFromSubscriptionInput struct {
 41701  	_ struct{} `type:"structure"`
 41702  
 41703  	// The source identifier to be removed from the subscription, such as the DB
 41704  	// instance identifier for a DB instance or the name of a security group.
 41705  	//
 41706  	// SourceIdentifier is a required field
 41707  	SourceIdentifier *string `type:"string" required:"true"`
 41708  
 41709  	// The name of the RDS event notification subscription you want to remove a
 41710  	// source identifier from.
 41711  	//
 41712  	// SubscriptionName is a required field
 41713  	SubscriptionName *string `type:"string" required:"true"`
 41714  }
 41715  
 41716  // String returns the string representation.
 41717  //
 41718  // API parameter values that are decorated as "sensitive" in the API will not
 41719  // be included in the string output. The member name will be present, but the
 41720  // value will be replaced with "sensitive".
 41721  func (s RemoveSourceIdentifierFromSubscriptionInput) String() string {
 41722  	return awsutil.Prettify(s)
 41723  }
 41724  
 41725  // GoString returns the string representation.
 41726  //
 41727  // API parameter values that are decorated as "sensitive" in the API will not
 41728  // be included in the string output. The member name will be present, but the
 41729  // value will be replaced with "sensitive".
 41730  func (s RemoveSourceIdentifierFromSubscriptionInput) GoString() string {
 41731  	return s.String()
 41732  }
 41733  
 41734  // Validate inspects the fields of the type to determine if they are valid.
 41735  func (s *RemoveSourceIdentifierFromSubscriptionInput) Validate() error {
 41736  	invalidParams := request.ErrInvalidParams{Context: "RemoveSourceIdentifierFromSubscriptionInput"}
 41737  	if s.SourceIdentifier == nil {
 41738  		invalidParams.Add(request.NewErrParamRequired("SourceIdentifier"))
 41739  	}
 41740  	if s.SubscriptionName == nil {
 41741  		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
 41742  	}
 41743  
 41744  	if invalidParams.Len() > 0 {
 41745  		return invalidParams
 41746  	}
 41747  	return nil
 41748  }
 41749  
 41750  // SetSourceIdentifier sets the SourceIdentifier field's value.
 41751  func (s *RemoveSourceIdentifierFromSubscriptionInput) SetSourceIdentifier(v string) *RemoveSourceIdentifierFromSubscriptionInput {
 41752  	s.SourceIdentifier = &v
 41753  	return s
 41754  }
 41755  
 41756  // SetSubscriptionName sets the SubscriptionName field's value.
 41757  func (s *RemoveSourceIdentifierFromSubscriptionInput) SetSubscriptionName(v string) *RemoveSourceIdentifierFromSubscriptionInput {
 41758  	s.SubscriptionName = &v
 41759  	return s
 41760  }
 41761  
 41762  type RemoveSourceIdentifierFromSubscriptionOutput struct {
 41763  	_ struct{} `type:"structure"`
 41764  
 41765  	// Contains the results of a successful invocation of the DescribeEventSubscriptions
 41766  	// action.
 41767  	EventSubscription *EventSubscription `type:"structure"`
 41768  }
 41769  
 41770  // String returns the string representation.
 41771  //
 41772  // API parameter values that are decorated as "sensitive" in the API will not
 41773  // be included in the string output. The member name will be present, but the
 41774  // value will be replaced with "sensitive".
 41775  func (s RemoveSourceIdentifierFromSubscriptionOutput) String() string {
 41776  	return awsutil.Prettify(s)
 41777  }
 41778  
 41779  // GoString returns the string representation.
 41780  //
 41781  // API parameter values that are decorated as "sensitive" in the API will not
 41782  // be included in the string output. The member name will be present, but the
 41783  // value will be replaced with "sensitive".
 41784  func (s RemoveSourceIdentifierFromSubscriptionOutput) GoString() string {
 41785  	return s.String()
 41786  }
 41787  
 41788  // SetEventSubscription sets the EventSubscription field's value.
 41789  func (s *RemoveSourceIdentifierFromSubscriptionOutput) SetEventSubscription(v *EventSubscription) *RemoveSourceIdentifierFromSubscriptionOutput {
 41790  	s.EventSubscription = v
 41791  	return s
 41792  }
 41793  
 41794  type RemoveTagsFromResourceInput struct {
 41795  	_ struct{} `type:"structure"`
 41796  
 41797  	// The Amazon RDS resource that the tags are removed from. This value is an
 41798  	// Amazon Resource Name (ARN). For information about creating an ARN, see Constructing
 41799  	// an ARN for Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing)
 41800  	// in the Amazon RDS User Guide.
 41801  	//
 41802  	// ResourceName is a required field
 41803  	ResourceName *string `type:"string" required:"true"`
 41804  
 41805  	// The tag key (name) of the tag to be removed.
 41806  	//
 41807  	// TagKeys is a required field
 41808  	TagKeys []*string `type:"list" required:"true"`
 41809  }
 41810  
 41811  // String returns the string representation.
 41812  //
 41813  // API parameter values that are decorated as "sensitive" in the API will not
 41814  // be included in the string output. The member name will be present, but the
 41815  // value will be replaced with "sensitive".
 41816  func (s RemoveTagsFromResourceInput) String() string {
 41817  	return awsutil.Prettify(s)
 41818  }
 41819  
 41820  // GoString returns the string representation.
 41821  //
 41822  // API parameter values that are decorated as "sensitive" in the API will not
 41823  // be included in the string output. The member name will be present, but the
 41824  // value will be replaced with "sensitive".
 41825  func (s RemoveTagsFromResourceInput) GoString() string {
 41826  	return s.String()
 41827  }
 41828  
 41829  // Validate inspects the fields of the type to determine if they are valid.
 41830  func (s *RemoveTagsFromResourceInput) Validate() error {
 41831  	invalidParams := request.ErrInvalidParams{Context: "RemoveTagsFromResourceInput"}
 41832  	if s.ResourceName == nil {
 41833  		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
 41834  	}
 41835  	if s.TagKeys == nil {
 41836  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
 41837  	}
 41838  
 41839  	if invalidParams.Len() > 0 {
 41840  		return invalidParams
 41841  	}
 41842  	return nil
 41843  }
 41844  
 41845  // SetResourceName sets the ResourceName field's value.
 41846  func (s *RemoveTagsFromResourceInput) SetResourceName(v string) *RemoveTagsFromResourceInput {
 41847  	s.ResourceName = &v
 41848  	return s
 41849  }
 41850  
 41851  // SetTagKeys sets the TagKeys field's value.
 41852  func (s *RemoveTagsFromResourceInput) SetTagKeys(v []*string) *RemoveTagsFromResourceInput {
 41853  	s.TagKeys = v
 41854  	return s
 41855  }
 41856  
 41857  type RemoveTagsFromResourceOutput struct {
 41858  	_ struct{} `type:"structure"`
 41859  }
 41860  
 41861  // String returns the string representation.
 41862  //
 41863  // API parameter values that are decorated as "sensitive" in the API will not
 41864  // be included in the string output. The member name will be present, but the
 41865  // value will be replaced with "sensitive".
 41866  func (s RemoveTagsFromResourceOutput) String() string {
 41867  	return awsutil.Prettify(s)
 41868  }
 41869  
 41870  // GoString returns the string representation.
 41871  //
 41872  // API parameter values that are decorated as "sensitive" in the API will not
 41873  // be included in the string output. The member name will be present, but the
 41874  // value will be replaced with "sensitive".
 41875  func (s RemoveTagsFromResourceOutput) GoString() string {
 41876  	return s.String()
 41877  }
 41878  
 41879  // This data type is used as a response element in the DescribeReservedDBInstances
 41880  // and PurchaseReservedDBInstancesOffering actions.
 41881  type ReservedDBInstance struct {
 41882  	_ struct{} `type:"structure"`
 41883  
 41884  	// The currency code for the reserved DB instance.
 41885  	CurrencyCode *string `type:"string"`
 41886  
 41887  	// The DB instance class for the reserved DB instance.
 41888  	DBInstanceClass *string `type:"string"`
 41889  
 41890  	// The number of reserved DB instances.
 41891  	DBInstanceCount *int64 `type:"integer"`
 41892  
 41893  	// The duration of the reservation in seconds.
 41894  	Duration *int64 `type:"integer"`
 41895  
 41896  	// The fixed price charged for this reserved DB instance.
 41897  	FixedPrice *float64 `type:"double"`
 41898  
 41899  	// The unique identifier for the lease associated with the reserved DB instance.
 41900  	//
 41901  	// Amazon Web Services Support might request the lease ID for an issue related
 41902  	// to a reserved DB instance.
 41903  	LeaseId *string `type:"string"`
 41904  
 41905  	// Indicates if the reservation applies to Multi-AZ deployments.
 41906  	MultiAZ *bool `type:"boolean"`
 41907  
 41908  	// The offering type of this reserved DB instance.
 41909  	OfferingType *string `type:"string"`
 41910  
 41911  	// The description of the reserved DB instance.
 41912  	ProductDescription *string `type:"string"`
 41913  
 41914  	// The recurring price charged to run this reserved DB instance.
 41915  	RecurringCharges []*RecurringCharge `locationNameList:"RecurringCharge" type:"list"`
 41916  
 41917  	// The Amazon Resource Name (ARN) for the reserved DB instance.
 41918  	ReservedDBInstanceArn *string `type:"string"`
 41919  
 41920  	// The unique identifier for the reservation.
 41921  	ReservedDBInstanceId *string `type:"string"`
 41922  
 41923  	// The offering identifier.
 41924  	ReservedDBInstancesOfferingId *string `type:"string"`
 41925  
 41926  	// The time the reservation started.
 41927  	StartTime *time.Time `type:"timestamp"`
 41928  
 41929  	// The state of the reserved DB instance.
 41930  	State *string `type:"string"`
 41931  
 41932  	// The hourly price charged for this reserved DB instance.
 41933  	UsagePrice *float64 `type:"double"`
 41934  }
 41935  
 41936  // String returns the string representation.
 41937  //
 41938  // API parameter values that are decorated as "sensitive" in the API will not
 41939  // be included in the string output. The member name will be present, but the
 41940  // value will be replaced with "sensitive".
 41941  func (s ReservedDBInstance) String() string {
 41942  	return awsutil.Prettify(s)
 41943  }
 41944  
 41945  // GoString returns the string representation.
 41946  //
 41947  // API parameter values that are decorated as "sensitive" in the API will not
 41948  // be included in the string output. The member name will be present, but the
 41949  // value will be replaced with "sensitive".
 41950  func (s ReservedDBInstance) GoString() string {
 41951  	return s.String()
 41952  }
 41953  
 41954  // SetCurrencyCode sets the CurrencyCode field's value.
 41955  func (s *ReservedDBInstance) SetCurrencyCode(v string) *ReservedDBInstance {
 41956  	s.CurrencyCode = &v
 41957  	return s
 41958  }
 41959  
 41960  // SetDBInstanceClass sets the DBInstanceClass field's value.
 41961  func (s *ReservedDBInstance) SetDBInstanceClass(v string) *ReservedDBInstance {
 41962  	s.DBInstanceClass = &v
 41963  	return s
 41964  }
 41965  
 41966  // SetDBInstanceCount sets the DBInstanceCount field's value.
 41967  func (s *ReservedDBInstance) SetDBInstanceCount(v int64) *ReservedDBInstance {
 41968  	s.DBInstanceCount = &v
 41969  	return s
 41970  }
 41971  
 41972  // SetDuration sets the Duration field's value.
 41973  func (s *ReservedDBInstance) SetDuration(v int64) *ReservedDBInstance {
 41974  	s.Duration = &v
 41975  	return s
 41976  }
 41977  
 41978  // SetFixedPrice sets the FixedPrice field's value.
 41979  func (s *ReservedDBInstance) SetFixedPrice(v float64) *ReservedDBInstance {
 41980  	s.FixedPrice = &v
 41981  	return s
 41982  }
 41983  
 41984  // SetLeaseId sets the LeaseId field's value.
 41985  func (s *ReservedDBInstance) SetLeaseId(v string) *ReservedDBInstance {
 41986  	s.LeaseId = &v
 41987  	return s
 41988  }
 41989  
 41990  // SetMultiAZ sets the MultiAZ field's value.
 41991  func (s *ReservedDBInstance) SetMultiAZ(v bool) *ReservedDBInstance {
 41992  	s.MultiAZ = &v
 41993  	return s
 41994  }
 41995  
 41996  // SetOfferingType sets the OfferingType field's value.
 41997  func (s *ReservedDBInstance) SetOfferingType(v string) *ReservedDBInstance {
 41998  	s.OfferingType = &v
 41999  	return s
 42000  }
 42001  
 42002  // SetProductDescription sets the ProductDescription field's value.
 42003  func (s *ReservedDBInstance) SetProductDescription(v string) *ReservedDBInstance {
 42004  	s.ProductDescription = &v
 42005  	return s
 42006  }
 42007  
 42008  // SetRecurringCharges sets the RecurringCharges field's value.
 42009  func (s *ReservedDBInstance) SetRecurringCharges(v []*RecurringCharge) *ReservedDBInstance {
 42010  	s.RecurringCharges = v
 42011  	return s
 42012  }
 42013  
 42014  // SetReservedDBInstanceArn sets the ReservedDBInstanceArn field's value.
 42015  func (s *ReservedDBInstance) SetReservedDBInstanceArn(v string) *ReservedDBInstance {
 42016  	s.ReservedDBInstanceArn = &v
 42017  	return s
 42018  }
 42019  
 42020  // SetReservedDBInstanceId sets the ReservedDBInstanceId field's value.
 42021  func (s *ReservedDBInstance) SetReservedDBInstanceId(v string) *ReservedDBInstance {
 42022  	s.ReservedDBInstanceId = &v
 42023  	return s
 42024  }
 42025  
 42026  // SetReservedDBInstancesOfferingId sets the ReservedDBInstancesOfferingId field's value.
 42027  func (s *ReservedDBInstance) SetReservedDBInstancesOfferingId(v string) *ReservedDBInstance {
 42028  	s.ReservedDBInstancesOfferingId = &v
 42029  	return s
 42030  }
 42031  
 42032  // SetStartTime sets the StartTime field's value.
 42033  func (s *ReservedDBInstance) SetStartTime(v time.Time) *ReservedDBInstance {
 42034  	s.StartTime = &v
 42035  	return s
 42036  }
 42037  
 42038  // SetState sets the State field's value.
 42039  func (s *ReservedDBInstance) SetState(v string) *ReservedDBInstance {
 42040  	s.State = &v
 42041  	return s
 42042  }
 42043  
 42044  // SetUsagePrice sets the UsagePrice field's value.
 42045  func (s *ReservedDBInstance) SetUsagePrice(v float64) *ReservedDBInstance {
 42046  	s.UsagePrice = &v
 42047  	return s
 42048  }
 42049  
 42050  // This data type is used as a response element in the DescribeReservedDBInstancesOfferings
 42051  // action.
 42052  type ReservedDBInstancesOffering struct {
 42053  	_ struct{} `type:"structure"`
 42054  
 42055  	// The currency code for the reserved DB instance offering.
 42056  	CurrencyCode *string `type:"string"`
 42057  
 42058  	// The DB instance class for the reserved DB instance.
 42059  	DBInstanceClass *string `type:"string"`
 42060  
 42061  	// The duration of the offering in seconds.
 42062  	Duration *int64 `type:"integer"`
 42063  
 42064  	// The fixed price charged for this offering.
 42065  	FixedPrice *float64 `type:"double"`
 42066  
 42067  	// Indicates if the offering applies to Multi-AZ deployments.
 42068  	MultiAZ *bool `type:"boolean"`
 42069  
 42070  	// The offering type.
 42071  	OfferingType *string `type:"string"`
 42072  
 42073  	// The database engine used by the offering.
 42074  	ProductDescription *string `type:"string"`
 42075  
 42076  	// The recurring price charged to run this reserved DB instance.
 42077  	RecurringCharges []*RecurringCharge `locationNameList:"RecurringCharge" type:"list"`
 42078  
 42079  	// The offering identifier.
 42080  	ReservedDBInstancesOfferingId *string `type:"string"`
 42081  
 42082  	// The hourly price charged for this offering.
 42083  	UsagePrice *float64 `type:"double"`
 42084  }
 42085  
 42086  // String returns the string representation.
 42087  //
 42088  // API parameter values that are decorated as "sensitive" in the API will not
 42089  // be included in the string output. The member name will be present, but the
 42090  // value will be replaced with "sensitive".
 42091  func (s ReservedDBInstancesOffering) String() string {
 42092  	return awsutil.Prettify(s)
 42093  }
 42094  
 42095  // GoString returns the string representation.
 42096  //
 42097  // API parameter values that are decorated as "sensitive" in the API will not
 42098  // be included in the string output. The member name will be present, but the
 42099  // value will be replaced with "sensitive".
 42100  func (s ReservedDBInstancesOffering) GoString() string {
 42101  	return s.String()
 42102  }
 42103  
 42104  // SetCurrencyCode sets the CurrencyCode field's value.
 42105  func (s *ReservedDBInstancesOffering) SetCurrencyCode(v string) *ReservedDBInstancesOffering {
 42106  	s.CurrencyCode = &v
 42107  	return s
 42108  }
 42109  
 42110  // SetDBInstanceClass sets the DBInstanceClass field's value.
 42111  func (s *ReservedDBInstancesOffering) SetDBInstanceClass(v string) *ReservedDBInstancesOffering {
 42112  	s.DBInstanceClass = &v
 42113  	return s
 42114  }
 42115  
 42116  // SetDuration sets the Duration field's value.
 42117  func (s *ReservedDBInstancesOffering) SetDuration(v int64) *ReservedDBInstancesOffering {
 42118  	s.Duration = &v
 42119  	return s
 42120  }
 42121  
 42122  // SetFixedPrice sets the FixedPrice field's value.
 42123  func (s *ReservedDBInstancesOffering) SetFixedPrice(v float64) *ReservedDBInstancesOffering {
 42124  	s.FixedPrice = &v
 42125  	return s
 42126  }
 42127  
 42128  // SetMultiAZ sets the MultiAZ field's value.
 42129  func (s *ReservedDBInstancesOffering) SetMultiAZ(v bool) *ReservedDBInstancesOffering {
 42130  	s.MultiAZ = &v
 42131  	return s
 42132  }
 42133  
 42134  // SetOfferingType sets the OfferingType field's value.
 42135  func (s *ReservedDBInstancesOffering) SetOfferingType(v string) *ReservedDBInstancesOffering {
 42136  	s.OfferingType = &v
 42137  	return s
 42138  }
 42139  
 42140  // SetProductDescription sets the ProductDescription field's value.
 42141  func (s *ReservedDBInstancesOffering) SetProductDescription(v string) *ReservedDBInstancesOffering {
 42142  	s.ProductDescription = &v
 42143  	return s
 42144  }
 42145  
 42146  // SetRecurringCharges sets the RecurringCharges field's value.
 42147  func (s *ReservedDBInstancesOffering) SetRecurringCharges(v []*RecurringCharge) *ReservedDBInstancesOffering {
 42148  	s.RecurringCharges = v
 42149  	return s
 42150  }
 42151  
 42152  // SetReservedDBInstancesOfferingId sets the ReservedDBInstancesOfferingId field's value.
 42153  func (s *ReservedDBInstancesOffering) SetReservedDBInstancesOfferingId(v string) *ReservedDBInstancesOffering {
 42154  	s.ReservedDBInstancesOfferingId = &v
 42155  	return s
 42156  }
 42157  
 42158  // SetUsagePrice sets the UsagePrice field's value.
 42159  func (s *ReservedDBInstancesOffering) SetUsagePrice(v float64) *ReservedDBInstancesOffering {
 42160  	s.UsagePrice = &v
 42161  	return s
 42162  }
 42163  
 42164  type ResetDBClusterParameterGroupInput struct {
 42165  	_ struct{} `type:"structure"`
 42166  
 42167  	// The name of the DB cluster parameter group to reset.
 42168  	//
 42169  	// DBClusterParameterGroupName is a required field
 42170  	DBClusterParameterGroupName *string `type:"string" required:"true"`
 42171  
 42172  	// A list of parameter names in the DB cluster parameter group to reset to the
 42173  	// default values. You can't use this parameter if the ResetAllParameters parameter
 42174  	// is enabled.
 42175  	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
 42176  
 42177  	// A value that indicates whether to reset all parameters in the DB cluster
 42178  	// parameter group to their default values. You can't use this parameter if
 42179  	// there is a list of parameter names specified for the Parameters parameter.
 42180  	ResetAllParameters *bool `type:"boolean"`
 42181  }
 42182  
 42183  // String returns the string representation.
 42184  //
 42185  // API parameter values that are decorated as "sensitive" in the API will not
 42186  // be included in the string output. The member name will be present, but the
 42187  // value will be replaced with "sensitive".
 42188  func (s ResetDBClusterParameterGroupInput) String() string {
 42189  	return awsutil.Prettify(s)
 42190  }
 42191  
 42192  // GoString returns the string representation.
 42193  //
 42194  // API parameter values that are decorated as "sensitive" in the API will not
 42195  // be included in the string output. The member name will be present, but the
 42196  // value will be replaced with "sensitive".
 42197  func (s ResetDBClusterParameterGroupInput) GoString() string {
 42198  	return s.String()
 42199  }
 42200  
 42201  // Validate inspects the fields of the type to determine if they are valid.
 42202  func (s *ResetDBClusterParameterGroupInput) Validate() error {
 42203  	invalidParams := request.ErrInvalidParams{Context: "ResetDBClusterParameterGroupInput"}
 42204  	if s.DBClusterParameterGroupName == nil {
 42205  		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
 42206  	}
 42207  
 42208  	if invalidParams.Len() > 0 {
 42209  		return invalidParams
 42210  	}
 42211  	return nil
 42212  }
 42213  
 42214  // SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
 42215  func (s *ResetDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *ResetDBClusterParameterGroupInput {
 42216  	s.DBClusterParameterGroupName = &v
 42217  	return s
 42218  }
 42219  
 42220  // SetParameters sets the Parameters field's value.
 42221  func (s *ResetDBClusterParameterGroupInput) SetParameters(v []*Parameter) *ResetDBClusterParameterGroupInput {
 42222  	s.Parameters = v
 42223  	return s
 42224  }
 42225  
 42226  // SetResetAllParameters sets the ResetAllParameters field's value.
 42227  func (s *ResetDBClusterParameterGroupInput) SetResetAllParameters(v bool) *ResetDBClusterParameterGroupInput {
 42228  	s.ResetAllParameters = &v
 42229  	return s
 42230  }
 42231  
 42232  type ResetDBParameterGroupInput struct {
 42233  	_ struct{} `type:"structure"`
 42234  
 42235  	// The name of the DB parameter group.
 42236  	//
 42237  	// Constraints:
 42238  	//
 42239  	//    * Must match the name of an existing DBParameterGroup.
 42240  	//
 42241  	// DBParameterGroupName is a required field
 42242  	DBParameterGroupName *string `type:"string" required:"true"`
 42243  
 42244  	// To reset the entire DB parameter group, specify the DBParameterGroup name
 42245  	// and ResetAllParameters parameters. To reset specific parameters, provide
 42246  	// a list of the following: ParameterName and ApplyMethod. A maximum of 20 parameters
 42247  	// can be modified in a single request.
 42248  	//
 42249  	// MySQL
 42250  	//
 42251  	// Valid Values (for Apply method): immediate | pending-reboot
 42252  	//
 42253  	// You can use the immediate value with dynamic parameters only. You can use
 42254  	// the pending-reboot value for both dynamic and static parameters, and changes
 42255  	// are applied when DB instance reboots.
 42256  	//
 42257  	// MariaDB
 42258  	//
 42259  	// Valid Values (for Apply method): immediate | pending-reboot
 42260  	//
 42261  	// You can use the immediate value with dynamic parameters only. You can use
 42262  	// the pending-reboot value for both dynamic and static parameters, and changes
 42263  	// are applied when DB instance reboots.
 42264  	//
 42265  	// Oracle
 42266  	//
 42267  	// Valid Values (for Apply method): pending-reboot
 42268  	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
 42269  
 42270  	// A value that indicates whether to reset all parameters in the DB parameter
 42271  	// group to default values. By default, all parameters in the DB parameter group
 42272  	// are reset to default values.
 42273  	ResetAllParameters *bool `type:"boolean"`
 42274  }
 42275  
 42276  // String returns the string representation.
 42277  //
 42278  // API parameter values that are decorated as "sensitive" in the API will not
 42279  // be included in the string output. The member name will be present, but the
 42280  // value will be replaced with "sensitive".
 42281  func (s ResetDBParameterGroupInput) String() string {
 42282  	return awsutil.Prettify(s)
 42283  }
 42284  
 42285  // GoString returns the string representation.
 42286  //
 42287  // API parameter values that are decorated as "sensitive" in the API will not
 42288  // be included in the string output. The member name will be present, but the
 42289  // value will be replaced with "sensitive".
 42290  func (s ResetDBParameterGroupInput) GoString() string {
 42291  	return s.String()
 42292  }
 42293  
 42294  // Validate inspects the fields of the type to determine if they are valid.
 42295  func (s *ResetDBParameterGroupInput) Validate() error {
 42296  	invalidParams := request.ErrInvalidParams{Context: "ResetDBParameterGroupInput"}
 42297  	if s.DBParameterGroupName == nil {
 42298  		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
 42299  	}
 42300  
 42301  	if invalidParams.Len() > 0 {
 42302  		return invalidParams
 42303  	}
 42304  	return nil
 42305  }
 42306  
 42307  // SetDBParameterGroupName sets the DBParameterGroupName field's value.
 42308  func (s *ResetDBParameterGroupInput) SetDBParameterGroupName(v string) *ResetDBParameterGroupInput {
 42309  	s.DBParameterGroupName = &v
 42310  	return s
 42311  }
 42312  
 42313  // SetParameters sets the Parameters field's value.
 42314  func (s *ResetDBParameterGroupInput) SetParameters(v []*Parameter) *ResetDBParameterGroupInput {
 42315  	s.Parameters = v
 42316  	return s
 42317  }
 42318  
 42319  // SetResetAllParameters sets the ResetAllParameters field's value.
 42320  func (s *ResetDBParameterGroupInput) SetResetAllParameters(v bool) *ResetDBParameterGroupInput {
 42321  	s.ResetAllParameters = &v
 42322  	return s
 42323  }
 42324  
 42325  // Describes the pending maintenance actions for a resource.
 42326  type ResourcePendingMaintenanceActions struct {
 42327  	_ struct{} `type:"structure"`
 42328  
 42329  	// A list that provides details about the pending maintenance actions for the
 42330  	// resource.
 42331  	PendingMaintenanceActionDetails []*PendingMaintenanceAction `locationNameList:"PendingMaintenanceAction" type:"list"`
 42332  
 42333  	// The ARN of the resource that has pending maintenance actions.
 42334  	ResourceIdentifier *string `type:"string"`
 42335  }
 42336  
 42337  // String returns the string representation.
 42338  //
 42339  // API parameter values that are decorated as "sensitive" in the API will not
 42340  // be included in the string output. The member name will be present, but the
 42341  // value will be replaced with "sensitive".
 42342  func (s ResourcePendingMaintenanceActions) String() string {
 42343  	return awsutil.Prettify(s)
 42344  }
 42345  
 42346  // GoString returns the string representation.
 42347  //
 42348  // API parameter values that are decorated as "sensitive" in the API will not
 42349  // be included in the string output. The member name will be present, but the
 42350  // value will be replaced with "sensitive".
 42351  func (s ResourcePendingMaintenanceActions) GoString() string {
 42352  	return s.String()
 42353  }
 42354  
 42355  // SetPendingMaintenanceActionDetails sets the PendingMaintenanceActionDetails field's value.
 42356  func (s *ResourcePendingMaintenanceActions) SetPendingMaintenanceActionDetails(v []*PendingMaintenanceAction) *ResourcePendingMaintenanceActions {
 42357  	s.PendingMaintenanceActionDetails = v
 42358  	return s
 42359  }
 42360  
 42361  // SetResourceIdentifier sets the ResourceIdentifier field's value.
 42362  func (s *ResourcePendingMaintenanceActions) SetResourceIdentifier(v string) *ResourcePendingMaintenanceActions {
 42363  	s.ResourceIdentifier = &v
 42364  	return s
 42365  }
 42366  
 42367  type RestoreDBClusterFromS3Input struct {
 42368  	_ struct{} `type:"structure"`
 42369  
 42370  	// A list of Availability Zones (AZs) where instances in the restored DB cluster
 42371  	// can be created.
 42372  	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
 42373  
 42374  	// The target backtrack window, in seconds. To disable backtracking, set this
 42375  	// value to 0.
 42376  	//
 42377  	// Currently, Backtrack is only supported for Aurora MySQL DB clusters.
 42378  	//
 42379  	// Default: 0
 42380  	//
 42381  	// Constraints:
 42382  	//
 42383  	//    * If specified, this value must be set to a number from 0 to 259,200 (72
 42384  	//    hours).
 42385  	BacktrackWindow *int64 `type:"long"`
 42386  
 42387  	// The number of days for which automated backups of the restored DB cluster
 42388  	// are retained. You must specify a minimum value of 1.
 42389  	//
 42390  	// Default: 1
 42391  	//
 42392  	// Constraints:
 42393  	//
 42394  	//    * Must be a value from 1 to 35
 42395  	BackupRetentionPeriod *int64 `type:"integer"`
 42396  
 42397  	// A value that indicates that the restored DB cluster should be associated
 42398  	// with the specified CharacterSet.
 42399  	CharacterSetName *string `type:"string"`
 42400  
 42401  	// A value that indicates whether to copy all tags from the restored DB cluster
 42402  	// to snapshots of the restored DB cluster. The default is not to copy them.
 42403  	CopyTagsToSnapshot *bool `type:"boolean"`
 42404  
 42405  	// The name of the DB cluster to create from the source data in the Amazon S3
 42406  	// bucket. This parameter isn't case-sensitive.
 42407  	//
 42408  	// Constraints:
 42409  	//
 42410  	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
 42411  	//
 42412  	//    * First character must be a letter.
 42413  	//
 42414  	//    * Can't end with a hyphen or contain two consecutive hyphens.
 42415  	//
 42416  	// Example: my-cluster1
 42417  	//
 42418  	// DBClusterIdentifier is a required field
 42419  	DBClusterIdentifier *string `type:"string" required:"true"`
 42420  
 42421  	// The name of the DB cluster parameter group to associate with the restored
 42422  	// DB cluster. If this argument is omitted, default.aurora5.6 is used.
 42423  	//
 42424  	// Constraints:
 42425  	//
 42426  	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
 42427  	DBClusterParameterGroupName *string `type:"string"`
 42428  
 42429  	// A DB subnet group to associate with the restored DB cluster.
 42430  	//
 42431  	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
 42432  	//
 42433  	// Example: mySubnetgroup
 42434  	DBSubnetGroupName *string `type:"string"`
 42435  
 42436  	// The database name for the restored DB cluster.
 42437  	DatabaseName *string `type:"string"`
 42438  
 42439  	// A value that indicates whether the DB cluster has deletion protection enabled.
 42440  	// The database can't be deleted when deletion protection is enabled. By default,
 42441  	// deletion protection is disabled.
 42442  	DeletionProtection *bool `type:"boolean"`
 42443  
 42444  	// Specify the Active Directory directory ID to restore the DB cluster in. The
 42445  	// domain must be created prior to this operation.
 42446  	//
 42447  	// For Amazon Aurora DB clusters, Amazon RDS can use Kerberos Authentication
 42448  	// to authenticate users that connect to the DB cluster. For more information,
 42449  	// see Kerberos Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/kerberos-authentication.html)
 42450  	// in the Amazon Aurora User Guide.
 42451  	Domain *string `type:"string"`
 42452  
 42453  	// Specify the name of the IAM role to be used when making API calls to the
 42454  	// Directory Service.
 42455  	DomainIAMRoleName *string `type:"string"`
 42456  
 42457  	// The list of logs that the restored DB cluster is to export to CloudWatch
 42458  	// Logs. The values in the list depend on the DB engine being used. For more
 42459  	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
 42460  	// in the Amazon Aurora User Guide.
 42461  	EnableCloudwatchLogsExports []*string `type:"list"`
 42462  
 42463  	// A value that indicates whether to enable mapping of Amazon Web Services Identity
 42464  	// and Access Management (IAM) accounts to database accounts. By default, mapping
 42465  	// is disabled.
 42466  	//
 42467  	// For more information, see IAM Database Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html)
 42468  	// in the Amazon Aurora User Guide.
 42469  	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
 42470  
 42471  	// The name of the database engine to be used for this DB cluster.
 42472  	//
 42473  	// Valid Values: aurora (for MySQL 5.6-compatible Aurora), aurora-mysql (for
 42474  	// MySQL 5.7-compatible Aurora), and aurora-postgresql
 42475  	//
 42476  	// Engine is a required field
 42477  	Engine *string `type:"string" required:"true"`
 42478  
 42479  	// The version number of the database engine to use.
 42480  	//
 42481  	// To list all of the available engine versions for aurora (for MySQL 5.6-compatible
 42482  	// Aurora), use the following command:
 42483  	//
 42484  	// aws rds describe-db-engine-versions --engine aurora --query "DBEngineVersions[].EngineVersion"
 42485  	//
 42486  	// To list all of the available engine versions for aurora-mysql (for MySQL
 42487  	// 5.7-compatible Aurora), use the following command:
 42488  	//
 42489  	// aws rds describe-db-engine-versions --engine aurora-mysql --query "DBEngineVersions[].EngineVersion"
 42490  	//
 42491  	// To list all of the available engine versions for aurora-postgresql, use the
 42492  	// following command:
 42493  	//
 42494  	// aws rds describe-db-engine-versions --engine aurora-postgresql --query "DBEngineVersions[].EngineVersion"
 42495  	//
 42496  	// Aurora MySQL
 42497  	//
 42498  	// Example: 5.6.10a, 5.6.mysql_aurora.1.19.2, 5.7.12, 5.7.mysql_aurora.2.04.5
 42499  	//
 42500  	// Aurora PostgreSQL
 42501  	//
 42502  	// Example: 9.6.3, 10.7
 42503  	EngineVersion *string `type:"string"`
 42504  
 42505  	// The Amazon Web Services KMS key identifier for an encrypted DB cluster.
 42506  	//
 42507  	// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
 42508  	// ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).
 42509  	// To use a CMK in a different Amazon Web Services account, specify the key
 42510  	// ARN or alias ARN.
 42511  	//
 42512  	// If the StorageEncrypted parameter is enabled, and you do not specify a value
 42513  	// for the KmsKeyId parameter, then Amazon RDS will use your default CMK. There
 42514  	// is a default CMK for your Amazon Web Services account. Your Amazon Web Services
 42515  	// account has a different default CMK for each Amazon Web Services Region.
 42516  	KmsKeyId *string `type:"string"`
 42517  
 42518  	// The password for the master database user. This password can contain any
 42519  	// printable ASCII character except "/", """, or "@".
 42520  	//
 42521  	// Constraints: Must contain from 8 to 41 characters.
 42522  	//
 42523  	// MasterUserPassword is a required field
 42524  	MasterUserPassword *string `type:"string" required:"true"`
 42525  
 42526  	// The name of the master user for the restored DB cluster.
 42527  	//
 42528  	// Constraints:
 42529  	//
 42530  	//    * Must be 1 to 16 letters or numbers.
 42531  	//
 42532  	//    * First character must be a letter.
 42533  	//
 42534  	//    * Can't be a reserved word for the chosen database engine.
 42535  	//
 42536  	// MasterUsername is a required field
 42537  	MasterUsername *string `type:"string" required:"true"`
 42538  
 42539  	// A value that indicates that the restored DB cluster should be associated
 42540  	// with the specified option group.
 42541  	//
 42542  	// Permanent options can't be removed from an option group. An option group
 42543  	// can't be removed from a DB cluster once it is associated with a DB cluster.
 42544  	OptionGroupName *string `type:"string"`
 42545  
 42546  	// The port number on which the instances in the restored DB cluster accept
 42547  	// connections.
 42548  	//
 42549  	// Default: 3306
 42550  	Port *int64 `type:"integer"`
 42551  
 42552  	// The daily time range during which automated backups are created if automated
 42553  	// backups are enabled using the BackupRetentionPeriod parameter.
 42554  	//
 42555  	// The default is a 30-minute window selected at random from an 8-hour block
 42556  	// of time for each Amazon Web Services Region. To view the time blocks available,
 42557  	// see Backup window (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Managing.Backups.html#Aurora.Managing.Backups.BackupWindow)
 42558  	// in the Amazon Aurora User Guide.
 42559  	//
 42560  	// Constraints:
 42561  	//
 42562  	//    * Must be in the format hh24:mi-hh24:mi.
 42563  	//
 42564  	//    * Must be in Universal Coordinated Time (UTC).
 42565  	//
 42566  	//    * Must not conflict with the preferred maintenance window.
 42567  	//
 42568  	//    * Must be at least 30 minutes.
 42569  	PreferredBackupWindow *string `type:"string"`
 42570  
 42571  	// The weekly time range during which system maintenance can occur, in Universal
 42572  	// Coordinated Time (UTC).
 42573  	//
 42574  	// Format: ddd:hh24:mi-ddd:hh24:mi
 42575  	//
 42576  	// The default is a 30-minute window selected at random from an 8-hour block
 42577  	// of time for each Amazon Web Services Region, occurring on a random day of
 42578  	// the week. To see the time blocks available, see Adjusting the Preferred Maintenance
 42579  	// Window (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora)
 42580  	// in the Amazon Aurora User Guide.
 42581  	//
 42582  	// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
 42583  	//
 42584  	// Constraints: Minimum 30-minute window.
 42585  	PreferredMaintenanceWindow *string `type:"string"`
 42586  
 42587  	// The name of the Amazon S3 bucket that contains the data used to create the
 42588  	// Amazon Aurora DB cluster.
 42589  	//
 42590  	// S3BucketName is a required field
 42591  	S3BucketName *string `type:"string" required:"true"`
 42592  
 42593  	// The Amazon Resource Name (ARN) of the Amazon Web Services Identity and Access
 42594  	// Management (IAM) role that authorizes Amazon RDS to access the Amazon S3
 42595  	// bucket on your behalf.
 42596  	//
 42597  	// S3IngestionRoleArn is a required field
 42598  	S3IngestionRoleArn *string `type:"string" required:"true"`
 42599  
 42600  	// The prefix for all of the file names that contain the data used to create
 42601  	// the Amazon Aurora DB cluster. If you do not specify a SourceS3Prefix value,
 42602  	// then the Amazon Aurora DB cluster is created by using all of the files in
 42603  	// the Amazon S3 bucket.
 42604  	S3Prefix *string `type:"string"`
 42605  
 42606  	// The identifier for the database engine that was backed up to create the files
 42607  	// stored in the Amazon S3 bucket.
 42608  	//
 42609  	// Valid values: mysql
 42610  	//
 42611  	// SourceEngine is a required field
 42612  	SourceEngine *string `type:"string" required:"true"`
 42613  
 42614  	// The version of the database that the backup files were created from.
 42615  	//
 42616  	// MySQL versions 5.5, 5.6, and 5.7 are supported.
 42617  	//
 42618  	// Example: 5.6.40, 5.7.28
 42619  	//
 42620  	// SourceEngineVersion is a required field
 42621  	SourceEngineVersion *string `type:"string" required:"true"`
 42622  
 42623  	// A value that indicates whether the restored DB cluster is encrypted.
 42624  	StorageEncrypted *bool `type:"boolean"`
 42625  
 42626  	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
 42627  	// in the Amazon RDS User Guide.
 42628  	Tags []*Tag `locationNameList:"Tag" type:"list"`
 42629  
 42630  	// A list of EC2 VPC security groups to associate with the restored DB cluster.
 42631  	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
 42632  }
 42633  
 42634  // String returns the string representation.
 42635  //
 42636  // API parameter values that are decorated as "sensitive" in the API will not
 42637  // be included in the string output. The member name will be present, but the
 42638  // value will be replaced with "sensitive".
 42639  func (s RestoreDBClusterFromS3Input) String() string {
 42640  	return awsutil.Prettify(s)
 42641  }
 42642  
 42643  // GoString returns the string representation.
 42644  //
 42645  // API parameter values that are decorated as "sensitive" in the API will not
 42646  // be included in the string output. The member name will be present, but the
 42647  // value will be replaced with "sensitive".
 42648  func (s RestoreDBClusterFromS3Input) GoString() string {
 42649  	return s.String()
 42650  }
 42651  
 42652  // Validate inspects the fields of the type to determine if they are valid.
 42653  func (s *RestoreDBClusterFromS3Input) Validate() error {
 42654  	invalidParams := request.ErrInvalidParams{Context: "RestoreDBClusterFromS3Input"}
 42655  	if s.DBClusterIdentifier == nil {
 42656  		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
 42657  	}
 42658  	if s.Engine == nil {
 42659  		invalidParams.Add(request.NewErrParamRequired("Engine"))
 42660  	}
 42661  	if s.MasterUserPassword == nil {
 42662  		invalidParams.Add(request.NewErrParamRequired("MasterUserPassword"))
 42663  	}
 42664  	if s.MasterUsername == nil {
 42665  		invalidParams.Add(request.NewErrParamRequired("MasterUsername"))
 42666  	}
 42667  	if s.S3BucketName == nil {
 42668  		invalidParams.Add(request.NewErrParamRequired("S3BucketName"))
 42669  	}
 42670  	if s.S3IngestionRoleArn == nil {
 42671  		invalidParams.Add(request.NewErrParamRequired("S3IngestionRoleArn"))
 42672  	}
 42673  	if s.SourceEngine == nil {
 42674  		invalidParams.Add(request.NewErrParamRequired("SourceEngine"))
 42675  	}
 42676  	if s.SourceEngineVersion == nil {
 42677  		invalidParams.Add(request.NewErrParamRequired("SourceEngineVersion"))
 42678  	}
 42679  
 42680  	if invalidParams.Len() > 0 {
 42681  		return invalidParams
 42682  	}
 42683  	return nil
 42684  }
 42685  
 42686  // SetAvailabilityZones sets the AvailabilityZones field's value.
 42687  func (s *RestoreDBClusterFromS3Input) SetAvailabilityZones(v []*string) *RestoreDBClusterFromS3Input {
 42688  	s.AvailabilityZones = v
 42689  	return s
 42690  }
 42691  
 42692  // SetBacktrackWindow sets the BacktrackWindow field's value.
 42693  func (s *RestoreDBClusterFromS3Input) SetBacktrackWindow(v int64) *RestoreDBClusterFromS3Input {
 42694  	s.BacktrackWindow = &v
 42695  	return s
 42696  }
 42697  
 42698  // SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
 42699  func (s *RestoreDBClusterFromS3Input) SetBackupRetentionPeriod(v int64) *RestoreDBClusterFromS3Input {
 42700  	s.BackupRetentionPeriod = &v
 42701  	return s
 42702  }
 42703  
 42704  // SetCharacterSetName sets the CharacterSetName field's value.
 42705  func (s *RestoreDBClusterFromS3Input) SetCharacterSetName(v string) *RestoreDBClusterFromS3Input {
 42706  	s.CharacterSetName = &v
 42707  	return s
 42708  }
 42709  
 42710  // SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
 42711  func (s *RestoreDBClusterFromS3Input) SetCopyTagsToSnapshot(v bool) *RestoreDBClusterFromS3Input {
 42712  	s.CopyTagsToSnapshot = &v
 42713  	return s
 42714  }
 42715  
 42716  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 42717  func (s *RestoreDBClusterFromS3Input) SetDBClusterIdentifier(v string) *RestoreDBClusterFromS3Input {
 42718  	s.DBClusterIdentifier = &v
 42719  	return s
 42720  }
 42721  
 42722  // SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
 42723  func (s *RestoreDBClusterFromS3Input) SetDBClusterParameterGroupName(v string) *RestoreDBClusterFromS3Input {
 42724  	s.DBClusterParameterGroupName = &v
 42725  	return s
 42726  }
 42727  
 42728  // SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
 42729  func (s *RestoreDBClusterFromS3Input) SetDBSubnetGroupName(v string) *RestoreDBClusterFromS3Input {
 42730  	s.DBSubnetGroupName = &v
 42731  	return s
 42732  }
 42733  
 42734  // SetDatabaseName sets the DatabaseName field's value.
 42735  func (s *RestoreDBClusterFromS3Input) SetDatabaseName(v string) *RestoreDBClusterFromS3Input {
 42736  	s.DatabaseName = &v
 42737  	return s
 42738  }
 42739  
 42740  // SetDeletionProtection sets the DeletionProtection field's value.
 42741  func (s *RestoreDBClusterFromS3Input) SetDeletionProtection(v bool) *RestoreDBClusterFromS3Input {
 42742  	s.DeletionProtection = &v
 42743  	return s
 42744  }
 42745  
 42746  // SetDomain sets the Domain field's value.
 42747  func (s *RestoreDBClusterFromS3Input) SetDomain(v string) *RestoreDBClusterFromS3Input {
 42748  	s.Domain = &v
 42749  	return s
 42750  }
 42751  
 42752  // SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
 42753  func (s *RestoreDBClusterFromS3Input) SetDomainIAMRoleName(v string) *RestoreDBClusterFromS3Input {
 42754  	s.DomainIAMRoleName = &v
 42755  	return s
 42756  }
 42757  
 42758  // SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
 42759  func (s *RestoreDBClusterFromS3Input) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBClusterFromS3Input {
 42760  	s.EnableCloudwatchLogsExports = v
 42761  	return s
 42762  }
 42763  
 42764  // SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
 42765  func (s *RestoreDBClusterFromS3Input) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBClusterFromS3Input {
 42766  	s.EnableIAMDatabaseAuthentication = &v
 42767  	return s
 42768  }
 42769  
 42770  // SetEngine sets the Engine field's value.
 42771  func (s *RestoreDBClusterFromS3Input) SetEngine(v string) *RestoreDBClusterFromS3Input {
 42772  	s.Engine = &v
 42773  	return s
 42774  }
 42775  
 42776  // SetEngineVersion sets the EngineVersion field's value.
 42777  func (s *RestoreDBClusterFromS3Input) SetEngineVersion(v string) *RestoreDBClusterFromS3Input {
 42778  	s.EngineVersion = &v
 42779  	return s
 42780  }
 42781  
 42782  // SetKmsKeyId sets the KmsKeyId field's value.
 42783  func (s *RestoreDBClusterFromS3Input) SetKmsKeyId(v string) *RestoreDBClusterFromS3Input {
 42784  	s.KmsKeyId = &v
 42785  	return s
 42786  }
 42787  
 42788  // SetMasterUserPassword sets the MasterUserPassword field's value.
 42789  func (s *RestoreDBClusterFromS3Input) SetMasterUserPassword(v string) *RestoreDBClusterFromS3Input {
 42790  	s.MasterUserPassword = &v
 42791  	return s
 42792  }
 42793  
 42794  // SetMasterUsername sets the MasterUsername field's value.
 42795  func (s *RestoreDBClusterFromS3Input) SetMasterUsername(v string) *RestoreDBClusterFromS3Input {
 42796  	s.MasterUsername = &v
 42797  	return s
 42798  }
 42799  
 42800  // SetOptionGroupName sets the OptionGroupName field's value.
 42801  func (s *RestoreDBClusterFromS3Input) SetOptionGroupName(v string) *RestoreDBClusterFromS3Input {
 42802  	s.OptionGroupName = &v
 42803  	return s
 42804  }
 42805  
 42806  // SetPort sets the Port field's value.
 42807  func (s *RestoreDBClusterFromS3Input) SetPort(v int64) *RestoreDBClusterFromS3Input {
 42808  	s.Port = &v
 42809  	return s
 42810  }
 42811  
 42812  // SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
 42813  func (s *RestoreDBClusterFromS3Input) SetPreferredBackupWindow(v string) *RestoreDBClusterFromS3Input {
 42814  	s.PreferredBackupWindow = &v
 42815  	return s
 42816  }
 42817  
 42818  // SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
 42819  func (s *RestoreDBClusterFromS3Input) SetPreferredMaintenanceWindow(v string) *RestoreDBClusterFromS3Input {
 42820  	s.PreferredMaintenanceWindow = &v
 42821  	return s
 42822  }
 42823  
 42824  // SetS3BucketName sets the S3BucketName field's value.
 42825  func (s *RestoreDBClusterFromS3Input) SetS3BucketName(v string) *RestoreDBClusterFromS3Input {
 42826  	s.S3BucketName = &v
 42827  	return s
 42828  }
 42829  
 42830  // SetS3IngestionRoleArn sets the S3IngestionRoleArn field's value.
 42831  func (s *RestoreDBClusterFromS3Input) SetS3IngestionRoleArn(v string) *RestoreDBClusterFromS3Input {
 42832  	s.S3IngestionRoleArn = &v
 42833  	return s
 42834  }
 42835  
 42836  // SetS3Prefix sets the S3Prefix field's value.
 42837  func (s *RestoreDBClusterFromS3Input) SetS3Prefix(v string) *RestoreDBClusterFromS3Input {
 42838  	s.S3Prefix = &v
 42839  	return s
 42840  }
 42841  
 42842  // SetSourceEngine sets the SourceEngine field's value.
 42843  func (s *RestoreDBClusterFromS3Input) SetSourceEngine(v string) *RestoreDBClusterFromS3Input {
 42844  	s.SourceEngine = &v
 42845  	return s
 42846  }
 42847  
 42848  // SetSourceEngineVersion sets the SourceEngineVersion field's value.
 42849  func (s *RestoreDBClusterFromS3Input) SetSourceEngineVersion(v string) *RestoreDBClusterFromS3Input {
 42850  	s.SourceEngineVersion = &v
 42851  	return s
 42852  }
 42853  
 42854  // SetStorageEncrypted sets the StorageEncrypted field's value.
 42855  func (s *RestoreDBClusterFromS3Input) SetStorageEncrypted(v bool) *RestoreDBClusterFromS3Input {
 42856  	s.StorageEncrypted = &v
 42857  	return s
 42858  }
 42859  
 42860  // SetTags sets the Tags field's value.
 42861  func (s *RestoreDBClusterFromS3Input) SetTags(v []*Tag) *RestoreDBClusterFromS3Input {
 42862  	s.Tags = v
 42863  	return s
 42864  }
 42865  
 42866  // SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
 42867  func (s *RestoreDBClusterFromS3Input) SetVpcSecurityGroupIds(v []*string) *RestoreDBClusterFromS3Input {
 42868  	s.VpcSecurityGroupIds = v
 42869  	return s
 42870  }
 42871  
 42872  type RestoreDBClusterFromS3Output struct {
 42873  	_ struct{} `type:"structure"`
 42874  
 42875  	// Contains the details of an Amazon Aurora DB cluster.
 42876  	//
 42877  	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
 42878  	// and StartDBCluster actions.
 42879  	DBCluster *DBCluster `type:"structure"`
 42880  }
 42881  
 42882  // String returns the string representation.
 42883  //
 42884  // API parameter values that are decorated as "sensitive" in the API will not
 42885  // be included in the string output. The member name will be present, but the
 42886  // value will be replaced with "sensitive".
 42887  func (s RestoreDBClusterFromS3Output) String() string {
 42888  	return awsutil.Prettify(s)
 42889  }
 42890  
 42891  // GoString returns the string representation.
 42892  //
 42893  // API parameter values that are decorated as "sensitive" in the API will not
 42894  // be included in the string output. The member name will be present, but the
 42895  // value will be replaced with "sensitive".
 42896  func (s RestoreDBClusterFromS3Output) GoString() string {
 42897  	return s.String()
 42898  }
 42899  
 42900  // SetDBCluster sets the DBCluster field's value.
 42901  func (s *RestoreDBClusterFromS3Output) SetDBCluster(v *DBCluster) *RestoreDBClusterFromS3Output {
 42902  	s.DBCluster = v
 42903  	return s
 42904  }
 42905  
 42906  type RestoreDBClusterFromSnapshotInput struct {
 42907  	_ struct{} `type:"structure"`
 42908  
 42909  	// Provides the list of Availability Zones (AZs) where instances in the restored
 42910  	// DB cluster can be created.
 42911  	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
 42912  
 42913  	// The target backtrack window, in seconds. To disable backtracking, set this
 42914  	// value to 0.
 42915  	//
 42916  	// Currently, Backtrack is only supported for Aurora MySQL DB clusters.
 42917  	//
 42918  	// Default: 0
 42919  	//
 42920  	// Constraints:
 42921  	//
 42922  	//    * If specified, this value must be set to a number from 0 to 259,200 (72
 42923  	//    hours).
 42924  	BacktrackWindow *int64 `type:"long"`
 42925  
 42926  	// A value that indicates whether to copy all tags from the restored DB cluster
 42927  	// to snapshots of the restored DB cluster. The default is not to copy them.
 42928  	CopyTagsToSnapshot *bool `type:"boolean"`
 42929  
 42930  	// The name of the DB cluster to create from the DB snapshot or DB cluster snapshot.
 42931  	// This parameter isn't case-sensitive.
 42932  	//
 42933  	// Constraints:
 42934  	//
 42935  	//    * Must contain from 1 to 63 letters, numbers, or hyphens
 42936  	//
 42937  	//    * First character must be a letter
 42938  	//
 42939  	//    * Can't end with a hyphen or contain two consecutive hyphens
 42940  	//
 42941  	// Example: my-snapshot-id
 42942  	//
 42943  	// DBClusterIdentifier is a required field
 42944  	DBClusterIdentifier *string `type:"string" required:"true"`
 42945  
 42946  	// The name of the DB cluster parameter group to associate with this DB cluster.
 42947  	// If this argument is omitted, the default DB cluster parameter group for the
 42948  	// specified engine is used.
 42949  	//
 42950  	// Constraints:
 42951  	//
 42952  	//    * If supplied, must match the name of an existing default DB cluster parameter
 42953  	//    group.
 42954  	//
 42955  	//    * Must be 1 to 255 letters, numbers, or hyphens.
 42956  	//
 42957  	//    * First character must be a letter.
 42958  	//
 42959  	//    * Can't end with a hyphen or contain two consecutive hyphens.
 42960  	DBClusterParameterGroupName *string `type:"string"`
 42961  
 42962  	// The name of the DB subnet group to use for the new DB cluster.
 42963  	//
 42964  	// Constraints: If supplied, must match the name of an existing DB subnet group.
 42965  	//
 42966  	// Example: mySubnetgroup
 42967  	DBSubnetGroupName *string `type:"string"`
 42968  
 42969  	// The database name for the restored DB cluster.
 42970  	DatabaseName *string `type:"string"`
 42971  
 42972  	// A value that indicates whether the DB cluster has deletion protection enabled.
 42973  	// The database can't be deleted when deletion protection is enabled. By default,
 42974  	// deletion protection is disabled.
 42975  	DeletionProtection *bool `type:"boolean"`
 42976  
 42977  	// Specify the Active Directory directory ID to restore the DB cluster in. The
 42978  	// domain must be created prior to this operation. Currently, only MySQL, Microsoft
 42979  	// SQL Server, Oracle, and PostgreSQL DB instances can be created in an Active
 42980  	// Directory Domain.
 42981  	//
 42982  	// For more information, see Kerberos Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/kerberos-authentication.html)
 42983  	// in the Amazon RDS User Guide.
 42984  	Domain *string `type:"string"`
 42985  
 42986  	// Specify the name of the IAM role to be used when making API calls to the
 42987  	// Directory Service.
 42988  	DomainIAMRoleName *string `type:"string"`
 42989  
 42990  	// The list of logs that the restored DB cluster is to export to Amazon CloudWatch
 42991  	// Logs. The values in the list depend on the DB engine being used. For more
 42992  	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
 42993  	// in the Amazon Aurora User Guide.
 42994  	EnableCloudwatchLogsExports []*string `type:"list"`
 42995  
 42996  	// A value that indicates whether to enable mapping of Amazon Web Services Identity
 42997  	// and Access Management (IAM) accounts to database accounts. By default, mapping
 42998  	// is disabled.
 42999  	//
 43000  	// For more information, see IAM Database Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html)
 43001  	// in the Amazon Aurora User Guide.
 43002  	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
 43003  
 43004  	// The database engine to use for the new DB cluster.
 43005  	//
 43006  	// Default: The same as source
 43007  	//
 43008  	// Constraint: Must be compatible with the engine of the source
 43009  	//
 43010  	// Engine is a required field
 43011  	Engine *string `type:"string" required:"true"`
 43012  
 43013  	// The DB engine mode of the DB cluster, either provisioned, serverless, parallelquery,
 43014  	// global, or multimaster.
 43015  	//
 43016  	// For more information, see CreateDBCluster (https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBCluster.html).
 43017  	EngineMode *string `type:"string"`
 43018  
 43019  	// The version of the database engine to use for the new DB cluster.
 43020  	//
 43021  	// To list all of the available engine versions for aurora (for MySQL 5.6-compatible
 43022  	// Aurora), use the following command:
 43023  	//
 43024  	// aws rds describe-db-engine-versions --engine aurora --query "DBEngineVersions[].EngineVersion"
 43025  	//
 43026  	// To list all of the available engine versions for aurora-mysql (for MySQL
 43027  	// 5.7-compatible Aurora), use the following command:
 43028  	//
 43029  	// aws rds describe-db-engine-versions --engine aurora-mysql --query "DBEngineVersions[].EngineVersion"
 43030  	//
 43031  	// To list all of the available engine versions for aurora-postgresql, use the
 43032  	// following command:
 43033  	//
 43034  	// aws rds describe-db-engine-versions --engine aurora-postgresql --query "DBEngineVersions[].EngineVersion"
 43035  	//
 43036  	// If you aren't using the default engine version, then you must specify the
 43037  	// engine version.
 43038  	//
 43039  	// Aurora MySQL
 43040  	//
 43041  	// Example: 5.6.10a, 5.6.mysql_aurora.1.19.2, 5.7.12, 5.7.mysql_aurora.2.04.5
 43042  	//
 43043  	// Aurora PostgreSQL
 43044  	//
 43045  	// Example: 9.6.3, 10.7
 43046  	EngineVersion *string `type:"string"`
 43047  
 43048  	// The Amazon Web Services KMS key identifier to use when restoring an encrypted
 43049  	// DB cluster from a DB snapshot or DB cluster snapshot.
 43050  	//
 43051  	// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
 43052  	// ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).
 43053  	// To use a CMK in a different Amazon Web Services account, specify the key
 43054  	// ARN or alias ARN.
 43055  	//
 43056  	// When you don't specify a value for the KmsKeyId parameter, then the following
 43057  	// occurs:
 43058  	//
 43059  	//    * If the DB snapshot or DB cluster snapshot in SnapshotIdentifier is encrypted,
 43060  	//    then the restored DB cluster is encrypted using the Amazon Web Services
 43061  	//    KMS CMK that was used to encrypt the DB snapshot or DB cluster snapshot.
 43062  	//
 43063  	//    * If the DB snapshot or DB cluster snapshot in SnapshotIdentifier isn't
 43064  	//    encrypted, then the restored DB cluster isn't encrypted.
 43065  	KmsKeyId *string `type:"string"`
 43066  
 43067  	// The name of the option group to use for the restored DB cluster.
 43068  	OptionGroupName *string `type:"string"`
 43069  
 43070  	// The port number on which the new DB cluster accepts connections.
 43071  	//
 43072  	// Constraints: This value must be 1150-65535
 43073  	//
 43074  	// Default: The same port as the original DB cluster.
 43075  	Port *int64 `type:"integer"`
 43076  
 43077  	// For DB clusters in serverless DB engine mode, the scaling properties of the
 43078  	// DB cluster.
 43079  	ScalingConfiguration *ScalingConfiguration `type:"structure"`
 43080  
 43081  	// The identifier for the DB snapshot or DB cluster snapshot to restore from.
 43082  	//
 43083  	// You can use either the name or the Amazon Resource Name (ARN) to specify
 43084  	// a DB cluster snapshot. However, you can use only the ARN to specify a DB
 43085  	// snapshot.
 43086  	//
 43087  	// Constraints:
 43088  	//
 43089  	//    * Must match the identifier of an existing Snapshot.
 43090  	//
 43091  	// SnapshotIdentifier is a required field
 43092  	SnapshotIdentifier *string `type:"string" required:"true"`
 43093  
 43094  	// The tags to be assigned to the restored DB cluster.
 43095  	Tags []*Tag `locationNameList:"Tag" type:"list"`
 43096  
 43097  	// A list of VPC security groups that the new DB cluster will belong to.
 43098  	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
 43099  }
 43100  
 43101  // String returns the string representation.
 43102  //
 43103  // API parameter values that are decorated as "sensitive" in the API will not
 43104  // be included in the string output. The member name will be present, but the
 43105  // value will be replaced with "sensitive".
 43106  func (s RestoreDBClusterFromSnapshotInput) String() string {
 43107  	return awsutil.Prettify(s)
 43108  }
 43109  
 43110  // GoString returns the string representation.
 43111  //
 43112  // API parameter values that are decorated as "sensitive" in the API will not
 43113  // be included in the string output. The member name will be present, but the
 43114  // value will be replaced with "sensitive".
 43115  func (s RestoreDBClusterFromSnapshotInput) GoString() string {
 43116  	return s.String()
 43117  }
 43118  
 43119  // Validate inspects the fields of the type to determine if they are valid.
 43120  func (s *RestoreDBClusterFromSnapshotInput) Validate() error {
 43121  	invalidParams := request.ErrInvalidParams{Context: "RestoreDBClusterFromSnapshotInput"}
 43122  	if s.DBClusterIdentifier == nil {
 43123  		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
 43124  	}
 43125  	if s.Engine == nil {
 43126  		invalidParams.Add(request.NewErrParamRequired("Engine"))
 43127  	}
 43128  	if s.SnapshotIdentifier == nil {
 43129  		invalidParams.Add(request.NewErrParamRequired("SnapshotIdentifier"))
 43130  	}
 43131  
 43132  	if invalidParams.Len() > 0 {
 43133  		return invalidParams
 43134  	}
 43135  	return nil
 43136  }
 43137  
 43138  // SetAvailabilityZones sets the AvailabilityZones field's value.
 43139  func (s *RestoreDBClusterFromSnapshotInput) SetAvailabilityZones(v []*string) *RestoreDBClusterFromSnapshotInput {
 43140  	s.AvailabilityZones = v
 43141  	return s
 43142  }
 43143  
 43144  // SetBacktrackWindow sets the BacktrackWindow field's value.
 43145  func (s *RestoreDBClusterFromSnapshotInput) SetBacktrackWindow(v int64) *RestoreDBClusterFromSnapshotInput {
 43146  	s.BacktrackWindow = &v
 43147  	return s
 43148  }
 43149  
 43150  // SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
 43151  func (s *RestoreDBClusterFromSnapshotInput) SetCopyTagsToSnapshot(v bool) *RestoreDBClusterFromSnapshotInput {
 43152  	s.CopyTagsToSnapshot = &v
 43153  	return s
 43154  }
 43155  
 43156  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 43157  func (s *RestoreDBClusterFromSnapshotInput) SetDBClusterIdentifier(v string) *RestoreDBClusterFromSnapshotInput {
 43158  	s.DBClusterIdentifier = &v
 43159  	return s
 43160  }
 43161  
 43162  // SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
 43163  func (s *RestoreDBClusterFromSnapshotInput) SetDBClusterParameterGroupName(v string) *RestoreDBClusterFromSnapshotInput {
 43164  	s.DBClusterParameterGroupName = &v
 43165  	return s
 43166  }
 43167  
 43168  // SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
 43169  func (s *RestoreDBClusterFromSnapshotInput) SetDBSubnetGroupName(v string) *RestoreDBClusterFromSnapshotInput {
 43170  	s.DBSubnetGroupName = &v
 43171  	return s
 43172  }
 43173  
 43174  // SetDatabaseName sets the DatabaseName field's value.
 43175  func (s *RestoreDBClusterFromSnapshotInput) SetDatabaseName(v string) *RestoreDBClusterFromSnapshotInput {
 43176  	s.DatabaseName = &v
 43177  	return s
 43178  }
 43179  
 43180  // SetDeletionProtection sets the DeletionProtection field's value.
 43181  func (s *RestoreDBClusterFromSnapshotInput) SetDeletionProtection(v bool) *RestoreDBClusterFromSnapshotInput {
 43182  	s.DeletionProtection = &v
 43183  	return s
 43184  }
 43185  
 43186  // SetDomain sets the Domain field's value.
 43187  func (s *RestoreDBClusterFromSnapshotInput) SetDomain(v string) *RestoreDBClusterFromSnapshotInput {
 43188  	s.Domain = &v
 43189  	return s
 43190  }
 43191  
 43192  // SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
 43193  func (s *RestoreDBClusterFromSnapshotInput) SetDomainIAMRoleName(v string) *RestoreDBClusterFromSnapshotInput {
 43194  	s.DomainIAMRoleName = &v
 43195  	return s
 43196  }
 43197  
 43198  // SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
 43199  func (s *RestoreDBClusterFromSnapshotInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBClusterFromSnapshotInput {
 43200  	s.EnableCloudwatchLogsExports = v
 43201  	return s
 43202  }
 43203  
 43204  // SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
 43205  func (s *RestoreDBClusterFromSnapshotInput) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBClusterFromSnapshotInput {
 43206  	s.EnableIAMDatabaseAuthentication = &v
 43207  	return s
 43208  }
 43209  
 43210  // SetEngine sets the Engine field's value.
 43211  func (s *RestoreDBClusterFromSnapshotInput) SetEngine(v string) *RestoreDBClusterFromSnapshotInput {
 43212  	s.Engine = &v
 43213  	return s
 43214  }
 43215  
 43216  // SetEngineMode sets the EngineMode field's value.
 43217  func (s *RestoreDBClusterFromSnapshotInput) SetEngineMode(v string) *RestoreDBClusterFromSnapshotInput {
 43218  	s.EngineMode = &v
 43219  	return s
 43220  }
 43221  
 43222  // SetEngineVersion sets the EngineVersion field's value.
 43223  func (s *RestoreDBClusterFromSnapshotInput) SetEngineVersion(v string) *RestoreDBClusterFromSnapshotInput {
 43224  	s.EngineVersion = &v
 43225  	return s
 43226  }
 43227  
 43228  // SetKmsKeyId sets the KmsKeyId field's value.
 43229  func (s *RestoreDBClusterFromSnapshotInput) SetKmsKeyId(v string) *RestoreDBClusterFromSnapshotInput {
 43230  	s.KmsKeyId = &v
 43231  	return s
 43232  }
 43233  
 43234  // SetOptionGroupName sets the OptionGroupName field's value.
 43235  func (s *RestoreDBClusterFromSnapshotInput) SetOptionGroupName(v string) *RestoreDBClusterFromSnapshotInput {
 43236  	s.OptionGroupName = &v
 43237  	return s
 43238  }
 43239  
 43240  // SetPort sets the Port field's value.
 43241  func (s *RestoreDBClusterFromSnapshotInput) SetPort(v int64) *RestoreDBClusterFromSnapshotInput {
 43242  	s.Port = &v
 43243  	return s
 43244  }
 43245  
 43246  // SetScalingConfiguration sets the ScalingConfiguration field's value.
 43247  func (s *RestoreDBClusterFromSnapshotInput) SetScalingConfiguration(v *ScalingConfiguration) *RestoreDBClusterFromSnapshotInput {
 43248  	s.ScalingConfiguration = v
 43249  	return s
 43250  }
 43251  
 43252  // SetSnapshotIdentifier sets the SnapshotIdentifier field's value.
 43253  func (s *RestoreDBClusterFromSnapshotInput) SetSnapshotIdentifier(v string) *RestoreDBClusterFromSnapshotInput {
 43254  	s.SnapshotIdentifier = &v
 43255  	return s
 43256  }
 43257  
 43258  // SetTags sets the Tags field's value.
 43259  func (s *RestoreDBClusterFromSnapshotInput) SetTags(v []*Tag) *RestoreDBClusterFromSnapshotInput {
 43260  	s.Tags = v
 43261  	return s
 43262  }
 43263  
 43264  // SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
 43265  func (s *RestoreDBClusterFromSnapshotInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBClusterFromSnapshotInput {
 43266  	s.VpcSecurityGroupIds = v
 43267  	return s
 43268  }
 43269  
 43270  type RestoreDBClusterFromSnapshotOutput struct {
 43271  	_ struct{} `type:"structure"`
 43272  
 43273  	// Contains the details of an Amazon Aurora DB cluster.
 43274  	//
 43275  	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
 43276  	// and StartDBCluster actions.
 43277  	DBCluster *DBCluster `type:"structure"`
 43278  }
 43279  
 43280  // String returns the string representation.
 43281  //
 43282  // API parameter values that are decorated as "sensitive" in the API will not
 43283  // be included in the string output. The member name will be present, but the
 43284  // value will be replaced with "sensitive".
 43285  func (s RestoreDBClusterFromSnapshotOutput) String() string {
 43286  	return awsutil.Prettify(s)
 43287  }
 43288  
 43289  // GoString returns the string representation.
 43290  //
 43291  // API parameter values that are decorated as "sensitive" in the API will not
 43292  // be included in the string output. The member name will be present, but the
 43293  // value will be replaced with "sensitive".
 43294  func (s RestoreDBClusterFromSnapshotOutput) GoString() string {
 43295  	return s.String()
 43296  }
 43297  
 43298  // SetDBCluster sets the DBCluster field's value.
 43299  func (s *RestoreDBClusterFromSnapshotOutput) SetDBCluster(v *DBCluster) *RestoreDBClusterFromSnapshotOutput {
 43300  	s.DBCluster = v
 43301  	return s
 43302  }
 43303  
 43304  type RestoreDBClusterToPointInTimeInput struct {
 43305  	_ struct{} `type:"structure"`
 43306  
 43307  	// The target backtrack window, in seconds. To disable backtracking, set this
 43308  	// value to 0.
 43309  	//
 43310  	// Currently, Backtrack is only supported for Aurora MySQL DB clusters.
 43311  	//
 43312  	// Default: 0
 43313  	//
 43314  	// Constraints:
 43315  	//
 43316  	//    * If specified, this value must be set to a number from 0 to 259,200 (72
 43317  	//    hours).
 43318  	BacktrackWindow *int64 `type:"long"`
 43319  
 43320  	// A value that indicates whether to copy all tags from the restored DB cluster
 43321  	// to snapshots of the restored DB cluster. The default is not to copy them.
 43322  	CopyTagsToSnapshot *bool `type:"boolean"`
 43323  
 43324  	// The name of the new DB cluster to be created.
 43325  	//
 43326  	// Constraints:
 43327  	//
 43328  	//    * Must contain from 1 to 63 letters, numbers, or hyphens
 43329  	//
 43330  	//    * First character must be a letter
 43331  	//
 43332  	//    * Can't end with a hyphen or contain two consecutive hyphens
 43333  	//
 43334  	// DBClusterIdentifier is a required field
 43335  	DBClusterIdentifier *string `type:"string" required:"true"`
 43336  
 43337  	// The name of the DB cluster parameter group to associate with this DB cluster.
 43338  	// If this argument is omitted, the default DB cluster parameter group for the
 43339  	// specified engine is used.
 43340  	//
 43341  	// Constraints:
 43342  	//
 43343  	//    * If supplied, must match the name of an existing DB cluster parameter
 43344  	//    group.
 43345  	//
 43346  	//    * Must be 1 to 255 letters, numbers, or hyphens.
 43347  	//
 43348  	//    * First character must be a letter.
 43349  	//
 43350  	//    * Can't end with a hyphen or contain two consecutive hyphens.
 43351  	DBClusterParameterGroupName *string `type:"string"`
 43352  
 43353  	// The DB subnet group name to use for the new DB cluster.
 43354  	//
 43355  	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
 43356  	//
 43357  	// Example: mySubnetgroup
 43358  	DBSubnetGroupName *string `type:"string"`
 43359  
 43360  	// A value that indicates whether the DB cluster has deletion protection enabled.
 43361  	// The database can't be deleted when deletion protection is enabled. By default,
 43362  	// deletion protection is disabled.
 43363  	DeletionProtection *bool `type:"boolean"`
 43364  
 43365  	// Specify the Active Directory directory ID to restore the DB cluster in. The
 43366  	// domain must be created prior to this operation.
 43367  	//
 43368  	// For Amazon Aurora DB clusters, Amazon RDS can use Kerberos Authentication
 43369  	// to authenticate users that connect to the DB cluster. For more information,
 43370  	// see Kerberos Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/kerberos-authentication.html)
 43371  	// in the Amazon Aurora User Guide.
 43372  	Domain *string `type:"string"`
 43373  
 43374  	// Specify the name of the IAM role to be used when making API calls to the
 43375  	// Directory Service.
 43376  	DomainIAMRoleName *string `type:"string"`
 43377  
 43378  	// The list of logs that the restored DB cluster is to export to CloudWatch
 43379  	// Logs. The values in the list depend on the DB engine being used. For more
 43380  	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
 43381  	// in the Amazon Aurora User Guide.
 43382  	EnableCloudwatchLogsExports []*string `type:"list"`
 43383  
 43384  	// A value that indicates whether to enable mapping of Amazon Web Services Identity
 43385  	// and Access Management (IAM) accounts to database accounts. By default, mapping
 43386  	// is disabled.
 43387  	//
 43388  	// For more information, see IAM Database Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html)
 43389  	// in the Amazon Aurora User Guide.
 43390  	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
 43391  
 43392  	// The engine mode of the new cluster. Specify provisioned or serverless, depending
 43393  	// on the type of the cluster you are creating. You can create an Aurora Serverless
 43394  	// clone from a provisioned cluster, or a provisioned clone from an Aurora Serverless
 43395  	// cluster. To create a clone that is an Aurora Serverless cluster, the original
 43396  	// cluster must be an Aurora Serverless cluster or an encrypted provisioned
 43397  	// cluster.
 43398  	EngineMode *string `type:"string"`
 43399  
 43400  	// The Amazon Web Services KMS key identifier to use when restoring an encrypted
 43401  	// DB cluster from an encrypted DB cluster.
 43402  	//
 43403  	// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
 43404  	// ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).
 43405  	// To use a CMK in a different Amazon Web Services account, specify the key
 43406  	// ARN or alias ARN.
 43407  	//
 43408  	// You can restore to a new DB cluster and encrypt the new DB cluster with a
 43409  	// Amazon Web Services KMS CMK that is different than the Amazon Web Services
 43410  	// KMS key used to encrypt the source DB cluster. The new DB cluster is encrypted
 43411  	// with the Amazon Web Services KMS CMK identified by the KmsKeyId parameter.
 43412  	//
 43413  	// If you don't specify a value for the KmsKeyId parameter, then the following
 43414  	// occurs:
 43415  	//
 43416  	//    * If the DB cluster is encrypted, then the restored DB cluster is encrypted
 43417  	//    using the Amazon Web Services KMS CMK that was used to encrypt the source
 43418  	//    DB cluster.
 43419  	//
 43420  	//    * If the DB cluster isn't encrypted, then the restored DB cluster isn't
 43421  	//    encrypted.
 43422  	//
 43423  	// If DBClusterIdentifier refers to a DB cluster that isn't encrypted, then
 43424  	// the restore request is rejected.
 43425  	KmsKeyId *string `type:"string"`
 43426  
 43427  	// The name of the option group for the new DB cluster.
 43428  	OptionGroupName *string `type:"string"`
 43429  
 43430  	// The port number on which the new DB cluster accepts connections.
 43431  	//
 43432  	// Constraints: A value from 1150-65535.
 43433  	//
 43434  	// Default: The default port for the engine.
 43435  	Port *int64 `type:"integer"`
 43436  
 43437  	// The date and time to restore the DB cluster to.
 43438  	//
 43439  	// Valid Values: Value must be a time in Universal Coordinated Time (UTC) format
 43440  	//
 43441  	// Constraints:
 43442  	//
 43443  	//    * Must be before the latest restorable time for the DB instance
 43444  	//
 43445  	//    * Must be specified if UseLatestRestorableTime parameter isn't provided
 43446  	//
 43447  	//    * Can't be specified if the UseLatestRestorableTime parameter is enabled
 43448  	//
 43449  	//    * Can't be specified if the RestoreType parameter is copy-on-write
 43450  	//
 43451  	// Example: 2015-03-07T23:45:00Z
 43452  	RestoreToTime *time.Time `type:"timestamp"`
 43453  
 43454  	// The type of restore to be performed. You can specify one of the following
 43455  	// values:
 43456  	//
 43457  	//    * full-copy - The new DB cluster is restored as a full copy of the source
 43458  	//    DB cluster.
 43459  	//
 43460  	//    * copy-on-write - The new DB cluster is restored as a clone of the source
 43461  	//    DB cluster.
 43462  	//
 43463  	// Constraints: You can't specify copy-on-write if the engine version of the
 43464  	// source DB cluster is earlier than 1.11.
 43465  	//
 43466  	// If you don't specify a RestoreType value, then the new DB cluster is restored
 43467  	// as a full copy of the source DB cluster.
 43468  	RestoreType *string `type:"string"`
 43469  
 43470  	// For DB clusters in serverless DB engine mode, the scaling properties of the
 43471  	// DB cluster.
 43472  	ScalingConfiguration *ScalingConfiguration `type:"structure"`
 43473  
 43474  	// The identifier of the source DB cluster from which to restore.
 43475  	//
 43476  	// Constraints:
 43477  	//
 43478  	//    * Must match the identifier of an existing DBCluster.
 43479  	//
 43480  	// SourceDBClusterIdentifier is a required field
 43481  	SourceDBClusterIdentifier *string `type:"string" required:"true"`
 43482  
 43483  	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
 43484  	// in the Amazon RDS User Guide.
 43485  	Tags []*Tag `locationNameList:"Tag" type:"list"`
 43486  
 43487  	// A value that indicates whether to restore the DB cluster to the latest restorable
 43488  	// backup time. By default, the DB cluster isn't restored to the latest restorable
 43489  	// backup time.
 43490  	//
 43491  	// Constraints: Can't be specified if RestoreToTime parameter is provided.
 43492  	UseLatestRestorableTime *bool `type:"boolean"`
 43493  
 43494  	// A list of VPC security groups that the new DB cluster belongs to.
 43495  	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
 43496  }
 43497  
 43498  // String returns the string representation.
 43499  //
 43500  // API parameter values that are decorated as "sensitive" in the API will not
 43501  // be included in the string output. The member name will be present, but the
 43502  // value will be replaced with "sensitive".
 43503  func (s RestoreDBClusterToPointInTimeInput) String() string {
 43504  	return awsutil.Prettify(s)
 43505  }
 43506  
 43507  // GoString returns the string representation.
 43508  //
 43509  // API parameter values that are decorated as "sensitive" in the API will not
 43510  // be included in the string output. The member name will be present, but the
 43511  // value will be replaced with "sensitive".
 43512  func (s RestoreDBClusterToPointInTimeInput) GoString() string {
 43513  	return s.String()
 43514  }
 43515  
 43516  // Validate inspects the fields of the type to determine if they are valid.
 43517  func (s *RestoreDBClusterToPointInTimeInput) Validate() error {
 43518  	invalidParams := request.ErrInvalidParams{Context: "RestoreDBClusterToPointInTimeInput"}
 43519  	if s.DBClusterIdentifier == nil {
 43520  		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
 43521  	}
 43522  	if s.SourceDBClusterIdentifier == nil {
 43523  		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterIdentifier"))
 43524  	}
 43525  
 43526  	if invalidParams.Len() > 0 {
 43527  		return invalidParams
 43528  	}
 43529  	return nil
 43530  }
 43531  
 43532  // SetBacktrackWindow sets the BacktrackWindow field's value.
 43533  func (s *RestoreDBClusterToPointInTimeInput) SetBacktrackWindow(v int64) *RestoreDBClusterToPointInTimeInput {
 43534  	s.BacktrackWindow = &v
 43535  	return s
 43536  }
 43537  
 43538  // SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
 43539  func (s *RestoreDBClusterToPointInTimeInput) SetCopyTagsToSnapshot(v bool) *RestoreDBClusterToPointInTimeInput {
 43540  	s.CopyTagsToSnapshot = &v
 43541  	return s
 43542  }
 43543  
 43544  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 43545  func (s *RestoreDBClusterToPointInTimeInput) SetDBClusterIdentifier(v string) *RestoreDBClusterToPointInTimeInput {
 43546  	s.DBClusterIdentifier = &v
 43547  	return s
 43548  }
 43549  
 43550  // SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
 43551  func (s *RestoreDBClusterToPointInTimeInput) SetDBClusterParameterGroupName(v string) *RestoreDBClusterToPointInTimeInput {
 43552  	s.DBClusterParameterGroupName = &v
 43553  	return s
 43554  }
 43555  
 43556  // SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
 43557  func (s *RestoreDBClusterToPointInTimeInput) SetDBSubnetGroupName(v string) *RestoreDBClusterToPointInTimeInput {
 43558  	s.DBSubnetGroupName = &v
 43559  	return s
 43560  }
 43561  
 43562  // SetDeletionProtection sets the DeletionProtection field's value.
 43563  func (s *RestoreDBClusterToPointInTimeInput) SetDeletionProtection(v bool) *RestoreDBClusterToPointInTimeInput {
 43564  	s.DeletionProtection = &v
 43565  	return s
 43566  }
 43567  
 43568  // SetDomain sets the Domain field's value.
 43569  func (s *RestoreDBClusterToPointInTimeInput) SetDomain(v string) *RestoreDBClusterToPointInTimeInput {
 43570  	s.Domain = &v
 43571  	return s
 43572  }
 43573  
 43574  // SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
 43575  func (s *RestoreDBClusterToPointInTimeInput) SetDomainIAMRoleName(v string) *RestoreDBClusterToPointInTimeInput {
 43576  	s.DomainIAMRoleName = &v
 43577  	return s
 43578  }
 43579  
 43580  // SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
 43581  func (s *RestoreDBClusterToPointInTimeInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBClusterToPointInTimeInput {
 43582  	s.EnableCloudwatchLogsExports = v
 43583  	return s
 43584  }
 43585  
 43586  // SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
 43587  func (s *RestoreDBClusterToPointInTimeInput) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBClusterToPointInTimeInput {
 43588  	s.EnableIAMDatabaseAuthentication = &v
 43589  	return s
 43590  }
 43591  
 43592  // SetEngineMode sets the EngineMode field's value.
 43593  func (s *RestoreDBClusterToPointInTimeInput) SetEngineMode(v string) *RestoreDBClusterToPointInTimeInput {
 43594  	s.EngineMode = &v
 43595  	return s
 43596  }
 43597  
 43598  // SetKmsKeyId sets the KmsKeyId field's value.
 43599  func (s *RestoreDBClusterToPointInTimeInput) SetKmsKeyId(v string) *RestoreDBClusterToPointInTimeInput {
 43600  	s.KmsKeyId = &v
 43601  	return s
 43602  }
 43603  
 43604  // SetOptionGroupName sets the OptionGroupName field's value.
 43605  func (s *RestoreDBClusterToPointInTimeInput) SetOptionGroupName(v string) *RestoreDBClusterToPointInTimeInput {
 43606  	s.OptionGroupName = &v
 43607  	return s
 43608  }
 43609  
 43610  // SetPort sets the Port field's value.
 43611  func (s *RestoreDBClusterToPointInTimeInput) SetPort(v int64) *RestoreDBClusterToPointInTimeInput {
 43612  	s.Port = &v
 43613  	return s
 43614  }
 43615  
 43616  // SetRestoreToTime sets the RestoreToTime field's value.
 43617  func (s *RestoreDBClusterToPointInTimeInput) SetRestoreToTime(v time.Time) *RestoreDBClusterToPointInTimeInput {
 43618  	s.RestoreToTime = &v
 43619  	return s
 43620  }
 43621  
 43622  // SetRestoreType sets the RestoreType field's value.
 43623  func (s *RestoreDBClusterToPointInTimeInput) SetRestoreType(v string) *RestoreDBClusterToPointInTimeInput {
 43624  	s.RestoreType = &v
 43625  	return s
 43626  }
 43627  
 43628  // SetScalingConfiguration sets the ScalingConfiguration field's value.
 43629  func (s *RestoreDBClusterToPointInTimeInput) SetScalingConfiguration(v *ScalingConfiguration) *RestoreDBClusterToPointInTimeInput {
 43630  	s.ScalingConfiguration = v
 43631  	return s
 43632  }
 43633  
 43634  // SetSourceDBClusterIdentifier sets the SourceDBClusterIdentifier field's value.
 43635  func (s *RestoreDBClusterToPointInTimeInput) SetSourceDBClusterIdentifier(v string) *RestoreDBClusterToPointInTimeInput {
 43636  	s.SourceDBClusterIdentifier = &v
 43637  	return s
 43638  }
 43639  
 43640  // SetTags sets the Tags field's value.
 43641  func (s *RestoreDBClusterToPointInTimeInput) SetTags(v []*Tag) *RestoreDBClusterToPointInTimeInput {
 43642  	s.Tags = v
 43643  	return s
 43644  }
 43645  
 43646  // SetUseLatestRestorableTime sets the UseLatestRestorableTime field's value.
 43647  func (s *RestoreDBClusterToPointInTimeInput) SetUseLatestRestorableTime(v bool) *RestoreDBClusterToPointInTimeInput {
 43648  	s.UseLatestRestorableTime = &v
 43649  	return s
 43650  }
 43651  
 43652  // SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
 43653  func (s *RestoreDBClusterToPointInTimeInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBClusterToPointInTimeInput {
 43654  	s.VpcSecurityGroupIds = v
 43655  	return s
 43656  }
 43657  
 43658  type RestoreDBClusterToPointInTimeOutput struct {
 43659  	_ struct{} `type:"structure"`
 43660  
 43661  	// Contains the details of an Amazon Aurora DB cluster.
 43662  	//
 43663  	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
 43664  	// and StartDBCluster actions.
 43665  	DBCluster *DBCluster `type:"structure"`
 43666  }
 43667  
 43668  // String returns the string representation.
 43669  //
 43670  // API parameter values that are decorated as "sensitive" in the API will not
 43671  // be included in the string output. The member name will be present, but the
 43672  // value will be replaced with "sensitive".
 43673  func (s RestoreDBClusterToPointInTimeOutput) String() string {
 43674  	return awsutil.Prettify(s)
 43675  }
 43676  
 43677  // GoString returns the string representation.
 43678  //
 43679  // API parameter values that are decorated as "sensitive" in the API will not
 43680  // be included in the string output. The member name will be present, but the
 43681  // value will be replaced with "sensitive".
 43682  func (s RestoreDBClusterToPointInTimeOutput) GoString() string {
 43683  	return s.String()
 43684  }
 43685  
 43686  // SetDBCluster sets the DBCluster field's value.
 43687  func (s *RestoreDBClusterToPointInTimeOutput) SetDBCluster(v *DBCluster) *RestoreDBClusterToPointInTimeOutput {
 43688  	s.DBCluster = v
 43689  	return s
 43690  }
 43691  
 43692  type RestoreDBInstanceFromDBSnapshotInput struct {
 43693  	_ struct{} `type:"structure"`
 43694  
 43695  	// A value that indicates whether minor version upgrades are applied automatically
 43696  	// to the DB instance during the maintenance window.
 43697  	AutoMinorVersionUpgrade *bool `type:"boolean"`
 43698  
 43699  	// The Availability Zone (AZ) where the DB instance will be created.
 43700  	//
 43701  	// Default: A random, system-chosen Availability Zone.
 43702  	//
 43703  	// Constraint: You can't specify the AvailabilityZone parameter if the DB instance
 43704  	// is a Multi-AZ deployment.
 43705  	//
 43706  	// Example: us-east-1a
 43707  	AvailabilityZone *string `type:"string"`
 43708  
 43709  	// A value that indicates whether to copy all tags from the restored DB instance
 43710  	// to snapshots of the DB instance. By default, tags are not copied.
 43711  	CopyTagsToSnapshot *bool `type:"boolean"`
 43712  
 43713  	// The compute and memory capacity of the Amazon RDS DB instance, for example,
 43714  	// db.m4.large. Not all DB instance classes are available in all Amazon Web
 43715  	// Services Regions, or for all database engines. For the full list of DB instance
 43716  	// classes, and availability for your engine, see DB Instance Class (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
 43717  	// in the Amazon RDS User Guide.
 43718  	//
 43719  	// Default: The same DBInstanceClass as the original DB instance.
 43720  	DBInstanceClass *string `type:"string"`
 43721  
 43722  	// Name of the DB instance to create from the DB snapshot. This parameter isn't
 43723  	// case-sensitive.
 43724  	//
 43725  	// Constraints:
 43726  	//
 43727  	//    * Must contain from 1 to 63 numbers, letters, or hyphens
 43728  	//
 43729  	//    * First character must be a letter
 43730  	//
 43731  	//    * Can't end with a hyphen or contain two consecutive hyphens
 43732  	//
 43733  	// Example: my-snapshot-id
 43734  	//
 43735  	// DBInstanceIdentifier is a required field
 43736  	DBInstanceIdentifier *string `type:"string" required:"true"`
 43737  
 43738  	// The database name for the restored DB instance.
 43739  	//
 43740  	// This parameter doesn't apply to the MySQL, PostgreSQL, or MariaDB engines.
 43741  	DBName *string `type:"string"`
 43742  
 43743  	// The name of the DB parameter group to associate with this DB instance.
 43744  	//
 43745  	// If you do not specify a value for DBParameterGroupName, then the default
 43746  	// DBParameterGroup for the specified DB engine is used.
 43747  	//
 43748  	// Constraints:
 43749  	//
 43750  	//    * If supplied, must match the name of an existing DBParameterGroup.
 43751  	//
 43752  	//    * Must be 1 to 255 letters, numbers, or hyphens.
 43753  	//
 43754  	//    * First character must be a letter.
 43755  	//
 43756  	//    * Can't end with a hyphen or contain two consecutive hyphens.
 43757  	DBParameterGroupName *string `type:"string"`
 43758  
 43759  	// The identifier for the DB snapshot to restore from.
 43760  	//
 43761  	// Constraints:
 43762  	//
 43763  	//    * Must match the identifier of an existing DBSnapshot.
 43764  	//
 43765  	//    * If you are restoring from a shared manual DB snapshot, the DBSnapshotIdentifier
 43766  	//    must be the ARN of the shared DB snapshot.
 43767  	//
 43768  	// DBSnapshotIdentifier is a required field
 43769  	DBSnapshotIdentifier *string `type:"string" required:"true"`
 43770  
 43771  	// The DB subnet group name to use for the new instance.
 43772  	//
 43773  	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
 43774  	//
 43775  	// Example: mySubnetgroup
 43776  	DBSubnetGroupName *string `type:"string"`
 43777  
 43778  	// A value that indicates whether the DB instance has deletion protection enabled.
 43779  	// The database can't be deleted when deletion protection is enabled. By default,
 43780  	// deletion protection is disabled. For more information, see Deleting a DB
 43781  	// Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html).
 43782  	DeletionProtection *bool `type:"boolean"`
 43783  
 43784  	// Specify the Active Directory directory ID to restore the DB instance in.
 43785  	// The domain must be created prior to this operation. Currently, only MySQL,
 43786  	// Microsoft SQL Server, Oracle, and PostgreSQL DB instances can be created
 43787  	// in an Active Directory Domain.
 43788  	//
 43789  	// For more information, see Kerberos Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/kerberos-authentication.html)
 43790  	// in the Amazon RDS User Guide.
 43791  	Domain *string `type:"string"`
 43792  
 43793  	// Specify the name of the IAM role to be used when making API calls to the
 43794  	// Directory Service.
 43795  	DomainIAMRoleName *string `type:"string"`
 43796  
 43797  	// The list of logs that the restored DB instance is to export to CloudWatch
 43798  	// Logs. The values in the list depend on the DB engine being used. For more
 43799  	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
 43800  	// in the Amazon RDS User Guide.
 43801  	EnableCloudwatchLogsExports []*string `type:"list"`
 43802  
 43803  	// A value that indicates whether to enable a customer-owned IP address (CoIP)
 43804  	// for an RDS on Outposts DB instance.
 43805  	//
 43806  	// A CoIP provides local or external connectivity to resources in your Outpost
 43807  	// subnets through your on-premises network. For some use cases, a CoIP can
 43808  	// provide lower latency for connections to the DB instance from outside of
 43809  	// its virtual private cloud (VPC) on your local network.
 43810  	//
 43811  	// For more information about RDS on Outposts, see Working with Amazon RDS on
 43812  	// Amazon Web Services Outposts (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html)
 43813  	// in the Amazon RDS User Guide.
 43814  	//
 43815  	// For more information about CoIPs, see Customer-owned IP addresses (https://docs.aws.amazon.com/outposts/latest/userguide/outposts-networking-components.html#ip-addressing)
 43816  	// in the Amazon Web Services Outposts User Guide.
 43817  	EnableCustomerOwnedIp *bool `type:"boolean"`
 43818  
 43819  	// A value that indicates whether to enable mapping of Amazon Web Services Identity
 43820  	// and Access Management (IAM) accounts to database accounts. By default, mapping
 43821  	// is disabled.
 43822  	//
 43823  	// For more information about IAM database authentication, see IAM Database
 43824  	// Authentication for MySQL and PostgreSQL (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)
 43825  	// in the Amazon RDS User Guide.
 43826  	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
 43827  
 43828  	// The database engine to use for the new instance.
 43829  	//
 43830  	// Default: The same as source
 43831  	//
 43832  	// Constraint: Must be compatible with the engine of the source. For example,
 43833  	// you can restore a MariaDB 10.1 DB instance from a MySQL 5.6 snapshot.
 43834  	//
 43835  	// Valid Values:
 43836  	//
 43837  	//    * mariadb
 43838  	//
 43839  	//    * mysql
 43840  	//
 43841  	//    * oracle-ee
 43842  	//
 43843  	//    * oracle-ee-cdb
 43844  	//
 43845  	//    * oracle-se2
 43846  	//
 43847  	//    * oracle-se2-cdb
 43848  	//
 43849  	//    * postgres
 43850  	//
 43851  	//    * sqlserver-ee
 43852  	//
 43853  	//    * sqlserver-se
 43854  	//
 43855  	//    * sqlserver-ex
 43856  	//
 43857  	//    * sqlserver-web
 43858  	Engine *string `type:"string"`
 43859  
 43860  	// Specifies the amount of provisioned IOPS for the DB instance, expressed in
 43861  	// I/O operations per second. If this parameter isn't specified, the IOPS value
 43862  	// is taken from the backup. If this parameter is set to 0, the new instance
 43863  	// is converted to a non-PIOPS instance. The conversion takes additional time,
 43864  	// though your DB instance is available for connections before the conversion
 43865  	// starts.
 43866  	//
 43867  	// The provisioned IOPS value must follow the requirements for your database
 43868  	// engine. For more information, see Amazon RDS Provisioned IOPS Storage to
 43869  	// Improve Performance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS)
 43870  	// in the Amazon RDS User Guide.
 43871  	//
 43872  	// Constraints: Must be an integer greater than 1000.
 43873  	Iops *int64 `type:"integer"`
 43874  
 43875  	// License model information for the restored DB instance.
 43876  	//
 43877  	// Default: Same as source.
 43878  	//
 43879  	// Valid values: license-included | bring-your-own-license | general-public-license
 43880  	LicenseModel *string `type:"string"`
 43881  
 43882  	// A value that indicates whether the DB instance is a Multi-AZ deployment.
 43883  	//
 43884  	// Constraint: You can't specify the AvailabilityZone parameter if the DB instance
 43885  	// is a Multi-AZ deployment.
 43886  	MultiAZ *bool `type:"boolean"`
 43887  
 43888  	// The name of the option group to be used for the restored DB instance.
 43889  	//
 43890  	// Permanent options, such as the TDE option for Oracle Advanced Security TDE,
 43891  	// can't be removed from an option group, and that option group can't be removed
 43892  	// from a DB instance once it is associated with a DB instance
 43893  	OptionGroupName *string `type:"string"`
 43894  
 43895  	// The port number on which the database accepts connections.
 43896  	//
 43897  	// Default: The same port as the original DB instance
 43898  	//
 43899  	// Constraints: Value must be 1150-65535
 43900  	Port *int64 `type:"integer"`
 43901  
 43902  	// The number of CPU cores and the number of threads per core for the DB instance
 43903  	// class of the DB instance.
 43904  	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
 43905  
 43906  	// A value that indicates whether the DB instance is publicly accessible.
 43907  	//
 43908  	// When the DB instance is publicly accessible, its DNS endpoint resolves to
 43909  	// the private IP address from within the DB instance's VPC, and to the public
 43910  	// IP address from outside of the DB instance's VPC. Access to the DB instance
 43911  	// is ultimately controlled by the security group it uses, and that public access
 43912  	// is not permitted if the security group assigned to the DB instance doesn't
 43913  	// permit it.
 43914  	//
 43915  	// When the DB instance isn't publicly accessible, it is an internal DB instance
 43916  	// with a DNS name that resolves to a private IP address.
 43917  	//
 43918  	// For more information, see CreateDBInstance.
 43919  	PubliclyAccessible *bool `type:"boolean"`
 43920  
 43921  	// Specifies the storage type to be associated with the DB instance.
 43922  	//
 43923  	// Valid values: standard | gp2 | io1
 43924  	//
 43925  	// If you specify io1, you must also include a value for the Iops parameter.
 43926  	//
 43927  	// Default: io1 if the Iops parameter is specified, otherwise gp2
 43928  	StorageType *string `type:"string"`
 43929  
 43930  	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
 43931  	// in the Amazon RDS User Guide.
 43932  	Tags []*Tag `locationNameList:"Tag" type:"list"`
 43933  
 43934  	// The ARN from the key store with which to associate the instance for TDE encryption.
 43935  	TdeCredentialArn *string `type:"string"`
 43936  
 43937  	// The password for the given ARN from the key store in order to access the
 43938  	// device.
 43939  	TdeCredentialPassword *string `type:"string"`
 43940  
 43941  	// A value that indicates whether the DB instance class of the DB instance uses
 43942  	// its default processor features.
 43943  	UseDefaultProcessorFeatures *bool `type:"boolean"`
 43944  
 43945  	// A list of EC2 VPC security groups to associate with this DB instance.
 43946  	//
 43947  	// Default: The default EC2 VPC security group for the DB subnet group's VPC.
 43948  	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
 43949  }
 43950  
 43951  // String returns the string representation.
 43952  //
 43953  // API parameter values that are decorated as "sensitive" in the API will not
 43954  // be included in the string output. The member name will be present, but the
 43955  // value will be replaced with "sensitive".
 43956  func (s RestoreDBInstanceFromDBSnapshotInput) String() string {
 43957  	return awsutil.Prettify(s)
 43958  }
 43959  
 43960  // GoString returns the string representation.
 43961  //
 43962  // API parameter values that are decorated as "sensitive" in the API will not
 43963  // be included in the string output. The member name will be present, but the
 43964  // value will be replaced with "sensitive".
 43965  func (s RestoreDBInstanceFromDBSnapshotInput) GoString() string {
 43966  	return s.String()
 43967  }
 43968  
 43969  // Validate inspects the fields of the type to determine if they are valid.
 43970  func (s *RestoreDBInstanceFromDBSnapshotInput) Validate() error {
 43971  	invalidParams := request.ErrInvalidParams{Context: "RestoreDBInstanceFromDBSnapshotInput"}
 43972  	if s.DBInstanceIdentifier == nil {
 43973  		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
 43974  	}
 43975  	if s.DBSnapshotIdentifier == nil {
 43976  		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
 43977  	}
 43978  
 43979  	if invalidParams.Len() > 0 {
 43980  		return invalidParams
 43981  	}
 43982  	return nil
 43983  }
 43984  
 43985  // SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
 43986  func (s *RestoreDBInstanceFromDBSnapshotInput) SetAutoMinorVersionUpgrade(v bool) *RestoreDBInstanceFromDBSnapshotInput {
 43987  	s.AutoMinorVersionUpgrade = &v
 43988  	return s
 43989  }
 43990  
 43991  // SetAvailabilityZone sets the AvailabilityZone field's value.
 43992  func (s *RestoreDBInstanceFromDBSnapshotInput) SetAvailabilityZone(v string) *RestoreDBInstanceFromDBSnapshotInput {
 43993  	s.AvailabilityZone = &v
 43994  	return s
 43995  }
 43996  
 43997  // SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
 43998  func (s *RestoreDBInstanceFromDBSnapshotInput) SetCopyTagsToSnapshot(v bool) *RestoreDBInstanceFromDBSnapshotInput {
 43999  	s.CopyTagsToSnapshot = &v
 44000  	return s
 44001  }
 44002  
 44003  // SetDBInstanceClass sets the DBInstanceClass field's value.
 44004  func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBInstanceClass(v string) *RestoreDBInstanceFromDBSnapshotInput {
 44005  	s.DBInstanceClass = &v
 44006  	return s
 44007  }
 44008  
 44009  // SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
 44010  func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBInstanceIdentifier(v string) *RestoreDBInstanceFromDBSnapshotInput {
 44011  	s.DBInstanceIdentifier = &v
 44012  	return s
 44013  }
 44014  
 44015  // SetDBName sets the DBName field's value.
 44016  func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBName(v string) *RestoreDBInstanceFromDBSnapshotInput {
 44017  	s.DBName = &v
 44018  	return s
 44019  }
 44020  
 44021  // SetDBParameterGroupName sets the DBParameterGroupName field's value.
 44022  func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBParameterGroupName(v string) *RestoreDBInstanceFromDBSnapshotInput {
 44023  	s.DBParameterGroupName = &v
 44024  	return s
 44025  }
 44026  
 44027  // SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
 44028  func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBSnapshotIdentifier(v string) *RestoreDBInstanceFromDBSnapshotInput {
 44029  	s.DBSnapshotIdentifier = &v
 44030  	return s
 44031  }
 44032  
 44033  // SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
 44034  func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBSubnetGroupName(v string) *RestoreDBInstanceFromDBSnapshotInput {
 44035  	s.DBSubnetGroupName = &v
 44036  	return s
 44037  }
 44038  
 44039  // SetDeletionProtection sets the DeletionProtection field's value.
 44040  func (s *RestoreDBInstanceFromDBSnapshotInput) SetDeletionProtection(v bool) *RestoreDBInstanceFromDBSnapshotInput {
 44041  	s.DeletionProtection = &v
 44042  	return s
 44043  }
 44044  
 44045  // SetDomain sets the Domain field's value.
 44046  func (s *RestoreDBInstanceFromDBSnapshotInput) SetDomain(v string) *RestoreDBInstanceFromDBSnapshotInput {
 44047  	s.Domain = &v
 44048  	return s
 44049  }
 44050  
 44051  // SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
 44052  func (s *RestoreDBInstanceFromDBSnapshotInput) SetDomainIAMRoleName(v string) *RestoreDBInstanceFromDBSnapshotInput {
 44053  	s.DomainIAMRoleName = &v
 44054  	return s
 44055  }
 44056  
 44057  // SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
 44058  func (s *RestoreDBInstanceFromDBSnapshotInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBInstanceFromDBSnapshotInput {
 44059  	s.EnableCloudwatchLogsExports = v
 44060  	return s
 44061  }
 44062  
 44063  // SetEnableCustomerOwnedIp sets the EnableCustomerOwnedIp field's value.
 44064  func (s *RestoreDBInstanceFromDBSnapshotInput) SetEnableCustomerOwnedIp(v bool) *RestoreDBInstanceFromDBSnapshotInput {
 44065  	s.EnableCustomerOwnedIp = &v
 44066  	return s
 44067  }
 44068  
 44069  // SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
 44070  func (s *RestoreDBInstanceFromDBSnapshotInput) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBInstanceFromDBSnapshotInput {
 44071  	s.EnableIAMDatabaseAuthentication = &v
 44072  	return s
 44073  }
 44074  
 44075  // SetEngine sets the Engine field's value.
 44076  func (s *RestoreDBInstanceFromDBSnapshotInput) SetEngine(v string) *RestoreDBInstanceFromDBSnapshotInput {
 44077  	s.Engine = &v
 44078  	return s
 44079  }
 44080  
 44081  // SetIops sets the Iops field's value.
 44082  func (s *RestoreDBInstanceFromDBSnapshotInput) SetIops(v int64) *RestoreDBInstanceFromDBSnapshotInput {
 44083  	s.Iops = &v
 44084  	return s
 44085  }
 44086  
 44087  // SetLicenseModel sets the LicenseModel field's value.
 44088  func (s *RestoreDBInstanceFromDBSnapshotInput) SetLicenseModel(v string) *RestoreDBInstanceFromDBSnapshotInput {
 44089  	s.LicenseModel = &v
 44090  	return s
 44091  }
 44092  
 44093  // SetMultiAZ sets the MultiAZ field's value.
 44094  func (s *RestoreDBInstanceFromDBSnapshotInput) SetMultiAZ(v bool) *RestoreDBInstanceFromDBSnapshotInput {
 44095  	s.MultiAZ = &v
 44096  	return s
 44097  }
 44098  
 44099  // SetOptionGroupName sets the OptionGroupName field's value.
 44100  func (s *RestoreDBInstanceFromDBSnapshotInput) SetOptionGroupName(v string) *RestoreDBInstanceFromDBSnapshotInput {
 44101  	s.OptionGroupName = &v
 44102  	return s
 44103  }
 44104  
 44105  // SetPort sets the Port field's value.
 44106  func (s *RestoreDBInstanceFromDBSnapshotInput) SetPort(v int64) *RestoreDBInstanceFromDBSnapshotInput {
 44107  	s.Port = &v
 44108  	return s
 44109  }
 44110  
 44111  // SetProcessorFeatures sets the ProcessorFeatures field's value.
 44112  func (s *RestoreDBInstanceFromDBSnapshotInput) SetProcessorFeatures(v []*ProcessorFeature) *RestoreDBInstanceFromDBSnapshotInput {
 44113  	s.ProcessorFeatures = v
 44114  	return s
 44115  }
 44116  
 44117  // SetPubliclyAccessible sets the PubliclyAccessible field's value.
 44118  func (s *RestoreDBInstanceFromDBSnapshotInput) SetPubliclyAccessible(v bool) *RestoreDBInstanceFromDBSnapshotInput {
 44119  	s.PubliclyAccessible = &v
 44120  	return s
 44121  }
 44122  
 44123  // SetStorageType sets the StorageType field's value.
 44124  func (s *RestoreDBInstanceFromDBSnapshotInput) SetStorageType(v string) *RestoreDBInstanceFromDBSnapshotInput {
 44125  	s.StorageType = &v
 44126  	return s
 44127  }
 44128  
 44129  // SetTags sets the Tags field's value.
 44130  func (s *RestoreDBInstanceFromDBSnapshotInput) SetTags(v []*Tag) *RestoreDBInstanceFromDBSnapshotInput {
 44131  	s.Tags = v
 44132  	return s
 44133  }
 44134  
 44135  // SetTdeCredentialArn sets the TdeCredentialArn field's value.
 44136  func (s *RestoreDBInstanceFromDBSnapshotInput) SetTdeCredentialArn(v string) *RestoreDBInstanceFromDBSnapshotInput {
 44137  	s.TdeCredentialArn = &v
 44138  	return s
 44139  }
 44140  
 44141  // SetTdeCredentialPassword sets the TdeCredentialPassword field's value.
 44142  func (s *RestoreDBInstanceFromDBSnapshotInput) SetTdeCredentialPassword(v string) *RestoreDBInstanceFromDBSnapshotInput {
 44143  	s.TdeCredentialPassword = &v
 44144  	return s
 44145  }
 44146  
 44147  // SetUseDefaultProcessorFeatures sets the UseDefaultProcessorFeatures field's value.
 44148  func (s *RestoreDBInstanceFromDBSnapshotInput) SetUseDefaultProcessorFeatures(v bool) *RestoreDBInstanceFromDBSnapshotInput {
 44149  	s.UseDefaultProcessorFeatures = &v
 44150  	return s
 44151  }
 44152  
 44153  // SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
 44154  func (s *RestoreDBInstanceFromDBSnapshotInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBInstanceFromDBSnapshotInput {
 44155  	s.VpcSecurityGroupIds = v
 44156  	return s
 44157  }
 44158  
 44159  type RestoreDBInstanceFromDBSnapshotOutput struct {
 44160  	_ struct{} `type:"structure"`
 44161  
 44162  	// Contains the details of an Amazon RDS DB instance.
 44163  	//
 44164  	// This data type is used as a response element in the DescribeDBInstances action.
 44165  	DBInstance *DBInstance `type:"structure"`
 44166  }
 44167  
 44168  // String returns the string representation.
 44169  //
 44170  // API parameter values that are decorated as "sensitive" in the API will not
 44171  // be included in the string output. The member name will be present, but the
 44172  // value will be replaced with "sensitive".
 44173  func (s RestoreDBInstanceFromDBSnapshotOutput) String() string {
 44174  	return awsutil.Prettify(s)
 44175  }
 44176  
 44177  // GoString returns the string representation.
 44178  //
 44179  // API parameter values that are decorated as "sensitive" in the API will not
 44180  // be included in the string output. The member name will be present, but the
 44181  // value will be replaced with "sensitive".
 44182  func (s RestoreDBInstanceFromDBSnapshotOutput) GoString() string {
 44183  	return s.String()
 44184  }
 44185  
 44186  // SetDBInstance sets the DBInstance field's value.
 44187  func (s *RestoreDBInstanceFromDBSnapshotOutput) SetDBInstance(v *DBInstance) *RestoreDBInstanceFromDBSnapshotOutput {
 44188  	s.DBInstance = v
 44189  	return s
 44190  }
 44191  
 44192  type RestoreDBInstanceFromS3Input struct {
 44193  	_ struct{} `type:"structure"`
 44194  
 44195  	// The amount of storage (in gigabytes) to allocate initially for the DB instance.
 44196  	// Follow the allocation rules specified in CreateDBInstance.
 44197  	//
 44198  	// Be sure to allocate enough memory for your new DB instance so that the restore
 44199  	// operation can succeed. You can also allocate additional memory for future
 44200  	// growth.
 44201  	AllocatedStorage *int64 `type:"integer"`
 44202  
 44203  	// A value that indicates whether minor engine upgrades are applied automatically
 44204  	// to the DB instance during the maintenance window. By default, minor engine
 44205  	// upgrades are not applied automatically.
 44206  	AutoMinorVersionUpgrade *bool `type:"boolean"`
 44207  
 44208  	// The Availability Zone that the DB instance is created in. For information
 44209  	// about Amazon Web Services Regions and Availability Zones, see Regions and
 44210  	// Availability Zones (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html)
 44211  	// in the Amazon RDS User Guide.
 44212  	//
 44213  	// Default: A random, system-chosen Availability Zone in the endpoint's Amazon
 44214  	// Web Services Region.
 44215  	//
 44216  	// Example: us-east-1d
 44217  	//
 44218  	// Constraint: The AvailabilityZone parameter can't be specified if the DB instance
 44219  	// is a Multi-AZ deployment. The specified Availability Zone must be in the
 44220  	// same Amazon Web Services Region as the current endpoint.
 44221  	AvailabilityZone *string `type:"string"`
 44222  
 44223  	// The number of days for which automated backups are retained. Setting this
 44224  	// parameter to a positive number enables backups. For more information, see
 44225  	// CreateDBInstance.
 44226  	BackupRetentionPeriod *int64 `type:"integer"`
 44227  
 44228  	// A value that indicates whether to copy all tags from the DB instance to snapshots
 44229  	// of the DB instance. By default, tags are not copied.
 44230  	CopyTagsToSnapshot *bool `type:"boolean"`
 44231  
 44232  	// The compute and memory capacity of the DB instance, for example, db.m4.large.
 44233  	// Not all DB instance classes are available in all Amazon Web Services Regions,
 44234  	// or for all database engines. For the full list of DB instance classes, and
 44235  	// availability for your engine, see DB Instance Class (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
 44236  	// in the Amazon RDS User Guide.
 44237  	//
 44238  	// Importing from Amazon S3 isn't supported on the db.t2.micro DB instance class.
 44239  	//
 44240  	// DBInstanceClass is a required field
 44241  	DBInstanceClass *string `type:"string" required:"true"`
 44242  
 44243  	// The DB instance identifier. This parameter is stored as a lowercase string.
 44244  	//
 44245  	// Constraints:
 44246  	//
 44247  	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
 44248  	//
 44249  	//    * First character must be a letter.
 44250  	//
 44251  	//    * Can't end with a hyphen or contain two consecutive hyphens.
 44252  	//
 44253  	// Example: mydbinstance
 44254  	//
 44255  	// DBInstanceIdentifier is a required field
 44256  	DBInstanceIdentifier *string `type:"string" required:"true"`
 44257  
 44258  	// The name of the database to create when the DB instance is created. Follow
 44259  	// the naming rules specified in CreateDBInstance.
 44260  	DBName *string `type:"string"`
 44261  
 44262  	// The name of the DB parameter group to associate with this DB instance.
 44263  	//
 44264  	// If you do not specify a value for DBParameterGroupName, then the default
 44265  	// DBParameterGroup for the specified DB engine is used.
 44266  	DBParameterGroupName *string `type:"string"`
 44267  
 44268  	// A list of DB security groups to associate with this DB instance.
 44269  	//
 44270  	// Default: The default DB security group for the database engine.
 44271  	DBSecurityGroups []*string `locationNameList:"DBSecurityGroupName" type:"list"`
 44272  
 44273  	// A DB subnet group to associate with this DB instance.
 44274  	DBSubnetGroupName *string `type:"string"`
 44275  
 44276  	// A value that indicates whether the DB instance has deletion protection enabled.
 44277  	// The database can't be deleted when deletion protection is enabled. By default,
 44278  	// deletion protection is disabled. For more information, see Deleting a DB
 44279  	// Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html).
 44280  	DeletionProtection *bool `type:"boolean"`
 44281  
 44282  	// The list of logs that the restored DB instance is to export to CloudWatch
 44283  	// Logs. The values in the list depend on the DB engine being used. For more
 44284  	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
 44285  	// in the Amazon RDS User Guide.
 44286  	EnableCloudwatchLogsExports []*string `type:"list"`
 44287  
 44288  	// A value that indicates whether to enable mapping of Amazon Web Services Identity
 44289  	// and Access Management (IAM) accounts to database accounts. By default, mapping
 44290  	// is disabled.
 44291  	//
 44292  	// For more information about IAM database authentication, see IAM Database
 44293  	// Authentication for MySQL and PostgreSQL (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)
 44294  	// in the Amazon RDS User Guide.
 44295  	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
 44296  
 44297  	// A value that indicates whether to enable Performance Insights for the DB
 44298  	// instance.
 44299  	//
 44300  	// For more information, see Using Amazon Performance Insights (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html)
 44301  	// in the Amazon Relational Database Service User Guide.
 44302  	EnablePerformanceInsights *bool `type:"boolean"`
 44303  
 44304  	// The name of the database engine to be used for this instance.
 44305  	//
 44306  	// Valid Values: mysql
 44307  	//
 44308  	// Engine is a required field
 44309  	Engine *string `type:"string" required:"true"`
 44310  
 44311  	// The version number of the database engine to use. Choose the latest minor
 44312  	// version of your database engine. For information about engine versions, see
 44313  	// CreateDBInstance, or call DescribeDBEngineVersions.
 44314  	EngineVersion *string `type:"string"`
 44315  
 44316  	// The amount of Provisioned IOPS (input/output operations per second) to allocate
 44317  	// initially for the DB instance. For information about valid Iops values, see
 44318  	// Amazon RDS Provisioned IOPS Storage to Improve Performance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS)
 44319  	// in the Amazon RDS User Guide.
 44320  	Iops *int64 `type:"integer"`
 44321  
 44322  	// The Amazon Web Services KMS key identifier for an encrypted DB instance.
 44323  	//
 44324  	// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
 44325  	// ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).
 44326  	// To use a CMK in a different Amazon Web Services account, specify the key
 44327  	// ARN or alias ARN.
 44328  	//
 44329  	// If the StorageEncrypted parameter is enabled, and you do not specify a value
 44330  	// for the KmsKeyId parameter, then Amazon RDS will use your default CMK. There
 44331  	// is a default CMK for your Amazon Web Services account. Your Amazon Web Services
 44332  	// account has a different default CMK for each Amazon Web Services Region.
 44333  	KmsKeyId *string `type:"string"`
 44334  
 44335  	// The license model for this DB instance. Use general-public-license.
 44336  	LicenseModel *string `type:"string"`
 44337  
 44338  	// The password for the master user. The password can include any printable
 44339  	// ASCII character except "/", """, or "@".
 44340  	//
 44341  	// Constraints: Must contain from 8 to 41 characters.
 44342  	MasterUserPassword *string `type:"string"`
 44343  
 44344  	// The name for the master user.
 44345  	//
 44346  	// Constraints:
 44347  	//
 44348  	//    * Must be 1 to 16 letters or numbers.
 44349  	//
 44350  	//    * First character must be a letter.
 44351  	//
 44352  	//    * Can't be a reserved word for the chosen database engine.
 44353  	MasterUsername *string `type:"string"`
 44354  
 44355  	// The upper limit in gibibytes (GiB) to which Amazon RDS can automatically
 44356  	// scale the storage of the DB instance.
 44357  	//
 44358  	// For more information about this setting, including limitations that apply
 44359  	// to it, see Managing capacity automatically with Amazon RDS storage autoscaling
 44360  	// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.Autoscaling)
 44361  	// in the Amazon RDS User Guide.
 44362  	MaxAllocatedStorage *int64 `type:"integer"`
 44363  
 44364  	// The interval, in seconds, between points when Enhanced Monitoring metrics
 44365  	// are collected for the DB instance. To disable collecting Enhanced Monitoring
 44366  	// metrics, specify 0.
 44367  	//
 44368  	// If MonitoringRoleArn is specified, then you must also set MonitoringInterval
 44369  	// to a value other than 0.
 44370  	//
 44371  	// Valid Values: 0, 1, 5, 10, 15, 30, 60
 44372  	//
 44373  	// Default: 0
 44374  	MonitoringInterval *int64 `type:"integer"`
 44375  
 44376  	// The ARN for the IAM role that permits RDS to send enhanced monitoring metrics
 44377  	// to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.
 44378  	// For information on creating a monitoring role, see Setting Up and Enabling
 44379  	// Enhanced Monitoring (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling)
 44380  	// in the Amazon RDS User Guide.
 44381  	//
 44382  	// If MonitoringInterval is set to a value other than 0, then you must supply
 44383  	// a MonitoringRoleArn value.
 44384  	MonitoringRoleArn *string `type:"string"`
 44385  
 44386  	// A value that indicates whether the DB instance is a Multi-AZ deployment.
 44387  	// If the DB instance is a Multi-AZ deployment, you can't set the AvailabilityZone
 44388  	// parameter.
 44389  	MultiAZ *bool `type:"boolean"`
 44390  
 44391  	// The name of the option group to associate with this DB instance. If this
 44392  	// argument is omitted, the default option group for the specified engine is
 44393  	// used.
 44394  	OptionGroupName *string `type:"string"`
 44395  
 44396  	// The Amazon Web Services KMS key identifier for encryption of Performance
 44397  	// Insights data.
 44398  	//
 44399  	// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
 44400  	// ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).
 44401  	//
 44402  	// If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon
 44403  	// RDS uses your default CMK. There is a default CMK for your Amazon Web Services
 44404  	// account. Your Amazon Web Services account has a different default CMK for
 44405  	// each Amazon Web Services Region.
 44406  	PerformanceInsightsKMSKeyId *string `type:"string"`
 44407  
 44408  	// The amount of time, in days, to retain Performance Insights data. Valid values
 44409  	// are 7 or 731 (2 years).
 44410  	PerformanceInsightsRetentionPeriod *int64 `type:"integer"`
 44411  
 44412  	// The port number on which the database accepts connections.
 44413  	//
 44414  	// Type: Integer
 44415  	//
 44416  	// Valid Values: 1150-65535
 44417  	//
 44418  	// Default: 3306
 44419  	Port *int64 `type:"integer"`
 44420  
 44421  	// The time range each day during which automated backups are created if automated
 44422  	// backups are enabled. For more information, see Backup window (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow)
 44423  	// in the Amazon RDS User Guide.
 44424  	//
 44425  	// Constraints:
 44426  	//
 44427  	//    * Must be in the format hh24:mi-hh24:mi.
 44428  	//
 44429  	//    * Must be in Universal Coordinated Time (UTC).
 44430  	//
 44431  	//    * Must not conflict with the preferred maintenance window.
 44432  	//
 44433  	//    * Must be at least 30 minutes.
 44434  	PreferredBackupWindow *string `type:"string"`
 44435  
 44436  	// The time range each week during which system maintenance can occur, in Universal
 44437  	// Coordinated Time (UTC). For more information, see Amazon RDS Maintenance
 44438  	// Window (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance)
 44439  	// in the Amazon RDS User Guide.
 44440  	//
 44441  	// Constraints:
 44442  	//
 44443  	//    * Must be in the format ddd:hh24:mi-ddd:hh24:mi.
 44444  	//
 44445  	//    * Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
 44446  	//
 44447  	//    * Must be in Universal Coordinated Time (UTC).
 44448  	//
 44449  	//    * Must not conflict with the preferred backup window.
 44450  	//
 44451  	//    * Must be at least 30 minutes.
 44452  	PreferredMaintenanceWindow *string `type:"string"`
 44453  
 44454  	// The number of CPU cores and the number of threads per core for the DB instance
 44455  	// class of the DB instance.
 44456  	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
 44457  
 44458  	// A value that indicates whether the DB instance is publicly accessible.
 44459  	//
 44460  	// When the DB instance is publicly accessible, its DNS endpoint resolves to
 44461  	// the private IP address from within the DB instance's VPC, and to the public
 44462  	// IP address from outside of the DB instance's VPC. Access to the DB instance
 44463  	// is ultimately controlled by the security group it uses, and that public access
 44464  	// is not permitted if the security group assigned to the DB instance doesn't
 44465  	// permit it.
 44466  	//
 44467  	// When the DB instance isn't publicly accessible, it is an internal DB instance
 44468  	// with a DNS name that resolves to a private IP address.
 44469  	//
 44470  	// For more information, see CreateDBInstance.
 44471  	PubliclyAccessible *bool `type:"boolean"`
 44472  
 44473  	// The name of your Amazon S3 bucket that contains your database backup file.
 44474  	//
 44475  	// S3BucketName is a required field
 44476  	S3BucketName *string `type:"string" required:"true"`
 44477  
 44478  	// An Amazon Web Services Identity and Access Management (IAM) role to allow
 44479  	// Amazon RDS to access your Amazon S3 bucket.
 44480  	//
 44481  	// S3IngestionRoleArn is a required field
 44482  	S3IngestionRoleArn *string `type:"string" required:"true"`
 44483  
 44484  	// The prefix of your Amazon S3 bucket.
 44485  	S3Prefix *string `type:"string"`
 44486  
 44487  	// The name of the engine of your source database.
 44488  	//
 44489  	// Valid Values: mysql
 44490  	//
 44491  	// SourceEngine is a required field
 44492  	SourceEngine *string `type:"string" required:"true"`
 44493  
 44494  	// The version of the database that the backup files were created from.
 44495  	//
 44496  	// MySQL versions 5.6 and 5.7 are supported.
 44497  	//
 44498  	// Example: 5.6.40
 44499  	//
 44500  	// SourceEngineVersion is a required field
 44501  	SourceEngineVersion *string `type:"string" required:"true"`
 44502  
 44503  	// A value that indicates whether the new DB instance is encrypted or not.
 44504  	StorageEncrypted *bool `type:"boolean"`
 44505  
 44506  	// Specifies the storage type to be associated with the DB instance.
 44507  	//
 44508  	// Valid values: standard | gp2 | io1
 44509  	//
 44510  	// If you specify io1, you must also include a value for the Iops parameter.
 44511  	//
 44512  	// Default: io1 if the Iops parameter is specified; otherwise gp2
 44513  	StorageType *string `type:"string"`
 44514  
 44515  	// A list of tags to associate with this DB instance. For more information,
 44516  	// see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
 44517  	// in the Amazon RDS User Guide.
 44518  	Tags []*Tag `locationNameList:"Tag" type:"list"`
 44519  
 44520  	// A value that indicates whether the DB instance class of the DB instance uses
 44521  	// its default processor features.
 44522  	UseDefaultProcessorFeatures *bool `type:"boolean"`
 44523  
 44524  	// A list of VPC security groups to associate with this DB instance.
 44525  	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
 44526  }
 44527  
 44528  // String returns the string representation.
 44529  //
 44530  // API parameter values that are decorated as "sensitive" in the API will not
 44531  // be included in the string output. The member name will be present, but the
 44532  // value will be replaced with "sensitive".
 44533  func (s RestoreDBInstanceFromS3Input) String() string {
 44534  	return awsutil.Prettify(s)
 44535  }
 44536  
 44537  // GoString returns the string representation.
 44538  //
 44539  // API parameter values that are decorated as "sensitive" in the API will not
 44540  // be included in the string output. The member name will be present, but the
 44541  // value will be replaced with "sensitive".
 44542  func (s RestoreDBInstanceFromS3Input) GoString() string {
 44543  	return s.String()
 44544  }
 44545  
 44546  // Validate inspects the fields of the type to determine if they are valid.
 44547  func (s *RestoreDBInstanceFromS3Input) Validate() error {
 44548  	invalidParams := request.ErrInvalidParams{Context: "RestoreDBInstanceFromS3Input"}
 44549  	if s.DBInstanceClass == nil {
 44550  		invalidParams.Add(request.NewErrParamRequired("DBInstanceClass"))
 44551  	}
 44552  	if s.DBInstanceIdentifier == nil {
 44553  		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
 44554  	}
 44555  	if s.Engine == nil {
 44556  		invalidParams.Add(request.NewErrParamRequired("Engine"))
 44557  	}
 44558  	if s.S3BucketName == nil {
 44559  		invalidParams.Add(request.NewErrParamRequired("S3BucketName"))
 44560  	}
 44561  	if s.S3IngestionRoleArn == nil {
 44562  		invalidParams.Add(request.NewErrParamRequired("S3IngestionRoleArn"))
 44563  	}
 44564  	if s.SourceEngine == nil {
 44565  		invalidParams.Add(request.NewErrParamRequired("SourceEngine"))
 44566  	}
 44567  	if s.SourceEngineVersion == nil {
 44568  		invalidParams.Add(request.NewErrParamRequired("SourceEngineVersion"))
 44569  	}
 44570  
 44571  	if invalidParams.Len() > 0 {
 44572  		return invalidParams
 44573  	}
 44574  	return nil
 44575  }
 44576  
 44577  // SetAllocatedStorage sets the AllocatedStorage field's value.
 44578  func (s *RestoreDBInstanceFromS3Input) SetAllocatedStorage(v int64) *RestoreDBInstanceFromS3Input {
 44579  	s.AllocatedStorage = &v
 44580  	return s
 44581  }
 44582  
 44583  // SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
 44584  func (s *RestoreDBInstanceFromS3Input) SetAutoMinorVersionUpgrade(v bool) *RestoreDBInstanceFromS3Input {
 44585  	s.AutoMinorVersionUpgrade = &v
 44586  	return s
 44587  }
 44588  
 44589  // SetAvailabilityZone sets the AvailabilityZone field's value.
 44590  func (s *RestoreDBInstanceFromS3Input) SetAvailabilityZone(v string) *RestoreDBInstanceFromS3Input {
 44591  	s.AvailabilityZone = &v
 44592  	return s
 44593  }
 44594  
 44595  // SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
 44596  func (s *RestoreDBInstanceFromS3Input) SetBackupRetentionPeriod(v int64) *RestoreDBInstanceFromS3Input {
 44597  	s.BackupRetentionPeriod = &v
 44598  	return s
 44599  }
 44600  
 44601  // SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
 44602  func (s *RestoreDBInstanceFromS3Input) SetCopyTagsToSnapshot(v bool) *RestoreDBInstanceFromS3Input {
 44603  	s.CopyTagsToSnapshot = &v
 44604  	return s
 44605  }
 44606  
 44607  // SetDBInstanceClass sets the DBInstanceClass field's value.
 44608  func (s *RestoreDBInstanceFromS3Input) SetDBInstanceClass(v string) *RestoreDBInstanceFromS3Input {
 44609  	s.DBInstanceClass = &v
 44610  	return s
 44611  }
 44612  
 44613  // SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
 44614  func (s *RestoreDBInstanceFromS3Input) SetDBInstanceIdentifier(v string) *RestoreDBInstanceFromS3Input {
 44615  	s.DBInstanceIdentifier = &v
 44616  	return s
 44617  }
 44618  
 44619  // SetDBName sets the DBName field's value.
 44620  func (s *RestoreDBInstanceFromS3Input) SetDBName(v string) *RestoreDBInstanceFromS3Input {
 44621  	s.DBName = &v
 44622  	return s
 44623  }
 44624  
 44625  // SetDBParameterGroupName sets the DBParameterGroupName field's value.
 44626  func (s *RestoreDBInstanceFromS3Input) SetDBParameterGroupName(v string) *RestoreDBInstanceFromS3Input {
 44627  	s.DBParameterGroupName = &v
 44628  	return s
 44629  }
 44630  
 44631  // SetDBSecurityGroups sets the DBSecurityGroups field's value.
 44632  func (s *RestoreDBInstanceFromS3Input) SetDBSecurityGroups(v []*string) *RestoreDBInstanceFromS3Input {
 44633  	s.DBSecurityGroups = v
 44634  	return s
 44635  }
 44636  
 44637  // SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
 44638  func (s *RestoreDBInstanceFromS3Input) SetDBSubnetGroupName(v string) *RestoreDBInstanceFromS3Input {
 44639  	s.DBSubnetGroupName = &v
 44640  	return s
 44641  }
 44642  
 44643  // SetDeletionProtection sets the DeletionProtection field's value.
 44644  func (s *RestoreDBInstanceFromS3Input) SetDeletionProtection(v bool) *RestoreDBInstanceFromS3Input {
 44645  	s.DeletionProtection = &v
 44646  	return s
 44647  }
 44648  
 44649  // SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
 44650  func (s *RestoreDBInstanceFromS3Input) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBInstanceFromS3Input {
 44651  	s.EnableCloudwatchLogsExports = v
 44652  	return s
 44653  }
 44654  
 44655  // SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
 44656  func (s *RestoreDBInstanceFromS3Input) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBInstanceFromS3Input {
 44657  	s.EnableIAMDatabaseAuthentication = &v
 44658  	return s
 44659  }
 44660  
 44661  // SetEnablePerformanceInsights sets the EnablePerformanceInsights field's value.
 44662  func (s *RestoreDBInstanceFromS3Input) SetEnablePerformanceInsights(v bool) *RestoreDBInstanceFromS3Input {
 44663  	s.EnablePerformanceInsights = &v
 44664  	return s
 44665  }
 44666  
 44667  // SetEngine sets the Engine field's value.
 44668  func (s *RestoreDBInstanceFromS3Input) SetEngine(v string) *RestoreDBInstanceFromS3Input {
 44669  	s.Engine = &v
 44670  	return s
 44671  }
 44672  
 44673  // SetEngineVersion sets the EngineVersion field's value.
 44674  func (s *RestoreDBInstanceFromS3Input) SetEngineVersion(v string) *RestoreDBInstanceFromS3Input {
 44675  	s.EngineVersion = &v
 44676  	return s
 44677  }
 44678  
 44679  // SetIops sets the Iops field's value.
 44680  func (s *RestoreDBInstanceFromS3Input) SetIops(v int64) *RestoreDBInstanceFromS3Input {
 44681  	s.Iops = &v
 44682  	return s
 44683  }
 44684  
 44685  // SetKmsKeyId sets the KmsKeyId field's value.
 44686  func (s *RestoreDBInstanceFromS3Input) SetKmsKeyId(v string) *RestoreDBInstanceFromS3Input {
 44687  	s.KmsKeyId = &v
 44688  	return s
 44689  }
 44690  
 44691  // SetLicenseModel sets the LicenseModel field's value.
 44692  func (s *RestoreDBInstanceFromS3Input) SetLicenseModel(v string) *RestoreDBInstanceFromS3Input {
 44693  	s.LicenseModel = &v
 44694  	return s
 44695  }
 44696  
 44697  // SetMasterUserPassword sets the MasterUserPassword field's value.
 44698  func (s *RestoreDBInstanceFromS3Input) SetMasterUserPassword(v string) *RestoreDBInstanceFromS3Input {
 44699  	s.MasterUserPassword = &v
 44700  	return s
 44701  }
 44702  
 44703  // SetMasterUsername sets the MasterUsername field's value.
 44704  func (s *RestoreDBInstanceFromS3Input) SetMasterUsername(v string) *RestoreDBInstanceFromS3Input {
 44705  	s.MasterUsername = &v
 44706  	return s
 44707  }
 44708  
 44709  // SetMaxAllocatedStorage sets the MaxAllocatedStorage field's value.
 44710  func (s *RestoreDBInstanceFromS3Input) SetMaxAllocatedStorage(v int64) *RestoreDBInstanceFromS3Input {
 44711  	s.MaxAllocatedStorage = &v
 44712  	return s
 44713  }
 44714  
 44715  // SetMonitoringInterval sets the MonitoringInterval field's value.
 44716  func (s *RestoreDBInstanceFromS3Input) SetMonitoringInterval(v int64) *RestoreDBInstanceFromS3Input {
 44717  	s.MonitoringInterval = &v
 44718  	return s
 44719  }
 44720  
 44721  // SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
 44722  func (s *RestoreDBInstanceFromS3Input) SetMonitoringRoleArn(v string) *RestoreDBInstanceFromS3Input {
 44723  	s.MonitoringRoleArn = &v
 44724  	return s
 44725  }
 44726  
 44727  // SetMultiAZ sets the MultiAZ field's value.
 44728  func (s *RestoreDBInstanceFromS3Input) SetMultiAZ(v bool) *RestoreDBInstanceFromS3Input {
 44729  	s.MultiAZ = &v
 44730  	return s
 44731  }
 44732  
 44733  // SetOptionGroupName sets the OptionGroupName field's value.
 44734  func (s *RestoreDBInstanceFromS3Input) SetOptionGroupName(v string) *RestoreDBInstanceFromS3Input {
 44735  	s.OptionGroupName = &v
 44736  	return s
 44737  }
 44738  
 44739  // SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
 44740  func (s *RestoreDBInstanceFromS3Input) SetPerformanceInsightsKMSKeyId(v string) *RestoreDBInstanceFromS3Input {
 44741  	s.PerformanceInsightsKMSKeyId = &v
 44742  	return s
 44743  }
 44744  
 44745  // SetPerformanceInsightsRetentionPeriod sets the PerformanceInsightsRetentionPeriod field's value.
 44746  func (s *RestoreDBInstanceFromS3Input) SetPerformanceInsightsRetentionPeriod(v int64) *RestoreDBInstanceFromS3Input {
 44747  	s.PerformanceInsightsRetentionPeriod = &v
 44748  	return s
 44749  }
 44750  
 44751  // SetPort sets the Port field's value.
 44752  func (s *RestoreDBInstanceFromS3Input) SetPort(v int64) *RestoreDBInstanceFromS3Input {
 44753  	s.Port = &v
 44754  	return s
 44755  }
 44756  
 44757  // SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
 44758  func (s *RestoreDBInstanceFromS3Input) SetPreferredBackupWindow(v string) *RestoreDBInstanceFromS3Input {
 44759  	s.PreferredBackupWindow = &v
 44760  	return s
 44761  }
 44762  
 44763  // SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
 44764  func (s *RestoreDBInstanceFromS3Input) SetPreferredMaintenanceWindow(v string) *RestoreDBInstanceFromS3Input {
 44765  	s.PreferredMaintenanceWindow = &v
 44766  	return s
 44767  }
 44768  
 44769  // SetProcessorFeatures sets the ProcessorFeatures field's value.
 44770  func (s *RestoreDBInstanceFromS3Input) SetProcessorFeatures(v []*ProcessorFeature) *RestoreDBInstanceFromS3Input {
 44771  	s.ProcessorFeatures = v
 44772  	return s
 44773  }
 44774  
 44775  // SetPubliclyAccessible sets the PubliclyAccessible field's value.
 44776  func (s *RestoreDBInstanceFromS3Input) SetPubliclyAccessible(v bool) *RestoreDBInstanceFromS3Input {
 44777  	s.PubliclyAccessible = &v
 44778  	return s
 44779  }
 44780  
 44781  // SetS3BucketName sets the S3BucketName field's value.
 44782  func (s *RestoreDBInstanceFromS3Input) SetS3BucketName(v string) *RestoreDBInstanceFromS3Input {
 44783  	s.S3BucketName = &v
 44784  	return s
 44785  }
 44786  
 44787  // SetS3IngestionRoleArn sets the S3IngestionRoleArn field's value.
 44788  func (s *RestoreDBInstanceFromS3Input) SetS3IngestionRoleArn(v string) *RestoreDBInstanceFromS3Input {
 44789  	s.S3IngestionRoleArn = &v
 44790  	return s
 44791  }
 44792  
 44793  // SetS3Prefix sets the S3Prefix field's value.
 44794  func (s *RestoreDBInstanceFromS3Input) SetS3Prefix(v string) *RestoreDBInstanceFromS3Input {
 44795  	s.S3Prefix = &v
 44796  	return s
 44797  }
 44798  
 44799  // SetSourceEngine sets the SourceEngine field's value.
 44800  func (s *RestoreDBInstanceFromS3Input) SetSourceEngine(v string) *RestoreDBInstanceFromS3Input {
 44801  	s.SourceEngine = &v
 44802  	return s
 44803  }
 44804  
 44805  // SetSourceEngineVersion sets the SourceEngineVersion field's value.
 44806  func (s *RestoreDBInstanceFromS3Input) SetSourceEngineVersion(v string) *RestoreDBInstanceFromS3Input {
 44807  	s.SourceEngineVersion = &v
 44808  	return s
 44809  }
 44810  
 44811  // SetStorageEncrypted sets the StorageEncrypted field's value.
 44812  func (s *RestoreDBInstanceFromS3Input) SetStorageEncrypted(v bool) *RestoreDBInstanceFromS3Input {
 44813  	s.StorageEncrypted = &v
 44814  	return s
 44815  }
 44816  
 44817  // SetStorageType sets the StorageType field's value.
 44818  func (s *RestoreDBInstanceFromS3Input) SetStorageType(v string) *RestoreDBInstanceFromS3Input {
 44819  	s.StorageType = &v
 44820  	return s
 44821  }
 44822  
 44823  // SetTags sets the Tags field's value.
 44824  func (s *RestoreDBInstanceFromS3Input) SetTags(v []*Tag) *RestoreDBInstanceFromS3Input {
 44825  	s.Tags = v
 44826  	return s
 44827  }
 44828  
 44829  // SetUseDefaultProcessorFeatures sets the UseDefaultProcessorFeatures field's value.
 44830  func (s *RestoreDBInstanceFromS3Input) SetUseDefaultProcessorFeatures(v bool) *RestoreDBInstanceFromS3Input {
 44831  	s.UseDefaultProcessorFeatures = &v
 44832  	return s
 44833  }
 44834  
 44835  // SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
 44836  func (s *RestoreDBInstanceFromS3Input) SetVpcSecurityGroupIds(v []*string) *RestoreDBInstanceFromS3Input {
 44837  	s.VpcSecurityGroupIds = v
 44838  	return s
 44839  }
 44840  
 44841  type RestoreDBInstanceFromS3Output struct {
 44842  	_ struct{} `type:"structure"`
 44843  
 44844  	// Contains the details of an Amazon RDS DB instance.
 44845  	//
 44846  	// This data type is used as a response element in the DescribeDBInstances action.
 44847  	DBInstance *DBInstance `type:"structure"`
 44848  }
 44849  
 44850  // String returns the string representation.
 44851  //
 44852  // API parameter values that are decorated as "sensitive" in the API will not
 44853  // be included in the string output. The member name will be present, but the
 44854  // value will be replaced with "sensitive".
 44855  func (s RestoreDBInstanceFromS3Output) String() string {
 44856  	return awsutil.Prettify(s)
 44857  }
 44858  
 44859  // GoString returns the string representation.
 44860  //
 44861  // API parameter values that are decorated as "sensitive" in the API will not
 44862  // be included in the string output. The member name will be present, but the
 44863  // value will be replaced with "sensitive".
 44864  func (s RestoreDBInstanceFromS3Output) GoString() string {
 44865  	return s.String()
 44866  }
 44867  
 44868  // SetDBInstance sets the DBInstance field's value.
 44869  func (s *RestoreDBInstanceFromS3Output) SetDBInstance(v *DBInstance) *RestoreDBInstanceFromS3Output {
 44870  	s.DBInstance = v
 44871  	return s
 44872  }
 44873  
 44874  type RestoreDBInstanceToPointInTimeInput struct {
 44875  	_ struct{} `type:"structure"`
 44876  
 44877  	// A value that indicates whether minor version upgrades are applied automatically
 44878  	// to the DB instance during the maintenance window.
 44879  	AutoMinorVersionUpgrade *bool `type:"boolean"`
 44880  
 44881  	// The Availability Zone (AZ) where the DB instance will be created.
 44882  	//
 44883  	// Default: A random, system-chosen Availability Zone.
 44884  	//
 44885  	// Constraint: You can't specify the AvailabilityZone parameter if the DB instance
 44886  	// is a Multi-AZ deployment.
 44887  	//
 44888  	// Example: us-east-1a
 44889  	AvailabilityZone *string `type:"string"`
 44890  
 44891  	// A value that indicates whether to copy all tags from the restored DB instance
 44892  	// to snapshots of the DB instance. By default, tags are not copied.
 44893  	CopyTagsToSnapshot *bool `type:"boolean"`
 44894  
 44895  	// The compute and memory capacity of the Amazon RDS DB instance, for example,
 44896  	// db.m4.large. Not all DB instance classes are available in all Amazon Web
 44897  	// Services Regions, or for all database engines. For the full list of DB instance
 44898  	// classes, and availability for your engine, see DB Instance Class (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
 44899  	// in the Amazon RDS User Guide.
 44900  	//
 44901  	// Default: The same DBInstanceClass as the original DB instance.
 44902  	DBInstanceClass *string `type:"string"`
 44903  
 44904  	// The database name for the restored DB instance.
 44905  	//
 44906  	// This parameter isn't used for the MySQL or MariaDB engines.
 44907  	DBName *string `type:"string"`
 44908  
 44909  	// The name of the DB parameter group to associate with this DB instance.
 44910  	//
 44911  	// If you do not specify a value for DBParameterGroupName, then the default
 44912  	// DBParameterGroup for the specified DB engine is used.
 44913  	//
 44914  	// Constraints:
 44915  	//
 44916  	//    * If supplied, must match the name of an existing DBParameterGroup.
 44917  	//
 44918  	//    * Must be 1 to 255 letters, numbers, or hyphens.
 44919  	//
 44920  	//    * First character must be a letter.
 44921  	//
 44922  	//    * Can't end with a hyphen or contain two consecutive hyphens.
 44923  	DBParameterGroupName *string `type:"string"`
 44924  
 44925  	// The DB subnet group name to use for the new instance.
 44926  	//
 44927  	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
 44928  	//
 44929  	// Example: mySubnetgroup
 44930  	DBSubnetGroupName *string `type:"string"`
 44931  
 44932  	// A value that indicates whether the DB instance has deletion protection enabled.
 44933  	// The database can't be deleted when deletion protection is enabled. By default,
 44934  	// deletion protection is disabled. For more information, see Deleting a DB
 44935  	// Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html).
 44936  	DeletionProtection *bool `type:"boolean"`
 44937  
 44938  	// Specify the Active Directory directory ID to restore the DB instance in.
 44939  	// The domain must be created prior to this operation. Currently, only MySQL,
 44940  	// Microsoft SQL Server, Oracle, and PostgreSQL DB instances can be created
 44941  	// in an Active Directory Domain.
 44942  	//
 44943  	// For more information, see Kerberos Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/kerberos-authentication.html)
 44944  	// in the Amazon RDS User Guide.
 44945  	Domain *string `type:"string"`
 44946  
 44947  	// Specify the name of the IAM role to be used when making API calls to the
 44948  	// Directory Service.
 44949  	DomainIAMRoleName *string `type:"string"`
 44950  
 44951  	// The list of logs that the restored DB instance is to export to CloudWatch
 44952  	// Logs. The values in the list depend on the DB engine being used. For more
 44953  	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
 44954  	// in the Amazon RDS User Guide.
 44955  	EnableCloudwatchLogsExports []*string `type:"list"`
 44956  
 44957  	// A value that indicates whether to enable a customer-owned IP address (CoIP)
 44958  	// for an RDS on Outposts DB instance.
 44959  	//
 44960  	// A CoIP provides local or external connectivity to resources in your Outpost
 44961  	// subnets through your on-premises network. For some use cases, a CoIP can
 44962  	// provide lower latency for connections to the DB instance from outside of
 44963  	// its virtual private cloud (VPC) on your local network.
 44964  	//
 44965  	// For more information about RDS on Outposts, see Working with Amazon RDS on
 44966  	// Amazon Web Services Outposts (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html)
 44967  	// in the Amazon RDS User Guide.
 44968  	//
 44969  	// For more information about CoIPs, see Customer-owned IP addresses (https://docs.aws.amazon.com/outposts/latest/userguide/outposts-networking-components.html#ip-addressing)
 44970  	// in the Amazon Web Services Outposts User Guide.
 44971  	EnableCustomerOwnedIp *bool `type:"boolean"`
 44972  
 44973  	// A value that indicates whether to enable mapping of Amazon Web Services Identity
 44974  	// and Access Management (IAM) accounts to database accounts. By default, mapping
 44975  	// is disabled.
 44976  	//
 44977  	// For more information about IAM database authentication, see IAM Database
 44978  	// Authentication for MySQL and PostgreSQL (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)
 44979  	// in the Amazon RDS User Guide.
 44980  	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
 44981  
 44982  	// The database engine to use for the new instance.
 44983  	//
 44984  	// Default: The same as source
 44985  	//
 44986  	// Constraint: Must be compatible with the engine of the source
 44987  	//
 44988  	// Valid Values:
 44989  	//
 44990  	//    * mariadb
 44991  	//
 44992  	//    * mysql
 44993  	//
 44994  	//    * oracle-ee
 44995  	//
 44996  	//    * oracle-ee-cdb
 44997  	//
 44998  	//    * oracle-se2
 44999  	//
 45000  	//    * oracle-se2-cdb
 45001  	//
 45002  	//    * postgres
 45003  	//
 45004  	//    * sqlserver-ee
 45005  	//
 45006  	//    * sqlserver-se
 45007  	//
 45008  	//    * sqlserver-ex
 45009  	//
 45010  	//    * sqlserver-web
 45011  	Engine *string `type:"string"`
 45012  
 45013  	// The amount of Provisioned IOPS (input/output operations per second) to be
 45014  	// initially allocated for the DB instance.
 45015  	//
 45016  	// Constraints: Must be an integer greater than 1000.
 45017  	//
 45018  	// SQL Server
 45019  	//
 45020  	// Setting the IOPS value for the SQL Server database engine isn't supported.
 45021  	Iops *int64 `type:"integer"`
 45022  
 45023  	// License model information for the restored DB instance.
 45024  	//
 45025  	// Default: Same as source.
 45026  	//
 45027  	// Valid values: license-included | bring-your-own-license | general-public-license
 45028  	LicenseModel *string `type:"string"`
 45029  
 45030  	// The upper limit in gibibytes (GiB) to which Amazon RDS can automatically
 45031  	// scale the storage of the DB instance.
 45032  	//
 45033  	// For more information about this setting, including limitations that apply
 45034  	// to it, see Managing capacity automatically with Amazon RDS storage autoscaling
 45035  	// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.Autoscaling)
 45036  	// in the Amazon RDS User Guide.
 45037  	MaxAllocatedStorage *int64 `type:"integer"`
 45038  
 45039  	// A value that indicates whether the DB instance is a Multi-AZ deployment.
 45040  	//
 45041  	// Constraint: You can't specify the AvailabilityZone parameter if the DB instance
 45042  	// is a Multi-AZ deployment.
 45043  	MultiAZ *bool `type:"boolean"`
 45044  
 45045  	// The name of the option group to be used for the restored DB instance.
 45046  	//
 45047  	// Permanent options, such as the TDE option for Oracle Advanced Security TDE,
 45048  	// can't be removed from an option group, and that option group can't be removed
 45049  	// from a DB instance once it is associated with a DB instance
 45050  	OptionGroupName *string `type:"string"`
 45051  
 45052  	// The port number on which the database accepts connections.
 45053  	//
 45054  	// Constraints: Value must be 1150-65535
 45055  	//
 45056  	// Default: The same port as the original DB instance.
 45057  	Port *int64 `type:"integer"`
 45058  
 45059  	// The number of CPU cores and the number of threads per core for the DB instance
 45060  	// class of the DB instance.
 45061  	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
 45062  
 45063  	// A value that indicates whether the DB instance is publicly accessible.
 45064  	//
 45065  	// When the DB instance is publicly accessible, its DNS endpoint resolves to
 45066  	// the private IP address from within the DB instance's VPC, and to the public
 45067  	// IP address from outside of the DB instance's VPC. Access to the DB instance
 45068  	// is ultimately controlled by the security group it uses, and that public access
 45069  	// is not permitted if the security group assigned to the DB instance doesn't
 45070  	// permit it.
 45071  	//
 45072  	// When the DB instance isn't publicly accessible, it is an internal DB instance
 45073  	// with a DNS name that resolves to a private IP address.
 45074  	//
 45075  	// For more information, see CreateDBInstance.
 45076  	PubliclyAccessible *bool `type:"boolean"`
 45077  
 45078  	// The date and time to restore from.
 45079  	//
 45080  	// Valid Values: Value must be a time in Universal Coordinated Time (UTC) format
 45081  	//
 45082  	// Constraints:
 45083  	//
 45084  	//    * Must be before the latest restorable time for the DB instance
 45085  	//
 45086  	//    * Can't be specified if the UseLatestRestorableTime parameter is enabled
 45087  	//
 45088  	// Example: 2009-09-07T23:45:00Z
 45089  	RestoreTime *time.Time `type:"timestamp"`
 45090  
 45091  	// The Amazon Resource Name (ARN) of the replicated automated backups from which
 45092  	// to restore, for example, arn:aws:rds:useast-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE.
 45093  	SourceDBInstanceAutomatedBackupsArn *string `type:"string"`
 45094  
 45095  	// The identifier of the source DB instance from which to restore.
 45096  	//
 45097  	// Constraints:
 45098  	//
 45099  	//    * Must match the identifier of an existing DB instance.
 45100  	SourceDBInstanceIdentifier *string `type:"string"`
 45101  
 45102  	// The resource ID of the source DB instance from which to restore.
 45103  	SourceDbiResourceId *string `type:"string"`
 45104  
 45105  	// Specifies the storage type to be associated with the DB instance.
 45106  	//
 45107  	// Valid values: standard | gp2 | io1
 45108  	//
 45109  	// If you specify io1, you must also include a value for the Iops parameter.
 45110  	//
 45111  	// Default: io1 if the Iops parameter is specified, otherwise gp2
 45112  	StorageType *string `type:"string"`
 45113  
 45114  	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
 45115  	// in the Amazon RDS User Guide.
 45116  	Tags []*Tag `locationNameList:"Tag" type:"list"`
 45117  
 45118  	// The name of the new DB instance to be created.
 45119  	//
 45120  	// Constraints:
 45121  	//
 45122  	//    * Must contain from 1 to 63 letters, numbers, or hyphens
 45123  	//
 45124  	//    * First character must be a letter
 45125  	//
 45126  	//    * Can't end with a hyphen or contain two consecutive hyphens
 45127  	//
 45128  	// TargetDBInstanceIdentifier is a required field
 45129  	TargetDBInstanceIdentifier *string `type:"string" required:"true"`
 45130  
 45131  	// The ARN from the key store with which to associate the instance for TDE encryption.
 45132  	TdeCredentialArn *string `type:"string"`
 45133  
 45134  	// The password for the given ARN from the key store in order to access the
 45135  	// device.
 45136  	TdeCredentialPassword *string `type:"string"`
 45137  
 45138  	// A value that indicates whether the DB instance class of the DB instance uses
 45139  	// its default processor features.
 45140  	UseDefaultProcessorFeatures *bool `type:"boolean"`
 45141  
 45142  	// A value that indicates whether the DB instance is restored from the latest
 45143  	// backup time. By default, the DB instance isn't restored from the latest backup
 45144  	// time.
 45145  	//
 45146  	// Constraints: Can't be specified if the RestoreTime parameter is provided.
 45147  	UseLatestRestorableTime *bool `type:"boolean"`
 45148  
 45149  	// A list of EC2 VPC security groups to associate with this DB instance.
 45150  	//
 45151  	// Default: The default EC2 VPC security group for the DB subnet group's VPC.
 45152  	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
 45153  }
 45154  
 45155  // String returns the string representation.
 45156  //
 45157  // API parameter values that are decorated as "sensitive" in the API will not
 45158  // be included in the string output. The member name will be present, but the
 45159  // value will be replaced with "sensitive".
 45160  func (s RestoreDBInstanceToPointInTimeInput) String() string {
 45161  	return awsutil.Prettify(s)
 45162  }
 45163  
 45164  // GoString returns the string representation.
 45165  //
 45166  // API parameter values that are decorated as "sensitive" in the API will not
 45167  // be included in the string output. The member name will be present, but the
 45168  // value will be replaced with "sensitive".
 45169  func (s RestoreDBInstanceToPointInTimeInput) GoString() string {
 45170  	return s.String()
 45171  }
 45172  
 45173  // Validate inspects the fields of the type to determine if they are valid.
 45174  func (s *RestoreDBInstanceToPointInTimeInput) Validate() error {
 45175  	invalidParams := request.ErrInvalidParams{Context: "RestoreDBInstanceToPointInTimeInput"}
 45176  	if s.TargetDBInstanceIdentifier == nil {
 45177  		invalidParams.Add(request.NewErrParamRequired("TargetDBInstanceIdentifier"))
 45178  	}
 45179  
 45180  	if invalidParams.Len() > 0 {
 45181  		return invalidParams
 45182  	}
 45183  	return nil
 45184  }
 45185  
 45186  // SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
 45187  func (s *RestoreDBInstanceToPointInTimeInput) SetAutoMinorVersionUpgrade(v bool) *RestoreDBInstanceToPointInTimeInput {
 45188  	s.AutoMinorVersionUpgrade = &v
 45189  	return s
 45190  }
 45191  
 45192  // SetAvailabilityZone sets the AvailabilityZone field's value.
 45193  func (s *RestoreDBInstanceToPointInTimeInput) SetAvailabilityZone(v string) *RestoreDBInstanceToPointInTimeInput {
 45194  	s.AvailabilityZone = &v
 45195  	return s
 45196  }
 45197  
 45198  // SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
 45199  func (s *RestoreDBInstanceToPointInTimeInput) SetCopyTagsToSnapshot(v bool) *RestoreDBInstanceToPointInTimeInput {
 45200  	s.CopyTagsToSnapshot = &v
 45201  	return s
 45202  }
 45203  
 45204  // SetDBInstanceClass sets the DBInstanceClass field's value.
 45205  func (s *RestoreDBInstanceToPointInTimeInput) SetDBInstanceClass(v string) *RestoreDBInstanceToPointInTimeInput {
 45206  	s.DBInstanceClass = &v
 45207  	return s
 45208  }
 45209  
 45210  // SetDBName sets the DBName field's value.
 45211  func (s *RestoreDBInstanceToPointInTimeInput) SetDBName(v string) *RestoreDBInstanceToPointInTimeInput {
 45212  	s.DBName = &v
 45213  	return s
 45214  }
 45215  
 45216  // SetDBParameterGroupName sets the DBParameterGroupName field's value.
 45217  func (s *RestoreDBInstanceToPointInTimeInput) SetDBParameterGroupName(v string) *RestoreDBInstanceToPointInTimeInput {
 45218  	s.DBParameterGroupName = &v
 45219  	return s
 45220  }
 45221  
 45222  // SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
 45223  func (s *RestoreDBInstanceToPointInTimeInput) SetDBSubnetGroupName(v string) *RestoreDBInstanceToPointInTimeInput {
 45224  	s.DBSubnetGroupName = &v
 45225  	return s
 45226  }
 45227  
 45228  // SetDeletionProtection sets the DeletionProtection field's value.
 45229  func (s *RestoreDBInstanceToPointInTimeInput) SetDeletionProtection(v bool) *RestoreDBInstanceToPointInTimeInput {
 45230  	s.DeletionProtection = &v
 45231  	return s
 45232  }
 45233  
 45234  // SetDomain sets the Domain field's value.
 45235  func (s *RestoreDBInstanceToPointInTimeInput) SetDomain(v string) *RestoreDBInstanceToPointInTimeInput {
 45236  	s.Domain = &v
 45237  	return s
 45238  }
 45239  
 45240  // SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
 45241  func (s *RestoreDBInstanceToPointInTimeInput) SetDomainIAMRoleName(v string) *RestoreDBInstanceToPointInTimeInput {
 45242  	s.DomainIAMRoleName = &v
 45243  	return s
 45244  }
 45245  
 45246  // SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
 45247  func (s *RestoreDBInstanceToPointInTimeInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBInstanceToPointInTimeInput {
 45248  	s.EnableCloudwatchLogsExports = v
 45249  	return s
 45250  }
 45251  
 45252  // SetEnableCustomerOwnedIp sets the EnableCustomerOwnedIp field's value.
 45253  func (s *RestoreDBInstanceToPointInTimeInput) SetEnableCustomerOwnedIp(v bool) *RestoreDBInstanceToPointInTimeInput {
 45254  	s.EnableCustomerOwnedIp = &v
 45255  	return s
 45256  }
 45257  
 45258  // SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
 45259  func (s *RestoreDBInstanceToPointInTimeInput) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBInstanceToPointInTimeInput {
 45260  	s.EnableIAMDatabaseAuthentication = &v
 45261  	return s
 45262  }
 45263  
 45264  // SetEngine sets the Engine field's value.
 45265  func (s *RestoreDBInstanceToPointInTimeInput) SetEngine(v string) *RestoreDBInstanceToPointInTimeInput {
 45266  	s.Engine = &v
 45267  	return s
 45268  }
 45269  
 45270  // SetIops sets the Iops field's value.
 45271  func (s *RestoreDBInstanceToPointInTimeInput) SetIops(v int64) *RestoreDBInstanceToPointInTimeInput {
 45272  	s.Iops = &v
 45273  	return s
 45274  }
 45275  
 45276  // SetLicenseModel sets the LicenseModel field's value.
 45277  func (s *RestoreDBInstanceToPointInTimeInput) SetLicenseModel(v string) *RestoreDBInstanceToPointInTimeInput {
 45278  	s.LicenseModel = &v
 45279  	return s
 45280  }
 45281  
 45282  // SetMaxAllocatedStorage sets the MaxAllocatedStorage field's value.
 45283  func (s *RestoreDBInstanceToPointInTimeInput) SetMaxAllocatedStorage(v int64) *RestoreDBInstanceToPointInTimeInput {
 45284  	s.MaxAllocatedStorage = &v
 45285  	return s
 45286  }
 45287  
 45288  // SetMultiAZ sets the MultiAZ field's value.
 45289  func (s *RestoreDBInstanceToPointInTimeInput) SetMultiAZ(v bool) *RestoreDBInstanceToPointInTimeInput {
 45290  	s.MultiAZ = &v
 45291  	return s
 45292  }
 45293  
 45294  // SetOptionGroupName sets the OptionGroupName field's value.
 45295  func (s *RestoreDBInstanceToPointInTimeInput) SetOptionGroupName(v string) *RestoreDBInstanceToPointInTimeInput {
 45296  	s.OptionGroupName = &v
 45297  	return s
 45298  }
 45299  
 45300  // SetPort sets the Port field's value.
 45301  func (s *RestoreDBInstanceToPointInTimeInput) SetPort(v int64) *RestoreDBInstanceToPointInTimeInput {
 45302  	s.Port = &v
 45303  	return s
 45304  }
 45305  
 45306  // SetProcessorFeatures sets the ProcessorFeatures field's value.
 45307  func (s *RestoreDBInstanceToPointInTimeInput) SetProcessorFeatures(v []*ProcessorFeature) *RestoreDBInstanceToPointInTimeInput {
 45308  	s.ProcessorFeatures = v
 45309  	return s
 45310  }
 45311  
 45312  // SetPubliclyAccessible sets the PubliclyAccessible field's value.
 45313  func (s *RestoreDBInstanceToPointInTimeInput) SetPubliclyAccessible(v bool) *RestoreDBInstanceToPointInTimeInput {
 45314  	s.PubliclyAccessible = &v
 45315  	return s
 45316  }
 45317  
 45318  // SetRestoreTime sets the RestoreTime field's value.
 45319  func (s *RestoreDBInstanceToPointInTimeInput) SetRestoreTime(v time.Time) *RestoreDBInstanceToPointInTimeInput {
 45320  	s.RestoreTime = &v
 45321  	return s
 45322  }
 45323  
 45324  // SetSourceDBInstanceAutomatedBackupsArn sets the SourceDBInstanceAutomatedBackupsArn field's value.
 45325  func (s *RestoreDBInstanceToPointInTimeInput) SetSourceDBInstanceAutomatedBackupsArn(v string) *RestoreDBInstanceToPointInTimeInput {
 45326  	s.SourceDBInstanceAutomatedBackupsArn = &v
 45327  	return s
 45328  }
 45329  
 45330  // SetSourceDBInstanceIdentifier sets the SourceDBInstanceIdentifier field's value.
 45331  func (s *RestoreDBInstanceToPointInTimeInput) SetSourceDBInstanceIdentifier(v string) *RestoreDBInstanceToPointInTimeInput {
 45332  	s.SourceDBInstanceIdentifier = &v
 45333  	return s
 45334  }
 45335  
 45336  // SetSourceDbiResourceId sets the SourceDbiResourceId field's value.
 45337  func (s *RestoreDBInstanceToPointInTimeInput) SetSourceDbiResourceId(v string) *RestoreDBInstanceToPointInTimeInput {
 45338  	s.SourceDbiResourceId = &v
 45339  	return s
 45340  }
 45341  
 45342  // SetStorageType sets the StorageType field's value.
 45343  func (s *RestoreDBInstanceToPointInTimeInput) SetStorageType(v string) *RestoreDBInstanceToPointInTimeInput {
 45344  	s.StorageType = &v
 45345  	return s
 45346  }
 45347  
 45348  // SetTags sets the Tags field's value.
 45349  func (s *RestoreDBInstanceToPointInTimeInput) SetTags(v []*Tag) *RestoreDBInstanceToPointInTimeInput {
 45350  	s.Tags = v
 45351  	return s
 45352  }
 45353  
 45354  // SetTargetDBInstanceIdentifier sets the TargetDBInstanceIdentifier field's value.
 45355  func (s *RestoreDBInstanceToPointInTimeInput) SetTargetDBInstanceIdentifier(v string) *RestoreDBInstanceToPointInTimeInput {
 45356  	s.TargetDBInstanceIdentifier = &v
 45357  	return s
 45358  }
 45359  
 45360  // SetTdeCredentialArn sets the TdeCredentialArn field's value.
 45361  func (s *RestoreDBInstanceToPointInTimeInput) SetTdeCredentialArn(v string) *RestoreDBInstanceToPointInTimeInput {
 45362  	s.TdeCredentialArn = &v
 45363  	return s
 45364  }
 45365  
 45366  // SetTdeCredentialPassword sets the TdeCredentialPassword field's value.
 45367  func (s *RestoreDBInstanceToPointInTimeInput) SetTdeCredentialPassword(v string) *RestoreDBInstanceToPointInTimeInput {
 45368  	s.TdeCredentialPassword = &v
 45369  	return s
 45370  }
 45371  
 45372  // SetUseDefaultProcessorFeatures sets the UseDefaultProcessorFeatures field's value.
 45373  func (s *RestoreDBInstanceToPointInTimeInput) SetUseDefaultProcessorFeatures(v bool) *RestoreDBInstanceToPointInTimeInput {
 45374  	s.UseDefaultProcessorFeatures = &v
 45375  	return s
 45376  }
 45377  
 45378  // SetUseLatestRestorableTime sets the UseLatestRestorableTime field's value.
 45379  func (s *RestoreDBInstanceToPointInTimeInput) SetUseLatestRestorableTime(v bool) *RestoreDBInstanceToPointInTimeInput {
 45380  	s.UseLatestRestorableTime = &v
 45381  	return s
 45382  }
 45383  
 45384  // SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
 45385  func (s *RestoreDBInstanceToPointInTimeInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBInstanceToPointInTimeInput {
 45386  	s.VpcSecurityGroupIds = v
 45387  	return s
 45388  }
 45389  
 45390  type RestoreDBInstanceToPointInTimeOutput struct {
 45391  	_ struct{} `type:"structure"`
 45392  
 45393  	// Contains the details of an Amazon RDS DB instance.
 45394  	//
 45395  	// This data type is used as a response element in the DescribeDBInstances action.
 45396  	DBInstance *DBInstance `type:"structure"`
 45397  }
 45398  
 45399  // String returns the string representation.
 45400  //
 45401  // API parameter values that are decorated as "sensitive" in the API will not
 45402  // be included in the string output. The member name will be present, but the
 45403  // value will be replaced with "sensitive".
 45404  func (s RestoreDBInstanceToPointInTimeOutput) String() string {
 45405  	return awsutil.Prettify(s)
 45406  }
 45407  
 45408  // GoString returns the string representation.
 45409  //
 45410  // API parameter values that are decorated as "sensitive" in the API will not
 45411  // be included in the string output. The member name will be present, but the
 45412  // value will be replaced with "sensitive".
 45413  func (s RestoreDBInstanceToPointInTimeOutput) GoString() string {
 45414  	return s.String()
 45415  }
 45416  
 45417  // SetDBInstance sets the DBInstance field's value.
 45418  func (s *RestoreDBInstanceToPointInTimeOutput) SetDBInstance(v *DBInstance) *RestoreDBInstanceToPointInTimeOutput {
 45419  	s.DBInstance = v
 45420  	return s
 45421  }
 45422  
 45423  // Earliest and latest time an instance can be restored to:
 45424  type RestoreWindow struct {
 45425  	_ struct{} `type:"structure"`
 45426  
 45427  	// The earliest time you can restore an instance to.
 45428  	EarliestTime *time.Time `type:"timestamp"`
 45429  
 45430  	// The latest time you can restore an instance to.
 45431  	LatestTime *time.Time `type:"timestamp"`
 45432  }
 45433  
 45434  // String returns the string representation.
 45435  //
 45436  // API parameter values that are decorated as "sensitive" in the API will not
 45437  // be included in the string output. The member name will be present, but the
 45438  // value will be replaced with "sensitive".
 45439  func (s RestoreWindow) String() string {
 45440  	return awsutil.Prettify(s)
 45441  }
 45442  
 45443  // GoString returns the string representation.
 45444  //
 45445  // API parameter values that are decorated as "sensitive" in the API will not
 45446  // be included in the string output. The member name will be present, but the
 45447  // value will be replaced with "sensitive".
 45448  func (s RestoreWindow) GoString() string {
 45449  	return s.String()
 45450  }
 45451  
 45452  // SetEarliestTime sets the EarliestTime field's value.
 45453  func (s *RestoreWindow) SetEarliestTime(v time.Time) *RestoreWindow {
 45454  	s.EarliestTime = &v
 45455  	return s
 45456  }
 45457  
 45458  // SetLatestTime sets the LatestTime field's value.
 45459  func (s *RestoreWindow) SetLatestTime(v time.Time) *RestoreWindow {
 45460  	s.LatestTime = &v
 45461  	return s
 45462  }
 45463  
 45464  type RevokeDBSecurityGroupIngressInput struct {
 45465  	_ struct{} `type:"structure"`
 45466  
 45467  	// The IP range to revoke access from. Must be a valid CIDR range. If CIDRIP
 45468  	// is specified, EC2SecurityGroupName, EC2SecurityGroupId and EC2SecurityGroupOwnerId
 45469  	// can't be provided.
 45470  	CIDRIP *string `type:"string"`
 45471  
 45472  	// The name of the DB security group to revoke ingress from.
 45473  	//
 45474  	// DBSecurityGroupName is a required field
 45475  	DBSecurityGroupName *string `type:"string" required:"true"`
 45476  
 45477  	// The id of the EC2 security group to revoke access from. For VPC DB security
 45478  	// groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId
 45479  	// and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.
 45480  	EC2SecurityGroupId *string `type:"string"`
 45481  
 45482  	// The name of the EC2 security group to revoke access from. For VPC DB security
 45483  	// groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId
 45484  	// and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.
 45485  	EC2SecurityGroupName *string `type:"string"`
 45486  
 45487  	// The Amazon Web Services account number of the owner of the EC2 security group
 45488  	// specified in the EC2SecurityGroupName parameter. The Amazon Web Services
 45489  	// access key ID isn't an acceptable value. For VPC DB security groups, EC2SecurityGroupId
 45490  	// must be provided. Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName
 45491  	// or EC2SecurityGroupId must be provided.
 45492  	EC2SecurityGroupOwnerId *string `type:"string"`
 45493  }
 45494  
 45495  // String returns the string representation.
 45496  //
 45497  // API parameter values that are decorated as "sensitive" in the API will not
 45498  // be included in the string output. The member name will be present, but the
 45499  // value will be replaced with "sensitive".
 45500  func (s RevokeDBSecurityGroupIngressInput) String() string {
 45501  	return awsutil.Prettify(s)
 45502  }
 45503  
 45504  // GoString returns the string representation.
 45505  //
 45506  // API parameter values that are decorated as "sensitive" in the API will not
 45507  // be included in the string output. The member name will be present, but the
 45508  // value will be replaced with "sensitive".
 45509  func (s RevokeDBSecurityGroupIngressInput) GoString() string {
 45510  	return s.String()
 45511  }
 45512  
 45513  // Validate inspects the fields of the type to determine if they are valid.
 45514  func (s *RevokeDBSecurityGroupIngressInput) Validate() error {
 45515  	invalidParams := request.ErrInvalidParams{Context: "RevokeDBSecurityGroupIngressInput"}
 45516  	if s.DBSecurityGroupName == nil {
 45517  		invalidParams.Add(request.NewErrParamRequired("DBSecurityGroupName"))
 45518  	}
 45519  
 45520  	if invalidParams.Len() > 0 {
 45521  		return invalidParams
 45522  	}
 45523  	return nil
 45524  }
 45525  
 45526  // SetCIDRIP sets the CIDRIP field's value.
 45527  func (s *RevokeDBSecurityGroupIngressInput) SetCIDRIP(v string) *RevokeDBSecurityGroupIngressInput {
 45528  	s.CIDRIP = &v
 45529  	return s
 45530  }
 45531  
 45532  // SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
 45533  func (s *RevokeDBSecurityGroupIngressInput) SetDBSecurityGroupName(v string) *RevokeDBSecurityGroupIngressInput {
 45534  	s.DBSecurityGroupName = &v
 45535  	return s
 45536  }
 45537  
 45538  // SetEC2SecurityGroupId sets the EC2SecurityGroupId field's value.
 45539  func (s *RevokeDBSecurityGroupIngressInput) SetEC2SecurityGroupId(v string) *RevokeDBSecurityGroupIngressInput {
 45540  	s.EC2SecurityGroupId = &v
 45541  	return s
 45542  }
 45543  
 45544  // SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value.
 45545  func (s *RevokeDBSecurityGroupIngressInput) SetEC2SecurityGroupName(v string) *RevokeDBSecurityGroupIngressInput {
 45546  	s.EC2SecurityGroupName = &v
 45547  	return s
 45548  }
 45549  
 45550  // SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value.
 45551  func (s *RevokeDBSecurityGroupIngressInput) SetEC2SecurityGroupOwnerId(v string) *RevokeDBSecurityGroupIngressInput {
 45552  	s.EC2SecurityGroupOwnerId = &v
 45553  	return s
 45554  }
 45555  
 45556  type RevokeDBSecurityGroupIngressOutput struct {
 45557  	_ struct{} `type:"structure"`
 45558  
 45559  	// Contains the details for an Amazon RDS DB security group.
 45560  	//
 45561  	// This data type is used as a response element in the DescribeDBSecurityGroups
 45562  	// action.
 45563  	DBSecurityGroup *DBSecurityGroup `type:"structure"`
 45564  }
 45565  
 45566  // String returns the string representation.
 45567  //
 45568  // API parameter values that are decorated as "sensitive" in the API will not
 45569  // be included in the string output. The member name will be present, but the
 45570  // value will be replaced with "sensitive".
 45571  func (s RevokeDBSecurityGroupIngressOutput) String() string {
 45572  	return awsutil.Prettify(s)
 45573  }
 45574  
 45575  // GoString returns the string representation.
 45576  //
 45577  // API parameter values that are decorated as "sensitive" in the API will not
 45578  // be included in the string output. The member name will be present, but the
 45579  // value will be replaced with "sensitive".
 45580  func (s RevokeDBSecurityGroupIngressOutput) GoString() string {
 45581  	return s.String()
 45582  }
 45583  
 45584  // SetDBSecurityGroup sets the DBSecurityGroup field's value.
 45585  func (s *RevokeDBSecurityGroupIngressOutput) SetDBSecurityGroup(v *DBSecurityGroup) *RevokeDBSecurityGroupIngressOutput {
 45586  	s.DBSecurityGroup = v
 45587  	return s
 45588  }
 45589  
 45590  // Contains the scaling configuration of an Aurora Serverless DB cluster.
 45591  //
 45592  // For more information, see Using Amazon Aurora Serverless (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html)
 45593  // in the Amazon Aurora User Guide.
 45594  type ScalingConfiguration struct {
 45595  	_ struct{} `type:"structure"`
 45596  
 45597  	// A value that indicates whether to allow or disallow automatic pause for an
 45598  	// Aurora DB cluster in serverless DB engine mode. A DB cluster can be paused
 45599  	// only when it's idle (it has no connections).
 45600  	//
 45601  	// If a DB cluster is paused for more than seven days, the DB cluster might
 45602  	// be backed up with a snapshot. In this case, the DB cluster is restored when
 45603  	// there is a request to connect to it.
 45604  	AutoPause *bool `type:"boolean"`
 45605  
 45606  	// The maximum capacity for an Aurora DB cluster in serverless DB engine mode.
 45607  	//
 45608  	// For Aurora MySQL, valid capacity values are 1, 2, 4, 8, 16, 32, 64, 128,
 45609  	// and 256.
 45610  	//
 45611  	// For Aurora PostgreSQL, valid capacity values are 2, 4, 8, 16, 32, 64, 192,
 45612  	// and 384.
 45613  	//
 45614  	// The maximum capacity must be greater than or equal to the minimum capacity.
 45615  	MaxCapacity *int64 `type:"integer"`
 45616  
 45617  	// The minimum capacity for an Aurora DB cluster in serverless DB engine mode.
 45618  	//
 45619  	// For Aurora MySQL, valid capacity values are 1, 2, 4, 8, 16, 32, 64, 128,
 45620  	// and 256.
 45621  	//
 45622  	// For Aurora PostgreSQL, valid capacity values are 2, 4, 8, 16, 32, 64, 192,
 45623  	// and 384.
 45624  	//
 45625  	// The minimum capacity must be less than or equal to the maximum capacity.
 45626  	MinCapacity *int64 `type:"integer"`
 45627  
 45628  	// The amount of time, in seconds, that Aurora Serverless tries to find a scaling
 45629  	// point to perform seamless scaling before enforcing the timeout action. The
 45630  	// default is 300.
 45631  	//
 45632  	// Specify a value between 60 and 600 seconds.
 45633  	SecondsBeforeTimeout *int64 `type:"integer"`
 45634  
 45635  	// The time, in seconds, before an Aurora DB cluster in serverless mode is paused.
 45636  	//
 45637  	// Specify a value between 300 and 86,400 seconds.
 45638  	SecondsUntilAutoPause *int64 `type:"integer"`
 45639  
 45640  	// The action to take when the timeout is reached, either ForceApplyCapacityChange
 45641  	// or RollbackCapacityChange.
 45642  	//
 45643  	// ForceApplyCapacityChange sets the capacity to the specified value as soon
 45644  	// as possible.
 45645  	//
 45646  	// RollbackCapacityChange, the default, ignores the capacity change if a scaling
 45647  	// point isn't found in the timeout period.
 45648  	//
 45649  	// If you specify ForceApplyCapacityChange, connections that prevent Aurora
 45650  	// Serverless from finding a scaling point might be dropped.
 45651  	//
 45652  	// 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)
 45653  	// in the Amazon Aurora User Guide.
 45654  	TimeoutAction *string `type:"string"`
 45655  }
 45656  
 45657  // String returns the string representation.
 45658  //
 45659  // API parameter values that are decorated as "sensitive" in the API will not
 45660  // be included in the string output. The member name will be present, but the
 45661  // value will be replaced with "sensitive".
 45662  func (s ScalingConfiguration) String() string {
 45663  	return awsutil.Prettify(s)
 45664  }
 45665  
 45666  // GoString returns the string representation.
 45667  //
 45668  // API parameter values that are decorated as "sensitive" in the API will not
 45669  // be included in the string output. The member name will be present, but the
 45670  // value will be replaced with "sensitive".
 45671  func (s ScalingConfiguration) GoString() string {
 45672  	return s.String()
 45673  }
 45674  
 45675  // SetAutoPause sets the AutoPause field's value.
 45676  func (s *ScalingConfiguration) SetAutoPause(v bool) *ScalingConfiguration {
 45677  	s.AutoPause = &v
 45678  	return s
 45679  }
 45680  
 45681  // SetMaxCapacity sets the MaxCapacity field's value.
 45682  func (s *ScalingConfiguration) SetMaxCapacity(v int64) *ScalingConfiguration {
 45683  	s.MaxCapacity = &v
 45684  	return s
 45685  }
 45686  
 45687  // SetMinCapacity sets the MinCapacity field's value.
 45688  func (s *ScalingConfiguration) SetMinCapacity(v int64) *ScalingConfiguration {
 45689  	s.MinCapacity = &v
 45690  	return s
 45691  }
 45692  
 45693  // SetSecondsBeforeTimeout sets the SecondsBeforeTimeout field's value.
 45694  func (s *ScalingConfiguration) SetSecondsBeforeTimeout(v int64) *ScalingConfiguration {
 45695  	s.SecondsBeforeTimeout = &v
 45696  	return s
 45697  }
 45698  
 45699  // SetSecondsUntilAutoPause sets the SecondsUntilAutoPause field's value.
 45700  func (s *ScalingConfiguration) SetSecondsUntilAutoPause(v int64) *ScalingConfiguration {
 45701  	s.SecondsUntilAutoPause = &v
 45702  	return s
 45703  }
 45704  
 45705  // SetTimeoutAction sets the TimeoutAction field's value.
 45706  func (s *ScalingConfiguration) SetTimeoutAction(v string) *ScalingConfiguration {
 45707  	s.TimeoutAction = &v
 45708  	return s
 45709  }
 45710  
 45711  // Shows the scaling configuration for an Aurora DB cluster in serverless DB
 45712  // engine mode.
 45713  //
 45714  // For more information, see Using Amazon Aurora Serverless (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html)
 45715  // in the Amazon Aurora User Guide.
 45716  type ScalingConfigurationInfo struct {
 45717  	_ struct{} `type:"structure"`
 45718  
 45719  	// A value that indicates whether automatic pause is allowed for the Aurora
 45720  	// DB cluster in serverless DB engine mode.
 45721  	//
 45722  	// When the value is set to false for an Aurora Serverless DB cluster, the DB
 45723  	// cluster automatically resumes.
 45724  	AutoPause *bool `type:"boolean"`
 45725  
 45726  	// The maximum capacity for an Aurora DB cluster in serverless DB engine mode.
 45727  	MaxCapacity *int64 `type:"integer"`
 45728  
 45729  	// The maximum capacity for the Aurora DB cluster in serverless DB engine mode.
 45730  	MinCapacity *int64 `type:"integer"`
 45731  
 45732  	// The number of seconds before scaling times out. What happens when an attempted
 45733  	// scaling action times out is determined by the TimeoutAction setting.
 45734  	SecondsBeforeTimeout *int64 `type:"integer"`
 45735  
 45736  	// The remaining amount of time, in seconds, before the Aurora DB cluster in
 45737  	// serverless mode is paused. A DB cluster can be paused only when it's idle
 45738  	// (it has no connections).
 45739  	SecondsUntilAutoPause *int64 `type:"integer"`
 45740  
 45741  	// The action that occurs when Aurora times out while attempting to change the
 45742  	// capacity of an Aurora Serverless cluster. The value is either ForceApplyCapacityChange
 45743  	// or RollbackCapacityChange.
 45744  	//
 45745  	// ForceApplyCapacityChange, the default, sets the capacity to the specified
 45746  	// value as soon as possible.
 45747  	//
 45748  	// RollbackCapacityChange ignores the capacity change if a scaling point isn't
 45749  	// found in the timeout period.
 45750  	TimeoutAction *string `type:"string"`
 45751  }
 45752  
 45753  // String returns the string representation.
 45754  //
 45755  // API parameter values that are decorated as "sensitive" in the API will not
 45756  // be included in the string output. The member name will be present, but the
 45757  // value will be replaced with "sensitive".
 45758  func (s ScalingConfigurationInfo) String() string {
 45759  	return awsutil.Prettify(s)
 45760  }
 45761  
 45762  // GoString returns the string representation.
 45763  //
 45764  // API parameter values that are decorated as "sensitive" in the API will not
 45765  // be included in the string output. The member name will be present, but the
 45766  // value will be replaced with "sensitive".
 45767  func (s ScalingConfigurationInfo) GoString() string {
 45768  	return s.String()
 45769  }
 45770  
 45771  // SetAutoPause sets the AutoPause field's value.
 45772  func (s *ScalingConfigurationInfo) SetAutoPause(v bool) *ScalingConfigurationInfo {
 45773  	s.AutoPause = &v
 45774  	return s
 45775  }
 45776  
 45777  // SetMaxCapacity sets the MaxCapacity field's value.
 45778  func (s *ScalingConfigurationInfo) SetMaxCapacity(v int64) *ScalingConfigurationInfo {
 45779  	s.MaxCapacity = &v
 45780  	return s
 45781  }
 45782  
 45783  // SetMinCapacity sets the MinCapacity field's value.
 45784  func (s *ScalingConfigurationInfo) SetMinCapacity(v int64) *ScalingConfigurationInfo {
 45785  	s.MinCapacity = &v
 45786  	return s
 45787  }
 45788  
 45789  // SetSecondsBeforeTimeout sets the SecondsBeforeTimeout field's value.
 45790  func (s *ScalingConfigurationInfo) SetSecondsBeforeTimeout(v int64) *ScalingConfigurationInfo {
 45791  	s.SecondsBeforeTimeout = &v
 45792  	return s
 45793  }
 45794  
 45795  // SetSecondsUntilAutoPause sets the SecondsUntilAutoPause field's value.
 45796  func (s *ScalingConfigurationInfo) SetSecondsUntilAutoPause(v int64) *ScalingConfigurationInfo {
 45797  	s.SecondsUntilAutoPause = &v
 45798  	return s
 45799  }
 45800  
 45801  // SetTimeoutAction sets the TimeoutAction field's value.
 45802  func (s *ScalingConfigurationInfo) SetTimeoutAction(v string) *ScalingConfigurationInfo {
 45803  	s.TimeoutAction = &v
 45804  	return s
 45805  }
 45806  
 45807  // Contains an Amazon Web Services Region name as the result of a successful
 45808  // call to the DescribeSourceRegions action.
 45809  type SourceRegion struct {
 45810  	_ struct{} `type:"structure"`
 45811  
 45812  	// The endpoint for the source Amazon Web Services Region endpoint.
 45813  	Endpoint *string `type:"string"`
 45814  
 45815  	// The name of the source Amazon Web Services Region.
 45816  	RegionName *string `type:"string"`
 45817  
 45818  	// The status of the source Amazon Web Services Region.
 45819  	Status *string `type:"string"`
 45820  
 45821  	// Whether the source Amazon Web Services Region supports replicating automated
 45822  	// backups to the current Amazon Web Services Region.
 45823  	SupportsDBInstanceAutomatedBackupsReplication *bool `type:"boolean"`
 45824  }
 45825  
 45826  // String returns the string representation.
 45827  //
 45828  // API parameter values that are decorated as "sensitive" in the API will not
 45829  // be included in the string output. The member name will be present, but the
 45830  // value will be replaced with "sensitive".
 45831  func (s SourceRegion) String() string {
 45832  	return awsutil.Prettify(s)
 45833  }
 45834  
 45835  // GoString returns the string representation.
 45836  //
 45837  // API parameter values that are decorated as "sensitive" in the API will not
 45838  // be included in the string output. The member name will be present, but the
 45839  // value will be replaced with "sensitive".
 45840  func (s SourceRegion) GoString() string {
 45841  	return s.String()
 45842  }
 45843  
 45844  // SetEndpoint sets the Endpoint field's value.
 45845  func (s *SourceRegion) SetEndpoint(v string) *SourceRegion {
 45846  	s.Endpoint = &v
 45847  	return s
 45848  }
 45849  
 45850  // SetRegionName sets the RegionName field's value.
 45851  func (s *SourceRegion) SetRegionName(v string) *SourceRegion {
 45852  	s.RegionName = &v
 45853  	return s
 45854  }
 45855  
 45856  // SetStatus sets the Status field's value.
 45857  func (s *SourceRegion) SetStatus(v string) *SourceRegion {
 45858  	s.Status = &v
 45859  	return s
 45860  }
 45861  
 45862  // SetSupportsDBInstanceAutomatedBackupsReplication sets the SupportsDBInstanceAutomatedBackupsReplication field's value.
 45863  func (s *SourceRegion) SetSupportsDBInstanceAutomatedBackupsReplication(v bool) *SourceRegion {
 45864  	s.SupportsDBInstanceAutomatedBackupsReplication = &v
 45865  	return s
 45866  }
 45867  
 45868  type StartActivityStreamInput struct {
 45869  	_ struct{} `type:"structure"`
 45870  
 45871  	// Specifies whether or not the database activity stream is to start as soon
 45872  	// as possible, regardless of the maintenance window for the database.
 45873  	ApplyImmediately *bool `type:"boolean"`
 45874  
 45875  	// Specifies whether the database activity stream includes engine-native audit
 45876  	// fields. This option only applies to an Oracle DB instance. By default, no
 45877  	// engine-native audit fields are included.
 45878  	EngineNativeAuditFieldsIncluded *bool `type:"boolean"`
 45879  
 45880  	// The Amazon Web Services KMS key identifier for encrypting messages in the
 45881  	// database activity stream. The Amazon Web Services KMS key identifier is the
 45882  	// key ARN, key ID, alias ARN, or alias name for the Amazon Web Services KMS
 45883  	// customer master key (CMK).
 45884  	//
 45885  	// KmsKeyId is a required field
 45886  	KmsKeyId *string `type:"string" required:"true"`
 45887  
 45888  	// Specifies the mode of the database activity stream. Database events such
 45889  	// as a change or access generate an activity stream event. The database session
 45890  	// can handle these events either synchronously or asynchronously.
 45891  	//
 45892  	// Mode is a required field
 45893  	Mode *string `type:"string" required:"true" enum:"ActivityStreamMode"`
 45894  
 45895  	// The Amazon Resource Name (ARN) of the DB cluster, for example, arn:aws:rds:us-east-1:12345667890:cluster:das-cluster.
 45896  	//
 45897  	// ResourceArn is a required field
 45898  	ResourceArn *string `type:"string" required:"true"`
 45899  }
 45900  
 45901  // String returns the string representation.
 45902  //
 45903  // API parameter values that are decorated as "sensitive" in the API will not
 45904  // be included in the string output. The member name will be present, but the
 45905  // value will be replaced with "sensitive".
 45906  func (s StartActivityStreamInput) String() string {
 45907  	return awsutil.Prettify(s)
 45908  }
 45909  
 45910  // GoString returns the string representation.
 45911  //
 45912  // API parameter values that are decorated as "sensitive" in the API will not
 45913  // be included in the string output. The member name will be present, but the
 45914  // value will be replaced with "sensitive".
 45915  func (s StartActivityStreamInput) GoString() string {
 45916  	return s.String()
 45917  }
 45918  
 45919  // Validate inspects the fields of the type to determine if they are valid.
 45920  func (s *StartActivityStreamInput) Validate() error {
 45921  	invalidParams := request.ErrInvalidParams{Context: "StartActivityStreamInput"}
 45922  	if s.KmsKeyId == nil {
 45923  		invalidParams.Add(request.NewErrParamRequired("KmsKeyId"))
 45924  	}
 45925  	if s.Mode == nil {
 45926  		invalidParams.Add(request.NewErrParamRequired("Mode"))
 45927  	}
 45928  	if s.ResourceArn == nil {
 45929  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 45930  	}
 45931  
 45932  	if invalidParams.Len() > 0 {
 45933  		return invalidParams
 45934  	}
 45935  	return nil
 45936  }
 45937  
 45938  // SetApplyImmediately sets the ApplyImmediately field's value.
 45939  func (s *StartActivityStreamInput) SetApplyImmediately(v bool) *StartActivityStreamInput {
 45940  	s.ApplyImmediately = &v
 45941  	return s
 45942  }
 45943  
 45944  // SetEngineNativeAuditFieldsIncluded sets the EngineNativeAuditFieldsIncluded field's value.
 45945  func (s *StartActivityStreamInput) SetEngineNativeAuditFieldsIncluded(v bool) *StartActivityStreamInput {
 45946  	s.EngineNativeAuditFieldsIncluded = &v
 45947  	return s
 45948  }
 45949  
 45950  // SetKmsKeyId sets the KmsKeyId field's value.
 45951  func (s *StartActivityStreamInput) SetKmsKeyId(v string) *StartActivityStreamInput {
 45952  	s.KmsKeyId = &v
 45953  	return s
 45954  }
 45955  
 45956  // SetMode sets the Mode field's value.
 45957  func (s *StartActivityStreamInput) SetMode(v string) *StartActivityStreamInput {
 45958  	s.Mode = &v
 45959  	return s
 45960  }
 45961  
 45962  // SetResourceArn sets the ResourceArn field's value.
 45963  func (s *StartActivityStreamInput) SetResourceArn(v string) *StartActivityStreamInput {
 45964  	s.ResourceArn = &v
 45965  	return s
 45966  }
 45967  
 45968  type StartActivityStreamOutput struct {
 45969  	_ struct{} `type:"structure"`
 45970  
 45971  	// Indicates whether or not the database activity stream will start as soon
 45972  	// as possible, regardless of the maintenance window for the database.
 45973  	ApplyImmediately *bool `type:"boolean"`
 45974  
 45975  	// Indicates whether engine-native audit fields are included in the database
 45976  	// activity stream.
 45977  	EngineNativeAuditFieldsIncluded *bool `type:"boolean"`
 45978  
 45979  	// The name of the Amazon Kinesis data stream to be used for the database activity
 45980  	// stream.
 45981  	KinesisStreamName *string `type:"string"`
 45982  
 45983  	// The Amazon Web Services KMS key identifier for encryption of messages in
 45984  	// the database activity stream.
 45985  	KmsKeyId *string `type:"string"`
 45986  
 45987  	// The mode of the database activity stream.
 45988  	Mode *string `type:"string" enum:"ActivityStreamMode"`
 45989  
 45990  	// The status of the database activity stream.
 45991  	Status *string `type:"string" enum:"ActivityStreamStatus"`
 45992  }
 45993  
 45994  // String returns the string representation.
 45995  //
 45996  // API parameter values that are decorated as "sensitive" in the API will not
 45997  // be included in the string output. The member name will be present, but the
 45998  // value will be replaced with "sensitive".
 45999  func (s StartActivityStreamOutput) String() string {
 46000  	return awsutil.Prettify(s)
 46001  }
 46002  
 46003  // GoString returns the string representation.
 46004  //
 46005  // API parameter values that are decorated as "sensitive" in the API will not
 46006  // be included in the string output. The member name will be present, but the
 46007  // value will be replaced with "sensitive".
 46008  func (s StartActivityStreamOutput) GoString() string {
 46009  	return s.String()
 46010  }
 46011  
 46012  // SetApplyImmediately sets the ApplyImmediately field's value.
 46013  func (s *StartActivityStreamOutput) SetApplyImmediately(v bool) *StartActivityStreamOutput {
 46014  	s.ApplyImmediately = &v
 46015  	return s
 46016  }
 46017  
 46018  // SetEngineNativeAuditFieldsIncluded sets the EngineNativeAuditFieldsIncluded field's value.
 46019  func (s *StartActivityStreamOutput) SetEngineNativeAuditFieldsIncluded(v bool) *StartActivityStreamOutput {
 46020  	s.EngineNativeAuditFieldsIncluded = &v
 46021  	return s
 46022  }
 46023  
 46024  // SetKinesisStreamName sets the KinesisStreamName field's value.
 46025  func (s *StartActivityStreamOutput) SetKinesisStreamName(v string) *StartActivityStreamOutput {
 46026  	s.KinesisStreamName = &v
 46027  	return s
 46028  }
 46029  
 46030  // SetKmsKeyId sets the KmsKeyId field's value.
 46031  func (s *StartActivityStreamOutput) SetKmsKeyId(v string) *StartActivityStreamOutput {
 46032  	s.KmsKeyId = &v
 46033  	return s
 46034  }
 46035  
 46036  // SetMode sets the Mode field's value.
 46037  func (s *StartActivityStreamOutput) SetMode(v string) *StartActivityStreamOutput {
 46038  	s.Mode = &v
 46039  	return s
 46040  }
 46041  
 46042  // SetStatus sets the Status field's value.
 46043  func (s *StartActivityStreamOutput) SetStatus(v string) *StartActivityStreamOutput {
 46044  	s.Status = &v
 46045  	return s
 46046  }
 46047  
 46048  type StartDBClusterInput struct {
 46049  	_ struct{} `type:"structure"`
 46050  
 46051  	// The DB cluster identifier of the Amazon Aurora DB cluster to be started.
 46052  	// This parameter is stored as a lowercase string.
 46053  	//
 46054  	// DBClusterIdentifier is a required field
 46055  	DBClusterIdentifier *string `type:"string" required:"true"`
 46056  }
 46057  
 46058  // String returns the string representation.
 46059  //
 46060  // API parameter values that are decorated as "sensitive" in the API will not
 46061  // be included in the string output. The member name will be present, but the
 46062  // value will be replaced with "sensitive".
 46063  func (s StartDBClusterInput) String() string {
 46064  	return awsutil.Prettify(s)
 46065  }
 46066  
 46067  // GoString returns the string representation.
 46068  //
 46069  // API parameter values that are decorated as "sensitive" in the API will not
 46070  // be included in the string output. The member name will be present, but the
 46071  // value will be replaced with "sensitive".
 46072  func (s StartDBClusterInput) GoString() string {
 46073  	return s.String()
 46074  }
 46075  
 46076  // Validate inspects the fields of the type to determine if they are valid.
 46077  func (s *StartDBClusterInput) Validate() error {
 46078  	invalidParams := request.ErrInvalidParams{Context: "StartDBClusterInput"}
 46079  	if s.DBClusterIdentifier == nil {
 46080  		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
 46081  	}
 46082  
 46083  	if invalidParams.Len() > 0 {
 46084  		return invalidParams
 46085  	}
 46086  	return nil
 46087  }
 46088  
 46089  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 46090  func (s *StartDBClusterInput) SetDBClusterIdentifier(v string) *StartDBClusterInput {
 46091  	s.DBClusterIdentifier = &v
 46092  	return s
 46093  }
 46094  
 46095  type StartDBClusterOutput struct {
 46096  	_ struct{} `type:"structure"`
 46097  
 46098  	// Contains the details of an Amazon Aurora DB cluster.
 46099  	//
 46100  	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
 46101  	// and StartDBCluster actions.
 46102  	DBCluster *DBCluster `type:"structure"`
 46103  }
 46104  
 46105  // String returns the string representation.
 46106  //
 46107  // API parameter values that are decorated as "sensitive" in the API will not
 46108  // be included in the string output. The member name will be present, but the
 46109  // value will be replaced with "sensitive".
 46110  func (s StartDBClusterOutput) String() string {
 46111  	return awsutil.Prettify(s)
 46112  }
 46113  
 46114  // GoString returns the string representation.
 46115  //
 46116  // API parameter values that are decorated as "sensitive" in the API will not
 46117  // be included in the string output. The member name will be present, but the
 46118  // value will be replaced with "sensitive".
 46119  func (s StartDBClusterOutput) GoString() string {
 46120  	return s.String()
 46121  }
 46122  
 46123  // SetDBCluster sets the DBCluster field's value.
 46124  func (s *StartDBClusterOutput) SetDBCluster(v *DBCluster) *StartDBClusterOutput {
 46125  	s.DBCluster = v
 46126  	return s
 46127  }
 46128  
 46129  type StartDBInstanceAutomatedBackupsReplicationInput struct {
 46130  	_ struct{} `type:"structure"`
 46131  
 46132  	// The retention period for the replicated automated backups.
 46133  	BackupRetentionPeriod *int64 `type:"integer"`
 46134  
 46135  	// DestinationRegion is used for presigning the request to a given region.
 46136  	DestinationRegion *string `type:"string"`
 46137  
 46138  	// The Amazon Web Services KMS key identifier for encryption of the replicated
 46139  	// automated backups. The KMS key ID is the Amazon Resource Name (ARN) for the
 46140  	// KMS encryption key in the destination Amazon Web Services Region, for example,
 46141  	// arn:aws:kms:us-east-1:123456789012:key/AKIAIOSFODNN7EXAMPLE.
 46142  	KmsKeyId *string `type:"string"`
 46143  
 46144  	// A URL that contains a Signature Version 4 signed request for the StartDBInstanceAutomatedBackupsReplication
 46145  	// action to be called in the Amazon Web Services Region of the source DB instance.
 46146  	// The presigned URL must be a valid request for the StartDBInstanceAutomatedBackupsReplication
 46147  	// API action that can be executed in the Amazon Web Services Region that contains
 46148  	// the source DB instance.
 46149  	PreSignedUrl *string `type:"string"`
 46150  
 46151  	// The Amazon Resource Name (ARN) of the source DB instance for the replicated
 46152  	// automated backups, for example, arn:aws:rds:us-west-2:123456789012:db:mydatabase.
 46153  	//
 46154  	// SourceDBInstanceArn is a required field
 46155  	SourceDBInstanceArn *string `type:"string" required:"true"`
 46156  
 46157  	// SourceRegion is the source region where the resource exists. This is not
 46158  	// sent over the wire and is only used for presigning. This value should always
 46159  	// have the same region as the source ARN.
 46160  	SourceRegion *string `type:"string" ignore:"true"`
 46161  }
 46162  
 46163  // String returns the string representation.
 46164  //
 46165  // API parameter values that are decorated as "sensitive" in the API will not
 46166  // be included in the string output. The member name will be present, but the
 46167  // value will be replaced with "sensitive".
 46168  func (s StartDBInstanceAutomatedBackupsReplicationInput) String() string {
 46169  	return awsutil.Prettify(s)
 46170  }
 46171  
 46172  // GoString returns the string representation.
 46173  //
 46174  // API parameter values that are decorated as "sensitive" in the API will not
 46175  // be included in the string output. The member name will be present, but the
 46176  // value will be replaced with "sensitive".
 46177  func (s StartDBInstanceAutomatedBackupsReplicationInput) GoString() string {
 46178  	return s.String()
 46179  }
 46180  
 46181  // Validate inspects the fields of the type to determine if they are valid.
 46182  func (s *StartDBInstanceAutomatedBackupsReplicationInput) Validate() error {
 46183  	invalidParams := request.ErrInvalidParams{Context: "StartDBInstanceAutomatedBackupsReplicationInput"}
 46184  	if s.SourceDBInstanceArn == nil {
 46185  		invalidParams.Add(request.NewErrParamRequired("SourceDBInstanceArn"))
 46186  	}
 46187  
 46188  	if invalidParams.Len() > 0 {
 46189  		return invalidParams
 46190  	}
 46191  	return nil
 46192  }
 46193  
 46194  // SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
 46195  func (s *StartDBInstanceAutomatedBackupsReplicationInput) SetBackupRetentionPeriod(v int64) *StartDBInstanceAutomatedBackupsReplicationInput {
 46196  	s.BackupRetentionPeriod = &v
 46197  	return s
 46198  }
 46199  
 46200  // SetDestinationRegion sets the DestinationRegion field's value.
 46201  func (s *StartDBInstanceAutomatedBackupsReplicationInput) SetDestinationRegion(v string) *StartDBInstanceAutomatedBackupsReplicationInput {
 46202  	s.DestinationRegion = &v
 46203  	return s
 46204  }
 46205  
 46206  // SetKmsKeyId sets the KmsKeyId field's value.
 46207  func (s *StartDBInstanceAutomatedBackupsReplicationInput) SetKmsKeyId(v string) *StartDBInstanceAutomatedBackupsReplicationInput {
 46208  	s.KmsKeyId = &v
 46209  	return s
 46210  }
 46211  
 46212  // SetPreSignedUrl sets the PreSignedUrl field's value.
 46213  func (s *StartDBInstanceAutomatedBackupsReplicationInput) SetPreSignedUrl(v string) *StartDBInstanceAutomatedBackupsReplicationInput {
 46214  	s.PreSignedUrl = &v
 46215  	return s
 46216  }
 46217  
 46218  // SetSourceDBInstanceArn sets the SourceDBInstanceArn field's value.
 46219  func (s *StartDBInstanceAutomatedBackupsReplicationInput) SetSourceDBInstanceArn(v string) *StartDBInstanceAutomatedBackupsReplicationInput {
 46220  	s.SourceDBInstanceArn = &v
 46221  	return s
 46222  }
 46223  
 46224  // SetSourceRegion sets the SourceRegion field's value.
 46225  func (s *StartDBInstanceAutomatedBackupsReplicationInput) SetSourceRegion(v string) *StartDBInstanceAutomatedBackupsReplicationInput {
 46226  	s.SourceRegion = &v
 46227  	return s
 46228  }
 46229  
 46230  type StartDBInstanceAutomatedBackupsReplicationOutput struct {
 46231  	_ struct{} `type:"structure"`
 46232  
 46233  	// An automated backup of a DB instance. It consists of system backups, transaction
 46234  	// logs, and the database instance properties that existed at the time you deleted
 46235  	// the source instance.
 46236  	DBInstanceAutomatedBackup *DBInstanceAutomatedBackup `type:"structure"`
 46237  }
 46238  
 46239  // String returns the string representation.
 46240  //
 46241  // API parameter values that are decorated as "sensitive" in the API will not
 46242  // be included in the string output. The member name will be present, but the
 46243  // value will be replaced with "sensitive".
 46244  func (s StartDBInstanceAutomatedBackupsReplicationOutput) String() string {
 46245  	return awsutil.Prettify(s)
 46246  }
 46247  
 46248  // GoString returns the string representation.
 46249  //
 46250  // API parameter values that are decorated as "sensitive" in the API will not
 46251  // be included in the string output. The member name will be present, but the
 46252  // value will be replaced with "sensitive".
 46253  func (s StartDBInstanceAutomatedBackupsReplicationOutput) GoString() string {
 46254  	return s.String()
 46255  }
 46256  
 46257  // SetDBInstanceAutomatedBackup sets the DBInstanceAutomatedBackup field's value.
 46258  func (s *StartDBInstanceAutomatedBackupsReplicationOutput) SetDBInstanceAutomatedBackup(v *DBInstanceAutomatedBackup) *StartDBInstanceAutomatedBackupsReplicationOutput {
 46259  	s.DBInstanceAutomatedBackup = v
 46260  	return s
 46261  }
 46262  
 46263  type StartDBInstanceInput struct {
 46264  	_ struct{} `type:"structure"`
 46265  
 46266  	// The user-supplied instance identifier.
 46267  	//
 46268  	// DBInstanceIdentifier is a required field
 46269  	DBInstanceIdentifier *string `type:"string" required:"true"`
 46270  }
 46271  
 46272  // String returns the string representation.
 46273  //
 46274  // API parameter values that are decorated as "sensitive" in the API will not
 46275  // be included in the string output. The member name will be present, but the
 46276  // value will be replaced with "sensitive".
 46277  func (s StartDBInstanceInput) String() string {
 46278  	return awsutil.Prettify(s)
 46279  }
 46280  
 46281  // GoString returns the string representation.
 46282  //
 46283  // API parameter values that are decorated as "sensitive" in the API will not
 46284  // be included in the string output. The member name will be present, but the
 46285  // value will be replaced with "sensitive".
 46286  func (s StartDBInstanceInput) GoString() string {
 46287  	return s.String()
 46288  }
 46289  
 46290  // Validate inspects the fields of the type to determine if they are valid.
 46291  func (s *StartDBInstanceInput) Validate() error {
 46292  	invalidParams := request.ErrInvalidParams{Context: "StartDBInstanceInput"}
 46293  	if s.DBInstanceIdentifier == nil {
 46294  		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
 46295  	}
 46296  
 46297  	if invalidParams.Len() > 0 {
 46298  		return invalidParams
 46299  	}
 46300  	return nil
 46301  }
 46302  
 46303  // SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
 46304  func (s *StartDBInstanceInput) SetDBInstanceIdentifier(v string) *StartDBInstanceInput {
 46305  	s.DBInstanceIdentifier = &v
 46306  	return s
 46307  }
 46308  
 46309  type StartDBInstanceOutput struct {
 46310  	_ struct{} `type:"structure"`
 46311  
 46312  	// Contains the details of an Amazon RDS DB instance.
 46313  	//
 46314  	// This data type is used as a response element in the DescribeDBInstances action.
 46315  	DBInstance *DBInstance `type:"structure"`
 46316  }
 46317  
 46318  // String returns the string representation.
 46319  //
 46320  // API parameter values that are decorated as "sensitive" in the API will not
 46321  // be included in the string output. The member name will be present, but the
 46322  // value will be replaced with "sensitive".
 46323  func (s StartDBInstanceOutput) String() string {
 46324  	return awsutil.Prettify(s)
 46325  }
 46326  
 46327  // GoString returns the string representation.
 46328  //
 46329  // API parameter values that are decorated as "sensitive" in the API will not
 46330  // be included in the string output. The member name will be present, but the
 46331  // value will be replaced with "sensitive".
 46332  func (s StartDBInstanceOutput) GoString() string {
 46333  	return s.String()
 46334  }
 46335  
 46336  // SetDBInstance sets the DBInstance field's value.
 46337  func (s *StartDBInstanceOutput) SetDBInstance(v *DBInstance) *StartDBInstanceOutput {
 46338  	s.DBInstance = v
 46339  	return s
 46340  }
 46341  
 46342  type StartExportTaskInput struct {
 46343  	_ struct{} `type:"structure"`
 46344  
 46345  	// The data to be exported from the snapshot. If this parameter is not provided,
 46346  	// all the snapshot data is exported. Valid values are the following:
 46347  	//
 46348  	//    * database - Export all the data from a specified database.
 46349  	//
 46350  	//    * database.table table-name - Export a table of the snapshot. This format
 46351  	//    is valid only for RDS for MySQL, RDS for MariaDB, and Aurora MySQL.
 46352  	//
 46353  	//    * database.schema schema-name - Export a database schema of the snapshot.
 46354  	//    This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.
 46355  	//
 46356  	//    * database.schema.table table-name - Export a table of the database schema.
 46357  	//    This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.
 46358  	ExportOnly []*string `type:"list"`
 46359  
 46360  	// A unique identifier for the snapshot export task. This ID isn't an identifier
 46361  	// for the Amazon S3 bucket where the snapshot is to be exported to.
 46362  	//
 46363  	// ExportTaskIdentifier is a required field
 46364  	ExportTaskIdentifier *string `type:"string" required:"true"`
 46365  
 46366  	// The name of the IAM role to use for writing to the Amazon S3 bucket when
 46367  	// exporting a snapshot.
 46368  	//
 46369  	// IamRoleArn is a required field
 46370  	IamRoleArn *string `type:"string" required:"true"`
 46371  
 46372  	// The ID of the Amazon Web Services KMS customer master key (CMK) to use to
 46373  	// encrypt the snapshot exported to Amazon S3. The Amazon Web Services KMS key
 46374  	// identifier is the key ARN, key ID, alias ARN, or alias name for the Amazon
 46375  	// Web Services KMS customer master key (CMK). The caller of this operation
 46376  	// must be authorized to execute the following operations. These can be set
 46377  	// in the Amazon Web Services KMS key policy:
 46378  	//
 46379  	//    * GrantOperation.Encrypt
 46380  	//
 46381  	//    * GrantOperation.Decrypt
 46382  	//
 46383  	//    * GrantOperation.GenerateDataKey
 46384  	//
 46385  	//    * GrantOperation.GenerateDataKeyWithoutPlaintext
 46386  	//
 46387  	//    * GrantOperation.ReEncryptFrom
 46388  	//
 46389  	//    * GrantOperation.ReEncryptTo
 46390  	//
 46391  	//    * GrantOperation.CreateGrant
 46392  	//
 46393  	//    * GrantOperation.DescribeKey
 46394  	//
 46395  	//    * GrantOperation.RetireGrant
 46396  	//
 46397  	// KmsKeyId is a required field
 46398  	KmsKeyId *string `type:"string" required:"true"`
 46399  
 46400  	// The name of the Amazon S3 bucket to export the snapshot to.
 46401  	//
 46402  	// S3BucketName is a required field
 46403  	S3BucketName *string `type:"string" required:"true"`
 46404  
 46405  	// The Amazon S3 bucket prefix to use as the file name and path of the exported
 46406  	// snapshot.
 46407  	S3Prefix *string `type:"string"`
 46408  
 46409  	// The Amazon Resource Name (ARN) of the snapshot to export to Amazon S3.
 46410  	//
 46411  	// SourceArn is a required field
 46412  	SourceArn *string `type:"string" required:"true"`
 46413  }
 46414  
 46415  // String returns the string representation.
 46416  //
 46417  // API parameter values that are decorated as "sensitive" in the API will not
 46418  // be included in the string output. The member name will be present, but the
 46419  // value will be replaced with "sensitive".
 46420  func (s StartExportTaskInput) String() string {
 46421  	return awsutil.Prettify(s)
 46422  }
 46423  
 46424  // GoString returns the string representation.
 46425  //
 46426  // API parameter values that are decorated as "sensitive" in the API will not
 46427  // be included in the string output. The member name will be present, but the
 46428  // value will be replaced with "sensitive".
 46429  func (s StartExportTaskInput) GoString() string {
 46430  	return s.String()
 46431  }
 46432  
 46433  // Validate inspects the fields of the type to determine if they are valid.
 46434  func (s *StartExportTaskInput) Validate() error {
 46435  	invalidParams := request.ErrInvalidParams{Context: "StartExportTaskInput"}
 46436  	if s.ExportTaskIdentifier == nil {
 46437  		invalidParams.Add(request.NewErrParamRequired("ExportTaskIdentifier"))
 46438  	}
 46439  	if s.IamRoleArn == nil {
 46440  		invalidParams.Add(request.NewErrParamRequired("IamRoleArn"))
 46441  	}
 46442  	if s.KmsKeyId == nil {
 46443  		invalidParams.Add(request.NewErrParamRequired("KmsKeyId"))
 46444  	}
 46445  	if s.S3BucketName == nil {
 46446  		invalidParams.Add(request.NewErrParamRequired("S3BucketName"))
 46447  	}
 46448  	if s.SourceArn == nil {
 46449  		invalidParams.Add(request.NewErrParamRequired("SourceArn"))
 46450  	}
 46451  
 46452  	if invalidParams.Len() > 0 {
 46453  		return invalidParams
 46454  	}
 46455  	return nil
 46456  }
 46457  
 46458  // SetExportOnly sets the ExportOnly field's value.
 46459  func (s *StartExportTaskInput) SetExportOnly(v []*string) *StartExportTaskInput {
 46460  	s.ExportOnly = v
 46461  	return s
 46462  }
 46463  
 46464  // SetExportTaskIdentifier sets the ExportTaskIdentifier field's value.
 46465  func (s *StartExportTaskInput) SetExportTaskIdentifier(v string) *StartExportTaskInput {
 46466  	s.ExportTaskIdentifier = &v
 46467  	return s
 46468  }
 46469  
 46470  // SetIamRoleArn sets the IamRoleArn field's value.
 46471  func (s *StartExportTaskInput) SetIamRoleArn(v string) *StartExportTaskInput {
 46472  	s.IamRoleArn = &v
 46473  	return s
 46474  }
 46475  
 46476  // SetKmsKeyId sets the KmsKeyId field's value.
 46477  func (s *StartExportTaskInput) SetKmsKeyId(v string) *StartExportTaskInput {
 46478  	s.KmsKeyId = &v
 46479  	return s
 46480  }
 46481  
 46482  // SetS3BucketName sets the S3BucketName field's value.
 46483  func (s *StartExportTaskInput) SetS3BucketName(v string) *StartExportTaskInput {
 46484  	s.S3BucketName = &v
 46485  	return s
 46486  }
 46487  
 46488  // SetS3Prefix sets the S3Prefix field's value.
 46489  func (s *StartExportTaskInput) SetS3Prefix(v string) *StartExportTaskInput {
 46490  	s.S3Prefix = &v
 46491  	return s
 46492  }
 46493  
 46494  // SetSourceArn sets the SourceArn field's value.
 46495  func (s *StartExportTaskInput) SetSourceArn(v string) *StartExportTaskInput {
 46496  	s.SourceArn = &v
 46497  	return s
 46498  }
 46499  
 46500  // Contains the details of a snapshot export to Amazon S3.
 46501  //
 46502  // This data type is used as a response element in the DescribeExportTasks action.
 46503  type StartExportTaskOutput struct {
 46504  	_ struct{} `type:"structure"`
 46505  
 46506  	// The data exported from the snapshot. Valid values are the following:
 46507  	//
 46508  	//    * database - Export all the data from a specified database.
 46509  	//
 46510  	//    * database.table table-name - Export a table of the snapshot. This format
 46511  	//    is valid only for RDS for MySQL, RDS for MariaDB, and Aurora MySQL.
 46512  	//
 46513  	//    * database.schema schema-name - Export a database schema of the snapshot.
 46514  	//    This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.
 46515  	//
 46516  	//    * database.schema.table table-name - Export a table of the database schema.
 46517  	//    This format is valid only for RDS for PostgreSQL and Aurora PostgreSQL.
 46518  	ExportOnly []*string `type:"list"`
 46519  
 46520  	// A unique identifier for the snapshot export task. This ID isn't an identifier
 46521  	// for the Amazon S3 bucket where the snapshot is exported to.
 46522  	ExportTaskIdentifier *string `type:"string"`
 46523  
 46524  	// The reason the export failed, if it failed.
 46525  	FailureCause *string `type:"string"`
 46526  
 46527  	// The name of the IAM role that is used to write to Amazon S3 when exporting
 46528  	// a snapshot.
 46529  	IamRoleArn *string `type:"string"`
 46530  
 46531  	// The key identifier of the Amazon Web Services KMS customer master key (CMK)
 46532  	// that is used to encrypt the snapshot when it's exported to Amazon S3. The
 46533  	// Amazon Web Services KMS CMK identifier is its key ARN, key ID, alias ARN,
 46534  	// or alias name. The IAM role used for the snapshot export must have encryption
 46535  	// and decryption permissions to use this Amazon Web Services KMS CMK.
 46536  	KmsKeyId *string `type:"string"`
 46537  
 46538  	// The progress of the snapshot export task as a percentage.
 46539  	PercentProgress *int64 `type:"integer"`
 46540  
 46541  	// The Amazon S3 bucket that the snapshot is exported to.
 46542  	S3Bucket *string `type:"string"`
 46543  
 46544  	// The Amazon S3 bucket prefix that is the file name and path of the exported
 46545  	// snapshot.
 46546  	S3Prefix *string `type:"string"`
 46547  
 46548  	// The time that the snapshot was created.
 46549  	SnapshotTime *time.Time `type:"timestamp"`
 46550  
 46551  	// The Amazon Resource Name (ARN) of the snapshot exported to Amazon S3.
 46552  	SourceArn *string `type:"string"`
 46553  
 46554  	// The progress status of the export task.
 46555  	Status *string `type:"string"`
 46556  
 46557  	// The time that the snapshot export task completed.
 46558  	TaskEndTime *time.Time `type:"timestamp"`
 46559  
 46560  	// The time that the snapshot export task started.
 46561  	TaskStartTime *time.Time `type:"timestamp"`
 46562  
 46563  	// The total amount of data exported, in gigabytes.
 46564  	TotalExtractedDataInGB *int64 `type:"integer"`
 46565  
 46566  	// A warning about the snapshot export task.
 46567  	WarningMessage *string `type:"string"`
 46568  }
 46569  
 46570  // String returns the string representation.
 46571  //
 46572  // API parameter values that are decorated as "sensitive" in the API will not
 46573  // be included in the string output. The member name will be present, but the
 46574  // value will be replaced with "sensitive".
 46575  func (s StartExportTaskOutput) String() string {
 46576  	return awsutil.Prettify(s)
 46577  }
 46578  
 46579  // GoString returns the string representation.
 46580  //
 46581  // API parameter values that are decorated as "sensitive" in the API will not
 46582  // be included in the string output. The member name will be present, but the
 46583  // value will be replaced with "sensitive".
 46584  func (s StartExportTaskOutput) GoString() string {
 46585  	return s.String()
 46586  }
 46587  
 46588  // SetExportOnly sets the ExportOnly field's value.
 46589  func (s *StartExportTaskOutput) SetExportOnly(v []*string) *StartExportTaskOutput {
 46590  	s.ExportOnly = v
 46591  	return s
 46592  }
 46593  
 46594  // SetExportTaskIdentifier sets the ExportTaskIdentifier field's value.
 46595  func (s *StartExportTaskOutput) SetExportTaskIdentifier(v string) *StartExportTaskOutput {
 46596  	s.ExportTaskIdentifier = &v
 46597  	return s
 46598  }
 46599  
 46600  // SetFailureCause sets the FailureCause field's value.
 46601  func (s *StartExportTaskOutput) SetFailureCause(v string) *StartExportTaskOutput {
 46602  	s.FailureCause = &v
 46603  	return s
 46604  }
 46605  
 46606  // SetIamRoleArn sets the IamRoleArn field's value.
 46607  func (s *StartExportTaskOutput) SetIamRoleArn(v string) *StartExportTaskOutput {
 46608  	s.IamRoleArn = &v
 46609  	return s
 46610  }
 46611  
 46612  // SetKmsKeyId sets the KmsKeyId field's value.
 46613  func (s *StartExportTaskOutput) SetKmsKeyId(v string) *StartExportTaskOutput {
 46614  	s.KmsKeyId = &v
 46615  	return s
 46616  }
 46617  
 46618  // SetPercentProgress sets the PercentProgress field's value.
 46619  func (s *StartExportTaskOutput) SetPercentProgress(v int64) *StartExportTaskOutput {
 46620  	s.PercentProgress = &v
 46621  	return s
 46622  }
 46623  
 46624  // SetS3Bucket sets the S3Bucket field's value.
 46625  func (s *StartExportTaskOutput) SetS3Bucket(v string) *StartExportTaskOutput {
 46626  	s.S3Bucket = &v
 46627  	return s
 46628  }
 46629  
 46630  // SetS3Prefix sets the S3Prefix field's value.
 46631  func (s *StartExportTaskOutput) SetS3Prefix(v string) *StartExportTaskOutput {
 46632  	s.S3Prefix = &v
 46633  	return s
 46634  }
 46635  
 46636  // SetSnapshotTime sets the SnapshotTime field's value.
 46637  func (s *StartExportTaskOutput) SetSnapshotTime(v time.Time) *StartExportTaskOutput {
 46638  	s.SnapshotTime = &v
 46639  	return s
 46640  }
 46641  
 46642  // SetSourceArn sets the SourceArn field's value.
 46643  func (s *StartExportTaskOutput) SetSourceArn(v string) *StartExportTaskOutput {
 46644  	s.SourceArn = &v
 46645  	return s
 46646  }
 46647  
 46648  // SetStatus sets the Status field's value.
 46649  func (s *StartExportTaskOutput) SetStatus(v string) *StartExportTaskOutput {
 46650  	s.Status = &v
 46651  	return s
 46652  }
 46653  
 46654  // SetTaskEndTime sets the TaskEndTime field's value.
 46655  func (s *StartExportTaskOutput) SetTaskEndTime(v time.Time) *StartExportTaskOutput {
 46656  	s.TaskEndTime = &v
 46657  	return s
 46658  }
 46659  
 46660  // SetTaskStartTime sets the TaskStartTime field's value.
 46661  func (s *StartExportTaskOutput) SetTaskStartTime(v time.Time) *StartExportTaskOutput {
 46662  	s.TaskStartTime = &v
 46663  	return s
 46664  }
 46665  
 46666  // SetTotalExtractedDataInGB sets the TotalExtractedDataInGB field's value.
 46667  func (s *StartExportTaskOutput) SetTotalExtractedDataInGB(v int64) *StartExportTaskOutput {
 46668  	s.TotalExtractedDataInGB = &v
 46669  	return s
 46670  }
 46671  
 46672  // SetWarningMessage sets the WarningMessage field's value.
 46673  func (s *StartExportTaskOutput) SetWarningMessage(v string) *StartExportTaskOutput {
 46674  	s.WarningMessage = &v
 46675  	return s
 46676  }
 46677  
 46678  type StopActivityStreamInput struct {
 46679  	_ struct{} `type:"structure"`
 46680  
 46681  	// Specifies whether or not the database activity stream is to stop as soon
 46682  	// as possible, regardless of the maintenance window for the database.
 46683  	ApplyImmediately *bool `type:"boolean"`
 46684  
 46685  	// The Amazon Resource Name (ARN) of the DB cluster for the database activity
 46686  	// stream. For example, arn:aws:rds:us-east-1:12345667890:cluster:das-cluster.
 46687  	//
 46688  	// ResourceArn is a required field
 46689  	ResourceArn *string `type:"string" required:"true"`
 46690  }
 46691  
 46692  // String returns the string representation.
 46693  //
 46694  // API parameter values that are decorated as "sensitive" in the API will not
 46695  // be included in the string output. The member name will be present, but the
 46696  // value will be replaced with "sensitive".
 46697  func (s StopActivityStreamInput) String() string {
 46698  	return awsutil.Prettify(s)
 46699  }
 46700  
 46701  // GoString returns the string representation.
 46702  //
 46703  // API parameter values that are decorated as "sensitive" in the API will not
 46704  // be included in the string output. The member name will be present, but the
 46705  // value will be replaced with "sensitive".
 46706  func (s StopActivityStreamInput) GoString() string {
 46707  	return s.String()
 46708  }
 46709  
 46710  // Validate inspects the fields of the type to determine if they are valid.
 46711  func (s *StopActivityStreamInput) Validate() error {
 46712  	invalidParams := request.ErrInvalidParams{Context: "StopActivityStreamInput"}
 46713  	if s.ResourceArn == nil {
 46714  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 46715  	}
 46716  
 46717  	if invalidParams.Len() > 0 {
 46718  		return invalidParams
 46719  	}
 46720  	return nil
 46721  }
 46722  
 46723  // SetApplyImmediately sets the ApplyImmediately field's value.
 46724  func (s *StopActivityStreamInput) SetApplyImmediately(v bool) *StopActivityStreamInput {
 46725  	s.ApplyImmediately = &v
 46726  	return s
 46727  }
 46728  
 46729  // SetResourceArn sets the ResourceArn field's value.
 46730  func (s *StopActivityStreamInput) SetResourceArn(v string) *StopActivityStreamInput {
 46731  	s.ResourceArn = &v
 46732  	return s
 46733  }
 46734  
 46735  type StopActivityStreamOutput struct {
 46736  	_ struct{} `type:"structure"`
 46737  
 46738  	// The name of the Amazon Kinesis data stream used for the database activity
 46739  	// stream.
 46740  	KinesisStreamName *string `type:"string"`
 46741  
 46742  	// The Amazon Web Services KMS key identifier used for encrypting messages in
 46743  	// the database activity stream.
 46744  	//
 46745  	// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
 46746  	// ARN, or alias name for the Amazon Web Services KMS customer master key (CMK).
 46747  	KmsKeyId *string `type:"string"`
 46748  
 46749  	// The status of the database activity stream.
 46750  	Status *string `type:"string" enum:"ActivityStreamStatus"`
 46751  }
 46752  
 46753  // String returns the string representation.
 46754  //
 46755  // API parameter values that are decorated as "sensitive" in the API will not
 46756  // be included in the string output. The member name will be present, but the
 46757  // value will be replaced with "sensitive".
 46758  func (s StopActivityStreamOutput) String() string {
 46759  	return awsutil.Prettify(s)
 46760  }
 46761  
 46762  // GoString returns the string representation.
 46763  //
 46764  // API parameter values that are decorated as "sensitive" in the API will not
 46765  // be included in the string output. The member name will be present, but the
 46766  // value will be replaced with "sensitive".
 46767  func (s StopActivityStreamOutput) GoString() string {
 46768  	return s.String()
 46769  }
 46770  
 46771  // SetKinesisStreamName sets the KinesisStreamName field's value.
 46772  func (s *StopActivityStreamOutput) SetKinesisStreamName(v string) *StopActivityStreamOutput {
 46773  	s.KinesisStreamName = &v
 46774  	return s
 46775  }
 46776  
 46777  // SetKmsKeyId sets the KmsKeyId field's value.
 46778  func (s *StopActivityStreamOutput) SetKmsKeyId(v string) *StopActivityStreamOutput {
 46779  	s.KmsKeyId = &v
 46780  	return s
 46781  }
 46782  
 46783  // SetStatus sets the Status field's value.
 46784  func (s *StopActivityStreamOutput) SetStatus(v string) *StopActivityStreamOutput {
 46785  	s.Status = &v
 46786  	return s
 46787  }
 46788  
 46789  type StopDBClusterInput struct {
 46790  	_ struct{} `type:"structure"`
 46791  
 46792  	// The DB cluster identifier of the Amazon Aurora DB cluster to be stopped.
 46793  	// This parameter is stored as a lowercase string.
 46794  	//
 46795  	// DBClusterIdentifier is a required field
 46796  	DBClusterIdentifier *string `type:"string" required:"true"`
 46797  }
 46798  
 46799  // String returns the string representation.
 46800  //
 46801  // API parameter values that are decorated as "sensitive" in the API will not
 46802  // be included in the string output. The member name will be present, but the
 46803  // value will be replaced with "sensitive".
 46804  func (s StopDBClusterInput) String() string {
 46805  	return awsutil.Prettify(s)
 46806  }
 46807  
 46808  // GoString returns the string representation.
 46809  //
 46810  // API parameter values that are decorated as "sensitive" in the API will not
 46811  // be included in the string output. The member name will be present, but the
 46812  // value will be replaced with "sensitive".
 46813  func (s StopDBClusterInput) GoString() string {
 46814  	return s.String()
 46815  }
 46816  
 46817  // Validate inspects the fields of the type to determine if they are valid.
 46818  func (s *StopDBClusterInput) Validate() error {
 46819  	invalidParams := request.ErrInvalidParams{Context: "StopDBClusterInput"}
 46820  	if s.DBClusterIdentifier == nil {
 46821  		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
 46822  	}
 46823  
 46824  	if invalidParams.Len() > 0 {
 46825  		return invalidParams
 46826  	}
 46827  	return nil
 46828  }
 46829  
 46830  // SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
 46831  func (s *StopDBClusterInput) SetDBClusterIdentifier(v string) *StopDBClusterInput {
 46832  	s.DBClusterIdentifier = &v
 46833  	return s
 46834  }
 46835  
 46836  type StopDBClusterOutput struct {
 46837  	_ struct{} `type:"structure"`
 46838  
 46839  	// Contains the details of an Amazon Aurora DB cluster.
 46840  	//
 46841  	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
 46842  	// and StartDBCluster actions.
 46843  	DBCluster *DBCluster `type:"structure"`
 46844  }
 46845  
 46846  // String returns the string representation.
 46847  //
 46848  // API parameter values that are decorated as "sensitive" in the API will not
 46849  // be included in the string output. The member name will be present, but the
 46850  // value will be replaced with "sensitive".
 46851  func (s StopDBClusterOutput) String() string {
 46852  	return awsutil.Prettify(s)
 46853  }
 46854  
 46855  // GoString returns the string representation.
 46856  //
 46857  // API parameter values that are decorated as "sensitive" in the API will not
 46858  // be included in the string output. The member name will be present, but the
 46859  // value will be replaced with "sensitive".
 46860  func (s StopDBClusterOutput) GoString() string {
 46861  	return s.String()
 46862  }
 46863  
 46864  // SetDBCluster sets the DBCluster field's value.
 46865  func (s *StopDBClusterOutput) SetDBCluster(v *DBCluster) *StopDBClusterOutput {
 46866  	s.DBCluster = v
 46867  	return s
 46868  }
 46869  
 46870  type StopDBInstanceAutomatedBackupsReplicationInput struct {
 46871  	_ struct{} `type:"structure"`
 46872  
 46873  	// The Amazon Resource Name (ARN) of the source DB instance for which to stop
 46874  	// replicating automated backups, for example, arn:aws:rds:us-west-2:123456789012:db:mydatabase.
 46875  	//
 46876  	// SourceDBInstanceArn is a required field
 46877  	SourceDBInstanceArn *string `type:"string" required:"true"`
 46878  }
 46879  
 46880  // String returns the string representation.
 46881  //
 46882  // API parameter values that are decorated as "sensitive" in the API will not
 46883  // be included in the string output. The member name will be present, but the
 46884  // value will be replaced with "sensitive".
 46885  func (s StopDBInstanceAutomatedBackupsReplicationInput) String() string {
 46886  	return awsutil.Prettify(s)
 46887  }
 46888  
 46889  // GoString returns the string representation.
 46890  //
 46891  // API parameter values that are decorated as "sensitive" in the API will not
 46892  // be included in the string output. The member name will be present, but the
 46893  // value will be replaced with "sensitive".
 46894  func (s StopDBInstanceAutomatedBackupsReplicationInput) GoString() string {
 46895  	return s.String()
 46896  }
 46897  
 46898  // Validate inspects the fields of the type to determine if they are valid.
 46899  func (s *StopDBInstanceAutomatedBackupsReplicationInput) Validate() error {
 46900  	invalidParams := request.ErrInvalidParams{Context: "StopDBInstanceAutomatedBackupsReplicationInput"}
 46901  	if s.SourceDBInstanceArn == nil {
 46902  		invalidParams.Add(request.NewErrParamRequired("SourceDBInstanceArn"))
 46903  	}
 46904  
 46905  	if invalidParams.Len() > 0 {
 46906  		return invalidParams
 46907  	}
 46908  	return nil
 46909  }
 46910  
 46911  // SetSourceDBInstanceArn sets the SourceDBInstanceArn field's value.
 46912  func (s *StopDBInstanceAutomatedBackupsReplicationInput) SetSourceDBInstanceArn(v string) *StopDBInstanceAutomatedBackupsReplicationInput {
 46913  	s.SourceDBInstanceArn = &v
 46914  	return s
 46915  }
 46916  
 46917  type StopDBInstanceAutomatedBackupsReplicationOutput struct {
 46918  	_ struct{} `type:"structure"`
 46919  
 46920  	// An automated backup of a DB instance. It consists of system backups, transaction
 46921  	// logs, and the database instance properties that existed at the time you deleted
 46922  	// the source instance.
 46923  	DBInstanceAutomatedBackup *DBInstanceAutomatedBackup `type:"structure"`
 46924  }
 46925  
 46926  // String returns the string representation.
 46927  //
 46928  // API parameter values that are decorated as "sensitive" in the API will not
 46929  // be included in the string output. The member name will be present, but the
 46930  // value will be replaced with "sensitive".
 46931  func (s StopDBInstanceAutomatedBackupsReplicationOutput) String() string {
 46932  	return awsutil.Prettify(s)
 46933  }
 46934  
 46935  // GoString returns the string representation.
 46936  //
 46937  // API parameter values that are decorated as "sensitive" in the API will not
 46938  // be included in the string output. The member name will be present, but the
 46939  // value will be replaced with "sensitive".
 46940  func (s StopDBInstanceAutomatedBackupsReplicationOutput) GoString() string {
 46941  	return s.String()
 46942  }
 46943  
 46944  // SetDBInstanceAutomatedBackup sets the DBInstanceAutomatedBackup field's value.
 46945  func (s *StopDBInstanceAutomatedBackupsReplicationOutput) SetDBInstanceAutomatedBackup(v *DBInstanceAutomatedBackup) *StopDBInstanceAutomatedBackupsReplicationOutput {
 46946  	s.DBInstanceAutomatedBackup = v
 46947  	return s
 46948  }
 46949  
 46950  type StopDBInstanceInput struct {
 46951  	_ struct{} `type:"structure"`
 46952  
 46953  	// The user-supplied instance identifier.
 46954  	//
 46955  	// DBInstanceIdentifier is a required field
 46956  	DBInstanceIdentifier *string `type:"string" required:"true"`
 46957  
 46958  	// The user-supplied instance identifier of the DB Snapshot created immediately
 46959  	// before the DB instance is stopped.
 46960  	DBSnapshotIdentifier *string `type:"string"`
 46961  }
 46962  
 46963  // String returns the string representation.
 46964  //
 46965  // API parameter values that are decorated as "sensitive" in the API will not
 46966  // be included in the string output. The member name will be present, but the
 46967  // value will be replaced with "sensitive".
 46968  func (s StopDBInstanceInput) String() string {
 46969  	return awsutil.Prettify(s)
 46970  }
 46971  
 46972  // GoString returns the string representation.
 46973  //
 46974  // API parameter values that are decorated as "sensitive" in the API will not
 46975  // be included in the string output. The member name will be present, but the
 46976  // value will be replaced with "sensitive".
 46977  func (s StopDBInstanceInput) GoString() string {
 46978  	return s.String()
 46979  }
 46980  
 46981  // Validate inspects the fields of the type to determine if they are valid.
 46982  func (s *StopDBInstanceInput) Validate() error {
 46983  	invalidParams := request.ErrInvalidParams{Context: "StopDBInstanceInput"}
 46984  	if s.DBInstanceIdentifier == nil {
 46985  		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
 46986  	}
 46987  
 46988  	if invalidParams.Len() > 0 {
 46989  		return invalidParams
 46990  	}
 46991  	return nil
 46992  }
 46993  
 46994  // SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
 46995  func (s *StopDBInstanceInput) SetDBInstanceIdentifier(v string) *StopDBInstanceInput {
 46996  	s.DBInstanceIdentifier = &v
 46997  	return s
 46998  }
 46999  
 47000  // SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
 47001  func (s *StopDBInstanceInput) SetDBSnapshotIdentifier(v string) *StopDBInstanceInput {
 47002  	s.DBSnapshotIdentifier = &v
 47003  	return s
 47004  }
 47005  
 47006  type StopDBInstanceOutput struct {
 47007  	_ struct{} `type:"structure"`
 47008  
 47009  	// Contains the details of an Amazon RDS DB instance.
 47010  	//
 47011  	// This data type is used as a response element in the DescribeDBInstances action.
 47012  	DBInstance *DBInstance `type:"structure"`
 47013  }
 47014  
 47015  // String returns the string representation.
 47016  //
 47017  // API parameter values that are decorated as "sensitive" in the API will not
 47018  // be included in the string output. The member name will be present, but the
 47019  // value will be replaced with "sensitive".
 47020  func (s StopDBInstanceOutput) String() string {
 47021  	return awsutil.Prettify(s)
 47022  }
 47023  
 47024  // GoString returns the string representation.
 47025  //
 47026  // API parameter values that are decorated as "sensitive" in the API will not
 47027  // be included in the string output. The member name will be present, but the
 47028  // value will be replaced with "sensitive".
 47029  func (s StopDBInstanceOutput) GoString() string {
 47030  	return s.String()
 47031  }
 47032  
 47033  // SetDBInstance sets the DBInstance field's value.
 47034  func (s *StopDBInstanceOutput) SetDBInstance(v *DBInstance) *StopDBInstanceOutput {
 47035  	s.DBInstance = v
 47036  	return s
 47037  }
 47038  
 47039  // This data type is used as a response element for the DescribeDBSubnetGroups
 47040  // operation.
 47041  type Subnet struct {
 47042  	_ struct{} `type:"structure"`
 47043  
 47044  	// Contains Availability Zone information.
 47045  	//
 47046  	// This data type is used as an element in the OrderableDBInstanceOption data
 47047  	// type.
 47048  	SubnetAvailabilityZone *AvailabilityZone `type:"structure"`
 47049  
 47050  	// The identifier of the subnet.
 47051  	SubnetIdentifier *string `type:"string"`
 47052  
 47053  	// If the subnet is associated with an Outpost, this value specifies the Outpost.
 47054  	//
 47055  	// For more information about RDS on Outposts, see Amazon RDS on Amazon Web
 47056  	// Services Outposts (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html)
 47057  	// in the Amazon RDS User Guide.
 47058  	SubnetOutpost *Outpost `type:"structure"`
 47059  
 47060  	// The status of the subnet.
 47061  	SubnetStatus *string `type:"string"`
 47062  }
 47063  
 47064  // String returns the string representation.
 47065  //
 47066  // API parameter values that are decorated as "sensitive" in the API will not
 47067  // be included in the string output. The member name will be present, but the
 47068  // value will be replaced with "sensitive".
 47069  func (s Subnet) String() string {
 47070  	return awsutil.Prettify(s)
 47071  }
 47072  
 47073  // GoString returns the string representation.
 47074  //
 47075  // API parameter values that are decorated as "sensitive" in the API will not
 47076  // be included in the string output. The member name will be present, but the
 47077  // value will be replaced with "sensitive".
 47078  func (s Subnet) GoString() string {
 47079  	return s.String()
 47080  }
 47081  
 47082  // SetSubnetAvailabilityZone sets the SubnetAvailabilityZone field's value.
 47083  func (s *Subnet) SetSubnetAvailabilityZone(v *AvailabilityZone) *Subnet {
 47084  	s.SubnetAvailabilityZone = v
 47085  	return s
 47086  }
 47087  
 47088  // SetSubnetIdentifier sets the SubnetIdentifier field's value.
 47089  func (s *Subnet) SetSubnetIdentifier(v string) *Subnet {
 47090  	s.SubnetIdentifier = &v
 47091  	return s
 47092  }
 47093  
 47094  // SetSubnetOutpost sets the SubnetOutpost field's value.
 47095  func (s *Subnet) SetSubnetOutpost(v *Outpost) *Subnet {
 47096  	s.SubnetOutpost = v
 47097  	return s
 47098  }
 47099  
 47100  // SetSubnetStatus sets the SubnetStatus field's value.
 47101  func (s *Subnet) SetSubnetStatus(v string) *Subnet {
 47102  	s.SubnetStatus = &v
 47103  	return s
 47104  }
 47105  
 47106  // Metadata assigned to an Amazon RDS resource consisting of a key-value pair.
 47107  type Tag struct {
 47108  	_ struct{} `type:"structure"`
 47109  
 47110  	// A key is the required name of the tag. The string value can be from 1 to
 47111  	// 128 Unicode characters in length and can't be prefixed with aws: or rds:.
 47112  	// The string can only contain only the set of Unicode letters, digits, white-space,
 47113  	// '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$").
 47114  	Key *string `type:"string"`
 47115  
 47116  	// A value is the optional value of the tag. The string value can be from 1
 47117  	// to 256 Unicode characters in length and can't be prefixed with aws: or rds:.
 47118  	// The string can only contain only the set of Unicode letters, digits, white-space,
 47119  	// '_', '.', ':', '/', '=', '+', '-', '@' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$").
 47120  	Value *string `type:"string"`
 47121  }
 47122  
 47123  // String returns the string representation.
 47124  //
 47125  // API parameter values that are decorated as "sensitive" in the API will not
 47126  // be included in the string output. The member name will be present, but the
 47127  // value will be replaced with "sensitive".
 47128  func (s Tag) String() string {
 47129  	return awsutil.Prettify(s)
 47130  }
 47131  
 47132  // GoString returns the string representation.
 47133  //
 47134  // API parameter values that are decorated as "sensitive" in the API will not
 47135  // be included in the string output. The member name will be present, but the
 47136  // value will be replaced with "sensitive".
 47137  func (s Tag) GoString() string {
 47138  	return s.String()
 47139  }
 47140  
 47141  // SetKey sets the Key field's value.
 47142  func (s *Tag) SetKey(v string) *Tag {
 47143  	s.Key = &v
 47144  	return s
 47145  }
 47146  
 47147  // SetValue sets the Value field's value.
 47148  func (s *Tag) SetValue(v string) *Tag {
 47149  	s.Value = &v
 47150  	return s
 47151  }
 47152  
 47153  // Information about the connection health of an RDS Proxy target.
 47154  type TargetHealth struct {
 47155  	_ struct{} `type:"structure"`
 47156  
 47157  	// A description of the health of the RDS Proxy target. If the State is AVAILABLE,
 47158  	// a description is not included.
 47159  	Description *string `type:"string"`
 47160  
 47161  	// The reason for the current health State of the RDS Proxy target.
 47162  	Reason *string `type:"string" enum:"TargetHealthReason"`
 47163  
 47164  	// The current state of the connection health lifecycle for the RDS Proxy target.
 47165  	// The following is a typical lifecycle example for the states of an RDS Proxy
 47166  	// target:
 47167  	//
 47168  	// registering > unavailable > available > unavailable > available
 47169  	State *string `type:"string" enum:"TargetState"`
 47170  }
 47171  
 47172  // String returns the string representation.
 47173  //
 47174  // API parameter values that are decorated as "sensitive" in the API will not
 47175  // be included in the string output. The member name will be present, but the
 47176  // value will be replaced with "sensitive".
 47177  func (s TargetHealth) String() string {
 47178  	return awsutil.Prettify(s)
 47179  }
 47180  
 47181  // GoString returns the string representation.
 47182  //
 47183  // API parameter values that are decorated as "sensitive" in the API will not
 47184  // be included in the string output. The member name will be present, but the
 47185  // value will be replaced with "sensitive".
 47186  func (s TargetHealth) GoString() string {
 47187  	return s.String()
 47188  }
 47189  
 47190  // SetDescription sets the Description field's value.
 47191  func (s *TargetHealth) SetDescription(v string) *TargetHealth {
 47192  	s.Description = &v
 47193  	return s
 47194  }
 47195  
 47196  // SetReason sets the Reason field's value.
 47197  func (s *TargetHealth) SetReason(v string) *TargetHealth {
 47198  	s.Reason = &v
 47199  	return s
 47200  }
 47201  
 47202  // SetState sets the State field's value.
 47203  func (s *TargetHealth) SetState(v string) *TargetHealth {
 47204  	s.State = &v
 47205  	return s
 47206  }
 47207  
 47208  // A time zone associated with a DBInstance or a DBSnapshot. This data type
 47209  // is an element in the response to the DescribeDBInstances, the DescribeDBSnapshots,
 47210  // and the DescribeDBEngineVersions actions.
 47211  type Timezone struct {
 47212  	_ struct{} `type:"structure"`
 47213  
 47214  	// The name of the time zone.
 47215  	TimezoneName *string `type:"string"`
 47216  }
 47217  
 47218  // String returns the string representation.
 47219  //
 47220  // API parameter values that are decorated as "sensitive" in the API will not
 47221  // be included in the string output. The member name will be present, but the
 47222  // value will be replaced with "sensitive".
 47223  func (s Timezone) String() string {
 47224  	return awsutil.Prettify(s)
 47225  }
 47226  
 47227  // GoString returns the string representation.
 47228  //
 47229  // API parameter values that are decorated as "sensitive" in the API will not
 47230  // be included in the string output. The member name will be present, but the
 47231  // value will be replaced with "sensitive".
 47232  func (s Timezone) GoString() string {
 47233  	return s.String()
 47234  }
 47235  
 47236  // SetTimezoneName sets the TimezoneName field's value.
 47237  func (s *Timezone) SetTimezoneName(v string) *Timezone {
 47238  	s.TimezoneName = &v
 47239  	return s
 47240  }
 47241  
 47242  // The version of the database engine that a DB instance can be upgraded to.
 47243  type UpgradeTarget struct {
 47244  	_ struct{} `type:"structure"`
 47245  
 47246  	// A value that indicates whether the target version is applied to any source
 47247  	// DB instances that have AutoMinorVersionUpgrade set to true.
 47248  	AutoUpgrade *bool `type:"boolean"`
 47249  
 47250  	// The version of the database engine that a DB instance can be upgraded to.
 47251  	Description *string `type:"string"`
 47252  
 47253  	// The name of the upgrade target database engine.
 47254  	Engine *string `type:"string"`
 47255  
 47256  	// The version number of the upgrade target database engine.
 47257  	EngineVersion *string `type:"string"`
 47258  
 47259  	// A value that indicates whether upgrading to the target version requires upgrading
 47260  	// the major version of the database engine.
 47261  	IsMajorVersionUpgrade *bool `type:"boolean"`
 47262  
 47263  	// A list of the supported DB engine modes for the target engine version.
 47264  	SupportedEngineModes []*string `type:"list"`
 47265  
 47266  	// A value that indicates whether you can use Aurora global databases with the
 47267  	// target engine version.
 47268  	SupportsGlobalDatabases *bool `type:"boolean"`
 47269  
 47270  	// A value that indicates whether you can use Aurora parallel query with the
 47271  	// target engine version.
 47272  	SupportsParallelQuery *bool `type:"boolean"`
 47273  }
 47274  
 47275  // String returns the string representation.
 47276  //
 47277  // API parameter values that are decorated as "sensitive" in the API will not
 47278  // be included in the string output. The member name will be present, but the
 47279  // value will be replaced with "sensitive".
 47280  func (s UpgradeTarget) String() string {
 47281  	return awsutil.Prettify(s)
 47282  }
 47283  
 47284  // GoString returns the string representation.
 47285  //
 47286  // API parameter values that are decorated as "sensitive" in the API will not
 47287  // be included in the string output. The member name will be present, but the
 47288  // value will be replaced with "sensitive".
 47289  func (s UpgradeTarget) GoString() string {
 47290  	return s.String()
 47291  }
 47292  
 47293  // SetAutoUpgrade sets the AutoUpgrade field's value.
 47294  func (s *UpgradeTarget) SetAutoUpgrade(v bool) *UpgradeTarget {
 47295  	s.AutoUpgrade = &v
 47296  	return s
 47297  }
 47298  
 47299  // SetDescription sets the Description field's value.
 47300  func (s *UpgradeTarget) SetDescription(v string) *UpgradeTarget {
 47301  	s.Description = &v
 47302  	return s
 47303  }
 47304  
 47305  // SetEngine sets the Engine field's value.
 47306  func (s *UpgradeTarget) SetEngine(v string) *UpgradeTarget {
 47307  	s.Engine = &v
 47308  	return s
 47309  }
 47310  
 47311  // SetEngineVersion sets the EngineVersion field's value.
 47312  func (s *UpgradeTarget) SetEngineVersion(v string) *UpgradeTarget {
 47313  	s.EngineVersion = &v
 47314  	return s
 47315  }
 47316  
 47317  // SetIsMajorVersionUpgrade sets the IsMajorVersionUpgrade field's value.
 47318  func (s *UpgradeTarget) SetIsMajorVersionUpgrade(v bool) *UpgradeTarget {
 47319  	s.IsMajorVersionUpgrade = &v
 47320  	return s
 47321  }
 47322  
 47323  // SetSupportedEngineModes sets the SupportedEngineModes field's value.
 47324  func (s *UpgradeTarget) SetSupportedEngineModes(v []*string) *UpgradeTarget {
 47325  	s.SupportedEngineModes = v
 47326  	return s
 47327  }
 47328  
 47329  // SetSupportsGlobalDatabases sets the SupportsGlobalDatabases field's value.
 47330  func (s *UpgradeTarget) SetSupportsGlobalDatabases(v bool) *UpgradeTarget {
 47331  	s.SupportsGlobalDatabases = &v
 47332  	return s
 47333  }
 47334  
 47335  // SetSupportsParallelQuery sets the SupportsParallelQuery field's value.
 47336  func (s *UpgradeTarget) SetSupportsParallelQuery(v bool) *UpgradeTarget {
 47337  	s.SupportsParallelQuery = &v
 47338  	return s
 47339  }
 47340  
 47341  // Specifies the details of authentication used by a proxy to log in as a specific
 47342  // database user.
 47343  type UserAuthConfig struct {
 47344  	_ struct{} `type:"structure"`
 47345  
 47346  	// The type of authentication that the proxy uses for connections from the proxy
 47347  	// to the underlying database.
 47348  	AuthScheme *string `type:"string" enum:"AuthScheme"`
 47349  
 47350  	// A user-specified description about the authentication used by a proxy to
 47351  	// log in as a specific database user.
 47352  	Description *string `type:"string"`
 47353  
 47354  	// Whether to require or disallow Amazon Web Services Identity and Access Management
 47355  	// (IAM) authentication for connections to the proxy.
 47356  	IAMAuth *string `type:"string" enum:"IAMAuthMode"`
 47357  
 47358  	// The Amazon Resource Name (ARN) representing the secret that the proxy uses
 47359  	// to authenticate to the RDS DB instance or Aurora DB cluster. These secrets
 47360  	// are stored within Amazon Secrets Manager.
 47361  	SecretArn *string `type:"string"`
 47362  
 47363  	// The name of the database user to which the proxy connects.
 47364  	UserName *string `type:"string"`
 47365  }
 47366  
 47367  // String returns the string representation.
 47368  //
 47369  // API parameter values that are decorated as "sensitive" in the API will not
 47370  // be included in the string output. The member name will be present, but the
 47371  // value will be replaced with "sensitive".
 47372  func (s UserAuthConfig) String() string {
 47373  	return awsutil.Prettify(s)
 47374  }
 47375  
 47376  // GoString returns the string representation.
 47377  //
 47378  // API parameter values that are decorated as "sensitive" in the API will not
 47379  // be included in the string output. The member name will be present, but the
 47380  // value will be replaced with "sensitive".
 47381  func (s UserAuthConfig) GoString() string {
 47382  	return s.String()
 47383  }
 47384  
 47385  // SetAuthScheme sets the AuthScheme field's value.
 47386  func (s *UserAuthConfig) SetAuthScheme(v string) *UserAuthConfig {
 47387  	s.AuthScheme = &v
 47388  	return s
 47389  }
 47390  
 47391  // SetDescription sets the Description field's value.
 47392  func (s *UserAuthConfig) SetDescription(v string) *UserAuthConfig {
 47393  	s.Description = &v
 47394  	return s
 47395  }
 47396  
 47397  // SetIAMAuth sets the IAMAuth field's value.
 47398  func (s *UserAuthConfig) SetIAMAuth(v string) *UserAuthConfig {
 47399  	s.IAMAuth = &v
 47400  	return s
 47401  }
 47402  
 47403  // SetSecretArn sets the SecretArn field's value.
 47404  func (s *UserAuthConfig) SetSecretArn(v string) *UserAuthConfig {
 47405  	s.SecretArn = &v
 47406  	return s
 47407  }
 47408  
 47409  // SetUserName sets the UserName field's value.
 47410  func (s *UserAuthConfig) SetUserName(v string) *UserAuthConfig {
 47411  	s.UserName = &v
 47412  	return s
 47413  }
 47414  
 47415  // Returns the details of authentication used by a proxy to log in as a specific
 47416  // database user.
 47417  type UserAuthConfigInfo struct {
 47418  	_ struct{} `type:"structure"`
 47419  
 47420  	// The type of authentication that the proxy uses for connections from the proxy
 47421  	// to the underlying database.
 47422  	AuthScheme *string `type:"string" enum:"AuthScheme"`
 47423  
 47424  	// A user-specified description about the authentication used by a proxy to
 47425  	// log in as a specific database user.
 47426  	Description *string `type:"string"`
 47427  
 47428  	// Whether to require or disallow Amazon Web Services Identity and Access Management
 47429  	// (IAM) authentication for connections to the proxy.
 47430  	IAMAuth *string `type:"string" enum:"IAMAuthMode"`
 47431  
 47432  	// The Amazon Resource Name (ARN) representing the secret that the proxy uses
 47433  	// to authenticate to the RDS DB instance or Aurora DB cluster. These secrets
 47434  	// are stored within Amazon Secrets Manager.
 47435  	SecretArn *string `type:"string"`
 47436  
 47437  	// The name of the database user to which the proxy connects.
 47438  	UserName *string `type:"string"`
 47439  }
 47440  
 47441  // String returns the string representation.
 47442  //
 47443  // API parameter values that are decorated as "sensitive" in the API will not
 47444  // be included in the string output. The member name will be present, but the
 47445  // value will be replaced with "sensitive".
 47446  func (s UserAuthConfigInfo) String() string {
 47447  	return awsutil.Prettify(s)
 47448  }
 47449  
 47450  // GoString returns the string representation.
 47451  //
 47452  // API parameter values that are decorated as "sensitive" in the API will not
 47453  // be included in the string output. The member name will be present, but the
 47454  // value will be replaced with "sensitive".
 47455  func (s UserAuthConfigInfo) GoString() string {
 47456  	return s.String()
 47457  }
 47458  
 47459  // SetAuthScheme sets the AuthScheme field's value.
 47460  func (s *UserAuthConfigInfo) SetAuthScheme(v string) *UserAuthConfigInfo {
 47461  	s.AuthScheme = &v
 47462  	return s
 47463  }
 47464  
 47465  // SetDescription sets the Description field's value.
 47466  func (s *UserAuthConfigInfo) SetDescription(v string) *UserAuthConfigInfo {
 47467  	s.Description = &v
 47468  	return s
 47469  }
 47470  
 47471  // SetIAMAuth sets the IAMAuth field's value.
 47472  func (s *UserAuthConfigInfo) SetIAMAuth(v string) *UserAuthConfigInfo {
 47473  	s.IAMAuth = &v
 47474  	return s
 47475  }
 47476  
 47477  // SetSecretArn sets the SecretArn field's value.
 47478  func (s *UserAuthConfigInfo) SetSecretArn(v string) *UserAuthConfigInfo {
 47479  	s.SecretArn = &v
 47480  	return s
 47481  }
 47482  
 47483  // SetUserName sets the UserName field's value.
 47484  func (s *UserAuthConfigInfo) SetUserName(v string) *UserAuthConfigInfo {
 47485  	s.UserName = &v
 47486  	return s
 47487  }
 47488  
 47489  // Information about valid modifications that you can make to your DB instance.
 47490  // Contains the result of a successful call to the DescribeValidDBInstanceModifications
 47491  // action. You can use this information when you call ModifyDBInstance.
 47492  type ValidDBInstanceModificationsMessage struct {
 47493  	_ struct{} `type:"structure"`
 47494  
 47495  	// Valid storage options for your DB instance.
 47496  	Storage []*ValidStorageOptions `locationNameList:"ValidStorageOptions" type:"list"`
 47497  
 47498  	// Valid processor features for your DB instance.
 47499  	ValidProcessorFeatures []*AvailableProcessorFeature `locationNameList:"AvailableProcessorFeature" type:"list"`
 47500  }
 47501  
 47502  // String returns the string representation.
 47503  //
 47504  // API parameter values that are decorated as "sensitive" in the API will not
 47505  // be included in the string output. The member name will be present, but the
 47506  // value will be replaced with "sensitive".
 47507  func (s ValidDBInstanceModificationsMessage) String() string {
 47508  	return awsutil.Prettify(s)
 47509  }
 47510  
 47511  // GoString returns the string representation.
 47512  //
 47513  // API parameter values that are decorated as "sensitive" in the API will not
 47514  // be included in the string output. The member name will be present, but the
 47515  // value will be replaced with "sensitive".
 47516  func (s ValidDBInstanceModificationsMessage) GoString() string {
 47517  	return s.String()
 47518  }
 47519  
 47520  // SetStorage sets the Storage field's value.
 47521  func (s *ValidDBInstanceModificationsMessage) SetStorage(v []*ValidStorageOptions) *ValidDBInstanceModificationsMessage {
 47522  	s.Storage = v
 47523  	return s
 47524  }
 47525  
 47526  // SetValidProcessorFeatures sets the ValidProcessorFeatures field's value.
 47527  func (s *ValidDBInstanceModificationsMessage) SetValidProcessorFeatures(v []*AvailableProcessorFeature) *ValidDBInstanceModificationsMessage {
 47528  	s.ValidProcessorFeatures = v
 47529  	return s
 47530  }
 47531  
 47532  // Information about valid modifications that you can make to your DB instance.
 47533  // Contains the result of a successful call to the DescribeValidDBInstanceModifications
 47534  // action.
 47535  type ValidStorageOptions struct {
 47536  	_ struct{} `type:"structure"`
 47537  
 47538  	// The valid range of Provisioned IOPS to gibibytes of storage multiplier. For
 47539  	// example, 3-10, which means that provisioned IOPS can be between 3 and 10
 47540  	// times storage.
 47541  	IopsToStorageRatio []*DoubleRange `locationNameList:"DoubleRange" type:"list"`
 47542  
 47543  	// The valid range of provisioned IOPS. For example, 1000-20000.
 47544  	ProvisionedIops []*Range `locationNameList:"Range" type:"list"`
 47545  
 47546  	// The valid range of storage in gibibytes (GiB). For example, 100 to 16384.
 47547  	StorageSize []*Range `locationNameList:"Range" type:"list"`
 47548  
 47549  	// The valid storage types for your DB instance. For example, gp2, io1.
 47550  	StorageType *string `type:"string"`
 47551  
 47552  	// Whether or not Amazon RDS can automatically scale storage for DB instances
 47553  	// that use the new instance class.
 47554  	SupportsStorageAutoscaling *bool `type:"boolean"`
 47555  }
 47556  
 47557  // String returns the string representation.
 47558  //
 47559  // API parameter values that are decorated as "sensitive" in the API will not
 47560  // be included in the string output. The member name will be present, but the
 47561  // value will be replaced with "sensitive".
 47562  func (s ValidStorageOptions) String() string {
 47563  	return awsutil.Prettify(s)
 47564  }
 47565  
 47566  // GoString returns the string representation.
 47567  //
 47568  // API parameter values that are decorated as "sensitive" in the API will not
 47569  // be included in the string output. The member name will be present, but the
 47570  // value will be replaced with "sensitive".
 47571  func (s ValidStorageOptions) GoString() string {
 47572  	return s.String()
 47573  }
 47574  
 47575  // SetIopsToStorageRatio sets the IopsToStorageRatio field's value.
 47576  func (s *ValidStorageOptions) SetIopsToStorageRatio(v []*DoubleRange) *ValidStorageOptions {
 47577  	s.IopsToStorageRatio = v
 47578  	return s
 47579  }
 47580  
 47581  // SetProvisionedIops sets the ProvisionedIops field's value.
 47582  func (s *ValidStorageOptions) SetProvisionedIops(v []*Range) *ValidStorageOptions {
 47583  	s.ProvisionedIops = v
 47584  	return s
 47585  }
 47586  
 47587  // SetStorageSize sets the StorageSize field's value.
 47588  func (s *ValidStorageOptions) SetStorageSize(v []*Range) *ValidStorageOptions {
 47589  	s.StorageSize = v
 47590  	return s
 47591  }
 47592  
 47593  // SetStorageType sets the StorageType field's value.
 47594  func (s *ValidStorageOptions) SetStorageType(v string) *ValidStorageOptions {
 47595  	s.StorageType = &v
 47596  	return s
 47597  }
 47598  
 47599  // SetSupportsStorageAutoscaling sets the SupportsStorageAutoscaling field's value.
 47600  func (s *ValidStorageOptions) SetSupportsStorageAutoscaling(v bool) *ValidStorageOptions {
 47601  	s.SupportsStorageAutoscaling = &v
 47602  	return s
 47603  }
 47604  
 47605  // This data type is used as a response element for queries on VPC security
 47606  // group membership.
 47607  type VpcSecurityGroupMembership struct {
 47608  	_ struct{} `type:"structure"`
 47609  
 47610  	// The status of the VPC security group.
 47611  	Status *string `type:"string"`
 47612  
 47613  	// The name of the VPC security group.
 47614  	VpcSecurityGroupId *string `type:"string"`
 47615  }
 47616  
 47617  // String returns the string representation.
 47618  //
 47619  // API parameter values that are decorated as "sensitive" in the API will not
 47620  // be included in the string output. The member name will be present, but the
 47621  // value will be replaced with "sensitive".
 47622  func (s VpcSecurityGroupMembership) String() string {
 47623  	return awsutil.Prettify(s)
 47624  }
 47625  
 47626  // GoString returns the string representation.
 47627  //
 47628  // API parameter values that are decorated as "sensitive" in the API will not
 47629  // be included in the string output. The member name will be present, but the
 47630  // value will be replaced with "sensitive".
 47631  func (s VpcSecurityGroupMembership) GoString() string {
 47632  	return s.String()
 47633  }
 47634  
 47635  // SetStatus sets the Status field's value.
 47636  func (s *VpcSecurityGroupMembership) SetStatus(v string) *VpcSecurityGroupMembership {
 47637  	s.Status = &v
 47638  	return s
 47639  }
 47640  
 47641  // SetVpcSecurityGroupId sets the VpcSecurityGroupId field's value.
 47642  func (s *VpcSecurityGroupMembership) SetVpcSecurityGroupId(v string) *VpcSecurityGroupMembership {
 47643  	s.VpcSecurityGroupId = &v
 47644  	return s
 47645  }
 47646  
 47647  // Information about the virtual private network (VPN) between the VMware vSphere
 47648  // cluster and the Amazon Web Services website.
 47649  //
 47650  // For more information about RDS on VMware, see the RDS on VMware User Guide.
 47651  // (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html)
 47652  type VpnDetails struct {
 47653  	_ struct{} `type:"structure"`
 47654  
 47655  	// The IP address of network traffic from Amazon Web Services to your on-premises
 47656  	// data center.
 47657  	VpnGatewayIp *string `type:"string"`
 47658  
 47659  	// The ID of the VPN.
 47660  	VpnId *string `type:"string"`
 47661  
 47662  	// The name of the VPN.
 47663  	VpnName *string `type:"string"`
 47664  
 47665  	// The preshared key (PSK) for the VPN.
 47666  	//
 47667  	// VpnPSK is a sensitive parameter and its value will be
 47668  	// replaced with "sensitive" in string returned by VpnDetails's
 47669  	// String and GoString methods.
 47670  	VpnPSK *string `type:"string" sensitive:"true"`
 47671  
 47672  	// The state of the VPN.
 47673  	VpnState *string `type:"string"`
 47674  
 47675  	// The IP address of network traffic from your on-premises data center. A custom
 47676  	// AZ receives the network traffic.
 47677  	VpnTunnelOriginatorIP *string `type:"string"`
 47678  }
 47679  
 47680  // String returns the string representation.
 47681  //
 47682  // API parameter values that are decorated as "sensitive" in the API will not
 47683  // be included in the string output. The member name will be present, but the
 47684  // value will be replaced with "sensitive".
 47685  func (s VpnDetails) String() string {
 47686  	return awsutil.Prettify(s)
 47687  }
 47688  
 47689  // GoString returns the string representation.
 47690  //
 47691  // API parameter values that are decorated as "sensitive" in the API will not
 47692  // be included in the string output. The member name will be present, but the
 47693  // value will be replaced with "sensitive".
 47694  func (s VpnDetails) GoString() string {
 47695  	return s.String()
 47696  }
 47697  
 47698  // SetVpnGatewayIp sets the VpnGatewayIp field's value.
 47699  func (s *VpnDetails) SetVpnGatewayIp(v string) *VpnDetails {
 47700  	s.VpnGatewayIp = &v
 47701  	return s
 47702  }
 47703  
 47704  // SetVpnId sets the VpnId field's value.
 47705  func (s *VpnDetails) SetVpnId(v string) *VpnDetails {
 47706  	s.VpnId = &v
 47707  	return s
 47708  }
 47709  
 47710  // SetVpnName sets the VpnName field's value.
 47711  func (s *VpnDetails) SetVpnName(v string) *VpnDetails {
 47712  	s.VpnName = &v
 47713  	return s
 47714  }
 47715  
 47716  // SetVpnPSK sets the VpnPSK field's value.
 47717  func (s *VpnDetails) SetVpnPSK(v string) *VpnDetails {
 47718  	s.VpnPSK = &v
 47719  	return s
 47720  }
 47721  
 47722  // SetVpnState sets the VpnState field's value.
 47723  func (s *VpnDetails) SetVpnState(v string) *VpnDetails {
 47724  	s.VpnState = &v
 47725  	return s
 47726  }
 47727  
 47728  // SetVpnTunnelOriginatorIP sets the VpnTunnelOriginatorIP field's value.
 47729  func (s *VpnDetails) SetVpnTunnelOriginatorIP(v string) *VpnDetails {
 47730  	s.VpnTunnelOriginatorIP = &v
 47731  	return s
 47732  }
 47733  
 47734  const (
 47735  	// ActivityStreamModeSync is a ActivityStreamMode enum value
 47736  	ActivityStreamModeSync = "sync"
 47737  
 47738  	// ActivityStreamModeAsync is a ActivityStreamMode enum value
 47739  	ActivityStreamModeAsync = "async"
 47740  )
 47741  
 47742  // ActivityStreamMode_Values returns all elements of the ActivityStreamMode enum
 47743  func ActivityStreamMode_Values() []string {
 47744  	return []string{
 47745  		ActivityStreamModeSync,
 47746  		ActivityStreamModeAsync,
 47747  	}
 47748  }
 47749  
 47750  const (
 47751  	// ActivityStreamStatusStopped is a ActivityStreamStatus enum value
 47752  	ActivityStreamStatusStopped = "stopped"
 47753  
 47754  	// ActivityStreamStatusStarting is a ActivityStreamStatus enum value
 47755  	ActivityStreamStatusStarting = "starting"
 47756  
 47757  	// ActivityStreamStatusStarted is a ActivityStreamStatus enum value
 47758  	ActivityStreamStatusStarted = "started"
 47759  
 47760  	// ActivityStreamStatusStopping is a ActivityStreamStatus enum value
 47761  	ActivityStreamStatusStopping = "stopping"
 47762  )
 47763  
 47764  // ActivityStreamStatus_Values returns all elements of the ActivityStreamStatus enum
 47765  func ActivityStreamStatus_Values() []string {
 47766  	return []string{
 47767  		ActivityStreamStatusStopped,
 47768  		ActivityStreamStatusStarting,
 47769  		ActivityStreamStatusStarted,
 47770  		ActivityStreamStatusStopping,
 47771  	}
 47772  }
 47773  
 47774  const (
 47775  	// ApplyMethodImmediate is a ApplyMethod enum value
 47776  	ApplyMethodImmediate = "immediate"
 47777  
 47778  	// ApplyMethodPendingReboot is a ApplyMethod enum value
 47779  	ApplyMethodPendingReboot = "pending-reboot"
 47780  )
 47781  
 47782  // ApplyMethod_Values returns all elements of the ApplyMethod enum
 47783  func ApplyMethod_Values() []string {
 47784  	return []string{
 47785  		ApplyMethodImmediate,
 47786  		ApplyMethodPendingReboot,
 47787  	}
 47788  }
 47789  
 47790  const (
 47791  	// AuthSchemeSecrets is a AuthScheme enum value
 47792  	AuthSchemeSecrets = "SECRETS"
 47793  )
 47794  
 47795  // AuthScheme_Values returns all elements of the AuthScheme enum
 47796  func AuthScheme_Values() []string {
 47797  	return []string{
 47798  		AuthSchemeSecrets,
 47799  	}
 47800  }
 47801  
 47802  const (
 47803  	// DBProxyEndpointStatusAvailable is a DBProxyEndpointStatus enum value
 47804  	DBProxyEndpointStatusAvailable = "available"
 47805  
 47806  	// DBProxyEndpointStatusModifying is a DBProxyEndpointStatus enum value
 47807  	DBProxyEndpointStatusModifying = "modifying"
 47808  
 47809  	// DBProxyEndpointStatusIncompatibleNetwork is a DBProxyEndpointStatus enum value
 47810  	DBProxyEndpointStatusIncompatibleNetwork = "incompatible-network"
 47811  
 47812  	// DBProxyEndpointStatusInsufficientResourceLimits is a DBProxyEndpointStatus enum value
 47813  	DBProxyEndpointStatusInsufficientResourceLimits = "insufficient-resource-limits"
 47814  
 47815  	// DBProxyEndpointStatusCreating is a DBProxyEndpointStatus enum value
 47816  	DBProxyEndpointStatusCreating = "creating"
 47817  
 47818  	// DBProxyEndpointStatusDeleting is a DBProxyEndpointStatus enum value
 47819  	DBProxyEndpointStatusDeleting = "deleting"
 47820  )
 47821  
 47822  // DBProxyEndpointStatus_Values returns all elements of the DBProxyEndpointStatus enum
 47823  func DBProxyEndpointStatus_Values() []string {
 47824  	return []string{
 47825  		DBProxyEndpointStatusAvailable,
 47826  		DBProxyEndpointStatusModifying,
 47827  		DBProxyEndpointStatusIncompatibleNetwork,
 47828  		DBProxyEndpointStatusInsufficientResourceLimits,
 47829  		DBProxyEndpointStatusCreating,
 47830  		DBProxyEndpointStatusDeleting,
 47831  	}
 47832  }
 47833  
 47834  const (
 47835  	// DBProxyEndpointTargetRoleReadWrite is a DBProxyEndpointTargetRole enum value
 47836  	DBProxyEndpointTargetRoleReadWrite = "READ_WRITE"
 47837  
 47838  	// DBProxyEndpointTargetRoleReadOnly is a DBProxyEndpointTargetRole enum value
 47839  	DBProxyEndpointTargetRoleReadOnly = "READ_ONLY"
 47840  )
 47841  
 47842  // DBProxyEndpointTargetRole_Values returns all elements of the DBProxyEndpointTargetRole enum
 47843  func DBProxyEndpointTargetRole_Values() []string {
 47844  	return []string{
 47845  		DBProxyEndpointTargetRoleReadWrite,
 47846  		DBProxyEndpointTargetRoleReadOnly,
 47847  	}
 47848  }
 47849  
 47850  const (
 47851  	// DBProxyStatusAvailable is a DBProxyStatus enum value
 47852  	DBProxyStatusAvailable = "available"
 47853  
 47854  	// DBProxyStatusModifying is a DBProxyStatus enum value
 47855  	DBProxyStatusModifying = "modifying"
 47856  
 47857  	// DBProxyStatusIncompatibleNetwork is a DBProxyStatus enum value
 47858  	DBProxyStatusIncompatibleNetwork = "incompatible-network"
 47859  
 47860  	// DBProxyStatusInsufficientResourceLimits is a DBProxyStatus enum value
 47861  	DBProxyStatusInsufficientResourceLimits = "insufficient-resource-limits"
 47862  
 47863  	// DBProxyStatusCreating is a DBProxyStatus enum value
 47864  	DBProxyStatusCreating = "creating"
 47865  
 47866  	// DBProxyStatusDeleting is a DBProxyStatus enum value
 47867  	DBProxyStatusDeleting = "deleting"
 47868  
 47869  	// DBProxyStatusSuspended is a DBProxyStatus enum value
 47870  	DBProxyStatusSuspended = "suspended"
 47871  
 47872  	// DBProxyStatusSuspending is a DBProxyStatus enum value
 47873  	DBProxyStatusSuspending = "suspending"
 47874  
 47875  	// DBProxyStatusReactivating is a DBProxyStatus enum value
 47876  	DBProxyStatusReactivating = "reactivating"
 47877  )
 47878  
 47879  // DBProxyStatus_Values returns all elements of the DBProxyStatus enum
 47880  func DBProxyStatus_Values() []string {
 47881  	return []string{
 47882  		DBProxyStatusAvailable,
 47883  		DBProxyStatusModifying,
 47884  		DBProxyStatusIncompatibleNetwork,
 47885  		DBProxyStatusInsufficientResourceLimits,
 47886  		DBProxyStatusCreating,
 47887  		DBProxyStatusDeleting,
 47888  		DBProxyStatusSuspended,
 47889  		DBProxyStatusSuspending,
 47890  		DBProxyStatusReactivating,
 47891  	}
 47892  }
 47893  
 47894  const (
 47895  	// EngineFamilyMysql is a EngineFamily enum value
 47896  	EngineFamilyMysql = "MYSQL"
 47897  
 47898  	// EngineFamilyPostgresql is a EngineFamily enum value
 47899  	EngineFamilyPostgresql = "POSTGRESQL"
 47900  )
 47901  
 47902  // EngineFamily_Values returns all elements of the EngineFamily enum
 47903  func EngineFamily_Values() []string {
 47904  	return []string{
 47905  		EngineFamilyMysql,
 47906  		EngineFamilyPostgresql,
 47907  	}
 47908  }
 47909  
 47910  const (
 47911  	// FailoverStatusPending is a FailoverStatus enum value
 47912  	FailoverStatusPending = "pending"
 47913  
 47914  	// FailoverStatusFailingOver is a FailoverStatus enum value
 47915  	FailoverStatusFailingOver = "failing-over"
 47916  
 47917  	// FailoverStatusCancelling is a FailoverStatus enum value
 47918  	FailoverStatusCancelling = "cancelling"
 47919  )
 47920  
 47921  // FailoverStatus_Values returns all elements of the FailoverStatus enum
 47922  func FailoverStatus_Values() []string {
 47923  	return []string{
 47924  		FailoverStatusPending,
 47925  		FailoverStatusFailingOver,
 47926  		FailoverStatusCancelling,
 47927  	}
 47928  }
 47929  
 47930  const (
 47931  	// IAMAuthModeDisabled is a IAMAuthMode enum value
 47932  	IAMAuthModeDisabled = "DISABLED"
 47933  
 47934  	// IAMAuthModeRequired is a IAMAuthMode enum value
 47935  	IAMAuthModeRequired = "REQUIRED"
 47936  )
 47937  
 47938  // IAMAuthMode_Values returns all elements of the IAMAuthMode enum
 47939  func IAMAuthMode_Values() []string {
 47940  	return []string{
 47941  		IAMAuthModeDisabled,
 47942  		IAMAuthModeRequired,
 47943  	}
 47944  }
 47945  
 47946  const (
 47947  	// ReplicaModeOpenReadOnly is a ReplicaMode enum value
 47948  	ReplicaModeOpenReadOnly = "open-read-only"
 47949  
 47950  	// ReplicaModeMounted is a ReplicaMode enum value
 47951  	ReplicaModeMounted = "mounted"
 47952  )
 47953  
 47954  // ReplicaMode_Values returns all elements of the ReplicaMode enum
 47955  func ReplicaMode_Values() []string {
 47956  	return []string{
 47957  		ReplicaModeOpenReadOnly,
 47958  		ReplicaModeMounted,
 47959  	}
 47960  }
 47961  
 47962  const (
 47963  	// SourceTypeDbInstance is a SourceType enum value
 47964  	SourceTypeDbInstance = "db-instance"
 47965  
 47966  	// SourceTypeDbParameterGroup is a SourceType enum value
 47967  	SourceTypeDbParameterGroup = "db-parameter-group"
 47968  
 47969  	// SourceTypeDbSecurityGroup is a SourceType enum value
 47970  	SourceTypeDbSecurityGroup = "db-security-group"
 47971  
 47972  	// SourceTypeDbSnapshot is a SourceType enum value
 47973  	SourceTypeDbSnapshot = "db-snapshot"
 47974  
 47975  	// SourceTypeDbCluster is a SourceType enum value
 47976  	SourceTypeDbCluster = "db-cluster"
 47977  
 47978  	// SourceTypeDbClusterSnapshot is a SourceType enum value
 47979  	SourceTypeDbClusterSnapshot = "db-cluster-snapshot"
 47980  )
 47981  
 47982  // SourceType_Values returns all elements of the SourceType enum
 47983  func SourceType_Values() []string {
 47984  	return []string{
 47985  		SourceTypeDbInstance,
 47986  		SourceTypeDbParameterGroup,
 47987  		SourceTypeDbSecurityGroup,
 47988  		SourceTypeDbSnapshot,
 47989  		SourceTypeDbCluster,
 47990  		SourceTypeDbClusterSnapshot,
 47991  	}
 47992  }
 47993  
 47994  const (
 47995  	// TargetHealthReasonUnreachable is a TargetHealthReason enum value
 47996  	TargetHealthReasonUnreachable = "UNREACHABLE"
 47997  
 47998  	// TargetHealthReasonConnectionFailed is a TargetHealthReason enum value
 47999  	TargetHealthReasonConnectionFailed = "CONNECTION_FAILED"
 48000  
 48001  	// TargetHealthReasonAuthFailure is a TargetHealthReason enum value
 48002  	TargetHealthReasonAuthFailure = "AUTH_FAILURE"
 48003  
 48004  	// TargetHealthReasonPendingProxyCapacity is a TargetHealthReason enum value
 48005  	TargetHealthReasonPendingProxyCapacity = "PENDING_PROXY_CAPACITY"
 48006  
 48007  	// TargetHealthReasonInvalidReplicationState is a TargetHealthReason enum value
 48008  	TargetHealthReasonInvalidReplicationState = "INVALID_REPLICATION_STATE"
 48009  )
 48010  
 48011  // TargetHealthReason_Values returns all elements of the TargetHealthReason enum
 48012  func TargetHealthReason_Values() []string {
 48013  	return []string{
 48014  		TargetHealthReasonUnreachable,
 48015  		TargetHealthReasonConnectionFailed,
 48016  		TargetHealthReasonAuthFailure,
 48017  		TargetHealthReasonPendingProxyCapacity,
 48018  		TargetHealthReasonInvalidReplicationState,
 48019  	}
 48020  }
 48021  
 48022  const (
 48023  	// TargetRoleReadWrite is a TargetRole enum value
 48024  	TargetRoleReadWrite = "READ_WRITE"
 48025  
 48026  	// TargetRoleReadOnly is a TargetRole enum value
 48027  	TargetRoleReadOnly = "READ_ONLY"
 48028  
 48029  	// TargetRoleUnknown is a TargetRole enum value
 48030  	TargetRoleUnknown = "UNKNOWN"
 48031  )
 48032  
 48033  // TargetRole_Values returns all elements of the TargetRole enum
 48034  func TargetRole_Values() []string {
 48035  	return []string{
 48036  		TargetRoleReadWrite,
 48037  		TargetRoleReadOnly,
 48038  		TargetRoleUnknown,
 48039  	}
 48040  }
 48041  
 48042  const (
 48043  	// TargetStateRegistering is a TargetState enum value
 48044  	TargetStateRegistering = "REGISTERING"
 48045  
 48046  	// TargetStateAvailable is a TargetState enum value
 48047  	TargetStateAvailable = "AVAILABLE"
 48048  
 48049  	// TargetStateUnavailable is a TargetState enum value
 48050  	TargetStateUnavailable = "UNAVAILABLE"
 48051  )
 48052  
 48053  // TargetState_Values returns all elements of the TargetState enum
 48054  func TargetState_Values() []string {
 48055  	return []string{
 48056  		TargetStateRegistering,
 48057  		TargetStateAvailable,
 48058  		TargetStateUnavailable,
 48059  	}
 48060  }
 48061  
 48062  const (
 48063  	// TargetTypeRdsInstance is a TargetType enum value
 48064  	TargetTypeRdsInstance = "RDS_INSTANCE"
 48065  
 48066  	// TargetTypeRdsServerlessEndpoint is a TargetType enum value
 48067  	TargetTypeRdsServerlessEndpoint = "RDS_SERVERLESS_ENDPOINT"
 48068  
 48069  	// TargetTypeTrackedCluster is a TargetType enum value
 48070  	TargetTypeTrackedCluster = "TRACKED_CLUSTER"
 48071  )
 48072  
 48073  // TargetType_Values returns all elements of the TargetType enum
 48074  func TargetType_Values() []string {
 48075  	return []string{
 48076  		TargetTypeRdsInstance,
 48077  		TargetTypeRdsServerlessEndpoint,
 48078  		TargetTypeTrackedCluster,
 48079  	}
 48080  }
 48081  
 48082  const (
 48083  	// WriteForwardingStatusEnabled is a WriteForwardingStatus enum value
 48084  	WriteForwardingStatusEnabled = "enabled"
 48085  
 48086  	// WriteForwardingStatusDisabled is a WriteForwardingStatus enum value
 48087  	WriteForwardingStatusDisabled = "disabled"
 48088  
 48089  	// WriteForwardingStatusEnabling is a WriteForwardingStatus enum value
 48090  	WriteForwardingStatusEnabling = "enabling"
 48091  
 48092  	// WriteForwardingStatusDisabling is a WriteForwardingStatus enum value
 48093  	WriteForwardingStatusDisabling = "disabling"
 48094  
 48095  	// WriteForwardingStatusUnknown is a WriteForwardingStatus enum value
 48096  	WriteForwardingStatusUnknown = "unknown"
 48097  )
 48098  
 48099  // WriteForwardingStatus_Values returns all elements of the WriteForwardingStatus enum
 48100  func WriteForwardingStatus_Values() []string {
 48101  	return []string{
 48102  		WriteForwardingStatusEnabled,
 48103  		WriteForwardingStatusDisabled,
 48104  		WriteForwardingStatusEnabling,
 48105  		WriteForwardingStatusDisabling,
 48106  		WriteForwardingStatusUnknown,
 48107  	}
 48108  }