mappru 0.1.8 → 0.1.9.beta
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 +5 -5
- data/lib/mappru.rb +1 -1
- data/lib/mappru/driver.rb +6 -8
- data/lib/mappru/exporter.rb +4 -7
- data/lib/mappru/version.rb +1 -1
- data/mappru.gemspec +1 -1
- metadata +10 -10
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: 44003fe735f676f54f72364497431dc196c0fe11
|
|
4
|
+
data.tar.gz: c7267f893fb5afdcae72469130be865659cdb413
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6b228674aa0c06b181efbb45521234d519deac3c9fcad9ac2dcb68eb35b23a46703264b0f8d8f73b07d40448a5ec75aec642901fae12cd750e634a65bd5dcce1
|
|
7
|
+
data.tar.gz: c40db89940470e5db2dabec180fda41e32b97653b4362ba5edc5e1b02e90820f999819eb84cdc95941a699745d6d1a1f9d21961e60ad6b862eb86b7b294c02ed
|
data/lib/mappru.rb
CHANGED
data/lib/mappru/driver.rb
CHANGED
|
@@ -4,7 +4,6 @@ class Mappru::Driver
|
|
|
4
4
|
|
|
5
5
|
def initialize(client, options = {})
|
|
6
6
|
@client = client
|
|
7
|
-
@resource = Aws::EC2::Resource.new(client: @client)
|
|
8
7
|
@options = options
|
|
9
8
|
end
|
|
10
9
|
|
|
@@ -12,11 +11,10 @@ class Mappru::Driver
|
|
|
12
11
|
log(:info, "Create Route Table `#{vpc_id}` > `#{name}`", color: :cyan)
|
|
13
12
|
|
|
14
13
|
unless @options[:dry_run]
|
|
15
|
-
|
|
16
|
-
rt = vpc.create_route_table
|
|
14
|
+
route_table_id = @client.create_route_table(vpc_id: vpc_id).route_table.route_table_id
|
|
17
15
|
name_tag = {key: 'Name', value: name}
|
|
18
|
-
|
|
19
|
-
rt_id_by_vpc_rt_name[vpc_id][name] =
|
|
16
|
+
@client.create_tags(resources: [route_table_id], tags: [name_tag])
|
|
17
|
+
rt_id_by_vpc_rt_name[vpc_id][name] = route_table_id
|
|
20
18
|
end
|
|
21
19
|
|
|
22
20
|
{routes: [], subnets: []}
|
|
@@ -83,7 +81,7 @@ class Mappru::Driver
|
|
|
83
81
|
return @rt_ids if @rt_ids
|
|
84
82
|
|
|
85
83
|
@rt_ids = {}
|
|
86
|
-
route_tables = @
|
|
84
|
+
route_tables = @client.describe_route_tables().flat_map(&:route_tables)
|
|
87
85
|
|
|
88
86
|
route_tables.each do |rt|
|
|
89
87
|
vpc_id = rt.vpc_id
|
|
@@ -93,7 +91,7 @@ class Mappru::Driver
|
|
|
93
91
|
next unless name
|
|
94
92
|
|
|
95
93
|
@rt_ids[vpc_id] ||= {}
|
|
96
|
-
@rt_ids[vpc_id][name] = rt.
|
|
94
|
+
@rt_ids[vpc_id][name] = rt.route_table_id
|
|
97
95
|
end
|
|
98
96
|
|
|
99
97
|
@rt_ids
|
|
@@ -103,7 +101,7 @@ class Mappru::Driver
|
|
|
103
101
|
return @assoc_ids if @assoc_ids
|
|
104
102
|
|
|
105
103
|
@assoc_ids = {}
|
|
106
|
-
associations = @
|
|
104
|
+
associations = @client.describe_route_tables().flat_map(&:route_tables).map(&:associations).flat_map(&:to_a)
|
|
107
105
|
|
|
108
106
|
associations.each do |assoc|
|
|
109
107
|
if assoc.subnet_id
|
data/lib/mappru/exporter.rb
CHANGED
|
@@ -8,15 +8,13 @@ class Mappru::Exporter
|
|
|
8
8
|
|
|
9
9
|
def initialize(client, options = {})
|
|
10
10
|
@client = client
|
|
11
|
-
@resource = Aws::EC2::Resource.new(client: @client)
|
|
12
11
|
@options = options
|
|
13
12
|
end
|
|
14
13
|
|
|
15
14
|
def export
|
|
16
15
|
result = {}
|
|
17
|
-
@resource
|
|
18
16
|
|
|
19
|
-
route_tables = @
|
|
17
|
+
route_tables = @client.describe_route_tables().flat_map(&:route_tables)
|
|
20
18
|
|
|
21
19
|
route_tables.each do |rt|
|
|
22
20
|
vpc_id = rt.vpc_id
|
|
@@ -48,14 +46,13 @@ class Mappru::Exporter
|
|
|
48
46
|
|
|
49
47
|
def export_route_table(rt)
|
|
50
48
|
result = {
|
|
51
|
-
route_table_id: rt.
|
|
49
|
+
route_table_id: rt.route_table_id,
|
|
52
50
|
routes: [],
|
|
53
51
|
subnets: export_subnets(rt.associations),
|
|
54
52
|
}
|
|
55
53
|
|
|
56
|
-
#
|
|
57
|
-
|
|
58
|
-
sorted_routes = rt.routes.reject(&:nil?).sort_by do |route|
|
|
54
|
+
# TODO: support VPC endpoint
|
|
55
|
+
sorted_routes = rt.routes.select(&:destination_cidr_block).sort_by do |route|
|
|
59
56
|
IPAddr.new(route.destination_cidr_block).to_i
|
|
60
57
|
end
|
|
61
58
|
|
data/lib/mappru/version.rb
CHANGED
data/mappru.gemspec
CHANGED
|
@@ -19,7 +19,7 @@ Gem::Specification.new do |spec|
|
|
|
19
19
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
20
20
|
spec.require_paths = ['lib']
|
|
21
21
|
|
|
22
|
-
spec.add_dependency 'aws-sdk'
|
|
22
|
+
spec.add_dependency 'aws-sdk-ec2'
|
|
23
23
|
spec.add_dependency 'diffy'
|
|
24
24
|
spec.add_dependency 'hash_modern_inspect'
|
|
25
25
|
spec.add_dependency 'hashie'
|
metadata
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: mappru
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.9.beta
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- winebarrel
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2018-
|
|
11
|
+
date: 2018-03-26 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
|
-
name: aws-sdk
|
|
14
|
+
name: aws-sdk-ec2
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
|
-
- - "
|
|
17
|
+
- - ">="
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '
|
|
19
|
+
version: '0'
|
|
20
20
|
type: :runtime
|
|
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: '
|
|
26
|
+
version: '0'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: diffy
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -185,12 +185,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
185
185
|
version: '0'
|
|
186
186
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
187
187
|
requirements:
|
|
188
|
-
- - "
|
|
188
|
+
- - ">"
|
|
189
189
|
- !ruby/object:Gem::Version
|
|
190
|
-
version:
|
|
190
|
+
version: 1.3.1
|
|
191
191
|
requirements: []
|
|
192
192
|
rubyforge_project:
|
|
193
|
-
rubygems_version: 2.
|
|
193
|
+
rubygems_version: 2.6.13
|
|
194
194
|
signing_key:
|
|
195
195
|
specification_version: 4
|
|
196
196
|
summary: Mappru is a tool to manage VPC Route Table.
|