2012-09-01 19:03:24 -04:00
|
|
|
require 'fog/core/model'
|
2012-09-01 19:47:02 -04:00
|
|
|
require 'fog/aws/models/glacier/archives'
|
2012-09-01 20:06:44 -04:00
|
|
|
require 'fog/aws/models/glacier/jobs'
|
2012-09-01 19:47:02 -04:00
|
|
|
|
2012-09-01 19:03:24 -04:00
|
|
|
module Fog
|
|
|
|
module AWS
|
|
|
|
class Glacier
|
|
|
|
|
|
|
|
class Vault < Fog::Model
|
|
|
|
|
|
|
|
identity :id, :aliases => 'VaultName'
|
|
|
|
attribute :created_at, :aliases => 'CreationDate', :type => :time
|
|
|
|
attribute :last_inventory_at, :aliases => 'LastInventoryDate', :type => :time
|
|
|
|
attribute :number_of_archives, :aliases => 'NumberOfArchives', :type => :integer
|
|
|
|
attribute :size_in_bytes, :aliases => 'SizeInBytes', :type => :integer
|
|
|
|
attribute :arn, :aliases => 'VaultARN'
|
|
|
|
|
|
|
|
def ready?
|
|
|
|
# Glacier requests are synchronous
|
|
|
|
true
|
|
|
|
end
|
|
|
|
|
2012-09-01 19:47:02 -04:00
|
|
|
def archives
|
|
|
|
@archives ||= Fog::AWS::Glacier::Archives.new(:vault => self, :connection => connection)
|
|
|
|
end
|
|
|
|
|
2012-09-01 20:06:44 -04:00
|
|
|
def jobs
|
|
|
|
@jobs ||= Fog::AWS::Glacier::Jobs.new(:vault => self, :connection => connection)
|
|
|
|
end
|
|
|
|
|
2012-09-01 19:03:24 -04:00
|
|
|
def save
|
|
|
|
requires :id
|
|
|
|
data = connection.create_vault(id)
|
|
|
|
reload
|
|
|
|
end
|
|
|
|
|
|
|
|
def destroy
|
|
|
|
requires :id
|
|
|
|
connection.delete_vault(id)
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|