Class: PuppetdbForeman::NodesController
- Inherits:
-
ApplicationController
- Object
- ApplicationController
- PuppetdbForeman::NodesController
- Defined in:
- app/controllers/puppetdb_foreman/nodes_controller.rb
Instance Method Summary collapse
- #controller_permission ⇒ Object
- #destroy ⇒ Object
-
#import ⇒ Object
rubocop:disable Metrics/MethodLength.
- #index ⇒ Object
-
#show ⇒ Object
rubocop:disable Metrics/AbcSize.
Instance Method Details
#controller_permission ⇒ Object
7 8 9 |
# File 'app/controllers/puppetdb_foreman/nodes_controller.rb', line 7 def 'puppetdb_nodes' end |
#destroy ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'app/controllers/puppetdb_foreman/nodes_controller.rb', line 28 def destroy Puppetdb.client.deactivate_node(@node) process_success( success_msg: _('Deactivated node %s in PuppetDB') % @node, success_redirect: puppetdb_foreman_nodes_path ) rescue StandardError => e process_error( redirect: puppetdb_foreman_nodes_path, error_msg: _('Failed to deactivate node in PuppetDB: %s') % e. ) end |
#import ⇒ Object
rubocop:disable Metrics/MethodLength
41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'app/controllers/puppetdb_foreman/nodes_controller.rb', line 41 def import # rubocop:disable Metrics/MethodLength facts = Puppetdb.client.facts(@node) host = PuppetdbHost.new(facts: facts).to_host process_success( success_msg: _('Imported host %s from PuppetDB') % @node, success_redirect: host_path(id: host) ) rescue StandardError => e process_error( redirect: puppetdb_foreman_nodes_path, error_msg: _('Failed to import host from PuppetDB: %s') % e. ) end |
#index ⇒ Object
11 12 13 14 15 |
# File 'app/controllers/puppetdb_foreman/nodes_controller.rb', line 11 def index @foreman_hosts = Host.unscoped.pluck(:name) @puppetdb_hosts = Puppetdb.client.query_nodes @unknown_hosts = @puppetdb_hosts - @foreman_hosts end |
#show ⇒ Object
rubocop:disable Metrics/AbcSize
17 18 19 20 21 22 23 24 25 26 |
# File 'app/controllers/puppetdb_foreman/nodes_controller.rb', line 17 def show # rubocop:disable Metrics/AbcSize response = Puppetdb.client.resources(@node) class_names = response.map { |v| v['title'] if v['type'] == 'Class' }.compact @classes_count = class_names.count @classes = class_names.paginate(page: params[:page], per_page: params[:per_page]) @type_names = response.map { |v| v['type'] }.uniq end |