Skip to content

modify_cluster_db_revision async

modify_cluster_db_revision(
    *,
    config_overrides: Optional[AsyncRedshiftClientConfig] = None,
    cluster_identifier: Optional[String] = None,
    revision_target: Optional[String] = None,
) -> ModifyClusterDbRevisionResult

Modifies the database revision of a cluster. The database revision is a unique revision of the database running in a cluster.

Parameters:

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

    The unique identifier of a cluster whose database revision you want to modify.

    Example: examplecluster

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

    The identifier of the database revision. You can retrieve this value from the response to the DescribeClusterDbRevisions request.

Raises:

Source code in docs_src/capo_redshift/_services/async_redshift.py
async def modify_cluster_db_revision(
    self,
    *,
    config_overrides: Optional[AsyncRedshiftClientConfig] = None,
    cluster_identifier: Optional["capo_redshift.types.string.String"] = None,
    revision_target: Optional["capo_redshift.types.string.String"] = None,
) -> "capo_redshift.types.modify_cluster_db_revision_result.ModifyClusterDbRevisionResult":
    """<p>Modifies the database revision of a cluster. The database revision is a unique revision of the database running in a cluster.</p>

    Args:
        cluster_identifier: <p>The unique identifier of a cluster whose database revision you want to modify. </p> <p>Example: <code>examplecluster</code> </p>
        revision_target: <p>The identifier of the database revision. You can retrieve this value from the response to the <a>DescribeClusterDbRevisions</a> request.</p>

    Raises:
        capo_redshift.errors.cluster_not_found_fault.ClusterNotFoundFault: <p>The <code>ClusterIdentifier</code> parameter does not refer to an existing cluster. </p>
        capo_redshift.errors.cluster_on_latest_revision_fault.ClusterOnLatestRevisionFault: <p>Cluster is already on the latest database revision.</p>
        capo_redshift.errors.invalid_cluster_state_fault.InvalidClusterStateFault: <p>The specified cluster is not in the <code>available</code> state. </p>
        capo_redshift.errors.unsupported_operation_fault.UnsupportedOperationFault: <p>The requested operation isn't supported.</p>
        capo_redshift.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_redshift.types.modify_cluster_db_revision_message.ModifyClusterDbRevisionMessage]",
    ) -> AsyncOperationResponse[
        "capo_redshift.types.modify_cluster_db_revision_result.ModifyClusterDbRevisionResult"
    ]:
        import capo_redshift._operations.redshift_service_version20121201.modify_cluster_db_revision

        (
            output,
            http_response,
        ) = await capo_redshift._operations.redshift_service_version20121201.modify_cluster_db_revision.async_modify_cluster_db_revision(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    def _redact_output(
        output: "capo_redshift.types.modify_cluster_db_revision_result.ModifyClusterDbRevisionResult",
    ) -> dict[str, Any]:
        import capo_redshift.types.modify_cluster_db_revision_result

        return (
            capo_redshift.types.modify_cluster_db_revision_result.redact_sensitive(
                output
            )
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging("ModifyClusterDbRevision", redact_output=_redact_output),
    )
    input_: capo_redshift.types.modify_cluster_db_revision_message.ModifyClusterDbRevisionMessage = {}
    if cluster_identifier is not None:
        input_["cluster_identifier"] = cluster_identifier
    if revision_target is not None:
        input_["revision_target"] = revision_target

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output