Class: ForemanSalt::Api::V2::SaltStatesController
- Inherits:
-
BaseController
- Object
- Api::V2::BaseController
- BaseController
- ForemanSalt::Api::V2::SaltStatesController
- Includes:
- Concerns::SaltModuleParameters, 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
Methods included from Concerns::SaltModuleParameters
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
39 40 41 42 |
# File 'app/controllers/foreman_salt/api/v2/salt_states_controller.rb', line 39 def create @salt_state = SaltModule.new(salt_module_params) process_response @salt_state.save end |
#destroy ⇒ Object
46 47 48 |
# File 'app/controllers/foreman_salt/api/v2/salt_states_controller.rb', line 46 def destroy process_response @salt_state.destroy end |
#import ⇒ Object
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 55 def import states = fetch_states_from_proxy(@proxy, params[:salt_environments]) unless params[:dryrun] states[:changes].each do |environment, state| add_to_environment(state[:add], environment) if state[:add].present? && (params[:actions].blank? || params[:actions].include?('add')) if state[:remove].present? && (params[:actions].blank? || params[:actions].include?('remove')) remove_from_environment(state[:remove], environment) end end clean_orphans end render plain: states.to_json end |
#index ⇒ Object
15 16 17 18 19 20 21 22 23 24 |
# File 'app/controllers/foreman_salt/api/v2/salt_states_controller.rb', line 15 def index @salt_states = if @salt_environment resource_scope_for_index.joins(:salt_environments) .where('salt_module_environments.salt_environment_id' => @salt_environment) else 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
28 29 |
# File 'app/controllers/foreman_salt/api/v2/salt_states_controller.rb', line 28 def show end |