Skip to content

modify_db_instance

modify_db_instance(
    *,
    config_overrides: Optional[DocDBClientConfig] = None,
    db_instance_identifier: Optional[String] = None,
    db_instance_class: Optional[String] = None,
    apply_immediately: Optional[Boolean] = None,
    preferred_maintenance_window: Optional[String] = None,
    auto_minor_version_upgrade: Optional[BooleanOptional] = None,
    new_db_instance_identifier: Optional[String] = None,
    ca_certificate_identifier: Optional[String] = None,
    copy_tags_to_snapshot: Optional[BooleanOptional] = None,
    promotion_tier: Optional[IntegerOptional] = None,
    enable_performance_insights: Optional[BooleanOptional] = None,
    performance_insights_kms_key_id: Optional[String] = None,
    certificate_rotation_restart: Optional[BooleanOptional] = None,
) -> ModifyDBInstanceResult

Modifies settings for an instance. You can change one or more database configuration parameters by specifying these parameters and the new values in the request.

Parameters:

  • db_instance_identifier (Optional[String], default: None ) –

    The instance identifier. This value is stored as a lowercase string.

    Constraints:

    • Must match the identifier of an existing DBInstance.

  • db_instance_class (Optional[String], default: None ) –

    The new compute and memory capacity of the instance; for example, db.r5.large. Not all instance classes are available in all Amazon Web Services Regions.

    If you modify the instance class, an outage occurs during the change. The change is applied during the next maintenance window, unless ApplyImmediately is specified as true for this request.

    Default: Uses existing setting.

  • apply_immediately (Optional[Boolean], default: None ) –

    Specifies whether the modifications in this request and any pending modifications are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow setting for the instance.

    If this parameter is set to false, changes to the instance are applied during the next maintenance window. Some parameter changes can cause an outage and are applied on the next reboot.

    Default: false

  • preferred_maintenance_window (Optional[String], default: None ) –

    The weekly time range (in UTC) during which system maintenance can occur, which might result in an outage. Changing this parameter doesn't result in an outage except in the following situation, and the change is asynchronously applied as soon as possible. If there are pending actions that cause a reboot, and the maintenance window is changed to include the current time, changing this parameter causes a reboot of the instance. If you are 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 that 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.

  • auto_minor_version_upgrade (Optional[BooleanOptional], default: None ) –

    This parameter does not apply to Amazon DocumentDB. Amazon DocumentDB does not perform minor version upgrades regardless of the value set.

  • new_db_instance_identifier (Optional[String], default: None ) –

    The new instance identifier for the instance when renaming an instance. When you change the instance identifier, an instance reboot occurs immediately if you set Apply Immediately to true. It occurs during the next maintenance window if you set Apply Immediately to false. This value is stored as a lowercase string.

    Constraints:

    • Must contain from 1 to 63 letters, numbers, or hyphens.

    • The first character must be a letter.

    • Cannot end with a hyphen or contain two consecutive hyphens.

    Example: mydbinstance

  • ca_certificate_identifier (Optional[String], default: None ) –

    Indicates the certificate that needs to be associated with the instance.

  • copy_tags_to_snapshot (Optional[BooleanOptional], default: None ) –

    A value that indicates whether to copy all tags from the DB instance to snapshots of the DB instance. By default, tags are not copied.

  • promotion_tier (Optional[IntegerOptional], default: None ) –

    A value that specifies the order in which an Amazon DocumentDB replica is promoted to the primary instance after a failure of the existing primary instance.

    Default: 1

    Valid values: 0-15

  • enable_performance_insights (Optional[BooleanOptional], default: None ) –

    A value that indicates whether to enable Performance Insights for the DB Instance. For more information, see Using Amazon Performance Insights.

  • performance_insights_kms_key_id (Optional[String], default: None ) –

    The KMS key identifier for encryption of Performance Insights data.

    The KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.

    If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon DocumentDB uses your default KMS key. There is a default KMS key for your Amazon Web Services account. Your Amazon Web Services account has a different default KMS key for each Amazon Web Services region.

  • certificate_rotation_restart (Optional[BooleanOptional], default: None ) –

    Specifies whether the DB instance is restarted when you rotate your SSL/TLS certificate.

    By default, the DB instance is restarted when you rotate your SSL/TLS certificate. The certificate is not updated until the DB instance is restarted.

    Set this parameter only if you are not using SSL/TLS to connect to the DB instance.

    If you are using SSL/TLS to connect to the DB instance, see Updating Your Amazon DocumentDB TLS Certificates and Encrypting Data in Transit in the Amazon DocumentDB Developer Guide.

Raises:

Source code in docs_src/capo_docdb/_services/doc_db.py
def modify_db_instance(
    self,
    *,
    config_overrides: Optional[DocDBClientConfig] = None,
    db_instance_identifier: Optional["capo_docdb.types.string.String"] = None,
    db_instance_class: Optional["capo_docdb.types.string.String"] = None,
    apply_immediately: Optional["capo_docdb.types.boolean.Boolean"] = None,
    preferred_maintenance_window: Optional["capo_docdb.types.string.String"] = None,
    auto_minor_version_upgrade: Optional[
        "capo_docdb.types.boolean_optional.BooleanOptional"
    ] = None,
    new_db_instance_identifier: Optional["capo_docdb.types.string.String"] = None,
    ca_certificate_identifier: Optional["capo_docdb.types.string.String"] = None,
    copy_tags_to_snapshot: Optional[
        "capo_docdb.types.boolean_optional.BooleanOptional"
    ] = None,
    promotion_tier: Optional[
        "capo_docdb.types.integer_optional.IntegerOptional"
    ] = None,
    enable_performance_insights: Optional[
        "capo_docdb.types.boolean_optional.BooleanOptional"
    ] = None,
    performance_insights_kms_key_id: Optional[
        "capo_docdb.types.string.String"
    ] = None,
    certificate_rotation_restart: Optional[
        "capo_docdb.types.boolean_optional.BooleanOptional"
    ] = None,
) -> "capo_docdb.types.modify_db_instance_result.ModifyDBInstanceResult":
    """<p>Modifies settings for an instance. You can change one or more database configuration parameters by specifying these parameters and the new values in the request.</p>

    Args:
        db_instance_identifier: <p>The instance identifier. This value is stored as a lowercase string.</p> <p>Constraints:</p> <ul> <li> <p>Must match the identifier of an existing <code>DBInstance</code>.</p> </li> </ul>
        db_instance_class: <p>The new compute and memory capacity of the instance; for example, <code>db.r5.large</code>. Not all instance classes are available in all Amazon Web Services Regions. </p> <p>If you modify the instance class, an outage occurs during the change. The change is applied during the next maintenance window, unless <code>ApplyImmediately</code> is specified as <code>true</code> for this request. </p> <p>Default: Uses existing setting.</p>
        apply_immediately: <p>Specifies whether the modifications in this request and any pending modifications are asynchronously applied as soon as possible, regardless of the <code>PreferredMaintenanceWindow</code> setting for the instance. </p> <p> If this parameter is set to <code>false</code>, changes to the instance are applied during the next maintenance window. Some parameter changes can cause an outage and are applied on the next reboot.</p> <p>Default: <code>false</code> </p>
        preferred_maintenance_window: <p>The weekly time range (in UTC) during which system maintenance can occur, which might result in an outage. Changing this parameter doesn't result in an outage except in the following situation, and the change is asynchronously applied as soon as possible. If there are pending actions that cause a reboot, and the maintenance window is changed to include the current time, changing this parameter causes a reboot of the instance. If you are 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 that pending changes are applied.</p> <p>Default: Uses existing setting.</p> <p>Format: <code>ddd:hh24:mi-ddd:hh24:mi</code> </p> <p>Valid days: Mon, Tue, Wed, Thu, Fri, Sat, Sun</p> <p>Constraints: Must be at least 30 minutes.</p>
        auto_minor_version_upgrade: <p>This parameter does not apply to Amazon DocumentDB. Amazon DocumentDB does not perform minor version upgrades regardless of the value set.</p>
        new_db_instance_identifier: <p> The new instance identifier for the instance when renaming an instance. When you change the instance identifier, an instance reboot occurs immediately if you set <code>Apply Immediately</code> to <code>true</code>. It occurs during the next maintenance window if you set <code>Apply Immediately</code> to <code>false</code>. This value is stored as a lowercase string. </p> <p>Constraints:</p> <ul> <li> <p>Must contain from 1 to 63 letters, numbers, or hyphens.</p> </li> <li> <p>The first character must be a letter.</p> </li> <li> <p>Cannot end with a hyphen or contain two consecutive hyphens.</p> </li> </ul> <p>Example: <code>mydbinstance</code> </p>
        ca_certificate_identifier: <p>Indicates the certificate that needs to be associated with the instance.</p>
        copy_tags_to_snapshot: <p>A value that indicates whether to copy all tags from the DB instance to snapshots of the DB instance. By default, tags are not copied.</p>
        promotion_tier: <p>A value that specifies the order in which an Amazon DocumentDB replica is promoted to the primary instance after a failure of the existing primary instance.</p> <p>Default: 1</p> <p>Valid values: 0-15</p>
        enable_performance_insights: <p>A value that indicates whether to enable Performance Insights for the DB Instance. For more information, see <a href="https://docs.aws.amazon.com/documentdb/latest/devguide/performance-insights.html">Using Amazon Performance Insights</a>.</p>
        performance_insights_kms_key_id: <p>The KMS key identifier for encryption of Performance Insights data.</p> <p>The KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key.</p> <p>If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon DocumentDB uses your default KMS key. There is a default KMS key for your Amazon Web Services account. Your Amazon Web Services account has a different default KMS key for each Amazon Web Services region.</p>
        certificate_rotation_restart: <p>Specifies whether the DB instance is restarted when you rotate your SSL/TLS certificate.</p> <p>By default, the DB instance is restarted when you rotate your SSL/TLS certificate. The certificate is not updated until the DB instance is restarted.</p> <important> <p>Set this parameter only if you are <i>not</i> using SSL/TLS to connect to the DB instance.</p> </important> <p>If you are using SSL/TLS to connect to the DB instance, see <a href="https://docs.aws.amazon.com/documentdb/latest/devguide/ca_cert_rotation.html">Updating Your Amazon DocumentDB TLS Certificates</a> and <a href="https://docs.aws.amazon.com/documentdb/latest/devguide/security.encryption.ssl.html"> Encrypting Data in Transit</a> in the <i>Amazon DocumentDB Developer Guide</i>.</p>

    Raises:
        capo_docdb.errors.authorization_not_found_fault.AuthorizationNotFoundFault: <p>The specified CIDR IP or Amazon EC2 security group isn't authorized for the specified security group.</p> <p>Amazon DocumentDB also might not be authorized to perform necessary actions on your behalf using IAM.</p>
        capo_docdb.errors.certificate_not_found_fault.CertificateNotFoundFault: <p> <code>CertificateIdentifier</code> doesn't refer to an existing certificate. </p>
        capo_docdb.errors.db_instance_already_exists_fault.DBInstanceAlreadyExistsFault: <p>You already have a instance with the given identifier.</p>
        capo_docdb.errors.db_instance_not_found_fault.DBInstanceNotFoundFault: <p> <code>DBInstanceIdentifier</code> doesn't refer to an existing instance. </p>
        capo_docdb.errors.db_parameter_group_not_found_fault.DBParameterGroupNotFoundFault: <p> <code>DBParameterGroupName</code> doesn't refer to an existing parameter group. </p>
        capo_docdb.errors.db_security_group_not_found_fault.DBSecurityGroupNotFoundFault: <p> <code>DBSecurityGroupName</code> doesn't refer to an existing security group. </p>
        capo_docdb.errors.db_upgrade_dependency_failure_fault.DBUpgradeDependencyFailureFault: <p>The upgrade failed because a resource that the depends on can't be modified.</p>
        capo_docdb.errors.insufficient_db_instance_capacity_fault.InsufficientDBInstanceCapacityFault: <p>The specified instance class isn't available in the specified Availability Zone.</p>
        capo_docdb.errors.invalid_db_instance_state_fault.InvalidDBInstanceStateFault: <p> The specified instance isn't in the <i>available</i> state. </p>
        capo_docdb.errors.invalid_db_security_group_state_fault.InvalidDBSecurityGroupStateFault: <p>The state of the security group doesn't allow deletion.</p>
        capo_docdb.errors.invalid_vpc_network_state_fault.InvalidVPCNetworkStateFault: <p>The subnet group doesn't cover all Availability Zones after it is created because of changes that were made.</p>
        capo_docdb.errors.storage_quota_exceeded_fault.StorageQuotaExceededFault: <p>The request would cause you to exceed the allowed amount of storage available across all instances.</p>
        capo_docdb.errors.storage_type_not_supported_fault.StorageTypeNotSupportedFault: <p>Storage of the specified <code>StorageType</code> can't be associated with the DB instance. </p>
        capo_docdb.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_docdb.types.modify_db_instance_message.ModifyDBInstanceMessage]",
    ) -> OperationResponse[
        "capo_docdb.types.modify_db_instance_result.ModifyDBInstanceResult"
    ]:
        import capo_docdb._operations.amazon_rd_sv19.modify_db_instance

        output, http_response = (
            capo_docdb._operations.amazon_rd_sv19.modify_db_instance.modify_db_instance(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("ModifyDBInstance")
    )
    input_: capo_docdb.types.modify_db_instance_message.ModifyDBInstanceMessage = {}
    if db_instance_identifier is not None:
        input_["db_instance_identifier"] = db_instance_identifier
    if db_instance_class is not None:
        input_["db_instance_class"] = db_instance_class
    if apply_immediately is not None:
        input_["apply_immediately"] = apply_immediately
    if preferred_maintenance_window is not None:
        input_["preferred_maintenance_window"] = preferred_maintenance_window
    if auto_minor_version_upgrade is not None:
        input_["auto_minor_version_upgrade"] = auto_minor_version_upgrade
    if new_db_instance_identifier is not None:
        input_["new_db_instance_identifier"] = new_db_instance_identifier
    if ca_certificate_identifier is not None:
        input_["ca_certificate_identifier"] = ca_certificate_identifier
    if copy_tags_to_snapshot is not None:
        input_["copy_tags_to_snapshot"] = copy_tags_to_snapshot
    if promotion_tier is not None:
        input_["promotion_tier"] = promotion_tier
    if enable_performance_insights is not None:
        input_["enable_performance_insights"] = enable_performance_insights
    if performance_insights_kms_key_id is not None:
        input_["performance_insights_kms_key_id"] = performance_insights_kms_key_id
    if certificate_rotation_restart is not None:
        input_["certificate_rotation_restart"] = certificate_rotation_restart

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output