class Stax::Cmd::Sqs

Public Instance Methods

ls() click to toggle source
# File lib/stax/mixin/sqs.rb, line 21
def ls
  print_table stack_sqs_queues.map { |r|
    q = Aws::Sqs.get(r.physical_resource_id)
    [
      q['QueueArn'].split(':').last,
      q['ApproximateNumberOfMessages'],
      q['ApproximateNumberOfMessagesNotVisible'],
      Time.at(q['LastModifiedTimestamp'].to_i),
    ]
  }
end
purge() click to toggle source
# File lib/stax/mixin/sqs.rb, line 34
def purge
  stack_sqs_queues.each do |q|
    name = q.physical_resource_id.split('/').last
    if yes?("Purge queue #{name}?", :yellow)
      begin
        Aws::Sqs.purge(q.physical_resource_id)
      rescue ::Aws::SQS::Errors::PurgeQueueInProgress => e
        warn(e.message)
      end
    end
  end
end
stack_sqs_queues() click to toggle source
# File lib/stax/mixin/sqs.rb, line 15
def stack_sqs_queues
  Aws::Cfn.resources_by_type(my.stack_name, 'AWS::SQS::Queue')
end