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:



7407
7408
7409
# File 'lib/infrawrench/client.rb', line 7407

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:



7428
7429
7430
7431
7432
7433
7434
7435
# File 'lib/infrawrench/client.rb', line 7428

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:



7456
7457
7458
7459
7460
7461
7462
7463
# File 'lib/infrawrench/client.rb', line 7456

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:



7487
7488
7489
7490
7491
7492
7493
7494
7495
# File 'lib/infrawrench/client.rb', line 7487

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