Sha256: 95cb346ff959de3d699d5071ce0d88e9c3e63187bfb3566cf490859e0b17282e

Contents?: true

Size: 1.45 KB

Versions: 76

Compression:

Stored size: 1.45 KB

Contents

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

76 entries across 74 versions & 3 rubygems

Version Path
fog-aws-3.30.0 lib/fog/aws/models/glacier/vault.rb
fog-aws-3.29.0 lib/fog/aws/models/glacier/vault.rb
fog-aws-3.28.0 lib/fog/aws/models/glacier/vault.rb
fog-aws-3.27.0 lib/fog/aws/models/glacier/vault.rb
fog-aws-3.26.0 lib/fog/aws/models/glacier/vault.rb
fog-aws-3.25.0 lib/fog/aws/models/glacier/vault.rb
fog-aws-3.24.0 lib/fog/aws/models/glacier/vault.rb
fog-aws-3.23.0 lib/fog/aws/models/glacier/vault.rb
fog-aws-3.22.0 lib/fog/aws/models/glacier/vault.rb
fog-aws-3.21.1 lib/fog/aws/models/glacier/vault.rb
fog-aws-3.21.0 lib/fog/aws/models/glacier/vault.rb
fog-aws-3.20.0 lib/fog/aws/models/glacier/vault.rb
fog-aws-3.19.0 lib/fog/aws/models/glacier/vault.rb
fog-aws-3.18.0 lib/fog/aws/models/glacier/vault.rb
fog-aws-3.17.0 lib/fog/aws/models/glacier/vault.rb
fog-aws-3.16.0 lib/fog/aws/models/glacier/vault.rb
fog-aws-3.15.0 lib/fog/aws/models/glacier/vault.rb
fog-aws-3.14.0 lib/fog/aws/models/glacier/vault.rb
fog-aws-3.13.0 lib/fog/aws/models/glacier/vault.rb
fog-aws-3.12.0 lib/fog/aws/models/glacier/vault.rb