wafoo 0.0.5 → 0.0.6

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
  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