Sha256: a6eea02df0d7ce211cb248c09fce31965b9c54f10a8aae114bec6c3aff7440b4

Contents?: true

Size: 1.47 KB

Versions: 35

Compression:

Stored size: 1.47 KB

Contents

require 'fog/core/model'
require 'fog/aws/models/glacier/archives'
require 'fog/aws/models/glacier/jobs'

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

        def archives
          @archives ||= Fog::AWS::Glacier::Archives.new(:vault => self, :service => service)
        end

        def jobs(filters={})
          Fog::AWS::Glacier::Jobs.new(:vault => self, :service => service, :filters => filters)
        end

        def set_notification_configuration(topic, events)
          service.set_vault_notification_configuration(id, topic, events)
        end

        def delete_notification_configuration
          service.delete_vault_notification_configuration
        end

        def save
          requires :id
          service.create_vault(id)
          reload
        end

        def destroy
          requires :id
          service.delete_vault(id)
        end

      end
    end
  end
end

Version data entries

35 entries across 35 versions & 6 rubygems

Version Path
fog-maestrodev-1.18.0.20131121075022 lib/fog/aws/models/glacier/vault.rb
fog-maestrodev-1.18.0.20131118164830 lib/fog/aws/models/glacier/vault.rb
fog-maestrodev-1.18.0.20131115184302 lib/fog/aws/models/glacier/vault.rb
fog-maestrodev-1.18.0.20131114200144 lib/fog/aws/models/glacier/vault.rb
gapinc-fog-1.12.1.2.1 lib/fog/aws/models/glacier/vault.rb
fog-maestrodev-1.18.0.20131112185232 lib/fog/aws/models/glacier/vault.rb
fog-maestrodev-1.18.0.20131111203459 lib/fog/aws/models/glacier/vault.rb
fog-1.18.0 lib/fog/aws/models/glacier/vault.rb
fog-1.17.0 lib/fog/aws/models/glacier/vault.rb
fog-1.16.0 lib/fog/aws/models/glacier/vault.rb
fog-maestrodev-1.15.0.20130927082724 lib/fog/aws/models/glacier/vault.rb
fog-maestrodev-1.15.0.20130829165835 lib/fog/aws/models/glacier/vault.rb
fog-1.15.0 lib/fog/aws/models/glacier/vault.rb
gapinc-fog-1.14.0 lib/fog/aws/models/glacier/vault.rb
fog-maestrodev-1.14.0.20130806165225 lib/fog/aws/models/glacier/vault.rb
fog-1.14.0 lib/fog/aws/models/glacier/vault.rb
fog-1.13.0 lib/fog/aws/models/glacier/vault.rb
gapinc-fog-1.12.1.2 lib/fog/aws/models/glacier/vault.rb
gapinc-fog-1.12.1.1 lib/fog/aws/models/glacier/vault.rb
gapinc-fog-1.12.1a lib/fog/aws/models/glacier/vault.rb