Sha256: b7e366a8c486b3afe863a458ee81e7f1b5175d293bb743510753ecc516b1560d
Contents?: true
Size: 1.62 KB
Versions: 2
Compression:
Stored size: 1.62 KB
Contents
require 'fog/cloudsigma/nested_model' module Fog module Compute class CloudSigma class Volume < Fog::CloudSigma::CloudsigmaModel identity :uuid attribute :status, :type => :string attribute :jobs attribute :name, :type => :string attribute :tags attribute :media, :type => :string attribute :mounted_on attribute :owner attribute :meta attribute :allow_multimount, :type => :boolean attribute :licenses attribute :affinities, :type => :array attribute :size, :type => :integer attribute :resource_uri, :type => :string def save if persisted? update else create end end def create requires :name, :size, :media data = attributes response = service.create_volume(data) new_attributes = response.body['objects'].first merge_attributes(new_attributes) end def update requires :identity, :name, :size, :media data = attributes() response = service.update_volume(identity, data) new_attributes = response.body merge_attributes(new_attributes) end def destroy requires :identity service.delete_volume(identity) true end alias :delete :destroy def clone(clone_params={}) requires :identity response = service.clone_volume(identity, clone_params) self.class.new(response.body['objects'].first) end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
fog-1.22.0 | lib/fog/cloudsigma/models/volume.rb |
fog-1.21.0 | lib/fog/cloudsigma/models/volume.rb |