
com.amazonaws.services.rds.AmazonRDS Maven / Gradle / Ivy
Show all versions of aws-java-sdk-osgi Show documentation
/*
* Copyright 2011-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not
* use this file except in compliance with the License. A copy of the License is
* located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed on
* an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
package com.amazonaws.services.rds;
import com.amazonaws.*;
import com.amazonaws.regions.*;
import com.amazonaws.services.rds.model.*;
/**
* Interface for accessing Amazon RDS.
*
* Amazon Relational Database Service
*
*
*
* Amazon Relational Database Service (Amazon RDS) is a web service that makes
* it easier to set up, operate, and scale a relational database in the cloud.
* It provides cost-efficient, resizeable capacity for an industry-standard
* relational database and manages common database administration tasks, freeing
* up developers to focus on what makes their applications and businesses
* unique.
*
*
* Amazon RDS gives you access to the capabilities of a MySQL, MariaDB,
* PostgreSQL, Microsoft SQL Server, Oracle, or Amazon Aurora database server.
* These capabilities mean that the code, applications, and tools you already
* use today with your existing databases work with Amazon RDS without
* modification. Amazon RDS automatically backs up your database and maintains
* the database software that powers your DB instance. Amazon RDS is flexible:
* you can scale your database instance's compute resources and storage capacity
* to meet your application's demand. As with all Amazon Web Services, there are
* no up-front investments, and you pay only for the resources you use.
*
*
* This interface reference for Amazon RDS contains documentation for a
* programming or command line interface you can use to manage Amazon RDS. Note
* that Amazon RDS is asynchronous, which means that some interfaces might
* require techniques such as polling or callback functions to determine when a
* command has been applied. In this reference, the parameter descriptions
* indicate whether a command is applied immediately, on the next instance
* reboot, or during the maintenance window. The reference structure is as
* follows, and we list following some related topics from the user guide.
*
*
* Amazon RDS API Reference
*
*
* -
*
* For the alphabetical list of API actions, see API Actions.
*
*
* -
*
* For the alphabetical list of data types, see Data Types.
*
*
* -
*
* For a list of common query parameters, see Common Parameters.
*
*
* -
*
* For descriptions of the error codes, see Common Errors.
*
*
*
*
* Amazon RDS User Guide
*
*
* -
*
* For a summary of the Amazon RDS interfaces, see Available RDS Interfaces.
*
*
* -
*
* For more information about how to use the Query API, see Using the Query API.
*
*
*
*/
public interface AmazonRDS {
/**
* The region metadata service name for computing region endpoints. You can
* use this value to retrieve metadata (such as supported regions) of the
* service.
*
* @see RegionUtils#getRegionsForService(String)
*/
String ENDPOINT_PREFIX = "rds";
/**
* Overrides the default endpoint for this client ("rds.amazonaws.com").
* Callers can use this method to control which AWS region they want to work
* with.
*
* Callers can pass in just the endpoint (ex: "rds.amazonaws.com") or a full
* URL, including the protocol (ex: "rds.amazonaws.com"). If the protocol is
* not specified here, the default protocol from this client's
* {@link ClientConfiguration} will be used, which by default is HTTPS.
*
* For more information on using AWS regions with the AWS SDK for Java, and
* a complete list of all available endpoints for all AWS services, see: http://developer.amazonwebservices.com/connect/entry.jspa?externalID=
* 3912
*
* This method is not threadsafe. An endpoint should be configured when
* the client is created and before any service requests are made. Changing
* it afterwards creates inevitable race conditions for any service requests
* in transit or retrying.
*
* @param endpoint
* The endpoint (ex: "rds.amazonaws.com") or a full URL, including
* the protocol (ex: "rds.amazonaws.com") of the region specific AWS
* endpoint this client will communicate with.
*/
void setEndpoint(String endpoint);
/**
* An alternative to {@link AmazonRDS#setEndpoint(String)}, sets the
* regional endpoint for this client's service calls. Callers can use this
* method to control which AWS region they want to work with.
*
* By default, all service endpoints in all regions use the https protocol.
* To use http instead, specify it in the {@link ClientConfiguration}
* supplied at construction.
*
* This method is not threadsafe. A region should be configured when the
* client is created and before any service requests are made. Changing it
* afterwards creates inevitable race conditions for any service requests in
* transit or retrying.
*
* @param region
* The region this client will communicate with. See
* {@link Region#getRegion(com.amazonaws.regions.Regions)} for
* accessing a given region. Must not be null and must be a region
* where the service is available.
*
* @see Region#getRegion(com.amazonaws.regions.Regions)
* @see Region#createClient(Class,
* com.amazonaws.auth.AWSCredentialsProvider, ClientConfiguration)
* @see Region#isServiceSupported(String)
*/
void setRegion(Region region);
/**
*
* Adds a source identifier to an existing RDS event notification
* subscription.
*
*
* @param addSourceIdentifierToSubscriptionRequest
* @return Result of the AddSourceIdentifierToSubscription operation
* returned by the service.
* @throws SubscriptionNotFoundException
* The subscription name does not exist.
* @throws SourceNotFoundException
* The requested source could not be found.
* @sample AmazonRDS.AddSourceIdentifierToSubscription
*/
EventSubscription addSourceIdentifierToSubscription(
AddSourceIdentifierToSubscriptionRequest addSourceIdentifierToSubscriptionRequest);
/**
*
* 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.
*
*
* @param addTagsToResourceRequest
* @return Result of the AddTagsToResource operation returned by the
* service.
* @throws DBInstanceNotFoundException
* DBInstanceIdentifier does not refer to an existing DB
* instance.
* @throws DBSnapshotNotFoundException
* DBSnapshotIdentifier does not refer to an existing DB
* snapshot.
* @sample AmazonRDS.AddTagsToResource
*/
AddTagsToResourceResult addTagsToResource(
AddTagsToResourceRequest addTagsToResourceRequest);
/**
*
* Applies a pending maintenance action to a resource (for example, to a DB
* instance).
*
*
* @param applyPendingMaintenanceActionRequest
* @return Result of the ApplyPendingMaintenanceAction operation returned by
* the service.
* @throws ResourceNotFoundException
* The specified resource ID was not found.
* @sample AmazonRDS.ApplyPendingMaintenanceAction
*/
ResourcePendingMaintenanceActions applyPendingMaintenanceAction(
ApplyPendingMaintenanceActionRequest applyPendingMaintenanceActionRequest);
/**
*
* 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 cannot authorize ingress from an EC2 security group in one region to
* an Amazon RDS DB instance in another. You cannot 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.
*
*
* @param authorizeDBSecurityGroupIngressRequest
* @return Result of the AuthorizeDBSecurityGroupIngress operation returned
* by the service.
* @throws DBSecurityGroupNotFoundException
* DBSecurityGroupName does not refer to an existing DB
* security group.
* @throws InvalidDBSecurityGroupStateException
* The state of the DB security group does not allow deletion.
* @throws AuthorizationAlreadyExistsException
* The specified CIDRIP or EC2 security group is already authorized
* for the specified DB security group.
* @throws AuthorizationQuotaExceededException
* DB security group authorization quota has been reached.
* @sample AmazonRDS.AuthorizeDBSecurityGroupIngress
*/
DBSecurityGroup authorizeDBSecurityGroupIngress(
AuthorizeDBSecurityGroupIngressRequest authorizeDBSecurityGroupIngressRequest);
/**
*
* Copies the specified DB cluster parameter group.
*
*
* @param copyDBClusterParameterGroupRequest
* @return Result of the CopyDBClusterParameterGroup operation returned by
* the service.
* @throws DBParameterGroupNotFoundException
* DBParameterGroupName does not refer to an existing DB
* parameter group.
* @throws DBParameterGroupQuotaExceededException
* Request would result in user exceeding the allowed number of DB
* parameter groups.
* @throws DBParameterGroupAlreadyExistsException
* A DB parameter group with the same name exists.
* @sample AmazonRDS.CopyDBClusterParameterGroup
*/
DBClusterParameterGroup copyDBClusterParameterGroup(
CopyDBClusterParameterGroupRequest copyDBClusterParameterGroupRequest);
/**
*
* Creates a snapshot of a DB cluster. For more information on Amazon
* Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.
*
*
* @param copyDBClusterSnapshotRequest
* @return Result of the CopyDBClusterSnapshot operation returned by the
* service.
* @throws DBClusterSnapshotAlreadyExistsException
* User already has a DB cluster snapshot with the given identifier.
* @throws DBClusterSnapshotNotFoundException
* DBClusterSnapshotIdentifier does not refer to an existing
* DB cluster snapshot.
* @throws InvalidDBClusterStateException
* The DB cluster is not in a valid state.
* @sample AmazonRDS.CopyDBClusterSnapshot
*/
DBClusterSnapshot copyDBClusterSnapshot(
CopyDBClusterSnapshotRequest copyDBClusterSnapshotRequest);
/**
*
* Copies the specified DB parameter group.
*
*
* @param copyDBParameterGroupRequest
* @return Result of the CopyDBParameterGroup operation returned by the
* service.
* @throws DBParameterGroupNotFoundException
* DBParameterGroupName does not refer to an existing DB
* parameter group.
* @throws DBParameterGroupAlreadyExistsException
* A DB parameter group with the same name exists.
* @throws DBParameterGroupQuotaExceededException
* Request would result in user exceeding the allowed number of DB
* parameter groups.
* @sample AmazonRDS.CopyDBParameterGroup
*/
DBParameterGroup copyDBParameterGroup(
CopyDBParameterGroupRequest copyDBParameterGroupRequest);
/**
*
* Copies the specified DB snapshot. The source DB snapshot must be in the
* "available" state.
*
*
* If you are copying from a shared manual DB snapshot, the
* SourceDBSnapshotIdentifier
must be the ARN of the shared DB
* snapshot.
*
*
* @param copyDBSnapshotRequest
* @return Result of the CopyDBSnapshot operation returned by the service.
* @throws DBSnapshotAlreadyExistsException
* DBSnapshotIdentifier is already used by an existing
* snapshot.
* @throws DBSnapshotNotFoundException
* DBSnapshotIdentifier does not refer to an existing DB
* snapshot.
* @throws InvalidDBSnapshotStateException
* The state of the DB snapshot does not allow deletion.
* @throws SnapshotQuotaExceededException
* Request would result in user exceeding the allowed number of DB
* snapshots.
* @throws KMSKeyNotAccessibleException
* Error accessing KMS key.
* @sample AmazonRDS.CopyDBSnapshot
*/
DBSnapshot copyDBSnapshot(CopyDBSnapshotRequest copyDBSnapshotRequest);
/**
*
* Copies the specified option group.
*
*
* @param copyOptionGroupRequest
* @return Result of the CopyOptionGroup operation returned by the service.
* @throws OptionGroupAlreadyExistsException
* The option group you are trying to create already exists.
* @throws OptionGroupNotFoundException
* The specified option group could not be found.
* @throws OptionGroupQuotaExceededException
* The quota of 20 option groups was exceeded for this AWS account.
* @sample AmazonRDS.CopyOptionGroup
*/
OptionGroup copyOptionGroup(CopyOptionGroupRequest copyOptionGroupRequest);
/**
*
* 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.
*
*
* For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.
*
*
* @param createDBClusterRequest
* @return Result of the CreateDBCluster operation returned by the service.
* @throws DBClusterAlreadyExistsException
* User already has a DB cluster with the given identifier.
* @throws InsufficientStorageClusterCapacityException
* There is insufficient storage available for the current action.
* You may be able to resolve this error by updating your subnet
* group to use different Availability Zones that have more storage
* available.
* @throws DBClusterQuotaExceededException
* User attempted to create a new DB cluster and the user has
* already reached the maximum allowed DB cluster quota.
* @throws StorageQuotaExceededException
* Request would result in user exceeding the allowed amount of
* storage available across all DB instances.
* @throws DBSubnetGroupNotFoundException
* DBSubnetGroupName does not refer to an existing DB subnet
* group.
* @throws InvalidVPCNetworkStateException
* DB subnet group does not cover all Availability Zones after it is
* created because users' change.
* @throws InvalidDBClusterStateException
* The DB cluster is not in a valid state.
* @throws InvalidDBSubnetGroupStateException
* The DB subnet group cannot be deleted because it is in use.
* @throws InvalidSubnetException
* The requested subnet is invalid, or multiple subnets were
* requested that are not all in a common VPC.
* @throws DBClusterParameterGroupNotFoundException
* DBClusterParameterGroupName does not refer to an existing
* DB Cluster parameter group.
* @throws KMSKeyNotAccessibleException
* Error accessing KMS key.
* @throws DBClusterNotFoundException
* DBClusterIdentifier does not refer to an existing DB
* cluster.
* @sample AmazonRDS.CreateDBCluster
*/
DBCluster createDBCluster(CreateDBClusterRequest createDBClusterRequest);
/**
*
* 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 or the
* DescribeDBClusterParameters command to verify that your DB cluster
* parameter group has been created or modified.
*
*
*
* For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.
*
*
* @param createDBClusterParameterGroupRequest
* @return Result of the CreateDBClusterParameterGroup operation returned by
* the service.
* @throws DBParameterGroupQuotaExceededException
* Request would result in user exceeding the allowed number of DB
* parameter groups.
* @throws DBParameterGroupAlreadyExistsException
* A DB parameter group with the same name exists.
* @sample AmazonRDS.CreateDBClusterParameterGroup
*/
DBClusterParameterGroup createDBClusterParameterGroup(
CreateDBClusterParameterGroupRequest createDBClusterParameterGroupRequest);
/**
*
* Creates a snapshot of a DB cluster. For more information on Amazon
* Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.
*
*
* @param createDBClusterSnapshotRequest
* @return Result of the CreateDBClusterSnapshot operation returned by the
* service.
* @throws DBClusterSnapshotAlreadyExistsException
* User already has a DB cluster snapshot with the given identifier.
* @throws InvalidDBClusterStateException
* The DB cluster is not in a valid state.
* @throws DBClusterNotFoundException
* DBClusterIdentifier does not refer to an existing DB
* cluster.
* @throws SnapshotQuotaExceededException
* Request would result in user exceeding the allowed number of DB
* snapshots.
* @throws InvalidDBClusterSnapshotStateException
* The supplied value is not a valid DB cluster snapshot state.
* @sample AmazonRDS.CreateDBClusterSnapshot
*/
DBClusterSnapshot createDBClusterSnapshot(
CreateDBClusterSnapshotRequest createDBClusterSnapshotRequest);
/**
*
* Creates a new DB instance.
*
*
* @param createDBInstanceRequest
* @return Result of the CreateDBInstance operation returned by the service.
* @throws DBInstanceAlreadyExistsException
* User already has a DB instance with the given identifier.
* @throws InsufficientDBInstanceCapacityException
* Specified DB instance class is not available in the specified
* Availability Zone.
* @throws DBParameterGroupNotFoundException
* DBParameterGroupName does not refer to an existing DB
* parameter group.
* @throws DBSecurityGroupNotFoundException
* DBSecurityGroupName does not refer to an existing DB
* security group.
* @throws InstanceQuotaExceededException
* Request would result in user exceeding the allowed number of DB
* instances.
* @throws StorageQuotaExceededException
* Request would result in user exceeding the allowed amount of
* storage available across all DB instances.
* @throws DBSubnetGroupNotFoundException
* DBSubnetGroupName does not refer to an existing DB subnet
* group.
* @throws DBSubnetGroupDoesNotCoverEnoughAZsException
* Subnets in the DB subnet group should cover at least two
* Availability Zones unless there is only one Availability Zone.
* @throws InvalidDBClusterStateException
* The DB cluster is not in a valid state.
* @throws InvalidSubnetException
* The requested subnet is invalid, or multiple subnets were
* requested that are not all in a common VPC.
* @throws InvalidVPCNetworkStateException
* DB subnet group does not cover all Availability Zones after it is
* created because users' change.
* @throws ProvisionedIopsNotAvailableInAZException
* Provisioned IOPS not available in the specified Availability
* Zone.
* @throws OptionGroupNotFoundException
* The specified option group could not be found.
* @throws DBClusterNotFoundException
* DBClusterIdentifier does not refer to an existing DB
* cluster.
* @throws StorageTypeNotSupportedException
* StorageType specified cannot be associated with the DB
* Instance.
* @throws AuthorizationNotFoundException
* Specified CIDRIP or EC2 security group is not authorized for the
* specified DB security group.
*
* RDS may not also be authorized via IAM to perform necessary
* actions on your behalf.
* @throws KMSKeyNotAccessibleException
* Error accessing KMS key.
* @throws DomainNotFoundException
* Domain does not refer to an existing Active Directory
* Domain.
* @sample AmazonRDS.CreateDBInstance
*/
DBInstance createDBInstance(CreateDBInstanceRequest createDBInstanceRequest);
/**
*
* Creates a DB instance for a DB instance running MySQL, MariaDB, or
* PostgreSQL that acts as a Read Replica of a source DB instance.
*
*
* All Read Replica DB instances are created as Single-AZ deployments 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 below.
*
*
*
* The source DB instance must have backup retention enabled.
*
*
*
* @param createDBInstanceReadReplicaRequest
* @return Result of the CreateDBInstanceReadReplica operation returned by
* the service.
* @throws DBInstanceAlreadyExistsException
* User already has a DB instance with the given identifier.
* @throws InsufficientDBInstanceCapacityException
* Specified DB instance class is not available in the specified
* Availability Zone.
* @throws DBParameterGroupNotFoundException
* DBParameterGroupName does not refer to an existing DB
* parameter group.
* @throws DBSecurityGroupNotFoundException
* DBSecurityGroupName does not refer to an existing DB
* security group.
* @throws InstanceQuotaExceededException
* Request would result in user exceeding the allowed number of DB
* instances.
* @throws StorageQuotaExceededException
* Request would result in user exceeding the allowed amount of
* storage available across all DB instances.
* @throws DBInstanceNotFoundException
* DBInstanceIdentifier does not refer to an existing DB
* instance.
* @throws InvalidDBInstanceStateException
* The specified DB instance is not in the available state.
* @throws DBSubnetGroupNotFoundException
* DBSubnetGroupName does not refer to an existing DB subnet
* group.
* @throws DBSubnetGroupDoesNotCoverEnoughAZsException
* Subnets in the DB subnet group should cover at least two
* Availability Zones unless there is only one Availability Zone.
* @throws InvalidSubnetException
* The requested subnet is invalid, or multiple subnets were
* requested that are not all in a common VPC.
* @throws InvalidVPCNetworkStateException
* DB subnet group does not cover all Availability Zones after it is
* created because users' change.
* @throws ProvisionedIopsNotAvailableInAZException
* Provisioned IOPS not available in the specified Availability
* Zone.
* @throws OptionGroupNotFoundException
* The specified option group could not be found.
* @throws DBSubnetGroupNotAllowedException
* Indicates that the DBSubnetGroup should not be specified while
* creating read replicas that lie in the same region as the source
* instance.
* @throws InvalidDBSubnetGroupException
* Indicates the DBSubnetGroup does not belong to the same VPC as
* that of an existing cross region read replica of the same source
* instance.
* @throws StorageTypeNotSupportedException
* StorageType specified cannot be associated with the DB
* Instance.
* @throws KMSKeyNotAccessibleException
* Error accessing KMS key.
* @sample AmazonRDS.CreateDBInstanceReadReplica
*/
DBInstance createDBInstanceReadReplica(
CreateDBInstanceReadReplicaRequest createDBInstanceReadReplicaRequest);
/**
*
* 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 or the
* DescribeDBParameters command to verify that your DB parameter
* group has been created or modified.
*
*
*
* @param createDBParameterGroupRequest
* @return Result of the CreateDBParameterGroup operation returned by the
* service.
* @throws DBParameterGroupQuotaExceededException
* Request would result in user exceeding the allowed number of DB
* parameter groups.
* @throws DBParameterGroupAlreadyExistsException
* A DB parameter group with the same name exists.
* @sample AmazonRDS.CreateDBParameterGroup
*/
DBParameterGroup createDBParameterGroup(
CreateDBParameterGroupRequest createDBParameterGroupRequest);
/**
*
* Creates a new DB security group. DB security groups control access to a
* DB instance.
*
*
* @param createDBSecurityGroupRequest
* @return Result of the CreateDBSecurityGroup operation returned by the
* service.
* @throws DBSecurityGroupAlreadyExistsException
* A DB security group with the name specified in
* DBSecurityGroupName already exists.
* @throws DBSecurityGroupQuotaExceededException
* Request would result in user exceeding the allowed number of DB
* security groups.
* @throws DBSecurityGroupNotSupportedException
* A DB security group is not allowed for this action.
* @sample AmazonRDS.CreateDBSecurityGroup
*/
DBSecurityGroup createDBSecurityGroup(
CreateDBSecurityGroupRequest createDBSecurityGroupRequest);
/**
*
* Creates a DBSnapshot. The source DBInstance must be in "available" state.
*
*
* @param createDBSnapshotRequest
* @return Result of the CreateDBSnapshot operation returned by the service.
* @throws DBSnapshotAlreadyExistsException
* DBSnapshotIdentifier is already used by an existing
* snapshot.
* @throws InvalidDBInstanceStateException
* The specified DB instance is not in the available state.
* @throws DBInstanceNotFoundException
* DBInstanceIdentifier does not refer to an existing DB
* instance.
* @throws SnapshotQuotaExceededException
* Request would result in user exceeding the allowed number of DB
* snapshots.
* @sample AmazonRDS.CreateDBSnapshot
*/
DBSnapshot createDBSnapshot(CreateDBSnapshotRequest createDBSnapshotRequest);
/**
*
* Creates a new DB subnet group. DB subnet groups must contain at least one
* subnet in at least two AZs in the region.
*
*
* @param createDBSubnetGroupRequest
* @return Result of the CreateDBSubnetGroup operation returned by the
* service.
* @throws DBSubnetGroupAlreadyExistsException
* DBSubnetGroupName is already used by an existing DB subnet
* group.
* @throws DBSubnetGroupQuotaExceededException
* Request would result in user exceeding the allowed number of DB
* subnet groups.
* @throws DBSubnetQuotaExceededException
* Request would result in user exceeding the allowed number of
* subnets in a DB subnet groups.
* @throws DBSubnetGroupDoesNotCoverEnoughAZsException
* Subnets in the DB subnet group should cover at least two
* Availability Zones unless there is only one Availability Zone.
* @throws InvalidSubnetException
* The requested subnet is invalid, or multiple subnets were
* requested that are not all in a common VPC.
* @sample AmazonRDS.CreateDBSubnetGroup
*/
DBSubnetGroup createDBSubnetGroup(
CreateDBSubnetGroupRequest createDBSubnetGroupRequest);
/**
*
* Creates an RDS event notification subscription. This action requires a
* topic ARN (Amazon Resource Name) 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 will be notified of
* all the db-instance events for the specified source. If you specify a
* SourceType but do not specify a SourceIdentifier, you will receive notice
* of the events for that source type for all your RDS sources. If you do
* not specify either the SourceType nor the SourceIdentifier, you will be
* notified of events generated from all RDS sources belonging to your
* customer account.
*
*
* @param createEventSubscriptionRequest
* @return Result of the CreateEventSubscription operation returned by the
* service.
* @throws EventSubscriptionQuotaExceededException
* You have reached the maximum number of event subscriptions.
* @throws SubscriptionAlreadyExistException
* The supplied subscription name already exists.
* @throws SNSInvalidTopicException
* SNS has responded that there is a problem with the SND topic
* specified.
* @throws SNSNoAuthorizationException
* You do not have permission to publish to the SNS topic ARN.
* @throws SNSTopicArnNotFoundException
* The SNS topic ARN does not exist.
* @throws SubscriptionCategoryNotFoundException
* The supplied category does not exist.
* @throws SourceNotFoundException
* The requested source could not be found.
* @sample AmazonRDS.CreateEventSubscription
*/
EventSubscription createEventSubscription(
CreateEventSubscriptionRequest createEventSubscriptionRequest);
/**
*
* Creates a new option group. You can create up to 20 option groups.
*
*
* @param createOptionGroupRequest
* @return Result of the CreateOptionGroup operation returned by the
* service.
* @throws OptionGroupAlreadyExistsException
* The option group you are trying to create already exists.
* @throws OptionGroupQuotaExceededException
* The quota of 20 option groups was exceeded for this AWS account.
* @sample AmazonRDS.CreateOptionGroup
*/
OptionGroup createOptionGroup(
CreateOptionGroupRequest createOptionGroupRequest);
/**
*
* 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 cannot be recovered. Manual DB cluster snapshots of the
* specified DB cluster are not deleted.
*
*
*
* For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.
*
*
* @param deleteDBClusterRequest
* @return Result of the DeleteDBCluster operation returned by the service.
* @throws DBClusterNotFoundException
* DBClusterIdentifier does not refer to an existing DB
* cluster.
* @throws InvalidDBClusterStateException
* The DB cluster is not in a valid state.
* @throws DBClusterSnapshotAlreadyExistsException
* User already has a DB cluster snapshot with the given identifier.
* @throws SnapshotQuotaExceededException
* Request would result in user exceeding the allowed number of DB
* snapshots.
* @throws InvalidDBClusterSnapshotStateException
* The supplied value is not a valid DB cluster snapshot state.
* @sample AmazonRDS.DeleteDBCluster
*/
DBCluster deleteDBCluster(DeleteDBClusterRequest deleteDBClusterRequest);
/**
*
* Deletes a specified DB cluster parameter group. The DB cluster parameter
* group to be deleted cannot be associated with any DB clusters.
*
*
* For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.
*
*
* @param deleteDBClusterParameterGroupRequest
* @return Result of the DeleteDBClusterParameterGroup operation returned by
* the service.
* @throws InvalidDBParameterGroupStateException
* The DB parameter group cannot be deleted because it is in use.
* @throws DBParameterGroupNotFoundException
* DBParameterGroupName does not refer to an existing DB
* parameter group.
* @sample AmazonRDS.DeleteDBClusterParameterGroup
*/
DeleteDBClusterParameterGroupResult deleteDBClusterParameterGroup(
DeleteDBClusterParameterGroupRequest deleteDBClusterParameterGroupRequest);
/**
*
* 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 Aurora on Amazon RDS in the Amazon RDS User Guide.
*
*
* @param deleteDBClusterSnapshotRequest
* @return Result of the DeleteDBClusterSnapshot operation returned by the
* service.
* @throws InvalidDBClusterSnapshotStateException
* The supplied value is not a valid DB cluster snapshot state.
* @throws DBClusterSnapshotNotFoundException
* DBClusterSnapshotIdentifier does not refer to an existing
* DB cluster snapshot.
* @sample AmazonRDS.DeleteDBClusterSnapshot
*/
DBClusterSnapshot deleteDBClusterSnapshot(
DeleteDBClusterSnapshotRequest deleteDBClusterSnapshotRequest);
/**
*
* The DeleteDBInstance action deletes a previously provisioned DB instance.
* When you delete a DB instance, all automated backups for that instance
* are deleted and cannot 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 cannot be canceled or reverted once
* submitted.
*
*
* Note that 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 the
* SkipFinalSnapshot
parameter is set to true
.
*
*
* If the specified DB instance is part of an Amazon Aurora DB cluster, you
* cannot delete the DB instance if the following 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.
*
*
* @param deleteDBInstanceRequest
* @return Result of the DeleteDBInstance operation returned by the service.
* @throws DBInstanceNotFoundException
* DBInstanceIdentifier does not refer to an existing DB
* instance.
* @throws InvalidDBInstanceStateException
* The specified DB instance is not in the available state.
* @throws DBSnapshotAlreadyExistsException
* DBSnapshotIdentifier is already used by an existing
* snapshot.
* @throws SnapshotQuotaExceededException
* Request would result in user exceeding the allowed number of DB
* snapshots.
* @throws InvalidDBClusterStateException
* The DB cluster is not in a valid state.
* @sample AmazonRDS.DeleteDBInstance
*/
DBInstance deleteDBInstance(DeleteDBInstanceRequest deleteDBInstanceRequest);
/**
*
* Deletes a specified DBParameterGroup. The DBParameterGroup to be deleted
* cannot be associated with any DB instances.
*
*
* @param deleteDBParameterGroupRequest
* @return Result of the DeleteDBParameterGroup operation returned by the
* service.
* @throws InvalidDBParameterGroupStateException
* The DB parameter group cannot be deleted because it is in use.
* @throws DBParameterGroupNotFoundException
* DBParameterGroupName does not refer to an existing DB
* parameter group.
* @sample AmazonRDS.DeleteDBParameterGroup
*/
DeleteDBParameterGroupResult deleteDBParameterGroup(
DeleteDBParameterGroupRequest deleteDBParameterGroupRequest);
/**
*
* Deletes a DB security group.
*
*
*
* The specified DB security group must not be associated with any DB
* instances.
*
*
*
* @param deleteDBSecurityGroupRequest
* @return Result of the DeleteDBSecurityGroup operation returned by the
* service.
* @throws InvalidDBSecurityGroupStateException
* The state of the DB security group does not allow deletion.
* @throws DBSecurityGroupNotFoundException
* DBSecurityGroupName does not refer to an existing DB
* security group.
* @sample AmazonRDS.DeleteDBSecurityGroup
*/
DeleteDBSecurityGroupResult deleteDBSecurityGroup(
DeleteDBSecurityGroupRequest deleteDBSecurityGroupRequest);
/**
*
* Deletes a DBSnapshot. If the snapshot is being copied, the copy operation
* is terminated.
*
*
*
* The DBSnapshot must be in the available
state to be deleted.
*
*
*
* @param deleteDBSnapshotRequest
* @return Result of the DeleteDBSnapshot operation returned by the service.
* @throws InvalidDBSnapshotStateException
* The state of the DB snapshot does not allow deletion.
* @throws DBSnapshotNotFoundException
* DBSnapshotIdentifier does not refer to an existing DB
* snapshot.
* @sample AmazonRDS.DeleteDBSnapshot
*/
DBSnapshot deleteDBSnapshot(DeleteDBSnapshotRequest deleteDBSnapshotRequest);
/**
*
* Deletes a DB subnet group.
*
*
*
* The specified database subnet group must not be associated with any DB
* instances.
*
*
*
* @param deleteDBSubnetGroupRequest
* @return Result of the DeleteDBSubnetGroup operation returned by the
* service.
* @throws InvalidDBSubnetGroupStateException
* The DB subnet group cannot be deleted because it is in use.
* @throws InvalidDBSubnetStateException
* The DB subnet is not in the available state.
* @throws DBSubnetGroupNotFoundException
* DBSubnetGroupName does not refer to an existing DB subnet
* group.
* @sample AmazonRDS.DeleteDBSubnetGroup
*/
DeleteDBSubnetGroupResult deleteDBSubnetGroup(
DeleteDBSubnetGroupRequest deleteDBSubnetGroupRequest);
/**
*
* Deletes an RDS event notification subscription.
*
*
* @param deleteEventSubscriptionRequest
* @return Result of the DeleteEventSubscription operation returned by the
* service.
* @throws SubscriptionNotFoundException
* The subscription name does not exist.
* @throws InvalidEventSubscriptionStateException
* This error can occur if someone else is modifying a subscription.
* You should retry the action.
* @sample AmazonRDS.DeleteEventSubscription
*/
EventSubscription deleteEventSubscription(
DeleteEventSubscriptionRequest deleteEventSubscriptionRequest);
/**
*
* Deletes an existing option group.
*
*
* @param deleteOptionGroupRequest
* @return Result of the DeleteOptionGroup operation returned by the
* service.
* @throws OptionGroupNotFoundException
* The specified option group could not be found.
* @throws InvalidOptionGroupStateException
* The option group is not in the available state.
* @sample AmazonRDS.DeleteOptionGroup
*/
DeleteOptionGroupResult deleteOptionGroup(
DeleteOptionGroupRequest deleteOptionGroupRequest);
/**
*
* 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 does not take any parameters.
*
*
* @param describeAccountAttributesRequest
* @return Result of the DescribeAccountAttributes operation returned by the
* service.
* @sample AmazonRDS.DescribeAccountAttributes
*/
DescribeAccountAttributesResult describeAccountAttributes(
DescribeAccountAttributesRequest describeAccountAttributesRequest);
/**
* Simplified method form for invoking the DescribeAccountAttributes
* operation.
*
* @see #describeAccountAttributes(DescribeAccountAttributesRequest)
*/
DescribeAccountAttributesResult describeAccountAttributes();
/**
*
* Lists the set of CA certificates provided by Amazon RDS for this AWS
* account.
*
*
* @param describeCertificatesRequest
* @return Result of the DescribeCertificates operation returned by the
* service.
* @throws CertificateNotFoundException
* CertificateIdentifier does not refer to an existing
* certificate.
* @sample AmazonRDS.DescribeCertificates
*/
DescribeCertificatesResult describeCertificates(
DescribeCertificatesRequest describeCertificatesRequest);
/**
* Simplified method form for invoking the DescribeCertificates operation.
*
* @see #describeCertificates(DescribeCertificatesRequest)
*/
DescribeCertificatesResult describeCertificates();
/**
*
* 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 Aurora on Amazon RDS in the Amazon RDS User Guide.
*
*
* @param describeDBClusterParameterGroupsRequest
* @return Result of the DescribeDBClusterParameterGroups operation returned
* by the service.
* @throws DBParameterGroupNotFoundException
* DBParameterGroupName does not refer to an existing DB
* parameter group.
* @sample AmazonRDS.DescribeDBClusterParameterGroups
*/
DescribeDBClusterParameterGroupsResult describeDBClusterParameterGroups(
DescribeDBClusterParameterGroupsRequest describeDBClusterParameterGroupsRequest);
/**
* Simplified method form for invoking the DescribeDBClusterParameterGroups
* operation.
*
* @see #describeDBClusterParameterGroups(DescribeDBClusterParameterGroupsRequest)
*/
DescribeDBClusterParameterGroupsResult describeDBClusterParameterGroups();
/**
*
* Returns the detailed parameter list for a particular DB cluster parameter
* group.
*
*
* For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.
*
*
* @param describeDBClusterParametersRequest
* @return Result of the DescribeDBClusterParameters operation returned by
* the service.
* @throws DBParameterGroupNotFoundException
* DBParameterGroupName does not refer to an existing DB
* parameter group.
* @sample AmazonRDS.DescribeDBClusterParameters
*/
DescribeDBClusterParametersResult describeDBClusterParameters(
DescribeDBClusterParametersRequest describeDBClusterParametersRequest);
/**
*
* 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.
*
*
* @param describeDBClusterSnapshotAttributesRequest
* @return Result of the DescribeDBClusterSnapshotAttributes operation
* returned by the service.
* @throws DBClusterSnapshotNotFoundException
* DBClusterSnapshotIdentifier does not refer to an existing
* DB cluster snapshot.
* @sample AmazonRDS.DescribeDBClusterSnapshotAttributes
*/
DBClusterSnapshotAttributesResult describeDBClusterSnapshotAttributes(
DescribeDBClusterSnapshotAttributesRequest describeDBClusterSnapshotAttributesRequest);
/**
*
* Returns information about DB cluster snapshots. This API action supports
* pagination.
*
*
* For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.
*
*
* @param describeDBClusterSnapshotsRequest
* @return Result of the DescribeDBClusterSnapshots operation returned by
* the service.
* @throws DBClusterSnapshotNotFoundException
* DBClusterSnapshotIdentifier does not refer to an existing
* DB cluster snapshot.
* @sample AmazonRDS.DescribeDBClusterSnapshots
*/
DescribeDBClusterSnapshotsResult describeDBClusterSnapshots(
DescribeDBClusterSnapshotsRequest describeDBClusterSnapshotsRequest);
/**
* Simplified method form for invoking the DescribeDBClusterSnapshots
* operation.
*
* @see #describeDBClusterSnapshots(DescribeDBClusterSnapshotsRequest)
*/
DescribeDBClusterSnapshotsResult describeDBClusterSnapshots();
/**
*
* Returns information about provisioned Aurora DB clusters. This API
* supports pagination.
*
*
* For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.
*
*
* @param describeDBClustersRequest
* @return Result of the DescribeDBClusters operation returned by the
* service.
* @throws DBClusterNotFoundException
* DBClusterIdentifier does not refer to an existing DB
* cluster.
* @sample AmazonRDS.DescribeDBClusters
*/
DescribeDBClustersResult describeDBClusters(
DescribeDBClustersRequest describeDBClustersRequest);
/**
* Simplified method form for invoking the DescribeDBClusters operation.
*
* @see #describeDBClusters(DescribeDBClustersRequest)
*/
DescribeDBClustersResult describeDBClusters();
/**
*
* Returns a list of the available DB engines.
*
*
* @param describeDBEngineVersionsRequest
* @return Result of the DescribeDBEngineVersions operation returned by the
* service.
* @sample AmazonRDS.DescribeDBEngineVersions
*/
DescribeDBEngineVersionsResult describeDBEngineVersions(
DescribeDBEngineVersionsRequest describeDBEngineVersionsRequest);
/**
* Simplified method form for invoking the DescribeDBEngineVersions
* operation.
*
* @see #describeDBEngineVersions(DescribeDBEngineVersionsRequest)
*/
DescribeDBEngineVersionsResult describeDBEngineVersions();
/**
*
* Returns information about provisioned RDS instances. This API supports
* pagination.
*
*
* @param describeDBInstancesRequest
* @return Result of the DescribeDBInstances operation returned by the
* service.
* @throws DBInstanceNotFoundException
* DBInstanceIdentifier does not refer to an existing DB
* instance.
* @sample AmazonRDS.DescribeDBInstances
*/
DescribeDBInstancesResult describeDBInstances(
DescribeDBInstancesRequest describeDBInstancesRequest);
/**
* Simplified method form for invoking the DescribeDBInstances operation.
*
* @see #describeDBInstances(DescribeDBInstancesRequest)
*/
DescribeDBInstancesResult describeDBInstances();
/**
*
* Returns a list of DB log files for the DB instance.
*
*
* @param describeDBLogFilesRequest
* @return Result of the DescribeDBLogFiles operation returned by the
* service.
* @throws DBInstanceNotFoundException
* DBInstanceIdentifier does not refer to an existing DB
* instance.
* @sample AmazonRDS.DescribeDBLogFiles
*/
DescribeDBLogFilesResult describeDBLogFiles(
DescribeDBLogFilesRequest describeDBLogFilesRequest);
/**
*
* Returns a list of DBParameterGroup
descriptions. If a
* DBParameterGroupName
is specified, the list will contain
* only the description of the specified DB parameter group.
*
*
* @param describeDBParameterGroupsRequest
* @return Result of the DescribeDBParameterGroups operation returned by the
* service.
* @throws DBParameterGroupNotFoundException
* DBParameterGroupName does not refer to an existing DB
* parameter group.
* @sample AmazonRDS.DescribeDBParameterGroups
*/
DescribeDBParameterGroupsResult describeDBParameterGroups(
DescribeDBParameterGroupsRequest describeDBParameterGroupsRequest);
/**
* Simplified method form for invoking the DescribeDBParameterGroups
* operation.
*
* @see #describeDBParameterGroups(DescribeDBParameterGroupsRequest)
*/
DescribeDBParameterGroupsResult describeDBParameterGroups();
/**
*
* Returns the detailed parameter list for a particular DB parameter group.
*
*
* @param describeDBParametersRequest
* @return Result of the DescribeDBParameters operation returned by the
* service.
* @throws DBParameterGroupNotFoundException
* DBParameterGroupName does not refer to an existing DB
* parameter group.
* @sample AmazonRDS.DescribeDBParameters
*/
DescribeDBParametersResult describeDBParameters(
DescribeDBParametersRequest describeDBParametersRequest);
/**
*
* Returns a list of DBSecurityGroup
descriptions. If a
* DBSecurityGroupName
is specified, the list will contain only
* the descriptions of the specified DB security group.
*
*
* @param describeDBSecurityGroupsRequest
* @return Result of the DescribeDBSecurityGroups operation returned by the
* service.
* @throws DBSecurityGroupNotFoundException
* DBSecurityGroupName does not refer to an existing DB
* security group.
* @sample AmazonRDS.DescribeDBSecurityGroups
*/
DescribeDBSecurityGroupsResult describeDBSecurityGroups(
DescribeDBSecurityGroupsRequest describeDBSecurityGroupsRequest);
/**
* Simplified method form for invoking the DescribeDBSecurityGroups
* operation.
*
* @see #describeDBSecurityGroups(DescribeDBSecurityGroupsRequest)
*/
DescribeDBSecurityGroupsResult describeDBSecurityGroups();
/**
*
* 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.
*
*
* @param describeDBSnapshotAttributesRequest
* @return Result of the DescribeDBSnapshotAttributes operation returned by
* the service.
* @throws DBSnapshotNotFoundException
* DBSnapshotIdentifier does not refer to an existing DB
* snapshot.
* @sample AmazonRDS.DescribeDBSnapshotAttributes
*/
DBSnapshotAttributesResult describeDBSnapshotAttributes(
DescribeDBSnapshotAttributesRequest describeDBSnapshotAttributesRequest);
/**
* Simplified method form for invoking the DescribeDBSnapshotAttributes
* operation.
*
* @see #describeDBSnapshotAttributes(DescribeDBSnapshotAttributesRequest)
*/
DBSnapshotAttributesResult describeDBSnapshotAttributes();
/**
*
* Returns information about DB snapshots. This API action supports
* pagination.
*
*
* @param describeDBSnapshotsRequest
* @return Result of the DescribeDBSnapshots operation returned by the
* service.
* @throws DBSnapshotNotFoundException
* DBSnapshotIdentifier does not refer to an existing DB
* snapshot.
* @sample AmazonRDS.DescribeDBSnapshots
*/
DescribeDBSnapshotsResult describeDBSnapshots(
DescribeDBSnapshotsRequest describeDBSnapshotsRequest);
/**
* Simplified method form for invoking the DescribeDBSnapshots operation.
*
* @see #describeDBSnapshots(DescribeDBSnapshotsRequest)
*/
DescribeDBSnapshotsResult describeDBSnapshots();
/**
*
* 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.
*
*
* @param describeDBSubnetGroupsRequest
* @return Result of the DescribeDBSubnetGroups operation returned by the
* service.
* @throws DBSubnetGroupNotFoundException
* DBSubnetGroupName does not refer to an existing DB subnet
* group.
* @sample AmazonRDS.DescribeDBSubnetGroups
*/
DescribeDBSubnetGroupsResult describeDBSubnetGroups(
DescribeDBSubnetGroupsRequest describeDBSubnetGroupsRequest);
/**
* Simplified method form for invoking the DescribeDBSubnetGroups operation.
*
* @see #describeDBSubnetGroups(DescribeDBSubnetGroupsRequest)
*/
DescribeDBSubnetGroupsResult describeDBSubnetGroups();
/**
*
* Returns the default engine and system parameter information for the
* cluster database engine.
*
*
* For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.
*
*
* @param describeEngineDefaultClusterParametersRequest
* @return Result of the DescribeEngineDefaultClusterParameters operation
* returned by the service.
* @sample AmazonRDS.DescribeEngineDefaultClusterParameters
*/
EngineDefaults describeEngineDefaultClusterParameters(
DescribeEngineDefaultClusterParametersRequest describeEngineDefaultClusterParametersRequest);
/**
*
* Returns the default engine and system parameter information for the
* specified database engine.
*
*
* @param describeEngineDefaultParametersRequest
* @return Result of the DescribeEngineDefaultParameters operation returned
* by the service.
* @sample AmazonRDS.DescribeEngineDefaultParameters
*/
EngineDefaults describeEngineDefaultParameters(
DescribeEngineDefaultParametersRequest describeEngineDefaultParametersRequest);
/**
*
* 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 topic in the Amazon RDS User Guide.
*
*
* @param describeEventCategoriesRequest
* @return Result of the DescribeEventCategories operation returned by the
* service.
* @sample AmazonRDS.DescribeEventCategories
*/
DescribeEventCategoriesResult describeEventCategories(
DescribeEventCategoriesRequest describeEventCategoriesRequest);
/**
* Simplified method form for invoking the DescribeEventCategories
* operation.
*
* @see #describeEventCategories(DescribeEventCategoriesRequest)
*/
DescribeEventCategoriesResult describeEventCategories();
/**
*
* 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.
*
*
* @param describeEventSubscriptionsRequest
* @return Result of the DescribeEventSubscriptions operation returned by
* the service.
* @throws SubscriptionNotFoundException
* The subscription name does not exist.
* @sample AmazonRDS.DescribeEventSubscriptions
*/
DescribeEventSubscriptionsResult describeEventSubscriptions(
DescribeEventSubscriptionsRequest describeEventSubscriptionsRequest);
/**
* Simplified method form for invoking the DescribeEventSubscriptions
* operation.
*
* @see #describeEventSubscriptions(DescribeEventSubscriptionsRequest)
*/
DescribeEventSubscriptionsResult describeEventSubscriptions();
/**
*
* 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.
*
*
* @param describeEventsRequest
* @return Result of the DescribeEvents operation returned by the service.
* @sample AmazonRDS.DescribeEvents
*/
DescribeEventsResult describeEvents(
DescribeEventsRequest describeEventsRequest);
/**
* Simplified method form for invoking the DescribeEvents operation.
*
* @see #describeEvents(DescribeEventsRequest)
*/
DescribeEventsResult describeEvents();
/**
*
* Describes all available options.
*
*
* @param describeOptionGroupOptionsRequest
* @return Result of the DescribeOptionGroupOptions operation returned by
* the service.
* @sample AmazonRDS.DescribeOptionGroupOptions
*/
DescribeOptionGroupOptionsResult describeOptionGroupOptions(
DescribeOptionGroupOptionsRequest describeOptionGroupOptionsRequest);
/**
*
* Describes the available option groups.
*
*
* @param describeOptionGroupsRequest
* @return Result of the DescribeOptionGroups operation returned by the
* service.
* @throws OptionGroupNotFoundException
* The specified option group could not be found.
* @sample AmazonRDS.DescribeOptionGroups
*/
DescribeOptionGroupsResult describeOptionGroups(
DescribeOptionGroupsRequest describeOptionGroupsRequest);
/**
* Simplified method form for invoking the DescribeOptionGroups operation.
*
* @see #describeOptionGroups(DescribeOptionGroupsRequest)
*/
DescribeOptionGroupsResult describeOptionGroups();
/**
*
* Returns a list of orderable DB instance options for the specified engine.
*
*
* @param describeOrderableDBInstanceOptionsRequest
* @return Result of the DescribeOrderableDBInstanceOptions operation
* returned by the service.
* @sample AmazonRDS.DescribeOrderableDBInstanceOptions
*/
DescribeOrderableDBInstanceOptionsResult describeOrderableDBInstanceOptions(
DescribeOrderableDBInstanceOptionsRequest describeOrderableDBInstanceOptionsRequest);
/**
*
* Returns a list of resources (for example, DB instances) that have at
* least one pending maintenance action.
*
*
* @param describePendingMaintenanceActionsRequest
* @return Result of the DescribePendingMaintenanceActions operation
* returned by the service.
* @throws ResourceNotFoundException
* The specified resource ID was not found.
* @sample AmazonRDS.DescribePendingMaintenanceActions
*/
DescribePendingMaintenanceActionsResult describePendingMaintenanceActions(
DescribePendingMaintenanceActionsRequest describePendingMaintenanceActionsRequest);
/**
* Simplified method form for invoking the DescribePendingMaintenanceActions
* operation.
*
* @see #describePendingMaintenanceActions(DescribePendingMaintenanceActionsRequest)
*/
DescribePendingMaintenanceActionsResult describePendingMaintenanceActions();
/**
*
* Returns information about reserved DB instances for this account, or
* about a specified reserved DB instance.
*
*
* @param describeReservedDBInstancesRequest
* @return Result of the DescribeReservedDBInstances operation returned by
* the service.
* @throws ReservedDBInstanceNotFoundException
* The specified reserved DB Instance not found.
* @sample AmazonRDS.DescribeReservedDBInstances
*/
DescribeReservedDBInstancesResult describeReservedDBInstances(
DescribeReservedDBInstancesRequest describeReservedDBInstancesRequest);
/**
* Simplified method form for invoking the DescribeReservedDBInstances
* operation.
*
* @see #describeReservedDBInstances(DescribeReservedDBInstancesRequest)
*/
DescribeReservedDBInstancesResult describeReservedDBInstances();
/**
*
* Lists available reserved DB instance offerings.
*
*
* @param describeReservedDBInstancesOfferingsRequest
* @return Result of the DescribeReservedDBInstancesOfferings operation
* returned by the service.
* @throws ReservedDBInstancesOfferingNotFoundException
* Specified offering does not exist.
* @sample AmazonRDS.DescribeReservedDBInstancesOfferings
*/
DescribeReservedDBInstancesOfferingsResult describeReservedDBInstancesOfferings(
DescribeReservedDBInstancesOfferingsRequest describeReservedDBInstancesOfferingsRequest);
/**
* Simplified method form for invoking the
* DescribeReservedDBInstancesOfferings operation.
*
* @see #describeReservedDBInstancesOfferings(DescribeReservedDBInstancesOfferingsRequest)
*/
DescribeReservedDBInstancesOfferingsResult describeReservedDBInstancesOfferings();
/**
*
* Downloads all or a portion of the specified log file, up to 1 MB in size.
*
*
* @param downloadDBLogFilePortionRequest
* @return Result of the DownloadDBLogFilePortion operation returned by the
* service.
* @throws DBInstanceNotFoundException
* DBInstanceIdentifier does not refer to an existing DB
* instance.
* @throws DBLogFileNotFoundException
* LogFileName does not refer to an existing DB log file.
* @sample AmazonRDS.DownloadDBLogFilePortion
*/
DownloadDBLogFilePortionResult downloadDBLogFilePortion(
DownloadDBLogFilePortionRequest downloadDBLogFilePortionRequest);
/**
*
* Forces a failover for a DB cluster.
*
*
* A failover for a DB cluster promotes one of the read-only instances in
* the DB cluster to the master DB instance (the cluster writer) and deletes
* the current primary instance.
*
*
* Amazon Aurora will automatically fail over to a read-only instance, if
* one exists, when the primary instance fails. You can force a failover
* when you want to simulate a failure of a DB 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 Aurora on Amazon RDS in the Amazon RDS User Guide.
*
*
* @param failoverDBClusterRequest
* @return Result of the FailoverDBCluster operation returned by the
* service.
* @throws DBClusterNotFoundException
* DBClusterIdentifier does not refer to an existing DB
* cluster.
* @throws InvalidDBClusterStateException
* The DB cluster is not in a valid state.
* @throws InvalidDBInstanceStateException
* The specified DB instance is not in the available state.
* @sample AmazonRDS.FailoverDBCluster
*/
DBCluster failoverDBCluster(
FailoverDBClusterRequest failoverDBClusterRequest);
/**
* Simplified method form for invoking the FailoverDBCluster operation.
*
* @see #failoverDBCluster(FailoverDBClusterRequest)
*/
DBCluster failoverDBCluster();
/**
*
* Lists all tags on an Amazon RDS resource.
*
*
* For an overview on tagging an Amazon RDS resource, see Tagging Amazon RDS Resources.
*
*
* @param listTagsForResourceRequest
* @return Result of the ListTagsForResource operation returned by the
* service.
* @throws DBInstanceNotFoundException
* DBInstanceIdentifier does not refer to an existing DB
* instance.
* @throws DBSnapshotNotFoundException
* DBSnapshotIdentifier does not refer to an existing DB
* snapshot.
* @sample AmazonRDS.ListTagsForResource
*/
ListTagsForResourceResult listTagsForResource(
ListTagsForResourceRequest listTagsForResourceRequest);
/**
*
* 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
* Aurora on Amazon RDS in the Amazon RDS User Guide.
*
*
* @param modifyDBClusterRequest
* @return Result of the ModifyDBCluster operation returned by the service.
* @throws DBClusterNotFoundException
* DBClusterIdentifier does not refer to an existing DB
* cluster.
* @throws InvalidDBClusterStateException
* The DB cluster is not in a valid state.
* @throws StorageQuotaExceededException
* Request would result in user exceeding the allowed amount of
* storage available across all DB instances.
* @throws DBSubnetGroupNotFoundException
* DBSubnetGroupName does not refer to an existing DB subnet
* group.
* @throws InvalidVPCNetworkStateException
* DB subnet group does not cover all Availability Zones after it is
* created because users' change.
* @throws InvalidDBSubnetGroupStateException
* The DB subnet group cannot be deleted because it is in use.
* @throws InvalidSubnetException
* The requested subnet is invalid, or multiple subnets were
* requested that are not all in a common VPC.
* @throws DBClusterParameterGroupNotFoundException
* DBClusterParameterGroupName does not refer to an existing
* DB Cluster parameter group.
* @throws InvalidDBSecurityGroupStateException
* The state of the DB security group does not allow deletion.
* @throws InvalidDBInstanceStateException
* The specified DB instance is not in the available state.
* @throws DBClusterAlreadyExistsException
* User already has a DB cluster with the given identifier.
* @sample AmazonRDS.ModifyDBCluster
*/
DBCluster modifyDBCluster(ModifyDBClusterRequest modifyDBClusterRequest);
/**
*
* 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 Aurora on Amazon RDS in the Amazon RDS 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 or the
* DescribeDBClusterParameters command to verify that your DB cluster
* parameter group has been created or modified.
*
*
*
* @param modifyDBClusterParameterGroupRequest
* @return Result of the ModifyDBClusterParameterGroup operation returned by
* the service.
* @throws DBParameterGroupNotFoundException
* DBParameterGroupName does not refer to an existing DB
* parameter group.
* @throws InvalidDBParameterGroupStateException
* The DB parameter group cannot be deleted because it is in use.
* @sample AmazonRDS.ModifyDBClusterParameterGroup
*/
ModifyDBClusterParameterGroupResult modifyDBClusterParameterGroup(
ModifyDBClusterParameterGroupRequest modifyDBClusterParameterGroupRequest);
/**
*
* 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. 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.
*
*
* To view which AWS accounts have access to copy or restore a manual DB
* cluster snapshot, or whether a manual DB cluster snapshot public or
* private, use the DescribeDBClusterSnapshotAttributes API action.
*
*
* If a manual DB cluster snapshot is encrypted, it cannot be shared.
*
*
* @param modifyDBClusterSnapshotAttributeRequest
* @return Result of the ModifyDBClusterSnapshotAttribute operation returned
* by the service.
* @throws DBClusterSnapshotNotFoundException
* DBClusterSnapshotIdentifier does not refer to an existing
* DB cluster snapshot.
* @throws InvalidDBClusterSnapshotStateException
* The supplied value is not a valid DB cluster snapshot state.
* @throws SharedSnapshotQuotaExceededException
* You have exceeded the maximum number of accounts that you can
* share a manual DB snapshot with.
* @sample AmazonRDS.ModifyDBClusterSnapshotAttribute
*/
DBClusterSnapshotAttributesResult modifyDBClusterSnapshotAttribute(
ModifyDBClusterSnapshotAttributeRequest modifyDBClusterSnapshotAttributeRequest);
/**
*
* Modify 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.
*
*
* @param modifyDBInstanceRequest
* @return Result of the ModifyDBInstance operation returned by the service.
* @throws InvalidDBInstanceStateException
* The specified DB instance is not in the available state.
* @throws InvalidDBSecurityGroupStateException
* The state of the DB security group does not allow deletion.
* @throws DBInstanceAlreadyExistsException
* User already has a DB instance with the given identifier.
* @throws DBInstanceNotFoundException
* DBInstanceIdentifier does not refer to an existing DB
* instance.
* @throws DBSecurityGroupNotFoundException
* DBSecurityGroupName does not refer to an existing DB
* security group.
* @throws DBParameterGroupNotFoundException
* DBParameterGroupName does not refer to an existing DB
* parameter group.
* @throws InsufficientDBInstanceCapacityException
* Specified DB instance class is not available in the specified
* Availability Zone.
* @throws StorageQuotaExceededException
* Request would result in user exceeding the allowed amount of
* storage available across all DB instances.
* @throws InvalidVPCNetworkStateException
* DB subnet group does not cover all Availability Zones after it is
* created because users' change.
* @throws ProvisionedIopsNotAvailableInAZException
* Provisioned IOPS not available in the specified Availability
* Zone.
* @throws OptionGroupNotFoundException
* The specified option group could not be found.
* @throws DBUpgradeDependencyFailureException
* The DB upgrade failed because a resource the DB depends on could
* not be modified.
* @throws StorageTypeNotSupportedException
* StorageType specified cannot be associated with the DB
* Instance.
* @throws AuthorizationNotFoundException
* Specified CIDRIP or EC2 security group is not authorized for the
* specified DB security group.
*
* RDS may not also be authorized via IAM to perform necessary
* actions on your behalf.
* @throws CertificateNotFoundException
* CertificateIdentifier does not refer to an existing
* certificate.
* @throws DomainNotFoundException
* Domain does not refer to an existing Active Directory
* Domain.
* @sample AmazonRDS.ModifyDBInstance
*/
DBInstance modifyDBInstance(ModifyDBInstanceRequest modifyDBInstanceRequest);
/**
*
* 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 or the
* DescribeDBParameters command to verify that your DB parameter
* group has been created or modified.
*
*
*
* @param modifyDBParameterGroupRequest
* @return Result of the ModifyDBParameterGroup operation returned by the
* service.
* @throws DBParameterGroupNotFoundException
* DBParameterGroupName does not refer to an existing DB
* parameter group.
* @throws InvalidDBParameterGroupStateException
* The DB parameter group cannot be deleted because it is in use.
* @sample AmazonRDS.ModifyDBParameterGroup
*/
ModifyDBParameterGroupResult modifyDBParameterGroup(
ModifyDBParameterGroupRequest modifyDBParameterGroupRequest);
/**
*
* 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. 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.
*
*
* 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.
*
*
* If the manual DB snapshot is encrypted, it cannot be shared.
*
*
* @param modifyDBSnapshotAttributeRequest
* @return Result of the ModifyDBSnapshotAttribute operation returned by the
* service.
* @throws DBSnapshotNotFoundException
* DBSnapshotIdentifier does not refer to an existing DB
* snapshot.
* @throws InvalidDBSnapshotStateException
* The state of the DB snapshot does not allow deletion.
* @throws SharedSnapshotQuotaExceededException
* You have exceeded the maximum number of accounts that you can
* share a manual DB snapshot with.
* @sample AmazonRDS.ModifyDBSnapshotAttribute
*/
DBSnapshotAttributesResult modifyDBSnapshotAttribute(
ModifyDBSnapshotAttributeRequest modifyDBSnapshotAttributeRequest);
/**
*
* Modifies an existing DB subnet group. DB subnet groups must contain at
* least one subnet in at least two AZs in the region.
*
*
* @param modifyDBSubnetGroupRequest
* @return Result of the ModifyDBSubnetGroup operation returned by the
* service.
* @throws DBSubnetGroupNotFoundException
* DBSubnetGroupName does not refer to an existing DB subnet
* group.
* @throws DBSubnetQuotaExceededException
* Request would result in user exceeding the allowed number of
* subnets in a DB subnet groups.
* @throws SubnetAlreadyInUseException
* The DB subnet is already in use in the Availability Zone.
* @throws DBSubnetGroupDoesNotCoverEnoughAZsException
* Subnets in the DB subnet group should cover at least two
* Availability Zones unless there is only one Availability Zone.
* @throws InvalidSubnetException
* The requested subnet is invalid, or multiple subnets were
* requested that are not all in a common VPC.
* @sample AmazonRDS.ModifyDBSubnetGroup
*/
DBSubnetGroup modifyDBSubnetGroup(
ModifyDBSubnetGroupRequest modifyDBSubnetGroupRequest);
/**
*
* Modifies an existing RDS event notification subscription. Note that you
* cannot 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 topic in the Amazon RDS User Guide or by using the
* DescribeEventCategories action.
*
*
* @param modifyEventSubscriptionRequest
* @return Result of the ModifyEventSubscription operation returned by the
* service.
* @throws EventSubscriptionQuotaExceededException
* You have reached the maximum number of event subscriptions.
* @throws SubscriptionNotFoundException
* The subscription name does not exist.
* @throws SNSInvalidTopicException
* SNS has responded that there is a problem with the SND topic
* specified.
* @throws SNSNoAuthorizationException
* You do not have permission to publish to the SNS topic ARN.
* @throws SNSTopicArnNotFoundException
* The SNS topic ARN does not exist.
* @throws SubscriptionCategoryNotFoundException
* The supplied category does not exist.
* @sample AmazonRDS.ModifyEventSubscription
*/
EventSubscription modifyEventSubscription(
ModifyEventSubscriptionRequest modifyEventSubscriptionRequest);
/**
*
* Modifies an existing option group.
*
*
* @param modifyOptionGroupRequest
* @return Result of the ModifyOptionGroup operation returned by the
* service.
* @throws InvalidOptionGroupStateException
* The option group is not in the available state.
* @throws OptionGroupNotFoundException
* The specified option group could not be found.
* @sample AmazonRDS.ModifyOptionGroup
*/
OptionGroup modifyOptionGroup(
ModifyOptionGroupRequest modifyOptionGroupRequest);
/**
*
* Promotes a Read Replica DB instance to a standalone DB instance.
*
*
*
* We recommend that you enable automated backups on your Read Replica
* before promoting the Read Replica. This ensures that no backup is taken
* during the promotion process. Once the instance is promoted to a primary
* instance, backups are taken based on your backup settings.
*
*
*
* @param promoteReadReplicaRequest
* @return Result of the PromoteReadReplica operation returned by the
* service.
* @throws InvalidDBInstanceStateException
* The specified DB instance is not in the available state.
* @throws DBInstanceNotFoundException
* DBInstanceIdentifier does not refer to an existing DB
* instance.
* @sample AmazonRDS.PromoteReadReplica
*/
DBInstance promoteReadReplica(
PromoteReadReplicaRequest promoteReadReplicaRequest);
/**
*
* Promotes a Read Replica DB cluster to a standalone DB cluster.
*
*
* @param promoteReadReplicaDBClusterRequest
* @return Result of the PromoteReadReplicaDBCluster operation returned by
* the service.
* @throws DBClusterNotFoundException
* DBClusterIdentifier does not refer to an existing DB
* cluster.
* @throws InvalidDBClusterStateException
* The DB cluster is not in a valid state.
* @sample AmazonRDS.PromoteReadReplicaDBCluster
*/
DBCluster promoteReadReplicaDBCluster(
PromoteReadReplicaDBClusterRequest promoteReadReplicaDBClusterRequest);
/**
*
* Purchases a reserved DB instance offering.
*
*
* @param purchaseReservedDBInstancesOfferingRequest
* @return Result of the PurchaseReservedDBInstancesOffering operation
* returned by the service.
* @throws ReservedDBInstancesOfferingNotFoundException
* Specified offering does not exist.
* @throws ReservedDBInstanceAlreadyExistsException
* User already has a reservation with the given identifier.
* @throws ReservedDBInstanceQuotaExceededException
* Request would exceed the user's DB Instance quota.
* @sample AmazonRDS.PurchaseReservedDBInstancesOffering
*/
ReservedDBInstance purchaseReservedDBInstancesOffering(
PurchaseReservedDBInstancesOfferingRequest purchaseReservedDBInstancesOfferingRequest);
/**
*
* Rebooting a DB instance restarts the database engine service. A reboot
* also applies to the DB instance any modifications to the associated DB
* parameter group that were pending. Rebooting a DB instance results in a
* momentary outage of the instance, during which the DB instance status is
* set to rebooting. If the RDS instance is configured for MultiAZ, it is
* possible that the reboot will be conducted through a failover. An Amazon
* RDS event is created when the reboot is completed.
*
*
* If your DB instance is deployed in multiple Availability Zones, you can
* force a failover from one AZ to the other during the reboot. You might
* force a failover to test the availability of your DB instance deployment
* or to restore operations to the original AZ after a failover occurs.
*
*
* The time required to reboot is a function of the specific database
* engine's crash recovery process. To improve the reboot time, we recommend
* that you reduce database activities as much as possible during the reboot
* process to reduce rollback activity for in-transit transactions.
*
*
* @param rebootDBInstanceRequest
* @return Result of the RebootDBInstance operation returned by the service.
* @throws InvalidDBInstanceStateException
* The specified DB instance is not in the available state.
* @throws DBInstanceNotFoundException
* DBInstanceIdentifier does not refer to an existing DB
* instance.
* @sample AmazonRDS.RebootDBInstance
*/
DBInstance rebootDBInstance(RebootDBInstanceRequest rebootDBInstanceRequest);
/**
*
* Removes a source identifier from an existing RDS event notification
* subscription.
*
*
* @param removeSourceIdentifierFromSubscriptionRequest
* @return Result of the RemoveSourceIdentifierFromSubscription operation
* returned by the service.
* @throws SubscriptionNotFoundException
* The subscription name does not exist.
* @throws SourceNotFoundException
* The requested source could not be found.
* @sample AmazonRDS.RemoveSourceIdentifierFromSubscription
*/
EventSubscription removeSourceIdentifierFromSubscription(
RemoveSourceIdentifierFromSubscriptionRequest removeSourceIdentifierFromSubscriptionRequest);
/**
*
* Removes metadata tags from an Amazon RDS resource.
*
*
* For an overview on tagging an Amazon RDS resource, see Tagging Amazon RDS Resources.
*
*
* @param removeTagsFromResourceRequest
* @return Result of the RemoveTagsFromResource operation returned by the
* service.
* @throws DBInstanceNotFoundException
* DBInstanceIdentifier does not refer to an existing DB
* instance.
* @throws DBSnapshotNotFoundException
* DBSnapshotIdentifier does not refer to an existing DB
* snapshot.
* @sample AmazonRDS.RemoveTagsFromResource
*/
RemoveTagsFromResourceResult removeTagsFromResource(
RemoveTagsFromResourceRequest removeTagsFromResourceRequest);
/**
*
* 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 Aurora on Amazon RDS in the Amazon RDS User Guide.
*
*
* @param resetDBClusterParameterGroupRequest
* @return Result of the ResetDBClusterParameterGroup operation returned by
* the service.
* @throws InvalidDBParameterGroupStateException
* The DB parameter group cannot be deleted because it is in use.
* @throws DBParameterGroupNotFoundException
* DBParameterGroupName does not refer to an existing DB
* parameter group.
* @sample AmazonRDS.ResetDBClusterParameterGroup
*/
ResetDBClusterParameterGroupResult resetDBClusterParameterGroup(
ResetDBClusterParameterGroupRequest resetDBClusterParameterGroupRequest);
/**
*
* Modifies the parameters of a DB parameter group to the engine/system
* default value. To reset specific parameters submit 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.
*
*
* @param resetDBParameterGroupRequest
* @return Result of the ResetDBParameterGroup operation returned by the
* service.
* @throws InvalidDBParameterGroupStateException
* The DB parameter group cannot be deleted because it is in use.
* @throws DBParameterGroupNotFoundException
* DBParameterGroupName does not refer to an existing DB
* parameter group.
* @sample AmazonRDS.ResetDBParameterGroup
*/
ResetDBParameterGroupResult resetDBParameterGroup(
ResetDBParameterGroupRequest resetDBParameterGroupRequest);
/**
*
* Creates a new DB cluster from a DB cluster snapshot. The target DB
* cluster is created from the source DB cluster restore point with the same
* configuration as the original source DB cluster, except that the new DB
* cluster is created with the default security group.
*
*
* For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.
*
*
* @param restoreDBClusterFromSnapshotRequest
* @return Result of the RestoreDBClusterFromSnapshot operation returned by
* the service.
* @throws DBClusterAlreadyExistsException
* User already has a DB cluster with the given identifier.
* @throws DBClusterQuotaExceededException
* User attempted to create a new DB cluster and the user has
* already reached the maximum allowed DB cluster quota.
* @throws StorageQuotaExceededException
* Request would result in user exceeding the allowed amount of
* storage available across all DB instances.
* @throws DBSubnetGroupNotFoundException
* DBSubnetGroupName does not refer to an existing DB subnet
* group.
* @throws DBSnapshotNotFoundException
* DBSnapshotIdentifier does not refer to an existing DB
* snapshot.
* @throws DBClusterSnapshotNotFoundException
* DBClusterSnapshotIdentifier does not refer to an existing
* DB cluster snapshot.
* @throws InsufficientDBClusterCapacityException
* The DB cluster does not have enough capacity for the current
* operation.
* @throws InsufficientStorageClusterCapacityException
* There is insufficient storage available for the current action.
* You may be able to resolve this error by updating your subnet
* group to use different Availability Zones that have more storage
* available.
* @throws InvalidDBSnapshotStateException
* The state of the DB snapshot does not allow deletion.
* @throws InvalidDBClusterSnapshotStateException
* The supplied value is not a valid DB cluster snapshot state.
* @throws StorageQuotaExceededException
* Request would result in user exceeding the allowed amount of
* storage available across all DB instances.
* @throws InvalidVPCNetworkStateException
* DB subnet group does not cover all Availability Zones after it is
* created because users' change.
* @throws InvalidRestoreException
* Cannot restore from vpc backup to non-vpc DB instance.
* @throws DBSubnetGroupNotFoundException
* DBSubnetGroupName does not refer to an existing DB subnet
* group.
* @throws InvalidSubnetException
* The requested subnet is invalid, or multiple subnets were
* requested that are not all in a common VPC.
* @throws OptionGroupNotFoundException
* The specified option group could not be found.
* @throws KMSKeyNotAccessibleException
* Error accessing KMS key.
* @sample AmazonRDS.RestoreDBClusterFromSnapshot
*/
DBCluster restoreDBClusterFromSnapshot(
RestoreDBClusterFromSnapshotRequest restoreDBClusterFromSnapshotRequest);
/**
*
* 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.
*
*
* For more information on Amazon Aurora, see Aurora on Amazon RDS in the Amazon RDS User Guide.
*
*
* @param restoreDBClusterToPointInTimeRequest
* @return Result of the RestoreDBClusterToPointInTime operation returned by
* the service.
* @throws DBClusterAlreadyExistsException
* User already has a DB cluster with the given identifier.
* @throws DBClusterQuotaExceededException
* User attempted to create a new DB cluster and the user has
* already reached the maximum allowed DB cluster quota.
* @throws StorageQuotaExceededException
* Request would result in user exceeding the allowed amount of
* storage available across all DB instances.
* @throws DBSubnetGroupNotFoundException
* DBSubnetGroupName does not refer to an existing DB subnet
* group.
* @throws DBClusterNotFoundException
* DBClusterIdentifier does not refer to an existing DB
* cluster.
* @throws DBClusterSnapshotNotFoundException
* DBClusterSnapshotIdentifier does not refer to an existing
* DB cluster snapshot.
* @throws InsufficientDBClusterCapacityException
* The DB cluster does not have enough capacity for the current
* operation.
* @throws InvalidDBSnapshotStateException
* The state of the DB snapshot does not allow deletion.
* @throws InvalidDBClusterSnapshotStateException
* The supplied value is not a valid DB cluster snapshot state.
* @throws StorageQuotaExceededException
* Request would result in user exceeding the allowed amount of
* storage available across all DB instances.
* @throws InvalidVPCNetworkStateException
* DB subnet group does not cover all Availability Zones after it is
* created because users' change.
* @throws InvalidRestoreException
* Cannot restore from vpc backup to non-vpc DB instance.
* @throws DBSubnetGroupNotFoundException
* DBSubnetGroupName does not refer to an existing DB subnet
* group.
* @throws InvalidSubnetException
* The requested subnet is invalid, or multiple subnets were
* requested that are not all in a common VPC.
* @throws OptionGroupNotFoundException
* The specified option group could not be found.
* @throws KMSKeyNotAccessibleException
* Error accessing KMS key.
* @sample AmazonRDS.RestoreDBClusterToPointInTime
*/
DBCluster restoreDBClusterToPointInTime(
RestoreDBClusterToPointInTimeRequest restoreDBClusterToPointInTimeRequest);
/**
*
* 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 does not 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.
*
*
* @param restoreDBInstanceFromDBSnapshotRequest
* @return Result of the RestoreDBInstanceFromDBSnapshot operation returned
* by the service.
* @throws DBInstanceAlreadyExistsException
* User already has a DB instance with the given identifier.
* @throws DBSnapshotNotFoundException
* DBSnapshotIdentifier does not refer to an existing DB
* snapshot.
* @throws InstanceQuotaExceededException
* Request would result in user exceeding the allowed number of DB
* instances.
* @throws InsufficientDBInstanceCapacityException
* Specified DB instance class is not available in the specified
* Availability Zone.
* @throws InvalidDBSnapshotStateException
* The state of the DB snapshot does not allow deletion.
* @throws StorageQuotaExceededException
* Request would result in user exceeding the allowed amount of
* storage available across all DB instances.
* @throws InvalidVPCNetworkStateException
* DB subnet group does not cover all Availability Zones after it is
* created because users' change.
* @throws InvalidRestoreException
* Cannot restore from vpc backup to non-vpc DB instance.
* @throws DBSubnetGroupNotFoundException
* DBSubnetGroupName does not refer to an existing DB subnet
* group.
* @throws DBSubnetGroupDoesNotCoverEnoughAZsException
* Subnets in the DB subnet group should cover at least two
* Availability Zones unless there is only one Availability Zone.
* @throws InvalidSubnetException
* The requested subnet is invalid, or multiple subnets were
* requested that are not all in a common VPC.
* @throws ProvisionedIopsNotAvailableInAZException
* Provisioned IOPS not available in the specified Availability
* Zone.
* @throws OptionGroupNotFoundException
* The specified option group could not be found.
* @throws StorageTypeNotSupportedException
* StorageType specified cannot be associated with the DB
* Instance.
* @throws AuthorizationNotFoundException
* Specified CIDRIP or EC2 security group is not authorized for the
* specified DB security group.
*
* RDS may not also be authorized via IAM to perform necessary
* actions on your behalf.
* @throws KMSKeyNotAccessibleException
* Error accessing KMS key.
* @throws DBSecurityGroupNotFoundException
* DBSecurityGroupName does not refer to an existing DB
* security group.
* @throws DomainNotFoundException
* Domain does not refer to an existing Active Directory
* Domain.
* @sample AmazonRDS.RestoreDBInstanceFromDBSnapshot
*/
DBInstance restoreDBInstanceFromDBSnapshot(
RestoreDBInstanceFromDBSnapshotRequest restoreDBInstanceFromDBSnapshotRequest);
/**
*
* 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.
*
*
* @param restoreDBInstanceToPointInTimeRequest
* @return Result of the RestoreDBInstanceToPointInTime operation returned
* by the service.
* @throws DBInstanceAlreadyExistsException
* User already has a DB instance with the given identifier.
* @throws DBInstanceNotFoundException
* DBInstanceIdentifier does not refer to an existing DB
* instance.
* @throws InstanceQuotaExceededException
* Request would result in user exceeding the allowed number of DB
* instances.
* @throws InsufficientDBInstanceCapacityException
* Specified DB instance class is not available in the specified
* Availability Zone.
* @throws InvalidDBInstanceStateException
* The specified DB instance is not in the available state.
* @throws PointInTimeRestoreNotEnabledException
* SourceDBInstanceIdentifier refers to a DB instance with
* BackupRetentionPeriod equal to 0.
* @throws StorageQuotaExceededException
* Request would result in user exceeding the allowed amount of
* storage available across all DB instances.
* @throws InvalidVPCNetworkStateException
* DB subnet group does not cover all Availability Zones after it is
* created because users' change.
* @throws InvalidRestoreException
* Cannot restore from vpc backup to non-vpc DB instance.
* @throws DBSubnetGroupNotFoundException
* DBSubnetGroupName does not refer to an existing DB subnet
* group.
* @throws DBSubnetGroupDoesNotCoverEnoughAZsException
* Subnets in the DB subnet group should cover at least two
* Availability Zones unless there is only one Availability Zone.
* @throws InvalidSubnetException
* The requested subnet is invalid, or multiple subnets were
* requested that are not all in a common VPC.
* @throws ProvisionedIopsNotAvailableInAZException
* Provisioned IOPS not available in the specified Availability
* Zone.
* @throws OptionGroupNotFoundException
* The specified option group could not be found.
* @throws StorageTypeNotSupportedException
* StorageType specified cannot be associated with the DB
* Instance.
* @throws AuthorizationNotFoundException
* Specified CIDRIP or EC2 security group is not authorized for the
* specified DB security group.
*
* RDS may not also be authorized via IAM to perform necessary
* actions on your behalf.
* @throws KMSKeyNotAccessibleException
* Error accessing KMS key.
* @throws DBSecurityGroupNotFoundException
* DBSecurityGroupName does not refer to an existing DB
* security group.
* @throws DomainNotFoundException
* Domain does not refer to an existing Active Directory
* Domain.
* @sample AmazonRDS.RestoreDBInstanceToPointInTime
*/
DBInstance restoreDBInstanceToPointInTime(
RestoreDBInstanceToPointInTimeRequest restoreDBInstanceToPointInTimeRequest);
/**
*
* 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).
*
*
* @param revokeDBSecurityGroupIngressRequest
* @return Result of the RevokeDBSecurityGroupIngress operation returned by
* the service.
* @throws DBSecurityGroupNotFoundException
* DBSecurityGroupName does not refer to an existing DB
* security group.
* @throws AuthorizationNotFoundException
* Specified CIDRIP or EC2 security group is not authorized for the
* specified DB security group.
*
* RDS may not also be authorized via IAM to perform necessary
* actions on your behalf.
* @throws InvalidDBSecurityGroupStateException
* The state of the DB security group does not allow deletion.
* @sample AmazonRDS.RevokeDBSecurityGroupIngress
*/
DBSecurityGroup revokeDBSecurityGroupIngress(
RevokeDBSecurityGroupIngressRequest revokeDBSecurityGroupIngressRequest);
/**
* Shuts down this client object, releasing any resources that might be held
* open. This is an optional method, and callers are not expected to call
* it, but can if they want to explicitly release any open resources. Once a
* client has been shutdown, it should not be used to make any more
* requests.
*/
void shutdown();
/**
* Returns additional metadata for a previously executed successful request,
* typically used for debugging issues where a service isn't acting as
* expected. This data isn't considered part of the result data returned by
* an operation, so it's available through this separate, diagnostic
* interface.
*
* Response metadata is only cached for a limited period of time, so if you
* need to access this extra diagnostic information for an executed request,
* you should use this method to retrieve it as soon as possible after
* executing a request.
*
* @param request
* The originally executed request.
*
* @return The response metadata for the specified request, or null if none
* is available.
*/
ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request);
}