Sha256: 92891c62aa2cc09b8c321af986da7a12b08147bcb86f97961282cc05542806a7

Contents?: true

Size: 942 Bytes

Versions: 15

Compression:

Stored size: 942 Bytes

Contents

class BuildCloud::SQSQueue

    include ::BuildCloud::Component

    @@objects = []

    def initialize ( fog_interfaces, log, options = {} )

        @sqs     = fog_interfaces[:sqs]
        @log     = log
        @options = options

        @log.debug( options.inspect )

        required_options(:name)

    end

    def create
        
        return if exists?

        name = @options[:name]
        @log.info( "Creating SQS queue #{@options[:name]}" )
        @options.delete(:name)
        @log.debug( "Options are: #{@options}" )
        @sqs.create_queue(name, @options )
        @log.debug("#{@sqs.list_queues.body}")
        
    end

    def read
        @sqs.list_queues({'QueueNamePrefix' => "#{@options[:name]}"}).body.first.last[0]
    end

    alias_method :fog_object, :read

    def delete

        return unless exists?
        @log.info( "Deleting SQS queue #{@options[:name]}" )
        fog_object.destroy

    end

end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
build-cloud-1.1.7 lib/build-cloud/sqsqueue.rb
build-cloud-1.1.6 lib/build-cloud/sqsqueue.rb
build-cloud-1.1.5 lib/build-cloud/sqsqueue.rb
build-cloud-1.1.4 lib/build-cloud/sqsqueue.rb
build-cloud-1.1.3 lib/build-cloud/sqsqueue.rb
build-cloud-1.1.2 lib/build-cloud/sqsqueue.rb
build-cloud-1.0.1 lib/build-cloud/sqsqueue.rb
build-cloud-1.1.1 lib/build-cloud/sqsqueue.rb
build-cloud-1.0.0 lib/build-cloud/sqsqueue.rb
build-cloud-0.0.24 lib/build-cloud/sqsqueue.rb
build-cloud-0.0.23 lib/build-cloud/sqsqueue.rb
build-cloud-0.0.22 lib/build-cloud/sqsqueue.rb
build-cloud-0.0.21 lib/build-cloud/sqsqueue.rb
build-cloud-0.0.20 lib/build-cloud/sqsqueue.rb
build-cloud-0.0.19 lib/build-cloud/sqsqueue.rb