class Terraspace::Terraform::Api::Runs

Attributes

workspace_id[R]

Public Class Methods

new(workspace_id) click to toggle source
# File lib/terraspace/terraform/api/runs.rb, line 6
def initialize(workspace_id)
  @workspace_id = workspace_id
end

Public Instance Methods

action(action, id) click to toggle source
# File lib/terraspace/terraform/api/runs.rb, line 34
def action(action, id)
  payload = http.post("runs/#{id}/actions/#{action}")
  payload['data'] if payload
end
cancel(id) click to toggle source
# File lib/terraspace/terraform/api/runs.rb, line 30
def cancel(id)
  action("cancel", id)
end
discard(id) click to toggle source
# File lib/terraspace/terraform/api/runs.rb, line 26
def discard(id)
  action("discard", id)
end
list() click to toggle source
# File lib/terraspace/terraform/api/runs.rb, line 10
def list
  data, next_page = [], :start
  while next_page == :start || next_page
    url = "workspaces/#{@workspace_id}/runs"
    if next_page
      qs = URI.encode_www_form('page[number]': next_page) if next_page
      url += "?#{qs}"
    end
    payload = http.get(url)
    return unless payload
    data += payload['data']
    next_page = payload['meta']['pagination']['next-page']
  end
  data
end