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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9f8eb77fa88e21844c910909a863e1a5033a644a91bdc62d9952bc4b67715fbf
4
- data.tar.gz: ee1f2d299e2674417f1c2980b2196dfa8af51ecce84b6af5add02fedffeb27b5
3
+ metadata.gz: ab06e2234455890368901f2e77a508b85eadade6607284b5e4c7c12b2c536c54
4
+ data.tar.gz: 005abdaecb3dd41e3653e0d3947fc1108ce17ba10fa24a7d054957931ac59563
5
5
  SHA512:
6
- metadata.gz: d0f9cba8ae0517eba72c33c0da06f9bab7c4a6a9b4afd200cc2bbe3dfffed18925d449f98e0d32ad7923a199be53560c04f5201804b35b92b764bbe8b2c2aea8
7
- data.tar.gz: b5040b1374c7212fedd5f12e0a56c6698ca4f32f09d3ce120c518829c6d5d7c48401ce6c6fc40bef077b5f7126c539db0e35d3bb5a0448a9e1e51490d70132b3
6
+ metadata.gz: b26646f927869fbadc150e097bf27ebbb20e8341d92f4548edb5752a020188a9378c2b9a771e450b1d25cda36fa902b1395d22c9ceb8ffa1be8416e3705e5422
7
+ data.tar.gz: 924e79c3e97c3e7193f8b083922515011e32ca37d63298d0c5eefa521a7866fdc6d5cffc9f1c2679b4e7a20401f6300d7e77bb62c21b743821b87165e98fd316
@@ -1,10 +1,11 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- vaws (0.2.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
@@ -1,3 +1,3 @@
1
1
  module Vaws
2
- VERSION = "0.2.0"
2
+ VERSION = "0.3.0"
3
3
  end
@@ -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.2.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