Skip to content

update_workflow

update_workflow(
    id: WorkflowId,
    *,
    config_overrides: Optional[OmicsClientConfig] = None,
    name: Optional[WorkflowName] = None,
    description: Optional[WorkflowDescription] = None,
    storage_type: Optional[StorageType] = None,
    storage_capacity: Optional[int] = None,
    readme_markdown: Optional[ReadmeMarkdown] = None,
) -> None

Updates information about a workflow.

You can update the following workflow information:

  • Name

  • Description

  • Default storage type

  • Default storage capacity (with workflow ID)

This operation returns a response with no body if the operation is successful. You can check the workflow updates by calling the GetWorkflow API operation.

For more information, see Update a private workflow in the Amazon Web Services HealthOmics User Guide.

Parameters:

  • id (WorkflowId) –

    The workflow's ID.

  • name (Optional[WorkflowName], default: None ) –

    A name for the workflow.

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

    A description for the workflow.

  • storage_type (Optional[StorageType], default: None ) –

    The default storage type for runs that use this workflow. STATIC storage allocates a fixed amount of storage. DYNAMIC storage dynamically scales the storage up or down, based on file system utilization. For more information about static and dynamic storage, see Running workflows in the Amazon Web Services HealthOmics User Guide.

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

    The default static storage capacity (in gibibytes) for runs that use this workflow or workflow version.

  • readme_markdown (Optional[ReadmeMarkdown], default: None ) –

    The markdown content for the workflow's README file. This provides documentation and usage information for users of the workflow.

Raises:

Source code in docs_src/capo_omics/_services/omics.py
def update_workflow(
    self,
    id: "capo_omics.types.workflow_id.WorkflowId",
    *,
    config_overrides: Optional[OmicsClientConfig] = None,
    name: Optional["capo_omics.types.workflow_name.WorkflowName"] = None,
    description: Optional[
        "capo_omics.types.workflow_description.WorkflowDescription"
    ] = None,
    storage_type: Optional["capo_omics.types.storage_type.StorageType"] = None,
    storage_capacity: Optional[int] = None,
    readme_markdown: Optional[
        "capo_omics.types.readme_markdown.ReadmeMarkdown"
    ] = None,
) -> None:
    """<p>Updates information about a workflow.</p> <p>You can update the following workflow information:</p> <ul> <li> <p>Name</p> </li> <li> <p>Description</p> </li> <li> <p>Default storage type</p> </li> <li> <p>Default storage capacity (with workflow ID)</p> </li> </ul> <p>This operation returns a response with no body if the operation is successful. You can check the workflow updates by calling the <code>GetWorkflow</code> API operation.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/omics/latest/dev/update-private-workflow.html">Update a private workflow</a> in the <i>Amazon Web Services HealthOmics User Guide</i>.</p>

    Args:
        id: <p>The workflow's ID.</p>
        name: <p>A name for the workflow.</p>
        description: <p>A description for the workflow.</p>
        storage_type: <p>The default storage type for runs that use this workflow. STATIC storage allocates a fixed amount of storage. DYNAMIC storage dynamically scales the storage up or down, based on file system utilization. For more information about static and dynamic storage, see <a href="https://docs.aws.amazon.com/omics/latest/dev/Using-workflows.html">Running workflows</a> in the <i>Amazon Web Services HealthOmics User Guide</i>. </p>
        storage_capacity: <p>The default static storage capacity (in gibibytes) for runs that use this workflow or workflow version. </p>
        readme_markdown: <p>The markdown content for the workflow's README file. This provides documentation and usage information for users of the workflow.</p>

    Raises:
        capo_omics.errors.access_denied_exception.AccessDeniedException: <p>You do not have sufficient access to perform this action.</p>
        capo_omics.errors.conflict_exception.ConflictException: <p>The request cannot be applied to the target resource in its current state.</p>
        capo_omics.errors.internal_server_exception.InternalServerException: <p>An unexpected error occurred. Try the request again.</p>
        capo_omics.errors.request_timeout_exception.RequestTimeoutException: <p>The request timed out.</p>
        capo_omics.errors.resource_not_found_exception.ResourceNotFoundException: <p>The target resource was not found in the current Region.</p>
        capo_omics.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>The request exceeds a service quota.</p>
        capo_omics.errors.throttling_exception.ThrottlingException: <p>The request was denied due to request throttling.</p>
        capo_omics.errors.validation_exception.ValidationException: <p>The input fails to satisfy the constraints specified by an Amazon Web Services service.</p>
        capo_omics.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_omics.types.update_workflow_request.UpdateWorkflowRequest]",
    ) -> OperationResponse[None]:
        import capo_omics._operations.omics.update_workflow

        output, http_response = (
            capo_omics._operations.omics.update_workflow.update_workflow(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("UpdateWorkflow")
    )
    input_: capo_omics.types.update_workflow_request.UpdateWorkflowRequest = {
        "id": id
    }
    if name is not None:
        input_["name"] = name
    if description is not None:
        input_["description"] = description
    if storage_type is not None:
        input_["storage_type"] = storage_type
    if storage_capacity is not None:
        input_["storage_capacity"] = storage_capacity
    if readme_markdown is not None:
        input_["readme_markdown"] = readme_markdown

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