Sha256: ebaa662e2d289de04d51478155da41c8409943f27130f96f7a5315bc73303a35
Contents?: true
Size: 1.66 KB
Versions: 1
Compression:
Stored size: 1.66 KB
Contents
# frozen_string_literal: true # Copyright 2018 Tristan Robert # This file is part of Fog::Proxmox. # Fog::Proxmox is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # Fog::Proxmox is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with Fog::Proxmox. If not, see <http://www.gnu.org/licenses/>. require 'fog/proxmox/compute/models/volume' module Fog module Proxmox class Compute # class Volumes Collection of volumes class Volumes < Fog::Collection model Fog::Proxmox::Compute::Volume attribute :node_id attribute :storage_id def new(new_attributes = {}) super({ node_id: node_id, storage_id: storage_id }.merge(new_attributes)) end def all(filters = {}) load service.list_volumes(node_id, storage_id, filters) end def list_by_content_type(content) all.select { |volume| volume.content.include? content} end def list_by_content_type_and_by_server(content, vmid) all(vmid: vmid) end def get(id) new service.get_volume(node: node_id, storage: storage_id, volume: id) end def destroy(id) volume = get(id) volume.destroy end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
fog-proxmox-0.14.0 | lib/fog/proxmox/compute/models/volumes.rb |