wafoo 0.0.5 → 0.0.6

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: cf968d2be7a9d1632c60d8cb49a0e8751a3d49f8d30685b9c3bc8414a84a5618
4
- data.tar.gz: 6249335ba736504e93dd82f8effd9f4d9cd03b6aab9fbc58a4c97589ddc5034c
3
+ metadata.gz: 49f7095ed94805ed7e261fc2305c9552e9b5ca7167ea90924dc04ba7f0250d13
4
+ data.tar.gz: d39ed1552150147bb1eba7ab93825e3beaab2c03d69f04b30864b41942d996eb
5
5
  SHA512:
6
- metadata.gz: a720d8b8b0e4bb647ff85a8c2dff26e92a6699239a8077b312186f8621608b586b7b1496570045216ad1ff93b3c16e68e49ed8b57bbe36cd27d18728f536bd1e
7
- data.tar.gz: 596aba582b45439a3820aa0b01ad595102d6dbb568f42f349efe1acd0c4a476bea89881c4ee4a47e6144512e4d6f3e5ac00a837639a94931c44ef290ba449001
6
+ metadata.gz: c84ffd7747d4209bcb40ee2e2bea816af33fa1adb348644ef12bd13c8ed668bd082ec66cffe1ffa62e3e2fc06c3abd721cf6ea60deb495eb0c3265fd9038cf52
7
+ data.tar.gz: a3908921d50154899acb5b0b846ea2b2c9412e81944408343b3c5416cbc24f9a86974c1cd77bd413fe9eb050de3c63379500f23b49b5a4f20f5f22f69fe61df8
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --format=documentation --color
@@ -9,6 +9,7 @@ require 'wafoo/version'
9
9
  require 'wafoo/cli'
10
10
  require 'wafoo/ext'
11
11
  require 'wafoo/helper'
12
+ require 'wafoo/stub'
12
13
  require 'wafoo/run'
13
14
 
14
15
  module Wafoo
@@ -6,8 +6,13 @@ module Wafoo
6
6
  include Wafoo::Helper
7
7
 
8
8
  def initialize(options = nil)
9
- @waf_regional = Aws::WAFRegional::Client.new
9
+ # Stub は個別にロードしてあげないといけないので苦肉の策
10
+ Wafoo::Stub.load('waf') if ENV['LOAD_STUB'] == 'true'
10
11
  @waf = Aws::WAF::Client.new
12
+ # Stub は個別にロードしてあげないといけないので苦肉の策
13
+ Wafoo::Stub.load('wafregional') if ENV['LOAD_STUB'] == 'true'
14
+ @waf_regional = Aws::WAFRegional::Client.new
15
+
11
16
  @regional = options[:regional] unless options.nil?
12
17
  FileUtils.mkdir_p(IP_SETS_DIR) unless FileTest.exist?(IP_SETS_DIR)
13
18
  end
@@ -37,23 +42,45 @@ module Wafoo
37
42
  ipsets.sort
38
43
  end
39
44
 
40
- def list_ipsets
45
+ def get_waf_ipsets
46
+ ip_sets = []
47
+ params = {}
48
+ loop do
49
+ res = @waf.list_ip_sets(params)
50
+ res.ip_sets.each do |set|
51
+ ipset = []
52
+ ipset << @waf.class.to_s.split('::')[1]
53
+ ipset << set.ip_set_id
54
+ ipset << set.name
55
+ ip_sets << ipset
56
+ end
57
+ break if res.next_marker.nil?
58
+ params[:next_marker] = res.next_marker
59
+ end
60
+ ip_sets
61
+ end
62
+
63
+ def get_wafregional_ipsets
41
64
  ip_sets = []
42
65
  params = {}
43
- [ @waf_regional, @waf ].each do |w|
44
- loop do
45
- res = w.list_ip_sets(params)
46
- res.ip_sets.each do |set|
47
- ipset = []
48
- ipset << w.class.to_s.split('::')[1]
49
- ipset << set.ip_set_id
50
- ipset << set.name
51
- ip_sets << ipset
52
- end
53
- break if res.next_marker.nil?
54
- params[:next_marker] = res.next_marker
66
+ loop do
67
+ res = @waf_regional.list_ip_sets(params)
68
+ res.ip_sets.each do |set|
69
+ ipset = []
70
+ ipset << @waf_regional.class.to_s.split('::')[1]
71
+ ipset << set.ip_set_id
72
+ ipset << set.name
73
+ ip_sets << ipset
55
74
  end
75
+ break if res.next_marker.nil?
76
+ params[:next_marker] = res.next_marker
56
77
  end
78
+ ip_sets
79
+ end
80
+
81
+ def list_ipsets
82
+ ip_sets = []
83
+ ip_sets = get_waf_ipsets + get_wafregional_ipsets
57
84
  output_table(ip_sets)
58
85
  end
59
86
 
@@ -0,0 +1,7 @@
1
+ module Wafoo
2
+ class Stub
3
+ def self.load(type)
4
+ require File.dirname(__FILE__) + '/stub/' + type
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,21 @@
1
+ Aws.config[:waf] = {
2
+ stub_responses: {
3
+ list_ip_sets: {
4
+ next_marker: nil,
5
+ ip_sets: [
6
+ {
7
+ ip_set_id: '1234567-abcd-1234-efgh-5678-1234567890',
8
+ name: 'waf-my-ip-set1'
9
+ },
10
+ {
11
+ ip_set_id: '2234567-abcd-1234-efgh-5678-1234567890',
12
+ name: 'waf-my-ip-set2'
13
+ },
14
+ {
15
+ ip_set_id: '3234567-abcd-1234-efgh-5678-1234567890',
16
+ name: 'waf-my-ip-set3'
17
+ }
18
+ ]
19
+ }
20
+ }
21
+ }
@@ -0,0 +1,21 @@
1
+ Aws.config[:wafregional] = {
2
+ stub_responses: {
3
+ list_ip_sets: {
4
+ next_marker: nil,
5
+ ip_sets: [
6
+ {
7
+ ip_set_id: '1234567-abcd-1234-efgh-5678-1234567890',
8
+ name: 'regional-my-ip-set1'
9
+ },
10
+ {
11
+ ip_set_id: '2234567-abcd-1234-efgh-5678-1234567890',
12
+ name: 'regional-my-ip-set2'
13
+ },
14
+ {
15
+ ip_set_id: '3234567-abcd-1234-efgh-5678-1234567890',
16
+ name: 'regional-my-ip-set3'
17
+ }
18
+ ]
19
+ }
20
+ }
21
+ }
@@ -1,3 +1,3 @@
1
1
  module Wafoo
2
- VERSION = '0.0.5'
2
+ VERSION = '0.0.6'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wafoo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - inokappa
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-11-29 00:00:00.000000000 Z
11
+ date: 2018-12-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -159,6 +159,7 @@ extensions: []
159
159
  extra_rdoc_files: []
160
160
  files:
161
161
  - ".gitignore"
162
+ - ".rspec"
162
163
  - ".travis.yml"
163
164
  - Gemfile
164
165
  - README.md
@@ -173,6 +174,9 @@ files:
173
174
  - lib/wafoo/ext/string.rb
174
175
  - lib/wafoo/helper.rb
175
176
  - lib/wafoo/run.rb
177
+ - lib/wafoo/stub.rb
178
+ - lib/wafoo/stub/waf.rb
179
+ - lib/wafoo/stub/wafregional.rb
176
180
  - lib/wafoo/version.rb
177
181
  - wafoo.gemspec
178
182
  homepage: https://github.com/inokappa/wafoo