Class: Actions::ForemanAnsible::PlayHostgroupRoles
- Inherits:
-
EntryAction
- Object
- EntryAction
- Actions::ForemanAnsible::PlayHostgroupRoles
- Includes:
- Helpers::HostCommon, Helpers::PlayRolesDescription, Helpers::WithContinuousOutput, Helpers::WithDelegatedAction
- Defined in:
- app/lib/actions/foreman_ansible/play_hostgroup_roles.rb
Overview
Action that initiates the playbook run for roles assigned to the hostgroup. It does that either locally or via a proxy when available.
Instance Method Summary collapse
- #humanized_input ⇒ Object
- #plan(hostgroup, proxy_selector = ::ForemanAnsible::ProxySelector.new, options = {}) ⇒ Object
Methods included from Helpers::HostCommon
#continuous_output_providers, #fill_continuous_output, #finalize, #find_options, #humanized_name, #humanized_output, #rescue_strategy
Methods included from Helpers::PlayRolesDescription
Instance Method Details
#humanized_input ⇒ Object
25 26 27 28 29 30 |
# File 'app/lib/actions/foreman_ansible/play_hostgroup_roles.rb', line 25 def humanized_input _('on host group %{name} through proxy %{proxy}') % { :name => input.fetch(:hostgroup, {})[:name], :proxy => running_proxy_name } end |
#plan(hostgroup, proxy_selector = ::ForemanAnsible::ProxySelector.new, options = {}) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'app/lib/actions/foreman_ansible/play_hostgroup_roles.rb', line 11 def plan(hostgroup, proxy_selector = ::ForemanAnsible::ProxySelector.new, = {}) proxy = find_hostgroup_and_proxy(hostgroup, proxy_selector) inventory_creator = ::ForemanAnsible:: InventoryCreator.new(hostgroup.hosts) playbook_creator = ::ForemanAnsible:: PlaybookCreator.new(hostgroup_ansible_roles(hostgroup)) plan_delegated_action(proxy, ::ForemanAnsibleCore::Actions::RunPlaybook, :inventory => inventory_creator.to_hash.to_json, :playbook => playbook_creator.roles_playbook, :options => .merge()) plan_self end |