Class: Itamae::Plugin::Resource::FirewalldZone
- Inherits:
-
Resource::Base
- Object
- Resource::Base
- Itamae::Plugin::Resource::FirewalldZone
- Defined in:
- lib/itamae/plugin/resource/firewalld_zone.rb
Constant Summary collapse
- ARRAYABLE_SETTINGS =
[ :interfaces, :sources, :services, :ports, :forward_ports, :icmp_blocks, :rich_rules ]
Instance Method Summary collapse
Instance Method Details
#action_update(options) ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/itamae/plugin/resource/firewalld_zone.rb', line 43 def action_update() ARRAYABLE_SETTINGS.each do |name| update_setting(name, current[name], attributes[name]) if attributes[name] end if current.masquerade != attributes.masquerade update_masquerade(attributes.masquerade) end # Only perform when `default_zone true` is specified (and current is false) if attributes.default_zone && !current.default_zone set_default_zone end end |
#pre_action ⇒ Object
28 29 30 31 32 |
# File 'lib/itamae/plugin/resource/firewalld_zone.rb', line 28 def pre_action ARRAYABLE_SETTINGS.each do |name| attributes[name].sort! if attributes[name] end end |
#set_current_attributes ⇒ Object
34 35 36 37 38 39 40 41 |
# File 'lib/itamae/plugin/resource/firewalld_zone.rb', line 34 def set_current_attributes ARRAYABLE_SETTINGS.each do |name| current[name] = current_setting(name) if attributes[name] end current.masquerade = masquerade_enabled? unless attributes.masquerade.nil? current.default_zone = default_zone? if attributes.default_zone end |