Skip to content

update_workflow async

update_workflow(
    name: NameString,
    *,
    config_overrides: Optional[AsyncGlueClientConfig] = None,
    description: Optional[WorkflowDescriptionString] = None,
    default_run_properties: Optional[WorkflowRunProperties] = None,
    max_concurrent_runs: Optional[NullableInteger] = None,
) -> UpdateWorkflowResponse

Updates an existing workflow.

Parameters:

  • name (NameString) –

    Name of the workflow to be updated.

  • description (Optional[WorkflowDescriptionString], default: None ) –

    The description of the workflow.

  • default_run_properties (Optional[WorkflowRunProperties], default: None ) –

    A collection of properties to be used as part of each execution of the workflow.

    Run properties may be logged. Do not pass plaintext secrets as properties. Retrieve secrets from a Glue Connection, Amazon Web Services Secrets Manager or other secret management mechanism if you intend to use them within the workflow run.

  • max_concurrent_runs (Optional[NullableInteger], default: None ) –

    You can use this parameter to prevent unwanted multiple updates to data, to control costs, or in some cases, to prevent exceeding the maximum number of concurrent runs of any of the component jobs. If you leave this parameter blank, there is no limit to the number of concurrent workflow runs.

Raises:

Source code in docs_src/capo_glue/_services/async_glue.py
async def update_workflow(
    self,
    name: "capo_glue.types.name_string.NameString",
    *,
    config_overrides: Optional[AsyncGlueClientConfig] = None,
    description: Optional[
        "capo_glue.types.workflow_description_string.WorkflowDescriptionString"
    ] = None,
    default_run_properties: Optional[
        "capo_glue.types.workflow_run_properties.WorkflowRunProperties"
    ] = None,
    max_concurrent_runs: Optional[
        "capo_glue.types.nullable_integer.NullableInteger"
    ] = None,
) -> "capo_glue.types.update_workflow_response.UpdateWorkflowResponse":
    """<p>Updates an existing workflow.</p>

    Args:
        name: <p>Name of the workflow to be updated.</p>
        description: <p>The description of the workflow.</p>
        default_run_properties: <p>A collection of properties to be used as part of each execution of the workflow.</p> <p>Run properties may be logged. Do not pass plaintext secrets as properties. Retrieve secrets from a Glue Connection, Amazon Web Services Secrets Manager or other secret management mechanism if you intend to use them within the workflow run.</p>
        max_concurrent_runs: <p>You can use this parameter to prevent unwanted multiple updates to data, to control costs, or in some cases, to prevent exceeding the maximum number of concurrent runs of any of the component jobs. If you leave this parameter blank, there is no limit to the number of concurrent workflow runs.</p>

    Raises:
        capo_glue.errors.concurrent_modification_exception.ConcurrentModificationException: <p>Two processes are trying to modify a resource simultaneously.</p>
        capo_glue.errors.entity_not_found_exception.EntityNotFoundException: <p>A specified entity does not exist</p>
        capo_glue.errors.internal_service_exception.InternalServiceException: <p>An internal service error occurred.</p>
        capo_glue.errors.invalid_input_exception.InvalidInputException: <p>The input provided was not valid.</p>
        capo_glue.errors.operation_timeout_exception.OperationTimeoutException: <p>The operation timed out.</p>
        capo_glue.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_glue.types.update_workflow_request.UpdateWorkflowRequest]",
    ) -> AsyncOperationResponse[
        "capo_glue.types.update_workflow_response.UpdateWorkflowResponse"
    ]:
        import capo_glue._operations.aws_glue.update_workflow

        (
            output,
            http_response,
        ) = await capo_glue._operations.aws_glue.update_workflow.async_update_workflow(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("UpdateWorkflow")
    )
    input_: capo_glue.types.update_workflow_request.UpdateWorkflowRequest = {
        "name": name
    }
    if description is not None:
        input_["description"] = description
    if default_run_properties is not None:
        input_["default_run_properties"] = default_run_properties
    if max_concurrent_runs is not None:
        input_["max_concurrent_runs"] = max_concurrent_runs

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