modify_db_instance ( $db_instance_identifier, $opt )

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.

Access

public

Parameters

Parameter

Type

Required

Description

$db_instance_identifier

string

Required

The DB Instance identifier. This value is stored as a lowercase string. Constraints:

  • Must be the identifier for an existing DB Instance
  • Must contain from 1 to 63 alphanumeric characters or hyphens
  • First character must be a letter
  • Cannot end with a hyphen or contain two consecutive hyphens

$opt

array

Optional

An associative array of parameters that can have the following keys:

  • AllocatedStorage - integer - Optional - The new storage capacity of the RDS instance. Changing this parameter does not result in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request. MySQL Default: Uses existing setting Valid Values: 5-1024 Constraints: Value supplied must be at least 10% greater than the current value. Values that are not at least 10% greater than the existing value are rounded up so that they are 10% greater than the current value. Type: Integer Oracle Default: Uses existing setting Valid Values: 10-1024 Constraints: Value supplied must be at least 10% greater than the current value. Values that are not at least 10% greater than the existing value are rounded up so that they are 10% greater than the current value. SQL Server Cannot be modified.
  • DBInstanceClass - string - Optional - The new compute and memory capacity of the DB Instance. To determine the instance classes that are available for a particular DB engine, use the DescribeOrderableDBInstanceOptions action. Passing a value for this parameter causes an outage during the change and is applied during the next maintenance window, unless the ApplyImmediately parameter is specified as true for this request. Default: Uses existing setting Valid Values: db.t1.micro | db.m1.small | db.m1.medium | db.m1.large | db.m1.xlarge | db.m2.xlarge | db.m2.2xlarge | db.m2.4xlarge
  • DBSecurityGroups - string|array - Optional - A list of DB Security Groups to authorize on this DB Instance. Changing this parameter does not result in an outage and the change is asynchronously applied as soon as possible. Constraints:
    • Must be 1 to 255 alphanumeric characters
    • First character must be a letter
    • Cannot end with a hyphen or contain two consecutive hyphens
    Pass a string for a single value, or an indexed array for multiple values.
  • VpcSecurityGroupIds - string|array - Optional - A list of EC2 VPC Security Groups to authorize on this DB Instance. This change is asynchronously applied as soon as possible. Constraints:
    • Must be 1 to 255 alphanumeric characters
    • First character must be a letter
    • Cannot end with a hyphen or contain two consecutive hyphens
    Pass a string for a single value, or an indexed array for multiple values.
  • ApplyImmediately - boolean - Optional - Specifies whether or not the modifications in this request and any pending modifications are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow setting for the DB Instance. If this parameter is passed as false, changes to the DB Instance are applied on the next call to RebootDBInstance, the next maintenance reboot, or the next failure reboot, whichever occurs first. See each parameter to determine when a change is applied. Default: false
  • MasterUserPassword - string - Optional - The new password for the DB Instance master user. Can be any printable ASCII character except “/”, “", or “@”. Changing this parameter does not result in an outage and the change is asynchronously applied as soon as possible. Between the time of the request and the completion of the request, the MasterUserPassword element exists in the PendingModifiedValues element of the operation response. Default: Uses existing setting Constraints: Must be 8 to 41 alphanumeric characters (MySQL), 8 to 30 alphanumeric characters (Oracle), or 8 to 128 alphanumeric characters (SQL Server).

    Amazon RDS API actions never return the password, so this action provides a way to regain access to a master instance user if the password is lost.

  • DBParameterGroupName - string - Optional - The name of the DB Parameter Group to apply to this DB Instance. Changing this parameter does not result in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request. Default: Uses existing setting Constraints: The DB Parameter Group must be in the same DB Parameter Group family as this DB Instance.
  • BackupRetentionPeriod - integer - Optional - The number of days to retain automated backups. Setting this parameter to a positive number enables backups. Setting this parameter to 0 disables automated backups. Changing this parameter can result in an outage if you change from 0 to a non-zero value or from a non-zero value to 0. These changes are applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request. If you change the parameter from one non-zero value to another non-zero value, the change is asynchronously applied as soon as possible. Default: Uses existing setting Constraints:
    • Must be a value from 0 to 8
    • Cannot be set to 0 if the DB Instance is a master instance with read replicas or if the DB Instance is a read replica
  • PreferredBackupWindow - string - Optional - The daily time range during which automated backups are created if automated backups are enabled, as determined by the BackupRetentionPeriod. Changing this parameter does not result in an outage and the change is asynchronously applied as soon as possible. Constraints:
    • Must be in the format hh24:mi-hh24:mi
    • Times should be Universal Time Coordinated (UTC)
    • Must not conflict with the preferred maintenance window
    • Must be at least 30 minutes
  • PreferredMaintenanceWindow - string - Optional - The weekly time range (in UTC) during which system maintenance can occur, which may result in an outage. Changing this parameter does not result in an outage, except in the following situation, and the change is asynchronously applied as soon as possible. If there are pending actions that cause a reboot, and the maintenance window is changed to include the current time, then changing this parameter will cause a reboot of the DB Instance. If moving this window to the current time, there must be at least 30 minutes between the current time and end of the window to ensure pending changes are applied. Default: Uses existing setting Format: ddd:hh24:mi-ddd:hh24:mi Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun Constraints: Must be at least 30 minutes
  • MultiAZ - boolean - Optional - Specifies if the DB Instance is a Multi-AZ deployment. Changing this parameter does not result in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request. Constraints: Cannot be specified if the DB Instance is a read replica.
  • EngineVersion - string - Optional - The version number of the database engine to upgrade to. Changing this parameter results in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request. For major version upgrades, if a nondefault DB Parameter Group is currently in use, a new DB Parameter Group in the DB Parameter Group Family for the new engine version must be specified. The new DB Parameter Group can be the default for that DB Parameter Group Family. Example: 5.1.42
  • AllowMajorVersionUpgrade - boolean - Optional - Indicates that major version upgrades are allowed. Changing this parameter does not result in an outage and the change is asynchronously applied as soon as possible. Constraints: This parameter must be set to true when specifying a value for the EngineVersion parameter that is a different major version than the DB Instance’s current version.
  • AutoMinorVersionUpgrade - boolean - Optional - Indicates that minor version upgrades will be applied automatically to the DB Instance during the maintenance window. Changing this parameter does not result in an outage except in the following case and the change is asynchronously applied as soon as possible. An outage will result if this parameter is set to true during the maintenance window, and a newer minor version is available, and RDS has enabled auto patching for that engine version.
  • Iops - integer - Optional - The new Provisioned IOPS (I/O operations per second) value for the RDS instance. Changing this parameter does not result in an outage and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request. Default: Uses existing setting Constraints: Value supplied must be at least 10% greater than the current value. Values that are not at least 10% greater than the existing value are rounded up so that they are 10% greater than the current value. Type: Integer
  • OptionGroupName - string - Optional - Indicates that the DB Instance should be associated with the specified option group. Changing this parameter does not result in an outage except in the following case and the change is applied during the next maintenance window unless the ApplyImmediately parameter is set to true for this request. If the parameter change results in an option group that enables OEM, this change can cause a brief (sub-second) period during which new connections are rejected but existing connections are not interrupted.
  • NewDBInstanceIdentifier - string - Optional - The new DB Instance identifier for the DB Instance when renaming a DB Instance. This value is stored as a lowercase string. Constraints:
    • Must contain from 1 to 63 alphanumeric characters or hyphens
    • First character must be a letter
    • Cannot end with a hyphen or contain two consecutive hyphens
  • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
  • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.

Returns

Type

Description

CFResponse

A CFResponse object containing a parsed HTTP response.

Examples

Modify database instance.

// Instantiate the class
$rds = new AmazonRDS();

$response = $rds->modify_db_instance('myInstance', array(
	'AllocatedStorage' => 10,
	'DBSecurityGroups' => 'default',
	'ApplyImmediately' => 'true',
	'DBParameterGroupName' => 'myParamGroup',
	'MultiAZ' => true,
	'AllowMajorVersionUpgrade' => true,
	'AutoMinorVersionUpgrade' => true,
));

// Success?
var_dump($response->isOK());

Related Methods

Source

Method defined in services/rds.class.php | Toggle source view (25 lines) | View on GitHub

public function modify_db_instance($db_instance_identifier, $opt = null)
{
    if (!$opt) $opt = array();
    $opt['DBInstanceIdentifier'] = $db_instance_identifier;
    
    // Optional list (non-map)
    if (isset($opt['DBSecurityGroups']))
    {
        $opt = array_merge($opt, CFComplexType::map(array(
            'DBSecurityGroups' => (is_array($opt['DBSecurityGroups']) ? $opt['DBSecurityGroups'] : array($opt['DBSecurityGroups']))
        ), 'member'));
        unset($opt['DBSecurityGroups']);
    }
    
    // Optional list (non-map)
    if (isset($opt['VpcSecurityGroupIds']))
    {
        $opt = array_merge($opt, CFComplexType::map(array(
            'VpcSecurityGroupIds' => (is_array($opt['VpcSecurityGroupIds']) ? $opt['VpcSecurityGroupIds'] : array($opt['VpcSecurityGroupIds']))
        ), 'member'));
        unset($opt['VpcSecurityGroupIds']);
    }

    return $this->authenticate('ModifyDBInstance', $opt);
}

Copyright © 2010–2013 Amazon Web Services, LLC


Feedback