awful 0.0.98 → 0.0.99

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d8b4b3f169f2594157d6dc35073d3484b9ba8e0e
4
- data.tar.gz: e82ad34e48dfca330c7707416e88b5d40422251a
3
+ metadata.gz: f1935f189e3bb66a8e2d91d3eb0c517400ad25ab
4
+ data.tar.gz: 093c657cd3dd61d75d61d5dc4db3351de8911d5f
5
5
  SHA512:
6
- metadata.gz: b963f227b191703a938091e02e04bd1cb5cb7d51aa9b30bfb827ce578f7a521d33dbedc69fa49b762db070ab8ab80a5b20b725db4cf0c5f94941b9083c694dfc
7
- data.tar.gz: 32a5ddb9c3ba493b3278c99ba43d1addec2e9f27fb4beb91a3c0337fc0c60243af7972f6548d6ab4d682e9cb82b9d27672dc8433ea613ec4c050f225acf3c1a2
6
+ metadata.gz: bbf648caf7fc17846ad50e5b4237b8a640994f012a3bd89ee941a8f87e26436adb0fcb1f515ba750cee148a48f8f305b37b8f64719279e650631bbfc3453e1eb
7
+ data.tar.gz: 9b28d690e769b5d681380997f7e8be742a7ceed7033e96368f6e9a1bc55e8d51723096447be35c49dc0ac8479707b67e33e11641c33212aeba328848821d9520
data/bin/sqs ADDED
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/ruby
2
+ #-*- mode: ruby; -*-
3
+
4
+ require 'awful'
5
+ require 'awful/sqs'
6
+
7
+ Awful::SQS.start(ARGV)
data/lib/awful/sqs.rb ADDED
@@ -0,0 +1,54 @@
1
+ module Awful
2
+ module Short
3
+ def sqs(*args)
4
+ Awful::SQS.new.invoke(*args)
5
+ end
6
+ end
7
+
8
+ class SQS < Cli
9
+ no_commands do
10
+ def sqs
11
+ @sqs ||= Aws::SQS::Client.new
12
+ end
13
+
14
+ def is_url?(str)
15
+ str =~ /\A#{URI::regexp}\z/
16
+ end
17
+ end
18
+
19
+ desc 'ls [PATTERN]', 'list subnets [with any tags matching PATTERN]'
20
+ method_option :long, aliases: '-l', default: false, desc: 'Long listing'
21
+ def ls(prefix = nil)
22
+ queues = sqs.list_queues(queue_name_prefix: prefix).queue_urls
23
+ attr = %w[QueueArn ApproximateNumberOfMessages ApproximateNumberOfMessagesNotVisible LastModifiedTimestamp]
24
+ if options[:long]
25
+ queues.map do |queue|
26
+ sqs.get_queue_attributes(queue_url: queue, attribute_names: attr).attributes
27
+ end.tap do |list|
28
+ print_table list.map { |q|
29
+ [
30
+ q['QueueArn'].split(':').last,
31
+ q['ApproximateNumberOfMessages'],
32
+ q['ApproximateNumberOfMessagesNotVisible'],
33
+ Time.at(q['LastModifiedTimestamp'].to_i)
34
+ ]
35
+ }
36
+ end
37
+ else
38
+ queues.map { |q| q.split('/').last }.tap(&method(:puts))
39
+ end
40
+ end
41
+
42
+ desc 'dump NAME_OR_URL ...', 'get attributes for queues by queue name or url'
43
+ def dump(*names)
44
+ names.map do |name|
45
+ url = is_url?(name) ? name : sqs.get_queue_url(queue_name: name).queue_url
46
+ sqs.get_queue_attributes(queue_url: url, attribute_names: %w[All]).attributes
47
+ end.tap do |queues|
48
+ queues.each do |queue|
49
+ puts YAML.dump(stringify_keys(queue))
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
data/lib/awful/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Awful
2
- VERSION = '0.0.98'
2
+ VERSION = '0.0.99'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: awful
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.98
4
+ version: 0.0.99
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ric Lister
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-04-07 00:00:00.000000000 Z
11
+ date: 2016-04-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -102,6 +102,7 @@ executables:
102
102
  - route
103
103
  - s3
104
104
  - sg
105
+ - sqs
105
106
  - ssm
106
107
  - sts
107
108
  - subnet
@@ -134,6 +135,7 @@ files:
134
135
  - bin/route
135
136
  - bin/s3
136
137
  - bin/sg
138
+ - bin/sqs
137
139
  - bin/ssm
138
140
  - bin/sts
139
141
  - bin/subnet
@@ -160,6 +162,7 @@ files:
160
162
  - lib/awful/route_table.rb
161
163
  - lib/awful/s3.rb
162
164
  - lib/awful/security_group.rb
165
+ - lib/awful/sqs.rb
163
166
  - lib/awful/ssm.rb
164
167
  - lib/awful/sts.rb
165
168
  - lib/awful/subnet.rb