Class: ForemanAcd::Api::V2::AnsiblePlaybooksController

Inherits:
BaseController
  • Object
show all
Includes:
Foreman::Controller::SmartProxyAuth, Concerns::AnsiblePlaybookParameters
Defined in:
app/controllers/foreman_acd/api/v2/ansible_playbooks_controller.rb

Overview

API controller for Ansible Playbooks

Instance Method Summary collapse

Methods included from Concerns::AnsiblePlaybookParameters

#ansible_playbook_params

Instance Method Details

#action_permissionObject



57
58
59
60
61
62
63
64
# File 'app/controllers/foreman_acd/api/v2/ansible_playbooks_controller.rb', line 57

def action_permission
  case params[:action]
  when 'grab'
    'grab'
  else
    super
  end
end

#createObject



37
38
39
40
# File 'app/controllers/foreman_acd/api/v2/ansible_playbooks_controller.rb', line 37

def create
  @ansible_playbook = AnsiblePlaybook.new(ansible_playbook_params)
  process_response @ansible_playbook.save
end

#destroyObject



44
45
46
# File 'app/controllers/foreman_acd/api/v2/ansible_playbooks_controller.rb', line 44

def destroy
  process_response @ansible_playbook.destroy
end

#grabObject



50
51
52
53
54
55
# File 'app/controllers/foreman_acd/api/v2/ansible_playbooks_controller.rb', line 50

def grab
  ap = resource_class.find(params['id'])
  command = "tar cz -C #{ap.path} --exclude \".git\" . 2>/dev/null | base64"
  result = `#{command}`
  send_data result, :type => 'text/plain', :disposition => 'inline'
end

#indexObject



22
23
24
# File 'app/controllers/foreman_acd/api/v2/ansible_playbooks_controller.rb', line 22

def index
  @ansible_playbooks = resource_scope_for_index
end

#resource_classObject



66
67
68
# File 'app/controllers/foreman_acd/api/v2/ansible_playbooks_controller.rb', line 66

def resource_class
  ForemanAcd::AnsiblePlaybook
end

#showObject



17
# File 'app/controllers/foreman_acd/api/v2/ansible_playbooks_controller.rb', line 17

def show; end