class Fog::Proxmox::Identity::Pool

class Pool model of VMs

Public Instance Methods

add_server(server) click to toggle source
# File lib/fog/identity/proxmox/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/identity/proxmox/models/pool.rb, line 44
def add_storage(storage)
  update_with_member('storage', storage, false)
end
destroy() click to toggle source
# File lib/fog/identity/proxmox/models/pool.rb, line 34
def destroy
  requires :poolid
  service.delete_pool(poolid)
  true
end
remove_server(server) click to toggle source
# File lib/fog/identity/proxmox/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/identity/proxmox/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/identity/proxmox/models/pool.rb, line 29
def save(options = {})
  service.create_pool(attributes.merge(options))
  reload
end
update() click to toggle source
# File lib/fog/identity/proxmox/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/identity/proxmox/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