@composurecdk/cloudwatch 0.7.0 → 0.8.1
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.
- package/README.md +60 -1
- package/dist/commonjs/alarm-config.d.ts.map +1 -0
- package/dist/commonjs/alarm-config.js +3 -0
- package/dist/{alarm-config.js.map → commonjs/alarm-config.js.map} +1 -1
- package/dist/{alarm-definition-builder.d.ts → commonjs/alarm-definition-builder.d.ts} +6 -6
- package/dist/commonjs/alarm-definition-builder.d.ts.map +1 -0
- package/dist/commonjs/alarm-definition-builder.js +103 -0
- package/dist/commonjs/alarm-definition-builder.js.map +1 -0
- package/dist/commonjs/alarm-definition.d.ts +31 -0
- package/dist/commonjs/alarm-definition.d.ts.map +1 -0
- package/dist/commonjs/alarm-definition.js +3 -0
- package/dist/{alarm-definition.js.map → commonjs/alarm-definition.js.map} +1 -1
- package/dist/commonjs/alarm-name.d.ts.map +1 -0
- package/dist/commonjs/alarm-name.js +52 -0
- package/dist/commonjs/alarm-name.js.map +1 -0
- package/dist/commonjs/create-alarms.d.ts.map +1 -0
- package/dist/commonjs/create-alarms.js +41 -0
- package/dist/commonjs/create-alarms.js.map +1 -0
- package/dist/commonjs/default-alarm-name.d.ts.map +1 -0
- package/dist/commonjs/default-alarm-name.js +20 -0
- package/dist/commonjs/default-alarm-name.js.map +1 -0
- package/dist/{index.d.ts → commonjs/index.d.ts} +1 -1
- package/dist/commonjs/index.d.ts.map +1 -0
- package/dist/commonjs/index.js +18 -0
- package/dist/commonjs/index.js.map +1 -0
- package/dist/commonjs/package.json +3 -0
- package/dist/{policies → commonjs/policies}/alarm-actions-policy.d.ts +19 -11
- package/dist/commonjs/policies/alarm-actions-policy.d.ts.map +1 -0
- package/dist/commonjs/policies/alarm-actions-policy.js +139 -0
- package/dist/commonjs/policies/alarm-actions-policy.js.map +1 -0
- package/dist/commonjs/policies/alarm-name-policy.d.ts.map +1 -0
- package/dist/commonjs/policies/alarm-name-policy.js +99 -0
- package/dist/commonjs/policies/alarm-name-policy.js.map +1 -0
- package/dist/{policies → commonjs/policies}/policy-matcher.d.ts +15 -1
- package/dist/commonjs/policies/policy-matcher.d.ts.map +1 -0
- package/dist/commonjs/policies/policy-matcher.js +41 -0
- package/dist/commonjs/policies/policy-matcher.js.map +1 -0
- package/dist/commonjs/resolve-alarm-config.d.ts.map +1 -0
- package/dist/commonjs/resolve-alarm-config.js +18 -0
- package/dist/commonjs/resolve-alarm-config.js.map +1 -0
- package/dist/esm/alarm-config.d.ts +31 -0
- package/dist/esm/alarm-config.d.ts.map +1 -0
- package/dist/esm/alarm-config.js.map +1 -0
- package/dist/esm/alarm-definition-builder.d.ts +40 -0
- package/dist/esm/alarm-definition-builder.d.ts.map +1 -0
- package/dist/{alarm-definition-builder.js → esm/alarm-definition-builder.js} +3 -3
- package/dist/esm/alarm-definition-builder.js.map +1 -0
- package/dist/esm/alarm-definition.d.ts +31 -0
- package/dist/esm/alarm-definition.d.ts.map +1 -0
- package/dist/esm/alarm-definition.js.map +1 -0
- package/dist/esm/alarm-name.d.ts +32 -0
- package/dist/esm/alarm-name.d.ts.map +1 -0
- package/dist/esm/alarm-name.js.map +1 -0
- package/dist/esm/create-alarms.d.ts +19 -0
- package/dist/esm/create-alarms.d.ts.map +1 -0
- package/dist/esm/create-alarms.js.map +1 -0
- package/dist/esm/default-alarm-name.d.ts +14 -0
- package/dist/esm/default-alarm-name.d.ts.map +1 -0
- package/dist/esm/default-alarm-name.js.map +1 -0
- package/dist/esm/index.d.ts +11 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/policies/alarm-actions-policy.d.ts +62 -0
- package/dist/esm/policies/alarm-actions-policy.d.ts.map +1 -0
- package/dist/{policies → esm/policies}/alarm-actions-policy.js +21 -14
- package/dist/esm/policies/alarm-actions-policy.js.map +1 -0
- package/dist/esm/policies/alarm-name-policy.d.ts +77 -0
- package/dist/esm/policies/alarm-name-policy.d.ts.map +1 -0
- package/dist/{policies → esm/policies}/alarm-name-policy.js +3 -4
- package/dist/esm/policies/alarm-name-policy.js.map +1 -0
- package/dist/esm/policies/policy-matcher.d.ts +45 -0
- package/dist/esm/policies/policy-matcher.d.ts.map +1 -0
- package/dist/esm/policies/policy-matcher.js +35 -0
- package/dist/esm/policies/policy-matcher.js.map +1 -0
- package/dist/esm/resolve-alarm-config.d.ts +25 -0
- package/dist/esm/resolve-alarm-config.d.ts.map +1 -0
- package/dist/esm/resolve-alarm-config.js.map +1 -0
- package/package.json +33 -15
- package/dist/alarm-config.d.ts.map +0 -1
- package/dist/alarm-definition-builder.d.ts.map +0 -1
- package/dist/alarm-definition-builder.js.map +0 -1
- package/dist/alarm-definition.d.ts +0 -21
- package/dist/alarm-definition.d.ts.map +0 -1
- package/dist/alarm-name.d.ts.map +0 -1
- package/dist/alarm-name.js.map +0 -1
- package/dist/create-alarms.d.ts.map +0 -1
- package/dist/create-alarms.js.map +0 -1
- package/dist/default-alarm-name.d.ts.map +0 -1
- package/dist/default-alarm-name.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/policies/alarm-actions-policy.d.ts.map +0 -1
- package/dist/policies/alarm-actions-policy.js.map +0 -1
- package/dist/policies/alarm-name-policy.d.ts.map +0 -1
- package/dist/policies/alarm-name-policy.js.map +0 -1
- package/dist/policies/policy-matcher.d.ts.map +0 -1
- package/dist/policies/policy-matcher.js +0 -16
- package/dist/policies/policy-matcher.js.map +0 -1
- package/dist/resolve-alarm-config.d.ts.map +0 -1
- package/dist/resolve-alarm-config.js.map +0 -1
- /package/dist/{alarm-config.d.ts → commonjs/alarm-config.d.ts} +0 -0
- /package/dist/{alarm-name.d.ts → commonjs/alarm-name.d.ts} +0 -0
- /package/dist/{create-alarms.d.ts → commonjs/create-alarms.d.ts} +0 -0
- /package/dist/{default-alarm-name.d.ts → commonjs/default-alarm-name.d.ts} +0 -0
- /package/dist/{policies → commonjs/policies}/alarm-name-policy.d.ts +0 -0
- /package/dist/{resolve-alarm-config.d.ts → commonjs/resolve-alarm-config.d.ts} +0 -0
- /package/dist/{alarm-config.js → esm/alarm-config.js} +0 -0
- /package/dist/{alarm-definition.js → esm/alarm-definition.js} +0 -0
- /package/dist/{alarm-name.js → esm/alarm-name.js} +0 -0
- /package/dist/{create-alarms.js → esm/create-alarms.js} +0 -0
- /package/dist/{default-alarm-name.js → esm/default-alarm-name.js} +0 -0
- /package/dist/{index.js → esm/index.js} +0 -0
- /package/dist/{resolve-alarm-config.js → esm/resolve-alarm-config.js} +0 -0
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import type { IAlarmAction } from "aws-cdk-lib/aws-cloudwatch";
|
|
2
|
+
import { type IConstruct } from "constructs";
|
|
3
|
+
import { type AlarmRuleScope } from "./policy-matcher.js";
|
|
4
|
+
export type { AlarmMatchContext, AlarmMatcher } from "./policy-matcher.js";
|
|
5
|
+
/** A set of actions, one array per alarm state. All arrays are optional. */
|
|
6
|
+
export interface AlarmActionSet {
|
|
7
|
+
alarmActions?: IAlarmAction[];
|
|
8
|
+
okActions?: IAlarmAction[];
|
|
9
|
+
insufficientDataActions?: IAlarmAction[];
|
|
10
|
+
}
|
|
11
|
+
/** A rule: a matcher (or matchers) plus an action set, with optional scoping flags. */
|
|
12
|
+
export interface AlarmActionRule extends AlarmActionSet, AlarmRuleScope {
|
|
13
|
+
/** When this rule matches, suppress `defaults` for the alarm. */
|
|
14
|
+
replaceDefaults?: boolean;
|
|
15
|
+
}
|
|
16
|
+
/** Configuration for {@link alarmActionsPolicy}. */
|
|
17
|
+
export interface AlarmActionsPolicyConfig {
|
|
18
|
+
/** Actions applied to every matched alarm unless a matching rule sets `replaceDefaults: true`. */
|
|
19
|
+
defaults?: AlarmActionSet;
|
|
20
|
+
/** Ordered list of overrides. All matching rules contribute (append semantics). */
|
|
21
|
+
rules?: AlarmActionRule[];
|
|
22
|
+
/** Skip alarms that already have non-empty `alarmActions`. */
|
|
23
|
+
skipIfAlreadyConfigured?: boolean;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Registers a CDK {@link https://docs.aws.amazon.com/cdk/v2/guide/aspects.html | Aspect}
|
|
27
|
+
* on `scope` that attaches CloudWatch alarm actions to every `Alarm` and
|
|
28
|
+
* `CompositeAlarm` (L2) construct in the subtree at synth time. Call once
|
|
29
|
+
* with any scope — an `App`, a `Stack`, or the scope passed to `.build()`
|
|
30
|
+
* for a composed system; alarms added after the call still pick up the
|
|
31
|
+
* policy, so call ordering is irrelevant as
|
|
32
|
+
* long as it happens before `app.synth()`. In particular, there is no need
|
|
33
|
+
* to wrap this call in `afterBuild` — the Aspect runs after the construct
|
|
34
|
+
* tree is finalised, not at call time. The only temporal constraint is that
|
|
35
|
+
* any `IAlarmAction` instances in `config` (e.g. `new SnsAction(topic)`)
|
|
36
|
+
* must reference constructs that already exist when the policy is called.
|
|
37
|
+
*
|
|
38
|
+
* Detection uses the version-portable `isCfnAlarm` / `isCfnCompositeAlarm`
|
|
39
|
+
* guards (`CfnResource.isCfnResource` + `cfnResourceType`, so they work below
|
|
40
|
+
* aws-cdk-lib 2.231.0) on the L1 resource; the L2 parent is found via
|
|
41
|
+
* duck-typing on `addAlarmAction`. Actions are attached through
|
|
42
|
+
* the L2 so that `IAlarmAction.bind()` runs and permissions are wired
|
|
43
|
+
* correctly. Bare `CfnAlarm` nodes (created without an L2 wrapper) are
|
|
44
|
+
* detected but silently skipped.
|
|
45
|
+
*
|
|
46
|
+
* `defaults` apply to every matched alarm; `rules` append additional actions.
|
|
47
|
+
* A rule matches if any of its `match` entries matches. Set
|
|
48
|
+
* `replaceDefaults: true` on a rule to suppress defaults for its matched
|
|
49
|
+
* alarms.
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```ts
|
|
53
|
+
* alarmActionsPolicy(app, {
|
|
54
|
+
* defaults: { alarmActions: [new SnsAction(standardTopic)] },
|
|
55
|
+
* rules: [
|
|
56
|
+
* { match: "HighSev", alarmActions: [new SnsAction(pagerTopic)] },
|
|
57
|
+
* ],
|
|
58
|
+
* });
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
61
|
+
export declare function alarmActionsPolicy(scope: IConstruct, config: AlarmActionsPolicyConfig): void;
|
|
62
|
+
//# sourceMappingURL=alarm-actions-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alarm-actions-policy.d.ts","sourceRoot":"","sources":["../../../src/policies/alarm-actions-policy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAuC,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACpG,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAEL,KAAK,cAAc,EAIpB,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE3E,4EAA4E;AAC5E,MAAM,WAAW,cAAc;IAC7B,YAAY,CAAC,EAAE,YAAY,EAAE,CAAC;IAC9B,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC;IAC3B,uBAAuB,CAAC,EAAE,YAAY,EAAE,CAAC;CAC1C;AAED,uFAAuF;AACvF,MAAM,WAAW,eAAgB,SAAQ,cAAc,EAAE,cAAc;IACrE,iEAAiE;IACjE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,oDAAoD;AACpD,MAAM,WAAW,wBAAwB;IACvC,kGAAkG;IAClG,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,mFAAmF;IACnF,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC;IAC1B,8DAA8D;IAC9D,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AA4DD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,wBAAwB,GAAG,IAAI,CAkD5F"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Aspects, Stack } from "aws-cdk-lib";
|
|
2
|
-
import {
|
|
3
|
-
import { ruleMatches } from "./policy-matcher.js";
|
|
2
|
+
import { isCfnAlarm, isCfnCompositeAlarm, ruleMatches, } from "./policy-matcher.js";
|
|
4
3
|
function isL2AlarmLike(node) {
|
|
5
4
|
if (node === undefined)
|
|
6
5
|
return false;
|
|
@@ -36,8 +35,8 @@ function dedupe(items) {
|
|
|
36
35
|
function visitAlarms(scope, visit) {
|
|
37
36
|
Aspects.of(scope).add({
|
|
38
37
|
visit(node) {
|
|
39
|
-
const isAlarm =
|
|
40
|
-
const isComposite =
|
|
38
|
+
const isAlarm = isCfnAlarm(node);
|
|
39
|
+
const isComposite = isCfnCompositeAlarm(node);
|
|
41
40
|
if (!isAlarm && !isComposite)
|
|
42
41
|
return;
|
|
43
42
|
const parent = node.node.scope;
|
|
@@ -47,17 +46,25 @@ function visitAlarms(scope, visit) {
|
|
|
47
46
|
});
|
|
48
47
|
}
|
|
49
48
|
/**
|
|
50
|
-
*
|
|
51
|
-
*
|
|
49
|
+
* Registers a CDK {@link https://docs.aws.amazon.com/cdk/v2/guide/aspects.html | Aspect}
|
|
50
|
+
* on `scope` that attaches CloudWatch alarm actions to every `Alarm` and
|
|
51
|
+
* `CompositeAlarm` (L2) construct in the subtree at synth time. Call once
|
|
52
|
+
* with any scope — an `App`, a `Stack`, or the scope passed to `.build()`
|
|
53
|
+
* for a composed system; alarms added after the call still pick up the
|
|
54
|
+
* policy, so call ordering is irrelevant as
|
|
55
|
+
* long as it happens before `app.synth()`. In particular, there is no need
|
|
56
|
+
* to wrap this call in `afterBuild` — the Aspect runs after the construct
|
|
57
|
+
* tree is finalised, not at call time. The only temporal constraint is that
|
|
58
|
+
* any `IAlarmAction` instances in `config` (e.g. `new SnsAction(topic)`)
|
|
59
|
+
* must reference constructs that already exist when the policy is called.
|
|
52
60
|
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
* L2 wrapper) are detected but silently skipped.
|
|
61
|
+
* Detection uses the version-portable `isCfnAlarm` / `isCfnCompositeAlarm`
|
|
62
|
+
* guards (`CfnResource.isCfnResource` + `cfnResourceType`, so they work below
|
|
63
|
+
* aws-cdk-lib 2.231.0) on the L1 resource; the L2 parent is found via
|
|
64
|
+
* duck-typing on `addAlarmAction`. Actions are attached through
|
|
65
|
+
* the L2 so that `IAlarmAction.bind()` runs and permissions are wired
|
|
66
|
+
* correctly. Bare `CfnAlarm` nodes (created without an L2 wrapper) are
|
|
67
|
+
* detected but silently skipped.
|
|
61
68
|
*
|
|
62
69
|
* `defaults` apply to every matched alarm; `rules` append additional actions.
|
|
63
70
|
* A rule matches if any of its `match` entries matches. Set
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alarm-actions-policy.js","sourceRoot":"","sources":["../../../src/policies/alarm-actions-policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { type IConstruct } from "constructs";
|
|
2
|
+
import { type AlarmName } from "../alarm-name.js";
|
|
3
|
+
import { type AlarmMatchContext, type AlarmRuleScope } from "./policy-matcher.js";
|
|
4
|
+
/** Context passed to {@link AlarmNameRule.transform}. */
|
|
5
|
+
export interface AlarmNameTransformContext extends AlarmMatchContext {
|
|
6
|
+
/**
|
|
7
|
+
* The alarm name as it stands at the moment this rule's transform runs:
|
|
8
|
+
* the original alarm name plus any prefix/suffix decorations contributed
|
|
9
|
+
* by `defaults` and earlier matched rules.
|
|
10
|
+
*/
|
|
11
|
+
readonly currentName: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* A rule for {@link alarmNamePolicy}. A rule matches when **any** supplied
|
|
15
|
+
* matcher matches.
|
|
16
|
+
*
|
|
17
|
+
* - `prefix` / `suffix` decorate the current name.
|
|
18
|
+
* - `transform` produces a new name from scratch and wins over `prefix`/`suffix`
|
|
19
|
+
* when both are set on the same rule.
|
|
20
|
+
* - Multiple matched rules layer in declaration order.
|
|
21
|
+
*/
|
|
22
|
+
export interface AlarmNameRule extends AlarmRuleScope {
|
|
23
|
+
/** Prepended to the current name with the configured separator. */
|
|
24
|
+
prefix?: string;
|
|
25
|
+
/** Appended to the current name with the configured separator. */
|
|
26
|
+
suffix?: string;
|
|
27
|
+
/** Full transform — wins over `prefix`/`suffix` on the same rule. */
|
|
28
|
+
transform?: (ctx: AlarmNameTransformContext) => AlarmName;
|
|
29
|
+
/** When `true`, this rule's `prefix`/`suffix` replace `defaults` rather than layering on top. */
|
|
30
|
+
replaceDefaults?: boolean;
|
|
31
|
+
}
|
|
32
|
+
/** Configuration for {@link alarmNamePolicy}. */
|
|
33
|
+
export interface AlarmNamePolicyConfig {
|
|
34
|
+
/** Decorations applied to every alarm unless a matching rule sets `replaceDefaults: true`. */
|
|
35
|
+
defaults?: Pick<AlarmNameRule, "prefix" | "suffix">;
|
|
36
|
+
/** Ordered list of rules. All matching rules contribute. */
|
|
37
|
+
rules?: AlarmNameRule[];
|
|
38
|
+
/**
|
|
39
|
+
* Separator between prefix / current-name / suffix segments.
|
|
40
|
+
* @default "-"
|
|
41
|
+
*/
|
|
42
|
+
separator?: string;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Decorates CloudWatch alarm names across an entire scope.
|
|
46
|
+
*
|
|
47
|
+
* Installs a CDK
|
|
48
|
+
* {@link https://docs.aws.amazon.com/cdk/v2/guide/aspects.html | Aspect}
|
|
49
|
+
* that fires during the synth prepare phase. For every `AWS::CloudWatch::Alarm`
|
|
50
|
+
* (and `AWS::CloudWatch::CompositeAlarm`) found beneath `scope`:
|
|
51
|
+
*
|
|
52
|
+
* 1. The alarm's existing name is read (set by the library default or the
|
|
53
|
+
* consumer's per-alarm override).
|
|
54
|
+
* 2. `defaults.prefix` / `defaults.suffix` decorate it, unless a matched
|
|
55
|
+
* rule sets `replaceDefaults: true`.
|
|
56
|
+
* 3. Each matching rule contributes in declaration order — `transform`
|
|
57
|
+
* replaces the current name; otherwise `prefix`/`suffix` decorate.
|
|
58
|
+
* 4. The final value is validated via {@link alarmName} and written back to
|
|
59
|
+
* `cfn.alarmName`.
|
|
60
|
+
*
|
|
61
|
+
* Use cases: stage prefixing (`prod-…`), severity tagging (`…-critical`),
|
|
62
|
+
* team scoping. Composes with per-alarm `alarmName` overrides — those run
|
|
63
|
+
* first, the policy decorates the result.
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* ```ts
|
|
67
|
+
* alarmNamePolicy(app, {
|
|
68
|
+
* defaults: { prefix: "prod" },
|
|
69
|
+
* rules: [
|
|
70
|
+
* { match: /Errors$/, suffix: "critical" },
|
|
71
|
+
* { match: "throttles", suffix: "warning" },
|
|
72
|
+
* ],
|
|
73
|
+
* });
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
export declare function alarmNamePolicy(scope: IConstruct, config: AlarmNamePolicyConfig): void;
|
|
77
|
+
//# sourceMappingURL=alarm-name-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alarm-name-policy.d.ts","sourceRoot":"","sources":["../../../src/policies/alarm-name-policy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,KAAK,SAAS,EAA+B,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,cAAc,EAIpB,MAAM,qBAAqB,CAAC;AAE7B,yDAAyD;AACzD,MAAM,WAAW,yBAA0B,SAAQ,iBAAiB;IAClE;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,yBAAyB,KAAK,SAAS,CAAC;IAC1D,iGAAiG;IACjG,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,iDAAiD;AACjD,MAAM,WAAW,qBAAqB;IACpC,8FAA8F;IAC9F,QAAQ,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,GAAG,QAAQ,CAAC,CAAC;IACpD,4DAA4D;IAC5D,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;IACxB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAsBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,qBAAqB,GAAG,IAAI,CAgDtF"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Aspects, Stack } from "aws-cdk-lib";
|
|
2
|
-
import { CfnAlarm, CfnCompositeAlarm } from "aws-cdk-lib/aws-cloudwatch";
|
|
3
2
|
import { alarmName as brandAlarmName } from "../alarm-name.js";
|
|
4
|
-
import { ruleMatches } from "./policy-matcher.js";
|
|
3
|
+
import { isCfnAlarm, isCfnCompositeAlarm, ruleMatches, } from "./policy-matcher.js";
|
|
5
4
|
function decorate(current, prefix, suffix, sep) {
|
|
6
5
|
const parts = [];
|
|
7
6
|
if (prefix !== undefined && prefix.length > 0)
|
|
@@ -55,8 +54,8 @@ export function alarmNamePolicy(scope, config) {
|
|
|
55
54
|
const processed = new WeakSet();
|
|
56
55
|
Aspects.of(scope).add({
|
|
57
56
|
visit(node) {
|
|
58
|
-
const isAlarm =
|
|
59
|
-
const isComposite =
|
|
57
|
+
const isAlarm = isCfnAlarm(node);
|
|
58
|
+
const isComposite = isCfnCompositeAlarm(node);
|
|
60
59
|
if (!isAlarm && !isComposite)
|
|
61
60
|
return;
|
|
62
61
|
const cfn = node;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alarm-name-policy.js","sourceRoot":"","sources":["../../../src/policies/alarm-name-policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { CfnAlarm, CfnCompositeAlarm, type IAlarm } from "aws-cdk-lib/aws-cloudwatch";
|
|
2
|
+
import type { IConstruct } from "constructs";
|
|
3
|
+
/**
|
|
4
|
+
* Version-portable replacement for `CfnAlarm.isCfnAlarm`, which only exists in
|
|
5
|
+
* aws-cdk-lib >= 2.231.0 and throws `TypeError` on older versions inside our
|
|
6
|
+
* declared `^2.0.0` peer range (issue #146). Checks the foundational
|
|
7
|
+
* `CfnResource.isCfnResource` guard plus a `cfnResourceType` compare — exactly
|
|
8
|
+
* what the modern static does internally — so it works across the full range.
|
|
9
|
+
*/
|
|
10
|
+
export declare function isCfnAlarm(x: IConstruct): x is CfnAlarm;
|
|
11
|
+
/**
|
|
12
|
+
* Version-portable replacement for `CfnCompositeAlarm.isCfnCompositeAlarm`.
|
|
13
|
+
* See {@link isCfnAlarm} for why this exists.
|
|
14
|
+
*/
|
|
15
|
+
export declare function isCfnCompositeAlarm(x: IConstruct): x is CfnCompositeAlarm;
|
|
16
|
+
/**
|
|
17
|
+
* Selects which alarms a rule applies to.
|
|
18
|
+
*
|
|
19
|
+
* - `string` — substring match against the alarm's `id` OR `path`.
|
|
20
|
+
* - `RegExp` — tested against `path`.
|
|
21
|
+
* - predicate — receives the full {@link AlarmMatchContext}.
|
|
22
|
+
*/
|
|
23
|
+
export type AlarmMatcher = string | RegExp | ((ctx: AlarmMatchContext) => boolean);
|
|
24
|
+
/**
|
|
25
|
+
* Context passed to matcher predicates and derived for every visited alarm.
|
|
26
|
+
*
|
|
27
|
+
* `id` and `path` come from the L2 alarm when one is present, otherwise from
|
|
28
|
+
* the L1 `CfnAlarm` / `CfnCompositeAlarm`.
|
|
29
|
+
*/
|
|
30
|
+
export interface AlarmMatchContext {
|
|
31
|
+
readonly alarm: IAlarm | undefined;
|
|
32
|
+
readonly cfn: CfnAlarm | CfnCompositeAlarm;
|
|
33
|
+
readonly id: string;
|
|
34
|
+
readonly path: string;
|
|
35
|
+
readonly isComposite: boolean;
|
|
36
|
+
}
|
|
37
|
+
/** Common scoping flags shared by every alarm-policy rule shape. */
|
|
38
|
+
export interface AlarmRuleScope {
|
|
39
|
+
match: AlarmMatcher | AlarmMatcher[];
|
|
40
|
+
singleOnly?: boolean;
|
|
41
|
+
compositeOnly?: boolean;
|
|
42
|
+
}
|
|
43
|
+
export declare function matchesOne(matcher: AlarmMatcher, ctx: AlarmMatchContext): boolean;
|
|
44
|
+
export declare function ruleMatches(rule: AlarmRuleScope, ctx: AlarmMatchContext): boolean;
|
|
45
|
+
//# sourceMappingURL=policy-matcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy-matcher.d.ts","sourceRoot":"","sources":["../../../src/policies/policy-matcher.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,KAAK,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACtF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,IAAI,QAAQ,CAEvD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,IAAI,iBAAiB,CAIzE;AAED;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,iBAAiB,KAAK,OAAO,CAAC,CAAC;AAEnF;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,GAAG,EAAE,QAAQ,GAAG,iBAAiB,CAAC;IAC3C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC/B;AAED,oEAAoE;AACpE,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,YAAY,GAAG,YAAY,EAAE,CAAC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAIjF;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAKjF"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { CfnResource } from "aws-cdk-lib";
|
|
2
|
+
import { CfnAlarm, CfnCompositeAlarm } from "aws-cdk-lib/aws-cloudwatch";
|
|
3
|
+
/**
|
|
4
|
+
* Version-portable replacement for `CfnAlarm.isCfnAlarm`, which only exists in
|
|
5
|
+
* aws-cdk-lib >= 2.231.0 and throws `TypeError` on older versions inside our
|
|
6
|
+
* declared `^2.0.0` peer range (issue #146). Checks the foundational
|
|
7
|
+
* `CfnResource.isCfnResource` guard plus a `cfnResourceType` compare — exactly
|
|
8
|
+
* what the modern static does internally — so it works across the full range.
|
|
9
|
+
*/
|
|
10
|
+
export function isCfnAlarm(x) {
|
|
11
|
+
return CfnResource.isCfnResource(x) && x.cfnResourceType === CfnAlarm.CFN_RESOURCE_TYPE_NAME;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Version-portable replacement for `CfnCompositeAlarm.isCfnCompositeAlarm`.
|
|
15
|
+
* See {@link isCfnAlarm} for why this exists.
|
|
16
|
+
*/
|
|
17
|
+
export function isCfnCompositeAlarm(x) {
|
|
18
|
+
return (CfnResource.isCfnResource(x) && x.cfnResourceType === CfnCompositeAlarm.CFN_RESOURCE_TYPE_NAME);
|
|
19
|
+
}
|
|
20
|
+
export function matchesOne(matcher, ctx) {
|
|
21
|
+
if (typeof matcher === "function")
|
|
22
|
+
return matcher(ctx);
|
|
23
|
+
if (matcher instanceof RegExp)
|
|
24
|
+
return matcher.test(ctx.path);
|
|
25
|
+
return ctx.id.includes(matcher) || ctx.path.includes(matcher);
|
|
26
|
+
}
|
|
27
|
+
export function ruleMatches(rule, ctx) {
|
|
28
|
+
if (rule.singleOnly === true && ctx.isComposite)
|
|
29
|
+
return false;
|
|
30
|
+
if (rule.compositeOnly === true && !ctx.isComposite)
|
|
31
|
+
return false;
|
|
32
|
+
const matchers = Array.isArray(rule.match) ? rule.match : [rule.match];
|
|
33
|
+
return matchers.some((m) => matchesOne(m, ctx));
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=policy-matcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy-matcher.js","sourceRoot":"","sources":["../../../src/policies/policy-matcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAe,MAAM,4BAA4B,CAAC;AAGtF;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,CAAa;IACtC,OAAO,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,KAAK,QAAQ,CAAC,sBAAsB,CAAC;AAC/F,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,CAAa;IAC/C,OAAO,CACL,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,KAAK,iBAAiB,CAAC,sBAAsB,CAC/F,CAAC;AACJ,CAAC;AAgCD,MAAM,UAAU,UAAU,CAAC,OAAqB,EAAE,GAAsB;IACtE,IAAI,OAAO,OAAO,KAAK,UAAU;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;IACvD,IAAI,OAAO,YAAY,MAAM;QAAE,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC7D,OAAO,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAoB,EAAE,GAAsB;IACtE,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,GAAG,CAAC,WAAW;QAAE,OAAO,KAAK,CAAC;IAC9D,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW;QAAE,OAAO,KAAK,CAAC;IAClE,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvE,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AAClD,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { TreatMissingData } from "aws-cdk-lib/aws-cloudwatch";
|
|
2
|
+
import type { AlarmConfig, AlarmConfigDefaults } from "./alarm-config.js";
|
|
3
|
+
import type { AlarmName } from "./alarm-name.js";
|
|
4
|
+
/**
|
|
5
|
+
* A fully-resolved alarm configuration. Every numeric/enum field is required;
|
|
6
|
+
* `alarmName` is carried through verbatim from user config (or `undefined`
|
|
7
|
+
* when the consumer is happy with the library default).
|
|
8
|
+
*
|
|
9
|
+
* Produced by {@link resolveAlarmConfig} after merging user overrides onto
|
|
10
|
+
* defaults.
|
|
11
|
+
*/
|
|
12
|
+
export interface ResolvedAlarmConfig {
|
|
13
|
+
alarmName?: AlarmName;
|
|
14
|
+
threshold: number;
|
|
15
|
+
evaluationPeriods: number;
|
|
16
|
+
datapointsToAlarm: number;
|
|
17
|
+
treatMissingData: TreatMissingData;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Resolves an absolute-threshold alarm config by layering user overrides
|
|
21
|
+
* onto the defaults. `alarmName` is propagated from user config only;
|
|
22
|
+
* defaults intentionally do not specify a name.
|
|
23
|
+
*/
|
|
24
|
+
export declare function resolveAlarmConfig(userConfig: AlarmConfig | undefined, defaults: AlarmConfigDefaults): ResolvedAlarmConfig;
|
|
25
|
+
//# sourceMappingURL=resolve-alarm-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-alarm-config.d.ts","sourceRoot":"","sources":["../../src/resolve-alarm-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,WAAW,GAAG,SAAS,EACnC,QAAQ,EAAE,mBAAmB,GAC5B,mBAAmB,CAQrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-alarm-config.js","sourceRoot":"","sources":["../../src/resolve-alarm-config.ts"],"names":[],"mappings":"AAoBA;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAChC,UAAmC,EACnC,QAA6B;IAE7B,OAAO;QACL,SAAS,EAAE,UAAU,EAAE,SAAS;QAChC,SAAS,EAAE,UAAU,EAAE,SAAS,IAAI,QAAQ,CAAC,SAAS;QACtD,iBAAiB,EAAE,UAAU,EAAE,iBAAiB,IAAI,QAAQ,CAAC,iBAAiB;QAC9E,iBAAiB,EAAE,UAAU,EAAE,iBAAiB,IAAI,QAAQ,CAAC,iBAAiB;QAC9E,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,IAAI,QAAQ,CAAC,gBAAgB;KAC5E,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,29 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@composurecdk/cloudwatch",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.1",
|
|
4
4
|
"description": "Composable CloudWatch alarm primitives for composureCDK resource packages",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/laazyj/composureCDK",
|
|
8
8
|
"directory": "packages/cloudwatch"
|
|
9
9
|
},
|
|
10
|
-
"main": "./dist/index.js",
|
|
11
|
-
"types": "./dist/index.d.ts",
|
|
12
|
-
"exports": {
|
|
13
|
-
".": {
|
|
14
|
-
"import": "./dist/index.js",
|
|
15
|
-
"types": "./dist/index.d.ts"
|
|
16
|
-
}
|
|
17
|
-
},
|
|
18
10
|
"files": [
|
|
19
11
|
"dist",
|
|
20
12
|
"README.md",
|
|
21
13
|
"LICENSE"
|
|
22
14
|
],
|
|
23
15
|
"scripts": {
|
|
24
|
-
"clean": "rm -rf dist",
|
|
25
|
-
"build": "
|
|
16
|
+
"clean": "rm -rf dist .tshy .tshy-build",
|
|
17
|
+
"build": "tshy",
|
|
26
18
|
"typecheck": "tsc --noEmit",
|
|
19
|
+
"check:exports": "attw --pack . --profile node16 && publint",
|
|
27
20
|
"test": "vitest run --passWithNoTests",
|
|
28
21
|
"test:watch": "vitest"
|
|
29
22
|
},
|
|
@@ -34,15 +27,40 @@
|
|
|
34
27
|
"access": "public"
|
|
35
28
|
},
|
|
36
29
|
"type": "module",
|
|
30
|
+
"engines": {
|
|
31
|
+
"node": ">=20"
|
|
32
|
+
},
|
|
33
|
+
"tshy": {
|
|
34
|
+
"exports": {
|
|
35
|
+
"./package.json": "./package.json",
|
|
36
|
+
".": "./src/index.ts"
|
|
37
|
+
}
|
|
38
|
+
},
|
|
37
39
|
"peerDependencies": {
|
|
38
40
|
"aws-cdk-lib": "^2.0.0",
|
|
39
41
|
"constructs": "^10.0.0"
|
|
40
42
|
},
|
|
41
43
|
"devDependencies": {
|
|
42
|
-
"@types/node": "^25.
|
|
43
|
-
"aws-cdk-lib": "^2.
|
|
44
|
+
"@types/node": "^25.9.1",
|
|
45
|
+
"aws-cdk-lib": "^2.257.0",
|
|
44
46
|
"constructs": "^10.6.0",
|
|
45
47
|
"typescript": "^6.0.3",
|
|
46
|
-
"vitest": "^4.1.
|
|
47
|
-
}
|
|
48
|
+
"vitest": "^4.1.7"
|
|
49
|
+
},
|
|
50
|
+
"exports": {
|
|
51
|
+
"./package.json": "./package.json",
|
|
52
|
+
".": {
|
|
53
|
+
"import": {
|
|
54
|
+
"types": "./dist/esm/index.d.ts",
|
|
55
|
+
"default": "./dist/esm/index.js"
|
|
56
|
+
},
|
|
57
|
+
"require": {
|
|
58
|
+
"types": "./dist/commonjs/index.d.ts",
|
|
59
|
+
"default": "./dist/commonjs/index.js"
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
"main": "./dist/commonjs/index.js",
|
|
64
|
+
"types": "./dist/commonjs/index.d.ts",
|
|
65
|
+
"module": "./dist/esm/index.js"
|
|
48
66
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"alarm-config.d.ts","sourceRoot":"","sources":["../src/alarm-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,iEAAiE;IACjE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,2EAA2E;IAC3E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,gFAAgF;IAChF,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"alarm-definition-builder.d.ts","sourceRoot":"","sources":["../src/alarm-definition-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,MAAM,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC/F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;;;;;;;GAQG;AACH,qBAAa,sBAAsB,CAAC,UAAU;;gBAWhC,GAAG,EAAE,MAAM;IAIvB,MAAM,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,UAAU,KAAK,MAAM,GAAG,IAAI;IAKxD;;;;OAIG;IACH,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAKhC,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK9B,WAAW,IAAI,IAAI;IAKnB,kBAAkB,IAAI,IAAI;IAK1B,QAAQ,IAAI,IAAI;IAKhB,eAAe,IAAI,IAAI;IAKvB,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAKlC,iBAAiB,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAKlC,gBAAgB,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI;IAKnD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC,UAAU,EAAE,eAAe,KAAK,MAAM,CAAC,GAAG,IAAI;IAK3E;;;;;OAKG;IACH,OAAO,CAAC,SAAS,EAAE,UAAU,GAAG,eAAe;CAwBhD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"alarm-definition-builder.js","sourceRoot":"","sources":["../src/alarm-definition-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import type { ComparisonOperator, Metric, TreatMissingData } from "aws-cdk-lib/aws-cloudwatch";
|
|
2
|
-
import type { AlarmName } from "./alarm-name.js";
|
|
3
|
-
/**
|
|
4
|
-
* A fully-resolved alarm descriptor. All fields are required —
|
|
5
|
-
* this is the canonical form consumed by {@link createAlarms}.
|
|
6
|
-
*
|
|
7
|
-
* `alarmName` is the only optional field: when omitted, {@link createAlarms}
|
|
8
|
-
* derives a default via `defaultAlarmName(scope, id, key)`.
|
|
9
|
-
*/
|
|
10
|
-
export interface AlarmDefinition {
|
|
11
|
-
key: string;
|
|
12
|
-
alarmName?: AlarmName;
|
|
13
|
-
metric: Metric;
|
|
14
|
-
threshold: number;
|
|
15
|
-
comparisonOperator: ComparisonOperator;
|
|
16
|
-
evaluationPeriods: number;
|
|
17
|
-
datapointsToAlarm: number;
|
|
18
|
-
treatMissingData: TreatMissingData;
|
|
19
|
-
description: string;
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=alarm-definition.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"alarm-definition.d.ts","sourceRoot":"","sources":["../src/alarm-definition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC/F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,WAAW,EAAE,MAAM,CAAC;CACrB"}
|
package/dist/alarm-name.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"alarm-name.d.ts","sourceRoot":"","sources":["../src/alarm-name.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,cAAc,EAAE,OAAO,MAAM,CAAC;AAE5C;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAKrE;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAclD;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,EAAE,GAAG,SAAM,GAAG,SAAS,CAG/E;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQ3C"}
|
package/dist/alarm-name.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"alarm-name.js","sourceRoot":"","sources":["../src/alarm-name.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,GAAG,6BAA6B,CAAC;AAClD,MAAM,OAAO,GAAG,GAAG,CAAC;AAEpB;;;;;;;GAOG;AACH,MAAM,UAAU,SAAS,CAAC,KAAa;IACrC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChD,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,OAAO,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,sBAAsB,MAAM,CAAC,OAAO,CAAC,YAAY,OAAO,GAAG,CAAC,CAAC;IAC/E,CAAC;IACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACb,+FAA+F,OAAO,GAAG,CAC1G,CAAC;IACJ,CAAC;IACD,OAAO,OAAoB,CAAC;AAC9B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,QAA2B,EAAE,GAAG,GAAG,GAAG;IAClE,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC9D,OAAO,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACpC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,KAAK,CAAC,KAAa;IACjC,OAAO,KAAK;SACT,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC;SACtC,OAAO,CAAC,uBAAuB,EAAE,OAAO,CAAC;SACzC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;SACxB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,WAAW,EAAE,CAAC;AACnB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-alarms.d.ts","sourceRoot":"","sources":["../src/create-alarms.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAO7D;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,UAAU,EACjB,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,eAAe,EAAE,GAC7B,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAsBvB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"create-alarms.js","sourceRoot":"","sources":["../src/create-alarms.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,SAAS,UAAU,CAAC,CAAS;IAC3B,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,YAAY,CAC1B,KAAiB,EACjB,EAAU,EACV,WAA8B;IAE9B,MAAM,MAAM,GAA0B,EAAE,CAAC;IAEzC,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,IAAI,GAAG,CAAC,GAAG,IAAI,MAAM,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACb,wBAAwB,GAAG,CAAC,GAAG,mEAAmE;gBAChG,8DAA8D,CACjE,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE;YAClF,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,gBAAgB,CAAC,KAAK,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC;YAChE,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;YACxC,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;YACxC,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;YACtC,kBAAkB,EAAE,GAAG,CAAC,kBAAkB;YAC1C,gBAAgB,EAAE,GAAG,CAAC,WAAW;SAClC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"default-alarm-name.d.ts","sourceRoot":"","sources":["../src/default-alarm-name.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,KAAK,SAAS,EAAiB,MAAM,iBAAiB,CAAC;AAEhE;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAGtF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"default-alarm-name.js","sourceRoot":"","sources":["../src/default-alarm-name.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,OAAO,EAAkB,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhE;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAiB,EAAE,EAAU,EAAE,GAAW;IACzE,MAAM,SAAS,GAAG,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC;IAC5C,OAAO,aAAa,CAAC,CAAC,SAAS,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;AAC7C,CAAC"}
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC1E,YAAY,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,KAAK,SAAS,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,KAAK,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,YAAY,EACV,wBAAwB,EACxB,iBAAiB,EACjB,YAAY,GACb,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,eAAe,EACf,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,yBAAyB,GAC/B,MAAM,iCAAiC,CAAC"}
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAkB,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAA4B,MAAM,2BAA2B,CAAC;AACzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAMxE,OAAO,EACL,eAAe,GAIhB,MAAM,iCAAiC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"alarm-actions-policy.d.ts","sourceRoot":"","sources":["../../src/policies/alarm-actions-policy.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,YAAY,EAClB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,KAAK,cAAc,EAAe,MAAM,qBAAqB,CAAC;AAGvE,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE3E,4EAA4E;AAC5E,MAAM,WAAW,cAAc;IAC7B,YAAY,CAAC,EAAE,YAAY,EAAE,CAAC;IAC9B,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC;IAC3B,uBAAuB,CAAC,EAAE,YAAY,EAAE,CAAC;CAC1C;AAED,uFAAuF;AACvF,MAAM,WAAW,eAAgB,SAAQ,cAAc,EAAE,cAAc;IACrE,iEAAiE;IACjE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,oDAAoD;AACpD,MAAM,WAAW,wBAAwB;IACvC,kGAAkG;IAClG,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,mFAAmF;IACnF,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC;IAC1B,8DAA8D;IAC9D,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC;AA4DD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,wBAAwB,GAAG,IAAI,CAkD5F"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"alarm-actions-policy.js","sourceRoot":"","sources":["../../src/policies/alarm-actions-policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"alarm-name-policy.d.ts","sourceRoot":"","sources":["../../src/policies/alarm-name-policy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,KAAK,SAAS,EAA+B,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAe,MAAM,qBAAqB,CAAC;AAE/F,yDAAyD;AACzD,MAAM,WAAW,yBAA0B,SAAQ,iBAAiB;IAClE;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,yBAAyB,KAAK,SAAS,CAAC;IAC1D,iGAAiG;IACjG,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,iDAAiD;AACjD,MAAM,WAAW,qBAAqB;IACpC,8FAA8F;IAC9F,QAAQ,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,GAAG,QAAQ,CAAC,CAAC;IACpD,4DAA4D;IAC5D,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;IACxB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAsBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,qBAAqB,GAAG,IAAI,CAgDtF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"alarm-name-policy.js","sourceRoot":"","sources":["../../src/policies/alarm-name-policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"policy-matcher.d.ts","sourceRoot":"","sources":["../../src/policies/policy-matcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAEtF;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,iBAAiB,KAAK,OAAO,CAAC,CAAC;AAEnF;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,GAAG,EAAE,QAAQ,GAAG,iBAAiB,CAAC;IAC3C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC/B;AAED,oEAAoE;AACpE,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,YAAY,GAAG,YAAY,EAAE,CAAC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAIjF;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAKjF"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export function matchesOne(matcher, ctx) {
|
|
2
|
-
if (typeof matcher === "function")
|
|
3
|
-
return matcher(ctx);
|
|
4
|
-
if (matcher instanceof RegExp)
|
|
5
|
-
return matcher.test(ctx.path);
|
|
6
|
-
return ctx.id.includes(matcher) || ctx.path.includes(matcher);
|
|
7
|
-
}
|
|
8
|
-
export function ruleMatches(rule, ctx) {
|
|
9
|
-
if (rule.singleOnly === true && ctx.isComposite)
|
|
10
|
-
return false;
|
|
11
|
-
if (rule.compositeOnly === true && !ctx.isComposite)
|
|
12
|
-
return false;
|
|
13
|
-
const matchers = Array.isArray(rule.match) ? rule.match : [rule.match];
|
|
14
|
-
return matchers.some((m) => matchesOne(m, ctx));
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=policy-matcher.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"policy-matcher.js","sourceRoot":"","sources":["../../src/policies/policy-matcher.ts"],"names":[],"mappings":"AAgCA,MAAM,UAAU,UAAU,CAAC,OAAqB,EAAE,GAAsB;IACtE,IAAI,OAAO,OAAO,KAAK,UAAU;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;IACvD,IAAI,OAAO,YAAY,MAAM;QAAE,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC7D,OAAO,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAoB,EAAE,GAAsB;IACtE,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,GAAG,CAAC,WAAW;QAAE,OAAO,KAAK,CAAC;IAC9D,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW;QAAE,OAAO,KAAK,CAAC;IAClE,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvE,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AAClD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-alarm-config.d.ts","sourceRoot":"","sources":["../src/resolve-alarm-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,WAAW,GAAG,SAAS,EACnC,QAAQ,EAAE,mBAAmB,GAC5B,mBAAmB,CAQrB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-alarm-config.js","sourceRoot":"","sources":["../src/resolve-alarm-config.ts"],"names":[],"mappings":"AAoBA;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAChC,UAAmC,EACnC,QAA6B;IAE7B,OAAO;QACL,SAAS,EAAE,UAAU,EAAE,SAAS;QAChC,SAAS,EAAE,UAAU,EAAE,SAAS,IAAI,QAAQ,CAAC,SAAS;QACtD,iBAAiB,EAAE,UAAU,EAAE,iBAAiB,IAAI,QAAQ,CAAC,iBAAiB;QAC9E,iBAAiB,EAAE,UAAU,EAAE,iBAAiB,IAAI,QAAQ,CAAC,iBAAiB;QAC9E,gBAAgB,EAAE,UAAU,EAAE,gBAAgB,IAAI,QAAQ,CAAC,gBAAgB;KAC5E,CAAC;AACJ,CAAC"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|