Sha256: 8b87c2f0d06953758f30c7ee477cc5464892b9ab487d60ef6e6a286ed2dd447d

Contents?: true

Size: 1.51 KB

Versions: 18

Compression:

Stored size: 1.51 KB

Contents

module ForemanSalt
  module Api
    module V2
      class SaltMinionsController < ::ForemanSalt::Api::V2::BaseController
        before_action :find_resource, :except => [:index]

        api :GET, '/salt_minions', N_('List all Salt Minions')
        param_group :search_and_pagination, ::Api::V2::BaseController
        def index
          @salt_minions = resource_scope_for_index
        end

        api :GET, '/salt_minions/:id', N_('Show a minion')
        param :id, :identifier_dottable, :required => true
        def show
          @salt_states = @salt_minion.salt_modules
        end

        def_param_group :minion do
          param :minion, Hash, :required => true, :action_aware => true do
            param :salt_environment_id, :number, :desc => N_('Salt environment ID')
            param :salt_proxy_id, :number, :desc => N_('ID of Salt Proxy')
            param :salt_state_ids, Array, :desc => N_('Array of State ids')
          end
        end

        api :PUT, '/salt_minions/:id/', N_('Update a minion')
        param :id, :identifier_dottable, :required => true
        param_group :minion
        def update
          params[:minion][:salt_module_ids] = params[:minion].delete(:salt_state_ids) if params[:minion]
          process_response @salt_minion.update_attributes(params.require(:minion).permit(:salt_proxy_id, :salt_environment_id, :salt_module_ids => []))
        end

        def controller_permission
          'hosts'
        end

        def resource_class
          Host
        end
      end
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
foreman_salt-14.0.0 app/controllers/foreman_salt/api/v2/salt_minions_controller.rb
foreman_salt-13.2.4 app/controllers/foreman_salt/api/v2/salt_minions_controller.rb
foreman_salt-13.2.3 app/controllers/foreman_salt/api/v2/salt_minions_controller.rb
foreman_salt-13.2.2 app/controllers/foreman_salt/api/v2/salt_minions_controller.rb
foreman_salt-13.2.1 app/controllers/foreman_salt/api/v2/salt_minions_controller.rb
foreman_salt-13.2.0 app/controllers/foreman_salt/api/v2/salt_minions_controller.rb
foreman_salt-13.1.0 app/controllers/foreman_salt/api/v2/salt_minions_controller.rb
foreman_salt-13.0.0 app/controllers/foreman_salt/api/v2/salt_minions_controller.rb
foreman_salt-12.0.0 app/controllers/foreman_salt/api/v2/salt_minions_controller.rb
foreman_salt-11.0.1 app/controllers/foreman_salt/api/v2/salt_minions_controller.rb
foreman_salt-11.0.0 app/controllers/foreman_salt/api/v2/salt_minions_controller.rb
foreman_salt-10.3.1 app/controllers/foreman_salt/api/v2/salt_minions_controller.rb
foreman_salt-10.3.0 app/controllers/foreman_salt/api/v2/salt_minions_controller.rb
foreman_salt-10.2.0 app/controllers/foreman_salt/api/v2/salt_minions_controller.rb
foreman_salt-10.1.0 app/controllers/foreman_salt/api/v2/salt_minions_controller.rb
foreman_salt-8.0.4 app/controllers/foreman_salt/api/v2/salt_minions_controller.rb
foreman_salt-9.0.1 app/controllers/foreman_salt/api/v2/salt_minions_controller.rb
foreman_salt-10.0.0 app/controllers/foreman_salt/api/v2/salt_minions_controller.rb