awsm 0.2.5 → 0.2.6
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 +4 -4
- data/awsm.gemspec +0 -2
- data/lib/awsm.rb +2 -1
- data/lib/awsm/cli/dns.rb +51 -0
- data/lib/awsm/cli/main.rb +3 -23
- data/lib/awsm/version.rb +1 -1
- metadata +3 -31
- data/lib/awsm/dns.rb +0 -45
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 059a7ddc0821863abf79fce6d5c5177ebd20e828
|
4
|
+
data.tar.gz: 847f851e2d3cc69b95257416f2133dc1bab52ce1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5dac952265d424612e1f9af3b11c77dafa053177f92b605621559186e6227ce3956d91a653c3135a094669f4a109a22ef6a0d906021b35f25f9cfd276ada30b9
|
7
|
+
data.tar.gz: 926f4ce4d1878150df34d08cfee5770fc7a1e47d5d7e99c68b55380075504201658e69c2c2ed37aacd8d14cc5954fa25fb0e3283f983f103b3032df500301d50
|
data/awsm.gemspec
CHANGED
@@ -21,8 +21,6 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.add_runtime_dependency 'thor', '~> 0.19'
|
22
22
|
spec.add_runtime_dependency 'aws-sdk', '~> 2'
|
23
23
|
spec.add_runtime_dependency 'terminal-table', '~> 1.4'
|
24
|
-
spec.add_runtime_dependency 'vcr', '~> 2.9'
|
25
|
-
spec.add_runtime_dependency 'fakeweb', '~> 1.3'
|
26
24
|
|
27
25
|
spec.add_development_dependency 'bundler', '~> 1.6'
|
28
26
|
spec.add_development_dependency "pry", '~> 0.10'
|
data/lib/awsm.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'aws-sdk'
|
1
2
|
require 'yaml'
|
2
3
|
require 'thor'
|
3
4
|
require 'terminal-table'
|
@@ -9,7 +10,6 @@ require 'awsm/configure'
|
|
9
10
|
|
10
11
|
require 'awsm/loadbalancers'
|
11
12
|
require 'awsm/autoscalinggroups'
|
12
|
-
require 'awsm/dns'
|
13
13
|
require 'awsm/instances'
|
14
14
|
|
15
15
|
require 'awsm/tablebase'
|
@@ -18,6 +18,7 @@ require 'awsm/table/image'
|
|
18
18
|
|
19
19
|
require 'awsm/clibase'
|
20
20
|
require 'awsm/cli/tag'
|
21
|
+
require 'awsm/cli/dns'
|
21
22
|
require 'awsm/cli/unused'
|
22
23
|
require 'awsm/cli/spin'
|
23
24
|
require 'awsm/cli/main'
|
data/lib/awsm/cli/dns.rb
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
module Awsm
|
2
|
+
module CLI
|
3
|
+
class Dns < Clibase
|
4
|
+
|
5
|
+
desc 'list', 'list'
|
6
|
+
method_option :type, :type => :string, :default => 'A,AAAA,CNAME'
|
7
|
+
method_option :record, :type => :string, :default => nil
|
8
|
+
def list
|
9
|
+
r53 = Aws::Route53::Client.new
|
10
|
+
|
11
|
+
record_sets = []
|
12
|
+
r53.list_hosted_zones_by_name.hosted_zones.each do |hz|
|
13
|
+
r53.list_resource_record_sets( hosted_zone_id: hz.id )
|
14
|
+
.resource_record_sets.each do |rrs|
|
15
|
+
record_sets << rrs
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
types = []
|
20
|
+
unless options[:type].nil?
|
21
|
+
types = options[:type].dup.upcase.split( ',' )
|
22
|
+
record_sets.select! do |rrs|
|
23
|
+
types.include?( rrs.type )
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
records = []
|
28
|
+
unless options[:record].nil?
|
29
|
+
records = options[:record].dup.split( ',' )
|
30
|
+
record_sets.select! do |rrs|
|
31
|
+
records.include?( rrs.name )
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
record_sets.each do |rrs|
|
36
|
+
say "#{rrs.name} ", :green
|
37
|
+
say "(#{rrs.type})", :yellow
|
38
|
+
unless rrs.alias_target.nil?
|
39
|
+
say "\t #{rrs.alias_target.dns_name}"
|
40
|
+
else
|
41
|
+
rrs.resource_records.each do |rr|
|
42
|
+
say "\t #{rr.value}"
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
end
|
48
|
+
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
data/lib/awsm/cli/main.rb
CHANGED
@@ -19,6 +19,9 @@ module Awsm
|
|
19
19
|
desc 'tag', 'Search by tags'
|
20
20
|
subcommand 'tag', Awsm::CLI::Tag
|
21
21
|
|
22
|
+
desc 'dns', 'DNS tools'
|
23
|
+
subcommand 'dns', Awsm::CLI::Dns
|
24
|
+
|
22
25
|
desc "specific <comma-separated-elb-names>",
|
23
26
|
"Only find specific ELBs named in a comma-separated list."
|
24
27
|
def specific( elb_names )
|
@@ -37,25 +40,6 @@ module Awsm
|
|
37
40
|
results.each { |elb| print_result(elb) }
|
38
41
|
end
|
39
42
|
|
40
|
-
desc "r53 [dns-name]",
|
41
|
-
"Show me what <dns-name> points at."
|
42
|
-
def r53( dns_name )
|
43
|
-
dns_len = dns_name.length
|
44
|
-
|
45
|
-
say "#{dns_name} ", :yellow
|
46
|
-
say "=> ", :bold
|
47
|
-
dns.get_by_record( dns_name ).each_with_index do |r, i|
|
48
|
-
if i > 0
|
49
|
-
say " " * ( dns_len + 4 )
|
50
|
-
end
|
51
|
-
say "(#{r.type}) ", :green
|
52
|
-
case r.type
|
53
|
-
when "A"
|
54
|
-
say "#{r.alias_target.dns_name}", :cyan
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|
58
|
-
|
59
43
|
no_commands do
|
60
44
|
def load_balancers
|
61
45
|
Awsm::LoadBalancers.new
|
@@ -65,10 +49,6 @@ module Awsm
|
|
65
49
|
Awsm::Instances.new
|
66
50
|
end
|
67
51
|
|
68
|
-
def dns
|
69
|
-
Awsm::Dns.new
|
70
|
-
end
|
71
|
-
|
72
52
|
def asg
|
73
53
|
Awsm::AutoScalingGroups.new
|
74
54
|
end
|
data/lib/awsm/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: awsm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Kendell
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-05-
|
11
|
+
date: 2015-05-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -52,34 +52,6 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '1.4'
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: vcr
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - "~>"
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '2.9'
|
62
|
-
type: :runtime
|
63
|
-
prerelease: false
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - "~>"
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '2.9'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: fakeweb
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - "~>"
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '1.3'
|
76
|
-
type: :runtime
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - "~>"
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: '1.3'
|
83
55
|
- !ruby/object:Gem::Dependency
|
84
56
|
name: bundler
|
85
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -128,13 +100,13 @@ files:
|
|
128
100
|
- bin/awsm
|
129
101
|
- lib/awsm.rb
|
130
102
|
- lib/awsm/autoscalinggroups.rb
|
103
|
+
- lib/awsm/cli/dns.rb
|
131
104
|
- lib/awsm/cli/main.rb
|
132
105
|
- lib/awsm/cli/spin.rb
|
133
106
|
- lib/awsm/cli/tag.rb
|
134
107
|
- lib/awsm/cli/unused.rb
|
135
108
|
- lib/awsm/clibase.rb
|
136
109
|
- lib/awsm/configure.rb
|
137
|
-
- lib/awsm/dns.rb
|
138
110
|
- lib/awsm/instances.rb
|
139
111
|
- lib/awsm/loadbalancers.rb
|
140
112
|
- lib/awsm/table/image.rb
|
data/lib/awsm/dns.rb
DELETED
@@ -1,45 +0,0 @@
|
|
1
|
-
require 'aws-sdk-core'
|
2
|
-
|
3
|
-
module Awsm
|
4
|
-
class Dns
|
5
|
-
def initialize
|
6
|
-
@client = Aws::Route53::Client.new
|
7
|
-
@dns_map_by_target = {}
|
8
|
-
@records = []
|
9
|
-
load_dns_records
|
10
|
-
end
|
11
|
-
|
12
|
-
def find_for( target )
|
13
|
-
@dns_map_by_target[ target ]
|
14
|
-
end
|
15
|
-
|
16
|
-
def get_by_record( record )
|
17
|
-
@records.select do |r|
|
18
|
-
r.name =~ /^#{record}/
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
def load_dns_records
|
23
|
-
paged_response = @client.list_resource_record_sets(
|
24
|
-
hosted_zone_id: Awsm::dns_config.hosted_zone
|
25
|
-
)
|
26
|
-
|
27
|
-
paged_response.each_page do |p|
|
28
|
-
records = p.resource_record_sets.select do |r|
|
29
|
-
r.type == 'A' || r.type == 'CNAME'
|
30
|
-
end
|
31
|
-
|
32
|
-
records.each do |r|
|
33
|
-
if r.resource_records == []
|
34
|
-
target = r.alias_target.dns_name
|
35
|
-
else
|
36
|
-
target = r.resource_records[0].value
|
37
|
-
end
|
38
|
-
|
39
|
-
@dns_map_by_target[target] = r.name
|
40
|
-
@records << r
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|