class Fog::Proxmox::Identity::Pool

class Pool model of VMs

Public Instance Methods

add_server(server) click to toggle source
# File lib/fog/proxmox/identity/models/pool.rb, line 40
def add_server(server)
  update_with_member('vms', server, false)
end
add_storage(storage) click to toggle source
# File lib/fog/proxmox/identity/models/pool.rb, line 44
def add_storage(storage)
  update_with_member('storage', storage, false)
end
destroy() click to toggle source
# File lib/fog/proxmox/identity/models/pool.rb, line 34
def destroy
  requires :poolid
  service.delete_pool(poolid)
  true
end
has_server?(vmid) click to toggle source
# File lib/fog/proxmox/identity/models/pool.rb, line 69
def has_server?(vmid)
  has?('vmid', vmid)
end
has_storage?(storage) click to toggle source
# File lib/fog/proxmox/identity/models/pool.rb, line 73
def has_storage?(storage)
  has?('storage', storage)
end
remove_server(server) click to toggle source
# File lib/fog/proxmox/identity/models/pool.rb, line 52
def remove_server(server)
  update_with_member('vms', server, true)
end
remove_storage(storage) click to toggle source
# File lib/fog/proxmox/identity/models/pool.rb, line 48
def remove_storage(storage)
  update_with_member('storage', storage, true)
end
save(options = {}) click to toggle source
# File lib/fog/proxmox/identity/models/pool.rb, line 29
def save(options = {})
  service.create_pool(attributes.merge(options))
  reload
end
update() click to toggle source
# File lib/fog/proxmox/identity/models/pool.rb, line 65
def update
  update_with_member(nil, nil, false)
end
update_with_member(member_name, member_id, delete = false) click to toggle source
# File lib/fog/proxmox/identity/models/pool.rb, line 56
def update_with_member(member_name, member_id, delete = false)
  requires :poolid
  otpions = attributes.reject { |attribute| %i[poolid members].include? attribute }
  otpions.store(member_name, member_id) if member_name
  otpions.store('delete', 1) if delete
  service.update_pool(poolid, otpions)
  reload
end

Private Instance Methods

has?(key, vmid) click to toggle source
# File lib/fog/proxmox/identity/models/pool.rb, line 79
def has?(key, vmid)
  result = false
  attributes[:members].each do |member|
    result = member[key].to_s.eql?(vmid.to_s) if member.has_key?(key) && member[key] && vmid
  end
  result
end