class Groups
Public Class Methods
addhosts(hosts, tag)
click to toggle source
# File lib/floatyhelper/groups.rb, line 37 def self.addhosts(hosts, tag) data = Config.load_data data['vms'] ||= {} tag ||= 'Blank Tag' # Removed the ability to do this hosts.each do |host| data['vms'][tag] ||= [] data['vms'][tag] << host unless data['vms'][tag].include?(host) end Config.write_data(data) end
delete_all()
click to toggle source
# File lib/floatyhelper/groups.rb, line 25 def self.delete_all data = Config.load_data data['vms'] = {} data['snapshots'] = {} Config.write_data(data) end
delete_tag(tag, data: nil)
click to toggle source
# File lib/floatyhelper/groups.rb, line 18 def self.delete_tag(tag, data: nil) data ||= Config.load_data data['vms'].delete(tag) data['snapshots'].delete(tag) if data['snapshots'].keys.include?(tag) Config.write_data(data) end
get_hosts(tag)
click to toggle source
# File lib/floatyhelper/groups.rb, line 32 def self.get_hosts(tag) data = Config.load_data data['vms'][tag] end
host_tag(host)
click to toggle source
# File lib/floatyhelper/groups.rb, line 70 def self.host_tag(host) data = Config.load_data raise 'Host not found' unless managed_host?(host) tags = data['vms'].select { |_tag, hosts| hosts.include?(host) }.keys tags[0] end
managed_host?(host)
click to toggle source
# File lib/floatyhelper/groups.rb, line 65 def self.managed_host?(host) data = Config.load_data data['vms'].any? { |_tag, hosts| hosts.include?(host) } end
removehosts(hosts, tag)
click to toggle source
# File lib/floatyhelper/groups.rb, line 48 def self.removehosts(hosts, tag) data = Config.load_data return if data['vms'][tag].nil? hosts.each do |host| data['vms'][tag] ||= [] data['vms'][tag].delete(host) if data['snapshots'][tag] data['snapshots'][tag].each do |snaptag, _vals| data['snapshots'][tag][snaptag].delete(host) end end delete_tag(tag, data: data) if data['vms'][tag].empty? end Config.write_data(data) end
tag?(id)
click to toggle source
# File lib/floatyhelper/groups.rb, line 13 def self.tag?(id) data = Config.load_data data['vms'].keys.include?(id) end