Skip to content

rollback_application async

rollback_application(
    application_name: ApplicationName,
    current_application_version_id: ApplicationVersionId,
    *,
    config_overrides: Optional[AsyncKinesisAnalyticsV2ClientConfig] = None,
) -> RollbackApplicationResponse

Reverts the application to the previous running version. You can roll back an application if you suspect it is stuck in a transient status or in the running status.

You can roll back an application only if it is in the UPDATING, AUTOSCALING, or RUNNING statuses.

When you rollback an application, it loads state data from the last successful snapshot. If the application has no snapshots, Managed Service for Apache Flink rejects the rollback request.

Parameters:

Raises:

Source code in docs_src/capo_kinesis_analytics_v2/_services/async_kinesis_analytics_v2.py
async def rollback_application(
    self,
    application_name: "capo_kinesis_analytics_v2.types.application_name.ApplicationName",
    current_application_version_id: "capo_kinesis_analytics_v2.types.application_version_id.ApplicationVersionId",
    *,
    config_overrides: Optional[AsyncKinesisAnalyticsV2ClientConfig] = None,
) -> "capo_kinesis_analytics_v2.types.rollback_application_response.RollbackApplicationResponse":
    """<p>Reverts the application to the previous running version. You can roll back an application if you suspect it is stuck in a transient status or in the running status. </p> <p>You can roll back an application only if it is in the <code>UPDATING</code>, <code>AUTOSCALING</code>, or <code>RUNNING</code> statuses.</p> <p>When you rollback an application, it loads state data from the last successful snapshot. If the application has no snapshots, Managed Service for Apache Flink rejects the rollback request.</p>

    Args:
        application_name: <p>The name of the application.</p>
        current_application_version_id: <p>The current application version ID. You can retrieve the application version ID using <a>DescribeApplication</a>.</p>

    Raises:
        capo_kinesis_analytics_v2.errors.concurrent_modification_exception.ConcurrentModificationException: <p>Exception thrown as a result of concurrent modifications to an application. This error can be the result of attempting to modify an application without using the current application ID.</p>
        capo_kinesis_analytics_v2.errors.invalid_argument_exception.InvalidArgumentException: <p>The specified input parameter value is not valid.</p>
        capo_kinesis_analytics_v2.errors.invalid_request_exception.InvalidRequestException: <p>The request JSON is not valid for the operation.</p>
        capo_kinesis_analytics_v2.errors.resource_in_use_exception.ResourceInUseException: <p>The application is not available for this operation.</p>
        capo_kinesis_analytics_v2.errors.resource_not_found_exception.ResourceNotFoundException: <p>Specified application can't be found.</p>
        capo_kinesis_analytics_v2.errors.unsupported_operation_exception.UnsupportedOperationException: <p>The request was rejected because a specified parameter is not supported or a specified resource is not valid for this operation. </p>
        capo_kinesis_analytics_v2.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_kinesis_analytics_v2.types.rollback_application_request.RollbackApplicationRequest]",
    ) -> AsyncOperationResponse[
        "capo_kinesis_analytics_v2.types.rollback_application_response.RollbackApplicationResponse"
    ]:
        import capo_kinesis_analytics_v2._operations.kinesis_analytics_20180523.rollback_application

        (
            output,
            http_response,
        ) = await capo_kinesis_analytics_v2._operations.kinesis_analytics_20180523.rollback_application.async_rollback_application(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("RollbackApplication")
    )
    input_: capo_kinesis_analytics_v2.types.rollback_application_request.RollbackApplicationRequest = {
        "application_name": application_name,
        "current_application_version_id": current_application_version_id,
    }

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