Skip to content

list_workflow_runs

list_workflow_runs(
    workflow_arn: WorkflowArn,
    *,
    config_overrides: Optional[MWAAServerlessClientConfig] = None,
    max_results: Optional[int] = None,
    next_token: Optional[str] = None,
    workflow_version: Optional[VersionId] = None,
) -> ListWorkflowRunsResponse

Lists all runs for a specified workflow, with optional pagination and filtering support.

Parameters:

  • max_results (Optional[int], default: None ) –

    The maximum number of workflow runs to return in a single response.

  • next_token (Optional[str], default: None ) –

    The pagination token you need to use to retrieve the next set of results. This value is returned from a previous call to ListWorkflowRuns.

  • workflow_arn (WorkflowArn) –

    The Amazon Resource Name (ARN) of the workflow for which you want a list of runs.

  • workflow_version (Optional[VersionId], default: None ) –

    Optional. The specific version of the workflow for which you want a list of runs. If not specified, runs for all versions are returned.

Raises:

  • AccessDeniedException –

    You do not have sufficient permission to perform this action.

  • InternalServerException –

    An unexpected server-side error occurred during request processing.

  • OperationTimeoutException –

    The operation timed out.

  • ThrottlingException –

    The request was denied because too many requests were made in a short period, exceeding the service rate limits. Amazon Managed Workflows for Apache Airflow Serverless implements throttling controls to ensure fair resource allocation across all customers in the multi-tenant environment. This helps maintain service stability and performance. If you encounter throttling, implement exponential backoff and retry logic in your applications, or consider distributing your API calls over a longer time period.

  • ValidationException –

    The specified request parameters are invalid, missing, or inconsistent with Amazon Managed Workflows for Apache Airflow Serverless service requirements. This can occur when workflow definitions contain unsupported operators, when required IAM permissions are missing, when S3 locations are inaccessible, or when network configurations are invalid. The service validates workflow definitions, execution roles, and resource configurations to ensure compatibility with the managed Airflow environment and security requirements.

  • UnknownServiceError –

    The service returned an error code this client does not model.

Source code in docs_src/capo_mwaa_serverless/_services/mwaa_serverless.py
def list_workflow_runs(
    self,
    workflow_arn: "capo_mwaa_serverless.types.workflow_arn.WorkflowArn",
    *,
    config_overrides: Optional[MWAAServerlessClientConfig] = None,
    max_results: Optional[int] = None,
    next_token: Optional[str] = None,
    workflow_version: Optional[
        "capo_mwaa_serverless.types.version_id.VersionId"
    ] = None,
) -> "capo_mwaa_serverless.types.list_workflow_runs_response.ListWorkflowRunsResponse":
    """<p>Lists all runs for a specified workflow, with optional pagination and filtering support.</p>

    Args:
        max_results: <p>The maximum number of workflow runs to return in a single response.</p>
        next_token: <p>The pagination token you need to use to retrieve the next set of results. This value is returned from a previous call to <code>ListWorkflowRuns</code>.</p>
        workflow_arn: <p>The Amazon Resource Name (ARN) of the workflow for which you want a list of runs.</p>
        workflow_version: <p>Optional. The specific version of the workflow for which you want a list of runs. If not specified, runs for all versions are returned.</p>

    Raises:
        capo_mwaa_serverless.errors.access_denied_exception.AccessDeniedException: <p>You do not have sufficient permission to perform this action.</p>
        capo_mwaa_serverless.errors.internal_server_exception.InternalServerException: <p>An unexpected server-side error occurred during request processing.</p>
        capo_mwaa_serverless.errors.operation_timeout_exception.OperationTimeoutException: <p>The operation timed out.</p>
        capo_mwaa_serverless.errors.throttling_exception.ThrottlingException: <p>The request was denied because too many requests were made in a short period, exceeding the service rate limits. Amazon Managed Workflows for Apache Airflow Serverless implements throttling controls to ensure fair resource allocation across all customers in the multi-tenant environment. This helps maintain service stability and performance. If you encounter throttling, implement exponential backoff and retry logic in your applications, or consider distributing your API calls over a longer time period.</p>
        capo_mwaa_serverless.errors.validation_exception.ValidationException: <p>The specified request parameters are invalid, missing, or inconsistent with Amazon Managed Workflows for Apache Airflow Serverless service requirements. This can occur when workflow definitions contain unsupported operators, when required IAM permissions are missing, when S3 locations are inaccessible, or when network configurations are invalid. The service validates workflow definitions, execution roles, and resource configurations to ensure compatibility with the managed Airflow environment and security requirements.</p>
        capo_mwaa_serverless.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_mwaa_serverless.types.list_workflow_runs_request.ListWorkflowRunsRequest]",
    ) -> OperationResponse[
        "capo_mwaa_serverless.types.list_workflow_runs_response.ListWorkflowRunsResponse"
    ]:
        import capo_mwaa_serverless._operations.amazon_mwaa_serverless.list_workflow_runs

        output, http_response = (
            capo_mwaa_serverless._operations.amazon_mwaa_serverless.list_workflow_runs.list_workflow_runs(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("ListWorkflowRuns")
    )
    input_: capo_mwaa_serverless.types.list_workflow_runs_request.ListWorkflowRunsRequest = {
        "workflow_arn": workflow_arn
    }
    if max_results is not None:
        input_["max_results"] = max_results
    if next_token is not None:
        input_["next_token"] = next_token
    if workflow_version is not None:
        input_["workflow_version"] = workflow_version

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