Class: Infrawrench::WorkflowsScheduleNamespace

Inherits:
Object
  • Object
show all
Defined in:
lib/infrawrench/client.rb,
sig/infrawrench/sdk.rbs

Overview

client.workflows.schedule

Instance Method Summary collapse

Constructor Details

#initialize(transport) ⇒ WorkflowsScheduleNamespace

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of WorkflowsScheduleNamespace.

Parameters:



14895
14896
14897
# File 'lib/infrawrench/client.rb', line 14895

def initialize(transport)
  @transport = transport
end

Instance Method Details

#delete(id:, org_id: nil, request_options: nil) ⇒ Hash

Remove a workflow's cron schedule

Reverts the workflow's trigger to manual and clears the pending fire time. A no-op when the trigger is not cron.

Requires permission: dashboards:write.

DELETE /api/org/orgId/workflows/id/schedule

Raises on 404: Not found

Parameters:

  • org_id (String, nil) (defaults to: nil)

    Organization id. Defaults to the org_id the client was constructed with.

  • id (String)

    Workflow id

  • request_options (Hash, nil) (defaults to: nil)

    Per-call :headers, :timeout and :open_timeout.

  • id: (String)
  • org_id: (String, nil) (defaults to: nil)
  • request_options: (Hash[Symbol, untyped], nil) (defaults to: nil)

Returns:

  • (Hash)

    Parsed JSON, shaped as Ok — see sig/infrawrench/sdk.rbs.

Raises:



14916
14917
14918
14919
14920
14921
14922
14923
# File 'lib/infrawrench/client.rb', line 14916

def delete(id:, org_id: nil, request_options: nil)
  @transport.request(
    http_method: "DELETE",
    path: "/api/org/{orgId}/workflows/{id}/schedule",
    path_params: { "orgId" => org_id, "id" => id },
    request_options: request_options
  )
end

#get(id:, org_id: nil, request_options: nil) ⇒ Hash

Get a workflow's cron schedule

The schedule view of the workflow's trigger, with the next few computed fire times. schedule is null when the workflow is triggered some other way (manual, git, budget).

Requires permission: dashboards:read.

GET /api/org/orgId/workflows/id/schedule

Raises on 404: Not found

Parameters:

  • org_id (String, nil) (defaults to: nil)

    Organization id. Defaults to the org_id the client was constructed with.

  • id (String)

    Workflow id

  • request_options (Hash, nil) (defaults to: nil)

    Per-call :headers, :timeout and :open_timeout.

  • id: (String)
  • org_id: (String, nil) (defaults to: nil)
  • request_options: (Hash[Symbol, untyped], nil) (defaults to: nil)

Returns:

  • (Hash)

    Parsed JSON, shaped as WorkflowScheduleResponse — see sig/infrawrench/sdk.rbs.

Raises:



14944
14945
14946
14947
14948
14949
14950
14951
# File 'lib/infrawrench/client.rb', line 14944

def get(id:, org_id: nil, request_options: nil)
  @transport.request(
    http_method: "GET",
    path: "/api/org/{orgId}/workflows/{id}/schedule",
    path_params: { "orgId" => org_id, "id" => id },
    request_options: request_options
  )
end

#update(id:, body:, org_id: nil, request_options: nil) ⇒ Hash

Create or replace a workflow's cron schedule

Sets the workflow's trigger to cron with the given expression and timezone, validating both, and computes the next fire time. The workflow fires at the schedule's next occurrence — never immediately on save.

Requires permission: dashboards:write.

PUT /api/org/orgId/workflows/id/schedule

Raises on 400: Bad request

Raises on 404: Not found

Parameters:

  • org_id (String, nil) (defaults to: nil)

    Organization id. Defaults to the org_id the client was constructed with.

  • id (String)

    Workflow id

  • body (Hash)

    Request body, shaped as WorkflowScheduleInput.

  • request_options (Hash, nil) (defaults to: nil)

    Per-call :headers, :timeout and :open_timeout.

  • id: (String)
  • body: (workflow_schedule_input)
  • org_id: (String, nil) (defaults to: nil)
  • request_options: (Hash[Symbol, untyped], nil) (defaults to: nil)

Returns:

  • (Hash)

    Parsed JSON, shaped as WorkflowScheduleResponse — see sig/infrawrench/sdk.rbs.

Raises:



14975
14976
14977
14978
14979
14980
14981
14982
14983
# File 'lib/infrawrench/client.rb', line 14975

def update(id:, body:, org_id: nil, request_options: nil)
  @transport.request(
    http_method: "PUT",
    path: "/api/org/{orgId}/workflows/{id}/schedule",
    path_params: { "orgId" => org_id, "id" => id },
    body: body,
    request_options: request_options
  )
end