Sha256: c7cc93d3e28e674b7b66ab5b2373d04284753f5f8d7db5e1ca6c4de27dcce711

Contents?: true

Size: 733 Bytes

Versions: 7

Compression:

Stored size: 733 Bytes

Contents

class SQS < Mapper
  #
  # Returns an array of resources.
  #
  def collect
    resources = []

    #
    # list_queues
    #
    @client.list_queues.each_with_index do |response, page|
      log(response.context.operation_name, page)

      response.queue_urls.each do |queue|
        log(response.context.operation_name, queue.downcase.split('/').last, page)

        # get_queue_attributes
        struct = OpenStruct.new(@client.get_queue_attributes({ queue_url: queue, attribute_names: ['All'] }).attributes.to_h)
        struct.type = 'queue'
        struct.arn = struct.QueueArn
        struct.policy = struct.delete_field('Policy').parse_policy

        resources.push(struct.to_h)
      end
    end

    resources
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
aws_recon-0.2.25 lib/aws_recon/collectors/sqs.rb
aws_recon-0.2.24 lib/aws_recon/collectors/sqs.rb
aws_recon-0.2.23 lib/aws_recon/collectors/sqs.rb
aws_recon-0.2.22 lib/aws_recon/collectors/sqs.rb
aws_recon-0.2.21 lib/aws_recon/collectors/sqs.rb
aws_recon-0.2.20 lib/aws_recon/collectors/sqs.rb
aws_recon-0.2.19 lib/aws_recon/collectors/sqs.rb