1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
require 'fog/openstack/models/model'
require 'fog/openstack/compute/models/metadata'
module Fog
module OpenStack
class Compute
class Snapshot < Fog::OpenStack::Model
identity :id
attribute :name, :aliases => 'displayName'
attribute :description, :aliases => 'displayDescription'
attribute :volume_id, :aliases => 'volumeId'
attribute :created_at, :aliases => 'createdAt'
attribute :status
attribute :size
def save(force = false)
requires :volume_id, :name, :description
data = service.create_snapshot(volume_id, name, description, force)
merge_attributes(data.body['snapshot'])
true
end
def destroy
requires :id
service.delete_snapshot(id)
true
end
end
end
end
end
|