vaws 0.5.0 → 0.6.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: 7498975272d338324bbd21395378d23fe1f8a699f5fcfa615a9c01b3593f3f6c
4
- data.tar.gz: cc63c593be88355d1de831327e8bf04bb556b08df0c1ef38fa9fc21a49a349d7
3
+ metadata.gz: e328b98c6962547a8b484d493fbb7d253fdef2eaadcd5bcb233817dc04c9b273
4
+ data.tar.gz: b8b9af474656884071c3f4dac7269f718b31a4cb58fe1f0b3778de3c7c72d3bb
5
5
  SHA512:
6
- metadata.gz: 4ee52f3846c757dfdd9f007d16801d36ac54d26f307ac255c2fd7984a1f4cc2a23a40e416b007396681b1042a3ee0ef0097824dd2cf48e0eca768d34e690b45d
7
- data.tar.gz: d81e7dfb1bb3a505bc4790350db5087e4317ff0d0e5075a24962d305ed8455332c4534637a9ba107df9f51c7382d1a888c2c88d50ef8a1741f6985ca40238289
6
+ metadata.gz: ed5d07e00d623e6a69e6336a202658055b8075ff4f9294c8baa446a208b6eff649257afbc76933cc757970df3e215c7d36f0371776a37ba8d3bdbb228f4ef36a
7
+ data.tar.gz: d2abaaf9d009bbeb35ca2293bf42acf3fbcb1176d871da8d9031552e5e0b2505d3d1e9daedfd1b59bb76e1784d0c10c7fb571b17d965c63303326be1b8086c87
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- vaws (0.5.0)
4
+ vaws (0.6.0)
5
5
  aws-sdk-acm
6
6
  aws-sdk-ec2
7
7
  aws-sdk-ecs
@@ -15,61 +15,61 @@ GEM
15
15
  remote: https://rubygems.org/
16
16
  specs:
17
17
  aws-eventstream (1.0.3)
18
- aws-partitions (1.175.0)
19
- aws-sdk-acm (1.22.0)
20
- aws-sdk-core (~> 3, >= 3.53.0)
18
+ aws-partitions (1.281.0)
19
+ aws-sdk-acm (1.27.0)
20
+ aws-sdk-core (~> 3, >= 3.71.0)
21
21
  aws-sigv4 (~> 1.1)
22
- aws-sdk-core (3.55.0)
22
+ aws-sdk-core (3.90.1)
23
23
  aws-eventstream (~> 1.0, >= 1.0.2)
24
- aws-partitions (~> 1.0)
24
+ aws-partitions (~> 1, >= 1.239.0)
25
25
  aws-sigv4 (~> 1.1)
26
26
  jmespath (~> 1.0)
27
- aws-sdk-ec2 (1.93.0)
28
- aws-sdk-core (~> 3, >= 3.53.0)
27
+ aws-sdk-ec2 (1.148.0)
28
+ aws-sdk-core (~> 3, >= 3.71.0)
29
29
  aws-sigv4 (~> 1.1)
30
- aws-sdk-ecs (1.41.0)
31
- aws-sdk-core (~> 3, >= 3.53.0)
30
+ aws-sdk-ecs (1.57.0)
31
+ aws-sdk-core (~> 3, >= 3.71.0)
32
32
  aws-sigv4 (~> 1.1)
33
- aws-sdk-elasticloadbalancingv2 (1.29.0)
34
- aws-sdk-core (~> 3, >= 3.53.0)
33
+ aws-sdk-elasticloadbalancingv2 (1.40.1)
34
+ aws-sdk-core (~> 3, >= 3.71.0)
35
35
  aws-sigv4 (~> 1.1)
36
- aws-sdk-route53 (1.25.0)
37
- aws-sdk-core (~> 3, >= 3.53.0)
36
+ aws-sdk-route53 (1.30.0)
37
+ aws-sdk-core (~> 3, >= 3.71.0)
38
38
  aws-sigv4 (~> 1.1)
39
- aws-sdk-ssm (1.49.0)
40
- aws-sdk-core (~> 3, >= 3.53.0)
39
+ aws-sdk-ssm (1.71.0)
40
+ aws-sdk-core (~> 3, >= 3.71.0)
41
41
  aws-sigv4 (~> 1.1)
42
- aws-sigv4 (1.1.0)
42
+ aws-sigv4 (1.1.1)
43
43
  aws-eventstream (~> 1.0, >= 1.0.2)
44
44
  diff-lcs (1.3)
45
45
  jmespath (1.4.0)
46
- rake (10.5.0)
47
- rspec (3.8.0)
48
- rspec-core (~> 3.8.0)
49
- rspec-expectations (~> 3.8.0)
50
- rspec-mocks (~> 3.8.0)
51
- rspec-core (3.8.0)
52
- rspec-support (~> 3.8.0)
53
- rspec-expectations (3.8.3)
46
+ rake (13.0.1)
47
+ rspec (3.9.0)
48
+ rspec-core (~> 3.9.0)
49
+ rspec-expectations (~> 3.9.0)
50
+ rspec-mocks (~> 3.9.0)
51
+ rspec-core (3.9.1)
52
+ rspec-support (~> 3.9.1)
53
+ rspec-expectations (3.9.0)
54
54
  diff-lcs (>= 1.2.0, < 2.0)
55
- rspec-support (~> 3.8.0)
56
- rspec-mocks (3.8.0)
55
+ rspec-support (~> 3.9.0)
56
+ rspec-mocks (3.9.1)
57
57
  diff-lcs (>= 1.2.0, < 2.0)
58
- rspec-support (~> 3.8.0)
59
- rspec-support (3.8.0)
58
+ rspec-support (~> 3.9.0)
59
+ rspec-support (3.9.2)
60
60
  terminal-table (1.8.0)
61
61
  unicode-display_width (~> 1.1, >= 1.1.1)
62
62
  thor (0.20.3)
63
- unicode-display_width (1.6.0)
63
+ unicode-display_width (1.6.1)
64
64
 
65
65
  PLATFORMS
66
66
  ruby
67
67
 
68
68
  DEPENDENCIES
69
- bundler (~> 1.17)
70
- rake (~> 10.0)
69
+ bundler (~> 2.0)
70
+ rake (~> 13.0)
71
71
  rspec (~> 3.0)
72
72
  vaws!
73
73
 
74
74
  BUNDLED WITH
75
- 1.17.3
75
+ 2.1.2
data/README.md CHANGED
@@ -38,6 +38,21 @@ $ vaws ec2
38
38
  $
39
39
  ```
40
40
 
41
+ ### View Security Group
42
+
43
+ ```bash
44
+ s$ bundle exec ruby exe/vaws sg
45
+ +----------------+----------------------+----------------------------------+----------+
46
+ | Name | Id | Inbound(Cidr|Securitygroup:Port) | Protocol |
47
+ +----------------+----------------------+----------------------------------+----------+
48
+ | allow_all | sg-00bc9e3b5b628e40a | sg-00bc9e3b5b628e40a:all | all |
49
+ | | | 1.2.3.4/32:all | all |
50
+ | global-lb | sg-09f5aede801b4ab4a | 0.0.0.0/0:80 | tcp |
51
+ | | | 0.0.0.0/0:443 | tcp |
52
+ +----------------+----------------------+----------------------------------+----------+
53
+ $
54
+ ```
55
+
41
56
  ### View ALB
42
57
 
43
58
  ```bash
@@ -74,6 +89,42 @@ $ vaws vpc
74
89
  +-----------------------+------------------+-------------------------+
75
90
  ```
76
91
 
92
+ ### View Route53
93
+
94
+ ```bash
95
+ $ vaws route53
96
+ +----------------------------------------------------------+-------+---------------------------------------------------------------------------------+--------+
97
+ | Fqdn | Type | Value | Ttl |
98
+ +----------------------------------------------------------+-------+---------------------------------------------------------------------------------+--------+
99
+ | st1t.com. | MX | 1 ASPMX.L.GOOGLE.COM | 60 |
100
+ | | | 5 ALT1.ASPMX.L.GOOGLE.COM | |
101
+ | | | 5 ALT2.ASPMX.L.GOOGLE.COM | |
102
+ | | | 10 ALT3.ASPMX.L.GOOGLE.COM | |
103
+ | | | 10 ALT4.ASPMX.L.GOOGLE.COM | |
104
+ | st1t.com. | NS | ns-468.awsdns-58.com. | 172800 |
105
+ | | | ns-599.awsdns-10.net. | |
106
+ | | | ns-2009.awsdns-59.co.uk. | |
107
+ | | | ns-1527.awsdns-62.org. | |
108
+ | st1t.com. | SOA | ns-468.awsdns-58.com. awsdns-hostmaster.amazon.com. 1 7200 900 1209600 86400 | 900 |
109
+ | st1t.com. | TXT | "google-site-verification=hdXQC-HCpJ9nvG64sSLOADsnj-IDCmKu7uu83jyKbS8" | 60 |
110
+ | www.st1t.com. | CNAME | hatenablog.com. | 300 |
111
+ +----------------------------------------------------------+-------+---------------------------------------------------------------------------------+--------+
112
+ $
113
+ ```
114
+
115
+ ### SSM Parameter Store
116
+
117
+ ```bash
118
+ $ vaws ssm
119
+ +-----------------------------------------------+--------------+---------+---------------------------+
120
+ | Path | Type | Version | LastModifyDate |
121
+ +-----------------------------------------------+--------------+---------+---------------------------+
122
+ | /st1t/hoge | String | 26 | 2020-03-01 12:49:54 +0900 |
123
+ | /st1t/fuga | String | 26 | 2020-03-01 12:49:54 +0900 |
124
+ +-----------------------------------------------+--------------+---------+---------------------------+
125
+ $
126
+ ```
127
+
77
128
  ## License
78
129
 
79
130
  The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
@@ -17,29 +17,30 @@ module Vaws
17
17
  get_hosted_zone
18
18
 
19
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 })
20
+ record_values = ''
21
+ records = @r53_client.list_resource_record_sets({ hosted_zone_id: "#{zone_id}", max_items: 1000 })
23
22
  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
23
+ record_name = record_sets.name
24
+ record_type = record_sets.type
25
+ record_ttl = record_sets.ttl
26
+ if record_sets.alias_target.nil?
27
+ record_sets.resource_records.each do |record|
28
+ record_values << "#{record.value.to_s}\n"
29
+ end
30
+ else
31
+ record_values = record_sets.alias_target.dns_name
30
32
  end
31
- rows << [record_name, record_type, csv_record, record_ttl, record_alias]
32
- csv_record = []
33
- record_alias = ''
33
+ rows << [record_name, record_type, record_values, record_ttl]
34
+ record_values = ''
34
35
  end
35
36
  end
36
- @term_table = Terminal::Table.new :headings => ['Fqdn', 'Type', 'Value', 'Ttl', 'Alias'], :rows => rows.sort
37
+ @term_table = Terminal::Table.new :headings => ['Fqdn', 'Type', 'Value', 'Ttl'], :rows => rows.sort
37
38
  end
38
39
 
39
40
  private
40
41
 
41
42
  def get_hosted_zone
42
- @r53_client.list_hosted_zones({ max_items: 1000 }).hosted_zones.each do |zone|
43
+ @r53_client.list_hosted_zones({ max_items: 100 }).hosted_zones.each do |zone|
43
44
  @r53_hosted_zone_ids << zone.id
44
45
  end
45
46
  end
@@ -1,41 +1,46 @@
1
1
  require 'aws-sdk-ec2'
2
2
  require 'vaws/aws/describer'
3
+ require 'json'
3
4
 
4
5
  module Vaws
5
6
  module Aws
6
7
  class SecurityGroupDescriber < Describer
7
8
  attr_reader :term_table
8
9
 
9
- def initialize(is_in, is_out)
10
+ def initialize
10
11
  @ec2_client = ::Aws::EC2::Client.new
11
12
  @term_table = ''
12
- @is_in = is_in
13
- @is_out = is_out
14
13
  end
15
14
 
16
15
  def set_basic_info
17
16
  rows = []
18
17
  resp_sg = @ec2_client.describe_security_groups
19
-
20
18
  resp_sg.security_groups.each do |security_group|
21
19
  group_name = security_group.group_name
22
20
  group_id = security_group.group_id
23
21
 
22
+ # Inboundルール
24
23
  security_group.ip_permissions.each do |ip_permission|
25
- ip_permission.from_port.nil? ? from_port = "ALL" : from_port = ip_permission.from_port.to_s
26
- ip_permission.ip_protocol == "-1" ? ip_protocol = "ALL" : ip_protocol = ip_permission.ip_protocol
24
+ ip_permission.from_port.nil? ? from_port = "all" : from_port = ip_permission.from_port.to_s
25
+ ip_permission.ip_protocol == "-1" ? ip_protocol = "all" : ip_protocol = ip_permission.ip_protocol
27
26
 
27
+ # セキュリティグループによるルール
28
28
  ip_permission.user_id_group_pairs.each do |user_id_group_pair|
29
29
  cidr_ip = user_id_group_pair.group_id
30
- rows << [group_name, group_id, from_port, cidr_ip, ip_protocol]
30
+ rows << [group_name, group_id, "#{cidr_ip}:#{from_port}", ip_protocol]
31
+ group_name = ''
32
+ group_id = ''
31
33
  end
34
+ # IPアドレスによるルール
32
35
  ip_permission.ip_ranges.each do |ip_range|
33
36
  cidr_ip = ip_range.cidr_ip
34
- rows << [group_name, group_id, from_port, cidr_ip, ip_protocol]
37
+ rows << [group_name, group_id, "#{cidr_ip}:#{from_port}", ip_protocol]
38
+ group_name = ''
39
+ group_id = ''
35
40
  end
36
41
  end
37
42
  end
38
- @term_table = Terminal::Table.new :headings => ['Name', 'Id', 'AllowPort', 'AllowNetwork', 'AllowProtocol'], :rows => rows.sort
43
+ @term_table = Terminal::Table.new :headings => ['Name', 'Id', 'Inbound(Cidr|Securitygroup:Port)', 'Protocol'], :rows => rows
39
44
  end
40
45
  end
41
46
  end
@@ -62,13 +62,9 @@ module Vaws
62
62
  end
63
63
 
64
64
  desc 'sg', 'View Security Group'
65
- option :in, :aliases => 'i', :type => :boolean, banner: "Inbound security group"
66
- option :out, :aliases => 'o', :type => :boolean, banner: "Outbound security group"
67
65
 
68
66
  def sg
69
- is_in = options[:in] if options[:in]
70
- is_out = options[:out] if options[:out]
71
- sg_desc = Vaws::Aws::SecurityGroupDescriber.new(is_in, is_out)
67
+ sg_desc = Vaws::Aws::SecurityGroupDescriber.new
72
68
  sg_desc.set_basic_info
73
69
  puts sg_desc.term_table
74
70
  end
@@ -88,6 +84,12 @@ module Vaws
88
84
  ssm_desc.set_basic_info
89
85
  puts ssm_desc.term_table
90
86
  end
87
+
88
+ desc 'version', 'View vaws version'
89
+
90
+ def version
91
+ puts VERSION
92
+ end
91
93
  end
92
94
  end
93
95
  end
data/lib/vaws/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Vaws
2
- VERSION = "0.5.0"
2
+ VERSION = "0.6.0"
3
3
  end
data/vaws.gemspec CHANGED
@@ -25,8 +25,8 @@ Gem::Specification.new do |spec|
25
25
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
26
26
  spec.require_paths = ["lib"]
27
27
 
28
- spec.add_development_dependency "bundler", "~> 1.17"
29
- spec.add_development_dependency "rake", "~> 10.0"
28
+ spec.add_development_dependency "bundler", "~> 2.0"
29
+ spec.add_development_dependency "rake", "~> 13.0"
30
30
  spec.add_development_dependency "rspec", "~> 3.0"
31
31
  spec.add_runtime_dependency "thor", "~> 0.20.3"
32
32
  spec.add_runtime_dependency "aws-sdk-ec2"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vaws
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shota Ito
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-06-16 00:00:00.000000000 Z
11
+ date: 2020-03-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.17'
19
+ version: '2.0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.17'
26
+ version: '2.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '10.0'
33
+ version: '13.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '10.0'
40
+ version: '13.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -220,8 +220,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
220
220
  - !ruby/object:Gem::Version
221
221
  version: '0'
222
222
  requirements: []
223
- rubyforge_project:
224
- rubygems_version: 2.7.6.2
223
+ rubygems_version: 3.1.2
225
224
  signing_key:
226
225
  specification_version: 4
227
226
  summary: The vaws command simplifies the display of AWS resources.