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



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

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

#createObject



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

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

#destroyObject



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

def destroy
  process_response @ansible_playbook.destroy
end

#grabObject



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

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



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

def index
  @ansible_playbooks = resource_scope_for_index
end

#resource_classObject



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

def resource_class
  ForemanAcd::AnsiblePlaybook
end

#showObject



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

def show
end