Class: ProxyAPI::Ansible
- Inherits:
-
Resource
- Object
- Resource
- ProxyAPI::Ansible
- Defined in:
- app/lib/proxy_api/ansible.rb
Overview
ProxyAPI for Ansible
Constant Summary collapse
- PROXY_ERRORS =
[ Errno::ECONNREFUSED, SocketError, Timeout::Error, Errno::EINVAL, Errno::ECONNRESET, EOFError, Net::HTTPBadResponse, Net::HTTPHeaderSyntaxError, Net::ProtocolError, RestClient::ResourceNotFound ].freeze
Instance Method Summary collapse
- #all_variables ⇒ Object
-
#initialize(args) ⇒ Ansible
constructor
A new instance of Ansible.
- #playbooks(playbooks_names = []) ⇒ Object
- #playbooks_names ⇒ Object
- #roles ⇒ Object
- #variables(role) ⇒ Object
Constructor Details
#initialize(args) ⇒ Ansible
Returns a new instance of Ansible.
6 7 8 9 |
# File 'app/lib/proxy_api/ansible.rb', line 6 def initialize(args) @url = args[:url] + '/ansible/' super args end |
Instance Method Details
#all_variables ⇒ Object
30 31 32 33 34 35 |
# File 'app/lib/proxy_api/ansible.rb', line 30 def all_variables parse(get('roles/variables')) rescue *PROXY_ERRORS => e raise ProxyException.new(url, e, N_('Unable to get roles/variables from Ansible')) end |
#playbooks(playbooks_names = []) ⇒ Object
50 51 52 53 54 55 |
# File 'app/lib/proxy_api/ansible.rb', line 50 def playbooks(playbooks_names = []) playbooks_names = playbooks_names.join(',') parse(get("playbooks/#{playbooks_names}")) rescue *PROXY_ERRORS => e raise ProxyException.new(url, e, N_('Unable to get playbooks from Ansible')) end |
#playbooks_names ⇒ Object
44 45 46 47 48 |
# File 'app/lib/proxy_api/ansible.rb', line 44 def playbooks_names parse(get('playbooks_names')) rescue *PROXY_ERRORS => e raise ProxyException.new(url, e, N_('Unable to get playbook\'s names from Ansible')) end |
#roles ⇒ Object
24 25 26 27 28 |
# File 'app/lib/proxy_api/ansible.rb', line 24 def roles parse(get('roles')) rescue *PROXY_ERRORS => e raise ProxyException.new(url, e, N_('Unable to get roles from Ansible')) end |
#variables(role) ⇒ Object
37 38 39 40 41 42 |
# File 'app/lib/proxy_api/ansible.rb', line 37 def variables(role) parse(get("roles/#{role}/variables")) rescue *PROXY_ERRORS => e raise ProxyException.new(url, e, N_('Unable to get roles/variables from Ansible')) end |