Sha256: 59be8817ca57f8a1cc270784d440fae92d57d1c6c41af04f6e45bf5f674b7519

Contents?: true

Size: 1.17 KB

Versions: 1

Compression:

Stored size: 1.17 KB

Contents

module Heirloom

  class ArtifactDestroyer

    attr_accessor :config, :id, :logger, :name

    def initialize(args)
      self.config = args[:config]
      self.name = args[:name]
      self.id = args[:id]
      self.logger = config.logger
    end

    def destroy
      logger.info "Destroying #{@name} - #{@id}"

      config.regions.each do |region|
        bucket = artifact_reader.get_bucket :region => region

        key = "#{id}.tar.gz"

        logger.info "Destroying 's3://#{bucket}/#{name}/#{key}'."

        s3_destroyer = Destroyer::S3.new :config => config,
                                         :region => region

        s3_destroyer.destroy_file :key_name => key,
                                  :key_folder => name,
                                  :bucket => bucket

      end
      sdb.delete name, id
      logger.info "Destroy complete."
    end

    private

    def sdb
      @sdb ||= AWS::SimpleDB.new :config => @config
    end

    def artifact_reader
      @artifact_reader ||= ArtifactReader.new :config => config,
                                              :name   => name,
                                              :id     => id
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
heirloom-0.1.4 lib/heirloom/artifact/artifact_destroyer.rb