Sha256: 9eb0032e4ce6bcce2b08aec2f467be54bc85f16e8d720856f31b1af905835589

Contents?: true

Size: 1.48 KB

Versions: 22

Compression:

Stored size: 1.48 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(id)
        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

22 entries across 22 versions & 5 rubygems

Version Path
vagrant-cloudstack-1.1.0 vendor/bundle/gems/fog-1.22.1/lib/fog/aws/models/glacier/vault.rb
fog-aws-0.1.1 lib/fog/aws/models/glacier/vault.rb
fog-aws-0.1.0 lib/fog/aws/models/glacier/vault.rb
fog-aws-0.0.8 lib/fog/aws/models/glacier/vault.rb
fog-aws-0.0.7 lib/fog/aws/models/glacier/vault.rb
fog-aws-0.0.6 lib/fog/aws/models/glacier/vault.rb
fog-aws-0.0.5 lib/fog/aws/models/glacier/vault.rb
fog-1.26.0 lib/fog/aws/models/glacier/vault.rb
fog-1.25.0 lib/fog/aws/models/glacier/vault.rb
nsidc-fog-1.24.1 lib/fog/aws/models/glacier/vault.rb
fog-1.24.0 lib/fog/aws/models/glacier/vault.rb
ns-fog-1.22.11 lib/fog/aws/models/glacier/vault.rb
ns-fog-1.22.10 lib/fog/aws/models/glacier/vault.rb
ns-fog-1.22.9 lib/fog/aws/models/glacier/vault.rb
ns-fog-1.22.8 lib/fog/aws/models/glacier/vault.rb
ns-fog-1.22.7 lib/fog/aws/models/glacier/vault.rb
ns-fog-1.22.6 lib/fog/aws/models/glacier/vault.rb
fog-1.23.0 lib/fog/aws/models/glacier/vault.rb
ns-fog-1.22.4 lib/fog/aws/models/glacier/vault.rb
ns-fog-1.22.3 lib/fog/aws/models/glacier/vault.rb