class Fog::Identity::Proxmox::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 53
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 57
def add_storage(storage)
  update_with_member('storage', storage, false)
end
create(new_attributes = {}) click to toggle source
# File lib/fog/identity/proxmox/models/pool.rb, line 43
def create(new_attributes = {})
  service.create_pool(attributes.merge(new_attributes))
end
destroy() click to toggle source
# File lib/fog/identity/proxmox/models/pool.rb, line 47
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 65
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 61
def remove_storage(storage)
  update_with_member('storage', storage, true)
end
to_s() click to toggle source
# File lib/fog/identity/proxmox/models/pool.rb, line 39
def to_s
  poolid
end
update() click to toggle source
# File lib/fog/identity/proxmox/models/pool.rb, line 77
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 69
def update_with_member(member_name, member_id, delete = false)
  requires :poolid
  attr = attributes.reject { |key, _value| %i[poolid members].include? key }
  attr.store(member_name, member_id) if member_name
  attr.store('delete', 1) if delete
  service.update_pool(poolid, attr)
end