Module: Proxy::Salt::Rest

Extended by:
Log, Util
Defined in:
lib/smart_proxy_salt/rest.rb

Overview

Rest Salt API methods

Class Method Summary collapse

Class Method Details

.environments_listObject



14
15
16
# File 'lib/smart_proxy_salt/rest.rb', line 14

def environments_list
  JSON.dump(Proxy::Salt::ApiRequest.new.post('/run', :fun => 'fileserver.envs', :client => 'runner')['return'][0])
end

.states_list(environment) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/smart_proxy_salt/rest.rb', line 18

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