R/rds_operations.R

Defines functions rds_switchover_read_replica rds_switchover_global_cluster rds_switchover_blue_green_deployment rds_stop_db_instance_automated_backups_replication rds_stop_db_instance rds_stop_db_cluster rds_stop_activity_stream rds_start_export_task rds_start_db_instance_automated_backups_replication rds_start_db_instance rds_start_db_cluster rds_start_activity_stream rds_revoke_db_security_group_ingress rds_restore_db_instance_to_point_in_time rds_restore_db_instance_from_s3 rds_restore_db_instance_from_db_snapshot rds_restore_db_cluster_to_point_in_time rds_restore_db_cluster_from_snapshot rds_restore_db_cluster_from_s3 rds_reset_db_parameter_group rds_reset_db_cluster_parameter_group rds_remove_tags_from_resource rds_remove_source_identifier_from_subscription rds_remove_role_from_db_instance rds_remove_role_from_db_cluster rds_remove_from_global_cluster rds_register_db_proxy_targets rds_reboot_db_shard_group rds_reboot_db_instance rds_reboot_db_cluster rds_purchase_reserved_db_instances_offering rds_promote_read_replica_db_cluster rds_promote_read_replica rds_modify_tenant_database rds_modify_option_group rds_modify_integration rds_modify_global_cluster rds_modify_event_subscription rds_modify_db_subnet_group rds_modify_db_snapshot_attribute rds_modify_db_snapshot rds_modify_db_shard_group rds_modify_db_recommendation rds_modify_db_proxy_target_group rds_modify_db_proxy_endpoint rds_modify_db_proxy rds_modify_db_parameter_group rds_modify_db_instance rds_modify_db_cluster_snapshot_attribute rds_modify_db_cluster_parameter_group rds_modify_db_cluster_endpoint rds_modify_db_cluster rds_modify_custom_db_engine_version rds_modify_current_db_cluster_capacity rds_modify_certificates rds_modify_activity_stream rds_list_tags_for_resource rds_failover_global_cluster rds_failover_db_cluster rds_enable_http_endpoint rds_download_db_log_file_portion rds_disable_http_endpoint rds_describe_valid_db_instance_modifications rds_describe_tenant_databases rds_describe_source_regions rds_describe_reserved_db_instances_offerings rds_describe_reserved_db_instances rds_describe_pending_maintenance_actions rds_describe_orderable_db_instance_options rds_describe_option_groups rds_describe_option_group_options rds_describe_integrations rds_describe_global_clusters rds_describe_export_tasks rds_describe_events rds_describe_event_subscriptions rds_describe_event_categories rds_describe_engine_default_parameters rds_describe_engine_default_cluster_parameters rds_describe_db_subnet_groups rds_describe_db_snapshots rds_describe_db_snapshot_tenant_databases rds_describe_db_snapshot_attributes rds_describe_db_shard_groups rds_describe_db_security_groups rds_describe_db_recommendations rds_describe_db_proxy_targets rds_describe_db_proxy_target_groups rds_describe_db_proxy_endpoints rds_describe_db_proxies rds_describe_db_parameters rds_describe_db_parameter_groups rds_describe_db_log_files rds_describe_db_instances rds_describe_db_instance_automated_backups rds_describe_db_engine_versions rds_describe_db_clusters rds_describe_db_cluster_snapshots rds_describe_db_cluster_snapshot_attributes rds_describe_db_cluster_parameters rds_describe_db_cluster_parameter_groups rds_describe_db_cluster_endpoints rds_describe_db_cluster_backtracks rds_describe_db_cluster_automated_backups rds_describe_certificates rds_describe_blue_green_deployments rds_describe_account_attributes rds_deregister_db_proxy_targets rds_delete_tenant_database rds_delete_option_group rds_delete_integration rds_delete_global_cluster rds_delete_event_subscription rds_delete_db_subnet_group rds_delete_db_snapshot rds_delete_db_shard_group rds_delete_db_security_group rds_delete_db_proxy_endpoint rds_delete_db_proxy rds_delete_db_parameter_group rds_delete_db_instance_automated_backup rds_delete_db_instance rds_delete_db_cluster_snapshot rds_delete_db_cluster_parameter_group rds_delete_db_cluster_endpoint rds_delete_db_cluster_automated_backup rds_delete_db_cluster rds_delete_custom_db_engine_version rds_delete_blue_green_deployment rds_create_tenant_database rds_create_option_group rds_create_integration rds_create_global_cluster rds_create_event_subscription rds_create_db_subnet_group rds_create_db_snapshot rds_create_db_shard_group rds_create_db_security_group rds_create_db_proxy_endpoint rds_create_db_proxy rds_create_db_parameter_group rds_create_db_instance_read_replica rds_create_db_instance rds_create_db_cluster_snapshot rds_create_db_cluster_parameter_group rds_create_db_cluster_endpoint rds_create_db_cluster rds_create_custom_db_engine_version rds_create_blue_green_deployment rds_copy_option_group rds_copy_db_snapshot rds_copy_db_parameter_group rds_copy_db_cluster_snapshot rds_copy_db_cluster_parameter_group rds_cancel_export_task rds_backtrack_db_cluster rds_authorize_db_security_group_ingress rds_apply_pending_maintenance_action rds_add_tags_to_resource rds_add_source_identifier_to_subscription rds_add_role_to_db_instance rds_add_role_to_db_cluster

Documented in rds_add_role_to_db_cluster rds_add_role_to_db_instance rds_add_source_identifier_to_subscription rds_add_tags_to_resource rds_apply_pending_maintenance_action rds_authorize_db_security_group_ingress rds_backtrack_db_cluster rds_cancel_export_task rds_copy_db_cluster_parameter_group rds_copy_db_cluster_snapshot rds_copy_db_parameter_group rds_copy_db_snapshot rds_copy_option_group rds_create_blue_green_deployment rds_create_custom_db_engine_version rds_create_db_cluster rds_create_db_cluster_endpoint rds_create_db_cluster_parameter_group rds_create_db_cluster_snapshot rds_create_db_instance rds_create_db_instance_read_replica rds_create_db_parameter_group rds_create_db_proxy rds_create_db_proxy_endpoint rds_create_db_security_group rds_create_db_shard_group rds_create_db_snapshot rds_create_db_subnet_group rds_create_event_subscription rds_create_global_cluster rds_create_integration rds_create_option_group rds_create_tenant_database rds_delete_blue_green_deployment rds_delete_custom_db_engine_version rds_delete_db_cluster rds_delete_db_cluster_automated_backup rds_delete_db_cluster_endpoint rds_delete_db_cluster_parameter_group rds_delete_db_cluster_snapshot rds_delete_db_instance rds_delete_db_instance_automated_backup rds_delete_db_parameter_group rds_delete_db_proxy rds_delete_db_proxy_endpoint rds_delete_db_security_group rds_delete_db_shard_group rds_delete_db_snapshot rds_delete_db_subnet_group rds_delete_event_subscription rds_delete_global_cluster rds_delete_integration rds_delete_option_group rds_delete_tenant_database rds_deregister_db_proxy_targets rds_describe_account_attributes rds_describe_blue_green_deployments rds_describe_certificates rds_describe_db_cluster_automated_backups rds_describe_db_cluster_backtracks rds_describe_db_cluster_endpoints rds_describe_db_cluster_parameter_groups rds_describe_db_cluster_parameters rds_describe_db_clusters rds_describe_db_cluster_snapshot_attributes rds_describe_db_cluster_snapshots rds_describe_db_engine_versions rds_describe_db_instance_automated_backups rds_describe_db_instances rds_describe_db_log_files rds_describe_db_parameter_groups rds_describe_db_parameters rds_describe_db_proxies rds_describe_db_proxy_endpoints rds_describe_db_proxy_target_groups rds_describe_db_proxy_targets rds_describe_db_recommendations rds_describe_db_security_groups rds_describe_db_shard_groups rds_describe_db_snapshot_attributes rds_describe_db_snapshots rds_describe_db_snapshot_tenant_databases rds_describe_db_subnet_groups rds_describe_engine_default_cluster_parameters rds_describe_engine_default_parameters rds_describe_event_categories rds_describe_events rds_describe_event_subscriptions rds_describe_export_tasks rds_describe_global_clusters rds_describe_integrations rds_describe_option_group_options rds_describe_option_groups rds_describe_orderable_db_instance_options rds_describe_pending_maintenance_actions rds_describe_reserved_db_instances rds_describe_reserved_db_instances_offerings rds_describe_source_regions rds_describe_tenant_databases rds_describe_valid_db_instance_modifications rds_disable_http_endpoint rds_download_db_log_file_portion rds_enable_http_endpoint rds_failover_db_cluster rds_failover_global_cluster rds_list_tags_for_resource rds_modify_activity_stream rds_modify_certificates rds_modify_current_db_cluster_capacity rds_modify_custom_db_engine_version rds_modify_db_cluster rds_modify_db_cluster_endpoint rds_modify_db_cluster_parameter_group rds_modify_db_cluster_snapshot_attribute rds_modify_db_instance rds_modify_db_parameter_group rds_modify_db_proxy rds_modify_db_proxy_endpoint rds_modify_db_proxy_target_group rds_modify_db_recommendation rds_modify_db_shard_group rds_modify_db_snapshot rds_modify_db_snapshot_attribute rds_modify_db_subnet_group rds_modify_event_subscription rds_modify_global_cluster rds_modify_integration rds_modify_option_group rds_modify_tenant_database rds_promote_read_replica rds_promote_read_replica_db_cluster rds_purchase_reserved_db_instances_offering rds_reboot_db_cluster rds_reboot_db_instance rds_reboot_db_shard_group rds_register_db_proxy_targets rds_remove_from_global_cluster rds_remove_role_from_db_cluster rds_remove_role_from_db_instance rds_remove_source_identifier_from_subscription rds_remove_tags_from_resource rds_reset_db_cluster_parameter_group rds_reset_db_parameter_group rds_restore_db_cluster_from_s3 rds_restore_db_cluster_from_snapshot rds_restore_db_cluster_to_point_in_time rds_restore_db_instance_from_db_snapshot rds_restore_db_instance_from_s3 rds_restore_db_instance_to_point_in_time rds_revoke_db_security_group_ingress rds_start_activity_stream rds_start_db_cluster rds_start_db_instance rds_start_db_instance_automated_backups_replication rds_start_export_task rds_stop_activity_stream rds_stop_db_cluster rds_stop_db_instance rds_stop_db_instance_automated_backups_replication rds_switchover_blue_green_deployment rds_switchover_global_cluster rds_switchover_read_replica

# This file is generated by make.paws. Please do not edit here.
#' @importFrom paws.common get_config new_operation new_request send_request
#' @include rds_service.R
NULL

#' Associates an Identity and Access Management (IAM) role with a DB
#' cluster
#'
#' @description
#' Associates an Identity and Access Management (IAM) role with a DB cluster.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_add_role_to_db_cluster/](https://www.paws-r-sdk.com/docs/rds_add_role_to_db_cluster/) for full documentation.
#'
#' @param DBClusterIdentifier [required] The name of the DB cluster to associate the IAM role with.
#' @param RoleArn [required] The Amazon Resource Name (ARN) of the IAM role to associate with the
#' Aurora DB cluster, for example
#' `arn:aws:iam::123456789012:role/AuroraAccessRole`.
#' @param FeatureName The name of the feature for the DB cluster that the IAM role is to be
#' associated with. For information about supported feature names, see
#' DBEngineVersion.
#'
#' @keywords internal
#'
#' @rdname rds_add_role_to_db_cluster
rds_add_role_to_db_cluster <- function(DBClusterIdentifier, RoleArn, FeatureName = NULL) {
  op <- new_operation(
    name = "AddRoleToDBCluster",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$add_role_to_db_cluster_input(DBClusterIdentifier = DBClusterIdentifier, RoleArn = RoleArn, FeatureName = FeatureName)
  output <- .rds$add_role_to_db_cluster_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$add_role_to_db_cluster <- rds_add_role_to_db_cluster

#' Associates an Amazon Web Services Identity and Access Management (IAM)
#' role with a DB instance
#'
#' @description
#' Associates an Amazon Web Services Identity and Access Management (IAM) role with a DB instance.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_add_role_to_db_instance/](https://www.paws-r-sdk.com/docs/rds_add_role_to_db_instance/) for full documentation.
#'
#' @param DBInstanceIdentifier &#91;required&#93; The name of the DB instance to associate the IAM role with.
#' @param RoleArn &#91;required&#93; The Amazon Resource Name (ARN) of the IAM role to associate with the DB
#' instance, for example `arn:aws:iam::123456789012:role/AccessRole`.
#' @param FeatureName &#91;required&#93; The name of the feature for the DB instance that the IAM role is to be
#' associated with. For information about supported feature names, see
#' DBEngineVersion.
#'
#' @keywords internal
#'
#' @rdname rds_add_role_to_db_instance
rds_add_role_to_db_instance <- function(DBInstanceIdentifier, RoleArn, FeatureName) {
  op <- new_operation(
    name = "AddRoleToDBInstance",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$add_role_to_db_instance_input(DBInstanceIdentifier = DBInstanceIdentifier, RoleArn = RoleArn, FeatureName = FeatureName)
  output <- .rds$add_role_to_db_instance_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$add_role_to_db_instance <- rds_add_role_to_db_instance

#' Adds a source identifier to an existing RDS event notification
#' subscription
#'
#' @description
#' Adds a source identifier to an existing RDS event notification subscription.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_add_source_identifier_to_subscription/](https://www.paws-r-sdk.com/docs/rds_add_source_identifier_to_subscription/) for full documentation.
#'
#' @param SubscriptionName &#91;required&#93; The name of the RDS event notification subscription you want to add a
#' source identifier to.
#' @param SourceIdentifier &#91;required&#93; The identifier of the event source to be added.
#' 
#' Constraints:
#' 
#' -   If the source type is a DB instance, a `DBInstanceIdentifier` value
#'     must be supplied.
#' 
#' -   If the source type is a DB cluster, a `DBClusterIdentifier` value
#'     must be supplied.
#' 
#' -   If the source type is a DB parameter group, a `DBParameterGroupName`
#'     value must be supplied.
#' 
#' -   If the source type is a DB security group, a `DBSecurityGroupName`
#'     value must be supplied.
#' 
#' -   If the source type is a DB snapshot, a `DBSnapshotIdentifier` value
#'     must be supplied.
#' 
#' -   If the source type is a DB cluster snapshot, a
#'     `DBClusterSnapshotIdentifier` value must be supplied.
#' 
#' -   If the source type is an RDS Proxy, a `DBProxyName` value must be
#'     supplied.
#'
#' @keywords internal
#'
#' @rdname rds_add_source_identifier_to_subscription
rds_add_source_identifier_to_subscription <- function(SubscriptionName, SourceIdentifier) {
  op <- new_operation(
    name = "AddSourceIdentifierToSubscription",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$add_source_identifier_to_subscription_input(SubscriptionName = SubscriptionName, SourceIdentifier = SourceIdentifier)
  output <- .rds$add_source_identifier_to_subscription_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$add_source_identifier_to_subscription <- rds_add_source_identifier_to_subscription

#' Adds metadata tags to an Amazon RDS resource
#'
#' @description
#' Adds metadata tags to an Amazon RDS resource. These tags can also be used with cost allocation reporting to track cost associated with Amazon RDS resources, or used in a Condition statement in an IAM policy for Amazon RDS.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_add_tags_to_resource/](https://www.paws-r-sdk.com/docs/rds_add_tags_to_resource/) for full documentation.
#'
#' @param ResourceName &#91;required&#93; The Amazon RDS resource that the tags are added to. This value is an
#' Amazon Resource Name (ARN). For information about creating an ARN, see
#' [Constructing an RDS Amazon Resource Name
#' (ARN)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing).
#' @param Tags &#91;required&#93; The tags to be assigned to the Amazon RDS resource.
#'
#' @keywords internal
#'
#' @rdname rds_add_tags_to_resource
rds_add_tags_to_resource <- function(ResourceName, Tags) {
  op <- new_operation(
    name = "AddTagsToResource",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$add_tags_to_resource_input(ResourceName = ResourceName, Tags = Tags)
  output <- .rds$add_tags_to_resource_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$add_tags_to_resource <- rds_add_tags_to_resource

#' Applies a pending maintenance action to a resource (for example, to a DB
#' instance)
#'
#' @description
#' Applies a pending maintenance action to a resource (for example, to a DB instance).
#'
#' See [https://www.paws-r-sdk.com/docs/rds_apply_pending_maintenance_action/](https://www.paws-r-sdk.com/docs/rds_apply_pending_maintenance_action/) for full documentation.
#'
#' @param ResourceIdentifier &#91;required&#93; The RDS Amazon Resource Name (ARN) of the resource that the pending
#' maintenance action applies to. For information about creating an ARN,
#' see [Constructing an RDS Amazon Resource Name
#' (ARN)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing).
#' @param ApplyAction &#91;required&#93; The pending maintenance action to apply to this resource.
#' 
#' Valid Values: `system-update`, `db-upgrade`, `hardware-maintenance`,
#' `ca-certificate-rotation`
#' @param OptInType &#91;required&#93; A value that specifies the type of opt-in request, or undoes an opt-in
#' request. An opt-in request of type `immediate` can't be undone.
#' 
#' Valid Values:
#' 
#' -   `immediate` - Apply the maintenance action immediately.
#' 
#' -   `next-maintenance` - Apply the maintenance action during the next
#'     maintenance window for the resource.
#' 
#' -   `undo-opt-in` - Cancel any existing `next-maintenance` opt-in
#'     requests.
#'
#' @keywords internal
#'
#' @rdname rds_apply_pending_maintenance_action
rds_apply_pending_maintenance_action <- function(ResourceIdentifier, ApplyAction, OptInType) {
  op <- new_operation(
    name = "ApplyPendingMaintenanceAction",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$apply_pending_maintenance_action_input(ResourceIdentifier = ResourceIdentifier, ApplyAction = ApplyAction, OptInType = OptInType)
  output <- .rds$apply_pending_maintenance_action_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$apply_pending_maintenance_action <- rds_apply_pending_maintenance_action

#' Enables ingress to a DBSecurityGroup using one of two forms of
#' authorization
#'
#' @description
#' Enables ingress to a DBSecurityGroup using one of two forms of authorization. First, EC2 or VPC security groups can be added to the DBSecurityGroup if the application using the database is running on EC2 or VPC instances. Second, IP ranges are available if the application accessing your database is running on the internet. Required parameters for this API are one of CIDR range, EC2SecurityGroupId for VPC, or (EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId for non-VPC).
#'
#' See [https://www.paws-r-sdk.com/docs/rds_authorize_db_security_group_ingress/](https://www.paws-r-sdk.com/docs/rds_authorize_db_security_group_ingress/) for full documentation.
#'
#' @param DBSecurityGroupName &#91;required&#93; The name of the DB security group to add authorization to.
#' @param CIDRIP The IP range to authorize.
#' @param EC2SecurityGroupName Name of the EC2 security group to authorize. For VPC DB security groups,
#' `EC2SecurityGroupId` must be provided. Otherwise,
#' `EC2SecurityGroupOwnerId` and either `EC2SecurityGroupName` or
#' `EC2SecurityGroupId` must be provided.
#' @param EC2SecurityGroupId Id of the EC2 security group to authorize. For VPC DB security groups,
#' `EC2SecurityGroupId` must be provided. Otherwise,
#' `EC2SecurityGroupOwnerId` and either `EC2SecurityGroupName` or
#' `EC2SecurityGroupId` must be provided.
#' @param EC2SecurityGroupOwnerId Amazon Web Services account number of the owner of the EC2 security
#' group specified in the `EC2SecurityGroupName` parameter. The Amazon Web
#' Services access key ID isn't an acceptable value. For VPC DB security
#' groups, `EC2SecurityGroupId` must be provided. Otherwise,
#' `EC2SecurityGroupOwnerId` and either `EC2SecurityGroupName` or
#' `EC2SecurityGroupId` must be provided.
#'
#' @keywords internal
#'
#' @rdname rds_authorize_db_security_group_ingress
rds_authorize_db_security_group_ingress <- function(DBSecurityGroupName, CIDRIP = NULL, EC2SecurityGroupName = NULL, EC2SecurityGroupId = NULL, EC2SecurityGroupOwnerId = NULL) {
  op <- new_operation(
    name = "AuthorizeDBSecurityGroupIngress",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$authorize_db_security_group_ingress_input(DBSecurityGroupName = DBSecurityGroupName, CIDRIP = CIDRIP, EC2SecurityGroupName = EC2SecurityGroupName, EC2SecurityGroupId = EC2SecurityGroupId, EC2SecurityGroupOwnerId = EC2SecurityGroupOwnerId)
  output <- .rds$authorize_db_security_group_ingress_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$authorize_db_security_group_ingress <- rds_authorize_db_security_group_ingress

#' Backtracks a DB cluster to a specific time, without creating a new DB
#' cluster
#'
#' @description
#' Backtracks a DB cluster to a specific time, without creating a new DB cluster.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_backtrack_db_cluster/](https://www.paws-r-sdk.com/docs/rds_backtrack_db_cluster/) for full documentation.
#'
#' @param DBClusterIdentifier &#91;required&#93; The DB cluster identifier of the DB cluster to be backtracked. This
#' parameter is stored as a lowercase string.
#' 
#' Constraints:
#' 
#' -   Must contain from 1 to 63 alphanumeric characters or hyphens.
#' 
#' -   First character must be a letter.
#' 
#' -   Can't end with a hyphen or contain two consecutive hyphens.
#' 
#' Example: `my-cluster1`
#' @param BacktrackTo &#91;required&#93; The timestamp of the time to backtrack the DB cluster to, specified in
#' ISO 8601 format. For more information about ISO 8601, see the [ISO8601
#' Wikipedia page.](https://en.wikipedia.org/wiki/ISO_8601)
#' 
#' If the specified time isn't a consistent time for the DB cluster, Aurora
#' automatically chooses the nearest possible consistent time for the DB
#' cluster.
#' 
#' Constraints:
#' 
#' -   Must contain a valid ISO 8601 timestamp.
#' 
#' -   Can't contain a timestamp set in the future.
#' 
#' Example: `2017-07-08T18:00Z`
#' @param Force Specifies whether to force the DB cluster to backtrack when binary
#' logging is enabled. Otherwise, an error occurs when binary logging is
#' enabled.
#' @param UseEarliestTimeOnPointInTimeUnavailable Specifies whether to backtrack the DB cluster to the earliest possible
#' backtrack time when *BacktrackTo* is set to a timestamp earlier than the
#' earliest backtrack time. When this parameter is disabled and
#' *BacktrackTo* is set to a timestamp earlier than the earliest backtrack
#' time, an error occurs.
#'
#' @keywords internal
#'
#' @rdname rds_backtrack_db_cluster
rds_backtrack_db_cluster <- function(DBClusterIdentifier, BacktrackTo, Force = NULL, UseEarliestTimeOnPointInTimeUnavailable = NULL) {
  op <- new_operation(
    name = "BacktrackDBCluster",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$backtrack_db_cluster_input(DBClusterIdentifier = DBClusterIdentifier, BacktrackTo = BacktrackTo, Force = Force, UseEarliestTimeOnPointInTimeUnavailable = UseEarliestTimeOnPointInTimeUnavailable)
  output <- .rds$backtrack_db_cluster_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$backtrack_db_cluster <- rds_backtrack_db_cluster

#' Cancels an export task in progress that is exporting a snapshot or
#' cluster to Amazon S3
#'
#' @description
#' Cancels an export task in progress that is exporting a snapshot or cluster to Amazon S3. Any data that has already been written to the S3 bucket isn't removed.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_cancel_export_task/](https://www.paws-r-sdk.com/docs/rds_cancel_export_task/) for full documentation.
#'
#' @param ExportTaskIdentifier &#91;required&#93; The identifier of the snapshot or cluster export task to cancel.
#'
#' @keywords internal
#'
#' @rdname rds_cancel_export_task
rds_cancel_export_task <- function(ExportTaskIdentifier) {
  op <- new_operation(
    name = "CancelExportTask",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$cancel_export_task_input(ExportTaskIdentifier = ExportTaskIdentifier)
  output <- .rds$cancel_export_task_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$cancel_export_task <- rds_cancel_export_task

#' Copies the specified DB cluster parameter group
#'
#' @description
#' Copies the specified DB cluster parameter group.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_copy_db_cluster_parameter_group/](https://www.paws-r-sdk.com/docs/rds_copy_db_cluster_parameter_group/) for full documentation.
#'
#' @param SourceDBClusterParameterGroupIdentifier &#91;required&#93; The identifier or Amazon Resource Name (ARN) for the source DB cluster
#' parameter group. For information about creating an ARN, see
#' [Constructing an ARN for Amazon
#' RDS](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing)
#' in the *Amazon Aurora User Guide*.
#' 
#' Constraints:
#' 
#' -   Must specify a valid DB cluster parameter group.
#' @param TargetDBClusterParameterGroupIdentifier &#91;required&#93; The identifier for the copied DB cluster parameter group.
#' 
#' Constraints:
#' 
#' -   Can't be null, empty, or blank
#' 
#' -   Must contain from 1 to 255 letters, numbers, or hyphens
#' 
#' -   First character must be a letter
#' 
#' -   Can't end with a hyphen or contain two consecutive hyphens
#' 
#' Example: `my-cluster-param-group1`
#' @param TargetDBClusterParameterGroupDescription &#91;required&#93; A description for the copied DB cluster parameter group.
#' @param Tags 
#'
#' @keywords internal
#'
#' @rdname rds_copy_db_cluster_parameter_group
rds_copy_db_cluster_parameter_group <- function(SourceDBClusterParameterGroupIdentifier, TargetDBClusterParameterGroupIdentifier, TargetDBClusterParameterGroupDescription, Tags = NULL) {
  op <- new_operation(
    name = "CopyDBClusterParameterGroup",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$copy_db_cluster_parameter_group_input(SourceDBClusterParameterGroupIdentifier = SourceDBClusterParameterGroupIdentifier, TargetDBClusterParameterGroupIdentifier = TargetDBClusterParameterGroupIdentifier, TargetDBClusterParameterGroupDescription = TargetDBClusterParameterGroupDescription, Tags = Tags)
  output <- .rds$copy_db_cluster_parameter_group_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$copy_db_cluster_parameter_group <- rds_copy_db_cluster_parameter_group

#' Copies a snapshot of a DB cluster
#'
#' @description
#' Copies a snapshot of a DB cluster.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_copy_db_cluster_snapshot/](https://www.paws-r-sdk.com/docs/rds_copy_db_cluster_snapshot/) for full documentation.
#'
#' @param SourceDBClusterSnapshotIdentifier &#91;required&#93; The identifier of the DB cluster snapshot to copy. This parameter isn't
#' case-sensitive.
#' 
#' You can't copy an encrypted, shared DB cluster snapshot from one Amazon
#' Web Services Region to another.
#' 
#' Constraints:
#' 
#' -   Must specify a valid system snapshot in the "available" state.
#' 
#' -   If the source snapshot is in the same Amazon Web Services Region as
#'     the copy, specify a valid DB snapshot identifier.
#' 
#' -   If the source snapshot is in a different Amazon Web Services Region
#'     than the copy, specify a valid DB cluster snapshot ARN. For more
#'     information, go to [Copying Snapshots Across Amazon Web Services
#'     Regions](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-copy-snapshot.html#USER_CopySnapshot.AcrossRegions)
#'     in the *Amazon Aurora User Guide*.
#' 
#' Example: `my-cluster-snapshot1`
#' @param TargetDBClusterSnapshotIdentifier &#91;required&#93; The identifier of the new DB cluster snapshot to create from the source
#' DB cluster snapshot. This parameter isn't case-sensitive.
#' 
#' Constraints:
#' 
#' -   Must contain from 1 to 63 letters, numbers, or hyphens.
#' 
#' -   First character must be a letter.
#' 
#' -   Can't end with a hyphen or contain two consecutive hyphens.
#' 
#' Example: `my-cluster-snapshot2`
#' @param KmsKeyId The Amazon Web Services KMS key identifier for an encrypted DB cluster
#' snapshot. The Amazon Web Services KMS key identifier is the key ARN, key
#' ID, alias ARN, or alias name for the Amazon Web Services KMS key.
#' 
#' If you copy an encrypted DB cluster snapshot from your Amazon Web
#' Services account, you can specify a value for `KmsKeyId` to encrypt the
#' copy with a new KMS key. If you don't specify a value for `KmsKeyId`,
#' then the copy of the DB cluster snapshot is encrypted with the same KMS
#' key as the source DB cluster snapshot.
#' 
#' If you copy an encrypted DB cluster snapshot that is shared from another
#' Amazon Web Services account, then you must specify a value for
#' `KmsKeyId`.
#' 
#' To copy an encrypted DB cluster snapshot to another Amazon Web Services
#' Region, you must set `KmsKeyId` to the Amazon Web Services KMS key
#' identifier you want to use to encrypt the copy of the DB cluster
#' snapshot in the destination Amazon Web Services Region. KMS keys are
#' specific to the Amazon Web Services Region that they are created in, and
#' you can't use KMS keys from one Amazon Web Services Region in another
#' Amazon Web Services Region.
#' 
#' If you copy an unencrypted DB cluster snapshot and specify a value for
#' the `KmsKeyId` parameter, an error is returned.
#' @param PreSignedUrl When you are copying a DB cluster snapshot from one Amazon Web Services
#' GovCloud (US) Region to another, the URL that contains a Signature
#' Version 4 signed request for the
#' [`copy_db_cluster_snapshot`][rds_copy_db_cluster_snapshot] API operation
#' in the Amazon Web Services Region that contains the source DB cluster
#' snapshot to copy. Use the `PreSignedUrl` parameter when copying an
#' encrypted DB cluster snapshot from another Amazon Web Services Region.
#' Don't specify `PreSignedUrl` when copying an encrypted DB cluster
#' snapshot in the same Amazon Web Services Region.
#' 
#' This setting applies only to Amazon Web Services GovCloud (US) Regions.
#' It's ignored in other Amazon Web Services Regions.
#' 
#' The presigned URL must be a valid request for the
#' [`copy_db_cluster_snapshot`][rds_copy_db_cluster_snapshot] API operation
#' that can run in the source Amazon Web Services Region that contains the
#' encrypted DB cluster snapshot to copy. The presigned URL request must
#' contain the following parameter values:
#' 
#' -   `KmsKeyId` - The KMS key identifier for the KMS key to use to
#'     encrypt the copy of the DB cluster snapshot in the destination
#'     Amazon Web Services Region. This is the same identifier for both the
#'     [`copy_db_cluster_snapshot`][rds_copy_db_cluster_snapshot] operation
#'     that is called in the destination Amazon Web Services Region, and
#'     the operation contained in the presigned URL.
#' 
#' -   `DestinationRegion` - The name of the Amazon Web Services Region
#'     that the DB cluster snapshot is to be created in.
#' 
#' -   `SourceDBClusterSnapshotIdentifier` - The DB cluster snapshot
#'     identifier for the encrypted DB cluster snapshot to be copied. This
#'     identifier must be in the Amazon Resource Name (ARN) format for the
#'     source Amazon Web Services Region. For example, if you are copying
#'     an encrypted DB cluster snapshot from the us-west-2 Amazon Web
#'     Services Region, then your `SourceDBClusterSnapshotIdentifier` looks
#'     like the following example:
#'     `arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115`.
#' 
#' To learn how to generate a Signature Version 4 signed request, see
#' [Authenticating Requests: Using Query Parameters (Amazon Web Services
#' Signature Version
#' 4)](https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
#' and [Signature Version 4 Signing
#' Process](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-signing.html).
#' 
#' If you are using an Amazon Web Services SDK tool or the CLI, you can
#' specify `SourceRegion` (or `--source-region` for the CLI) instead of
#' specifying `PreSignedUrl` manually. Specifying `SourceRegion`
#' autogenerates a presigned URL that is a valid request for the operation
#' that can run in the source Amazon Web Services Region.
#' 
#' If you supply a value for this operation's `SourceRegion` parameter, a
#' pre-signed URL will be calculated on your behalf.
#' @param CopyTags Specifies whether to copy all tags from the source DB cluster snapshot
#' to the target DB cluster snapshot. By default, tags are not copied.
#' @param Tags 
#' @param SourceRegion The ID of the region that contains the snapshot to be copied.
#'
#' @keywords internal
#'
#' @rdname rds_copy_db_cluster_snapshot
rds_copy_db_cluster_snapshot <- function(SourceDBClusterSnapshotIdentifier, TargetDBClusterSnapshotIdentifier, KmsKeyId = NULL, PreSignedUrl = NULL, CopyTags = NULL, Tags = NULL, SourceRegion = NULL) {
  op <- new_operation(
    name = "CopyDBClusterSnapshot",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$copy_db_cluster_snapshot_input(SourceDBClusterSnapshotIdentifier = SourceDBClusterSnapshotIdentifier, TargetDBClusterSnapshotIdentifier = TargetDBClusterSnapshotIdentifier, KmsKeyId = KmsKeyId, PreSignedUrl = PreSignedUrl, CopyTags = CopyTags, Tags = Tags, SourceRegion = SourceRegion)
  output <- .rds$copy_db_cluster_snapshot_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$copy_db_cluster_snapshot <- rds_copy_db_cluster_snapshot

#' Copies the specified DB parameter group
#'
#' @description
#' Copies the specified DB parameter group.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_copy_db_parameter_group/](https://www.paws-r-sdk.com/docs/rds_copy_db_parameter_group/) for full documentation.
#'
#' @param SourceDBParameterGroupIdentifier &#91;required&#93; The identifier or ARN for the source DB parameter group. For information
#' 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)
#' in the *Amazon RDS User Guide*.
#' 
#' Constraints:
#' 
#' -   Must specify a valid DB parameter group.
#' @param TargetDBParameterGroupIdentifier &#91;required&#93; The identifier for the copied DB parameter group.
#' 
#' Constraints:
#' 
#' -   Can't be null, empty, or blank
#' 
#' -   Must contain from 1 to 255 letters, numbers, or hyphens
#' 
#' -   First character must be a letter
#' 
#' -   Can't end with a hyphen or contain two consecutive hyphens
#' 
#' Example: `my-db-parameter-group`
#' @param TargetDBParameterGroupDescription &#91;required&#93; A description for the copied DB parameter group.
#' @param Tags 
#'
#' @keywords internal
#'
#' @rdname rds_copy_db_parameter_group
rds_copy_db_parameter_group <- function(SourceDBParameterGroupIdentifier, TargetDBParameterGroupIdentifier, TargetDBParameterGroupDescription, Tags = NULL) {
  op <- new_operation(
    name = "CopyDBParameterGroup",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$copy_db_parameter_group_input(SourceDBParameterGroupIdentifier = SourceDBParameterGroupIdentifier, TargetDBParameterGroupIdentifier = TargetDBParameterGroupIdentifier, TargetDBParameterGroupDescription = TargetDBParameterGroupDescription, Tags = Tags)
  output <- .rds$copy_db_parameter_group_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$copy_db_parameter_group <- rds_copy_db_parameter_group

#' Copies the specified DB snapshot
#'
#' @description
#' Copies the specified DB snapshot. The source DB snapshot must be in the `available` state.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_copy_db_snapshot/](https://www.paws-r-sdk.com/docs/rds_copy_db_snapshot/) for full documentation.
#'
#' @param SourceDBSnapshotIdentifier &#91;required&#93; The identifier for the source DB snapshot.
#' 
#' If the source snapshot is in the same Amazon Web Services Region as the
#' copy, specify a valid DB snapshot identifier. For example, you might
#' specify `rds:mysql-instance1-snapshot-20130805`.
#' 
#' If the source snapshot is in a different Amazon Web Services Region than
#' the copy, specify a valid DB snapshot ARN. For example, you might
#' specify
#' `arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805`.
#' 
#' If you are copying from a shared manual DB snapshot, this parameter must
#' be the Amazon Resource Name (ARN) of the shared DB snapshot.
#' 
#' If you are copying an encrypted snapshot this parameter must be in the
#' ARN format for the source Amazon Web Services Region.
#' 
#' Constraints:
#' 
#' -   Must specify a valid system snapshot in the "available" state.
#' 
#' Example: `rds:mydb-2012-04-02-00-01`
#' 
#' Example:
#' `arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805`
#' @param TargetDBSnapshotIdentifier &#91;required&#93; The identifier for the copy of the snapshot.
#' 
#' Constraints:
#' 
#' -   Can't be null, empty, or blank
#' 
#' -   Must contain from 1 to 255 letters, numbers, or hyphens
#' 
#' -   First character must be a letter
#' 
#' -   Can't end with a hyphen or contain two consecutive hyphens
#' 
#' Example: `my-db-snapshot`
#' @param KmsKeyId The Amazon Web Services KMS key identifier for an encrypted DB snapshot.
#' The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
#' ARN, or alias name for the KMS key.
#' 
#' If you copy an encrypted DB snapshot from your Amazon Web Services
#' account, you can specify a value for this parameter to encrypt the copy
#' with a new KMS key. If you don't specify a value for this parameter,
#' then the copy of the DB snapshot is encrypted with the same Amazon Web
#' Services KMS key as the source DB snapshot.
#' 
#' If you copy an encrypted DB snapshot that is shared from another Amazon
#' Web Services account, then you must specify a value for this parameter.
#' 
#' If you specify this parameter when you copy an unencrypted snapshot, the
#' copy is encrypted.
#' 
#' If you copy an encrypted snapshot to a different Amazon Web Services
#' Region, then you must specify an Amazon Web Services KMS key identifier
#' for the destination Amazon Web Services Region. KMS keys are specific to
#' the Amazon Web Services Region that they are created in, and you can't
#' use KMS keys from one Amazon Web Services Region in another Amazon Web
#' Services Region.
#' @param Tags 
#' @param CopyTags Specifies whether to copy all tags from the source DB snapshot to the
#' target DB snapshot. By default, tags aren't copied.
#' @param PreSignedUrl When you are copying a snapshot from one Amazon Web Services GovCloud
#' (US) Region to another, the URL that contains a Signature Version 4
#' signed request for the [`copy_db_snapshot`][rds_copy_db_snapshot] API
#' operation in the source Amazon Web Services Region that contains the
#' source DB snapshot to copy.
#' 
#' This setting applies only to Amazon Web Services GovCloud (US) Regions.
#' It's ignored in other Amazon Web Services Regions.
#' 
#' You must specify this parameter when you copy an encrypted DB snapshot
#' from another Amazon Web Services Region by using the Amazon RDS API.
#' Don't specify `PreSignedUrl` when you are copying an encrypted DB
#' snapshot in the same Amazon Web Services Region.
#' 
#' The presigned URL must be a valid request for the
#' [`copy_db_cluster_snapshot`][rds_copy_db_cluster_snapshot] API operation
#' that can run in the source Amazon Web Services Region that contains the
#' encrypted DB cluster snapshot to copy. The presigned URL request must
#' contain the following parameter values:
#' 
#' -   `DestinationRegion` - The Amazon Web Services Region that the
#'     encrypted DB snapshot is copied to. This Amazon Web Services Region
#'     is the same one where the [`copy_db_snapshot`][rds_copy_db_snapshot]
#'     operation is called that contains this presigned URL.
#' 
#'     For example, if you copy an encrypted DB snapshot from the us-west-2
#'     Amazon Web Services Region to the us-east-1 Amazon Web Services
#'     Region, then you call the [`copy_db_snapshot`][rds_copy_db_snapshot]
#'     operation in the us-east-1 Amazon Web Services Region and provide a
#'     presigned URL that contains a call to the
#'     [`copy_db_snapshot`][rds_copy_db_snapshot] operation in the
#'     us-west-2 Amazon Web Services Region. For this example, the
#'     `DestinationRegion` in the presigned URL must be set to the
#'     us-east-1 Amazon Web Services Region.
#' 
#' -   `KmsKeyId` - The KMS key identifier for the KMS key to use to
#'     encrypt the copy of the DB snapshot in the destination Amazon Web
#'     Services Region. This is the same identifier for both the
#'     [`copy_db_snapshot`][rds_copy_db_snapshot] operation that is called
#'     in the destination Amazon Web Services Region, and the operation
#'     contained in the presigned URL.
#' 
#' -   `SourceDBSnapshotIdentifier` - The DB snapshot identifier for the
#'     encrypted snapshot to be copied. This identifier must be in the
#'     Amazon Resource Name (ARN) format for the source Amazon Web Services
#'     Region. For example, if you are copying an encrypted DB snapshot
#'     from the us-west-2 Amazon Web Services Region, then your
#'     `SourceDBSnapshotIdentifier` looks like the following example:
#'     `arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20161115`.
#' 
#' To learn how to generate a Signature Version 4 signed request, see
#' [Authenticating Requests: Using Query Parameters (Amazon Web Services
#' Signature Version
#' 4)](https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
#' and [Signature Version 4 Signing
#' Process](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-signing.html).
#' 
#' If you are using an Amazon Web Services SDK tool or the CLI, you can
#' specify `SourceRegion` (or `--source-region` for the CLI) instead of
#' specifying `PreSignedUrl` manually. Specifying `SourceRegion`
#' autogenerates a presigned URL that is a valid request for the operation
#' that can run in the source Amazon Web Services Region.
#' 
#' If you supply a value for this operation's `SourceRegion` parameter, a
#' pre-signed URL will be calculated on your behalf.
#' @param OptionGroupName The name of an option group to associate with the copy of the snapshot.
#' 
#' Specify this option if you are copying a snapshot from one Amazon Web
#' Services Region to another, and your DB instance uses a nondefault
#' option group. If your source DB instance uses Transparent Data
#' Encryption for Oracle or Microsoft SQL Server, you must specify this
#' option when copying across Amazon Web Services Regions. For more
#' information, see [Option group
#' considerations](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopySnapshot.html#USER_CopySnapshot.Options)
#' in the *Amazon RDS User Guide*.
#' @param TargetCustomAvailabilityZone The external custom Availability Zone (CAZ) identifier for the target
#' CAZ.
#' 
#' Example: `rds-caz-aiqhTgQv`.
#' @param CopyOptionGroup Specifies whether to copy the DB option group associated with the source
#' DB snapshot to the target Amazon Web Services account and associate with
#' the target DB snapshot. The associated option group can be copied only
#' with cross-account snapshot copy calls.
#' @param SourceRegion The ID of the region that contains the snapshot to be copied.
#'
#' @keywords internal
#'
#' @rdname rds_copy_db_snapshot
rds_copy_db_snapshot <- function(SourceDBSnapshotIdentifier, TargetDBSnapshotIdentifier, KmsKeyId = NULL, Tags = NULL, CopyTags = NULL, PreSignedUrl = NULL, OptionGroupName = NULL, TargetCustomAvailabilityZone = NULL, CopyOptionGroup = NULL, SourceRegion = NULL) {
  op <- new_operation(
    name = "CopyDBSnapshot",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$copy_db_snapshot_input(SourceDBSnapshotIdentifier = SourceDBSnapshotIdentifier, TargetDBSnapshotIdentifier = TargetDBSnapshotIdentifier, KmsKeyId = KmsKeyId, Tags = Tags, CopyTags = CopyTags, PreSignedUrl = PreSignedUrl, OptionGroupName = OptionGroupName, TargetCustomAvailabilityZone = TargetCustomAvailabilityZone, CopyOptionGroup = CopyOptionGroup, SourceRegion = SourceRegion)
  output <- .rds$copy_db_snapshot_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$copy_db_snapshot <- rds_copy_db_snapshot

#' Copies the specified option group
#'
#' @description
#' Copies the specified option group.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_copy_option_group/](https://www.paws-r-sdk.com/docs/rds_copy_option_group/) for full documentation.
#'
#' @param SourceOptionGroupIdentifier &#91;required&#93; The identifier for the source option group.
#' 
#' Constraints:
#' 
#' -   Must specify a valid option group.
#' @param TargetOptionGroupIdentifier &#91;required&#93; The identifier for the copied option group.
#' 
#' Constraints:
#' 
#' -   Can't be null, empty, or blank
#' 
#' -   Must contain from 1 to 255 letters, numbers, or hyphens
#' 
#' -   First character must be a letter
#' 
#' -   Can't end with a hyphen or contain two consecutive hyphens
#' 
#' Example: `my-option-group`
#' @param TargetOptionGroupDescription &#91;required&#93; The description for the copied option group.
#' @param Tags 
#'
#' @keywords internal
#'
#' @rdname rds_copy_option_group
rds_copy_option_group <- function(SourceOptionGroupIdentifier, TargetOptionGroupIdentifier, TargetOptionGroupDescription, Tags = NULL) {
  op <- new_operation(
    name = "CopyOptionGroup",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$copy_option_group_input(SourceOptionGroupIdentifier = SourceOptionGroupIdentifier, TargetOptionGroupIdentifier = TargetOptionGroupIdentifier, TargetOptionGroupDescription = TargetOptionGroupDescription, Tags = Tags)
  output <- .rds$copy_option_group_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$copy_option_group <- rds_copy_option_group

#' Creates a blue/green deployment
#'
#' @description
#' Creates a blue/green deployment.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_create_blue_green_deployment/](https://www.paws-r-sdk.com/docs/rds_create_blue_green_deployment/) for full documentation.
#'
#' @param BlueGreenDeploymentName &#91;required&#93; The name of the blue/green deployment.
#' 
#' Constraints:
#' 
#' -   Can't be the same as an existing blue/green deployment name in the
#'     same account and Amazon Web Services Region.
#' @param Source &#91;required&#93; The Amazon Resource Name (ARN) of the source production database.
#' 
#' Specify the database that you want to clone. The blue/green deployment
#' creates this database in the green environment. You can make updates to
#' the database in the green environment, such as an engine version
#' upgrade. When you are ready, you can switch the database in the green
#' environment to be the production database.
#' @param TargetEngineVersion The engine version of the database in the green environment.
#' 
#' Specify the engine version to upgrade to in the green environment.
#' @param TargetDBParameterGroupName The DB parameter group associated with the DB instance in the green
#' environment.
#' 
#' To test parameter changes, specify a DB parameter group that is
#' different from the one associated with the source DB instance.
#' @param TargetDBClusterParameterGroupName The DB cluster parameter group associated with the Aurora DB cluster in
#' the green environment.
#' 
#' To test parameter changes, specify a DB cluster parameter group that is
#' different from the one associated with the source DB cluster.
#' @param Tags Tags to assign to the blue/green deployment.
#' @param TargetDBInstanceClass Specify the DB instance class for the databases in the green
#' environment.
#' 
#' This parameter only applies to RDS DB instances, because DB instances
#' within an Aurora DB cluster can have multiple different instance
#' classes. If you're creating a blue/green deployment from an Aurora DB
#' cluster, don't specify this parameter. After the green environment is
#' created, you can individually modify the instance classes of the DB
#' instances within the green DB cluster.
#' @param UpgradeTargetStorageConfig Whether to upgrade the storage file system configuration on the green
#' database. This option migrates the green DB instance from the older
#' 32-bit file system to the preferred configuration. For more information,
#' see [Upgrading the storage file system for a DB
#' instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.UpgradeFileSystem).
#'
#' @keywords internal
#'
#' @rdname rds_create_blue_green_deployment
rds_create_blue_green_deployment <- function(BlueGreenDeploymentName, Source, TargetEngineVersion = NULL, TargetDBParameterGroupName = NULL, TargetDBClusterParameterGroupName = NULL, Tags = NULL, TargetDBInstanceClass = NULL, UpgradeTargetStorageConfig = NULL) {
  op <- new_operation(
    name = "CreateBlueGreenDeployment",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$create_blue_green_deployment_input(BlueGreenDeploymentName = BlueGreenDeploymentName, Source = Source, TargetEngineVersion = TargetEngineVersion, TargetDBParameterGroupName = TargetDBParameterGroupName, TargetDBClusterParameterGroupName = TargetDBClusterParameterGroupName, Tags = Tags, TargetDBInstanceClass = TargetDBInstanceClass, UpgradeTargetStorageConfig = UpgradeTargetStorageConfig)
  output <- .rds$create_blue_green_deployment_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$create_blue_green_deployment <- rds_create_blue_green_deployment

#' Creates a custom DB engine version (CEV)
#'
#' @description
#' Creates a custom DB engine version (CEV).
#'
#' See [https://www.paws-r-sdk.com/docs/rds_create_custom_db_engine_version/](https://www.paws-r-sdk.com/docs/rds_create_custom_db_engine_version/) for full documentation.
#'
#' @param Engine &#91;required&#93; The database engine. RDS Custom for Oracle supports the following
#' values:
#' 
#' -   `custom-oracle-ee`
#' 
#' -   `custom-oracle-ee-cdb`
#' 
#' -   `custom-oracle-se2`
#' 
#' -   `custom-oracle-se2-cdb`
#' @param EngineVersion &#91;required&#93; The name of your CEV. The name format is 19.*customized_string*. For
#' example, a valid CEV name is `19.my_cev1`. This setting is required for
#' RDS Custom for Oracle, but optional for Amazon RDS. The combination of
#' `Engine` and `EngineVersion` is unique per customer per Region.
#' @param DatabaseInstallationFilesS3BucketName The name of an Amazon S3 bucket that contains database installation
#' files for your CEV. For example, a valid bucket name is
#' `my-custom-installation-files`.
#' @param DatabaseInstallationFilesS3Prefix The Amazon S3 directory that contains the database installation files
#' for your CEV. For example, a valid bucket name is `123456789012/cev1`.
#' If this setting isn't specified, no prefix is assumed.
#' @param ImageId The ID of the Amazon Machine Image (AMI). For RDS Custom for SQL Server,
#' an AMI ID is required to create a CEV. For RDS Custom for Oracle, the
#' default is the most recent AMI available, but you can specify an AMI ID
#' that was used in a different Oracle CEV. Find the AMIs used by your CEVs
#' by calling the
#' [`describe_db_engine_versions`][rds_describe_db_engine_versions]
#' operation.
#' @param KMSKeyId The Amazon Web Services KMS key identifier for an encrypted CEV. A
#' symmetric encryption KMS key is required for RDS Custom, but optional
#' for Amazon RDS.
#' 
#' If you have an existing symmetric encryption KMS key in your account,
#' you can use it with RDS Custom. No further action is necessary. If you
#' don't already have a symmetric encryption KMS key in your account,
#' follow the instructions in [Creating a symmetric encryption KMS
#' key](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk)
#' in the *Amazon Web Services Key Management Service Developer Guide*.
#' 
#' You can choose the same symmetric encryption key when you create a CEV
#' and a DB instance, or choose different keys.
#' @param Description An optional description of your CEV.
#' @param Manifest The CEV manifest, which is a JSON document that describes the
#' installation .zip files stored in Amazon S3. Specify the name/value
#' pairs in a file or a quoted string. RDS Custom applies the patches in
#' the order in which they are listed.
#' 
#' The following JSON fields are valid:
#' 
#' **MediaImportTemplateVersion**
#' 
#' Version of the CEV manifest. The date is in the format `YYYY-MM-DD`.
#' 
#' **databaseInstallationFileNames**
#' 
#' Ordered list of installation files for the CEV.
#' 
#' **opatchFileNames**
#' 
#' Ordered list of OPatch installers used for the Oracle DB engine.
#' 
#' **psuRuPatchFileNames**
#' 
#' The PSU and RU patches for this CEV.
#' 
#' **OtherPatchFileNames**
#' 
#' The patches that are not in the list of PSU and RU patches. Amazon RDS
#' applies these patches after applying the PSU and RU patches.
#' 
#' For more information, see [Creating the CEV
#' manifest](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-cev.html#custom-cev.preparing.manifest)
#' in the *Amazon RDS User Guide*.
#' @param Tags 
#' @param SourceCustomDbEngineVersionIdentifier The ARN of a CEV to use as a source for creating a new CEV. You can
#' specify a different Amazon Machine Imagine (AMI) by using either
#' `Source` or `UseAwsProvidedLatestImage`. You can't specify a different
#' JSON manifest when you specify `SourceCustomDbEngineVersionIdentifier`.
#' @param UseAwsProvidedLatestImage Specifies whether to use the latest service-provided Amazon Machine
#' Image (AMI) for the CEV. If you specify `UseAwsProvidedLatestImage`, you
#' can't also specify `ImageId`.
#'
#' @keywords internal
#'
#' @rdname rds_create_custom_db_engine_version
rds_create_custom_db_engine_version <- function(Engine, EngineVersion, DatabaseInstallationFilesS3BucketName = NULL, DatabaseInstallationFilesS3Prefix = NULL, ImageId = NULL, KMSKeyId = NULL, Description = NULL, Manifest = NULL, Tags = NULL, SourceCustomDbEngineVersionIdentifier = NULL, UseAwsProvidedLatestImage = NULL) {
  op <- new_operation(
    name = "CreateCustomDBEngineVersion",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$create_custom_db_engine_version_input(Engine = Engine, EngineVersion = EngineVersion, DatabaseInstallationFilesS3BucketName = DatabaseInstallationFilesS3BucketName, DatabaseInstallationFilesS3Prefix = DatabaseInstallationFilesS3Prefix, ImageId = ImageId, KMSKeyId = KMSKeyId, Description = Description, Manifest = Manifest, Tags = Tags, SourceCustomDbEngineVersionIdentifier = SourceCustomDbEngineVersionIdentifier, UseAwsProvidedLatestImage = UseAwsProvidedLatestImage)
  output <- .rds$create_custom_db_engine_version_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$create_custom_db_engine_version <- rds_create_custom_db_engine_version

#' Creates a new Amazon Aurora DB cluster or Multi-AZ DB cluster
#'
#' @description
#' Creates a new Amazon Aurora DB cluster or Multi-AZ DB cluster.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_create_db_cluster/](https://www.paws-r-sdk.com/docs/rds_create_db_cluster/) for full documentation.
#'
#' @param AvailabilityZones A list of Availability Zones (AZs) where you specifically want to create
#' DB instances in the DB cluster.
#' 
#' For information on AZs, see [Availability
#' Zones](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.RegionsAndAvailabilityZones.html#Concepts.RegionsAndAvailabilityZones.AvailabilityZones)
#' in the *Amazon Aurora User Guide*.
#' 
#' Valid for Cluster Type: Aurora DB clusters only
#' 
#' Constraints:
#' 
#' -   Can't specify more than three AZs.
#' @param BackupRetentionPeriod The number of days for which automated backups are retained.
#' 
#' Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
#' 
#' Default: `1`
#' 
#' Constraints:
#' 
#' -   Must be a value from 1 to 35.
#' @param CharacterSetName The name of the character set (`CharacterSet`) to associate the DB
#' cluster with.
#' 
#' Valid for Cluster Type: Aurora DB clusters only
#' @param DatabaseName The name for your database of up to 64 alphanumeric characters. A
#' database named `postgres` is always created. If this parameter is
#' specified, an additional database with this name is created.
#' 
#' Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
#' @param DBClusterIdentifier &#91;required&#93; The identifier for this DB cluster. This parameter is stored as a
#' lowercase string.
#' 
#' Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
#' 
#' Constraints:
#' 
#' -   Must contain from 1 to 63 (for Aurora DB clusters) or 1 to 52 (for
#'     Multi-AZ DB clusters) letters, numbers, or hyphens.
#' 
#' -   First character must be a letter.
#' 
#' -   Can't end with a hyphen or contain two consecutive hyphens.
#' 
#' Example: `my-cluster1`
#' @param DBClusterParameterGroupName The name of the DB cluster parameter group to associate with this DB
#' cluster. If you don't specify a value, then the default DB cluster
#' parameter group for the specified DB engine and version is used.
#' 
#' Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
#' 
#' Constraints:
#' 
#' -   If supplied, must match the name of an existing DB cluster parameter
#'     group.
#' @param VpcSecurityGroupIds A list of EC2 VPC security groups to associate with this DB cluster.
#' 
#' Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
#' @param DBSubnetGroupName A DB subnet group to associate with this DB cluster.
#' 
#' This setting is required to create a Multi-AZ DB cluster.
#' 
#' Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
#' 
#' Constraints:
#' 
#' -   Must match the name of an existing DB subnet group.
#' 
#' Example: `mydbsubnetgroup`
#' @param Engine &#91;required&#93; The database engine to use for this DB cluster.
#' 
#' Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
#' 
#' Valid Values:
#' 
#' -   `aurora-mysql`
#' 
#' -   `aurora-postgresql`
#' 
#' -   `mysql`
#' 
#' -   `postgres`
#' 
#' -   `neptune` - For information about using Amazon Neptune, see the
#'     [*Amazon Neptune User
#'     Guide*](https://docs.aws.amazon.com/neptune/latest/userguide/intro.html)
#'     .
#' @param EngineVersion The version number of the database engine to use.
#' 
#' To list all of the available engine versions for Aurora MySQL version 2
#' (5.7-compatible) and version 3 (MySQL 8.0-compatible), use the following
#' command:
#' 
#' `aws rds describe-db-engine-versions --engine aurora-mysql --query "DBEngineVersions[].EngineVersion"`
#' 
#' You can supply either `5.7` or `8.0` to use the default engine version
#' for Aurora MySQL version 2 or version 3, respectively.
#' 
#' To list all of the available engine versions for Aurora PostgreSQL, use
#' the following command:
#' 
#' `aws rds describe-db-engine-versions --engine aurora-postgresql --query "DBEngineVersions[].EngineVersion"`
#' 
#' To list all of the available engine versions for RDS for MySQL, use the
#' following command:
#' 
#' `aws rds describe-db-engine-versions --engine mysql --query "DBEngineVersions[].EngineVersion"`
#' 
#' To list all of the available engine versions for RDS for PostgreSQL, use
#' the following command:
#' 
#' `aws rds describe-db-engine-versions --engine postgres --query "DBEngineVersions[].EngineVersion"`
#' 
#' For information about a specific engine, see the following topics:
#' 
#' -   Aurora MySQL - see [Database engine updates for Amazon Aurora
#'     MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Updates.html)
#'     in the *Amazon Aurora User Guide*.
#' 
#' -   Aurora PostgreSQL - see [Amazon Aurora PostgreSQL releases and
#'     engine
#'     versions](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Updates.20180305.html)
#'     in the *Amazon Aurora User Guide*.
#' 
#' -   RDS for MySQL - see [Amazon RDS for
#'     MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.VersionMgmt)
#'     in the *Amazon RDS User Guide*.
#' 
#' -   RDS for PostgreSQL - see [Amazon RDS for
#'     PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts)
#'     in the *Amazon RDS User Guide*.
#' 
#' Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
#' @param Port The port number on which the instances in the DB cluster accept
#' connections.
#' 
#' Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
#' 
#' Valid Values: `1150-65535`
#' 
#' Default:
#' 
#' -   RDS for MySQL and Aurora MySQL - `3306`
#' 
#' -   RDS for PostgreSQL and Aurora PostgreSQL - `5432`
#' @param MasterUsername The name of the master user for the DB cluster.
#' 
#' Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
#' 
#' Constraints:
#' 
#' -   Must be 1 to 16 letters or numbers.
#' 
#' -   First character must be a letter.
#' 
#' -   Can't be a reserved word for the chosen database engine.
#' @param MasterUserPassword The password for the master database user.
#' 
#' Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
#' 
#' Constraints:
#' 
#' -   Must contain from 8 to 41 characters.
#' 
#' -   Can contain any printable ASCII character except "/", """, or "@@".
#' 
#' -   Can't be specified if `ManageMasterUserPassword` is turned on.
#' @param OptionGroupName The option group to associate the DB cluster with.
#' 
#' DB clusters are associated with a default option group that can't be
#' modified.
#' @param PreferredBackupWindow The daily time range during which automated backups are created if
#' automated backups are enabled using the `BackupRetentionPeriod`
#' parameter.
#' 
#' Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
#' 
#' The default is a 30-minute window selected at random from an 8-hour
#' block of time for each Amazon Web Services Region. To view the time
#' blocks available, see [Backup
#' window](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Managing.Backups.html#Aurora.Managing.Backups.BackupWindow)
#' in the *Amazon Aurora User Guide*.
#' 
#' Constraints:
#' 
#' -   Must be in the format `hh24:mi-hh24:mi`.
#' 
#' -   Must be in Universal Coordinated Time (UTC).
#' 
#' -   Must not conflict with the preferred maintenance window.
#' 
#' -   Must be at least 30 minutes.
#' @param PreferredMaintenanceWindow The weekly time range during which system maintenance can occur.
#' 
#' Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
#' 
#' The default is a 30-minute window selected at random from an 8-hour
#' block of time for each Amazon Web Services Region, occurring on a random
#' day of the week. To see the time blocks available, see [Adjusting the
#' Preferred DB Cluster Maintenance
#' Window](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora)
#' in the *Amazon Aurora User Guide*.
#' 
#' Constraints:
#' 
#' -   Must be in the format `ddd:hh24:mi-ddd:hh24:mi`.
#' 
#' -   Days must be one of `Mon | Tue | Wed | Thu | Fri | Sat | Sun`.
#' 
#' -   Must be in Universal Coordinated Time (UTC).
#' 
#' -   Must be at least 30 minutes.
#' @param ReplicationSourceIdentifier The Amazon Resource Name (ARN) of the source DB instance or DB cluster
#' if this DB cluster is created as a read replica.
#' 
#' Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
#' @param Tags Tags to assign to the DB cluster.
#' 
#' Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
#' @param StorageEncrypted Specifies whether the DB cluster is encrypted.
#' 
#' Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
#' @param KmsKeyId The Amazon Web Services KMS key identifier for an encrypted DB cluster.
#' 
#' The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
#' ARN, or alias name for the KMS key. To use a KMS key in a different
#' Amazon Web Services account, specify the key ARN or alias ARN.
#' 
#' When a KMS key isn't specified in `KmsKeyId`:
#' 
#' -   If `ReplicationSourceIdentifier` identifies an encrypted source,
#'     then Amazon RDS uses the KMS key used to encrypt the source.
#'     Otherwise, Amazon RDS uses your default KMS key.
#' 
#' -   If the `StorageEncrypted` parameter is enabled and
#'     `ReplicationSourceIdentifier` isn't specified, then Amazon RDS uses
#'     your default KMS key.
#' 
#' There is a default KMS key for your Amazon Web Services account. Your
#' Amazon Web Services account has a different default KMS key for each
#' Amazon Web Services Region.
#' 
#' If you create a read replica of an encrypted DB cluster in another
#' Amazon Web Services Region, make sure to set `KmsKeyId` to a KMS key
#' identifier that is valid in the destination Amazon Web Services Region.
#' This KMS key is used to encrypt the read replica in that Amazon Web
#' Services Region.
#' 
#' Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
#' @param PreSignedUrl When you are replicating a DB cluster from one Amazon Web Services
#' GovCloud (US) Region to another, an URL that contains a Signature
#' Version 4 signed request for the
#' [`create_db_cluster`][rds_create_db_cluster] operation to be called in
#' the source Amazon Web Services Region where the DB cluster is replicated
#' from. Specify `PreSignedUrl` only when you are performing cross-Region
#' replication from an encrypted DB cluster.
#' 
#' The presigned URL must be a valid request for the
#' [`create_db_cluster`][rds_create_db_cluster] API operation that can run
#' in the source Amazon Web Services Region that contains the encrypted DB
#' cluster to copy.
#' 
#' The presigned URL request must contain the following parameter values:
#' 
#' -   `KmsKeyId` - The KMS key identifier for the KMS key to use to
#'     encrypt the copy of the DB cluster in the destination Amazon Web
#'     Services Region. This should refer to the same KMS key for both the
#'     [`create_db_cluster`][rds_create_db_cluster] operation that is
#'     called in the destination Amazon Web Services Region, and the
#'     operation contained in the presigned URL.
#' 
#' -   `DestinationRegion` - The name of the Amazon Web Services Region
#'     that Aurora read replica will be created in.
#' 
#' -   `ReplicationSourceIdentifier` - The DB cluster identifier for the
#'     encrypted DB cluster to be copied. This identifier must be in the
#'     Amazon Resource Name (ARN) format for the source Amazon Web Services
#'     Region. For example, if you are copying an encrypted DB cluster from
#'     the us-west-2 Amazon Web Services Region, then your
#'     `ReplicationSourceIdentifier` would look like Example:
#'     `arn:aws:rds:us-west-2:123456789012:cluster:aurora-cluster1`.
#' 
#' To learn how to generate a Signature Version 4 signed request, see
#' [Authenticating Requests: Using Query Parameters (Amazon Web Services
#' Signature Version
#' 4)](https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
#' and [Signature Version 4 Signing
#' Process](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-signing.html).
#' 
#' If you are using an Amazon Web Services SDK tool or the CLI, you can
#' specify `SourceRegion` (or `--source-region` for the CLI) instead of
#' specifying `PreSignedUrl` manually. Specifying `SourceRegion`
#' autogenerates a presigned URL that is a valid request for the operation
#' that can run in the source Amazon Web Services Region.
#' 
#' Valid for Cluster Type: Aurora DB clusters only
#' 
#' If you supply a value for this operation's `SourceRegion` parameter, a
#' pre-signed URL will be calculated on your behalf.
#' @param EnableIAMDatabaseAuthentication Specifies whether to enable mapping of Amazon Web Services Identity and
#' Access Management (IAM) accounts to database accounts. By default,
#' mapping isn't enabled.
#' 
#' For more information, see [IAM Database
#' Authentication](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html)
#' in the *Amazon Aurora User Guide*.
#' 
#' Valid for Cluster Type: Aurora DB clusters only
#' @param BacktrackWindow The target backtrack window, in seconds. To disable backtracking, set
#' this value to `0`.
#' 
#' Valid for Cluster Type: Aurora MySQL DB clusters only
#' 
#' Default: `0`
#' 
#' Constraints:
#' 
#' -   If specified, this value must be set to a number from 0 to 259,200
#'     (72 hours).
#' @param EnableCloudwatchLogsExports The list of log types that need to be enabled for exporting to
#' CloudWatch Logs.
#' 
#' Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
#' 
#' The following values are valid for each DB engine:
#' 
#' -   Aurora MySQL - `audit | error | general | slowquery`
#' 
#' -   Aurora PostgreSQL - `postgresql`
#' 
#' -   RDS for MySQL - `error | general | slowquery`
#' 
#' -   RDS for PostgreSQL - `postgresql | upgrade`
#' 
#' For more information about exporting CloudWatch Logs for Amazon RDS, see
#' [Publishing Database Logs to Amazon CloudWatch
#' Logs](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
#' in the *Amazon RDS User Guide*.
#' 
#' For more information about exporting CloudWatch Logs for Amazon Aurora,
#' see [Publishing Database Logs to Amazon CloudWatch
#' Logs](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
#' in the *Amazon Aurora User Guide*.
#' @param EngineMode The DB engine mode of the DB cluster, either `provisioned` or
#' `serverless`.
#' 
#' The `serverless` engine mode only applies for Aurora Serverless v1 DB
#' clusters. Aurora Serverless v2 DB clusters use the `provisioned` engine
#' mode.
#' 
#' For information about limitations and requirements for Serverless DB
#' clusters, see the following sections in the *Amazon Aurora User Guide*:
#' 
#' -   [Limitations of Aurora Serverless
#'     v1](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html#aurora-serverless.limitations)
#' 
#' -   [Requirements for Aurora Serverless
#'     v2](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.requirements.html)
#' 
#' Valid for Cluster Type: Aurora DB clusters only
#' @param ScalingConfiguration For DB clusters in `serverless` DB engine mode, the scaling properties
#' of the DB cluster.
#' 
#' Valid for Cluster Type: Aurora DB clusters only
#' @param RdsCustomClusterConfiguration Reserved for future use.
#' @param DeletionProtection Specifies whether the DB cluster has deletion protection enabled. The
#' database can't be deleted when deletion protection is enabled. By
#' default, deletion protection isn't enabled.
#' 
#' Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
#' @param GlobalClusterIdentifier The global cluster ID of an Aurora cluster that becomes the primary
#' cluster in the new global database cluster.
#' 
#' Valid for Cluster Type: Aurora DB clusters only
#' @param EnableHttpEndpoint Specifies whether to enable the HTTP endpoint for the DB cluster. By
#' default, the HTTP endpoint isn't enabled.
#' 
#' When enabled, the HTTP endpoint provides a connectionless web service
#' API (RDS Data API) for running SQL queries on the DB cluster. You can
#' also query your database from inside the RDS console with the RDS query
#' editor.
#' 
#' RDS Data API is supported with the following DB clusters:
#' 
#' -   Aurora PostgreSQL Serverless v2 and provisioned
#' 
#' -   Aurora PostgreSQL and Aurora MySQL Serverless v1
#' 
#' For more information, see [Using RDS Data
#' API](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html)
#' in the *Amazon Aurora User Guide*.
#' 
#' Valid for Cluster Type: Aurora DB clusters only
#' @param CopyTagsToSnapshot Specifies whether to copy all tags from the DB cluster to snapshots of
#' the DB cluster. The default is not to copy them.
#' 
#' Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
#' @param Domain The Active Directory directory ID to create the DB cluster in.
#' 
#' For Amazon Aurora DB clusters, Amazon RDS can use Kerberos
#' authentication to authenticate users that connect to the DB cluster.
#' 
#' For more information, see [Kerberos
#' authentication](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/database-authentication.html)
#' in the *Amazon Aurora User Guide*.
#' 
#' Valid for Cluster Type: Aurora DB clusters only
#' @param DomainIAMRoleName The name of the IAM role to use when making API calls to the Directory
#' Service.
#' 
#' Valid for Cluster Type: Aurora DB clusters only
#' @param EnableGlobalWriteForwarding Specifies whether to enable this DB cluster to forward write operations
#' to the primary cluster of a global cluster (Aurora global database). By
#' default, write operations are not allowed on Aurora DB clusters that are
#' secondary clusters in an Aurora global database.
#' 
#' You can set this value only on Aurora DB clusters that are members of an
#' Aurora global database. With this parameter enabled, a secondary cluster
#' can forward writes to the current primary cluster, and the resulting
#' changes are replicated back to this cluster. For the primary DB cluster
#' of an Aurora global database, this value is used immediately if the
#' primary is demoted by a global cluster API operation, but it does
#' nothing until then.
#' 
#' Valid for Cluster Type: Aurora DB clusters only
#' @param DBClusterInstanceClass The compute and memory capacity of each DB instance in the Multi-AZ DB
#' cluster, for example `db.m6gd.xlarge`. Not all DB instance classes are
#' available in all Amazon Web Services Regions, or for all database
#' engines.
#' 
#' For the full list of DB instance classes and availability for your
#' engine, see [DB instance
#' class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
#' in the *Amazon RDS User Guide*.
#' 
#' This setting is required to create a Multi-AZ DB cluster.
#' 
#' Valid for Cluster Type: Multi-AZ DB clusters only
#' @param AllocatedStorage The amount of storage in gibibytes (GiB) to allocate to each DB instance
#' in the Multi-AZ DB cluster.
#' 
#' Valid for Cluster Type: Multi-AZ DB clusters only
#' 
#' This setting is required to create a Multi-AZ DB cluster.
#' @param StorageType The storage type to associate with the DB cluster.
#' 
#' For information on storage types for Aurora DB clusters, see [Storage
#' configurations for Amazon Aurora DB
#' clusters](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.StorageReliability.html#aurora-storage-type).
#' For information on storage types for Multi-AZ DB clusters, see [Settings
#' for creating Multi-AZ DB
#' clusters](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/create-multi-az-db-cluster.html#create-multi-az-db-cluster-settings).
#' 
#' This setting is required to create a Multi-AZ DB cluster.
#' 
#' When specified for a Multi-AZ DB cluster, a value for the `Iops`
#' parameter is required.
#' 
#' Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
#' 
#' Valid Values:
#' 
#' -   Aurora DB clusters - `aurora | aurora-iopt1`
#' 
#' -   Multi-AZ DB clusters - `io1 | io2 | gp3`
#' 
#' Default:
#' 
#' -   Aurora DB clusters - `aurora`
#' 
#' -   Multi-AZ DB clusters - `io1`
#' 
#' When you create an Aurora DB cluster with the storage type set to
#' `aurora-iopt1`, the storage type is returned in the response. The
#' storage type isn't returned when you set it to `aurora`.
#' @param Iops The amount of Provisioned IOPS (input/output operations per second) to
#' be initially allocated for each DB instance in the Multi-AZ DB cluster.
#' 
#' For information about valid IOPS values, see [Provisioned IOPS
#' storage](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS)
#' in the *Amazon RDS User Guide*.
#' 
#' This setting is required to create a Multi-AZ DB cluster.
#' 
#' Valid for Cluster Type: Multi-AZ DB clusters only
#' 
#' Constraints:
#' 
#' -   Must be a multiple between .5 and 50 of the storage amount for the
#'     DB cluster.
#' @param PubliclyAccessible Specifies whether the DB cluster is publicly accessible.
#' 
#' When the DB cluster is publicly accessible and you connect from outside
#' of the DB cluster's virtual private cloud (VPC), its Domain Name System
#' (DNS) endpoint resolves to the public IP address. When you connect from
#' within the same VPC as the DB cluster, the endpoint resolves to the
#' private IP address. Access to the DB cluster is ultimately controlled by
#' the security group it uses. That public access isn't permitted if the
#' security group assigned to the DB cluster doesn't permit it.
#' 
#' When the DB cluster isn't publicly accessible, it is an internal DB
#' cluster with a DNS name that resolves to a private IP address.
#' 
#' Valid for Cluster Type: Multi-AZ DB clusters only
#' 
#' Default: The default behavior varies depending on whether
#' `DBSubnetGroupName` is specified.
#' 
#' If `DBSubnetGroupName` isn't specified, and `PubliclyAccessible` isn't
#' specified, the following applies:
#' 
#' -   If the default VPC in the target Region doesn’t have an internet
#'     gateway attached to it, the DB cluster is private.
#' 
#' -   If the default VPC in the target Region has an internet gateway
#'     attached to it, the DB cluster is public.
#' 
#' If `DBSubnetGroupName` is specified, and `PubliclyAccessible` isn't
#' specified, the following applies:
#' 
#' -   If the subnets are part of a VPC that doesn’t have an internet
#'     gateway attached to it, the DB cluster is private.
#' 
#' -   If the subnets are part of a VPC that has an internet gateway
#'     attached to it, the DB cluster is public.
#' @param AutoMinorVersionUpgrade Specifies whether minor engine upgrades are applied automatically to the
#' DB cluster during the maintenance window. By default, minor engine
#' upgrades are applied automatically.
#' 
#' Valid for Cluster Type: Multi-AZ DB clusters only
#' @param MonitoringInterval The interval, in seconds, between points when Enhanced Monitoring
#' metrics are collected for the DB cluster. To turn off collecting
#' Enhanced Monitoring metrics, specify `0`.
#' 
#' If `MonitoringRoleArn` is specified, also set `MonitoringInterval` to a
#' value other than `0`.
#' 
#' Valid for Cluster Type: Multi-AZ DB clusters only
#' 
#' Valid Values: `0 | 1 | 5 | 10 | 15 | 30 | 60`
#' 
#' Default: `0`
#' @param MonitoringRoleArn The Amazon Resource Name (ARN) for the IAM role that permits RDS to send
#' Enhanced Monitoring metrics to Amazon CloudWatch Logs. An example is
#' `arn:aws:iam:123456789012:role/emaccess`. For information on creating a
#' monitoring role, see [Setting up and enabling Enhanced
#' Monitoring](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling)
#' in the *Amazon RDS User Guide*.
#' 
#' If `MonitoringInterval` is set to a value other than `0`, supply a
#' `MonitoringRoleArn` value.
#' 
#' Valid for Cluster Type: Multi-AZ DB clusters only
#' @param EnablePerformanceInsights Specifies whether to turn on Performance Insights for the DB cluster.
#' 
#' For more information, see [Using Amazon Performance
#' Insights](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html)
#' in the *Amazon RDS User Guide*.
#' 
#' Valid for Cluster Type: Multi-AZ DB clusters only
#' @param PerformanceInsightsKMSKeyId The Amazon Web Services KMS key identifier for encryption of Performance
#' Insights data.
#' 
#' The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
#' ARN, or alias name for the KMS key.
#' 
#' If you don't specify a value for `PerformanceInsightsKMSKeyId`, then
#' Amazon RDS uses your default KMS key. There is a default KMS key for
#' your Amazon Web Services account. Your Amazon Web Services account has a
#' different default KMS key for each Amazon Web Services Region.
#' 
#' Valid for Cluster Type: Multi-AZ DB clusters only
#' @param PerformanceInsightsRetentionPeriod The number of days to retain Performance Insights data.
#' 
#' Valid for Cluster Type: Multi-AZ DB clusters only
#' 
#' Valid Values:
#' 
#' -   `7`
#' 
#' -   *month* * 31, where *month* is a number of months from 1-23.
#'     Examples: `93` (3 months * 31), `341` (11 months * 31), `589` (19
#'     months * 31)
#' 
#' -   `731`
#' 
#' Default: `7` days
#' 
#' If you specify a retention period that isn't valid, such as `94`, Amazon
#' RDS issues an error.
#' @param EnableLimitlessDatabase Specifies whether to enable Aurora Limitless Database. You must enable
#' Aurora Limitless Database to create a DB shard group.
#' 
#' Valid for: Aurora DB clusters only
#' @param ServerlessV2ScalingConfiguration 
#' @param NetworkType The network type of the DB cluster.
#' 
#' The network type is determined by the `DBSubnetGroup` specified for the
#' DB cluster. A `DBSubnetGroup` can support only the IPv4 protocol or the
#' IPv4 and the IPv6 protocols (`DUAL`).
#' 
#' For more information, see [Working with a DB instance in a
#' VPC](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html)
#' in the *Amazon Aurora User Guide.*
#' 
#' Valid for Cluster Type: Aurora DB clusters only
#' 
#' Valid Values: `IPV4 | DUAL`
#' @param DBSystemId Reserved for future use.
#' @param ManageMasterUserPassword Specifies whether to manage the master user password with Amazon Web
#' Services Secrets Manager.
#' 
#' For more information, see [Password management with Amazon Web Services
#' Secrets
#' Manager](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html)
#' in the *Amazon RDS User Guide* and [Password management with Amazon Web
#' Services Secrets
#' Manager](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/rds-secrets-manager.html)
#' in the *Amazon Aurora User Guide.*
#' 
#' Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
#' 
#' Constraints:
#' 
#' -   Can't manage the master user password with Amazon Web Services
#'     Secrets Manager if `MasterUserPassword` is specified.
#' @param MasterUserSecretKmsKeyId The Amazon Web Services KMS key identifier to encrypt a secret that is
#' automatically generated and managed in Amazon Web Services Secrets
#' Manager.
#' 
#' This setting is valid only if the master user password is managed by RDS
#' in Amazon Web Services Secrets Manager for the DB cluster.
#' 
#' The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
#' ARN, or alias name for the KMS key. To use a KMS key in a different
#' Amazon Web Services account, specify the key ARN or alias ARN.
#' 
#' If you don't specify `MasterUserSecretKmsKeyId`, then the
#' `aws/secretsmanager` KMS key is used to encrypt the secret. If the
#' secret is in a different Amazon Web Services account, then you can't use
#' the `aws/secretsmanager` KMS key to encrypt the secret, and you must use
#' a customer managed KMS key.
#' 
#' There is a default KMS key for your Amazon Web Services account. Your
#' Amazon Web Services account has a different default KMS key for each
#' Amazon Web Services Region.
#' 
#' Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
#' @param EnableLocalWriteForwarding Specifies whether read replicas can forward write operations to the
#' writer DB instance in the DB cluster. By default, write operations
#' aren't allowed on reader DB instances.
#' 
#' Valid for: Aurora DB clusters only
#' @param CACertificateIdentifier The CA certificate identifier to use for the DB cluster's server
#' certificate.
#' 
#' For more information, see [Using SSL/TLS to encrypt a connection to a DB
#' instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html)
#' in the *Amazon RDS User Guide*.
#' 
#' Valid for Cluster Type: Multi-AZ DB clusters
#' @param EngineLifecycleSupport The life cycle type for this DB cluster.
#' 
#' By default, this value is set to `open-source-rds-extended-support`,
#' which enrolls your DB cluster into Amazon RDS Extended Support. At the
#' end of standard support, you can avoid charges for Extended Support by
#' setting the value to `open-source-rds-extended-support-disabled`. In
#' this case, creating the DB cluster will fail if the DB major version is
#' past its end of standard support date.
#' 
#' You can use this setting to enroll your DB cluster into Amazon RDS
#' Extended Support. With RDS Extended Support, you can run the selected
#' major engine version on your DB cluster past the end of standard support
#' for that engine version. For more information, see the following
#' sections:
#' 
#' -   Amazon Aurora (PostgreSQL only) - [Using Amazon RDS Extended
#'     Support](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/extended-support.html)
#'     in the *Amazon Aurora User Guide*
#' 
#' -   Amazon RDS - [Using Amazon RDS Extended
#'     Support](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html)
#'     in the *Amazon RDS User Guide*
#' 
#' Valid for Cluster Type: Aurora DB clusters and Multi-AZ DB clusters
#' 
#' Valid Values:
#' `open-source-rds-extended-support | open-source-rds-extended-support-disabled`
#' 
#' Default: `open-source-rds-extended-support`
#' @param SourceRegion The ID of the region that contains the source for the read replica.
#'
#' @keywords internal
#'
#' @rdname rds_create_db_cluster
rds_create_db_cluster <- function(AvailabilityZones = NULL, BackupRetentionPeriod = NULL, CharacterSetName = NULL, DatabaseName = NULL, DBClusterIdentifier, DBClusterParameterGroupName = NULL, VpcSecurityGroupIds = NULL, DBSubnetGroupName = NULL, Engine, EngineVersion = NULL, Port = NULL, MasterUsername = NULL, MasterUserPassword = NULL, OptionGroupName = NULL, PreferredBackupWindow = NULL, PreferredMaintenanceWindow = NULL, ReplicationSourceIdentifier = NULL, Tags = NULL, StorageEncrypted = NULL, KmsKeyId = NULL, PreSignedUrl = NULL, EnableIAMDatabaseAuthentication = NULL, BacktrackWindow = NULL, EnableCloudwatchLogsExports = NULL, EngineMode = NULL, ScalingConfiguration = NULL, RdsCustomClusterConfiguration = NULL, DeletionProtection = NULL, GlobalClusterIdentifier = NULL, EnableHttpEndpoint = NULL, CopyTagsToSnapshot = NULL, Domain = NULL, DomainIAMRoleName = NULL, EnableGlobalWriteForwarding = NULL, DBClusterInstanceClass = NULL, AllocatedStorage = NULL, StorageType = NULL, Iops = NULL, PubliclyAccessible = NULL, AutoMinorVersionUpgrade = NULL, MonitoringInterval = NULL, MonitoringRoleArn = NULL, EnablePerformanceInsights = NULL, PerformanceInsightsKMSKeyId = NULL, PerformanceInsightsRetentionPeriod = NULL, EnableLimitlessDatabase = NULL, ServerlessV2ScalingConfiguration = NULL, NetworkType = NULL, DBSystemId = NULL, ManageMasterUserPassword = NULL, MasterUserSecretKmsKeyId = NULL, EnableLocalWriteForwarding = NULL, CACertificateIdentifier = NULL, EngineLifecycleSupport = NULL, SourceRegion = NULL) {
  op <- new_operation(
    name = "CreateDBCluster",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$create_db_cluster_input(AvailabilityZones = AvailabilityZones, BackupRetentionPeriod = BackupRetentionPeriod, CharacterSetName = CharacterSetName, DatabaseName = DatabaseName, DBClusterIdentifier = DBClusterIdentifier, DBClusterParameterGroupName = DBClusterParameterGroupName, VpcSecurityGroupIds = VpcSecurityGroupIds, DBSubnetGroupName = DBSubnetGroupName, Engine = Engine, EngineVersion = EngineVersion, Port = Port, MasterUsername = MasterUsername, MasterUserPassword = MasterUserPassword, OptionGroupName = OptionGroupName, PreferredBackupWindow = PreferredBackupWindow, PreferredMaintenanceWindow = PreferredMaintenanceWindow, ReplicationSourceIdentifier = ReplicationSourceIdentifier, Tags = Tags, StorageEncrypted = StorageEncrypted, KmsKeyId = KmsKeyId, PreSignedUrl = PreSignedUrl, EnableIAMDatabaseAuthentication = EnableIAMDatabaseAuthentication, BacktrackWindow = BacktrackWindow, EnableCloudwatchLogsExports = EnableCloudwatchLogsExports, EngineMode = EngineMode, ScalingConfiguration = ScalingConfiguration, RdsCustomClusterConfiguration = RdsCustomClusterConfiguration, DeletionProtection = DeletionProtection, GlobalClusterIdentifier = GlobalClusterIdentifier, EnableHttpEndpoint = EnableHttpEndpoint, CopyTagsToSnapshot = CopyTagsToSnapshot, Domain = Domain, DomainIAMRoleName = DomainIAMRoleName, EnableGlobalWriteForwarding = EnableGlobalWriteForwarding, DBClusterInstanceClass = DBClusterInstanceClass, AllocatedStorage = AllocatedStorage, StorageType = StorageType, Iops = Iops, PubliclyAccessible = PubliclyAccessible, AutoMinorVersionUpgrade = AutoMinorVersionUpgrade, MonitoringInterval = MonitoringInterval, MonitoringRoleArn = MonitoringRoleArn, EnablePerformanceInsights = EnablePerformanceInsights, PerformanceInsightsKMSKeyId = PerformanceInsightsKMSKeyId, PerformanceInsightsRetentionPeriod = PerformanceInsightsRetentionPeriod, EnableLimitlessDatabase = EnableLimitlessDatabase, ServerlessV2ScalingConfiguration = ServerlessV2ScalingConfiguration, NetworkType = NetworkType, DBSystemId = DBSystemId, ManageMasterUserPassword = ManageMasterUserPassword, MasterUserSecretKmsKeyId = MasterUserSecretKmsKeyId, EnableLocalWriteForwarding = EnableLocalWriteForwarding, CACertificateIdentifier = CACertificateIdentifier, EngineLifecycleSupport = EngineLifecycleSupport, SourceRegion = SourceRegion)
  output <- .rds$create_db_cluster_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$create_db_cluster <- rds_create_db_cluster

#' Creates a new custom endpoint and associates it with an Amazon Aurora DB
#' cluster
#'
#' @description
#' Creates a new custom endpoint and associates it with an Amazon Aurora DB cluster.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_create_db_cluster_endpoint/](https://www.paws-r-sdk.com/docs/rds_create_db_cluster_endpoint/) for full documentation.
#'
#' @param DBClusterIdentifier &#91;required&#93; The DB cluster identifier of the DB cluster associated with the
#' endpoint. This parameter is stored as a lowercase string.
#' @param DBClusterEndpointIdentifier &#91;required&#93; The identifier to use for the new endpoint. This parameter is stored as
#' a lowercase string.
#' @param EndpointType &#91;required&#93; The type of the endpoint, one of: `READER`, `WRITER`, `ANY`.
#' @param StaticMembers List of DB instance identifiers that are part of the custom endpoint
#' group.
#' @param ExcludedMembers List of DB instance identifiers that aren't part of the custom endpoint
#' group. All other eligible instances are reachable through the custom
#' endpoint. This parameter is relevant only if the list of static members
#' is empty.
#' @param Tags The tags to be assigned to the Amazon RDS resource.
#'
#' @keywords internal
#'
#' @rdname rds_create_db_cluster_endpoint
rds_create_db_cluster_endpoint <- function(DBClusterIdentifier, DBClusterEndpointIdentifier, EndpointType, StaticMembers = NULL, ExcludedMembers = NULL, Tags = NULL) {
  op <- new_operation(
    name = "CreateDBClusterEndpoint",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$create_db_cluster_endpoint_input(DBClusterIdentifier = DBClusterIdentifier, DBClusterEndpointIdentifier = DBClusterEndpointIdentifier, EndpointType = EndpointType, StaticMembers = StaticMembers, ExcludedMembers = ExcludedMembers, Tags = Tags)
  output <- .rds$create_db_cluster_endpoint_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$create_db_cluster_endpoint <- rds_create_db_cluster_endpoint

#' Creates a new DB cluster parameter group
#'
#' @description
#' Creates a new DB cluster parameter group.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_create_db_cluster_parameter_group/](https://www.paws-r-sdk.com/docs/rds_create_db_cluster_parameter_group/) for full documentation.
#'
#' @param DBClusterParameterGroupName &#91;required&#93; The name of the DB cluster parameter group.
#' 
#' Constraints:
#' 
#' -   Must not match the name of an existing DB cluster parameter group.
#' 
#' This value is stored as a lowercase string.
#' @param DBParameterGroupFamily &#91;required&#93; The DB cluster parameter group family name. A DB cluster parameter group
#' can be associated with one and only one DB cluster parameter group
#' family, and can be applied only to a DB cluster running a database
#' engine and engine version compatible with that DB cluster parameter
#' group family.
#' 
#' **Aurora MySQL**
#' 
#' Example: `aurora-mysql5.7`, `aurora-mysql8.0`
#' 
#' **Aurora PostgreSQL**
#' 
#' Example: `aurora-postgresql14`
#' 
#' **RDS for MySQL**
#' 
#' Example: `mysql8.0`
#' 
#' **RDS for PostgreSQL**
#' 
#' Example: `postgres13`
#' 
#' To list all of the available parameter group families for a DB engine,
#' use the following command:
#' 
#' `aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily" --engine <engine>`
#' 
#' For example, to list all of the available parameter group families for
#' the Aurora PostgreSQL DB engine, use the following command:
#' 
#' `aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily" --engine aurora-postgresql`
#' 
#' The output contains duplicates.
#' 
#' The following are the valid DB engine values:
#' 
#' -   `aurora-mysql`
#' 
#' -   `aurora-postgresql`
#' 
#' -   `mysql`
#' 
#' -   `postgres`
#' @param Description &#91;required&#93; The description for the DB cluster parameter group.
#' @param Tags Tags to assign to the DB cluster parameter group.
#'
#' @keywords internal
#'
#' @rdname rds_create_db_cluster_parameter_group
rds_create_db_cluster_parameter_group <- function(DBClusterParameterGroupName, DBParameterGroupFamily, Description, Tags = NULL) {
  op <- new_operation(
    name = "CreateDBClusterParameterGroup",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$create_db_cluster_parameter_group_input(DBClusterParameterGroupName = DBClusterParameterGroupName, DBParameterGroupFamily = DBParameterGroupFamily, Description = Description, Tags = Tags)
  output <- .rds$create_db_cluster_parameter_group_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$create_db_cluster_parameter_group <- rds_create_db_cluster_parameter_group

#' Creates a snapshot of a DB cluster
#'
#' @description
#' Creates a snapshot of a DB cluster.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_create_db_cluster_snapshot/](https://www.paws-r-sdk.com/docs/rds_create_db_cluster_snapshot/) for full documentation.
#'
#' @param DBClusterSnapshotIdentifier &#91;required&#93; The identifier of the DB cluster snapshot. This parameter is stored as a
#' lowercase string.
#' 
#' Constraints:
#' 
#' -   Must contain from 1 to 63 letters, numbers, or hyphens.
#' 
#' -   First character must be a letter.
#' 
#' -   Can't end with a hyphen or contain two consecutive hyphens.
#' 
#' Example: `my-cluster1-snapshot1`
#' @param DBClusterIdentifier &#91;required&#93; The identifier of the DB cluster to create a snapshot for. This
#' parameter isn't case-sensitive.
#' 
#' Constraints:
#' 
#' -   Must match the identifier of an existing DBCluster.
#' 
#' Example: `my-cluster1`
#' @param Tags The tags to be assigned to the DB cluster snapshot.
#'
#' @keywords internal
#'
#' @rdname rds_create_db_cluster_snapshot
rds_create_db_cluster_snapshot <- function(DBClusterSnapshotIdentifier, DBClusterIdentifier, Tags = NULL) {
  op <- new_operation(
    name = "CreateDBClusterSnapshot",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$create_db_cluster_snapshot_input(DBClusterSnapshotIdentifier = DBClusterSnapshotIdentifier, DBClusterIdentifier = DBClusterIdentifier, Tags = Tags)
  output <- .rds$create_db_cluster_snapshot_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$create_db_cluster_snapshot <- rds_create_db_cluster_snapshot

#' Creates a new DB instance
#'
#' @description
#' Creates a new DB instance.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_create_db_instance/](https://www.paws-r-sdk.com/docs/rds_create_db_instance/) for full documentation.
#'
#' @param DBName The meaning of this parameter differs according to the database engine
#' you use.
#' 
#' **Amazon Aurora MySQL**
#' 
#' The name of the database to create when the primary DB instance of the
#' Aurora MySQL DB cluster is created. If this parameter isn't specified
#' for an Aurora MySQL DB cluster, no database is created in the DB
#' cluster.
#' 
#' Constraints:
#' 
#' -   Must contain 1 to 64 alphanumeric characters.
#' 
#' -   Can't be a word reserved by the database engine.
#' 
#' **Amazon Aurora PostgreSQL**
#' 
#' The name of the database to create when the primary DB instance of the
#' Aurora PostgreSQL DB cluster is created. A database named `postgres` is
#' always created. If this parameter is specified, an additional database
#' with this name is created.
#' 
#' Constraints:
#' 
#' -   It must contain 1 to 63 alphanumeric characters.
#' 
#' -   Must begin with a letter. Subsequent characters can be letters,
#'     underscores, or digits (0 to 9).
#' 
#' -   Can't be a word reserved by the database engine.
#' 
#' **Amazon RDS Custom for Oracle**
#' 
#' The Oracle System ID (SID) of the created RDS Custom DB instance. If you
#' don't specify a value, the default value is `ORCL` for non-CDBs and
#' `RDSCDB` for CDBs.
#' 
#' Default: `ORCL`
#' 
#' Constraints:
#' 
#' -   Must contain 1 to 8 alphanumeric characters.
#' 
#' -   Must contain a letter.
#' 
#' -   Can't be a word reserved by the database engine.
#' 
#' **Amazon RDS Custom for SQL Server**
#' 
#' Not applicable. Must be null.
#' 
#' **RDS for Db2**
#' 
#' The name of the database to create when the DB instance is created. If
#' this parameter isn't specified, no database is created in the DB
#' instance. In some cases, we recommend that you don't add a database
#' name. For more information, see [Additional
#' considerations](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/db2-db-instance-prereqs.html#db2-prereqs-additional-considerations)
#' in the *Amazon RDS User Guide*.
#' 
#' Constraints:
#' 
#' -   Must contain 1 to 64 letters or numbers.
#' 
#' -   Must begin with a letter. Subsequent characters can be letters,
#'     underscores, or digits (0-9).
#' 
#' -   Can't be a word reserved by the specified database engine.
#' 
#' **RDS for MariaDB**
#' 
#' The name of the database to create when the DB instance is created. If
#' this parameter isn't specified, no database is created in the DB
#' instance.
#' 
#' Constraints:
#' 
#' -   Must contain 1 to 64 letters or numbers.
#' 
#' -   Must begin with a letter. Subsequent characters can be letters,
#'     underscores, or digits (0-9).
#' 
#' -   Can't be a word reserved by the specified database engine.
#' 
#' **RDS for MySQL**
#' 
#' The name of the database to create when the DB instance is created. If
#' this parameter isn't specified, no database is created in the DB
#' instance.
#' 
#' Constraints:
#' 
#' -   Must contain 1 to 64 letters or numbers.
#' 
#' -   Must begin with a letter. Subsequent characters can be letters,
#'     underscores, or digits (0-9).
#' 
#' -   Can't be a word reserved by the specified database engine.
#' 
#' **RDS for Oracle**
#' 
#' The Oracle System ID (SID) of the created DB instance. If you don't
#' specify a value, the default value is `ORCL`. You can't specify the
#' string `null`, or any other reserved word, for `DBName`.
#' 
#' Default: `ORCL`
#' 
#' Constraints:
#' 
#' -   Can't be longer than 8 characters.
#' 
#' **RDS for PostgreSQL**
#' 
#' The name of the database to create when the DB instance is created. A
#' database named `postgres` is always created. If this parameter is
#' specified, an additional database with this name is created.
#' 
#' Constraints:
#' 
#' -   Must contain 1 to 63 letters, numbers, or underscores.
#' 
#' -   Must begin with a letter. Subsequent characters can be letters,
#'     underscores, or digits (0-9).
#' 
#' -   Can't be a word reserved by the specified database engine.
#' 
#' **RDS for SQL Server**
#' 
#' Not applicable. Must be null.
#' @param DBInstanceIdentifier &#91;required&#93; The identifier for this DB instance. This parameter is stored as a
#' lowercase string.
#' 
#' Constraints:
#' 
#' -   Must contain from 1 to 63 letters, numbers, or hyphens.
#' 
#' -   First character must be a letter.
#' 
#' -   Can't end with a hyphen or contain two consecutive hyphens.
#' 
#' Example: `mydbinstance`
#' @param AllocatedStorage The amount of storage in gibibytes (GiB) to allocate for the DB
#' instance.
#' 
#' This setting doesn't apply to Amazon Aurora DB instances. Aurora cluster
#' volumes automatically grow as the amount of data in your database
#' increases, though you are only charged for the space that you use in an
#' Aurora cluster volume.
#' 
#' **Amazon RDS Custom**
#' 
#' Constraints to the amount of storage for each storage type are the
#' following:
#' 
#' -   General Purpose (SSD) storage (gp2, gp3): Must be an integer from 40
#'     to 65536 for RDS Custom for Oracle, 16384 for RDS Custom for SQL
#'     Server.
#' 
#' -   Provisioned IOPS storage (io1, io2): Must be an integer from 40 to
#'     65536 for RDS Custom for Oracle, 16384 for RDS Custom for SQL
#'     Server.
#' 
#' **RDS for Db2**
#' 
#' Constraints to the amount of storage for each storage type are the
#' following:
#' 
#' -   General Purpose (SSD) storage (gp3): Must be an integer from 20 to
#'     65536.
#' 
#' -   Provisioned IOPS storage (io1, io2): Must be an integer from 100 to
#'     65536.
#' 
#' **RDS for MariaDB**
#' 
#' Constraints to the amount of storage for each storage type are the
#' following:
#' 
#' -   General Purpose (SSD) storage (gp2, gp3): Must be an integer from 20
#'     to 65536.
#' 
#' -   Provisioned IOPS storage (io1, io2): Must be an integer from 100 to
#'     65536.
#' 
#' -   Magnetic storage (standard): Must be an integer from 5 to 3072.
#' 
#' **RDS for MySQL**
#' 
#' Constraints to the amount of storage for each storage type are the
#' following:
#' 
#' -   General Purpose (SSD) storage (gp2, gp3): Must be an integer from 20
#'     to 65536.
#' 
#' -   Provisioned IOPS storage (io1, io2): Must be an integer from 100 to
#'     65536.
#' 
#' -   Magnetic storage (standard): Must be an integer from 5 to 3072.
#' 
#' **RDS for Oracle**
#' 
#' Constraints to the amount of storage for each storage type are the
#' following:
#' 
#' -   General Purpose (SSD) storage (gp2, gp3): Must be an integer from 20
#'     to 65536.
#' 
#' -   Provisioned IOPS storage (io1, io2): Must be an integer from 100 to
#'     65536.
#' 
#' -   Magnetic storage (standard): Must be an integer from 10 to 3072.
#' 
#' **RDS for PostgreSQL**
#' 
#' Constraints to the amount of storage for each storage type are the
#' following:
#' 
#' -   General Purpose (SSD) storage (gp2, gp3): Must be an integer from 20
#'     to 65536.
#' 
#' -   Provisioned IOPS storage (io1, io2): Must be an integer from 100 to
#'     65536.
#' 
#' -   Magnetic storage (standard): Must be an integer from 5 to 3072.
#' 
#' **RDS for SQL Server**
#' 
#' Constraints to the amount of storage for each storage type are the
#' following:
#' 
#' -   General Purpose (SSD) storage (gp2, gp3):
#' 
#'     -   Enterprise and Standard editions: Must be an integer from 20 to
#'         16384.
#' 
#'     -   Web and Express editions: Must be an integer from 20 to 16384.
#' 
#' -   Provisioned IOPS storage (io1, io2):
#' 
#'     -   Enterprise and Standard editions: Must be an integer from 100 to
#'         16384.
#' 
#'     -   Web and Express editions: Must be an integer from 100 to 16384.
#' 
#' -   Magnetic storage (standard):
#' 
#'     -   Enterprise and Standard editions: Must be an integer from 20 to
#'         1024.
#' 
#'     -   Web and Express editions: Must be an integer from 20 to 1024.
#' @param DBInstanceClass &#91;required&#93; The compute and memory capacity of the DB instance, for example
#' `db.m5.large`. Not all DB instance classes are available in all Amazon
#' Web Services Regions, or for all database engines. For the full list of
#' DB instance classes, and availability for your engine, see [DB instance
#' classes](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
#' in the *Amazon RDS User Guide* or [Aurora DB instance
#' classes](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.DBInstanceClass.html)
#' in the *Amazon Aurora User Guide*.
#' @param Engine &#91;required&#93; The database engine to use for this DB instance.
#' 
#' Not every database engine is available in every Amazon Web Services
#' Region.
#' 
#' Valid Values:
#' 
#' -   `aurora-mysql` (for Aurora MySQL DB instances)
#' 
#' -   `aurora-postgresql` (for Aurora PostgreSQL DB instances)
#' 
#' -   `custom-oracle-ee` (for RDS Custom for Oracle DB instances)
#' 
#' -   `custom-oracle-ee-cdb` (for RDS Custom for Oracle DB instances)
#' 
#' -   `custom-oracle-se2` (for RDS Custom for Oracle DB instances)
#' 
#' -   `custom-oracle-se2-cdb` (for RDS Custom for Oracle DB instances)
#' 
#' -   `custom-sqlserver-ee` (for RDS Custom for SQL Server DB instances)
#' 
#' -   `custom-sqlserver-se` (for RDS Custom for SQL Server DB instances)
#' 
#' -   `custom-sqlserver-web` (for RDS Custom for SQL Server DB instances)
#' 
#' -   `db2-ae`
#' 
#' -   `db2-se`
#' 
#' -   `mariadb`
#' 
#' -   `mysql`
#' 
#' -   `oracle-ee`
#' 
#' -   `oracle-ee-cdb`
#' 
#' -   `oracle-se2`
#' 
#' -   `oracle-se2-cdb`
#' 
#' -   `postgres`
#' 
#' -   `sqlserver-ee`
#' 
#' -   `sqlserver-se`
#' 
#' -   `sqlserver-ex`
#' 
#' -   `sqlserver-web`
#' @param MasterUsername The name for the master user.
#' 
#' This setting doesn't apply to Amazon Aurora DB instances. The name for
#' the master user is managed by the DB cluster.
#' 
#' This setting is required for RDS DB instances.
#' 
#' Constraints:
#' 
#' -   Must be 1 to 16 letters, numbers, or underscores.
#' 
#' -   First character must be a letter.
#' 
#' -   Can't be a reserved word for the chosen database engine.
#' @param MasterUserPassword The password for the master user.
#' 
#' This setting doesn't apply to Amazon Aurora DB instances. The password
#' for the master user is managed by the DB cluster.
#' 
#' Constraints:
#' 
#' -   Can't be specified if `ManageMasterUserPassword` is turned on.
#' 
#' -   Can include any printable ASCII character except "/", """, or "@@".
#'     For RDS for Oracle, can't include the "&" (ampersand) or the "'"
#'     (single quotes) character.
#' 
#' Length Constraints:
#' 
#' -   RDS for Db2 - Must contain from 8 to 255 characters.
#' 
#' -   RDS for MariaDB - Must contain from 8 to 41 characters.
#' 
#' -   RDS for Microsoft SQL Server - Must contain from 8 to 128
#'     characters.
#' 
#' -   RDS for MySQL - Must contain from 8 to 41 characters.
#' 
#' -   RDS for Oracle - Must contain from 8 to 30 characters.
#' 
#' -   RDS for PostgreSQL - Must contain from 8 to 128 characters.
#' @param DBSecurityGroups A list of DB security groups to associate with this DB instance.
#' 
#' This setting applies to the legacy EC2-Classic platform, which is no
#' longer used to create new DB instances. Use the `VpcSecurityGroupIds`
#' setting instead.
#' @param VpcSecurityGroupIds A list of Amazon EC2 VPC security groups to associate with this DB
#' instance.
#' 
#' This setting doesn't apply to Amazon Aurora DB instances. The associated
#' list of EC2 VPC security groups is managed by the DB cluster.
#' 
#' Default: The default EC2 VPC security group for the DB subnet group's
#' VPC.
#' @param AvailabilityZone The Availability Zone (AZ) where the database will be created. For
#' information on Amazon Web Services Regions and Availability Zones, see
#' [Regions and Availability
#' Zones](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html).
#' 
#' For Amazon Aurora, each Aurora DB cluster hosts copies of its storage in
#' three separate Availability Zones. Specify one of these Availability
#' Zones. Aurora automatically chooses an appropriate Availability Zone if
#' you don't specify one.
#' 
#' Default: A random, system-chosen Availability Zone in the endpoint's
#' Amazon Web Services Region.
#' 
#' Constraints:
#' 
#' -   The `AvailabilityZone` parameter can't be specified if the DB
#'     instance is a Multi-AZ deployment.
#' 
#' -   The specified Availability Zone must be in the same Amazon Web
#'     Services Region as the current endpoint.
#' 
#' Example: `us-east-1d`
#' @param DBSubnetGroupName A DB subnet group to associate with this DB instance.
#' 
#' Constraints:
#' 
#' -   Must match the name of an existing DB subnet group.
#' 
#' -   Must not be `default`.
#' 
#' Example: `mydbsubnetgroup`
#' @param PreferredMaintenanceWindow The time range each week during which system maintenance can occur. For
#' more information, see [Amazon RDS Maintenance
#' Window](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance)
#' in the *Amazon RDS User Guide.*
#' 
#' The default is a 30-minute window selected at random from an 8-hour
#' block of time for each Amazon Web Services Region, occurring on a random
#' day of the week.
#' 
#' Constraints:
#' 
#' -   Must be in the format `ddd:hh24:mi-ddd:hh24:mi`.
#' 
#' -   The day values must be `mon | tue | wed | thu | fri | sat | sun`.
#' 
#' -   Must be in Universal Coordinated Time (UTC).
#' 
#' -   Must not conflict with the preferred backup window.
#' 
#' -   Must be at least 30 minutes.
#' @param DBParameterGroupName The name of the DB parameter group to associate with this DB instance.
#' If you don't specify a value, then Amazon RDS uses the default DB
#' parameter group for the specified DB engine and version.
#' 
#' This setting doesn't apply to RDS Custom DB instances.
#' 
#' Constraints:
#' 
#' -   Must be 1 to 255 letters, numbers, or hyphens.
#' 
#' -   The first character must be a letter.
#' 
#' -   Can't end with a hyphen or contain two consecutive hyphens.
#' @param BackupRetentionPeriod The number of days for which automated backups are retained. Setting
#' this parameter to a positive number enables backups. Setting this
#' parameter to `0` disables automated backups.
#' 
#' This setting doesn't apply to Amazon Aurora DB instances. The retention
#' period for automated backups is managed by the DB cluster.
#' 
#' Default: `1`
#' 
#' Constraints:
#' 
#' -   Must be a value from 0 to 35.
#' 
#' -   Can't be set to 0 if the DB instance is a source to read replicas.
#' 
#' -   Can't be set to 0 for an RDS Custom for Oracle DB instance.
#' @param PreferredBackupWindow The daily time range during which automated backups are created if
#' automated backups are enabled, using the `BackupRetentionPeriod`
#' parameter. The default is a 30-minute window selected at random from an
#' 8-hour block of time for each Amazon Web Services Region. For more
#' information, see [Backup
#' window](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow)
#' in the *Amazon RDS User Guide*.
#' 
#' This setting doesn't apply to Amazon Aurora DB instances. The daily time
#' range for creating automated backups is managed by the DB cluster.
#' 
#' Constraints:
#' 
#' -   Must be in the format `hh24:mi-hh24:mi`.
#' 
#' -   Must be in Universal Coordinated Time (UTC).
#' 
#' -   Must not conflict with the preferred maintenance window.
#' 
#' -   Must be at least 30 minutes.
#' @param Port The port number on which the database accepts connections.
#' 
#' This setting doesn't apply to Aurora DB instances. The port number is
#' managed by the cluster.
#' 
#' Valid Values: `1150-65535`
#' 
#' Default:
#' 
#' -   RDS for Db2 - `50000`
#' 
#' -   RDS for MariaDB - `3306`
#' 
#' -   RDS for Microsoft SQL Server - `1433`
#' 
#' -   RDS for MySQL - `3306`
#' 
#' -   RDS for Oracle - `1521`
#' 
#' -   RDS for PostgreSQL - `5432`
#' 
#' Constraints:
#' 
#' -   For RDS for Microsoft SQL Server, the value can't be `1234`, `1434`,
#'     `3260`, `3343`, `3389`, `47001`, or `49152-49156`.
#' @param MultiAZ Specifies whether the DB instance is a Multi-AZ deployment. You can't
#' set the `AvailabilityZone` parameter if the DB instance is a Multi-AZ
#' deployment.
#' 
#' This setting doesn't apply to the following DB instances:
#' 
#' -   Amazon Aurora (DB instance Availability Zones (AZs) are managed by
#'     the DB cluster.)
#' 
#' -   RDS Custom
#' @param EngineVersion The version number of the database engine to use.
#' 
#' This setting doesn't apply to Amazon Aurora DB instances. The version
#' number of the database engine the DB instance uses is managed by the DB
#' cluster.
#' 
#' For a list of valid engine versions, use the
#' [`describe_db_engine_versions`][rds_describe_db_engine_versions]
#' operation.
#' 
#' The following are the database engines and links to information about
#' the major and minor versions that are available with Amazon RDS. Not
#' every database engine is available for every Amazon Web Services Region.
#' 
#' **Amazon RDS Custom for Oracle**
#' 
#' A custom engine version (CEV) that you have previously created. This
#' setting is required for RDS Custom for Oracle. The CEV name has the
#' following format: 19.*customized_string*. A valid CEV name is
#' `19.my_cev1`. For more information, see [Creating an RDS Custom for
#' Oracle DB
#' instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-creating.html#custom-creating.create)
#' in the *Amazon RDS User Guide*.
#' 
#' **Amazon RDS Custom for SQL Server**
#' 
#' See [RDS Custom for SQL Server general
#' requirements](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-reqs-limits-MS.html)
#' in the *Amazon RDS User Guide*.
#' 
#' **RDS for Db2**
#' 
#' For information, see [Db2 on Amazon RDS
#' versions](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Db2.html#Db2.Concepts.VersionMgmt)
#' in the *Amazon RDS User Guide*.
#' 
#' **RDS for MariaDB**
#' 
#' For information, see [MariaDB on Amazon RDS
#' versions](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MariaDB.html#MariaDB.Concepts.VersionMgmt)
#' in the *Amazon RDS User Guide*.
#' 
#' **RDS for Microsoft SQL Server**
#' 
#' For information, see [Microsoft SQL Server versions on Amazon
#' RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.VersionSupport)
#' in the *Amazon RDS User Guide*.
#' 
#' **RDS for MySQL**
#' 
#' For information, see [MySQL on Amazon RDS
#' versions](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.VersionMgmt)
#' in the *Amazon RDS User Guide*.
#' 
#' **RDS for Oracle**
#' 
#' For information, see [Oracle Database Engine release
#' notes](https://docs.aws.amazon.com/AmazonRDS/latest/OracleReleaseNotes/Welcome.html)
#' in the *Amazon RDS User Guide*.
#' 
#' **RDS for PostgreSQL**
#' 
#' For information, see [Amazon RDS for PostgreSQL versions and
#' extensions](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts)
#' in the *Amazon RDS User Guide*.
#' @param AutoMinorVersionUpgrade Specifies whether minor engine upgrades are applied automatically to the
#' DB instance during the maintenance window. By default, minor engine
#' upgrades are applied automatically.
#' 
#' If you create an RDS Custom DB instance, you must set
#' `AutoMinorVersionUpgrade` to `false`.
#' @param LicenseModel The license model information for this DB instance.
#' 
#' License models for RDS for Db2 require additional configuration. The
#' Bring Your Own License (BYOL) model requires a custom parameter group.
#' The Db2 license through Amazon Web Services Marketplace model requires
#' an Amazon Web Services Marketplace subscription. For more information,
#' see [RDS for Db2 licensing
#' options](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/db2-licensing.html)
#' in the *Amazon RDS User Guide*.
#' 
#' The default for RDS for Db2 is `bring-your-own-license`.
#' 
#' This setting doesn't apply to Amazon Aurora or RDS Custom DB instances.
#' 
#' Valid Values:
#' 
#' -   RDS for Db2 - `bring-your-own-license | marketplace-license`
#' 
#' -   RDS for MariaDB - `general-public-license`
#' 
#' -   RDS for Microsoft SQL Server - `license-included`
#' 
#' -   RDS for MySQL - `general-public-license`
#' 
#' -   RDS for Oracle - `bring-your-own-license | license-included`
#' 
#' -   RDS for PostgreSQL - `postgresql-license`
#' @param Iops The amount of Provisioned IOPS (input/output operations per second) to
#' initially allocate for the DB instance. For information about valid IOPS
#' values, see [Amazon RDS DB instance
#' storage](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html)
#' in the *Amazon RDS User Guide*.
#' 
#' This setting doesn't apply to Amazon Aurora DB instances. Storage is
#' managed by the DB cluster.
#' 
#' Constraints:
#' 
#' -   For RDS for Db2, MariaDB, MySQL, Oracle, and PostgreSQL - Must be a
#'     multiple between .5 and 50 of the storage amount for the DB
#'     instance.
#' 
#' -   For RDS for SQL Server - Must be a multiple between 1 and 50 of the
#'     storage amount for the DB instance.
#' @param OptionGroupName The option group to associate the DB instance with.
#' 
#' Permanent options, such as the TDE option for Oracle Advanced Security
#' TDE, can't be removed from an option group. Also, that option group
#' can't be removed from a DB instance after it is associated with a DB
#' instance.
#' 
#' This setting doesn't apply to Amazon Aurora or RDS Custom DB instances.
#' @param CharacterSetName For supported engines, the character set (`CharacterSet`) to associate
#' the DB instance with.
#' 
#' This setting doesn't apply to the following DB instances:
#' 
#' -   Amazon Aurora - The character set is managed by the DB cluster. For
#'     more information, see [`create_db_cluster`][rds_create_db_cluster].
#' 
#' -   RDS Custom - However, if you need to change the character set, you
#'     can change it on the database itself.
#' @param NcharCharacterSetName The name of the NCHAR character set for the Oracle DB instance.
#' 
#' This setting doesn't apply to RDS Custom DB instances.
#' @param PubliclyAccessible Specifies whether the DB instance is publicly accessible.
#' 
#' When the DB instance is publicly accessible and you connect from outside
#' of the DB instance's virtual private cloud (VPC), its Domain Name System
#' (DNS) endpoint resolves to the public IP address. When you connect from
#' within the same VPC as the DB instance, the endpoint resolves to the
#' private IP address. Access to the DB instance is ultimately controlled
#' by the security group it uses. That public access is not permitted if
#' the security group assigned to the DB instance doesn't permit it.
#' 
#' When the DB instance isn't publicly accessible, it is an internal DB
#' instance with a DNS name that resolves to a private IP address.
#' 
#' Default: The default behavior varies depending on whether
#' `DBSubnetGroupName` is specified.
#' 
#' If `DBSubnetGroupName` isn't specified, and `PubliclyAccessible` isn't
#' specified, the following applies:
#' 
#' -   If the default VPC in the target Region doesn’t have an internet
#'     gateway attached to it, the DB instance is private.
#' 
#' -   If the default VPC in the target Region has an internet gateway
#'     attached to it, the DB instance is public.
#' 
#' If `DBSubnetGroupName` is specified, and `PubliclyAccessible` isn't
#' specified, the following applies:
#' 
#' -   If the subnets are part of a VPC that doesn’t have an internet
#'     gateway attached to it, the DB instance is private.
#' 
#' -   If the subnets are part of a VPC that has an internet gateway
#'     attached to it, the DB instance is public.
#' @param Tags Tags to assign to the DB instance.
#' @param DBClusterIdentifier The identifier of the DB cluster that this DB instance will belong to.
#' 
#' This setting doesn't apply to RDS Custom DB instances.
#' @param StorageType The storage type to associate with the DB instance.
#' 
#' If you specify `io1`, `io2`, or `gp3`, you must also include a value for
#' the `Iops` parameter.
#' 
#' This setting doesn't apply to Amazon Aurora DB instances. Storage is
#' managed by the DB cluster.
#' 
#' Valid Values: `gp2 | gp3 | io1 | io2 | standard`
#' 
#' Default: `io1`, if the `Iops` parameter is specified. Otherwise, `gp2`.
#' @param TdeCredentialArn The ARN from the key store with which to associate the instance for TDE
#' encryption.
#' 
#' This setting doesn't apply to Amazon Aurora or RDS Custom DB instances.
#' @param TdeCredentialPassword The password for the given ARN from the key store in order to access the
#' device.
#' 
#' This setting doesn't apply to RDS Custom DB instances.
#' @param StorageEncrypted Specifes whether the DB instance is encrypted. By default, it isn't
#' encrypted.
#' 
#' For RDS Custom DB instances, either enable this setting or leave it
#' unset. Otherwise, Amazon RDS reports an error.
#' 
#' This setting doesn't apply to Amazon Aurora DB instances. The encryption
#' for DB instances is managed by the DB cluster.
#' @param KmsKeyId The Amazon Web Services KMS key identifier for an encrypted DB instance.
#' 
#' The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
#' ARN, or alias name for the KMS key. To use a KMS key in a different
#' Amazon Web Services account, specify the key ARN or alias ARN.
#' 
#' This setting doesn't apply to Amazon Aurora DB instances. The Amazon Web
#' Services KMS key identifier is managed by the DB cluster. For more
#' information, see [`create_db_cluster`][rds_create_db_cluster].
#' 
#' If `StorageEncrypted` is enabled, and you do not specify a value for the
#' `KmsKeyId` parameter, then Amazon RDS uses your default KMS key. There
#' is a default KMS key for your Amazon Web Services account. Your Amazon
#' Web Services account has a different default KMS key for each Amazon Web
#' Services Region.
#' 
#' For Amazon RDS Custom, a KMS key is required for DB instances. For most
#' RDS engines, if you leave this parameter empty while enabling
#' `StorageEncrypted`, the engine uses the default KMS key. However, RDS
#' Custom doesn't use the default key when this parameter is empty. You
#' must explicitly specify a key.
#' @param Domain The Active Directory directory ID to create the DB instance in.
#' Currently, you can create only Db2, MySQL, Microsoft SQL Server, Oracle,
#' and PostgreSQL DB instances in an Active Directory Domain.
#' 
#' For more information, see [Kerberos
#' Authentication](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/database-authentication.html)
#' in the *Amazon RDS User Guide*.
#' 
#' This setting doesn't apply to the following DB instances:
#' 
#' -   Amazon Aurora (The domain is managed by the DB cluster.)
#' 
#' -   RDS Custom
#' @param DomainFqdn The fully qualified domain name (FQDN) of an Active Directory domain.
#' 
#' Constraints:
#' 
#' -   Can't be longer than 64 characters.
#' 
#' Example: `mymanagedADtest.mymanagedAD.mydomain`
#' @param DomainOu The Active Directory organizational unit for your DB instance to join.
#' 
#' Constraints:
#' 
#' -   Must be in the distinguished name format.
#' 
#' -   Can't be longer than 64 characters.
#' 
#' Example:
#' `OU=mymanagedADtestOU,DC=mymanagedADtest,DC=mymanagedAD,DC=mydomain`
#' @param DomainAuthSecretArn The ARN for the Secrets Manager secret with the credentials for the user
#' joining the domain.
#' 
#' Example:
#' `arn:aws:secretsmanager:region:account-number:secret:myselfmanagedADtestsecret-123456`
#' @param DomainDnsIps The IPv4 DNS IP addresses of your primary and secondary Active Directory
#' domain controllers.
#' 
#' Constraints:
#' 
#' -   Two IP addresses must be provided. If there isn't a secondary domain
#'     controller, use the IP address of the primary domain controller for
#'     both entries in the list.
#' 
#' Example: `123.124.125.126,234.235.236.237`
#' @param CopyTagsToSnapshot Specifies whether to copy tags from the DB instance to snapshots of the
#' DB instance. By default, tags are not copied.
#' 
#' This setting doesn't apply to Amazon Aurora DB instances. Copying tags
#' to snapshots is managed by the DB cluster. Setting this value for an
#' Aurora DB instance has no effect on the DB cluster setting.
#' @param MonitoringInterval The interval, in seconds, between points when Enhanced Monitoring
#' metrics are collected for the DB instance. To disable collection of
#' Enhanced Monitoring metrics, specify `0`.
#' 
#' If `MonitoringRoleArn` is specified, then you must set
#' `MonitoringInterval` to a value other than `0`.
#' 
#' This setting doesn't apply to RDS Custom DB instances.
#' 
#' Valid Values: `0 | 1 | 5 | 10 | 15 | 30 | 60`
#' 
#' Default: `0`
#' @param MonitoringRoleArn The ARN for the IAM role that permits RDS to send enhanced monitoring
#' metrics to Amazon CloudWatch Logs. For example,
#' `arn:aws:iam:123456789012:role/emaccess`. For information on creating a
#' monitoring role, see [Setting Up and Enabling Enhanced
#' Monitoring](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling)
#' in the *Amazon RDS User Guide*.
#' 
#' If `MonitoringInterval` is set to a value other than `0`, then you must
#' supply a `MonitoringRoleArn` value.
#' 
#' This setting doesn't apply to RDS Custom DB instances.
#' @param DomainIAMRoleName The name of the IAM role to use when making API calls to the Directory
#' Service.
#' 
#' This setting doesn't apply to the following DB instances:
#' 
#' -   Amazon Aurora (The domain is managed by the DB cluster.)
#' 
#' -   RDS Custom
#' @param PromotionTier The order of priority in which an Aurora Replica is promoted to the
#' primary instance after a failure of the existing primary instance. For
#' more information, see [Fault Tolerance for an Aurora DB
#' Cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.AuroraHighAvailability.html#Aurora.Managing.FaultTolerance)
#' in the *Amazon Aurora User Guide*.
#' 
#' This setting doesn't apply to RDS Custom DB instances.
#' 
#' Default: `1`
#' 
#' Valid Values: `0 - 15`
#' @param Timezone The time zone of the DB instance. The time zone parameter is currently
#' supported only by [RDS for
#' Db2](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/db2-time-zone.html)
#' and [RDS for SQL
#' Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.TimeZone).
#' @param EnableIAMDatabaseAuthentication Specifies whether to enable mapping of Amazon Web Services Identity and
#' Access Management (IAM) accounts to database accounts. By default,
#' mapping isn't enabled.
#' 
#' For more information, see [IAM Database Authentication for MySQL and
#' PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)
#' in the *Amazon RDS User Guide*.
#' 
#' This setting doesn't apply to the following DB instances:
#' 
#' -   Amazon Aurora (Mapping Amazon Web Services IAM accounts to database
#'     accounts is managed by the DB cluster.)
#' 
#' -   RDS Custom
#' @param EnablePerformanceInsights Specifies whether to enable Performance Insights for the DB instance.
#' For more information, see [Using Amazon Performance
#' Insights](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html)
#' in the *Amazon RDS User Guide*.
#' 
#' This setting doesn't apply to RDS Custom DB instances.
#' @param PerformanceInsightsKMSKeyId The Amazon Web Services KMS key identifier for encryption of Performance
#' Insights data.
#' 
#' The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
#' ARN, or alias name for the KMS key.
#' 
#' If you don't specify a value for `PerformanceInsightsKMSKeyId`, then
#' Amazon RDS uses your default KMS key. There is a default KMS key for
#' your Amazon Web Services account. Your Amazon Web Services account has a
#' different default KMS key for each Amazon Web Services Region.
#' 
#' This setting doesn't apply to RDS Custom DB instances.
#' @param PerformanceInsightsRetentionPeriod The number of days to retain Performance Insights data.
#' 
#' This setting doesn't apply to RDS Custom DB instances.
#' 
#' Valid Values:
#' 
#' -   `7`
#' 
#' -   *month* * 31, where *month* is a number of months from 1-23.
#'     Examples: `93` (3 months * 31), `341` (11 months * 31), `589` (19
#'     months * 31)
#' 
#' -   `731`
#' 
#' Default: `7` days
#' 
#' If you specify a retention period that isn't valid, such as `94`, Amazon
#' RDS returns an error.
#' @param EnableCloudwatchLogsExports The list of log types to enable for exporting to CloudWatch Logs. For
#' more information, see [Publishing Database Logs to Amazon CloudWatch
#' Logs](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
#' in the *Amazon RDS User Guide*.
#' 
#' This setting doesn't apply to the following DB instances:
#' 
#' -   Amazon Aurora (CloudWatch Logs exports are managed by the DB
#'     cluster.)
#' 
#' -   RDS Custom
#' 
#' The following values are valid for each DB engine:
#' 
#' -   RDS for Db2 - `diag.log | notify.log`
#' 
#' -   RDS for MariaDB - `audit | error | general | slowquery`
#' 
#' -   RDS for Microsoft SQL Server - `agent | error`
#' 
#' -   RDS for MySQL - `audit | error | general | slowquery`
#' 
#' -   RDS for Oracle - `alert | audit | listener | trace | oemagent`
#' 
#' -   RDS for PostgreSQL - `postgresql | upgrade`
#' @param ProcessorFeatures The number of CPU cores and the number of threads per core for the DB
#' instance class of the DB instance.
#' 
#' This setting doesn't apply to Amazon Aurora or RDS Custom DB instances.
#' @param DeletionProtection Specifies whether the DB instance has deletion protection enabled. The
#' database can't be deleted when deletion protection is enabled. By
#' default, deletion protection isn't enabled. For more information, see
#' [Deleting a DB
#' Instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html).
#' 
#' This setting doesn't apply to Amazon Aurora DB instances. You can enable
#' or disable deletion protection for the DB cluster. For more information,
#' see [`create_db_cluster`][rds_create_db_cluster]. DB instances in a DB
#' cluster can be deleted even when deletion protection is enabled for the
#' DB cluster.
#' @param MaxAllocatedStorage The upper limit in gibibytes (GiB) to which Amazon RDS can automatically
#' scale the storage of the DB instance.
#' 
#' For more information about this setting, including limitations that
#' apply to it, see [Managing capacity automatically with Amazon RDS
#' storage
#' autoscaling](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.Autoscaling)
#' in the *Amazon RDS User Guide*.
#' 
#' This setting doesn't apply to the following DB instances:
#' 
#' -   Amazon Aurora (Storage is managed by the DB cluster.)
#' 
#' -   RDS Custom
#' @param EnableCustomerOwnedIp Specifies whether to enable a customer-owned IP address (CoIP) for an
#' RDS on Outposts DB instance.
#' 
#' A *CoIP* provides local or external connectivity to resources in your
#' Outpost subnets through your on-premises network. For some use cases, a
#' CoIP can provide lower latency for connections to the DB instance from
#' outside of its virtual private cloud (VPC) on your local network.
#' 
#' For more information about RDS on Outposts, see [Working with Amazon RDS
#' on Amazon Web Services
#' Outposts](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html)
#' in the *Amazon RDS User Guide*.
#' 
#' For more information about CoIPs, see [Customer-owned IP
#' addresses](https://docs.aws.amazon.com/outposts/latest/userguide/routing.html#ip-addressing)
#' in the *Amazon Web Services Outposts User Guide*.
#' @param CustomIamInstanceProfile The instance profile associated with the underlying Amazon EC2 instance
#' of an RDS Custom DB instance.
#' 
#' This setting is required for RDS Custom.
#' 
#' Constraints:
#' 
#' -   The profile must exist in your account.
#' 
#' -   The profile must have an IAM role that Amazon EC2 has permissions to
#'     assume.
#' 
#' -   The instance profile name and the associated IAM role name must
#'     start with the prefix `AWSRDSCustom`.
#' 
#' For the list of permissions required for the IAM role, see [Configure
#' IAM and your
#' VPC](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-setup-orcl.html#custom-setup-orcl.iam-vpc)
#' in the *Amazon RDS User Guide*.
#' @param BackupTarget The location for storing automated backups and manual snapshots.
#' 
#' Valid Values:
#' 
#' -   `outposts` (Amazon Web Services Outposts)
#' 
#' -   `region` (Amazon Web Services Region)
#' 
#' Default: `region`
#' 
#' For more information, see [Working with Amazon RDS on Amazon Web
#' Services
#' Outposts](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html)
#' in the *Amazon RDS User Guide*.
#' @param NetworkType The network type of the DB instance.
#' 
#' The network type is determined by the `DBSubnetGroup` specified for the
#' DB instance. A `DBSubnetGroup` can support only the IPv4 protocol or the
#' IPv4 and the IPv6 protocols (`DUAL`).
#' 
#' For more information, see [Working with a DB instance in a
#' VPC](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html)
#' in the *Amazon RDS User Guide.*
#' 
#' Valid Values: `IPV4 | DUAL`
#' @param StorageThroughput The storage throughput value for the DB instance.
#' 
#' This setting applies only to the `gp3` storage type.
#' 
#' This setting doesn't apply to Amazon Aurora or RDS Custom DB instances.
#' @param ManageMasterUserPassword Specifies whether to manage the master user password with Amazon Web
#' Services Secrets Manager.
#' 
#' For more information, see [Password management with Amazon Web Services
#' Secrets
#' Manager](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-secrets-manager.html)
#' in the *Amazon RDS User Guide.*
#' 
#' Constraints:
#' 
#' -   Can't manage the master user password with Amazon Web Services
#'     Secrets Manager if `MasterUserPassword` is specified.
#' @param MasterUserSecretKmsKeyId The Amazon Web Services KMS key identifier to encrypt a secret that is
#' automatically generated and managed in Amazon Web Services Secrets
#' Manager.
#' 
#' This setting is valid only if the master user password is managed by RDS
#' in Amazon Web Services Secrets Manager for the DB instance.
#' 
#' The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
#' ARN, or alias name for the KMS key. To use a KMS key in a different
#' Amazon Web Services account, specify the key ARN or alias ARN.
#' 
#' If you don't specify `MasterUserSecretKmsKeyId`, then the
#' `aws/secretsmanager` KMS key is used to encrypt the secret. If the
#' secret is in a different Amazon Web Services account, then you can't use
#' the `aws/secretsmanager` KMS key to encrypt the secret, and you must use
#' a customer managed KMS key.
#' 
#' There is a default KMS key for your Amazon Web Services account. Your
#' Amazon Web Services account has a different default KMS key for each
#' Amazon Web Services Region.
#' @param CACertificateIdentifier The CA certificate identifier to use for the DB instance's server
#' certificate.
#' 
#' This setting doesn't apply to RDS Custom DB instances.
#' 
#' For more information, see [Using SSL/TLS to encrypt a connection to a DB
#' instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html)
#' in the *Amazon RDS User Guide* and [Using SSL/TLS to encrypt a
#' connection to a DB
#' cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL.html)
#' in the *Amazon Aurora User Guide*.
#' @param DBSystemId The Oracle system identifier (SID), which is the name of the Oracle
#' database instance that manages your database files. In this context, the
#' term "Oracle database instance" refers exclusively to the system global
#' area (SGA) and Oracle background processes. If you don't specify a SID,
#' the value defaults to `RDSCDB`. The Oracle SID is also the name of your
#' CDB.
#' @param DedicatedLogVolume Indicates whether the DB instance has a dedicated log volume (DLV)
#' enabled.
#' @param MultiTenant Specifies whether to use the multi-tenant configuration or the
#' single-tenant configuration (default). This parameter only applies to
#' RDS for Oracle container database (CDB) engines.
#' 
#' Note the following restrictions:
#' 
#' -   The DB engine that you specify in the request must support the
#'     multi-tenant configuration. If you attempt to enable the
#'     multi-tenant configuration on a DB engine that doesn't support it,
#'     the request fails.
#' 
#' -   If you specify the multi-tenant configuration when you create your
#'     DB instance, you can't later modify this DB instance to use the
#'     single-tenant configuration.
#' @param EngineLifecycleSupport The life cycle type for this DB instance.
#' 
#' By default, this value is set to `open-source-rds-extended-support`,
#' which enrolls your DB instance into Amazon RDS Extended Support. At the
#' end of standard support, you can avoid charges for Extended Support by
#' setting the value to `open-source-rds-extended-support-disabled`. In
#' this case, creating the DB instance will fail if the DB major version is
#' past its end of standard support date.
#' 
#' This setting applies only to RDS for MySQL and RDS for PostgreSQL. For
#' Amazon Aurora DB instances, the life cycle type is managed by the DB
#' cluster.
#' 
#' You can use this setting to enroll your DB instance into Amazon RDS
#' Extended Support. With RDS Extended Support, you can run the selected
#' major engine version on your DB instance past the end of standard
#' support for that engine version. For more information, see [Using Amazon
#' RDS Extended
#' Support](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/extended-support.html)
#' in the *Amazon RDS User Guide*.
#' 
#' Valid Values:
#' `open-source-rds-extended-support | open-source-rds-extended-support-disabled`
#' 
#' Default: `open-source-rds-extended-support`
#'
#' @keywords internal
#'
#' @rdname rds_create_db_instance
rds_create_db_instance <- function(DBName = NULL, DBInstanceIdentifier, AllocatedStorage = NULL, DBInstanceClass, Engine, MasterUsername = NULL, MasterUserPassword = NULL, DBSecurityGroups = NULL, VpcSecurityGroupIds = NULL, AvailabilityZone = NULL, DBSubnetGroupName = NULL, PreferredMaintenanceWindow = NULL, DBParameterGroupName = NULL, BackupRetentionPeriod = NULL, PreferredBackupWindow = NULL, Port = NULL, MultiAZ = NULL, EngineVersion = NULL, AutoMinorVersionUpgrade = NULL, LicenseModel = NULL, Iops = NULL, OptionGroupName = NULL, CharacterSetName = NULL, NcharCharacterSetName = NULL, PubliclyAccessible = NULL, Tags = NULL, DBClusterIdentifier = NULL, StorageType = NULL, TdeCredentialArn = NULL, TdeCredentialPassword = NULL, StorageEncrypted = NULL, KmsKeyId = NULL, Domain = NULL, DomainFqdn = NULL, DomainOu = NULL, DomainAuthSecretArn = NULL, DomainDnsIps = NULL, CopyTagsToSnapshot = NULL, MonitoringInterval = NULL, MonitoringRoleArn = NULL, DomainIAMRoleName = NULL, PromotionTier = NULL, Timezone = NULL, EnableIAMDatabaseAuthentication = NULL, EnablePerformanceInsights = NULL, PerformanceInsightsKMSKeyId = NULL, PerformanceInsightsRetentionPeriod = NULL, EnableCloudwatchLogsExports = NULL, ProcessorFeatures = NULL, DeletionProtection = NULL, MaxAllocatedStorage = NULL, EnableCustomerOwnedIp = NULL, CustomIamInstanceProfile = NULL, BackupTarget = NULL, NetworkType = NULL, StorageThroughput = NULL, ManageMasterUserPassword = NULL, MasterUserSecretKmsKeyId = NULL, CACertificateIdentifier = NULL, DBSystemId = NULL, DedicatedLogVolume = NULL, MultiTenant = NULL, EngineLifecycleSupport = NULL) {
  op <- new_operation(
    name = "CreateDBInstance",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$create_db_instance_input(DBName = DBName, DBInstanceIdentifier = DBInstanceIdentifier, AllocatedStorage = AllocatedStorage, DBInstanceClass = DBInstanceClass, Engine = Engine, MasterUsername = MasterUsername, MasterUserPassword = MasterUserPassword, DBSecurityGroups = DBSecurityGroups, VpcSecurityGroupIds = VpcSecurityGroupIds, AvailabilityZone = AvailabilityZone, DBSubnetGroupName = DBSubnetGroupName, PreferredMaintenanceWindow = PreferredMaintenanceWindow, DBParameterGroupName = DBParameterGroupName, BackupRetentionPeriod = BackupRetentionPeriod, PreferredBackupWindow = PreferredBackupWindow, Port = Port, MultiAZ = MultiAZ, EngineVersion = EngineVersion, AutoMinorVersionUpgrade = AutoMinorVersionUpgrade, LicenseModel = LicenseModel, Iops = Iops, OptionGroupName = OptionGroupName, CharacterSetName = CharacterSetName, NcharCharacterSetName = NcharCharacterSetName, PubliclyAccessible = PubliclyAccessible, Tags = Tags, DBClusterIdentifier = DBClusterIdentifier, StorageType = StorageType, TdeCredentialArn = TdeCredentialArn, TdeCredentialPassword = TdeCredentialPassword, StorageEncrypted = StorageEncrypted, KmsKeyId = KmsKeyId, Domain = Domain, DomainFqdn = DomainFqdn, DomainOu = DomainOu, DomainAuthSecretArn = DomainAuthSecretArn, DomainDnsIps = DomainDnsIps, CopyTagsToSnapshot = CopyTagsToSnapshot, MonitoringInterval = MonitoringInterval, MonitoringRoleArn = MonitoringRoleArn, DomainIAMRoleName = DomainIAMRoleName, PromotionTier = PromotionTier, Timezone = Timezone, EnableIAMDatabaseAuthentication = EnableIAMDatabaseAuthentication, EnablePerformanceInsights = EnablePerformanceInsights, PerformanceInsightsKMSKeyId = PerformanceInsightsKMSKeyId, PerformanceInsightsRetentionPeriod = PerformanceInsightsRetentionPeriod, EnableCloudwatchLogsExports = EnableCloudwatchLogsExports, ProcessorFeatures = ProcessorFeatures, DeletionProtection = DeletionProtection, MaxAllocatedStorage = MaxAllocatedStorage, EnableCustomerOwnedIp = EnableCustomerOwnedIp, CustomIamInstanceProfile = CustomIamInstanceProfile, BackupTarget = BackupTarget, NetworkType = NetworkType, StorageThroughput = StorageThroughput, ManageMasterUserPassword = ManageMasterUserPassword, MasterUserSecretKmsKeyId = MasterUserSecretKmsKeyId, CACertificateIdentifier = CACertificateIdentifier, DBSystemId = DBSystemId, DedicatedLogVolume = DedicatedLogVolume, MultiTenant = MultiTenant, EngineLifecycleSupport = EngineLifecycleSupport)
  output <- .rds$create_db_instance_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$create_db_instance <- rds_create_db_instance

#' Creates a new DB instance that acts as a read replica for an existing
#' source DB instance or Multi-AZ DB cluster
#'
#' @description
#' Creates a new DB instance that acts as a read replica for an existing source DB instance or Multi-AZ DB cluster. You can create a read replica for a DB instance running Db2, MariaDB, MySQL, Oracle, PostgreSQL, or SQL Server. You can create a read replica for a Multi-AZ DB cluster running MySQL or PostgreSQL. For more information, see [Working with read replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html) and [Migrating from a Multi-AZ DB cluster to a DB instance using a read replica](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/multi-az-db-clusters-concepts.html#multi-az-db-clusters-migrating-to-instance-with-read-replica) in the *Amazon RDS User Guide*.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_create_db_instance_read_replica/](https://www.paws-r-sdk.com/docs/rds_create_db_instance_read_replica/) for full documentation.
#'
#' @param DBInstanceIdentifier &#91;required&#93; The DB instance identifier of the read replica. This identifier is the
#' unique key that identifies a DB instance. This parameter is stored as a
#' lowercase string.
#' @param SourceDBInstanceIdentifier The identifier of the DB instance that will act as the source for the
#' read replica. Each DB instance can have up to 15 read replicas, with the
#' exception of Oracle and SQL Server, which can have up to five.
#' 
#' Constraints:
#' 
#' -   Must be the identifier of an existing Db2, MariaDB, MySQL, Oracle,
#'     PostgreSQL, or SQL Server DB instance.
#' 
#' -   Can't be specified if the `SourceDBClusterIdentifier` parameter is
#'     also specified.
#' 
#' -   For the limitations of Oracle read replicas, see [Version and
#'     licensing considerations for RDS for Oracle
#'     replicas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.limitations.html#oracle-read-replicas.limitations.versions-and-licenses)
#'     in the *Amazon RDS User Guide*.
#' 
#' -   For the limitations of SQL Server read replicas, see [Read replica
#'     limitations with SQL
#'     Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/SQLServer.ReadReplicas.html#SQLServer.ReadReplicas.Limitations)
#'     in the *Amazon RDS User Guide*.
#' 
#' -   The specified DB instance must have automatic backups enabled, that
#'     is, its backup retention period must be greater than 0.
#' 
#' -   If the source DB instance is in the same Amazon Web Services Region
#'     as the read replica, specify a valid DB instance identifier.
#' 
#' -   If the source DB instance is in a different Amazon Web Services
#'     Region from the read replica, specify a valid DB instance ARN. For
#'     more information, see [Constructing an ARN for Amazon
#'     RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing)
#'     in the *Amazon RDS User Guide*. This doesn't apply to SQL Server or
#'     RDS Custom, which don't support cross-Region replicas.
#' @param DBInstanceClass The compute and memory capacity of the read replica, for example
#' db.m4.large. Not all DB instance classes are available in all Amazon Web
#' Services Regions, or for all database engines. For the full list of DB
#' instance classes, and availability for your engine, see [DB Instance
#' Class](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
#' in the *Amazon RDS User Guide*.
#' 
#' Default: Inherits the value from the source DB instance.
#' @param AvailabilityZone The Availability Zone (AZ) where the read replica will be created.
#' 
#' Default: A random, system-chosen Availability Zone in the endpoint's
#' Amazon Web Services Region.
#' 
#' Example: `us-east-1d`
#' @param Port The port number that the DB instance uses for connections.
#' 
#' Valid Values: `1150-65535`
#' 
#' Default: Inherits the value from the source DB instance.
#' @param MultiAZ Specifies whether the read replica is in a Multi-AZ deployment.
#' 
#' You can create a read replica as a Multi-AZ DB instance. RDS creates a
#' standby of your replica in another Availability Zone for failover
#' support for the replica. Creating your read replica as a Multi-AZ DB
#' instance is independent of whether the source is a Multi-AZ DB instance
#' or a Multi-AZ DB cluster.
#' 
#' This setting doesn't apply to RDS Custom DB instances.
#' @param AutoMinorVersionUpgrade Specifies whether to automatically apply minor engine upgrades to the
#' read replica during the maintenance window.
#' 
#' This setting doesn't apply to RDS Custom DB instances.
#' 
#' Default: Inherits the value from the source DB instance.
#' @param Iops The amount of Provisioned IOPS (input/output operations per second) to
#' initially allocate for the DB instance.
#' @param OptionGroupName The option group to associate the DB instance with. If not specified,
#' RDS uses the option group associated with the source DB instance or
#' cluster.
#' 
#' For SQL Server, you must use the option group associated with the
#' source.
#' 
#' This setting doesn't apply to RDS Custom DB instances.
#' @param DBParameterGroupName The name of the DB parameter group to associate with this DB instance.
#' 
#' If you don't specify a value for `DBParameterGroupName`, then Amazon RDS
#' uses the `DBParameterGroup` of the source DB instance for a same Region
#' read replica, or the default `DBParameterGroup` for the specified DB
#' engine for a cross-Region read replica.
#' 
#' Specifying a parameter group for this operation is only supported for
#' MySQL DB instances for cross-Region read replicas and for Oracle DB
#' instances. It isn't supported for MySQL DB instances for same Region
#' read replicas or for RDS Custom.
#' 
#' Constraints:
#' 
#' -   Must be 1 to 255 letters, numbers, or hyphens.
#' 
#' -   First character must be a letter.
#' 
#' -   Can't end with a hyphen or contain two consecutive hyphens.
#' @param PubliclyAccessible Specifies whether the DB instance is publicly accessible.
#' 
#' When the DB cluster is publicly accessible, its Domain Name System (DNS)
#' endpoint resolves to the private IP address from within the DB cluster's
#' virtual private cloud (VPC). It resolves to the public IP address from
#' outside of the DB cluster's VPC. Access to the DB cluster is ultimately
#' controlled by the security group it uses. That public access isn't
#' permitted if the security group assigned to the DB cluster doesn't
#' permit it.
#' 
#' When the DB instance isn't publicly accessible, it is an internal DB
#' instance with a DNS name that resolves to a private IP address.
#' 
#' For more information, see
#' [`create_db_instance`][rds_create_db_instance].
#' @param Tags 
#' @param DBSubnetGroupName A DB subnet group for the DB instance. The new DB instance is created in
#' the VPC associated with the DB subnet group. If no DB subnet group is
#' specified, then the new DB instance isn't created in a VPC.
#' 
#' Constraints:
#' 
#' -   If supplied, must match the name of an existing DB subnet group.
#' 
#' -   The specified DB subnet group must be in the same Amazon Web
#'     Services Region in which the operation is running.
#' 
#' -   All read replicas in one Amazon Web Services Region that are created
#'     from the same source DB instance must either:
#' 
#'     -   Specify DB subnet groups from the same VPC. All these read
#'         replicas are created in the same VPC.
#' 
#'     -   Not specify a DB subnet group. All these read replicas are
#'         created outside of any VPC.
#' 
#' Example: `mydbsubnetgroup`
#' @param VpcSecurityGroupIds A list of Amazon EC2 VPC security groups to associate with the read
#' replica.
#' 
#' This setting doesn't apply to RDS Custom DB instances.
#' 
#' Default: The default EC2 VPC security group for the DB subnet group's
#' VPC.
#' @param StorageType The storage type to associate with the read replica.
#' 
#' If you specify `io1`, `io2`, or `gp3`, you must also include a value for
#' the `Iops` parameter.
#' 
#' Valid Values: `gp2 | gp3 | io1 | io2 | standard`
#' 
#' Default: `io1` if the `Iops` parameter is specified. Otherwise, `gp2`.
#' @param CopyTagsToSnapshot Specifies whether to copy all tags from the read replica to snapshots of
#' the read replica. By default, tags aren't copied.
#' @param MonitoringInterval The interval, in seconds, between points when Enhanced Monitoring
#' metrics are collected for the read replica. To disable collection of
#' Enhanced Monitoring metrics, specify `0`. The default is `0`.
#' 
#' If `MonitoringRoleArn` is specified, then you must set
#' `MonitoringInterval` to a value other than `0`.
#' 
#' This setting doesn't apply to RDS Custom DB instances.
#' 
#' Valid Values: `0, 1, 5, 10, 15, 30, 60`
#' 
#' Default: `0`
#' @param MonitoringRoleArn The ARN for the IAM role that permits RDS to send enhanced monitoring
#' metrics to Amazon CloudWatch Logs. For example,
#' `arn:aws:iam:123456789012:role/emaccess`. For information on creating a
#' monitoring role, go to [To create an IAM role for Amazon RDS Enhanced
#' Monitoring](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html#USER_Monitoring.OS.IAMRole)
#' in the *Amazon RDS User Guide*.
#' 
#' If `MonitoringInterval` is set to a value other than 0, then you must
#' supply a `MonitoringRoleArn` value.
#' 
#' This setting doesn't apply to RDS Custom DB instances.
#' @param KmsKeyId The Amazon Web Services KMS key identifier for an encrypted read
#' replica.
#' 
#' The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
#' ARN, or alias name for the KMS key.
#' 
#' If you create an encrypted read replica in the same Amazon Web Services
#' Region as the source DB instance or Multi-AZ DB cluster, don't specify a
#' value for this parameter. A read replica in the same Amazon Web Services
#' Region is always encrypted with the same KMS key as the source DB
#' instance or cluster.
#' 
#' If you create an encrypted read replica in a different Amazon Web
#' Services Region, then you must specify a KMS key identifier for the
#' destination Amazon Web Services Region. KMS keys are specific to the
#' Amazon Web Services Region that they are created in, and you can't use
#' KMS keys from one Amazon Web Services Region in another Amazon Web
#' Services Region.
#' 
#' You can't create an encrypted read replica from an unencrypted DB
#' instance or Multi-AZ DB cluster.
#' 
#' This setting doesn't apply to RDS Custom, which uses the same KMS key as
#' the primary replica.
#' @param PreSignedUrl When you are creating a read replica from one Amazon Web Services
#' GovCloud (US) Region to another or from one China Amazon Web Services
#' Region to another, the URL that contains a Signature Version 4 signed
#' request for the
#' [`create_db_instance_read_replica`][rds_create_db_instance_read_replica]
#' API operation in the source Amazon Web Services Region that contains the
#' source DB instance.
#' 
#' This setting applies only to Amazon Web Services GovCloud (US) Regions
#' and China Amazon Web Services Regions. It's ignored in other Amazon Web
#' Services Regions.
#' 
#' This setting applies only when replicating from a source DB *instance*.
#' Source DB clusters aren't supported in Amazon Web Services GovCloud (US)
#' Regions and China Amazon Web Services Regions.
#' 
#' You must specify this parameter when you create an encrypted read
#' replica from another Amazon Web Services Region by using the Amazon RDS
#' API. Don't specify `PreSignedUrl` when you are creating an encrypted
#' read replica in the same Amazon Web Services Region.
#' 
#' The presigned URL must be a valid request for the
#' [`create_db_instance_read_replica`][rds_create_db_instance_read_replica]
#' API operation that can run in the source Amazon Web Services Region that
#' contains the encrypted source DB instance. The presigned URL request
#' must contain the following parameter values:
#' 
#' -   `DestinationRegion` - The Amazon Web Services Region that the
#'     encrypted read replica is created in. This Amazon Web Services
#'     Region is the same one where the
#'     [`create_db_instance_read_replica`][rds_create_db_instance_read_replica]
#'     operation is called that contains this presigned URL.
#' 
#'     For example, if you create an encrypted DB instance in the us-west-1
#'     Amazon Web Services Region, from a source DB instance in the
#'     us-east-2 Amazon Web Services Region, then you call the
#'     [`create_db_instance_read_replica`][rds_create_db_instance_read_replica]
#'     operation in the us-east-1 Amazon Web Services Region and provide a
#'     presigned URL that contains a call to the
#'     [`create_db_instance_read_replica`][rds_create_db_instance_read_replica]
#'     operation in the us-west-2 Amazon Web Services Region. For this
#'     example, the `DestinationRegion` in the presigned URL must be set to
#'     the us-east-1 Amazon Web Services Region.
#' 
#' -   `KmsKeyId` - The KMS key identifier for the key to use to encrypt
#'     the read replica in the destination Amazon Web Services Region. This
#'     is the same identifier for both the
#'     [`create_db_instance_read_replica`][rds_create_db_instance_read_replica]
#'     operation that is called in the destination Amazon Web Services
#'     Region, and the operation contained in the presigned URL.
#' 
#' -   `SourceDBInstanceIdentifier` - The DB instance identifier for the
#'     encrypted DB instance to be replicated. This identifier must be in
#'     the Amazon Resource Name (ARN) format for the source Amazon Web
#'     Services Region. For example, if you are creating an encrypted read
#'     replica from a DB instance in the us-west-2 Amazon Web Services
#'     Region, then your `SourceDBInstanceIdentifier` looks like the
#'     following example:
#'     `arn:aws:rds:us-west-2:123456789012:instance:mysql-instance1-20161115`.
#' 
#' To learn how to generate a Signature Version 4 signed request, see
#' [Authenticating Requests: Using Query Parameters (Amazon Web Services
#' Signature Version
#' 4)](https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
#' and [Signature Version 4 Signing
#' Process](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-signing.html).
#' 
#' If you are using an Amazon Web Services SDK tool or the CLI, you can
#' specify `SourceRegion` (or `--source-region` for the CLI) instead of
#' specifying `PreSignedUrl` manually. Specifying `SourceRegion`
#' autogenerates a presigned URL that is a valid request for the operation
#' that can run in the source Amazon Web Services Region.
#' 
#' `SourceRegion` isn't supported for SQL Server, because Amazon RDS for
#' SQL Server doesn't support cross-Region read replicas.
#' 
#' This setting doesn't apply to RDS Custom DB instances.
#' 
#' If you supply a value for this operation's `SourceRegion` parameter, a
#' pre-signed URL will be calculated on your behalf.
#' @param EnableIAMDatabaseAuthentication Specifies whether to enable mapping of Amazon Web Services Identity and
#' Access Management (IAM) accounts to database accounts. By default,
#' mapping isn't enabled.
#' 
#' For more information about IAM database authentication, see [IAM
#' Database Authentication for MySQL and
#' PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)
#' in the *Amazon RDS User Guide*.
#' 
#' This setting doesn't apply to RDS Custom DB instances.
#' @param EnablePerformanceInsights Specifies whether to enable Performance Insights for the read replica.
#' 
#' For more information, see [Using Amazon Performance
#' Insights](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html)
#' in the *Amazon RDS User Guide*.
#' 
#' This setting doesn't apply to RDS Custom DB instances.
#' @param PerformanceInsightsKMSKeyId The Amazon Web Services KMS key identifier for encryption of Performance
#' Insights data.
#' 
#' The Amazon Web Services KMS key identifier is the key ARN, key ID, alias
#' ARN, or alias name for the KMS key.
#' 
#' If you do not specify a value for `PerformanceInsightsKMSKeyId`, then
#' Amazon RDS uses your default KMS key. There is a default KMS key for
#' your Amazon Web Services account. Your Amazon Web Services account has a
#' different default KMS key for each Amazon Web Services Region.
#' 
#' This setting doesn't apply to RDS Custom DB instances.
#' @param PerformanceInsightsRetentionPeriod The number of days to retain Performance Insights data.
#' 
#' This setting doesn't apply to RDS Custom DB instances.
#' 
#' Valid Values:
#' 
#' -   `7`
#' 
#' -   *month* * 31, where *month* is a number of months from 1-23.
#'     Examples: `93` (3 months * 31), `341` (11 months * 31), `589` (19
#'     months * 31)
#' 
#' -   `731`
#' 
#' Default: `7` days
#' 
#' If you specify a retention period that isn't valid, such as `94`, Amazon
#' RDS returns an error.
#' @param EnableCloudwatchLogsExports The list of logs that the new DB instance is to export to CloudWatch
#' Logs. The values in the list depend on the DB engine being used. For
#' more information, see [Publishing Database Logs to Amazon CloudWatch
#' Logs](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
#' in the *Amazon RDS User Guide*.
#' 
#' This setting doesn't apply to RDS Custom DB instances.
#' @param ProcessorFeatures The number of CPU cores and the number of threads per core for the DB
#' instance class of the DB instance.
#' 
#' This setting doesn't apply to RDS Custom DB instances.
#' @param UseDefaultProcessorFeatures Specifies whether the DB instance class of the DB instance uses its
#' default processor features.
#' 
#' This setting doesn't apply to RDS Custom DB instances.
#' @param DeletionProtection Specifies whether to enable deletion protection for the DB instance. The
#' database can't be deleted when deletion protection is enabled. By
#' default, deletion protection isn't enabled. For more information, see
#' [Deleting a DB
#' Instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html).
#' @param Domain The Active Directory directory ID to create the DB instance in.
#' Currently, only MySQL, Microsoft SQL Server, Oracle, and PostgreSQL DB
#' instances can be created in an Active Directory Domain.
#' 
#' For more information, see [Kerberos
#' Authentication](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/database-authentication.html)
#' in the *Amazon RDS User Guide*.
#' 
#' This setting doesn't apply to RDS Custom DB instances.
#' @param DomainIAMRoleName The name of the IAM role to use when making API calls to the Directory
#' Service.
#' 
#' This setting doesn't apply to RDS Custom DB instances.
#' @param DomainFqdn The fully qualified domain name (FQDN) of an Active Directory domain.
#' 
#' Constraints:
#' 
#' -   Can't be longer than 64 characters.
#' 
#' Example: `mymanagedADtest.mymanagedAD.mydomain`
#' @param DomainOu The Active Directory organizational unit for your DB instance to join.
#' 
#' Constraints:
#' 
#' -   Must be in the distinguished name format.
#' 
#' -   Can't be longer than 64 characters.
#' 
#' Example:
#' `OU=mymanagedADtestOU,DC=mymanagedADtest,DC=mymanagedAD,DC=mydomain`
#' @param DomainAuthSecretArn The ARN for the Secrets Manager secret with the credentials for the user
#' joining the domain.
#' 
#' Example:
#' `arn:aws:secretsmanager:region:account-number:secret:myselfmanagedADtestsecret-123456`
#' @param DomainDnsIps The IPv4 DNS IP addresses of your primary and secondary Active Directory
#' domain controllers.
#' 
#' Constraints:
#' 
#' -   Two IP addresses must be provided. If there isn't a secondary domain
#'     controller, use the IP address of the primary domain controller for
#'     both entries in the list.
#' 
#' Example: `123.124.125.126,234.235.236.237`
#' @param ReplicaMode The open mode of the replica database: mounted or read-only.
#' 
#' This parameter is only supported for Oracle DB instances.
#' 
#' Mounted DB replicas are included in Oracle Database Enterprise Edition.
#' The main use case for mounted replicas is cross-Region disaster
#' recovery. The primary database doesn't use Active Data Guard to transmit
#' information to the mounted replica. Because it doesn't accept user
#' connections, a mounted replica can't serve a read-only workload.
#' 
#' You can create a combination of mounted and read-only DB replicas for
#' the same primary DB instance. For more information, see [Working with
#' Oracle Read Replicas for Amazon
#' RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html)
#' in the *Amazon RDS User Guide*.
#' 
#' For RDS Custom, you must specify this parameter and set it to `mounted`.
#' The value won't be set by default. After replica creation, you can
#' manage the open mode manually.
#' @param MaxAllocatedStorage The upper limit in gibibytes (GiB) to which Amazon RDS can automatically
#' scale the storage of the DB instance.
#' 
#' For more information about this setting, including limitations that
#' apply to it, see [Managing capacity automatically with Amazon RDS
#' storage
#' autoscaling](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.Autoscaling)
#' in the *Amazon RDS User Guide*.
#' @param CustomIamInstanceProfile The instance profile associated with the underlying Amazon EC2 instance
#' of an RDS Custom DB instance. The instance profile must meet the
#' following requirements:
#' 
#' -   The profile must exist in your account.
#' 
#' -   The profile must have an IAM role that Amazon EC2 has permissions to
#'     assume.
#' 
#' -   The instance profile name and the associated IAM role name must
#'     start with the prefix `AWSRDSCustom`.
#' 
#' For the list of permissions required for the IAM role, see [Configure
#' IAM and your
#' VPC](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-setup-orcl.html#custom-setup-orcl.iam-vpc)
#' in the *Amazon RDS User Guide*.
#' 
#' This setting is required for RDS Custom DB instances.
#' @param NetworkType The network type of the DB instance.
#' 
#' Valid Values:
#' 
#' -   `IPV4`
#' 
#' -   `DUAL`
#' 
#' The network type is determined by the `DBSubnetGroup` specified for read
#' replica. A `DBSubnetGroup` can support only the IPv4 protocol or the
#' IPv4 and the IPv6 protocols (`DUAL`).
#' 
#' For more information, see [Working with a DB instance in a
#' VPC](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html)
#' in the *Amazon RDS User Guide.*
#' @param StorageThroughput Specifies the storage throughput value for the read replica.
#' 
#' This setting doesn't apply to RDS Custom or Amazon Aurora DB instances.
#' @param EnableCustomerOwnedIp Specifies whether to enable a customer-owned IP address (CoIP) for an
#' RDS on Outposts read replica.
#' 
#' A *CoIP* provides local or external connectivity to resources in your
#' Outpost subnets through your on-premises network. For some use cases, a
#' CoIP can provide lower latency for connections to the read replica from
#' outside of its virtual private cloud (VPC) on your local network.
#' 
#' For more information about RDS on Outposts, see [Working with Amazon RDS
#' on Amazon Web Services
#' Outposts](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-on-outposts.html)
#' in the *Amazon RDS User Guide*.
#' 
#' For more information about CoIPs, see [Customer-owned IP
#' addresses](https://docs.aws.amazon.com/outposts/latest/userguide/routing.html#ip-addressing)
#' in the *Amazon Web Services Outposts User Guide*.
#' @param AllocatedStorage The amount of storage (in gibibytes) to allocate initially for the read
#' replica. Follow the allocation rules specified in
#' [`create_db_instance`][rds_create_db_instance].
#' 
#' Be sure to allocate enough storage for your read replica so that the
#' create operation can succeed. You can also allocate additional storage
#' for future growth.
#' @param SourceDBClusterIdentifier The identifier of the Multi-AZ DB cluster that will act as the source
#' for the read replica. Each DB cluster can have up to 15 read replicas.
#' 
#' Constraints:
#' 
#' -   Must be the identifier of an existing Multi-AZ DB cluster.
#' 
#' -   Can't be specified if the `SourceDBInstanceIdentifier` parameter is
#'     also specified.
#' 
#' -   The specified DB cluster must have automatic backups enabled, that
#'     is, its backup retention period must be greater than 0.
#' 
#' -   The source DB cluster must be in the same Amazon Web Services Region
#'     as the read replica. Cross-Region replication isn't supported.
#' @param DedicatedLogVolume Indicates whether the DB instance has a dedicated log volume (DLV)
#' enabled.
#' @param UpgradeStorageConfig Whether to upgrade the storage file system configuration on the read
#' replica. This option migrates the read replica from the old storage file
#' system layout to the preferred layout.
#' @param CACertificateIdentifier The CA certificate identifier to use for the read replica's server
#' certificate.
#' 
#' This setting doesn't apply to RDS Custom DB instances.
#' 
#' For more information, see [Using SSL/TLS to encrypt a connection to a DB
#' instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html)
#' in the *Amazon RDS User Guide* and [Using SSL/TLS to encrypt a
#' connection to a DB
#' cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL.html)
#' in the *Amazon Aurora User Guide*.
#' @param SourceRegion The ID of the region that contains the source for the read replica.
#'
#' @keywords internal
#'
#' @rdname rds_create_db_instance_read_replica
rds_create_db_instance_read_replica <- function(DBInstanceIdentifier, SourceDBInstanceIdentifier = NULL, DBInstanceClass = NULL, AvailabilityZone = NULL, Port = NULL, MultiAZ = NULL, AutoMinorVersionUpgrade = NULL, Iops = NULL, OptionGroupName = NULL, DBParameterGroupName = NULL, PubliclyAccessible = NULL, Tags = NULL, DBSubnetGroupName = NULL, VpcSecurityGroupIds = NULL, StorageType = NULL, CopyTagsToSnapshot = NULL, MonitoringInterval = NULL, MonitoringRoleArn = NULL, KmsKeyId = NULL, PreSignedUrl = NULL, EnableIAMDatabaseAuthentication = NULL, EnablePerformanceInsights = NULL, PerformanceInsightsKMSKeyId = NULL, PerformanceInsightsRetentionPeriod = NULL, EnableCloudwatchLogsExports = NULL, ProcessorFeatures = NULL, UseDefaultProcessorFeatures = NULL, DeletionProtection = NULL, Domain = NULL, DomainIAMRoleName = NULL, DomainFqdn = NULL, DomainOu = NULL, DomainAuthSecretArn = NULL, DomainDnsIps = NULL, ReplicaMode = NULL, MaxAllocatedStorage = NULL, CustomIamInstanceProfile = NULL, NetworkType = NULL, StorageThroughput = NULL, EnableCustomerOwnedIp = NULL, AllocatedStorage = NULL, SourceDBClusterIdentifier = NULL, DedicatedLogVolume = NULL, UpgradeStorageConfig = NULL, CACertificateIdentifier = NULL, SourceRegion = NULL) {
  op <- new_operation(
    name = "CreateDBInstanceReadReplica",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$create_db_instance_read_replica_input(DBInstanceIdentifier = DBInstanceIdentifier, SourceDBInstanceIdentifier = SourceDBInstanceIdentifier, DBInstanceClass = DBInstanceClass, AvailabilityZone = AvailabilityZone, Port = Port, MultiAZ = MultiAZ, AutoMinorVersionUpgrade = AutoMinorVersionUpgrade, Iops = Iops, OptionGroupName = OptionGroupName, DBParameterGroupName = DBParameterGroupName, PubliclyAccessible = PubliclyAccessible, Tags = Tags, DBSubnetGroupName = DBSubnetGroupName, VpcSecurityGroupIds = VpcSecurityGroupIds, StorageType = StorageType, CopyTagsToSnapshot = CopyTagsToSnapshot, MonitoringInterval = MonitoringInterval, MonitoringRoleArn = MonitoringRoleArn, KmsKeyId = KmsKeyId, PreSignedUrl = PreSignedUrl, EnableIAMDatabaseAuthentication = EnableIAMDatabaseAuthentication, EnablePerformanceInsights = EnablePerformanceInsights, PerformanceInsightsKMSKeyId = PerformanceInsightsKMSKeyId, PerformanceInsightsRetentionPeriod = PerformanceInsightsRetentionPeriod, EnableCloudwatchLogsExports = EnableCloudwatchLogsExports, ProcessorFeatures = ProcessorFeatures, UseDefaultProcessorFeatures = UseDefaultProcessorFeatures, DeletionProtection = DeletionProtection, Domain = Domain, DomainIAMRoleName = DomainIAMRoleName, DomainFqdn = DomainFqdn, DomainOu = DomainOu, DomainAuthSecretArn = DomainAuthSecretArn, DomainDnsIps = DomainDnsIps, ReplicaMode = ReplicaMode, MaxAllocatedStorage = MaxAllocatedStorage, CustomIamInstanceProfile = CustomIamInstanceProfile, NetworkType = NetworkType, StorageThroughput = StorageThroughput, EnableCustomerOwnedIp = EnableCustomerOwnedIp, AllocatedStorage = AllocatedStorage, SourceDBClusterIdentifier = SourceDBClusterIdentifier, DedicatedLogVolume = DedicatedLogVolume, UpgradeStorageConfig = UpgradeStorageConfig, CACertificateIdentifier = CACertificateIdentifier, SourceRegion = SourceRegion)
  output <- .rds$create_db_instance_read_replica_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$create_db_instance_read_replica <- rds_create_db_instance_read_replica

#' Creates a new DB parameter group
#'
#' @description
#' Creates a new DB parameter group.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_create_db_parameter_group/](https://www.paws-r-sdk.com/docs/rds_create_db_parameter_group/) for full documentation.
#'
#' @param DBParameterGroupName &#91;required&#93; The name of the DB parameter group.
#' 
#' Constraints:
#' 
#' -   Must be 1 to 255 letters, numbers, or hyphens.
#' 
#' -   First character must be a letter
#' 
#' -   Can't end with a hyphen or contain two consecutive hyphens
#' 
#' This value is stored as a lowercase string.
#' @param DBParameterGroupFamily &#91;required&#93; The DB parameter group family name. A DB parameter group can be
#' associated with one and only one DB parameter group family, and can be
#' applied only to a DB instance running a database engine and engine
#' version compatible with that DB parameter group family.
#' 
#' To list all of the available parameter group families for a DB engine,
#' use the following command:
#' 
#' `aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily" --engine <engine>`
#' 
#' For example, to list all of the available parameter group families for
#' the MySQL DB engine, use the following command:
#' 
#' `aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily" --engine mysql`
#' 
#' The output contains duplicates.
#' 
#' The following are the valid DB engine values:
#' 
#' -   `aurora-mysql`
#' 
#' -   `aurora-postgresql`
#' 
#' -   `db2-ae`
#' 
#' -   `db2-se`
#' 
#' -   `mysql`
#' 
#' -   `oracle-ee`
#' 
#' -   `oracle-ee-cdb`
#' 
#' -   `oracle-se2`
#' 
#' -   `oracle-se2-cdb`
#' 
#' -   `postgres`
#' 
#' -   `sqlserver-ee`
#' 
#' -   `sqlserver-se`
#' 
#' -   `sqlserver-ex`
#' 
#' -   `sqlserver-web`
#' @param Description &#91;required&#93; The description for the DB parameter group.
#' @param Tags Tags to assign to the DB parameter group.
#'
#' @keywords internal
#'
#' @rdname rds_create_db_parameter_group
rds_create_db_parameter_group <- function(DBParameterGroupName, DBParameterGroupFamily, Description, Tags = NULL) {
  op <- new_operation(
    name = "CreateDBParameterGroup",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$create_db_parameter_group_input(DBParameterGroupName = DBParameterGroupName, DBParameterGroupFamily = DBParameterGroupFamily, Description = Description, Tags = Tags)
  output <- .rds$create_db_parameter_group_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$create_db_parameter_group <- rds_create_db_parameter_group

#' Creates a new DB proxy
#'
#' @description
#' Creates a new DB proxy.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_create_db_proxy/](https://www.paws-r-sdk.com/docs/rds_create_db_proxy/) for full documentation.
#'
#' @param DBProxyName &#91;required&#93; The identifier for the proxy. This name must be unique for all proxies
#' owned by your Amazon Web Services account in the specified Amazon Web
#' Services Region. An identifier must begin with a letter and must contain
#' only ASCII letters, digits, and hyphens; it can't end with a hyphen or
#' contain two consecutive hyphens.
#' @param EngineFamily &#91;required&#93; The kinds of databases that the proxy can connect to. This value
#' determines which database network protocol the proxy recognizes when it
#' interprets network traffic to and from the database. For Aurora MySQL,
#' RDS for MariaDB, and RDS for MySQL databases, specify `MYSQL`. For
#' Aurora PostgreSQL and RDS for PostgreSQL databases, specify
#' `POSTGRESQL`. For RDS for Microsoft SQL Server, specify `SQLSERVER`.
#' @param Auth &#91;required&#93; The authorization mechanism that the proxy uses.
#' @param RoleArn &#91;required&#93; The Amazon Resource Name (ARN) of the IAM role that the proxy uses to
#' access secrets in Amazon Web Services Secrets Manager.
#' @param VpcSubnetIds &#91;required&#93; One or more VPC subnet IDs to associate with the new proxy.
#' @param VpcSecurityGroupIds One or more VPC security group IDs to associate with the new proxy.
#' @param RequireTLS Specifies whether Transport Layer Security (TLS) encryption is required
#' for connections to the proxy. By enabling this setting, you can enforce
#' encrypted TLS connections to the proxy.
#' @param IdleClientTimeout The number of seconds that a connection to the proxy can be inactive
#' before the proxy disconnects it. You can set this value higher or lower
#' than the connection timeout limit for the associated database.
#' @param DebugLogging Specifies whether the proxy includes detailed information about SQL
#' statements in its logs. This information helps you to debug issues
#' involving SQL behavior or the performance and scalability of the proxy
#' connections. The debug information includes the text of SQL statements
#' that you submit through the proxy. Thus, only enable this setting when
#' needed for debugging, and only when you have security measures in place
#' to safeguard any sensitive information that appears in the logs.
#' @param Tags An optional set of key-value pairs to associate arbitrary data of your
#' choosing with the proxy.
#'
#' @keywords internal
#'
#' @rdname rds_create_db_proxy
rds_create_db_proxy <- function(DBProxyName, EngineFamily, Auth, RoleArn, VpcSubnetIds, VpcSecurityGroupIds = NULL, RequireTLS = NULL, IdleClientTimeout = NULL, DebugLogging = NULL, Tags = NULL) {
  op <- new_operation(
    name = "CreateDBProxy",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$create_db_proxy_input(DBProxyName = DBProxyName, EngineFamily = EngineFamily, Auth = Auth, RoleArn = RoleArn, VpcSubnetIds = VpcSubnetIds, VpcSecurityGroupIds = VpcSecurityGroupIds, RequireTLS = RequireTLS, IdleClientTimeout = IdleClientTimeout, DebugLogging = DebugLogging, Tags = Tags)
  output <- .rds$create_db_proxy_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$create_db_proxy <- rds_create_db_proxy

#' Creates a DBProxyEndpoint
#'
#' @description
#' Creates a `DBProxyEndpoint`. Only applies to proxies that are associated with Aurora DB clusters. You can use DB proxy endpoints to specify read/write or read-only access to the DB cluster. You can also use DB proxy endpoints to access a DB proxy through a different VPC than the proxy's default VPC.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_create_db_proxy_endpoint/](https://www.paws-r-sdk.com/docs/rds_create_db_proxy_endpoint/) for full documentation.
#'
#' @param DBProxyName &#91;required&#93; The name of the DB proxy associated with the DB proxy endpoint that you
#' create.
#' @param DBProxyEndpointName &#91;required&#93; The name of the DB proxy endpoint to create.
#' @param VpcSubnetIds &#91;required&#93; The VPC subnet IDs for the DB proxy endpoint that you create. You can
#' specify a different set of subnet IDs than for the original DB proxy.
#' @param VpcSecurityGroupIds The VPC security group IDs for the DB proxy endpoint that you create.
#' You can specify a different set of security group IDs than for the
#' original DB proxy. The default is the default security group for the
#' VPC.
#' @param TargetRole The role of the DB proxy endpoint. The role determines whether the
#' endpoint can be used for read/write or only read operations. The default
#' is `READ_WRITE`. The only role that proxies for RDS for Microsoft SQL
#' Server support is `READ_WRITE`.
#' @param Tags 
#'
#' @keywords internal
#'
#' @rdname rds_create_db_proxy_endpoint
rds_create_db_proxy_endpoint <- function(DBProxyName, DBProxyEndpointName, VpcSubnetIds, VpcSecurityGroupIds = NULL, TargetRole = NULL, Tags = NULL) {
  op <- new_operation(
    name = "CreateDBProxyEndpoint",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$create_db_proxy_endpoint_input(DBProxyName = DBProxyName, DBProxyEndpointName = DBProxyEndpointName, VpcSubnetIds = VpcSubnetIds, VpcSecurityGroupIds = VpcSecurityGroupIds, TargetRole = TargetRole, Tags = Tags)
  output <- .rds$create_db_proxy_endpoint_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$create_db_proxy_endpoint <- rds_create_db_proxy_endpoint

#' Creates a new DB security group
#'
#' @description
#' Creates a new DB security group. DB security groups control access to a DB instance.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_create_db_security_group/](https://www.paws-r-sdk.com/docs/rds_create_db_security_group/) for full documentation.
#'
#' @param DBSecurityGroupName &#91;required&#93; The name for the DB security group. This value is stored as a lowercase
#' string.
#' 
#' Constraints:
#' 
#' -   Must be 1 to 255 letters, numbers, or hyphens.
#' 
#' -   First character must be a letter
#' 
#' -   Can't end with a hyphen or contain two consecutive hyphens
#' 
#' -   Must not be "Default"
#' 
#' Example: `mysecuritygroup`
#' @param DBSecurityGroupDescription &#91;required&#93; The description for the DB security group.
#' @param Tags Tags to assign to the DB security group.
#'
#' @keywords internal
#'
#' @rdname rds_create_db_security_group
rds_create_db_security_group <- function(DBSecurityGroupName, DBSecurityGroupDescription, Tags = NULL) {
  op <- new_operation(
    name = "CreateDBSecurityGroup",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$create_db_security_group_input(DBSecurityGroupName = DBSecurityGroupName, DBSecurityGroupDescription = DBSecurityGroupDescription, Tags = Tags)
  output <- .rds$create_db_security_group_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$create_db_security_group <- rds_create_db_security_group

#' Creates a new DB shard group for Aurora Limitless Database
#'
#' @description
#' Creates a new DB shard group for Aurora Limitless Database. You must enable Aurora Limitless Database to create a DB shard group.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_create_db_shard_group/](https://www.paws-r-sdk.com/docs/rds_create_db_shard_group/) for full documentation.
#'
#' @param DBShardGroupIdentifier &#91;required&#93; The name of the DB shard group.
#' @param DBClusterIdentifier &#91;required&#93; The name of the primary DB cluster for the DB shard group.
#' @param ComputeRedundancy Specifies whether to create standby instances for the DB shard group.
#' Valid values are the following:
#' 
#' -   0 - Creates a single, primary DB instance for each physical shard.
#'     This is the default value, and the only one supported for the
#'     preview.
#' 
#' -   1 - Creates a primary DB instance and a standby instance in a
#'     different Availability Zone (AZ) for each physical shard.
#' 
#' -   2 - Creates a primary DB instance and two standby instances in
#'     different AZs for each physical shard.
#' @param MaxACU &#91;required&#93; The maximum capacity of the DB shard group in Aurora capacity units
#' (ACUs).
#' @param MinACU The minimum capacity of the DB shard group in Aurora capacity units
#' (ACUs).
#' @param PubliclyAccessible Specifies whether the DB shard group is publicly accessible.
#' 
#' When the DB shard group is publicly accessible, its Domain Name System
#' (DNS) endpoint resolves to the private IP address from within the DB
#' shard group's virtual private cloud (VPC). It resolves to the public IP
#' address from outside of the DB shard group's VPC. Access to the DB shard
#' group is ultimately controlled by the security group it uses. That
#' public access is not permitted if the security group assigned to the DB
#' shard group doesn't permit it.
#' 
#' When the DB shard group isn't publicly accessible, it is an internal DB
#' shard group with a DNS name that resolves to a private IP address.
#' 
#' Default: The default behavior varies depending on whether
#' `DBSubnetGroupName` is specified.
#' 
#' If `DBSubnetGroupName` isn't specified, and `PubliclyAccessible` isn't
#' specified, the following applies:
#' 
#' -   If the default VPC in the target Region doesn’t have an internet
#'     gateway attached to it, the DB shard group is private.
#' 
#' -   If the default VPC in the target Region has an internet gateway
#'     attached to it, the DB shard group is public.
#' 
#' If `DBSubnetGroupName` is specified, and `PubliclyAccessible` isn't
#' specified, the following applies:
#' 
#' -   If the subnets are part of a VPC that doesn’t have an internet
#'     gateway attached to it, the DB shard group is private.
#' 
#' -   If the subnets are part of a VPC that has an internet gateway
#'     attached to it, the DB shard group is public.
#'
#' @keywords internal
#'
#' @rdname rds_create_db_shard_group
rds_create_db_shard_group <- function(DBShardGroupIdentifier, DBClusterIdentifier, ComputeRedundancy = NULL, MaxACU, MinACU = NULL, PubliclyAccessible = NULL) {
  op <- new_operation(
    name = "CreateDBShardGroup",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$create_db_shard_group_input(DBShardGroupIdentifier = DBShardGroupIdentifier, DBClusterIdentifier = DBClusterIdentifier, ComputeRedundancy = ComputeRedundancy, MaxACU = MaxACU, MinACU = MinACU, PubliclyAccessible = PubliclyAccessible)
  output <- .rds$create_db_shard_group_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$create_db_shard_group <- rds_create_db_shard_group

#' Creates a snapshot of a DB instance
#'
#' @description
#' Creates a snapshot of a DB instance. The source DB instance must be in the `available` or `storage-optimization` state.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_create_db_snapshot/](https://www.paws-r-sdk.com/docs/rds_create_db_snapshot/) for full documentation.
#'
#' @param DBSnapshotIdentifier &#91;required&#93; The identifier for the DB snapshot.
#' 
#' Constraints:
#' 
#' -   Can't be null, empty, or blank
#' 
#' -   Must contain from 1 to 255 letters, numbers, or hyphens
#' 
#' -   First character must be a letter
#' 
#' -   Can't end with a hyphen or contain two consecutive hyphens
#' 
#' Example: `my-snapshot-id`
#' @param DBInstanceIdentifier &#91;required&#93; The identifier of the DB instance that you want to create the snapshot
#' of.
#' 
#' Constraints:
#' 
#' -   Must match the identifier of an existing DBInstance.
#' @param Tags 
#'
#' @keywords internal
#'
#' @rdname rds_create_db_snapshot
rds_create_db_snapshot <- function(DBSnapshotIdentifier, DBInstanceIdentifier, Tags = NULL) {
  op <- new_operation(
    name = "CreateDBSnapshot",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$create_db_snapshot_input(DBSnapshotIdentifier = DBSnapshotIdentifier, DBInstanceIdentifier = DBInstanceIdentifier, Tags = Tags)
  output <- .rds$create_db_snapshot_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$create_db_snapshot <- rds_create_db_snapshot

#' Creates a new DB subnet group
#'
#' @description
#' Creates a new DB subnet group. DB subnet groups must contain at least one subnet in at least two AZs in the Amazon Web Services Region.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_create_db_subnet_group/](https://www.paws-r-sdk.com/docs/rds_create_db_subnet_group/) for full documentation.
#'
#' @param DBSubnetGroupName &#91;required&#93; The name for the DB subnet group. This value is stored as a lowercase
#' string.
#' 
#' Constraints:
#' 
#' -   Must contain no more than 255 letters, numbers, periods,
#'     underscores, spaces, or hyphens.
#' 
#' -   Must not be default.
#' 
#' -   First character must be a letter.
#' 
#' Example: `mydbsubnetgroup`
#' @param DBSubnetGroupDescription &#91;required&#93; The description for the DB subnet group.
#' @param SubnetIds &#91;required&#93; The EC2 Subnet IDs for the DB subnet group.
#' @param Tags Tags to assign to the DB subnet group.
#'
#' @keywords internal
#'
#' @rdname rds_create_db_subnet_group
rds_create_db_subnet_group <- function(DBSubnetGroupName, DBSubnetGroupDescription, SubnetIds, Tags = NULL) {
  op <- new_operation(
    name = "CreateDBSubnetGroup",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$create_db_subnet_group_input(DBSubnetGroupName = DBSubnetGroupName, DBSubnetGroupDescription = DBSubnetGroupDescription, SubnetIds = SubnetIds, Tags = Tags)
  output <- .rds$create_db_subnet_group_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$create_db_subnet_group <- rds_create_db_subnet_group

#' Creates an RDS event notification subscription
#'
#' @description
#' Creates an RDS event notification subscription. This operation requires a topic Amazon Resource Name (ARN) created by either the RDS console, the SNS console, or the SNS API. To obtain an ARN with SNS, you must create a topic in Amazon SNS and subscribe to the topic. The ARN is displayed in the SNS console.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_create_event_subscription/](https://www.paws-r-sdk.com/docs/rds_create_event_subscription/) for full documentation.
#'
#' @param SubscriptionName &#91;required&#93; The name of the subscription.
#' 
#' Constraints: The name must be less than 255 characters.
#' @param SnsTopicArn &#91;required&#93; The Amazon Resource Name (ARN) of the SNS topic created for event
#' notification. SNS automatically creates the ARN when you create a topic
#' and subscribe to it.
#' 
#' RDS doesn't support FIFO (first in, first out) topics. For more
#' information, see [Message ordering and deduplication (FIFO
#' topics)](https://docs.aws.amazon.com/sns/latest/dg/sns-fifo-topics.html)
#' in the *Amazon Simple Notification Service Developer Guide*.
#' @param SourceType The type of source that is generating the events. For example, if you
#' want to be notified of events generated by a DB instance, you set this
#' parameter to `db-instance`. For RDS Proxy events, specify `db-proxy`. If
#' this value isn't specified, all events are returned.
#' 
#' Valid
#' Values:` db-instance | db-cluster | db-parameter-group | db-security-group | db-snapshot | db-cluster-snapshot | db-proxy | zero-etl | custom-engine-version | blue-green-deployment `
#' @param EventCategories A list of event categories for a particular source type (`SourceType`)
#' that you want to subscribe to. You can see a list of the categories for
#' a given source type in the "Amazon RDS event categories and event
#' messages" section of the [*Amazon RDS User
#' Guide*](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.Messages.html)
#' or the [*Amazon Aurora User
#' Guide*](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Events.Messages.html)
#' . You can also see this list by using the
#' [`describe_event_categories`][rds_describe_event_categories] operation.
#' @param SourceIds The list of identifiers of the event sources for which events are
#' returned. If not specified, then all sources are included in the
#' response. An identifier must begin with a letter and must contain only
#' ASCII letters, digits, and hyphens. It can't end with a hyphen or
#' contain two consecutive hyphens.
#' 
#' Constraints:
#' 
#' -   If `SourceIds` are supplied, `SourceType` must also be provided.
#' 
#' -   If the source type is a DB instance, a `DBInstanceIdentifier` value
#'     must be supplied.
#' 
#' -   If the source type is a DB cluster, a `DBClusterIdentifier` value
#'     must be supplied.
#' 
#' -   If the source type is a DB parameter group, a `DBParameterGroupName`
#'     value must be supplied.
#' 
#' -   If the source type is a DB security group, a `DBSecurityGroupName`
#'     value must be supplied.
#' 
#' -   If the source type is a DB snapshot, a `DBSnapshotIdentifier` value
#'     must be supplied.
#' 
#' -   If the source type is a DB cluster snapshot, a
#'     `DBClusterSnapshotIdentifier` value must be supplied.
#' 
#' -   If the source type is an RDS Proxy, a `DBProxyName` value must be
#'     supplied.
#' @param Enabled Specifies whether to activate the subscription. If the event
#' notification subscription isn't activated, the subscription is created
#' but not active.
#' @param Tags 
#'
#' @keywords internal
#'
#' @rdname rds_create_event_subscription
rds_create_event_subscription <- function(SubscriptionName, SnsTopicArn, SourceType = NULL, EventCategories = NULL, SourceIds = NULL, Enabled = NULL, Tags = NULL) {
  op <- new_operation(
    name = "CreateEventSubscription",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$create_event_subscription_input(SubscriptionName = SubscriptionName, SnsTopicArn = SnsTopicArn, SourceType = SourceType, EventCategories = EventCategories, SourceIds = SourceIds, Enabled = Enabled, Tags = Tags)
  output <- .rds$create_event_subscription_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$create_event_subscription <- rds_create_event_subscription

#' Creates an Aurora global database spread across multiple Amazon Web
#' Services Regions
#'
#' @description
#' Creates an Aurora global database spread across multiple Amazon Web Services Regions. The global database contains a single primary cluster with read-write capability, and a read-only secondary cluster that receives data from the primary cluster through high-speed replication performed by the Aurora storage subsystem.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_create_global_cluster/](https://www.paws-r-sdk.com/docs/rds_create_global_cluster/) for full documentation.
#'
#' @param GlobalClusterIdentifier The cluster identifier for this global database cluster. This parameter
#' is stored as a lowercase string.
#' @param SourceDBClusterIdentifier The Amazon Resource Name (ARN) to use as the primary cluster of the
#' global database.
#' 
#' If you provide a value for this parameter, don't specify values for the
#' following settings because Amazon Aurora uses the values from the
#' specified source DB cluster:
#' 
#' -   `DatabaseName`
#' 
#' -   `Engine`
#' 
#' -   `EngineVersion`
#' 
#' -   `StorageEncrypted`
#' @param Engine The database engine to use for this global database cluster.
#' 
#' Valid Values: `aurora-mysql | aurora-postgresql`
#' 
#' Constraints:
#' 
#' -   Can't be specified if `SourceDBClusterIdentifier` is specified. In
#'     this case, Amazon Aurora uses the engine of the source DB cluster.
#' @param EngineVersion The engine version to use for this global database cluster.
#' 
#' Constraints:
#' 
#' -   Can't be specified if `SourceDBClusterIdentifier` is specified. In
#'     this case, Amazon Aurora uses the engine version of the source DB
#'     cluster.
#' @param EngineLifecycleSupport The life cycle type for this global database cluster.
#' 
#' By default, this value is set to `open-source-rds-extended-support`,
#' which enrolls your global cluster into Amazon RDS Extended Support. At
#' the end of standard support, you can avoid charges for Extended Support
#' by setting the value to `open-source-rds-extended-support-disabled`. In
#' this case, creating the global cluster will fail if the DB major version
#' is past its end of standard support date.
#' 
#' This setting only applies to Aurora PostgreSQL-based global databases.
#' 
#' You can use this setting to enroll your global cluster into Amazon RDS
#' Extended Support. With RDS Extended Support, you can run the selected
#' major engine version on your global cluster past the end of standard
#' support for that engine version. For more information, see [Using Amazon
#' RDS Extended
#' Support](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/extended-support.html)
#' in the *Amazon Aurora User Guide*.
#' 
#' Valid Values:
#' `open-source-rds-extended-support | open-source-rds-extended-support-disabled`
#' 
#' Default: `open-source-rds-extended-support`
#' @param DeletionProtection Specifies whether to enable deletion protection for the new global
#' database cluster. The global database can't be deleted when deletion
#' protection is enabled.
#' @param DatabaseName The name for your database of up to 64 alphanumeric characters. If you
#' don't specify a name, Amazon Aurora doesn't create a database in the
#' global database cluster.
#' 
#' Constraints:
#' 
#' -   Can't be specified if `SourceDBClusterIdentifier` is specified. In
#'     this case, Amazon Aurora uses the database name from the source DB
#'     cluster.
#' @param StorageEncrypted Specifies whether to enable storage encryption for the new global
#' database cluster.
#' 
#' Constraints:
#' 
#' -   Can't be specified if `SourceDBClusterIdentifier` is specified. In
#'     this case, Amazon Aurora uses the setting from the source DB
#'     cluster.
#'
#' @keywords internal
#'
#' @rdname rds_create_global_cluster
rds_create_global_cluster <- function(GlobalClusterIdentifier = NULL, SourceDBClusterIdentifier = NULL, Engine = NULL, EngineVersion = NULL, EngineLifecycleSupport = NULL, DeletionProtection = NULL, DatabaseName = NULL, StorageEncrypted = NULL) {
  op <- new_operation(
    name = "CreateGlobalCluster",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$create_global_cluster_input(GlobalClusterIdentifier = GlobalClusterIdentifier, SourceDBClusterIdentifier = SourceDBClusterIdentifier, Engine = Engine, EngineVersion = EngineVersion, EngineLifecycleSupport = EngineLifecycleSupport, DeletionProtection = DeletionProtection, DatabaseName = DatabaseName, StorageEncrypted = StorageEncrypted)
  output <- .rds$create_global_cluster_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$create_global_cluster <- rds_create_global_cluster

#' Creates a zero-ETL integration with Amazon Redshift
#'
#' @description
#' Creates a zero-ETL integration with Amazon Redshift.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_create_integration/](https://www.paws-r-sdk.com/docs/rds_create_integration/) for full documentation.
#'
#' @param SourceArn &#91;required&#93; The Amazon Resource Name (ARN) of the database to use as the source for
#' replication.
#' @param TargetArn &#91;required&#93; The ARN of the Redshift data warehouse to use as the target for
#' replication.
#' @param IntegrationName &#91;required&#93; The name of the integration.
#' @param KMSKeyId The Amazon Web Services Key Management System (Amazon Web Services KMS)
#' key identifier for the key to use to encrypt the integration. If you
#' don't specify an encryption key, RDS uses a default Amazon Web Services
#' owned key.
#' @param AdditionalEncryptionContext An optional set of non-secret key–value pairs that contains additional
#' contextual information about the data. For more information, see
#' [Encryption
#' context](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#encrypt_context)
#' in the *Amazon Web Services Key Management Service Developer Guide*.
#' 
#' You can only include this parameter if you specify the `KMSKeyId`
#' parameter.
#' @param Tags 
#' @param DataFilter Data filtering options for the integration. For more information, see
#' [Data filtering for Aurora zero-ETL integrations with Amazon
#' Redshift](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/zero-etl.filtering.html).
#' 
#' Valid for: Integrations with Aurora MySQL source DB clusters only
#' @param Description A description of the integration.
#'
#' @keywords internal
#'
#' @rdname rds_create_integration
rds_create_integration <- function(SourceArn, TargetArn, IntegrationName, KMSKeyId = NULL, AdditionalEncryptionContext = NULL, Tags = NULL, DataFilter = NULL, Description = NULL) {
  op <- new_operation(
    name = "CreateIntegration",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$create_integration_input(SourceArn = SourceArn, TargetArn = TargetArn, IntegrationName = IntegrationName, KMSKeyId = KMSKeyId, AdditionalEncryptionContext = AdditionalEncryptionContext, Tags = Tags, DataFilter = DataFilter, Description = Description)
  output <- .rds$create_integration_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$create_integration <- rds_create_integration

#' Creates a new option group
#'
#' @description
#' Creates a new option group. You can create up to 20 option groups.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_create_option_group/](https://www.paws-r-sdk.com/docs/rds_create_option_group/) for full documentation.
#'
#' @param OptionGroupName &#91;required&#93; Specifies the name of the option group to be created.
#' 
#' Constraints:
#' 
#' -   Must be 1 to 255 letters, numbers, or hyphens
#' 
#' -   First character must be a letter
#' 
#' -   Can't end with a hyphen or contain two consecutive hyphens
#' 
#' Example: `myoptiongroup`
#' @param EngineName &#91;required&#93; The name of the engine to associate this option group with.
#' 
#' Valid Values:
#' 
#' -   `db2-ae`
#' 
#' -   `db2-se`
#' 
#' -   `mariadb`
#' 
#' -   `mysql`
#' 
#' -   `oracle-ee`
#' 
#' -   `oracle-ee-cdb`
#' 
#' -   `oracle-se2`
#' 
#' -   `oracle-se2-cdb`
#' 
#' -   `postgres`
#' 
#' -   `sqlserver-ee`
#' 
#' -   `sqlserver-se`
#' 
#' -   `sqlserver-ex`
#' 
#' -   `sqlserver-web`
#' @param MajorEngineVersion &#91;required&#93; Specifies the major version of the engine that this option group should
#' be associated with.
#' @param OptionGroupDescription &#91;required&#93; The description of the option group.
#' @param Tags Tags to assign to the option group.
#'
#' @keywords internal
#'
#' @rdname rds_create_option_group
rds_create_option_group <- function(OptionGroupName, EngineName, MajorEngineVersion, OptionGroupDescription, Tags = NULL) {
  op <- new_operation(
    name = "CreateOptionGroup",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$create_option_group_input(OptionGroupName = OptionGroupName, EngineName = EngineName, MajorEngineVersion = MajorEngineVersion, OptionGroupDescription = OptionGroupDescription, Tags = Tags)
  output <- .rds$create_option_group_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$create_option_group <- rds_create_option_group

#' Creates a tenant database in a DB instance that uses the multi-tenant
#' configuration
#'
#' @description
#' Creates a tenant database in a DB instance that uses the multi-tenant configuration. Only RDS for Oracle container database (CDB) instances are supported.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_create_tenant_database/](https://www.paws-r-sdk.com/docs/rds_create_tenant_database/) for full documentation.
#'
#' @param DBInstanceIdentifier &#91;required&#93; The user-supplied DB instance identifier. RDS creates your tenant
#' database in this DB instance. This parameter isn't case-sensitive.
#' @param TenantDBName &#91;required&#93; The user-supplied name of the tenant database that you want to create in
#' your DB instance. This parameter has the same constraints as `DBName` in
#' [`create_db_instance`][rds_create_db_instance].
#' @param MasterUsername &#91;required&#93; The name for the master user account in your tenant database. RDS
#' creates this user account in the tenant database and grants privileges
#' to the master user. This parameter is case-sensitive.
#' 
#' Constraints:
#' 
#' -   Must be 1 to 16 letters, numbers, or underscores.
#' 
#' -   First character must be a letter.
#' 
#' -   Can't be a reserved word for the chosen database engine.
#' @param MasterUserPassword &#91;required&#93; The password for the master user in your tenant database.
#' 
#' Constraints:
#' 
#' -   Must be 8 to 30 characters.
#' 
#' -   Can include any printable ASCII character except forward slash
#'     (`/`), double quote (`\"`), at symbol (`@@`), ampersand (`&`), or
#'     single quote (`\'`).
#' @param CharacterSetName The character set for your tenant database. If you don't specify a
#' value, the character set name defaults to `AL32UTF8`.
#' @param NcharCharacterSetName The `NCHAR` value for the tenant database.
#' @param Tags 
#'
#' @keywords internal
#'
#' @rdname rds_create_tenant_database
rds_create_tenant_database <- function(DBInstanceIdentifier, TenantDBName, MasterUsername, MasterUserPassword, CharacterSetName = NULL, NcharCharacterSetName = NULL, Tags = NULL) {
  op <- new_operation(
    name = "CreateTenantDatabase",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$create_tenant_database_input(DBInstanceIdentifier = DBInstanceIdentifier, TenantDBName = TenantDBName, MasterUsername = MasterUsername, MasterUserPassword = MasterUserPassword, CharacterSetName = CharacterSetName, NcharCharacterSetName = NcharCharacterSetName, Tags = Tags)
  output <- .rds$create_tenant_database_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$create_tenant_database <- rds_create_tenant_database

#' Deletes a blue/green deployment
#'
#' @description
#' Deletes a blue/green deployment.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_delete_blue_green_deployment/](https://www.paws-r-sdk.com/docs/rds_delete_blue_green_deployment/) for full documentation.
#'
#' @param BlueGreenDeploymentIdentifier &#91;required&#93; The unique identifier of the blue/green deployment to delete. This
#' parameter isn't case-sensitive.
#' 
#' Constraints:
#' 
#' -   Must match an existing blue/green deployment identifier.
#' @param DeleteTarget Specifies whether to delete the resources in the green environment. You
#' can't specify this option if the blue/green deployment
#' [status](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_BlueGreenDeployment.html)
#' is `SWITCHOVER_COMPLETED`.
#'
#' @keywords internal
#'
#' @rdname rds_delete_blue_green_deployment
rds_delete_blue_green_deployment <- function(BlueGreenDeploymentIdentifier, DeleteTarget = NULL) {
  op <- new_operation(
    name = "DeleteBlueGreenDeployment",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$delete_blue_green_deployment_input(BlueGreenDeploymentIdentifier = BlueGreenDeploymentIdentifier, DeleteTarget = DeleteTarget)
  output <- .rds$delete_blue_green_deployment_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$delete_blue_green_deployment <- rds_delete_blue_green_deployment

#' Deletes a custom engine version
#'
#' @description
#' Deletes a custom engine version. To run this command, make sure you meet the following prerequisites:
#'
#' See [https://www.paws-r-sdk.com/docs/rds_delete_custom_db_engine_version/](https://www.paws-r-sdk.com/docs/rds_delete_custom_db_engine_version/) for full documentation.
#'
#' @param Engine &#91;required&#93; The database engine. RDS Custom for Oracle supports the following
#' values:
#' 
#' -   `custom-oracle-ee`
#' 
#' -   `custom-oracle-ee-cdb`
#' 
#' -   `custom-oracle-se2`
#' 
#' -   `custom-oracle-se2-cdb`
#' @param EngineVersion &#91;required&#93; The custom engine version (CEV) for your DB instance. This option is
#' required for RDS Custom, but optional for Amazon RDS. The combination of
#' `Engine` and `EngineVersion` is unique per customer per Amazon Web
#' Services Region.
#'
#' @keywords internal
#'
#' @rdname rds_delete_custom_db_engine_version
rds_delete_custom_db_engine_version <- function(Engine, EngineVersion) {
  op <- new_operation(
    name = "DeleteCustomDBEngineVersion",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$delete_custom_db_engine_version_input(Engine = Engine, EngineVersion = EngineVersion)
  output <- .rds$delete_custom_db_engine_version_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$delete_custom_db_engine_version <- rds_delete_custom_db_engine_version

#' The DeleteDBCluster action deletes a previously provisioned DB cluster
#'
#' @description
#' The DeleteDBCluster action deletes a previously provisioned DB cluster. When you delete a DB cluster, all automated backups for that DB cluster are deleted and can't be recovered. Manual DB cluster snapshots of the specified DB cluster are not deleted.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_delete_db_cluster/](https://www.paws-r-sdk.com/docs/rds_delete_db_cluster/) for full documentation.
#'
#' @param DBClusterIdentifier &#91;required&#93; The DB cluster identifier for the DB cluster to be deleted. This
#' parameter isn't case-sensitive.
#' 
#' Constraints:
#' 
#' -   Must match an existing DBClusterIdentifier.
#' @param SkipFinalSnapshot Specifies whether to skip the creation of a final DB cluster snapshot
#' before RDS deletes the DB cluster. If you set this value to `true`, RDS
#' doesn't create a final DB cluster snapshot. If you set this value to
#' `false` or don't specify it, RDS creates a DB cluster snapshot before it
#' deletes the DB cluster. By default, this parameter is disabled, so RDS
#' creates a final DB cluster snapshot.
#' 
#' If `SkipFinalSnapshot` is disabled, you must specify a value for the
#' `FinalDBSnapshotIdentifier` parameter.
#' @param FinalDBSnapshotIdentifier The DB cluster snapshot identifier of the new DB cluster snapshot
#' created when `SkipFinalSnapshot` is disabled.
#' 
#' If you specify this parameter and also skip the creation of a final DB
#' cluster snapshot with the `SkipFinalShapshot` parameter, the request
#' results in an error.
#' 
#' Constraints:
#' 
#' -   Must be 1 to 255 letters, numbers, or hyphens.
#' 
#' -   First character must be a letter
#' 
#' -   Can't end with a hyphen or contain two consecutive hyphens
#' @param DeleteAutomatedBackups Specifies whether to remove automated backups immediately after the DB
#' cluster is deleted. This parameter isn't case-sensitive. The default is
#' to remove automated backups immediately after the DB cluster is deleted.
#'
#' @keywords internal
#'
#' @rdname rds_delete_db_cluster
rds_delete_db_cluster <- function(DBClusterIdentifier, SkipFinalSnapshot = NULL, FinalDBSnapshotIdentifier = NULL, DeleteAutomatedBackups = NULL) {
  op <- new_operation(
    name = "DeleteDBCluster",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$delete_db_cluster_input(DBClusterIdentifier = DBClusterIdentifier, SkipFinalSnapshot = SkipFinalSnapshot, FinalDBSnapshotIdentifier = FinalDBSnapshotIdentifier, DeleteAutomatedBackups = DeleteAutomatedBackups)
  output <- .rds$delete_db_cluster_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$delete_db_cluster <- rds_delete_db_cluster

#' Deletes automated backups using the DbClusterResourceId value of the
#' source DB cluster or the Amazon Resource Name (ARN) of the automated
#' backups
#'
#' @description
#' Deletes automated backups using the `DbClusterResourceId` value of the source DB cluster or the Amazon Resource Name (ARN) of the automated backups.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_delete_db_cluster_automated_backup/](https://www.paws-r-sdk.com/docs/rds_delete_db_cluster_automated_backup/) for full documentation.
#'
#' @param DbClusterResourceId &#91;required&#93; The identifier for the source DB cluster, which can't be changed and
#' which is unique to an Amazon Web Services Region.
#'
#' @keywords internal
#'
#' @rdname rds_delete_db_cluster_automated_backup
rds_delete_db_cluster_automated_backup <- function(DbClusterResourceId) {
  op <- new_operation(
    name = "DeleteDBClusterAutomatedBackup",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$delete_db_cluster_automated_backup_input(DbClusterResourceId = DbClusterResourceId)
  output <- .rds$delete_db_cluster_automated_backup_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$delete_db_cluster_automated_backup <- rds_delete_db_cluster_automated_backup

#' Deletes a custom endpoint and removes it from an Amazon Aurora DB
#' cluster
#'
#' @description
#' Deletes a custom endpoint and removes it from an Amazon Aurora DB cluster.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_delete_db_cluster_endpoint/](https://www.paws-r-sdk.com/docs/rds_delete_db_cluster_endpoint/) for full documentation.
#'
#' @param DBClusterEndpointIdentifier &#91;required&#93; The identifier associated with the custom endpoint. This parameter is
#' stored as a lowercase string.
#'
#' @keywords internal
#'
#' @rdname rds_delete_db_cluster_endpoint
rds_delete_db_cluster_endpoint <- function(DBClusterEndpointIdentifier) {
  op <- new_operation(
    name = "DeleteDBClusterEndpoint",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$delete_db_cluster_endpoint_input(DBClusterEndpointIdentifier = DBClusterEndpointIdentifier)
  output <- .rds$delete_db_cluster_endpoint_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$delete_db_cluster_endpoint <- rds_delete_db_cluster_endpoint

#' Deletes a specified DB cluster parameter group
#'
#' @description
#' Deletes a specified DB cluster parameter group. The DB cluster parameter group to be deleted can't be associated with any DB clusters.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_delete_db_cluster_parameter_group/](https://www.paws-r-sdk.com/docs/rds_delete_db_cluster_parameter_group/) for full documentation.
#'
#' @param DBClusterParameterGroupName &#91;required&#93; The name of the DB cluster parameter group.
#' 
#' Constraints:
#' 
#' -   Must be the name of an existing DB cluster parameter group.
#' 
#' -   You can't delete a default DB cluster parameter group.
#' 
#' -   Can't be associated with any DB clusters.
#'
#' @keywords internal
#'
#' @rdname rds_delete_db_cluster_parameter_group
rds_delete_db_cluster_parameter_group <- function(DBClusterParameterGroupName) {
  op <- new_operation(
    name = "DeleteDBClusterParameterGroup",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$delete_db_cluster_parameter_group_input(DBClusterParameterGroupName = DBClusterParameterGroupName)
  output <- .rds$delete_db_cluster_parameter_group_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$delete_db_cluster_parameter_group <- rds_delete_db_cluster_parameter_group

#' Deletes a DB cluster snapshot
#'
#' @description
#' Deletes a DB cluster snapshot. If the snapshot is being copied, the copy operation is terminated.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_delete_db_cluster_snapshot/](https://www.paws-r-sdk.com/docs/rds_delete_db_cluster_snapshot/) for full documentation.
#'
#' @param DBClusterSnapshotIdentifier &#91;required&#93; The identifier of the DB cluster snapshot to delete.
#' 
#' Constraints: Must be the name of an existing DB cluster snapshot in the
#' `available` state.
#'
#' @keywords internal
#'
#' @rdname rds_delete_db_cluster_snapshot
rds_delete_db_cluster_snapshot <- function(DBClusterSnapshotIdentifier) {
  op <- new_operation(
    name = "DeleteDBClusterSnapshot",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$delete_db_cluster_snapshot_input(DBClusterSnapshotIdentifier = DBClusterSnapshotIdentifier)
  output <- .rds$delete_db_cluster_snapshot_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$delete_db_cluster_snapshot <- rds_delete_db_cluster_snapshot

#' Deletes a previously provisioned DB instance
#'
#' @description
#' Deletes a previously provisioned DB instance. When you delete a DB instance, all automated backups for that instance are deleted and can't be recovered. However, manual DB snapshots of the DB instance aren't deleted.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_delete_db_instance/](https://www.paws-r-sdk.com/docs/rds_delete_db_instance/) for full documentation.
#'
#' @param DBInstanceIdentifier &#91;required&#93; The DB instance identifier for the DB instance to be deleted. This
#' parameter isn't case-sensitive.
#' 
#' Constraints:
#' 
#' -   Must match the name of an existing DB instance.
#' @param SkipFinalSnapshot Specifies whether to skip the creation of a final DB snapshot before
#' deleting the instance. If you enable this parameter, RDS doesn't create
#' a DB snapshot. If you don't enable this parameter, RDS creates a DB
#' snapshot before the DB instance is deleted. By default, skip isn't
#' enabled, and the DB snapshot is created.
#' 
#' If you don't enable this parameter, you must specify the
#' `FinalDBSnapshotIdentifier` parameter.
#' 
#' When a DB instance is in a failure state and has a status of `failed`,
#' `incompatible-restore`, or `incompatible-network`, RDS can delete the
#' instance only if you enable this parameter.
#' 
#' If you delete a read replica or an RDS Custom instance, you must enable
#' this setting.
#' 
#' This setting is required for RDS Custom.
#' @param FinalDBSnapshotIdentifier The `DBSnapshotIdentifier` of the new `DBSnapshot` created when the
#' `SkipFinalSnapshot` parameter is disabled.
#' 
#' If you enable this parameter and also enable SkipFinalShapshot, the
#' command results in an error.
#' 
#' This setting doesn't apply to RDS Custom.
#' 
#' Constraints:
#' 
#' -   Must be 1 to 255 letters or numbers.
#' 
#' -   First character must be a letter.
#' 
#' -   Can't end with a hyphen or contain two consecutive hyphens.
#' 
#' -   Can't be specified when deleting a read replica.
#' @param DeleteAutomatedBackups Specifies whether to remove automated backups immediately after the DB
#' instance is deleted. This parameter isn't case-sensitive. The default is
#' to remove automated backups immediately after the DB instance is
#' deleted.
#'
#' @keywords internal
#'
#' @rdname rds_delete_db_instance
rds_delete_db_instance <- function(DBInstanceIdentifier, SkipFinalSnapshot = NULL, FinalDBSnapshotIdentifier = NULL, DeleteAutomatedBackups = NULL) {
  op <- new_operation(
    name = "DeleteDBInstance",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$delete_db_instance_input(DBInstanceIdentifier = DBInstanceIdentifier, SkipFinalSnapshot = SkipFinalSnapshot, FinalDBSnapshotIdentifier = FinalDBSnapshotIdentifier, DeleteAutomatedBackups = DeleteAutomatedBackups)
  output <- .rds$delete_db_instance_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$delete_db_instance <- rds_delete_db_instance

#' Deletes automated backups using the DbiResourceId value of the source DB
#' instance or the Amazon Resource Name (ARN) of the automated backups
#'
#' @description
#' Deletes automated backups using the `DbiResourceId` value of the source DB instance or the Amazon Resource Name (ARN) of the automated backups.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_delete_db_instance_automated_backup/](https://www.paws-r-sdk.com/docs/rds_delete_db_instance_automated_backup/) for full documentation.
#'
#' @param DbiResourceId The identifier for the source DB instance, which can't be changed and
#' which is unique to an Amazon Web Services Region.
#' @param DBInstanceAutomatedBackupsArn The Amazon Resource Name (ARN) of the automated backups to delete, for
#' example,
#' `arn:aws:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE`.
#' 
#' This setting doesn't apply to RDS Custom.
#'
#' @keywords internal
#'
#' @rdname rds_delete_db_instance_automated_backup
rds_delete_db_instance_automated_backup <- function(DbiResourceId = NULL, DBInstanceAutomatedBackupsArn = NULL) {
  op <- new_operation(
    name = "DeleteDBInstanceAutomatedBackup",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$delete_db_instance_automated_backup_input(DbiResourceId = DbiResourceId, DBInstanceAutomatedBackupsArn = DBInstanceAutomatedBackupsArn)
  output <- .rds$delete_db_instance_automated_backup_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$delete_db_instance_automated_backup <- rds_delete_db_instance_automated_backup

#' Deletes a specified DB parameter group
#'
#' @description
#' Deletes a specified DB parameter group. The DB parameter group to be deleted can't be associated with any DB instances.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_delete_db_parameter_group/](https://www.paws-r-sdk.com/docs/rds_delete_db_parameter_group/) for full documentation.
#'
#' @param DBParameterGroupName &#91;required&#93; The name of the DB parameter group.
#' 
#' Constraints:
#' 
#' -   Must be the name of an existing DB parameter group
#' 
#' -   You can't delete a default DB parameter group
#' 
#' -   Can't be associated with any DB instances
#'
#' @keywords internal
#'
#' @rdname rds_delete_db_parameter_group
rds_delete_db_parameter_group <- function(DBParameterGroupName) {
  op <- new_operation(
    name = "DeleteDBParameterGroup",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$delete_db_parameter_group_input(DBParameterGroupName = DBParameterGroupName)
  output <- .rds$delete_db_parameter_group_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$delete_db_parameter_group <- rds_delete_db_parameter_group

#' Deletes an existing DB proxy
#'
#' @description
#' Deletes an existing DB proxy.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_delete_db_proxy/](https://www.paws-r-sdk.com/docs/rds_delete_db_proxy/) for full documentation.
#'
#' @param DBProxyName &#91;required&#93; The name of the DB proxy to delete.
#'
#' @keywords internal
#'
#' @rdname rds_delete_db_proxy
rds_delete_db_proxy <- function(DBProxyName) {
  op <- new_operation(
    name = "DeleteDBProxy",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$delete_db_proxy_input(DBProxyName = DBProxyName)
  output <- .rds$delete_db_proxy_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$delete_db_proxy <- rds_delete_db_proxy

#' Deletes a DBProxyEndpoint
#'
#' @description
#' Deletes a `DBProxyEndpoint`. Doing so removes the ability to access the DB proxy using the endpoint that you defined. The endpoint that you delete might have provided capabilities such as read/write or read-only operations, or using a different VPC than the DB proxy's default VPC.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_delete_db_proxy_endpoint/](https://www.paws-r-sdk.com/docs/rds_delete_db_proxy_endpoint/) for full documentation.
#'
#' @param DBProxyEndpointName &#91;required&#93; The name of the DB proxy endpoint to delete.
#'
#' @keywords internal
#'
#' @rdname rds_delete_db_proxy_endpoint
rds_delete_db_proxy_endpoint <- function(DBProxyEndpointName) {
  op <- new_operation(
    name = "DeleteDBProxyEndpoint",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$delete_db_proxy_endpoint_input(DBProxyEndpointName = DBProxyEndpointName)
  output <- .rds$delete_db_proxy_endpoint_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$delete_db_proxy_endpoint <- rds_delete_db_proxy_endpoint

#' Deletes a DB security group
#'
#' @description
#' Deletes a DB security group.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_delete_db_security_group/](https://www.paws-r-sdk.com/docs/rds_delete_db_security_group/) for full documentation.
#'
#' @param DBSecurityGroupName &#91;required&#93; The name of the DB security group to delete.
#' 
#' You can't delete the default DB security group.
#' 
#' Constraints:
#' 
#' -   Must be 1 to 255 letters, numbers, or hyphens.
#' 
#' -   First character must be a letter
#' 
#' -   Can't end with a hyphen or contain two consecutive hyphens
#' 
#' -   Must not be "Default"
#'
#' @keywords internal
#'
#' @rdname rds_delete_db_security_group
rds_delete_db_security_group <- function(DBSecurityGroupName) {
  op <- new_operation(
    name = "DeleteDBSecurityGroup",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$delete_db_security_group_input(DBSecurityGroupName = DBSecurityGroupName)
  output <- .rds$delete_db_security_group_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$delete_db_security_group <- rds_delete_db_security_group

#' Deletes an Aurora Limitless Database DB shard group
#'
#' @description
#' Deletes an Aurora Limitless Database DB shard group.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_delete_db_shard_group/](https://www.paws-r-sdk.com/docs/rds_delete_db_shard_group/) for full documentation.
#'
#' @param DBShardGroupIdentifier &#91;required&#93; Teh name of the DB shard group to delete.
#'
#' @keywords internal
#'
#' @rdname rds_delete_db_shard_group
rds_delete_db_shard_group <- function(DBShardGroupIdentifier) {
  op <- new_operation(
    name = "DeleteDBShardGroup",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$delete_db_shard_group_input(DBShardGroupIdentifier = DBShardGroupIdentifier)
  output <- .rds$delete_db_shard_group_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$delete_db_shard_group <- rds_delete_db_shard_group

#' Deletes a DB snapshot
#'
#' @description
#' Deletes a DB snapshot. If the snapshot is being copied, the copy operation is terminated.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_delete_db_snapshot/](https://www.paws-r-sdk.com/docs/rds_delete_db_snapshot/) for full documentation.
#'
#' @param DBSnapshotIdentifier &#91;required&#93; The DB snapshot identifier.
#' 
#' Constraints: Must be the name of an existing DB snapshot in the
#' `available` state.
#'
#' @keywords internal
#'
#' @rdname rds_delete_db_snapshot
rds_delete_db_snapshot <- function(DBSnapshotIdentifier) {
  op <- new_operation(
    name = "DeleteDBSnapshot",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$delete_db_snapshot_input(DBSnapshotIdentifier = DBSnapshotIdentifier)
  output <- .rds$delete_db_snapshot_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$delete_db_snapshot <- rds_delete_db_snapshot

#' Deletes a DB subnet group
#'
#' @description
#' Deletes a DB subnet group.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_delete_db_subnet_group/](https://www.paws-r-sdk.com/docs/rds_delete_db_subnet_group/) for full documentation.
#'
#' @param DBSubnetGroupName &#91;required&#93; The name of the database subnet group to delete.
#' 
#' You can't delete the default subnet group.
#' 
#' Constraints: Must match the name of an existing DBSubnetGroup. Must not
#' be default.
#' 
#' Example: `mydbsubnetgroup`
#'
#' @keywords internal
#'
#' @rdname rds_delete_db_subnet_group
rds_delete_db_subnet_group <- function(DBSubnetGroupName) {
  op <- new_operation(
    name = "DeleteDBSubnetGroup",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$delete_db_subnet_group_input(DBSubnetGroupName = DBSubnetGroupName)
  output <- .rds$delete_db_subnet_group_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$delete_db_subnet_group <- rds_delete_db_subnet_group

#' Deletes an RDS event notification subscription
#'
#' @description
#' Deletes an RDS event notification subscription.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_delete_event_subscription/](https://www.paws-r-sdk.com/docs/rds_delete_event_subscription/) for full documentation.
#'
#' @param SubscriptionName &#91;required&#93; The name of the RDS event notification subscription you want to delete.
#'
#' @keywords internal
#'
#' @rdname rds_delete_event_subscription
rds_delete_event_subscription <- function(SubscriptionName) {
  op <- new_operation(
    name = "DeleteEventSubscription",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$delete_event_subscription_input(SubscriptionName = SubscriptionName)
  output <- .rds$delete_event_subscription_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$delete_event_subscription <- rds_delete_event_subscription

#' Deletes a global database cluster
#'
#' @description
#' Deletes a global database cluster. The primary and secondary clusters must already be detached or destroyed first.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_delete_global_cluster/](https://www.paws-r-sdk.com/docs/rds_delete_global_cluster/) for full documentation.
#'
#' @param GlobalClusterIdentifier &#91;required&#93; The cluster identifier of the global database cluster being deleted.
#'
#' @keywords internal
#'
#' @rdname rds_delete_global_cluster
rds_delete_global_cluster <- function(GlobalClusterIdentifier) {
  op <- new_operation(
    name = "DeleteGlobalCluster",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$delete_global_cluster_input(GlobalClusterIdentifier = GlobalClusterIdentifier)
  output <- .rds$delete_global_cluster_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$delete_global_cluster <- rds_delete_global_cluster

#' Deletes a zero-ETL integration with Amazon Redshift
#'
#' @description
#' Deletes a zero-ETL integration with Amazon Redshift.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_delete_integration/](https://www.paws-r-sdk.com/docs/rds_delete_integration/) for full documentation.
#'
#' @param IntegrationIdentifier &#91;required&#93; The unique identifier of the integration.
#'
#' @keywords internal
#'
#' @rdname rds_delete_integration
rds_delete_integration <- function(IntegrationIdentifier) {
  op <- new_operation(
    name = "DeleteIntegration",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$delete_integration_input(IntegrationIdentifier = IntegrationIdentifier)
  output <- .rds$delete_integration_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$delete_integration <- rds_delete_integration

#' Deletes an existing option group
#'
#' @description
#' Deletes an existing option group.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_delete_option_group/](https://www.paws-r-sdk.com/docs/rds_delete_option_group/) for full documentation.
#'
#' @param OptionGroupName &#91;required&#93; The name of the option group to be deleted.
#' 
#' You can't delete default option groups.
#'
#' @keywords internal
#'
#' @rdname rds_delete_option_group
rds_delete_option_group <- function(OptionGroupName) {
  op <- new_operation(
    name = "DeleteOptionGroup",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$delete_option_group_input(OptionGroupName = OptionGroupName)
  output <- .rds$delete_option_group_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$delete_option_group <- rds_delete_option_group

#' Deletes a tenant database from your DB instance
#'
#' @description
#' Deletes a tenant database from your DB instance. This command only applies to RDS for Oracle container database (CDB) instances.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_delete_tenant_database/](https://www.paws-r-sdk.com/docs/rds_delete_tenant_database/) for full documentation.
#'
#' @param DBInstanceIdentifier &#91;required&#93; The user-supplied identifier for the DB instance that contains the
#' tenant database that you want to delete.
#' @param TenantDBName &#91;required&#93; The user-supplied name of the tenant database that you want to remove
#' from your DB instance. Amazon RDS deletes the tenant database with this
#' name. This parameter isn’t case-sensitive.
#' @param SkipFinalSnapshot Specifies whether to skip the creation of a final DB snapshot before
#' removing the tenant database from your DB instance. If you enable this
#' parameter, RDS doesn't create a DB snapshot. If you don't enable this
#' parameter, RDS creates a DB snapshot before it deletes the tenant
#' database. By default, RDS doesn't skip the final snapshot. If you don't
#' enable this parameter, you must specify the `FinalDBSnapshotIdentifier`
#' parameter.
#' @param FinalDBSnapshotIdentifier The `DBSnapshotIdentifier` of the new `DBSnapshot` created when the
#' `SkipFinalSnapshot` parameter is disabled.
#' 
#' If you enable this parameter and also enable `SkipFinalShapshot`, the
#' command results in an error.
#'
#' @keywords internal
#'
#' @rdname rds_delete_tenant_database
rds_delete_tenant_database <- function(DBInstanceIdentifier, TenantDBName, SkipFinalSnapshot = NULL, FinalDBSnapshotIdentifier = NULL) {
  op <- new_operation(
    name = "DeleteTenantDatabase",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$delete_tenant_database_input(DBInstanceIdentifier = DBInstanceIdentifier, TenantDBName = TenantDBName, SkipFinalSnapshot = SkipFinalSnapshot, FinalDBSnapshotIdentifier = FinalDBSnapshotIdentifier)
  output <- .rds$delete_tenant_database_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$delete_tenant_database <- rds_delete_tenant_database

#' Remove the association between one or more DBProxyTarget data structures
#' and a DBProxyTargetGroup
#'
#' @description
#' Remove the association between one or more `DBProxyTarget` data structures and a `DBProxyTargetGroup`.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_deregister_db_proxy_targets/](https://www.paws-r-sdk.com/docs/rds_deregister_db_proxy_targets/) for full documentation.
#'
#' @param DBProxyName &#91;required&#93; The identifier of the `DBProxy` that is associated with the
#' `DBProxyTargetGroup`.
#' @param TargetGroupName The identifier of the `DBProxyTargetGroup`.
#' @param DBInstanceIdentifiers One or more DB instance identifiers.
#' @param DBClusterIdentifiers One or more DB cluster identifiers.
#'
#' @keywords internal
#'
#' @rdname rds_deregister_db_proxy_targets
rds_deregister_db_proxy_targets <- function(DBProxyName, TargetGroupName = NULL, DBInstanceIdentifiers = NULL, DBClusterIdentifiers = NULL) {
  op <- new_operation(
    name = "DeregisterDBProxyTargets",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$deregister_db_proxy_targets_input(DBProxyName = DBProxyName, TargetGroupName = TargetGroupName, DBInstanceIdentifiers = DBInstanceIdentifiers, DBClusterIdentifiers = DBClusterIdentifiers)
  output <- .rds$deregister_db_proxy_targets_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$deregister_db_proxy_targets <- rds_deregister_db_proxy_targets

#' Lists all of the attributes for a customer account
#'
#' @description
#' Lists all of the attributes for a customer account. The attributes include Amazon RDS quotas for the account, such as the number of DB instances allowed. The description for a quota includes the quota name, current usage toward that quota, and the quota's maximum value.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_describe_account_attributes/](https://www.paws-r-sdk.com/docs/rds_describe_account_attributes/) for full documentation.
#'

#'
#' @keywords internal
#'
#' @rdname rds_describe_account_attributes
rds_describe_account_attributes <- function() {
  op <- new_operation(
    name = "DescribeAccountAttributes",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$describe_account_attributes_input()
  output <- .rds$describe_account_attributes_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$describe_account_attributes <- rds_describe_account_attributes

#' Describes one or more blue/green deployments
#'
#' @description
#' Describes one or more blue/green deployments.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_describe_blue_green_deployments/](https://www.paws-r-sdk.com/docs/rds_describe_blue_green_deployments/) for full documentation.
#'
#' @param BlueGreenDeploymentIdentifier The blue/green deployment identifier. If you specify this parameter, the
#' response only includes information about the specific blue/green
#' deployment. This parameter isn't case-sensitive.
#' 
#' Constraints:
#' 
#' -   Must match an existing blue/green deployment identifier.
#' @param Filters A filter that specifies one or more blue/green deployments to describe.
#' 
#' Valid Values:
#' 
#' -   `blue-green-deployment-identifier` - Accepts system-generated
#'     identifiers for blue/green deployments. The results list only
#'     includes information about the blue/green deployments with the
#'     specified identifiers.
#' 
#' -   `blue-green-deployment-name` - Accepts user-supplied names for
#'     blue/green deployments. The results list only includes information
#'     about the blue/green deployments with the specified names.
#' 
#' -   `source` - Accepts source databases for a blue/green deployment. The
#'     results list only includes information about the blue/green
#'     deployments with the specified source databases.
#' 
#' -   `target` - Accepts target databases for a blue/green deployment. The
#'     results list only includes information about the blue/green
#'     deployments with the specified target databases.
#' @param Marker An optional pagination token provided by a previous
#' [`describe_blue_green_deployments`][rds_describe_blue_green_deployments]
#' request. If you specify this parameter, the response only includes
#' records beyond the marker, up to the value specified by `MaxRecords`.
#' @param MaxRecords The maximum number of records to include in the response. If more
#' records exist than the specified `MaxRecords` value, a pagination token
#' called a marker is included in the response so you can retrieve the
#' remaining results.
#' 
#' Default: 100
#' 
#' Constraints:
#' 
#' -   Must be a minimum of 20.
#' 
#' -   Can't exceed 100.
#'
#' @keywords internal
#'
#' @rdname rds_describe_blue_green_deployments
rds_describe_blue_green_deployments <- function(BlueGreenDeploymentIdentifier = NULL, Filters = NULL, Marker = NULL, MaxRecords = NULL) {
  op <- new_operation(
    name = "DescribeBlueGreenDeployments",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list(input_token = "Marker", limit_key = "MaxRecords", output_token = "Marker", result_key = "BlueGreenDeployments")
  )
  input <- .rds$describe_blue_green_deployments_input(BlueGreenDeploymentIdentifier = BlueGreenDeploymentIdentifier, Filters = Filters, Marker = Marker, MaxRecords = MaxRecords)
  output <- .rds$describe_blue_green_deployments_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$describe_blue_green_deployments <- rds_describe_blue_green_deployments

#' Lists the set of certificate authority (CA) certificates provided by
#' Amazon RDS for this Amazon Web Services account
#'
#' @description
#' Lists the set of certificate authority (CA) certificates provided by Amazon RDS for this Amazon Web Services account.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_describe_certificates/](https://www.paws-r-sdk.com/docs/rds_describe_certificates/) for full documentation.
#'
#' @param CertificateIdentifier The user-supplied certificate identifier. If this parameter is
#' specified, information for only the identified certificate is returned.
#' This parameter isn't case-sensitive.
#' 
#' Constraints:
#' 
#' -   Must match an existing CertificateIdentifier.
#' @param Filters This parameter isn't currently supported.
#' @param MaxRecords The maximum number of records to include in the response. If more
#' records exist than the specified `MaxRecords` value, a pagination token
#' called a marker is included in the response so you can retrieve the
#' remaining results.
#' 
#' Default: 100
#' 
#' Constraints: Minimum 20, maximum 100.
#' @param Marker An optional pagination token provided by a previous
#' [`describe_certificates`][rds_describe_certificates] request. If this
#' parameter is specified, the response includes only records beyond the
#' marker, up to the value specified by `MaxRecords`.
#'
#' @keywords internal
#'
#' @rdname rds_describe_certificates
rds_describe_certificates <- function(CertificateIdentifier = NULL, Filters = NULL, MaxRecords = NULL, Marker = NULL) {
  op <- new_operation(
    name = "DescribeCertificates",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list(input_token = "Marker", limit_key = "MaxRecords", output_token = "Marker", result_key = "Certificates")
  )
  input <- .rds$describe_certificates_input(CertificateIdentifier = CertificateIdentifier, Filters = Filters, MaxRecords = MaxRecords, Marker = Marker)
  output <- .rds$describe_certificates_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$describe_certificates <- rds_describe_certificates

#' Displays backups for both current and deleted DB clusters
#'
#' @description
#' Displays backups for both current and deleted DB clusters. For example, use this operation to find details about automated backups for previously deleted clusters. Current clusters are returned for both the [`describe_db_cluster_automated_backups`][rds_describe_db_cluster_automated_backups] and [`describe_db_clusters`][rds_describe_db_clusters] operations.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_describe_db_cluster_automated_backups/](https://www.paws-r-sdk.com/docs/rds_describe_db_cluster_automated_backups/) for full documentation.
#'
#' @param DbClusterResourceId The resource ID of the DB cluster that is the source of the automated
#' backup. This parameter isn't case-sensitive.
#' @param DBClusterIdentifier (Optional) The user-supplied DB cluster identifier. If this parameter is
#' specified, it must match the identifier of an existing DB cluster. It
#' returns information from the specific DB cluster's automated backup.
#' This parameter isn't case-sensitive.
#' @param Filters A filter that specifies which resources to return based on status.
#' 
#' Supported filters are the following:
#' 
#' -   `status`
#' 
#'     -   `retained` - Automated backups for deleted clusters and after
#'         backup replication is stopped.
#' 
#' -   `db-cluster-id` - Accepts DB cluster identifiers and Amazon Resource
#'     Names (ARNs). The results list includes only information about the
#'     DB cluster automated backups identified by these ARNs.
#' 
#' -   `db-cluster-resource-id` - Accepts DB resource identifiers and
#'     Amazon Resource Names (ARNs). The results list includes only
#'     information about the DB cluster resources identified by these ARNs.
#' 
#' Returns all resources by default. The status for each resource is
#' specified in the response.
#' @param MaxRecords The maximum number of records to include in the response. If more
#' records exist than the specified `MaxRecords` value, a pagination token
#' called a marker is included in the response so that you can retrieve the
#' remaining results.
#' @param Marker The pagination token provided in the previous request. If this parameter
#' is specified the response includes only records beyond the marker, up to
#' `MaxRecords`.
#'
#' @keywords internal
#'
#' @rdname rds_describe_db_cluster_automated_backups
rds_describe_db_cluster_automated_backups <- function(DbClusterResourceId = NULL, DBClusterIdentifier = NULL, Filters = NULL, MaxRecords = NULL, Marker = NULL) {
  op <- new_operation(
    name = "DescribeDBClusterAutomatedBackups",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list(input_token = "Marker", limit_key = "MaxRecords", output_token = "Marker", result_key = "DBClusterAutomatedBackups")
  )
  input <- .rds$describe_db_cluster_automated_backups_input(DbClusterResourceId = DbClusterResourceId, DBClusterIdentifier = DBClusterIdentifier, Filters = Filters, MaxRecords = MaxRecords, Marker = Marker)
  output <- .rds$describe_db_cluster_automated_backups_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$describe_db_cluster_automated_backups <- rds_describe_db_cluster_automated_backups

#' Returns information about backtracks for a DB cluster
#'
#' @description
#' Returns information about backtracks for a DB cluster.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_describe_db_cluster_backtracks/](https://www.paws-r-sdk.com/docs/rds_describe_db_cluster_backtracks/) for full documentation.
#'
#' @param DBClusterIdentifier &#91;required&#93; The DB cluster identifier of the DB cluster to be described. This
#' parameter is stored as a lowercase string.
#' 
#' Constraints:
#' 
#' -   Must contain from 1 to 63 alphanumeric characters or hyphens.
#' 
#' -   First character must be a letter.
#' 
#' -   Can't end with a hyphen or contain two consecutive hyphens.
#' 
#' Example: `my-cluster1`
#' @param BacktrackIdentifier If specified, this value is the backtrack identifier of the backtrack to
#' be described.
#' 
#' Constraints:
#' 
#' -   Must contain a valid universally unique identifier (UUID). For more
#'     information about UUIDs, see [Universally unique
#'     identifier](https://en.wikipedia.org/wiki/Universally_unique_identifier).
#' 
#' Example: `123e4567-e89b-12d3-a456-426655440000`
#' @param Filters A filter that specifies one or more DB clusters to describe. Supported
#' filters include the following:
#' 
#' -   `db-cluster-backtrack-id` - Accepts backtrack identifiers. The
#'     results list includes information about only the backtracks
#'     identified by these identifiers.
#' 
#' -   `db-cluster-backtrack-status` - Accepts any of the following
#'     backtrack status values:
#' 
#'     -   `applying`
#' 
#'     -   `completed`
#' 
#'     -   `failed`
#' 
#'     -   `pending`
#' 
#'     The results list includes information about only the backtracks
#'     identified by these values.
#' @param MaxRecords The maximum number of records to include in the response. If more
#' records exist than the specified `MaxRecords` value, a pagination token
#' called a marker is included in the response so you can retrieve the
#' remaining results.
#' 
#' Default: 100
#' 
#' Constraints: Minimum 20, maximum 100.
#' @param Marker An optional pagination token provided by a previous
#' [`describe_db_cluster_backtracks`][rds_describe_db_cluster_backtracks]
#' request. If this parameter is specified, the response includes only
#' records beyond the marker, up to the value specified by `MaxRecords`.
#'
#' @keywords internal
#'
#' @rdname rds_describe_db_cluster_backtracks
rds_describe_db_cluster_backtracks <- function(DBClusterIdentifier, BacktrackIdentifier = NULL, Filters = NULL, MaxRecords = NULL, Marker = NULL) {
  op <- new_operation(
    name = "DescribeDBClusterBacktracks",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list(input_token = "Marker", limit_key = "MaxRecords", output_token = "Marker", result_key = "DBClusterBacktracks")
  )
  input <- .rds$describe_db_cluster_backtracks_input(DBClusterIdentifier = DBClusterIdentifier, BacktrackIdentifier = BacktrackIdentifier, Filters = Filters, MaxRecords = MaxRecords, Marker = Marker)
  output <- .rds$describe_db_cluster_backtracks_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$describe_db_cluster_backtracks <- rds_describe_db_cluster_backtracks

#' Returns information about endpoints for an Amazon Aurora DB cluster
#'
#' @description
#' Returns information about endpoints for an Amazon Aurora DB cluster.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_describe_db_cluster_endpoints/](https://www.paws-r-sdk.com/docs/rds_describe_db_cluster_endpoints/) for full documentation.
#'
#' @param DBClusterIdentifier The DB cluster identifier of the DB cluster associated with the
#' endpoint. This parameter is stored as a lowercase string.
#' @param DBClusterEndpointIdentifier The identifier of the endpoint to describe. This parameter is stored as
#' a lowercase string.
#' @param Filters A set of name-value pairs that define which endpoints to include in the
#' output. The filters are specified as name-value pairs, in the format
#' `Name=endpoint_type,Values=endpoint_type1,endpoint_type2,...`. `Name`
#' can be one of: `db-cluster-endpoint-type`,
#' `db-cluster-endpoint-custom-type`, `db-cluster-endpoint-id`,
#' `db-cluster-endpoint-status`. `Values` for the
#' ` db-cluster-endpoint-type` filter can be one or more of: `reader`,
#' `writer`, `custom`. `Values` for the `db-cluster-endpoint-custom-type`
#' filter can be one or more of: `reader`, `any`. `Values` for the
#' `db-cluster-endpoint-status` filter can be one or more of: `available`,
#' `creating`, `deleting`, `inactive`, `modifying`.
#' @param MaxRecords The maximum number of records to include in the response. If more
#' records exist than the specified `MaxRecords` value, a pagination token
#' called a marker is included in the response so you can retrieve the
#' remaining results.
#' 
#' Default: 100
#' 
#' Constraints: Minimum 20, maximum 100.
#' @param Marker An optional pagination token provided by a previous
#' [`describe_db_cluster_endpoints`][rds_describe_db_cluster_endpoints]
#' request. If this parameter is specified, the response includes only
#' records beyond the marker, up to the value specified by `MaxRecords`.
#'
#' @keywords internal
#'
#' @rdname rds_describe_db_cluster_endpoints
rds_describe_db_cluster_endpoints <- function(DBClusterIdentifier = NULL, DBClusterEndpointIdentifier = NULL, Filters = NULL, MaxRecords = NULL, Marker = NULL) {
  op <- new_operation(
    name = "DescribeDBClusterEndpoints",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list(input_token = "Marker", limit_key = "MaxRecords", output_token = "Marker", result_key = "DBClusterEndpoints")
  )
  input <- .rds$describe_db_cluster_endpoints_input(DBClusterIdentifier = DBClusterIdentifier, DBClusterEndpointIdentifier = DBClusterEndpointIdentifier, Filters = Filters, MaxRecords = MaxRecords, Marker = Marker)
  output <- .rds$describe_db_cluster_endpoints_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$describe_db_cluster_endpoints <- rds_describe_db_cluster_endpoints

#' Returns a list of DBClusterParameterGroup descriptions
#'
#' @description
#' Returns a list of `DBClusterParameterGroup` descriptions. If a `DBClusterParameterGroupName` parameter is specified, the list will contain only the description of the specified DB cluster parameter group.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_describe_db_cluster_parameter_groups/](https://www.paws-r-sdk.com/docs/rds_describe_db_cluster_parameter_groups/) for full documentation.
#'
#' @param DBClusterParameterGroupName The name of a specific DB cluster parameter group to return details for.
#' 
#' Constraints:
#' 
#' -   If supplied, must match the name of an existing
#'     DBClusterParameterGroup.
#' @param Filters This parameter isn't currently supported.
#' @param MaxRecords The maximum number of records to include in the response. If more
#' records exist than the specified `MaxRecords` value, a pagination token
#' called a marker is included in the response so you can retrieve the
#' remaining results.
#' 
#' Default: 100
#' 
#' Constraints: Minimum 20, maximum 100.
#' @param Marker An optional pagination token provided by a previous
#' [`describe_db_cluster_parameter_groups`][rds_describe_db_cluster_parameter_groups]
#' request. If this parameter is specified, the response includes only
#' records beyond the marker, up to the value specified by `MaxRecords`.
#'
#' @keywords internal
#'
#' @rdname rds_describe_db_cluster_parameter_groups
rds_describe_db_cluster_parameter_groups <- function(DBClusterParameterGroupName = NULL, Filters = NULL, MaxRecords = NULL, Marker = NULL) {
  op <- new_operation(
    name = "DescribeDBClusterParameterGroups",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list(input_token = "Marker", limit_key = "MaxRecords", output_token = "Marker", result_key = "DBClusterParameterGroups")
  )
  input <- .rds$describe_db_cluster_parameter_groups_input(DBClusterParameterGroupName = DBClusterParameterGroupName, Filters = Filters, MaxRecords = MaxRecords, Marker = Marker)
  output <- .rds$describe_db_cluster_parameter_groups_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$describe_db_cluster_parameter_groups <- rds_describe_db_cluster_parameter_groups

#' Returns the detailed parameter list for a particular DB cluster
#' parameter group
#'
#' @description
#' Returns the detailed parameter list for a particular DB cluster parameter group.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_describe_db_cluster_parameters/](https://www.paws-r-sdk.com/docs/rds_describe_db_cluster_parameters/) for full documentation.
#'
#' @param DBClusterParameterGroupName &#91;required&#93; The name of a specific DB cluster parameter group to return parameter
#' details for.
#' 
#' Constraints:
#' 
#' -   If supplied, must match the name of an existing
#'     DBClusterParameterGroup.
#' @param Source A specific source to return parameters for.
#' 
#' Valid Values:
#' 
#' -   `customer`
#' 
#' -   `engine`
#' 
#' -   `service`
#' @param Filters This parameter isn't currently supported.
#' @param MaxRecords The maximum number of records to include in the response. If more
#' records exist than the specified `MaxRecords` value, a pagination token
#' called a marker is included in the response so you can retrieve the
#' remaining results.
#' 
#' Default: 100
#' 
#' Constraints: Minimum 20, maximum 100.
#' @param Marker An optional pagination token provided by a previous
#' [`describe_db_cluster_parameters`][rds_describe_db_cluster_parameters]
#' request. If this parameter is specified, the response includes only
#' records beyond the marker, up to the value specified by `MaxRecords`.
#'
#' @keywords internal
#'
#' @rdname rds_describe_db_cluster_parameters
rds_describe_db_cluster_parameters <- function(DBClusterParameterGroupName, Source = NULL, Filters = NULL, MaxRecords = NULL, Marker = NULL) {
  op <- new_operation(
    name = "DescribeDBClusterParameters",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list(input_token = "Marker", limit_key = "MaxRecords", output_token = "Marker", result_key = "Parameters")
  )
  input <- .rds$describe_db_cluster_parameters_input(DBClusterParameterGroupName = DBClusterParameterGroupName, Source = Source, Filters = Filters, MaxRecords = MaxRecords, Marker = Marker)
  output <- .rds$describe_db_cluster_parameters_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$describe_db_cluster_parameters <- rds_describe_db_cluster_parameters

#' Returns a list of DB cluster snapshot attribute names and values for a
#' manual DB cluster snapshot
#'
#' @description
#' Returns a list of DB cluster snapshot attribute names and values for a manual DB cluster snapshot.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_describe_db_cluster_snapshot_attributes/](https://www.paws-r-sdk.com/docs/rds_describe_db_cluster_snapshot_attributes/) for full documentation.
#'
#' @param DBClusterSnapshotIdentifier &#91;required&#93; The identifier for the DB cluster snapshot to describe the attributes
#' for.
#'
#' @keywords internal
#'
#' @rdname rds_describe_db_cluster_snapshot_attributes
rds_describe_db_cluster_snapshot_attributes <- function(DBClusterSnapshotIdentifier) {
  op <- new_operation(
    name = "DescribeDBClusterSnapshotAttributes",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$describe_db_cluster_snapshot_attributes_input(DBClusterSnapshotIdentifier = DBClusterSnapshotIdentifier)
  output <- .rds$describe_db_cluster_snapshot_attributes_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$describe_db_cluster_snapshot_attributes <- rds_describe_db_cluster_snapshot_attributes

#' Returns information about DB cluster snapshots
#'
#' @description
#' Returns information about DB cluster snapshots. This API action supports pagination.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_describe_db_cluster_snapshots/](https://www.paws-r-sdk.com/docs/rds_describe_db_cluster_snapshots/) for full documentation.
#'
#' @param DBClusterIdentifier The ID of the DB cluster to retrieve the list of DB cluster snapshots
#' for. This parameter can't be used in conjunction with the
#' `DBClusterSnapshotIdentifier` parameter. This parameter isn't
#' case-sensitive.
#' 
#' Constraints:
#' 
#' -   If supplied, must match the identifier of an existing DBCluster.
#' @param DBClusterSnapshotIdentifier A specific DB cluster snapshot identifier to describe. This parameter
#' can't be used in conjunction with the `DBClusterIdentifier` parameter.
#' This value is stored as a lowercase string.
#' 
#' Constraints:
#' 
#' -   If supplied, must match the identifier of an existing
#'     DBClusterSnapshot.
#' 
#' -   If this identifier is for an automated snapshot, the `SnapshotType`
#'     parameter must also be specified.
#' @param SnapshotType The type of DB cluster snapshots to be returned. You can specify one of
#' the following values:
#' 
#' -   `automated` - Return all DB cluster snapshots that have been
#'     automatically taken by Amazon RDS for my Amazon Web Services
#'     account.
#' 
#' -   `manual` - Return all DB cluster snapshots that have been taken by
#'     my Amazon Web Services account.
#' 
#' -   `shared` - Return all manual DB cluster snapshots that have been
#'     shared to my Amazon Web Services account.
#' 
#' -   `public` - Return all DB cluster snapshots that have been marked as
#'     public.
#' 
#' If you don't specify a `SnapshotType` value, then both automated and
#' manual DB cluster snapshots are returned. You can include shared DB
#' cluster snapshots with these results by enabling the `IncludeShared`
#' parameter. You can include public DB cluster snapshots with these
#' results by enabling the `IncludePublic` parameter.
#' 
#' The `IncludeShared` and `IncludePublic` parameters don't apply for
#' `SnapshotType` values of `manual` or `automated`. The `IncludePublic`
#' parameter doesn't apply when `SnapshotType` is set to `shared`. The
#' `IncludeShared` parameter doesn't apply when `SnapshotType` is set to
#' `public`.
#' @param Filters A filter that specifies one or more DB cluster snapshots to describe.
#' 
#' Supported filters:
#' 
#' -   `db-cluster-id` - Accepts DB cluster identifiers and DB cluster
#'     Amazon Resource Names (ARNs).
#' 
#' -   `db-cluster-snapshot-id` - Accepts DB cluster snapshot identifiers.
#' 
#' -   `snapshot-type` - Accepts types of DB cluster snapshots.
#' 
#' -   `engine` - Accepts names of database engines.
#' @param MaxRecords The maximum number of records to include in the response. If more
#' records exist than the specified `MaxRecords` value, a pagination token
#' called a marker is included in the response so you can retrieve the
#' remaining results.
#' 
#' Default: 100
#' 
#' Constraints: Minimum 20, maximum 100.
#' @param Marker An optional pagination token provided by a previous
#' [`describe_db_cluster_snapshots`][rds_describe_db_cluster_snapshots]
#' request. If this parameter is specified, the response includes only
#' records beyond the marker, up to the value specified by `MaxRecords`.
#' @param IncludeShared Specifies whether to include shared manual DB cluster snapshots from
#' other Amazon Web Services accounts that this Amazon Web Services account
#' has been given permission to copy or restore. By default, these
#' snapshots are not included.
#' 
#' You can give an Amazon Web Services account permission to restore a
#' manual DB cluster snapshot from another Amazon Web Services account by
#' the
#' [`modify_db_cluster_snapshot_attribute`][rds_modify_db_cluster_snapshot_attribute]
#' API action.
#' @param IncludePublic Specifies whether to include manual DB cluster snapshots that are public
#' and can be copied or restored by any Amazon Web Services account. By
#' default, the public snapshots are not included.
#' 
#' You can share a manual DB cluster snapshot as public by using the
#' [`modify_db_cluster_snapshot_attribute`][rds_modify_db_cluster_snapshot_attribute]
#' API action.
#' @param DbClusterResourceId A specific DB cluster resource ID to describe.
#'
#' @keywords internal
#'
#' @rdname rds_describe_db_cluster_snapshots
rds_describe_db_cluster_snapshots <- function(DBClusterIdentifier = NULL, DBClusterSnapshotIdentifier = NULL, SnapshotType = NULL, Filters = NULL, MaxRecords = NULL, Marker = NULL, IncludeShared = NULL, IncludePublic = NULL, DbClusterResourceId = NULL) {
  op <- new_operation(
    name = "DescribeDBClusterSnapshots",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list(input_token = "Marker", limit_key = "MaxRecords", output_token = "Marker", result_key = "DBClusterSnapshots")
  )
  input <- .rds$describe_db_cluster_snapshots_input(DBClusterIdentifier = DBClusterIdentifier, DBClusterSnapshotIdentifier = DBClusterSnapshotIdentifier, SnapshotType = SnapshotType, Filters = Filters, MaxRecords = MaxRecords, Marker = Marker, IncludeShared = IncludeShared, IncludePublic = IncludePublic, DbClusterResourceId = DbClusterResourceId)
  output <- .rds$describe_db_cluster_snapshots_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$describe_db_cluster_snapshots <- rds_describe_db_cluster_snapshots

#' Describes existing Amazon Aurora DB clusters and Multi-AZ DB clusters
#'
#' @description
#' Describes existing Amazon Aurora DB clusters and Multi-AZ DB clusters. This API supports pagination.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_describe_db_clusters/](https://www.paws-r-sdk.com/docs/rds_describe_db_clusters/) for full documentation.
#'
#' @param DBClusterIdentifier The user-supplied DB cluster identifier or the Amazon Resource Name
#' (ARN) of the DB cluster. If this parameter is specified, information for
#' only the specific DB cluster is returned. This parameter isn't
#' case-sensitive.
#' 
#' Constraints:
#' 
#' -   If supplied, must match an existing DB cluster identifier.
#' @param Filters A filter that specifies one or more DB clusters to describe.
#' 
#' Supported Filters:
#' 
#' -   `clone-group-id` - Accepts clone group identifiers. The results list
#'     only includes information about the DB clusters associated with
#'     these clone groups.
#' 
#' -   `db-cluster-id` - Accepts DB cluster identifiers and DB cluster
#'     Amazon Resource Names (ARNs). The results list only includes
#'     information about the DB clusters identified by these ARNs.
#' 
#' -   `db-cluster-resource-id` - Accepts DB cluster resource identifiers.
#'     The results list will only include information about the DB clusters
#'     identified by these DB cluster resource identifiers.
#' 
#' -   `domain` - Accepts Active Directory directory IDs. The results list
#'     only includes information about the DB clusters associated with
#'     these domains.
#' 
#' -   `engine` - Accepts engine names. The results list only includes
#'     information about the DB clusters for these engines.
#' @param MaxRecords The maximum number of records to include in the response. If more
#' records exist than the specified `MaxRecords` value, a pagination token
#' called a marker is included in the response so you can retrieve the
#' remaining results.
#' 
#' Default: 100
#' 
#' Constraints: Minimum 20, maximum 100
#' @param Marker An optional pagination token provided by a previous
#' [`describe_db_clusters`][rds_describe_db_clusters] request. If this
#' parameter is specified, the response includes only records beyond the
#' marker, up to the value specified by `MaxRecords`.
#' @param IncludeShared Specifies whether the output includes information about clusters shared
#' from other Amazon Web Services accounts.
#'
#' @keywords internal
#'
#' @rdname rds_describe_db_clusters
rds_describe_db_clusters <- function(DBClusterIdentifier = NULL, Filters = NULL, MaxRecords = NULL, Marker = NULL, IncludeShared = NULL) {
  op <- new_operation(
    name = "DescribeDBClusters",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list(input_token = "Marker", limit_key = "MaxRecords", output_token = "Marker", result_key = "DBClusters")
  )
  input <- .rds$describe_db_clusters_input(DBClusterIdentifier = DBClusterIdentifier, Filters = Filters, MaxRecords = MaxRecords, Marker = Marker, IncludeShared = IncludeShared)
  output <- .rds$describe_db_clusters_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$describe_db_clusters <- rds_describe_db_clusters

#' Describes the properties of specific versions of DB engines
#'
#' @description
#' Describes the properties of specific versions of DB engines.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_describe_db_engine_versions/](https://www.paws-r-sdk.com/docs/rds_describe_db_engine_versions/) for full documentation.
#'
#' @param Engine The database engine to return version details for.
#' 
#' Valid Values:
#' 
#' -   `aurora-mysql`
#' 
#' -   `aurora-postgresql`
#' 
#' -   `custom-oracle-ee`
#' 
#' -   `custom-oracle-ee-cdb`
#' 
#' -   `custom-oracle-se2`
#' 
#' -   `custom-oracle-se2-cdb`
#' 
#' -   `db2-ae`
#' 
#' -   `db2-se`
#' 
#' -   `mariadb`
#' 
#' -   `mysql`
#' 
#' -   `oracle-ee`
#' 
#' -   `oracle-ee-cdb`
#' 
#' -   `oracle-se2`
#' 
#' -   `oracle-se2-cdb`
#' 
#' -   `postgres`
#' 
#' -   `sqlserver-ee`
#' 
#' -   `sqlserver-se`
#' 
#' -   `sqlserver-ex`
#' 
#' -   `sqlserver-web`
#' @param EngineVersion A specific database engine version to return details for.
#' 
#' Example: `5.1.49`
#' @param DBParameterGroupFamily The name of a specific DB parameter group family to return details for.
#' 
#' Constraints:
#' 
#' -   If supplied, must match an existing DB parameter group family.
#' @param Filters A filter that specifies one or more DB engine versions to describe.
#' 
#' Supported filters:
#' 
#' -   `db-parameter-group-family` - Accepts parameter groups family names.
#'     The results list only includes information about the DB engine
#'     versions for these parameter group families.
#' 
#' -   `engine` - Accepts engine names. The results list only includes
#'     information about the DB engine versions for these engines.
#' 
#' -   `engine-mode` - Accepts DB engine modes. The results list only
#'     includes information about the DB engine versions for these engine
#'     modes. Valid DB engine modes are the following:
#' 
#'     -   `global`
#' 
#'     -   `multimaster`
#' 
#'     -   `parallelquery`
#' 
#'     -   `provisioned`
#' 
#'     -   `serverless`
#' 
#' -   `engine-version` - Accepts engine versions. The results list only
#'     includes information about the DB engine versions for these engine
#'     versions.
#' 
#' -   `status` - Accepts engine version statuses. The results list only
#'     includes information about the DB engine versions for these
#'     statuses. Valid statuses are the following:
#' 
#'     -   `available`
#' 
#'     -   `deprecated`
#' @param MaxRecords The maximum number of records to include in the response. If more than
#' the `MaxRecords` value is available, a pagination token called a marker
#' is included in the response so you can retrieve the remaining results.
#' 
#' Default: 100
#' 
#' Constraints: Minimum 20, maximum 100.
#' @param Marker An optional pagination token provided by a previous request. If this
#' parameter is specified, the response includes only records beyond the
#' marker, up to the value specified by `MaxRecords`.
#' @param DefaultOnly Specifies whether to return only the default version of the specified
#' engine or the engine and major version combination.
#' @param ListSupportedCharacterSets Specifies whether to list the supported character sets for each engine
#' version.
#' 
#' If this parameter is enabled and the requested engine supports the
#' `CharacterSetName` parameter for
#' [`create_db_instance`][rds_create_db_instance], the response includes a
#' list of supported character sets for each engine version.
#' 
#' For RDS Custom, the default is not to list supported character sets. If
#' you enable this parameter, RDS Custom returns no results.
#' @param ListSupportedTimezones Specifies whether to list the supported time zones for each engine
#' version.
#' 
#' If this parameter is enabled and the requested engine supports the
#' `TimeZone` parameter for [`create_db_instance`][rds_create_db_instance],
#' the response includes a list of supported time zones for each engine
#' version.
#' 
#' For RDS Custom, the default is not to list supported time zones. If you
#' enable this parameter, RDS Custom returns no results.
#' @param IncludeAll Specifies whether to also list the engine versions that aren't
#' available. The default is to list only available engine versions.
#'
#' @keywords internal
#'
#' @rdname rds_describe_db_engine_versions
rds_describe_db_engine_versions <- function(Engine = NULL, EngineVersion = NULL, DBParameterGroupFamily = NULL, Filters = NULL, MaxRecords = NULL, Marker = NULL, DefaultOnly = NULL, ListSupportedCharacterSets = NULL, ListSupportedTimezones = NULL, IncludeAll = NULL) {
  op <- new_operation(
    name = "DescribeDBEngineVersions",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list(input_token = "Marker", limit_key = "MaxRecords", output_token = "Marker", result_key = "DBEngineVersions")
  )
  input <- .rds$describe_db_engine_versions_input(Engine = Engine, EngineVersion = EngineVersion, DBParameterGroupFamily = DBParameterGroupFamily, Filters = Filters, MaxRecords = MaxRecords, Marker = Marker, DefaultOnly = DefaultOnly, ListSupportedCharacterSets = ListSupportedCharacterSets, ListSupportedTimezones = ListSupportedTimezones, IncludeAll = IncludeAll)
  output <- .rds$describe_db_engine_versions_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$describe_db_engine_versions <- rds_describe_db_engine_versions

#' Displays backups for both current and deleted instances
#'
#' @description
#' Displays backups for both current and deleted instances. For example, use this operation to find details about automated backups for previously deleted instances. Current instances with retention periods greater than zero (0) are returned for both the [`describe_db_instance_automated_backups`][rds_describe_db_instance_automated_backups] and [`describe_db_instances`][rds_describe_db_instances] operations.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_describe_db_instance_automated_backups/](https://www.paws-r-sdk.com/docs/rds_describe_db_instance_automated_backups/) for full documentation.
#'
#' @param DbiResourceId The resource ID of the DB instance that is the source of the automated
#' backup. This parameter isn't case-sensitive.
#' @param DBInstanceIdentifier (Optional) The user-supplied instance identifier. If this parameter is
#' specified, it must match the identifier of an existing DB instance. It
#' returns information from the specific DB instance's automated backup.
#' This parameter isn't case-sensitive.
#' @param Filters A filter that specifies which resources to return based on status.
#' 
#' Supported filters are the following:
#' 
#' -   `status`
#' 
#'     -   `active` - Automated backups for current instances.
#' 
#'     -   `creating` - Automated backups that are waiting for the first
#'         automated snapshot to be available.
#' 
#'     -   `retained` - Automated backups for deleted instances and after
#'         backup replication is stopped.
#' 
#' -   `db-instance-id` - Accepts DB instance identifiers and Amazon
#'     Resource Names (ARNs). The results list includes only information
#'     about the DB instance automated backups identified by these ARNs.
#' 
#' -   `dbi-resource-id` - Accepts DB resource identifiers and Amazon
#'     Resource Names (ARNs). The results list includes only information
#'     about the DB instance resources identified by these ARNs.
#' 
#' Returns all resources by default. The status for each resource is
#' specified in the response.
#' @param MaxRecords The maximum number of records to include in the response. If more
#' records exist than the specified `MaxRecords` value, a pagination token
#' called a marker is included in the response so that you can retrieve the
#' remaining results.
#' @param Marker The pagination token provided in the previous request. If this parameter
#' is specified the response includes only records beyond the marker, up to
#' `MaxRecords`.
#' @param DBInstanceAutomatedBackupsArn The Amazon Resource Name (ARN) of the replicated automated backups, for
#' example,
#' `arn:aws:rds:us-east-1:123456789012:auto-backup:ab-L2IJCEXJP7XQ7HOJ4SIEXAMPLE`.
#' 
#' This setting doesn't apply to RDS Custom.
#'
#' @keywords internal
#'
#' @rdname rds_describe_db_instance_automated_backups
rds_describe_db_instance_automated_backups <- function(DbiResourceId = NULL, DBInstanceIdentifier = NULL, Filters = NULL, MaxRecords = NULL, Marker = NULL, DBInstanceAutomatedBackupsArn = NULL) {
  op <- new_operation(
    name = "DescribeDBInstanceAutomatedBackups",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list(input_token = "Marker", limit_key = "MaxRecords", output_token = "Marker", result_key = "DBInstanceAutomatedBackups")
  )
  input <- .rds$describe_db_instance_automated_backups_input(DbiResourceId = DbiResourceId, DBInstanceIdentifier = DBInstanceIdentifier, Filters = Filters, MaxRecords = MaxRecords, Marker = Marker, DBInstanceAutomatedBackupsArn = DBInstanceAutomatedBackupsArn)
  output <- .rds$describe_db_instance_automated_backups_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$describe_db_instance_automated_backups <- rds_describe_db_instance_automated_backups

#' Describes provisioned RDS instances
#'
#' @description
#' Describes provisioned RDS instances. This API supports pagination.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_describe_db_instances/](https://www.paws-r-sdk.com/docs/rds_describe_db_instances/) for full documentation.
#'
#' @param DBInstanceIdentifier The user-supplied instance identifier or the Amazon Resource Name (ARN)
#' of the DB instance. If this parameter is specified, information from
#' only the specific DB instance is returned. This parameter isn't
#' case-sensitive.
#' 
#' Constraints:
#' 
#' -   If supplied, must match the identifier of an existing DB instance.
#' @param Filters A filter that specifies one or more DB instances to describe.
#' 
#' Supported Filters:
#' 
#' -   `db-cluster-id` - Accepts DB cluster identifiers and DB cluster
#'     Amazon Resource Names (ARNs). The results list only includes
#'     information about the DB instances associated with the DB clusters
#'     identified by these ARNs.
#' 
#' -   `db-instance-id` - Accepts DB instance identifiers and DB instance
#'     Amazon Resource Names (ARNs). The results list only includes
#'     information about the DB instances identified by these ARNs.
#' 
#' -   `dbi-resource-id` - Accepts DB instance resource identifiers. The
#'     results list only includes information about the DB instances
#'     identified by these DB instance resource identifiers.
#' 
#' -   `domain` - Accepts Active Directory directory IDs. The results list
#'     only includes information about the DB instances associated with
#'     these domains.
#' 
#' -   `engine` - Accepts engine names. The results list only includes
#'     information about the DB instances for these engines.
#' @param MaxRecords The maximum number of records to include in the response. If more
#' records exist than the specified `MaxRecords` value, a pagination token
#' called a marker is included in the response so that you can retrieve the
#' remaining results.
#' 
#' Default: 100
#' 
#' Constraints: Minimum 20, maximum 100.
#' @param Marker An optional pagination token provided by a previous
#' [`describe_db_instances`][rds_describe_db_instances] request. If this
#' parameter is specified, the response includes only records beyond the
#' marker, up to the value specified by `MaxRecords`.
#'
#' @keywords internal
#'
#' @rdname rds_describe_db_instances
rds_describe_db_instances <- function(DBInstanceIdentifier = NULL, Filters = NULL, MaxRecords = NULL, Marker = NULL) {
  op <- new_operation(
    name = "DescribeDBInstances",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list(input_token = "Marker", limit_key = "MaxRecords", output_token = "Marker", result_key = "DBInstances")
  )
  input <- .rds$describe_db_instances_input(DBInstanceIdentifier = DBInstanceIdentifier, Filters = Filters, MaxRecords = MaxRecords, Marker = Marker)
  output <- .rds$describe_db_instances_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$describe_db_instances <- rds_describe_db_instances

#' Returns a list of DB log files for the DB instance
#'
#' @description
#' Returns a list of DB log files for the DB instance.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_describe_db_log_files/](https://www.paws-r-sdk.com/docs/rds_describe_db_log_files/) for full documentation.
#'
#' @param DBInstanceIdentifier &#91;required&#93; The customer-assigned name of the DB instance that contains the log
#' files you want to list.
#' 
#' Constraints:
#' 
#' -   Must match the identifier of an existing DBInstance.
#' @param FilenameContains Filters the available log files for log file names that contain the
#' specified string.
#' @param FileLastWritten Filters the available log files for files written since the specified
#' date, in POSIX timestamp format with milliseconds.
#' @param FileSize Filters the available log files for files larger than the specified
#' size.
#' @param Filters This parameter isn't currently supported.
#' @param MaxRecords The maximum number of records to include in the response. If more
#' records exist than the specified MaxRecords value, a pagination token
#' called a marker is included in the response so you can retrieve the
#' remaining results.
#' @param Marker The pagination token provided in the previous request. If this parameter
#' is specified the response includes only records beyond the marker, up to
#' MaxRecords.
#'
#' @keywords internal
#'
#' @rdname rds_describe_db_log_files
rds_describe_db_log_files <- function(DBInstanceIdentifier, FilenameContains = NULL, FileLastWritten = NULL, FileSize = NULL, Filters = NULL, MaxRecords = NULL, Marker = NULL) {
  op <- new_operation(
    name = "DescribeDBLogFiles",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list(input_token = "Marker", limit_key = "MaxRecords", output_token = "Marker", result_key = "DescribeDBLogFiles")
  )
  input <- .rds$describe_db_log_files_input(DBInstanceIdentifier = DBInstanceIdentifier, FilenameContains = FilenameContains, FileLastWritten = FileLastWritten, FileSize = FileSize, Filters = Filters, MaxRecords = MaxRecords, Marker = Marker)
  output <- .rds$describe_db_log_files_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$describe_db_log_files <- rds_describe_db_log_files

#' Returns a list of DBParameterGroup descriptions
#'
#' @description
#' Returns a list of `DBParameterGroup` descriptions. If a `DBParameterGroupName` is specified, the list will contain only the description of the specified DB parameter group.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_describe_db_parameter_groups/](https://www.paws-r-sdk.com/docs/rds_describe_db_parameter_groups/) for full documentation.
#'
#' @param DBParameterGroupName The name of a specific DB parameter group to return details for.
#' 
#' Constraints:
#' 
#' -   If supplied, must match the name of an existing
#'     DBClusterParameterGroup.
#' @param Filters This parameter isn't currently supported.
#' @param MaxRecords The maximum number of records to include in the response. If more
#' records exist than the specified `MaxRecords` value, a pagination token
#' called a marker is included in the response so that you can retrieve the
#' remaining results.
#' 
#' Default: 100
#' 
#' Constraints: Minimum 20, maximum 100.
#' @param Marker An optional pagination token provided by a previous
#' [`describe_db_parameter_groups`][rds_describe_db_parameter_groups]
#' request. If this parameter is specified, the response includes only
#' records beyond the marker, up to the value specified by `MaxRecords`.
#'
#' @keywords internal
#'
#' @rdname rds_describe_db_parameter_groups
rds_describe_db_parameter_groups <- function(DBParameterGroupName = NULL, Filters = NULL, MaxRecords = NULL, Marker = NULL) {
  op <- new_operation(
    name = "DescribeDBParameterGroups",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list(input_token = "Marker", limit_key = "MaxRecords", output_token = "Marker", result_key = "DBParameterGroups")
  )
  input <- .rds$describe_db_parameter_groups_input(DBParameterGroupName = DBParameterGroupName, Filters = Filters, MaxRecords = MaxRecords, Marker = Marker)
  output <- .rds$describe_db_parameter_groups_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$describe_db_parameter_groups <- rds_describe_db_parameter_groups

#' Returns the detailed parameter list for a particular DB parameter group
#'
#' @description
#' Returns the detailed parameter list for a particular DB parameter group.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_describe_db_parameters/](https://www.paws-r-sdk.com/docs/rds_describe_db_parameters/) for full documentation.
#'
#' @param DBParameterGroupName &#91;required&#93; The name of a specific DB parameter group to return details for.
#' 
#' Constraints:
#' 
#' -   If supplied, must match the name of an existing DBParameterGroup.
#' @param Source The parameter types to return.
#' 
#' Default: All parameter types returned
#' 
#' Valid Values: `user | system | engine-default`
#' @param Filters This parameter isn't currently supported.
#' @param MaxRecords The maximum number of records to include in the response. If more
#' records exist than the specified `MaxRecords` value, a pagination token
#' called a marker is included in the response so that you can retrieve the
#' remaining results.
#' 
#' Default: 100
#' 
#' Constraints: Minimum 20, maximum 100.
#' @param Marker An optional pagination token provided by a previous
#' [`describe_db_parameters`][rds_describe_db_parameters] request. If this
#' parameter is specified, the response includes only records beyond the
#' marker, up to the value specified by `MaxRecords`.
#'
#' @keywords internal
#'
#' @rdname rds_describe_db_parameters
rds_describe_db_parameters <- function(DBParameterGroupName, Source = NULL, Filters = NULL, MaxRecords = NULL, Marker = NULL) {
  op <- new_operation(
    name = "DescribeDBParameters",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list(input_token = "Marker", limit_key = "MaxRecords", output_token = "Marker", result_key = "Parameters")
  )
  input <- .rds$describe_db_parameters_input(DBParameterGroupName = DBParameterGroupName, Source = Source, Filters = Filters, MaxRecords = MaxRecords, Marker = Marker)
  output <- .rds$describe_db_parameters_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$describe_db_parameters <- rds_describe_db_parameters

#' Returns information about DB proxies
#'
#' @description
#' Returns information about DB proxies.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_describe_db_proxies/](https://www.paws-r-sdk.com/docs/rds_describe_db_proxies/) for full documentation.
#'
#' @param DBProxyName The name of the DB proxy. If you omit this parameter, the output
#' includes information about all DB proxies owned by your Amazon Web
#' Services account ID.
#' @param Filters This parameter is not currently supported.
#' @param Marker An optional pagination token provided by a previous request. If this
#' parameter is specified, the response includes only records beyond the
#' marker, up to the value specified by `MaxRecords`.
#' @param MaxRecords The maximum number of records to include in the response. If more
#' records exist than the specified `MaxRecords` value, a pagination token
#' called a marker is included in the response so that the remaining
#' results can be retrieved.
#' 
#' Default: 100
#' 
#' Constraints: Minimum 20, maximum 100.
#'
#' @keywords internal
#'
#' @rdname rds_describe_db_proxies
rds_describe_db_proxies <- function(DBProxyName = NULL, Filters = NULL, Marker = NULL, MaxRecords = NULL) {
  op <- new_operation(
    name = "DescribeDBProxies",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list(input_token = "Marker", limit_key = "MaxRecords", output_token = "Marker", result_key = "DBProxies")
  )
  input <- .rds$describe_db_proxies_input(DBProxyName = DBProxyName, Filters = Filters, Marker = Marker, MaxRecords = MaxRecords)
  output <- .rds$describe_db_proxies_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$describe_db_proxies <- rds_describe_db_proxies

#' Returns information about DB proxy endpoints
#'
#' @description
#' Returns information about DB proxy endpoints.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_describe_db_proxy_endpoints/](https://www.paws-r-sdk.com/docs/rds_describe_db_proxy_endpoints/) for full documentation.
#'
#' @param DBProxyName The name of the DB proxy whose endpoints you want to describe. If you
#' omit this parameter, the output includes information about all DB proxy
#' endpoints associated with all your DB proxies.
#' @param DBProxyEndpointName The name of a DB proxy endpoint to describe. If you omit this parameter,
#' the output includes information about all DB proxy endpoints associated
#' with the specified proxy.
#' @param Filters This parameter is not currently supported.
#' @param Marker An optional pagination token provided by a previous request. If this
#' parameter is specified, the response includes only records beyond the
#' marker, up to the value specified by `MaxRecords`.
#' @param MaxRecords The maximum number of records to include in the response. If more
#' records exist than the specified `MaxRecords` value, a pagination token
#' called a marker is included in the response so that the remaining
#' results can be retrieved.
#' 
#' Default: 100
#' 
#' Constraints: Minimum 20, maximum 100.
#'
#' @keywords internal
#'
#' @rdname rds_describe_db_proxy_endpoints
rds_describe_db_proxy_endpoints <- function(DBProxyName = NULL, DBProxyEndpointName = NULL, Filters = NULL, Marker = NULL, MaxRecords = NULL) {
  op <- new_operation(
    name = "DescribeDBProxyEndpoints",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list(input_token = "Marker", limit_key = "MaxRecords", output_token = "Marker", result_key = "DBProxyEndpoints")
  )
  input <- .rds$describe_db_proxy_endpoints_input(DBProxyName = DBProxyName, DBProxyEndpointName = DBProxyEndpointName, Filters = Filters, Marker = Marker, MaxRecords = MaxRecords)
  output <- .rds$describe_db_proxy_endpoints_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$describe_db_proxy_endpoints <- rds_describe_db_proxy_endpoints

#' Returns information about DB proxy target groups, represented by
#' DBProxyTargetGroup data structures
#'
#' @description
#' Returns information about DB proxy target groups, represented by `DBProxyTargetGroup` data structures.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_describe_db_proxy_target_groups/](https://www.paws-r-sdk.com/docs/rds_describe_db_proxy_target_groups/) for full documentation.
#'
#' @param DBProxyName &#91;required&#93; The identifier of the `DBProxy` associated with the target group.
#' @param TargetGroupName The identifier of the `DBProxyTargetGroup` to describe.
#' @param Filters This parameter is not currently supported.
#' @param Marker An optional pagination token provided by a previous request. If this
#' parameter is specified, the response includes only records beyond the
#' marker, up to the value specified by `MaxRecords`.
#' @param MaxRecords The maximum number of records to include in the response. If more
#' records exist than the specified `MaxRecords` value, a pagination token
#' called a marker is included in the response so that the remaining
#' results can be retrieved.
#' 
#' Default: 100
#' 
#' Constraints: Minimum 20, maximum 100.
#'
#' @keywords internal
#'
#' @rdname rds_describe_db_proxy_target_groups
rds_describe_db_proxy_target_groups <- function(DBProxyName, TargetGroupName = NULL, Filters = NULL, Marker = NULL, MaxRecords = NULL) {
  op <- new_operation(
    name = "DescribeDBProxyTargetGroups",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list(input_token = "Marker", limit_key = "MaxRecords", output_token = "Marker", result_key = "TargetGroups")
  )
  input <- .rds$describe_db_proxy_target_groups_input(DBProxyName = DBProxyName, TargetGroupName = TargetGroupName, Filters = Filters, Marker = Marker, MaxRecords = MaxRecords)
  output <- .rds$describe_db_proxy_target_groups_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$describe_db_proxy_target_groups <- rds_describe_db_proxy_target_groups

#' Returns information about DBProxyTarget objects
#'
#' @description
#' Returns information about `DBProxyTarget` objects. This API supports pagination.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_describe_db_proxy_targets/](https://www.paws-r-sdk.com/docs/rds_describe_db_proxy_targets/) for full documentation.
#'
#' @param DBProxyName &#91;required&#93; The identifier of the `DBProxyTarget` to describe.
#' @param TargetGroupName The identifier of the `DBProxyTargetGroup` to describe.
#' @param Filters This parameter is not currently supported.
#' @param Marker An optional pagination token provided by a previous request. If this
#' parameter is specified, the response includes only records beyond the
#' marker, up to the value specified by `MaxRecords`.
#' @param MaxRecords The maximum number of records to include in the response. If more
#' records exist than the specified `MaxRecords` value, a pagination token
#' called a marker is included in the response so that the remaining
#' results can be retrieved.
#' 
#' Default: 100
#' 
#' Constraints: Minimum 20, maximum 100.
#'
#' @keywords internal
#'
#' @rdname rds_describe_db_proxy_targets
rds_describe_db_proxy_targets <- function(DBProxyName, TargetGroupName = NULL, Filters = NULL, Marker = NULL, MaxRecords = NULL) {
  op <- new_operation(
    name = "DescribeDBProxyTargets",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list(input_token = "Marker", limit_key = "MaxRecords", output_token = "Marker", result_key = "Targets")
  )
  input <- .rds$describe_db_proxy_targets_input(DBProxyName = DBProxyName, TargetGroupName = TargetGroupName, Filters = Filters, Marker = Marker, MaxRecords = MaxRecords)
  output <- .rds$describe_db_proxy_targets_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$describe_db_proxy_targets <- rds_describe_db_proxy_targets

#' Describes the recommendations to resolve the issues for your DB
#' instances, DB clusters, and DB parameter groups
#'
#' @description
#' Describes the recommendations to resolve the issues for your DB instances, DB clusters, and DB parameter groups.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_describe_db_recommendations/](https://www.paws-r-sdk.com/docs/rds_describe_db_recommendations/) for full documentation.
#'
#' @param LastUpdatedAfter A filter to include only the recommendations that were updated after
#' this specified time.
#' @param LastUpdatedBefore A filter to include only the recommendations that were updated before
#' this specified time.
#' @param Locale The language that you choose to return the list of recommendations.
#' 
#' Valid values:
#' 
#' -   `en`
#' 
#' -   `en_UK`
#' 
#' -   `de`
#' 
#' -   `es`
#' 
#' -   `fr`
#' 
#' -   `id`
#' 
#' -   `it`
#' 
#' -   `ja`
#' 
#' -   `ko`
#' 
#' -   `pt_BR`
#' 
#' -   `zh_TW`
#' 
#' -   `zh_CN`
#' @param Filters A filter that specifies one or more recommendations to describe.
#' 
#' Supported Filters:
#' 
#' -   `recommendation-id` - Accepts a list of recommendation identifiers.
#'     The results list only includes the recommendations whose identifier
#'     is one of the specified filter values.
#' 
#' -   `status` - Accepts a list of recommendation statuses.
#' 
#'     Valid values:
#' 
#'     -   `active` - The recommendations which are ready for you to apply.
#' 
#'     -   `pending` - The applied or scheduled recommendations which are
#'         in progress.
#' 
#'     -   `resolved` - The recommendations which are completed.
#' 
#'     -   `dismissed` - The recommendations that you dismissed.
#' 
#'     The results list only includes the recommendations whose status is
#'     one of the specified filter values.
#' 
#' -   `severity` - Accepts a list of recommendation severities. The
#'     results list only includes the recommendations whose severity is one
#'     of the specified filter values.
#' 
#'     Valid values:
#' 
#'     -   `high`
#' 
#'     -   `medium`
#' 
#'     -   `low`
#' 
#'     -   `informational`
#' 
#' -   `type-id` - Accepts a list of recommendation type identifiers. The
#'     results list only includes the recommendations whose type is one of
#'     the specified filter values.
#' 
#' -   `dbi-resource-id` - Accepts a list of database resource identifiers.
#'     The results list only includes the recommendations that generated
#'     for the specified databases.
#' 
#' -   `cluster-resource-id` - Accepts a list of cluster resource
#'     identifiers. The results list only includes the recommendations that
#'     generated for the specified clusters.
#' 
#' -   `pg-arn` - Accepts a list of parameter group ARNs. The results list
#'     only includes the recommendations that generated for the specified
#'     parameter groups.
#' 
#' -   `cluster-pg-arn` - Accepts a list of cluster parameter group ARNs.
#'     The results list only includes the recommendations that generated
#'     for the specified cluster parameter groups.
#' @param MaxRecords The maximum number of recommendations to include in the response. If
#' more records exist than the specified `MaxRecords` value, a pagination
#' token called a marker is included in the response so that you can
#' retrieve the remaining results.
#' @param Marker An optional pagination token provided by a previous
#' [`describe_db_recommendations`][rds_describe_db_recommendations]
#' request. If this parameter is specified, the response includes only
#' records beyond the marker, up to the value specified by `MaxRecords`.
#'
#' @keywords internal
#'
#' @rdname rds_describe_db_recommendations
rds_describe_db_recommendations <- function(LastUpdatedAfter = NULL, LastUpdatedBefore = NULL, Locale = NULL, Filters = NULL, MaxRecords = NULL, Marker = NULL) {
  op <- new_operation(
    name = "DescribeDBRecommendations",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list(input_token = "Marker", limit_key = "MaxRecords", output_token = "Marker", result_key = "DBRecommendations")
  )
  input <- .rds$describe_db_recommendations_input(LastUpdatedAfter = LastUpdatedAfter, LastUpdatedBefore = LastUpdatedBefore, Locale = Locale, Filters = Filters, MaxRecords = MaxRecords, Marker = Marker)
  output <- .rds$describe_db_recommendations_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$describe_db_recommendations <- rds_describe_db_recommendations

#' Returns a list of DBSecurityGroup descriptions
#'
#' @description
#' Returns a list of `DBSecurityGroup` descriptions. If a `DBSecurityGroupName` is specified, the list will contain only the descriptions of the specified DB security group.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_describe_db_security_groups/](https://www.paws-r-sdk.com/docs/rds_describe_db_security_groups/) for full documentation.
#'
#' @param DBSecurityGroupName The name of the DB security group to return details for.
#' @param Filters This parameter isn't currently supported.
#' @param MaxRecords The maximum number of records to include in the response. If more
#' records exist than the specified `MaxRecords` value, a pagination token
#' called a marker is included in the response so that you can retrieve the
#' remaining results.
#' 
#' Default: 100
#' 
#' Constraints: Minimum 20, maximum 100.
#' @param Marker An optional pagination token provided by a previous
#' [`describe_db_security_groups`][rds_describe_db_security_groups]
#' request. If this parameter is specified, the response includes only
#' records beyond the marker, up to the value specified by `MaxRecords`.
#'
#' @keywords internal
#'
#' @rdname rds_describe_db_security_groups
rds_describe_db_security_groups <- function(DBSecurityGroupName = NULL, Filters = NULL, MaxRecords = NULL, Marker = NULL) {
  op <- new_operation(
    name = "DescribeDBSecurityGroups",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list(input_token = "Marker", limit_key = "MaxRecords", output_token = "Marker", result_key = "DBSecurityGroups")
  )
  input <- .rds$describe_db_security_groups_input(DBSecurityGroupName = DBSecurityGroupName, Filters = Filters, MaxRecords = MaxRecords, Marker = Marker)
  output <- .rds$describe_db_security_groups_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$describe_db_security_groups <- rds_describe_db_security_groups

#' Describes existing Aurora Limitless Database DB shard groups
#'
#' @description
#' Describes existing Aurora Limitless Database DB shard groups.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_describe_db_shard_groups/](https://www.paws-r-sdk.com/docs/rds_describe_db_shard_groups/) for full documentation.
#'
#' @param DBShardGroupIdentifier The user-supplied DB shard group identifier or the Amazon Resource Name
#' (ARN) of the DB shard group. If this parameter is specified, information
#' for only the specific DB shard group is returned. This parameter isn't
#' case-sensitive.
#' 
#' Constraints:
#' 
#' -   If supplied, must match an existing DB shard group identifier.
#' @param Filters A filter that specifies one or more DB shard groups to describe.
#' @param Marker An optional pagination token provided by a previous
#' [`describe_db_shard_groups`][rds_describe_db_shard_groups] request. If
#' this parameter is specified, the response includes only records beyond
#' the marker, up to the value specified by `MaxRecords`.
#' @param MaxRecords The maximum number of records to include in the response. If more
#' records exist than the specified `MaxRecords` value, a pagination token
#' called a marker is included in the response so you can retrieve the
#' remaining results.
#' 
#' Default: 100
#' 
#' Constraints: Minimum 20, maximum 100
#'
#' @keywords internal
#'
#' @rdname rds_describe_db_shard_groups
rds_describe_db_shard_groups <- function(DBShardGroupIdentifier = NULL, Filters = NULL, Marker = NULL, MaxRecords = NULL) {
  op <- new_operation(
    name = "DescribeDBShardGroups",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$describe_db_shard_groups_input(DBShardGroupIdentifier = DBShardGroupIdentifier, Filters = Filters, Marker = Marker, MaxRecords = MaxRecords)
  output <- .rds$describe_db_shard_groups_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$describe_db_shard_groups <- rds_describe_db_shard_groups

#' Returns a list of DB snapshot attribute names and values for a manual DB
#' snapshot
#'
#' @description
#' Returns a list of DB snapshot attribute names and values for a manual DB snapshot.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_describe_db_snapshot_attributes/](https://www.paws-r-sdk.com/docs/rds_describe_db_snapshot_attributes/) for full documentation.
#'
#' @param DBSnapshotIdentifier &#91;required&#93; The identifier for the DB snapshot to describe the attributes for.
#'
#' @keywords internal
#'
#' @rdname rds_describe_db_snapshot_attributes
rds_describe_db_snapshot_attributes <- function(DBSnapshotIdentifier) {
  op <- new_operation(
    name = "DescribeDBSnapshotAttributes",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list()
  )
  input <- .rds$describe_db_snapshot_attributes_input(DBSnapshotIdentifier = DBSnapshotIdentifier)
  output <- .rds$describe_db_snapshot_attributes_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$describe_db_snapshot_attributes <- rds_describe_db_snapshot_attributes

#' Describes the tenant databases that exist in a DB snapshot
#'
#' @description
#' Describes the tenant databases that exist in a DB snapshot. This command only applies to RDS for Oracle DB instances in the multi-tenant configuration.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_describe_db_snapshot_tenant_databases/](https://www.paws-r-sdk.com/docs/rds_describe_db_snapshot_tenant_databases/) for full documentation.
#'
#' @param DBInstanceIdentifier The ID of the DB instance used to create the DB snapshots. This
#' parameter isn't case-sensitive.
#' 
#' Constraints:
#' 
#' -   If supplied, must match the identifier of an existing `DBInstance`.
#' @param DBSnapshotIdentifier The ID of a DB snapshot that contains the tenant databases to describe.
#' This value is stored as a lowercase string.
#' 
#' Constraints:
#' 
#' -   If you specify this parameter, the value must match the ID of an
#'     existing DB snapshot.
#' 
#' -   If you specify an automatic snapshot, you must also specify
#'     `SnapshotType`.
#' @param SnapshotType The type of DB snapshots to be returned. You can specify one of the
#' following values:
#' 
#' -   `automated` – All DB snapshots that have been automatically taken by
#'     Amazon RDS for my Amazon Web Services account.
#' 
#' -   `manual` – All DB snapshots that have been taken by my Amazon Web
#'     Services account.
#' 
#' -   `shared` – All manual DB snapshots that have been shared to my
#'     Amazon Web Services account.
#' 
#' -   `public` – All DB snapshots that have been marked as public.
#' 
#' -   `awsbackup` – All DB snapshots managed by the Amazon Web Services
#'     Backup service.
#' @param Filters A filter that specifies one or more tenant databases to describe.
#' 
#' Supported filters:
#' 
#' -   `tenant-db-name` - Tenant database names. The results list only
#'     includes information about the tenant databases that match these
#'     tenant DB names.
#' 
#' -   `tenant-database-resource-id` - Tenant database resource
#'     identifiers. The results list only includes information about the
#'     tenant databases contained within the DB snapshots.
#' 
#' -   `dbi-resource-id` - DB instance resource identifiers. The results
#'     list only includes information about snapshots containing tenant
#'     databases contained within the DB instances identified by these
#'     resource identifiers.
#' 
#' -   `db-instance-id` - Accepts DB instance identifiers and DB instance
#'     Amazon Resource Names (ARNs).
#' 
#' -   `db-snapshot-id` - Accepts DB snapshot identifiers.
#' 
#' -   `snapshot-type` - Accepts types of DB snapshots.
#' @param MaxRecords The maximum number of records to include in the response. If more
#' records exist than the specified `MaxRecords` value, a pagination token
#' called a marker is included in the response so that you can retrieve the
#' remaining results.
#' @param Marker An optional pagination token provided by a previous
#' [`describe_db_snapshot_tenant_databases`][rds_describe_db_snapshot_tenant_databases]
#' request. If this parameter is specified, the response includes only
#' records beyond the marker, up to the value specified by `MaxRecords`.
#' @param DbiResourceId A specific DB resource identifier to describe.
#'
#' @keywords internal
#'
#' @rdname rds_describe_db_snapshot_tenant_databases
rds_describe_db_snapshot_tenant_databases <- function(DBInstanceIdentifier = NULL, DBSnapshotIdentifier = NULL, SnapshotType = NULL, Filters = NULL, MaxRecords = NULL, Marker = NULL, DbiResourceId = NULL) {
  op <- new_operation(
    name = "DescribeDBSnapshotTenantDatabases",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list(input_token = "Marker", limit_key = "MaxRecords", output_token = "Marker", result_key = "DBSnapshotTenantDatabases")
  )
  input <- .rds$describe_db_snapshot_tenant_databases_input(DBInstanceIdentifier = DBInstanceIdentifier, DBSnapshotIdentifier = DBSnapshotIdentifier, SnapshotType = SnapshotType, Filters = Filters, MaxRecords = MaxRecords, Marker = Marker, DbiResourceId = DbiResourceId)
  output <- .rds$describe_db_snapshot_tenant_databases_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$describe_db_snapshot_tenant_databases <- rds_describe_db_snapshot_tenant_databases

#' Returns information about DB snapshots
#'
#' @description
#' Returns information about DB snapshots. This API action supports pagination.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_describe_db_snapshots/](https://www.paws-r-sdk.com/docs/rds_describe_db_snapshots/) for full documentation.
#'
#' @param DBInstanceIdentifier The ID of the DB instance to retrieve the list of DB snapshots for. This
#' parameter isn't case-sensitive.
#' 
#' Constraints:
#' 
#' -   If supplied, must match the identifier of an existing DBInstance.
#' @param DBSnapshotIdentifier A specific DB snapshot identifier to describe. This value is stored as a
#' lowercase string.
#' 
#' Constraints:
#' 
#' -   If supplied, must match the identifier of an existing DBSnapshot.
#' 
#' -   If this identifier is for an automated snapshot, the `SnapshotType`
#'     parameter must also be specified.
#' @param SnapshotType The type of snapshots to be returned. You can specify one of the
#' following values:
#' 
#' -   `automated` - Return all DB snapshots that have been automatically
#'     taken by Amazon RDS for my Amazon Web Services account.
#' 
#' -   `manual` - Return all DB snapshots that have been taken by my Amazon
#'     Web Services account.
#' 
#' -   `shared` - Return all manual DB snapshots that have been shared to
#'     my Amazon Web Services account.
#' 
#' -   `public` - Return all DB snapshots that have been marked as public.
#' 
#' -   `awsbackup` - Return the DB snapshots managed by the Amazon Web
#'     Services Backup service.
#' 
#'     For information about Amazon Web Services Backup, see the [*Amazon
#'     Web Services Backup Developer
#'     Guide.*](https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html)
#' 
#'     The `awsbackup` type does not apply to Aurora.
#' 
#' If you don't specify a `SnapshotType` value, then both automated and
#' manual snapshots are returned. Shared and public DB snapshots are not
#' included in the returned results by default. You can include shared
#' snapshots with these results by enabling the `IncludeShared` parameter.
#' You can include public snapshots with these results by enabling the
#' `IncludePublic` parameter.
#' 
#' The `IncludeShared` and `IncludePublic` parameters don't apply for
#' `SnapshotType` values of `manual` or `automated`. The `IncludePublic`
#' parameter doesn't apply when `SnapshotType` is set to `shared`. The
#' `IncludeShared` parameter doesn't apply when `SnapshotType` is set to
#' `public`.
#' @param Filters A filter that specifies one or more DB snapshots to describe.
#' 
#' Supported filters:
#' 
#' -   `db-instance-id` - Accepts DB instance identifiers and DB instance
#'     Amazon Resource Names (ARNs).
#' 
#' -   `db-snapshot-id` - Accepts DB snapshot identifiers.
#' 
#' -   `dbi-resource-id` - Accepts identifiers of source DB instances.
#' 
#' -   `snapshot-type` - Accepts types of DB snapshots.
#' 
#' -   `engine` - Accepts names of database engines.
#' @param MaxRecords The maximum number of records to include in the response. If more
#' records exist than the specified `MaxRecords` value, a pagination token
#' called a marker is included in the response so that you can retrieve the
#' remaining results.
#' 
#' Default: 100
#' 
#' Constraints: Minimum 20, maximum 100.
#' @param Marker An optional pagination token provided by a previous
#' [`describe_db_snapshots`][rds_describe_db_snapshots] request. If this
#' parameter is specified, the response includes only records beyond the
#' marker, up to the value specified by `MaxRecords`.
#' @param IncludeShared Specifies whether to include shared manual DB cluster snapshots from
#' other Amazon Web Services accounts that this Amazon Web Services account
#' has been given permission to copy or restore. By default, these
#' snapshots are not included.
#' 
#' You can give an Amazon Web Services account permission to restore a
#' manual DB snapshot from another Amazon Web Services account by using the
#' [`modify_db_snapshot_attribute`][rds_modify_db_snapshot_attribute] API
#' action.
#' 
#' This setting doesn't apply to RDS Custom.
#' @param IncludePublic Specifies whether to include manual DB cluster snapshots that are public
#' and can be copied or restored by any Amazon Web Services account. By
#' default, the public snapshots are not included.
#' 
#' You can share a manual DB snapshot as public by using the
#' [`modify_db_snapshot_attribute`][rds_modify_db_snapshot_attribute] API.
#' 
#' This setting doesn't apply to RDS Custom.
#' @param DbiResourceId A specific DB resource ID to describe.
#'
#' @keywords internal
#'
#' @rdname rds_describe_db_snapshots
rds_describe_db_snapshots <- function(DBInstanceIdentifier = NULL, DBSnapshotIdentifier = NULL, SnapshotType = NULL, Filters = NULL, MaxRecords = NULL, Marker = NULL, IncludeShared = NULL, IncludePublic = NULL, DbiResourceId = NULL) {
  op <- new_operation(
    name = "DescribeDBSnapshots",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list(input_token = "Marker", limit_key = "MaxRecords", output_token = "Marker", result_key = "DBSnapshots")
  )
  input <- .rds$describe_db_snapshots_input(DBInstanceIdentifier = DBInstanceIdentifier, DBSnapshotIdentifier = DBSnapshotIdentifier, SnapshotType = SnapshotType, Filters = Filters, MaxRecords = MaxRecords, Marker = Marker, IncludeShared = IncludeShared, IncludePublic = IncludePublic, DbiResourceId = DbiResourceId)
  output <- .rds$describe_db_snapshots_output()
  config <- get_config()
  svc <- .rds$service(config, op)
  request <- new_request(svc, op, input, output)
  response <- send_request(request)
  return(response)
}
.rds$operations$describe_db_snapshots <- rds_describe_db_snapshots

#' Returns a list of DBSubnetGroup descriptions
#'
#' @description
#' Returns a list of DBSubnetGroup descriptions. If a DBSubnetGroupName is specified, the list will contain only the descriptions of the specified DBSubnetGroup.
#'
#' See [https://www.paws-r-sdk.com/docs/rds_describe_db_subnet_groups/](https://www.paws-r-sdk.com/docs/rds_describe_db_subnet_groups/) for full documentation.
#'
#' @param DBSubnetGroupName The name of the DB subnet group to return details for.
#' @param Filters This parameter isn't currently supported.
#' @param MaxRecords The maximum number of records to include in the response. If more
#' records exist than the specified `MaxRecords` value, a pagination token
#' called a marker is included in the response so that you can retrieve the
#' remaining results.
#' 
#' Default: 100
#' 
#' Constraints: Minimum 20, maximum 100.
#' @param Marker An optional pagination token provided by a previous
#' DescribeDBSubnetGroups request. If this parameter is specified, the
#' response includes only records beyond the marker, up to the value
#' specified by `MaxRecords`.
#'
#' @keywords internal
#'
#' @rdname rds_describe_db_subnet_groups
rds_describe_db_subnet_groups <- function(DBSubnetGroupName = NULL, Filters = NULL, MaxRecords = NULL, Marker = NULL) {
  op <- new_operation(
    name = "DescribeDBSubnetGroups",
    http_method = "POST",
    http_path = "/",
    host_prefix = "",
    paginator = list(input_token = "Marker", limit_key = "MaxRecords", output_token = "Marker", result_key = "DBSubnetGroups")
  )
  input <- .rds$describe_db_subnet_groups_input(DBSubnetGroupName = DBSubnetGroupName, Filters = Filters, MaxRecords = MaxRecords, Marker = Marker)
  output <- .rds$describe_db_subnet_groups_output()
  config <- get_config()
  svc <- .rds$service(config, op)