Skip to content

create_workflow_definition

create_workflow_definition(
    name: WorkflowDefinitionName,
    *,
    config_overrides: Optional[NovaActClientConfig] = None,
    description: Optional[WorkflowDescription] = None,
    export_config: Optional[WorkflowExportConfig] = None,
    client_token: Optional[ClientToken] = None,
) -> CreateWorkflowDefinitionResponse

Creates a new workflow definition template that can be used to execute multiple workflow runs.

Parameters:

  • name (WorkflowDefinitionName) –

    The name of the workflow definition. Must be unique within your account and region.

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

    An optional description of the workflow definition's purpose and functionality.

  • export_config (Optional[WorkflowExportConfig], default: None ) –

    Configuration for exporting workflow execution data to Amazon Simple Storage Service.

  • client_token (Optional[ClientToken], default: None ) –

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

Raises:

Source code in docs_src/capo_nova_act/_services/nova_act.py
def create_workflow_definition(
    self,
    name: "capo_nova_act.types.workflow_definition_name.WorkflowDefinitionName",
    *,
    config_overrides: Optional[NovaActClientConfig] = None,
    description: Optional[
        "capo_nova_act.types.workflow_description.WorkflowDescription"
    ] = None,
    export_config: Optional[
        "capo_nova_act.types.workflow_export_config.WorkflowExportConfig"
    ] = None,
    client_token: Optional["capo_nova_act.types.client_token.ClientToken"] = None,
) -> "capo_nova_act.types.create_workflow_definition_response.CreateWorkflowDefinitionResponse":
    """<p>Creates a new workflow definition template that can be used to execute multiple workflow runs.</p>

    Args:
        name: <p>The name of the workflow definition. Must be unique within your account and region.</p>
        description: <p>An optional description of the workflow definition's purpose and functionality.</p>
        export_config: <p>Configuration for exporting workflow execution data to Amazon Simple Storage Service.</p>
        client_token: <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.</p>

    Raises:
        capo_nova_act.errors.access_denied_exception.AccessDeniedException: <p>You don't have sufficient permissions to perform this action.</p>
        capo_nova_act.errors.conflict_exception.ConflictException: <p>The request could not be completed due to a conflict with the current state of the resource.</p>
        capo_nova_act.errors.internal_server_exception.InternalServerException: <p>An internal server error occurred. Please try again later.</p>
        capo_nova_act.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>The request would exceed a service quota limit.</p>
        capo_nova_act.errors.throttling_exception.ThrottlingException: <p>The request was throttled due to too many requests. Please try again later.</p>
        capo_nova_act.errors.validation_exception.ValidationException: <p>The input parameters for the request are invalid.</p>
        capo_nova_act.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_nova_act.types.create_workflow_definition_request.CreateWorkflowDefinitionRequest]",
    ) -> OperationResponse[
        "capo_nova_act.types.create_workflow_definition_response.CreateWorkflowDefinitionResponse"
    ]:
        import capo_nova_act._operations.amazon_nova_agents_data_plane.create_workflow_definition

        output, http_response = (
            capo_nova_act._operations.amazon_nova_agents_data_plane.create_workflow_definition.create_workflow_definition(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    def _redact_input(
        input_: "capo_nova_act.types.create_workflow_definition_request.CreateWorkflowDefinitionRequest",
    ) -> dict[str, Any]:
        import capo_nova_act.types.create_workflow_definition_request

        return (
            capo_nova_act.types.create_workflow_definition_request.redact_sensitive(
                input_
            )
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging("CreateWorkflowDefinition", redact_input=_redact_input),
    )
    input_: capo_nova_act.types.create_workflow_definition_request.CreateWorkflowDefinitionRequest = {
        "name": name
    }
    if description is not None:
        input_["description"] = description
    if export_config is not None:
        input_["export_config"] = export_config
    if client_token is None:
        client_token = str(uuid.uuid4())
    input_["client_token"] = client_token

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