Sha256: 88f9b568b314e7294fbceab813943a5b22d5e75d9dbafa87c10696c18dc3a6c3

Contents?: true

Size: 1.12 KB

Versions: 1

Compression:

Stored size: 1.12 KB

Contents

module Heirloom

  class ArtifactDestroyer

    def initialize(args)
      @config = args[:config]
      @logger = args[:logger]
    end

    def destroy(args)
      id = args[:id]
      name = args[:name]

      @logger.info "Destroying #{args[:name]} - #{args[:id]}"

      @config.regions.each do |region|
        puts "#{region}, #{name}, #{id}"
        bucket = artifact_reader.get_bucket :region => region,
                                            :name   => name,
                                            :id     => id
        key = "#{id}.tar.gz"

        @logger.info "Deleting 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
    end

    private

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

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

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

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