def foreman_environment(options = {})
@environments ||= {}
if options[:name]
return nil if options[:name].nil? || options[:name].empty?
options[:id] = @environments[options[:name]]
if !options[:id]
environment = @api.resource(:environments).call(:index, {
:per_page => 999999,
'search' => "name=\"#{ options[:name] }\""
})['results']
raise "Puppet environment '#{options[:name]}' not found" if !environment || environment.empty?
options[:id] = environment[0]['id']
@environments[options[:name]] = options[:id]
end
result = options[:id]
else
return nil if options[:id].nil?
options[:name] = @environments.key(options[:id])
if !options[:name]
environment = @api.resource(:environments).call(:show, {'id' => options[:id]})
raise "Puppet environment '#{options[:name]}' not found" if !environment || environment.empty?
options[:name] = environment['name']
@environments[options[:name]] = options[:id]
end
result = options[:name]
end
result
end