cfn-guardian 0.3.3 → 0.3.4

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: 7b64db0c4a4a45a9432c2cf750ac07b2600b54938e080fc24e3a50201144bfaa
4
- data.tar.gz: 8e6561a49bd7be8d9185fd64f55e6d3d1842683e325c6c12b6c61ebad1058e43
3
+ metadata.gz: d581e6ce59e93bd98f1b542df4c5a9fb40d701b6d9d63db76388ab31c173a6c5
4
+ data.tar.gz: ae4f1428fb07d69a9005c62dbebad1e426a73f5025f916d3374218e6f2bf84c4
5
5
  SHA512:
6
- metadata.gz: 4585cdc22260486afe530c5abd07f490d4d71a1a63f435d64e1bdc964ebb175a852b9d45af9b6ada79ee025bde0c7df88c1352ef2fc5bb799f507553186b3377
7
- data.tar.gz: eca47bd9aab11dc4888e29aa7a4992512344db581ad06455d4283ec7009d1998a46dcb122191b37d5e300c60a6ee28bf0979a0c6a6c2cfc8281fe785b34ebafe
6
+ metadata.gz: f7bd308a2c4c7a8c8b44b88ceaad2c19a0f98911935eec52017987f0130e4299bf6dccf8b89d772d2797b7a610a696ed3bbf8ab7f79eb9a6782f8ee85f5d4dba
7
+ data.tar.gz: 0d69278f70848411b4e1baf8d495fa56bf858d67923f25888257bb12b9a806e13bcf5c2dc2cd23401c2df2435b4cee9b6416161e400c281c025c41c6efdf4d6c
data/README.md CHANGED
@@ -496,7 +496,7 @@ Resources:
496
496
  # optionally set a file to check its existence and test the time it takes to get the file
497
497
  File: file.txt
498
498
  # optionally check for a regex match pattern in the body of the file
499
- FileRegexMatch: ok
499
+ FileBodyMatch: ok
500
500
  ```
501
501
 
502
502
  #### InternalSFTP
@@ -525,7 +525,7 @@ Resources:
525
525
  PrivateKey: /ssm/path/privatekey
526
526
  PrivateKeyPass: /ssm/path/privatekey/password
527
527
  File: file.txt
528
- FileRegexMatch: ok
528
+ FileBodyMatch: ok
529
529
  ```
530
530
 
531
531
  #### TLS
@@ -207,6 +207,12 @@ module CfnGuardian
207
207
  end
208
208
  end
209
209
 
210
+ class InternalHttpAlarm < HttpAlarm
211
+ def initialize(resource)
212
+ super(resource)
213
+ end
214
+ end
215
+
210
216
  class PortAlarm < Alarm
211
217
  def initialize(resource)
212
218
  super(resource)
@@ -218,6 +224,12 @@ module CfnGuardian
218
224
  @evaluation_periods = 2
219
225
  end
220
226
  end
227
+
228
+ class InternalPortAlarm < PortAlarm
229
+ def initialize(resource)
230
+ super(resource)
231
+ end
232
+ end
221
233
 
222
234
  class SslAlarm < Alarm
223
235
  def initialize(resource)
@@ -228,6 +240,12 @@ module CfnGuardian
228
240
  @comparison_operator = 'LessThanThreshold'
229
241
  end
230
242
  end
243
+
244
+ class InternalSslAlarm < SslAlarm
245
+ def initialize(resource)
246
+ super(resource)
247
+ end
248
+ end
231
249
 
232
250
  class NrpeAlarm < Alarm
233
251
  def initialize(resource,environment)
@@ -335,6 +353,12 @@ module CfnGuardian
335
353
  @dimensions = { Host: resource['Id'], User: resource['User'] }
336
354
  end
337
355
  end
356
+
357
+ class InternalSFTPAlarm < SFTPAlarm
358
+ def initialize(resource)
359
+ super(resource)
360
+ end
361
+ end
338
362
 
339
363
  class TLSAlarm < Alarm
340
364
  def initialize(resource)
@@ -3,25 +3,25 @@ require 'digest/md5'
3
3
  module CfnGuardian::Resource
4
4
  class InternalHttp < Base
5
5
 
6
- def initialize(resource)
7
- super(resource)
6
+ def initialize(resource, override_group = nil)
7
+ super(resource, override_group)
8
8
  @resource_list = resource['Hosts']
9
9
  @environment = resource['Environment']
10
10
  end
11
11
 
12
12
  def default_alarms
13
13
  @resource_list.each do |host|
14
- alarm = CfnGuardian::Models::HttpAlarm.new(host)
14
+ alarm = CfnGuardian::Models::InternalHttpAlarm.new(host)
15
15
  alarm.name = 'EndpointAvailable'
16
16
  alarm.metric_name = 'Available'
17
17
  @alarms.push(alarm)
18
18
 
19
- alarm = CfnGuardian::Models::HttpAlarm.new(host)
19
+ alarm = CfnGuardian::Models::InternalHttpAlarm.new(host)
20
20
  alarm.name = 'EndpointStatusCodeMatch'
21
21
  alarm.metric_name = 'StatusCodeMatch'
22
22
  @alarms.push(alarm)
23
23
 
24
- alarm = CfnGuardian::Models::HttpAlarm.new(host)
24
+ alarm = CfnGuardian::Models::InternalHttpAlarm.new(host)
25
25
  alarm.name = 'EndpointTimeTaken'
26
26
  alarm.comparison_operator = 'GreaterThanThreshold'
27
27
  alarm.metric_name = 'TimeTaken'
@@ -32,20 +32,20 @@ module CfnGuardian::Resource
32
32
  @alarms.push(alarm)
33
33
 
34
34
  if host.has_key?('BodyRegex')
35
- alarm = CfnGuardian::Models::HttpAlarm.new(host)
35
+ alarm = CfnGuardian::Models::InternalHttpAlarm.new(host)
36
36
  alarm.name = 'EndpointBodyRegexMatch'
37
37
  alarm.metric_name = 'ResponseBodyRegexMatch'
38
38
  @alarms.push(alarm)
39
39
  end
40
40
 
41
41
  if host.has_key?('Ssl') && host['Ssl']
42
- alarm = CfnGuardian::Models::SslAlarm.new(host)
42
+ alarm = CfnGuardian::Models::InternalSslAlarm.new(host)
43
43
  alarm.name = 'ExpiresInDaysCritical'
44
44
  alarm.metric_name = 'ExpiresInDays'
45
45
  alarm.threshold = 5
46
46
  @alarms.push(alarm)
47
47
 
48
- alarm = CfnGuardian::Models::SslAlarm.new(host)
48
+ alarm = CfnGuardian::Models::InternalSslAlarm.new(host)
49
49
  alarm.name = 'ExpiresInDaysTask'
50
50
  alarm.metric_name = 'ExpiresInDays'
51
51
  alarm.threshold = 30
@@ -1,20 +1,20 @@
1
1
  module CfnGuardian::Resource
2
2
  class InternalPort < Base
3
3
 
4
- def initialize(resource)
5
- super(resource)
4
+ def initialize(resource, override_group = nil)
5
+ super(resource, override_group)
6
6
  @resource_list = resource['Hosts']
7
7
  @environment = resource['Environment']
8
8
  end
9
9
 
10
10
  def default_alarms
11
11
  @resource_list.each do |host|
12
- alarm = CfnGuardian::Models::PortAlarm.new(host)
12
+ alarm = CfnGuardian::Models::InternalPortAlarm.new(host)
13
13
  alarm.name = 'EndpointAvailable'
14
14
  alarm.metric_name = 'Available'
15
15
  @alarms.push(alarm)
16
16
 
17
- alarm = CfnGuardian::Models::PortAlarm.new(host)
17
+ alarm = CfnGuardian::Models::InternalPortAlarm.new(host)
18
18
  alarm.name = 'EndpointTimeTaken'
19
19
  alarm.metric_name = 'TimeTaken'
20
20
  @alarms.push(alarm)
@@ -1,20 +1,20 @@
1
1
  module CfnGuardian::Resource
2
2
  class InternalSFTP < Base
3
3
 
4
- def initialize(resource)
5
- super(resource)
4
+ def initialize(resource, override_group = nil)
5
+ super(resource, override_group)
6
6
  @resource_list = resource['Hosts']
7
7
  @environment = resource['Environment']
8
8
  end
9
9
 
10
10
  def default_alarms
11
11
  @resource_list.each do |host|
12
- alarm = CfnGuardian::Models::SFTPAlarm.new(host)
12
+ alarm = CfnGuardian::Models::InternalSFTPAlarm.new(host)
13
13
  alarm.name = 'Available'
14
14
  alarm.metric_name = 'Available'
15
15
  @alarms.push(alarm)
16
16
 
17
- alarm = CfnGuardian::Models::SFTPAlarm.new(host)
17
+ alarm = CfnGuardian::Models::InternalSFTPAlarm.new(host)
18
18
  alarm.name = 'ConnectionTime'
19
19
  alarm.metric_name = 'ConnectionTime'
20
20
  alarm.comparison_operator = 'GreaterThanThreshold'
@@ -23,12 +23,12 @@ module CfnGuardian::Resource
23
23
  @alarms.push(alarm)
24
24
 
25
25
  if host.has_key?('File')
26
- alarm = CfnGuardian::Models::SFTPAlarm.new(host)
26
+ alarm = CfnGuardian::Models::InternalSFTPAlarm.new(host)
27
27
  alarm.name = 'FileExists'
28
28
  alarm.metric_name = 'FileExists'
29
29
  @alarms.push(alarm)
30
30
 
31
- alarm = CfnGuardian::Models::SFTPAlarm.new(host)
31
+ alarm = CfnGuardian::Models::InternalSFTPAlarm.new(host)
32
32
  alarm.name = 'FileGetTime'
33
33
  alarm.metric_name = 'FileGetTime'
34
34
  alarm.comparison_operator = 'GreaterThanThreshold'
@@ -36,8 +36,8 @@ module CfnGuardian::Resource
36
36
  alarm.threshold = 1000
37
37
  @alarms.push(alarm)
38
38
 
39
- if host.has_key?('FileRegexMatch')
40
- alarm = CfnGuardian::Models::SFTPAlarm.new(host)
39
+ if host.has_key?('FileBodyMatch')
40
+ alarm = CfnGuardian::Models::InternalSFTPAlarm.new(host)
41
41
  alarm.name = 'FileBodyMatch'
42
42
  alarm.metric_name = 'FileBodyMatch'
43
43
  @alarms.push(alarm)
@@ -1,8 +1,8 @@
1
1
  module CfnGuardian::Resource
2
2
  class LogGroup < Base
3
3
 
4
- def initialize(resource)
5
- super(resource)
4
+ def initialize(resource, override_group = nil)
5
+ super(resource, override_group)
6
6
  @resource_list = resource['MetricFilters']
7
7
  end
8
8
 
@@ -29,7 +29,7 @@ module CfnGuardian::Resource
29
29
  alarm.threshold = 1000
30
30
  @alarms.push(alarm)
31
31
 
32
- if @resource.has_key?('FileRegexMatch')
32
+ if @resource.has_key?('FileBodyMatch')
33
33
  alarm = CfnGuardian::Models::SFTPAlarm.new(@resource)
34
34
  alarm.name = 'FileBodyMatch'
35
35
  alarm.metric_name = 'FileBodyMatch'
@@ -4,8 +4,8 @@ require 'cfnguardian/string'
4
4
  module CfnGuardian::Resource
5
5
  class Sql < Base
6
6
 
7
- def initialize(resource)
8
- super(resource)
7
+ def initialize(resource, override_group = nil)
8
+ super(resource, override_group)
9
9
  @resource_list = resource['Hosts']
10
10
  @environment = resource['Environment']
11
11
  end
@@ -1,4 +1,4 @@
1
1
  module CfnGuardian
2
- VERSION = "0.3.3"
2
+ VERSION = "0.3.4"
3
3
  CHANGE_SET_VERSION = VERSION.gsub('.', '-').freeze
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cfn-guardian
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.3.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Guslington
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-07-02 00:00:00.000000000 Z
11
+ date: 2020-08-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -289,7 +289,7 @@ metadata:
289
289
  homepage_uri: https://github.com/base2Services/cfn-guardian
290
290
  source_code_uri: https://github.com/base2Services/cfn-guardian
291
291
  changelog_uri: https://github.com/base2Services/cfn-guardian
292
- post_install_message:
292
+ post_install_message:
293
293
  rdoc_options: []
294
294
  require_paths:
295
295
  - lib
@@ -304,9 +304,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
304
304
  - !ruby/object:Gem::Version
305
305
  version: '0'
306
306
  requirements: []
307
- rubyforge_project:
307
+ rubyforge_project:
308
308
  rubygems_version: 2.7.6
309
- signing_key:
309
+ signing_key:
310
310
  specification_version: 4
311
311
  summary: Manages AWS cloudwatch alarms with default templates using cloudformation
312
312
  test_files: []