vaws 0.2.0 → 0.3.0

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
  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