# frozen_string_literal: true
# WARNING ABOUT GENERATED CODE
#
# This file is generated. See the contributing guide for more information:
# https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
#
# WARNING ABOUT GENERATED CODE
require 'seahorse/client/plugins/content_length.rb'
require 'aws-sdk-core/plugins/credentials_configuration.rb'
require 'aws-sdk-core/plugins/logging.rb'
require 'aws-sdk-core/plugins/param_converter.rb'
require 'aws-sdk-core/plugins/param_validator.rb'
require 'aws-sdk-core/plugins/user_agent.rb'
require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
require 'aws-sdk-core/plugins/retry_errors.rb'
require 'aws-sdk-core/plugins/global_configuration.rb'
require 'aws-sdk-core/plugins/regional_endpoint.rb'
require 'aws-sdk-core/plugins/endpoint_discovery.rb'
require 'aws-sdk-core/plugins/endpoint_pattern.rb'
require 'aws-sdk-core/plugins/response_paging.rb'
require 'aws-sdk-core/plugins/stub_responses.rb'
require 'aws-sdk-core/plugins/idempotency_token.rb'
require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
require 'aws-sdk-core/plugins/transfer_encoding.rb'
require 'aws-sdk-core/plugins/http_checksum.rb'
require 'aws-sdk-core/plugins/signature_v4.rb'
require 'aws-sdk-core/plugins/protocols/query.rb'
require 'aws-sdk-rds/plugins/cross_region_copying.rb'
Aws::Plugins::GlobalConfiguration.add_identifier(:rds)
module Aws::RDS
# An API client for RDS. To construct a client, you need to configure a `:region` and `:credentials`.
#
# client = Aws::RDS::Client.new(
# region: region_name,
# credentials: credentials,
# # ...
# )
#
# For details on configuring region and credentials see
# the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
#
# See {#initialize} for a full list of supported configuration options.
class Client < Seahorse::Client::Base
include Aws::ClientStubs
@identifier = :rds
set_api(ClientApi::API)
add_plugin(Seahorse::Client::Plugins::ContentLength)
add_plugin(Aws::Plugins::CredentialsConfiguration)
add_plugin(Aws::Plugins::Logging)
add_plugin(Aws::Plugins::ParamConverter)
add_plugin(Aws::Plugins::ParamValidator)
add_plugin(Aws::Plugins::UserAgent)
add_plugin(Aws::Plugins::HelpfulSocketErrors)
add_plugin(Aws::Plugins::RetryErrors)
add_plugin(Aws::Plugins::GlobalConfiguration)
add_plugin(Aws::Plugins::RegionalEndpoint)
add_plugin(Aws::Plugins::EndpointDiscovery)
add_plugin(Aws::Plugins::EndpointPattern)
add_plugin(Aws::Plugins::ResponsePaging)
add_plugin(Aws::Plugins::StubResponses)
add_plugin(Aws::Plugins::IdempotencyToken)
add_plugin(Aws::Plugins::JsonvalueConverter)
add_plugin(Aws::Plugins::ClientMetricsPlugin)
add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
add_plugin(Aws::Plugins::TransferEncoding)
add_plugin(Aws::Plugins::HttpChecksum)
add_plugin(Aws::Plugins::SignatureV4)
add_plugin(Aws::Plugins::Protocols::Query)
add_plugin(Aws::RDS::Plugins::CrossRegionCopying)
# @overload initialize(options)
# @param [Hash] options
# @option options [required, Aws::CredentialProvider] :credentials
# Your AWS credentials. This can be an instance of any one of the
# following classes:
#
# * `Aws::Credentials` - Used for configuring static, non-refreshing
# credentials.
#
# * `Aws::InstanceProfileCredentials` - Used for loading credentials
# from an EC2 IMDS on an EC2 instance.
#
# * `Aws::SharedCredentials` - Used for loading credentials from a
# shared file, such as `~/.aws/config`.
#
# * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
#
# When `:credentials` are not configured directly, the following
# locations will be searched for credentials:
#
# * `Aws.config[:credentials]`
# * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
# * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
# * `~/.aws/credentials`
# * `~/.aws/config`
# * EC2 IMDS instance profile - When used by default, the timeouts are
# very aggressive. Construct and pass an instance of
# `Aws::InstanceProfileCredentails` to enable retries and extended
# timeouts.
#
# @option options [required, String] :region
# The AWS region to connect to. The configured `:region` is
# used to determine the service `:endpoint`. When not passed,
# a default `:region` is searched for in the following locations:
#
# * `Aws.config[:region]`
# * `ENV['AWS_REGION']`
# * `ENV['AMAZON_REGION']`
# * `ENV['AWS_DEFAULT_REGION']`
# * `~/.aws/credentials`
# * `~/.aws/config`
#
# @option options [String] :access_key_id
#
# @option options [Boolean] :active_endpoint_cache (false)
# When set to `true`, a thread polling for endpoints will be running in
# the background every 60 secs (default). Defaults to `false`.
#
# @option options [Boolean] :adaptive_retry_wait_to_fill (true)
# Used only in `adaptive` retry mode. When true, the request will sleep
# until there is sufficent client side capacity to retry the request.
# When false, the request will raise a `RetryCapacityNotAvailableError` and will
# not retry instead of sleeping.
#
# @option options [Boolean] :client_side_monitoring (false)
# When `true`, client-side metrics will be collected for all API requests from
# this client.
#
# @option options [String] :client_side_monitoring_client_id ("")
# Allows you to provide an identifier for this client which will be attached to
# all generated client side metrics. Defaults to an empty string.
#
# @option options [String] :client_side_monitoring_host ("127.0.0.1")
# Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
# side monitoring agent is running on, where client metrics will be published via UDP.
#
# @option options [Integer] :client_side_monitoring_port (31000)
# Required for publishing client metrics. The port that the client side monitoring
# agent is running on, where client metrics will be published via UDP.
#
# @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
# Allows you to provide a custom client-side monitoring publisher class. By default,
# will use the Client Side Monitoring Agent Publisher.
#
# @option options [Boolean] :convert_params (true)
# When `true`, an attempt is made to coerce request parameters into
# the required types.
#
# @option options [Boolean] :correct_clock_skew (true)
# Used only in `standard` and adaptive retry modes. Specifies whether to apply
# a clock skew correction and retry requests with skewed client clocks.
#
# @option options [Boolean] :disable_host_prefix_injection (false)
# Set to true to disable SDK automatically adding host prefix
# to default service endpoint when available.
#
# @option options [String] :endpoint
# The client endpoint is normally constructed from the `:region`
# option. You should only configure an `:endpoint` when connecting
# to test or custom endpoints. This should be a valid HTTP(S) URI.
#
# @option options [Integer] :endpoint_cache_max_entries (1000)
# Used for the maximum size limit of the LRU cache storing endpoints data
# for endpoint discovery enabled operations. Defaults to 1000.
#
# @option options [Integer] :endpoint_cache_max_threads (10)
# Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
#
# @option options [Integer] :endpoint_cache_poll_interval (60)
# When :endpoint_discovery and :active_endpoint_cache is enabled,
# Use this option to config the time interval in seconds for making
# requests fetching endpoints information. Defaults to 60 sec.
#
# @option options [Boolean] :endpoint_discovery (false)
# When set to `true`, endpoint discovery will be enabled for operations when available.
#
# @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
# The log formatter.
#
# @option options [Symbol] :log_level (:info)
# The log level to send messages to the `:logger` at.
#
# @option options [Logger] :logger
# The Logger instance to send log messages to. If this option
# is not set, logging will be disabled.
#
# @option options [Integer] :max_attempts (3)
# An integer representing the maximum number attempts that will be made for
# a single request, including the initial attempt. For example,
# setting this value to 5 will result in a request being retried up to
# 4 times. Used in `standard` and `adaptive` retry modes.
#
# @option options [String] :profile ("default")
# Used when loading credentials from the shared credentials file
# at HOME/.aws/credentials. When not specified, 'default' is used.
#
# @option options [Proc] :retry_backoff
# A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
# This option is only used in the `legacy` retry mode.
#
# @option options [Float] :retry_base_delay (0.3)
# The base delay in seconds used by the default backoff function. This option
# is only used in the `legacy` retry mode.
#
# @option options [Symbol] :retry_jitter (:none)
# A delay randomiser function used by the default backoff function.
# Some predefined functions can be referenced by name - :none, :equal, :full,
# otherwise a Proc that takes and returns a number. This option is only used
# in the `legacy` retry mode.
#
# @see https://www.awsarchitectureblog.com/2015/03/backoff.html
#
# @option options [Integer] :retry_limit (3)
# The maximum number of times to retry failed requests. Only
# ~ 500 level server errors and certain ~ 400 level client errors
# are retried. Generally, these are throttling errors, data
# checksum errors, networking errors, timeout errors, auth errors,
# endpoint discovery, and errors from expired credentials.
# This option is only used in the `legacy` retry mode.
#
# @option options [Integer] :retry_max_delay (0)
# The maximum number of seconds to delay between retries (0 for no limit)
# used by the default backoff function. This option is only used in the
# `legacy` retry mode.
#
# @option options [String] :retry_mode ("legacy")
# Specifies which retry algorithm to use. Values are:
#
# * `legacy` - The pre-existing retry behavior. This is default value if
# no retry mode is provided.
#
# * `standard` - A standardized set of retry rules across the AWS SDKs.
# This includes support for retry quotas, which limit the number of
# unsuccessful retries a client can make.
#
# * `adaptive` - An experimental retry mode that includes all the
# functionality of `standard` mode along with automatic client side
# throttling. This is a provisional mode that may change behavior
# in the future.
#
#
# @option options [String] :secret_access_key
#
# @option options [String] :session_token
#
# @option options [Boolean] :stub_responses (false)
# Causes the client to return stubbed responses. By default
# fake responses are generated and returned. You can specify
# the response data to return or errors to raise by calling
# {ClientStubs#stub_responses}. See {ClientStubs} for more information.
#
# ** Please note ** When response stubbing is enabled, no HTTP
# requests are made, and retries are disabled.
#
# @option options [Boolean] :validate_params (true)
# When `true`, request parameters are validated before
# sending the request.
#
# @option options [URI::HTTP,String] :http_proxy A proxy to send
# requests through. Formatted like 'http://proxy.com:123'.
#
# @option options [Float] :http_open_timeout (15) The number of
# seconds to wait when opening a HTTP session before raising a
# `Timeout::Error`.
#
# @option options [Integer] :http_read_timeout (60) The default
# number of seconds to wait for response data. This value can
# safely be set per-request on the session.
#
# @option options [Float] :http_idle_timeout (5) The number of
# seconds a connection is allowed to sit idle before it is
# considered stale. Stale connections are closed and removed
# from the pool before making a request.
#
# @option options [Float] :http_continue_timeout (1) The number of
# seconds to wait for a 100-continue response before sending the
# request body. This option has no effect unless the request has
# "Expect" header set to "100-continue". Defaults to `nil` which
# disables this behaviour. This value can safely be set per
# request on the session.
#
# @option options [Boolean] :http_wire_trace (false) When `true`,
# HTTP debug output will be sent to the `:logger`.
#
# @option options [Boolean] :ssl_verify_peer (true) When `true`,
# SSL peer certificates are verified when establishing a
# connection.
#
# @option options [String] :ssl_ca_bundle Full path to the SSL
# certificate authority bundle file that should be used when
# verifying peer certificates. If you do not pass
# `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
# will be used if available.
#
# @option options [String] :ssl_ca_directory Full path of the
# directory that contains the unbundled SSL certificate
# authority files for verifying peer certificates. If you do
# not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
# system default will be used if available.
#
def initialize(*args)
super
end
# @!group API Operations
# Associates an Identity and Access Management (IAM) role from an Amazon
# Aurora DB cluster. For more information, see [Authorizing Amazon
# Aurora MySQL to Access Other AWS Services on Your Behalf][1] in the
# *Amazon Aurora User Guide*.
#
# This action only applies to Aurora DB clusters.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Integrating.Authorizing.html
#
# @option params [required, String] :db_cluster_identifier
# The name of the DB cluster to associate the IAM role with.
#
# @option params [required, String] :role_arn
# The Amazon Resource Name (ARN) of the IAM role to associate with the
# Aurora DB cluster, for example
# `arn:aws:iam::123456789012:role/AuroraAccessRole`.
#
# @option params [String] :feature_name
# The name of the feature for the DB cluster that the IAM role is to be
# associated with. For the list of supported feature names, see
# DBEngineVersion.
#
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
#
# @example Request syntax with placeholder values
#
# resp = client.add_role_to_db_cluster({
# db_cluster_identifier: "String", # required
# role_arn: "String", # required
# feature_name: "String",
# })
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddRoleToDBCluster AWS API Documentation
#
# @overload add_role_to_db_cluster(params = {})
# @param [Hash] params ({})
def add_role_to_db_cluster(params = {}, options = {})
req = build_request(:add_role_to_db_cluster, params)
req.send_request(options)
end
# Associates an AWS Identity and Access Management (IAM) role with a DB
# instance.
#
# To add a role to a DB instance, the status of the DB instance must be
# `available`.
#
#
#
# @option params [required, String] :db_instance_identifier
# The name of the DB instance to associate the IAM role with.
#
# @option params [required, String] :role_arn
# The Amazon Resource Name (ARN) of the IAM role to associate with the
# DB instance, for example `arn:aws:iam::123456789012:role/AccessRole`.
#
# @option params [required, String] :feature_name
# The name of the feature for the DB instance that the IAM role is to be
# associated with. For the list of supported feature names, see
# DBEngineVersion.
#
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
#
# @example Request syntax with placeholder values
#
# resp = client.add_role_to_db_instance({
# db_instance_identifier: "String", # required
# role_arn: "String", # required
# feature_name: "String", # required
# })
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddRoleToDBInstance AWS API Documentation
#
# @overload add_role_to_db_instance(params = {})
# @param [Hash] params ({})
def add_role_to_db_instance(params = {}, options = {})
req = build_request(:add_role_to_db_instance, params)
req.send_request(options)
end
# Adds a source identifier to an existing RDS event notification
# subscription.
#
# @option params [required, String] :subscription_name
# The name of the RDS event notification subscription you want to add a
# source identifier to.
#
# @option params [required, String] :source_identifier
# The identifier of the event source to be added.
#
# Constraints:
#
# * If the source type is a DB instance, then a `DBInstanceIdentifier`
# must be supplied.
#
# * If the source type is a DB security group, a `DBSecurityGroupName`
# must be supplied.
#
# * If the source type is a DB parameter group, a `DBParameterGroupName`
# must be supplied.
#
# * If the source type is a DB snapshot, a `DBSnapshotIdentifier` must
# be supplied.
#
# @return [Types::AddSourceIdentifierToSubscriptionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::AddSourceIdentifierToSubscriptionResult#event_subscription #event_subscription} => Types::EventSubscription
#
#
# @example Example: To add a source identifier to an event notification subscription
#
# # This example add a source identifier to an event notification subscription.
#
# resp = client.add_source_identifier_to_subscription({
# source_identifier: "mymysqlinstance",
# subscription_name: "mymysqleventsubscription",
# })
#
# resp.to_h outputs the following:
# {
# event_subscription: {
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.add_source_identifier_to_subscription({
# subscription_name: "String", # required
# source_identifier: "String", # required
# })
#
# @example Response structure
#
# resp.event_subscription.customer_aws_id #=> String
# resp.event_subscription.cust_subscription_id #=> String
# resp.event_subscription.sns_topic_arn #=> String
# resp.event_subscription.status #=> String
# resp.event_subscription.subscription_creation_time #=> String
# resp.event_subscription.source_type #=> String
# resp.event_subscription.source_ids_list #=> Array
# resp.event_subscription.source_ids_list[0] #=> String
# resp.event_subscription.event_categories_list #=> Array
# resp.event_subscription.event_categories_list[0] #=> String
# resp.event_subscription.enabled #=> Boolean
# resp.event_subscription.event_subscription_arn #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddSourceIdentifierToSubscription AWS API Documentation
#
# @overload add_source_identifier_to_subscription(params = {})
# @param [Hash] params ({})
def add_source_identifier_to_subscription(params = {}, options = {})
req = build_request(:add_source_identifier_to_subscription, params)
req.send_request(options)
end
# 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.
#
# For an overview on tagging Amazon RDS resources, see [Tagging Amazon
# RDS Resources][1].
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Tagging.html
#
# @option params [required, String] :resource_name
# 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)][1].
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing
#
# @option params [required, Array] :tags
# The tags to be assigned to the Amazon RDS resource.
#
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
#
#
# @example Example: To add tags to a resource
#
# # This example adds a tag to an option group.
#
# resp = client.add_tags_to_resource({
# resource_name: "arn:aws:rds:us-east-1:992648334831:og:mymysqloptiongroup",
# tags: [
# {
# key: "Staging",
# value: "LocationDB",
# },
# ],
# })
#
# @example Request syntax with placeholder values
#
# resp = client.add_tags_to_resource({
# resource_name: "String", # required
# tags: [ # required
# {
# key: "String",
# value: "String",
# },
# ],
# })
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddTagsToResource AWS API Documentation
#
# @overload add_tags_to_resource(params = {})
# @param [Hash] params ({})
def add_tags_to_resource(params = {}, options = {})
req = build_request(:add_tags_to_resource, params)
req.send_request(options)
end
# Applies a pending maintenance action to a resource (for example, to a
# DB instance).
#
# @option params [required, String] :resource_identifier
# 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)][1].
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing
#
# @option params [required, String] :apply_action
# The pending maintenance action to apply to this resource.
#
# Valid values: `system-update`, `db-upgrade`, `hardware-maintenance`,
# `ca-certificate-rotation`
#
# @option params [required, String] :opt_in_type
# 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.
#
# @return [Types::ApplyPendingMaintenanceActionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::ApplyPendingMaintenanceActionResult#resource_pending_maintenance_actions #resource_pending_maintenance_actions} => Types::ResourcePendingMaintenanceActions
#
#
# @example Example: To apply a pending maintenance action
#
# # This example immediately applies a pending system update to a DB instance.
#
# resp = client.apply_pending_maintenance_action({
# apply_action: "system-update",
# opt_in_type: "immediate",
# resource_identifier: "arn:aws:rds:us-east-1:992648334831:db:mymysqlinstance",
# })
#
# resp.to_h outputs the following:
# {
# resource_pending_maintenance_actions: {
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.apply_pending_maintenance_action({
# resource_identifier: "String", # required
# apply_action: "String", # required
# opt_in_type: "String", # required
# })
#
# @example Response structure
#
# resp.resource_pending_maintenance_actions.resource_identifier #=> String
# resp.resource_pending_maintenance_actions.pending_maintenance_action_details #=> Array
# resp.resource_pending_maintenance_actions.pending_maintenance_action_details[0].action #=> String
# resp.resource_pending_maintenance_actions.pending_maintenance_action_details[0].auto_applied_after_date #=> Time
# resp.resource_pending_maintenance_actions.pending_maintenance_action_details[0].forced_apply_date #=> Time
# resp.resource_pending_maintenance_actions.pending_maintenance_action_details[0].opt_in_status #=> String
# resp.resource_pending_maintenance_actions.pending_maintenance_action_details[0].current_apply_date #=> Time
# resp.resource_pending_maintenance_actions.pending_maintenance_action_details[0].description #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ApplyPendingMaintenanceAction AWS API Documentation
#
# @overload apply_pending_maintenance_action(params = {})
# @param [Hash] params ({})
def apply_pending_maintenance_action(params = {}, options = {})
req = build_request(:apply_pending_maintenance_action, params)
req.send_request(options)
end
# 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).
#
# You can't authorize ingress from an EC2 security group in one AWS
# Region to an Amazon RDS DB instance in another. You can't authorize
# ingress from a VPC security group in one VPC to an Amazon RDS DB
# instance in another.
#
#
#
# For an overview of CIDR ranges, go to the [Wikipedia Tutorial][1].
#
#
#
# [1]: http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing
#
# @option params [required, String] :db_security_group_name
# The name of the DB security group to add authorization to.
#
# @option params [String] :cidrip
# The IP range to authorize.
#
# @option params [String] :ec2_security_group_name
# 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.
#
# @option params [String] :ec2_security_group_id
# 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.
#
# @option params [String] :ec2_security_group_owner_id
# AWS account number of the owner of the EC2 security group specified in
# the `EC2SecurityGroupName` parameter. The AWS 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.
#
# @return [Types::AuthorizeDBSecurityGroupIngressResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::AuthorizeDBSecurityGroupIngressResult#db_security_group #db_security_group} => Types::DBSecurityGroup
#
#
# @example Example: To authorize DB security group integress
#
# # This example authorizes access to the specified security group by the specified CIDR block.
#
# resp = client.authorize_db_security_group_ingress({
# cidrip: "203.0.113.5/32",
# db_security_group_name: "mydbsecuritygroup",
# })
#
# resp.to_h outputs the following:
# {
# db_security_group: {
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.authorize_db_security_group_ingress({
# db_security_group_name: "String", # required
# cidrip: "String",
# ec2_security_group_name: "String",
# ec2_security_group_id: "String",
# ec2_security_group_owner_id: "String",
# })
#
# @example Response structure
#
# resp.db_security_group.owner_id #=> String
# resp.db_security_group.db_security_group_name #=> String
# resp.db_security_group.db_security_group_description #=> String
# resp.db_security_group.vpc_id #=> String
# resp.db_security_group.ec2_security_groups #=> Array
# resp.db_security_group.ec2_security_groups[0].status #=> String
# resp.db_security_group.ec2_security_groups[0].ec2_security_group_name #=> String
# resp.db_security_group.ec2_security_groups[0].ec2_security_group_id #=> String
# resp.db_security_group.ec2_security_groups[0].ec2_security_group_owner_id #=> String
# resp.db_security_group.ip_ranges #=> Array
# resp.db_security_group.ip_ranges[0].status #=> String
# resp.db_security_group.ip_ranges[0].cidrip #=> String
# resp.db_security_group.db_security_group_arn #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AuthorizeDBSecurityGroupIngress AWS API Documentation
#
# @overload authorize_db_security_group_ingress(params = {})
# @param [Hash] params ({})
def authorize_db_security_group_ingress(params = {}, options = {})
req = build_request(:authorize_db_security_group_ingress, params)
req.send_request(options)
end
# Backtracks a DB cluster to a specific time, without creating a new DB
# cluster.
#
# For more information on backtracking, see [ Backtracking an Aurora DB
# Cluster][1] in the *Amazon Aurora User Guide.*
#
# This action only applies to Aurora MySQL DB clusters.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Managing.Backtrack.html
#
# @option params [required, String] :db_cluster_identifier
# 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`
#
# @option params [required, Time,DateTime,Date,Integer,String] :backtrack_to
# 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.][1]
#
# 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`
#
#
#
# [1]: http://en.wikipedia.org/wiki/ISO_8601
#
# @option params [Boolean] :force
# A value that indicates whether to force the DB cluster to backtrack
# when binary logging is enabled. Otherwise, an error occurs when binary
# logging is enabled.
#
# @option params [Boolean] :use_earliest_time_on_point_in_time_unavailable
# A value that indicates 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.
#
# @return [Types::DBClusterBacktrack] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DBClusterBacktrack#db_cluster_identifier #db_cluster_identifier} => String
# * {Types::DBClusterBacktrack#backtrack_identifier #backtrack_identifier} => String
# * {Types::DBClusterBacktrack#backtrack_to #backtrack_to} => Time
# * {Types::DBClusterBacktrack#backtracked_from #backtracked_from} => Time
# * {Types::DBClusterBacktrack#backtrack_request_creation_time #backtrack_request_creation_time} => Time
# * {Types::DBClusterBacktrack#status #status} => String
#
# @example Request syntax with placeholder values
#
# resp = client.backtrack_db_cluster({
# db_cluster_identifier: "String", # required
# backtrack_to: Time.now, # required
# force: false,
# use_earliest_time_on_point_in_time_unavailable: false,
# })
#
# @example Response structure
#
# resp.db_cluster_identifier #=> String
# resp.backtrack_identifier #=> String
# resp.backtrack_to #=> Time
# resp.backtracked_from #=> Time
# resp.backtrack_request_creation_time #=> Time
# resp.status #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/BacktrackDBCluster AWS API Documentation
#
# @overload backtrack_db_cluster(params = {})
# @param [Hash] params ({})
def backtrack_db_cluster(params = {}, options = {})
req = build_request(:backtrack_db_cluster, params)
req.send_request(options)
end
# Cancels an export task in progress that is exporting a snapshot to
# Amazon S3. Any data that has already been written to the S3 bucket
# isn't removed.
#
# @option params [required, String] :export_task_identifier
# The identifier of the snapshot export task to cancel.
#
# @return [Types::ExportTask] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::ExportTask#export_task_identifier #export_task_identifier} => String
# * {Types::ExportTask#source_arn #source_arn} => String
# * {Types::ExportTask#export_only #export_only} => Array<String>
# * {Types::ExportTask#snapshot_time #snapshot_time} => Time
# * {Types::ExportTask#task_start_time #task_start_time} => Time
# * {Types::ExportTask#task_end_time #task_end_time} => Time
# * {Types::ExportTask#s3_bucket #s3_bucket} => String
# * {Types::ExportTask#s3_prefix #s3_prefix} => String
# * {Types::ExportTask#iam_role_arn #iam_role_arn} => String
# * {Types::ExportTask#kms_key_id #kms_key_id} => String
# * {Types::ExportTask#status #status} => String
# * {Types::ExportTask#percent_progress #percent_progress} => Integer
# * {Types::ExportTask#total_extracted_data_in_gb #total_extracted_data_in_gb} => Integer
# * {Types::ExportTask#failure_cause #failure_cause} => String
# * {Types::ExportTask#warning_message #warning_message} => String
#
# @example Request syntax with placeholder values
#
# resp = client.cancel_export_task({
# export_task_identifier: "String", # required
# })
#
# @example Response structure
#
# resp.export_task_identifier #=> String
# resp.source_arn #=> String
# resp.export_only #=> Array
# resp.export_only[0] #=> String
# resp.snapshot_time #=> Time
# resp.task_start_time #=> Time
# resp.task_end_time #=> Time
# resp.s3_bucket #=> String
# resp.s3_prefix #=> String
# resp.iam_role_arn #=> String
# resp.kms_key_id #=> String
# resp.status #=> String
# resp.percent_progress #=> Integer
# resp.total_extracted_data_in_gb #=> Integer
# resp.failure_cause #=> String
# resp.warning_message #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CancelExportTask AWS API Documentation
#
# @overload cancel_export_task(params = {})
# @param [Hash] params ({})
def cancel_export_task(params = {}, options = {})
req = build_request(:cancel_export_task, params)
req.send_request(options)
end
# Copies the specified DB cluster parameter group.
#
# This action only applies to Aurora DB clusters.
#
#
#
# @option params [required, String] :source_db_cluster_parameter_group_identifier
# 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][1] in the *Amazon Aurora User
# Guide*.
#
# Constraints:
#
# * Must specify a valid DB cluster parameter group.
#
# * If the source DB cluster parameter group is in the same AWS Region
# as the copy, specify a valid DB parameter group identifier, for
# example `my-db-cluster-param-group`, or a valid ARN.
#
# * If the source DB parameter group is in a different AWS Region than
# the copy, specify a valid DB cluster parameter group ARN, for
# example
# `arn:aws:rds:us-east-1:123456789012:cluster-pg:custom-cluster-group1`.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing
#
# @option params [required, String] :target_db_cluster_parameter_group_identifier
# 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`
#
# @option params [required, String] :target_db_cluster_parameter_group_description
# A description for the copied DB cluster parameter group.
#
# @option params [Array] :tags
# A list of tags. For more information, see [Tagging Amazon RDS
# Resources][1] in the *Amazon RDS User Guide.*
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html
#
# @return [Types::CopyDBClusterParameterGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::CopyDBClusterParameterGroupResult#db_cluster_parameter_group #db_cluster_parameter_group} => Types::DBClusterParameterGroup
#
#
# @example Example: To copy a DB cluster parameter group
#
# # This example copies a DB cluster parameter group.
#
# resp = client.copy_db_cluster_parameter_group({
# source_db_cluster_parameter_group_identifier: "mydbclusterparametergroup",
# target_db_cluster_parameter_group_description: "My DB cluster parameter group copy",
# target_db_cluster_parameter_group_identifier: "mydbclusterparametergroup-copy",
# })
#
# resp.to_h outputs the following:
# {
# db_cluster_parameter_group: {
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.copy_db_cluster_parameter_group({
# source_db_cluster_parameter_group_identifier: "String", # required
# target_db_cluster_parameter_group_identifier: "String", # required
# target_db_cluster_parameter_group_description: "String", # required
# tags: [
# {
# key: "String",
# value: "String",
# },
# ],
# })
#
# @example Response structure
#
# resp.db_cluster_parameter_group.db_cluster_parameter_group_name #=> String
# resp.db_cluster_parameter_group.db_parameter_group_family #=> String
# resp.db_cluster_parameter_group.description #=> String
# resp.db_cluster_parameter_group.db_cluster_parameter_group_arn #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBClusterParameterGroup AWS API Documentation
#
# @overload copy_db_cluster_parameter_group(params = {})
# @param [Hash] params ({})
def copy_db_cluster_parameter_group(params = {}, options = {})
req = build_request(:copy_db_cluster_parameter_group, params)
req.send_request(options)
end
# Copies a snapshot of a DB cluster.
#
# To copy a DB cluster snapshot from a shared manual DB cluster
# snapshot, `SourceDBClusterSnapshotIdentifier` must be the Amazon
# Resource Name (ARN) of the shared DB cluster snapshot.
#
# You can copy an encrypted DB cluster snapshot from another AWS Region.
# In that case, the AWS Region where you call the
# `CopyDBClusterSnapshot` action is the destination AWS Region for the
# encrypted DB cluster snapshot to be copied to. To copy an encrypted DB
# cluster snapshot from another AWS Region, you must provide the
# following values:
#
# * `KmsKeyId` - The AWS Key Management System (AWS KMS) key identifier
# for the key to use to encrypt the copy of the DB cluster snapshot in
# the destination AWS Region.
#
# * `PreSignedUrl` - A URL that contains a Signature Version 4 signed
# request for the `CopyDBClusterSnapshot` action to be called in the
# source AWS Region where the DB cluster snapshot is copied from. The
# pre-signed URL must be a valid request for the
# `CopyDBClusterSnapshot` API action that can be executed in the
# source AWS Region that contains the encrypted DB cluster snapshot to
# be copied.
#
# The pre-signed URL request must contain the following parameter
# values:
#
# * `KmsKeyId` - The KMS key identifier for the key to use to encrypt
# the copy of the DB cluster snapshot in the destination AWS Region.
# This is the same identifier for both the `CopyDBClusterSnapshot`
# action that is called in the destination AWS Region, and the
# action contained in the pre-signed URL.
#
# * `DestinationRegion` - The name of the AWS 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 AWS Region. For example, if you are copying an
# encrypted DB cluster snapshot from the us-west-2 AWS 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 (AWS Signature
# Version 4)][1] and [ Signature Version 4 Signing Process][2].
#
# If you are using an AWS SDK tool or the AWS CLI, you can specify
# `SourceRegion` (or `--source-region` for the AWS CLI) instead of
# specifying `PreSignedUrl` manually. Specifying `SourceRegion`
# autogenerates a pre-signed URL that is a valid request for the
# operation that can be executed in the source AWS Region.
#
#
#
# * `TargetDBClusterSnapshotIdentifier` - The identifier for the new
# copy of the DB cluster snapshot in the destination AWS Region.
#
# * `SourceDBClusterSnapshotIdentifier` - The DB cluster snapshot
# identifier for the encrypted DB cluster snapshot to be copied. This
# identifier must be in the ARN format for the source AWS Region and
# is the same value as the `SourceDBClusterSnapshotIdentifier` in the
# pre-signed URL.
#
# To cancel the copy operation once it is in progress, delete the target
# DB cluster snapshot identified by `TargetDBClusterSnapshotIdentifier`
# while that DB cluster snapshot is in "copying" status.
#
# For more information on copying encrypted DB cluster snapshots from
# one AWS Region to another, see [ Copying a Snapshot][3] in the *Amazon
# Aurora User Guide.*
#
# For more information on Amazon Aurora, see [ What Is Amazon
# Aurora?][4] in the *Amazon Aurora User Guide.*
#
# This action only applies to Aurora DB clusters.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html
# [2]: https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html
# [3]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_CopySnapshot.html
# [4]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html
#
# @option params [required, String] :source_db_cluster_snapshot_identifier
# 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 AWS
# Region to another.
#
# Constraints:
#
# * Must specify a valid system snapshot in the "available" state.
#
# * If the source snapshot is in the same AWS Region as the copy,
# specify a valid DB snapshot identifier.
#
# * If the source snapshot is in a different AWS Region than the copy,
# specify a valid DB cluster snapshot ARN. For more information, go to
# [ Copying Snapshots Across AWS Regions][1] in the *Amazon Aurora
# User Guide.*
#
# Example: `my-cluster-snapshot1`
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_CopySnapshot.html#USER_CopySnapshot.AcrossRegions
#
# @option params [required, String] :target_db_cluster_snapshot_identifier
# 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`
#
# @option params [String] :kms_key_id
# The AWS KMS key ID for an encrypted DB cluster snapshot. The KMS key
# ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS
# key alias for the KMS encryption key.
#
# If you copy an encrypted DB cluster snapshot from your AWS account,
# you can specify a value for `KmsKeyId` to encrypt the copy with a new
# KMS encryption 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 AWS account, then you must specify a value for `KmsKeyId`.
#
# To copy an encrypted DB cluster snapshot to another AWS Region, you
# must set `KmsKeyId` to the KMS key ID you want to use to encrypt the
# copy of the DB cluster snapshot in the destination AWS Region. KMS
# encryption keys are specific to the AWS Region that they are created
# in, and you can't use encryption keys from one AWS Region in another
# AWS Region.
#
# If you copy an unencrypted DB cluster snapshot and specify a value for
# the `KmsKeyId` parameter, an error is returned.
#
# @option params [String] :pre_signed_url
# The URL that contains a Signature Version 4 signed request for the
# `CopyDBClusterSnapshot` API action in the AWS Region that contains the
# source DB cluster snapshot to copy. The `PreSignedUrl` parameter must
# be used when copying an encrypted DB cluster snapshot from another AWS
# Region. Don't specify `PreSignedUrl` when you are copying an
# encrypted DB cluster snapshot in the same AWS Region.
#
# The pre-signed URL must be a valid request for the
# `CopyDBClusterSnapshot` API action that can be executed in the source
# AWS Region that contains the encrypted DB cluster snapshot to be
# copied. The pre-signed URL request must contain the following
# parameter values:
#
# * `KmsKeyId` - The AWS KMS key identifier for the key to use to
# encrypt the copy of the DB cluster snapshot in the destination AWS
# Region. This is the same identifier for both the
# `CopyDBClusterSnapshot` action that is called in the destination AWS
# Region, and the action contained in the pre-signed URL.
#
# * `DestinationRegion` - The name of the AWS 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 AWS Region. For example, if you are copying an encrypted DB
# cluster snapshot from the us-west-2 AWS 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 (AWS Signature Version
# 4)][1] and [ Signature Version 4 Signing Process][2].
#
# If you are using an AWS SDK tool or the AWS CLI, you can specify
# `SourceRegion` (or `--source-region` for the AWS CLI) instead of
# specifying `PreSignedUrl` manually. Specifying `SourceRegion`
# autogenerates a pre-signed URL that is a valid request for the
# operation that can be executed in the source AWS Region.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html
# [2]: https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html
#
# @option params [Boolean] :copy_tags
# A value that indicates whether to copy all tags from the source DB
# cluster snapshot to the target DB cluster snapshot. By default, tags
# are not copied.
#
# @option params [Array] :tags
# A list of tags. For more information, see [Tagging Amazon RDS
# Resources][1] in the *Amazon RDS User Guide.*
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html
#
# @option params [String] :source_region
# The source region of the snapshot. This is only needed when the
# shapshot is encrypted and in a different region.
#
# @return [Types::CopyDBClusterSnapshotResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::CopyDBClusterSnapshotResult#db_cluster_snapshot #db_cluster_snapshot} => Types::DBClusterSnapshot
#
#
# @example Example: To copy a DB cluster snapshot
#
# # The following example copies an automated snapshot of a DB cluster to a new DB cluster snapshot.
#
# resp = client.copy_db_cluster_snapshot({
# source_db_cluster_snapshot_identifier: "rds:sample-cluster-2016-09-14-10-38",
# target_db_cluster_snapshot_identifier: "cluster-snapshot-copy-1",
# })
#
# resp.to_h outputs the following:
# {
# db_cluster_snapshot: {
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.copy_db_cluster_snapshot({
# source_db_cluster_snapshot_identifier: "String", # required
# target_db_cluster_snapshot_identifier: "String", # required
# kms_key_id: "String",
# pre_signed_url: "String",
# copy_tags: false,
# tags: [
# {
# key: "String",
# value: "String",
# },
# ],
# source_region: "String",
# })
#
# @example Response structure
#
# resp.db_cluster_snapshot.availability_zones #=> Array
# resp.db_cluster_snapshot.availability_zones[0] #=> String
# resp.db_cluster_snapshot.db_cluster_snapshot_identifier #=> String
# resp.db_cluster_snapshot.db_cluster_identifier #=> String
# resp.db_cluster_snapshot.snapshot_create_time #=> Time
# resp.db_cluster_snapshot.engine #=> String
# resp.db_cluster_snapshot.allocated_storage #=> Integer
# resp.db_cluster_snapshot.status #=> String
# resp.db_cluster_snapshot.port #=> Integer
# resp.db_cluster_snapshot.vpc_id #=> String
# resp.db_cluster_snapshot.cluster_create_time #=> Time
# resp.db_cluster_snapshot.master_username #=> String
# resp.db_cluster_snapshot.engine_version #=> String
# resp.db_cluster_snapshot.license_model #=> String
# resp.db_cluster_snapshot.snapshot_type #=> String
# resp.db_cluster_snapshot.percent_progress #=> Integer
# resp.db_cluster_snapshot.storage_encrypted #=> Boolean
# resp.db_cluster_snapshot.kms_key_id #=> String
# resp.db_cluster_snapshot.db_cluster_snapshot_arn #=> String
# resp.db_cluster_snapshot.source_db_cluster_snapshot_arn #=> String
# resp.db_cluster_snapshot.iam_database_authentication_enabled #=> Boolean
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBClusterSnapshot AWS API Documentation
#
# @overload copy_db_cluster_snapshot(params = {})
# @param [Hash] params ({})
def copy_db_cluster_snapshot(params = {}, options = {})
req = build_request(:copy_db_cluster_snapshot, params)
req.send_request(options)
end
# Copies the specified DB parameter group.
#
# @option params [required, String] :source_db_parameter_group_identifier
# The identifier or ARN for the source DB parameter group. For
# information about creating an ARN, see [ Constructing an ARN for
# Amazon RDS][1] in the *Amazon RDS User Guide*.
#
# Constraints:
#
# * Must specify a valid DB parameter group.
#
# * Must specify a valid DB parameter group identifier, for example
# `my-db-param-group`, or a valid ARN.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing
#
# @option params [required, String] :target_db_parameter_group_identifier
# 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`
#
# @option params [required, String] :target_db_parameter_group_description
# A description for the copied DB parameter group.
#
# @option params [Array] :tags
# A list of tags. For more information, see [Tagging Amazon RDS
# Resources][1] in the *Amazon RDS User Guide.*
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html
#
# @return [Types::CopyDBParameterGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::CopyDBParameterGroupResult#db_parameter_group #db_parameter_group} => Types::DBParameterGroup
#
#
# @example Example: To copy a DB parameter group
#
# # This example copies a DB parameter group.
#
# resp = client.copy_db_parameter_group({
# source_db_parameter_group_identifier: "mymysqlparametergroup",
# target_db_parameter_group_description: "My MySQL parameter group copy",
# target_db_parameter_group_identifier: "mymysqlparametergroup-copy",
# })
#
# resp.to_h outputs the following:
# {
# db_parameter_group: {
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.copy_db_parameter_group({
# source_db_parameter_group_identifier: "String", # required
# target_db_parameter_group_identifier: "String", # required
# target_db_parameter_group_description: "String", # required
# tags: [
# {
# key: "String",
# value: "String",
# },
# ],
# })
#
# @example Response structure
#
# resp.db_parameter_group.db_parameter_group_name #=> String
# resp.db_parameter_group.db_parameter_group_family #=> String
# resp.db_parameter_group.description #=> String
# resp.db_parameter_group.db_parameter_group_arn #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBParameterGroup AWS API Documentation
#
# @overload copy_db_parameter_group(params = {})
# @param [Hash] params ({})
def copy_db_parameter_group(params = {}, options = {})
req = build_request(:copy_db_parameter_group, params)
req.send_request(options)
end
# Copies the specified DB snapshot. The source DB snapshot must be in
# the "available" state.
#
# You can copy a snapshot from one AWS Region to another. In that case,
# the AWS Region where you call the `CopyDBSnapshot` action is the
# destination AWS Region for the DB snapshot copy.
#
# For more information about copying snapshots, see [Copying a DB
# Snapshot][1] in the *Amazon RDS User Guide.*
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopySnapshot.html#USER_CopyDBSnapshot
#
# @option params [required, String] :source_db_snapshot_identifier
# The identifier for the source DB snapshot.
#
# If the source snapshot is in the same AWS 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 AWS 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 AWS Region, and must match the
# `SourceDBSnapshotIdentifier` in the `PreSignedUrl` parameter.
#
# 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`
#
# @option params [required, String] :target_db_snapshot_identifier
# 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`
#
# @option params [String] :kms_key_id
# The AWS KMS key ID for an encrypted DB snapshot. The KMS key ID is the
# Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias
# for the KMS encryption key.
#
# If you copy an encrypted DB snapshot from your AWS account, you can
# specify a value for this parameter to encrypt the copy with a new KMS
# encryption key. If you don't specify a value for this parameter, then
# the copy of the DB snapshot is encrypted with the same KMS key as the
# source DB snapshot.
#
# If you copy an encrypted DB snapshot that is shared from another AWS
# 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 AWS Region, then you
# must specify a KMS key for the destination AWS Region. KMS encryption
# keys are specific to the AWS Region that they are created in, and you
# can't use encryption keys from one AWS Region in another AWS Region.
#
# @option params [Array] :tags
# A list of tags. For more information, see [Tagging Amazon RDS
# Resources][1] in the *Amazon RDS User Guide.*
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html
#
# @option params [Boolean] :copy_tags
# A value that indicates whether to copy all tags from the source DB
# snapshot to the target DB snapshot. By default, tags are not copied.
#
# @option params [String] :pre_signed_url
# The URL that contains a Signature Version 4 signed request for the
# `CopyDBSnapshot` API action in the source AWS Region that contains the
# source DB snapshot to copy.
#
# You must specify this parameter when you copy an encrypted DB snapshot
# from another AWS Region by using the Amazon RDS API. Don't specify
# `PreSignedUrl` when you are copying an encrypted DB snapshot in the
# same AWS Region.
#
# The presigned URL must be a valid request for the `CopyDBSnapshot` API
# action that can be executed in the source AWS Region that contains the
# encrypted DB snapshot to be copied. The presigned URL request must
# contain the following parameter values:
#
# * `DestinationRegion` - The AWS Region that the encrypted DB snapshot
# is copied to. This AWS Region is the same one where the
# `CopyDBSnapshot` action is called that contains this presigned URL.
#
# For example, if you copy an encrypted DB snapshot from the us-west-2
# AWS Region to the us-east-1 AWS Region, then you call the
# `CopyDBSnapshot` action in the us-east-1 AWS Region and provide a
# presigned URL that contains a call to the `CopyDBSnapshot` action in
# the us-west-2 AWS Region. For this example, the `DestinationRegion`
# in the presigned URL must be set to the us-east-1 AWS Region.
#
# * `KmsKeyId` - The AWS KMS key identifier for the key to use to
# encrypt the copy of the DB snapshot in the destination AWS Region.
# This is the same identifier for both the `CopyDBSnapshot` action
# that is called in the destination AWS Region, and the action
# 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 AWS Region. For
# example, if you are copying an encrypted DB snapshot from the
# us-west-2 AWS 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 (AWS Signature
# Version 4)][1] and [Signature Version 4 Signing Process][2].
#
# If you are using an AWS SDK tool or the AWS CLI, you can specify
# `SourceRegion` (or `--source-region` for the AWS CLI) instead of
# specifying `PreSignedUrl` manually. Specifying `SourceRegion`
# autogenerates a pre-signed URL that is a valid request for the
# operation that can be executed in the source AWS Region.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html
# [2]: https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html
#
# @option params [String] :option_group_name
# 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 AWS 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
# AWS Regions. For more information, see [Option Group
# Considerations][1] in the *Amazon RDS User Guide.*
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopySnapshot.html#USER_CopySnapshot.Options
#
# @option params [String] :source_region
# The source region of the snapshot. This is only needed when the
# shapshot is encrypted and in a different region.
#
# @return [Types::CopyDBSnapshotResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::CopyDBSnapshotResult#db_snapshot #db_snapshot} => Types::DBSnapshot
#
#
# @example Example: To copy a DB snapshot
#
# # This example copies a DB snapshot.
#
# resp = client.copy_db_snapshot({
# source_db_snapshot_identifier: "mydbsnapshot",
# target_db_snapshot_identifier: "mydbsnapshot-copy",
# })
#
# resp.to_h outputs the following:
# {
# db_snapshot: {
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.copy_db_snapshot({
# source_db_snapshot_identifier: "String", # required
# target_db_snapshot_identifier: "String", # required
# kms_key_id: "String",
# tags: [
# {
# key: "String",
# value: "String",
# },
# ],
# copy_tags: false,
# pre_signed_url: "String",
# option_group_name: "String",
# source_region: "String",
# })
#
# @example Response structure
#
# resp.db_snapshot.db_snapshot_identifier #=> String
# resp.db_snapshot.db_instance_identifier #=> String
# resp.db_snapshot.snapshot_create_time #=> Time
# resp.db_snapshot.engine #=> String
# resp.db_snapshot.allocated_storage #=> Integer
# resp.db_snapshot.status #=> String
# resp.db_snapshot.port #=> Integer
# resp.db_snapshot.availability_zone #=> String
# resp.db_snapshot.vpc_id #=> String
# resp.db_snapshot.instance_create_time #=> Time
# resp.db_snapshot.master_username #=> String
# resp.db_snapshot.engine_version #=> String
# resp.db_snapshot.license_model #=> String
# resp.db_snapshot.snapshot_type #=> String
# resp.db_snapshot.iops #=> Integer
# resp.db_snapshot.option_group_name #=> String
# resp.db_snapshot.percent_progress #=> Integer
# resp.db_snapshot.source_region #=> String
# resp.db_snapshot.source_db_snapshot_identifier #=> String
# resp.db_snapshot.storage_type #=> String
# resp.db_snapshot.tde_credential_arn #=> String
# resp.db_snapshot.encrypted #=> Boolean
# resp.db_snapshot.kms_key_id #=> String
# resp.db_snapshot.db_snapshot_arn #=> String
# resp.db_snapshot.timezone #=> String
# resp.db_snapshot.iam_database_authentication_enabled #=> Boolean
# resp.db_snapshot.processor_features #=> Array
# resp.db_snapshot.processor_features[0].name #=> String
# resp.db_snapshot.processor_features[0].value #=> String
# resp.db_snapshot.dbi_resource_id #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBSnapshot AWS API Documentation
#
# @overload copy_db_snapshot(params = {})
# @param [Hash] params ({})
def copy_db_snapshot(params = {}, options = {})
req = build_request(:copy_db_snapshot, params)
req.send_request(options)
end
# Copies the specified option group.
#
# @option params [required, String] :source_option_group_identifier
# The identifier or ARN for the source option group. For information
# about creating an ARN, see [ Constructing an ARN for Amazon RDS][1] in
# the *Amazon RDS User Guide*.
#
# Constraints:
#
# * Must specify a valid option group.
#
# * If the source option group is in the same AWS Region as the copy,
# specify a valid option group identifier, for example
# `my-option-group`, or a valid ARN.
#
# * If the source option group is in a different AWS Region than the
# copy, specify a valid option group ARN, for example
# `arn:aws:rds:us-west-2:123456789012:og:special-options`.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing
#
# @option params [required, String] :target_option_group_identifier
# 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`
#
# @option params [required, String] :target_option_group_description
# The description for the copied option group.
#
# @option params [Array] :tags
# A list of tags. For more information, see [Tagging Amazon RDS
# Resources][1] in the *Amazon RDS User Guide.*
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html
#
# @return [Types::CopyOptionGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::CopyOptionGroupResult#option_group #option_group} => Types::OptionGroup
#
#
# @example Example: To copy an option group
#
# # This example copies an option group.
#
# resp = client.copy_option_group({
# source_option_group_identifier: "mymysqloptiongroup",
# target_option_group_description: "My MySQL option group copy",
# target_option_group_identifier: "mymysqloptiongroup-copy",
# })
#
# resp.to_h outputs the following:
# {
# option_group: {
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.copy_option_group({
# source_option_group_identifier: "String", # required
# target_option_group_identifier: "String", # required
# target_option_group_description: "String", # required
# tags: [
# {
# key: "String",
# value: "String",
# },
# ],
# })
#
# @example Response structure
#
# resp.option_group.option_group_name #=> String
# resp.option_group.option_group_description #=> String
# resp.option_group.engine_name #=> String
# resp.option_group.major_engine_version #=> String
# resp.option_group.options #=> Array
# resp.option_group.options[0].option_name #=> String
# resp.option_group.options[0].option_description #=> String
# resp.option_group.options[0].persistent #=> Boolean
# resp.option_group.options[0].permanent #=> Boolean
# resp.option_group.options[0].port #=> Integer
# resp.option_group.options[0].option_version #=> String
# resp.option_group.options[0].option_settings #=> Array
# resp.option_group.options[0].option_settings[0].name #=> String
# resp.option_group.options[0].option_settings[0].value #=> String
# resp.option_group.options[0].option_settings[0].default_value #=> String
# resp.option_group.options[0].option_settings[0].description #=> String
# resp.option_group.options[0].option_settings[0].apply_type #=> String
# resp.option_group.options[0].option_settings[0].data_type #=> String
# resp.option_group.options[0].option_settings[0].allowed_values #=> String
# resp.option_group.options[0].option_settings[0].is_modifiable #=> Boolean
# resp.option_group.options[0].option_settings[0].is_collection #=> Boolean
# resp.option_group.options[0].db_security_group_memberships #=> Array
# resp.option_group.options[0].db_security_group_memberships[0].db_security_group_name #=> String
# resp.option_group.options[0].db_security_group_memberships[0].status #=> String
# resp.option_group.options[0].vpc_security_group_memberships #=> Array
# resp.option_group.options[0].vpc_security_group_memberships[0].vpc_security_group_id #=> String
# resp.option_group.options[0].vpc_security_group_memberships[0].status #=> String
# resp.option_group.allows_vpc_and_non_vpc_instance_memberships #=> Boolean
# resp.option_group.vpc_id #=> String
# resp.option_group.option_group_arn #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyOptionGroup AWS API Documentation
#
# @overload copy_option_group(params = {})
# @param [Hash] params ({})
def copy_option_group(params = {}, options = {})
req = build_request(:copy_option_group, params)
req.send_request(options)
end
# Creates a custom Availability Zone (AZ).
#
# A custom AZ is an on-premises AZ that is integrated with a VMware
# vSphere cluster.
#
# For more information about RDS on VMware, see the [ *RDS on VMware
# User Guide.* ][1]
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html
#
# @option params [required, String] :custom_availability_zone_name
# The name of the custom Availability Zone (AZ).
#
# @option params [String] :existing_vpn_id
# The ID of an existing virtual private network (VPN) between the Amazon
# RDS website and the VMware vSphere cluster.
#
# @option params [String] :new_vpn_tunnel_name
# The name of a new VPN tunnel between the Amazon RDS website and the
# VMware vSphere cluster.
#
# Specify this parameter only if `ExistingVpnId` isn't specified.
#
# @option params [String] :vpn_tunnel_originator_ip
# The IP address of network traffic from your on-premises data center. A
# custom AZ receives the network traffic.
#
# Specify this parameter only if `ExistingVpnId` isn't specified.
#
# @return [Types::CreateCustomAvailabilityZoneResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::CreateCustomAvailabilityZoneResult#custom_availability_zone #custom_availability_zone} => Types::CustomAvailabilityZone
#
# @example Request syntax with placeholder values
#
# resp = client.create_custom_availability_zone({
# custom_availability_zone_name: "String", # required
# existing_vpn_id: "String",
# new_vpn_tunnel_name: "String",
# vpn_tunnel_originator_ip: "String",
# })
#
# @example Response structure
#
# resp.custom_availability_zone.custom_availability_zone_id #=> String
# resp.custom_availability_zone.custom_availability_zone_name #=> String
# resp.custom_availability_zone.custom_availability_zone_status #=> String
# resp.custom_availability_zone.vpn_details.vpn_id #=> String
# resp.custom_availability_zone.vpn_details.vpn_tunnel_originator_ip #=> String
# resp.custom_availability_zone.vpn_details.vpn_gateway_ip #=> String
# resp.custom_availability_zone.vpn_details.vpn_psk #=> String
# resp.custom_availability_zone.vpn_details.vpn_name #=> String
# resp.custom_availability_zone.vpn_details.vpn_state #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateCustomAvailabilityZone AWS API Documentation
#
# @overload create_custom_availability_zone(params = {})
# @param [Hash] params ({})
def create_custom_availability_zone(params = {}, options = {})
req = build_request(:create_custom_availability_zone, params)
req.send_request(options)
end
# Creates a new Amazon Aurora DB cluster.
#
# You can use the `ReplicationSourceIdentifier` parameter to create the
# DB cluster as a read replica of another DB cluster or Amazon RDS MySQL
# DB instance. For cross-region replication where the DB cluster
# identified by `ReplicationSourceIdentifier` is encrypted, you must
# also specify the `PreSignedUrl` parameter.
#
# For more information on Amazon Aurora, see [ What Is Amazon
# Aurora?][1] in the *Amazon Aurora User Guide.*
#
# This action only applies to Aurora DB clusters.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html
#
# @option params [Array] :availability_zones
# A list of Availability Zones (AZs) where instances in the DB cluster
# can be created. For information on AWS Regions and Availability Zones,
# see [Choosing the Regions and Availability Zones][1] in the *Amazon
# Aurora User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.RegionsAndAvailabilityZones.html
#
# @option params [Integer] :backup_retention_period
# The number of days for which automated backups are retained.
#
# Default: 1
#
# Constraints:
#
# * Must be a value from 1 to 35
#
# ^
#
# @option params [String] :character_set_name
# A value that indicates that the DB cluster should be associated with
# the specified CharacterSet.
#
# @option params [String] :database_name
# The name for your database of up to 64 alphanumeric characters. If you
# do not provide a name, Amazon RDS doesn't create a database in the DB
# cluster you are creating.
#
# @option params [required, String] :db_cluster_identifier
# The DB cluster identifier. 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`
#
# @option params [String] :db_cluster_parameter_group_name
# The name of the DB cluster parameter group to associate with this DB
# cluster. If you do not specify a value, then the default DB cluster
# parameter group for the specified DB engine and version is used.
#
# Constraints:
#
# * If supplied, must match the name of an existing DB cluster parameter
# group.
#
# ^
#
# @option params [Array] :vpc_security_group_ids
# A list of EC2 VPC security groups to associate with this DB cluster.
#
# @option params [String] :db_subnet_group_name
# A DB subnet group to associate with this DB cluster.
#
# Constraints: Must match the name of an existing DBSubnetGroup. Must
# not be default.
#
# Example: `mySubnetgroup`
#
# @option params [required, String] :engine
# The name of the database engine to be used for this DB cluster.
#
# Valid Values: `aurora` (for MySQL 5.6-compatible Aurora),
# `aurora-mysql` (for MySQL 5.7-compatible Aurora), and
# `aurora-postgresql`
#
# @option params [String] :engine_version
# The version number of the database engine to use.
#
# To list all of the available engine versions for `aurora` (for MySQL
# 5.6-compatible Aurora), use the following command:
#
# `aws rds describe-db-engine-versions --engine aurora --query
# "DBEngineVersions[].EngineVersion"`
#
# To list all of the available engine versions for `aurora-mysql` (for
# MySQL 5.7-compatible Aurora), use the following command:
#
# `aws rds describe-db-engine-versions --engine aurora-mysql --query
# "DBEngineVersions[].EngineVersion"`
#
# 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"`
#
# **Aurora MySQL**
#
# Example: `5.6.10a`, `5.6.mysql_aurora.1.19.2`, `5.7.12`,
# `5.7.mysql_aurora.2.04.5`
#
# **Aurora PostgreSQL**
#
# Example: `9.6.3`, `10.7`
#
# @option params [Integer] :port
# The port number on which the instances in the DB cluster accept
# connections.
#
# Default: `3306` if engine is set as aurora or `5432` if set to
# aurora-postgresql.
#
# @option params [String] :master_username
# The name of the master user for the DB cluster.
#
# 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.
#
# @option params [String] :master_user_password
# The password for the master database user. This password can contain
# any printable ASCII character except "/", """, or "@".
#
# Constraints: Must contain from 8 to 41 characters.
#
# @option params [String] :option_group_name
# A value that indicates that the DB cluster should be associated with
# the specified option group.
#
# Permanent options can't be removed from an option group. The option
# group can't be removed from a DB cluster once it is associated with a
# DB cluster.
#
# @option params [String] :preferred_backup_window
# 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 AWS Region. To see the time blocks available,
# see [ Adjusting the Preferred DB Cluster Maintenance Window][1] 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.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora
#
# @option params [String] :preferred_maintenance_window
# The weekly time range during which system maintenance can occur, in
# Universal Coordinated Time (UTC).
#
# Format: `ddd:hh24:mi-ddd:hh24:mi`
#
# The default is a 30-minute window selected at random from an 8-hour
# block of time for each AWS Region, occurring on a random day of the
# week. To see the time blocks available, see [ Adjusting the Preferred
# DB Cluster Maintenance Window][1] in the *Amazon Aurora User Guide.*
#
# Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
#
# Constraints: Minimum 30-minute window.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora
#
# @option params [String] :replication_source_identifier
# The Amazon Resource Name (ARN) of the source DB instance or DB cluster
# if this DB cluster is created as a read replica.
#
# @option params [Array] :tags
# Tags to assign to the DB cluster.
#
# @option params [Boolean] :storage_encrypted
# A value that indicates whether the DB cluster is encrypted.
#
# @option params [String] :kms_key_id
# The AWS KMS key identifier for an encrypted DB cluster.
#
# The KMS key identifier is the Amazon Resource Name (ARN) for the KMS
# encryption key. If you are creating a DB cluster with the same AWS
# account that owns the KMS encryption key used to encrypt the new DB
# cluster, then you can use the KMS key alias instead of the ARN for the
# KMS encryption key.
#
# If an encryption key isn't specified in `KmsKeyId`\:
#
# * If `ReplicationSourceIdentifier` identifies an encrypted source,
# then Amazon RDS will use the encryption key used to encrypt the
# source. Otherwise, Amazon RDS will use your default encryption key.
#
# * If the `StorageEncrypted` parameter is enabled and
# `ReplicationSourceIdentifier` isn't specified, then Amazon RDS will
# use your default encryption key.
#
# AWS KMS creates the default encryption key for your AWS account. Your
# AWS account has a different default encryption key for each AWS
# Region.
#
# If you create a read replica of an encrypted DB cluster in another AWS
# Region, you must set `KmsKeyId` to a KMS key ID that is valid in the
# destination AWS Region. This key is used to encrypt the read replica
# in that AWS Region.
#
# @option params [String] :pre_signed_url
# A URL that contains a Signature Version 4 signed request for the
# `CreateDBCluster` action to be called in the source AWS Region where
# the DB cluster is replicated from. You only need to specify
# `PreSignedUrl` when you are performing cross-region replication from
# an encrypted DB cluster.
#
# The pre-signed URL must be a valid request for the `CreateDBCluster`
# API action that can be executed in the source AWS Region that contains
# the encrypted DB cluster to be copied.
#
# The pre-signed URL request must contain the following parameter
# values:
#
# * `KmsKeyId` - The AWS KMS key identifier for the key to use to
# encrypt the copy of the DB cluster in the destination AWS Region.
# This should refer to the same KMS key for both the `CreateDBCluster`
# action that is called in the destination AWS Region, and the action
# contained in the pre-signed URL.
#
# * `DestinationRegion` - The name of the AWS 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 AWS Region. For
# example, if you are copying an encrypted DB cluster from the
# us-west-2 AWS 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 (AWS Signature Version
# 4)][1] and [ Signature Version 4 Signing Process][2].
#
# If you are using an AWS SDK tool or the AWS CLI, you can specify
# `SourceRegion` (or `--source-region` for the AWS CLI) instead of
# specifying `PreSignedUrl` manually. Specifying `SourceRegion`
# autogenerates a pre-signed URL that is a valid request for the
# operation that can be executed in the source AWS Region.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html
# [2]: https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html
#
# @option params [Boolean] :enable_iam_database_authentication
# A value that indicates whether to enable mapping of AWS Identity and
# Access Management (IAM) accounts to database accounts. By default,
# mapping is disabled.
#
# For more information, see [ IAM Database Authentication][1] in the
# *Amazon Aurora User Guide.*
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html
#
# @option params [Integer] :backtrack_window
# The target backtrack window, in seconds. To disable backtracking, set
# this value to 0.
#
# Currently, Backtrack is only supported for Aurora MySQL DB clusters.
#
#
#
# Default: 0
#
# Constraints:
#
# * If specified, this value must be set to a number from 0 to 259,200
# (72 hours).
#
# ^
#
# @option params [Array] :enable_cloudwatch_logs_exports
# The list of log types that need to be enabled for exporting 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][1] in the *Amazon Aurora User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch
#
# @option params [String] :engine_mode
# The DB engine mode of the DB cluster, either `provisioned`,
# `serverless`, `parallelquery`, `global`, or `multimaster`.
#
# `global` engine mode only applies for global database clusters created
# with Aurora MySQL version 5.6.10a. For higher Aurora MySQL versions,
# the clusters in a global database use `provisioned` engine mode.
#
#
#
# Limitations and requirements apply to some DB engine modes. For more
# information, see the following sections in the *Amazon Aurora User
# Guide*\:
#
# * [ Limitations of Aurora Serverless][1]
#
# * [ Limitations of Parallel Query][2]
#
# * [ Requirements for Aurora Global Databases][3]
#
# * [ Limitations of Multi-Master Clusters][4]
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html#aurora-serverless.limitations
# [2]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-mysql-parallel-query.html#aurora-mysql-parallel-query-limitations
# [3]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html#aurora-global-database.limitations
# [4]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-multi-master.html#aurora-multi-master-limitations
#
# @option params [Types::ScalingConfiguration] :scaling_configuration
# For DB clusters in `serverless` DB engine mode, the scaling properties
# of the DB cluster.
#
# @option params [Boolean] :deletion_protection
# A value that indicates whether the DB cluster has deletion protection
# enabled. The database can't be deleted when deletion protection is
# enabled. By default, deletion protection is disabled.
#
# @option params [String] :global_cluster_identifier
# The global cluster ID of an Aurora cluster that becomes the primary
# cluster in the new global database cluster.
#
# @option params [Boolean] :enable_http_endpoint
# A value that indicates whether to enable the HTTP endpoint for an
# Aurora Serverless DB cluster. By default, the HTTP endpoint is
# disabled.
#
# When enabled, the HTTP endpoint provides a connectionless web service
# API for running SQL queries on the Aurora Serverless DB cluster. You
# can also query your database from inside the RDS console with the
# query editor.
#
# For more information, see [Using the Data API for Aurora
# Serverless][1] in the *Amazon Aurora User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html
#
# @option params [Boolean] :copy_tags_to_snapshot
# A value that indicates whether to copy all tags from the DB cluster to
# snapshots of the DB cluster. The default is not to copy them.
#
# @option params [String] :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][1] in the *Amazon
# Aurora User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/kerberos-authentication.html
#
# @option params [String] :domain_iam_role_name
# Specify the name of the IAM role to be used when making API calls to
# the Directory Service.
#
# @option params [Boolean] :enable_global_write_forwarding
# A value that indicates whether to enable write operations to be
# forwarded from this cluster to the primary cluster in an Aurora global
# database. The resulting changes are replicated back to this cluster.
# This parameter only applies to DB clusters that are secondary clusters
# in an Aurora global database. By default, Aurora disallows write
# operations for secondary clusters.
#
# @option params [String] :source_region
# The source region of the snapshot. This is only needed when the
# shapshot is encrypted and in a different region.
#
# @return [Types::CreateDBClusterResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::CreateDBClusterResult#db_cluster #db_cluster} => Types::DBCluster
#
#
# @example Example: To create a DB cluster
#
# # This example creates a DB cluster.
#
# resp = client.create_db_cluster({
# availability_zones: [
# "us-east-1a",
# ],
# backup_retention_period: 1,
# db_cluster_identifier: "mydbcluster",
# db_cluster_parameter_group_name: "mydbclusterparametergroup",
# database_name: "myauroradb",
# engine: "aurora",
# engine_version: "5.6.10a",
# master_user_password: "mypassword",
# master_username: "myuser",
# port: 3306,
# storage_encrypted: true,
# })
#
# resp.to_h outputs the following:
# {
# db_cluster: {
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.create_db_cluster({
# availability_zones: ["String"],
# backup_retention_period: 1,
# character_set_name: "String",
# database_name: "String",
# db_cluster_identifier: "String", # required
# db_cluster_parameter_group_name: "String",
# vpc_security_group_ids: ["String"],
# db_subnet_group_name: "String",
# engine: "String", # required
# engine_version: "String",
# port: 1,
# master_username: "String",
# master_user_password: "String",
# option_group_name: "String",
# preferred_backup_window: "String",
# preferred_maintenance_window: "String",
# replication_source_identifier: "String",
# tags: [
# {
# key: "String",
# value: "String",
# },
# ],
# storage_encrypted: false,
# kms_key_id: "String",
# pre_signed_url: "String",
# enable_iam_database_authentication: false,
# backtrack_window: 1,
# enable_cloudwatch_logs_exports: ["String"],
# engine_mode: "String",
# scaling_configuration: {
# min_capacity: 1,
# max_capacity: 1,
# auto_pause: false,
# seconds_until_auto_pause: 1,
# timeout_action: "String",
# },
# deletion_protection: false,
# global_cluster_identifier: "String",
# enable_http_endpoint: false,
# copy_tags_to_snapshot: false,
# domain: "String",
# domain_iam_role_name: "String",
# enable_global_write_forwarding: false,
# source_region: "String",
# })
#
# @example Response structure
#
# resp.db_cluster.allocated_storage #=> Integer
# resp.db_cluster.availability_zones #=> Array
# resp.db_cluster.availability_zones[0] #=> String
# resp.db_cluster.backup_retention_period #=> Integer
# resp.db_cluster.character_set_name #=> String
# resp.db_cluster.database_name #=> String
# resp.db_cluster.db_cluster_identifier #=> String
# resp.db_cluster.db_cluster_parameter_group #=> String
# resp.db_cluster.db_subnet_group #=> String
# resp.db_cluster.status #=> String
# resp.db_cluster.percent_progress #=> String
# resp.db_cluster.earliest_restorable_time #=> Time
# resp.db_cluster.endpoint #=> String
# resp.db_cluster.reader_endpoint #=> String
# resp.db_cluster.custom_endpoints #=> Array
# resp.db_cluster.custom_endpoints[0] #=> String
# resp.db_cluster.multi_az #=> Boolean
# resp.db_cluster.engine #=> String
# resp.db_cluster.engine_version #=> String
# resp.db_cluster.latest_restorable_time #=> Time
# resp.db_cluster.port #=> Integer
# resp.db_cluster.master_username #=> String
# resp.db_cluster.db_cluster_option_group_memberships #=> Array
# resp.db_cluster.db_cluster_option_group_memberships[0].db_cluster_option_group_name #=> String
# resp.db_cluster.db_cluster_option_group_memberships[0].status #=> String
# resp.db_cluster.preferred_backup_window #=> String
# resp.db_cluster.preferred_maintenance_window #=> String
# resp.db_cluster.replication_source_identifier #=> String
# resp.db_cluster.read_replica_identifiers #=> Array
# resp.db_cluster.read_replica_identifiers[0] #=> String
# resp.db_cluster.db_cluster_members #=> Array
# resp.db_cluster.db_cluster_members[0].db_instance_identifier #=> String
# resp.db_cluster.db_cluster_members[0].is_cluster_writer #=> Boolean
# resp.db_cluster.db_cluster_members[0].db_cluster_parameter_group_status #=> String
# resp.db_cluster.db_cluster_members[0].promotion_tier #=> Integer
# resp.db_cluster.vpc_security_groups #=> Array
# resp.db_cluster.vpc_security_groups[0].vpc_security_group_id #=> String
# resp.db_cluster.vpc_security_groups[0].status #=> String
# resp.db_cluster.hosted_zone_id #=> String
# resp.db_cluster.storage_encrypted #=> Boolean
# resp.db_cluster.kms_key_id #=> String
# resp.db_cluster.db_cluster_resource_id #=> String
# resp.db_cluster.db_cluster_arn #=> String
# resp.db_cluster.associated_roles #=> Array
# resp.db_cluster.associated_roles[0].role_arn #=> String
# resp.db_cluster.associated_roles[0].status #=> String
# resp.db_cluster.associated_roles[0].feature_name #=> String
# resp.db_cluster.iam_database_authentication_enabled #=> Boolean
# resp.db_cluster.clone_group_id #=> String
# resp.db_cluster.cluster_create_time #=> Time
# resp.db_cluster.earliest_backtrack_time #=> Time
# resp.db_cluster.backtrack_window #=> Integer
# resp.db_cluster.backtrack_consumed_change_records #=> Integer
# resp.db_cluster.enabled_cloudwatch_logs_exports #=> Array
# resp.db_cluster.enabled_cloudwatch_logs_exports[0] #=> String
# resp.db_cluster.capacity #=> Integer
# resp.db_cluster.engine_mode #=> String
# resp.db_cluster.scaling_configuration_info.min_capacity #=> Integer
# resp.db_cluster.scaling_configuration_info.max_capacity #=> Integer
# resp.db_cluster.scaling_configuration_info.auto_pause #=> Boolean
# resp.db_cluster.scaling_configuration_info.seconds_until_auto_pause #=> Integer
# resp.db_cluster.scaling_configuration_info.timeout_action #=> String
# resp.db_cluster.deletion_protection #=> Boolean
# resp.db_cluster.http_endpoint_enabled #=> Boolean
# resp.db_cluster.activity_stream_mode #=> String, one of "sync", "async"
# resp.db_cluster.activity_stream_status #=> String, one of "stopped", "starting", "started", "stopping"
# resp.db_cluster.activity_stream_kms_key_id #=> String
# resp.db_cluster.activity_stream_kinesis_stream_name #=> String
# resp.db_cluster.copy_tags_to_snapshot #=> Boolean
# resp.db_cluster.cross_account_clone #=> Boolean
# resp.db_cluster.domain_memberships #=> Array
# resp.db_cluster.domain_memberships[0].domain #=> String
# resp.db_cluster.domain_memberships[0].status #=> String
# resp.db_cluster.domain_memberships[0].fqdn #=> String
# resp.db_cluster.domain_memberships[0].iam_role_name #=> String
# resp.db_cluster.global_write_forwarding_status #=> String, one of "enabled", "disabled", "enabling", "disabling", "unknown"
# resp.db_cluster.global_write_forwarding_requested #=> Boolean
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBCluster AWS API Documentation
#
# @overload create_db_cluster(params = {})
# @param [Hash] params ({})
def create_db_cluster(params = {}, options = {})
req = build_request(:create_db_cluster, params)
req.send_request(options)
end
# Creates a new custom endpoint and associates it with an Amazon Aurora
# DB cluster.
#
# This action only applies to Aurora DB clusters.
#
#
#
# @option params [required, String] :db_cluster_identifier
# The DB cluster identifier of the DB cluster associated with the
# endpoint. This parameter is stored as a lowercase string.
#
# @option params [required, String] :db_cluster_endpoint_identifier
# The identifier to use for the new endpoint. This parameter is stored
# as a lowercase string.
#
# @option params [required, String] :endpoint_type
# The type of the endpoint. One of: `READER`, `WRITER`, `ANY`.
#
# @option params [Array] :static_members
# List of DB instance identifiers that are part of the custom endpoint
# group.
#
# @option params [Array] :excluded_members
# List of DB instance identifiers that aren't part of the custom
# endpoint group. All other eligible instances are reachable through the
# custom endpoint. Only relevant if the list of static members is empty.
#
# @option params [Array] :tags
# The tags to be assigned to the Amazon RDS resource.
#
# @return [Types::DBClusterEndpoint] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DBClusterEndpoint#db_cluster_endpoint_identifier #db_cluster_endpoint_identifier} => String
# * {Types::DBClusterEndpoint#db_cluster_identifier #db_cluster_identifier} => String
# * {Types::DBClusterEndpoint#db_cluster_endpoint_resource_identifier #db_cluster_endpoint_resource_identifier} => String
# * {Types::DBClusterEndpoint#endpoint #endpoint} => String
# * {Types::DBClusterEndpoint#status #status} => String
# * {Types::DBClusterEndpoint#endpoint_type #endpoint_type} => String
# * {Types::DBClusterEndpoint#custom_endpoint_type #custom_endpoint_type} => String
# * {Types::DBClusterEndpoint#static_members #static_members} => Array<String>
# * {Types::DBClusterEndpoint#excluded_members #excluded_members} => Array<String>
# * {Types::DBClusterEndpoint#db_cluster_endpoint_arn #db_cluster_endpoint_arn} => String
#
# @example Request syntax with placeholder values
#
# resp = client.create_db_cluster_endpoint({
# db_cluster_identifier: "String", # required
# db_cluster_endpoint_identifier: "String", # required
# endpoint_type: "String", # required
# static_members: ["String"],
# excluded_members: ["String"],
# tags: [
# {
# key: "String",
# value: "String",
# },
# ],
# })
#
# @example Response structure
#
# resp.db_cluster_endpoint_identifier #=> String
# resp.db_cluster_identifier #=> String
# resp.db_cluster_endpoint_resource_identifier #=> String
# resp.endpoint #=> String
# resp.status #=> String
# resp.endpoint_type #=> String
# resp.custom_endpoint_type #=> String
# resp.static_members #=> Array
# resp.static_members[0] #=> String
# resp.excluded_members #=> Array
# resp.excluded_members[0] #=> String
# resp.db_cluster_endpoint_arn #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterEndpoint AWS API Documentation
#
# @overload create_db_cluster_endpoint(params = {})
# @param [Hash] params ({})
def create_db_cluster_endpoint(params = {}, options = {})
req = build_request(:create_db_cluster_endpoint, params)
req.send_request(options)
end
# Creates a new DB cluster parameter group.
#
# Parameters in a DB cluster parameter group apply to all of the
# instances in a DB cluster.
#
# A DB cluster parameter group is initially created with the default
# parameters for the database engine used by instances in the DB
# cluster. To provide custom values for any of the parameters, you must
# modify the group after creating it using
# `ModifyDBClusterParameterGroup`. Once you've created a DB cluster
# parameter group, you need to associate it with your DB cluster using
# `ModifyDBCluster`. When you associate a new DB cluster parameter group
# with a running DB cluster, you need to reboot the DB instances in the
# DB cluster without failover for the new DB cluster parameter group and
# associated settings to take effect.
#
# After you create a DB cluster parameter group, you should wait at
# least 5 minutes before creating your first DB cluster that uses that
# DB cluster parameter group as the default parameter group. This allows
# Amazon RDS to fully complete the create action before the DB cluster
# parameter group is used as the default for a new DB cluster. This is
# especially important for parameters that are critical when creating
# the default database for a DB cluster, such as the character set for
# the default database defined by the `character_set_database`
# parameter. You can use the *Parameter Groups* option of the [Amazon
# RDS console][1] or the `DescribeDBClusterParameters` action to verify
# that your DB cluster parameter group has been created or modified.
#
# For more information on Amazon Aurora, see [ What Is Amazon
# Aurora?][2] in the *Amazon Aurora User Guide.*
#
# This action only applies to Aurora DB clusters.
#
#
#
#
#
# [1]: https://console.aws.amazon.com/rds/
# [2]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html
#
# @option params [required, String] :db_cluster_parameter_group_name
# The name of the DB cluster parameter group.
#
# Constraints:
#
# * Must match the name of an existing DB cluster parameter group.
#
# ^
#
# This value is stored as a lowercase string.
#
#
#
# @option params [required, String] :db_parameter_group_family
# 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: `aurora5.6`, `aurora-mysql5.7`
#
# **Aurora PostgreSQL**
#
# Example: `aurora-postgresql9.6`
#
# @option params [required, String] :description
# The description for the DB cluster parameter group.
#
# @option params [Array] :tags
# Tags to assign to the DB cluster parameter group.
#
# @return [Types::CreateDBClusterParameterGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::CreateDBClusterParameterGroupResult#db_cluster_parameter_group #db_cluster_parameter_group} => Types::DBClusterParameterGroup
#
#
# @example Example: To create a DB cluster parameter group
#
# # This example creates a DB cluster parameter group.
#
# resp = client.create_db_cluster_parameter_group({
# db_cluster_parameter_group_name: "mydbclusterparametergroup",
# db_parameter_group_family: "aurora5.6",
# description: "My DB cluster parameter group",
# })
#
# resp.to_h outputs the following:
# {
# db_cluster_parameter_group: {
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.create_db_cluster_parameter_group({
# db_cluster_parameter_group_name: "String", # required
# db_parameter_group_family: "String", # required
# description: "String", # required
# tags: [
# {
# key: "String",
# value: "String",
# },
# ],
# })
#
# @example Response structure
#
# resp.db_cluster_parameter_group.db_cluster_parameter_group_name #=> String
# resp.db_cluster_parameter_group.db_parameter_group_family #=> String
# resp.db_cluster_parameter_group.description #=> String
# resp.db_cluster_parameter_group.db_cluster_parameter_group_arn #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterParameterGroup AWS API Documentation
#
# @overload create_db_cluster_parameter_group(params = {})
# @param [Hash] params ({})
def create_db_cluster_parameter_group(params = {}, options = {})
req = build_request(:create_db_cluster_parameter_group, params)
req.send_request(options)
end
# Creates a snapshot of a DB cluster. For more information on Amazon
# Aurora, see [ What Is Amazon Aurora?][1] in the *Amazon Aurora User
# Guide.*
#
# This action only applies to Aurora DB clusters.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html
#
# @option params [required, String] :db_cluster_snapshot_identifier
# 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`
#
# @option params [required, String] :db_cluster_identifier
# 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`
#
# @option params [Array] :tags
# The tags to be assigned to the DB cluster snapshot.
#
# @return [Types::CreateDBClusterSnapshotResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::CreateDBClusterSnapshotResult#db_cluster_snapshot #db_cluster_snapshot} => Types::DBClusterSnapshot
#
#
# @example Example: To create a DB cluster snapshot
#
# # This example creates a DB cluster snapshot.
#
# resp = client.create_db_cluster_snapshot({
# db_cluster_identifier: "mydbcluster",
# db_cluster_snapshot_identifier: "mydbclustersnapshot",
# })
#
# resp.to_h outputs the following:
# {
# db_cluster_snapshot: {
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.create_db_cluster_snapshot({
# db_cluster_snapshot_identifier: "String", # required
# db_cluster_identifier: "String", # required
# tags: [
# {
# key: "String",
# value: "String",
# },
# ],
# })
#
# @example Response structure
#
# resp.db_cluster_snapshot.availability_zones #=> Array
# resp.db_cluster_snapshot.availability_zones[0] #=> String
# resp.db_cluster_snapshot.db_cluster_snapshot_identifier #=> String
# resp.db_cluster_snapshot.db_cluster_identifier #=> String
# resp.db_cluster_snapshot.snapshot_create_time #=> Time
# resp.db_cluster_snapshot.engine #=> String
# resp.db_cluster_snapshot.allocated_storage #=> Integer
# resp.db_cluster_snapshot.status #=> String
# resp.db_cluster_snapshot.port #=> Integer
# resp.db_cluster_snapshot.vpc_id #=> String
# resp.db_cluster_snapshot.cluster_create_time #=> Time
# resp.db_cluster_snapshot.master_username #=> String
# resp.db_cluster_snapshot.engine_version #=> String
# resp.db_cluster_snapshot.license_model #=> String
# resp.db_cluster_snapshot.snapshot_type #=> String
# resp.db_cluster_snapshot.percent_progress #=> Integer
# resp.db_cluster_snapshot.storage_encrypted #=> Boolean
# resp.db_cluster_snapshot.kms_key_id #=> String
# resp.db_cluster_snapshot.db_cluster_snapshot_arn #=> String
# resp.db_cluster_snapshot.source_db_cluster_snapshot_arn #=> String
# resp.db_cluster_snapshot.iam_database_authentication_enabled #=> Boolean
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterSnapshot AWS API Documentation
#
# @overload create_db_cluster_snapshot(params = {})
# @param [Hash] params ({})
def create_db_cluster_snapshot(params = {}, options = {})
req = build_request(:create_db_cluster_snapshot, params)
req.send_request(options)
end
# Creates a new DB instance.
#
# @option params [String] :db_name
# The meaning of this parameter differs according to the database engine
# you use.
#
# **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.
#
# * Can't be a word reserved by the specified database engine
#
# **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.
#
# * Can't be a word reserved by the specified database engine
#
# **PostgreSQL**
#
# The name of the database to create when the DB instance is created. If
# this parameter isn't specified, the default "postgres" database is
# created in the DB instance.
#
# Constraints:
#
# * Must contain 1 to 63 letters, numbers, or underscores.
#
# * Must begin with a letter or an underscore. Subsequent characters can
# be letters, underscores, or digits (0-9).
#
# * Can't be a word reserved by the specified database engine
#
# **Oracle**
#
# The Oracle System ID (SID) of the created DB instance. If you specify
# `null`, the default value `ORCL` is used. You can't specify the
# string NULL, or any other reserved word, for `DBName`.
#
# Default: `ORCL`
#
# Constraints:
#
# * Can't be longer than 8 characters
#
# ^
#
# **SQL Server**
#
# Not applicable. Must be null.
#
# **Amazon Aurora**
#
# The name of the database to create when the primary instance of the DB
# cluster 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.
#
# * Can't be a word reserved by the specified database engine
#
# @option params [required, String] :db_instance_identifier
# The DB instance identifier. 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`
#
# @option params [Integer] :allocated_storage
# The amount of storage (in gibibytes) to allocate for the DB instance.
#
# Type: Integer
#
# **Amazon Aurora**
#
# Not applicable. 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.
#
# **MySQL**
#
# Constraints to the amount of storage for each storage type are the
# following:
#
# * General Purpose (SSD) storage (gp2): Must be an integer from 20 to
# 65536.
#
# * Provisioned IOPS storage (io1): Must be an integer from 100 to
# 65536.
#
# * Magnetic storage (standard): Must be an integer from 5 to 3072.
#
# **MariaDB**
#
# Constraints to the amount of storage for each storage type are the
# following:
#
# * General Purpose (SSD) storage (gp2): Must be an integer from 20 to
# 65536.
#
# * Provisioned IOPS storage (io1): Must be an integer from 100 to
# 65536.
#
# * Magnetic storage (standard): Must be an integer from 5 to 3072.
#
# **PostgreSQL**
#
# Constraints to the amount of storage for each storage type are the
# following:
#
# * General Purpose (SSD) storage (gp2): Must be an integer from 20 to
# 65536.
#
# * Provisioned IOPS storage (io1): Must be an integer from 100 to
# 65536.
#
# * Magnetic storage (standard): Must be an integer from 5 to 3072.
#
# **Oracle**
#
# Constraints to the amount of storage for each storage type are the
# following:
#
# * General Purpose (SSD) storage (gp2): Must be an integer from 20 to
# 65536.
#
# * Provisioned IOPS storage (io1): Must be an integer from 100 to
# 65536.
#
# * Magnetic storage (standard): Must be an integer from 10 to 3072.
#
# **SQL Server**
#
# Constraints to the amount of storage for each storage type are the
# following:
#
# * General Purpose (SSD) storage (gp2):
#
# * Enterprise and Standard editions: Must be an integer from 200 to
# 16384.
#
# * Web and Express editions: Must be an integer from 20 to 16384.
#
# * Provisioned IOPS storage (io1):
#
# * Enterprise and Standard editions: Must be an integer from 200 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 200 to
# 1024.
#
# * Web and Express editions: Must be an integer from 20 to 1024.
#
# @option params [required, String] :db_instance_class
# The compute and memory capacity of the DB instance, for example,
# `db.m4.large`. Not all DB instance classes are available in all AWS
# Regions, or for all database engines. For the full list of DB instance
# classes, and availability for your engine, see [DB Instance Class][1]
# in the *Amazon RDS User Guide.*
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html
#
# @option params [required, String] :engine
# The name of the database engine to be used for this instance.
#
# Not every database engine is available for every AWS Region.
#
# Valid Values:
#
# * `aurora` (for MySQL 5.6-compatible Aurora)
#
# * `aurora-mysql` (for MySQL 5.7-compatible Aurora)
#
# * `aurora-postgresql`
#
# * `mariadb`
#
# * `mysql`
#
# * `oracle-ee`
#
# * `oracle-se2`
#
# * `oracle-se1`
#
# * `oracle-se`
#
# * `postgres`
#
# * `sqlserver-ee`
#
# * `sqlserver-se`
#
# * `sqlserver-ex`
#
# * `sqlserver-web`
#
# @option params [String] :master_username
# The name for the master user.
#
# **Amazon Aurora**
#
# Not applicable. The name for the master user is managed by the DB
# cluster.
#
# **MariaDB**
#
# Constraints:
#
# * Required for MariaDB.
#
# * Must be 1 to 16 letters or numbers.
#
# * Can't be a reserved word for the chosen database engine.
#
# **Microsoft SQL Server**
#
# Constraints:
#
# * Required for SQL Server.
#
# * Must be 1 to 128 letters or numbers.
#
# * The first character must be a letter.
#
# * Can't be a reserved word for the chosen database engine.
#
# **MySQL**
#
# Constraints:
#
# * Required for MySQL.
#
# * 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.
#
# **Oracle**
#
# Constraints:
#
# * Required for Oracle.
#
# * Must be 1 to 30 letters or numbers.
#
# * First character must be a letter.
#
# * Can't be a reserved word for the chosen database engine.
#
# **PostgreSQL**
#
# Constraints:
#
# * Required for PostgreSQL.
#
# * Must be 1 to 63 letters or numbers.
#
# * First character must be a letter.
#
# * Can't be a reserved word for the chosen database engine.
#
# @option params [String] :master_user_password
# The password for the master user. The password can include any
# printable ASCII character except "/", """, or "@".
#
# **Amazon Aurora**
#
# Not applicable. The password for the master user is managed by the DB
# cluster.
#
# **MariaDB**
#
# Constraints: Must contain from 8 to 41 characters.
#
# **Microsoft SQL Server**
#
# Constraints: Must contain from 8 to 128 characters.
#
# **MySQL**
#
# Constraints: Must contain from 8 to 41 characters.
#
# **Oracle**
#
# Constraints: Must contain from 8 to 30 characters.
#
# **PostgreSQL**
#
# Constraints: Must contain from 8 to 128 characters.
#
# @option params [Array] :db_security_groups
# A list of DB security groups to associate with this DB instance.
#
# Default: The default DB security group for the database engine.
#
# @option params [Array] :vpc_security_group_ids
# A list of Amazon EC2 VPC security groups to associate with this DB
# instance.
#
# **Amazon Aurora**
#
# Not applicable. 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.
#
# @option params [String] :availability_zone
# The Availability Zone (AZ) where the database will be created. For
# information on AWS Regions and Availability Zones, see [Regions and
# Availability Zones][1].
#
# Default: A random, system-chosen Availability Zone in the endpoint's
# AWS Region.
#
# Example: `us-east-1d`
#
# Constraint: 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 AWS Region as the current endpoint.
#
# If you're creating a DB instance in an RDS on VMware environment,
# specify the identifier of the custom Availability Zone to create the
# DB instance in.
#
# For more information about RDS on VMware, see the [ *RDS on VMware
# User Guide.* ][2]
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html
# [2]: https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html
#
# @option params [String] :db_subnet_group_name
# A DB subnet group to associate with this DB instance.
#
# If there is no DB subnet group, then it is a non-VPC DB instance.
#
# @option params [String] :preferred_maintenance_window
# The time range each week during which system maintenance can occur, in
# Universal Coordinated Time (UTC). For more information, see [Amazon
# RDS Maintenance Window][1].
#
# Format: `ddd:hh24:mi-ddd:hh24:mi`
#
# The default is a 30-minute window selected at random from an 8-hour
# block of time for each AWS Region, occurring on a random day of the
# week.
#
# Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
#
# Constraints: Minimum 30-minute window.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance
#
# @option params [String] :db_parameter_group_name
# The name of the DB parameter group to associate with this DB instance.
# If you do not specify a value, then the default DB parameter group for
# the specified DB engine and version is used.
#
# 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
#
# @option params [Integer] :backup_retention_period
# 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.
#
# **Amazon Aurora**
#
# Not applicable. 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
#
# @option params [String] :preferred_backup_window
# The daily time range during which automated backups are created if
# automated backups are enabled, using the `BackupRetentionPeriod`
# parameter. For more information, see [The Backup Window][1] in the
# *Amazon RDS User Guide*.
#
# **Amazon Aurora**
#
# Not applicable. The daily time range for creating automated backups is
# managed by the DB cluster.
#
# The default is a 30-minute window selected at random from an 8-hour
# block of time for each AWS Region. To see the time blocks available,
# see [ Adjusting the Preferred DB Instance Maintenance Window][2] in
# the *Amazon RDS 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.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow
# [2]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow
#
# @option params [Integer] :port
# The port number on which the database accepts connections.
#
# **MySQL**
#
# Default: `3306`
#
# Valid values: `1150-65535`
#
# Type: Integer
#
# **MariaDB**
#
# Default: `3306`
#
# Valid values: `1150-65535`
#
# Type: Integer
#
# **PostgreSQL**
#
# Default: `5432`
#
# Valid values: `1150-65535`
#
# Type: Integer
#
# **Oracle**
#
# Default: `1521`
#
# Valid values: `1150-65535`
#
# **SQL Server**
#
# Default: `1433`
#
# Valid values: `1150-65535` except `1234`, `1434`, `3260`, `3343`,
# `3389`, `47001`, and `49152-49156`.
#
# **Amazon Aurora**
#
# Default: `3306`
#
# Valid values: `1150-65535`
#
# Type: Integer
#
# @option params [Boolean] :multi_az
# A value that indicates 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.
#
# @option params [String] :engine_version
# The version number of the database engine to use.
#
# For a list of valid engine versions, use the
# `DescribeDBEngineVersions` action.
#
# 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 AWS Region.
#
# **Amazon Aurora**
#
# Not applicable. The version number of the database engine to be used
# by the DB instance is managed by the DB cluster.
#
# **MariaDB**
#
# See [MariaDB on Amazon RDS Versions][1] in the *Amazon RDS User
# Guide.*
#
# **Microsoft SQL Server**
#
# See [Version and Feature Support on Amazon RDS][2] in the *Amazon RDS
# User Guide.*
#
# **MySQL**
#
# See [MySQL on Amazon RDS Versions][3] in the *Amazon RDS User Guide.*
#
# **Oracle**
#
# See [Oracle Database Engine Release Notes][4] in the *Amazon RDS User
# Guide.*
#
# **PostgreSQL**
#
# See [Supported PostgreSQL Database Versions][5] in the *Amazon RDS
# User Guide.*
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MariaDB.html#MariaDB.Concepts.VersionMgmt
# [2]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.FeatureSupport
# [3]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.VersionMgmt
# [4]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.PatchComposition.html
# [5]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts.General.DBVersions
#
# @option params [Boolean] :auto_minor_version_upgrade
# A value that indicates whether minor engine upgrades are applied
# automatically to the DB instance during the maintenance window. By
# default, minor engine upgrades are applied automatically.
#
# @option params [String] :license_model
# License model information for this DB instance.
#
# Valid values: `license-included` \| `bring-your-own-license` \|
# `general-public-license`
#
# @option params [Integer] :iops
# The amount of Provisioned IOPS (input/output operations per second) to
# be initially allocated for the DB instance. For information about
# valid Iops values, see [Amazon RDS Provisioned IOPS Storage to Improve
# Performance][1] in the *Amazon RDS User Guide*.
#
# Constraints: For MariaDB, MySQL, Oracle, and PostgreSQL DB instances,
# must be a multiple between .5 and 50 of the storage amount for the DB
# instance. For SQL Server DB instances, must be a multiple between 1
# and 50 of the storage amount for the DB instance.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS
#
# @option params [String] :option_group_name
# Indicates that the DB instance should be associated with the specified
# option group.
#
# 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 once it is associated with a DB
# instance
#
# @option params [String] :character_set_name
# For supported engines, indicates that the DB instance should be
# associated with the specified CharacterSet.
#
# **Amazon Aurora**
#
# Not applicable. The character set is managed by the DB cluster. For
# more information, see `CreateDBCluster`.
#
# @option params [Boolean] :publicly_accessible
# A value that indicates whether the DB instance is publicly accessible.
#
# When the DB instance is publicly accessible, its DNS endpoint resolves
# to the private IP address from within the DB instance's VPC, and to
# the public IP address from outside of the DB instance's VPC. Access
# to the DB instance is ultimately controlled by the security group it
# uses, and 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.
#
# @option params [Array] :tags
# Tags to assign to the DB instance.
#
# @option params [String] :db_cluster_identifier
# The identifier of the DB cluster that the instance will belong to.
#
# @option params [String] :storage_type
# Specifies the storage type to be associated with the DB instance.
#
# Valid values: `standard | gp2 | io1`
#
# If you specify `io1`, you must also include a value for the `Iops`
# parameter.
#
# Default: `io1` if the `Iops` parameter is specified, otherwise `gp2`
#
# @option params [String] :tde_credential_arn
# The ARN from the key store with which to associate the instance for
# TDE encryption.
#
# @option params [String] :tde_credential_password
# The password for the given ARN from the key store in order to access
# the device.
#
# @option params [Boolean] :storage_encrypted
# A value that indicates whether the DB instance is encrypted. By
# default, it isn't encrypted.
#
# **Amazon Aurora**
#
# Not applicable. The encryption for DB instances is managed by the DB
# cluster.
#
# @option params [String] :kms_key_id
# The AWS KMS key identifier for an encrypted DB instance.
#
# The KMS key identifier is the Amazon Resource Name (ARN) for the KMS
# encryption key. If you are creating a DB instance with the same AWS
# account that owns the KMS encryption key used to encrypt the new DB
# instance, then you can use the KMS key alias instead of the ARN for
# the KM encryption key.
#
# **Amazon Aurora**
#
# Not applicable. The KMS key identifier is managed by the DB cluster.
# For more information, see `CreateDBCluster`.
#
# If `StorageEncrypted` is enabled, and you do not specify a value for
# the `KmsKeyId` parameter, then Amazon RDS will use your default
# encryption key. AWS KMS creates the default encryption key for your
# AWS account. Your AWS account has a different default encryption key
# for each AWS Region.
#
# @option params [String] :domain
# The Active Directory directory ID to create the DB instance in.
# Currently, only Microsoft SQL Server and Oracle DB instances can be
# created in an Active Directory Domain.
#
# For Microsoft SQL Server DB instances, Amazon RDS can use Windows
# Authentication to authenticate users that connect to the DB instance.
# For more information, see [ Using Windows Authentication with an
# Amazon RDS DB Instance Running Microsoft SQL Server][1] in the *Amazon
# RDS User Guide*.
#
# For Oracle DB instances, Amazon RDS can use Kerberos Authentication to
# authenticate users that connect to the DB instance. For more
# information, see [ Using Kerberos Authentication with Amazon RDS for
# Oracle][2] in the *Amazon RDS User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_SQLServerWinAuth.html
# [2]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-kerberos.html
#
# @option params [Boolean] :copy_tags_to_snapshot
# A value that indicates whether to copy tags from the DB instance to
# snapshots of the DB instance. By default, tags are not copied.
#
# **Amazon Aurora**
#
# Not applicable. 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.
#
# @option params [Integer] :monitoring_interval
# The interval, in seconds, between points when Enhanced Monitoring
# metrics are collected for the DB instance. To disable collecting
# Enhanced Monitoring metrics, specify 0. The default is 0.
#
# If `MonitoringRoleArn` is specified, then you must also set
# `MonitoringInterval` to a value other than 0.
#
# Valid Values: `0, 1, 5, 10, 15, 30, 60`
#
# @option params [String] :monitoring_role_arn
# 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 [Setting Up and Enabling Enhanced
# Monitoring][1] in the *Amazon RDS User Guide*.
#
# If `MonitoringInterval` is set to a value other than 0, then you must
# supply a `MonitoringRoleArn` value.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling
#
# @option params [String] :domain_iam_role_name
# Specify the name of the IAM role to be used when making API calls to
# the Directory Service.
#
# @option params [Integer] :promotion_tier
# A value that specifies the order 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][1] in the *Amazon Aurora User Guide*.
#
# Default: 1
#
# Valid Values: 0 - 15
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Managing.Backups.html#Aurora.Managing.FaultTolerance
#
# @option params [String] :timezone
# The time zone of the DB instance. The time zone parameter is currently
# supported only by [Microsoft SQL Server][1].
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.TimeZone
#
# @option params [Boolean] :enable_iam_database_authentication
# A value that indicates whether to enable mapping of AWS Identity and
# Access Management (IAM) accounts to database accounts. By default,
# mapping is disabled.
#
# You can enable IAM database authentication for the following database
# engines:
#
# **Amazon Aurora**
#
# Not applicable. Mapping AWS IAM accounts to database accounts is
# managed by the DB cluster.
#
# **MySQL**
#
# * For MySQL 5.6, minor version 5.6.34 or higher
#
# * For MySQL 5.7, minor version 5.7.16 or higher
#
# * For MySQL 8.0, minor version 8.0.16 or higher
#
# **PostgreSQL**
#
# * For PostgreSQL 9.5, minor version 9.5.15 or higher
#
# * For PostgreSQL 9.6, minor version 9.6.11 or higher
#
# * PostgreSQL 10.6, 10.7, and 10.9
#
# For more information, see [ IAM Database Authentication for MySQL and
# PostgreSQL][1] in the *Amazon RDS User Guide.*
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html
#
# @option params [Boolean] :enable_performance_insights
# A value that indicates whether to enable Performance Insights for the
# DB instance.
#
# For more information, see [Using Amazon Performance Insights][1] in
# the *Amazon Relational Database Service User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html
#
# @option params [String] :performance_insights_kms_key_id
# The AWS KMS key identifier for encryption of Performance Insights
# data. The KMS key ID is the Amazon Resource Name (ARN), KMS key
# identifier, or the KMS key alias for the KMS encryption key.
#
# If you do not specify a value for `PerformanceInsightsKMSKeyId`, then
# Amazon RDS uses your default encryption key. AWS KMS creates the
# default encryption key for your AWS account. Your AWS account has a
# different default encryption key for each AWS Region.
#
# @option params [Integer] :performance_insights_retention_period
# The amount of time, in days, to retain Performance Insights data.
# Valid values are 7 or 731 (2 years).
#
# @option params [Array] :enable_cloudwatch_logs_exports
# The list of log types that need to be enabled for exporting 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 ][1] in the *Amazon Relational Database Service User
# Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch
#
# @option params [Array] :processor_features
# The number of CPU cores and the number of threads per core for the DB
# instance class of the DB instance.
#
# @option params [Boolean] :deletion_protection
# A value that indicates whether the DB instance has deletion protection
# enabled. The database can't be deleted when deletion protection is
# enabled. By default, deletion protection is disabled. For more
# information, see [ Deleting a DB Instance][1].
#
# **Amazon Aurora**
#
# Not applicable. You can enable or disable deletion protection for the
# DB cluster. For more information, see `CreateDBCluster`. DB instances
# in a DB cluster can be deleted even when deletion protection is
# enabled for the DB cluster.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html
#
# @option params [Integer] :max_allocated_storage
# The upper limit to which Amazon RDS can automatically scale the
# storage of the DB instance.
#
# @return [Types::CreateDBInstanceResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::CreateDBInstanceResult#db_instance #db_instance} => Types::DBInstance
#
#
# @example Example: To create a DB instance.
#
# # This example creates a DB instance.
#
# resp = client.create_db_instance({
# allocated_storage: 5,
# db_instance_class: "db.t2.micro",
# db_instance_identifier: "mymysqlinstance",
# engine: "MySQL",
# master_user_password: "MyPassword",
# master_username: "MyUser",
# })
#
# resp.to_h outputs the following:
# {
# db_instance: {
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.create_db_instance({
# db_name: "String",
# db_instance_identifier: "String", # required
# allocated_storage: 1,
# db_instance_class: "String", # required
# engine: "String", # required
# master_username: "String",
# master_user_password: "String",
# db_security_groups: ["String"],
# vpc_security_group_ids: ["String"],
# availability_zone: "String",
# db_subnet_group_name: "String",
# preferred_maintenance_window: "String",
# db_parameter_group_name: "String",
# backup_retention_period: 1,
# preferred_backup_window: "String",
# port: 1,
# multi_az: false,
# engine_version: "String",
# auto_minor_version_upgrade: false,
# license_model: "String",
# iops: 1,
# option_group_name: "String",
# character_set_name: "String",
# publicly_accessible: false,
# tags: [
# {
# key: "String",
# value: "String",
# },
# ],
# db_cluster_identifier: "String",
# storage_type: "String",
# tde_credential_arn: "String",
# tde_credential_password: "String",
# storage_encrypted: false,
# kms_key_id: "String",
# domain: "String",
# copy_tags_to_snapshot: false,
# monitoring_interval: 1,
# monitoring_role_arn: "String",
# domain_iam_role_name: "String",
# promotion_tier: 1,
# timezone: "String",
# enable_iam_database_authentication: false,
# enable_performance_insights: false,
# performance_insights_kms_key_id: "String",
# performance_insights_retention_period: 1,
# enable_cloudwatch_logs_exports: ["String"],
# processor_features: [
# {
# name: "String",
# value: "String",
# },
# ],
# deletion_protection: false,
# max_allocated_storage: 1,
# })
#
# @example Response structure
#
# resp.db_instance.db_instance_identifier #=> String
# resp.db_instance.db_instance_class #=> String
# resp.db_instance.engine #=> String
# resp.db_instance.db_instance_status #=> String
# resp.db_instance.master_username #=> String
# resp.db_instance.db_name #=> String
# resp.db_instance.endpoint.address #=> String
# resp.db_instance.endpoint.port #=> Integer
# resp.db_instance.endpoint.hosted_zone_id #=> String
# resp.db_instance.allocated_storage #=> Integer
# resp.db_instance.instance_create_time #=> Time
# resp.db_instance.preferred_backup_window #=> String
# resp.db_instance.backup_retention_period #=> Integer
# resp.db_instance.db_security_groups #=> Array
# resp.db_instance.db_security_groups[0].db_security_group_name #=> String
# resp.db_instance.db_security_groups[0].status #=> String
# resp.db_instance.vpc_security_groups #=> Array
# resp.db_instance.vpc_security_groups[0].vpc_security_group_id #=> String
# resp.db_instance.vpc_security_groups[0].status #=> String
# resp.db_instance.db_parameter_groups #=> Array
# resp.db_instance.db_parameter_groups[0].db_parameter_group_name #=> String
# resp.db_instance.db_parameter_groups[0].parameter_apply_status #=> String
# resp.db_instance.availability_zone #=> String
# resp.db_instance.db_subnet_group.db_subnet_group_name #=> String
# resp.db_instance.db_subnet_group.db_subnet_group_description #=> String
# resp.db_instance.db_subnet_group.vpc_id #=> String
# resp.db_instance.db_subnet_group.subnet_group_status #=> String
# resp.db_instance.db_subnet_group.subnets #=> Array
# resp.db_instance.db_subnet_group.subnets[0].subnet_identifier #=> String
# resp.db_instance.db_subnet_group.subnets[0].subnet_availability_zone.name #=> String
# resp.db_instance.db_subnet_group.subnets[0].subnet_status #=> String
# resp.db_instance.db_subnet_group.db_subnet_group_arn #=> String
# resp.db_instance.preferred_maintenance_window #=> String
# resp.db_instance.pending_modified_values.db_instance_class #=> String
# resp.db_instance.pending_modified_values.allocated_storage #=> Integer
# resp.db_instance.pending_modified_values.master_user_password #=> String
# resp.db_instance.pending_modified_values.port #=> Integer
# resp.db_instance.pending_modified_values.backup_retention_period #=> Integer
# resp.db_instance.pending_modified_values.multi_az #=> Boolean
# resp.db_instance.pending_modified_values.engine_version #=> String
# resp.db_instance.pending_modified_values.license_model #=> String
# resp.db_instance.pending_modified_values.iops #=> Integer
# resp.db_instance.pending_modified_values.db_instance_identifier #=> String
# resp.db_instance.pending_modified_values.storage_type #=> String
# resp.db_instance.pending_modified_values.ca_certificate_identifier #=> String
# resp.db_instance.pending_modified_values.db_subnet_group_name #=> String
# resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_enable #=> Array
# resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_enable[0] #=> String
# resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_disable #=> Array
# resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_disable[0] #=> String
# resp.db_instance.pending_modified_values.processor_features #=> Array
# resp.db_instance.pending_modified_values.processor_features[0].name #=> String
# resp.db_instance.pending_modified_values.processor_features[0].value #=> String
# resp.db_instance.latest_restorable_time #=> Time
# resp.db_instance.multi_az #=> Boolean
# resp.db_instance.engine_version #=> String
# resp.db_instance.auto_minor_version_upgrade #=> Boolean
# resp.db_instance.read_replica_source_db_instance_identifier #=> String
# resp.db_instance.read_replica_db_instance_identifiers #=> Array
# resp.db_instance.read_replica_db_instance_identifiers[0] #=> String
# resp.db_instance.read_replica_db_cluster_identifiers #=> Array
# resp.db_instance.read_replica_db_cluster_identifiers[0] #=> String
# resp.db_instance.license_model #=> String
# resp.db_instance.iops #=> Integer
# resp.db_instance.option_group_memberships #=> Array
# resp.db_instance.option_group_memberships[0].option_group_name #=> String
# resp.db_instance.option_group_memberships[0].status #=> String
# resp.db_instance.character_set_name #=> String
# resp.db_instance.secondary_availability_zone #=> String
# resp.db_instance.publicly_accessible #=> Boolean
# resp.db_instance.status_infos #=> Array
# resp.db_instance.status_infos[0].status_type #=> String
# resp.db_instance.status_infos[0].normal #=> Boolean
# resp.db_instance.status_infos[0].status #=> String
# resp.db_instance.status_infos[0].message #=> String
# resp.db_instance.storage_type #=> String
# resp.db_instance.tde_credential_arn #=> String
# resp.db_instance.db_instance_port #=> Integer
# resp.db_instance.db_cluster_identifier #=> String
# resp.db_instance.storage_encrypted #=> Boolean
# resp.db_instance.kms_key_id #=> String
# resp.db_instance.dbi_resource_id #=> String
# resp.db_instance.ca_certificate_identifier #=> String
# resp.db_instance.domain_memberships #=> Array
# resp.db_instance.domain_memberships[0].domain #=> String
# resp.db_instance.domain_memberships[0].status #=> String
# resp.db_instance.domain_memberships[0].fqdn #=> String
# resp.db_instance.domain_memberships[0].iam_role_name #=> String
# resp.db_instance.copy_tags_to_snapshot #=> Boolean
# resp.db_instance.monitoring_interval #=> Integer
# resp.db_instance.enhanced_monitoring_resource_arn #=> String
# resp.db_instance.monitoring_role_arn #=> String
# resp.db_instance.promotion_tier #=> Integer
# resp.db_instance.db_instance_arn #=> String
# resp.db_instance.timezone #=> String
# resp.db_instance.iam_database_authentication_enabled #=> Boolean
# resp.db_instance.performance_insights_enabled #=> Boolean
# resp.db_instance.performance_insights_kms_key_id #=> String
# resp.db_instance.performance_insights_retention_period #=> Integer
# resp.db_instance.enabled_cloudwatch_logs_exports #=> Array
# resp.db_instance.enabled_cloudwatch_logs_exports[0] #=> String
# resp.db_instance.processor_features #=> Array
# resp.db_instance.processor_features[0].name #=> String
# resp.db_instance.processor_features[0].value #=> String
# resp.db_instance.deletion_protection #=> Boolean
# resp.db_instance.associated_roles #=> Array
# resp.db_instance.associated_roles[0].role_arn #=> String
# resp.db_instance.associated_roles[0].feature_name #=> String
# resp.db_instance.associated_roles[0].status #=> String
# resp.db_instance.listener_endpoint.address #=> String
# resp.db_instance.listener_endpoint.port #=> Integer
# resp.db_instance.listener_endpoint.hosted_zone_id #=> String
# resp.db_instance.max_allocated_storage #=> Integer
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBInstance AWS API Documentation
#
# @overload create_db_instance(params = {})
# @param [Hash] params ({})
def create_db_instance(params = {}, options = {})
req = build_request(:create_db_instance, params)
req.send_request(options)
end
# Creates a new DB instance that acts as a read replica for an existing
# source DB instance. You can create a read replica for a DB instance
# running MySQL, MariaDB, Oracle, PostgreSQL, or SQL Server. For more
# information, see [Working with Read Replicas][1] in the *Amazon RDS
# User Guide*.
#
# Amazon Aurora doesn't support this action. Call the
# `CreateDBInstance` action to create a DB instance for an Aurora DB
# cluster.
#
# All read replica DB instances are created with backups disabled. All
# other DB instance attributes (including DB security groups and DB
# parameter groups) are inherited from the source DB instance, except as
# specified.
#
# Your source DB instance must have backup retention enabled.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html
#
# @option params [required, String] :db_instance_identifier
# 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.
#
# @option params [required, String] :source_db_instance_identifier
# The identifier of the DB instance that will act as the source for the
# read replica. Each DB instance can have up to five read replicas.
#
# Constraints:
#
# * Must be the identifier of an existing MySQL, MariaDB, Oracle,
# PostgreSQL, or SQL Server DB instance.
#
# * Can specify a DB instance that is a MySQL read replica only if the
# source is running MySQL 5.6 or later.
#
# * For the limitations of Oracle read replicas, see [Read Replica
# Limitations with Oracle][1] in the *Amazon RDS User Guide*.
#
# * For the limitations of SQL Server read replicas, see [Read Replica
# Limitations with Microsoft SQL Server][2] in the *Amazon RDS User
# Guide*.
#
# * Can specify a PostgreSQL DB instance only if the source is running
# PostgreSQL 9.3.5 or later (9.4.7 and higher for cross-region
# replication).
#
# * 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 AWS Region as the read
# replica, specify a valid DB instance identifier.
#
# * If the source DB instance is in a different AWS Region from the read
# replica, specify a valid DB instance ARN. For more information, see
# [Constructing an ARN for Amazon RDS][3] in the *Amazon RDS User
# Guide*. This doesn't apply to SQL Server, which doesn't support
# cross-region replicas.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html
# [2]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/SQLServer.ReadReplicas.Limitations.html
# [3]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing
#
# @option params [String] :db_instance_class
# The compute and memory capacity of the read replica, for example,
# `db.m4.large`. Not all DB instance classes are available in all AWS
# Regions, or for all database engines. For the full list of DB instance
# classes, and availability for your engine, see [DB Instance Class][1]
# in the *Amazon RDS User Guide.*
#
# Default: Inherits from the source DB instance.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html
#
# @option params [String] :availability_zone
# The Availability Zone (AZ) where the read replica will be created.
#
# Default: A random, system-chosen Availability Zone in the endpoint's
# AWS Region.
#
# Example: `us-east-1d`
#
# @option params [Integer] :port
# The port number that the DB instance uses for connections.
#
# Default: Inherits from the source DB instance
#
# Valid Values: `1150-65535`
#
# @option params [Boolean] :multi_az
# A value that indicates 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 database is a Multi-AZ
# DB instance.
#
# @option params [Boolean] :auto_minor_version_upgrade
# A value that indicates whether minor engine upgrades are applied
# automatically to the read replica during the maintenance window.
#
# Default: Inherits from the source DB instance
#
# @option params [Integer] :iops
# The amount of Provisioned IOPS (input/output operations per second) to
# be initially allocated for the DB instance.
#
# @option params [String] :option_group_name
# The option group the DB instance is associated with. If omitted, the
# option group associated with the source instance is used.
#
# For SQL Server, you must use the option group associated with the
# source instance.
#
#
#
# @option params [String] :db_parameter_group_name
# The name of the DB parameter group to associate with this DB instance.
#
# If you do not specify a value for `DBParameterGroupName`, then Amazon
# RDS uses the `DBParameterGroup` of source DB instance for a same
# region read replica, or the default `DBParameterGroup` for the
# specified DB engine for a cross region read replica.
#
# Currently, specifying a parameter group for this operation is only
# supported for Oracle DB instances.
#
#
#
# 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
#
# @option params [Boolean] :publicly_accessible
# A value that indicates whether the DB instance is publicly accessible.
#
# When the DB instance is publicly accessible, its DNS endpoint resolves
# to the private IP address from within the DB instance's VPC, and to
# the public IP address from outside of the DB instance's VPC. Access
# to the DB instance is ultimately controlled by the security group it
# uses, and 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.
#
# For more information, see CreateDBInstance.
#
# @option params [Array] :tags
# A list of tags. For more information, see [Tagging Amazon RDS
# Resources][1] in the *Amazon RDS User Guide.*
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html
#
# @option params [String] :db_subnet_group_name
# Specifies 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:
#
# * Can only be specified if the source DB instance identifier specifies
# a DB instance in another AWS Region.
#
# * If supplied, must match the name of an existing DBSubnetGroup.
#
# * The specified DB subnet group must be in the same AWS Region in
# which the operation is running.
#
# * All read replicas in one AWS 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: `mySubnetgroup`
#
# @option params [Array] :vpc_security_group_ids
# A list of EC2 VPC security groups to associate with the read replica.
#
# Default: The default EC2 VPC security group for the DB subnet group's
# VPC.
#
# @option params [String] :storage_type
# Specifies the storage type to be associated with the read replica.
#
# Valid values: `standard | gp2 | io1`
#
# If you specify `io1`, you must also include a value for the `Iops`
# parameter.
#
# Default: `io1` if the `Iops` parameter is specified, otherwise `gp2`
#
# @option params [Boolean] :copy_tags_to_snapshot
# A value that indicates whether to copy all tags from the read replica
# to snapshots of the read replica. By default, tags are not copied.
#
# @option params [Integer] :monitoring_interval
# The interval, in seconds, between points when Enhanced Monitoring
# metrics are collected for the read replica. To disable collecting
# Enhanced Monitoring metrics, specify 0. The default is 0.
#
# If `MonitoringRoleArn` is specified, then you must also set
# `MonitoringInterval` to a value other than 0.
#
# Valid Values: `0, 1, 5, 10, 15, 30, 60`
#
# @option params [String] :monitoring_role_arn
# 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][1] in the *Amazon RDS User Guide*.
#
# If `MonitoringInterval` is set to a value other than 0, then you must
# supply a `MonitoringRoleArn` value.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html#USER_Monitoring.OS.IAMRole
#
# @option params [String] :kms_key_id
# The AWS KMS key ID for an encrypted read replica. The KMS key ID is
# the Amazon Resource Name (ARN), KMS key identifier, or the KMS key
# alias for the KMS encryption key.
#
# If you create an encrypted read replica in the same AWS Region as the
# source DB instance, then you do not have to specify a value for this
# parameter. The read replica is encrypted with the same KMS key as the
# source DB instance.
#
# If you create an encrypted read replica in a different AWS Region,
# then you must specify a KMS key for the destination AWS Region. KMS
# encryption keys are specific to the AWS Region that they are created
# in, and you can't use encryption keys from one AWS Region in another
# AWS Region.
#
# You can't create an encrypted read replica from an unencrypted DB
# instance.
#
# @option params [String] :pre_signed_url
# The URL that contains a Signature Version 4 signed request for the
# `CreateDBInstanceReadReplica` API action in the source AWS Region that
# contains the source DB instance.
#
# You must specify this parameter when you create an encrypted read
# replica from another AWS Region by using the Amazon RDS API. Don't
# specify `PreSignedUrl` when you are creating an encrypted read replica
# in the same AWS Region.
#
# The presigned URL must be a valid request for the
# `CreateDBInstanceReadReplica` API action that can be executed in the
# source AWS Region that contains the encrypted source DB instance. The
# presigned URL request must contain the following parameter values:
#
# * `DestinationRegion` - The AWS Region that the encrypted read replica
# is created in. This AWS Region is the same one where the
# `CreateDBInstanceReadReplica` action is called that contains this
# presigned URL.
#
# For example, if you create an encrypted DB instance in the us-west-1
# AWS Region, from a source DB instance in the us-east-2 AWS Region,
# then you call the `CreateDBInstanceReadReplica` action in the
# us-east-1 AWS Region and provide a presigned URL that contains a
# call to the `CreateDBInstanceReadReplica` action in the us-west-2
# AWS Region. For this example, the `DestinationRegion` in the
# presigned URL must be set to the us-east-1 AWS Region.
#
# * `KmsKeyId` - The AWS KMS key identifier for the key to use to
# encrypt the read replica in the destination AWS Region. This is the
# same identifier for both the `CreateDBInstanceReadReplica` action
# that is called in the destination AWS Region, and the action
# 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 AWS Region. For
# example, if you are creating an encrypted read replica from a DB
# instance in the us-west-2 AWS 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 (AWS Signature
# Version 4)][1] and [Signature Version 4 Signing Process][2].
#
# If you are using an AWS SDK tool or the AWS CLI, you can specify
# `SourceRegion` (or `--source-region` for the AWS CLI) instead of
# specifying `PreSignedUrl` manually. Specifying `SourceRegion`
# autogenerates a presigned URL that is a valid request for the
# operation that can be executed in the source AWS Region.
#
# `SourceRegion` isn't supported for SQL Server, because SQL Server on
# Amazon RDS doesn't support cross-region read replicas.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html
# [2]: https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html
#
# @option params [Boolean] :enable_iam_database_authentication
# A value that indicates whether to enable mapping of AWS Identity and
# Access Management (IAM) accounts to database accounts. By default,
# mapping is disabled. For information about the supported DB engines,
# see CreateDBInstance.
#
# For more information about IAM database authentication, see [ IAM
# Database Authentication for MySQL and PostgreSQL][1] in the *Amazon
# RDS User Guide.*
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html
#
# @option params [Boolean] :enable_performance_insights
# A value that indicates whether to enable Performance Insights for the
# read replica.
#
# For more information, see [Using Amazon Performance Insights][1] in
# the *Amazon RDS User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html
#
# @option params [String] :performance_insights_kms_key_id
# The AWS KMS key identifier for encryption of Performance Insights
# data. The KMS key ID is the Amazon Resource Name (ARN), KMS key
# identifier, or the KMS key alias for the KMS encryption key.
#
# If you do not specify a value for `PerformanceInsightsKMSKeyId`, then
# Amazon RDS uses your default encryption key. AWS KMS creates the
# default encryption key for your AWS account. Your AWS account has a
# different default encryption key for each AWS Region.
#
# @option params [Integer] :performance_insights_retention_period
# The amount of time, in days, to retain Performance Insights data.
# Valid values are 7 or 731 (2 years).
#
# @option params [Array] :enable_cloudwatch_logs_exports
# 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 ][1] in the *Amazon RDS User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch
#
# @option params [Array] :processor_features
# The number of CPU cores and the number of threads per core for the DB
# instance class of the DB instance.
#
# @option params [Boolean] :use_default_processor_features
# A value that indicates whether the DB instance class of the DB
# instance uses its default processor features.
#
# @option params [Boolean] :deletion_protection
# A value that indicates whether the DB instance has deletion protection
# enabled. The database can't be deleted when deletion protection is
# enabled. By default, deletion protection is disabled. For more
# information, see [ Deleting a DB Instance][1].
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html
#
# @option params [String] :domain
# The Active Directory directory ID to create the DB instance in.
#
# For Oracle DB instances, Amazon RDS can use Kerberos Authentication to
# authenticate users that connect to the DB instance. For more
# information, see [ Using Kerberos Authentication with Amazon RDS for
# Oracle][1] in the *Amazon RDS User Guide*.
#
# For Microsoft SQL Server DB instances, Amazon RDS can use Windows
# Authentication to authenticate users that connect to the DB instance.
# For more information, see [ Using Windows Authentication with an
# Amazon RDS DB Instance Running Microsoft SQL Server][2] in the *Amazon
# RDS User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-kerberos.html
# [2]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_SQLServerWinAuth.html
#
# @option params [String] :domain_iam_role_name
# Specify the name of the IAM role to be used when making API calls to
# the Directory Service.
#
# @option params [String] :source_region
# The source region of the snapshot. This is only needed when the
# shapshot is encrypted and in a different region.
#
# @return [Types::CreateDBInstanceReadReplicaResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::CreateDBInstanceReadReplicaResult#db_instance #db_instance} => Types::DBInstance
#
#
# @example Example: To create a DB instance read replica.
#
# # This example creates a DB instance read replica.
#
# resp = client.create_db_instance_read_replica({
# availability_zone: "us-east-1a",
# copy_tags_to_snapshot: true,
# db_instance_class: "db.t2.micro",
# db_instance_identifier: "mydbreadreplica",
# publicly_accessible: true,
# source_db_instance_identifier: "mymysqlinstance",
# storage_type: "gp2",
# tags: [
# {
# key: "mydbreadreplicakey",
# value: "mydbreadreplicavalue",
# },
# ],
# })
#
# resp.to_h outputs the following:
# {
# db_instance: {
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.create_db_instance_read_replica({
# db_instance_identifier: "String", # required
# source_db_instance_identifier: "String", # required
# db_instance_class: "String",
# availability_zone: "String",
# port: 1,
# multi_az: false,
# auto_minor_version_upgrade: false,
# iops: 1,
# option_group_name: "String",
# db_parameter_group_name: "String",
# publicly_accessible: false,
# tags: [
# {
# key: "String",
# value: "String",
# },
# ],
# db_subnet_group_name: "String",
# vpc_security_group_ids: ["String"],
# storage_type: "String",
# copy_tags_to_snapshot: false,
# monitoring_interval: 1,
# monitoring_role_arn: "String",
# kms_key_id: "String",
# pre_signed_url: "String",
# enable_iam_database_authentication: false,
# enable_performance_insights: false,
# performance_insights_kms_key_id: "String",
# performance_insights_retention_period: 1,
# enable_cloudwatch_logs_exports: ["String"],
# processor_features: [
# {
# name: "String",
# value: "String",
# },
# ],
# use_default_processor_features: false,
# deletion_protection: false,
# domain: "String",
# domain_iam_role_name: "String",
# source_region: "String",
# })
#
# @example Response structure
#
# resp.db_instance.db_instance_identifier #=> String
# resp.db_instance.db_instance_class #=> String
# resp.db_instance.engine #=> String
# resp.db_instance.db_instance_status #=> String
# resp.db_instance.master_username #=> String
# resp.db_instance.db_name #=> String
# resp.db_instance.endpoint.address #=> String
# resp.db_instance.endpoint.port #=> Integer
# resp.db_instance.endpoint.hosted_zone_id #=> String
# resp.db_instance.allocated_storage #=> Integer
# resp.db_instance.instance_create_time #=> Time
# resp.db_instance.preferred_backup_window #=> String
# resp.db_instance.backup_retention_period #=> Integer
# resp.db_instance.db_security_groups #=> Array
# resp.db_instance.db_security_groups[0].db_security_group_name #=> String
# resp.db_instance.db_security_groups[0].status #=> String
# resp.db_instance.vpc_security_groups #=> Array
# resp.db_instance.vpc_security_groups[0].vpc_security_group_id #=> String
# resp.db_instance.vpc_security_groups[0].status #=> String
# resp.db_instance.db_parameter_groups #=> Array
# resp.db_instance.db_parameter_groups[0].db_parameter_group_name #=> String
# resp.db_instance.db_parameter_groups[0].parameter_apply_status #=> String
# resp.db_instance.availability_zone #=> String
# resp.db_instance.db_subnet_group.db_subnet_group_name #=> String
# resp.db_instance.db_subnet_group.db_subnet_group_description #=> String
# resp.db_instance.db_subnet_group.vpc_id #=> String
# resp.db_instance.db_subnet_group.subnet_group_status #=> String
# resp.db_instance.db_subnet_group.subnets #=> Array
# resp.db_instance.db_subnet_group.subnets[0].subnet_identifier #=> String
# resp.db_instance.db_subnet_group.subnets[0].subnet_availability_zone.name #=> String
# resp.db_instance.db_subnet_group.subnets[0].subnet_status #=> String
# resp.db_instance.db_subnet_group.db_subnet_group_arn #=> String
# resp.db_instance.preferred_maintenance_window #=> String
# resp.db_instance.pending_modified_values.db_instance_class #=> String
# resp.db_instance.pending_modified_values.allocated_storage #=> Integer
# resp.db_instance.pending_modified_values.master_user_password #=> String
# resp.db_instance.pending_modified_values.port #=> Integer
# resp.db_instance.pending_modified_values.backup_retention_period #=> Integer
# resp.db_instance.pending_modified_values.multi_az #=> Boolean
# resp.db_instance.pending_modified_values.engine_version #=> String
# resp.db_instance.pending_modified_values.license_model #=> String
# resp.db_instance.pending_modified_values.iops #=> Integer
# resp.db_instance.pending_modified_values.db_instance_identifier #=> String
# resp.db_instance.pending_modified_values.storage_type #=> String
# resp.db_instance.pending_modified_values.ca_certificate_identifier #=> String
# resp.db_instance.pending_modified_values.db_subnet_group_name #=> String
# resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_enable #=> Array
# resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_enable[0] #=> String
# resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_disable #=> Array
# resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_disable[0] #=> String
# resp.db_instance.pending_modified_values.processor_features #=> Array
# resp.db_instance.pending_modified_values.processor_features[0].name #=> String
# resp.db_instance.pending_modified_values.processor_features[0].value #=> String
# resp.db_instance.latest_restorable_time #=> Time
# resp.db_instance.multi_az #=> Boolean
# resp.db_instance.engine_version #=> String
# resp.db_instance.auto_minor_version_upgrade #=> Boolean
# resp.db_instance.read_replica_source_db_instance_identifier #=> String
# resp.db_instance.read_replica_db_instance_identifiers #=> Array
# resp.db_instance.read_replica_db_instance_identifiers[0] #=> String
# resp.db_instance.read_replica_db_cluster_identifiers #=> Array
# resp.db_instance.read_replica_db_cluster_identifiers[0] #=> String
# resp.db_instance.license_model #=> String
# resp.db_instance.iops #=> Integer
# resp.db_instance.option_group_memberships #=> Array
# resp.db_instance.option_group_memberships[0].option_group_name #=> String
# resp.db_instance.option_group_memberships[0].status #=> String
# resp.db_instance.character_set_name #=> String
# resp.db_instance.secondary_availability_zone #=> String
# resp.db_instance.publicly_accessible #=> Boolean
# resp.db_instance.status_infos #=> Array
# resp.db_instance.status_infos[0].status_type #=> String
# resp.db_instance.status_infos[0].normal #=> Boolean
# resp.db_instance.status_infos[0].status #=> String
# resp.db_instance.status_infos[0].message #=> String
# resp.db_instance.storage_type #=> String
# resp.db_instance.tde_credential_arn #=> String
# resp.db_instance.db_instance_port #=> Integer
# resp.db_instance.db_cluster_identifier #=> String
# resp.db_instance.storage_encrypted #=> Boolean
# resp.db_instance.kms_key_id #=> String
# resp.db_instance.dbi_resource_id #=> String
# resp.db_instance.ca_certificate_identifier #=> String
# resp.db_instance.domain_memberships #=> Array
# resp.db_instance.domain_memberships[0].domain #=> String
# resp.db_instance.domain_memberships[0].status #=> String
# resp.db_instance.domain_memberships[0].fqdn #=> String
# resp.db_instance.domain_memberships[0].iam_role_name #=> String
# resp.db_instance.copy_tags_to_snapshot #=> Boolean
# resp.db_instance.monitoring_interval #=> Integer
# resp.db_instance.enhanced_monitoring_resource_arn #=> String
# resp.db_instance.monitoring_role_arn #=> String
# resp.db_instance.promotion_tier #=> Integer
# resp.db_instance.db_instance_arn #=> String
# resp.db_instance.timezone #=> String
# resp.db_instance.iam_database_authentication_enabled #=> Boolean
# resp.db_instance.performance_insights_enabled #=> Boolean
# resp.db_instance.performance_insights_kms_key_id #=> String
# resp.db_instance.performance_insights_retention_period #=> Integer
# resp.db_instance.enabled_cloudwatch_logs_exports #=> Array
# resp.db_instance.enabled_cloudwatch_logs_exports[0] #=> String
# resp.db_instance.processor_features #=> Array
# resp.db_instance.processor_features[0].name #=> String
# resp.db_instance.processor_features[0].value #=> String
# resp.db_instance.deletion_protection #=> Boolean
# resp.db_instance.associated_roles #=> Array
# resp.db_instance.associated_roles[0].role_arn #=> String
# resp.db_instance.associated_roles[0].feature_name #=> String
# resp.db_instance.associated_roles[0].status #=> String
# resp.db_instance.listener_endpoint.address #=> String
# resp.db_instance.listener_endpoint.port #=> Integer
# resp.db_instance.listener_endpoint.hosted_zone_id #=> String
# resp.db_instance.max_allocated_storage #=> Integer
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBInstanceReadReplica AWS API Documentation
#
# @overload create_db_instance_read_replica(params = {})
# @param [Hash] params ({})
def create_db_instance_read_replica(params = {}, options = {})
req = build_request(:create_db_instance_read_replica, params)
req.send_request(options)
end
# Creates a new DB parameter group.
#
# A DB parameter group is initially created with the default parameters
# for the database engine used by the DB instance. To provide custom
# values for any of the parameters, you must modify the group after
# creating it using *ModifyDBParameterGroup*. Once you've created a DB
# parameter group, you need to associate it with your DB instance using
# *ModifyDBInstance*. When you associate a new DB parameter group with a
# running DB instance, you need to reboot the DB instance without
# failover for the new DB parameter group and associated settings to
# take effect.
#
# After you create a DB parameter group, you should wait at least 5
# minutes before creating your first DB instance that uses that DB
# parameter group as the default parameter group. This allows Amazon RDS
# to fully complete the create action before the parameter group is used
# as the default for a new DB instance. This is especially important for
# parameters that are critical when creating the default database for a
# DB instance, such as the character set for the default database
# defined by the `character_set_database` parameter. You can use the
# *Parameter Groups* option of the [Amazon RDS console][1] or the
# *DescribeDBParameters* command to verify that your DB parameter group
# has been created or modified.
#
#
#
# [1]: https://console.aws.amazon.com/rds/
#
# @option params [required, String] :db_parameter_group_name
# 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.
#
#
#
# @option params [required, String] :db_parameter_group_family
# 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, use the
# following command:
#
# `aws rds describe-db-engine-versions --query
# "DBEngineVersions[].DBParameterGroupFamily"`
#
# The output contains duplicates.
#
#
#
# @option params [required, String] :description
# The description for the DB parameter group.
#
# @option params [Array] :tags
# Tags to assign to the DB parameter group.
#
# @return [Types::CreateDBParameterGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::CreateDBParameterGroupResult#db_parameter_group #db_parameter_group} => Types::DBParameterGroup
#
#
# @example Example: To create a DB parameter group.
#
# # This example creates a DB parameter group.
#
# resp = client.create_db_parameter_group({
# db_parameter_group_family: "mysql5.6",
# db_parameter_group_name: "mymysqlparametergroup",
# description: "My MySQL parameter group",
# })
#
# resp.to_h outputs the following:
# {
# db_parameter_group: {
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.create_db_parameter_group({
# db_parameter_group_name: "String", # required
# db_parameter_group_family: "String", # required
# description: "String", # required
# tags: [
# {
# key: "String",
# value: "String",
# },
# ],
# })
#
# @example Response structure
#
# resp.db_parameter_group.db_parameter_group_name #=> String
# resp.db_parameter_group.db_parameter_group_family #=> String
# resp.db_parameter_group.description #=> String
# resp.db_parameter_group.db_parameter_group_arn #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBParameterGroup AWS API Documentation
#
# @overload create_db_parameter_group(params = {})
# @param [Hash] params ({})
def create_db_parameter_group(params = {}, options = {})
req = build_request(:create_db_parameter_group, params)
req.send_request(options)
end
# Creates a new DB proxy.
#
# @option params [required, String] :db_proxy_name
# The identifier for the proxy. This name must be unique for all proxies
# owned by your AWS account in the specified AWS 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.
#
# @option params [required, String] :engine_family
# 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. The engine
# family applies to MySQL and PostgreSQL for both RDS and Aurora.
#
# @option params [required, Array] :auth
# The authorization mechanism that the proxy uses.
#
# @option params [required, String] :role_arn
# The Amazon Resource Name (ARN) of the IAM role that the proxy uses to
# access secrets in AWS Secrets Manager.
#
# @option params [required, Array] :vpc_subnet_ids
# One or more VPC subnet IDs to associate with the new proxy.
#
# @option params [Array] :vpc_security_group_ids
# One or more VPC security group IDs to associate with the new proxy.
#
# @option params [Boolean] :require_tls
# A Boolean parameter that 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.
#
# @option params [Integer] :idle_client_timeout
# 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.
#
# @option params [Boolean] :debug_logging
# 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.
#
# @option params [Array] :tags
# An optional set of key-value pairs to associate arbitrary data of your
# choosing with the proxy.
#
# @return [Types::CreateDBProxyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::CreateDBProxyResponse#db_proxy #db_proxy} => Types::DBProxy
#
# @example Request syntax with placeholder values
#
# resp = client.create_db_proxy({
# db_proxy_name: "String", # required
# engine_family: "MYSQL", # required, accepts MYSQL, POSTGRESQL
# auth: [ # required
# {
# description: "String",
# user_name: "String",
# auth_scheme: "SECRETS", # accepts SECRETS
# secret_arn: "String",
# iam_auth: "DISABLED", # accepts DISABLED, REQUIRED
# },
# ],
# role_arn: "String", # required
# vpc_subnet_ids: ["String"], # required
# vpc_security_group_ids: ["String"],
# require_tls: false,
# idle_client_timeout: 1,
# debug_logging: false,
# tags: [
# {
# key: "String",
# value: "String",
# },
# ],
# })
#
# @example Response structure
#
# resp.db_proxy.db_proxy_name #=> String
# resp.db_proxy.db_proxy_arn #=> String
# resp.db_proxy.status #=> String, one of "available", "modifying", "incompatible-network", "insufficient-resource-limits", "creating", "deleting", "suspended", "suspending", "reactivating"
# resp.db_proxy.engine_family #=> String
# resp.db_proxy.vpc_security_group_ids #=> Array
# resp.db_proxy.vpc_security_group_ids[0] #=> String
# resp.db_proxy.vpc_subnet_ids #=> Array
# resp.db_proxy.vpc_subnet_ids[0] #=> String
# resp.db_proxy.auth #=> Array
# resp.db_proxy.auth[0].description #=> String
# resp.db_proxy.auth[0].user_name #=> String
# resp.db_proxy.auth[0].auth_scheme #=> String, one of "SECRETS"
# resp.db_proxy.auth[0].secret_arn #=> String
# resp.db_proxy.auth[0].iam_auth #=> String, one of "DISABLED", "REQUIRED"
# resp.db_proxy.role_arn #=> String
# resp.db_proxy.endpoint #=> String
# resp.db_proxy.require_tls #=> Boolean
# resp.db_proxy.idle_client_timeout #=> Integer
# resp.db_proxy.debug_logging #=> Boolean
# resp.db_proxy.created_date #=> Time
# resp.db_proxy.updated_date #=> Time
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBProxy AWS API Documentation
#
# @overload create_db_proxy(params = {})
# @param [Hash] params ({})
def create_db_proxy(params = {}, options = {})
req = build_request(:create_db_proxy, params)
req.send_request(options)
end
# Creates a new DB security group. DB security groups control access to
# a DB instance.
#
# A DB security group controls access to EC2-Classic DB instances that
# are not in a VPC.
#
#
#
# @option params [required, String] :db_security_group_name
# 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`
#
# @option params [required, String] :db_security_group_description
# The description for the DB security group.
#
# @option params [Array] :tags
# Tags to assign to the DB security group.
#
# @return [Types::CreateDBSecurityGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::CreateDBSecurityGroupResult#db_security_group #db_security_group} => Types::DBSecurityGroup
#
#
# @example Example: To create a DB security group.
#
# # This example creates a DB security group.
#
# resp = client.create_db_security_group({
# db_security_group_description: "My DB security group",
# db_security_group_name: "mydbsecuritygroup",
# })
#
# resp.to_h outputs the following:
# {
# db_security_group: {
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.create_db_security_group({
# db_security_group_name: "String", # required
# db_security_group_description: "String", # required
# tags: [
# {
# key: "String",
# value: "String",
# },
# ],
# })
#
# @example Response structure
#
# resp.db_security_group.owner_id #=> String
# resp.db_security_group.db_security_group_name #=> String
# resp.db_security_group.db_security_group_description #=> String
# resp.db_security_group.vpc_id #=> String
# resp.db_security_group.ec2_security_groups #=> Array
# resp.db_security_group.ec2_security_groups[0].status #=> String
# resp.db_security_group.ec2_security_groups[0].ec2_security_group_name #=> String
# resp.db_security_group.ec2_security_groups[0].ec2_security_group_id #=> String
# resp.db_security_group.ec2_security_groups[0].ec2_security_group_owner_id #=> String
# resp.db_security_group.ip_ranges #=> Array
# resp.db_security_group.ip_ranges[0].status #=> String
# resp.db_security_group.ip_ranges[0].cidrip #=> String
# resp.db_security_group.db_security_group_arn #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSecurityGroup AWS API Documentation
#
# @overload create_db_security_group(params = {})
# @param [Hash] params ({})
def create_db_security_group(params = {}, options = {})
req = build_request(:create_db_security_group, params)
req.send_request(options)
end
# Creates a DBSnapshot. The source DBInstance must be in "available"
# state.
#
# @option params [required, String] :db_snapshot_identifier
# 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`
#
# @option params [required, String] :db_instance_identifier
# The identifier of the DB instance that you want to create the snapshot
# of.
#
# Constraints:
#
# * Must match the identifier of an existing DBInstance.
#
# ^
#
# @option params [Array] :tags
# A list of tags. For more information, see [Tagging Amazon RDS
# Resources][1] in the *Amazon RDS User Guide.*
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html
#
# @return [Types::CreateDBSnapshotResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::CreateDBSnapshotResult#db_snapshot #db_snapshot} => Types::DBSnapshot
#
#
# @example Example: To create a DB snapshot.
#
# # This example creates a DB snapshot.
#
# resp = client.create_db_snapshot({
# db_instance_identifier: "mymysqlinstance",
# db_snapshot_identifier: "mydbsnapshot",
# })
#
# resp.to_h outputs the following:
# {
# db_snapshot: {
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.create_db_snapshot({
# db_snapshot_identifier: "String", # required
# db_instance_identifier: "String", # required
# tags: [
# {
# key: "String",
# value: "String",
# },
# ],
# })
#
# @example Response structure
#
# resp.db_snapshot.db_snapshot_identifier #=> String
# resp.db_snapshot.db_instance_identifier #=> String
# resp.db_snapshot.snapshot_create_time #=> Time
# resp.db_snapshot.engine #=> String
# resp.db_snapshot.allocated_storage #=> Integer
# resp.db_snapshot.status #=> String
# resp.db_snapshot.port #=> Integer
# resp.db_snapshot.availability_zone #=> String
# resp.db_snapshot.vpc_id #=> String
# resp.db_snapshot.instance_create_time #=> Time
# resp.db_snapshot.master_username #=> String
# resp.db_snapshot.engine_version #=> String
# resp.db_snapshot.license_model #=> String
# resp.db_snapshot.snapshot_type #=> String
# resp.db_snapshot.iops #=> Integer
# resp.db_snapshot.option_group_name #=> String
# resp.db_snapshot.percent_progress #=> Integer
# resp.db_snapshot.source_region #=> String
# resp.db_snapshot.source_db_snapshot_identifier #=> String
# resp.db_snapshot.storage_type #=> String
# resp.db_snapshot.tde_credential_arn #=> String
# resp.db_snapshot.encrypted #=> Boolean
# resp.db_snapshot.kms_key_id #=> String
# resp.db_snapshot.db_snapshot_arn #=> String
# resp.db_snapshot.timezone #=> String
# resp.db_snapshot.iam_database_authentication_enabled #=> Boolean
# resp.db_snapshot.processor_features #=> Array
# resp.db_snapshot.processor_features[0].name #=> String
# resp.db_snapshot.processor_features[0].value #=> String
# resp.db_snapshot.dbi_resource_id #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSnapshot AWS API Documentation
#
# @overload create_db_snapshot(params = {})
# @param [Hash] params ({})
def create_db_snapshot(params = {}, options = {})
req = build_request(:create_db_snapshot, params)
req.send_request(options)
end
# Creates a new DB subnet group. DB subnet groups must contain at least
# one subnet in at least two AZs in the AWS Region.
#
# @option params [required, String] :db_subnet_group_name
# 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.
#
# Example: `mySubnetgroup`
#
# @option params [required, String] :db_subnet_group_description
# The description for the DB subnet group.
#
# @option params [required, Array] :subnet_ids
# The EC2 Subnet IDs for the DB subnet group.
#
# @option params [Array] :tags
# Tags to assign to the DB subnet group.
#
# @return [Types::CreateDBSubnetGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::CreateDBSubnetGroupResult#db_subnet_group #db_subnet_group} => Types::DBSubnetGroup
#
#
# @example Example: To create a DB subnet group.
#
# # This example creates a DB subnet group.
#
# resp = client.create_db_subnet_group({
# db_subnet_group_description: "My DB subnet group",
# db_subnet_group_name: "mydbsubnetgroup",
# subnet_ids: [
# "subnet-1fab8a69",
# "subnet-d43a468c",
# ],
# })
#
# resp.to_h outputs the following:
# {
# db_subnet_group: {
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.create_db_subnet_group({
# db_subnet_group_name: "String", # required
# db_subnet_group_description: "String", # required
# subnet_ids: ["String"], # required
# tags: [
# {
# key: "String",
# value: "String",
# },
# ],
# })
#
# @example Response structure
#
# resp.db_subnet_group.db_subnet_group_name #=> String
# resp.db_subnet_group.db_subnet_group_description #=> String
# resp.db_subnet_group.vpc_id #=> String
# resp.db_subnet_group.subnet_group_status #=> String
# resp.db_subnet_group.subnets #=> Array
# resp.db_subnet_group.subnets[0].subnet_identifier #=> String
# resp.db_subnet_group.subnets[0].subnet_availability_zone.name #=> String
# resp.db_subnet_group.subnets[0].subnet_status #=> String
# resp.db_subnet_group.db_subnet_group_arn #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSubnetGroup AWS API Documentation
#
# @overload create_db_subnet_group(params = {})
# @param [Hash] params ({})
def create_db_subnet_group(params = {}, options = {})
req = build_request(:create_db_subnet_group, params)
req.send_request(options)
end
# Creates an RDS event notification subscription. This action 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.
#
# You can specify the type of source (SourceType) you want to be
# notified of, provide a list of RDS sources (SourceIds) that triggers
# the events, and provide a list of event categories (EventCategories)
# for events you want to be notified of. For example, you can specify
# SourceType = db-instance, SourceIds = mydbinstance1, mydbinstance2 and
# EventCategories = Availability, Backup.
#
# If you specify both the SourceType and SourceIds, such as SourceType =
# db-instance and SourceIdentifier = myDBInstance1, you are notified of
# all the db-instance events for the specified source. If you specify a
# SourceType but do not specify a SourceIdentifier, you receive notice
# of the events for that source type for all your RDS sources. If you
# don't specify either the SourceType or the SourceIdentifier, you are
# notified of events generated from all RDS sources belonging to your
# customer account.
#
# RDS event notification is only available for unencrypted SNS topics.
# If you specify an encrypted SNS topic, event notifications aren't
# sent for the topic.
#
#
#
# @option params [required, String] :subscription_name
# The name of the subscription.
#
# Constraints: The name must be less than 255 characters.
#
# @option params [required, String] :sns_topic_arn
# The Amazon Resource Name (ARN) of the SNS topic created for event
# notification. The ARN is created by Amazon SNS when you create a topic
# and subscribe to it.
#
# @option params [String] :source_type
# 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 would
# set this parameter to db-instance. 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`
#
# @option params [Array] :event_categories
# A list of event categories for a SourceType that you want to subscribe
# to. You can see a list of the categories for a given SourceType in the
# [Events][1] topic in the *Amazon RDS User Guide* or by using the
# **DescribeEventCategories** action.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html
#
# @option params [Array] :source_ids
# 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, then a `DBInstanceIdentifier`
# must be supplied.
#
# * If the source type is a DB security group, a `DBSecurityGroupName`
# must be supplied.
#
# * If the source type is a DB parameter group, a `DBParameterGroupName`
# must be supplied.
#
# * If the source type is a DB snapshot, a `DBSnapshotIdentifier` must
# be supplied.
#
# @option params [Boolean] :enabled
# A value that indicates whether to activate the subscription. If the
# event notification subscription isn't activated, the subscription is
# created but not active.
#
# @option params [Array] :tags
# A list of tags. For more information, see [Tagging Amazon RDS
# Resources][1] in the *Amazon RDS User Guide.*
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html
#
# @return [Types::CreateEventSubscriptionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::CreateEventSubscriptionResult#event_subscription #event_subscription} => Types::EventSubscription
#
#
# @example Example: To create an event notification subscription
#
# # This example creates an event notification subscription.
#
# resp = client.create_event_subscription({
# enabled: true,
# event_categories: [
# "availability",
# ],
# sns_topic_arn: "arn:aws:sns:us-east-1:992648334831:MyDemoSNSTopic",
# source_ids: [
# "mymysqlinstance",
# ],
# source_type: "db-instance",
# subscription_name: "mymysqleventsubscription",
# })
#
# resp.to_h outputs the following:
# {
# event_subscription: {
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.create_event_subscription({
# subscription_name: "String", # required
# sns_topic_arn: "String", # required
# source_type: "String",
# event_categories: ["String"],
# source_ids: ["String"],
# enabled: false,
# tags: [
# {
# key: "String",
# value: "String",
# },
# ],
# })
#
# @example Response structure
#
# resp.event_subscription.customer_aws_id #=> String
# resp.event_subscription.cust_subscription_id #=> String
# resp.event_subscription.sns_topic_arn #=> String
# resp.event_subscription.status #=> String
# resp.event_subscription.subscription_creation_time #=> String
# resp.event_subscription.source_type #=> String
# resp.event_subscription.source_ids_list #=> Array
# resp.event_subscription.source_ids_list[0] #=> String
# resp.event_subscription.event_categories_list #=> Array
# resp.event_subscription.event_categories_list[0] #=> String
# resp.event_subscription.enabled #=> Boolean
# resp.event_subscription.event_subscription_arn #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateEventSubscription AWS API Documentation
#
# @overload create_event_subscription(params = {})
# @param [Hash] params ({})
def create_event_subscription(params = {}, options = {})
req = build_request(:create_event_subscription, params)
req.send_request(options)
end
# Creates an Aurora global database spread across multiple 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.
#
# You can create a global database that is initially empty, and then add
# a primary cluster and a secondary cluster to it. Or you can specify an
# existing Aurora cluster during the create operation, and this cluster
# becomes the primary cluster of the global database.
#
# This action only applies to Aurora DB clusters.
#
#
#
# @option params [String] :global_cluster_identifier
# The cluster identifier of the new global database cluster.
#
# @option params [String] :source_db_cluster_identifier
# The Amazon Resource Name (ARN) to use as the primary cluster of the
# global database. This parameter is optional.
#
# @option params [String] :engine
# Provides the name of the database engine to be used for this DB
# cluster.
#
# @option params [String] :engine_version
# The engine version of the Aurora global database.
#
# @option params [Boolean] :deletion_protection
# The deletion protection setting for the new global database. The
# global database can't be deleted when deletion protection is enabled.
#
# @option params [String] :database_name
# The name for your database of up to 64 alpha-numeric characters. If
# you do not provide a name, Amazon Aurora will not create a database in
# the global database cluster you are creating.
#
# @option params [Boolean] :storage_encrypted
# The storage encryption setting for the new global database cluster.
#
# @return [Types::CreateGlobalClusterResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::CreateGlobalClusterResult#global_cluster #global_cluster} => Types::GlobalCluster
#
# @example Request syntax with placeholder values
#
# resp = client.create_global_cluster({
# global_cluster_identifier: "String",
# source_db_cluster_identifier: "String",
# engine: "String",
# engine_version: "String",
# deletion_protection: false,
# database_name: "String",
# storage_encrypted: false,
# })
#
# @example Response structure
#
# resp.global_cluster.global_cluster_identifier #=> String
# resp.global_cluster.global_cluster_resource_id #=> String
# resp.global_cluster.global_cluster_arn #=> String
# resp.global_cluster.status #=> String
# resp.global_cluster.engine #=> String
# resp.global_cluster.engine_version #=> String
# resp.global_cluster.database_name #=> String
# resp.global_cluster.storage_encrypted #=> Boolean
# resp.global_cluster.deletion_protection #=> Boolean
# resp.global_cluster.global_cluster_members #=> Array
# resp.global_cluster.global_cluster_members[0].db_cluster_arn #=> String
# resp.global_cluster.global_cluster_members[0].readers #=> Array
# resp.global_cluster.global_cluster_members[0].readers[0] #=> String
# resp.global_cluster.global_cluster_members[0].is_writer #=> Boolean
# resp.global_cluster.global_cluster_members[0].global_write_forwarding_status #=> String, one of "enabled", "disabled", "enabling", "disabling", "unknown"
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateGlobalCluster AWS API Documentation
#
# @overload create_global_cluster(params = {})
# @param [Hash] params ({})
def create_global_cluster(params = {}, options = {})
req = build_request(:create_global_cluster, params)
req.send_request(options)
end
# Creates a new option group. You can create up to 20 option groups.
#
# @option params [required, String] :option_group_name
# 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`
#
# @option params [required, String] :engine_name
# Specifies the name of the engine that this option group should be
# associated with.
#
# @option params [required, String] :major_engine_version
# Specifies the major version of the engine that this option group
# should be associated with.
#
# @option params [required, String] :option_group_description
# The description of the option group.
#
# @option params [Array] :tags
# Tags to assign to the option group.
#
# @return [Types::CreateOptionGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::CreateOptionGroupResult#option_group #option_group} => Types::OptionGroup
#
#
# @example Example: To create an option group
#
# # This example creates an option group.
#
# resp = client.create_option_group({
# engine_name: "MySQL",
# major_engine_version: "5.6",
# option_group_description: "My MySQL 5.6 option group",
# option_group_name: "mymysqloptiongroup",
# })
#
# resp.to_h outputs the following:
# {
# option_group: {
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.create_option_group({
# option_group_name: "String", # required
# engine_name: "String", # required
# major_engine_version: "String", # required
# option_group_description: "String", # required
# tags: [
# {
# key: "String",
# value: "String",
# },
# ],
# })
#
# @example Response structure
#
# resp.option_group.option_group_name #=> String
# resp.option_group.option_group_description #=> String
# resp.option_group.engine_name #=> String
# resp.option_group.major_engine_version #=> String
# resp.option_group.options #=> Array
# resp.option_group.options[0].option_name #=> String
# resp.option_group.options[0].option_description #=> String
# resp.option_group.options[0].persistent #=> Boolean
# resp.option_group.options[0].permanent #=> Boolean
# resp.option_group.options[0].port #=> Integer
# resp.option_group.options[0].option_version #=> String
# resp.option_group.options[0].option_settings #=> Array
# resp.option_group.options[0].option_settings[0].name #=> String
# resp.option_group.options[0].option_settings[0].value #=> String
# resp.option_group.options[0].option_settings[0].default_value #=> String
# resp.option_group.options[0].option_settings[0].description #=> String
# resp.option_group.options[0].option_settings[0].apply_type #=> String
# resp.option_group.options[0].option_settings[0].data_type #=> String
# resp.option_group.options[0].option_settings[0].allowed_values #=> String
# resp.option_group.options[0].option_settings[0].is_modifiable #=> Boolean
# resp.option_group.options[0].option_settings[0].is_collection #=> Boolean
# resp.option_group.options[0].db_security_group_memberships #=> Array
# resp.option_group.options[0].db_security_group_memberships[0].db_security_group_name #=> String
# resp.option_group.options[0].db_security_group_memberships[0].status #=> String
# resp.option_group.options[0].vpc_security_group_memberships #=> Array
# resp.option_group.options[0].vpc_security_group_memberships[0].vpc_security_group_id #=> String
# resp.option_group.options[0].vpc_security_group_memberships[0].status #=> String
# resp.option_group.allows_vpc_and_non_vpc_instance_memberships #=> Boolean
# resp.option_group.vpc_id #=> String
# resp.option_group.option_group_arn #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateOptionGroup AWS API Documentation
#
# @overload create_option_group(params = {})
# @param [Hash] params ({})
def create_option_group(params = {}, options = {})
req = build_request(:create_option_group, params)
req.send_request(options)
end
# Deletes a custom Availability Zone (AZ).
#
# A custom AZ is an on-premises AZ that is integrated with a VMware
# vSphere cluster.
#
# For more information about RDS on VMware, see the [ *RDS on VMware
# User Guide.* ][1]
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html
#
# @option params [required, String] :custom_availability_zone_id
# The custom AZ identifier.
#
# @return [Types::DeleteCustomAvailabilityZoneResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DeleteCustomAvailabilityZoneResult#custom_availability_zone #custom_availability_zone} => Types::CustomAvailabilityZone
#
# @example Request syntax with placeholder values
#
# resp = client.delete_custom_availability_zone({
# custom_availability_zone_id: "String", # required
# })
#
# @example Response structure
#
# resp.custom_availability_zone.custom_availability_zone_id #=> String
# resp.custom_availability_zone.custom_availability_zone_name #=> String
# resp.custom_availability_zone.custom_availability_zone_status #=> String
# resp.custom_availability_zone.vpn_details.vpn_id #=> String
# resp.custom_availability_zone.vpn_details.vpn_tunnel_originator_ip #=> String
# resp.custom_availability_zone.vpn_details.vpn_gateway_ip #=> String
# resp.custom_availability_zone.vpn_details.vpn_psk #=> String
# resp.custom_availability_zone.vpn_details.vpn_name #=> String
# resp.custom_availability_zone.vpn_details.vpn_state #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteCustomAvailabilityZone AWS API Documentation
#
# @overload delete_custom_availability_zone(params = {})
# @param [Hash] params ({})
def delete_custom_availability_zone(params = {}, options = {})
req = build_request(:delete_custom_availability_zone, params)
req.send_request(options)
end
# 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.
#
#
#
# For more information on Amazon Aurora, see [ What Is Amazon
# Aurora?][1] in the *Amazon Aurora User Guide.*
#
# This action only applies to Aurora DB clusters.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html
#
# @option params [required, String] :db_cluster_identifier
# The DB cluster identifier for the DB cluster to be deleted. This
# parameter isn't case-sensitive.
#
# Constraints:
#
# * Must match an existing DBClusterIdentifier.
#
# ^
#
# @option params [Boolean] :skip_final_snapshot
# A value that indicates whether to skip the creation of a final DB
# cluster snapshot before the DB cluster is deleted. If skip is
# specified, no DB cluster snapshot is created. If skip isn't
# specified, a DB cluster snapshot is created before the DB cluster is
# deleted. By default, skip isn't specified, and the DB cluster
# snapshot is created. By default, this parameter is disabled.
#
# You must specify a `FinalDBSnapshotIdentifier` parameter if
# `SkipFinalSnapshot` is disabled.
#
#
#
# @option params [String] :final_db_snapshot_identifier
# The DB cluster snapshot identifier of the new DB cluster snapshot
# created when `SkipFinalSnapshot` is disabled.
#
# Specifying this parameter and also skipping the creation of a final DB
# cluster snapshot with the `SkipFinalShapshot` parameter 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
#
# @return [Types::DeleteDBClusterResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DeleteDBClusterResult#db_cluster #db_cluster} => Types::DBCluster
#
#
# @example Example: To delete a DB cluster.
#
# # This example deletes the specified DB cluster.
#
# resp = client.delete_db_cluster({
# db_cluster_identifier: "mydbcluster",
# skip_final_snapshot: true,
# })
#
# resp.to_h outputs the following:
# {
# db_cluster: {
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.delete_db_cluster({
# db_cluster_identifier: "String", # required
# skip_final_snapshot: false,
# final_db_snapshot_identifier: "String",
# })
#
# @example Response structure
#
# resp.db_cluster.allocated_storage #=> Integer
# resp.db_cluster.availability_zones #=> Array
# resp.db_cluster.availability_zones[0] #=> String
# resp.db_cluster.backup_retention_period #=> Integer
# resp.db_cluster.character_set_name #=> String
# resp.db_cluster.database_name #=> String
# resp.db_cluster.db_cluster_identifier #=> String
# resp.db_cluster.db_cluster_parameter_group #=> String
# resp.db_cluster.db_subnet_group #=> String
# resp.db_cluster.status #=> String
# resp.db_cluster.percent_progress #=> String
# resp.db_cluster.earliest_restorable_time #=> Time
# resp.db_cluster.endpoint #=> String
# resp.db_cluster.reader_endpoint #=> String
# resp.db_cluster.custom_endpoints #=> Array
# resp.db_cluster.custom_endpoints[0] #=> String
# resp.db_cluster.multi_az #=> Boolean
# resp.db_cluster.engine #=> String
# resp.db_cluster.engine_version #=> String
# resp.db_cluster.latest_restorable_time #=> Time
# resp.db_cluster.port #=> Integer
# resp.db_cluster.master_username #=> String
# resp.db_cluster.db_cluster_option_group_memberships #=> Array
# resp.db_cluster.db_cluster_option_group_memberships[0].db_cluster_option_group_name #=> String
# resp.db_cluster.db_cluster_option_group_memberships[0].status #=> String
# resp.db_cluster.preferred_backup_window #=> String
# resp.db_cluster.preferred_maintenance_window #=> String
# resp.db_cluster.replication_source_identifier #=> String
# resp.db_cluster.read_replica_identifiers #=> Array
# resp.db_cluster.read_replica_identifiers[0] #=> String
# resp.db_cluster.db_cluster_members #=> Array
# resp.db_cluster.db_cluster_members[0].db_instance_identifier #=> String
# resp.db_cluster.db_cluster_members[0].is_cluster_writer #=> Boolean
# resp.db_cluster.db_cluster_members[0].db_cluster_parameter_group_status #=> String
# resp.db_cluster.db_cluster_members[0].promotion_tier #=> Integer
# resp.db_cluster.vpc_security_groups #=> Array
# resp.db_cluster.vpc_security_groups[0].vpc_security_group_id #=> String
# resp.db_cluster.vpc_security_groups[0].status #=> String
# resp.db_cluster.hosted_zone_id #=> String
# resp.db_cluster.storage_encrypted #=> Boolean
# resp.db_cluster.kms_key_id #=> String
# resp.db_cluster.db_cluster_resource_id #=> String
# resp.db_cluster.db_cluster_arn #=> String
# resp.db_cluster.associated_roles #=> Array
# resp.db_cluster.associated_roles[0].role_arn #=> String
# resp.db_cluster.associated_roles[0].status #=> String
# resp.db_cluster.associated_roles[0].feature_name #=> String
# resp.db_cluster.iam_database_authentication_enabled #=> Boolean
# resp.db_cluster.clone_group_id #=> String
# resp.db_cluster.cluster_create_time #=> Time
# resp.db_cluster.earliest_backtrack_time #=> Time
# resp.db_cluster.backtrack_window #=> Integer
# resp.db_cluster.backtrack_consumed_change_records #=> Integer
# resp.db_cluster.enabled_cloudwatch_logs_exports #=> Array
# resp.db_cluster.enabled_cloudwatch_logs_exports[0] #=> String
# resp.db_cluster.capacity #=> Integer
# resp.db_cluster.engine_mode #=> String
# resp.db_cluster.scaling_configuration_info.min_capacity #=> Integer
# resp.db_cluster.scaling_configuration_info.max_capacity #=> Integer
# resp.db_cluster.scaling_configuration_info.auto_pause #=> Boolean
# resp.db_cluster.scaling_configuration_info.seconds_until_auto_pause #=> Integer
# resp.db_cluster.scaling_configuration_info.timeout_action #=> String
# resp.db_cluster.deletion_protection #=> Boolean
# resp.db_cluster.http_endpoint_enabled #=> Boolean
# resp.db_cluster.activity_stream_mode #=> String, one of "sync", "async"
# resp.db_cluster.activity_stream_status #=> String, one of "stopped", "starting", "started", "stopping"
# resp.db_cluster.activity_stream_kms_key_id #=> String
# resp.db_cluster.activity_stream_kinesis_stream_name #=> String
# resp.db_cluster.copy_tags_to_snapshot #=> Boolean
# resp.db_cluster.cross_account_clone #=> Boolean
# resp.db_cluster.domain_memberships #=> Array
# resp.db_cluster.domain_memberships[0].domain #=> String
# resp.db_cluster.domain_memberships[0].status #=> String
# resp.db_cluster.domain_memberships[0].fqdn #=> String
# resp.db_cluster.domain_memberships[0].iam_role_name #=> String
# resp.db_cluster.global_write_forwarding_status #=> String, one of "enabled", "disabled", "enabling", "disabling", "unknown"
# resp.db_cluster.global_write_forwarding_requested #=> Boolean
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBCluster AWS API Documentation
#
# @overload delete_db_cluster(params = {})
# @param [Hash] params ({})
def delete_db_cluster(params = {}, options = {})
req = build_request(:delete_db_cluster, params)
req.send_request(options)
end
# Deletes a custom endpoint and removes it from an Amazon Aurora DB
# cluster.
#
# This action only applies to Aurora DB clusters.
#
#
#
# @option params [required, String] :db_cluster_endpoint_identifier
# The identifier associated with the custom endpoint. This parameter is
# stored as a lowercase string.
#
# @return [Types::DBClusterEndpoint] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DBClusterEndpoint#db_cluster_endpoint_identifier #db_cluster_endpoint_identifier} => String
# * {Types::DBClusterEndpoint#db_cluster_identifier #db_cluster_identifier} => String
# * {Types::DBClusterEndpoint#db_cluster_endpoint_resource_identifier #db_cluster_endpoint_resource_identifier} => String
# * {Types::DBClusterEndpoint#endpoint #endpoint} => String
# * {Types::DBClusterEndpoint#status #status} => String
# * {Types::DBClusterEndpoint#endpoint_type #endpoint_type} => String
# * {Types::DBClusterEndpoint#custom_endpoint_type #custom_endpoint_type} => String
# * {Types::DBClusterEndpoint#static_members #static_members} => Array<String>
# * {Types::DBClusterEndpoint#excluded_members #excluded_members} => Array<String>
# * {Types::DBClusterEndpoint#db_cluster_endpoint_arn #db_cluster_endpoint_arn} => String
#
# @example Request syntax with placeholder values
#
# resp = client.delete_db_cluster_endpoint({
# db_cluster_endpoint_identifier: "String", # required
# })
#
# @example Response structure
#
# resp.db_cluster_endpoint_identifier #=> String
# resp.db_cluster_identifier #=> String
# resp.db_cluster_endpoint_resource_identifier #=> String
# resp.endpoint #=> String
# resp.status #=> String
# resp.endpoint_type #=> String
# resp.custom_endpoint_type #=> String
# resp.static_members #=> Array
# resp.static_members[0] #=> String
# resp.excluded_members #=> Array
# resp.excluded_members[0] #=> String
# resp.db_cluster_endpoint_arn #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterEndpoint AWS API Documentation
#
# @overload delete_db_cluster_endpoint(params = {})
# @param [Hash] params ({})
def delete_db_cluster_endpoint(params = {}, options = {})
req = build_request(:delete_db_cluster_endpoint, params)
req.send_request(options)
end
# Deletes a specified DB cluster parameter group. The DB cluster
# parameter group to be deleted can't be associated with any DB
# clusters.
#
# For more information on Amazon Aurora, see [ What Is Amazon
# Aurora?][1] in the *Amazon Aurora User Guide.*
#
# This action only applies to Aurora DB clusters.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html
#
# @option params [required, String] :db_cluster_parameter_group_name
# 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.
#
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
#
#
# @example Example: To delete a DB cluster parameter group.
#
# # This example deletes the specified DB cluster parameter group.
#
# resp = client.delete_db_cluster_parameter_group({
# db_cluster_parameter_group_name: "mydbclusterparametergroup",
# })
#
# @example Request syntax with placeholder values
#
# resp = client.delete_db_cluster_parameter_group({
# db_cluster_parameter_group_name: "String", # required
# })
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterParameterGroup AWS API Documentation
#
# @overload delete_db_cluster_parameter_group(params = {})
# @param [Hash] params ({})
def delete_db_cluster_parameter_group(params = {}, options = {})
req = build_request(:delete_db_cluster_parameter_group, params)
req.send_request(options)
end
# Deletes a DB cluster snapshot. If the snapshot is being copied, the
# copy operation is terminated.
#
# The DB cluster snapshot must be in the `available` state to be
# deleted.
#
#
#
# For more information on Amazon Aurora, see [ What Is Amazon
# Aurora?][1] in the *Amazon Aurora User Guide.*
#
# This action only applies to Aurora DB clusters.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html
#
# @option params [required, String] :db_cluster_snapshot_identifier
# The identifier of the DB cluster snapshot to delete.
#
# Constraints: Must be the name of an existing DB cluster snapshot in
# the `available` state.
#
# @return [Types::DeleteDBClusterSnapshotResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DeleteDBClusterSnapshotResult#db_cluster_snapshot #db_cluster_snapshot} => Types::DBClusterSnapshot
#
#
# @example Example: To delete a DB cluster snapshot.
#
# # This example deletes the specified DB cluster snapshot.
#
# resp = client.delete_db_cluster_snapshot({
# db_cluster_snapshot_identifier: "mydbclustersnapshot",
# })
#
# resp.to_h outputs the following:
# {
# db_cluster_snapshot: {
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.delete_db_cluster_snapshot({
# db_cluster_snapshot_identifier: "String", # required
# })
#
# @example Response structure
#
# resp.db_cluster_snapshot.availability_zones #=> Array
# resp.db_cluster_snapshot.availability_zones[0] #=> String
# resp.db_cluster_snapshot.db_cluster_snapshot_identifier #=> String
# resp.db_cluster_snapshot.db_cluster_identifier #=> String
# resp.db_cluster_snapshot.snapshot_create_time #=> Time
# resp.db_cluster_snapshot.engine #=> String
# resp.db_cluster_snapshot.allocated_storage #=> Integer
# resp.db_cluster_snapshot.status #=> String
# resp.db_cluster_snapshot.port #=> Integer
# resp.db_cluster_snapshot.vpc_id #=> String
# resp.db_cluster_snapshot.cluster_create_time #=> Time
# resp.db_cluster_snapshot.master_username #=> String
# resp.db_cluster_snapshot.engine_version #=> String
# resp.db_cluster_snapshot.license_model #=> String
# resp.db_cluster_snapshot.snapshot_type #=> String
# resp.db_cluster_snapshot.percent_progress #=> Integer
# resp.db_cluster_snapshot.storage_encrypted #=> Boolean
# resp.db_cluster_snapshot.kms_key_id #=> String
# resp.db_cluster_snapshot.db_cluster_snapshot_arn #=> String
# resp.db_cluster_snapshot.source_db_cluster_snapshot_arn #=> String
# resp.db_cluster_snapshot.iam_database_authentication_enabled #=> Boolean
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterSnapshot AWS API Documentation
#
# @overload delete_db_cluster_snapshot(params = {})
# @param [Hash] params ({})
def delete_db_cluster_snapshot(params = {}, options = {})
req = build_request(:delete_db_cluster_snapshot, params)
req.send_request(options)
end
# The DeleteDBInstance action 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. Manual DB snapshots
# of the DB instance to be deleted by `DeleteDBInstance` are not
# deleted.
#
# If you request a final DB snapshot the status of the Amazon RDS DB
# instance is `deleting` until the DB snapshot is created. The API
# action `DescribeDBInstance` is used to monitor the status of this
# operation. The action can't be canceled or reverted once submitted.
#
# When a DB instance is in a failure state and has a status of `failed`,
# `incompatible-restore`, or `incompatible-network`, you can only delete
# it when you skip creation of the final snapshot with the
# `SkipFinalSnapshot` parameter.
#
# If the specified DB instance is part of an Amazon Aurora DB cluster,
# you can't delete the DB instance if both of the following conditions
# are true:
#
# * The DB cluster is a read replica of another Amazon Aurora DB
# cluster.
#
# * The DB instance is the only instance in the DB cluster.
#
# To delete a DB instance in this case, first call the
# `PromoteReadReplicaDBCluster` API action to promote the DB cluster so
# it's no longer a read replica. After the promotion completes, then
# call the `DeleteDBInstance` API action to delete the final instance in
# the DB cluster.
#
# @option params [required, String] :db_instance_identifier
# 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.
#
# ^
#
# @option params [Boolean] :skip_final_snapshot
# A value that indicates whether to skip the creation of a final DB
# snapshot before the DB instance is deleted. If skip is specified, no
# DB snapshot is created. If skip isn't specified, a DB snapshot is
# created before the DB instance is deleted. By default, skip isn't
# specified, and the DB snapshot is created.
#
# When a DB instance is in a failure state and has a status of
# 'failed', 'incompatible-restore', or 'incompatible-network', it
# can only be deleted when skip is specified.
#
# Specify skip when deleting a read replica.
#
# The FinalDBSnapshotIdentifier parameter must be specified if skip
# isn't specified.
#
#
#
# @option params [String] :final_db_snapshot_identifier
# The `DBSnapshotIdentifier` of the new `DBSnapshot` created when the
# `SkipFinalSnapshot` parameter is disabled.
#
# Specifying this parameter and also specifying to skip final DB
# snapshot creation in SkipFinalShapshot results in an error.
#
#
#
# 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.
#
# @option params [Boolean] :delete_automated_backups
# A value that indicates 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.
#
# @return [Types::DeleteDBInstanceResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DeleteDBInstanceResult#db_instance #db_instance} => Types::DBInstance
#
#
# @example Example: To delete a DB instance.
#
# # This example deletes the specified DB instance.
#
# resp = client.delete_db_instance({
# db_instance_identifier: "mymysqlinstance",
# skip_final_snapshot: true,
# })
#
# resp.to_h outputs the following:
# {
# db_instance: {
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.delete_db_instance({
# db_instance_identifier: "String", # required
# skip_final_snapshot: false,
# final_db_snapshot_identifier: "String",
# delete_automated_backups: false,
# })
#
# @example Response structure
#
# resp.db_instance.db_instance_identifier #=> String
# resp.db_instance.db_instance_class #=> String
# resp.db_instance.engine #=> String
# resp.db_instance.db_instance_status #=> String
# resp.db_instance.master_username #=> String
# resp.db_instance.db_name #=> String
# resp.db_instance.endpoint.address #=> String
# resp.db_instance.endpoint.port #=> Integer
# resp.db_instance.endpoint.hosted_zone_id #=> String
# resp.db_instance.allocated_storage #=> Integer
# resp.db_instance.instance_create_time #=> Time
# resp.db_instance.preferred_backup_window #=> String
# resp.db_instance.backup_retention_period #=> Integer
# resp.db_instance.db_security_groups #=> Array
# resp.db_instance.db_security_groups[0].db_security_group_name #=> String
# resp.db_instance.db_security_groups[0].status #=> String
# resp.db_instance.vpc_security_groups #=> Array
# resp.db_instance.vpc_security_groups[0].vpc_security_group_id #=> String
# resp.db_instance.vpc_security_groups[0].status #=> String
# resp.db_instance.db_parameter_groups #=> Array
# resp.db_instance.db_parameter_groups[0].db_parameter_group_name #=> String
# resp.db_instance.db_parameter_groups[0].parameter_apply_status #=> String
# resp.db_instance.availability_zone #=> String
# resp.db_instance.db_subnet_group.db_subnet_group_name #=> String
# resp.db_instance.db_subnet_group.db_subnet_group_description #=> String
# resp.db_instance.db_subnet_group.vpc_id #=> String
# resp.db_instance.db_subnet_group.subnet_group_status #=> String
# resp.db_instance.db_subnet_group.subnets #=> Array
# resp.db_instance.db_subnet_group.subnets[0].subnet_identifier #=> String
# resp.db_instance.db_subnet_group.subnets[0].subnet_availability_zone.name #=> String
# resp.db_instance.db_subnet_group.subnets[0].subnet_status #=> String
# resp.db_instance.db_subnet_group.db_subnet_group_arn #=> String
# resp.db_instance.preferred_maintenance_window #=> String
# resp.db_instance.pending_modified_values.db_instance_class #=> String
# resp.db_instance.pending_modified_values.allocated_storage #=> Integer
# resp.db_instance.pending_modified_values.master_user_password #=> String
# resp.db_instance.pending_modified_values.port #=> Integer
# resp.db_instance.pending_modified_values.backup_retention_period #=> Integer
# resp.db_instance.pending_modified_values.multi_az #=> Boolean
# resp.db_instance.pending_modified_values.engine_version #=> String
# resp.db_instance.pending_modified_values.license_model #=> String
# resp.db_instance.pending_modified_values.iops #=> Integer
# resp.db_instance.pending_modified_values.db_instance_identifier #=> String
# resp.db_instance.pending_modified_values.storage_type #=> String
# resp.db_instance.pending_modified_values.ca_certificate_identifier #=> String
# resp.db_instance.pending_modified_values.db_subnet_group_name #=> String
# resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_enable #=> Array
# resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_enable[0] #=> String
# resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_disable #=> Array
# resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_disable[0] #=> String
# resp.db_instance.pending_modified_values.processor_features #=> Array
# resp.db_instance.pending_modified_values.processor_features[0].name #=> String
# resp.db_instance.pending_modified_values.processor_features[0].value #=> String
# resp.db_instance.latest_restorable_time #=> Time
# resp.db_instance.multi_az #=> Boolean
# resp.db_instance.engine_version #=> String
# resp.db_instance.auto_minor_version_upgrade #=> Boolean
# resp.db_instance.read_replica_source_db_instance_identifier #=> String
# resp.db_instance.read_replica_db_instance_identifiers #=> Array
# resp.db_instance.read_replica_db_instance_identifiers[0] #=> String
# resp.db_instance.read_replica_db_cluster_identifiers #=> Array
# resp.db_instance.read_replica_db_cluster_identifiers[0] #=> String
# resp.db_instance.license_model #=> String
# resp.db_instance.iops #=> Integer
# resp.db_instance.option_group_memberships #=> Array
# resp.db_instance.option_group_memberships[0].option_group_name #=> String
# resp.db_instance.option_group_memberships[0].status #=> String
# resp.db_instance.character_set_name #=> String
# resp.db_instance.secondary_availability_zone #=> String
# resp.db_instance.publicly_accessible #=> Boolean
# resp.db_instance.status_infos #=> Array
# resp.db_instance.status_infos[0].status_type #=> String
# resp.db_instance.status_infos[0].normal #=> Boolean
# resp.db_instance.status_infos[0].status #=> String
# resp.db_instance.status_infos[0].message #=> String
# resp.db_instance.storage_type #=> String
# resp.db_instance.tde_credential_arn #=> String
# resp.db_instance.db_instance_port #=> Integer
# resp.db_instance.db_cluster_identifier #=> String
# resp.db_instance.storage_encrypted #=> Boolean
# resp.db_instance.kms_key_id #=> String
# resp.db_instance.dbi_resource_id #=> String
# resp.db_instance.ca_certificate_identifier #=> String
# resp.db_instance.domain_memberships #=> Array
# resp.db_instance.domain_memberships[0].domain #=> String
# resp.db_instance.domain_memberships[0].status #=> String
# resp.db_instance.domain_memberships[0].fqdn #=> String
# resp.db_instance.domain_memberships[0].iam_role_name #=> String
# resp.db_instance.copy_tags_to_snapshot #=> Boolean
# resp.db_instance.monitoring_interval #=> Integer
# resp.db_instance.enhanced_monitoring_resource_arn #=> String
# resp.db_instance.monitoring_role_arn #=> String
# resp.db_instance.promotion_tier #=> Integer
# resp.db_instance.db_instance_arn #=> String
# resp.db_instance.timezone #=> String
# resp.db_instance.iam_database_authentication_enabled #=> Boolean
# resp.db_instance.performance_insights_enabled #=> Boolean
# resp.db_instance.performance_insights_kms_key_id #=> String
# resp.db_instance.performance_insights_retention_period #=> Integer
# resp.db_instance.enabled_cloudwatch_logs_exports #=> Array
# resp.db_instance.enabled_cloudwatch_logs_exports[0] #=> String
# resp.db_instance.processor_features #=> Array
# resp.db_instance.processor_features[0].name #=> String
# resp.db_instance.processor_features[0].value #=> String
# resp.db_instance.deletion_protection #=> Boolean
# resp.db_instance.associated_roles #=> Array
# resp.db_instance.associated_roles[0].role_arn #=> String
# resp.db_instance.associated_roles[0].feature_name #=> String
# resp.db_instance.associated_roles[0].status #=> String
# resp.db_instance.listener_endpoint.address #=> String
# resp.db_instance.listener_endpoint.port #=> Integer
# resp.db_instance.listener_endpoint.hosted_zone_id #=> String
# resp.db_instance.max_allocated_storage #=> Integer
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBInstance AWS API Documentation
#
# @overload delete_db_instance(params = {})
# @param [Hash] params ({})
def delete_db_instance(params = {}, options = {})
req = build_request(:delete_db_instance, params)
req.send_request(options)
end
# Deletes automated backups based on the source instance's
# `DbiResourceId` value or the restorable instance's resource ID.
#
# @option params [required, String] :dbi_resource_id
# The identifier for the source DB instance, which can't be changed and
# which is unique to an AWS Region.
#
# @return [Types::DeleteDBInstanceAutomatedBackupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DeleteDBInstanceAutomatedBackupResult#db_instance_automated_backup #db_instance_automated_backup} => Types::DBInstanceAutomatedBackup
#
# @example Request syntax with placeholder values
#
# resp = client.delete_db_instance_automated_backup({
# dbi_resource_id: "String", # required
# })
#
# @example Response structure
#
# resp.db_instance_automated_backup.db_instance_arn #=> String
# resp.db_instance_automated_backup.dbi_resource_id #=> String
# resp.db_instance_automated_backup.region #=> String
# resp.db_instance_automated_backup.db_instance_identifier #=> String
# resp.db_instance_automated_backup.restore_window.earliest_time #=> Time
# resp.db_instance_automated_backup.restore_window.latest_time #=> Time
# resp.db_instance_automated_backup.allocated_storage #=> Integer
# resp.db_instance_automated_backup.status #=> String
# resp.db_instance_automated_backup.port #=> Integer
# resp.db_instance_automated_backup.availability_zone #=> String
# resp.db_instance_automated_backup.vpc_id #=> String
# resp.db_instance_automated_backup.instance_create_time #=> Time
# resp.db_instance_automated_backup.master_username #=> String
# resp.db_instance_automated_backup.engine #=> String
# resp.db_instance_automated_backup.engine_version #=> String
# resp.db_instance_automated_backup.license_model #=> String
# resp.db_instance_automated_backup.iops #=> Integer
# resp.db_instance_automated_backup.option_group_name #=> String
# resp.db_instance_automated_backup.tde_credential_arn #=> String
# resp.db_instance_automated_backup.encrypted #=> Boolean
# resp.db_instance_automated_backup.storage_type #=> String
# resp.db_instance_automated_backup.kms_key_id #=> String
# resp.db_instance_automated_backup.timezone #=> String
# resp.db_instance_automated_backup.iam_database_authentication_enabled #=> Boolean
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBInstanceAutomatedBackup AWS API Documentation
#
# @overload delete_db_instance_automated_backup(params = {})
# @param [Hash] params ({})
def delete_db_instance_automated_backup(params = {}, options = {})
req = build_request(:delete_db_instance_automated_backup, params)
req.send_request(options)
end
# Deletes a specified DB parameter group. The DB parameter group to be
# deleted can't be associated with any DB instances.
#
# @option params [required, String] :db_parameter_group_name
# 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
#
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
#
#
# @example Example: To delete a DB parameter group
#
# # The following example deletes a DB parameter group.
#
# resp = client.delete_db_parameter_group({
# db_parameter_group_name: "mydbparamgroup3",
# })
#
# @example Request syntax with placeholder values
#
# resp = client.delete_db_parameter_group({
# db_parameter_group_name: "String", # required
# })
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBParameterGroup AWS API Documentation
#
# @overload delete_db_parameter_group(params = {})
# @param [Hash] params ({})
def delete_db_parameter_group(params = {}, options = {})
req = build_request(:delete_db_parameter_group, params)
req.send_request(options)
end
# Deletes an existing proxy.
#
# @option params [required, String] :db_proxy_name
# The name of the DB proxy to delete.
#
# @return [Types::DeleteDBProxyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DeleteDBProxyResponse#db_proxy #db_proxy} => Types::DBProxy
#
# @example Request syntax with placeholder values
#
# resp = client.delete_db_proxy({
# db_proxy_name: "String", # required
# })
#
# @example Response structure
#
# resp.db_proxy.db_proxy_name #=> String
# resp.db_proxy.db_proxy_arn #=> String
# resp.db_proxy.status #=> String, one of "available", "modifying", "incompatible-network", "insufficient-resource-limits", "creating", "deleting", "suspended", "suspending", "reactivating"
# resp.db_proxy.engine_family #=> String
# resp.db_proxy.vpc_security_group_ids #=> Array
# resp.db_proxy.vpc_security_group_ids[0] #=> String
# resp.db_proxy.vpc_subnet_ids #=> Array
# resp.db_proxy.vpc_subnet_ids[0] #=> String
# resp.db_proxy.auth #=> Array
# resp.db_proxy.auth[0].description #=> String
# resp.db_proxy.auth[0].user_name #=> String
# resp.db_proxy.auth[0].auth_scheme #=> String, one of "SECRETS"
# resp.db_proxy.auth[0].secret_arn #=> String
# resp.db_proxy.auth[0].iam_auth #=> String, one of "DISABLED", "REQUIRED"
# resp.db_proxy.role_arn #=> String
# resp.db_proxy.endpoint #=> String
# resp.db_proxy.require_tls #=> Boolean
# resp.db_proxy.idle_client_timeout #=> Integer
# resp.db_proxy.debug_logging #=> Boolean
# resp.db_proxy.created_date #=> Time
# resp.db_proxy.updated_date #=> Time
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBProxy AWS API Documentation
#
# @overload delete_db_proxy(params = {})
# @param [Hash] params ({})
def delete_db_proxy(params = {}, options = {})
req = build_request(:delete_db_proxy, params)
req.send_request(options)
end
# Deletes a DB security group.
#
# The specified DB security group must not be associated with any DB
# instances.
#
#
#
# @option params [required, String] :db_security_group_name
# 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"
#
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
#
#
# @example Example: To delete a DB security group
#
# # The following example deletes a DB security group.
#
# resp = client.delete_db_security_group({
# db_security_group_name: "mysecgroup",
# })
#
# @example Request syntax with placeholder values
#
# resp = client.delete_db_security_group({
# db_security_group_name: "String", # required
# })
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSecurityGroup AWS API Documentation
#
# @overload delete_db_security_group(params = {})
# @param [Hash] params ({})
def delete_db_security_group(params = {}, options = {})
req = build_request(:delete_db_security_group, params)
req.send_request(options)
end
# Deletes a DB snapshot. If the snapshot is being copied, the copy
# operation is terminated.
#
# The DB snapshot must be in the `available` state to be deleted.
#
#
#
# @option params [required, String] :db_snapshot_identifier
# The DB snapshot identifier.
#
# Constraints: Must be the name of an existing DB snapshot in the
# `available` state.
#
# @return [Types::DeleteDBSnapshotResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DeleteDBSnapshotResult#db_snapshot #db_snapshot} => Types::DBSnapshot
#
#
# @example Example: To delete a DB cluster snapshot.
#
# # This example deletes the specified DB snapshot.
#
# resp = client.delete_db_snapshot({
# db_snapshot_identifier: "mydbsnapshot",
# })
#
# resp.to_h outputs the following:
# {
# db_snapshot: {
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.delete_db_snapshot({
# db_snapshot_identifier: "String", # required
# })
#
# @example Response structure
#
# resp.db_snapshot.db_snapshot_identifier #=> String
# resp.db_snapshot.db_instance_identifier #=> String
# resp.db_snapshot.snapshot_create_time #=> Time
# resp.db_snapshot.engine #=> String
# resp.db_snapshot.allocated_storage #=> Integer
# resp.db_snapshot.status #=> String
# resp.db_snapshot.port #=> Integer
# resp.db_snapshot.availability_zone #=> String
# resp.db_snapshot.vpc_id #=> String
# resp.db_snapshot.instance_create_time #=> Time
# resp.db_snapshot.master_username #=> String
# resp.db_snapshot.engine_version #=> String
# resp.db_snapshot.license_model #=> String
# resp.db_snapshot.snapshot_type #=> String
# resp.db_snapshot.iops #=> Integer
# resp.db_snapshot.option_group_name #=> String
# resp.db_snapshot.percent_progress #=> Integer
# resp.db_snapshot.source_region #=> String
# resp.db_snapshot.source_db_snapshot_identifier #=> String
# resp.db_snapshot.storage_type #=> String
# resp.db_snapshot.tde_credential_arn #=> String
# resp.db_snapshot.encrypted #=> Boolean
# resp.db_snapshot.kms_key_id #=> String
# resp.db_snapshot.db_snapshot_arn #=> String
# resp.db_snapshot.timezone #=> String
# resp.db_snapshot.iam_database_authentication_enabled #=> Boolean
# resp.db_snapshot.processor_features #=> Array
# resp.db_snapshot.processor_features[0].name #=> String
# resp.db_snapshot.processor_features[0].value #=> String
# resp.db_snapshot.dbi_resource_id #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSnapshot AWS API Documentation
#
# @overload delete_db_snapshot(params = {})
# @param [Hash] params ({})
def delete_db_snapshot(params = {}, options = {})
req = build_request(:delete_db_snapshot, params)
req.send_request(options)
end
# Deletes a DB subnet group.
#
# The specified database subnet group must not be associated with any DB
# instances.
#
#
#
# @option params [required, String] :db_subnet_group_name
# The name of the database subnet group to delete.
#
# You can't delete the default subnet group.
#
#
#
# Constraints:
#
# Constraints: Must match the name of an existing DBSubnetGroup. Must
# not be default.
#
# Example: `mySubnetgroup`
#
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
#
#
# @example Example: To delete a DB subnet group.
#
# # This example deletes the specified DB subnetgroup.
#
# resp = client.delete_db_subnet_group({
# db_subnet_group_name: "mydbsubnetgroup",
# })
#
# @example Request syntax with placeholder values
#
# resp = client.delete_db_subnet_group({
# db_subnet_group_name: "String", # required
# })
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSubnetGroup AWS API Documentation
#
# @overload delete_db_subnet_group(params = {})
# @param [Hash] params ({})
def delete_db_subnet_group(params = {}, options = {})
req = build_request(:delete_db_subnet_group, params)
req.send_request(options)
end
# Deletes an RDS event notification subscription.
#
# @option params [required, String] :subscription_name
# The name of the RDS event notification subscription you want to
# delete.
#
# @return [Types::DeleteEventSubscriptionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DeleteEventSubscriptionResult#event_subscription #event_subscription} => Types::EventSubscription
#
#
# @example Example: To delete a DB event subscription.
#
# # This example deletes the specified DB event subscription.
#
# resp = client.delete_event_subscription({
# subscription_name: "myeventsubscription",
# })
#
# resp.to_h outputs the following:
# {
# event_subscription: {
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.delete_event_subscription({
# subscription_name: "String", # required
# })
#
# @example Response structure
#
# resp.event_subscription.customer_aws_id #=> String
# resp.event_subscription.cust_subscription_id #=> String
# resp.event_subscription.sns_topic_arn #=> String
# resp.event_subscription.status #=> String
# resp.event_subscription.subscription_creation_time #=> String
# resp.event_subscription.source_type #=> String
# resp.event_subscription.source_ids_list #=> Array
# resp.event_subscription.source_ids_list[0] #=> String
# resp.event_subscription.event_categories_list #=> Array
# resp.event_subscription.event_categories_list[0] #=> String
# resp.event_subscription.enabled #=> Boolean
# resp.event_subscription.event_subscription_arn #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteEventSubscription AWS API Documentation
#
# @overload delete_event_subscription(params = {})
# @param [Hash] params ({})
def delete_event_subscription(params = {}, options = {})
req = build_request(:delete_event_subscription, params)
req.send_request(options)
end
# Deletes a global database cluster. The primary and secondary clusters
# must already be detached or destroyed first.
#
# This action only applies to Aurora DB clusters.
#
#
#
# @option params [required, String] :global_cluster_identifier
# The cluster identifier of the global database cluster being deleted.
#
# @return [Types::DeleteGlobalClusterResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DeleteGlobalClusterResult#global_cluster #global_cluster} => Types::GlobalCluster
#
# @example Request syntax with placeholder values
#
# resp = client.delete_global_cluster({
# global_cluster_identifier: "String", # required
# })
#
# @example Response structure
#
# resp.global_cluster.global_cluster_identifier #=> String
# resp.global_cluster.global_cluster_resource_id #=> String
# resp.global_cluster.global_cluster_arn #=> String
# resp.global_cluster.status #=> String
# resp.global_cluster.engine #=> String
# resp.global_cluster.engine_version #=> String
# resp.global_cluster.database_name #=> String
# resp.global_cluster.storage_encrypted #=> Boolean
# resp.global_cluster.deletion_protection #=> Boolean
# resp.global_cluster.global_cluster_members #=> Array
# resp.global_cluster.global_cluster_members[0].db_cluster_arn #=> String
# resp.global_cluster.global_cluster_members[0].readers #=> Array
# resp.global_cluster.global_cluster_members[0].readers[0] #=> String
# resp.global_cluster.global_cluster_members[0].is_writer #=> Boolean
# resp.global_cluster.global_cluster_members[0].global_write_forwarding_status #=> String, one of "enabled", "disabled", "enabling", "disabling", "unknown"
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteGlobalCluster AWS API Documentation
#
# @overload delete_global_cluster(params = {})
# @param [Hash] params ({})
def delete_global_cluster(params = {}, options = {})
req = build_request(:delete_global_cluster, params)
req.send_request(options)
end
# Deletes the installation medium for a DB engine that requires an
# on-premises customer provided license, such as Microsoft SQL Server.
#
# @option params [required, String] :installation_media_id
# The installation medium ID.
#
# @return [Types::InstallationMedia] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::InstallationMedia#installation_media_id #installation_media_id} => String
# * {Types::InstallationMedia#custom_availability_zone_id #custom_availability_zone_id} => String
# * {Types::InstallationMedia#engine #engine} => String
# * {Types::InstallationMedia#engine_version #engine_version} => String
# * {Types::InstallationMedia#engine_installation_media_path #engine_installation_media_path} => String
# * {Types::InstallationMedia#os_installation_media_path #os_installation_media_path} => String
# * {Types::InstallationMedia#status #status} => String
# * {Types::InstallationMedia#failure_cause #failure_cause} => Types::InstallationMediaFailureCause
#
# @example Request syntax with placeholder values
#
# resp = client.delete_installation_media({
# installation_media_id: "String", # required
# })
#
# @example Response structure
#
# resp.installation_media_id #=> String
# resp.custom_availability_zone_id #=> String
# resp.engine #=> String
# resp.engine_version #=> String
# resp.engine_installation_media_path #=> String
# resp.os_installation_media_path #=> String
# resp.status #=> String
# resp.failure_cause.message #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteInstallationMedia AWS API Documentation
#
# @overload delete_installation_media(params = {})
# @param [Hash] params ({})
def delete_installation_media(params = {}, options = {})
req = build_request(:delete_installation_media, params)
req.send_request(options)
end
# Deletes an existing option group.
#
# @option params [required, String] :option_group_name
# The name of the option group to be deleted.
#
# You can't delete default option groups.
#
#
#
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
#
#
# @example Example: To delete an option group.
#
# # This example deletes the specified option group.
#
# resp = client.delete_option_group({
# option_group_name: "mydboptiongroup",
# })
#
# @example Request syntax with placeholder values
#
# resp = client.delete_option_group({
# option_group_name: "String", # required
# })
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteOptionGroup AWS API Documentation
#
# @overload delete_option_group(params = {})
# @param [Hash] params ({})
def delete_option_group(params = {}, options = {})
req = build_request(:delete_option_group, params)
req.send_request(options)
end
# Remove the association between one or more `DBProxyTarget` data
# structures and a `DBProxyTargetGroup`.
#
# @option params [required, String] :db_proxy_name
# The identifier of the `DBProxy` that is associated with the
# `DBProxyTargetGroup`.
#
# @option params [String] :target_group_name
# The identifier of the `DBProxyTargetGroup`.
#
# @option params [Array] :db_instance_identifiers
# One or more DB instance identifiers.
#
# @option params [Array] :db_cluster_identifiers
# One or more DB cluster identifiers.
#
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
#
# @example Request syntax with placeholder values
#
# resp = client.deregister_db_proxy_targets({
# db_proxy_name: "String", # required
# target_group_name: "String",
# db_instance_identifiers: ["String"],
# db_cluster_identifiers: ["String"],
# })
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeregisterDBProxyTargets AWS API Documentation
#
# @overload deregister_db_proxy_targets(params = {})
# @param [Hash] params ({})
def deregister_db_proxy_targets(params = {}, options = {})
req = build_request(:deregister_db_proxy_targets, params)
req.send_request(options)
end
# 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.
#
# This command doesn't take any parameters.
#
# @return [Types::AccountAttributesMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::AccountAttributesMessage#account_quotas #account_quotas} => Array<Types::AccountQuota>
#
#
# @example Example: To list account attributes
#
# # This example lists account attributes.
#
# resp = client.describe_account_attributes({
# })
#
# resp.to_h outputs the following:
# {
# }
#
# @example Response structure
#
# resp.account_quotas #=> Array
# resp.account_quotas[0].account_quota_name #=> String
# resp.account_quotas[0].used #=> Integer
# resp.account_quotas[0].max #=> Integer
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeAccountAttributes AWS API Documentation
#
# @overload describe_account_attributes(params = {})
# @param [Hash] params ({})
def describe_account_attributes(params = {}, options = {})
req = build_request(:describe_account_attributes, params)
req.send_request(options)
end
# Lists the set of CA certificates provided by Amazon RDS for this AWS
# account.
#
# @option params [String] :certificate_identifier
# 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.
#
# ^
#
# @option params [Array] :filters
# This parameter isn't currently supported.
#
# @option params [Integer] :max_records
# 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.
#
# @option params [String] :marker
# An optional pagination token provided by a previous
# `DescribeCertificates` request. If this parameter is specified, the
# response includes only records beyond the marker, up to the value
# specified by `MaxRecords`.
#
# @return [Types::CertificateMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::CertificateMessage#certificates #certificates} => Array<Types::Certificate>
# * {Types::CertificateMessage#marker #marker} => String
#
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
#
#
# @example Example: To list certificates
#
# # This example lists up to 20 certificates for the specified certificate identifier.
#
# resp = client.describe_certificates({
# certificate_identifier: "rds-ca-2015",
# max_records: 20,
# })
#
# resp.to_h outputs the following:
# {
# }
#
# @example Request syntax with placeholder values
#
# resp = client.describe_certificates({
# certificate_identifier: "String",
# filters: [
# {
# name: "String", # required
# values: ["String"], # required
# },
# ],
# max_records: 1,
# marker: "String",
# })
#
# @example Response structure
#
# resp.certificates #=> Array
# resp.certificates[0].certificate_identifier #=> String
# resp.certificates[0].certificate_type #=> String
# resp.certificates[0].thumbprint #=> String
# resp.certificates[0].valid_from #=> Time
# resp.certificates[0].valid_till #=> Time
# resp.certificates[0].certificate_arn #=> String
# resp.certificates[0].customer_override #=> Boolean
# resp.certificates[0].customer_override_valid_till #=> Time
# resp.marker #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeCertificates AWS API Documentation
#
# @overload describe_certificates(params = {})
# @param [Hash] params ({})
def describe_certificates(params = {}, options = {})
req = build_request(:describe_certificates, params)
req.send_request(options)
end
# Returns information about custom Availability Zones (AZs).
#
# A custom AZ is an on-premises AZ that is integrated with a VMware
# vSphere cluster.
#
# For more information about RDS on VMware, see the [ *RDS on VMware
# User Guide.* ][1]
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html
#
# @option params [String] :custom_availability_zone_id
# The custom AZ identifier. If this parameter is specified, information
# from only the specific custom AZ is returned.
#
# @option params [Array] :filters
# A filter that specifies one or more custom AZs to describe.
#
# @option params [Integer] :max_records
# 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.
#
# @option params [String] :marker
# An optional pagination token provided by a previous
# `DescribeCustomAvailabilityZones` request. If this parameter is
# specified, the response includes only records beyond the marker, up to
# the value specified by `MaxRecords`.
#
# @return [Types::CustomAvailabilityZoneMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::CustomAvailabilityZoneMessage#marker #marker} => String
# * {Types::CustomAvailabilityZoneMessage#custom_availability_zones #custom_availability_zones} => Array<Types::CustomAvailabilityZone>
#
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
#
# @example Request syntax with placeholder values
#
# resp = client.describe_custom_availability_zones({
# custom_availability_zone_id: "String",
# filters: [
# {
# name: "String", # required
# values: ["String"], # required
# },
# ],
# max_records: 1,
# marker: "String",
# })
#
# @example Response structure
#
# resp.marker #=> String
# resp.custom_availability_zones #=> Array
# resp.custom_availability_zones[0].custom_availability_zone_id #=> String
# resp.custom_availability_zones[0].custom_availability_zone_name #=> String
# resp.custom_availability_zones[0].custom_availability_zone_status #=> String
# resp.custom_availability_zones[0].vpn_details.vpn_id #=> String
# resp.custom_availability_zones[0].vpn_details.vpn_tunnel_originator_ip #=> String
# resp.custom_availability_zones[0].vpn_details.vpn_gateway_ip #=> String
# resp.custom_availability_zones[0].vpn_details.vpn_psk #=> String
# resp.custom_availability_zones[0].vpn_details.vpn_name #=> String
# resp.custom_availability_zones[0].vpn_details.vpn_state #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeCustomAvailabilityZones AWS API Documentation
#
# @overload describe_custom_availability_zones(params = {})
# @param [Hash] params ({})
def describe_custom_availability_zones(params = {}, options = {})
req = build_request(:describe_custom_availability_zones, params)
req.send_request(options)
end
# Returns information about backtracks for a DB cluster.
#
# For more information on Amazon Aurora, see [ What Is Amazon
# Aurora?][1] in the *Amazon Aurora User Guide.*
#
# This action only applies to Aurora MySQL DB clusters.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html
#
# @option params [required, String] :db_cluster_identifier
# 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`
#
# @option params [String] :backtrack_identifier
# 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 [A Universally Unique Identifier (UUID)
# URN Namespace][1].
#
# ^
#
# Example: `123e4567-e89b-12d3-a456-426655440000`
#
#
#
# [1]: http://www.ietf.org/rfc/rfc4122.txt
#
# @option params [Array] :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.
#
# @option params [Integer] :max_records
# 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.
#
# @option params [String] :marker
# An optional pagination token provided by a previous
# `DescribeDBClusterBacktracks` request. If this parameter is specified,
# the response includes only records beyond the marker, up to the value
# specified by `MaxRecords`.
#
# @return [Types::DBClusterBacktrackMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DBClusterBacktrackMessage#marker #marker} => String
# * {Types::DBClusterBacktrackMessage#db_cluster_backtracks #db_cluster_backtracks} => Array<Types::DBClusterBacktrack>
#
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
#
# @example Request syntax with placeholder values
#
# resp = client.describe_db_cluster_backtracks({
# db_cluster_identifier: "String", # required
# backtrack_identifier: "String",
# filters: [
# {
# name: "String", # required
# values: ["String"], # required
# },
# ],
# max_records: 1,
# marker: "String",
# })
#
# @example Response structure
#
# resp.marker #=> String
# resp.db_cluster_backtracks #=> Array
# resp.db_cluster_backtracks[0].db_cluster_identifier #=> String
# resp.db_cluster_backtracks[0].backtrack_identifier #=> String
# resp.db_cluster_backtracks[0].backtrack_to #=> Time
# resp.db_cluster_backtracks[0].backtracked_from #=> Time
# resp.db_cluster_backtracks[0].backtrack_request_creation_time #=> Time
# resp.db_cluster_backtracks[0].status #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterBacktracks AWS API Documentation
#
# @overload describe_db_cluster_backtracks(params = {})
# @param [Hash] params ({})
def describe_db_cluster_backtracks(params = {}, options = {})
req = build_request(:describe_db_cluster_backtracks, params)
req.send_request(options)
end
# Returns information about endpoints for an Amazon Aurora DB cluster.
#
# This action only applies to Aurora DB clusters.
#
#
#
# @option params [String] :db_cluster_identifier
# The DB cluster identifier of the DB cluster associated with the
# endpoint. This parameter is stored as a lowercase string.
#
# @option params [String] :db_cluster_endpoint_identifier
# The identifier of the endpoint to describe. This parameter is stored
# as a lowercase string.
#
# @option params [Array] :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`, `modifying`.
#
# @option params [Integer] :max_records
# 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.
#
# @option params [String] :marker
# An optional pagination token provided by a previous
# `DescribeDBClusterEndpoints` request. If this parameter is specified,
# the response includes only records beyond the marker, up to the value
# specified by `MaxRecords`.
#
# @return [Types::DBClusterEndpointMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DBClusterEndpointMessage#marker #marker} => String
# * {Types::DBClusterEndpointMessage#db_cluster_endpoints #db_cluster_endpoints} => Array<Types::DBClusterEndpoint>
#
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
#
# @example Request syntax with placeholder values
#
# resp = client.describe_db_cluster_endpoints({
# db_cluster_identifier: "String",
# db_cluster_endpoint_identifier: "String",
# filters: [
# {
# name: "String", # required
# values: ["String"], # required
# },
# ],
# max_records: 1,
# marker: "String",
# })
#
# @example Response structure
#
# resp.marker #=> String
# resp.db_cluster_endpoints #=> Array
# resp.db_cluster_endpoints[0].db_cluster_endpoint_identifier #=> String
# resp.db_cluster_endpoints[0].db_cluster_identifier #=> String
# resp.db_cluster_endpoints[0].db_cluster_endpoint_resource_identifier #=> String
# resp.db_cluster_endpoints[0].endpoint #=> String
# resp.db_cluster_endpoints[0].status #=> String
# resp.db_cluster_endpoints[0].endpoint_type #=> String
# resp.db_cluster_endpoints[0].custom_endpoint_type #=> String
# resp.db_cluster_endpoints[0].static_members #=> Array
# resp.db_cluster_endpoints[0].static_members[0] #=> String
# resp.db_cluster_endpoints[0].excluded_members #=> Array
# resp.db_cluster_endpoints[0].excluded_members[0] #=> String
# resp.db_cluster_endpoints[0].db_cluster_endpoint_arn #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterEndpoints AWS API Documentation
#
# @overload describe_db_cluster_endpoints(params = {})
# @param [Hash] params ({})
def describe_db_cluster_endpoints(params = {}, options = {})
req = build_request(:describe_db_cluster_endpoints, params)
req.send_request(options)
end
# 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.
#
# For more information on Amazon Aurora, see [ What Is Amazon
# Aurora?][1] in the *Amazon Aurora User Guide.*
#
# This action only applies to Aurora DB clusters.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html
#
# @option params [String] :db_cluster_parameter_group_name
# The name of a specific DB cluster parameter group to return details
# for.
#
# Constraints:
#
# * If supplied, must match the name of an existing
# DBClusterParameterGroup.
#
# ^
#
# @option params [Array] :filters
# This parameter isn't currently supported.
#
# @option params [Integer] :max_records
# 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.
#
# @option params [String] :marker
# An optional pagination token provided by a previous
# `DescribeDBClusterParameterGroups` request. If this parameter is
# specified, the response includes only records beyond the marker, up to
# the value specified by `MaxRecords`.
#
# @return [Types::DBClusterParameterGroupsMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DBClusterParameterGroupsMessage#marker #marker} => String
# * {Types::DBClusterParameterGroupsMessage#db_cluster_parameter_groups #db_cluster_parameter_groups} => Array<Types::DBClusterParameterGroup>
#
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
#
#
# @example Example: To list DB cluster parameter group settings
#
# # This example lists settings for the specified DB cluster parameter group.
#
# resp = client.describe_db_cluster_parameter_groups({
# db_cluster_parameter_group_name: "mydbclusterparametergroup",
# })
#
# resp.to_h outputs the following:
# {
# }
#
# @example Request syntax with placeholder values
#
# resp = client.describe_db_cluster_parameter_groups({
# db_cluster_parameter_group_name: "String",
# filters: [
# {
# name: "String", # required
# values: ["String"], # required
# },
# ],
# max_records: 1,
# marker: "String",
# })
#
# @example Response structure
#
# resp.marker #=> String
# resp.db_cluster_parameter_groups #=> Array
# resp.db_cluster_parameter_groups[0].db_cluster_parameter_group_name #=> String
# resp.db_cluster_parameter_groups[0].db_parameter_group_family #=> String
# resp.db_cluster_parameter_groups[0].description #=> String
# resp.db_cluster_parameter_groups[0].db_cluster_parameter_group_arn #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterParameterGroups AWS API Documentation
#
# @overload describe_db_cluster_parameter_groups(params = {})
# @param [Hash] params ({})
def describe_db_cluster_parameter_groups(params = {}, options = {})
req = build_request(:describe_db_cluster_parameter_groups, params)
req.send_request(options)
end
# Returns the detailed parameter list for a particular DB cluster
# parameter group.
#
# For more information on Amazon Aurora, see [ What Is Amazon
# Aurora?][1] in the *Amazon Aurora User Guide.*
#
# This action only applies to Aurora DB clusters.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html
#
# @option params [required, String] :db_cluster_parameter_group_name
# 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.
#
# ^
#
# @option params [String] :source
# A value that indicates to return only parameters for a specific
# source. Parameter sources can be `engine`, `service`, or `customer`.
#
# @option params [Array] :filters
# This parameter isn't currently supported.
#
# @option params [Integer] :max_records
# 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.
#
# @option params [String] :marker
# An optional pagination token provided by a previous
# `DescribeDBClusterParameters` request. If this parameter is specified,
# the response includes only records beyond the marker, up to the value
# specified by `MaxRecords`.
#
# @return [Types::DBClusterParameterGroupDetails] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DBClusterParameterGroupDetails#parameters #parameters} => Array<Types::Parameter>
# * {Types::DBClusterParameterGroupDetails#marker #marker} => String
#
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
#
#
# @example Example: To list DB cluster parameters
#
# # This example lists system parameters for the specified DB cluster parameter group.
#
# resp = client.describe_db_cluster_parameters({
# db_cluster_parameter_group_name: "mydbclusterparametergroup",
# source: "system",
# })
#
# resp.to_h outputs the following:
# {
# }
#
# @example Request syntax with placeholder values
#
# resp = client.describe_db_cluster_parameters({
# db_cluster_parameter_group_name: "String", # required
# source: "String",
# filters: [
# {
# name: "String", # required
# values: ["String"], # required
# },
# ],
# max_records: 1,
# marker: "String",
# })
#
# @example Response structure
#
# resp.parameters #=> Array
# resp.parameters[0].parameter_name #=> String
# resp.parameters[0].parameter_value #=> String
# resp.parameters[0].description #=> String
# resp.parameters[0].source #=> String
# resp.parameters[0].apply_type #=> String
# resp.parameters[0].data_type #=> String
# resp.parameters[0].allowed_values #=> String
# resp.parameters[0].is_modifiable #=> Boolean
# resp.parameters[0].minimum_engine_version #=> String
# resp.parameters[0].apply_method #=> String, one of "immediate", "pending-reboot"
# resp.parameters[0].supported_engine_modes #=> Array
# resp.parameters[0].supported_engine_modes[0] #=> String
# resp.marker #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterParameters AWS API Documentation
#
# @overload describe_db_cluster_parameters(params = {})
# @param [Hash] params ({})
def describe_db_cluster_parameters(params = {}, options = {})
req = build_request(:describe_db_cluster_parameters, params)
req.send_request(options)
end
# Returns a list of DB cluster snapshot attribute names and values for a
# manual DB cluster snapshot.
#
# When sharing snapshots with other AWS accounts,
# `DescribeDBClusterSnapshotAttributes` returns the `restore` attribute
# and a list of IDs for the AWS accounts that are authorized to copy or
# restore the manual DB cluster snapshot. If `all` is included in the
# list of values for the `restore` attribute, then the manual DB cluster
# snapshot is public and can be copied or restored by all AWS accounts.
#
# To add or remove access for an AWS account to copy or restore a manual
# DB cluster snapshot, or to make the manual DB cluster snapshot public
# or private, use the `ModifyDBClusterSnapshotAttribute` API action.
#
# This action only applies to Aurora DB clusters.
#
#
#
# @option params [required, String] :db_cluster_snapshot_identifier
# The identifier for the DB cluster snapshot to describe the attributes
# for.
#
# @return [Types::DescribeDBClusterSnapshotAttributesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DescribeDBClusterSnapshotAttributesResult#db_cluster_snapshot_attributes_result #db_cluster_snapshot_attributes_result} => Types::DBClusterSnapshotAttributesResult
#
#
# @example Example: To list DB cluster snapshot attributes
#
# # This example lists attributes for the specified DB cluster snapshot.
#
# resp = client.describe_db_cluster_snapshot_attributes({
# db_cluster_snapshot_identifier: "mydbclustersnapshot",
# })
#
# resp.to_h outputs the following:
# {
# db_cluster_snapshot_attributes_result: {
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.describe_db_cluster_snapshot_attributes({
# db_cluster_snapshot_identifier: "String", # required
# })
#
# @example Response structure
#
# resp.db_cluster_snapshot_attributes_result.db_cluster_snapshot_identifier #=> String
# resp.db_cluster_snapshot_attributes_result.db_cluster_snapshot_attributes #=> Array
# resp.db_cluster_snapshot_attributes_result.db_cluster_snapshot_attributes[0].attribute_name #=> String
# resp.db_cluster_snapshot_attributes_result.db_cluster_snapshot_attributes[0].attribute_values #=> Array
# resp.db_cluster_snapshot_attributes_result.db_cluster_snapshot_attributes[0].attribute_values[0] #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterSnapshotAttributes AWS API Documentation
#
# @overload describe_db_cluster_snapshot_attributes(params = {})
# @param [Hash] params ({})
def describe_db_cluster_snapshot_attributes(params = {}, options = {})
req = build_request(:describe_db_cluster_snapshot_attributes, params)
req.send_request(options)
end
# Returns information about DB cluster snapshots. This API action
# supports pagination.
#
# For more information on Amazon Aurora, see [ What Is Amazon
# Aurora?][1] in the *Amazon Aurora User Guide.*
#
# This action only applies to Aurora DB clusters.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html
#
# @option params [String] :db_cluster_identifier
# 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.
#
# ^
#
# @option params [String] :db_cluster_snapshot_identifier
# 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.
#
# @option params [String] :snapshot_type
# 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 AWS account.
#
# * `manual` - Return all DB cluster snapshots that have been taken by
# my AWS account.
#
# * `shared` - Return all manual DB cluster snapshots that have been
# shared to my AWS 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`.
#
# @option params [Array] :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.
#
# @option params [Integer] :max_records
# 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.
#
# @option params [String] :marker
# An optional pagination token provided by a previous
# `DescribeDBClusterSnapshots` request. If this parameter is specified,
# the response includes only records beyond the marker, up to the value
# specified by `MaxRecords`.
#
# @option params [Boolean] :include_shared
# A value that indicates whether to include shared manual DB cluster
# snapshots from other AWS accounts that this AWS account has been given
# permission to copy or restore. By default, these snapshots are not
# included.
#
# You can give an AWS account permission to restore a manual DB cluster
# snapshot from another AWS account by the
# `ModifyDBClusterSnapshotAttribute` API action.
#
# @option params [Boolean] :include_public
# A value that indicates whether to include manual DB cluster snapshots
# that are public and can be copied or restored by any AWS account. By
# default, the public snapshots are not included.
#
# You can share a manual DB cluster snapshot as public by using the
# ModifyDBClusterSnapshotAttribute API action.
#
# @return [Types::DBClusterSnapshotMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DBClusterSnapshotMessage#marker #marker} => String
# * {Types::DBClusterSnapshotMessage#db_cluster_snapshots #db_cluster_snapshots} => Array<Types::DBClusterSnapshot>
#
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
#
#
# @example Example: To list DB cluster snapshots
#
# # This example lists settings for the specified, manually-created cluster snapshot.
#
# resp = client.describe_db_cluster_snapshots({
# db_cluster_snapshot_identifier: "mydbclustersnapshot",
# snapshot_type: "manual",
# })
#
# resp.to_h outputs the following:
# {
# }
#
# @example Request syntax with placeholder values
#
# resp = client.describe_db_cluster_snapshots({
# db_cluster_identifier: "String",
# db_cluster_snapshot_identifier: "String",
# snapshot_type: "String",
# filters: [
# {
# name: "String", # required
# values: ["String"], # required
# },
# ],
# max_records: 1,
# marker: "String",
# include_shared: false,
# include_public: false,
# })
#
# @example Response structure
#
# resp.marker #=> String
# resp.db_cluster_snapshots #=> Array
# resp.db_cluster_snapshots[0].availability_zones #=> Array
# resp.db_cluster_snapshots[0].availability_zones[0] #=> String
# resp.db_cluster_snapshots[0].db_cluster_snapshot_identifier #=> String
# resp.db_cluster_snapshots[0].db_cluster_identifier #=> String
# resp.db_cluster_snapshots[0].snapshot_create_time #=> Time
# resp.db_cluster_snapshots[0].engine #=> String
# resp.db_cluster_snapshots[0].allocated_storage #=> Integer
# resp.db_cluster_snapshots[0].status #=> String
# resp.db_cluster_snapshots[0].port #=> Integer
# resp.db_cluster_snapshots[0].vpc_id #=> String
# resp.db_cluster_snapshots[0].cluster_create_time #=> Time
# resp.db_cluster_snapshots[0].master_username #=> String
# resp.db_cluster_snapshots[0].engine_version #=> String
# resp.db_cluster_snapshots[0].license_model #=> String
# resp.db_cluster_snapshots[0].snapshot_type #=> String
# resp.db_cluster_snapshots[0].percent_progress #=> Integer
# resp.db_cluster_snapshots[0].storage_encrypted #=> Boolean
# resp.db_cluster_snapshots[0].kms_key_id #=> String
# resp.db_cluster_snapshots[0].db_cluster_snapshot_arn #=> String
# resp.db_cluster_snapshots[0].source_db_cluster_snapshot_arn #=> String
# resp.db_cluster_snapshots[0].iam_database_authentication_enabled #=> Boolean
#
#
# The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
#
# * db_cluster_snapshot_available
# * db_cluster_snapshot_deleted
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterSnapshots AWS API Documentation
#
# @overload describe_db_cluster_snapshots(params = {})
# @param [Hash] params ({})
def describe_db_cluster_snapshots(params = {}, options = {})
req = build_request(:describe_db_cluster_snapshots, params)
req.send_request(options)
end
# Returns information about provisioned Aurora DB clusters. This API
# supports pagination.
#
# For more information on Amazon Aurora, see [ What Is Amazon
# Aurora?][1] in the *Amazon Aurora User Guide.*
#
# This operation can also return information for Amazon Neptune DB
# instances and Amazon DocumentDB instances.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html
#
# @option params [String] :db_cluster_identifier
# The user-supplied DB cluster identifier. If this parameter is
# specified, information from only the specific DB cluster is returned.
# This parameter isn't case-sensitive.
#
# Constraints:
#
# * If supplied, must match an existing DBClusterIdentifier.
#
# ^
#
# @option params [Array] :filters
# A filter that specifies one or more DB clusters to describe.
#
# Supported filters:
#
# * `db-cluster-id` - Accepts DB cluster identifiers and DB cluster
# Amazon Resource Names (ARNs). The results list will only include
# information about the DB clusters identified by these ARNs.
#
# ^
#
# @option params [Integer] :max_records
# 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.
#
# @option params [String] :marker
# An optional pagination token provided by a previous
# `DescribeDBClusters` request. If this parameter is specified, the
# response includes only records beyond the marker, up to the value
# specified by `MaxRecords`.
#
# @option params [Boolean] :include_shared
# Optional Boolean parameter that specifies whether the output includes
# information about clusters shared from other AWS accounts.
#
# @return [Types::DBClusterMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DBClusterMessage#marker #marker} => String
# * {Types::DBClusterMessage#db_clusters #db_clusters} => Array<Types::DBCluster>
#
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
#
#
# @example Example: To list DB clusters
#
# # This example lists settings for the specified DB cluster.
#
# resp = client.describe_db_clusters({
# db_cluster_identifier: "mynewdbcluster",
# })
#
# resp.to_h outputs the following:
# {
# }
#
# @example Request syntax with placeholder values
#
# resp = client.describe_db_clusters({
# db_cluster_identifier: "String",
# filters: [
# {
# name: "String", # required
# values: ["String"], # required
# },
# ],
# max_records: 1,
# marker: "String",
# include_shared: false,
# })
#
# @example Response structure
#
# resp.marker #=> String
# resp.db_clusters #=> Array
# resp.db_clusters[0].allocated_storage #=> Integer
# resp.db_clusters[0].availability_zones #=> Array
# resp.db_clusters[0].availability_zones[0] #=> String
# resp.db_clusters[0].backup_retention_period #=> Integer
# resp.db_clusters[0].character_set_name #=> String
# resp.db_clusters[0].database_name #=> String
# resp.db_clusters[0].db_cluster_identifier #=> String
# resp.db_clusters[0].db_cluster_parameter_group #=> String
# resp.db_clusters[0].db_subnet_group #=> String
# resp.db_clusters[0].status #=> String
# resp.db_clusters[0].percent_progress #=> String
# resp.db_clusters[0].earliest_restorable_time #=> Time
# resp.db_clusters[0].endpoint #=> String
# resp.db_clusters[0].reader_endpoint #=> String
# resp.db_clusters[0].custom_endpoints #=> Array
# resp.db_clusters[0].custom_endpoints[0] #=> String
# resp.db_clusters[0].multi_az #=> Boolean
# resp.db_clusters[0].engine #=> String
# resp.db_clusters[0].engine_version #=> String
# resp.db_clusters[0].latest_restorable_time #=> Time
# resp.db_clusters[0].port #=> Integer
# resp.db_clusters[0].master_username #=> String
# resp.db_clusters[0].db_cluster_option_group_memberships #=> Array
# resp.db_clusters[0].db_cluster_option_group_memberships[0].db_cluster_option_group_name #=> String
# resp.db_clusters[0].db_cluster_option_group_memberships[0].status #=> String
# resp.db_clusters[0].preferred_backup_window #=> String
# resp.db_clusters[0].preferred_maintenance_window #=> String
# resp.db_clusters[0].replication_source_identifier #=> String
# resp.db_clusters[0].read_replica_identifiers #=> Array
# resp.db_clusters[0].read_replica_identifiers[0] #=> String
# resp.db_clusters[0].db_cluster_members #=> Array
# resp.db_clusters[0].db_cluster_members[0].db_instance_identifier #=> String
# resp.db_clusters[0].db_cluster_members[0].is_cluster_writer #=> Boolean
# resp.db_clusters[0].db_cluster_members[0].db_cluster_parameter_group_status #=> String
# resp.db_clusters[0].db_cluster_members[0].promotion_tier #=> Integer
# resp.db_clusters[0].vpc_security_groups #=> Array
# resp.db_clusters[0].vpc_security_groups[0].vpc_security_group_id #=> String
# resp.db_clusters[0].vpc_security_groups[0].status #=> String
# resp.db_clusters[0].hosted_zone_id #=> String
# resp.db_clusters[0].storage_encrypted #=> Boolean
# resp.db_clusters[0].kms_key_id #=> String
# resp.db_clusters[0].db_cluster_resource_id #=> String
# resp.db_clusters[0].db_cluster_arn #=> String
# resp.db_clusters[0].associated_roles #=> Array
# resp.db_clusters[0].associated_roles[0].role_arn #=> String
# resp.db_clusters[0].associated_roles[0].status #=> String
# resp.db_clusters[0].associated_roles[0].feature_name #=> String
# resp.db_clusters[0].iam_database_authentication_enabled #=> Boolean
# resp.db_clusters[0].clone_group_id #=> String
# resp.db_clusters[0].cluster_create_time #=> Time
# resp.db_clusters[0].earliest_backtrack_time #=> Time
# resp.db_clusters[0].backtrack_window #=> Integer
# resp.db_clusters[0].backtrack_consumed_change_records #=> Integer
# resp.db_clusters[0].enabled_cloudwatch_logs_exports #=> Array
# resp.db_clusters[0].enabled_cloudwatch_logs_exports[0] #=> String
# resp.db_clusters[0].capacity #=> Integer
# resp.db_clusters[0].engine_mode #=> String
# resp.db_clusters[0].scaling_configuration_info.min_capacity #=> Integer
# resp.db_clusters[0].scaling_configuration_info.max_capacity #=> Integer
# resp.db_clusters[0].scaling_configuration_info.auto_pause #=> Boolean
# resp.db_clusters[0].scaling_configuration_info.seconds_until_auto_pause #=> Integer
# resp.db_clusters[0].scaling_configuration_info.timeout_action #=> String
# resp.db_clusters[0].deletion_protection #=> Boolean
# resp.db_clusters[0].http_endpoint_enabled #=> Boolean
# resp.db_clusters[0].activity_stream_mode #=> String, one of "sync", "async"
# resp.db_clusters[0].activity_stream_status #=> String, one of "stopped", "starting", "started", "stopping"
# resp.db_clusters[0].activity_stream_kms_key_id #=> String
# resp.db_clusters[0].activity_stream_kinesis_stream_name #=> String
# resp.db_clusters[0].copy_tags_to_snapshot #=> Boolean
# resp.db_clusters[0].cross_account_clone #=> Boolean
# resp.db_clusters[0].domain_memberships #=> Array
# resp.db_clusters[0].domain_memberships[0].domain #=> String
# resp.db_clusters[0].domain_memberships[0].status #=> String
# resp.db_clusters[0].domain_memberships[0].fqdn #=> String
# resp.db_clusters[0].domain_memberships[0].iam_role_name #=> String
# resp.db_clusters[0].global_write_forwarding_status #=> String, one of "enabled", "disabled", "enabling", "disabling", "unknown"
# resp.db_clusters[0].global_write_forwarding_requested #=> Boolean
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusters AWS API Documentation
#
# @overload describe_db_clusters(params = {})
# @param [Hash] params ({})
def describe_db_clusters(params = {}, options = {})
req = build_request(:describe_db_clusters, params)
req.send_request(options)
end
# Returns a list of the available DB engines.
#
# @option params [String] :engine
# The database engine to return.
#
# @option params [String] :engine_version
# The database engine version to return.
#
# Example: `5.1.49`
#
# @option params [String] :db_parameter_group_family
# The name of a specific DB parameter group family to return details
# for.
#
# Constraints:
#
# * If supplied, must match an existing DBParameterGroupFamily.
#
# ^
#
# @option params [Array] :filters
# This parameter isn't currently supported.
#
# @option params [Integer] :max_records
# 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.
#
# @option params [String] :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`.
#
# @option params [Boolean] :default_only
# A value that indicates whether only the default version of the
# specified engine or engine and major version combination is returned.
#
# @option params [Boolean] :list_supported_character_sets
# A value that indicates 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 `CreateDBInstance`, the response
# includes a list of supported character sets for each engine version.
#
# @option params [Boolean] :list_supported_timezones
# A value that indicates 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 `CreateDBInstance`, the response includes a
# list of supported time zones for each engine version.
#
# @option params [Boolean] :include_all
# A value that indicates whether to include engine versions that aren't
# available in the list. The default is to list only available engine
# versions.
#
# @return [Types::DBEngineVersionMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DBEngineVersionMessage#marker #marker} => String
# * {Types::DBEngineVersionMessage#db_engine_versions #db_engine_versions} => Array<Types::DBEngineVersion>
#
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
#
#
# @example Example: To list DB engine version settings
#
# # This example lists settings for the specified DB engine version.
#
# resp = client.describe_db_engine_versions({
# db_parameter_group_family: "mysql5.6",
# default_only: true,
# engine: "mysql",
# engine_version: "5.6",
# list_supported_character_sets: true,
# })
#
# resp.to_h outputs the following:
# {
# }
#
# @example Request syntax with placeholder values
#
# resp = client.describe_db_engine_versions({
# engine: "String",
# engine_version: "String",
# db_parameter_group_family: "String",
# filters: [
# {
# name: "String", # required
# values: ["String"], # required
# },
# ],
# max_records: 1,
# marker: "String",
# default_only: false,
# list_supported_character_sets: false,
# list_supported_timezones: false,
# include_all: false,
# })
#
# @example Response structure
#
# resp.marker #=> String
# resp.db_engine_versions #=> Array
# resp.db_engine_versions[0].engine #=> String
# resp.db_engine_versions[0].engine_version #=> String
# resp.db_engine_versions[0].db_parameter_group_family #=> String
# resp.db_engine_versions[0].db_engine_description #=> String
# resp.db_engine_versions[0].db_engine_version_description #=> String
# resp.db_engine_versions[0].default_character_set.character_set_name #=> String
# resp.db_engine_versions[0].default_character_set.character_set_description #=> String
# resp.db_engine_versions[0].supported_character_sets #=> Array
# resp.db_engine_versions[0].supported_character_sets[0].character_set_name #=> String
# resp.db_engine_versions[0].supported_character_sets[0].character_set_description #=> String
# resp.db_engine_versions[0].valid_upgrade_target #=> Array
# resp.db_engine_versions[0].valid_upgrade_target[0].engine #=> String
# resp.db_engine_versions[0].valid_upgrade_target[0].engine_version #=> String
# resp.db_engine_versions[0].valid_upgrade_target[0].description #=> String
# resp.db_engine_versions[0].valid_upgrade_target[0].auto_upgrade #=> Boolean
# resp.db_engine_versions[0].valid_upgrade_target[0].is_major_version_upgrade #=> Boolean
# resp.db_engine_versions[0].supported_timezones #=> Array
# resp.db_engine_versions[0].supported_timezones[0].timezone_name #=> String
# resp.db_engine_versions[0].exportable_log_types #=> Array
# resp.db_engine_versions[0].exportable_log_types[0] #=> String
# resp.db_engine_versions[0].supports_log_exports_to_cloudwatch_logs #=> Boolean
# resp.db_engine_versions[0].supports_read_replica #=> Boolean
# resp.db_engine_versions[0].supported_engine_modes #=> Array
# resp.db_engine_versions[0].supported_engine_modes[0] #=> String
# resp.db_engine_versions[0].supported_feature_names #=> Array
# resp.db_engine_versions[0].supported_feature_names[0] #=> String
# resp.db_engine_versions[0].status #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBEngineVersions AWS API Documentation
#
# @overload describe_db_engine_versions(params = {})
# @param [Hash] params ({})
def describe_db_engine_versions(params = {}, options = {})
req = build_request(:describe_db_engine_versions, params)
req.send_request(options)
end
# 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
# `DescribeDBInstanceAutomatedBackups` and `DescribeDBInstances`
# operations.
#
# All parameters are optional.
#
# @option params [String] :dbi_resource_id
# The resource ID of the DB instance that is the source of the automated
# backup. This parameter isn't case-sensitive.
#
# @option params [String] :db_instance_identifier
# (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' automated backup.
# This parameter isn't case-sensitive.
#
# @option params [Array] :filters
# A filter that specifies which resources to return based on status.
#
# Supported filters are the following:
#
# * `status`
#
# * `active` - automated backups for current instances
#
# * `retained` - automated backups for deleted instances
#
# * `creating` - automated backups that are waiting for the first
# automated snapshot to be available
#
# * `db-instance-id` - Accepts DB instance identifiers and Amazon
# Resource Names (ARNs) for DB instances. The results list includes
# only information about the DB instance automated backupss identified
# by these ARNs.
#
# * `dbi-resource-id` - Accepts DB instance resource identifiers and DB
# Amazon Resource Names (ARNs) for DB instances. 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.
#
# @option params [Integer] :max_records
# 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.
#
# @option params [String] :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`.
#
# @return [Types::DBInstanceAutomatedBackupMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DBInstanceAutomatedBackupMessage#marker #marker} => String
# * {Types::DBInstanceAutomatedBackupMessage#db_instance_automated_backups #db_instance_automated_backups} => Array<Types::DBInstanceAutomatedBackup>
#
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
#
# @example Request syntax with placeholder values
#
# resp = client.describe_db_instance_automated_backups({
# dbi_resource_id: "String",
# db_instance_identifier: "String",
# filters: [
# {
# name: "String", # required
# values: ["String"], # required
# },
# ],
# max_records: 1,
# marker: "String",
# })
#
# @example Response structure
#
# resp.marker #=> String
# resp.db_instance_automated_backups #=> Array
# resp.db_instance_automated_backups[0].db_instance_arn #=> String
# resp.db_instance_automated_backups[0].dbi_resource_id #=> String
# resp.db_instance_automated_backups[0].region #=> String
# resp.db_instance_automated_backups[0].db_instance_identifier #=> String
# resp.db_instance_automated_backups[0].restore_window.earliest_time #=> Time
# resp.db_instance_automated_backups[0].restore_window.latest_time #=> Time
# resp.db_instance_automated_backups[0].allocated_storage #=> Integer
# resp.db_instance_automated_backups[0].status #=> String
# resp.db_instance_automated_backups[0].port #=> Integer
# resp.db_instance_automated_backups[0].availability_zone #=> String
# resp.db_instance_automated_backups[0].vpc_id #=> String
# resp.db_instance_automated_backups[0].instance_create_time #=> Time
# resp.db_instance_automated_backups[0].master_username #=> String
# resp.db_instance_automated_backups[0].engine #=> String
# resp.db_instance_automated_backups[0].engine_version #=> String
# resp.db_instance_automated_backups[0].license_model #=> String
# resp.db_instance_automated_backups[0].iops #=> Integer
# resp.db_instance_automated_backups[0].option_group_name #=> String
# resp.db_instance_automated_backups[0].tde_credential_arn #=> String
# resp.db_instance_automated_backups[0].encrypted #=> Boolean
# resp.db_instance_automated_backups[0].storage_type #=> String
# resp.db_instance_automated_backups[0].kms_key_id #=> String
# resp.db_instance_automated_backups[0].timezone #=> String
# resp.db_instance_automated_backups[0].iam_database_authentication_enabled #=> Boolean
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBInstanceAutomatedBackups AWS API Documentation
#
# @overload describe_db_instance_automated_backups(params = {})
# @param [Hash] params ({})
def describe_db_instance_automated_backups(params = {}, options = {})
req = build_request(:describe_db_instance_automated_backups, params)
req.send_request(options)
end
# Returns information about provisioned RDS instances. This API supports
# pagination.
#
# This operation can also return information for Amazon Neptune DB
# instances and Amazon DocumentDB instances.
#
#
#
# @option params [String] :db_instance_identifier
# The user-supplied instance identifier. 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 DBInstance.
#
# ^
#
# @option params [Array] :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 will only include
# 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 will only include
# information about the DB instances identified by these ARNs.
#
# * `dbi-resource-id` - Accepts DB instance resource identifiers. The
# results list will only include information about the DB instances
# identified by these DB instance resource identifiers.
#
# * `domain` - Accepts Active Directory directory IDs. The results list
# will only include information about the DB instances associated with
# these domains.
#
# * `engine` - Accepts engine names. The results list will only include
# information about the DB instances for these engines.
#
# @option params [Integer] :max_records
# 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.
#
# @option params [String] :marker
# An optional pagination token provided by a previous
# `DescribeDBInstances` request. If this parameter is specified, the
# response includes only records beyond the marker, up to the value
# specified by `MaxRecords`.
#
# @return [Types::DBInstanceMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DBInstanceMessage#marker #marker} => String
# * {Types::DBInstanceMessage#db_instances #db_instances} => Array<Types::DBInstance>
#
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
#
#
# @example Example: To list DB instance settings
#
# # This example lists settings for the specified DB instance.
#
# resp = client.describe_db_instances({
# db_instance_identifier: "mymysqlinstance",
# })
#
# resp.to_h outputs the following:
# {
# }
#
# @example Request syntax with placeholder values
#
# resp = client.describe_db_instances({
# db_instance_identifier: "String",
# filters: [
# {
# name: "String", # required
# values: ["String"], # required
# },
# ],
# max_records: 1,
# marker: "String",
# })
#
# @example Response structure
#
# resp.marker #=> String
# resp.db_instances #=> Array
# resp.db_instances[0].db_instance_identifier #=> String
# resp.db_instances[0].db_instance_class #=> String
# resp.db_instances[0].engine #=> String
# resp.db_instances[0].db_instance_status #=> String
# resp.db_instances[0].master_username #=> String
# resp.db_instances[0].db_name #=> String
# resp.db_instances[0].endpoint.address #=> String
# resp.db_instances[0].endpoint.port #=> Integer
# resp.db_instances[0].endpoint.hosted_zone_id #=> String
# resp.db_instances[0].allocated_storage #=> Integer
# resp.db_instances[0].instance_create_time #=> Time
# resp.db_instances[0].preferred_backup_window #=> String
# resp.db_instances[0].backup_retention_period #=> Integer
# resp.db_instances[0].db_security_groups #=> Array
# resp.db_instances[0].db_security_groups[0].db_security_group_name #=> String
# resp.db_instances[0].db_security_groups[0].status #=> String
# resp.db_instances[0].vpc_security_groups #=> Array
# resp.db_instances[0].vpc_security_groups[0].vpc_security_group_id #=> String
# resp.db_instances[0].vpc_security_groups[0].status #=> String
# resp.db_instances[0].db_parameter_groups #=> Array
# resp.db_instances[0].db_parameter_groups[0].db_parameter_group_name #=> String
# resp.db_instances[0].db_parameter_groups[0].parameter_apply_status #=> String
# resp.db_instances[0].availability_zone #=> String
# resp.db_instances[0].db_subnet_group.db_subnet_group_name #=> String
# resp.db_instances[0].db_subnet_group.db_subnet_group_description #=> String
# resp.db_instances[0].db_subnet_group.vpc_id #=> String
# resp.db_instances[0].db_subnet_group.subnet_group_status #=> String
# resp.db_instances[0].db_subnet_group.subnets #=> Array
# resp.db_instances[0].db_subnet_group.subnets[0].subnet_identifier #=> String
# resp.db_instances[0].db_subnet_group.subnets[0].subnet_availability_zone.name #=> String
# resp.db_instances[0].db_subnet_group.subnets[0].subnet_status #=> String
# resp.db_instances[0].db_subnet_group.db_subnet_group_arn #=> String
# resp.db_instances[0].preferred_maintenance_window #=> String
# resp.db_instances[0].pending_modified_values.db_instance_class #=> String
# resp.db_instances[0].pending_modified_values.allocated_storage #=> Integer
# resp.db_instances[0].pending_modified_values.master_user_password #=> String
# resp.db_instances[0].pending_modified_values.port #=> Integer
# resp.db_instances[0].pending_modified_values.backup_retention_period #=> Integer
# resp.db_instances[0].pending_modified_values.multi_az #=> Boolean
# resp.db_instances[0].pending_modified_values.engine_version #=> String
# resp.db_instances[0].pending_modified_values.license_model #=> String
# resp.db_instances[0].pending_modified_values.iops #=> Integer
# resp.db_instances[0].pending_modified_values.db_instance_identifier #=> String
# resp.db_instances[0].pending_modified_values.storage_type #=> String
# resp.db_instances[0].pending_modified_values.ca_certificate_identifier #=> String
# resp.db_instances[0].pending_modified_values.db_subnet_group_name #=> String
# resp.db_instances[0].pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_enable #=> Array
# resp.db_instances[0].pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_enable[0] #=> String
# resp.db_instances[0].pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_disable #=> Array
# resp.db_instances[0].pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_disable[0] #=> String
# resp.db_instances[0].pending_modified_values.processor_features #=> Array
# resp.db_instances[0].pending_modified_values.processor_features[0].name #=> String
# resp.db_instances[0].pending_modified_values.processor_features[0].value #=> String
# resp.db_instances[0].latest_restorable_time #=> Time
# resp.db_instances[0].multi_az #=> Boolean
# resp.db_instances[0].engine_version #=> String
# resp.db_instances[0].auto_minor_version_upgrade #=> Boolean
# resp.db_instances[0].read_replica_source_db_instance_identifier #=> String
# resp.db_instances[0].read_replica_db_instance_identifiers #=> Array
# resp.db_instances[0].read_replica_db_instance_identifiers[0] #=> String
# resp.db_instances[0].read_replica_db_cluster_identifiers #=> Array
# resp.db_instances[0].read_replica_db_cluster_identifiers[0] #=> String
# resp.db_instances[0].license_model #=> String
# resp.db_instances[0].iops #=> Integer
# resp.db_instances[0].option_group_memberships #=> Array
# resp.db_instances[0].option_group_memberships[0].option_group_name #=> String
# resp.db_instances[0].option_group_memberships[0].status #=> String
# resp.db_instances[0].character_set_name #=> String
# resp.db_instances[0].secondary_availability_zone #=> String
# resp.db_instances[0].publicly_accessible #=> Boolean
# resp.db_instances[0].status_infos #=> Array
# resp.db_instances[0].status_infos[0].status_type #=> String
# resp.db_instances[0].status_infos[0].normal #=> Boolean
# resp.db_instances[0].status_infos[0].status #=> String
# resp.db_instances[0].status_infos[0].message #=> String
# resp.db_instances[0].storage_type #=> String
# resp.db_instances[0].tde_credential_arn #=> String
# resp.db_instances[0].db_instance_port #=> Integer
# resp.db_instances[0].db_cluster_identifier #=> String
# resp.db_instances[0].storage_encrypted #=> Boolean
# resp.db_instances[0].kms_key_id #=> String
# resp.db_instances[0].dbi_resource_id #=> String
# resp.db_instances[0].ca_certificate_identifier #=> String
# resp.db_instances[0].domain_memberships #=> Array
# resp.db_instances[0].domain_memberships[0].domain #=> String
# resp.db_instances[0].domain_memberships[0].status #=> String
# resp.db_instances[0].domain_memberships[0].fqdn #=> String
# resp.db_instances[0].domain_memberships[0].iam_role_name #=> String
# resp.db_instances[0].copy_tags_to_snapshot #=> Boolean
# resp.db_instances[0].monitoring_interval #=> Integer
# resp.db_instances[0].enhanced_monitoring_resource_arn #=> String
# resp.db_instances[0].monitoring_role_arn #=> String
# resp.db_instances[0].promotion_tier #=> Integer
# resp.db_instances[0].db_instance_arn #=> String
# resp.db_instances[0].timezone #=> String
# resp.db_instances[0].iam_database_authentication_enabled #=> Boolean
# resp.db_instances[0].performance_insights_enabled #=> Boolean
# resp.db_instances[0].performance_insights_kms_key_id #=> String
# resp.db_instances[0].performance_insights_retention_period #=> Integer
# resp.db_instances[0].enabled_cloudwatch_logs_exports #=> Array
# resp.db_instances[0].enabled_cloudwatch_logs_exports[0] #=> String
# resp.db_instances[0].processor_features #=> Array
# resp.db_instances[0].processor_features[0].name #=> String
# resp.db_instances[0].processor_features[0].value #=> String
# resp.db_instances[0].deletion_protection #=> Boolean
# resp.db_instances[0].associated_roles #=> Array
# resp.db_instances[0].associated_roles[0].role_arn #=> String
# resp.db_instances[0].associated_roles[0].feature_name #=> String
# resp.db_instances[0].associated_roles[0].status #=> String
# resp.db_instances[0].listener_endpoint.address #=> String
# resp.db_instances[0].listener_endpoint.port #=> Integer
# resp.db_instances[0].listener_endpoint.hosted_zone_id #=> String
# resp.db_instances[0].max_allocated_storage #=> Integer
#
#
# The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
#
# * db_instance_available
# * db_instance_deleted
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBInstances AWS API Documentation
#
# @overload describe_db_instances(params = {})
# @param [Hash] params ({})
def describe_db_instances(params = {}, options = {})
req = build_request(:describe_db_instances, params)
req.send_request(options)
end
# Returns a list of DB log files for the DB instance.
#
# @option params [required, String] :db_instance_identifier
# 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.
#
# ^
#
# @option params [String] :filename_contains
# Filters the available log files for log file names that contain the
# specified string.
#
# @option params [Integer] :file_last_written
# Filters the available log files for files written since the specified
# date, in POSIX timestamp format with milliseconds.
#
# @option params [Integer] :file_size
# Filters the available log files for files larger than the specified
# size.
#
# @option params [Array] :filters
# This parameter isn't currently supported.
#
# @option params [Integer] :max_records
# 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.
#
# @option params [String] :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.
#
# @return [Types::DescribeDBLogFilesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DescribeDBLogFilesResponse#describe_db_log_files #describe_db_log_files} => Array<Types::DescribeDBLogFilesDetails>
# * {Types::DescribeDBLogFilesResponse#marker #marker} => String
#
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
#
#
# @example Example: To list DB log file names
#
# # This example lists matching log file names for the specified DB instance, file name pattern, last write date in POSIX
# # time with milleseconds, and minimum file size.
#
# resp = client.describe_db_log_files({
# db_instance_identifier: "mymysqlinstance",
# file_last_written: 1470873600000,
# file_size: 0,
# filename_contains: "error",
# })
#
# resp.to_h outputs the following:
# {
# }
#
# @example Request syntax with placeholder values
#
# resp = client.describe_db_log_files({
# db_instance_identifier: "String", # required
# filename_contains: "String",
# file_last_written: 1,
# file_size: 1,
# filters: [
# {
# name: "String", # required
# values: ["String"], # required
# },
# ],
# max_records: 1,
# marker: "String",
# })
#
# @example Response structure
#
# resp.describe_db_log_files #=> Array
# resp.describe_db_log_files[0].log_file_name #=> String
# resp.describe_db_log_files[0].last_written #=> Integer
# resp.describe_db_log_files[0].size #=> Integer
# resp.marker #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBLogFiles AWS API Documentation
#
# @overload describe_db_log_files(params = {})
# @param [Hash] params ({})
def describe_db_log_files(params = {}, options = {})
req = build_request(:describe_db_log_files, params)
req.send_request(options)
end
# Returns a list of `DBParameterGroup` descriptions. If a
# `DBParameterGroupName` is specified, the list will contain only the
# description of the specified DB parameter group.
#
# @option params [String] :db_parameter_group_name
# The name of a specific DB parameter group to return details for.
#
# Constraints:
#
# * If supplied, must match the name of an existing
# DBClusterParameterGroup.
#
# ^
#
# @option params [Array] :filters
# This parameter isn't currently supported.
#
# @option params [Integer] :max_records
# 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.
#
# @option params [String] :marker
# An optional pagination token provided by a previous
# `DescribeDBParameterGroups` request. If this parameter is specified,
# the response includes only records beyond the marker, up to the value
# specified by `MaxRecords`.
#
# @return [Types::DBParameterGroupsMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DBParameterGroupsMessage#marker #marker} => String
# * {Types::DBParameterGroupsMessage#db_parameter_groups #db_parameter_groups} => Array<Types::DBParameterGroup>
#
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
#
#
# @example Example: To list information about DB parameter groups
#
# # This example lists information about the specified DB parameter group.
#
# resp = client.describe_db_parameter_groups({
# db_parameter_group_name: "mymysqlparametergroup",
# })
#
# resp.to_h outputs the following:
# {
# }
#
# @example Request syntax with placeholder values
#
# resp = client.describe_db_parameter_groups({
# db_parameter_group_name: "String",
# filters: [
# {
# name: "String", # required
# values: ["String"], # required
# },
# ],
# max_records: 1,
# marker: "String",
# })
#
# @example Response structure
#
# resp.marker #=> String
# resp.db_parameter_groups #=> Array
# resp.db_parameter_groups[0].db_parameter_group_name #=> String
# resp.db_parameter_groups[0].db_parameter_group_family #=> String
# resp.db_parameter_groups[0].description #=> String
# resp.db_parameter_groups[0].db_parameter_group_arn #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBParameterGroups AWS API Documentation
#
# @overload describe_db_parameter_groups(params = {})
# @param [Hash] params ({})
def describe_db_parameter_groups(params = {}, options = {})
req = build_request(:describe_db_parameter_groups, params)
req.send_request(options)
end
# Returns the detailed parameter list for a particular DB parameter
# group.
#
# @option params [required, String] :db_parameter_group_name
# The name of a specific DB parameter group to return details for.
#
# Constraints:
#
# * If supplied, must match the name of an existing DBParameterGroup.
#
# ^
#
# @option params [String] :source
# The parameter types to return.
#
# Default: All parameter types returned
#
# Valid Values: `user | system | engine-default`
#
# @option params [Array] :filters
# This parameter isn't currently supported.
#
# @option params [Integer] :max_records
# 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.
#
# @option params [String] :marker
# An optional pagination token provided by a previous
# `DescribeDBParameters` request. If this parameter is specified, the
# response includes only records beyond the marker, up to the value
# specified by `MaxRecords`.
#
# @return [Types::DBParameterGroupDetails] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DBParameterGroupDetails#parameters #parameters} => Array<Types::Parameter>
# * {Types::DBParameterGroupDetails#marker #marker} => String
#
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
#
#
# @example Example: To list information about DB parameters
#
# # This example lists information for up to the first 20 system parameters for the specified DB parameter group.
#
# resp = client.describe_db_parameters({
# db_parameter_group_name: "mymysqlparametergroup",
# max_records: 20,
# source: "system",
# })
#
# resp.to_h outputs the following:
# {
# }
#
# @example Request syntax with placeholder values
#
# resp = client.describe_db_parameters({
# db_parameter_group_name: "String", # required
# source: "String",
# filters: [
# {
# name: "String", # required
# values: ["String"], # required
# },
# ],
# max_records: 1,
# marker: "String",
# })
#
# @example Response structure
#
# resp.parameters #=> Array
# resp.parameters[0].parameter_name #=> String
# resp.parameters[0].parameter_value #=> String
# resp.parameters[0].description #=> String
# resp.parameters[0].source #=> String
# resp.parameters[0].apply_type #=> String
# resp.parameters[0].data_type #=> String
# resp.parameters[0].allowed_values #=> String
# resp.parameters[0].is_modifiable #=> Boolean
# resp.parameters[0].minimum_engine_version #=> String
# resp.parameters[0].apply_method #=> String, one of "immediate", "pending-reboot"
# resp.parameters[0].supported_engine_modes #=> Array
# resp.parameters[0].supported_engine_modes[0] #=> String
# resp.marker #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBParameters AWS API Documentation
#
# @overload describe_db_parameters(params = {})
# @param [Hash] params ({})
def describe_db_parameters(params = {}, options = {})
req = build_request(:describe_db_parameters, params)
req.send_request(options)
end
# Returns information about DB proxies.
#
# @option params [String] :db_proxy_name
# The name of the DB proxy.
#
# @option params [Array] :filters
# This parameter is not currently supported.
#
# @option params [String] :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`.
#
# @option params [Integer] :max_records
# 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.
#
# @return [Types::DescribeDBProxiesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DescribeDBProxiesResponse#db_proxies #db_proxies} => Array<Types::DBProxy>
# * {Types::DescribeDBProxiesResponse#marker #marker} => String
#
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
#
# @example Request syntax with placeholder values
#
# resp = client.describe_db_proxies({
# db_proxy_name: "String",
# filters: [
# {
# name: "String", # required
# values: ["String"], # required
# },
# ],
# marker: "String",
# max_records: 1,
# })
#
# @example Response structure
#
# resp.db_proxies #=> Array
# resp.db_proxies[0].db_proxy_name #=> String
# resp.db_proxies[0].db_proxy_arn #=> String
# resp.db_proxies[0].status #=> String, one of "available", "modifying", "incompatible-network", "insufficient-resource-limits", "creating", "deleting", "suspended", "suspending", "reactivating"
# resp.db_proxies[0].engine_family #=> String
# resp.db_proxies[0].vpc_security_group_ids #=> Array
# resp.db_proxies[0].vpc_security_group_ids[0] #=> String
# resp.db_proxies[0].vpc_subnet_ids #=> Array
# resp.db_proxies[0].vpc_subnet_ids[0] #=> String
# resp.db_proxies[0].auth #=> Array
# resp.db_proxies[0].auth[0].description #=> String
# resp.db_proxies[0].auth[0].user_name #=> String
# resp.db_proxies[0].auth[0].auth_scheme #=> String, one of "SECRETS"
# resp.db_proxies[0].auth[0].secret_arn #=> String
# resp.db_proxies[0].auth[0].iam_auth #=> String, one of "DISABLED", "REQUIRED"
# resp.db_proxies[0].role_arn #=> String
# resp.db_proxies[0].endpoint #=> String
# resp.db_proxies[0].require_tls #=> Boolean
# resp.db_proxies[0].idle_client_timeout #=> Integer
# resp.db_proxies[0].debug_logging #=> Boolean
# resp.db_proxies[0].created_date #=> Time
# resp.db_proxies[0].updated_date #=> Time
# resp.marker #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBProxies AWS API Documentation
#
# @overload describe_db_proxies(params = {})
# @param [Hash] params ({})
def describe_db_proxies(params = {}, options = {})
req = build_request(:describe_db_proxies, params)
req.send_request(options)
end
# Returns information about DB proxy target groups, represented by
# `DBProxyTargetGroup` data structures.
#
# @option params [required, String] :db_proxy_name
# The identifier of the `DBProxy` associated with the target group.
#
# @option params [String] :target_group_name
# The identifier of the `DBProxyTargetGroup` to describe.
#
# @option params [Array] :filters
# This parameter is not currently supported.
#
# @option params [String] :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`.
#
# @option params [Integer] :max_records
# 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.
#
# @return [Types::DescribeDBProxyTargetGroupsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DescribeDBProxyTargetGroupsResponse#target_groups #target_groups} => Array<Types::DBProxyTargetGroup>
# * {Types::DescribeDBProxyTargetGroupsResponse#marker #marker} => String
#
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
#
# @example Request syntax with placeholder values
#
# resp = client.describe_db_proxy_target_groups({
# db_proxy_name: "String", # required
# target_group_name: "String",
# filters: [
# {
# name: "String", # required
# values: ["String"], # required
# },
# ],
# marker: "String",
# max_records: 1,
# })
#
# @example Response structure
#
# resp.target_groups #=> Array
# resp.target_groups[0].db_proxy_name #=> String
# resp.target_groups[0].target_group_name #=> String
# resp.target_groups[0].target_group_arn #=> String
# resp.target_groups[0].is_default #=> Boolean
# resp.target_groups[0].status #=> String
# resp.target_groups[0].connection_pool_config.max_connections_percent #=> Integer
# resp.target_groups[0].connection_pool_config.max_idle_connections_percent #=> Integer
# resp.target_groups[0].connection_pool_config.connection_borrow_timeout #=> Integer
# resp.target_groups[0].connection_pool_config.session_pinning_filters #=> Array
# resp.target_groups[0].connection_pool_config.session_pinning_filters[0] #=> String
# resp.target_groups[0].connection_pool_config.init_query #=> String
# resp.target_groups[0].created_date #=> Time
# resp.target_groups[0].updated_date #=> Time
# resp.marker #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBProxyTargetGroups AWS API Documentation
#
# @overload describe_db_proxy_target_groups(params = {})
# @param [Hash] params ({})
def describe_db_proxy_target_groups(params = {}, options = {})
req = build_request(:describe_db_proxy_target_groups, params)
req.send_request(options)
end
# Returns information about `DBProxyTarget` objects. This API supports
# pagination.
#
# @option params [required, String] :db_proxy_name
# The identifier of the `DBProxyTarget` to describe.
#
# @option params [String] :target_group_name
# The identifier of the `DBProxyTargetGroup` to describe.
#
# @option params [Array] :filters
# This parameter is not currently supported.
#
# @option params [String] :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`.
#
# @option params [Integer] :max_records
# 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.
#
# @return [Types::DescribeDBProxyTargetsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DescribeDBProxyTargetsResponse#targets #targets} => Array<Types::DBProxyTarget>
# * {Types::DescribeDBProxyTargetsResponse#marker #marker} => String
#
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
#
# @example Request syntax with placeholder values
#
# resp = client.describe_db_proxy_targets({
# db_proxy_name: "String", # required
# target_group_name: "String",
# filters: [
# {
# name: "String", # required
# values: ["String"], # required
# },
# ],
# marker: "String",
# max_records: 1,
# })
#
# @example Response structure
#
# resp.targets #=> Array
# resp.targets[0].target_arn #=> String
# resp.targets[0].endpoint #=> String
# resp.targets[0].tracked_cluster_id #=> String
# resp.targets[0].rds_resource_id #=> String
# resp.targets[0].port #=> Integer
# resp.targets[0].type #=> String, one of "RDS_INSTANCE", "RDS_SERVERLESS_ENDPOINT", "TRACKED_CLUSTER"
# resp.targets[0].target_health.state #=> String, one of "REGISTERING", "AVAILABLE", "UNAVAILABLE"
# resp.targets[0].target_health.reason #=> String, one of "UNREACHABLE", "CONNECTION_FAILED", "AUTH_FAILURE", "PENDING_PROXY_CAPACITY"
# resp.targets[0].target_health.description #=> String
# resp.marker #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBProxyTargets AWS API Documentation
#
# @overload describe_db_proxy_targets(params = {})
# @param [Hash] params ({})
def describe_db_proxy_targets(params = {}, options = {})
req = build_request(:describe_db_proxy_targets, params)
req.send_request(options)
end
# Returns a list of `DBSecurityGroup` descriptions. If a
# `DBSecurityGroupName` is specified, the list will contain only the
# descriptions of the specified DB security group.
#
# @option params [String] :db_security_group_name
# The name of the DB security group to return details for.
#
# @option params [Array] :filters
# This parameter isn't currently supported.
#
# @option params [Integer] :max_records
# 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.
#
# @option params [String] :marker
# An optional pagination token provided by a previous
# `DescribeDBSecurityGroups` request. If this parameter is specified,
# the response includes only records beyond the marker, up to the value
# specified by `MaxRecords`.
#
# @return [Types::DBSecurityGroupMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DBSecurityGroupMessage#marker #marker} => String
# * {Types::DBSecurityGroupMessage#db_security_groups #db_security_groups} => Array<Types::DBSecurityGroup>
#
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
#
#
# @example Example: To list DB security group settings
#
# # This example lists settings for the specified security group.
#
# resp = client.describe_db_security_groups({
# db_security_group_name: "mydbsecuritygroup",
# })
#
# resp.to_h outputs the following:
# {
# }
#
# @example Request syntax with placeholder values
#
# resp = client.describe_db_security_groups({
# db_security_group_name: "String",
# filters: [
# {
# name: "String", # required
# values: ["String"], # required
# },
# ],
# max_records: 1,
# marker: "String",
# })
#
# @example Response structure
#
# resp.marker #=> String
# resp.db_security_groups #=> Array
# resp.db_security_groups[0].owner_id #=> String
# resp.db_security_groups[0].db_security_group_name #=> String
# resp.db_security_groups[0].db_security_group_description #=> String
# resp.db_security_groups[0].vpc_id #=> String
# resp.db_security_groups[0].ec2_security_groups #=> Array
# resp.db_security_groups[0].ec2_security_groups[0].status #=> String
# resp.db_security_groups[0].ec2_security_groups[0].ec2_security_group_name #=> String
# resp.db_security_groups[0].ec2_security_groups[0].ec2_security_group_id #=> String
# resp.db_security_groups[0].ec2_security_groups[0].ec2_security_group_owner_id #=> String
# resp.db_security_groups[0].ip_ranges #=> Array
# resp.db_security_groups[0].ip_ranges[0].status #=> String
# resp.db_security_groups[0].ip_ranges[0].cidrip #=> String
# resp.db_security_groups[0].db_security_group_arn #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSecurityGroups AWS API Documentation
#
# @overload describe_db_security_groups(params = {})
# @param [Hash] params ({})
def describe_db_security_groups(params = {}, options = {})
req = build_request(:describe_db_security_groups, params)
req.send_request(options)
end
# Returns a list of DB snapshot attribute names and values for a manual
# DB snapshot.
#
# When sharing snapshots with other AWS accounts,
# `DescribeDBSnapshotAttributes` returns the `restore` attribute and a
# list of IDs for the AWS accounts that are authorized to copy or
# restore the manual DB snapshot. If `all` is included in the list of
# values for the `restore` attribute, then the manual DB snapshot is
# public and can be copied or restored by all AWS accounts.
#
# To add or remove access for an AWS account to copy or restore a manual
# DB snapshot, or to make the manual DB snapshot public or private, use
# the `ModifyDBSnapshotAttribute` API action.
#
# @option params [required, String] :db_snapshot_identifier
# The identifier for the DB snapshot to describe the attributes for.
#
# @return [Types::DescribeDBSnapshotAttributesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DescribeDBSnapshotAttributesResult#db_snapshot_attributes_result #db_snapshot_attributes_result} => Types::DBSnapshotAttributesResult
#
#
# @example Example: To list DB snapshot attributes
#
# # This example lists attributes for the specified DB snapshot.
#
# resp = client.describe_db_snapshot_attributes({
# db_snapshot_identifier: "mydbsnapshot",
# })
#
# resp.to_h outputs the following:
# {
# db_snapshot_attributes_result: {
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.describe_db_snapshot_attributes({
# db_snapshot_identifier: "String", # required
# })
#
# @example Response structure
#
# resp.db_snapshot_attributes_result.db_snapshot_identifier #=> String
# resp.db_snapshot_attributes_result.db_snapshot_attributes #=> Array
# resp.db_snapshot_attributes_result.db_snapshot_attributes[0].attribute_name #=> String
# resp.db_snapshot_attributes_result.db_snapshot_attributes[0].attribute_values #=> Array
# resp.db_snapshot_attributes_result.db_snapshot_attributes[0].attribute_values[0] #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSnapshotAttributes AWS API Documentation
#
# @overload describe_db_snapshot_attributes(params = {})
# @param [Hash] params ({})
def describe_db_snapshot_attributes(params = {}, options = {})
req = build_request(:describe_db_snapshot_attributes, params)
req.send_request(options)
end
# Returns information about DB snapshots. This API action supports
# pagination.
#
# @option params [String] :db_instance_identifier
# The ID of the DB instance to retrieve the list of DB snapshots for.
# This parameter can't be used in conjunction with
# `DBSnapshotIdentifier`. This parameter isn't case-sensitive.
#
# Constraints:
#
# * If supplied, must match the identifier of an existing DBInstance.
#
# ^
#
# @option params [String] :db_snapshot_identifier
# A specific DB snapshot identifier to describe. This parameter can't
# be used in conjunction with `DBInstanceIdentifier`. 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.
#
# @option params [String] :snapshot_type
# 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 AWS account.
#
# * `manual` - Return all DB snapshots that have been taken by my AWS
# account.
#
# * `shared` - Return all manual DB snapshots that have been shared to
# my AWS account.
#
# * `public` - Return all DB snapshots that have been marked as public.
#
# * `awsbackup` - Return the DB snapshots managed by the AWS Backup
# service.
#
# For information about AWS Backup, see the [ *AWS Backup Developer
# Guide.* ][1]
#
# 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`.
#
#
#
# [1]: https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html
#
# @option params [Array] :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.
#
# @option params [Integer] :max_records
# 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.
#
# @option params [String] :marker
# An optional pagination token provided by a previous
# `DescribeDBSnapshots` request. If this parameter is specified, the
# response includes only records beyond the marker, up to the value
# specified by `MaxRecords`.
#
# @option params [Boolean] :include_shared
# A value that indicates whether to include shared manual DB cluster
# snapshots from other AWS accounts that this AWS account has been given
# permission to copy or restore. By default, these snapshots are not
# included.
#
# You can give an AWS account permission to restore a manual DB snapshot
# from another AWS account by using the `ModifyDBSnapshotAttribute` API
# action.
#
# @option params [Boolean] :include_public
# A value that indicates whether to include manual DB cluster snapshots
# that are public and can be copied or restored by any AWS account. By
# default, the public snapshots are not included.
#
# You can share a manual DB snapshot as public by using the
# ModifyDBSnapshotAttribute API.
#
# @option params [String] :dbi_resource_id
# A specific DB resource ID to describe.
#
# @return [Types::DBSnapshotMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DBSnapshotMessage#marker #marker} => String
# * {Types::DBSnapshotMessage#db_snapshots #db_snapshots} => Array<Types::DBSnapshot>
#
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
#
#
# @example Example: To list DB snapshot attributes
#
# # This example lists all manually-created, shared snapshots for the specified DB instance.
#
# resp = client.describe_db_snapshots({
# db_instance_identifier: "mymysqlinstance",
# include_public: false,
# include_shared: true,
# snapshot_type: "manual",
# })
#
# resp.to_h outputs the following:
# {
# }
#
# @example Request syntax with placeholder values
#
# resp = client.describe_db_snapshots({
# db_instance_identifier: "String",
# db_snapshot_identifier: "String",
# snapshot_type: "String",
# filters: [
# {
# name: "String", # required
# values: ["String"], # required
# },
# ],
# max_records: 1,
# marker: "String",
# include_shared: false,
# include_public: false,
# dbi_resource_id: "String",
# })
#
# @example Response structure
#
# resp.marker #=> String
# resp.db_snapshots #=> Array
# resp.db_snapshots[0].db_snapshot_identifier #=> String
# resp.db_snapshots[0].db_instance_identifier #=> String
# resp.db_snapshots[0].snapshot_create_time #=> Time
# resp.db_snapshots[0].engine #=> String
# resp.db_snapshots[0].allocated_storage #=> Integer
# resp.db_snapshots[0].status #=> String
# resp.db_snapshots[0].port #=> Integer
# resp.db_snapshots[0].availability_zone #=> String
# resp.db_snapshots[0].vpc_id #=> String
# resp.db_snapshots[0].instance_create_time #=> Time
# resp.db_snapshots[0].master_username #=> String
# resp.db_snapshots[0].engine_version #=> String
# resp.db_snapshots[0].license_model #=> String
# resp.db_snapshots[0].snapshot_type #=> String
# resp.db_snapshots[0].iops #=> Integer
# resp.db_snapshots[0].option_group_name #=> String
# resp.db_snapshots[0].percent_progress #=> Integer
# resp.db_snapshots[0].source_region #=> String
# resp.db_snapshots[0].source_db_snapshot_identifier #=> String
# resp.db_snapshots[0].storage_type #=> String
# resp.db_snapshots[0].tde_credential_arn #=> String
# resp.db_snapshots[0].encrypted #=> Boolean
# resp.db_snapshots[0].kms_key_id #=> String
# resp.db_snapshots[0].db_snapshot_arn #=> String
# resp.db_snapshots[0].timezone #=> String
# resp.db_snapshots[0].iam_database_authentication_enabled #=> Boolean
# resp.db_snapshots[0].processor_features #=> Array
# resp.db_snapshots[0].processor_features[0].name #=> String
# resp.db_snapshots[0].processor_features[0].value #=> String
# resp.db_snapshots[0].dbi_resource_id #=> String
#
#
# The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
#
# * db_snapshot_available
# * db_snapshot_deleted
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSnapshots AWS API Documentation
#
# @overload describe_db_snapshots(params = {})
# @param [Hash] params ({})
def describe_db_snapshots(params = {}, options = {})
req = build_request(:describe_db_snapshots, params)
req.send_request(options)
end
# Returns a list of DBSubnetGroup descriptions. If a DBSubnetGroupName
# is specified, the list will contain only the descriptions of the
# specified DBSubnetGroup.
#
# For an overview of CIDR ranges, go to the [Wikipedia Tutorial][1].
#
#
#
# [1]: http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing
#
# @option params [String] :db_subnet_group_name
# The name of the DB subnet group to return details for.
#
# @option params [Array] :filters
# This parameter isn't currently supported.
#
# @option params [Integer] :max_records
# 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.
#
# @option params [String] :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`.
#
# @return [Types::DBSubnetGroupMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DBSubnetGroupMessage#marker #marker} => String
# * {Types::DBSubnetGroupMessage#db_subnet_groups #db_subnet_groups} => Array<Types::DBSubnetGroup>
#
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
#
#
# @example Example: To list information about DB subnet groups
#
# # This example lists information about the specified DB subnet group.
#
# resp = client.describe_db_subnet_groups({
# db_subnet_group_name: "mydbsubnetgroup",
# })
#
# resp.to_h outputs the following:
# {
# }
#
# @example Request syntax with placeholder values
#
# resp = client.describe_db_subnet_groups({
# db_subnet_group_name: "String",
# filters: [
# {
# name: "String", # required
# values: ["String"], # required
# },
# ],
# max_records: 1,
# marker: "String",
# })
#
# @example Response structure
#
# resp.marker #=> String
# resp.db_subnet_groups #=> Array
# resp.db_subnet_groups[0].db_subnet_group_name #=> String
# resp.db_subnet_groups[0].db_subnet_group_description #=> String
# resp.db_subnet_groups[0].vpc_id #=> String
# resp.db_subnet_groups[0].subnet_group_status #=> String
# resp.db_subnet_groups[0].subnets #=> Array
# resp.db_subnet_groups[0].subnets[0].subnet_identifier #=> String
# resp.db_subnet_groups[0].subnets[0].subnet_availability_zone.name #=> String
# resp.db_subnet_groups[0].subnets[0].subnet_status #=> String
# resp.db_subnet_groups[0].db_subnet_group_arn #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSubnetGroups AWS API Documentation
#
# @overload describe_db_subnet_groups(params = {})
# @param [Hash] params ({})
def describe_db_subnet_groups(params = {}, options = {})
req = build_request(:describe_db_subnet_groups, params)
req.send_request(options)
end
# Returns the default engine and system parameter information for the
# cluster database engine.
#
# For more information on Amazon Aurora, see [ What Is Amazon
# Aurora?][1] in the *Amazon Aurora User Guide.*
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html
#
# @option params [required, String] :db_parameter_group_family
# The name of the DB cluster parameter group family to return engine
# parameter information for.
#
# @option params [Array] :filters
# This parameter isn't currently supported.
#
# @option params [Integer] :max_records
# 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.
#
# @option params [String] :marker
# An optional pagination token provided by a previous
# `DescribeEngineDefaultClusterParameters` request. If this parameter is
# specified, the response includes only records beyond the marker, up to
# the value specified by `MaxRecords`.
#
# @return [Types::DescribeEngineDefaultClusterParametersResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DescribeEngineDefaultClusterParametersResult#engine_defaults #engine_defaults} => Types::EngineDefaults
#
#
# @example Example: To list default parameters for a DB cluster engine
#
# # This example lists default parameters for the specified DB cluster engine.
#
# resp = client.describe_engine_default_cluster_parameters({
# db_parameter_group_family: "aurora5.6",
# })
#
# resp.to_h outputs the following:
# {
# engine_defaults: {
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.describe_engine_default_cluster_parameters({
# db_parameter_group_family: "String", # required
# filters: [
# {
# name: "String", # required
# values: ["String"], # required
# },
# ],
# max_records: 1,
# marker: "String",
# })
#
# @example Response structure
#
# resp.engine_defaults.db_parameter_group_family #=> String
# resp.engine_defaults.marker #=> String
# resp.engine_defaults.parameters #=> Array
# resp.engine_defaults.parameters[0].parameter_name #=> String
# resp.engine_defaults.parameters[0].parameter_value #=> String
# resp.engine_defaults.parameters[0].description #=> String
# resp.engine_defaults.parameters[0].source #=> String
# resp.engine_defaults.parameters[0].apply_type #=> String
# resp.engine_defaults.parameters[0].data_type #=> String
# resp.engine_defaults.parameters[0].allowed_values #=> String
# resp.engine_defaults.parameters[0].is_modifiable #=> Boolean
# resp.engine_defaults.parameters[0].minimum_engine_version #=> String
# resp.engine_defaults.parameters[0].apply_method #=> String, one of "immediate", "pending-reboot"
# resp.engine_defaults.parameters[0].supported_engine_modes #=> Array
# resp.engine_defaults.parameters[0].supported_engine_modes[0] #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEngineDefaultClusterParameters AWS API Documentation
#
# @overload describe_engine_default_cluster_parameters(params = {})
# @param [Hash] params ({})
def describe_engine_default_cluster_parameters(params = {}, options = {})
req = build_request(:describe_engine_default_cluster_parameters, params)
req.send_request(options)
end
# Returns the default engine and system parameter information for the
# specified database engine.
#
# @option params [required, String] :db_parameter_group_family
# The name of the DB parameter group family.
#
# @option params [Array] :filters
# This parameter isn't currently supported.
#
# @option params [Integer] :max_records
# 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.
#
# @option params [String] :marker
# An optional pagination token provided by a previous
# `DescribeEngineDefaultParameters` request. If this parameter is
# specified, the response includes only records beyond the marker, up to
# the value specified by `MaxRecords`.
#
# @return [Types::DescribeEngineDefaultParametersResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DescribeEngineDefaultParametersResult#engine_defaults #engine_defaults} => Types::EngineDefaults
#
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
#
#
# @example Example: To list default parameters for a DB engine
#
# # This example lists default parameters for the specified DB engine.
#
# resp = client.describe_engine_default_parameters({
# db_parameter_group_family: "mysql5.6",
# })
#
# resp.to_h outputs the following:
# {
# engine_defaults: {
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.describe_engine_default_parameters({
# db_parameter_group_family: "String", # required
# filters: [
# {
# name: "String", # required
# values: ["String"], # required
# },
# ],
# max_records: 1,
# marker: "String",
# })
#
# @example Response structure
#
# resp.engine_defaults.db_parameter_group_family #=> String
# resp.engine_defaults.marker #=> String
# resp.engine_defaults.parameters #=> Array
# resp.engine_defaults.parameters[0].parameter_name #=> String
# resp.engine_defaults.parameters[0].parameter_value #=> String
# resp.engine_defaults.parameters[0].description #=> String
# resp.engine_defaults.parameters[0].source #=> String
# resp.engine_defaults.parameters[0].apply_type #=> String
# resp.engine_defaults.parameters[0].data_type #=> String
# resp.engine_defaults.parameters[0].allowed_values #=> String
# resp.engine_defaults.parameters[0].is_modifiable #=> Boolean
# resp.engine_defaults.parameters[0].minimum_engine_version #=> String
# resp.engine_defaults.parameters[0].apply_method #=> String, one of "immediate", "pending-reboot"
# resp.engine_defaults.parameters[0].supported_engine_modes #=> Array
# resp.engine_defaults.parameters[0].supported_engine_modes[0] #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEngineDefaultParameters AWS API Documentation
#
# @overload describe_engine_default_parameters(params = {})
# @param [Hash] params ({})
def describe_engine_default_parameters(params = {}, options = {})
req = build_request(:describe_engine_default_parameters, params)
req.send_request(options)
end
# Displays a list of categories for all event source types, or, if
# specified, for a specified source type. You can see a list of the
# event categories and source types in the [ Events][1] topic in the
# *Amazon RDS User Guide.*
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html
#
# @option params [String] :source_type
# The type of source that is generating the events.
#
# Valid values: db-instance \| db-parameter-group \| db-security-group
# \| db-snapshot
#
# @option params [Array] :filters
# This parameter isn't currently supported.
#
# @return [Types::EventCategoriesMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::EventCategoriesMessage#event_categories_map_list #event_categories_map_list} => Array<Types::EventCategoriesMap>
#
#
# @example Example: To list event categories.
#
# # This example lists all DB instance event categories.
#
# resp = client.describe_event_categories({
# source_type: "db-instance",
# })
#
# resp.to_h outputs the following:
# {
# }
#
# @example Request syntax with placeholder values
#
# resp = client.describe_event_categories({
# source_type: "String",
# filters: [
# {
# name: "String", # required
# values: ["String"], # required
# },
# ],
# })
#
# @example Response structure
#
# resp.event_categories_map_list #=> Array
# resp.event_categories_map_list[0].source_type #=> String
# resp.event_categories_map_list[0].event_categories #=> Array
# resp.event_categories_map_list[0].event_categories[0] #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEventCategories AWS API Documentation
#
# @overload describe_event_categories(params = {})
# @param [Hash] params ({})
def describe_event_categories(params = {}, options = {})
req = build_request(:describe_event_categories, params)
req.send_request(options)
end
# Lists all the subscription descriptions for a customer account. The
# description for a subscription includes SubscriptionName, SNSTopicARN,
# CustomerID, SourceType, SourceID, CreationTime, and Status.
#
# If you specify a SubscriptionName, lists the description for that
# subscription.
#
# @option params [String] :subscription_name
# The name of the RDS event notification subscription you want to
# describe.
#
# @option params [Array] :filters
# This parameter isn't currently supported.
#
# @option params [Integer] :max_records
# 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.
#
# @option params [String] :marker
# An optional pagination token provided by a previous
# DescribeOrderableDBInstanceOptions request. If this parameter is
# specified, the response includes only records beyond the marker, up to
# the value specified by `MaxRecords` .
#
# @return [Types::EventSubscriptionsMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::EventSubscriptionsMessage#marker #marker} => String
# * {Types::EventSubscriptionsMessage#event_subscriptions_list #event_subscriptions_list} => Array<Types::EventSubscription>
#
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
#
#
# @example Example: To list information about DB event notification subscriptions
#
# # This example lists information for the specified DB event notification subscription.
#
# resp = client.describe_event_subscriptions({
# subscription_name: "mymysqleventsubscription",
# })
#
# resp.to_h outputs the following:
# {
# }
#
# @example Request syntax with placeholder values
#
# resp = client.describe_event_subscriptions({
# subscription_name: "String",
# filters: [
# {
# name: "String", # required
# values: ["String"], # required
# },
# ],
# max_records: 1,
# marker: "String",
# })
#
# @example Response structure
#
# resp.marker #=> String
# resp.event_subscriptions_list #=> Array
# resp.event_subscriptions_list[0].customer_aws_id #=> String
# resp.event_subscriptions_list[0].cust_subscription_id #=> String
# resp.event_subscriptions_list[0].sns_topic_arn #=> String
# resp.event_subscriptions_list[0].status #=> String
# resp.event_subscriptions_list[0].subscription_creation_time #=> String
# resp.event_subscriptions_list[0].source_type #=> String
# resp.event_subscriptions_list[0].source_ids_list #=> Array
# resp.event_subscriptions_list[0].source_ids_list[0] #=> String
# resp.event_subscriptions_list[0].event_categories_list #=> Array
# resp.event_subscriptions_list[0].event_categories_list[0] #=> String
# resp.event_subscriptions_list[0].enabled #=> Boolean
# resp.event_subscriptions_list[0].event_subscription_arn #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEventSubscriptions AWS API Documentation
#
# @overload describe_event_subscriptions(params = {})
# @param [Hash] params ({})
def describe_event_subscriptions(params = {}, options = {})
req = build_request(:describe_event_subscriptions, params)
req.send_request(options)
end
# Returns events related to DB instances, DB security groups, DB
# snapshots, and DB parameter groups for the past 14 days. Events
# specific to a particular DB instance, DB security group, database
# snapshot, or DB parameter group can be obtained by providing the name
# as a parameter. By default, the past hour of events are returned.
#
# @option params [String] :source_identifier
# The identifier of the event source for which events are returned. If
# not specified, then all sources are included in the response.
#
# Constraints:
#
# * If SourceIdentifier is supplied, SourceType must also be provided.
#
# * If the source type is `DBInstance`, then a `DBInstanceIdentifier`
# must be supplied.
#
# * If the source type is `DBSecurityGroup`, a `DBSecurityGroupName`
# must be supplied.
#
# * If the source type is `DBParameterGroup`, a `DBParameterGroupName`
# must be supplied.
#
# * If the source type is `DBSnapshot`, a `DBSnapshotIdentifier` must be
# supplied.
#
# * Can't end with a hyphen or contain two consecutive hyphens.
#
# @option params [String] :source_type
# The event source to retrieve events for. If no value is specified, all
# events are returned.
#
# @option params [Time,DateTime,Date,Integer,String] :start_time
# The beginning of the time interval to retrieve events for, specified
# in ISO 8601 format. For more information about ISO 8601, go to the
# [ISO8601 Wikipedia page.][1]
#
# Example: 2009-07-08T18:00Z
#
#
#
# [1]: http://en.wikipedia.org/wiki/ISO_8601
#
# @option params [Time,DateTime,Date,Integer,String] :end_time
# The end of the time interval for which to retrieve events, specified
# in ISO 8601 format. For more information about ISO 8601, go to the
# [ISO8601 Wikipedia page.][1]
#
# Example: 2009-07-08T18:00Z
#
#
#
# [1]: http://en.wikipedia.org/wiki/ISO_8601
#
# @option params [Integer] :duration
# The number of minutes to retrieve events for.
#
# Default: 60
#
# @option params [Array] :event_categories
# A list of event categories that trigger notifications for a event
# notification subscription.
#
# @option params [Array] :filters
# This parameter isn't currently supported.
#
# @option params [Integer] :max_records
# 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.
#
# @option params [String] :marker
# An optional pagination token provided by a previous DescribeEvents
# request. If this parameter is specified, the response includes only
# records beyond the marker, up to the value specified by `MaxRecords`.
#
# @return [Types::EventsMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::EventsMessage#marker #marker} => String
# * {Types::EventsMessage#events #events} => Array<Types::Event>
#
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
#
#
# @example Example: To list information about events
#
# # This example lists information for all backup-related events for the specified DB instance for the past 7 days (7 days *
# # 24 hours * 60 minutes = 10,080 minutes).
#
# resp = client.describe_events({
# duration: 10080,
# event_categories: [
# "backup",
# ],
# source_identifier: "mymysqlinstance",
# source_type: "db-instance",
# })
#
# resp.to_h outputs the following:
# {
# }
#
# @example Request syntax with placeholder values
#
# resp = client.describe_events({
# source_identifier: "String",
# source_type: "db-instance", # accepts db-instance, db-parameter-group, db-security-group, db-snapshot, db-cluster, db-cluster-snapshot
# start_time: Time.now,
# end_time: Time.now,
# duration: 1,
# event_categories: ["String"],
# filters: [
# {
# name: "String", # required
# values: ["String"], # required
# },
# ],
# max_records: 1,
# marker: "String",
# })
#
# @example Response structure
#
# resp.marker #=> String
# resp.events #=> Array
# resp.events[0].source_identifier #=> String
# resp.events[0].source_type #=> String, one of "db-instance", "db-parameter-group", "db-security-group", "db-snapshot", "db-cluster", "db-cluster-snapshot"
# resp.events[0].message #=> String
# resp.events[0].event_categories #=> Array
# resp.events[0].event_categories[0] #=> String
# resp.events[0].date #=> Time
# resp.events[0].source_arn #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEvents AWS API Documentation
#
# @overload describe_events(params = {})
# @param [Hash] params ({})
def describe_events(params = {}, options = {})
req = build_request(:describe_events, params)
req.send_request(options)
end
# Returns information about a snapshot export to Amazon S3. This API
# operation supports pagination.
#
# @option params [String] :export_task_identifier
# The identifier of the snapshot export task to be described.
#
# @option params [String] :source_arn
# The Amazon Resource Name (ARN) of the snapshot exported to Amazon S3.
#
# @option params [Array] :filters
# Filters specify one or more snapshot exports to describe. The filters
# are specified as name-value pairs that define what to include in the
# output.
#
# Supported filters include the following:
#
# * `export-task-identifier` - An identifier for the snapshot export
# task.
#
# * `s3-bucket` - The Amazon S3 bucket the snapshot is exported to.
#
# * `source-arn` - The Amazon Resource Name (ARN) of the snapshot
# exported to Amazon S3
#
# * `status` - The status of the export task.
#
# @option params [String] :marker
# An optional pagination token provided by a previous
# `DescribeExportTasks` request. If you specify this parameter, the
# response includes only records beyond the marker, up to the value
# specified by the `MaxRecords` parameter.
#
# @option params [Integer] :max_records
# The maximum number of records to include in the response. If more
# records exist than the specified value, a pagination token called a
# marker is included in the response. You can use the marker in a later
# `DescribeExportTasks` request to retrieve the remaining results.
#
# Default: 100
#
# Constraints: Minimum 20, maximum 100.
#
# @return [Types::ExportTasksMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::ExportTasksMessage#marker #marker} => String
# * {Types::ExportTasksMessage#export_tasks #export_tasks} => Array<Types::ExportTask>
#
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
#
# @example Request syntax with placeholder values
#
# resp = client.describe_export_tasks({
# export_task_identifier: "String",
# source_arn: "String",
# filters: [
# {
# name: "String", # required
# values: ["String"], # required
# },
# ],
# marker: "String",
# max_records: 1,
# })
#
# @example Response structure
#
# resp.marker #=> String
# resp.export_tasks #=> Array
# resp.export_tasks[0].export_task_identifier #=> String
# resp.export_tasks[0].source_arn #=> String
# resp.export_tasks[0].export_only #=> Array
# resp.export_tasks[0].export_only[0] #=> String
# resp.export_tasks[0].snapshot_time #=> Time
# resp.export_tasks[0].task_start_time #=> Time
# resp.export_tasks[0].task_end_time #=> Time
# resp.export_tasks[0].s3_bucket #=> String
# resp.export_tasks[0].s3_prefix #=> String
# resp.export_tasks[0].iam_role_arn #=> String
# resp.export_tasks[0].kms_key_id #=> String
# resp.export_tasks[0].status #=> String
# resp.export_tasks[0].percent_progress #=> Integer
# resp.export_tasks[0].total_extracted_data_in_gb #=> Integer
# resp.export_tasks[0].failure_cause #=> String
# resp.export_tasks[0].warning_message #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeExportTasks AWS API Documentation
#
# @overload describe_export_tasks(params = {})
# @param [Hash] params ({})
def describe_export_tasks(params = {}, options = {})
req = build_request(:describe_export_tasks, params)
req.send_request(options)
end
# Returns information about Aurora global database clusters. This API
# supports pagination.
#
# For more information on Amazon Aurora, see [ What Is Amazon
# Aurora?][1] in the *Amazon Aurora User Guide.*
#
# This action only applies to Aurora DB clusters.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html
#
# @option params [String] :global_cluster_identifier
# The user-supplied DB cluster identifier. If this parameter is
# specified, information from only the specific DB cluster is returned.
# This parameter isn't case-sensitive.
#
# Constraints:
#
# * If supplied, must match an existing DBClusterIdentifier.
#
# ^
#
# @option params [Array] :filters
# A filter that specifies one or more global DB clusters to describe.
#
# Supported filters:
#
# * `db-cluster-id` - Accepts DB cluster identifiers and DB cluster
# Amazon Resource Names (ARNs). The results list will only include
# information about the DB clusters identified by these ARNs.
#
# ^
#
# @option params [Integer] :max_records
# 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.
#
# @option params [String] :marker
# An optional pagination token provided by a previous
# `DescribeGlobalClusters` request. If this parameter is specified, the
# response includes only records beyond the marker, up to the value
# specified by `MaxRecords`.
#
# @return [Types::GlobalClustersMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::GlobalClustersMessage#marker #marker} => String
# * {Types::GlobalClustersMessage#global_clusters #global_clusters} => Array<Types::GlobalCluster>
#
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
#
# @example Request syntax with placeholder values
#
# resp = client.describe_global_clusters({
# global_cluster_identifier: "String",
# filters: [
# {
# name: "String", # required
# values: ["String"], # required
# },
# ],
# max_records: 1,
# marker: "String",
# })
#
# @example Response structure
#
# resp.marker #=> String
# resp.global_clusters #=> Array
# resp.global_clusters[0].global_cluster_identifier #=> String
# resp.global_clusters[0].global_cluster_resource_id #=> String
# resp.global_clusters[0].global_cluster_arn #=> String
# resp.global_clusters[0].status #=> String
# resp.global_clusters[0].engine #=> String
# resp.global_clusters[0].engine_version #=> String
# resp.global_clusters[0].database_name #=> String
# resp.global_clusters[0].storage_encrypted #=> Boolean
# resp.global_clusters[0].deletion_protection #=> Boolean
# resp.global_clusters[0].global_cluster_members #=> Array
# resp.global_clusters[0].global_cluster_members[0].db_cluster_arn #=> String
# resp.global_clusters[0].global_cluster_members[0].readers #=> Array
# resp.global_clusters[0].global_cluster_members[0].readers[0] #=> String
# resp.global_clusters[0].global_cluster_members[0].is_writer #=> Boolean
# resp.global_clusters[0].global_cluster_members[0].global_write_forwarding_status #=> String, one of "enabled", "disabled", "enabling", "disabling", "unknown"
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeGlobalClusters AWS API Documentation
#
# @overload describe_global_clusters(params = {})
# @param [Hash] params ({})
def describe_global_clusters(params = {}, options = {})
req = build_request(:describe_global_clusters, params)
req.send_request(options)
end
# Describes the available installation media for a DB engine that
# requires an on-premises customer provided license, such as Microsoft
# SQL Server.
#
# @option params [String] :installation_media_id
# The installation medium ID.
#
# @option params [Array] :filters
# A filter that specifies one or more installation media to describe.
# Supported filters include the following:
#
# * `custom-availability-zone-id` - Accepts custom Availability Zone
# (AZ) identifiers. The results list includes information about only
# the custom AZs identified by these identifiers.
#
# * `engine` - Accepts database engines. The results list includes
# information about only the database engines identified by these
# identifiers.
#
# For more information about the valid engines for installation media,
# see ImportInstallationMedia.
#
# @option params [Integer] :max_records
# An optional pagination token provided by a previous
# DescribeInstallationMedia request. If this parameter is specified, the
# response includes only records beyond the marker, up to the value
# specified by `MaxRecords`.
#
# @option params [String] :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`.
#
# @return [Types::InstallationMediaMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::InstallationMediaMessage#marker #marker} => String
# * {Types::InstallationMediaMessage#installation_media #installation_media} => Array<Types::InstallationMedia>
#
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
#
# @example Request syntax with placeholder values
#
# resp = client.describe_installation_media({
# installation_media_id: "String",
# filters: [
# {
# name: "String", # required
# values: ["String"], # required
# },
# ],
# max_records: 1,
# marker: "String",
# })
#
# @example Response structure
#
# resp.marker #=> String
# resp.installation_media #=> Array
# resp.installation_media[0].installation_media_id #=> String
# resp.installation_media[0].custom_availability_zone_id #=> String
# resp.installation_media[0].engine #=> String
# resp.installation_media[0].engine_version #=> String
# resp.installation_media[0].engine_installation_media_path #=> String
# resp.installation_media[0].os_installation_media_path #=> String
# resp.installation_media[0].status #=> String
# resp.installation_media[0].failure_cause.message #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeInstallationMedia AWS API Documentation
#
# @overload describe_installation_media(params = {})
# @param [Hash] params ({})
def describe_installation_media(params = {}, options = {})
req = build_request(:describe_installation_media, params)
req.send_request(options)
end
# Describes all available options.
#
# @option params [required, String] :engine_name
# A required parameter. Options available for the given engine name are
# described.
#
# @option params [String] :major_engine_version
# If specified, filters the results to include only options for the
# specified major engine version.
#
# @option params [Array] :filters
# This parameter isn't currently supported.
#
# @option params [Integer] :max_records
# 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.
#
# @option params [String] :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`.
#
# @return [Types::OptionGroupOptionsMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::OptionGroupOptionsMessage#option_group_options #option_group_options} => Array<Types::OptionGroupOption>
# * {Types::OptionGroupOptionsMessage#marker #marker} => String
#
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
#
#
# @example Example: To list information about DB option group options
#
# # This example lists information for all option group options for the specified DB engine.
#
# resp = client.describe_option_group_options({
# engine_name: "mysql",
# major_engine_version: "5.6",
# })
#
# resp.to_h outputs the following:
# {
# }
#
# @example Request syntax with placeholder values
#
# resp = client.describe_option_group_options({
# engine_name: "String", # required
# major_engine_version: "String",
# filters: [
# {
# name: "String", # required
# values: ["String"], # required
# },
# ],
# max_records: 1,
# marker: "String",
# })
#
# @example Response structure
#
# resp.option_group_options #=> Array
# resp.option_group_options[0].name #=> String
# resp.option_group_options[0].description #=> String
# resp.option_group_options[0].engine_name #=> String
# resp.option_group_options[0].major_engine_version #=> String
# resp.option_group_options[0].minimum_required_minor_engine_version #=> String
# resp.option_group_options[0].port_required #=> Boolean
# resp.option_group_options[0].default_port #=> Integer
# resp.option_group_options[0].options_depended_on #=> Array
# resp.option_group_options[0].options_depended_on[0] #=> String
# resp.option_group_options[0].options_conflicts_with #=> Array
# resp.option_group_options[0].options_conflicts_with[0] #=> String
# resp.option_group_options[0].persistent #=> Boolean
# resp.option_group_options[0].permanent #=> Boolean
# resp.option_group_options[0].requires_auto_minor_engine_version_upgrade #=> Boolean
# resp.option_group_options[0].vpc_only #=> Boolean
# resp.option_group_options[0].supports_option_version_downgrade #=> Boolean
# resp.option_group_options[0].option_group_option_settings #=> Array
# resp.option_group_options[0].option_group_option_settings[0].setting_name #=> String
# resp.option_group_options[0].option_group_option_settings[0].setting_description #=> String
# resp.option_group_options[0].option_group_option_settings[0].default_value #=> String
# resp.option_group_options[0].option_group_option_settings[0].apply_type #=> String
# resp.option_group_options[0].option_group_option_settings[0].allowed_values #=> String
# resp.option_group_options[0].option_group_option_settings[0].is_modifiable #=> Boolean
# resp.option_group_options[0].option_group_option_settings[0].is_required #=> Boolean
# resp.option_group_options[0].option_group_option_settings[0].minimum_engine_version_per_allowed_value #=> Array
# resp.option_group_options[0].option_group_option_settings[0].minimum_engine_version_per_allowed_value[0].allowed_value #=> String
# resp.option_group_options[0].option_group_option_settings[0].minimum_engine_version_per_allowed_value[0].minimum_engine_version #=> String
# resp.option_group_options[0].option_group_option_versions #=> Array
# resp.option_group_options[0].option_group_option_versions[0].version #=> String
# resp.option_group_options[0].option_group_option_versions[0].is_default #=> Boolean
# resp.marker #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOptionGroupOptions AWS API Documentation
#
# @overload describe_option_group_options(params = {})
# @param [Hash] params ({})
def describe_option_group_options(params = {}, options = {})
req = build_request(:describe_option_group_options, params)
req.send_request(options)
end
# Describes the available option groups.
#
# @option params [String] :option_group_name
# The name of the option group to describe. Can't be supplied together
# with EngineName or MajorEngineVersion.
#
# @option params [Array] :filters
# This parameter isn't currently supported.
#
# @option params [String] :marker
# An optional pagination token provided by a previous
# DescribeOptionGroups request. If this parameter is specified, the
# response includes only records beyond the marker, up to the value
# specified by `MaxRecords`.
#
# @option params [Integer] :max_records
# 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.
#
# @option params [String] :engine_name
# Filters the list of option groups to only include groups associated
# with a specific database engine.
#
# @option params [String] :major_engine_version
# Filters the list of option groups to only include groups associated
# with a specific database engine version. If specified, then EngineName
# must also be specified.
#
# @return [Types::OptionGroups] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::OptionGroups#option_groups_list #option_groups_list} => Array<Types::OptionGroup>
# * {Types::OptionGroups#marker #marker} => String
#
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
#
#
# @example Example: To list information about DB option groups
#
# # This example lists information for all option groups for the specified DB engine.
#
# resp = client.describe_option_groups({
# engine_name: "mysql",
# major_engine_version: "5.6",
# })
#
# resp.to_h outputs the following:
# {
# }
#
# @example Request syntax with placeholder values
#
# resp = client.describe_option_groups({
# option_group_name: "String",
# filters: [
# {
# name: "String", # required
# values: ["String"], # required
# },
# ],
# marker: "String",
# max_records: 1,
# engine_name: "String",
# major_engine_version: "String",
# })
#
# @example Response structure
#
# resp.option_groups_list #=> Array
# resp.option_groups_list[0].option_group_name #=> String
# resp.option_groups_list[0].option_group_description #=> String
# resp.option_groups_list[0].engine_name #=> String
# resp.option_groups_list[0].major_engine_version #=> String
# resp.option_groups_list[0].options #=> Array
# resp.option_groups_list[0].options[0].option_name #=> String
# resp.option_groups_list[0].options[0].option_description #=> String
# resp.option_groups_list[0].options[0].persistent #=> Boolean
# resp.option_groups_list[0].options[0].permanent #=> Boolean
# resp.option_groups_list[0].options[0].port #=> Integer
# resp.option_groups_list[0].options[0].option_version #=> String
# resp.option_groups_list[0].options[0].option_settings #=> Array
# resp.option_groups_list[0].options[0].option_settings[0].name #=> String
# resp.option_groups_list[0].options[0].option_settings[0].value #=> String
# resp.option_groups_list[0].options[0].option_settings[0].default_value #=> String
# resp.option_groups_list[0].options[0].option_settings[0].description #=> String
# resp.option_groups_list[0].options[0].option_settings[0].apply_type #=> String
# resp.option_groups_list[0].options[0].option_settings[0].data_type #=> String
# resp.option_groups_list[0].options[0].option_settings[0].allowed_values #=> String
# resp.option_groups_list[0].options[0].option_settings[0].is_modifiable #=> Boolean
# resp.option_groups_list[0].options[0].option_settings[0].is_collection #=> Boolean
# resp.option_groups_list[0].options[0].db_security_group_memberships #=> Array
# resp.option_groups_list[0].options[0].db_security_group_memberships[0].db_security_group_name #=> String
# resp.option_groups_list[0].options[0].db_security_group_memberships[0].status #=> String
# resp.option_groups_list[0].options[0].vpc_security_group_memberships #=> Array
# resp.option_groups_list[0].options[0].vpc_security_group_memberships[0].vpc_security_group_id #=> String
# resp.option_groups_list[0].options[0].vpc_security_group_memberships[0].status #=> String
# resp.option_groups_list[0].allows_vpc_and_non_vpc_instance_memberships #=> Boolean
# resp.option_groups_list[0].vpc_id #=> String
# resp.option_groups_list[0].option_group_arn #=> String
# resp.marker #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOptionGroups AWS API Documentation
#
# @overload describe_option_groups(params = {})
# @param [Hash] params ({})
def describe_option_groups(params = {}, options = {})
req = build_request(:describe_option_groups, params)
req.send_request(options)
end
# Returns a list of orderable DB instance options for the specified
# engine.
#
# @option params [required, String] :engine
# The name of the engine to retrieve DB instance options for.
#
# @option params [String] :engine_version
# The engine version filter value. Specify this parameter to show only
# the available offerings matching the specified engine version.
#
# @option params [String] :db_instance_class
# The DB instance class filter value. Specify this parameter to show
# only the available offerings matching the specified DB instance class.
#
# @option params [String] :license_model
# The license model filter value. Specify this parameter to show only
# the available offerings matching the specified license model.
#
# @option params [String] :availability_zone_group
# The Availability Zone group associated with a Local Zone. Specify this
# parameter to retrieve available offerings for the Local Zones in the
# group.
#
# Omit this parameter to show the available offerings in the specified
# AWS Region.
#
# @option params [Boolean] :vpc
# A value that indicates whether to show only VPC or non-VPC offerings.
#
# @option params [Array] :filters
# This parameter isn't currently supported.
#
# @option params [Integer] :max_records
# 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.
#
# @option params [String] :marker
# An optional pagination token provided by a previous
# DescribeOrderableDBInstanceOptions request. If this parameter is
# specified, the response includes only records beyond the marker, up to
# the value specified by `MaxRecords` .
#
# @return [Types::OrderableDBInstanceOptionsMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::OrderableDBInstanceOptionsMessage#orderable_db_instance_options #orderable_db_instance_options} => Array<Types::OrderableDBInstanceOption>
# * {Types::OrderableDBInstanceOptionsMessage#marker #marker} => String
#
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
#
#
# @example Example: To list information about orderable DB instance options
#
# # This example lists information for all orderable DB instance options for the specified DB engine, engine version, DB
# # instance class, license model, and VPC settings.
#
# resp = client.describe_orderable_db_instance_options({
# db_instance_class: "db.t2.micro",
# engine: "mysql",
# engine_version: "5.6.27",
# license_model: "general-public-license",
# vpc: true,
# })
#
# resp.to_h outputs the following:
# {
# }
#
# @example Request syntax with placeholder values
#
# resp = client.describe_orderable_db_instance_options({
# engine: "String", # required
# engine_version: "String",
# db_instance_class: "String",
# license_model: "String",
# availability_zone_group: "String",
# vpc: false,
# filters: [
# {
# name: "String", # required
# values: ["String"], # required
# },
# ],
# max_records: 1,
# marker: "String",
# })
#
# @example Response structure
#
# resp.orderable_db_instance_options #=> Array
# resp.orderable_db_instance_options[0].engine #=> String
# resp.orderable_db_instance_options[0].engine_version #=> String
# resp.orderable_db_instance_options[0].db_instance_class #=> String
# resp.orderable_db_instance_options[0].license_model #=> String
# resp.orderable_db_instance_options[0].availability_zone_group #=> String
# resp.orderable_db_instance_options[0].availability_zones #=> Array
# resp.orderable_db_instance_options[0].availability_zones[0].name #=> String
# resp.orderable_db_instance_options[0].multi_az_capable #=> Boolean
# resp.orderable_db_instance_options[0].read_replica_capable #=> Boolean
# resp.orderable_db_instance_options[0].vpc #=> Boolean
# resp.orderable_db_instance_options[0].supports_storage_encryption #=> Boolean
# resp.orderable_db_instance_options[0].storage_type #=> String
# resp.orderable_db_instance_options[0].supports_iops #=> Boolean
# resp.orderable_db_instance_options[0].supports_enhanced_monitoring #=> Boolean
# resp.orderable_db_instance_options[0].supports_iam_database_authentication #=> Boolean
# resp.orderable_db_instance_options[0].supports_performance_insights #=> Boolean
# resp.orderable_db_instance_options[0].min_storage_size #=> Integer
# resp.orderable_db_instance_options[0].max_storage_size #=> Integer
# resp.orderable_db_instance_options[0].min_iops_per_db_instance #=> Integer
# resp.orderable_db_instance_options[0].max_iops_per_db_instance #=> Integer
# resp.orderable_db_instance_options[0].min_iops_per_gib #=> Float
# resp.orderable_db_instance_options[0].max_iops_per_gib #=> Float
# resp.orderable_db_instance_options[0].available_processor_features #=> Array
# resp.orderable_db_instance_options[0].available_processor_features[0].name #=> String
# resp.orderable_db_instance_options[0].available_processor_features[0].default_value #=> String
# resp.orderable_db_instance_options[0].available_processor_features[0].allowed_values #=> String
# resp.orderable_db_instance_options[0].supported_engine_modes #=> Array
# resp.orderable_db_instance_options[0].supported_engine_modes[0] #=> String
# resp.orderable_db_instance_options[0].supports_storage_autoscaling #=> Boolean
# resp.orderable_db_instance_options[0].supports_kerberos_authentication #=> Boolean
# resp.marker #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOrderableDBInstanceOptions AWS API Documentation
#
# @overload describe_orderable_db_instance_options(params = {})
# @param [Hash] params ({})
def describe_orderable_db_instance_options(params = {}, options = {})
req = build_request(:describe_orderable_db_instance_options, params)
req.send_request(options)
end
# Returns a list of resources (for example, DB instances) that have at
# least one pending maintenance action.
#
# @option params [String] :resource_identifier
# The ARN of a resource to return pending maintenance actions for.
#
# @option params [Array] :filters
# A filter that specifies one or more resources to return pending
# maintenance actions for.
#
# Supported filters:
#
# * `db-cluster-id` - Accepts DB cluster identifiers and DB cluster
# Amazon Resource Names (ARNs). The results list will only include
# pending maintenance actions for the DB clusters identified by these
# ARNs.
#
# * `db-instance-id` - Accepts DB instance identifiers and DB instance
# ARNs. The results list will only include pending maintenance actions
# for the DB instances identified by these ARNs.
#
# @option params [String] :marker
# An optional pagination token provided by a previous
# `DescribePendingMaintenanceActions` request. If this parameter is
# specified, the response includes only records beyond the marker, up to
# a number of records specified by `MaxRecords`.
#
# @option params [Integer] :max_records
# 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.
#
# @return [Types::PendingMaintenanceActionsMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::PendingMaintenanceActionsMessage#pending_maintenance_actions #pending_maintenance_actions} => Array<Types::ResourcePendingMaintenanceActions>
# * {Types::PendingMaintenanceActionsMessage#marker #marker} => String
#
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
#
#
# @example Example: To list information about pending maintenance actions
#
# # This example lists information for all pending maintenance actions for the specified DB instance.
#
# resp = client.describe_pending_maintenance_actions({
# resource_identifier: "arn:aws:rds:us-east-1:992648334831:db:mymysqlinstance",
# })
#
# resp.to_h outputs the following:
# {
# }
#
# @example Request syntax with placeholder values
#
# resp = client.describe_pending_maintenance_actions({
# resource_identifier: "String",
# filters: [
# {
# name: "String", # required
# values: ["String"], # required
# },
# ],
# marker: "String",
# max_records: 1,
# })
#
# @example Response structure
#
# resp.pending_maintenance_actions #=> Array
# resp.pending_maintenance_actions[0].resource_identifier #=> String
# resp.pending_maintenance_actions[0].pending_maintenance_action_details #=> Array
# resp.pending_maintenance_actions[0].pending_maintenance_action_details[0].action #=> String
# resp.pending_maintenance_actions[0].pending_maintenance_action_details[0].auto_applied_after_date #=> Time
# resp.pending_maintenance_actions[0].pending_maintenance_action_details[0].forced_apply_date #=> Time
# resp.pending_maintenance_actions[0].pending_maintenance_action_details[0].opt_in_status #=> String
# resp.pending_maintenance_actions[0].pending_maintenance_action_details[0].current_apply_date #=> Time
# resp.pending_maintenance_actions[0].pending_maintenance_action_details[0].description #=> String
# resp.marker #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribePendingMaintenanceActions AWS API Documentation
#
# @overload describe_pending_maintenance_actions(params = {})
# @param [Hash] params ({})
def describe_pending_maintenance_actions(params = {}, options = {})
req = build_request(:describe_pending_maintenance_actions, params)
req.send_request(options)
end
# Returns information about reserved DB instances for this account, or
# about a specified reserved DB instance.
#
# @option params [String] :reserved_db_instance_id
# The reserved DB instance identifier filter value. Specify this
# parameter to show only the reservation that matches the specified
# reservation ID.
#
# @option params [String] :reserved_db_instances_offering_id
# The offering identifier filter value. Specify this parameter to show
# only purchased reservations matching the specified offering
# identifier.
#
# @option params [String] :db_instance_class
# The DB instance class filter value. Specify this parameter to show
# only those reservations matching the specified DB instances class.
#
# @option params [String] :duration
# The duration filter value, specified in years or seconds. Specify this
# parameter to show only reservations for this duration.
#
# Valid Values: `1 | 3 | 31536000 | 94608000`
#
# @option params [String] :product_description
# The product description filter value. Specify this parameter to show
# only those reservations matching the specified product description.
#
# @option params [String] :offering_type
# The offering type filter value. Specify this parameter to show only
# the available offerings matching the specified offering type.
#
# Valid Values: `"Partial Upfront" | "All Upfront" | "No Upfront" `
#
# @option params [Boolean] :multi_az
# A value that indicates whether to show only those reservations that
# support Multi-AZ.
#
# @option params [String] :lease_id
# The lease identifier filter value. Specify this parameter to show only
# the reservation that matches the specified lease ID.
#
# AWS Support might request the lease ID for an issue related to a
# reserved DB instance.
#
#
#
# @option params [Array] :filters
# This parameter isn't currently supported.
#
# @option params [Integer] :max_records
# 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.
#
# @option params [String] :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`.
#
# @return [Types::ReservedDBInstanceMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::ReservedDBInstanceMessage#marker #marker} => String
# * {Types::ReservedDBInstanceMessage#reserved_db_instances #reserved_db_instances} => Array<Types::ReservedDBInstance>
#
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
#
#
# @example Example: To list information about reserved DB instances
#
# # This example lists information for all reserved DB instances for the specified DB instance class, duration, product,
# # offering type, and availability zone settings.
#
# resp = client.describe_reserved_db_instances({
# db_instance_class: "db.t2.micro",
# duration: "1y",
# multi_az: false,
# offering_type: "No Upfront",
# product_description: "mysql",
# })
#
# resp.to_h outputs the following:
# {
# }
#
# @example Request syntax with placeholder values
#
# resp = client.describe_reserved_db_instances({
# reserved_db_instance_id: "String",
# reserved_db_instances_offering_id: "String",
# db_instance_class: "String",
# duration: "String",
# product_description: "String",
# offering_type: "String",
# multi_az: false,
# lease_id: "String",
# filters: [
# {
# name: "String", # required
# values: ["String"], # required
# },
# ],
# max_records: 1,
# marker: "String",
# })
#
# @example Response structure
#
# resp.marker #=> String
# resp.reserved_db_instances #=> Array
# resp.reserved_db_instances[0].reserved_db_instance_id #=> String
# resp.reserved_db_instances[0].reserved_db_instances_offering_id #=> String
# resp.reserved_db_instances[0].db_instance_class #=> String
# resp.reserved_db_instances[0].start_time #=> Time
# resp.reserved_db_instances[0].duration #=> Integer
# resp.reserved_db_instances[0].fixed_price #=> Float
# resp.reserved_db_instances[0].usage_price #=> Float
# resp.reserved_db_instances[0].currency_code #=> String
# resp.reserved_db_instances[0].db_instance_count #=> Integer
# resp.reserved_db_instances[0].product_description #=> String
# resp.reserved_db_instances[0].offering_type #=> String
# resp.reserved_db_instances[0].multi_az #=> Boolean
# resp.reserved_db_instances[0].state #=> String
# resp.reserved_db_instances[0].recurring_charges #=> Array
# resp.reserved_db_instances[0].recurring_charges[0].recurring_charge_amount #=> Float
# resp.reserved_db_instances[0].recurring_charges[0].recurring_charge_frequency #=> String
# resp.reserved_db_instances[0].reserved_db_instance_arn #=> String
# resp.reserved_db_instances[0].lease_id #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeReservedDBInstances AWS API Documentation
#
# @overload describe_reserved_db_instances(params = {})
# @param [Hash] params ({})
def describe_reserved_db_instances(params = {}, options = {})
req = build_request(:describe_reserved_db_instances, params)
req.send_request(options)
end
# Lists available reserved DB instance offerings.
#
# @option params [String] :reserved_db_instances_offering_id
# The offering identifier filter value. Specify this parameter to show
# only the available offering that matches the specified reservation
# identifier.
#
# Example: `438012d3-4052-4cc7-b2e3-8d3372e0e706`
#
# @option params [String] :db_instance_class
# The DB instance class filter value. Specify this parameter to show
# only the available offerings matching the specified DB instance class.
#
# @option params [String] :duration
# Duration filter value, specified in years or seconds. Specify this
# parameter to show only reservations for this duration.
#
# Valid Values: `1 | 3 | 31536000 | 94608000`
#
# @option params [String] :product_description
# Product description filter value. Specify this parameter to show only
# the available offerings that contain the specified product
# description.
#
# The results show offerings that partially match the filter value.
#
#
#
# @option params [String] :offering_type
# The offering type filter value. Specify this parameter to show only
# the available offerings matching the specified offering type.
#
# Valid Values: `"Partial Upfront" | "All Upfront" | "No Upfront" `
#
# @option params [Boolean] :multi_az
# A value that indicates whether to show only those reservations that
# support Multi-AZ.
#
# @option params [Array] :filters
# This parameter isn't currently supported.
#
# @option params [Integer] :max_records
# 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.
#
# @option params [String] :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`.
#
# @return [Types::ReservedDBInstancesOfferingMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::ReservedDBInstancesOfferingMessage#marker #marker} => String
# * {Types::ReservedDBInstancesOfferingMessage#reserved_db_instances_offerings #reserved_db_instances_offerings} => Array<Types::ReservedDBInstancesOffering>
#
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
#
#
# @example Example: To list information about reserved DB instance offerings
#
# # This example lists information for all reserved DB instance offerings for the specified DB instance class, duration,
# # product, offering type, and availability zone settings.
#
# resp = client.describe_reserved_db_instances_offerings({
# db_instance_class: "db.t2.micro",
# duration: "1y",
# multi_az: false,
# offering_type: "No Upfront",
# product_description: "mysql",
# })
#
# resp.to_h outputs the following:
# {
# }
#
# @example Request syntax with placeholder values
#
# resp = client.describe_reserved_db_instances_offerings({
# reserved_db_instances_offering_id: "String",
# db_instance_class: "String",
# duration: "String",
# product_description: "String",
# offering_type: "String",
# multi_az: false,
# filters: [
# {
# name: "String", # required
# values: ["String"], # required
# },
# ],
# max_records: 1,
# marker: "String",
# })
#
# @example Response structure
#
# resp.marker #=> String
# resp.reserved_db_instances_offerings #=> Array
# resp.reserved_db_instances_offerings[0].reserved_db_instances_offering_id #=> String
# resp.reserved_db_instances_offerings[0].db_instance_class #=> String
# resp.reserved_db_instances_offerings[0].duration #=> Integer
# resp.reserved_db_instances_offerings[0].fixed_price #=> Float
# resp.reserved_db_instances_offerings[0].usage_price #=> Float
# resp.reserved_db_instances_offerings[0].currency_code #=> String
# resp.reserved_db_instances_offerings[0].product_description #=> String
# resp.reserved_db_instances_offerings[0].offering_type #=> String
# resp.reserved_db_instances_offerings[0].multi_az #=> Boolean
# resp.reserved_db_instances_offerings[0].recurring_charges #=> Array
# resp.reserved_db_instances_offerings[0].recurring_charges[0].recurring_charge_amount #=> Float
# resp.reserved_db_instances_offerings[0].recurring_charges[0].recurring_charge_frequency #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeReservedDBInstancesOfferings AWS API Documentation
#
# @overload describe_reserved_db_instances_offerings(params = {})
# @param [Hash] params ({})
def describe_reserved_db_instances_offerings(params = {}, options = {})
req = build_request(:describe_reserved_db_instances_offerings, params)
req.send_request(options)
end
# Returns a list of the source AWS Regions where the current AWS Region
# can create a read replica or copy a DB snapshot from. This API action
# supports pagination.
#
# @option params [String] :region_name
# The source AWS Region name. For example, `us-east-1`.
#
# Constraints:
#
# * Must specify a valid AWS Region name.
#
# ^
#
# @option params [Integer] :max_records
# 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.
#
# @option params [String] :marker
# An optional pagination token provided by a previous
# `DescribeSourceRegions` request. If this parameter is specified, the
# response includes only records beyond the marker, up to the value
# specified by `MaxRecords`.
#
# @option params [Array] :filters
# This parameter isn't currently supported.
#
# @return [Types::SourceRegionMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::SourceRegionMessage#marker #marker} => String
# * {Types::SourceRegionMessage#source_regions #source_regions} => Array<Types::SourceRegion>
#
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
#
#
# @example Example: To describe source regions
#
# # To list the AWS regions where a Read Replica can be created.
#
# resp = client.describe_source_regions({
# })
#
# resp.to_h outputs the following:
# {
# source_regions: [
# {
# endpoint: "https://rds.ap-northeast-1.amazonaws.com",
# region_name: "ap-northeast-1",
# status: "available",
# },
# {
# endpoint: "https://rds.ap-northeast-2.amazonaws.com",
# region_name: "ap-northeast-2",
# status: "available",
# },
# {
# endpoint: "https://rds.ap-south-1.amazonaws.com",
# region_name: "ap-south-1",
# status: "available",
# },
# {
# endpoint: "https://rds.ap-southeast-1.amazonaws.com",
# region_name: "ap-southeast-1",
# status: "available",
# },
# {
# endpoint: "https://rds.ap-southeast-2.amazonaws.com",
# region_name: "ap-southeast-2",
# status: "available",
# },
# {
# endpoint: "https://rds.eu-central-1.amazonaws.com",
# region_name: "eu-central-1",
# status: "available",
# },
# {
# endpoint: "https://rds.eu-west-1.amazonaws.com",
# region_name: "eu-west-1",
# status: "available",
# },
# {
# endpoint: "https://rds.sa-east-1.amazonaws.com",
# region_name: "sa-east-1",
# status: "available",
# },
# {
# endpoint: "https://rds.us-west-1.amazonaws.com",
# region_name: "us-west-1",
# status: "available",
# },
# {
# endpoint: "https://rds.us-west-2.amazonaws.com",
# region_name: "us-west-2",
# status: "available",
# },
# ],
# }
#
# @example Request syntax with placeholder values
#
# resp = client.describe_source_regions({
# region_name: "String",
# max_records: 1,
# marker: "String",
# filters: [
# {
# name: "String", # required
# values: ["String"], # required
# },
# ],
# })
#
# @example Response structure
#
# resp.marker #=> String
# resp.source_regions #=> Array
# resp.source_regions[0].region_name #=> String
# resp.source_regions[0].endpoint #=> String
# resp.source_regions[0].status #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeSourceRegions AWS API Documentation
#
# @overload describe_source_regions(params = {})
# @param [Hash] params ({})
def describe_source_regions(params = {}, options = {})
req = build_request(:describe_source_regions, params)
req.send_request(options)
end
# You can call `DescribeValidDBInstanceModifications` to learn what
# modifications you can make to your DB instance. You can use this
# information when you call `ModifyDBInstance`.
#
# @option params [required, String] :db_instance_identifier
# The customer identifier or the ARN of your DB instance.
#
# @return [Types::DescribeValidDBInstanceModificationsResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DescribeValidDBInstanceModificationsResult#valid_db_instance_modifications_message #valid_db_instance_modifications_message} => Types::ValidDBInstanceModificationsMessage
#
# @example Request syntax with placeholder values
#
# resp = client.describe_valid_db_instance_modifications({
# db_instance_identifier: "String", # required
# })
#
# @example Response structure
#
# resp.valid_db_instance_modifications_message.storage #=> Array
# resp.valid_db_instance_modifications_message.storage[0].storage_type #=> String
# resp.valid_db_instance_modifications_message.storage[0].storage_size #=> Array
# resp.valid_db_instance_modifications_message.storage[0].storage_size[0].from #=> Integer
# resp.valid_db_instance_modifications_message.storage[0].storage_size[0].to #=> Integer
# resp.valid_db_instance_modifications_message.storage[0].storage_size[0].step #=> Integer
# resp.valid_db_instance_modifications_message.storage[0].provisioned_iops #=> Array
# resp.valid_db_instance_modifications_message.storage[0].provisioned_iops[0].from #=> Integer
# resp.valid_db_instance_modifications_message.storage[0].provisioned_iops[0].to #=> Integer
# resp.valid_db_instance_modifications_message.storage[0].provisioned_iops[0].step #=> Integer
# resp.valid_db_instance_modifications_message.storage[0].iops_to_storage_ratio #=> Array
# resp.valid_db_instance_modifications_message.storage[0].iops_to_storage_ratio[0].from #=> Float
# resp.valid_db_instance_modifications_message.storage[0].iops_to_storage_ratio[0].to #=> Float
# resp.valid_db_instance_modifications_message.storage[0].supports_storage_autoscaling #=> Boolean
# resp.valid_db_instance_modifications_message.valid_processor_features #=> Array
# resp.valid_db_instance_modifications_message.valid_processor_features[0].name #=> String
# resp.valid_db_instance_modifications_message.valid_processor_features[0].default_value #=> String
# resp.valid_db_instance_modifications_message.valid_processor_features[0].allowed_values #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeValidDBInstanceModifications AWS API Documentation
#
# @overload describe_valid_db_instance_modifications(params = {})
# @param [Hash] params ({})
def describe_valid_db_instance_modifications(params = {}, options = {})
req = build_request(:describe_valid_db_instance_modifications, params)
req.send_request(options)
end
# Downloads all or a portion of the specified log file, up to 1 MB in
# size.
#
# @option params [required, String] :db_instance_identifier
# 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.
#
# ^
#
# @option params [required, String] :log_file_name
# The name of the log file to be downloaded.
#
# @option params [String] :marker
# The pagination token provided in the previous request or "0". If the
# Marker parameter is specified the response includes only records
# beyond the marker until the end of the file or up to NumberOfLines.
#
# @option params [Integer] :number_of_lines
# The number of lines to download. If the number of lines specified
# results in a file over 1 MB in size, the file is truncated at 1 MB in
# size.
#
# If the NumberOfLines parameter is specified, then the block of lines
# returned can be from the beginning or the end of the log file,
# depending on the value of the Marker parameter.
#
# * If neither Marker or NumberOfLines are specified, the entire log
# file is returned up to a maximum of 10000 lines, starting with the
# most recent log entries first.
#
# * If NumberOfLines is specified and Marker isn't specified, then the
# most recent lines from the end of the log file are returned.
#
# * If Marker is specified as "0", then the specified number of lines
# from the beginning of the log file are returned.
#
# * You can download the log file in blocks of lines by specifying the
# size of the block using the NumberOfLines parameter, and by
# specifying a value of "0" for the Marker parameter in your first
# request. Include the Marker value returned in the response as the
# Marker value for the next request, continuing until the
# AdditionalDataPending response element returns false.
#
# @return [Types::DownloadDBLogFilePortionDetails] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DownloadDBLogFilePortionDetails#log_file_data #log_file_data} => String
# * {Types::DownloadDBLogFilePortionDetails#marker #marker} => String
# * {Types::DownloadDBLogFilePortionDetails#additional_data_pending #additional_data_pending} => Boolean
#
# The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
#
#
# @example Example: To list information about DB log files
#
# # This example lists information for the specified log file for the specified DB instance.
#
# resp = client.download_db_log_file_portion({
# db_instance_identifier: "mymysqlinstance",
# log_file_name: "mysqlUpgrade",
# })
#
# resp.to_h outputs the following:
# {
# }
#
# @example Request syntax with placeholder values
#
# resp = client.download_db_log_file_portion({
# db_instance_identifier: "String", # required
# log_file_name: "String", # required
# marker: "String",
# number_of_lines: 1,
# })
#
# @example Response structure
#
# resp.log_file_data #=> String
# resp.marker #=> String
# resp.additional_data_pending #=> Boolean
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DownloadDBLogFilePortion AWS API Documentation
#
# @overload download_db_log_file_portion(params = {})
# @param [Hash] params ({})
def download_db_log_file_portion(params = {}, options = {})
req = build_request(:download_db_log_file_portion, params)
req.send_request(options)
end
# Forces a failover for a DB cluster.
#
# A failover for a DB cluster promotes one of the Aurora Replicas
# (read-only instances) in the DB cluster to be the primary instance
# (the cluster writer).
#
# Amazon Aurora will automatically fail over to an Aurora Replica, if
# one exists, when the primary instance fails. You can force a failover
# when you want to simulate a failure of a primary instance for testing.
# Because each instance in a DB cluster has its own endpoint address,
# you will need to clean up and re-establish any existing connections
# that use those endpoint addresses when the failover is complete.
#
# For more information on Amazon Aurora, see [ What Is Amazon
# Aurora?][1] in the *Amazon Aurora User Guide.*
#
# This action only applies to Aurora DB clusters.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html
#
# @option params [required, String] :db_cluster_identifier
# A DB cluster identifier to force a failover for. This parameter isn't
# case-sensitive.
#
# Constraints:
#
# * Must match the identifier of an existing DBCluster.
#
# ^
#
# @option params [String] :target_db_instance_identifier
# The name of the instance to promote to the primary instance.
#
# You must specify the instance identifier for an Aurora Replica in the
# DB cluster. For example, `mydbcluster-replica1`.
#
# @return [Types::FailoverDBClusterResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::FailoverDBClusterResult#db_cluster #db_cluster} => Types::DBCluster
#
#
# @example Example: To perform a failover for a DB cluster
#
# # This example performs a failover for the specified DB cluster to the specified DB instance.
#
# resp = client.failover_db_cluster({
# db_cluster_identifier: "myaurorainstance-cluster",
# target_db_instance_identifier: "myaurorareplica",
# })
#
# resp.to_h outputs the following:
# {
# db_cluster: {
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.failover_db_cluster({
# db_cluster_identifier: "String", # required
# target_db_instance_identifier: "String",
# })
#
# @example Response structure
#
# resp.db_cluster.allocated_storage #=> Integer
# resp.db_cluster.availability_zones #=> Array
# resp.db_cluster.availability_zones[0] #=> String
# resp.db_cluster.backup_retention_period #=> Integer
# resp.db_cluster.character_set_name #=> String
# resp.db_cluster.database_name #=> String
# resp.db_cluster.db_cluster_identifier #=> String
# resp.db_cluster.db_cluster_parameter_group #=> String
# resp.db_cluster.db_subnet_group #=> String
# resp.db_cluster.status #=> String
# resp.db_cluster.percent_progress #=> String
# resp.db_cluster.earliest_restorable_time #=> Time
# resp.db_cluster.endpoint #=> String
# resp.db_cluster.reader_endpoint #=> String
# resp.db_cluster.custom_endpoints #=> Array
# resp.db_cluster.custom_endpoints[0] #=> String
# resp.db_cluster.multi_az #=> Boolean
# resp.db_cluster.engine #=> String
# resp.db_cluster.engine_version #=> String
# resp.db_cluster.latest_restorable_time #=> Time
# resp.db_cluster.port #=> Integer
# resp.db_cluster.master_username #=> String
# resp.db_cluster.db_cluster_option_group_memberships #=> Array
# resp.db_cluster.db_cluster_option_group_memberships[0].db_cluster_option_group_name #=> String
# resp.db_cluster.db_cluster_option_group_memberships[0].status #=> String
# resp.db_cluster.preferred_backup_window #=> String
# resp.db_cluster.preferred_maintenance_window #=> String
# resp.db_cluster.replication_source_identifier #=> String
# resp.db_cluster.read_replica_identifiers #=> Array
# resp.db_cluster.read_replica_identifiers[0] #=> String
# resp.db_cluster.db_cluster_members #=> Array
# resp.db_cluster.db_cluster_members[0].db_instance_identifier #=> String
# resp.db_cluster.db_cluster_members[0].is_cluster_writer #=> Boolean
# resp.db_cluster.db_cluster_members[0].db_cluster_parameter_group_status #=> String
# resp.db_cluster.db_cluster_members[0].promotion_tier #=> Integer
# resp.db_cluster.vpc_security_groups #=> Array
# resp.db_cluster.vpc_security_groups[0].vpc_security_group_id #=> String
# resp.db_cluster.vpc_security_groups[0].status #=> String
# resp.db_cluster.hosted_zone_id #=> String
# resp.db_cluster.storage_encrypted #=> Boolean
# resp.db_cluster.kms_key_id #=> String
# resp.db_cluster.db_cluster_resource_id #=> String
# resp.db_cluster.db_cluster_arn #=> String
# resp.db_cluster.associated_roles #=> Array
# resp.db_cluster.associated_roles[0].role_arn #=> String
# resp.db_cluster.associated_roles[0].status #=> String
# resp.db_cluster.associated_roles[0].feature_name #=> String
# resp.db_cluster.iam_database_authentication_enabled #=> Boolean
# resp.db_cluster.clone_group_id #=> String
# resp.db_cluster.cluster_create_time #=> Time
# resp.db_cluster.earliest_backtrack_time #=> Time
# resp.db_cluster.backtrack_window #=> Integer
# resp.db_cluster.backtrack_consumed_change_records #=> Integer
# resp.db_cluster.enabled_cloudwatch_logs_exports #=> Array
# resp.db_cluster.enabled_cloudwatch_logs_exports[0] #=> String
# resp.db_cluster.capacity #=> Integer
# resp.db_cluster.engine_mode #=> String
# resp.db_cluster.scaling_configuration_info.min_capacity #=> Integer
# resp.db_cluster.scaling_configuration_info.max_capacity #=> Integer
# resp.db_cluster.scaling_configuration_info.auto_pause #=> Boolean
# resp.db_cluster.scaling_configuration_info.seconds_until_auto_pause #=> Integer
# resp.db_cluster.scaling_configuration_info.timeout_action #=> String
# resp.db_cluster.deletion_protection #=> Boolean
# resp.db_cluster.http_endpoint_enabled #=> Boolean
# resp.db_cluster.activity_stream_mode #=> String, one of "sync", "async"
# resp.db_cluster.activity_stream_status #=> String, one of "stopped", "starting", "started", "stopping"
# resp.db_cluster.activity_stream_kms_key_id #=> String
# resp.db_cluster.activity_stream_kinesis_stream_name #=> String
# resp.db_cluster.copy_tags_to_snapshot #=> Boolean
# resp.db_cluster.cross_account_clone #=> Boolean
# resp.db_cluster.domain_memberships #=> Array
# resp.db_cluster.domain_memberships[0].domain #=> String
# resp.db_cluster.domain_memberships[0].status #=> String
# resp.db_cluster.domain_memberships[0].fqdn #=> String
# resp.db_cluster.domain_memberships[0].iam_role_name #=> String
# resp.db_cluster.global_write_forwarding_status #=> String, one of "enabled", "disabled", "enabling", "disabling", "unknown"
# resp.db_cluster.global_write_forwarding_requested #=> Boolean
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/FailoverDBCluster AWS API Documentation
#
# @overload failover_db_cluster(params = {})
# @param [Hash] params ({})
def failover_db_cluster(params = {}, options = {})
req = build_request(:failover_db_cluster, params)
req.send_request(options)
end
# Imports the installation media for a DB engine that requires an
# on-premises customer provided license, such as SQL Server.
#
# @option params [required, String] :custom_availability_zone_id
# The identifier of the custom Availability Zone (AZ) to import the
# installation media to.
#
# @option params [required, String] :engine
# The name of the database engine to be used for this instance.
#
# The list only includes supported DB engines that require an
# on-premises customer provided license.
#
# Valid Values:
#
# * `sqlserver-ee`
#
# * `sqlserver-se`
#
# * `sqlserver-ex`
#
# * `sqlserver-web`
#
# @option params [required, String] :engine_version
# The version number of the database engine to use.
#
# For a list of valid engine versions, call DescribeDBEngineVersions.
#
# The following are the database engines and links to information about
# the major and minor versions. The list only includes DB engines that
# require an on-premises customer provided license.
#
# **Microsoft SQL Server**
#
# See [Version and Feature Support on Amazon RDS][1] in the *Amazon RDS
# User Guide.*
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.FeatureSupport
#
# @option params [required, String] :engine_installation_media_path
# The path to the installation medium for the specified DB engine.
#
# Example:
# `SQLServerISO/en_sql_server_2016_enterprise_x64_dvd_8701793.iso`
#
# @option params [required, String] :os_installation_media_path
# The path to the installation medium for the operating system
# associated with the specified DB engine.
#
# Example: `WindowsISO/en_windows_server_2016_x64_dvd_9327751.iso`
#
# @return [Types::InstallationMedia] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::InstallationMedia#installation_media_id #installation_media_id} => String
# * {Types::InstallationMedia#custom_availability_zone_id #custom_availability_zone_id} => String
# * {Types::InstallationMedia#engine #engine} => String
# * {Types::InstallationMedia#engine_version #engine_version} => String
# * {Types::InstallationMedia#engine_installation_media_path #engine_installation_media_path} => String
# * {Types::InstallationMedia#os_installation_media_path #os_installation_media_path} => String
# * {Types::InstallationMedia#status #status} => String
# * {Types::InstallationMedia#failure_cause #failure_cause} => Types::InstallationMediaFailureCause
#
# @example Request syntax with placeholder values
#
# resp = client.import_installation_media({
# custom_availability_zone_id: "String", # required
# engine: "String", # required
# engine_version: "String", # required
# engine_installation_media_path: "String", # required
# os_installation_media_path: "String", # required
# })
#
# @example Response structure
#
# resp.installation_media_id #=> String
# resp.custom_availability_zone_id #=> String
# resp.engine #=> String
# resp.engine_version #=> String
# resp.engine_installation_media_path #=> String
# resp.os_installation_media_path #=> String
# resp.status #=> String
# resp.failure_cause.message #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ImportInstallationMedia AWS API Documentation
#
# @overload import_installation_media(params = {})
# @param [Hash] params ({})
def import_installation_media(params = {}, options = {})
req = build_request(:import_installation_media, params)
req.send_request(options)
end
# Lists all tags on an Amazon RDS resource.
#
# For an overview on tagging an Amazon RDS resource, see [Tagging Amazon
# RDS Resources][1] in the *Amazon RDS User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Tagging.html
#
# @option params [required, String] :resource_name
# The Amazon RDS resource with tags to be listed. This value is an
# Amazon Resource Name (ARN). For information about creating an ARN, see
# [ Constructing an ARN for Amazon RDS][1] in the *Amazon RDS User
# Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing
#
# @option params [Array] :filters
# This parameter isn't currently supported.
#
# @return [Types::TagListMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::TagListMessage#tag_list #tag_list} => Array<Types::Tag>
#
#
# @example Example: To list information about tags associated with a resource
#
# # This example lists information about all tags associated with the specified DB option group.
#
# resp = client.list_tags_for_resource({
# resource_name: "arn:aws:rds:us-east-1:992648334831:og:mymysqloptiongroup",
# })
#
# resp.to_h outputs the following:
# {
# }
#
# @example Request syntax with placeholder values
#
# resp = client.list_tags_for_resource({
# resource_name: "String", # required
# filters: [
# {
# name: "String", # required
# values: ["String"], # required
# },
# ],
# })
#
# @example Response structure
#
# resp.tag_list #=> Array
# resp.tag_list[0].key #=> String
# resp.tag_list[0].value #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ListTagsForResource AWS API Documentation
#
# @overload list_tags_for_resource(params = {})
# @param [Hash] params ({})
def list_tags_for_resource(params = {}, options = {})
req = build_request(:list_tags_for_resource, params)
req.send_request(options)
end
# Override the system-default Secure Sockets Layer/Transport Layer
# Security (SSL/TLS) certificate for Amazon RDS for new DB instances
# temporarily, or remove the override.
#
# By using this operation, you can specify an RDS-approved SSL/TLS
# certificate for new DB instances that is different from the default
# certificate provided by RDS. You can also use this operation to remove
# the override, so that new DB instances use the default certificate
# provided by RDS.
#
# You might need to override the default certificate in the following
# situations:
#
# * You already migrated your applications to support the latest
# certificate authority (CA) certificate, but the new CA certificate
# is not yet the RDS default CA certificate for the specified AWS
# Region.
#
# * RDS has already moved to a new default CA certificate for the
# specified AWS Region, but you are still in the process of supporting
# the new CA certificate. In this case, you temporarily need
# additional time to finish your application changes.
#
# For more information about rotating your SSL/TLS certificate for RDS
# DB engines, see [ Rotating Your SSL/TLS Certificate][1] in the *Amazon
# RDS User Guide*.
#
# For more information about rotating your SSL/TLS certificate for
# Aurora DB engines, see [ Rotating Your SSL/TLS Certificate][2] in the
# *Amazon Aurora User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html
# [2]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL-certificate-rotation.html
#
# @option params [String] :certificate_identifier
# The new default certificate identifier to override the current one
# with.
#
# To determine the valid values, use the `describe-certificates` AWS CLI
# command or the `DescribeCertificates` API operation.
#
# @option params [Boolean] :remove_customer_override
# A value that indicates whether to remove the override for the default
# certificate. If the override is removed, the default certificate is
# the system default.
#
# @return [Types::ModifyCertificatesResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::ModifyCertificatesResult#certificate #certificate} => Types::Certificate
#
# @example Request syntax with placeholder values
#
# resp = client.modify_certificates({
# certificate_identifier: "String",
# remove_customer_override: false,
# })
#
# @example Response structure
#
# resp.certificate.certificate_identifier #=> String
# resp.certificate.certificate_type #=> String
# resp.certificate.thumbprint #=> String
# resp.certificate.valid_from #=> Time
# resp.certificate.valid_till #=> Time
# resp.certificate.certificate_arn #=> String
# resp.certificate.customer_override #=> Boolean
# resp.certificate.customer_override_valid_till #=> Time
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyCertificates AWS API Documentation
#
# @overload modify_certificates(params = {})
# @param [Hash] params ({})
def modify_certificates(params = {}, options = {})
req = build_request(:modify_certificates, params)
req.send_request(options)
end
# Set the capacity of an Aurora Serverless DB cluster to a specific
# value.
#
# Aurora Serverless scales seamlessly based on the workload on the DB
# cluster. In some cases, the capacity might not scale fast enough to
# meet a sudden change in workload, such as a large number of new
# transactions. Call `ModifyCurrentDBClusterCapacity` to set the
# capacity explicitly.
#
# After this call sets the DB cluster capacity, Aurora Serverless can
# automatically scale the DB cluster based on the cooldown period for
# scaling up and the cooldown period for scaling down.
#
# For more information about Aurora Serverless, see [Using Amazon Aurora
# Serverless][1] in the *Amazon Aurora User Guide*.
#
# If you call `ModifyCurrentDBClusterCapacity` with the default
# `TimeoutAction`, connections that prevent Aurora Serverless from
# finding a scaling point might be dropped. For more information about
# scaling points, see [ Autoscaling for Aurora Serverless][2] in the
# *Amazon Aurora User Guide*.
#
# This action only applies to Aurora DB clusters.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html
# [2]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.how-it-works.html#aurora-serverless.how-it-works.auto-scaling
#
# @option params [required, String] :db_cluster_identifier
# The DB cluster identifier for the cluster being modified. This
# parameter isn't case-sensitive.
#
# Constraints:
#
# * Must match the identifier of an existing DB cluster.
#
# ^
#
# @option params [Integer] :capacity
# The DB cluster capacity.
#
# When you change the capacity of a paused Aurora Serverless DB cluster,
# it automatically resumes.
#
# Constraints:
#
# * For Aurora MySQL, valid capacity values are `1`, `2`, `4`, `8`,
# `16`, `32`, `64`, `128`, and `256`.
#
# * For Aurora PostgreSQL, valid capacity values are `2`, `4`, `8`,
# `16`, `32`, `64`, `192`, and `384`.
#
# @option params [Integer] :seconds_before_timeout
# The amount of time, in seconds, that Aurora Serverless tries to find a
# scaling point to perform seamless scaling before enforcing the timeout
# action. The default is 300.
#
# * Value must be from 10 through 600.
#
# ^
#
# @option params [String] :timeout_action
# The action to take when the timeout is reached, either
# `ForceApplyCapacityChange` or `RollbackCapacityChange`.
#
# `ForceApplyCapacityChange`, the default, sets the capacity to the
# specified value as soon as possible.
#
# `RollbackCapacityChange` ignores the capacity change if a scaling
# point isn't found in the timeout period.
#
# @return [Types::DBClusterCapacityInfo] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DBClusterCapacityInfo#db_cluster_identifier #db_cluster_identifier} => String
# * {Types::DBClusterCapacityInfo#pending_capacity #pending_capacity} => Integer
# * {Types::DBClusterCapacityInfo#current_capacity #current_capacity} => Integer
# * {Types::DBClusterCapacityInfo#seconds_before_timeout #seconds_before_timeout} => Integer
# * {Types::DBClusterCapacityInfo#timeout_action #timeout_action} => String
#
# @example Request syntax with placeholder values
#
# resp = client.modify_current_db_cluster_capacity({
# db_cluster_identifier: "String", # required
# capacity: 1,
# seconds_before_timeout: 1,
# timeout_action: "String",
# })
#
# @example Response structure
#
# resp.db_cluster_identifier #=> String
# resp.pending_capacity #=> Integer
# resp.current_capacity #=> Integer
# resp.seconds_before_timeout #=> Integer
# resp.timeout_action #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyCurrentDBClusterCapacity AWS API Documentation
#
# @overload modify_current_db_cluster_capacity(params = {})
# @param [Hash] params ({})
def modify_current_db_cluster_capacity(params = {}, options = {})
req = build_request(:modify_current_db_cluster_capacity, params)
req.send_request(options)
end
# Modify a setting for an Amazon Aurora DB cluster. You can change one
# or more database configuration parameters by specifying these
# parameters and the new values in the request. For more information on
# Amazon Aurora, see [ What Is Amazon Aurora?][1] in the *Amazon Aurora
# User Guide.*
#
# This action only applies to Aurora DB clusters.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html
#
# @option params [required, String] :db_cluster_identifier
# The DB cluster identifier for the cluster being modified. This
# parameter isn't case-sensitive.
#
# Constraints: This identifier must match the identifier of an existing
# DB cluster.
#
# @option params [String] :new_db_cluster_identifier
# The new DB cluster identifier for the DB cluster when renaming a DB
# cluster. This value is stored as a lowercase string.
#
# Constraints:
#
# * Must contain from 1 to 63 letters, numbers, or hyphens
#
# * The first character must be a letter
#
# * Can't end with a hyphen or contain two consecutive hyphens
#
# Example: `my-cluster2`
#
# @option params [Boolean] :apply_immediately
# A value that indicates whether the modifications in this request and
# any pending modifications are asynchronously applied as soon as
# possible, regardless of the `PreferredMaintenanceWindow` setting for
# the DB cluster. If this parameter is disabled, changes to the DB
# cluster are applied during the next maintenance window.
#
# The `ApplyImmediately` parameter only affects the
# `EnableIAMDatabaseAuthentication`, `MasterUserPassword`, and
# `NewDBClusterIdentifier` values. If the `ApplyImmediately` parameter
# is disabled, then changes to the `EnableIAMDatabaseAuthentication`,
# `MasterUserPassword`, and `NewDBClusterIdentifier` values are applied
# during the next maintenance window. All other changes are applied
# immediately, regardless of the value of the `ApplyImmediately`
# parameter.
#
# By default, this parameter is disabled.
#
# @option params [Integer] :backup_retention_period
# The number of days for which automated backups are retained. You must
# specify a minimum value of 1.
#
# Default: 1
#
# Constraints:
#
# * Must be a value from 1 to 35
#
# ^
#
# @option params [String] :db_cluster_parameter_group_name
# The name of the DB cluster parameter group to use for the DB cluster.
#
# @option params [Array] :vpc_security_group_ids
# A list of VPC security groups that the DB cluster will belong to.
#
# @option params [Integer] :port
# The port number on which the DB cluster accepts connections.
#
# Constraints: Value must be `1150-65535`
#
# Default: The same port as the original DB cluster.
#
# @option params [String] :master_user_password
# The new password for the master database user. This password can
# contain any printable ASCII character except "/", """, or "@".
#
# Constraints: Must contain from 8 to 41 characters.
#
# @option params [String] :option_group_name
# A value that indicates that the DB cluster should be associated with
# the specified option group. Changing this parameter doesn't result in
# an outage except in the following case, and the change is applied
# during the next maintenance window unless the `ApplyImmediately` is
# enabled for this request. If the parameter change results in an option
# group that enables OEM, this change can cause a brief (sub-second)
# period during which new connections are rejected but existing
# connections are not interrupted.
#
# Permanent options can't be removed from an option group. The option
# group can't be removed from a DB cluster once it is associated with a
# DB cluster.
#
# @option params [String] :preferred_backup_window
# 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 AWS Region. To see the time blocks available,
# see [ Adjusting the Preferred DB Cluster Maintenance Window][1] 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.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora
#
# @option params [String] :preferred_maintenance_window
# The weekly time range during which system maintenance can occur, in
# Universal Coordinated Time (UTC).
#
# Format: `ddd:hh24:mi-ddd:hh24:mi`
#
# The default is a 30-minute window selected at random from an 8-hour
# block of time for each AWS Region, occurring on a random day of the
# week. To see the time blocks available, see [ Adjusting the Preferred
# DB Cluster Maintenance Window][1] in the *Amazon Aurora User Guide.*
#
# Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
#
# Constraints: Minimum 30-minute window.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora
#
# @option params [Boolean] :enable_iam_database_authentication
# A value that indicates whether to enable mapping of AWS Identity and
# Access Management (IAM) accounts to database accounts. By default,
# mapping is disabled.
#
# For more information, see [ IAM Database Authentication][1] in the
# *Amazon Aurora User Guide.*
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html
#
# @option params [Integer] :backtrack_window
# The target backtrack window, in seconds. To disable backtracking, set
# this value to 0.
#
# Currently, Backtrack is only supported for Aurora MySQL DB clusters.
#
#
#
# Default: 0
#
# Constraints:
#
# * If specified, this value must be set to a number from 0 to 259,200
# (72 hours).
#
# ^
#
# @option params [Types::CloudwatchLogsExportConfiguration] :cloudwatch_logs_export_configuration
# The configuration setting for the log types to be enabled for export
# to CloudWatch Logs for a specific DB cluster.
#
# @option params [String] :engine_version
# The version number of the database engine to which you want to
# upgrade. Changing this parameter results in an outage. The change is
# applied during the next maintenance window unless `ApplyImmediately`
# is enabled.
#
# To list all of the available engine versions for `aurora` (for MySQL
# 5.6-compatible Aurora), use the following command:
#
# `aws rds describe-db-engine-versions --engine aurora --query
# "DBEngineVersions[].EngineVersion"`
#
# To list all of the available engine versions for `aurora-mysql` (for
# MySQL 5.7-compatible Aurora), use the following command:
#
# `aws rds describe-db-engine-versions --engine aurora-mysql --query
# "DBEngineVersions[].EngineVersion"`
#
# 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"`
#
# @option params [Boolean] :allow_major_version_upgrade
# A value that indicates whether major version upgrades are allowed.
#
# Constraints: You must allow major version upgrades when specifying a
# value for the `EngineVersion` parameter that is a different major
# version than the DB cluster's current version.
#
# @option params [String] :db_instance_parameter_group_name
# The name of the DB parameter group to apply to all instances of the DB
# cluster.
#
# When you apply a parameter group using the
# `DBInstanceParameterGroupName` parameter, the DB cluster isn't
# rebooted automatically. Also, parameter changes aren't applied during
# the next maintenance window but instead are applied immediately.
#
#
#
# Default: The existing name setting
#
# Constraints:
#
# * The DB parameter group must be in the same DB parameter group family
# as this DB cluster.
#
# * The `DBInstanceParameterGroupName` parameter is only valid in
# combination with the `AllowMajorVersionUpgrade` parameter.
#
# @option params [String] :domain
# The Active Directory directory ID to move the DB cluster to. Specify
# `none` to remove the cluster from its current domain. The domain must
# be created prior to this operation.
#
# @option params [String] :domain_iam_role_name
# Specify the name of the IAM role to be used when making API calls to
# the Directory Service.
#
# @option params [Types::ScalingConfiguration] :scaling_configuration
# The scaling properties of the DB cluster. You can only modify scaling
# properties for DB clusters in `serverless` DB engine mode.
#
# @option params [Boolean] :deletion_protection
# A value that indicates whether the DB cluster has deletion protection
# enabled. The database can't be deleted when deletion protection is
# enabled. By default, deletion protection is disabled.
#
# @option params [Boolean] :enable_http_endpoint
# A value that indicates whether to enable the HTTP endpoint for an
# Aurora Serverless DB cluster. By default, the HTTP endpoint is
# disabled.
#
# When enabled, the HTTP endpoint provides a connectionless web service
# API for running SQL queries on the Aurora Serverless DB cluster. You
# can also query your database from inside the RDS console with the
# query editor.
#
# For more information, see [Using the Data API for Aurora
# Serverless][1] in the *Amazon Aurora User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html
#
# @option params [Boolean] :copy_tags_to_snapshot
# A value that indicates whether to copy all tags from the DB cluster to
# snapshots of the DB cluster. The default is not to copy them.
#
# @option params [Boolean] :enable_global_write_forwarding
# A value that indicates whether to enable write operations to be
# forwarded from this cluster to the primary cluster in an Aurora global
# database. The resulting changes are replicated back to this cluster.
# This parameter only applies to DB clusters that are secondary clusters
# in an Aurora global database. By default, Aurora disallows write
# operations for secondary clusters.
#
# @return [Types::ModifyDBClusterResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::ModifyDBClusterResult#db_cluster #db_cluster} => Types::DBCluster
#
#
# @example Example: To change DB cluster settings
#
# # This example changes the specified settings for the specified DB cluster.
#
# resp = client.modify_db_cluster({
# apply_immediately: true,
# db_cluster_identifier: "mydbcluster",
# master_user_password: "mynewpassword",
# new_db_cluster_identifier: "mynewdbcluster",
# preferred_backup_window: "04:00-04:30",
# preferred_maintenance_window: "Tue:05:00-Tue:05:30",
# })
#
# resp.to_h outputs the following:
# {
# db_cluster: {
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.modify_db_cluster({
# db_cluster_identifier: "String", # required
# new_db_cluster_identifier: "String",
# apply_immediately: false,
# backup_retention_period: 1,
# db_cluster_parameter_group_name: "String",
# vpc_security_group_ids: ["String"],
# port: 1,
# master_user_password: "String",
# option_group_name: "String",
# preferred_backup_window: "String",
# preferred_maintenance_window: "String",
# enable_iam_database_authentication: false,
# backtrack_window: 1,
# cloudwatch_logs_export_configuration: {
# enable_log_types: ["String"],
# disable_log_types: ["String"],
# },
# engine_version: "String",
# allow_major_version_upgrade: false,
# db_instance_parameter_group_name: "String",
# domain: "String",
# domain_iam_role_name: "String",
# scaling_configuration: {
# min_capacity: 1,
# max_capacity: 1,
# auto_pause: false,
# seconds_until_auto_pause: 1,
# timeout_action: "String",
# },
# deletion_protection: false,
# enable_http_endpoint: false,
# copy_tags_to_snapshot: false,
# enable_global_write_forwarding: false,
# })
#
# @example Response structure
#
# resp.db_cluster.allocated_storage #=> Integer
# resp.db_cluster.availability_zones #=> Array
# resp.db_cluster.availability_zones[0] #=> String
# resp.db_cluster.backup_retention_period #=> Integer
# resp.db_cluster.character_set_name #=> String
# resp.db_cluster.database_name #=> String
# resp.db_cluster.db_cluster_identifier #=> String
# resp.db_cluster.db_cluster_parameter_group #=> String
# resp.db_cluster.db_subnet_group #=> String
# resp.db_cluster.status #=> String
# resp.db_cluster.percent_progress #=> String
# resp.db_cluster.earliest_restorable_time #=> Time
# resp.db_cluster.endpoint #=> String
# resp.db_cluster.reader_endpoint #=> String
# resp.db_cluster.custom_endpoints #=> Array
# resp.db_cluster.custom_endpoints[0] #=> String
# resp.db_cluster.multi_az #=> Boolean
# resp.db_cluster.engine #=> String
# resp.db_cluster.engine_version #=> String
# resp.db_cluster.latest_restorable_time #=> Time
# resp.db_cluster.port #=> Integer
# resp.db_cluster.master_username #=> String
# resp.db_cluster.db_cluster_option_group_memberships #=> Array
# resp.db_cluster.db_cluster_option_group_memberships[0].db_cluster_option_group_name #=> String
# resp.db_cluster.db_cluster_option_group_memberships[0].status #=> String
# resp.db_cluster.preferred_backup_window #=> String
# resp.db_cluster.preferred_maintenance_window #=> String
# resp.db_cluster.replication_source_identifier #=> String
# resp.db_cluster.read_replica_identifiers #=> Array
# resp.db_cluster.read_replica_identifiers[0] #=> String
# resp.db_cluster.db_cluster_members #=> Array
# resp.db_cluster.db_cluster_members[0].db_instance_identifier #=> String
# resp.db_cluster.db_cluster_members[0].is_cluster_writer #=> Boolean
# resp.db_cluster.db_cluster_members[0].db_cluster_parameter_group_status #=> String
# resp.db_cluster.db_cluster_members[0].promotion_tier #=> Integer
# resp.db_cluster.vpc_security_groups #=> Array
# resp.db_cluster.vpc_security_groups[0].vpc_security_group_id #=> String
# resp.db_cluster.vpc_security_groups[0].status #=> String
# resp.db_cluster.hosted_zone_id #=> String
# resp.db_cluster.storage_encrypted #=> Boolean
# resp.db_cluster.kms_key_id #=> String
# resp.db_cluster.db_cluster_resource_id #=> String
# resp.db_cluster.db_cluster_arn #=> String
# resp.db_cluster.associated_roles #=> Array
# resp.db_cluster.associated_roles[0].role_arn #=> String
# resp.db_cluster.associated_roles[0].status #=> String
# resp.db_cluster.associated_roles[0].feature_name #=> String
# resp.db_cluster.iam_database_authentication_enabled #=> Boolean
# resp.db_cluster.clone_group_id #=> String
# resp.db_cluster.cluster_create_time #=> Time
# resp.db_cluster.earliest_backtrack_time #=> Time
# resp.db_cluster.backtrack_window #=> Integer
# resp.db_cluster.backtrack_consumed_change_records #=> Integer
# resp.db_cluster.enabled_cloudwatch_logs_exports #=> Array
# resp.db_cluster.enabled_cloudwatch_logs_exports[0] #=> String
# resp.db_cluster.capacity #=> Integer
# resp.db_cluster.engine_mode #=> String
# resp.db_cluster.scaling_configuration_info.min_capacity #=> Integer
# resp.db_cluster.scaling_configuration_info.max_capacity #=> Integer
# resp.db_cluster.scaling_configuration_info.auto_pause #=> Boolean
# resp.db_cluster.scaling_configuration_info.seconds_until_auto_pause #=> Integer
# resp.db_cluster.scaling_configuration_info.timeout_action #=> String
# resp.db_cluster.deletion_protection #=> Boolean
# resp.db_cluster.http_endpoint_enabled #=> Boolean
# resp.db_cluster.activity_stream_mode #=> String, one of "sync", "async"
# resp.db_cluster.activity_stream_status #=> String, one of "stopped", "starting", "started", "stopping"
# resp.db_cluster.activity_stream_kms_key_id #=> String
# resp.db_cluster.activity_stream_kinesis_stream_name #=> String
# resp.db_cluster.copy_tags_to_snapshot #=> Boolean
# resp.db_cluster.cross_account_clone #=> Boolean
# resp.db_cluster.domain_memberships #=> Array
# resp.db_cluster.domain_memberships[0].domain #=> String
# resp.db_cluster.domain_memberships[0].status #=> String
# resp.db_cluster.domain_memberships[0].fqdn #=> String
# resp.db_cluster.domain_memberships[0].iam_role_name #=> String
# resp.db_cluster.global_write_forwarding_status #=> String, one of "enabled", "disabled", "enabling", "disabling", "unknown"
# resp.db_cluster.global_write_forwarding_requested #=> Boolean
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBCluster AWS API Documentation
#
# @overload modify_db_cluster(params = {})
# @param [Hash] params ({})
def modify_db_cluster(params = {}, options = {})
req = build_request(:modify_db_cluster, params)
req.send_request(options)
end
# Modifies the properties of an endpoint in an Amazon Aurora DB cluster.
#
# This action only applies to Aurora DB clusters.
#
#
#
# @option params [required, String] :db_cluster_endpoint_identifier
# The identifier of the endpoint to modify. This parameter is stored as
# a lowercase string.
#
# @option params [String] :endpoint_type
# The type of the endpoint. One of: `READER`, `WRITER`, `ANY`.
#
# @option params [Array] :static_members
# List of DB instance identifiers that are part of the custom endpoint
# group.
#
# @option params [Array] :excluded_members
# List of DB instance identifiers that aren't part of the custom
# endpoint group. All other eligible instances are reachable through the
# custom endpoint. Only relevant if the list of static members is empty.
#
# @return [Types::DBClusterEndpoint] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DBClusterEndpoint#db_cluster_endpoint_identifier #db_cluster_endpoint_identifier} => String
# * {Types::DBClusterEndpoint#db_cluster_identifier #db_cluster_identifier} => String
# * {Types::DBClusterEndpoint#db_cluster_endpoint_resource_identifier #db_cluster_endpoint_resource_identifier} => String
# * {Types::DBClusterEndpoint#endpoint #endpoint} => String
# * {Types::DBClusterEndpoint#status #status} => String
# * {Types::DBClusterEndpoint#endpoint_type #endpoint_type} => String
# * {Types::DBClusterEndpoint#custom_endpoint_type #custom_endpoint_type} => String
# * {Types::DBClusterEndpoint#static_members #static_members} => Array<String>
# * {Types::DBClusterEndpoint#excluded_members #excluded_members} => Array<String>
# * {Types::DBClusterEndpoint#db_cluster_endpoint_arn #db_cluster_endpoint_arn} => String
#
# @example Request syntax with placeholder values
#
# resp = client.modify_db_cluster_endpoint({
# db_cluster_endpoint_identifier: "String", # required
# endpoint_type: "String",
# static_members: ["String"],
# excluded_members: ["String"],
# })
#
# @example Response structure
#
# resp.db_cluster_endpoint_identifier #=> String
# resp.db_cluster_identifier #=> String
# resp.db_cluster_endpoint_resource_identifier #=> String
# resp.endpoint #=> String
# resp.status #=> String
# resp.endpoint_type #=> String
# resp.custom_endpoint_type #=> String
# resp.static_members #=> Array
# resp.static_members[0] #=> String
# resp.excluded_members #=> Array
# resp.excluded_members[0] #=> String
# resp.db_cluster_endpoint_arn #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterEndpoint AWS API Documentation
#
# @overload modify_db_cluster_endpoint(params = {})
# @param [Hash] params ({})
def modify_db_cluster_endpoint(params = {}, options = {})
req = build_request(:modify_db_cluster_endpoint, params)
req.send_request(options)
end
# Modifies the parameters of a DB cluster parameter group. To modify
# more than one parameter, submit a list of the following:
# `ParameterName`, `ParameterValue`, and `ApplyMethod`. A maximum of 20
# parameters can be modified in a single request.
#
# For more information on Amazon Aurora, see [ What Is Amazon
# Aurora?][1] in the *Amazon Aurora User Guide.*
#
# Changes to dynamic parameters are applied immediately. Changes to
# static parameters require a reboot without failover to the DB cluster
# associated with the parameter group before the change can take effect.
#
#
#
# After you create a DB cluster parameter group, you should wait at
# least 5 minutes before creating your first DB cluster that uses that
# DB cluster parameter group as the default parameter group. This allows
# Amazon RDS to fully complete the create action before the parameter
# group is used as the default for a new DB cluster. This is especially
# important for parameters that are critical when creating the default
# database for a DB cluster, such as the character set for the default
# database defined by the `character_set_database` parameter. You can
# use the *Parameter Groups* option of the [Amazon RDS console][2] or
# the `DescribeDBClusterParameters` action to verify that your DB
# cluster parameter group has been created or modified.
#
# If the modified DB cluster parameter group is used by an Aurora
# Serverless cluster, Aurora applies the update immediately. The cluster
# restart might interrupt your workload. In that case, your application
# must reopen any connections and retry any transactions that were
# active when the parameter changes took effect.
#
# This action only applies to Aurora DB clusters.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html
# [2]: https://console.aws.amazon.com/rds/
#
# @option params [required, String] :db_cluster_parameter_group_name
# The name of the DB cluster parameter group to modify.
#
# @option params [required, Array] :parameters
# A list of parameters in the DB cluster parameter group to modify.
#
# @return [Types::DBClusterParameterGroupNameMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DBClusterParameterGroupNameMessage#db_cluster_parameter_group_name #db_cluster_parameter_group_name} => String
#
#
# @example Example: To change DB cluster parameter group settings
#
# # This example immediately changes the specified setting for the specified DB cluster parameter group.
#
# resp = client.modify_db_cluster_parameter_group({
# db_cluster_parameter_group_name: "mydbclusterparametergroup",
# parameters: [
# {
# apply_method: "immediate",
# parameter_name: "time_zone",
# parameter_value: "America/Phoenix",
# },
# ],
# })
#
# resp.to_h outputs the following:
# {
# }
#
# @example Request syntax with placeholder values
#
# resp = client.modify_db_cluster_parameter_group({
# db_cluster_parameter_group_name: "String", # required
# parameters: [ # required
# {
# parameter_name: "String",
# parameter_value: "String",
# description: "String",
# source: "String",
# apply_type: "String",
# data_type: "String",
# allowed_values: "String",
# is_modifiable: false,
# minimum_engine_version: "String",
# apply_method: "immediate", # accepts immediate, pending-reboot
# supported_engine_modes: ["String"],
# },
# ],
# })
#
# @example Response structure
#
# resp.db_cluster_parameter_group_name #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterParameterGroup AWS API Documentation
#
# @overload modify_db_cluster_parameter_group(params = {})
# @param [Hash] params ({})
def modify_db_cluster_parameter_group(params = {}, options = {})
req = build_request(:modify_db_cluster_parameter_group, params)
req.send_request(options)
end
# Adds an attribute and values to, or removes an attribute and values
# from, a manual DB cluster snapshot.
#
# To share a manual DB cluster snapshot with other AWS accounts, specify
# `restore` as the `AttributeName` and use the `ValuesToAdd` parameter
# to add a list of IDs of the AWS accounts that are authorized to
# restore the manual DB cluster snapshot. Use the value `all` to make
# the manual DB cluster snapshot public, which means that it can be
# copied or restored by all AWS accounts.
#
# Don't add the `all` value for any manual DB cluster snapshots that
# contain private information that you don't want available to all AWS
# accounts.
#
#
#
# If a manual DB cluster snapshot is encrypted, it can be shared, but
# only by specifying a list of authorized AWS account IDs for the
# `ValuesToAdd` parameter. You can't use `all` as a value for that
# parameter in this case.
#
# To view which AWS accounts have access to copy or restore a manual DB
# cluster snapshot, or whether a manual DB cluster snapshot is public or
# private, use the DescribeDBClusterSnapshotAttributes API action. The
# accounts are returned as values for the `restore` attribute.
#
# This action only applies to Aurora DB clusters.
#
#
#
# @option params [required, String] :db_cluster_snapshot_identifier
# The identifier for the DB cluster snapshot to modify the attributes
# for.
#
# @option params [required, String] :attribute_name
# The name of the DB cluster snapshot attribute to modify.
#
# To manage authorization for other AWS accounts to copy or restore a
# manual DB cluster snapshot, set this value to `restore`.
#
# To view the list of attributes available to modify, use the
# DescribeDBClusterSnapshotAttributes API action.
#
#
#
# @option params [Array] :values_to_add
# A list of DB cluster snapshot attributes to add to the attribute
# specified by `AttributeName`.
#
# To authorize other AWS accounts to copy or restore a manual DB cluster
# snapshot, set this list to include one or more AWS account IDs, or
# `all` to make the manual DB cluster snapshot restorable by any AWS
# account. Do not add the `all` value for any manual DB cluster
# snapshots that contain private information that you don't want
# available to all AWS accounts.
#
# @option params [Array] :values_to_remove
# A list of DB cluster snapshot attributes to remove from the attribute
# specified by `AttributeName`.
#
# To remove authorization for other AWS accounts to copy or restore a
# manual DB cluster snapshot, set this list to include one or more AWS
# account identifiers, or `all` to remove authorization for any AWS
# account to copy or restore the DB cluster snapshot. If you specify
# `all`, an AWS account whose account ID is explicitly added to the
# `restore` attribute can still copy or restore a manual DB cluster
# snapshot.
#
# @return [Types::ModifyDBClusterSnapshotAttributeResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::ModifyDBClusterSnapshotAttributeResult#db_cluster_snapshot_attributes_result #db_cluster_snapshot_attributes_result} => Types::DBClusterSnapshotAttributesResult
#
#
# @example Example: To add or remove access to a manual DB cluster snapshot
#
# # The following example gives two AWS accounts access to a manual DB cluster snapshot and ensures that the DB cluster
# # snapshot is private by removing the value "all".
#
# resp = client.modify_db_cluster_snapshot_attribute({
# attribute_name: "restore",
# db_cluster_snapshot_identifier: "manual-cluster-snapshot1",
# values_to_add: [
# "123451234512",
# "123456789012",
# ],
# values_to_remove: [
# "all",
# ],
# })
#
# resp.to_h outputs the following:
# {
# db_cluster_snapshot_attributes_result: {
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.modify_db_cluster_snapshot_attribute({
# db_cluster_snapshot_identifier: "String", # required
# attribute_name: "String", # required
# values_to_add: ["String"],
# values_to_remove: ["String"],
# })
#
# @example Response structure
#
# resp.db_cluster_snapshot_attributes_result.db_cluster_snapshot_identifier #=> String
# resp.db_cluster_snapshot_attributes_result.db_cluster_snapshot_attributes #=> Array
# resp.db_cluster_snapshot_attributes_result.db_cluster_snapshot_attributes[0].attribute_name #=> String
# resp.db_cluster_snapshot_attributes_result.db_cluster_snapshot_attributes[0].attribute_values #=> Array
# resp.db_cluster_snapshot_attributes_result.db_cluster_snapshot_attributes[0].attribute_values[0] #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterSnapshotAttribute AWS API Documentation
#
# @overload modify_db_cluster_snapshot_attribute(params = {})
# @param [Hash] params ({})
def modify_db_cluster_snapshot_attribute(params = {}, options = {})
req = build_request(:modify_db_cluster_snapshot_attribute, params)
req.send_request(options)
end
# Modifies settings for a DB instance. You can change one or more
# database configuration parameters by specifying these parameters and
# the new values in the request. To learn what modifications you can
# make to your DB instance, call `DescribeValidDBInstanceModifications`
# before you call `ModifyDBInstance`.
#
# @option params [required, String] :db_instance_identifier
# The DB instance identifier. This value is stored as a lowercase
# string.
#
# Constraints:
#
# * Must match the identifier of an existing DBInstance.
#
# ^
#
# @option params [Integer] :allocated_storage
# The new amount of storage (in gibibytes) to allocate for the DB
# instance.
#
# For MariaDB, MySQL, Oracle, and PostgreSQL, the value supplied must be
# at least 10% greater than the current value. Values that are not at
# least 10% greater than the existing value are rounded up so that they
# are 10% greater than the current value.
#
# For the valid values for allocated storage for each engine, see
# `CreateDBInstance`.
#
# @option params [String] :db_instance_class
# The new compute and memory capacity of the DB instance, for example,
# `db.m4.large`. Not all DB instance classes are available in all AWS
# Regions, or for all database engines. For the full list of DB instance
# classes, and availability for your engine, see [DB Instance Class][1]
# in the *Amazon RDS User Guide.*
#
# If you modify the DB instance class, an outage occurs during the
# change. The change is applied during the next maintenance window,
# unless `ApplyImmediately` is enabled for this request.
#
# Default: Uses existing setting
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html
#
# @option params [String] :db_subnet_group_name
# The new DB subnet group for the DB instance. You can use this
# parameter to move your DB instance to a different VPC. If your DB
# instance isn't in a VPC, you can also use this parameter to move your
# DB instance into a VPC. For more information, see [Updating the VPC
# for a DB Instance][1] in the *Amazon RDS User Guide.*
#
# Changing the subnet group causes an outage during the change. The
# change is applied during the next maintenance window, unless you
# enable `ApplyImmediately`.
#
# Constraints: If supplied, must match the name of an existing
# DBSubnetGroup.
#
# Example: `mySubnetGroup`
#
#
#
# [1]: http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html#USER_VPC.Non-VPC2VPC
#
# @option params [Array] :db_security_groups
# A list of DB security groups to authorize on this DB instance.
# Changing this setting doesn't result in an outage and the change is
# asynchronously applied as soon as possible.
#
# Constraints:
#
# * If supplied, must match existing DBSecurityGroups.
#
# ^
#
# @option params [Array] :vpc_security_group_ids
# A list of EC2 VPC security groups to authorize on this DB instance.
# This change is asynchronously applied as soon as possible.
#
# **Amazon Aurora**
#
# Not applicable. The associated list of EC2 VPC security groups is
# managed by the DB cluster. For more information, see
# `ModifyDBCluster`.
#
# Constraints:
#
# * If supplied, must match existing VpcSecurityGroupIds.
#
# ^
#
# @option params [Boolean] :apply_immediately
# A value that indicates whether the modifications in this request and
# any pending modifications are asynchronously applied as soon as
# possible, regardless of the `PreferredMaintenanceWindow` setting for
# the DB instance. By default, this parameter is disabled.
#
# If this parameter is disabled, changes to the DB instance are applied
# during the next maintenance window. Some parameter changes can cause
# an outage and are applied on the next call to RebootDBInstance, or the
# next failure reboot. Review the table of parameters in [Modifying a DB
# Instance][1] in the *Amazon RDS User Guide.* to see the impact of
# enabling or disabling `ApplyImmediately` for each modified parameter
# and to determine when the changes are applied.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html
#
# @option params [String] :master_user_password
# The new password for the master user. The password can include any
# printable ASCII character except "/", """, or "@".
#
# Changing this parameter doesn't result in an outage and the change is
# asynchronously applied as soon as possible. Between the time of the
# request and the completion of the request, the `MasterUserPassword`
# element exists in the `PendingModifiedValues` element of the operation
# response.
#
# **Amazon Aurora**
#
# Not applicable. The password for the master user is managed by the DB
# cluster. For more information, see `ModifyDBCluster`.
#
# Default: Uses existing setting
#
# **MariaDB**
#
# Constraints: Must contain from 8 to 41 characters.
#
# **Microsoft SQL Server**
#
# Constraints: Must contain from 8 to 128 characters.
#
# **MySQL**
#
# Constraints: Must contain from 8 to 41 characters.
#
# **Oracle**
#
# Constraints: Must contain from 8 to 30 characters.
#
# **PostgreSQL**
#
# Constraints: Must contain from 8 to 128 characters.
#
# Amazon RDS API actions never return the password, so this action
# provides a way to regain access to a primary instance user if the
# password is lost. This includes restoring privileges that might have
# been accidentally revoked.
#
#
#
# @option params [String] :db_parameter_group_name
# The name of the DB parameter group to apply to the DB instance.
# Changing this setting doesn't result in an outage. The parameter
# group name itself is changed immediately, but the actual parameter
# changes are not applied until you reboot the instance without
# failover. In this case, the DB instance isn't rebooted automatically
# and the parameter changes isn't applied during the next maintenance
# window.
#
# Default: Uses existing setting
#
# Constraints: The DB parameter group must be in the same DB parameter
# group family as this DB instance.
#
# @option params [Integer] :backup_retention_period
# The number of days to retain automated backups. Setting this parameter
# to a positive number enables backups. Setting this parameter to 0
# disables automated backups.
#
# Changing this parameter can result in an outage if you change from 0
# to a non-zero value or from a non-zero value to 0. These changes are
# applied during the next maintenance window unless the
# `ApplyImmediately` parameter is enabled for this request. If you
# change the parameter from one non-zero value to another non-zero
# value, the change is asynchronously applied as soon as possible.
#
# **Amazon Aurora**
#
# Not applicable. The retention period for automated backups is managed
# by the DB cluster. For more information, see `ModifyDBCluster`.
#
# Default: Uses existing setting
#
# Constraints:
#
# * Must be a value from 0 to 35
#
# * Can be specified for a MySQL read replica only if the source is
# running MySQL 5.6 or later
#
# * Can be specified for a PostgreSQL read replica only if the source is
# running PostgreSQL 9.3.5
#
# * Can't be set to 0 if the DB instance is a source to read replicas
#
# @option params [String] :preferred_backup_window
# The daily time range during which automated backups are created if
# automated backups are enabled, as determined by the
# `BackupRetentionPeriod` parameter. Changing this parameter doesn't
# result in an outage and the change is asynchronously applied as soon
# as possible.
#
# **Amazon Aurora**
#
# Not applicable. The daily time range for creating automated backups is
# managed by the DB cluster. For more information, see
# `ModifyDBCluster`.
#
# Constraints:
#
# * Must be in the format hh24:mi-hh24:mi
#
# * Must be in Universal Time Coordinated (UTC)
#
# * Must not conflict with the preferred maintenance window
#
# * Must be at least 30 minutes
#
# @option params [String] :preferred_maintenance_window
# The weekly time range (in UTC) during which system maintenance can
# occur, which might result in an outage. Changing this parameter
# doesn't result in an outage, except in the following situation, and
# the change is asynchronously applied as soon as possible. If there are
# pending actions that cause a reboot, and the maintenance window is
# changed to include the current time, then changing this parameter will
# cause a reboot of the DB instance. If moving this window to the
# current time, there must be at least 30 minutes between the current
# time and end of the window to ensure pending changes are applied.
#
# Default: Uses existing setting
#
# Format: ddd:hh24:mi-ddd:hh24:mi
#
# Valid Days: Mon \| Tue \| Wed \| Thu \| Fri \| Sat \| Sun
#
# Constraints: Must be at least 30 minutes
#
# @option params [Boolean] :multi_az
# A value that indicates whether the DB instance is a Multi-AZ
# deployment. Changing this parameter doesn't result in an outage and
# the change is applied during the next maintenance window unless the
# `ApplyImmediately` parameter is enabled for this request.
#
# @option params [String] :engine_version
# The version number of the database engine to upgrade to. Changing this
# parameter results in an outage and the change is applied during the
# next maintenance window unless the `ApplyImmediately` parameter is
# eanbled for this request.
#
# For major version upgrades, if a nondefault DB parameter group is
# currently in use, a new DB parameter group in the DB parameter group
# family for the new engine version must be specified. The new DB
# parameter group can be the default for that DB parameter group family.
#
# For information about valid engine versions, see `CreateDBInstance`,
# or call `DescribeDBEngineVersions`.
#
# @option params [Boolean] :allow_major_version_upgrade
# A value that indicates whether major version upgrades are allowed.
# Changing this parameter doesn't result in an outage and the change is
# asynchronously applied as soon as possible.
#
# Constraints: Major version upgrades must be allowed when specifying a
# value for the EngineVersion parameter that is a different major
# version than the DB instance's current version.
#
# @option params [Boolean] :auto_minor_version_upgrade
# A value that indicates whether minor version upgrades are applied
# automatically to the DB instance during the maintenance window.
# Changing this parameter doesn't result in an outage except in the
# following case and the change is asynchronously applied as soon as
# possible. An outage results if this parameter is enabled during the
# maintenance window, and a newer minor version is available, and RDS
# has enabled auto patching for that engine version.
#
# @option params [String] :license_model
# The license model for the DB instance.
#
# Valid values: `license-included` \| `bring-your-own-license` \|
# `general-public-license`
#
# @option params [Integer] :iops
# The new Provisioned IOPS (I/O operations per second) value for the RDS
# instance.
#
# Changing this setting doesn't result in an outage and the change is
# applied during the next maintenance window unless the
# `ApplyImmediately` parameter is enabled for this request. If you are
# migrating from Provisioned IOPS to standard storage, set this value to
# 0. The DB instance will require a reboot for the change in storage
# type to take effect.
#
# If you choose to migrate your DB instance from using standard storage
# to using Provisioned IOPS, or from using Provisioned IOPS to using
# standard storage, the process can take time. The duration of the
# migration depends on several factors such as database load, storage
# size, storage type (standard or Provisioned IOPS), amount of IOPS
# provisioned (if any), and the number of prior scale storage
# operations. Typical migration times are under 24 hours, but the
# process can take up to several days in some cases. During the
# migration, the DB instance is available for use, but might experience
# performance degradation. While the migration takes place, nightly
# backups for the instance are suspended. No other Amazon RDS operations
# can take place for the instance, including modifying the instance,
# rebooting the instance, deleting the instance, creating a read replica
# for the instance, and creating a DB snapshot of the instance.
#
# Constraints: For MariaDB, MySQL, Oracle, and PostgreSQL, the value
# supplied must be at least 10% greater than the current value. Values
# that are not at least 10% greater than the existing value are rounded
# up so that they are 10% greater than the current value.
#
# Default: Uses existing setting
#
# @option params [String] :option_group_name
# Indicates that the DB instance should be associated with the specified
# option group. Changing this parameter doesn't result in an outage
# except in the following case and the change is applied during the next
# maintenance window unless the `ApplyImmediately` parameter is enabled
# for this request. If the parameter change results in an option group
# that enables OEM, this change can cause a brief (sub-second) period
# during which new connections are rejected but existing connections are
# not interrupted.
#
# Permanent options, such as the TDE option for Oracle Advanced Security
# TDE, can't be removed from an option group, and that option group
# can't be removed from a DB instance once it is associated with a DB
# instance
#
# @option params [String] :new_db_instance_identifier
# The new DB instance identifier for the DB instance when renaming a DB
# instance. When you change the DB instance identifier, an instance
# reboot occurs immediately if you enable `ApplyImmediately`, or will
# occur during the next maintenance window if you disable Apply
# Immediately. This value is stored as a lowercase string.
#
# Constraints:
#
# * Must contain from 1 to 63 letters, numbers, or hyphens.
#
# * The first character must be a letter.
#
# * Can't end with a hyphen or contain two consecutive hyphens.
#
# Example: `mydbinstance`
#
# @option params [String] :storage_type
# Specifies the storage type to be associated with the DB instance.
#
# If you specify Provisioned IOPS (`io1`), you must also include a value
# for the `Iops` parameter.
#
# If you choose to migrate your DB instance from using standard storage
# to using Provisioned IOPS, or from using Provisioned IOPS to using
# standard storage, the process can take time. The duration of the
# migration depends on several factors such as database load, storage
# size, storage type (standard or Provisioned IOPS), amount of IOPS
# provisioned (if any), and the number of prior scale storage
# operations. Typical migration times are under 24 hours, but the
# process can take up to several days in some cases. During the
# migration, the DB instance is available for use, but might experience
# performance degradation. While the migration takes place, nightly
# backups for the instance are suspended. No other Amazon RDS operations
# can take place for the instance, including modifying the instance,
# rebooting the instance, deleting the instance, creating a read replica
# for the instance, and creating a DB snapshot of the instance.
#
# Valid values: `standard | gp2 | io1`
#
# Default: `io1` if the `Iops` parameter is specified, otherwise `gp2`
#
# @option params [String] :tde_credential_arn
# The ARN from the key store with which to associate the instance for
# TDE encryption.
#
# @option params [String] :tde_credential_password
# The password for the given ARN from the key store in order to access
# the device.
#
# @option params [String] :ca_certificate_identifier
# Indicates the certificate that needs to be associated with the
# instance.
#
# @option params [String] :domain
# The Active Directory directory ID to move the DB instance to. Specify
# `none` to remove the instance from its current domain. The domain must
# be created prior to this operation. Currently, only Microsoft SQL
# Server and Oracle DB instances can be created in an Active Directory
# Domain.
#
# For Microsoft SQL Server DB instances, Amazon RDS can use Windows
# Authentication to authenticate users that connect to the DB instance.
# For more information, see [ Using Windows Authentication with an
# Amazon RDS DB Instance Running Microsoft SQL Server][1] in the *Amazon
# RDS User Guide*.
#
# For Oracle DB instances, Amazon RDS can use Kerberos Authentication to
# authenticate users that connect to the DB instance. For more
# information, see [ Using Kerberos Authentication with Amazon RDS for
# Oracle][2] in the *Amazon RDS User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_SQLServerWinAuth.html
# [2]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-kerberos.html
#
# @option params [Boolean] :copy_tags_to_snapshot
# A value that indicates whether to copy all tags from the DB instance
# to snapshots of the DB instance. By default, tags are not copied.
#
# **Amazon Aurora**
#
# Not applicable. 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. For more information, see `ModifyDBCluster`.
#
# @option params [Integer] :monitoring_interval
# The interval, in seconds, between points when Enhanced Monitoring
# metrics are collected for the DB instance. To disable collecting
# Enhanced Monitoring metrics, specify 0. The default is 0.
#
# If `MonitoringRoleArn` is specified, then you must also set
# `MonitoringInterval` to a value other than 0.
#
# Valid Values: `0, 1, 5, 10, 15, 30, 60`
#
# @option params [Integer] :db_port_number
# The port number on which the database accepts connections.
#
# The value of the `DBPortNumber` parameter must not match any of the
# port values specified for options in the option group for the DB
# instance.
#
# Your database will restart when you change the `DBPortNumber` value
# regardless of the value of the `ApplyImmediately` parameter.
#
# **MySQL**
#
# Default: `3306`
#
# Valid values: `1150-65535`
#
# **MariaDB**
#
# Default: `3306`
#
# Valid values: `1150-65535`
#
# **PostgreSQL**
#
# Default: `5432`
#
# Valid values: `1150-65535`
#
# Type: Integer
#
# **Oracle**
#
# Default: `1521`
#
# Valid values: `1150-65535`
#
# **SQL Server**
#
# Default: `1433`
#
# Valid values: `1150-65535` except `1234`, `1434`, `3260`, `3343`,
# `3389`, `47001`, and `49152-49156`.
#
# **Amazon Aurora**
#
# Default: `3306`
#
# Valid values: `1150-65535`
#
# @option params [Boolean] :publicly_accessible
# A value that indicates whether the DB instance is publicly accessible.
#
# When the DB instance is publicly accessible, its DNS endpoint resolves
# to the private IP address from within the DB instance's VPC, and to
# the public IP address from outside of the DB instance's VPC. Access
# to the DB instance is ultimately controlled by the security group it
# uses, and 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.
#
# `PubliclyAccessible` only applies to DB instances in a VPC. The DB
# instance must be part of a public subnet and `PubliclyAccessible` must
# be enabled for it to be publicly accessible.
#
# Changes to the `PubliclyAccessible` parameter are applied immediately
# regardless of the value of the `ApplyImmediately` parameter.
#
# @option params [String] :monitoring_role_arn
# 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][1] in the *Amazon RDS User Guide.*
#
# If `MonitoringInterval` is set to a value other than 0, then you must
# supply a `MonitoringRoleArn` value.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html#USER_Monitoring.OS.IAMRole
#
# @option params [String] :domain_iam_role_name
# The name of the IAM role to use when making API calls to the Directory
# Service.
#
# @option params [Integer] :promotion_tier
# A value that specifies the order 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][1] in the *Amazon Aurora User Guide*.
#
# Default: 1
#
# Valid Values: 0 - 15
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Managing.Backups.html#Aurora.Managing.FaultTolerance
#
# @option params [Boolean] :enable_iam_database_authentication
# A value that indicates whether to enable mapping of AWS Identity and
# Access Management (IAM) accounts to database accounts. By default,
# mapping is disabled. For information about the supported DB engines,
# see CreateDBInstance.
#
# For more information about IAM database authentication, see [ IAM
# Database Authentication for MySQL and PostgreSQL][1] in the *Amazon
# RDS User Guide.*
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html
#
# @option params [Boolean] :enable_performance_insights
# A value that indicates whether to enable Performance Insights for the
# DB instance.
#
# For more information, see [Using Amazon Performance Insights][1] in
# the *Amazon Relational Database Service User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html
#
# @option params [String] :performance_insights_kms_key_id
# The AWS KMS key identifier for encryption of Performance Insights
# data. The KMS key ID is the Amazon Resource Name (ARN), KMS key
# identifier, or the KMS key alias for the KMS encryption key.
#
# If you do not specify a value for `PerformanceInsightsKMSKeyId`, then
# Amazon RDS uses your default encryption key. AWS KMS creates the
# default encryption key for your AWS account. Your AWS account has a
# different default encryption key for each AWS Region.
#
# @option params [Integer] :performance_insights_retention_period
# The amount of time, in days, to retain Performance Insights data.
# Valid values are 7 or 731 (2 years).
#
# @option params [Types::CloudwatchLogsExportConfiguration] :cloudwatch_logs_export_configuration
# The configuration setting for the log types to be enabled for export
# to CloudWatch Logs for a specific DB instance.
#
# A change to the `CloudwatchLogsExportConfiguration` parameter is
# always applied to the DB instance immediately. Therefore, the
# `ApplyImmediately` parameter has no effect.
#
# @option params [Array] :processor_features
# The number of CPU cores and the number of threads per core for the DB
# instance class of the DB instance.
#
# @option params [Boolean] :use_default_processor_features
# A value that indicates whether the DB instance class of the DB
# instance uses its default processor features.
#
# @option params [Boolean] :deletion_protection
# A value that indicates whether the DB instance has deletion protection
# enabled. The database can't be deleted when deletion protection is
# enabled. By default, deletion protection is disabled. For more
# information, see [ Deleting a DB Instance][1].
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html
#
# @option params [Integer] :max_allocated_storage
# The upper limit to which Amazon RDS can automatically scale the
# storage of the DB instance.
#
# @option params [Boolean] :certificate_rotation_restart
# A value that indicates whether the DB instance is restarted when you
# rotate your SSL/TLS certificate.
#
# By default, the DB instance is restarted when you rotate your SSL/TLS
# certificate. The certificate is not updated until the DB instance is
# restarted.
#
# Set this parameter only if you are *not* using SSL/TLS to connect to
# the DB instance.
#
# If you are using SSL/TLS to connect to the DB instance, follow the
# appropriate instructions for your DB engine to rotate your SSL/TLS
# certificate:
#
# * For more information about rotating your SSL/TLS certificate for RDS
# DB engines, see [ Rotating Your SSL/TLS Certificate.][1] in the
# *Amazon RDS User Guide.*
#
# * For more information about rotating your SSL/TLS certificate for
# Aurora DB engines, see [ Rotating Your SSL/TLS Certificate][2] in
# the *Amazon Aurora User Guide.*
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html
# [2]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL-certificate-rotation.html
#
# @return [Types::ModifyDBInstanceResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::ModifyDBInstanceResult#db_instance #db_instance} => Types::DBInstance
#
#
# @example Example: To change DB instance settings
#
# # This example immediately changes the specified settings for the specified DB instance.
#
# resp = client.modify_db_instance({
# allocated_storage: 10,
# apply_immediately: true,
# backup_retention_period: 1,
# db_instance_class: "db.t2.small",
# db_instance_identifier: "mymysqlinstance",
# master_user_password: "mynewpassword",
# preferred_backup_window: "04:00-04:30",
# preferred_maintenance_window: "Tue:05:00-Tue:05:30",
# })
#
# resp.to_h outputs the following:
# {
# db_instance: {
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.modify_db_instance({
# db_instance_identifier: "String", # required
# allocated_storage: 1,
# db_instance_class: "String",
# db_subnet_group_name: "String",
# db_security_groups: ["String"],
# vpc_security_group_ids: ["String"],
# apply_immediately: false,
# master_user_password: "String",
# db_parameter_group_name: "String",
# backup_retention_period: 1,
# preferred_backup_window: "String",
# preferred_maintenance_window: "String",
# multi_az: false,
# engine_version: "String",
# allow_major_version_upgrade: false,
# auto_minor_version_upgrade: false,
# license_model: "String",
# iops: 1,
# option_group_name: "String",
# new_db_instance_identifier: "String",
# storage_type: "String",
# tde_credential_arn: "String",
# tde_credential_password: "String",
# ca_certificate_identifier: "String",
# domain: "String",
# copy_tags_to_snapshot: false,
# monitoring_interval: 1,
# db_port_number: 1,
# publicly_accessible: false,
# monitoring_role_arn: "String",
# domain_iam_role_name: "String",
# promotion_tier: 1,
# enable_iam_database_authentication: false,
# enable_performance_insights: false,
# performance_insights_kms_key_id: "String",
# performance_insights_retention_period: 1,
# cloudwatch_logs_export_configuration: {
# enable_log_types: ["String"],
# disable_log_types: ["String"],
# },
# processor_features: [
# {
# name: "String",
# value: "String",
# },
# ],
# use_default_processor_features: false,
# deletion_protection: false,
# max_allocated_storage: 1,
# certificate_rotation_restart: false,
# })
#
# @example Response structure
#
# resp.db_instance.db_instance_identifier #=> String
# resp.db_instance.db_instance_class #=> String
# resp.db_instance.engine #=> String
# resp.db_instance.db_instance_status #=> String
# resp.db_instance.master_username #=> String
# resp.db_instance.db_name #=> String
# resp.db_instance.endpoint.address #=> String
# resp.db_instance.endpoint.port #=> Integer
# resp.db_instance.endpoint.hosted_zone_id #=> String
# resp.db_instance.allocated_storage #=> Integer
# resp.db_instance.instance_create_time #=> Time
# resp.db_instance.preferred_backup_window #=> String
# resp.db_instance.backup_retention_period #=> Integer
# resp.db_instance.db_security_groups #=> Array
# resp.db_instance.db_security_groups[0].db_security_group_name #=> String
# resp.db_instance.db_security_groups[0].status #=> String
# resp.db_instance.vpc_security_groups #=> Array
# resp.db_instance.vpc_security_groups[0].vpc_security_group_id #=> String
# resp.db_instance.vpc_security_groups[0].status #=> String
# resp.db_instance.db_parameter_groups #=> Array
# resp.db_instance.db_parameter_groups[0].db_parameter_group_name #=> String
# resp.db_instance.db_parameter_groups[0].parameter_apply_status #=> String
# resp.db_instance.availability_zone #=> String
# resp.db_instance.db_subnet_group.db_subnet_group_name #=> String
# resp.db_instance.db_subnet_group.db_subnet_group_description #=> String
# resp.db_instance.db_subnet_group.vpc_id #=> String
# resp.db_instance.db_subnet_group.subnet_group_status #=> String
# resp.db_instance.db_subnet_group.subnets #=> Array
# resp.db_instance.db_subnet_group.subnets[0].subnet_identifier #=> String
# resp.db_instance.db_subnet_group.subnets[0].subnet_availability_zone.name #=> String
# resp.db_instance.db_subnet_group.subnets[0].subnet_status #=> String
# resp.db_instance.db_subnet_group.db_subnet_group_arn #=> String
# resp.db_instance.preferred_maintenance_window #=> String
# resp.db_instance.pending_modified_values.db_instance_class #=> String
# resp.db_instance.pending_modified_values.allocated_storage #=> Integer
# resp.db_instance.pending_modified_values.master_user_password #=> String
# resp.db_instance.pending_modified_values.port #=> Integer
# resp.db_instance.pending_modified_values.backup_retention_period #=> Integer
# resp.db_instance.pending_modified_values.multi_az #=> Boolean
# resp.db_instance.pending_modified_values.engine_version #=> String
# resp.db_instance.pending_modified_values.license_model #=> String
# resp.db_instance.pending_modified_values.iops #=> Integer
# resp.db_instance.pending_modified_values.db_instance_identifier #=> String
# resp.db_instance.pending_modified_values.storage_type #=> String
# resp.db_instance.pending_modified_values.ca_certificate_identifier #=> String
# resp.db_instance.pending_modified_values.db_subnet_group_name #=> String
# resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_enable #=> Array
# resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_enable[0] #=> String
# resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_disable #=> Array
# resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_disable[0] #=> String
# resp.db_instance.pending_modified_values.processor_features #=> Array
# resp.db_instance.pending_modified_values.processor_features[0].name #=> String
# resp.db_instance.pending_modified_values.processor_features[0].value #=> String
# resp.db_instance.latest_restorable_time #=> Time
# resp.db_instance.multi_az #=> Boolean
# resp.db_instance.engine_version #=> String
# resp.db_instance.auto_minor_version_upgrade #=> Boolean
# resp.db_instance.read_replica_source_db_instance_identifier #=> String
# resp.db_instance.read_replica_db_instance_identifiers #=> Array
# resp.db_instance.read_replica_db_instance_identifiers[0] #=> String
# resp.db_instance.read_replica_db_cluster_identifiers #=> Array
# resp.db_instance.read_replica_db_cluster_identifiers[0] #=> String
# resp.db_instance.license_model #=> String
# resp.db_instance.iops #=> Integer
# resp.db_instance.option_group_memberships #=> Array
# resp.db_instance.option_group_memberships[0].option_group_name #=> String
# resp.db_instance.option_group_memberships[0].status #=> String
# resp.db_instance.character_set_name #=> String
# resp.db_instance.secondary_availability_zone #=> String
# resp.db_instance.publicly_accessible #=> Boolean
# resp.db_instance.status_infos #=> Array
# resp.db_instance.status_infos[0].status_type #=> String
# resp.db_instance.status_infos[0].normal #=> Boolean
# resp.db_instance.status_infos[0].status #=> String
# resp.db_instance.status_infos[0].message #=> String
# resp.db_instance.storage_type #=> String
# resp.db_instance.tde_credential_arn #=> String
# resp.db_instance.db_instance_port #=> Integer
# resp.db_instance.db_cluster_identifier #=> String
# resp.db_instance.storage_encrypted #=> Boolean
# resp.db_instance.kms_key_id #=> String
# resp.db_instance.dbi_resource_id #=> String
# resp.db_instance.ca_certificate_identifier #=> String
# resp.db_instance.domain_memberships #=> Array
# resp.db_instance.domain_memberships[0].domain #=> String
# resp.db_instance.domain_memberships[0].status #=> String
# resp.db_instance.domain_memberships[0].fqdn #=> String
# resp.db_instance.domain_memberships[0].iam_role_name #=> String
# resp.db_instance.copy_tags_to_snapshot #=> Boolean
# resp.db_instance.monitoring_interval #=> Integer
# resp.db_instance.enhanced_monitoring_resource_arn #=> String
# resp.db_instance.monitoring_role_arn #=> String
# resp.db_instance.promotion_tier #=> Integer
# resp.db_instance.db_instance_arn #=> String
# resp.db_instance.timezone #=> String
# resp.db_instance.iam_database_authentication_enabled #=> Boolean
# resp.db_instance.performance_insights_enabled #=> Boolean
# resp.db_instance.performance_insights_kms_key_id #=> String
# resp.db_instance.performance_insights_retention_period #=> Integer
# resp.db_instance.enabled_cloudwatch_logs_exports #=> Array
# resp.db_instance.enabled_cloudwatch_logs_exports[0] #=> String
# resp.db_instance.processor_features #=> Array
# resp.db_instance.processor_features[0].name #=> String
# resp.db_instance.processor_features[0].value #=> String
# resp.db_instance.deletion_protection #=> Boolean
# resp.db_instance.associated_roles #=> Array
# resp.db_instance.associated_roles[0].role_arn #=> String
# resp.db_instance.associated_roles[0].feature_name #=> String
# resp.db_instance.associated_roles[0].status #=> String
# resp.db_instance.listener_endpoint.address #=> String
# resp.db_instance.listener_endpoint.port #=> Integer
# resp.db_instance.listener_endpoint.hosted_zone_id #=> String
# resp.db_instance.max_allocated_storage #=> Integer
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBInstance AWS API Documentation
#
# @overload modify_db_instance(params = {})
# @param [Hash] params ({})
def modify_db_instance(params = {}, options = {})
req = build_request(:modify_db_instance, params)
req.send_request(options)
end
# Modifies the parameters of a DB parameter group. To modify more than
# one parameter, submit a list of the following: `ParameterName`,
# `ParameterValue`, and `ApplyMethod`. A maximum of 20 parameters can be
# modified in a single request.
#
# Changes to dynamic parameters are applied immediately. Changes to
# static parameters require a reboot without failover to the DB instance
# associated with the parameter group before the change can take effect.
#
#
#
# After you modify a DB parameter group, you should wait at least 5
# minutes before creating your first DB instance that uses that DB
# parameter group as the default parameter group. This allows Amazon RDS
# to fully complete the modify action before the parameter group is used
# as the default for a new DB instance. This is especially important for
# parameters that are critical when creating the default database for a
# DB instance, such as the character set for the default database
# defined by the `character_set_database` parameter. You can use the
# *Parameter Groups* option of the [Amazon RDS console][1] or the
# *DescribeDBParameters* command to verify that your DB parameter group
# has been created or modified.
#
#
#
# [1]: https://console.aws.amazon.com/rds/
#
# @option params [required, String] :db_parameter_group_name
# The name of the DB parameter group.
#
# Constraints:
#
# * If supplied, must match the name of an existing `DBParameterGroup`.
#
# ^
#
# @option params [required, Array] :parameters
# An array of parameter names, values, and the apply method for the
# parameter update. At least one parameter name, value, and apply method
# must be supplied; later arguments are optional. A maximum of 20
# parameters can be modified in a single request.
#
# Valid Values (for the application method): `immediate |
# pending-reboot`
#
# You can use the immediate value with dynamic parameters only. You can
# use the pending-reboot value for both dynamic and static parameters,
# and changes are applied when you reboot the DB instance without
# failover.
#
#
#
# @return [Types::DBParameterGroupNameMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DBParameterGroupNameMessage#db_parameter_group_name #db_parameter_group_name} => String
#
#
# @example Example: To change DB parameter group settings
#
# # This example immediately changes the specified setting for the specified DB parameter group.
#
# resp = client.modify_db_parameter_group({
# db_parameter_group_name: "mymysqlparametergroup",
# parameters: [
# {
# apply_method: "immediate",
# parameter_name: "time_zone",
# parameter_value: "America/Phoenix",
# },
# ],
# })
#
# resp.to_h outputs the following:
# {
# }
#
# @example Request syntax with placeholder values
#
# resp = client.modify_db_parameter_group({
# db_parameter_group_name: "String", # required
# parameters: [ # required
# {
# parameter_name: "String",
# parameter_value: "String",
# description: "String",
# source: "String",
# apply_type: "String",
# data_type: "String",
# allowed_values: "String",
# is_modifiable: false,
# minimum_engine_version: "String",
# apply_method: "immediate", # accepts immediate, pending-reboot
# supported_engine_modes: ["String"],
# },
# ],
# })
#
# @example Response structure
#
# resp.db_parameter_group_name #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBParameterGroup AWS API Documentation
#
# @overload modify_db_parameter_group(params = {})
# @param [Hash] params ({})
def modify_db_parameter_group(params = {}, options = {})
req = build_request(:modify_db_parameter_group, params)
req.send_request(options)
end
# Changes the settings for an existing DB proxy.
#
# @option params [required, String] :db_proxy_name
# The identifier for the `DBProxy` to modify.
#
# @option params [String] :new_db_proxy_name
# The new identifier for the `DBProxy`. 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.
#
# @option params [Array] :auth
# The new authentication settings for the `DBProxy`.
#
# @option params [Boolean] :require_tls
# 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, even if the associated
# database doesn't use TLS.
#
# @option params [Integer] :idle_client_timeout
# 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.
#
# @option params [Boolean] :debug_logging
# 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.
#
# @option params [String] :role_arn
# The Amazon Resource Name (ARN) of the IAM role that the proxy uses to
# access secrets in AWS Secrets Manager.
#
# @option params [Array] :security_groups
# The new list of security groups for the `DBProxy`.
#
# @return [Types::ModifyDBProxyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::ModifyDBProxyResponse#db_proxy #db_proxy} => Types::DBProxy
#
# @example Request syntax with placeholder values
#
# resp = client.modify_db_proxy({
# db_proxy_name: "String", # required
# new_db_proxy_name: "String",
# auth: [
# {
# description: "String",
# user_name: "String",
# auth_scheme: "SECRETS", # accepts SECRETS
# secret_arn: "String",
# iam_auth: "DISABLED", # accepts DISABLED, REQUIRED
# },
# ],
# require_tls: false,
# idle_client_timeout: 1,
# debug_logging: false,
# role_arn: "String",
# security_groups: ["String"],
# })
#
# @example Response structure
#
# resp.db_proxy.db_proxy_name #=> String
# resp.db_proxy.db_proxy_arn #=> String
# resp.db_proxy.status #=> String, one of "available", "modifying", "incompatible-network", "insufficient-resource-limits", "creating", "deleting", "suspended", "suspending", "reactivating"
# resp.db_proxy.engine_family #=> String
# resp.db_proxy.vpc_security_group_ids #=> Array
# resp.db_proxy.vpc_security_group_ids[0] #=> String
# resp.db_proxy.vpc_subnet_ids #=> Array
# resp.db_proxy.vpc_subnet_ids[0] #=> String
# resp.db_proxy.auth #=> Array
# resp.db_proxy.auth[0].description #=> String
# resp.db_proxy.auth[0].user_name #=> String
# resp.db_proxy.auth[0].auth_scheme #=> String, one of "SECRETS"
# resp.db_proxy.auth[0].secret_arn #=> String
# resp.db_proxy.auth[0].iam_auth #=> String, one of "DISABLED", "REQUIRED"
# resp.db_proxy.role_arn #=> String
# resp.db_proxy.endpoint #=> String
# resp.db_proxy.require_tls #=> Boolean
# resp.db_proxy.idle_client_timeout #=> Integer
# resp.db_proxy.debug_logging #=> Boolean
# resp.db_proxy.created_date #=> Time
# resp.db_proxy.updated_date #=> Time
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBProxy AWS API Documentation
#
# @overload modify_db_proxy(params = {})
# @param [Hash] params ({})
def modify_db_proxy(params = {}, options = {})
req = build_request(:modify_db_proxy, params)
req.send_request(options)
end
# Modifies the properties of a `DBProxyTargetGroup`.
#
# @option params [required, String] :target_group_name
# The name of the new target group to assign to the proxy.
#
# @option params [required, String] :db_proxy_name
# The name of the new proxy to which to assign the target group.
#
# @option params [Types::ConnectionPoolConfiguration] :connection_pool_config
# The settings that determine the size and behavior of the connection
# pool for the target group.
#
# @option params [String] :new_name
# The new name for the modified `DBProxyTarget`. 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.
#
# @return [Types::ModifyDBProxyTargetGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::ModifyDBProxyTargetGroupResponse#db_proxy_target_group #db_proxy_target_group} => Types::DBProxyTargetGroup
#
# @example Request syntax with placeholder values
#
# resp = client.modify_db_proxy_target_group({
# target_group_name: "String", # required
# db_proxy_name: "String", # required
# connection_pool_config: {
# max_connections_percent: 1,
# max_idle_connections_percent: 1,
# connection_borrow_timeout: 1,
# session_pinning_filters: ["String"],
# init_query: "String",
# },
# new_name: "String",
# })
#
# @example Response structure
#
# resp.db_proxy_target_group.db_proxy_name #=> String
# resp.db_proxy_target_group.target_group_name #=> String
# resp.db_proxy_target_group.target_group_arn #=> String
# resp.db_proxy_target_group.is_default #=> Boolean
# resp.db_proxy_target_group.status #=> String
# resp.db_proxy_target_group.connection_pool_config.max_connections_percent #=> Integer
# resp.db_proxy_target_group.connection_pool_config.max_idle_connections_percent #=> Integer
# resp.db_proxy_target_group.connection_pool_config.connection_borrow_timeout #=> Integer
# resp.db_proxy_target_group.connection_pool_config.session_pinning_filters #=> Array
# resp.db_proxy_target_group.connection_pool_config.session_pinning_filters[0] #=> String
# resp.db_proxy_target_group.connection_pool_config.init_query #=> String
# resp.db_proxy_target_group.created_date #=> Time
# resp.db_proxy_target_group.updated_date #=> Time
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBProxyTargetGroup AWS API Documentation
#
# @overload modify_db_proxy_target_group(params = {})
# @param [Hash] params ({})
def modify_db_proxy_target_group(params = {}, options = {})
req = build_request(:modify_db_proxy_target_group, params)
req.send_request(options)
end
# Updates a manual DB snapshot with a new engine version. The snapshot
# can be encrypted or unencrypted, but not shared or public.
#
# Amazon RDS supports upgrading DB snapshots for MySQL, Oracle, and
# PostgreSQL.
#
# @option params [required, String] :db_snapshot_identifier
# The identifier of the DB snapshot to modify.
#
# @option params [String] :engine_version
# The engine version to upgrade the DB snapshot to.
#
# The following are the database engines and engine versions that are
# available when you upgrade a DB snapshot.
#
# **MySQL**
#
# * `5.5.46` (supported for 5.1 DB snapshots)
#
# ^
#
# **Oracle**
#
# * `12.1.0.2.v8` (supported for 12.1.0.1 DB snapshots)
#
# * `11.2.0.4.v12` (supported for 11.2.0.2 DB snapshots)
#
# * `11.2.0.4.v11` (supported for 11.2.0.3 DB snapshots)
#
# **PostgreSQL**
#
# For the list of engine versions that are available for upgrading a DB
# snapshot, see [ Upgrading the PostgreSQL DB Engine for Amazon RDS][1].
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.PostgreSQL.html#USER_UpgradeDBInstance.PostgreSQL.MajorVersion
#
# @option params [String] :option_group_name
# The option group to identify with the upgraded DB snapshot.
#
# You can specify this parameter when you upgrade an Oracle DB snapshot.
# The same option group considerations apply when upgrading a DB
# snapshot as when upgrading a DB instance. For more information, see
# [Option Group Considerations][1] in the *Amazon RDS User Guide.*
#
#
#
# [1]: http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Oracle.html#USER_UpgradeDBInstance.Oracle.OGPG.OG
#
# @return [Types::ModifyDBSnapshotResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::ModifyDBSnapshotResult#db_snapshot #db_snapshot} => Types::DBSnapshot
#
# @example Request syntax with placeholder values
#
# resp = client.modify_db_snapshot({
# db_snapshot_identifier: "String", # required
# engine_version: "String",
# option_group_name: "String",
# })
#
# @example Response structure
#
# resp.db_snapshot.db_snapshot_identifier #=> String
# resp.db_snapshot.db_instance_identifier #=> String
# resp.db_snapshot.snapshot_create_time #=> Time
# resp.db_snapshot.engine #=> String
# resp.db_snapshot.allocated_storage #=> Integer
# resp.db_snapshot.status #=> String
# resp.db_snapshot.port #=> Integer
# resp.db_snapshot.availability_zone #=> String
# resp.db_snapshot.vpc_id #=> String
# resp.db_snapshot.instance_create_time #=> Time
# resp.db_snapshot.master_username #=> String
# resp.db_snapshot.engine_version #=> String
# resp.db_snapshot.license_model #=> String
# resp.db_snapshot.snapshot_type #=> String
# resp.db_snapshot.iops #=> Integer
# resp.db_snapshot.option_group_name #=> String
# resp.db_snapshot.percent_progress #=> Integer
# resp.db_snapshot.source_region #=> String
# resp.db_snapshot.source_db_snapshot_identifier #=> String
# resp.db_snapshot.storage_type #=> String
# resp.db_snapshot.tde_credential_arn #=> String
# resp.db_snapshot.encrypted #=> Boolean
# resp.db_snapshot.kms_key_id #=> String
# resp.db_snapshot.db_snapshot_arn #=> String
# resp.db_snapshot.timezone #=> String
# resp.db_snapshot.iam_database_authentication_enabled #=> Boolean
# resp.db_snapshot.processor_features #=> Array
# resp.db_snapshot.processor_features[0].name #=> String
# resp.db_snapshot.processor_features[0].value #=> String
# resp.db_snapshot.dbi_resource_id #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSnapshot AWS API Documentation
#
# @overload modify_db_snapshot(params = {})
# @param [Hash] params ({})
def modify_db_snapshot(params = {}, options = {})
req = build_request(:modify_db_snapshot, params)
req.send_request(options)
end
# Adds an attribute and values to, or removes an attribute and values
# from, a manual DB snapshot.
#
# To share a manual DB snapshot with other AWS accounts, specify
# `restore` as the `AttributeName` and use the `ValuesToAdd` parameter
# to add a list of IDs of the AWS accounts that are authorized to
# restore the manual DB snapshot. Uses the value `all` to make the
# manual DB snapshot public, which means it can be copied or restored by
# all AWS accounts.
#
# Don't add the `all` value for any manual DB snapshots that contain
# private information that you don't want available to all AWS
# accounts.
#
#
#
# If the manual DB snapshot is encrypted, it can be shared, but only by
# specifying a list of authorized AWS account IDs for the `ValuesToAdd`
# parameter. You can't use `all` as a value for that parameter in this
# case.
#
# To view which AWS accounts have access to copy or restore a manual DB
# snapshot, or whether a manual DB snapshot public or private, use the
# DescribeDBSnapshotAttributes API action. The accounts are returned as
# values for the `restore` attribute.
#
# @option params [required, String] :db_snapshot_identifier
# The identifier for the DB snapshot to modify the attributes for.
#
# @option params [required, String] :attribute_name
# The name of the DB snapshot attribute to modify.
#
# To manage authorization for other AWS accounts to copy or restore a
# manual DB snapshot, set this value to `restore`.
#
# To view the list of attributes available to modify, use the
# DescribeDBSnapshotAttributes API action.
#
#
#
# @option params [Array] :values_to_add
# A list of DB snapshot attributes to add to the attribute specified by
# `AttributeName`.
#
# To authorize other AWS accounts to copy or restore a manual snapshot,
# set this list to include one or more AWS account IDs, or `all` to make
# the manual DB snapshot restorable by any AWS account. Do not add the
# `all` value for any manual DB snapshots that contain private
# information that you don't want available to all AWS accounts.
#
# @option params [Array] :values_to_remove
# A list of DB snapshot attributes to remove from the attribute
# specified by `AttributeName`.
#
# To remove authorization for other AWS accounts to copy or restore a
# manual snapshot, set this list to include one or more AWS account
# identifiers, or `all` to remove authorization for any AWS account to
# copy or restore the DB snapshot. If you specify `all`, an AWS account
# whose account ID is explicitly added to the `restore` attribute can
# still copy or restore the manual DB snapshot.
#
# @return [Types::ModifyDBSnapshotAttributeResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::ModifyDBSnapshotAttributeResult#db_snapshot_attributes_result #db_snapshot_attributes_result} => Types::DBSnapshotAttributesResult
#
#
# @example Example: To change DB snapshot attributes
#
# # This example adds the specified attribute for the specified DB snapshot.
#
# resp = client.modify_db_snapshot_attribute({
# attribute_name: "restore",
# db_snapshot_identifier: "mydbsnapshot",
# values_to_add: [
# "all",
# ],
# })
#
# resp.to_h outputs the following:
# {
# db_snapshot_attributes_result: {
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.modify_db_snapshot_attribute({
# db_snapshot_identifier: "String", # required
# attribute_name: "String", # required
# values_to_add: ["String"],
# values_to_remove: ["String"],
# })
#
# @example Response structure
#
# resp.db_snapshot_attributes_result.db_snapshot_identifier #=> String
# resp.db_snapshot_attributes_result.db_snapshot_attributes #=> Array
# resp.db_snapshot_attributes_result.db_snapshot_attributes[0].attribute_name #=> String
# resp.db_snapshot_attributes_result.db_snapshot_attributes[0].attribute_values #=> Array
# resp.db_snapshot_attributes_result.db_snapshot_attributes[0].attribute_values[0] #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSnapshotAttribute AWS API Documentation
#
# @overload modify_db_snapshot_attribute(params = {})
# @param [Hash] params ({})
def modify_db_snapshot_attribute(params = {}, options = {})
req = build_request(:modify_db_snapshot_attribute, params)
req.send_request(options)
end
# Modifies an existing DB subnet group. DB subnet groups must contain at
# least one subnet in at least two AZs in the AWS Region.
#
# @option params [required, String] :db_subnet_group_name
# The name for the DB subnet group. This value is stored as a lowercase
# string. You can't modify the default subnet group.
#
# Constraints: Must match the name of an existing DBSubnetGroup. Must
# not be default.
#
# Example: `mySubnetgroup`
#
# @option params [String] :db_subnet_group_description
# The description for the DB subnet group.
#
# @option params [required, Array] :subnet_ids
# The EC2 subnet IDs for the DB subnet group.
#
# @return [Types::ModifyDBSubnetGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::ModifyDBSubnetGroupResult#db_subnet_group #db_subnet_group} => Types::DBSubnetGroup
#
#
# @example Example: To change DB subnet group settings
#
# # This example changes the specified setting for the specified DB subnet group.
#
# resp = client.modify_db_subnet_group({
# db_subnet_group_name: "mydbsubnetgroup",
# subnet_ids: [
# "subnet-70e1975a",
# "subnet-747a5c49",
# ],
# })
#
# resp.to_h outputs the following:
# {
# db_subnet_group: {
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.modify_db_subnet_group({
# db_subnet_group_name: "String", # required
# db_subnet_group_description: "String",
# subnet_ids: ["String"], # required
# })
#
# @example Response structure
#
# resp.db_subnet_group.db_subnet_group_name #=> String
# resp.db_subnet_group.db_subnet_group_description #=> String
# resp.db_subnet_group.vpc_id #=> String
# resp.db_subnet_group.subnet_group_status #=> String
# resp.db_subnet_group.subnets #=> Array
# resp.db_subnet_group.subnets[0].subnet_identifier #=> String
# resp.db_subnet_group.subnets[0].subnet_availability_zone.name #=> String
# resp.db_subnet_group.subnets[0].subnet_status #=> String
# resp.db_subnet_group.db_subnet_group_arn #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSubnetGroup AWS API Documentation
#
# @overload modify_db_subnet_group(params = {})
# @param [Hash] params ({})
def modify_db_subnet_group(params = {}, options = {})
req = build_request(:modify_db_subnet_group, params)
req.send_request(options)
end
# Modifies an existing RDS event notification subscription. You can't
# modify the source identifiers using this call. To change source
# identifiers for a subscription, use the
# `AddSourceIdentifierToSubscription` and
# `RemoveSourceIdentifierFromSubscription` calls.
#
# You can see a list of the event categories for a given SourceType in
# the [Events][1] topic in the *Amazon RDS User Guide* or by using the
# **DescribeEventCategories** action.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html
#
# @option params [required, String] :subscription_name
# The name of the RDS event notification subscription.
#
# @option params [String] :sns_topic_arn
# The Amazon Resource Name (ARN) of the SNS topic created for event
# notification. The ARN is created by Amazon SNS when you create a topic
# and subscribe to it.
#
# @option params [String] :source_type
# 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 would
# set this parameter to db-instance. If this value isn't specified, all
# events are returned.
#
# Valid values: db-instance \| db-parameter-group \| db-security-group
# \| db-snapshot
#
# @option params [Array] :event_categories
# A list of event categories for a SourceType that you want to subscribe
# to. You can see a list of the categories for a given SourceType in the
# [Events][1] topic in the *Amazon RDS User Guide* or by using the
# **DescribeEventCategories** action.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html
#
# @option params [Boolean] :enabled
# A value that indicates whether to activate the subscription.
#
# @return [Types::ModifyEventSubscriptionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::ModifyEventSubscriptionResult#event_subscription #event_subscription} => Types::EventSubscription
#
#
# @example Example: To change event notification subscription settings
#
# # This example changes the specified setting for the specified event notification subscription.
#
# resp = client.modify_event_subscription({
# enabled: true,
# event_categories: [
# "deletion",
# "low storage",
# ],
# source_type: "db-instance",
# subscription_name: "mymysqleventsubscription",
# })
#
# resp.to_h outputs the following:
# {
# event_subscription: {
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.modify_event_subscription({
# subscription_name: "String", # required
# sns_topic_arn: "String",
# source_type: "String",
# event_categories: ["String"],
# enabled: false,
# })
#
# @example Response structure
#
# resp.event_subscription.customer_aws_id #=> String
# resp.event_subscription.cust_subscription_id #=> String
# resp.event_subscription.sns_topic_arn #=> String
# resp.event_subscription.status #=> String
# resp.event_subscription.subscription_creation_time #=> String
# resp.event_subscription.source_type #=> String
# resp.event_subscription.source_ids_list #=> Array
# resp.event_subscription.source_ids_list[0] #=> String
# resp.event_subscription.event_categories_list #=> Array
# resp.event_subscription.event_categories_list[0] #=> String
# resp.event_subscription.enabled #=> Boolean
# resp.event_subscription.event_subscription_arn #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyEventSubscription AWS API Documentation
#
# @overload modify_event_subscription(params = {})
# @param [Hash] params ({})
def modify_event_subscription(params = {}, options = {})
req = build_request(:modify_event_subscription, params)
req.send_request(options)
end
# Modify a setting for an Amazon Aurora global cluster. You can change
# one or more database configuration parameters by specifying these
# parameters and the new values in the request. For more information on
# Amazon Aurora, see [ What Is Amazon Aurora?][1] in the *Amazon Aurora
# User Guide.*
#
# This action only applies to Aurora DB clusters.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html
#
# @option params [String] :global_cluster_identifier
# The DB cluster identifier for the global cluster being modified. This
# parameter isn't case-sensitive.
#
# Constraints:
#
# * Must match the identifier of an existing global database cluster.
#
# ^
#
# @option params [String] :new_global_cluster_identifier
# The new cluster identifier for the global database cluster when
# modifying a global database cluster. This value is stored as a
# lowercase string.
#
# Constraints:
#
# * Must contain from 1 to 63 letters, numbers, or hyphens
#
# * The first character must be a letter
#
# * Can't end with a hyphen or contain two consecutive hyphens
#
# Example: `my-cluster2`
#
# @option params [Boolean] :deletion_protection
# Indicates if the global database cluster has deletion protection
# enabled. The global database cluster can't be deleted when deletion
# protection is enabled.
#
# @return [Types::ModifyGlobalClusterResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::ModifyGlobalClusterResult#global_cluster #global_cluster} => Types::GlobalCluster
#
# @example Request syntax with placeholder values
#
# resp = client.modify_global_cluster({
# global_cluster_identifier: "String",
# new_global_cluster_identifier: "String",
# deletion_protection: false,
# })
#
# @example Response structure
#
# resp.global_cluster.global_cluster_identifier #=> String
# resp.global_cluster.global_cluster_resource_id #=> String
# resp.global_cluster.global_cluster_arn #=> String
# resp.global_cluster.status #=> String
# resp.global_cluster.engine #=> String
# resp.global_cluster.engine_version #=> String
# resp.global_cluster.database_name #=> String
# resp.global_cluster.storage_encrypted #=> Boolean
# resp.global_cluster.deletion_protection #=> Boolean
# resp.global_cluster.global_cluster_members #=> Array
# resp.global_cluster.global_cluster_members[0].db_cluster_arn #=> String
# resp.global_cluster.global_cluster_members[0].readers #=> Array
# resp.global_cluster.global_cluster_members[0].readers[0] #=> String
# resp.global_cluster.global_cluster_members[0].is_writer #=> Boolean
# resp.global_cluster.global_cluster_members[0].global_write_forwarding_status #=> String, one of "enabled", "disabled", "enabling", "disabling", "unknown"
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyGlobalCluster AWS API Documentation
#
# @overload modify_global_cluster(params = {})
# @param [Hash] params ({})
def modify_global_cluster(params = {}, options = {})
req = build_request(:modify_global_cluster, params)
req.send_request(options)
end
# Modifies an existing option group.
#
# @option params [required, String] :option_group_name
# The name of the option group to be modified.
#
# Permanent options, such as the TDE option for Oracle Advanced Security
# TDE, can't be removed from an option group, and that option group
# can't be removed from a DB instance once it is associated with a DB
# instance
#
# @option params [Array] :options_to_include
# Options in this list are added to the option group or, if already
# present, the specified configuration is used to update the existing
# configuration.
#
# @option params [Array] :options_to_remove
# Options in this list are removed from the option group.
#
# @option params [Boolean] :apply_immediately
# A value that indicates whether to apply the change immediately or
# during the next maintenance window for each instance associated with
# the option group.
#
# @return [Types::ModifyOptionGroupResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::ModifyOptionGroupResult#option_group #option_group} => Types::OptionGroup
#
#
# @example Example: To modify an option group
#
# # The following example adds an option to an option group.
#
# resp = client.modify_option_group({
# apply_immediately: true,
# option_group_name: "myawsuser-og02",
# options_to_include: [
# {
# db_security_group_memberships: [
# "default",
# ],
# option_name: "MEMCACHED",
# },
# ],
# })
#
# resp.to_h outputs the following:
# {
# option_group: {
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.modify_option_group({
# option_group_name: "String", # required
# options_to_include: [
# {
# option_name: "String", # required
# port: 1,
# option_version: "String",
# db_security_group_memberships: ["String"],
# vpc_security_group_memberships: ["String"],
# option_settings: [
# {
# name: "String",
# value: "String",
# default_value: "String",
# description: "String",
# apply_type: "String",
# data_type: "String",
# allowed_values: "String",
# is_modifiable: false,
# is_collection: false,
# },
# ],
# },
# ],
# options_to_remove: ["String"],
# apply_immediately: false,
# })
#
# @example Response structure
#
# resp.option_group.option_group_name #=> String
# resp.option_group.option_group_description #=> String
# resp.option_group.engine_name #=> String
# resp.option_group.major_engine_version #=> String
# resp.option_group.options #=> Array
# resp.option_group.options[0].option_name #=> String
# resp.option_group.options[0].option_description #=> String
# resp.option_group.options[0].persistent #=> Boolean
# resp.option_group.options[0].permanent #=> Boolean
# resp.option_group.options[0].port #=> Integer
# resp.option_group.options[0].option_version #=> String
# resp.option_group.options[0].option_settings #=> Array
# resp.option_group.options[0].option_settings[0].name #=> String
# resp.option_group.options[0].option_settings[0].value #=> String
# resp.option_group.options[0].option_settings[0].default_value #=> String
# resp.option_group.options[0].option_settings[0].description #=> String
# resp.option_group.options[0].option_settings[0].apply_type #=> String
# resp.option_group.options[0].option_settings[0].data_type #=> String
# resp.option_group.options[0].option_settings[0].allowed_values #=> String
# resp.option_group.options[0].option_settings[0].is_modifiable #=> Boolean
# resp.option_group.options[0].option_settings[0].is_collection #=> Boolean
# resp.option_group.options[0].db_security_group_memberships #=> Array
# resp.option_group.options[0].db_security_group_memberships[0].db_security_group_name #=> String
# resp.option_group.options[0].db_security_group_memberships[0].status #=> String
# resp.option_group.options[0].vpc_security_group_memberships #=> Array
# resp.option_group.options[0].vpc_security_group_memberships[0].vpc_security_group_id #=> String
# resp.option_group.options[0].vpc_security_group_memberships[0].status #=> String
# resp.option_group.allows_vpc_and_non_vpc_instance_memberships #=> Boolean
# resp.option_group.vpc_id #=> String
# resp.option_group.option_group_arn #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyOptionGroup AWS API Documentation
#
# @overload modify_option_group(params = {})
# @param [Hash] params ({})
def modify_option_group(params = {}, options = {})
req = build_request(:modify_option_group, params)
req.send_request(options)
end
# Promotes a read replica DB instance to a standalone DB instance.
#
# * Backup duration is a function of the amount of changes to the
# database since the previous backup. If you plan to promote a read
# replica to a standalone instance, we recommend that you enable
# backups and complete at least one backup prior to promotion. In
# addition, a read replica cannot be promoted to a standalone instance
# when it is in the `backing-up` status. If you have enabled backups
# on your read replica, configure the automated backup window so that
# daily backups do not interfere with read replica promotion.
#
# * This command doesn't apply to Aurora MySQL and Aurora PostgreSQL.
#
#
#
# @option params [required, String] :db_instance_identifier
# The DB instance identifier. This value is stored as a lowercase
# string.
#
# Constraints:
#
# * Must match the identifier of an existing read replica DB instance.
#
# ^
#
# Example: `mydbinstance`
#
# @option params [Integer] :backup_retention_period
# 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.
#
# 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.
#
# @option params [String] :preferred_backup_window
# 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 AWS Region. To see the time blocks available,
# see [ Adjusting the Preferred Maintenance Window][1] in the *Amazon
# RDS 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.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html
#
# @return [Types::PromoteReadReplicaResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::PromoteReadReplicaResult#db_instance #db_instance} => Types::DBInstance
#
#
# @example Example: To promote a read replica
#
# # This example promotes the specified read replica and sets its backup retention period and preferred backup window.
#
# resp = client.promote_read_replica({
# backup_retention_period: 1,
# db_instance_identifier: "mydbreadreplica",
# preferred_backup_window: "03:30-04:00",
# })
#
# resp.to_h outputs the following:
# {
# db_instance: {
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.promote_read_replica({
# db_instance_identifier: "String", # required
# backup_retention_period: 1,
# preferred_backup_window: "String",
# })
#
# @example Response structure
#
# resp.db_instance.db_instance_identifier #=> String
# resp.db_instance.db_instance_class #=> String
# resp.db_instance.engine #=> String
# resp.db_instance.db_instance_status #=> String
# resp.db_instance.master_username #=> String
# resp.db_instance.db_name #=> String
# resp.db_instance.endpoint.address #=> String
# resp.db_instance.endpoint.port #=> Integer
# resp.db_instance.endpoint.hosted_zone_id #=> String
# resp.db_instance.allocated_storage #=> Integer
# resp.db_instance.instance_create_time #=> Time
# resp.db_instance.preferred_backup_window #=> String
# resp.db_instance.backup_retention_period #=> Integer
# resp.db_instance.db_security_groups #=> Array
# resp.db_instance.db_security_groups[0].db_security_group_name #=> String
# resp.db_instance.db_security_groups[0].status #=> String
# resp.db_instance.vpc_security_groups #=> Array
# resp.db_instance.vpc_security_groups[0].vpc_security_group_id #=> String
# resp.db_instance.vpc_security_groups[0].status #=> String
# resp.db_instance.db_parameter_groups #=> Array
# resp.db_instance.db_parameter_groups[0].db_parameter_group_name #=> String
# resp.db_instance.db_parameter_groups[0].parameter_apply_status #=> String
# resp.db_instance.availability_zone #=> String
# resp.db_instance.db_subnet_group.db_subnet_group_name #=> String
# resp.db_instance.db_subnet_group.db_subnet_group_description #=> String
# resp.db_instance.db_subnet_group.vpc_id #=> String
# resp.db_instance.db_subnet_group.subnet_group_status #=> String
# resp.db_instance.db_subnet_group.subnets #=> Array
# resp.db_instance.db_subnet_group.subnets[0].subnet_identifier #=> String
# resp.db_instance.db_subnet_group.subnets[0].subnet_availability_zone.name #=> String
# resp.db_instance.db_subnet_group.subnets[0].subnet_status #=> String
# resp.db_instance.db_subnet_group.db_subnet_group_arn #=> String
# resp.db_instance.preferred_maintenance_window #=> String
# resp.db_instance.pending_modified_values.db_instance_class #=> String
# resp.db_instance.pending_modified_values.allocated_storage #=> Integer
# resp.db_instance.pending_modified_values.master_user_password #=> String
# resp.db_instance.pending_modified_values.port #=> Integer
# resp.db_instance.pending_modified_values.backup_retention_period #=> Integer
# resp.db_instance.pending_modified_values.multi_az #=> Boolean
# resp.db_instance.pending_modified_values.engine_version #=> String
# resp.db_instance.pending_modified_values.license_model #=> String
# resp.db_instance.pending_modified_values.iops #=> Integer
# resp.db_instance.pending_modified_values.db_instance_identifier #=> String
# resp.db_instance.pending_modified_values.storage_type #=> String
# resp.db_instance.pending_modified_values.ca_certificate_identifier #=> String
# resp.db_instance.pending_modified_values.db_subnet_group_name #=> String
# resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_enable #=> Array
# resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_enable[0] #=> String
# resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_disable #=> Array
# resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_disable[0] #=> String
# resp.db_instance.pending_modified_values.processor_features #=> Array
# resp.db_instance.pending_modified_values.processor_features[0].name #=> String
# resp.db_instance.pending_modified_values.processor_features[0].value #=> String
# resp.db_instance.latest_restorable_time #=> Time
# resp.db_instance.multi_az #=> Boolean
# resp.db_instance.engine_version #=> String
# resp.db_instance.auto_minor_version_upgrade #=> Boolean
# resp.db_instance.read_replica_source_db_instance_identifier #=> String
# resp.db_instance.read_replica_db_instance_identifiers #=> Array
# resp.db_instance.read_replica_db_instance_identifiers[0] #=> String
# resp.db_instance.read_replica_db_cluster_identifiers #=> Array
# resp.db_instance.read_replica_db_cluster_identifiers[0] #=> String
# resp.db_instance.license_model #=> String
# resp.db_instance.iops #=> Integer
# resp.db_instance.option_group_memberships #=> Array
# resp.db_instance.option_group_memberships[0].option_group_name #=> String
# resp.db_instance.option_group_memberships[0].status #=> String
# resp.db_instance.character_set_name #=> String
# resp.db_instance.secondary_availability_zone #=> String
# resp.db_instance.publicly_accessible #=> Boolean
# resp.db_instance.status_infos #=> Array
# resp.db_instance.status_infos[0].status_type #=> String
# resp.db_instance.status_infos[0].normal #=> Boolean
# resp.db_instance.status_infos[0].status #=> String
# resp.db_instance.status_infos[0].message #=> String
# resp.db_instance.storage_type #=> String
# resp.db_instance.tde_credential_arn #=> String
# resp.db_instance.db_instance_port #=> Integer
# resp.db_instance.db_cluster_identifier #=> String
# resp.db_instance.storage_encrypted #=> Boolean
# resp.db_instance.kms_key_id #=> String
# resp.db_instance.dbi_resource_id #=> String
# resp.db_instance.ca_certificate_identifier #=> String
# resp.db_instance.domain_memberships #=> Array
# resp.db_instance.domain_memberships[0].domain #=> String
# resp.db_instance.domain_memberships[0].status #=> String
# resp.db_instance.domain_memberships[0].fqdn #=> String
# resp.db_instance.domain_memberships[0].iam_role_name #=> String
# resp.db_instance.copy_tags_to_snapshot #=> Boolean
# resp.db_instance.monitoring_interval #=> Integer
# resp.db_instance.enhanced_monitoring_resource_arn #=> String
# resp.db_instance.monitoring_role_arn #=> String
# resp.db_instance.promotion_tier #=> Integer
# resp.db_instance.db_instance_arn #=> String
# resp.db_instance.timezone #=> String
# resp.db_instance.iam_database_authentication_enabled #=> Boolean
# resp.db_instance.performance_insights_enabled #=> Boolean
# resp.db_instance.performance_insights_kms_key_id #=> String
# resp.db_instance.performance_insights_retention_period #=> Integer
# resp.db_instance.enabled_cloudwatch_logs_exports #=> Array
# resp.db_instance.enabled_cloudwatch_logs_exports[0] #=> String
# resp.db_instance.processor_features #=> Array
# resp.db_instance.processor_features[0].name #=> String
# resp.db_instance.processor_features[0].value #=> String
# resp.db_instance.deletion_protection #=> Boolean
# resp.db_instance.associated_roles #=> Array
# resp.db_instance.associated_roles[0].role_arn #=> String
# resp.db_instance.associated_roles[0].feature_name #=> String
# resp.db_instance.associated_roles[0].status #=> String
# resp.db_instance.listener_endpoint.address #=> String
# resp.db_instance.listener_endpoint.port #=> Integer
# resp.db_instance.listener_endpoint.hosted_zone_id #=> String
# resp.db_instance.max_allocated_storage #=> Integer
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PromoteReadReplica AWS API Documentation
#
# @overload promote_read_replica(params = {})
# @param [Hash] params ({})
def promote_read_replica(params = {}, options = {})
req = build_request(:promote_read_replica, params)
req.send_request(options)
end
# Promotes a read replica DB cluster to a standalone DB cluster.
#
# This action only applies to Aurora DB clusters.
#
#
#
# @option params [required, String] :db_cluster_identifier
# The identifier of the DB cluster read replica to promote. This
# parameter isn't case-sensitive.
#
# Constraints:
#
# * Must match the identifier of an existing DB cluster read replica.
#
# ^
#
# Example: `my-cluster-replica1`
#
# @return [Types::PromoteReadReplicaDBClusterResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::PromoteReadReplicaDBClusterResult#db_cluster #db_cluster} => Types::DBCluster
#
# @example Request syntax with placeholder values
#
# resp = client.promote_read_replica_db_cluster({
# db_cluster_identifier: "String", # required
# })
#
# @example Response structure
#
# resp.db_cluster.allocated_storage #=> Integer
# resp.db_cluster.availability_zones #=> Array
# resp.db_cluster.availability_zones[0] #=> String
# resp.db_cluster.backup_retention_period #=> Integer
# resp.db_cluster.character_set_name #=> String
# resp.db_cluster.database_name #=> String
# resp.db_cluster.db_cluster_identifier #=> String
# resp.db_cluster.db_cluster_parameter_group #=> String
# resp.db_cluster.db_subnet_group #=> String
# resp.db_cluster.status #=> String
# resp.db_cluster.percent_progress #=> String
# resp.db_cluster.earliest_restorable_time #=> Time
# resp.db_cluster.endpoint #=> String
# resp.db_cluster.reader_endpoint #=> String
# resp.db_cluster.custom_endpoints #=> Array
# resp.db_cluster.custom_endpoints[0] #=> String
# resp.db_cluster.multi_az #=> Boolean
# resp.db_cluster.engine #=> String
# resp.db_cluster.engine_version #=> String
# resp.db_cluster.latest_restorable_time #=> Time
# resp.db_cluster.port #=> Integer
# resp.db_cluster.master_username #=> String
# resp.db_cluster.db_cluster_option_group_memberships #=> Array
# resp.db_cluster.db_cluster_option_group_memberships[0].db_cluster_option_group_name #=> String
# resp.db_cluster.db_cluster_option_group_memberships[0].status #=> String
# resp.db_cluster.preferred_backup_window #=> String
# resp.db_cluster.preferred_maintenance_window #=> String
# resp.db_cluster.replication_source_identifier #=> String
# resp.db_cluster.read_replica_identifiers #=> Array
# resp.db_cluster.read_replica_identifiers[0] #=> String
# resp.db_cluster.db_cluster_members #=> Array
# resp.db_cluster.db_cluster_members[0].db_instance_identifier #=> String
# resp.db_cluster.db_cluster_members[0].is_cluster_writer #=> Boolean
# resp.db_cluster.db_cluster_members[0].db_cluster_parameter_group_status #=> String
# resp.db_cluster.db_cluster_members[0].promotion_tier #=> Integer
# resp.db_cluster.vpc_security_groups #=> Array
# resp.db_cluster.vpc_security_groups[0].vpc_security_group_id #=> String
# resp.db_cluster.vpc_security_groups[0].status #=> String
# resp.db_cluster.hosted_zone_id #=> String
# resp.db_cluster.storage_encrypted #=> Boolean
# resp.db_cluster.kms_key_id #=> String
# resp.db_cluster.db_cluster_resource_id #=> String
# resp.db_cluster.db_cluster_arn #=> String
# resp.db_cluster.associated_roles #=> Array
# resp.db_cluster.associated_roles[0].role_arn #=> String
# resp.db_cluster.associated_roles[0].status #=> String
# resp.db_cluster.associated_roles[0].feature_name #=> String
# resp.db_cluster.iam_database_authentication_enabled #=> Boolean
# resp.db_cluster.clone_group_id #=> String
# resp.db_cluster.cluster_create_time #=> Time
# resp.db_cluster.earliest_backtrack_time #=> Time
# resp.db_cluster.backtrack_window #=> Integer
# resp.db_cluster.backtrack_consumed_change_records #=> Integer
# resp.db_cluster.enabled_cloudwatch_logs_exports #=> Array
# resp.db_cluster.enabled_cloudwatch_logs_exports[0] #=> String
# resp.db_cluster.capacity #=> Integer
# resp.db_cluster.engine_mode #=> String
# resp.db_cluster.scaling_configuration_info.min_capacity #=> Integer
# resp.db_cluster.scaling_configuration_info.max_capacity #=> Integer
# resp.db_cluster.scaling_configuration_info.auto_pause #=> Boolean
# resp.db_cluster.scaling_configuration_info.seconds_until_auto_pause #=> Integer
# resp.db_cluster.scaling_configuration_info.timeout_action #=> String
# resp.db_cluster.deletion_protection #=> Boolean
# resp.db_cluster.http_endpoint_enabled #=> Boolean
# resp.db_cluster.activity_stream_mode #=> String, one of "sync", "async"
# resp.db_cluster.activity_stream_status #=> String, one of "stopped", "starting", "started", "stopping"
# resp.db_cluster.activity_stream_kms_key_id #=> String
# resp.db_cluster.activity_stream_kinesis_stream_name #=> String
# resp.db_cluster.copy_tags_to_snapshot #=> Boolean
# resp.db_cluster.cross_account_clone #=> Boolean
# resp.db_cluster.domain_memberships #=> Array
# resp.db_cluster.domain_memberships[0].domain #=> String
# resp.db_cluster.domain_memberships[0].status #=> String
# resp.db_cluster.domain_memberships[0].fqdn #=> String
# resp.db_cluster.domain_memberships[0].iam_role_name #=> String
# resp.db_cluster.global_write_forwarding_status #=> String, one of "enabled", "disabled", "enabling", "disabling", "unknown"
# resp.db_cluster.global_write_forwarding_requested #=> Boolean
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PromoteReadReplicaDBCluster AWS API Documentation
#
# @overload promote_read_replica_db_cluster(params = {})
# @param [Hash] params ({})
def promote_read_replica_db_cluster(params = {}, options = {})
req = build_request(:promote_read_replica_db_cluster, params)
req.send_request(options)
end
# Purchases a reserved DB instance offering.
#
# @option params [required, String] :reserved_db_instances_offering_id
# The ID of the Reserved DB instance offering to purchase.
#
# Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706
#
# @option params [String] :reserved_db_instance_id
# Customer-specified identifier to track this reservation.
#
# Example: myreservationID
#
# @option params [Integer] :db_instance_count
# The number of instances to reserve.
#
# Default: `1`
#
# @option params [Array] :tags
# A list of tags. For more information, see [Tagging Amazon RDS
# Resources][1] in the *Amazon RDS User Guide.*
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html
#
# @return [Types::PurchaseReservedDBInstancesOfferingResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::PurchaseReservedDBInstancesOfferingResult#reserved_db_instance #reserved_db_instance} => Types::ReservedDBInstance
#
#
# @example Example: To purchase a reserved DB instance offering
#
# # This example purchases a reserved DB instance offering that matches the specified settings.
#
# resp = client.purchase_reserved_db_instances_offering({
# reserved_db_instance_id: "myreservationid",
# reserved_db_instances_offering_id: "fb29428a-646d-4390-850e-5fe89926e727",
# })
#
# resp.to_h outputs the following:
# {
# reserved_db_instance: {
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.purchase_reserved_db_instances_offering({
# reserved_db_instances_offering_id: "String", # required
# reserved_db_instance_id: "String",
# db_instance_count: 1,
# tags: [
# {
# key: "String",
# value: "String",
# },
# ],
# })
#
# @example Response structure
#
# resp.reserved_db_instance.reserved_db_instance_id #=> String
# resp.reserved_db_instance.reserved_db_instances_offering_id #=> String
# resp.reserved_db_instance.db_instance_class #=> String
# resp.reserved_db_instance.start_time #=> Time
# resp.reserved_db_instance.duration #=> Integer
# resp.reserved_db_instance.fixed_price #=> Float
# resp.reserved_db_instance.usage_price #=> Float
# resp.reserved_db_instance.currency_code #=> String
# resp.reserved_db_instance.db_instance_count #=> Integer
# resp.reserved_db_instance.product_description #=> String
# resp.reserved_db_instance.offering_type #=> String
# resp.reserved_db_instance.multi_az #=> Boolean
# resp.reserved_db_instance.state #=> String
# resp.reserved_db_instance.recurring_charges #=> Array
# resp.reserved_db_instance.recurring_charges[0].recurring_charge_amount #=> Float
# resp.reserved_db_instance.recurring_charges[0].recurring_charge_frequency #=> String
# resp.reserved_db_instance.reserved_db_instance_arn #=> String
# resp.reserved_db_instance.lease_id #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PurchaseReservedDBInstancesOffering AWS API Documentation
#
# @overload purchase_reserved_db_instances_offering(params = {})
# @param [Hash] params ({})
def purchase_reserved_db_instances_offering(params = {}, options = {})
req = build_request(:purchase_reserved_db_instances_offering, params)
req.send_request(options)
end
# You might need to reboot your DB instance, usually for maintenance
# reasons. For example, if you make certain modifications, or if you
# change the DB parameter group associated with the DB instance, you
# must reboot the instance for the changes to take effect.
#
# Rebooting a DB instance restarts the database engine service.
# Rebooting a DB instance results in a momentary outage, during which
# the DB instance status is set to rebooting.
#
# For more information about rebooting, see [Rebooting a DB Instance][1]
# in the *Amazon RDS User Guide.*
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RebootInstance.html
#
# @option params [required, String] :db_instance_identifier
# The DB instance identifier. This parameter is stored as a lowercase
# string.
#
# Constraints:
#
# * Must match the identifier of an existing DBInstance.
#
# ^
#
# @option params [Boolean] :force_failover
# A value that indicates whether the reboot is conducted through a
# Multi-AZ failover.
#
# Constraint: You can't enable force failover if the instance isn't
# configured for Multi-AZ.
#
# @return [Types::RebootDBInstanceResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::RebootDBInstanceResult#db_instance #db_instance} => Types::DBInstance
#
#
# @example Example: To reboot a DB instance
#
# # This example reboots the specified DB instance without forcing a failover.
#
# resp = client.reboot_db_instance({
# db_instance_identifier: "mymysqlinstance",
# force_failover: false,
# })
#
# resp.to_h outputs the following:
# {
# db_instance: {
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.reboot_db_instance({
# db_instance_identifier: "String", # required
# force_failover: false,
# })
#
# @example Response structure
#
# resp.db_instance.db_instance_identifier #=> String
# resp.db_instance.db_instance_class #=> String
# resp.db_instance.engine #=> String
# resp.db_instance.db_instance_status #=> String
# resp.db_instance.master_username #=> String
# resp.db_instance.db_name #=> String
# resp.db_instance.endpoint.address #=> String
# resp.db_instance.endpoint.port #=> Integer
# resp.db_instance.endpoint.hosted_zone_id #=> String
# resp.db_instance.allocated_storage #=> Integer
# resp.db_instance.instance_create_time #=> Time
# resp.db_instance.preferred_backup_window #=> String
# resp.db_instance.backup_retention_period #=> Integer
# resp.db_instance.db_security_groups #=> Array
# resp.db_instance.db_security_groups[0].db_security_group_name #=> String
# resp.db_instance.db_security_groups[0].status #=> String
# resp.db_instance.vpc_security_groups #=> Array
# resp.db_instance.vpc_security_groups[0].vpc_security_group_id #=> String
# resp.db_instance.vpc_security_groups[0].status #=> String
# resp.db_instance.db_parameter_groups #=> Array
# resp.db_instance.db_parameter_groups[0].db_parameter_group_name #=> String
# resp.db_instance.db_parameter_groups[0].parameter_apply_status #=> String
# resp.db_instance.availability_zone #=> String
# resp.db_instance.db_subnet_group.db_subnet_group_name #=> String
# resp.db_instance.db_subnet_group.db_subnet_group_description #=> String
# resp.db_instance.db_subnet_group.vpc_id #=> String
# resp.db_instance.db_subnet_group.subnet_group_status #=> String
# resp.db_instance.db_subnet_group.subnets #=> Array
# resp.db_instance.db_subnet_group.subnets[0].subnet_identifier #=> String
# resp.db_instance.db_subnet_group.subnets[0].subnet_availability_zone.name #=> String
# resp.db_instance.db_subnet_group.subnets[0].subnet_status #=> String
# resp.db_instance.db_subnet_group.db_subnet_group_arn #=> String
# resp.db_instance.preferred_maintenance_window #=> String
# resp.db_instance.pending_modified_values.db_instance_class #=> String
# resp.db_instance.pending_modified_values.allocated_storage #=> Integer
# resp.db_instance.pending_modified_values.master_user_password #=> String
# resp.db_instance.pending_modified_values.port #=> Integer
# resp.db_instance.pending_modified_values.backup_retention_period #=> Integer
# resp.db_instance.pending_modified_values.multi_az #=> Boolean
# resp.db_instance.pending_modified_values.engine_version #=> String
# resp.db_instance.pending_modified_values.license_model #=> String
# resp.db_instance.pending_modified_values.iops #=> Integer
# resp.db_instance.pending_modified_values.db_instance_identifier #=> String
# resp.db_instance.pending_modified_values.storage_type #=> String
# resp.db_instance.pending_modified_values.ca_certificate_identifier #=> String
# resp.db_instance.pending_modified_values.db_subnet_group_name #=> String
# resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_enable #=> Array
# resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_enable[0] #=> String
# resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_disable #=> Array
# resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_disable[0] #=> String
# resp.db_instance.pending_modified_values.processor_features #=> Array
# resp.db_instance.pending_modified_values.processor_features[0].name #=> String
# resp.db_instance.pending_modified_values.processor_features[0].value #=> String
# resp.db_instance.latest_restorable_time #=> Time
# resp.db_instance.multi_az #=> Boolean
# resp.db_instance.engine_version #=> String
# resp.db_instance.auto_minor_version_upgrade #=> Boolean
# resp.db_instance.read_replica_source_db_instance_identifier #=> String
# resp.db_instance.read_replica_db_instance_identifiers #=> Array
# resp.db_instance.read_replica_db_instance_identifiers[0] #=> String
# resp.db_instance.read_replica_db_cluster_identifiers #=> Array
# resp.db_instance.read_replica_db_cluster_identifiers[0] #=> String
# resp.db_instance.license_model #=> String
# resp.db_instance.iops #=> Integer
# resp.db_instance.option_group_memberships #=> Array
# resp.db_instance.option_group_memberships[0].option_group_name #=> String
# resp.db_instance.option_group_memberships[0].status #=> String
# resp.db_instance.character_set_name #=> String
# resp.db_instance.secondary_availability_zone #=> String
# resp.db_instance.publicly_accessible #=> Boolean
# resp.db_instance.status_infos #=> Array
# resp.db_instance.status_infos[0].status_type #=> String
# resp.db_instance.status_infos[0].normal #=> Boolean
# resp.db_instance.status_infos[0].status #=> String
# resp.db_instance.status_infos[0].message #=> String
# resp.db_instance.storage_type #=> String
# resp.db_instance.tde_credential_arn #=> String
# resp.db_instance.db_instance_port #=> Integer
# resp.db_instance.db_cluster_identifier #=> String
# resp.db_instance.storage_encrypted #=> Boolean
# resp.db_instance.kms_key_id #=> String
# resp.db_instance.dbi_resource_id #=> String
# resp.db_instance.ca_certificate_identifier #=> String
# resp.db_instance.domain_memberships #=> Array
# resp.db_instance.domain_memberships[0].domain #=> String
# resp.db_instance.domain_memberships[0].status #=> String
# resp.db_instance.domain_memberships[0].fqdn #=> String
# resp.db_instance.domain_memberships[0].iam_role_name #=> String
# resp.db_instance.copy_tags_to_snapshot #=> Boolean
# resp.db_instance.monitoring_interval #=> Integer
# resp.db_instance.enhanced_monitoring_resource_arn #=> String
# resp.db_instance.monitoring_role_arn #=> String
# resp.db_instance.promotion_tier #=> Integer
# resp.db_instance.db_instance_arn #=> String
# resp.db_instance.timezone #=> String
# resp.db_instance.iam_database_authentication_enabled #=> Boolean
# resp.db_instance.performance_insights_enabled #=> Boolean
# resp.db_instance.performance_insights_kms_key_id #=> String
# resp.db_instance.performance_insights_retention_period #=> Integer
# resp.db_instance.enabled_cloudwatch_logs_exports #=> Array
# resp.db_instance.enabled_cloudwatch_logs_exports[0] #=> String
# resp.db_instance.processor_features #=> Array
# resp.db_instance.processor_features[0].name #=> String
# resp.db_instance.processor_features[0].value #=> String
# resp.db_instance.deletion_protection #=> Boolean
# resp.db_instance.associated_roles #=> Array
# resp.db_instance.associated_roles[0].role_arn #=> String
# resp.db_instance.associated_roles[0].feature_name #=> String
# resp.db_instance.associated_roles[0].status #=> String
# resp.db_instance.listener_endpoint.address #=> String
# resp.db_instance.listener_endpoint.port #=> Integer
# resp.db_instance.listener_endpoint.hosted_zone_id #=> String
# resp.db_instance.max_allocated_storage #=> Integer
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RebootDBInstance AWS API Documentation
#
# @overload reboot_db_instance(params = {})
# @param [Hash] params ({})
def reboot_db_instance(params = {}, options = {})
req = build_request(:reboot_db_instance, params)
req.send_request(options)
end
# Associate one or more `DBProxyTarget` data structures with a
# `DBProxyTargetGroup`.
#
# @option params [required, String] :db_proxy_name
# The identifier of the `DBProxy` that is associated with the
# `DBProxyTargetGroup`.
#
# @option params [String] :target_group_name
# The identifier of the `DBProxyTargetGroup`.
#
# @option params [Array] :db_instance_identifiers
# One or more DB instance identifiers.
#
# @option params [Array] :db_cluster_identifiers
# One or more DB cluster identifiers.
#
# @return [Types::RegisterDBProxyTargetsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::RegisterDBProxyTargetsResponse#db_proxy_targets #db_proxy_targets} => Array<Types::DBProxyTarget>
#
# @example Request syntax with placeholder values
#
# resp = client.register_db_proxy_targets({
# db_proxy_name: "String", # required
# target_group_name: "String",
# db_instance_identifiers: ["String"],
# db_cluster_identifiers: ["String"],
# })
#
# @example Response structure
#
# resp.db_proxy_targets #=> Array
# resp.db_proxy_targets[0].target_arn #=> String
# resp.db_proxy_targets[0].endpoint #=> String
# resp.db_proxy_targets[0].tracked_cluster_id #=> String
# resp.db_proxy_targets[0].rds_resource_id #=> String
# resp.db_proxy_targets[0].port #=> Integer
# resp.db_proxy_targets[0].type #=> String, one of "RDS_INSTANCE", "RDS_SERVERLESS_ENDPOINT", "TRACKED_CLUSTER"
# resp.db_proxy_targets[0].target_health.state #=> String, one of "REGISTERING", "AVAILABLE", "UNAVAILABLE"
# resp.db_proxy_targets[0].target_health.reason #=> String, one of "UNREACHABLE", "CONNECTION_FAILED", "AUTH_FAILURE", "PENDING_PROXY_CAPACITY"
# resp.db_proxy_targets[0].target_health.description #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RegisterDBProxyTargets AWS API Documentation
#
# @overload register_db_proxy_targets(params = {})
# @param [Hash] params ({})
def register_db_proxy_targets(params = {}, options = {})
req = build_request(:register_db_proxy_targets, params)
req.send_request(options)
end
# Detaches an Aurora secondary cluster from an Aurora global database
# cluster. The cluster becomes a standalone cluster with read-write
# capability instead of being read-only and receiving data from a
# primary cluster in a different region.
#
# This action only applies to Aurora DB clusters.
#
#
#
# @option params [String] :global_cluster_identifier
# The cluster identifier to detach from the Aurora global database
# cluster.
#
# @option params [String] :db_cluster_identifier
# The Amazon Resource Name (ARN) identifying the cluster that was
# detached from the Aurora global database cluster.
#
# @return [Types::RemoveFromGlobalClusterResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::RemoveFromGlobalClusterResult#global_cluster #global_cluster} => Types::GlobalCluster
#
# @example Request syntax with placeholder values
#
# resp = client.remove_from_global_cluster({
# global_cluster_identifier: "String",
# db_cluster_identifier: "String",
# })
#
# @example Response structure
#
# resp.global_cluster.global_cluster_identifier #=> String
# resp.global_cluster.global_cluster_resource_id #=> String
# resp.global_cluster.global_cluster_arn #=> String
# resp.global_cluster.status #=> String
# resp.global_cluster.engine #=> String
# resp.global_cluster.engine_version #=> String
# resp.global_cluster.database_name #=> String
# resp.global_cluster.storage_encrypted #=> Boolean
# resp.global_cluster.deletion_protection #=> Boolean
# resp.global_cluster.global_cluster_members #=> Array
# resp.global_cluster.global_cluster_members[0].db_cluster_arn #=> String
# resp.global_cluster.global_cluster_members[0].readers #=> Array
# resp.global_cluster.global_cluster_members[0].readers[0] #=> String
# resp.global_cluster.global_cluster_members[0].is_writer #=> Boolean
# resp.global_cluster.global_cluster_members[0].global_write_forwarding_status #=> String, one of "enabled", "disabled", "enabling", "disabling", "unknown"
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveFromGlobalCluster AWS API Documentation
#
# @overload remove_from_global_cluster(params = {})
# @param [Hash] params ({})
def remove_from_global_cluster(params = {}, options = {})
req = build_request(:remove_from_global_cluster, params)
req.send_request(options)
end
# Disassociates an AWS Identity and Access Management (IAM) role from an
# Amazon Aurora DB cluster. For more information, see [Authorizing
# Amazon Aurora MySQL to Access Other AWS Services on Your Behalf ][1]
# in the *Amazon Aurora User Guide*.
#
# This action only applies to Aurora DB clusters.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Integrating.Authorizing.html
#
# @option params [required, String] :db_cluster_identifier
# The name of the DB cluster to disassociate the IAM role from.
#
# @option params [required, String] :role_arn
# The Amazon Resource Name (ARN) of the IAM role to disassociate from
# the Aurora DB cluster, for example
# `arn:aws:iam::123456789012:role/AuroraAccessRole`.
#
# @option params [String] :feature_name
# The name of the feature for the DB cluster that the IAM role is to be
# disassociated from. For the list of supported feature names, see
# DBEngineVersion.
#
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
#
# @example Request syntax with placeholder values
#
# resp = client.remove_role_from_db_cluster({
# db_cluster_identifier: "String", # required
# role_arn: "String", # required
# feature_name: "String",
# })
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveRoleFromDBCluster AWS API Documentation
#
# @overload remove_role_from_db_cluster(params = {})
# @param [Hash] params ({})
def remove_role_from_db_cluster(params = {}, options = {})
req = build_request(:remove_role_from_db_cluster, params)
req.send_request(options)
end
# Disassociates an AWS Identity and Access Management (IAM) role from a
# DB instance.
#
# @option params [required, String] :db_instance_identifier
# The name of the DB instance to disassociate the IAM role from.
#
# @option params [required, String] :role_arn
# The Amazon Resource Name (ARN) of the IAM role to disassociate from
# the DB instance, for example
# `arn:aws:iam::123456789012:role/AccessRole`.
#
# @option params [required, String] :feature_name
# The name of the feature for the DB instance that the IAM role is to be
# disassociated from. For the list of supported feature names, see
# `DBEngineVersion`.
#
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
#
# @example Request syntax with placeholder values
#
# resp = client.remove_role_from_db_instance({
# db_instance_identifier: "String", # required
# role_arn: "String", # required
# feature_name: "String", # required
# })
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveRoleFromDBInstance AWS API Documentation
#
# @overload remove_role_from_db_instance(params = {})
# @param [Hash] params ({})
def remove_role_from_db_instance(params = {}, options = {})
req = build_request(:remove_role_from_db_instance, params)
req.send_request(options)
end
# Removes a source identifier from an existing RDS event notification
# subscription.
#
# @option params [required, String] :subscription_name
# The name of the RDS event notification subscription you want to remove
# a source identifier from.
#
# @option params [required, String] :source_identifier
# The source identifier to be removed from the subscription, such as the
# **DB instance identifier** for a DB instance or the name of a security
# group.
#
# @return [Types::RemoveSourceIdentifierFromSubscriptionResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::RemoveSourceIdentifierFromSubscriptionResult#event_subscription #event_subscription} => Types::EventSubscription
#
#
# @example Example: To remove a source identifier from a DB event subscription
#
# # This example removes the specified source identifier from the specified DB event subscription.
#
# resp = client.remove_source_identifier_from_subscription({
# source_identifier: "mymysqlinstance",
# subscription_name: "myeventsubscription",
# })
#
# resp.to_h outputs the following:
# {
# event_subscription: {
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.remove_source_identifier_from_subscription({
# subscription_name: "String", # required
# source_identifier: "String", # required
# })
#
# @example Response structure
#
# resp.event_subscription.customer_aws_id #=> String
# resp.event_subscription.cust_subscription_id #=> String
# resp.event_subscription.sns_topic_arn #=> String
# resp.event_subscription.status #=> String
# resp.event_subscription.subscription_creation_time #=> String
# resp.event_subscription.source_type #=> String
# resp.event_subscription.source_ids_list #=> Array
# resp.event_subscription.source_ids_list[0] #=> String
# resp.event_subscription.event_categories_list #=> Array
# resp.event_subscription.event_categories_list[0] #=> String
# resp.event_subscription.enabled #=> Boolean
# resp.event_subscription.event_subscription_arn #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveSourceIdentifierFromSubscription AWS API Documentation
#
# @overload remove_source_identifier_from_subscription(params = {})
# @param [Hash] params ({})
def remove_source_identifier_from_subscription(params = {}, options = {})
req = build_request(:remove_source_identifier_from_subscription, params)
req.send_request(options)
end
# Removes metadata tags from an Amazon RDS resource.
#
# For an overview on tagging an Amazon RDS resource, see [Tagging Amazon
# RDS Resources][1] in the *Amazon RDS User Guide.*
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Tagging.html
#
# @option params [required, String] :resource_name
# The Amazon RDS resource that the tags are removed from. This value is
# an Amazon Resource Name (ARN). For information about creating an ARN,
# see [ Constructing an ARN for Amazon RDS][1] in the *Amazon RDS User
# Guide.*
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing
#
# @option params [required, Array] :tag_keys
# The tag key (name) of the tag to be removed.
#
# @return [Struct] Returns an empty {Seahorse::Client::Response response}.
#
#
# @example Example: To remove tags from a resource
#
# # This example removes the specified tag associated with the specified DB option group.
#
# resp = client.remove_tags_from_resource({
# resource_name: "arn:aws:rds:us-east-1:992648334831:og:mydboptiongroup",
# tag_keys: [
# "MyKey",
# ],
# })
#
# @example Request syntax with placeholder values
#
# resp = client.remove_tags_from_resource({
# resource_name: "String", # required
# tag_keys: ["String"], # required
# })
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveTagsFromResource AWS API Documentation
#
# @overload remove_tags_from_resource(params = {})
# @param [Hash] params ({})
def remove_tags_from_resource(params = {}, options = {})
req = build_request(:remove_tags_from_resource, params)
req.send_request(options)
end
# Modifies the parameters of a DB cluster parameter group to the default
# value. To reset specific parameters submit a list of the following:
# `ParameterName` and `ApplyMethod`. To reset the entire DB cluster
# parameter group, specify the `DBClusterParameterGroupName` and
# `ResetAllParameters` parameters.
#
# When resetting the entire group, dynamic parameters are updated
# immediately and static parameters are set to `pending-reboot` to take
# effect on the next DB instance restart or `RebootDBInstance` request.
# You must call `RebootDBInstance` for every DB instance in your DB
# cluster that you want the updated static parameter to apply to.
#
# For more information on Amazon Aurora, see [ What Is Amazon
# Aurora?][1] in the *Amazon Aurora User Guide.*
#
# This action only applies to Aurora DB clusters.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html
#
# @option params [required, String] :db_cluster_parameter_group_name
# The name of the DB cluster parameter group to reset.
#
# @option params [Boolean] :reset_all_parameters
# A value that indicates whether to reset all parameters in the DB
# cluster parameter group to their default values. You can't use this
# parameter if there is a list of parameter names specified for the
# `Parameters` parameter.
#
# @option params [Array] :parameters
# A list of parameter names in the DB cluster parameter group to reset
# to the default values. You can't use this parameter if the
# `ResetAllParameters` parameter is enabled.
#
# @return [Types::DBClusterParameterGroupNameMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DBClusterParameterGroupNameMessage#db_cluster_parameter_group_name #db_cluster_parameter_group_name} => String
#
#
# @example Example: To reset the values of a DB cluster parameter group
#
# # This example resets all parameters for the specified DB cluster parameter group to their default values.
#
# resp = client.reset_db_cluster_parameter_group({
# db_cluster_parameter_group_name: "mydbclusterparametergroup",
# reset_all_parameters: true,
# })
#
# resp.to_h outputs the following:
# {
# }
#
# @example Request syntax with placeholder values
#
# resp = client.reset_db_cluster_parameter_group({
# db_cluster_parameter_group_name: "String", # required
# reset_all_parameters: false,
# parameters: [
# {
# parameter_name: "String",
# parameter_value: "String",
# description: "String",
# source: "String",
# apply_type: "String",
# data_type: "String",
# allowed_values: "String",
# is_modifiable: false,
# minimum_engine_version: "String",
# apply_method: "immediate", # accepts immediate, pending-reboot
# supported_engine_modes: ["String"],
# },
# ],
# })
#
# @example Response structure
#
# resp.db_cluster_parameter_group_name #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ResetDBClusterParameterGroup AWS API Documentation
#
# @overload reset_db_cluster_parameter_group(params = {})
# @param [Hash] params ({})
def reset_db_cluster_parameter_group(params = {}, options = {})
req = build_request(:reset_db_cluster_parameter_group, params)
req.send_request(options)
end
# Modifies the parameters of a DB parameter group to the engine/system
# default value. To reset specific parameters, provide a list of the
# following: `ParameterName` and `ApplyMethod`. To reset the entire DB
# parameter group, specify the `DBParameterGroup` name and
# `ResetAllParameters` parameters. When resetting the entire group,
# dynamic parameters are updated immediately and static parameters are
# set to `pending-reboot` to take effect on the next DB instance restart
# or `RebootDBInstance` request.
#
# @option params [required, String] :db_parameter_group_name
# The name of the DB parameter group.
#
# Constraints:
#
# * Must match the name of an existing `DBParameterGroup`.
#
# ^
#
# @option params [Boolean] :reset_all_parameters
# A value that indicates whether to reset all parameters in the DB
# parameter group to default values. By default, all parameters in the
# DB parameter group are reset to default values.
#
# @option params [Array] :parameters
# To reset the entire DB parameter group, specify the `DBParameterGroup`
# name and `ResetAllParameters` parameters. To reset specific
# parameters, provide a list of the following: `ParameterName` and
# `ApplyMethod`. A maximum of 20 parameters can be modified in a single
# request.
#
# **MySQL**
#
# Valid Values (for Apply method): `immediate` \| `pending-reboot`
#
# You can use the immediate value with dynamic parameters only. You can
# use the `pending-reboot` value for both dynamic and static parameters,
# and changes are applied when DB instance reboots.
#
# **MariaDB**
#
# Valid Values (for Apply method): `immediate` \| `pending-reboot`
#
# You can use the immediate value with dynamic parameters only. You can
# use the `pending-reboot` value for both dynamic and static parameters,
# and changes are applied when DB instance reboots.
#
# **Oracle**
#
# Valid Values (for Apply method): `pending-reboot`
#
# @return [Types::DBParameterGroupNameMessage] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::DBParameterGroupNameMessage#db_parameter_group_name #db_parameter_group_name} => String
#
#
# @example Example: To reset the values of a DB parameter group
#
# # This example resets all parameters for the specified DB parameter group to their default values.
#
# resp = client.reset_db_parameter_group({
# db_parameter_group_name: "mydbparametergroup",
# reset_all_parameters: true,
# })
#
# resp.to_h outputs the following:
# {
# }
#
# @example Request syntax with placeholder values
#
# resp = client.reset_db_parameter_group({
# db_parameter_group_name: "String", # required
# reset_all_parameters: false,
# parameters: [
# {
# parameter_name: "String",
# parameter_value: "String",
# description: "String",
# source: "String",
# apply_type: "String",
# data_type: "String",
# allowed_values: "String",
# is_modifiable: false,
# minimum_engine_version: "String",
# apply_method: "immediate", # accepts immediate, pending-reboot
# supported_engine_modes: ["String"],
# },
# ],
# })
#
# @example Response structure
#
# resp.db_parameter_group_name #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ResetDBParameterGroup AWS API Documentation
#
# @overload reset_db_parameter_group(params = {})
# @param [Hash] params ({})
def reset_db_parameter_group(params = {}, options = {})
req = build_request(:reset_db_parameter_group, params)
req.send_request(options)
end
# Creates an Amazon Aurora DB cluster from data stored in an Amazon S3
# bucket. Amazon RDS must be authorized to access the Amazon S3 bucket
# and the data must be created using the Percona XtraBackup utility as
# described in [ Migrating Data to an Amazon Aurora MySQL DB Cluster][1]
# in the *Amazon Aurora User Guide*.
#
# This action only restores the DB cluster, not the DB instances for
# that DB cluster. You must invoke the `CreateDBInstance` action to
# create DB instances for the restored DB cluster, specifying the
# identifier of the restored DB cluster in `DBClusterIdentifier`. You
# can create DB instances only after the `RestoreDBClusterFromS3` action
# has completed and the DB cluster is available.
#
#
#
# For more information on Amazon Aurora, see [ What Is Amazon
# Aurora?][2] in the *Amazon Aurora User Guide.*
#
# This action only applies to Aurora DB clusters.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.html
# [2]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html
#
# @option params [Array] :availability_zones
# A list of Availability Zones (AZs) where instances in the restored DB
# cluster can be created.
#
# @option params [Integer] :backup_retention_period
# The number of days for which automated backups of the restored DB
# cluster are retained. You must specify a minimum value of 1.
#
# Default: 1
#
# Constraints:
#
# * Must be a value from 1 to 35
#
# ^
#
# @option params [String] :character_set_name
# A value that indicates that the restored DB cluster should be
# associated with the specified CharacterSet.
#
# @option params [String] :database_name
# The database name for the restored DB cluster.
#
# @option params [required, String] :db_cluster_identifier
# The name of the DB cluster to create from the source data in the
# Amazon S3 bucket. 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-cluster1`
#
# @option params [String] :db_cluster_parameter_group_name
# The name of the DB cluster parameter group to associate with the
# restored DB cluster. If this argument is omitted, `default.aurora5.6`
# is used.
#
# Constraints:
#
# * If supplied, must match the name of an existing
# DBClusterParameterGroup.
#
# ^
#
# @option params [Array] :vpc_security_group_ids
# A list of EC2 VPC security groups to associate with the restored DB
# cluster.
#
# @option params [String] :db_subnet_group_name
# A DB subnet group to associate with the restored DB cluster.
#
# Constraints: If supplied, must match the name of an existing
# DBSubnetGroup.
#
# Example: `mySubnetgroup`
#
# @option params [required, String] :engine
# The name of the database engine to be used for the restored DB
# cluster.
#
# Valid Values: `aurora`, `aurora-postgresql`
#
# @option params [String] :engine_version
# The version number of the database engine to use.
#
# To list all of the available engine versions for `aurora` (for MySQL
# 5.6-compatible Aurora), use the following command:
#
# `aws rds describe-db-engine-versions --engine aurora --query
# "DBEngineVersions[].EngineVersion"`
#
# To list all of the available engine versions for `aurora-mysql` (for
# MySQL 5.7-compatible Aurora), use the following command:
#
# `aws rds describe-db-engine-versions --engine aurora-mysql --query
# "DBEngineVersions[].EngineVersion"`
#
# 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"`
#
# **Aurora MySQL**
#
# Example: `5.6.10a`, `5.6.mysql_aurora.1.19.2`, `5.7.12`,
# `5.7.mysql_aurora.2.04.5`
#
# **Aurora PostgreSQL**
#
# Example: `9.6.3`, `10.7`
#
# @option params [Integer] :port
# The port number on which the instances in the restored DB cluster
# accept connections.
#
# Default: `3306`
#
# @option params [required, String] :master_username
# The name of the master user for the restored DB cluster.
#
# 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.
#
# @option params [required, String] :master_user_password
# The password for the master database user. This password can contain
# any printable ASCII character except "/", """, or "@".
#
# Constraints: Must contain from 8 to 41 characters.
#
# @option params [String] :option_group_name
# A value that indicates that the restored DB cluster should be
# associated with the specified option group.
#
# Permanent options can't be removed from an option group. An option
# group can't be removed from a DB cluster once it is associated with a
# DB cluster.
#
# @option params [String] :preferred_backup_window
# 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 AWS Region. To see the time blocks available,
# see [ Adjusting the Preferred Maintenance Window][1] 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.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora
#
# @option params [String] :preferred_maintenance_window
# The weekly time range during which system maintenance can occur, in
# Universal Coordinated Time (UTC).
#
# Format: `ddd:hh24:mi-ddd:hh24:mi`
#
# The default is a 30-minute window selected at random from an 8-hour
# block of time for each AWS Region, occurring on a random day of the
# week. To see the time blocks available, see [ Adjusting the Preferred
# Maintenance Window][1] in the *Amazon Aurora User Guide.*
#
# Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
#
# Constraints: Minimum 30-minute window.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora
#
# @option params [Array] :tags
# A list of tags. For more information, see [Tagging Amazon RDS
# Resources][1] in the *Amazon RDS User Guide.*
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html
#
# @option params [Boolean] :storage_encrypted
# A value that indicates whether the restored DB cluster is encrypted.
#
# @option params [String] :kms_key_id
# The AWS KMS key identifier for an encrypted DB cluster.
#
# The KMS key identifier is the Amazon Resource Name (ARN) for the KMS
# encryption key. If you are creating a DB cluster with the same AWS
# account that owns the KMS encryption key used to encrypt the new DB
# cluster, then you can use the KMS key alias instead of the ARN for the
# KM encryption key.
#
# If the StorageEncrypted parameter is enabled, and you do not specify a
# value for the `KmsKeyId` parameter, then Amazon RDS will use your
# default encryption key. AWS KMS creates the default encryption key for
# your AWS account. Your AWS account has a different default encryption
# key for each AWS Region.
#
# @option params [Boolean] :enable_iam_database_authentication
# A value that indicates whether to enable mapping of AWS Identity and
# Access Management (IAM) accounts to database accounts. By default,
# mapping is disabled.
#
# For more information, see [ IAM Database Authentication][1] in the
# *Amazon Aurora User Guide.*
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html
#
# @option params [required, String] :source_engine
# The identifier for the database engine that was backed up to create
# the files stored in the Amazon S3 bucket.
#
# Valid values: `mysql`
#
# @option params [required, String] :source_engine_version
# The version of the database that the backup files were created from.
#
# MySQL versions 5.5, 5.6, and 5.7 are supported.
#
# Example: `5.6.40`
#
# @option params [required, String] :s3_bucket_name
# The name of the Amazon S3 bucket that contains the data used to create
# the Amazon Aurora DB cluster.
#
# @option params [String] :s3_prefix
# The prefix for all of the file names that contain the data used to
# create the Amazon Aurora DB cluster. If you do not specify a
# **SourceS3Prefix** value, then the Amazon Aurora DB cluster is created
# by using all of the files in the Amazon S3 bucket.
#
# @option params [required, String] :s3_ingestion_role_arn
# The Amazon Resource Name (ARN) of the AWS Identity and Access
# Management (IAM) role that authorizes Amazon RDS to access the Amazon
# S3 bucket on your behalf.
#
# @option params [Integer] :backtrack_window
# The target backtrack window, in seconds. To disable backtracking, set
# this value to 0.
#
# Currently, Backtrack is only supported for Aurora MySQL DB clusters.
#
#
#
# Default: 0
#
# Constraints:
#
# * If specified, this value must be set to a number from 0 to 259,200
# (72 hours).
#
# ^
#
# @option params [Array] :enable_cloudwatch_logs_exports
# The list of logs that the restored DB cluster 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][1] in the *Amazon Aurora User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch
#
# @option params [Boolean] :deletion_protection
# A value that indicates whether the DB cluster has deletion protection
# enabled. The database can't be deleted when deletion protection is
# enabled. By default, deletion protection is disabled.
#
# @option params [Boolean] :copy_tags_to_snapshot
# A value that indicates whether to copy all tags from the restored DB
# cluster to snapshots of the restored DB cluster. The default is not to
# copy them.
#
# @option params [String] :domain
# Specify the Active Directory directory ID to restore the DB cluster
# in. The domain must be created prior to this operation.
#
# 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][1] in the *Amazon
# Aurora User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/kerberos-authentication.html
#
# @option params [String] :domain_iam_role_name
# Specify the name of the IAM role to be used when making API calls to
# the Directory Service.
#
# @return [Types::RestoreDBClusterFromS3Result] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::RestoreDBClusterFromS3Result#db_cluster #db_cluster} => Types::DBCluster
#
# @example Request syntax with placeholder values
#
# resp = client.restore_db_cluster_from_s3({
# availability_zones: ["String"],
# backup_retention_period: 1,
# character_set_name: "String",
# database_name: "String",
# db_cluster_identifier: "String", # required
# db_cluster_parameter_group_name: "String",
# vpc_security_group_ids: ["String"],
# db_subnet_group_name: "String",
# engine: "String", # required
# engine_version: "String",
# port: 1,
# master_username: "String", # required
# master_user_password: "String", # required
# option_group_name: "String",
# preferred_backup_window: "String",
# preferred_maintenance_window: "String",
# tags: [
# {
# key: "String",
# value: "String",
# },
# ],
# storage_encrypted: false,
# kms_key_id: "String",
# enable_iam_database_authentication: false,
# source_engine: "String", # required
# source_engine_version: "String", # required
# s3_bucket_name: "String", # required
# s3_prefix: "String",
# s3_ingestion_role_arn: "String", # required
# backtrack_window: 1,
# enable_cloudwatch_logs_exports: ["String"],
# deletion_protection: false,
# copy_tags_to_snapshot: false,
# domain: "String",
# domain_iam_role_name: "String",
# })
#
# @example Response structure
#
# resp.db_cluster.allocated_storage #=> Integer
# resp.db_cluster.availability_zones #=> Array
# resp.db_cluster.availability_zones[0] #=> String
# resp.db_cluster.backup_retention_period #=> Integer
# resp.db_cluster.character_set_name #=> String
# resp.db_cluster.database_name #=> String
# resp.db_cluster.db_cluster_identifier #=> String
# resp.db_cluster.db_cluster_parameter_group #=> String
# resp.db_cluster.db_subnet_group #=> String
# resp.db_cluster.status #=> String
# resp.db_cluster.percent_progress #=> String
# resp.db_cluster.earliest_restorable_time #=> Time
# resp.db_cluster.endpoint #=> String
# resp.db_cluster.reader_endpoint #=> String
# resp.db_cluster.custom_endpoints #=> Array
# resp.db_cluster.custom_endpoints[0] #=> String
# resp.db_cluster.multi_az #=> Boolean
# resp.db_cluster.engine #=> String
# resp.db_cluster.engine_version #=> String
# resp.db_cluster.latest_restorable_time #=> Time
# resp.db_cluster.port #=> Integer
# resp.db_cluster.master_username #=> String
# resp.db_cluster.db_cluster_option_group_memberships #=> Array
# resp.db_cluster.db_cluster_option_group_memberships[0].db_cluster_option_group_name #=> String
# resp.db_cluster.db_cluster_option_group_memberships[0].status #=> String
# resp.db_cluster.preferred_backup_window #=> String
# resp.db_cluster.preferred_maintenance_window #=> String
# resp.db_cluster.replication_source_identifier #=> String
# resp.db_cluster.read_replica_identifiers #=> Array
# resp.db_cluster.read_replica_identifiers[0] #=> String
# resp.db_cluster.db_cluster_members #=> Array
# resp.db_cluster.db_cluster_members[0].db_instance_identifier #=> String
# resp.db_cluster.db_cluster_members[0].is_cluster_writer #=> Boolean
# resp.db_cluster.db_cluster_members[0].db_cluster_parameter_group_status #=> String
# resp.db_cluster.db_cluster_members[0].promotion_tier #=> Integer
# resp.db_cluster.vpc_security_groups #=> Array
# resp.db_cluster.vpc_security_groups[0].vpc_security_group_id #=> String
# resp.db_cluster.vpc_security_groups[0].status #=> String
# resp.db_cluster.hosted_zone_id #=> String
# resp.db_cluster.storage_encrypted #=> Boolean
# resp.db_cluster.kms_key_id #=> String
# resp.db_cluster.db_cluster_resource_id #=> String
# resp.db_cluster.db_cluster_arn #=> String
# resp.db_cluster.associated_roles #=> Array
# resp.db_cluster.associated_roles[0].role_arn #=> String
# resp.db_cluster.associated_roles[0].status #=> String
# resp.db_cluster.associated_roles[0].feature_name #=> String
# resp.db_cluster.iam_database_authentication_enabled #=> Boolean
# resp.db_cluster.clone_group_id #=> String
# resp.db_cluster.cluster_create_time #=> Time
# resp.db_cluster.earliest_backtrack_time #=> Time
# resp.db_cluster.backtrack_window #=> Integer
# resp.db_cluster.backtrack_consumed_change_records #=> Integer
# resp.db_cluster.enabled_cloudwatch_logs_exports #=> Array
# resp.db_cluster.enabled_cloudwatch_logs_exports[0] #=> String
# resp.db_cluster.capacity #=> Integer
# resp.db_cluster.engine_mode #=> String
# resp.db_cluster.scaling_configuration_info.min_capacity #=> Integer
# resp.db_cluster.scaling_configuration_info.max_capacity #=> Integer
# resp.db_cluster.scaling_configuration_info.auto_pause #=> Boolean
# resp.db_cluster.scaling_configuration_info.seconds_until_auto_pause #=> Integer
# resp.db_cluster.scaling_configuration_info.timeout_action #=> String
# resp.db_cluster.deletion_protection #=> Boolean
# resp.db_cluster.http_endpoint_enabled #=> Boolean
# resp.db_cluster.activity_stream_mode #=> String, one of "sync", "async"
# resp.db_cluster.activity_stream_status #=> String, one of "stopped", "starting", "started", "stopping"
# resp.db_cluster.activity_stream_kms_key_id #=> String
# resp.db_cluster.activity_stream_kinesis_stream_name #=> String
# resp.db_cluster.copy_tags_to_snapshot #=> Boolean
# resp.db_cluster.cross_account_clone #=> Boolean
# resp.db_cluster.domain_memberships #=> Array
# resp.db_cluster.domain_memberships[0].domain #=> String
# resp.db_cluster.domain_memberships[0].status #=> String
# resp.db_cluster.domain_memberships[0].fqdn #=> String
# resp.db_cluster.domain_memberships[0].iam_role_name #=> String
# resp.db_cluster.global_write_forwarding_status #=> String, one of "enabled", "disabled", "enabling", "disabling", "unknown"
# resp.db_cluster.global_write_forwarding_requested #=> Boolean
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterFromS3 AWS API Documentation
#
# @overload restore_db_cluster_from_s3(params = {})
# @param [Hash] params ({})
def restore_db_cluster_from_s3(params = {}, options = {})
req = build_request(:restore_db_cluster_from_s3, params)
req.send_request(options)
end
# Creates a new DB cluster from a DB snapshot or DB cluster snapshot.
# This action only applies to Aurora DB clusters.
#
# The target DB cluster is created from the source snapshot with a
# default configuration. If you don't specify a security group, the new
# DB cluster is associated with the default security group.
#
# This action only restores the DB cluster, not the DB instances for
# that DB cluster. You must invoke the `CreateDBInstance` action to
# create DB instances for the restored DB cluster, specifying the
# identifier of the restored DB cluster in `DBClusterIdentifier`. You
# can create DB instances only after the `RestoreDBClusterFromSnapshot`
# action has completed and the DB cluster is available.
#
#
#
# For more information on Amazon Aurora, see [ What Is Amazon
# Aurora?][1] in the *Amazon Aurora User Guide.*
#
# This action only applies to Aurora DB clusters.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html
#
# @option params [Array] :availability_zones
# Provides the list of Availability Zones (AZs) where instances in the
# restored DB cluster can be created.
#
# @option params [required, String] :db_cluster_identifier
# The name of the DB cluster to create from the DB snapshot or 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-snapshot-id`
#
# @option params [required, String] :snapshot_identifier
# The identifier for the DB snapshot or DB cluster snapshot to restore
# from.
#
# You can use either the name or the Amazon Resource Name (ARN) to
# specify a DB cluster snapshot. However, you can use only the ARN to
# specify a DB snapshot.
#
# Constraints:
#
# * Must match the identifier of an existing Snapshot.
#
# ^
#
# @option params [required, String] :engine
# The database engine to use for the new DB cluster.
#
# Default: The same as source
#
# Constraint: Must be compatible with the engine of the source
#
# @option params [String] :engine_version
# The version of the database engine to use for the new DB cluster.
#
# To list all of the available engine versions for `aurora` (for MySQL
# 5.6-compatible Aurora), use the following command:
#
# `aws rds describe-db-engine-versions --engine aurora --query
# "DBEngineVersions[].EngineVersion"`
#
# To list all of the available engine versions for `aurora-mysql` (for
# MySQL 5.7-compatible Aurora), use the following command:
#
# `aws rds describe-db-engine-versions --engine aurora-mysql --query
# "DBEngineVersions[].EngineVersion"`
#
# 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"`
#
# If you aren't using the default engine version, then you must specify
# the engine version.
#
#
#
# **Aurora MySQL**
#
# Example: `5.6.10a`, `5.6.mysql_aurora.1.19.2`, `5.7.12`,
# `5.7.mysql_aurora.2.04.5`
#
# **Aurora PostgreSQL**
#
# Example: `9.6.3`, `10.7`
#
# @option params [Integer] :port
# The port number on which the new DB cluster accepts connections.
#
# Constraints: This value must be `1150-65535`
#
# Default: The same port as the original DB cluster.
#
# @option params [String] :db_subnet_group_name
# The name of the DB subnet group to use for the new DB cluster.
#
# Constraints: If supplied, must match the name of an existing DB subnet
# group.
#
# Example: `mySubnetgroup`
#
# @option params [String] :database_name
# The database name for the restored DB cluster.
#
# @option params [String] :option_group_name
# The name of the option group to use for the restored DB cluster.
#
# @option params [Array] :vpc_security_group_ids
# A list of VPC security groups that the new DB cluster will belong to.
#
# @option params [Array] :tags
# The tags to be assigned to the restored DB cluster.
#
# @option params [String] :kms_key_id
# The AWS KMS key identifier to use when restoring an encrypted DB
# cluster from a DB snapshot or DB cluster snapshot.
#
# The KMS key identifier is the Amazon Resource Name (ARN) for the KMS
# encryption key. If you are restoring a DB cluster with the same AWS
# account that owns the KMS encryption key used to encrypt the new DB
# cluster, then you can use the KMS key alias instead of the ARN for the
# KMS encryption key.
#
# If you don't specify a value for the `KmsKeyId` parameter, then the
# following occurs:
#
# * If the DB snapshot or DB cluster snapshot in `SnapshotIdentifier` is
# encrypted, then the restored DB cluster is encrypted using the KMS
# key that was used to encrypt the DB snapshot or DB cluster snapshot.
#
# * If the DB snapshot or DB cluster snapshot in `SnapshotIdentifier`
# isn't encrypted, then the restored DB cluster isn't encrypted.
#
# @option params [Boolean] :enable_iam_database_authentication
# A value that indicates whether to enable mapping of AWS Identity and
# Access Management (IAM) accounts to database accounts. By default,
# mapping is disabled.
#
# For more information, see [ IAM Database Authentication][1] in the
# *Amazon Aurora User Guide.*
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html
#
# @option params [Integer] :backtrack_window
# The target backtrack window, in seconds. To disable backtracking, set
# this value to 0.
#
# Currently, Backtrack is only supported for Aurora MySQL DB clusters.
#
#
#
# Default: 0
#
# Constraints:
#
# * If specified, this value must be set to a number from 0 to 259,200
# (72 hours).
#
# ^
#
# @option params [Array] :enable_cloudwatch_logs_exports
# The list of logs that the restored DB cluster is to export to Amazon
# 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 ][1] in the *Amazon Aurora User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch
#
# @option params [String] :engine_mode
# The DB engine mode of the DB cluster, either `provisioned`,
# `serverless`, `parallelquery`, `global`, or `multimaster`.
#
# @option params [Types::ScalingConfiguration] :scaling_configuration
# For DB clusters in `serverless` DB engine mode, the scaling properties
# of the DB cluster.
#
# @option params [String] :db_cluster_parameter_group_name
# The name of the DB cluster parameter group to associate with this DB
# cluster. If this argument is omitted, the default DB cluster parameter
# group for the specified engine is used.
#
# Constraints:
#
# * If supplied, must match the name of an existing default DB cluster
# parameter group.
#
# * 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.
#
# @option params [Boolean] :deletion_protection
# A value that indicates whether the DB cluster has deletion protection
# enabled. The database can't be deleted when deletion protection is
# enabled. By default, deletion protection is disabled.
#
# @option params [Boolean] :copy_tags_to_snapshot
# A value that indicates whether to copy all tags from the restored DB
# cluster to snapshots of the restored DB cluster. The default is not to
# copy them.
#
# @option params [String] :domain
# Specify the Active Directory directory ID to restore the DB cluster
# in. The domain must be created prior to this operation.
#
# @option params [String] :domain_iam_role_name
# Specify the name of the IAM role to be used when making API calls to
# the Directory Service.
#
# @return [Types::RestoreDBClusterFromSnapshotResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::RestoreDBClusterFromSnapshotResult#db_cluster #db_cluster} => Types::DBCluster
#
#
# @example Example: To restore an Amazon Aurora DB cluster from a DB cluster snapshot
#
# # The following example restores an Amazon Aurora DB cluster from a DB cluster snapshot.
#
# resp = client.restore_db_cluster_from_snapshot({
# db_cluster_identifier: "restored-cluster1",
# engine: "aurora",
# snapshot_identifier: "sample-cluster-snapshot1",
# })
#
# resp.to_h outputs the following:
# {
# db_cluster: {
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.restore_db_cluster_from_snapshot({
# availability_zones: ["String"],
# db_cluster_identifier: "String", # required
# snapshot_identifier: "String", # required
# engine: "String", # required
# engine_version: "String",
# port: 1,
# db_subnet_group_name: "String",
# database_name: "String",
# option_group_name: "String",
# vpc_security_group_ids: ["String"],
# tags: [
# {
# key: "String",
# value: "String",
# },
# ],
# kms_key_id: "String",
# enable_iam_database_authentication: false,
# backtrack_window: 1,
# enable_cloudwatch_logs_exports: ["String"],
# engine_mode: "String",
# scaling_configuration: {
# min_capacity: 1,
# max_capacity: 1,
# auto_pause: false,
# seconds_until_auto_pause: 1,
# timeout_action: "String",
# },
# db_cluster_parameter_group_name: "String",
# deletion_protection: false,
# copy_tags_to_snapshot: false,
# domain: "String",
# domain_iam_role_name: "String",
# })
#
# @example Response structure
#
# resp.db_cluster.allocated_storage #=> Integer
# resp.db_cluster.availability_zones #=> Array
# resp.db_cluster.availability_zones[0] #=> String
# resp.db_cluster.backup_retention_period #=> Integer
# resp.db_cluster.character_set_name #=> String
# resp.db_cluster.database_name #=> String
# resp.db_cluster.db_cluster_identifier #=> String
# resp.db_cluster.db_cluster_parameter_group #=> String
# resp.db_cluster.db_subnet_group #=> String
# resp.db_cluster.status #=> String
# resp.db_cluster.percent_progress #=> String
# resp.db_cluster.earliest_restorable_time #=> Time
# resp.db_cluster.endpoint #=> String
# resp.db_cluster.reader_endpoint #=> String
# resp.db_cluster.custom_endpoints #=> Array
# resp.db_cluster.custom_endpoints[0] #=> String
# resp.db_cluster.multi_az #=> Boolean
# resp.db_cluster.engine #=> String
# resp.db_cluster.engine_version #=> String
# resp.db_cluster.latest_restorable_time #=> Time
# resp.db_cluster.port #=> Integer
# resp.db_cluster.master_username #=> String
# resp.db_cluster.db_cluster_option_group_memberships #=> Array
# resp.db_cluster.db_cluster_option_group_memberships[0].db_cluster_option_group_name #=> String
# resp.db_cluster.db_cluster_option_group_memberships[0].status #=> String
# resp.db_cluster.preferred_backup_window #=> String
# resp.db_cluster.preferred_maintenance_window #=> String
# resp.db_cluster.replication_source_identifier #=> String
# resp.db_cluster.read_replica_identifiers #=> Array
# resp.db_cluster.read_replica_identifiers[0] #=> String
# resp.db_cluster.db_cluster_members #=> Array
# resp.db_cluster.db_cluster_members[0].db_instance_identifier #=> String
# resp.db_cluster.db_cluster_members[0].is_cluster_writer #=> Boolean
# resp.db_cluster.db_cluster_members[0].db_cluster_parameter_group_status #=> String
# resp.db_cluster.db_cluster_members[0].promotion_tier #=> Integer
# resp.db_cluster.vpc_security_groups #=> Array
# resp.db_cluster.vpc_security_groups[0].vpc_security_group_id #=> String
# resp.db_cluster.vpc_security_groups[0].status #=> String
# resp.db_cluster.hosted_zone_id #=> String
# resp.db_cluster.storage_encrypted #=> Boolean
# resp.db_cluster.kms_key_id #=> String
# resp.db_cluster.db_cluster_resource_id #=> String
# resp.db_cluster.db_cluster_arn #=> String
# resp.db_cluster.associated_roles #=> Array
# resp.db_cluster.associated_roles[0].role_arn #=> String
# resp.db_cluster.associated_roles[0].status #=> String
# resp.db_cluster.associated_roles[0].feature_name #=> String
# resp.db_cluster.iam_database_authentication_enabled #=> Boolean
# resp.db_cluster.clone_group_id #=> String
# resp.db_cluster.cluster_create_time #=> Time
# resp.db_cluster.earliest_backtrack_time #=> Time
# resp.db_cluster.backtrack_window #=> Integer
# resp.db_cluster.backtrack_consumed_change_records #=> Integer
# resp.db_cluster.enabled_cloudwatch_logs_exports #=> Array
# resp.db_cluster.enabled_cloudwatch_logs_exports[0] #=> String
# resp.db_cluster.capacity #=> Integer
# resp.db_cluster.engine_mode #=> String
# resp.db_cluster.scaling_configuration_info.min_capacity #=> Integer
# resp.db_cluster.scaling_configuration_info.max_capacity #=> Integer
# resp.db_cluster.scaling_configuration_info.auto_pause #=> Boolean
# resp.db_cluster.scaling_configuration_info.seconds_until_auto_pause #=> Integer
# resp.db_cluster.scaling_configuration_info.timeout_action #=> String
# resp.db_cluster.deletion_protection #=> Boolean
# resp.db_cluster.http_endpoint_enabled #=> Boolean
# resp.db_cluster.activity_stream_mode #=> String, one of "sync", "async"
# resp.db_cluster.activity_stream_status #=> String, one of "stopped", "starting", "started", "stopping"
# resp.db_cluster.activity_stream_kms_key_id #=> String
# resp.db_cluster.activity_stream_kinesis_stream_name #=> String
# resp.db_cluster.copy_tags_to_snapshot #=> Boolean
# resp.db_cluster.cross_account_clone #=> Boolean
# resp.db_cluster.domain_memberships #=> Array
# resp.db_cluster.domain_memberships[0].domain #=> String
# resp.db_cluster.domain_memberships[0].status #=> String
# resp.db_cluster.domain_memberships[0].fqdn #=> String
# resp.db_cluster.domain_memberships[0].iam_role_name #=> String
# resp.db_cluster.global_write_forwarding_status #=> String, one of "enabled", "disabled", "enabling", "disabling", "unknown"
# resp.db_cluster.global_write_forwarding_requested #=> Boolean
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterFromSnapshot AWS API Documentation
#
# @overload restore_db_cluster_from_snapshot(params = {})
# @param [Hash] params ({})
def restore_db_cluster_from_snapshot(params = {}, options = {})
req = build_request(:restore_db_cluster_from_snapshot, params)
req.send_request(options)
end
# Restores a DB cluster to an arbitrary point in time. Users can restore
# to any point in time before `LatestRestorableTime` for up to
# `BackupRetentionPeriod` days. The target DB cluster is created from
# the source DB cluster with the same configuration as the original DB
# cluster, except that the new DB cluster is created with the default DB
# security group.
#
# This action only restores the DB cluster, not the DB instances for
# that DB cluster. You must invoke the `CreateDBInstance` action to
# create DB instances for the restored DB cluster, specifying the
# identifier of the restored DB cluster in `DBClusterIdentifier`. You
# can create DB instances only after the `RestoreDBClusterToPointInTime`
# action has completed and the DB cluster is available.
#
#
#
# For more information on Amazon Aurora, see [ What Is Amazon
# Aurora?][1] in the *Amazon Aurora User Guide.*
#
# This action only applies to Aurora DB clusters.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html
#
# @option params [required, String] :db_cluster_identifier
# The name of the new DB cluster to be created.
#
# 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
#
# @option params [String] :restore_type
# The type of restore to be performed. You can specify one of the
# following values:
#
# * `full-copy` - The new DB cluster is restored as a full copy of the
# source DB cluster.
#
# * `copy-on-write` - The new DB cluster is restored as a clone of the
# source DB cluster.
#
# Constraints: You can't specify `copy-on-write` if the engine version
# of the source DB cluster is earlier than 1.11.
#
# If you don't specify a `RestoreType` value, then the new DB cluster
# is restored as a full copy of the source DB cluster.
#
# @option params [required, String] :source_db_cluster_identifier
# The identifier of the source DB cluster from which to restore.
#
# Constraints:
#
# * Must match the identifier of an existing DBCluster.
#
# ^
#
# @option params [Time,DateTime,Date,Integer,String] :restore_to_time
# The date and time to restore the DB cluster to.
#
# Valid Values: Value must be a time in Universal Coordinated Time (UTC)
# format
#
# Constraints:
#
# * Must be before the latest restorable time for the DB instance
#
# * Must be specified if `UseLatestRestorableTime` parameter isn't
# provided
#
# * Can't be specified if the `UseLatestRestorableTime` parameter is
# enabled
#
# * Can't be specified if the `RestoreType` parameter is
# `copy-on-write`
#
# Example: `2015-03-07T23:45:00Z`
#
# @option params [Boolean] :use_latest_restorable_time
# A value that indicates whether to restore the DB cluster to the latest
# restorable backup time. By default, the DB cluster isn't restored to
# the latest restorable backup time.
#
# Constraints: Can't be specified if `RestoreToTime` parameter is
# provided.
#
# @option params [Integer] :port
# The port number on which the new DB cluster accepts connections.
#
# Constraints: A value from `1150-65535`.
#
# Default: The default port for the engine.
#
# @option params [String] :db_subnet_group_name
# The DB subnet group name to use for the new DB cluster.
#
# Constraints: If supplied, must match the name of an existing
# DBSubnetGroup.
#
# Example: `mySubnetgroup`
#
# @option params [String] :option_group_name
# The name of the option group for the new DB cluster.
#
# @option params [Array] :vpc_security_group_ids
# A list of VPC security groups that the new DB cluster belongs to.
#
# @option params [Array] :tags
# A list of tags. For more information, see [Tagging Amazon RDS
# Resources][1] in the *Amazon RDS User Guide.*
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html
#
# @option params [String] :kms_key_id
# The AWS KMS key identifier to use when restoring an encrypted DB
# cluster from an encrypted DB cluster.
#
# The KMS key identifier is the Amazon Resource Name (ARN) for the KMS
# encryption key. If you are restoring a DB cluster with the same AWS
# account that owns the KMS encryption key used to encrypt the new DB
# cluster, then you can use the KMS key alias instead of the ARN for the
# KMS encryption key.
#
# You can restore to a new DB cluster and encrypt the new DB cluster
# with a KMS key that is different than the KMS key used to encrypt the
# source DB cluster. The new DB cluster is encrypted with the KMS key
# identified by the `KmsKeyId` parameter.
#
# If you don't specify a value for the `KmsKeyId` parameter, then the
# following occurs:
#
# * If the DB cluster is encrypted, then the restored DB cluster is
# encrypted using the KMS key that was used to encrypt the source DB
# cluster.
#
# * If the DB cluster isn't encrypted, then the restored DB cluster
# isn't encrypted.
#
# If `DBClusterIdentifier` refers to a DB cluster that isn't encrypted,
# then the restore request is rejected.
#
# @option params [Boolean] :enable_iam_database_authentication
# A value that indicates whether to enable mapping of AWS Identity and
# Access Management (IAM) accounts to database accounts. By default,
# mapping is disabled.
#
# For more information, see [ IAM Database Authentication][1] in the
# *Amazon Aurora User Guide.*
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html
#
# @option params [Integer] :backtrack_window
# The target backtrack window, in seconds. To disable backtracking, set
# this value to 0.
#
# Currently, Backtrack is only supported for Aurora MySQL DB clusters.
#
#
#
# Default: 0
#
# Constraints:
#
# * If specified, this value must be set to a number from 0 to 259,200
# (72 hours).
#
# ^
#
# @option params [Array] :enable_cloudwatch_logs_exports
# The list of logs that the restored DB cluster 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][1] in the *Amazon Aurora User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch
#
# @option params [String] :db_cluster_parameter_group_name
# The name of the DB cluster parameter group to associate with this DB
# cluster. If this argument is omitted, the default DB cluster parameter
# group for the specified engine is used.
#
# Constraints:
#
# * If supplied, must match the name of an existing DB cluster parameter
# group.
#
# * 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.
#
# @option params [Boolean] :deletion_protection
# A value that indicates whether the DB cluster has deletion protection
# enabled. The database can't be deleted when deletion protection is
# enabled. By default, deletion protection is disabled.
#
# @option params [Boolean] :copy_tags_to_snapshot
# A value that indicates whether to copy all tags from the restored DB
# cluster to snapshots of the restored DB cluster. The default is not to
# copy them.
#
# @option params [String] :domain
# Specify the Active Directory directory ID to restore the DB cluster
# in. The domain must be created prior to this operation.
#
# 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][1] in the *Amazon
# Aurora User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/kerberos-authentication.html
#
# @option params [String] :domain_iam_role_name
# Specify the name of the IAM role to be used when making API calls to
# the Directory Service.
#
# @return [Types::RestoreDBClusterToPointInTimeResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::RestoreDBClusterToPointInTimeResult#db_cluster #db_cluster} => Types::DBCluster
#
#
# @example Example: To restore a DB cluster to a point in time.
#
# # The following example restores a DB cluster to a new DB cluster at a point in time from the source DB cluster.
#
# resp = client.restore_db_cluster_to_point_in_time({
# db_cluster_identifier: "sample-restored-cluster1",
# restore_to_time: Time.parse("2016-09-13T18:45:00Z"),
# source_db_cluster_identifier: "sample-cluster1",
# })
#
# resp.to_h outputs the following:
# {
# db_cluster: {
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.restore_db_cluster_to_point_in_time({
# db_cluster_identifier: "String", # required
# restore_type: "String",
# source_db_cluster_identifier: "String", # required
# restore_to_time: Time.now,
# use_latest_restorable_time: false,
# port: 1,
# db_subnet_group_name: "String",
# option_group_name: "String",
# vpc_security_group_ids: ["String"],
# tags: [
# {
# key: "String",
# value: "String",
# },
# ],
# kms_key_id: "String",
# enable_iam_database_authentication: false,
# backtrack_window: 1,
# enable_cloudwatch_logs_exports: ["String"],
# db_cluster_parameter_group_name: "String",
# deletion_protection: false,
# copy_tags_to_snapshot: false,
# domain: "String",
# domain_iam_role_name: "String",
# })
#
# @example Response structure
#
# resp.db_cluster.allocated_storage #=> Integer
# resp.db_cluster.availability_zones #=> Array
# resp.db_cluster.availability_zones[0] #=> String
# resp.db_cluster.backup_retention_period #=> Integer
# resp.db_cluster.character_set_name #=> String
# resp.db_cluster.database_name #=> String
# resp.db_cluster.db_cluster_identifier #=> String
# resp.db_cluster.db_cluster_parameter_group #=> String
# resp.db_cluster.db_subnet_group #=> String
# resp.db_cluster.status #=> String
# resp.db_cluster.percent_progress #=> String
# resp.db_cluster.earliest_restorable_time #=> Time
# resp.db_cluster.endpoint #=> String
# resp.db_cluster.reader_endpoint #=> String
# resp.db_cluster.custom_endpoints #=> Array
# resp.db_cluster.custom_endpoints[0] #=> String
# resp.db_cluster.multi_az #=> Boolean
# resp.db_cluster.engine #=> String
# resp.db_cluster.engine_version #=> String
# resp.db_cluster.latest_restorable_time #=> Time
# resp.db_cluster.port #=> Integer
# resp.db_cluster.master_username #=> String
# resp.db_cluster.db_cluster_option_group_memberships #=> Array
# resp.db_cluster.db_cluster_option_group_memberships[0].db_cluster_option_group_name #=> String
# resp.db_cluster.db_cluster_option_group_memberships[0].status #=> String
# resp.db_cluster.preferred_backup_window #=> String
# resp.db_cluster.preferred_maintenance_window #=> String
# resp.db_cluster.replication_source_identifier #=> String
# resp.db_cluster.read_replica_identifiers #=> Array
# resp.db_cluster.read_replica_identifiers[0] #=> String
# resp.db_cluster.db_cluster_members #=> Array
# resp.db_cluster.db_cluster_members[0].db_instance_identifier #=> String
# resp.db_cluster.db_cluster_members[0].is_cluster_writer #=> Boolean
# resp.db_cluster.db_cluster_members[0].db_cluster_parameter_group_status #=> String
# resp.db_cluster.db_cluster_members[0].promotion_tier #=> Integer
# resp.db_cluster.vpc_security_groups #=> Array
# resp.db_cluster.vpc_security_groups[0].vpc_security_group_id #=> String
# resp.db_cluster.vpc_security_groups[0].status #=> String
# resp.db_cluster.hosted_zone_id #=> String
# resp.db_cluster.storage_encrypted #=> Boolean
# resp.db_cluster.kms_key_id #=> String
# resp.db_cluster.db_cluster_resource_id #=> String
# resp.db_cluster.db_cluster_arn #=> String
# resp.db_cluster.associated_roles #=> Array
# resp.db_cluster.associated_roles[0].role_arn #=> String
# resp.db_cluster.associated_roles[0].status #=> String
# resp.db_cluster.associated_roles[0].feature_name #=> String
# resp.db_cluster.iam_database_authentication_enabled #=> Boolean
# resp.db_cluster.clone_group_id #=> String
# resp.db_cluster.cluster_create_time #=> Time
# resp.db_cluster.earliest_backtrack_time #=> Time
# resp.db_cluster.backtrack_window #=> Integer
# resp.db_cluster.backtrack_consumed_change_records #=> Integer
# resp.db_cluster.enabled_cloudwatch_logs_exports #=> Array
# resp.db_cluster.enabled_cloudwatch_logs_exports[0] #=> String
# resp.db_cluster.capacity #=> Integer
# resp.db_cluster.engine_mode #=> String
# resp.db_cluster.scaling_configuration_info.min_capacity #=> Integer
# resp.db_cluster.scaling_configuration_info.max_capacity #=> Integer
# resp.db_cluster.scaling_configuration_info.auto_pause #=> Boolean
# resp.db_cluster.scaling_configuration_info.seconds_until_auto_pause #=> Integer
# resp.db_cluster.scaling_configuration_info.timeout_action #=> String
# resp.db_cluster.deletion_protection #=> Boolean
# resp.db_cluster.http_endpoint_enabled #=> Boolean
# resp.db_cluster.activity_stream_mode #=> String, one of "sync", "async"
# resp.db_cluster.activity_stream_status #=> String, one of "stopped", "starting", "started", "stopping"
# resp.db_cluster.activity_stream_kms_key_id #=> String
# resp.db_cluster.activity_stream_kinesis_stream_name #=> String
# resp.db_cluster.copy_tags_to_snapshot #=> Boolean
# resp.db_cluster.cross_account_clone #=> Boolean
# resp.db_cluster.domain_memberships #=> Array
# resp.db_cluster.domain_memberships[0].domain #=> String
# resp.db_cluster.domain_memberships[0].status #=> String
# resp.db_cluster.domain_memberships[0].fqdn #=> String
# resp.db_cluster.domain_memberships[0].iam_role_name #=> String
# resp.db_cluster.global_write_forwarding_status #=> String, one of "enabled", "disabled", "enabling", "disabling", "unknown"
# resp.db_cluster.global_write_forwarding_requested #=> Boolean
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterToPointInTime AWS API Documentation
#
# @overload restore_db_cluster_to_point_in_time(params = {})
# @param [Hash] params ({})
def restore_db_cluster_to_point_in_time(params = {}, options = {})
req = build_request(:restore_db_cluster_to_point_in_time, params)
req.send_request(options)
end
# Creates a new DB instance from a DB snapshot. The target database is
# created from the source database restore point with the most of
# original configuration with the default security group and the default
# DB parameter group. By default, the new DB instance is created as a
# single-AZ deployment except when the instance is a SQL Server instance
# that has an option group that is associated with mirroring; in this
# case, the instance becomes a mirrored AZ deployment and not a
# single-AZ deployment.
#
# If your intent is to replace your original DB instance with the new,
# restored DB instance, then rename your original DB instance before you
# call the RestoreDBInstanceFromDBSnapshot action. RDS doesn't allow
# two DB instances with the same name. Once you have renamed your
# original DB instance with a different identifier, then you can pass
# the original name of the DB instance as the DBInstanceIdentifier in
# the call to the RestoreDBInstanceFromDBSnapshot action. The result is
# that you will replace the original DB instance with the DB instance
# created from the snapshot.
#
# If you are restoring from a shared manual DB snapshot, the
# `DBSnapshotIdentifier` must be the ARN of the shared DB snapshot.
#
# This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For
# Aurora, use `RestoreDBClusterFromSnapshot`.
#
#
#
# @option params [required, String] :db_instance_identifier
# Name of the DB instance to create from the DB snapshot. This parameter
# isn't case-sensitive.
#
# Constraints:
#
# * Must contain from 1 to 63 numbers, letters, or hyphens
#
# * First character must be a letter
#
# * Can't end with a hyphen or contain two consecutive hyphens
#
# Example: `my-snapshot-id`
#
# @option params [required, String] :db_snapshot_identifier
# The identifier for the DB snapshot to restore from.
#
# Constraints:
#
# * Must match the identifier of an existing DBSnapshot.
#
# * If you are restoring from a shared manual DB snapshot, the
# `DBSnapshotIdentifier` must be the ARN of the shared DB snapshot.
#
# @option params [String] :db_instance_class
# The compute and memory capacity of the Amazon RDS DB instance, for
# example, `db.m4.large`. Not all DB instance classes are available in
# all AWS Regions, or for all database engines. For the full list of DB
# instance classes, and availability for your engine, see [DB Instance
# Class][1] in the *Amazon RDS User Guide.*
#
# Default: The same DBInstanceClass as the original DB instance.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html
#
# @option params [Integer] :port
# The port number on which the database accepts connections.
#
# Default: The same port as the original DB instance
#
# Constraints: Value must be `1150-65535`
#
# @option params [String] :availability_zone
# The Availability Zone (AZ) where the DB instance will be created.
#
# Default: A random, system-chosen Availability Zone.
#
# Constraint: You can't specify the `AvailabilityZone` parameter if the
# DB instance is a Multi-AZ deployment.
#
# Example: `us-east-1a`
#
# @option params [String] :db_subnet_group_name
# The DB subnet group name to use for the new instance.
#
# Constraints: If supplied, must match the name of an existing
# DBSubnetGroup.
#
# Example: `mySubnetgroup`
#
# @option params [Boolean] :multi_az
# A value that indicates whether the DB instance is a Multi-AZ
# deployment.
#
# Constraint: You can't specify the `AvailabilityZone` parameter if the
# DB instance is a Multi-AZ deployment.
#
# @option params [Boolean] :publicly_accessible
# A value that indicates whether the DB instance is publicly accessible.
#
# When the DB instance is publicly accessible, its DNS endpoint resolves
# to the private IP address from within the DB instance's VPC, and to
# the public IP address from outside of the DB instance's VPC. Access
# to the DB instance is ultimately controlled by the security group it
# uses, and 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.
#
# For more information, see CreateDBInstance.
#
# @option params [Boolean] :auto_minor_version_upgrade
# A value that indicates whether minor version upgrades are applied
# automatically to the DB instance during the maintenance window.
#
# @option params [String] :license_model
# License model information for the restored DB instance.
#
# Default: Same as source.
#
# Valid values: `license-included` \| `bring-your-own-license` \|
# `general-public-license`
#
# @option params [String] :db_name
# The database name for the restored DB instance.
#
# This parameter doesn't apply to the MySQL, PostgreSQL, or MariaDB
# engines.
#
#
#
# @option params [String] :engine
# The database engine to use for the new instance.
#
# Default: The same as source
#
# Constraint: Must be compatible with the engine of the source. For
# example, you can restore a MariaDB 10.1 DB instance from a MySQL 5.6
# snapshot.
#
# Valid Values:
#
# * `mariadb`
#
# * `mysql`
#
# * `oracle-ee`
#
# * `oracle-se2`
#
# * `oracle-se1`
#
# * `oracle-se`
#
# * `postgres`
#
# * `sqlserver-ee`
#
# * `sqlserver-se`
#
# * `sqlserver-ex`
#
# * `sqlserver-web`
#
# @option params [Integer] :iops
# Specifies the amount of provisioned IOPS for the DB instance,
# expressed in I/O operations per second. If this parameter isn't
# specified, the IOPS value is taken from the backup. If this parameter
# is set to 0, the new instance is converted to a non-PIOPS instance.
# The conversion takes additional time, though your DB instance is
# available for connections before the conversion starts.
#
# The provisioned IOPS value must follow the requirements for your
# database engine. For more information, see [Amazon RDS Provisioned
# IOPS Storage to Improve Performance][1] in the *Amazon RDS User
# Guide.*
#
# Constraints: Must be an integer greater than 1000.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS
#
# @option params [String] :option_group_name
# The name of the option group to be used for the restored DB instance.
#
# Permanent options, such as the TDE option for Oracle Advanced Security
# TDE, can't be removed from an option group, and that option group
# can't be removed from a DB instance once it is associated with a DB
# instance
#
# @option params [Array] :tags
# A list of tags. For more information, see [Tagging Amazon RDS
# Resources][1] in the *Amazon RDS User Guide.*
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html
#
# @option params [String] :storage_type
# Specifies the storage type to be associated with the DB instance.
#
# Valid values: `standard | gp2 | io1`
#
# If you specify `io1`, you must also include a value for the `Iops`
# parameter.
#
# Default: `io1` if the `Iops` parameter is specified, otherwise `gp2`
#
# @option params [String] :tde_credential_arn
# The ARN from the key store with which to associate the instance for
# TDE encryption.
#
# @option params [String] :tde_credential_password
# The password for the given ARN from the key store in order to access
# the device.
#
# @option params [Array] :vpc_security_group_ids
# A list of EC2 VPC security groups to associate with this DB instance.
#
# Default: The default EC2 VPC security group for the DB subnet group's
# VPC.
#
# @option params [String] :domain
# Specify the Active Directory directory ID to restore the DB instance
# in. The domain must be created prior to this operation. Currently,
# only Microsoft SQL Server and Oracle DB instances can be created in an
# Active Directory Domain.
#
# For Microsoft SQL Server DB instances, Amazon RDS can use Windows
# Authentication to authenticate users that connect to the DB instance.
# For more information, see [ Using Windows Authentication with an
# Amazon RDS DB Instance Running Microsoft SQL Server][1] in the *Amazon
# RDS User Guide*.
#
# For Oracle DB instances, Amazon RDS can use Kerberos Authentication to
# authenticate users that connect to the DB instance. For more
# information, see [ Using Kerberos Authentication with Amazon RDS for
# Oracle][2] in the *Amazon RDS User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_SQLServerWinAuth.html
# [2]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-kerberos.html
#
# @option params [Boolean] :copy_tags_to_snapshot
# A value that indicates whether to copy all tags from the restored DB
# instance to snapshots of the DB instance. By default, tags are not
# copied.
#
# @option params [String] :domain_iam_role_name
# Specify the name of the IAM role to be used when making API calls to
# the Directory Service.
#
# @option params [Boolean] :enable_iam_database_authentication
# A value that indicates whether to enable mapping of AWS Identity and
# Access Management (IAM) accounts to database accounts. By default,
# mapping is disabled. For information about the supported DB engines,
# see CreateDBInstance.
#
# For more information about IAM database authentication, see [ IAM
# Database Authentication for MySQL and PostgreSQL][1] in the *Amazon
# RDS User Guide.*
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html
#
# @option params [Array] :enable_cloudwatch_logs_exports
# The list of logs that the restored 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][1] in the *Amazon Aurora User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch
#
# @option params [Array] :processor_features
# The number of CPU cores and the number of threads per core for the DB
# instance class of the DB instance.
#
# @option params [Boolean] :use_default_processor_features
# A value that indicates whether the DB instance class of the DB
# instance uses its default processor features.
#
# @option params [String] :db_parameter_group_name
# The name of the DB parameter group to associate with this DB instance.
#
# If you do not specify a value for `DBParameterGroupName`, then the
# default `DBParameterGroup` for the specified DB engine is used.
#
# Constraints:
#
# * If supplied, must match the name of an existing DBParameterGroup.
#
# * 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.
#
# @option params [Boolean] :deletion_protection
# A value that indicates whether the DB instance has deletion protection
# enabled. The database can't be deleted when deletion protection is
# enabled. By default, deletion protection is disabled. For more
# information, see [ Deleting a DB Instance][1].
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html
#
# @return [Types::RestoreDBInstanceFromDBSnapshotResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::RestoreDBInstanceFromDBSnapshotResult#db_instance #db_instance} => Types::DBInstance
#
#
# @example Example: To restore a DB instance from a DB snapshot.
#
# # The following example restores a DB instance from a DB snapshot.
#
# resp = client.restore_db_instance_from_db_snapshot({
# db_instance_identifier: "mysqldb-restored",
# db_snapshot_identifier: "rds:mysqldb-2014-04-22-08-15",
# })
#
# resp.to_h outputs the following:
# {
# db_instance: {
# allocated_storage: 200,
# auto_minor_version_upgrade: true,
# availability_zone: "us-west-2b",
# backup_retention_period: 7,
# ca_certificate_identifier: "rds-ca-2015",
# copy_tags_to_snapshot: false,
# db_instance_arn: "arn:aws:rds:us-west-2:123456789012:db:mysqldb-restored",
# db_instance_class: "db.t2.small",
# db_instance_identifier: "mysqldb-restored",
# db_instance_status: "available",
# db_name: "sample",
# db_parameter_groups: [
# {
# db_parameter_group_name: "default.mysql5.6",
# parameter_apply_status: "in-sync",
# },
# ],
# db_security_groups: [
# ],
# db_subnet_group: {
# db_subnet_group_description: "default",
# db_subnet_group_name: "default",
# subnet_group_status: "Complete",
# subnets: [
# {
# subnet_availability_zone: {
# name: "us-west-2a",
# },
# subnet_identifier: "subnet-77e8db03",
# subnet_status: "Active",
# },
# {
# subnet_availability_zone: {
# name: "us-west-2b",
# },
# subnet_identifier: "subnet-c39989a1",
# subnet_status: "Active",
# },
# {
# subnet_availability_zone: {
# name: "us-west-2c",
# },
# subnet_identifier: "subnet-4b267b0d",
# subnet_status: "Active",
# },
# ],
# vpc_id: "vpc-c1c5b3a3",
# },
# db_instance_port: 0,
# dbi_resource_id: "db-VNZUCCBTEDC4WR7THXNJO72HVQ",
# domain_memberships: [
# ],
# engine: "mysql",
# engine_version: "5.6.27",
# license_model: "general-public-license",
# master_username: "mymasteruser",
# monitoring_interval: 0,
# multi_az: false,
# option_group_memberships: [
# {
# option_group_name: "default:mysql-5-6",
# status: "in-sync",
# },
# ],
# pending_modified_values: {
# },
# preferred_backup_window: "12:58-13:28",
# preferred_maintenance_window: "tue:10:16-tue:10:46",
# publicly_accessible: true,
# read_replica_db_instance_identifiers: [
# ],
# storage_encrypted: false,
# storage_type: "gp2",
# vpc_security_groups: [
# {
# status: "active",
# vpc_security_group_id: "sg-e5e5b0d2",
# },
# ],
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.restore_db_instance_from_db_snapshot({
# db_instance_identifier: "String", # required
# db_snapshot_identifier: "String", # required
# db_instance_class: "String",
# port: 1,
# availability_zone: "String",
# db_subnet_group_name: "String",
# multi_az: false,
# publicly_accessible: false,
# auto_minor_version_upgrade: false,
# license_model: "String",
# db_name: "String",
# engine: "String",
# iops: 1,
# option_group_name: "String",
# tags: [
# {
# key: "String",
# value: "String",
# },
# ],
# storage_type: "String",
# tde_credential_arn: "String",
# tde_credential_password: "String",
# vpc_security_group_ids: ["String"],
# domain: "String",
# copy_tags_to_snapshot: false,
# domain_iam_role_name: "String",
# enable_iam_database_authentication: false,
# enable_cloudwatch_logs_exports: ["String"],
# processor_features: [
# {
# name: "String",
# value: "String",
# },
# ],
# use_default_processor_features: false,
# db_parameter_group_name: "String",
# deletion_protection: false,
# })
#
# @example Response structure
#
# resp.db_instance.db_instance_identifier #=> String
# resp.db_instance.db_instance_class #=> String
# resp.db_instance.engine #=> String
# resp.db_instance.db_instance_status #=> String
# resp.db_instance.master_username #=> String
# resp.db_instance.db_name #=> String
# resp.db_instance.endpoint.address #=> String
# resp.db_instance.endpoint.port #=> Integer
# resp.db_instance.endpoint.hosted_zone_id #=> String
# resp.db_instance.allocated_storage #=> Integer
# resp.db_instance.instance_create_time #=> Time
# resp.db_instance.preferred_backup_window #=> String
# resp.db_instance.backup_retention_period #=> Integer
# resp.db_instance.db_security_groups #=> Array
# resp.db_instance.db_security_groups[0].db_security_group_name #=> String
# resp.db_instance.db_security_groups[0].status #=> String
# resp.db_instance.vpc_security_groups #=> Array
# resp.db_instance.vpc_security_groups[0].vpc_security_group_id #=> String
# resp.db_instance.vpc_security_groups[0].status #=> String
# resp.db_instance.db_parameter_groups #=> Array
# resp.db_instance.db_parameter_groups[0].db_parameter_group_name #=> String
# resp.db_instance.db_parameter_groups[0].parameter_apply_status #=> String
# resp.db_instance.availability_zone #=> String
# resp.db_instance.db_subnet_group.db_subnet_group_name #=> String
# resp.db_instance.db_subnet_group.db_subnet_group_description #=> String
# resp.db_instance.db_subnet_group.vpc_id #=> String
# resp.db_instance.db_subnet_group.subnet_group_status #=> String
# resp.db_instance.db_subnet_group.subnets #=> Array
# resp.db_instance.db_subnet_group.subnets[0].subnet_identifier #=> String
# resp.db_instance.db_subnet_group.subnets[0].subnet_availability_zone.name #=> String
# resp.db_instance.db_subnet_group.subnets[0].subnet_status #=> String
# resp.db_instance.db_subnet_group.db_subnet_group_arn #=> String
# resp.db_instance.preferred_maintenance_window #=> String
# resp.db_instance.pending_modified_values.db_instance_class #=> String
# resp.db_instance.pending_modified_values.allocated_storage #=> Integer
# resp.db_instance.pending_modified_values.master_user_password #=> String
# resp.db_instance.pending_modified_values.port #=> Integer
# resp.db_instance.pending_modified_values.backup_retention_period #=> Integer
# resp.db_instance.pending_modified_values.multi_az #=> Boolean
# resp.db_instance.pending_modified_values.engine_version #=> String
# resp.db_instance.pending_modified_values.license_model #=> String
# resp.db_instance.pending_modified_values.iops #=> Integer
# resp.db_instance.pending_modified_values.db_instance_identifier #=> String
# resp.db_instance.pending_modified_values.storage_type #=> String
# resp.db_instance.pending_modified_values.ca_certificate_identifier #=> String
# resp.db_instance.pending_modified_values.db_subnet_group_name #=> String
# resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_enable #=> Array
# resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_enable[0] #=> String
# resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_disable #=> Array
# resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_disable[0] #=> String
# resp.db_instance.pending_modified_values.processor_features #=> Array
# resp.db_instance.pending_modified_values.processor_features[0].name #=> String
# resp.db_instance.pending_modified_values.processor_features[0].value #=> String
# resp.db_instance.latest_restorable_time #=> Time
# resp.db_instance.multi_az #=> Boolean
# resp.db_instance.engine_version #=> String
# resp.db_instance.auto_minor_version_upgrade #=> Boolean
# resp.db_instance.read_replica_source_db_instance_identifier #=> String
# resp.db_instance.read_replica_db_instance_identifiers #=> Array
# resp.db_instance.read_replica_db_instance_identifiers[0] #=> String
# resp.db_instance.read_replica_db_cluster_identifiers #=> Array
# resp.db_instance.read_replica_db_cluster_identifiers[0] #=> String
# resp.db_instance.license_model #=> String
# resp.db_instance.iops #=> Integer
# resp.db_instance.option_group_memberships #=> Array
# resp.db_instance.option_group_memberships[0].option_group_name #=> String
# resp.db_instance.option_group_memberships[0].status #=> String
# resp.db_instance.character_set_name #=> String
# resp.db_instance.secondary_availability_zone #=> String
# resp.db_instance.publicly_accessible #=> Boolean
# resp.db_instance.status_infos #=> Array
# resp.db_instance.status_infos[0].status_type #=> String
# resp.db_instance.status_infos[0].normal #=> Boolean
# resp.db_instance.status_infos[0].status #=> String
# resp.db_instance.status_infos[0].message #=> String
# resp.db_instance.storage_type #=> String
# resp.db_instance.tde_credential_arn #=> String
# resp.db_instance.db_instance_port #=> Integer
# resp.db_instance.db_cluster_identifier #=> String
# resp.db_instance.storage_encrypted #=> Boolean
# resp.db_instance.kms_key_id #=> String
# resp.db_instance.dbi_resource_id #=> String
# resp.db_instance.ca_certificate_identifier #=> String
# resp.db_instance.domain_memberships #=> Array
# resp.db_instance.domain_memberships[0].domain #=> String
# resp.db_instance.domain_memberships[0].status #=> String
# resp.db_instance.domain_memberships[0].fqdn #=> String
# resp.db_instance.domain_memberships[0].iam_role_name #=> String
# resp.db_instance.copy_tags_to_snapshot #=> Boolean
# resp.db_instance.monitoring_interval #=> Integer
# resp.db_instance.enhanced_monitoring_resource_arn #=> String
# resp.db_instance.monitoring_role_arn #=> String
# resp.db_instance.promotion_tier #=> Integer
# resp.db_instance.db_instance_arn #=> String
# resp.db_instance.timezone #=> String
# resp.db_instance.iam_database_authentication_enabled #=> Boolean
# resp.db_instance.performance_insights_enabled #=> Boolean
# resp.db_instance.performance_insights_kms_key_id #=> String
# resp.db_instance.performance_insights_retention_period #=> Integer
# resp.db_instance.enabled_cloudwatch_logs_exports #=> Array
# resp.db_instance.enabled_cloudwatch_logs_exports[0] #=> String
# resp.db_instance.processor_features #=> Array
# resp.db_instance.processor_features[0].name #=> String
# resp.db_instance.processor_features[0].value #=> String
# resp.db_instance.deletion_protection #=> Boolean
# resp.db_instance.associated_roles #=> Array
# resp.db_instance.associated_roles[0].role_arn #=> String
# resp.db_instance.associated_roles[0].feature_name #=> String
# resp.db_instance.associated_roles[0].status #=> String
# resp.db_instance.listener_endpoint.address #=> String
# resp.db_instance.listener_endpoint.port #=> Integer
# resp.db_instance.listener_endpoint.hosted_zone_id #=> String
# resp.db_instance.max_allocated_storage #=> Integer
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceFromDBSnapshot AWS API Documentation
#
# @overload restore_db_instance_from_db_snapshot(params = {})
# @param [Hash] params ({})
def restore_db_instance_from_db_snapshot(params = {}, options = {})
req = build_request(:restore_db_instance_from_db_snapshot, params)
req.send_request(options)
end
# Amazon Relational Database Service (Amazon RDS) supports importing
# MySQL databases by using backup files. You can create a backup of your
# on-premises database, store it on Amazon Simple Storage Service
# (Amazon S3), and then restore the backup file onto a new Amazon RDS DB
# instance running MySQL. For more information, see [Importing Data into
# an Amazon RDS MySQL DB Instance][1] in the *Amazon RDS User Guide.*
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Procedural.Importing.html
#
# @option params [String] :db_name
# The name of the database to create when the DB instance is created.
# Follow the naming rules specified in `CreateDBInstance`.
#
# @option params [required, String] :db_instance_identifier
# The DB instance identifier. 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`
#
# @option params [Integer] :allocated_storage
# The amount of storage (in gigabytes) to allocate initially for the DB
# instance. Follow the allocation rules specified in `CreateDBInstance`.
#
# Be sure to allocate enough memory for your new DB instance so that the
# restore operation can succeed. You can also allocate additional memory
# for future growth.
#
#
#
# @option params [required, String] :db_instance_class
# The compute and memory capacity of the DB instance, for example,
# `db.m4.large`. Not all DB instance classes are available in all AWS
# Regions, or for all database engines. For the full list of DB instance
# classes, and availability for your engine, see [DB Instance Class][1]
# in the *Amazon RDS User Guide.*
#
# Importing from Amazon S3 isn't supported on the db.t2.micro DB
# instance class.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html
#
# @option params [required, String] :engine
# The name of the database engine to be used for this instance.
#
# Valid Values: `mysql`
#
# @option params [String] :master_username
# The name for the master user.
#
# 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.
#
# @option params [String] :master_user_password
# The password for the master user. The password can include any
# printable ASCII character except "/", """, or "@".
#
# Constraints: Must contain from 8 to 41 characters.
#
# @option params [Array] :db_security_groups
# A list of DB security groups to associate with this DB instance.
#
# Default: The default DB security group for the database engine.
#
# @option params [Array] :vpc_security_group_ids
# A list of VPC security groups to associate with this DB instance.
#
# @option params [String] :availability_zone
# The Availability Zone that the DB instance is created in. For
# information about AWS Regions and Availability Zones, see [Regions and
# Availability Zones][1] in the *Amazon RDS User Guide.*
#
# Default: A random, system-chosen Availability Zone in the endpoint's
# AWS Region.
#
# Example: `us-east-1d`
#
# Constraint: 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 AWS Region as the current endpoint.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html
#
# @option params [String] :db_subnet_group_name
# A DB subnet group to associate with this DB instance.
#
# @option params [String] :preferred_maintenance_window
# The time range each week during which system maintenance can occur, in
# Universal Coordinated Time (UTC). For more information, see [Amazon
# RDS Maintenance Window][1] in the *Amazon RDS User Guide.*
#
# Constraints:
#
# * Must be in the format `ddd:hh24:mi-ddd:hh24:mi`.
#
# * Valid Days: 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.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance
#
# @option params [String] :db_parameter_group_name
# The name of the DB parameter group to associate with this DB instance.
#
# If you do not specify a value for `DBParameterGroupName`, then the
# default `DBParameterGroup` for the specified DB engine is used.
#
# @option params [Integer] :backup_retention_period
# The number of days for which automated backups are retained. Setting
# this parameter to a positive number enables backups. For more
# information, see `CreateDBInstance`.
#
# @option params [String] :preferred_backup_window
# The time range each day during which automated backups are created if
# automated backups are enabled. For more information, see [The Backup
# Window][1] in the *Amazon RDS 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.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow
#
# @option params [Integer] :port
# The port number on which the database accepts connections.
#
# Type: Integer
#
# Valid Values: `1150`-`65535`
#
# Default: `3306`
#
# @option params [Boolean] :multi_az
# A value that indicates whether the DB instance is a Multi-AZ
# deployment. If the DB instance is a Multi-AZ deployment, you can't
# set the `AvailabilityZone` parameter.
#
# @option params [String] :engine_version
# The version number of the database engine to use. Choose the latest
# minor version of your database engine. For information about engine
# versions, see `CreateDBInstance`, or call `DescribeDBEngineVersions`.
#
# @option params [Boolean] :auto_minor_version_upgrade
# A value that indicates whether minor engine upgrades are applied
# automatically to the DB instance during the maintenance window. By
# default, minor engine upgrades are not applied automatically.
#
# @option params [String] :license_model
# The license model for this DB instance. Use `general-public-license`.
#
# @option params [Integer] :iops
# The amount of Provisioned IOPS (input/output operations per second) to
# allocate initially for the DB instance. For information about valid
# Iops values, see [Amazon RDS Provisioned IOPS Storage to Improve
# Performance][1] in the *Amazon RDS User Guide.*
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS
#
# @option params [String] :option_group_name
# The name of the option group to associate with this DB instance. If
# this argument is omitted, the default option group for the specified
# engine is used.
#
# @option params [Boolean] :publicly_accessible
# A value that indicates whether the DB instance is publicly accessible.
#
# When the DB instance is publicly accessible, its DNS endpoint resolves
# to the private IP address from within the DB instance's VPC, and to
# the public IP address from outside of the DB instance's VPC. Access
# to the DB instance is ultimately controlled by the security group it
# uses, and 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.
#
# For more information, see CreateDBInstance.
#
# @option params [Array] :tags
# A list of tags to associate with this DB instance. For more
# information, see [Tagging Amazon RDS Resources][1] in the *Amazon RDS
# User Guide.*
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html
#
# @option params [String] :storage_type
# Specifies the storage type to be associated with the DB instance.
#
# Valid values: `standard` \| `gp2` \| `io1`
#
# If you specify `io1`, you must also include a value for the `Iops`
# parameter.
#
# Default: `io1` if the `Iops` parameter is specified; otherwise `gp2`
#
# @option params [Boolean] :storage_encrypted
# A value that indicates whether the new DB instance is encrypted or
# not.
#
# @option params [String] :kms_key_id
# The AWS KMS key identifier for an encrypted DB instance.
#
# The KMS key identifier is the Amazon Resource Name (ARN) for the KMS
# encryption key. If you are creating a DB instance with the same AWS
# account that owns the KMS encryption key used to encrypt the new DB
# instance, then you can use the KMS key alias instead of the ARN for
# the KM encryption key.
#
# If the `StorageEncrypted` parameter is enabled, and you do not specify
# a value for the `KmsKeyId` parameter, then Amazon RDS will use your
# default encryption key. AWS KMS creates the default encryption key for
# your AWS account. Your AWS account has a different default encryption
# key for each AWS Region.
#
# @option params [Boolean] :copy_tags_to_snapshot
# A value that indicates whether to copy all tags from the DB instance
# to snapshots of the DB instance. By default, tags are not copied.
#
# @option params [Integer] :monitoring_interval
# The interval, in seconds, between points when Enhanced Monitoring
# metrics are collected for the DB instance. To disable collecting
# Enhanced Monitoring metrics, specify 0.
#
# If `MonitoringRoleArn` is specified, then you must also set
# `MonitoringInterval` to a value other than 0.
#
# Valid Values: 0, 1, 5, 10, 15, 30, 60
#
# Default: `0`
#
# @option params [String] :monitoring_role_arn
# 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][1] in the *Amazon RDS User Guide.*
#
# If `MonitoringInterval` is set to a value other than 0, then you must
# supply a `MonitoringRoleArn` value.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling
#
# @option params [Boolean] :enable_iam_database_authentication
# A value that indicates whether to enable mapping of AWS Identity and
# Access Management (IAM) accounts to database accounts. By default,
# mapping is disabled. For information about the supported DB engines,
# see CreateDBInstance.
#
# For more information about IAM database authentication, see [ IAM
# Database Authentication for MySQL and PostgreSQL][1] in the *Amazon
# RDS User Guide.*
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html
#
# @option params [required, String] :source_engine
# The name of the engine of your source database.
#
# Valid Values: `mysql`
#
# @option params [required, String] :source_engine_version
# The version of the database that the backup files were created from.
#
# MySQL versions 5.6 and 5.7 are supported.
#
# Example: `5.6.40`
#
# @option params [required, String] :s3_bucket_name
# The name of your Amazon S3 bucket that contains your database backup
# file.
#
# @option params [String] :s3_prefix
# The prefix of your Amazon S3 bucket.
#
# @option params [required, String] :s3_ingestion_role_arn
# An AWS Identity and Access Management (IAM) role to allow Amazon RDS
# to access your Amazon S3 bucket.
#
# @option params [Boolean] :enable_performance_insights
# A value that indicates whether to enable Performance Insights for the
# DB instance.
#
# For more information, see [Using Amazon Performance Insights][1] in
# the *Amazon Relational Database Service User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html
#
# @option params [String] :performance_insights_kms_key_id
# The AWS KMS key identifier for encryption of Performance Insights
# data. The KMS key ID is the Amazon Resource Name (ARN), the KMS key
# identifier, or the KMS key alias for the KMS encryption key.
#
# If you do not specify a value for `PerformanceInsightsKMSKeyId`, then
# Amazon RDS uses your default encryption key. AWS KMS creates the
# default encryption key for your AWS account. Your AWS account has a
# different default encryption key for each AWS Region.
#
# @option params [Integer] :performance_insights_retention_period
# The amount of time, in days, to retain Performance Insights data.
# Valid values are 7 or 731 (2 years).
#
# @option params [Array] :enable_cloudwatch_logs_exports
# The list of logs that the restored 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][1] in the *Amazon RDS User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch
#
# @option params [Array] :processor_features
# The number of CPU cores and the number of threads per core for the DB
# instance class of the DB instance.
#
# @option params [Boolean] :use_default_processor_features
# A value that indicates whether the DB instance class of the DB
# instance uses its default processor features.
#
# @option params [Boolean] :deletion_protection
# A value that indicates whether the DB instance has deletion protection
# enabled. The database can't be deleted when deletion protection is
# enabled. By default, deletion protection is disabled. For more
# information, see [ Deleting a DB Instance][1].
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html
#
# @return [Types::RestoreDBInstanceFromS3Result] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::RestoreDBInstanceFromS3Result#db_instance #db_instance} => Types::DBInstance
#
# @example Request syntax with placeholder values
#
# resp = client.restore_db_instance_from_s3({
# db_name: "String",
# db_instance_identifier: "String", # required
# allocated_storage: 1,
# db_instance_class: "String", # required
# engine: "String", # required
# master_username: "String",
# master_user_password: "String",
# db_security_groups: ["String"],
# vpc_security_group_ids: ["String"],
# availability_zone: "String",
# db_subnet_group_name: "String",
# preferred_maintenance_window: "String",
# db_parameter_group_name: "String",
# backup_retention_period: 1,
# preferred_backup_window: "String",
# port: 1,
# multi_az: false,
# engine_version: "String",
# auto_minor_version_upgrade: false,
# license_model: "String",
# iops: 1,
# option_group_name: "String",
# publicly_accessible: false,
# tags: [
# {
# key: "String",
# value: "String",
# },
# ],
# storage_type: "String",
# storage_encrypted: false,
# kms_key_id: "String",
# copy_tags_to_snapshot: false,
# monitoring_interval: 1,
# monitoring_role_arn: "String",
# enable_iam_database_authentication: false,
# source_engine: "String", # required
# source_engine_version: "String", # required
# s3_bucket_name: "String", # required
# s3_prefix: "String",
# s3_ingestion_role_arn: "String", # required
# enable_performance_insights: false,
# performance_insights_kms_key_id: "String",
# performance_insights_retention_period: 1,
# enable_cloudwatch_logs_exports: ["String"],
# processor_features: [
# {
# name: "String",
# value: "String",
# },
# ],
# use_default_processor_features: false,
# deletion_protection: false,
# })
#
# @example Response structure
#
# resp.db_instance.db_instance_identifier #=> String
# resp.db_instance.db_instance_class #=> String
# resp.db_instance.engine #=> String
# resp.db_instance.db_instance_status #=> String
# resp.db_instance.master_username #=> String
# resp.db_instance.db_name #=> String
# resp.db_instance.endpoint.address #=> String
# resp.db_instance.endpoint.port #=> Integer
# resp.db_instance.endpoint.hosted_zone_id #=> String
# resp.db_instance.allocated_storage #=> Integer
# resp.db_instance.instance_create_time #=> Time
# resp.db_instance.preferred_backup_window #=> String
# resp.db_instance.backup_retention_period #=> Integer
# resp.db_instance.db_security_groups #=> Array
# resp.db_instance.db_security_groups[0].db_security_group_name #=> String
# resp.db_instance.db_security_groups[0].status #=> String
# resp.db_instance.vpc_security_groups #=> Array
# resp.db_instance.vpc_security_groups[0].vpc_security_group_id #=> String
# resp.db_instance.vpc_security_groups[0].status #=> String
# resp.db_instance.db_parameter_groups #=> Array
# resp.db_instance.db_parameter_groups[0].db_parameter_group_name #=> String
# resp.db_instance.db_parameter_groups[0].parameter_apply_status #=> String
# resp.db_instance.availability_zone #=> String
# resp.db_instance.db_subnet_group.db_subnet_group_name #=> String
# resp.db_instance.db_subnet_group.db_subnet_group_description #=> String
# resp.db_instance.db_subnet_group.vpc_id #=> String
# resp.db_instance.db_subnet_group.subnet_group_status #=> String
# resp.db_instance.db_subnet_group.subnets #=> Array
# resp.db_instance.db_subnet_group.subnets[0].subnet_identifier #=> String
# resp.db_instance.db_subnet_group.subnets[0].subnet_availability_zone.name #=> String
# resp.db_instance.db_subnet_group.subnets[0].subnet_status #=> String
# resp.db_instance.db_subnet_group.db_subnet_group_arn #=> String
# resp.db_instance.preferred_maintenance_window #=> String
# resp.db_instance.pending_modified_values.db_instance_class #=> String
# resp.db_instance.pending_modified_values.allocated_storage #=> Integer
# resp.db_instance.pending_modified_values.master_user_password #=> String
# resp.db_instance.pending_modified_values.port #=> Integer
# resp.db_instance.pending_modified_values.backup_retention_period #=> Integer
# resp.db_instance.pending_modified_values.multi_az #=> Boolean
# resp.db_instance.pending_modified_values.engine_version #=> String
# resp.db_instance.pending_modified_values.license_model #=> String
# resp.db_instance.pending_modified_values.iops #=> Integer
# resp.db_instance.pending_modified_values.db_instance_identifier #=> String
# resp.db_instance.pending_modified_values.storage_type #=> String
# resp.db_instance.pending_modified_values.ca_certificate_identifier #=> String
# resp.db_instance.pending_modified_values.db_subnet_group_name #=> String
# resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_enable #=> Array
# resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_enable[0] #=> String
# resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_disable #=> Array
# resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_disable[0] #=> String
# resp.db_instance.pending_modified_values.processor_features #=> Array
# resp.db_instance.pending_modified_values.processor_features[0].name #=> String
# resp.db_instance.pending_modified_values.processor_features[0].value #=> String
# resp.db_instance.latest_restorable_time #=> Time
# resp.db_instance.multi_az #=> Boolean
# resp.db_instance.engine_version #=> String
# resp.db_instance.auto_minor_version_upgrade #=> Boolean
# resp.db_instance.read_replica_source_db_instance_identifier #=> String
# resp.db_instance.read_replica_db_instance_identifiers #=> Array
# resp.db_instance.read_replica_db_instance_identifiers[0] #=> String
# resp.db_instance.read_replica_db_cluster_identifiers #=> Array
# resp.db_instance.read_replica_db_cluster_identifiers[0] #=> String
# resp.db_instance.license_model #=> String
# resp.db_instance.iops #=> Integer
# resp.db_instance.option_group_memberships #=> Array
# resp.db_instance.option_group_memberships[0].option_group_name #=> String
# resp.db_instance.option_group_memberships[0].status #=> String
# resp.db_instance.character_set_name #=> String
# resp.db_instance.secondary_availability_zone #=> String
# resp.db_instance.publicly_accessible #=> Boolean
# resp.db_instance.status_infos #=> Array
# resp.db_instance.status_infos[0].status_type #=> String
# resp.db_instance.status_infos[0].normal #=> Boolean
# resp.db_instance.status_infos[0].status #=> String
# resp.db_instance.status_infos[0].message #=> String
# resp.db_instance.storage_type #=> String
# resp.db_instance.tde_credential_arn #=> String
# resp.db_instance.db_instance_port #=> Integer
# resp.db_instance.db_cluster_identifier #=> String
# resp.db_instance.storage_encrypted #=> Boolean
# resp.db_instance.kms_key_id #=> String
# resp.db_instance.dbi_resource_id #=> String
# resp.db_instance.ca_certificate_identifier #=> String
# resp.db_instance.domain_memberships #=> Array
# resp.db_instance.domain_memberships[0].domain #=> String
# resp.db_instance.domain_memberships[0].status #=> String
# resp.db_instance.domain_memberships[0].fqdn #=> String
# resp.db_instance.domain_memberships[0].iam_role_name #=> String
# resp.db_instance.copy_tags_to_snapshot #=> Boolean
# resp.db_instance.monitoring_interval #=> Integer
# resp.db_instance.enhanced_monitoring_resource_arn #=> String
# resp.db_instance.monitoring_role_arn #=> String
# resp.db_instance.promotion_tier #=> Integer
# resp.db_instance.db_instance_arn #=> String
# resp.db_instance.timezone #=> String
# resp.db_instance.iam_database_authentication_enabled #=> Boolean
# resp.db_instance.performance_insights_enabled #=> Boolean
# resp.db_instance.performance_insights_kms_key_id #=> String
# resp.db_instance.performance_insights_retention_period #=> Integer
# resp.db_instance.enabled_cloudwatch_logs_exports #=> Array
# resp.db_instance.enabled_cloudwatch_logs_exports[0] #=> String
# resp.db_instance.processor_features #=> Array
# resp.db_instance.processor_features[0].name #=> String
# resp.db_instance.processor_features[0].value #=> String
# resp.db_instance.deletion_protection #=> Boolean
# resp.db_instance.associated_roles #=> Array
# resp.db_instance.associated_roles[0].role_arn #=> String
# resp.db_instance.associated_roles[0].feature_name #=> String
# resp.db_instance.associated_roles[0].status #=> String
# resp.db_instance.listener_endpoint.address #=> String
# resp.db_instance.listener_endpoint.port #=> Integer
# resp.db_instance.listener_endpoint.hosted_zone_id #=> String
# resp.db_instance.max_allocated_storage #=> Integer
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceFromS3 AWS API Documentation
#
# @overload restore_db_instance_from_s3(params = {})
# @param [Hash] params ({})
def restore_db_instance_from_s3(params = {}, options = {})
req = build_request(:restore_db_instance_from_s3, params)
req.send_request(options)
end
# Restores a DB instance to an arbitrary point in time. You can restore
# to any point in time before the time identified by the
# LatestRestorableTime property. You can restore to a point up to the
# number of days specified by the BackupRetentionPeriod property.
#
# The target database is created with most of the original
# configuration, but in a system-selected Availability Zone, with the
# default security group, the default subnet group, and the default DB
# parameter group. By default, the new DB instance is created as a
# single-AZ deployment except when the instance is a SQL Server instance
# that has an option group that is associated with mirroring; in this
# case, the instance becomes a mirrored deployment and not a single-AZ
# deployment.
#
# This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For
# Aurora, use `RestoreDBClusterToPointInTime`.
#
#
#
# @option params [String] :source_db_instance_identifier
# The identifier of the source DB instance from which to restore.
#
# Constraints:
#
# * Must match the identifier of an existing DB instance.
#
# ^
#
# @option params [required, String] :target_db_instance_identifier
# The name of the new DB instance to be created.
#
# 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
#
# @option params [Time,DateTime,Date,Integer,String] :restore_time
# The date and time to restore from.
#
# Valid Values: Value must be a time in Universal Coordinated Time (UTC)
# format
#
# Constraints:
#
# * Must be before the latest restorable time for the DB instance
#
# * Can't be specified if the `UseLatestRestorableTime` parameter is
# enabled
#
# Example: `2009-09-07T23:45:00Z`
#
# @option params [Boolean] :use_latest_restorable_time
# A value that indicates whether the DB instance is restored from the
# latest backup time. By default, the DB instance isn't restored from
# the latest backup time.
#
# Constraints: Can't be specified if the `RestoreTime` parameter is
# provided.
#
# @option params [String] :db_instance_class
# The compute and memory capacity of the Amazon RDS DB instance, for
# example, `db.m4.large`. Not all DB instance classes are available in
# all AWS Regions, or for all database engines. For the full list of DB
# instance classes, and availability for your engine, see [DB Instance
# Class][1] in the *Amazon RDS User Guide.*
#
# Default: The same DBInstanceClass as the original DB instance.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html
#
# @option params [Integer] :port
# The port number on which the database accepts connections.
#
# Constraints: Value must be `1150-65535`
#
# Default: The same port as the original DB instance.
#
# @option params [String] :availability_zone
# The Availability Zone (AZ) where the DB instance will be created.
#
# Default: A random, system-chosen Availability Zone.
#
# Constraint: You can't specify the `AvailabilityZone` parameter if the
# DB instance is a Multi-AZ deployment.
#
# Example: `us-east-1a`
#
# @option params [String] :db_subnet_group_name
# The DB subnet group name to use for the new instance.
#
# Constraints: If supplied, must match the name of an existing
# DBSubnetGroup.
#
# Example: `mySubnetgroup`
#
# @option params [Boolean] :multi_az
# A value that indicates whether the DB instance is a Multi-AZ
# deployment.
#
# Constraint: You can't specify the `AvailabilityZone` parameter if the
# DB instance is a Multi-AZ deployment.
#
# @option params [Boolean] :publicly_accessible
# A value that indicates whether the DB instance is publicly accessible.
#
# When the DB instance is publicly accessible, its DNS endpoint resolves
# to the private IP address from within the DB instance's VPC, and to
# the public IP address from outside of the DB instance's VPC. Access
# to the DB instance is ultimately controlled by the security group it
# uses, and 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.
#
# For more information, see CreateDBInstance.
#
# @option params [Boolean] :auto_minor_version_upgrade
# A value that indicates whether minor version upgrades are applied
# automatically to the DB instance during the maintenance window.
#
# @option params [String] :license_model
# License model information for the restored DB instance.
#
# Default: Same as source.
#
# Valid values: `license-included` \| `bring-your-own-license` \|
# `general-public-license`
#
# @option params [String] :db_name
# The database name for the restored DB instance.
#
# This parameter isn't used for the MySQL or MariaDB engines.
#
#
#
# @option params [String] :engine
# The database engine to use for the new instance.
#
# Default: The same as source
#
# Constraint: Must be compatible with the engine of the source
#
# Valid Values:
#
# * `mariadb`
#
# * `mysql`
#
# * `oracle-ee`
#
# * `oracle-se2`
#
# * `oracle-se1`
#
# * `oracle-se`
#
# * `postgres`
#
# * `sqlserver-ee`
#
# * `sqlserver-se`
#
# * `sqlserver-ex`
#
# * `sqlserver-web`
#
# @option params [Integer] :iops
# The amount of Provisioned IOPS (input/output operations per second) to
# be initially allocated for the DB instance.
#
# Constraints: Must be an integer greater than 1000.
#
# **SQL Server**
#
# Setting the IOPS value for the SQL Server database engine isn't
# supported.
#
# @option params [String] :option_group_name
# The name of the option group to be used for the restored DB instance.
#
# Permanent options, such as the TDE option for Oracle Advanced Security
# TDE, can't be removed from an option group, and that option group
# can't be removed from a DB instance once it is associated with a DB
# instance
#
# @option params [Boolean] :copy_tags_to_snapshot
# A value that indicates whether to copy all tags from the restored DB
# instance to snapshots of the DB instance. By default, tags are not
# copied.
#
# @option params [Array] :tags
# A list of tags. For more information, see [Tagging Amazon RDS
# Resources][1] in the *Amazon RDS User Guide.*
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html
#
# @option params [String] :storage_type
# Specifies the storage type to be associated with the DB instance.
#
# Valid values: `standard | gp2 | io1`
#
# If you specify `io1`, you must also include a value for the `Iops`
# parameter.
#
# Default: `io1` if the `Iops` parameter is specified, otherwise `gp2`
#
# @option params [String] :tde_credential_arn
# The ARN from the key store with which to associate the instance for
# TDE encryption.
#
# @option params [String] :tde_credential_password
# The password for the given ARN from the key store in order to access
# the device.
#
# @option params [Array] :vpc_security_group_ids
# A list of EC2 VPC security groups to associate with this DB instance.
#
# Default: The default EC2 VPC security group for the DB subnet group's
# VPC.
#
# @option params [String] :domain
# Specify the Active Directory directory ID to restore the DB instance
# in. The domain must be created prior to this operation. Currently,
# only Microsoft SQL Server and Oracle DB instances can be created in an
# Active Directory Domain.
#
# For Microsoft SQL Server DB instances, Amazon RDS can use Windows
# Authentication to authenticate users that connect to the DB instance.
# For more information, see [ Using Windows Authentication with an
# Amazon RDS DB Instance Running Microsoft SQL Server][1] in the *Amazon
# RDS User Guide*.
#
# For Oracle DB instances, Amazon RDS can use Kerberos Authentication to
# authenticate users that connect to the DB instance. For more
# information, see [ Using Kerberos Authentication with Amazon RDS for
# Oracle][2] in the *Amazon RDS User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_SQLServerWinAuth.html
# [2]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-kerberos.html
#
# @option params [String] :domain_iam_role_name
# Specify the name of the IAM role to be used when making API calls to
# the Directory Service.
#
# @option params [Boolean] :enable_iam_database_authentication
# A value that indicates whether to enable mapping of AWS Identity and
# Access Management (IAM) accounts to database accounts. By default,
# mapping is disabled. For information about the supported DB engines,
# see CreateDBInstance.
#
# For more information about IAM database authentication, see [ IAM
# Database Authentication for MySQL and PostgreSQL][1] in the *Amazon
# RDS User Guide.*
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html
#
# @option params [Array] :enable_cloudwatch_logs_exports
# The list of logs that the restored 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][1] in the *Amazon RDS User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch
#
# @option params [Array] :processor_features
# The number of CPU cores and the number of threads per core for the DB
# instance class of the DB instance.
#
# @option params [Boolean] :use_default_processor_features
# A value that indicates whether the DB instance class of the DB
# instance uses its default processor features.
#
# @option params [String] :db_parameter_group_name
# The name of the DB parameter group to associate with this DB instance.
#
# If you do not specify a value for `DBParameterGroupName`, then the
# default `DBParameterGroup` for the specified DB engine is used.
#
# Constraints:
#
# * If supplied, must match the name of an existing DBParameterGroup.
#
# * 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.
#
# @option params [Boolean] :deletion_protection
# A value that indicates whether the DB instance has deletion protection
# enabled. The database can't be deleted when deletion protection is
# enabled. By default, deletion protection is disabled. For more
# information, see [ Deleting a DB Instance][1].
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html
#
# @option params [String] :source_dbi_resource_id
# The resource ID of the source DB instance from which to restore.
#
# @return [Types::RestoreDBInstanceToPointInTimeResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::RestoreDBInstanceToPointInTimeResult#db_instance #db_instance} => Types::DBInstance
#
#
# @example Example: To restore a DB instance to a point in time.
#
# # The following example restores a DB instance to a new DB instance at a point in time from the source DB instance.
#
# resp = client.restore_db_instance_to_point_in_time({
# restore_time: Time.parse("2016-09-13T18:45:00Z"),
# source_db_instance_identifier: "mysql-sample",
# target_db_instance_identifier: "mysql-sample-restored",
# })
#
# resp.to_h outputs the following:
# {
# db_instance: {
# allocated_storage: 200,
# auto_minor_version_upgrade: true,
# availability_zone: "us-west-2b",
# backup_retention_period: 7,
# ca_certificate_identifier: "rds-ca-2015",
# copy_tags_to_snapshot: false,
# db_instance_arn: "arn:aws:rds:us-west-2:123456789012:db:mysql-sample-restored",
# db_instance_class: "db.t2.small",
# db_instance_identifier: "mysql-sample-restored",
# db_instance_status: "available",
# db_name: "sample",
# db_parameter_groups: [
# {
# db_parameter_group_name: "default.mysql5.6",
# parameter_apply_status: "in-sync",
# },
# ],
# db_security_groups: [
# ],
# db_subnet_group: {
# db_subnet_group_description: "default",
# db_subnet_group_name: "default",
# subnet_group_status: "Complete",
# subnets: [
# {
# subnet_availability_zone: {
# name: "us-west-2a",
# },
# subnet_identifier: "subnet-77e8db03",
# subnet_status: "Active",
# },
# {
# subnet_availability_zone: {
# name: "us-west-2b",
# },
# subnet_identifier: "subnet-c39989a1",
# subnet_status: "Active",
# },
# {
# subnet_availability_zone: {
# name: "us-west-2c",
# },
# subnet_identifier: "subnet-4b267b0d",
# subnet_status: "Active",
# },
# ],
# vpc_id: "vpc-c1c5b3a3",
# },
# db_instance_port: 0,
# dbi_resource_id: "db-VNZUCCBTEDC4WR7THXNJO72HVQ",
# domain_memberships: [
# ],
# engine: "mysql",
# engine_version: "5.6.27",
# license_model: "general-public-license",
# master_username: "mymasteruser",
# monitoring_interval: 0,
# multi_az: false,
# option_group_memberships: [
# {
# option_group_name: "default:mysql-5-6",
# status: "in-sync",
# },
# ],
# pending_modified_values: {
# },
# preferred_backup_window: "12:58-13:28",
# preferred_maintenance_window: "tue:10:16-tue:10:46",
# publicly_accessible: true,
# read_replica_db_instance_identifiers: [
# ],
# storage_encrypted: false,
# storage_type: "gp2",
# vpc_security_groups: [
# {
# status: "active",
# vpc_security_group_id: "sg-e5e5b0d2",
# },
# ],
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.restore_db_instance_to_point_in_time({
# source_db_instance_identifier: "String",
# target_db_instance_identifier: "String", # required
# restore_time: Time.now,
# use_latest_restorable_time: false,
# db_instance_class: "String",
# port: 1,
# availability_zone: "String",
# db_subnet_group_name: "String",
# multi_az: false,
# publicly_accessible: false,
# auto_minor_version_upgrade: false,
# license_model: "String",
# db_name: "String",
# engine: "String",
# iops: 1,
# option_group_name: "String",
# copy_tags_to_snapshot: false,
# tags: [
# {
# key: "String",
# value: "String",
# },
# ],
# storage_type: "String",
# tde_credential_arn: "String",
# tde_credential_password: "String",
# vpc_security_group_ids: ["String"],
# domain: "String",
# domain_iam_role_name: "String",
# enable_iam_database_authentication: false,
# enable_cloudwatch_logs_exports: ["String"],
# processor_features: [
# {
# name: "String",
# value: "String",
# },
# ],
# use_default_processor_features: false,
# db_parameter_group_name: "String",
# deletion_protection: false,
# source_dbi_resource_id: "String",
# })
#
# @example Response structure
#
# resp.db_instance.db_instance_identifier #=> String
# resp.db_instance.db_instance_class #=> String
# resp.db_instance.engine #=> String
# resp.db_instance.db_instance_status #=> String
# resp.db_instance.master_username #=> String
# resp.db_instance.db_name #=> String
# resp.db_instance.endpoint.address #=> String
# resp.db_instance.endpoint.port #=> Integer
# resp.db_instance.endpoint.hosted_zone_id #=> String
# resp.db_instance.allocated_storage #=> Integer
# resp.db_instance.instance_create_time #=> Time
# resp.db_instance.preferred_backup_window #=> String
# resp.db_instance.backup_retention_period #=> Integer
# resp.db_instance.db_security_groups #=> Array
# resp.db_instance.db_security_groups[0].db_security_group_name #=> String
# resp.db_instance.db_security_groups[0].status #=> String
# resp.db_instance.vpc_security_groups #=> Array
# resp.db_instance.vpc_security_groups[0].vpc_security_group_id #=> String
# resp.db_instance.vpc_security_groups[0].status #=> String
# resp.db_instance.db_parameter_groups #=> Array
# resp.db_instance.db_parameter_groups[0].db_parameter_group_name #=> String
# resp.db_instance.db_parameter_groups[0].parameter_apply_status #=> String
# resp.db_instance.availability_zone #=> String
# resp.db_instance.db_subnet_group.db_subnet_group_name #=> String
# resp.db_instance.db_subnet_group.db_subnet_group_description #=> String
# resp.db_instance.db_subnet_group.vpc_id #=> String
# resp.db_instance.db_subnet_group.subnet_group_status #=> String
# resp.db_instance.db_subnet_group.subnets #=> Array
# resp.db_instance.db_subnet_group.subnets[0].subnet_identifier #=> String
# resp.db_instance.db_subnet_group.subnets[0].subnet_availability_zone.name #=> String
# resp.db_instance.db_subnet_group.subnets[0].subnet_status #=> String
# resp.db_instance.db_subnet_group.db_subnet_group_arn #=> String
# resp.db_instance.preferred_maintenance_window #=> String
# resp.db_instance.pending_modified_values.db_instance_class #=> String
# resp.db_instance.pending_modified_values.allocated_storage #=> Integer
# resp.db_instance.pending_modified_values.master_user_password #=> String
# resp.db_instance.pending_modified_values.port #=> Integer
# resp.db_instance.pending_modified_values.backup_retention_period #=> Integer
# resp.db_instance.pending_modified_values.multi_az #=> Boolean
# resp.db_instance.pending_modified_values.engine_version #=> String
# resp.db_instance.pending_modified_values.license_model #=> String
# resp.db_instance.pending_modified_values.iops #=> Integer
# resp.db_instance.pending_modified_values.db_instance_identifier #=> String
# resp.db_instance.pending_modified_values.storage_type #=> String
# resp.db_instance.pending_modified_values.ca_certificate_identifier #=> String
# resp.db_instance.pending_modified_values.db_subnet_group_name #=> String
# resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_enable #=> Array
# resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_enable[0] #=> String
# resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_disable #=> Array
# resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_disable[0] #=> String
# resp.db_instance.pending_modified_values.processor_features #=> Array
# resp.db_instance.pending_modified_values.processor_features[0].name #=> String
# resp.db_instance.pending_modified_values.processor_features[0].value #=> String
# resp.db_instance.latest_restorable_time #=> Time
# resp.db_instance.multi_az #=> Boolean
# resp.db_instance.engine_version #=> String
# resp.db_instance.auto_minor_version_upgrade #=> Boolean
# resp.db_instance.read_replica_source_db_instance_identifier #=> String
# resp.db_instance.read_replica_db_instance_identifiers #=> Array
# resp.db_instance.read_replica_db_instance_identifiers[0] #=> String
# resp.db_instance.read_replica_db_cluster_identifiers #=> Array
# resp.db_instance.read_replica_db_cluster_identifiers[0] #=> String
# resp.db_instance.license_model #=> String
# resp.db_instance.iops #=> Integer
# resp.db_instance.option_group_memberships #=> Array
# resp.db_instance.option_group_memberships[0].option_group_name #=> String
# resp.db_instance.option_group_memberships[0].status #=> String
# resp.db_instance.character_set_name #=> String
# resp.db_instance.secondary_availability_zone #=> String
# resp.db_instance.publicly_accessible #=> Boolean
# resp.db_instance.status_infos #=> Array
# resp.db_instance.status_infos[0].status_type #=> String
# resp.db_instance.status_infos[0].normal #=> Boolean
# resp.db_instance.status_infos[0].status #=> String
# resp.db_instance.status_infos[0].message #=> String
# resp.db_instance.storage_type #=> String
# resp.db_instance.tde_credential_arn #=> String
# resp.db_instance.db_instance_port #=> Integer
# resp.db_instance.db_cluster_identifier #=> String
# resp.db_instance.storage_encrypted #=> Boolean
# resp.db_instance.kms_key_id #=> String
# resp.db_instance.dbi_resource_id #=> String
# resp.db_instance.ca_certificate_identifier #=> String
# resp.db_instance.domain_memberships #=> Array
# resp.db_instance.domain_memberships[0].domain #=> String
# resp.db_instance.domain_memberships[0].status #=> String
# resp.db_instance.domain_memberships[0].fqdn #=> String
# resp.db_instance.domain_memberships[0].iam_role_name #=> String
# resp.db_instance.copy_tags_to_snapshot #=> Boolean
# resp.db_instance.monitoring_interval #=> Integer
# resp.db_instance.enhanced_monitoring_resource_arn #=> String
# resp.db_instance.monitoring_role_arn #=> String
# resp.db_instance.promotion_tier #=> Integer
# resp.db_instance.db_instance_arn #=> String
# resp.db_instance.timezone #=> String
# resp.db_instance.iam_database_authentication_enabled #=> Boolean
# resp.db_instance.performance_insights_enabled #=> Boolean
# resp.db_instance.performance_insights_kms_key_id #=> String
# resp.db_instance.performance_insights_retention_period #=> Integer
# resp.db_instance.enabled_cloudwatch_logs_exports #=> Array
# resp.db_instance.enabled_cloudwatch_logs_exports[0] #=> String
# resp.db_instance.processor_features #=> Array
# resp.db_instance.processor_features[0].name #=> String
# resp.db_instance.processor_features[0].value #=> String
# resp.db_instance.deletion_protection #=> Boolean
# resp.db_instance.associated_roles #=> Array
# resp.db_instance.associated_roles[0].role_arn #=> String
# resp.db_instance.associated_roles[0].feature_name #=> String
# resp.db_instance.associated_roles[0].status #=> String
# resp.db_instance.listener_endpoint.address #=> String
# resp.db_instance.listener_endpoint.port #=> Integer
# resp.db_instance.listener_endpoint.hosted_zone_id #=> String
# resp.db_instance.max_allocated_storage #=> Integer
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceToPointInTime AWS API Documentation
#
# @overload restore_db_instance_to_point_in_time(params = {})
# @param [Hash] params ({})
def restore_db_instance_to_point_in_time(params = {}, options = {})
req = build_request(:restore_db_instance_to_point_in_time, params)
req.send_request(options)
end
# Revokes ingress from a DBSecurityGroup for previously authorized IP
# ranges or EC2 or VPC Security Groups. Required parameters for this API
# are one of CIDRIP, EC2SecurityGroupId for VPC, or
# (EC2SecurityGroupOwnerId and either EC2SecurityGroupName or
# EC2SecurityGroupId).
#
# @option params [required, String] :db_security_group_name
# The name of the DB security group to revoke ingress from.
#
# @option params [String] :cidrip
# The IP range to revoke access from. Must be a valid CIDR range. If
# `CIDRIP` is specified, `EC2SecurityGroupName`, `EC2SecurityGroupId`
# and `EC2SecurityGroupOwnerId` can't be provided.
#
# @option params [String] :ec2_security_group_name
# The name of the EC2 security group to revoke access from. For VPC DB
# security groups, `EC2SecurityGroupId` must be provided. Otherwise,
# EC2SecurityGroupOwnerId and either `EC2SecurityGroupName` or
# `EC2SecurityGroupId` must be provided.
#
# @option params [String] :ec2_security_group_id
# The id of the EC2 security group to revoke access from. For VPC DB
# security groups, `EC2SecurityGroupId` must be provided. Otherwise,
# EC2SecurityGroupOwnerId and either `EC2SecurityGroupName` or
# `EC2SecurityGroupId` must be provided.
#
# @option params [String] :ec2_security_group_owner_id
# The AWS account number of the owner of the EC2 security group
# specified in the `EC2SecurityGroupName` parameter. The AWS 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.
#
# @return [Types::RevokeDBSecurityGroupIngressResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::RevokeDBSecurityGroupIngressResult#db_security_group #db_security_group} => Types::DBSecurityGroup
#
#
# @example Example: To revoke ingress for a DB security group
#
# # This example revokes ingress for the specified CIDR block associated with the specified DB security group.
#
# resp = client.revoke_db_security_group_ingress({
# cidrip: "203.0.113.5/32",
# db_security_group_name: "mydbsecuritygroup",
# })
#
# resp.to_h outputs the following:
# {
# db_security_group: {
# },
# }
#
# @example Request syntax with placeholder values
#
# resp = client.revoke_db_security_group_ingress({
# db_security_group_name: "String", # required
# cidrip: "String",
# ec2_security_group_name: "String",
# ec2_security_group_id: "String",
# ec2_security_group_owner_id: "String",
# })
#
# @example Response structure
#
# resp.db_security_group.owner_id #=> String
# resp.db_security_group.db_security_group_name #=> String
# resp.db_security_group.db_security_group_description #=> String
# resp.db_security_group.vpc_id #=> String
# resp.db_security_group.ec2_security_groups #=> Array
# resp.db_security_group.ec2_security_groups[0].status #=> String
# resp.db_security_group.ec2_security_groups[0].ec2_security_group_name #=> String
# resp.db_security_group.ec2_security_groups[0].ec2_security_group_id #=> String
# resp.db_security_group.ec2_security_groups[0].ec2_security_group_owner_id #=> String
# resp.db_security_group.ip_ranges #=> Array
# resp.db_security_group.ip_ranges[0].status #=> String
# resp.db_security_group.ip_ranges[0].cidrip #=> String
# resp.db_security_group.db_security_group_arn #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RevokeDBSecurityGroupIngress AWS API Documentation
#
# @overload revoke_db_security_group_ingress(params = {})
# @param [Hash] params ({})
def revoke_db_security_group_ingress(params = {}, options = {})
req = build_request(:revoke_db_security_group_ingress, params)
req.send_request(options)
end
# Starts a database activity stream to monitor activity on the database.
# For more information, see [Database Activity Streams][1] in the
# *Amazon Aurora User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/DBActivityStreams.html
#
# @option params [required, String] :resource_arn
# The Amazon Resource Name (ARN) of the DB cluster, for example
# `arn:aws:rds:us-east-1:12345667890:cluster:das-cluster`.
#
# @option params [required, String] :mode
# Specifies the mode of the database activity stream. Database events
# such as a change or access generate an activity stream event. The
# database session can handle these events either synchronously or
# asynchronously.
#
# @option params [required, String] :kms_key_id
# The AWS KMS key identifier for encrypting messages in the database
# activity stream. The key identifier can be either a key ID, a key ARN,
# or a key alias.
#
# @option params [Boolean] :apply_immediately
# Specifies whether or not the database activity stream is to start as
# soon as possible, regardless of the maintenance window for the
# database.
#
# @return [Types::StartActivityStreamResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::StartActivityStreamResponse#kms_key_id #kms_key_id} => String
# * {Types::StartActivityStreamResponse#kinesis_stream_name #kinesis_stream_name} => String
# * {Types::StartActivityStreamResponse#status #status} => String
# * {Types::StartActivityStreamResponse#mode #mode} => String
# * {Types::StartActivityStreamResponse#apply_immediately #apply_immediately} => Boolean
#
# @example Request syntax with placeholder values
#
# resp = client.start_activity_stream({
# resource_arn: "String", # required
# mode: "sync", # required, accepts sync, async
# kms_key_id: "String", # required
# apply_immediately: false,
# })
#
# @example Response structure
#
# resp.kms_key_id #=> String
# resp.kinesis_stream_name #=> String
# resp.status #=> String, one of "stopped", "starting", "started", "stopping"
# resp.mode #=> String, one of "sync", "async"
# resp.apply_immediately #=> Boolean
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartActivityStream AWS API Documentation
#
# @overload start_activity_stream(params = {})
# @param [Hash] params ({})
def start_activity_stream(params = {}, options = {})
req = build_request(:start_activity_stream, params)
req.send_request(options)
end
# Starts an Amazon Aurora DB cluster that was stopped using the AWS
# console, the stop-db-cluster AWS CLI command, or the StopDBCluster
# action.
#
# For more information, see [ Stopping and Starting an Aurora
# Cluster][1] in the *Amazon Aurora User Guide.*
#
# This action only applies to Aurora DB clusters.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-cluster-stop-start.html
#
# @option params [required, String] :db_cluster_identifier
# The DB cluster identifier of the Amazon Aurora DB cluster to be
# started. This parameter is stored as a lowercase string.
#
# @return [Types::StartDBClusterResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::StartDBClusterResult#db_cluster #db_cluster} => Types::DBCluster
#
# @example Request syntax with placeholder values
#
# resp = client.start_db_cluster({
# db_cluster_identifier: "String", # required
# })
#
# @example Response structure
#
# resp.db_cluster.allocated_storage #=> Integer
# resp.db_cluster.availability_zones #=> Array
# resp.db_cluster.availability_zones[0] #=> String
# resp.db_cluster.backup_retention_period #=> Integer
# resp.db_cluster.character_set_name #=> String
# resp.db_cluster.database_name #=> String
# resp.db_cluster.db_cluster_identifier #=> String
# resp.db_cluster.db_cluster_parameter_group #=> String
# resp.db_cluster.db_subnet_group #=> String
# resp.db_cluster.status #=> String
# resp.db_cluster.percent_progress #=> String
# resp.db_cluster.earliest_restorable_time #=> Time
# resp.db_cluster.endpoint #=> String
# resp.db_cluster.reader_endpoint #=> String
# resp.db_cluster.custom_endpoints #=> Array
# resp.db_cluster.custom_endpoints[0] #=> String
# resp.db_cluster.multi_az #=> Boolean
# resp.db_cluster.engine #=> String
# resp.db_cluster.engine_version #=> String
# resp.db_cluster.latest_restorable_time #=> Time
# resp.db_cluster.port #=> Integer
# resp.db_cluster.master_username #=> String
# resp.db_cluster.db_cluster_option_group_memberships #=> Array
# resp.db_cluster.db_cluster_option_group_memberships[0].db_cluster_option_group_name #=> String
# resp.db_cluster.db_cluster_option_group_memberships[0].status #=> String
# resp.db_cluster.preferred_backup_window #=> String
# resp.db_cluster.preferred_maintenance_window #=> String
# resp.db_cluster.replication_source_identifier #=> String
# resp.db_cluster.read_replica_identifiers #=> Array
# resp.db_cluster.read_replica_identifiers[0] #=> String
# resp.db_cluster.db_cluster_members #=> Array
# resp.db_cluster.db_cluster_members[0].db_instance_identifier #=> String
# resp.db_cluster.db_cluster_members[0].is_cluster_writer #=> Boolean
# resp.db_cluster.db_cluster_members[0].db_cluster_parameter_group_status #=> String
# resp.db_cluster.db_cluster_members[0].promotion_tier #=> Integer
# resp.db_cluster.vpc_security_groups #=> Array
# resp.db_cluster.vpc_security_groups[0].vpc_security_group_id #=> String
# resp.db_cluster.vpc_security_groups[0].status #=> String
# resp.db_cluster.hosted_zone_id #=> String
# resp.db_cluster.storage_encrypted #=> Boolean
# resp.db_cluster.kms_key_id #=> String
# resp.db_cluster.db_cluster_resource_id #=> String
# resp.db_cluster.db_cluster_arn #=> String
# resp.db_cluster.associated_roles #=> Array
# resp.db_cluster.associated_roles[0].role_arn #=> String
# resp.db_cluster.associated_roles[0].status #=> String
# resp.db_cluster.associated_roles[0].feature_name #=> String
# resp.db_cluster.iam_database_authentication_enabled #=> Boolean
# resp.db_cluster.clone_group_id #=> String
# resp.db_cluster.cluster_create_time #=> Time
# resp.db_cluster.earliest_backtrack_time #=> Time
# resp.db_cluster.backtrack_window #=> Integer
# resp.db_cluster.backtrack_consumed_change_records #=> Integer
# resp.db_cluster.enabled_cloudwatch_logs_exports #=> Array
# resp.db_cluster.enabled_cloudwatch_logs_exports[0] #=> String
# resp.db_cluster.capacity #=> Integer
# resp.db_cluster.engine_mode #=> String
# resp.db_cluster.scaling_configuration_info.min_capacity #=> Integer
# resp.db_cluster.scaling_configuration_info.max_capacity #=> Integer
# resp.db_cluster.scaling_configuration_info.auto_pause #=> Boolean
# resp.db_cluster.scaling_configuration_info.seconds_until_auto_pause #=> Integer
# resp.db_cluster.scaling_configuration_info.timeout_action #=> String
# resp.db_cluster.deletion_protection #=> Boolean
# resp.db_cluster.http_endpoint_enabled #=> Boolean
# resp.db_cluster.activity_stream_mode #=> String, one of "sync", "async"
# resp.db_cluster.activity_stream_status #=> String, one of "stopped", "starting", "started", "stopping"
# resp.db_cluster.activity_stream_kms_key_id #=> String
# resp.db_cluster.activity_stream_kinesis_stream_name #=> String
# resp.db_cluster.copy_tags_to_snapshot #=> Boolean
# resp.db_cluster.cross_account_clone #=> Boolean
# resp.db_cluster.domain_memberships #=> Array
# resp.db_cluster.domain_memberships[0].domain #=> String
# resp.db_cluster.domain_memberships[0].status #=> String
# resp.db_cluster.domain_memberships[0].fqdn #=> String
# resp.db_cluster.domain_memberships[0].iam_role_name #=> String
# resp.db_cluster.global_write_forwarding_status #=> String, one of "enabled", "disabled", "enabling", "disabling", "unknown"
# resp.db_cluster.global_write_forwarding_requested #=> Boolean
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartDBCluster AWS API Documentation
#
# @overload start_db_cluster(params = {})
# @param [Hash] params ({})
def start_db_cluster(params = {}, options = {})
req = build_request(:start_db_cluster, params)
req.send_request(options)
end
# Starts an Amazon RDS DB instance that was stopped using the AWS
# console, the stop-db-instance AWS CLI command, or the StopDBInstance
# action.
#
# For more information, see [ Starting an Amazon RDS DB instance That
# Was Previously Stopped][1] in the *Amazon RDS User Guide.*
#
# This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For
# Aurora DB clusters, use `StartDBCluster` instead.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_StartInstance.html
#
# @option params [required, String] :db_instance_identifier
# The user-supplied instance identifier.
#
# @return [Types::StartDBInstanceResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::StartDBInstanceResult#db_instance #db_instance} => Types::DBInstance
#
# @example Request syntax with placeholder values
#
# resp = client.start_db_instance({
# db_instance_identifier: "String", # required
# })
#
# @example Response structure
#
# resp.db_instance.db_instance_identifier #=> String
# resp.db_instance.db_instance_class #=> String
# resp.db_instance.engine #=> String
# resp.db_instance.db_instance_status #=> String
# resp.db_instance.master_username #=> String
# resp.db_instance.db_name #=> String
# resp.db_instance.endpoint.address #=> String
# resp.db_instance.endpoint.port #=> Integer
# resp.db_instance.endpoint.hosted_zone_id #=> String
# resp.db_instance.allocated_storage #=> Integer
# resp.db_instance.instance_create_time #=> Time
# resp.db_instance.preferred_backup_window #=> String
# resp.db_instance.backup_retention_period #=> Integer
# resp.db_instance.db_security_groups #=> Array
# resp.db_instance.db_security_groups[0].db_security_group_name #=> String
# resp.db_instance.db_security_groups[0].status #=> String
# resp.db_instance.vpc_security_groups #=> Array
# resp.db_instance.vpc_security_groups[0].vpc_security_group_id #=> String
# resp.db_instance.vpc_security_groups[0].status #=> String
# resp.db_instance.db_parameter_groups #=> Array
# resp.db_instance.db_parameter_groups[0].db_parameter_group_name #=> String
# resp.db_instance.db_parameter_groups[0].parameter_apply_status #=> String
# resp.db_instance.availability_zone #=> String
# resp.db_instance.db_subnet_group.db_subnet_group_name #=> String
# resp.db_instance.db_subnet_group.db_subnet_group_description #=> String
# resp.db_instance.db_subnet_group.vpc_id #=> String
# resp.db_instance.db_subnet_group.subnet_group_status #=> String
# resp.db_instance.db_subnet_group.subnets #=> Array
# resp.db_instance.db_subnet_group.subnets[0].subnet_identifier #=> String
# resp.db_instance.db_subnet_group.subnets[0].subnet_availability_zone.name #=> String
# resp.db_instance.db_subnet_group.subnets[0].subnet_status #=> String
# resp.db_instance.db_subnet_group.db_subnet_group_arn #=> String
# resp.db_instance.preferred_maintenance_window #=> String
# resp.db_instance.pending_modified_values.db_instance_class #=> String
# resp.db_instance.pending_modified_values.allocated_storage #=> Integer
# resp.db_instance.pending_modified_values.master_user_password #=> String
# resp.db_instance.pending_modified_values.port #=> Integer
# resp.db_instance.pending_modified_values.backup_retention_period #=> Integer
# resp.db_instance.pending_modified_values.multi_az #=> Boolean
# resp.db_instance.pending_modified_values.engine_version #=> String
# resp.db_instance.pending_modified_values.license_model #=> String
# resp.db_instance.pending_modified_values.iops #=> Integer
# resp.db_instance.pending_modified_values.db_instance_identifier #=> String
# resp.db_instance.pending_modified_values.storage_type #=> String
# resp.db_instance.pending_modified_values.ca_certificate_identifier #=> String
# resp.db_instance.pending_modified_values.db_subnet_group_name #=> String
# resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_enable #=> Array
# resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_enable[0] #=> String
# resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_disable #=> Array
# resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_disable[0] #=> String
# resp.db_instance.pending_modified_values.processor_features #=> Array
# resp.db_instance.pending_modified_values.processor_features[0].name #=> String
# resp.db_instance.pending_modified_values.processor_features[0].value #=> String
# resp.db_instance.latest_restorable_time #=> Time
# resp.db_instance.multi_az #=> Boolean
# resp.db_instance.engine_version #=> String
# resp.db_instance.auto_minor_version_upgrade #=> Boolean
# resp.db_instance.read_replica_source_db_instance_identifier #=> String
# resp.db_instance.read_replica_db_instance_identifiers #=> Array
# resp.db_instance.read_replica_db_instance_identifiers[0] #=> String
# resp.db_instance.read_replica_db_cluster_identifiers #=> Array
# resp.db_instance.read_replica_db_cluster_identifiers[0] #=> String
# resp.db_instance.license_model #=> String
# resp.db_instance.iops #=> Integer
# resp.db_instance.option_group_memberships #=> Array
# resp.db_instance.option_group_memberships[0].option_group_name #=> String
# resp.db_instance.option_group_memberships[0].status #=> String
# resp.db_instance.character_set_name #=> String
# resp.db_instance.secondary_availability_zone #=> String
# resp.db_instance.publicly_accessible #=> Boolean
# resp.db_instance.status_infos #=> Array
# resp.db_instance.status_infos[0].status_type #=> String
# resp.db_instance.status_infos[0].normal #=> Boolean
# resp.db_instance.status_infos[0].status #=> String
# resp.db_instance.status_infos[0].message #=> String
# resp.db_instance.storage_type #=> String
# resp.db_instance.tde_credential_arn #=> String
# resp.db_instance.db_instance_port #=> Integer
# resp.db_instance.db_cluster_identifier #=> String
# resp.db_instance.storage_encrypted #=> Boolean
# resp.db_instance.kms_key_id #=> String
# resp.db_instance.dbi_resource_id #=> String
# resp.db_instance.ca_certificate_identifier #=> String
# resp.db_instance.domain_memberships #=> Array
# resp.db_instance.domain_memberships[0].domain #=> String
# resp.db_instance.domain_memberships[0].status #=> String
# resp.db_instance.domain_memberships[0].fqdn #=> String
# resp.db_instance.domain_memberships[0].iam_role_name #=> String
# resp.db_instance.copy_tags_to_snapshot #=> Boolean
# resp.db_instance.monitoring_interval #=> Integer
# resp.db_instance.enhanced_monitoring_resource_arn #=> String
# resp.db_instance.monitoring_role_arn #=> String
# resp.db_instance.promotion_tier #=> Integer
# resp.db_instance.db_instance_arn #=> String
# resp.db_instance.timezone #=> String
# resp.db_instance.iam_database_authentication_enabled #=> Boolean
# resp.db_instance.performance_insights_enabled #=> Boolean
# resp.db_instance.performance_insights_kms_key_id #=> String
# resp.db_instance.performance_insights_retention_period #=> Integer
# resp.db_instance.enabled_cloudwatch_logs_exports #=> Array
# resp.db_instance.enabled_cloudwatch_logs_exports[0] #=> String
# resp.db_instance.processor_features #=> Array
# resp.db_instance.processor_features[0].name #=> String
# resp.db_instance.processor_features[0].value #=> String
# resp.db_instance.deletion_protection #=> Boolean
# resp.db_instance.associated_roles #=> Array
# resp.db_instance.associated_roles[0].role_arn #=> String
# resp.db_instance.associated_roles[0].feature_name #=> String
# resp.db_instance.associated_roles[0].status #=> String
# resp.db_instance.listener_endpoint.address #=> String
# resp.db_instance.listener_endpoint.port #=> Integer
# resp.db_instance.listener_endpoint.hosted_zone_id #=> String
# resp.db_instance.max_allocated_storage #=> Integer
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartDBInstance AWS API Documentation
#
# @overload start_db_instance(params = {})
# @param [Hash] params ({})
def start_db_instance(params = {}, options = {})
req = build_request(:start_db_instance, params)
req.send_request(options)
end
# Starts an export of a snapshot to Amazon S3. The provided IAM role
# must have access to the S3 bucket.
#
# @option params [required, String] :export_task_identifier
# A unique identifier for the snapshot export task. This ID isn't an
# identifier for the Amazon S3 bucket where the snapshot is to be
# exported to.
#
# @option params [required, String] :source_arn
# The Amazon Resource Name (ARN) of the snapshot to export to Amazon S3.
#
# @option params [required, String] :s3_bucket_name
# The name of the Amazon S3 bucket to export the snapshot to.
#
# @option params [required, String] :iam_role_arn
# The name of the IAM role to use for writing to the Amazon S3 bucket
# when exporting a snapshot.
#
# @option params [required, String] :kms_key_id
# The ID of the AWS KMS key to use to encrypt the snapshot exported to
# Amazon S3. The KMS key ID is the Amazon Resource Name (ARN), the KMS
# key identifier, or the KMS key alias for the KMS encryption key. The
# IAM role used for the snapshot export must have encryption and
# decryption permissions to use this KMS key.
#
# @option params [String] :s3_prefix
# The Amazon S3 bucket prefix to use as the file name and path of the
# exported snapshot.
#
# @option params [Array] :export_only
# The data to be exported from the snapshot. If this parameter is not
# provided, all the snapshot data is exported. Valid values are the
# following:
#
# * `database` - Export all the data from a specified database.
#
# * `database.table` *table-name* - Export a table of the snapshot. This
# format is valid only for RDS for MySQL, RDS for MariaDB, and Aurora
# MySQL.
#
# * `database.schema` *schema-name* - Export a database schema of the
# snapshot. This format is valid only for RDS for PostgreSQL and
# Aurora PostgreSQL.
#
# * `database.schema.table` *table-name* - Export a table of the
# database schema. This format is valid only for RDS for PostgreSQL
# and Aurora PostgreSQL.
#
# @return [Types::ExportTask] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::ExportTask#export_task_identifier #export_task_identifier} => String
# * {Types::ExportTask#source_arn #source_arn} => String
# * {Types::ExportTask#export_only #export_only} => Array<String>
# * {Types::ExportTask#snapshot_time #snapshot_time} => Time
# * {Types::ExportTask#task_start_time #task_start_time} => Time
# * {Types::ExportTask#task_end_time #task_end_time} => Time
# * {Types::ExportTask#s3_bucket #s3_bucket} => String
# * {Types::ExportTask#s3_prefix #s3_prefix} => String
# * {Types::ExportTask#iam_role_arn #iam_role_arn} => String
# * {Types::ExportTask#kms_key_id #kms_key_id} => String
# * {Types::ExportTask#status #status} => String
# * {Types::ExportTask#percent_progress #percent_progress} => Integer
# * {Types::ExportTask#total_extracted_data_in_gb #total_extracted_data_in_gb} => Integer
# * {Types::ExportTask#failure_cause #failure_cause} => String
# * {Types::ExportTask#warning_message #warning_message} => String
#
# @example Request syntax with placeholder values
#
# resp = client.start_export_task({
# export_task_identifier: "String", # required
# source_arn: "String", # required
# s3_bucket_name: "String", # required
# iam_role_arn: "String", # required
# kms_key_id: "String", # required
# s3_prefix: "String",
# export_only: ["String"],
# })
#
# @example Response structure
#
# resp.export_task_identifier #=> String
# resp.source_arn #=> String
# resp.export_only #=> Array
# resp.export_only[0] #=> String
# resp.snapshot_time #=> Time
# resp.task_start_time #=> Time
# resp.task_end_time #=> Time
# resp.s3_bucket #=> String
# resp.s3_prefix #=> String
# resp.iam_role_arn #=> String
# resp.kms_key_id #=> String
# resp.status #=> String
# resp.percent_progress #=> Integer
# resp.total_extracted_data_in_gb #=> Integer
# resp.failure_cause #=> String
# resp.warning_message #=> String
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartExportTask AWS API Documentation
#
# @overload start_export_task(params = {})
# @param [Hash] params ({})
def start_export_task(params = {}, options = {})
req = build_request(:start_export_task, params)
req.send_request(options)
end
# Stops a database activity stream that was started using the AWS
# console, the `start-activity-stream` AWS CLI command, or the
# `StartActivityStream` action.
#
# For more information, see [Database Activity Streams][1] in the
# *Amazon Aurora User Guide*.
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/DBActivityStreams.html
#
# @option params [required, String] :resource_arn
# The Amazon Resource Name (ARN) of the DB cluster for the database
# activity stream. For example,
# `arn:aws:rds:us-east-1:12345667890:cluster:das-cluster`.
#
# @option params [Boolean] :apply_immediately
# Specifies whether or not the database activity stream is to stop as
# soon as possible, regardless of the maintenance window for the
# database.
#
# @return [Types::StopActivityStreamResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::StopActivityStreamResponse#kms_key_id #kms_key_id} => String
# * {Types::StopActivityStreamResponse#kinesis_stream_name #kinesis_stream_name} => String
# * {Types::StopActivityStreamResponse#status #status} => String
#
# @example Request syntax with placeholder values
#
# resp = client.stop_activity_stream({
# resource_arn: "String", # required
# apply_immediately: false,
# })
#
# @example Response structure
#
# resp.kms_key_id #=> String
# resp.kinesis_stream_name #=> String
# resp.status #=> String, one of "stopped", "starting", "started", "stopping"
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StopActivityStream AWS API Documentation
#
# @overload stop_activity_stream(params = {})
# @param [Hash] params ({})
def stop_activity_stream(params = {}, options = {})
req = build_request(:stop_activity_stream, params)
req.send_request(options)
end
# Stops an Amazon Aurora DB cluster. When you stop a DB cluster, Aurora
# retains the DB cluster's metadata, including its endpoints and DB
# parameter groups. Aurora also retains the transaction logs so you can
# do a point-in-time restore if necessary.
#
# For more information, see [ Stopping and Starting an Aurora
# Cluster][1] in the *Amazon Aurora User Guide.*
#
# This action only applies to Aurora DB clusters.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-cluster-stop-start.html
#
# @option params [required, String] :db_cluster_identifier
# The DB cluster identifier of the Amazon Aurora DB cluster to be
# stopped. This parameter is stored as a lowercase string.
#
# @return [Types::StopDBClusterResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::StopDBClusterResult#db_cluster #db_cluster} => Types::DBCluster
#
# @example Request syntax with placeholder values
#
# resp = client.stop_db_cluster({
# db_cluster_identifier: "String", # required
# })
#
# @example Response structure
#
# resp.db_cluster.allocated_storage #=> Integer
# resp.db_cluster.availability_zones #=> Array
# resp.db_cluster.availability_zones[0] #=> String
# resp.db_cluster.backup_retention_period #=> Integer
# resp.db_cluster.character_set_name #=> String
# resp.db_cluster.database_name #=> String
# resp.db_cluster.db_cluster_identifier #=> String
# resp.db_cluster.db_cluster_parameter_group #=> String
# resp.db_cluster.db_subnet_group #=> String
# resp.db_cluster.status #=> String
# resp.db_cluster.percent_progress #=> String
# resp.db_cluster.earliest_restorable_time #=> Time
# resp.db_cluster.endpoint #=> String
# resp.db_cluster.reader_endpoint #=> String
# resp.db_cluster.custom_endpoints #=> Array
# resp.db_cluster.custom_endpoints[0] #=> String
# resp.db_cluster.multi_az #=> Boolean
# resp.db_cluster.engine #=> String
# resp.db_cluster.engine_version #=> String
# resp.db_cluster.latest_restorable_time #=> Time
# resp.db_cluster.port #=> Integer
# resp.db_cluster.master_username #=> String
# resp.db_cluster.db_cluster_option_group_memberships #=> Array
# resp.db_cluster.db_cluster_option_group_memberships[0].db_cluster_option_group_name #=> String
# resp.db_cluster.db_cluster_option_group_memberships[0].status #=> String
# resp.db_cluster.preferred_backup_window #=> String
# resp.db_cluster.preferred_maintenance_window #=> String
# resp.db_cluster.replication_source_identifier #=> String
# resp.db_cluster.read_replica_identifiers #=> Array
# resp.db_cluster.read_replica_identifiers[0] #=> String
# resp.db_cluster.db_cluster_members #=> Array
# resp.db_cluster.db_cluster_members[0].db_instance_identifier #=> String
# resp.db_cluster.db_cluster_members[0].is_cluster_writer #=> Boolean
# resp.db_cluster.db_cluster_members[0].db_cluster_parameter_group_status #=> String
# resp.db_cluster.db_cluster_members[0].promotion_tier #=> Integer
# resp.db_cluster.vpc_security_groups #=> Array
# resp.db_cluster.vpc_security_groups[0].vpc_security_group_id #=> String
# resp.db_cluster.vpc_security_groups[0].status #=> String
# resp.db_cluster.hosted_zone_id #=> String
# resp.db_cluster.storage_encrypted #=> Boolean
# resp.db_cluster.kms_key_id #=> String
# resp.db_cluster.db_cluster_resource_id #=> String
# resp.db_cluster.db_cluster_arn #=> String
# resp.db_cluster.associated_roles #=> Array
# resp.db_cluster.associated_roles[0].role_arn #=> String
# resp.db_cluster.associated_roles[0].status #=> String
# resp.db_cluster.associated_roles[0].feature_name #=> String
# resp.db_cluster.iam_database_authentication_enabled #=> Boolean
# resp.db_cluster.clone_group_id #=> String
# resp.db_cluster.cluster_create_time #=> Time
# resp.db_cluster.earliest_backtrack_time #=> Time
# resp.db_cluster.backtrack_window #=> Integer
# resp.db_cluster.backtrack_consumed_change_records #=> Integer
# resp.db_cluster.enabled_cloudwatch_logs_exports #=> Array
# resp.db_cluster.enabled_cloudwatch_logs_exports[0] #=> String
# resp.db_cluster.capacity #=> Integer
# resp.db_cluster.engine_mode #=> String
# resp.db_cluster.scaling_configuration_info.min_capacity #=> Integer
# resp.db_cluster.scaling_configuration_info.max_capacity #=> Integer
# resp.db_cluster.scaling_configuration_info.auto_pause #=> Boolean
# resp.db_cluster.scaling_configuration_info.seconds_until_auto_pause #=> Integer
# resp.db_cluster.scaling_configuration_info.timeout_action #=> String
# resp.db_cluster.deletion_protection #=> Boolean
# resp.db_cluster.http_endpoint_enabled #=> Boolean
# resp.db_cluster.activity_stream_mode #=> String, one of "sync", "async"
# resp.db_cluster.activity_stream_status #=> String, one of "stopped", "starting", "started", "stopping"
# resp.db_cluster.activity_stream_kms_key_id #=> String
# resp.db_cluster.activity_stream_kinesis_stream_name #=> String
# resp.db_cluster.copy_tags_to_snapshot #=> Boolean
# resp.db_cluster.cross_account_clone #=> Boolean
# resp.db_cluster.domain_memberships #=> Array
# resp.db_cluster.domain_memberships[0].domain #=> String
# resp.db_cluster.domain_memberships[0].status #=> String
# resp.db_cluster.domain_memberships[0].fqdn #=> String
# resp.db_cluster.domain_memberships[0].iam_role_name #=> String
# resp.db_cluster.global_write_forwarding_status #=> String, one of "enabled", "disabled", "enabling", "disabling", "unknown"
# resp.db_cluster.global_write_forwarding_requested #=> Boolean
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StopDBCluster AWS API Documentation
#
# @overload stop_db_cluster(params = {})
# @param [Hash] params ({})
def stop_db_cluster(params = {}, options = {})
req = build_request(:stop_db_cluster, params)
req.send_request(options)
end
# Stops an Amazon RDS DB instance. When you stop a DB instance, Amazon
# RDS retains the DB instance's metadata, including its endpoint, DB
# parameter group, and option group membership. Amazon RDS also retains
# the transaction logs so you can do a point-in-time restore if
# necessary.
#
# For more information, see [ Stopping an Amazon RDS DB Instance
# Temporarily][1] in the *Amazon RDS User Guide.*
#
# This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For
# Aurora clusters, use `StopDBCluster` instead.
#
#
#
#
#
# [1]: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_StopInstance.html
#
# @option params [required, String] :db_instance_identifier
# The user-supplied instance identifier.
#
# @option params [String] :db_snapshot_identifier
# The user-supplied instance identifier of the DB Snapshot created
# immediately before the DB instance is stopped.
#
# @return [Types::StopDBInstanceResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
#
# * {Types::StopDBInstanceResult#db_instance #db_instance} => Types::DBInstance
#
# @example Request syntax with placeholder values
#
# resp = client.stop_db_instance({
# db_instance_identifier: "String", # required
# db_snapshot_identifier: "String",
# })
#
# @example Response structure
#
# resp.db_instance.db_instance_identifier #=> String
# resp.db_instance.db_instance_class #=> String
# resp.db_instance.engine #=> String
# resp.db_instance.db_instance_status #=> String
# resp.db_instance.master_username #=> String
# resp.db_instance.db_name #=> String
# resp.db_instance.endpoint.address #=> String
# resp.db_instance.endpoint.port #=> Integer
# resp.db_instance.endpoint.hosted_zone_id #=> String
# resp.db_instance.allocated_storage #=> Integer
# resp.db_instance.instance_create_time #=> Time
# resp.db_instance.preferred_backup_window #=> String
# resp.db_instance.backup_retention_period #=> Integer
# resp.db_instance.db_security_groups #=> Array
# resp.db_instance.db_security_groups[0].db_security_group_name #=> String
# resp.db_instance.db_security_groups[0].status #=> String
# resp.db_instance.vpc_security_groups #=> Array
# resp.db_instance.vpc_security_groups[0].vpc_security_group_id #=> String
# resp.db_instance.vpc_security_groups[0].status #=> String
# resp.db_instance.db_parameter_groups #=> Array
# resp.db_instance.db_parameter_groups[0].db_parameter_group_name #=> String
# resp.db_instance.db_parameter_groups[0].parameter_apply_status #=> String
# resp.db_instance.availability_zone #=> String
# resp.db_instance.db_subnet_group.db_subnet_group_name #=> String
# resp.db_instance.db_subnet_group.db_subnet_group_description #=> String
# resp.db_instance.db_subnet_group.vpc_id #=> String
# resp.db_instance.db_subnet_group.subnet_group_status #=> String
# resp.db_instance.db_subnet_group.subnets #=> Array
# resp.db_instance.db_subnet_group.subnets[0].subnet_identifier #=> String
# resp.db_instance.db_subnet_group.subnets[0].subnet_availability_zone.name #=> String
# resp.db_instance.db_subnet_group.subnets[0].subnet_status #=> String
# resp.db_instance.db_subnet_group.db_subnet_group_arn #=> String
# resp.db_instance.preferred_maintenance_window #=> String
# resp.db_instance.pending_modified_values.db_instance_class #=> String
# resp.db_instance.pending_modified_values.allocated_storage #=> Integer
# resp.db_instance.pending_modified_values.master_user_password #=> String
# resp.db_instance.pending_modified_values.port #=> Integer
# resp.db_instance.pending_modified_values.backup_retention_period #=> Integer
# resp.db_instance.pending_modified_values.multi_az #=> Boolean
# resp.db_instance.pending_modified_values.engine_version #=> String
# resp.db_instance.pending_modified_values.license_model #=> String
# resp.db_instance.pending_modified_values.iops #=> Integer
# resp.db_instance.pending_modified_values.db_instance_identifier #=> String
# resp.db_instance.pending_modified_values.storage_type #=> String
# resp.db_instance.pending_modified_values.ca_certificate_identifier #=> String
# resp.db_instance.pending_modified_values.db_subnet_group_name #=> String
# resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_enable #=> Array
# resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_enable[0] #=> String
# resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_disable #=> Array
# resp.db_instance.pending_modified_values.pending_cloudwatch_logs_exports.log_types_to_disable[0] #=> String
# resp.db_instance.pending_modified_values.processor_features #=> Array
# resp.db_instance.pending_modified_values.processor_features[0].name #=> String
# resp.db_instance.pending_modified_values.processor_features[0].value #=> String
# resp.db_instance.latest_restorable_time #=> Time
# resp.db_instance.multi_az #=> Boolean
# resp.db_instance.engine_version #=> String
# resp.db_instance.auto_minor_version_upgrade #=> Boolean
# resp.db_instance.read_replica_source_db_instance_identifier #=> String
# resp.db_instance.read_replica_db_instance_identifiers #=> Array
# resp.db_instance.read_replica_db_instance_identifiers[0] #=> String
# resp.db_instance.read_replica_db_cluster_identifiers #=> Array
# resp.db_instance.read_replica_db_cluster_identifiers[0] #=> String
# resp.db_instance.license_model #=> String
# resp.db_instance.iops #=> Integer
# resp.db_instance.option_group_memberships #=> Array
# resp.db_instance.option_group_memberships[0].option_group_name #=> String
# resp.db_instance.option_group_memberships[0].status #=> String
# resp.db_instance.character_set_name #=> String
# resp.db_instance.secondary_availability_zone #=> String
# resp.db_instance.publicly_accessible #=> Boolean
# resp.db_instance.status_infos #=> Array
# resp.db_instance.status_infos[0].status_type #=> String
# resp.db_instance.status_infos[0].normal #=> Boolean
# resp.db_instance.status_infos[0].status #=> String
# resp.db_instance.status_infos[0].message #=> String
# resp.db_instance.storage_type #=> String
# resp.db_instance.tde_credential_arn #=> String
# resp.db_instance.db_instance_port #=> Integer
# resp.db_instance.db_cluster_identifier #=> String
# resp.db_instance.storage_encrypted #=> Boolean
# resp.db_instance.kms_key_id #=> String
# resp.db_instance.dbi_resource_id #=> String
# resp.db_instance.ca_certificate_identifier #=> String
# resp.db_instance.domain_memberships #=> Array
# resp.db_instance.domain_memberships[0].domain #=> String
# resp.db_instance.domain_memberships[0].status #=> String
# resp.db_instance.domain_memberships[0].fqdn #=> String
# resp.db_instance.domain_memberships[0].iam_role_name #=> String
# resp.db_instance.copy_tags_to_snapshot #=> Boolean
# resp.db_instance.monitoring_interval #=> Integer
# resp.db_instance.enhanced_monitoring_resource_arn #=> String
# resp.db_instance.monitoring_role_arn #=> String
# resp.db_instance.promotion_tier #=> Integer
# resp.db_instance.db_instance_arn #=> String
# resp.db_instance.timezone #=> String
# resp.db_instance.iam_database_authentication_enabled #=> Boolean
# resp.db_instance.performance_insights_enabled #=> Boolean
# resp.db_instance.performance_insights_kms_key_id #=> String
# resp.db_instance.performance_insights_retention_period #=> Integer
# resp.db_instance.enabled_cloudwatch_logs_exports #=> Array
# resp.db_instance.enabled_cloudwatch_logs_exports[0] #=> String
# resp.db_instance.processor_features #=> Array
# resp.db_instance.processor_features[0].name #=> String
# resp.db_instance.processor_features[0].value #=> String
# resp.db_instance.deletion_protection #=> Boolean
# resp.db_instance.associated_roles #=> Array
# resp.db_instance.associated_roles[0].role_arn #=> String
# resp.db_instance.associated_roles[0].feature_name #=> String
# resp.db_instance.associated_roles[0].status #=> String
# resp.db_instance.listener_endpoint.address #=> String
# resp.db_instance.listener_endpoint.port #=> Integer
# resp.db_instance.listener_endpoint.hosted_zone_id #=> String
# resp.db_instance.max_allocated_storage #=> Integer
#
# @see http://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StopDBInstance AWS API Documentation
#
# @overload stop_db_instance(params = {})
# @param [Hash] params ({})
def stop_db_instance(params = {}, options = {})
req = build_request(:stop_db_instance, params)
req.send_request(options)
end
# @!endgroup
# @param params ({})
# @api private
def build_request(operation_name, params = {})
handlers = @handlers.for(operation_name)
context = Seahorse::Client::RequestContext.new(
operation_name: operation_name,
operation: config.api.operation(operation_name),
client: self,
params: params,
config: config)
context[:gem_name] = 'aws-sdk-rds'
context[:gem_version] = '1.92.0'
Seahorse::Client::Request.new(handlers, context)
end
# Polls an API operation until a resource enters a desired state.
#
# ## Basic Usage
#
# A waiter will call an API operation until:
#
# * It is successful
# * It enters a terminal state
# * It makes the maximum number of attempts
#
# In between attempts, the waiter will sleep.
#
# # polls in a loop, sleeping between attempts
# client.wait_until(waiter_name, params)
#
# ## Configuration
#
# You can configure the maximum number of polling attempts, and the
# delay (in seconds) between each polling attempt. You can pass
# configuration as the final arguments hash.
#
# # poll for ~25 seconds
# client.wait_until(waiter_name, params, {
# max_attempts: 5,
# delay: 5,
# })
#
# ## Callbacks
#
# You can be notified before each polling attempt and before each
# delay. If you throw `:success` or `:failure` from these callbacks,
# it will terminate the waiter.
#
# started_at = Time.now
# client.wait_until(waiter_name, params, {
#
# # disable max attempts
# max_attempts: nil,
#
# # poll for 1 hour, instead of a number of attempts
# before_wait: -> (attempts, response) do
# throw :failure if Time.now - started_at > 3600
# end
# })
#
# ## Handling Errors
#
# When a waiter is unsuccessful, it will raise an error.
# All of the failure errors extend from
# {Aws::Waiters::Errors::WaiterFailed}.
#
# begin
# client.wait_until(...)
# rescue Aws::Waiters::Errors::WaiterFailed
# # resource did not enter the desired state in time
# end
#
# ## Valid Waiters
#
# The following table lists the valid waiter names, the operations they call,
# and the default `:delay` and `:max_attempts` values.
#
# | waiter_name | params | :delay | :max_attempts |
# | ----------------------------- | -------------------------------------- | -------- | ------------- |
# | db_cluster_snapshot_available | {Client#describe_db_cluster_snapshots} | 30 | 60 |
# | db_cluster_snapshot_deleted | {Client#describe_db_cluster_snapshots} | 30 | 60 |
# | db_instance_available | {Client#describe_db_instances} | 30 | 60 |
# | db_instance_deleted | {Client#describe_db_instances} | 30 | 60 |
# | db_snapshot_available | {Client#describe_db_snapshots} | 30 | 60 |
# | db_snapshot_deleted | {Client#describe_db_snapshots} | 30 | 60 |
#
# @raise [Errors::FailureStateError] Raised when the waiter terminates
# because the waiter has entered a state that it will not transition
# out of, preventing success.
#
# @raise [Errors::TooManyAttemptsError] Raised when the configured
# maximum number of attempts have been made, and the waiter is not
# yet successful.
#
# @raise [Errors::UnexpectedError] Raised when an error is encounted
# while polling for a resource that is not expected.
#
# @raise [Errors::NoSuchWaiterError] Raised when you request to wait
# for an unknown state.
#
# @return [Boolean] Returns `true` if the waiter was successful.
# @param [Symbol] waiter_name
# @param [Hash] params ({})
# @param [Hash] options ({})
# @option options [Integer] :max_attempts
# @option options [Integer] :delay
# @option options [Proc] :before_attempt
# @option options [Proc] :before_wait
def wait_until(waiter_name, params = {}, options = {})
w = waiter(waiter_name, options)
yield(w.waiter) if block_given? # deprecated
w.wait(params)
end
# @api private
# @deprecated
def waiter_names
waiters.keys
end
private
# @param [Symbol] waiter_name
# @param [Hash] options ({})
def waiter(waiter_name, options = {})
waiter_class = waiters[waiter_name]
if waiter_class
waiter_class.new(options.merge(client: self))
else
raise Aws::Waiters::Errors::NoSuchWaiterError.new(waiter_name, waiters.keys)
end
end
def waiters
{
db_cluster_snapshot_available: Waiters::DBClusterSnapshotAvailable,
db_cluster_snapshot_deleted: Waiters::DBClusterSnapshotDeleted,
db_instance_available: Waiters::DBInstanceAvailable,
db_instance_deleted: Waiters::DBInstanceDeleted,
db_snapshot_available: Waiters::DBSnapshotAvailable,
db_snapshot_deleted: Waiters::DBSnapshotDeleted
}
end
class << self
# @api private
attr_reader :identifier
# @api private
def errors_module
Errors
end
end
end
end