RDS / Client / modify_db_capacity_reservation

modify_db_capacity_reservation

RDS.Client.modify_db_capacity_reservation(**kwargs)

Modifies a DB capacity reservation. You can change the reserved capacity in each Availability Zone of the reservation, and you can change the end date of the reservation. You can’t change the Availability Zones of an existing reservation.

The reservation must be in the active state. A future-dated reservation that hasn’t started isn’t modifiable, and neither is a reservation that Amazon RDS is already modifying.

You must specify CapacityPerAvailabilityZone, EndDateType, or EndDate. A request that specifies none of the three changes nothing, and Amazon RDS rejects it.

See also: AWS API Documentation

Request Syntax

response = client.modify_db_capacity_reservation(
    DBCapacityReservationIdentifier='string',
    CapacityPerAvailabilityZone=123,
    EndDateType='unlimited'|'limited',
    EndDate=datetime(2015, 1, 1)
)
Parameters:
  • DBCapacityReservationIdentifier (string) –

    [REQUIRED]

    The identifier or the name of the DB capacity reservation to modify. You can specify the identifier, which has the prefix dbcr-, or the reservation name.

  • CapacityPerAvailabilityZone (integer) –

    The new number of DB instances to reserve in each Availability Zone of the reservation. Amazon RDS applies this number to every Availability Zone of the reservation.

    An increase reserves more capacity at the time of the request, so it can fail when the Amazon Web Services Region has insufficient capacity.

    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. Amazon RDS checks the quota only when you increase the value.

    Constraints:

    • Minimum 1.

    • Can’t be less than the highest number of DB instances that use the reservation in any single Availability Zone of the reservation. That number includes a DB instance that holds a unit of reserved capacity for a pending modification. To find that number for an Availability Zone, subtract AvailableCapacity from ReservedCapacityPerAvailabilityZone.

    • During a capacity commitment, can’t be less than CommittedCapacityPerAvailabilityZone.

  • EndDateType (string) –

    The end date type for the reservation.

    Valid Values:

    • limited - The reservation has a specific end date. You must also specify EndDate.

    • unlimited - The reservation doesn’t expire. Don’t specify EndDate.

  • EndDate (datetime) –

    The new end date for the reservation, in Universal Coordinated Time (UTC). Required when EndDateType is limited. Don’t specify a value when EndDateType is unlimited.

    When you specify EndDate, you must also specify EndDateType.

    Constraints:

    • Must be a date and time in the future.

    • During a capacity commitment, must be at or after CommitmentEndDate.

Return type:

dict

Returns:

Response Syntax

{
    'DBCapacityReservation': {
        'DBCapacityReservationName': 'string',
        'DBInstanceClass': 'string',
        'Engine': 'string',
        'LicenseModel': 'string',
        'ReservedCapacityPerAvailabilityZone': 123,
        'AvailableCapacityPerAvailabilityZoneList': [
            {
                'AvailabilityZone': 'string',
                'AvailableCapacity': 123
            },
        ],
        'EndDate': datetime(2015, 1, 1),
        'CreateDate': datetime(2015, 1, 1),
        'StartDate': datetime(2015, 1, 1),
        'CommitmentInfo': {
            'CommittedCapacityPerAvailabilityZone': 123,
            'CommitmentEndDate': datetime(2015, 1, 1)
        },
        'State': 'active'|'expired'|'cancelled'|'pending'|'failed'|'assessing'|'scheduled'|'delayed'|'unsupported',
        'DBCapacityReservationArn': 'string',
        'DBCapacityReservationIdentifier': 'string',
        'TagList': [
            {
                'Key': 'string',
                'Value': 'string'
            },
        ]
    }
}

Response Structure

  • (dict) –

    • DBCapacityReservation (dict) –

      Contains the details of the modified DB capacity reservation.

      • DBCapacityReservationName (string) –

        The name that you specified for the DB capacity reservation.

      • 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.

      • 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-license

        For 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 the CapacityPerAvailabilityZone parameter 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 active state and not past its end date. Otherwise, each entry reports an available capacity of 0. A future-dated reservation that hasn’t started reports 0, and a reservation that Amazon RDS is modifying reports 0.

        A reservation reports the pending state while Amazon RDS modifies it. Therefore, a reservation in the active state that reports no available capacity has no unused capacity.

        • (dict) –

          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:

          • CancelDBCapacityReservation

          • CreateDBCapacityReservation

          • DescribeDBCapacityReservations

          • ModifyDBCapacityReservation

          • AvailabilityZone (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 PendingModifiedValues in the response of DescribeDBInstances.

            Amazon RDS reports available capacity only for a reservation that is in the active state and not past its end date. Otherwise, this value is 0.

      • EndDate (datetime) –

        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 (datetime) –

        The date and time when the reservation was created, in Universal Coordinated Time (UTC).

      • StartDate (datetime) –

        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 (dict) –

        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 (datetime) –

          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 than StartDate plus CommitmentDuration.

      • State (string) –

        The current state of the DB capacity reservation. A DB instance can use the reservation in the active state 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, and unsupported apply to a future-dated reservation only.

      • DBCapacityReservationArn (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.

      • TagList (list) –

        The tags associated with the DB capacity reservation.

        • (dict) –

          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 with aws: or rds:. 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 with aws: or rds:. The string can only contain only the set of Unicode letters, digits, white-space, ‘_’, ‘.’, ‘:’, ‘/’, ‘=’, ‘+’, ‘-’, ‘@’ (Java regex: “^([\p{L}\p{Z}\p{N}_.:/=+\-@]*)$”).

Exceptions

  • RDS.Client.exceptions.InvalidDBCapacityReservationStateFault

  • RDS.Client.exceptions.DBCapacityReservationNotFoundFault

  • RDS.Client.exceptions.InstanceQuotaExceededFault

  • RDS.Client.exceptions.InsufficientDBInstanceCapacityFault