cfn-guardian 0.7.2 → 0.7.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: 1417ef4853dc20a776837ec1fee0433449dd1f4fd5601081ca2602c8cc6b9f06
4
- data.tar.gz: 5ff99a91ba3c512dca2cde401b0ce8c1ada0127c9e56928f7fde9ead8c4cc5b6
3
+ metadata.gz: b3345312b95427da816d7868b27d9788149e3472a871f858f3b8171152284e3c
4
+ data.tar.gz: c412fb2251b7f46a62f9b21cff4e03740c0fba4c4205d57db5bc191aad0e484d
5
5
  SHA512:
6
- metadata.gz: b3eed6e24561d7927408b771317a93d1fe421f784fd3b0e3260df790d710c90e1abe1749e856c0cbc3ec0ebe30a4842d40c3714f2943843e19c1f7eac215010d
7
- data.tar.gz: 3851fe0ad73593f25bd0eff3a62031345b4214d5bff9384c072a11af93192308d548aca7f83525935602b4c794077f24462bccccf547cb8801d2b52cdc1d5de1
6
+ metadata.gz: e23576678690da79c9df22f8c67631f86dbfe724349d4b54ca796fcd313803946890fc15ea73d17bf30e0d1946504c9bc0627f2f18151417650376ef49ef6750
7
+ data.tar.gz: 163b472a1cc2f59690e7819acbc5546a7043e6333a85346c4e4ccbac49d328c66aadaf61a63a89df04b487eec94cd4154c96f638e89bf25936694a7c2b2873ee
data/.gitignore CHANGED
@@ -9,4 +9,5 @@
9
9
 
10
10
  cfn-guardian-*.gem
11
11
 
12
- out/
12
+ out/
13
+ alarms.yaml
@@ -44,6 +44,7 @@ require 'cfnguardian/resources/step_functions'
44
44
  require 'cfnguardian/resources/vpn_tunnel'
45
45
  require 'cfnguardian/resources/vpn_connection'
46
46
  require 'cfnguardian/resources/elastic_search'
47
+ require 'cfnguardian/resources/jenkins'
47
48
  require 'cfnguardian/version'
48
49
  require 'cfnguardian/error'
49
50
 
@@ -485,6 +485,15 @@ module CfnGuardian
485
485
  end
486
486
  end
487
487
 
488
+ class JenkinsAlarm < BaseAlarm
489
+ def initialize(resource)
490
+ super(resource)
491
+ @group = 'Jenkins'
492
+ @namespace = 'Ciinabox/Jenkins'
493
+ @dimensions = { Jenkins: resource['Id'], Monitoring: 'JenkMon' }
494
+ end
495
+ end
496
+
488
497
  class VPNTunnelAlarm < BaseAlarm
489
498
  def initialize(resource)
490
499
  super(resource)
@@ -13,7 +13,7 @@ module CfnGuardian::Resource
13
13
  @alarms.push(alarm)
14
14
 
15
15
  alarm = CfnGuardian::Models::AmazonMQBrokerAlarm.new(@resource)
16
- alarm.name = 'CpuCreditBalanceCritical'
16
+ alarm.name = 'CpuCreditBalanceWarning'
17
17
  alarm.metric_name = 'CpuCreditBalance'
18
18
  alarm.comparison_operator = 'LessThanThreshold'
19
19
  alarm.statistic = 'Minimum'
@@ -26,6 +26,7 @@ module CfnGuardian::Resource
26
26
  alarm.statistic = 'Average'
27
27
  alarm.threshold = 1000
28
28
  alarm.evaluation_periods = 2
29
+ alarm.treat_missing_data = 'notBreaching'
29
30
  @alarms.push(alarm)
30
31
  end
31
32
 
@@ -26,6 +26,9 @@ module CfnGuardian::Resource
26
26
  end
27
27
 
28
28
  def get_alarms(group,overides={})
29
+ # deep copying the overrides to preserse it's reference before doing any changes to it
30
+ overides = Marshal.load(Marshal.dump(overides))
31
+
29
32
  # generate default alarms
30
33
  default_alarms()
31
34
 
@@ -0,0 +1,17 @@
1
+ module CfnGuardian::Resource
2
+ class Jenkins < Base
3
+
4
+ def default_alarms
5
+ alarm = CfnGuardian::Models::JenkinsAlarm.new(@resource)
6
+ alarm.name = 'NoSuccess'
7
+ alarm.metric_name = 'Success'
8
+ alarm.statistic = 'Maximum'
9
+ alarm.treat_missing_data = 'breaching'
10
+ alarm.alarm_action = 'Warning'
11
+ alarm.period = 3600
12
+ alarm.comparison_operator = 'LessThanThreshold'
13
+ alarm.threshold = 1
14
+ @alarms.push(alarm)
15
+ end
16
+ end
17
+ end
@@ -6,18 +6,21 @@ module CfnGuardian::Resource
6
6
  alarm.name = 'LambdaErrors'
7
7
  alarm.metric_name = 'Errors'
8
8
  alarm.threshold = 0.5
9
+ alarm.treat_missing_data = 'notBreaching'
9
10
  @alarms.push(alarm)
10
11
 
11
12
  alarm = CfnGuardian::Models::LambdaAlarm.new(@resource)
12
13
  alarm.name = 'Throttles'
13
14
  alarm.metric_name = 'Throttles'
14
15
  alarm.threshold = 0.5
16
+ alarm.treat_missing_data = 'notBreaching'
15
17
  @alarms.push(alarm)
16
18
 
17
19
  alarm = CfnGuardian::Models::LambdaAlarm.new(@resource)
18
20
  alarm.name = 'DeadLetterErrors'
19
21
  alarm.metric_name = 'DeadLetterErrors'
20
22
  alarm.threshold = 0.5
23
+ alarm.treat_missing_data = 'notBreaching'
21
24
  @alarms.push(alarm)
22
25
 
23
26
  alarm = CfnGuardian::Models::LambdaAlarm.new(@resource)
@@ -11,6 +11,7 @@ module CfnGuardian::Resource
11
11
  alarm = CfnGuardian::Models::LogGroupAlarm.new(@resource)
12
12
  alarm.name = filter['MetricName']
13
13
  alarm.metric_name = filter['MetricName']
14
+ alarm.treat_missing_data = 'notBreaching'
14
15
  @alarms.push(alarm)
15
16
  end
16
17
  end
@@ -1,4 +1,4 @@
1
1
  module CfnGuardian
2
- VERSION = "0.7.2"
2
+ VERSION = "0.7.6"
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.7.2
4
+ version: 0.7.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Guslington
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-10-07 00:00:00.000000000 Z
11
+ date: 2021-12-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -295,6 +295,7 @@ files:
295
295
  - lib/cfnguardian/resources/internal_http.rb
296
296
  - lib/cfnguardian/resources/internal_port.rb
297
297
  - lib/cfnguardian/resources/internal_sftp.rb
298
+ - lib/cfnguardian/resources/jenkins.rb
298
299
  - lib/cfnguardian/resources/lambda.rb
299
300
  - lib/cfnguardian/resources/log_group.rb
300
301
  - lib/cfnguardian/resources/network_targetgroup.rb