1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/lib/fog/google/models/compute/snapshot.rb
Paul Thornthwaite 2e0b7e545a Standardise empty lines throughout codebase
Done with `rubocop --auto-correct --only EmptyLineBetweenDefs,EmptyLines,EmptyLinesAroundBody`
2014-05-26 14:20:02 +01:00

48 lines
1.4 KiB
Ruby

require 'fog/core/model'
module Fog
module Compute
class Google
class Snapshot < Fog::Model
identity :name
attribute :kind
attribute :self_link , :aliases => 'selfLink'
attribute :creation_timestamp, :aliases => 'creationTimestamp'
attribute :disk_size_gb , :aliases => 'diskSizeGb'
attribute :source_disk , :aliases => 'sourceDisk'
attribute :source_disk_id , :aliases => 'sourceDiskId'
attribute :description
attribute :status
attribute :id
attribute :storage_bytes , :aliases => 'storageBytes'
attribute :storage_bytes_status , :aliases => 'storageBytesStatus'
CREATING_STATE = 'CREATING'
DELETING_STATE = 'DELETING'
FAILED_STATE = 'FAILED'
READY_STATE = 'READY'
UPLOADING_STATE = 'UPLOADING'
def destroy(async=true)
requires :identity
data = service.delete_snapshot(identity)
operation = Fog::Compute::Google::Operations.new(:service => service).get(data.body['name'])
unless async
operation.wait_for { ready? }
end
operation
end
def ready?
self.status == READY_STATE
end
def resource_url
"#{self.service.project}/global/snapshots/#{name}"
end
end
end
end
end