Creates a DB capacity reservation. A DB capacity reservation reserves compute and memory capacity for DB instances of one DB instance class and one database engine. Amazon RDS reserves that capacity in each Availability Zone that you specify.
Amazon RDS reserves the same amount of capacity in every Availability Zone in the request. You set that amount with CapacityPerAvailabilityZone , and you set the Availability Zones with AvailabilityZones . The total reserved capacity is CapacityPerAvailabilityZone multiplied by the number of Availability Zones.
Specify StartDate and CommitmentDuration together to create a future-dated reservation. A future-dated reservation reserves capacity for a period that starts later. Amazon RDS holds that capacity for the length of the commitment.
A future-dated reservation has the following additional constraints:
DBInstanceClass must be a db.c , db.m , db.r , db.t , or db.x DB instance class. The letter after db. gives the DB instance class family. For example, db.x2g.xlarge qualifies, and db.z1d.xlarge doesn’t.DBInstanceClass is a db.m or db.r DB instance class, it must be from generation 7 or later. The digit after the family letter gives the generation. For example, db.m7g.xlarge qualifies, and db.m5.xlarge doesn’t. A db.c , db.t , or db.x DB instance class has no generation requirement.CapacityPerAvailabilityZone by the number of vCPUs of the DB instance class. The product must be 32 or more.CommitmentDuration must be at least 14 days. For a db.x DB instance class, it must be at least 84 days.StartDate must be from 5 to 120 days in the future.Therefore, a DB instance class with 2 vCPUs needs a CapacityPerAvailabilityZone of 16 or more, a class with 4 vCPUs needs 8 or more, a class with 8 vCPUs needs 4 or more, and a class with 16 vCPUs needs 2 or more. For the number of vCPUs of each DB instance class, see DB instance classes in the Amazon RDS User Guide .
scheduled state. You can’t cancel a reservation in the active state during its capacity commitment. Therefore, you can’t cancel a future-dated reservation from the time that Amazon RDS schedules it until the commitment ends.See also: AWS API Documentation
create-db-capacity-reservation
--db-capacity-reservation-name <value>
--db-instance-class <value>
--engine <value>
--capacity-per-availability-zone <value>
--availability-zones <value>
[--end-date <value>]
[--start-date <value>]
[--commitment-duration <value>]
[--license-model <value>]
[--tags <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--debug]
[--endpoint-url <value>]
[--no-verify-ssl]
[--no-paginate]
[--output <value>]
[--query <value>]
[--profile <value>]
[--region <value>]
[--version <value>]
[--color <value>]
[--no-sign-request]
[--ca-bundle <value>]
[--cli-read-timeout <value>]
[--cli-connect-timeout <value>]
[--cli-binary-format <value>]
[--no-cli-pager]
[--cli-auto-prompt]
[--no-cli-auto-prompt]
[--cli-error-format <value>]
--db-capacity-reservation-name (string) [required]
The name of the DB capacity reservation. This name must be unique for your Amazon Web Services account in the Amazon Web Services Region.
Constraints:
- Must contain from 1 to 63 lowercase letters, digits, or hyphens.
- First character must be a lowercase letter.
- Can’t end with a hyphen or contain two consecutive hyphens.
- Can’t contain more than 16 groups of characters separated by hyphens.
- Can’t begin with
dbcr-.Constraints:
- min:
1- max:
63- pattern:
[a-z](?:-?[a-z0-9]+){0,15}
--db-instance-class (string) [required]
The compute and memory capacity to reserve, for example
db.m5.large. Not all DB instance classes are available in all Amazon Web Services Regions, or for all database engines. For the full list of DB instance classes, and availability for your engine, see DB instance classes in the Amazon RDS User Guide .Constraints:
- Must be a DB instance class that the specified
Enginesupports.- For RDS for Oracle with
LicenseModelset tolicense-included, some DB instance classes aren’t supported. Either choose a supported DB instance class, or setLicenseModeltobring-your-own-license.Constraints:
- min:
5- max:
30- pattern:
db\.[0-9a-z]{2,6}\.[0-9a-z\.]{4,20}
--engine (string) [required]
The database engine to reserve capacity for.
Valid Values:
aurora-mysql|aurora-postgresql|mysql|postgres|mariadb|oracle-ee|oracle-ee-cdb|oracle-se2|oracle-se2-cdb|sqlserver-ee|sqlserver-se|sqlserver-web|sqlserver-ex|sqlserver-dev-ee|sqlserver-dev-se|db2-ae|db2-ce|db2-seNote
The Developer Edition enginessqlserver-dev-eeandsqlserver-dev-sesupport no Multi-AZ DB instance and no read replica. Therefore, a reservation for either engine serves Single-AZ DB instances only.
--capacity-per-availability-zone (integer) [required]
The number of DB instances to reserve in each Availability Zone that you list in
AvailabilityZones. Amazon RDS reserves this number of DB instances in every listed Availability Zone.A Single-AZ DB instance uses one unit of reserved capacity, in one Availability Zone. A Multi-AZ DB instance is one DB instance, and it uses one unit of reserved capacity in each of two Availability Zones. Therefore, a Multi-AZ DB instance uses two units in total. A read replica uses one unit of reserved capacity, in the same way as any other DB instance.
Amazon RDS reserves capacity in each Availability Zone separately. Reserved capacity in one Availability Zone can’t serve a DB instance in another Availability Zone. A request for a DB instance fails when the Availability Zone of the DB instance has no available capacity.
Therefore, set this value to the number of DB instances that you want to run at the same time in one Availability Zone. Don’t set it to the number that you want in total.
This value multiplied by the number of Availability Zones counts against the DB instances quota for your Amazon Web Services account in the Amazon Web Services Region. Your existing DB instances, and the unused capacity of your other reservations, count against the same quota.
To find the value of the DB instances quota, see Quotas and constraints for Amazon RDS in the Amazon RDS User Guide .
Constraints:
- Minimum 1.
--availability-zones (list) [required]
A list of Availability Zones for the reservation.
You can’t change the Availability Zones of a reservation after you create it. Reserved capacity in an Availability Zone that no DB instance uses stays unused.
Constraints:
- Must specify one or more Availability Zones.
- Each Availability Zone can appear only once.
- Each Availability Zone must be in the Amazon Web Services Region of the request.
- Each Availability Zone must have capacity for the requested DB instance class.
- Must include two or more Availability Zones to use the reservation for a Multi-AZ DB instance.
- A DB instance can use reserved capacity only in an Availability Zone that its DB subnet group covers.
Example:
us-east-1a(string)
Syntax:
"string" "string" ...
--end-date (timestamp)
The date and time when the reservation expires, in Universal Coordinated Time (UTC). If you don’t specify a value, the reservation doesn’t expire.
To change the expiration of an existing reservation, use
ModifyDBCapacityReservation. That operation takesEndDateTypealong withEndDate.Constraints:
- Must be a date and time in the future.
- For a future-dated reservation, must be at or after
StartDateplusCommitmentDuration. For example, a reservation that starts on 2026-12-01 with a 30-day commitment can’t expire before 2026-12-31. To reserve capacity for one calendar month, setCommitmentDurationto 30 days or fewer, not to the length of the month.Example:
2026-12-31T23:59:59Z
--start-date (timestamp)
The date and time when the reservation starts, in Universal Coordinated Time (UTC). Specify this parameter to create a future-dated reservation. If you don’t specify a value, the reservation starts immediately.
A reservation that starts later always carries a capacity commitment. Therefore, a request that specifies
StartDatemust also meet every constraint of a future-dated reservation, including the minimum reserved capacity in each Availability Zone.Constraints:
- Must be from 5 to 120 days in the future.
- You must also specify
CommitmentDuration.Example:
2026-12-01T00:00:00Z
--commitment-duration (long)
The length of the capacity commitment that you request for a future-dated reservation, in seconds. Amazon RDS measures this length from
StartDate.Note
Amazon RDS can grant a shorter capacity commitment than you request. Therefore, readCommitmentEndDateinCommitmentInfofor the commitment that Amazon RDS granted.The commitment doesn’t end the reservation. Specify
EndDateto set an expiration date. You can’t cancel a reservation in theactivestate during the commitment.Constraints:
- Minimum 1209600, which is 14 days. For a
db.xDB instance class, such asdb.x2g.xlarge, the minimum is 7257600, which is 84 days.- Must be less than 315576000, which is 10 years.
- You must also specify
StartDate.Example:
2592000
--license-model (string)
The license model to reserve capacity for. Specify this parameter only for RDS for Microsoft SQL Server Enterprise Edition, Standard Edition, and Developer Edition, for RDS for Oracle, or for RDS for Db2 Standard Edition and Advanced Edition. Amazon RDS rejects the request for any other engine. This includes Amazon Aurora, the Web and Express editions of RDS for Microsoft SQL Server, and RDS for Db2 Community Edition.
Valid Values:
- RDS for Microsoft SQL Server Enterprise Edition and Standard Edition -
license-included | bring-your-own-media- RDS for Microsoft SQL Server Developer Edition -
bring-your-own-license- RDS for Oracle -
bring-your-own-license | license-included- RDS for Db2 Standard Edition and Advanced Edition -
bring-your-own-license | marketplace-licenseA DB instance launches into the reservation only when the license model of the DB instance matches the license model of the reservation. For a reservation that holds no license model, Amazon RDS applies no license model check at launch.
For RDS for Microsoft SQL Server Enterprise Edition and Standard Edition, if you don’t specify a value, Amazon RDS uses
license-included.For RDS for Microsoft SQL Server Developer Edition, if you don’t specify a value, Amazon RDS uses
bring-your-own-license. That is the only license model that these engines accept, and Amazon RDS rejects any other value.For RDS for Oracle, if you don’t specify a value, Amazon RDS uses the only orderable license model for the DB instance class. If more than one license model is orderable, you must specify one.
For RDS for Db2 Standard Edition and Advanced Edition, if you don’t specify a value, Amazon RDS uses
bring-your-own-license. To reserve capacity for Db2 DB instances that you license through Amazon Web Services Marketplace, specifymarketplace-license.Note
For RDS for Oracle, the license models that you can reserve depend on the engine and the DB instance class. RDS for Oracle Enterprise Edition doesn’t supportlicense-included.
--tags (list)
Tags to assign to the DB capacity reservation.
(structure)
Metadata assigned to an Amazon RDS resource consisting of a key-value pair.
For more information, see Tagging Amazon RDS resources in the Amazon RDS User Guide or Tagging Amazon Aurora and Amazon RDS resources in the Amazon Aurora User Guide .
Key -> (string)
A key is the required name of the tag. The string value can be from 1 to 128 Unicode characters in length and can’t be prefixed withaws:orrds:. The string can only contain only the set of Unicode letters, digits, white-space, ‘_’, ‘.’, ‘:’, ‘/’, ‘=’, ‘+’, ‘-’, ‘@’ (Java regex: “^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$”).Value -> (string)
A value is the optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and can’t be prefixed withaws:orrds:. The string can only contain only the set of Unicode letters, digits, white-space, ‘_’, ‘.’, ‘:’, ‘/’, ‘=’, ‘+’, ‘-’, ‘@’ (Java regex: “^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$”).
Shorthand Syntax:
Key=string,Value=string ...
JSON Syntax:
[
{
"Key": "string",
"Value": "string"
}
...
]
--cli-input-json | --cli-input-yaml (string)
Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml.
--generate-cli-skeleton (string)
Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. Similarly, if provided yaml-input it will print a sample input YAML that can be used with --cli-input-yaml. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command. The generated JSON skeleton is not stable between versions of the AWS CLI and there are no backwards compatibility guarantees in the JSON skeleton generated.
--debug (boolean)
Turn on debug logging.
--endpoint-url (string)
Override command’s default URL with the given URL.
--no-verify-ssl (boolean)
By default, the AWS CLI uses SSL when communicating with AWS services. For each SSL connection, the AWS CLI will verify SSL certificates. This option overrides the default behavior of verifying SSL certificates.
--no-paginate (boolean)
Disable automatic pagination. If automatic pagination is disabled, the AWS CLI will only make one call, for the first page of results.
--output (string)
The formatting style for command output.
--query (string)
A JMESPath query to use in filtering the response data.
--profile (string)
Use a specific profile from your credential file.
--region (string)
The region to use. Overrides config/env settings.
--version (string)
Display the version of this tool.
--color (string)
Turn on/off color output.
--no-sign-request (boolean)
Do not sign requests. Credentials will not be loaded if this argument is provided.
--ca-bundle (string)
The CA certificate bundle to use when verifying SSL certificates. Overrides config/env settings.
--cli-read-timeout (int)
The maximum socket read time in seconds. If the value is set to 0, the socket read will be blocking and not timeout. The default value is 60 seconds.
--cli-connect-timeout (int)
The maximum socket connect time in seconds. If the value is set to 0, the socket connect will be blocking and not timeout. The default value is 60 seconds.
--cli-binary-format (string)
The formatting style to be used for binary blobs. The default format is base64. The base64 format expects binary blobs to be provided as a base64 encoded string. The raw-in-base64-out format preserves compatibility with AWS CLI V1 behavior and binary values must be passed literally. When providing contents from a file that map to a binary blob fileb:// will always be treated as binary and use the file contents directly regardless of the cli-binary-format setting. When using file:// the file contents will need to properly formatted for the configured cli-binary-format.
--no-cli-pager (boolean)
Disable cli pager for output.
--cli-auto-prompt (boolean)
Automatically prompt for CLI input parameters.
--no-cli-auto-prompt (boolean)
Disable automatically prompt for CLI input parameters.
--cli-error-format (string)
The formatting style for error output. By default, errors are displayed in enhanced format.
DBCapacityReservation -> (structure)
Contains the details of the newly created DB capacity reservation.
DBCapacityReservationName -> (string)
The name that you specified for the DB capacity reservation.
Constraints:
- min:
1- max:
63- pattern:
[a-z](?:-?[a-z0-9]+){0,15}DBInstanceClass -> (string)
The DB instance class for the reserved capacity. You specify this value when you create the reservation, and you can’t change it afterward.
Constraints:
- min:
5- max:
30- pattern:
db\.[0-9a-z]{2,6}\.[0-9a-z\.]{4,20}Engine -> (string)
The database engine for the reserved capacity. You specify this value when you create the reservation, and you can’t change it afterward.LicenseModel -> (string)
The license model for the reserved capacity. Amazon RDS returns this value only for a reservation that reserves capacity for a specific license model. Amazon RDS doesn’t return this value for a reservation whose database engine doesn’t support a license model.
A DB instance launches into the reservation only when the license model of the DB instance matches this value. For a reservation that holds no license model, Amazon RDS applies no license model check at launch.
Valid Values:
- RDS for Microsoft SQL Server Enterprise Edition and Standard Edition -
license-included | bring-your-own-media- RDS for Microsoft SQL Server Developer Edition -
bring-your-own-license- RDS for Oracle -
bring-your-own-license | license-included- RDS for Db2 Standard Edition and Advanced Edition -
bring-your-own-license | marketplace-licenseFor RDS for Db2 Standard Edition and Advanced Edition, a reservation created without a license model holds
bring-your-own-license.ReservedCapacityPerAvailabilityZone -> (integer)
The number of DB instances that Amazon RDS reserves in each Availability Zone of the reservation. This value matches theCapacityPerAvailabilityZoneparameter of the request. The total reserved capacity is this value multiplied by the number of Availability Zones of the reservation.AvailableCapacityPerAvailabilityZoneList -> (list)
The unused capacity of the reservation, reported for each Availability Zone of the reservation. Each entry names one Availability Zone, and it reports the number of DB instances that remain available in that Availability Zone.
Amazon RDS reports available capacity only for a reservation that is in the
activestate and not past its end date. Otherwise, each entry reports an available capacity of0. A future-dated reservation that hasn’t started reports0, and a reservation that Amazon RDS is modifying reports0.A reservation reports the
pendingstate while Amazon RDS modifies it. Therefore, a reservation in theactivestate that reports no available capacity has no unused capacity.(structure)
Contains the unused capacity of a DB capacity reservation in one Availability Zone.
This data type is used as a response element in the following operations:
CancelDBCapacityReservationCreateDBCapacityReservationDescribeDBCapacityReservationsModifyDBCapacityReservationAvailabilityZone -> (string)
The name of the Availability Zone.AvailableCapacity -> (integer)
The number of DB instances that remain available in this Availability Zone. Amazon RDS decreases this value when a DB instance takes a unit of reserved capacity in this Availability Zone, and it increases this value when a DB instance releases that unit.
A DB instance with a pending modification also holds a unit of reserved capacity. A DB instance has a pending modification when Amazon RDS accepts a change to the DB instance and applies that change later, during the maintenance window. Amazon RDS holds the unit from the time that it accepts the request. To find a DB instance with a pending modification, check
PendingModifiedValuesin the response ofDescribeDBInstances.Amazon RDS reports available capacity only for a reservation that is in the
activestate and not past its end date. Otherwise, this value is0.EndDate -> (timestamp)
The date and time when the reservation expires, in Universal Coordinated Time (UTC). Amazon RDS doesn’t return this value if the reservation doesn’t expire.
Warning
A DB instance that uses the reservation keeps running after the reservation expires. It continues on unreserved capacity, and Amazon RDS doesn’t stop it or modify it. However, Amazon RDS no longer reserves capacity for the DB instance. Amazon RDS might later move the DB instance to different hardware, for example during hardware maintenance. That move can fail when the Amazon Web Services Region has insufficient capacity for the DB instance class.CreateDate -> (timestamp)
The date and time when the reservation was created, in Universal Coordinated Time (UTC).StartDate -> (timestamp)
The date and time when a future-dated reservation starts, in Universal Coordinated Time (UTC). Amazon RDS doesn’t return this value for a reservation that started immediately.CommitmentInfo -> (structure)
The capacity commitment of the reservation. Amazon RDS returns this object only for a future-dated reservation.
CommittedCapacityPerAvailabilityZone -> (integer)
The number of DB instances that Amazon RDS holds in each Availability Zone of the reservation for the length of the commitment.CommitmentEndDate -> (timestamp)
The date and time when the commitment ends, in Universal Coordinated Time (UTC). This date reports the capacity commitment that Amazon RDS granted.
Amazon RDS can grant a shorter capacity commitment than you request in
CommitmentDuration. Therefore, this date can fall earlier thanStartDateplusCommitmentDuration.State -> (string)
The current state of the DB capacity reservation. A DB instance can use the reservation in the
activestate only.Valid Values:
active- Amazon RDS holds the reserved capacity, and a DB instance can use it.pending- The reservation isn’t ready to use yet. Amazon RDS is creating the reserved capacity, or it is applying a requested modification.assessing- Amazon RDS is evaluating the request for a future-dated reservation.scheduled- Amazon RDS accepted a future-dated reservation, and the reservation is waiting for its start date.delayed- Amazon RDS couldn’t provide the reserved capacity of a future-dated reservation by its start date.unsupported- Amazon RDS can’t fulfill the future-dated reservation as requested.expired- The reservation passed its end date. Amazon RDS releases the reserved capacity.cancelled- You cancelled the reservation, and Amazon RDS released the reserved capacity.failed- Amazon RDS couldn’t reserve the capacity.The values
assessing,scheduled,delayed, andunsupportedapply to a future-dated reservation only.Possible values:
activeexpiredcancelledpendingfailedassessingscheduleddelayedunsupportedDBCapacityReservationArn -> (string)
The Amazon Resource Name (ARN) of the DB capacity reservation.DBCapacityReservationIdentifier -> (string)
The unique identifier of the DB capacity reservation. The identifier has the prefix
dbcr-. Every other DB capacity reservation operation takes this identifier.Constraints:
- min:
1- max:
63- pattern:
[a-z](?:-?[a-z0-9]+){0,15}TagList -> (list)
The tags associated with the DB capacity reservation.
(structure)
Metadata assigned to an Amazon RDS resource consisting of a key-value pair.
For more information, see Tagging Amazon RDS resources in the Amazon RDS User Guide or Tagging Amazon Aurora and Amazon RDS resources in the Amazon Aurora User Guide .
Key -> (string)
A key is the required name of the tag. The string value can be from 1 to 128 Unicode characters in length and can’t be prefixed withaws:orrds:. The string can only contain only the set of Unicode letters, digits, white-space, ‘_’, ‘.’, ‘:’, ‘/’, ‘=’, ‘+’, ‘-’, ‘@’ (Java regex: “^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$”).Value -> (string)
A value is the optional value of the tag. The string value can be from 1 to 256 Unicode characters in length and can’t be prefixed withaws:orrds:. The string can only contain only the set of Unicode letters, digits, white-space, ‘_’, ‘.’, ‘:’, ‘/’, ‘=’, ‘+’, ‘-’, ‘@’ (Java regex: “^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$”).