vaws 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +5 -1
- data/README.md +3 -0
- data/lib/vaws/aws/route53_describer.rb +48 -0
- data/lib/vaws/handlers/describer.rb +8 -0
- data/lib/vaws/version.rb +1 -1
- data/vaws.gemspec +1 -0
- metadata +16 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ab06e2234455890368901f2e77a508b85eadade6607284b5e4c7c12b2c536c54
|
4
|
+
data.tar.gz: 005abdaecb3dd41e3653e0d3947fc1108ce17ba10fa24a7d054957931ac59563
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b26646f927869fbadc150e097bf27ebbb20e8341d92f4548edb5752a020188a9378c2b9a771e450b1d25cda36fa902b1395d22c9ceb8ffa1be8416e3705e5422
|
7
|
+
data.tar.gz: 924e79c3e97c3e7193f8b083922515011e32ca37d63298d0c5eefa521a7866fdc6d5cffc9f1c2679b4e7a20401f6300d7e77bb62c21b743821b87165e98fd316
|
data/Gemfile.lock
CHANGED
@@ -1,10 +1,11 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
vaws (0.
|
4
|
+
vaws (0.3.0)
|
5
5
|
aws-sdk-ec2
|
6
6
|
aws-sdk-ecs
|
7
7
|
aws-sdk-elasticloadbalancingv2
|
8
|
+
aws-sdk-route53
|
8
9
|
terminal-table (~> 1.8.0)
|
9
10
|
thor (~> 0.20.3)
|
10
11
|
|
@@ -27,6 +28,9 @@ GEM
|
|
27
28
|
aws-sdk-elasticloadbalancingv2 (1.29.0)
|
28
29
|
aws-sdk-core (~> 3, >= 3.53.0)
|
29
30
|
aws-sigv4 (~> 1.1)
|
31
|
+
aws-sdk-route53 (1.25.0)
|
32
|
+
aws-sdk-core (~> 3, >= 3.53.0)
|
33
|
+
aws-sigv4 (~> 1.1)
|
30
34
|
aws-sigv4 (1.1.0)
|
31
35
|
aws-eventstream (~> 1.0, >= 1.0.2)
|
32
36
|
diff-lcs (1.3)
|
data/README.md
CHANGED
@@ -15,8 +15,11 @@ $ vaws help
|
|
15
15
|
Commands:
|
16
16
|
vaws alb # View Application Loadbalarancers
|
17
17
|
vaws ec2 # View EC2 instances
|
18
|
+
vaws ecs # View ECS
|
18
19
|
vaws help [COMMAND] # Describe available commands or one specific command
|
20
|
+
vaws route53 # View Route53
|
19
21
|
vaws subnet # View Subnet
|
22
|
+
vaws vpc # View Vpc
|
20
23
|
```
|
21
24
|
|
22
25
|
### View EC2 Instances
|
@@ -0,0 +1,48 @@
|
|
1
|
+
require 'aws-sdk-route53'
|
2
|
+
require 'vaws/aws/describer'
|
3
|
+
|
4
|
+
module Vaws
|
5
|
+
module Aws
|
6
|
+
class Route53Describer < Describer
|
7
|
+
attr_reader :term_table
|
8
|
+
|
9
|
+
def initialize
|
10
|
+
@r53_client = ::Aws::Route53::Client.new
|
11
|
+
@r53_hosted_zone_ids = []
|
12
|
+
@term_table = ''
|
13
|
+
end
|
14
|
+
|
15
|
+
def set_basic_info
|
16
|
+
rows = []
|
17
|
+
get_hosted_zone
|
18
|
+
|
19
|
+
@r53_hosted_zone_ids.each do |zone_id|
|
20
|
+
csv_record = []
|
21
|
+
record_alias = ''
|
22
|
+
records = @r53_client.list_resource_record_sets({ hosted_zone_id: "#{zone_id}", max_items: 1000 })
|
23
|
+
records.resource_record_sets.each do |record_sets|
|
24
|
+
record_name = record_sets.name
|
25
|
+
record_type = record_sets.type
|
26
|
+
record_ttl = record_sets.ttl
|
27
|
+
record_alias = record_sets.alias_target.dns_name if !record_sets.alias_target.nil?
|
28
|
+
record_sets.resource_records.each do |record|
|
29
|
+
csv_record << record.value
|
30
|
+
end
|
31
|
+
rows << [record_name, record_type, csv_record, record_ttl, record_alias]
|
32
|
+
csv_record = []
|
33
|
+
record_alias = ''
|
34
|
+
end
|
35
|
+
end
|
36
|
+
@term_table = Terminal::Table.new :headings => ['Fqdn', 'Type', 'Value', 'Ttl', 'Alias'], :rows => rows
|
37
|
+
end
|
38
|
+
|
39
|
+
private
|
40
|
+
|
41
|
+
def get_hosted_zone
|
42
|
+
@r53_client.list_hosted_zones({ max_items: 1000 }).hosted_zones.each do |zone|
|
43
|
+
@r53_hosted_zone_ids << zone.id
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -5,6 +5,7 @@ require 'vaws/aws/alb_describer'
|
|
5
5
|
require 'vaws/aws/subnet_describer'
|
6
6
|
require 'vaws/aws/vpc_describer'
|
7
7
|
require 'vaws/aws/ecs_describer'
|
8
|
+
require 'vaws/aws/route53_describer'
|
8
9
|
|
9
10
|
module Vaws
|
10
11
|
module Handlers
|
@@ -49,6 +50,13 @@ module Vaws
|
|
49
50
|
puts ecs_desc.term_table
|
50
51
|
end
|
51
52
|
|
53
|
+
desc 'route53', 'View Route53'
|
54
|
+
|
55
|
+
def route53
|
56
|
+
r53_desc = Vaws::Aws::Route53Describer.new
|
57
|
+
r53_desc.set_basic_info
|
58
|
+
puts r53_desc.term_table
|
59
|
+
end
|
52
60
|
end
|
53
61
|
end
|
54
62
|
end
|
data/lib/vaws/version.rb
CHANGED
data/vaws.gemspec
CHANGED
@@ -32,5 +32,6 @@ Gem::Specification.new do |spec|
|
|
32
32
|
spec.add_runtime_dependency "aws-sdk-ec2"
|
33
33
|
spec.add_runtime_dependency "aws-sdk-elasticloadbalancingv2"
|
34
34
|
spec.add_runtime_dependency "aws-sdk-ecs"
|
35
|
+
spec.add_runtime_dependency "aws-sdk-route53"
|
35
36
|
spec.add_runtime_dependency "terminal-table", "~> 1.8.0"
|
36
37
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vaws
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shota Ito
|
@@ -108,6 +108,20 @@ dependencies:
|
|
108
108
|
- - ">="
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: aws-sdk-route53
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
111
125
|
- !ruby/object:Gem::Dependency
|
112
126
|
name: terminal-table
|
113
127
|
requirement: !ruby/object:Gem::Requirement
|
@@ -148,6 +162,7 @@ files:
|
|
148
162
|
- lib/vaws/aws/describer.rb
|
149
163
|
- lib/vaws/aws/ec2_describer.rb
|
150
164
|
- lib/vaws/aws/ecs_describer.rb
|
165
|
+
- lib/vaws/aws/route53_describer.rb
|
151
166
|
- lib/vaws/aws/subnet_describer.rb
|
152
167
|
- lib/vaws/aws/vpc_describer.rb
|
153
168
|
- lib/vaws/handlers/describer.rb
|