Skip to content

update_application async

update_application(
    application_name: ApplicationName,
    current_application_version_id: ApplicationVersionId,
    application_update: ApplicationUpdate,
    *,
    config_overrides: Optional[AsyncKinesisAnalyticsClientConfig] = None,
) -> UpdateApplicationResponse

This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see Amazon Kinesis Data Analytics API V2 Documentation.

Updates an existing Amazon Kinesis Analytics application. Using this API, you can update application code, input configuration, and output configuration.

Note that Amazon Kinesis Analytics updates the CurrentApplicationVersionId each time you update your application.

This operation requires permission for the kinesisanalytics:UpdateApplication action.

Parameters:

Raises:

Source code in docs_src/capo_kinesis_analytics/_services/async_kinesis_analytics.py
async def update_application(
    self,
    application_name: "capo_kinesis_analytics.types.application_name.ApplicationName",
    current_application_version_id: "capo_kinesis_analytics.types.application_version_id.ApplicationVersionId",
    application_update: "capo_kinesis_analytics.types.application_update.ApplicationUpdate",
    *,
    config_overrides: Optional[AsyncKinesisAnalyticsClientConfig] = None,
) -> "capo_kinesis_analytics.types.update_application_response.UpdateApplicationResponse":
    """<note> <p>This documentation is for version 1 of the Amazon Kinesis Data Analytics API, which only supports SQL applications. Version 2 of the API supports SQL and Java applications. For more information about version 2, see <a href="/kinesisanalytics/latest/apiv2/Welcome.html">Amazon Kinesis Data Analytics API V2 Documentation</a>.</p> </note> <p>Updates an existing Amazon Kinesis Analytics application. Using this API, you can update application code, input configuration, and output configuration. </p> <p>Note that Amazon Kinesis Analytics updates the <code>CurrentApplicationVersionId</code> each time you update your application. </p> <p>This operation requires permission for the <code>kinesisanalytics:UpdateApplication</code> action.</p>

    Args:
        application_name: <p>Name of the Amazon Kinesis Analytics application to update.</p>
        current_application_version_id: <p>The current application version ID. You can use the <a href="https://docs.aws.amazon.com/kinesisanalytics/latest/dev/API_DescribeApplication.html">DescribeApplication</a> operation to get this value.</p>
        application_update: <p>Describes application updates.</p>

    Raises:
        capo_kinesis_analytics.errors.code_validation_exception.CodeValidationException: <p>User-provided application code (query) is invalid. This can be a simple syntax error.</p>
        capo_kinesis_analytics.errors.concurrent_modification_exception.ConcurrentModificationException: <p>Exception thrown as a result of concurrent modification to an application. For example, two individuals attempting to edit the same application at the same time.</p>
        capo_kinesis_analytics.errors.invalid_argument_exception.InvalidArgumentException: <p>Specified input parameter value is invalid.</p>
        capo_kinesis_analytics.errors.resource_in_use_exception.ResourceInUseException: <p>Application is not available for this operation.</p>
        capo_kinesis_analytics.errors.resource_not_found_exception.ResourceNotFoundException: <p>Specified application can't be found.</p>
        capo_kinesis_analytics.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.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_kinesis_analytics.types.update_application_request.UpdateApplicationRequest]",
    ) -> AsyncOperationResponse[
        "capo_kinesis_analytics.types.update_application_response.UpdateApplicationResponse"
    ]:
        import capo_kinesis_analytics._operations.kinesis_analytics_20150814.update_application

        (
            output,
            http_response,
        ) = await capo_kinesis_analytics._operations.kinesis_analytics_20150814.update_application.async_update_application(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("UpdateApplication")
    )
    input_: capo_kinesis_analytics.types.update_application_request.UpdateApplicationRequest = {
        "application_name": application_name,
        "current_application_version_id": current_application_version_id,
        "application_update": application_update,
    }

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