cfn-guardian 0.7.12 → 0.7.13

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: 417f7145c2f3ed6aad68367aed3a0390079df27be61d8cf8ac32909d349b3483
4
- data.tar.gz: c5626e55e419a321a3be745dabb9cedb268a6552bedbf45834ebe448c42ecaf4
3
+ metadata.gz: 4a230076e5d4d93c1a41be549943f3dbb745662a8faaf04afc176a1b75d3cc8f
4
+ data.tar.gz: 036a95941c4c8e50641d4ee7e0bfdb4e2f842b125756898599af3055843ca8f0
5
5
  SHA512:
6
- metadata.gz: 19940d4b1a253b4fd2a87994a6232ecc0e93108fb565fe1d6ad20b9f813ad7a8a05ce2c67a3307bddcbb28142f48907f246a8da1328facf8be5567c0e4a7856b
7
- data.tar.gz: 99c1c4aae4a204495e47010a81e091a3ebf20a33df5746a69ba964bb23af90cfdaba322d1f948a3978893b86e419269e1f9a6da793816d1fb05b48324361b3df
6
+ metadata.gz: d54543ea87af6922725b6d5955b0f473d037be50de85eca77e6925f5534307ed37648085befc64a3f6753ccd0224ef00f65b666e1109324925596858c2cdd85b
7
+ data.tar.gz: bc5d74d51b7559bb5d3ddcabfc8ef9a0cac3b4e1f679e1267d41149a3f6ebc2108962cbd19e4eda8eb1b96c4e574711ee7fc63e8a955495e54796f33ecd217b9
data/Dockerfile CHANGED
@@ -1,6 +1,6 @@
1
1
  FROM ruby:2.7-alpine
2
2
 
3
- ARG GUARDIAN_VERSION="0.7.7"
3
+ ARG GUARDIAN_VERSION="0.7.11"
4
4
 
5
5
  COPY . /src
6
6
 
data/docs/overview.md CHANGED
@@ -6,7 +6,7 @@
6
6
  3. [Alarm Templates](alarm_templates.md)
7
7
  4. Custom Checks
8
8
  1. [HTTP](custom_checks/http.md)
9
- 2. [Domain Expirey](custom_checks/domain_expirey.md)
9
+ 2. [Domain Expiry](custom_checks/domain_expiry.md)
10
10
  3. [LogGroup Metric Filters](custom_checks/log_group_metric_filters.md)
11
11
  4. [NRPE](custom_checks/nrpe.md)
12
12
  5. [Port](custom_checks/port.md)
data/docs/resources.md CHANGED
@@ -56,6 +56,8 @@ Resources:
56
56
  | CloudFrontDistribution | Id |
57
57
  | SQSQueue | Id |
58
58
  | ElasticSearch | Id, Domain |
59
+ | DMSCluster | Id |
60
+ | DMSTask | Id, Instance |
59
61
 
60
62
 
61
63
  ## Custom Resource Groups
@@ -12,6 +12,8 @@ require 'cfnguardian/resources/autoscaling_group'
12
12
  require 'cfnguardian/resources/cloudfront_distribution'
13
13
  require 'cfnguardian/resources/autoscaling_group'
14
14
  require 'cfnguardian/resources/domain_expiry'
15
+ require 'cfnguardian/resources/dms_task'
16
+ require 'cfnguardian/resources/dms_cluster'
15
17
  require 'cfnguardian/resources/documentdb_cluster'
16
18
  require 'cfnguardian/resources/dynamodb_table'
17
19
  require 'cfnguardian/resources/ec2_instance'
@@ -154,6 +154,29 @@ module CfnGuardian
154
154
  end
155
155
  end
156
156
 
157
+ class DMSTaskAlarm < BaseAlarm
158
+ def initialize(resource)
159
+ super(resource)
160
+ @group = 'DMSTask'
161
+ @namespace = 'AWS/DMS'
162
+ @dimensions = {
163
+ ReplicationTaskIdentifier: resource['Id'],
164
+ ReplicationInstanceIdentifier: resource['Instance']
165
+ }
166
+ end
167
+ end
168
+
169
+ class DMSClusterAlarm < BaseAlarm
170
+ def initialize(resource)
171
+ super(resource)
172
+ @group = 'DMSCluster'
173
+ @namespace = 'AWS/DMS'
174
+ @dimensions = {
175
+ ReplicationInstanceIdentifier: resource['Id']
176
+ }
177
+ end
178
+ end
179
+
157
180
  class DocumentDBClusterAlarm < BaseAlarm
158
181
  def initialize(resource)
159
182
  super(resource)
@@ -0,0 +1,40 @@
1
+ module CfnGuardian::Resource
2
+ class DMSCluster < Base
3
+
4
+ def default_alarms
5
+ alarm = CfnGuardian::Models::DMSClusterAlarm.new(@resource)
6
+ alarm.name = 'CPUUtilizationHighSpike'
7
+ alarm.metric_name = 'CPUUtilization'
8
+ alarm.threshold = 90
9
+ alarm.statistic = 'Minimum'
10
+ alarm.evaluation_periods = 10
11
+ @alarms.push(alarm)
12
+
13
+ alarm = CfnGuardian::Models::DMSClusterAlarm.new(@resource)
14
+ alarm.name = 'CPUUtilizationHighBase'
15
+ alarm.metric_name = 'CPUUtilization'
16
+ alarm.threshold = 95
17
+ alarm.evaluation_periods = 2
18
+ alarm.statistic = 'Maximum'
19
+ alarm.alarm_action = 'Warning'
20
+ @alarms.push(alarm)
21
+
22
+ alarm = CfnGuardian::Models::DMSClusterAlarm.new(@resource)
23
+ alarm.name = 'FreeStorageSpaceCrit'
24
+ alarm.metric_name = 'FreeStorageSpace'
25
+ alarm.statistic = 'Minimum'
26
+ alarm.threshold = 10000000000
27
+ alarm.evaluation_periods = 1
28
+ @alarms.push(alarm)
29
+
30
+ alarm = CfnGuardian::Models::DMSClusterAlarm.new(@resource)
31
+ alarm.name = 'FreeStorageSpaceWarn'
32
+ alarm.metric_name = 'FreeStorageSpace'
33
+ alarm.statistic = 'Minimum'
34
+ alarm.threshold = 20000000000
35
+ alarm.evaluation_periods = 1
36
+ alarm.alarm_action = 'Warning'
37
+ @alarms.push(alarm)
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,42 @@
1
+ module CfnGuardian::Resource
2
+ class DMSTask < Base
3
+
4
+ def default_alarms
5
+ alarm = CfnGuardian::Models::DMSTaskAlarm.new(@resource)
6
+ alarm.name = 'CDCLatencySourceCritical'
7
+ alarm.metric_name = 'CDCLatencySource'
8
+ alarm.statistic = 'Minimum'
9
+ alarm.threshold = 30
10
+ alarm.evaluation_periods = 10
11
+ alarm.enabled = false
12
+ @alarms.push(alarm)
13
+
14
+ alarm = CfnGuardian::Models::DMSTaskAlarm.new(@resource)
15
+ alarm.name = 'CDCLatencySourceWarn'
16
+ alarm.metric_name = 'CDCLatencySource'
17
+ alarm.statistic = 'Minimum'
18
+ alarm.threshold = 30
19
+ alarm.evaluation_periods = 1
20
+ alarm.enabled = false
21
+ @alarms.push(alarm)
22
+
23
+ alarm = CfnGuardian::Models::DMSTaskAlarm.new(@resource)
24
+ alarm.name = 'CDCLatencyTargetCritical'
25
+ alarm.metric_name = 'CDCLatencyTarget'
26
+ alarm.statistic = 'Minimum'
27
+ alarm.threshold = 30
28
+ alarm.evaluation_periods = 10
29
+ alarm.enabled = false
30
+ @alarms.push(alarm)
31
+
32
+ alarm = CfnGuardian::Models::DMSTaskAlarm.new(@resource)
33
+ alarm.name = 'CDCLatencyTargetWarn'
34
+ alarm.metric_name = 'CDCLatencyTarget'
35
+ alarm.statistic = 'Minimum'
36
+ alarm.threshold = 30
37
+ alarm.evaluation_periods = 1
38
+ alarm.enabled = false
39
+ @alarms.push(alarm)
40
+ end
41
+ end
42
+ end
@@ -1,4 +1,4 @@
1
1
  module CfnGuardian
2
- VERSION = "0.7.12"
2
+ VERSION = "0.7.13"
3
3
  CHANGE_SET_VERSION = VERSION.gsub('.', '-').freeze
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cfn-guardian
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.12
4
+ version: 0.7.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Guslington
@@ -280,6 +280,8 @@ files:
280
280
  - lib/cfnguardian/resources/base.rb
281
281
  - lib/cfnguardian/resources/batch.rb
282
282
  - lib/cfnguardian/resources/cloudfront_distribution.rb
283
+ - lib/cfnguardian/resources/dms_cluster.rb
284
+ - lib/cfnguardian/resources/dms_task.rb
283
285
  - lib/cfnguardian/resources/documentdb_cluster.rb
284
286
  - lib/cfnguardian/resources/domain_expiry.rb
285
287
  - lib/cfnguardian/resources/dynamodb_table.rb