module Proxy::Salt::Rest

Rest Salt API methods

Public Class Methods

environments_list() click to toggle source
# File lib/smart_proxy_salt/rest.rb, line 13
def environments_list
  JSON.dump(Proxy::Salt::ApiRequest.new.post('/run', :fun => 'fileserver.envs', :client => 'runner')['return'][0])
end
states_list(environment) click to toggle source
# File lib/smart_proxy_salt/rest.rb, line 17
def states_list(environment)
  states = []
  files = Proxy::Salt::ApiRequest.new.post('/run', :fun => 'fileserver.file_list',
                                                   :saltenv => environment,
                                                   :client => 'runner')['return'][0]

  files.each do |file|
    next unless file =~ /\.sls\Z/ && file != 'top.sls'
    states << file.gsub('.sls', '').gsub('/init', '').chomp('/').tr('/', '.')
  end

  JSON.dump(states)
end