Class: ForemanSalt::MinionsController
- Inherits:
-
ApplicationController
- Object
- ApplicationController
- ApplicationController
- ForemanSalt::MinionsController
- Includes:
- Foreman::Controller::Parameters::Host, Foreman::Controller::SmartProxyAuth
- Defined in:
- app/controllers/foreman_salt/minions_controller.rb
Instance Method Summary collapse
- #action_permission ⇒ Object
- #controller_permission ⇒ Object
- #node ⇒ Object
- #resource_class ⇒ Object
- #salt_environment_selected ⇒ Object
Instance Method Details
#action_permission ⇒ Object
40 41 42 43 44 45 46 47 48 49 |
# File 'app/controllers/foreman_salt/minions_controller.rb', line 40 def case params[:action] when 'node' :view when 'salt_environment_selected' :edit else super end end |
#controller_permission ⇒ Object
51 52 53 |
# File 'app/controllers/foreman_salt/minions_controller.rb', line 51 def 'hosts' end |
#node ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'app/controllers/foreman_salt/minions_controller.rb', line 9 def node enc = {} env = @minion.salt_environment.blank? ? 'base' : @minion.salt_environment.name enc['classes'] = @minion.salt_modules_for_enc pillars = @minion.info['parameters'] pillars['saltenv'] = env pillars.merge!(@minion.salt_params) enc['parameters'] = Setting[:salt_namespace_pillars] ? { 'foreman' => pillars } : pillars enc['environment'] = env respond_to do |format| format.html { render plain: "<pre>#{ERB::Util.html_escape(enc.to_yaml)}</pre>" } format.yml { render plain: enc.to_yaml } end rescue StandardError logger.warn "Failed to generate external nodes for #{@minion} with #{$ERROR_INFO}" render(plain: "#{_('Unable to generate output, Check log files')}\n", status: :precondition_failed) && return end |
#resource_class ⇒ Object
55 56 57 |
# File 'app/controllers/foreman_salt/minions_controller.rb', line 55 def resource_class Host end |
#salt_environment_selected ⇒ Object
30 31 32 33 34 35 36 37 38 |
# File 'app/controllers/foreman_salt/minions_controller.rb', line 30 def salt_environment_selected if params[:host][:salt_environment_id].present? @salt_environment = ::ForemanSalt::SaltEnvironment.friendly.find(params[:host][:salt_environment_id]) load_ajax_vars render partial: 'foreman_salt/salt_modules/host_tab_pane' else logger.info 'environment_id is required to render states' end end |