sgupdater 0.1.4 → 0.2.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
  SHA1:
3
- metadata.gz: bbb740b6cff3b64686348f95377a45e09f2dfaa4
4
- data.tar.gz: a2e4c52383102465b17b111eda58c1a7629a6b8d
3
+ metadata.gz: d5161be6948e31f29ff7cebfd7ce11ba6050f9c5
4
+ data.tar.gz: 1cd803164d4b6f0376efd63bd2d88d302f409e61
5
5
  SHA512:
6
- metadata.gz: 42b4c5b54b9948bca8445700a6037c098dd6b91b00d1586d74c532915d18986b29cf5b8e442a0e562549117dccca576025a8d1c9ca46ccc9b658ef0ae7b8d1e0
7
- data.tar.gz: 3ebcd4c6db460b44282a1febdbc9882b2aa3998c1e021c94d5a3b64ca305cd0c6dafb6e0edab76e471f81db9acfdf80c5accc1f2bf332ced265f34e679e05eb2
6
+ metadata.gz: 2d5c098f6a98e36711d144bcef9fbcf4e91ed7be285c4052ccc973a95448229ec3eeab127591cbfe0f0feec4f93a8085e368c8213caf37617ec7fe4438ee0b89
7
+ data.tar.gz: d3d5b03e5ed94132aa1c5c2ce9b6b5ead5bb073c2240151162c8bf49be913a80be2ddd91adf9f38d401d4efa02a7be8dd32f7e2ce4039eca279d77d77c63527a
data/lib/sgupdater/cli.rb CHANGED
@@ -27,6 +27,18 @@ module Sgupdater
27
27
  end
28
28
  end
29
29
 
30
+ desc :add, "Add to_cidr address same from_cidr setting"
31
+ method_option :from_cidr, type: :string, required: true
32
+ method_option :to_cidr, type: :string, required: true
33
+ def add
34
+ added = client.add
35
+ if added
36
+ puts "Add success"
37
+ else
38
+ puts "No change"
39
+ end
40
+ end
41
+
30
42
  private
31
43
  def client
32
44
  @client ||= Client.new options, aws_configuration
@@ -24,6 +24,12 @@ module Sgupdater
24
24
  updater.update
25
25
  end
26
26
 
27
+ def add
28
+ updater = Sgupdater::Updater.new(@cli_options)
29
+ updater.add(@cli_options[:from_cidr], @cli_options[:to_cidr])
30
+ updater.update
31
+ end
32
+
27
33
  def security_groups_with_cidr(cidr)
28
34
  @ec2.security_groups(
29
35
  filters: [
@@ -29,6 +29,21 @@ module Sgupdater
29
29
  end
30
30
  end
31
31
 
32
+ def add(from, to)
33
+ @exported.each do |vpc, sgs|
34
+ sgs.each do |sg, props|
35
+ props[:ingress].each do |ing|
36
+ ing[:ip_ranges].each do |cidr|
37
+ if cidr == from
38
+ ing[:ip_ranges] << to
39
+ puts [vpc ? vpc : '(classic)', sg, props[:name], ing[:protocol], ing[:port_range], ing[:ip_ranges], ing[:groups]].join("\t")
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
46
+
32
47
  def update
33
48
  exported = JSON.pretty_generate(@exported)
34
49
  file = Tempfile.new('exported')
@@ -1,3 +1,3 @@
1
1
  module Sgupdater
2
- VERSION = "0.1.4"
2
+ VERSION = "0.2.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sgupdater
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ISOBE Kazuhiko