sgupdater 0.1.4 → 0.2.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
  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