Class: ForemanSalt::Api::V2::SaltStatesController
- Inherits:
-
BaseController
- Object
- Api::V2::BaseController
- BaseController
- ForemanSalt::Api::V2::SaltStatesController
- Includes:
- StateImporter
- Defined in:
- app/controllers/foreman_salt/api/v2/salt_states_controller.rb
Instance Method Summary collapse
- #action_permission ⇒ Object
- #controller_permission ⇒ Object
- #create ⇒ Object
- #destroy ⇒ Object
- #import ⇒ Object
- #index ⇒ Object
- #resource_class ⇒ Object
- #show ⇒ Object
Instance Method Details
#action_permission ⇒ Object
79 80 81 82 83 84 85 86 |
# File 'app/controllers/foreman_salt/api/v2/salt_states_controller.rb', line 79 def case params[:action] when 'import' :import else super end end |
#controller_permission ⇒ Object
71 72 73 |
# File 'app/controllers/foreman_salt/api/v2/salt_states_controller.rb', line 71 def 'salt_modules' end |
#create ⇒ Object
37 38 39 40 |
# File 'app/controllers/foreman_salt/api/v2/salt_states_controller.rb', line 37 def create @salt_state = SaltModule.new(params[:state]) process_response @salt_state.save end |
#destroy ⇒ Object
44 45 46 |
# File 'app/controllers/foreman_salt/api/v2/salt_states_controller.rb', line 44 def destroy process_response @salt_state.destroy end |
#import ⇒ Object
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'app/controllers/foreman_salt/api/v2/salt_states_controller.rb', line 53 def import states = fetch_states_from_proxy(@proxy, params[:salt_environments]) unless params[:dryrun] states[:changes].each do |environment, state| if state[:add].present? && (params[:actions].blank? || params[:actions].include?('add')) add_to_environment(state[:add], environment) end if state[:remove].present? && (params[:actions].blank? || params[:actions].include?('remove')) remove_from_environment(state[:remove], environment) end end clean_orphans end render :text => states.to_json end |
#index ⇒ Object
14 15 16 17 18 19 20 21 22 |
# File 'app/controllers/foreman_salt/api/v2/salt_states_controller.rb', line 14 def index if @salt_environment @salt_states = resource_scope_for_index.joins(:salt_environments).where('salt_module_environments.salt_environment_id' => @salt_environment) else @salt_states = resource_scope_for_index end @subtotal = @salt_states.count end |
#resource_class ⇒ Object
75 76 77 |
# File 'app/controllers/foreman_salt/api/v2/salt_states_controller.rb', line 75 def resource_class ForemanSalt::SaltModule end |
#show ⇒ Object
26 27 |
# File 'app/controllers/foreman_salt/api/v2/salt_states_controller.rb', line 26 def show end |