cfn-guardian 0.7.11 → 0.7.14

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: ae2d9c8f676d3fede74350ec76fb2b8bddcb6f8e8762c1a5b36775c497751e01
4
- data.tar.gz: 42057804970c06d585b61f2b678c2325835d8e625404a0bea7a47b282e70c388
3
+ metadata.gz: 0b065a39283ec6d6aedf0e41a38c59e36cc8d6652ff9b97cbac69dd9b697c8a5
4
+ data.tar.gz: 87a37081eae0b8418cbe5bafeacf568e3f242279857b42859f3ceaba4d48a800
5
5
  SHA512:
6
- metadata.gz: 005324bcb952e08fba96f90642f963cdc392f48aff34c40fe1d35b1ba9323a4d7bcafb4a245c74ed6eb63d3302e4feb986388063aff37d514996d6a2dc14e37a
7
- data.tar.gz: 3101c21efc47f495cb40dd9ee887e0913a3e0d846ef14ab9671cf049a8bd09bfb72f221aace3e51d0d69b2d5a98477344044eec9bcf9ea9c4fe07a239f99d19b
6
+ metadata.gz: 060c2ddf30267bd453233981511f85e9f27aae375cfd32fe0945fa811670976adfbaa8d353e4a5ca267c6a5666ff3e9883b2519203e0896506b9a65e2a5ed2d7
7
+ data.tar.gz: 5c5594293a2580e5d395c43e7ff035e78fec4e8b7f63f47c4aaf82ff3e06cfcc2b81c92fe763339f049086f3fa486b28a590e1c205e6867b9aab73dafe1bb12e
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/notifiers.md CHANGED
@@ -24,10 +24,10 @@ Topics:
24
24
  Informational: arn:aws:sns:ap-southeast-2:123456789012:Informational
25
25
  Custom: arn:aws:sns:ap-southeast-2:123456789012:Custom
26
26
 
27
- Template:
27
+ Templates:
28
28
  Ec2Instance:
29
29
  GroupOverrides:
30
- AlarmActions:
30
+ AlarmAction:
31
31
  - Critical
32
32
  - Custom
33
33
  ```
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)
@@ -64,7 +64,7 @@ module CfnGuardian
64
64
  @package = 'port-check'
65
65
  @handler = 'handler.port_check'
66
66
  @version = '356203b2a720ba0730622f978e677b88f8d0c328'
67
- @runtime = 'python3.6'
67
+ @runtime = 'python3.7'
68
68
  end
69
69
  end
70
70
 
@@ -152,7 +152,7 @@ module CfnGuardian
152
152
  @package = 'ecs-containder-instance-check'
153
153
  @handler = 'handler.run_check'
154
154
  @version = '4f650d5846d6e8d19f0139bccdeeb147f03f0dd6'
155
- @runtime = 'python3.6'
155
+ @runtime = 'python3.7'
156
156
  end
157
157
  end
158
158
 
@@ -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
@@ -14,8 +14,9 @@ module CfnGuardian
14
14
  alarm = CfnGuardian::Models::Ec2InstanceAlarm.new(@resource)
15
15
  alarm.name = 'StatusCheckFailed'
16
16
  alarm.metric_name = 'StatusCheckFailed'
17
- alarm.threshold = 90
18
- alarm.evaluation_periods = 10
17
+ alarm.threshold = 0
18
+ alarm.evaluation_periods = 1
19
+ alarm.comparison_operator = 'GreaterThanThreshold'
19
20
  @alarms.push(alarm)
20
21
 
21
22
  alarm = CfnGuardian::Models::Ec2InstanceAlarm.new(@resource)
@@ -1,4 +1,4 @@
1
1
  module CfnGuardian
2
- VERSION = "0.7.11"
2
+ VERSION = "0.7.14"
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.11
4
+ version: 0.7.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Guslington
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-01-28 00:00:00.000000000 Z
11
+ date: 2022-04-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -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