truemark-cdk-lib 0.0.12-alpha.7 → 0.0.13
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/aws-cloudwatch/lib/index.d.ts +0 -1
- package/aws-cloudwatch/lib/index.js +1 -2
- package/aws-cloudwatch/lib/log-metric-alarm.d.ts +47 -11
- package/aws-cloudwatch/lib/log-metric-alarm.js +70 -13
- package/aws-cloudwatch/lib/log-metric-filter.d.ts +1 -1
- package/aws-cloudwatch/lib/log-metric-filter.js +2 -2
- package/aws-codepipeline/index.d.ts +1 -0
- package/aws-codepipeline/index.js +14 -0
- package/aws-codepipeline/lib/artifact-bucket.d.ts +26 -0
- package/aws-codepipeline/lib/artifact-bucket.js +35 -0
- package/aws-codepipeline/lib/cdk-pipeline.d.ts +76 -0
- package/aws-codepipeline/lib/cdk-pipeline.js +68 -0
- package/aws-codepipeline/lib/index.d.ts +3 -0
- package/aws-codepipeline/lib/index.js +16 -0
- package/aws-codepipeline/lib/pipeline-notification-rule.d.ts +37 -0
- package/aws-codepipeline/lib/pipeline-notification-rule.js +55 -0
- package/aws-lambda/lib/bundle-python.sh +9 -0
- package/aws-lambda/lib/bundled-function.d.ts +4 -5
- package/aws-lambda/lib/bundled-function.js +3 -3
- package/aws-lambda/lib/deployed-function.d.ts +42 -0
- package/aws-lambda/lib/deployed-function.js +28 -0
- package/aws-lambda/lib/function-alarms.d.ts +233 -0
- package/aws-lambda/lib/function-alarms.js +187 -327
- package/aws-lambda/lib/function-deployment.d.ts +121 -0
- package/aws-lambda/lib/function-deployment.js +66 -0
- package/aws-lambda/lib/index.d.ts +4 -1
- package/aws-lambda/lib/index.js +5 -2
- package/aws-lambda/lib/observed-function.d.ts +4 -225
- package/aws-lambda/lib/observed-function.js +4 -185
- package/aws-lambda/lib/python-function.d.ts +3 -3
- package/aws-lambda/lib/python-function.js +14 -14
- package/aws-monitoring/lib/standard-alarm-actions-strategy.d.ts +6 -0
- package/aws-monitoring/lib/standard-alarm-actions-strategy.js +4 -1
- package/aws-route53/lib/weighted-latency-a-record.d.ts +11 -10
- package/aws-route53/lib/weighted-latency-a-record.js +15 -10
- package/aws-sqs/lib/index.d.ts +2 -0
- package/aws-sqs/lib/index.js +3 -1
- package/aws-sqs/lib/observed-queue-alarms.d.ts +121 -0
- package/aws-sqs/lib/observed-queue-alarms.js +134 -0
- package/aws-sqs/lib/observed-queue.d.ts +15 -0
- package/aws-sqs/lib/observed-queue.js +19 -0
- package/aws-sqs/lib/standard-queue.d.ts +33 -87
- package/aws-sqs/lib/standard-queue.js +67 -101
- package/index.d.ts +1 -0
- package/index.js +2 -1
- package/package.json +3 -2
- package/test/aws-lambda/python-function.test.d.ts +1 -0
- package/test/aws-lambda/python-function.test.js +16 -0
- package/test/aws-lambda/python-lambda/index.py +9 -0
- package/test/aws-lambda/python-lambda/requirements.txt +1 -0
- package/test/aws-sqs/observed-queue.test.d.ts +1 -0
- package/test/aws-sqs/observed-queue.test.js +13 -0
- package/test/aws-sqs/standard-queue.test.d.ts +1 -0
- package/test/aws-sqs/standard-queue.test.js +13 -0
- package/aws-cloudwatch/lib/extended-alarm.d.ts +0 -27
- package/aws-cloudwatch/lib/extended-alarm.js +0 -39
- package/aws-lambda/lib/python-function-old.d.ts +0 -0
- package/aws-lambda/lib/python-function-old.js +0 -197
- package/aws-lambda/lib/standard-function.d.ts +0 -0
- package/aws-lambda/lib/standard-function.js +0 -227
|
@@ -10,7 +10,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
10
10
|
for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
|
|
11
11
|
};
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
__exportStar(require("./extended-alarm"), exports);
|
|
14
13
|
__exportStar(require("./log-metric-filter"), exports);
|
|
15
14
|
__exportStar(require("./log-metric-alarm"), exports);
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxzREFBb0M7QUFDcEMscURBQW1DIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9sb2ctbWV0cmljLWZpbHRlcic7XG5leHBvcnQgKiBmcm9tICcuL2xvZy1tZXRyaWMtYWxhcm0nO1xuIl19
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { Metric } from "aws-cdk-lib/aws-cloudwatch";
|
|
1
|
+
import { Alarm, Metric } from "aws-cdk-lib/aws-cloudwatch";
|
|
2
2
|
import { Construct } from "constructs";
|
|
3
3
|
import { LogMetricFilter, LogMetricFilterProps } from "./log-metric-filter";
|
|
4
|
-
import { Duration } from "aws-cdk-lib";
|
|
4
|
+
import { Duration, RemovalPolicy, ResourceEnvironment, Stack } from "aws-cdk-lib";
|
|
5
5
|
import { ComparisonOperator, TreatMissingData } from "aws-cdk-lib/aws-cloudwatch/lib/alarm";
|
|
6
|
-
import {
|
|
6
|
+
import { IAlarm } from "aws-cdk-lib/aws-cloudwatch/lib/alarm-base";
|
|
7
|
+
import { ITopic } from "aws-cdk-lib/aws-sns";
|
|
8
|
+
import { IAlarmAction } from "aws-cdk-lib/aws-cloudwatch/lib/alarm-action";
|
|
7
9
|
/**
|
|
8
10
|
* Properties for LogAlarm.
|
|
9
11
|
*/
|
|
@@ -41,7 +43,7 @@ export interface LogMetricAlarmProps extends LogMetricFilterProps {
|
|
|
41
43
|
/**
|
|
42
44
|
* The number of periods over which data is compared to the specified threshold.
|
|
43
45
|
*
|
|
44
|
-
* @default
|
|
46
|
+
* @default 2
|
|
45
47
|
*/
|
|
46
48
|
readonly evaluationPeriods?: number;
|
|
47
49
|
/**
|
|
@@ -79,17 +81,51 @@ export interface LogMetricAlarmProps extends LogMetricFilterProps {
|
|
|
79
81
|
* CloudWatch alarm that matches patterns on a LogGroup. This class is a higher-level
|
|
80
82
|
* construct than LogMetricAlarm and will create the filter and metric.
|
|
81
83
|
*/
|
|
82
|
-
export declare class LogMetricAlarm extends
|
|
84
|
+
export declare class LogMetricAlarm extends Construct implements IAlarm {
|
|
85
|
+
readonly filter: LogMetricFilter;
|
|
86
|
+
readonly alarm: Alarm;
|
|
87
|
+
readonly metric: Metric;
|
|
88
|
+
readonly alarmArn: string;
|
|
89
|
+
readonly alarmName: string;
|
|
90
|
+
readonly env: ResourceEnvironment;
|
|
91
|
+
readonly stack: Stack;
|
|
92
|
+
constructor(scope: Construct, id: string, props: LogMetricAlarmProps);
|
|
83
93
|
/**
|
|
84
|
-
*
|
|
94
|
+
* Notify SNS topics if the alarm fires.
|
|
95
|
+
*
|
|
96
|
+
* @param topics the topics to notify
|
|
85
97
|
*/
|
|
86
|
-
|
|
98
|
+
addAlarmTopic(...topics: ITopic[]): void;
|
|
87
99
|
/**
|
|
88
|
-
*
|
|
100
|
+
* Notify SNS topics if the alarm returns from breaching a state into an ok state.
|
|
101
|
+
*
|
|
102
|
+
* @param topics the topics to notify
|
|
89
103
|
*/
|
|
90
|
-
|
|
104
|
+
addOkTopic(...topics: ITopic[]): void;
|
|
91
105
|
/**
|
|
92
|
-
*
|
|
106
|
+
* Notify SNS topics if there is insufficient data to evaluate the alarm.
|
|
107
|
+
*
|
|
108
|
+
* @param topics the topics to notify
|
|
93
109
|
*/
|
|
94
|
-
|
|
110
|
+
addInsufficientDataTopic(...topics: ITopic[]): void;
|
|
111
|
+
/**
|
|
112
|
+
* Trigger actions if the alarm fires.
|
|
113
|
+
*
|
|
114
|
+
* @param actions the actions to trigger
|
|
115
|
+
*/
|
|
116
|
+
addAlarmAction(...actions: IAlarmAction[]): void;
|
|
117
|
+
/**
|
|
118
|
+
* Trigger actions if there is insufficient data to evaluate the alarm.
|
|
119
|
+
*
|
|
120
|
+
* @param actions the actions to trigger
|
|
121
|
+
*/
|
|
122
|
+
addInsufficientDataAction(...actions: IAlarmAction[]): void;
|
|
123
|
+
/**
|
|
124
|
+
* Trigger actions if the alarm returns from breaching a state into an ok state.
|
|
125
|
+
*
|
|
126
|
+
* @param actions the actions to trigger
|
|
127
|
+
*/
|
|
128
|
+
addOkAction(...actions: IAlarmAction[]): void;
|
|
129
|
+
applyRemovalPolicy(policy: RemovalPolicy): void;
|
|
130
|
+
renderAlarmRule(): string;
|
|
95
131
|
}
|
|
@@ -1,32 +1,89 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.LogMetricAlarm = void 0;
|
|
4
|
+
const aws_cloudwatch_1 = require("aws-cdk-lib/aws-cloudwatch");
|
|
5
|
+
const constructs_1 = require("constructs");
|
|
4
6
|
const log_metric_filter_1 = require("./log-metric-filter");
|
|
5
|
-
const
|
|
7
|
+
const aws_cloudwatch_actions_1 = require("aws-cdk-lib/aws-cloudwatch-actions");
|
|
6
8
|
/**
|
|
7
9
|
* CloudWatch alarm that matches patterns on a LogGroup. This class is a higher-level
|
|
8
10
|
* construct than LogMetricAlarm and will create the filter and metric.
|
|
9
11
|
*/
|
|
10
|
-
class LogMetricAlarm extends
|
|
11
|
-
/**
|
|
12
|
-
* Creates a new LogAlarm.
|
|
13
|
-
*/
|
|
12
|
+
class LogMetricAlarm extends constructs_1.Construct {
|
|
14
13
|
constructor(scope, id, props) {
|
|
15
14
|
var _a, _b, _c;
|
|
16
|
-
|
|
15
|
+
super(scope, id);
|
|
16
|
+
this.filter = new log_metric_filter_1.LogMetricFilter(this, 'Filter', {
|
|
17
17
|
...props
|
|
18
18
|
});
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
this.metric = this.filter.sumMetric(props.period);
|
|
20
|
+
this.alarm = new aws_cloudwatch_1.Alarm(this, 'Alarm', {
|
|
21
21
|
...props,
|
|
22
22
|
threshold: (_a = props.threshold) !== null && _a !== void 0 ? _a : 1,
|
|
23
|
-
evaluationPeriods: (_b = props.evaluationPeriods) !== null && _b !== void 0 ? _b :
|
|
23
|
+
evaluationPeriods: (_b = props.evaluationPeriods) !== null && _b !== void 0 ? _b : 2,
|
|
24
24
|
datapointsToAlarm: (_c = props.datapointsToAlarm) !== null && _c !== void 0 ? _c : 1,
|
|
25
|
-
metric
|
|
25
|
+
metric: this.metric
|
|
26
26
|
});
|
|
27
|
-
this.
|
|
28
|
-
this.
|
|
27
|
+
this.alarmArn = this.alarm.alarmArn;
|
|
28
|
+
this.alarmName = this.alarm.alarmName;
|
|
29
|
+
this.env = this.alarm.env;
|
|
30
|
+
this.stack = this.alarm.stack;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Notify SNS topics if the alarm fires.
|
|
34
|
+
*
|
|
35
|
+
* @param topics the topics to notify
|
|
36
|
+
*/
|
|
37
|
+
addAlarmTopic(...topics) {
|
|
38
|
+
this.alarm.addAlarmAction(...topics.map((topic) => new aws_cloudwatch_actions_1.SnsAction(topic)));
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Notify SNS topics if the alarm returns from breaching a state into an ok state.
|
|
42
|
+
*
|
|
43
|
+
* @param topics the topics to notify
|
|
44
|
+
*/
|
|
45
|
+
addOkTopic(...topics) {
|
|
46
|
+
this.alarm.addOkAction(...topics.map((topic) => new aws_cloudwatch_actions_1.SnsAction(topic)));
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Notify SNS topics if there is insufficient data to evaluate the alarm.
|
|
50
|
+
*
|
|
51
|
+
* @param topics the topics to notify
|
|
52
|
+
*/
|
|
53
|
+
addInsufficientDataTopic(...topics) {
|
|
54
|
+
this.alarm.addInsufficientDataAction(...topics.map((topic) => new aws_cloudwatch_actions_1.SnsAction(topic)));
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Trigger actions if the alarm fires.
|
|
58
|
+
*
|
|
59
|
+
* @param actions the actions to trigger
|
|
60
|
+
*/
|
|
61
|
+
addAlarmAction(...actions) {
|
|
62
|
+
return this.alarm.addAlarmAction(...actions);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Trigger actions if there is insufficient data to evaluate the alarm.
|
|
66
|
+
*
|
|
67
|
+
* @param actions the actions to trigger
|
|
68
|
+
*/
|
|
69
|
+
addInsufficientDataAction(...actions) {
|
|
70
|
+
return this.alarm.addInsufficientDataAction(...actions);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Trigger actions if the alarm returns from breaching a state into an ok state.
|
|
74
|
+
*
|
|
75
|
+
* @param actions the actions to trigger
|
|
76
|
+
*/
|
|
77
|
+
addOkAction(...actions) {
|
|
78
|
+
return this.alarm.addOkAction(...actions);
|
|
79
|
+
}
|
|
80
|
+
// From IAlarm
|
|
81
|
+
applyRemovalPolicy(policy) {
|
|
82
|
+
this.alarm.applyRemovalPolicy(policy);
|
|
83
|
+
}
|
|
84
|
+
renderAlarmRule() {
|
|
85
|
+
return this.alarm.renderAlarmRule();
|
|
29
86
|
}
|
|
30
87
|
}
|
|
31
88
|
exports.LogMetricAlarm = LogMetricAlarm;
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLW1ldHJpYy1hbGFybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImxvZy1tZXRyaWMtYWxhcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsMkRBQTBFO0FBRzFFLHFEQUErQztBQXNGL0M7OztHQUdHO0FBQ0gsTUFBYSxjQUFlLFNBQVEsOEJBQWE7SUFZL0M7O09BRUc7SUFDSCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTBCOztRQUVsRSxNQUFNLE1BQU0sR0FBRyxJQUFJLG1DQUFlLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxRQUFRLEVBQUU7WUFDdkQsR0FBRyxLQUFLO1NBQ1QsQ0FBQyxDQUFDO1FBRUgsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFOUMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixHQUFHLEtBQUs7WUFDUixTQUFTLFFBQUUsS0FBSyxDQUFDLFNBQVMsbUNBQUUsQ0FBQztZQUM3QixpQkFBaUIsUUFBRSxLQUFLLENBQUMsaUJBQWlCLG1DQUFFLENBQUM7WUFDN0MsaUJBQWlCLFFBQUUsS0FBSyxDQUFDLGlCQUFpQixtQ0FBRSxDQUFDO1lBQzdDLE1BQU07U0FDUCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0NBQ0Y7QUFsQ0Qsd0NBa0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNZXRyaWN9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaFwiO1xuaW1wb3J0IHtDb25zdHJ1Y3R9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge0xvZ01ldHJpY0ZpbHRlciwgTG9nTWV0cmljRmlsdGVyUHJvcHN9IGZyb20gXCIuL2xvZy1tZXRyaWMtZmlsdGVyXCI7XG5pbXBvcnQge0R1cmF0aW9ufSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7Q29tcGFyaXNvbk9wZXJhdG9yLCBUcmVhdE1pc3NpbmdEYXRhfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2gvbGliL2FsYXJtXCI7XG5pbXBvcnQge0V4dGVuZGVkQWxhcm19IGZyb20gXCIuL2V4dGVuZGVkLWFsYXJtXCI7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgTG9nQWxhcm0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTG9nTWV0cmljQWxhcm1Qcm9wcyBleHRlbmRzIExvZ01ldHJpY0ZpbHRlclByb3BzIHtcblxuICAvKipcbiAgICogVGhlIHBlcmlvZCBvdmVyIHdoaWNoIHN0YXRpc3RpY3MgYXJlIGFwcGxpZWRcbiAgICpcbiAgICogRGVmYXVsdCBpcyA1IG1pbnV0ZXMuXG4gICAqL1xuICByZWFkb25seSBwZXJpb2Q/OiBEdXJhdGlvblxuXG4gIC8vIEJlbG93IGFyZSBmaWVsZHMgZnJvbSBDcmVhdGVBbGFybU9wdGlvbnMgd2hpY2ggd2UgbmVlZCB0byBvdmVycmlkZVxuXG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoZSBhbGFybVxuICAgKlxuICAgKiBAZGVmYXVsdCBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBuYW1lXG4gICAqL1xuICByZWFkb25seSBhbGFybU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERlc2NyaXB0aW9uIGZvciB0aGUgYWxhcm1cbiAgICpcbiAgICogQGRlZmF1bHQgTm8gZGVzY3JpcHRpb25cbiAgICovXG4gIHJlYWRvbmx5IGFsYXJtRGVzY3JpcHRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENvbXBhcmlzb24gdG8gdXNlIHRvIGNoZWNrIGlmIG1ldHJpYyBpcyBicmVhY2hpbmdcbiAgICpcbiAgICogQGRlZmF1bHQgR3JlYXRlclRoYW5PckVxdWFsVG9UaHJlc2hvbGRcbiAgICovXG4gIHJlYWRvbmx5IGNvbXBhcmlzb25PcGVyYXRvcj86IENvbXBhcmlzb25PcGVyYXRvcjtcblxuICAvKipcbiAgICogVGhlIHZhbHVlIGFnYWluc3Qgd2hpY2ggdGhlIHNwZWNpZmllZCBzdGF0aXN0aWMgaXMgY29tcGFyZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IDFcbiAgICovXG4gIHJlYWRvbmx5IHRocmVzaG9sZD86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBwZXJpb2RzIG92ZXIgd2hpY2ggZGF0YSBpcyBjb21wYXJlZCB0byB0aGUgc3BlY2lmaWVkIHRocmVzaG9sZC5cbiAgICpcbiAgICogQGRlZmF1bHQgM1xuICAgKi9cbiAgcmVhZG9ubHkgZXZhbHVhdGlvblBlcmlvZHM/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB3aGV0aGVyIHRvIGV2YWx1YXRlIHRoZSBkYXRhIGFuZCBwb3RlbnRpYWxseSBjaGFuZ2UgdGhlIGFsYXJtIHN0YXRlIGlmIHRoZXJlIGFyZSB0b28gZmV3IGRhdGEgcG9pbnRzIHRvIGJlIHN0YXRpc3RpY2FsbHkgc2lnbmlmaWNhbnQuXG4gICAqXG4gICAqIFVzZWQgb25seSBmb3IgYWxhcm1zIHRoYXQgYXJlIGJhc2VkIG9uIHBlcmNlbnRpbGVzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vdCBjb25maWd1cmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgZXZhbHVhdGVMb3dTYW1wbGVDb3VudFBlcmNlbnRpbGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNldHMgaG93IHRoaXMgYWxhcm0gaXMgdG8gaGFuZGxlIG1pc3NpbmcgZGF0YSBwb2ludHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IFRyZWF0TWlzc2luZ0RhdGEuTWlzc2luZ1xuICAgKi9cbiAgcmVhZG9ubHkgdHJlYXRNaXNzaW5nRGF0YT86IFRyZWF0TWlzc2luZ0RhdGE7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGFjdGlvbnMgZm9yIHRoaXMgYWxhcm0gYXJlIGVuYWJsZWRcbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgYWN0aW9uc0VuYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIGRhdGFwb2ludHMgdGhhdCBtdXN0IGJlIGJyZWFjaGluZyB0byB0cmlnZ2VyIHRoZSBhbGFybS4gVGhpcyBpcyB1c2VkIG9ubHkgaWYgeW91IGFyZSBzZXR0aW5nIGFuIFwiTVxuICAgKiBvdXQgb2YgTlwiIGFsYXJtLiBJbiB0aGF0IGNhc2UsIHRoaXMgdmFsdWUgaXMgdGhlIE0uIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgRXZhbHVhdGluZyBhbiBBbGFybSBpbiB0aGUgQW1hem9uXG4gICAqIENsb3VkV2F0Y2ggVXNlciBHdWlkZS5cbiAgICpcbiAgICogQGRlZmF1bHQgMVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25DbG91ZFdhdGNoL2xhdGVzdC9tb25pdG9yaW5nL0FsYXJtVGhhdFNlbmRzRW1haWwuaHRtbCNhbGFybS1ldmFsdWF0aW9uXG4gICAqL1xuICByZWFkb25seSBkYXRhcG9pbnRzVG9BbGFybT86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBDbG91ZFdhdGNoIGFsYXJtIHRoYXQgbWF0Y2hlcyBwYXR0ZXJucyBvbiBhIExvZ0dyb3VwLiBUaGlzIGNsYXNzIGlzIGEgaGlnaGVyLWxldmVsXG4gKiBjb25zdHJ1Y3QgdGhhbiBMb2dNZXRyaWNBbGFybSBhbmQgd2lsbCBjcmVhdGUgdGhlIGZpbHRlciBhbmQgbWV0cmljLlxuICovXG5leHBvcnQgY2xhc3MgTG9nTWV0cmljQWxhcm0gZXh0ZW5kcyBFeHRlbmRlZEFsYXJtIHtcblxuICAvKipcbiAgICogVGhlIGZpbHRlciBjcmVhdGVkIHVzaW5nIHRoZSBwYXJlbnQgc2NvcGUuXG4gICAqL1xuICByZWFkb25seSBmaWx0ZXI6IExvZ01ldHJpY0ZpbHRlcjtcblxuICAvKipcbiAgICogVGhlIG1ldHJpYyBjcmVhdGVkIGZyb20gdGhlIGZpbHRlci5cbiAgICovXG4gIHJlYWRvbmx5IG1ldHJpYzogTWV0cmljXG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgTG9nQWxhcm0uXG4gICAqL1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogTG9nTWV0cmljQWxhcm1Qcm9wcykge1xuXG4gICAgY29uc3QgZmlsdGVyID0gbmV3IExvZ01ldHJpY0ZpbHRlcihzY29wZSwgaWQgKyAnRmlsdGVyJywge1xuICAgICAgLi4ucHJvcHNcbiAgICB9KTtcblxuICAgIGNvbnN0IG1ldHJpYyA9IGZpbHRlci5zdW1NZXRyaWMocHJvcHMucGVyaW9kKTtcblxuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgLi4ucHJvcHMsXG4gICAgICB0aHJlc2hvbGQ6IHByb3BzLnRocmVzaG9sZD8/MSxcbiAgICAgIGV2YWx1YXRpb25QZXJpb2RzOiBwcm9wcy5ldmFsdWF0aW9uUGVyaW9kcz8/MyxcbiAgICAgIGRhdGFwb2ludHNUb0FsYXJtOiBwcm9wcy5kYXRhcG9pbnRzVG9BbGFybT8/MSxcbiAgICAgIG1ldHJpY1xuICAgIH0pO1xuXG4gICAgdGhpcy5maWx0ZXIgPSBmaWx0ZXI7XG4gICAgdGhpcy5tZXRyaWMgPSBtZXRyaWM7XG4gIH1cbn1cbiJdfQ==
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLW1ldHJpYy1hbGFybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImxvZy1tZXRyaWMtYWxhcm0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsK0RBQXlEO0FBQ3pELDJDQUFxQztBQUNyQywyREFBMEU7QUFLMUUsK0VBQTZEO0FBdUY3RDs7O0dBR0c7QUFDSCxNQUFhLGNBQWUsU0FBUSxzQkFBUztJQVkzQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTBCOztRQUNsRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxtQ0FBZSxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUU7WUFDaEQsR0FBRyxLQUFLO1NBQ1QsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFbEQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLHNCQUFLLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRTtZQUNwQyxHQUFHLEtBQUs7WUFDUixTQUFTLFFBQUUsS0FBSyxDQUFDLFNBQVMsbUNBQUUsQ0FBQztZQUM3QixpQkFBaUIsUUFBRSxLQUFLLENBQUMsaUJBQWlCLG1DQUFFLENBQUM7WUFDN0MsaUJBQWlCLFFBQUMsS0FBSyxDQUFDLGlCQUFpQixtQ0FBRSxDQUFDO1lBQzVDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtTQUNwQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUM7UUFDdEMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUMxQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsYUFBYSxDQUFDLEdBQUcsTUFBZ0I7UUFDL0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLGtDQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsVUFBVSxDQUFDLEdBQUcsTUFBZ0I7UUFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLGtDQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsd0JBQXdCLENBQUMsR0FBRyxNQUFnQjtRQUMxQyxJQUFJLENBQUMsS0FBSyxDQUFDLHlCQUF5QixDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxrQ0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGNBQWMsQ0FBQyxHQUFHLE9BQXVCO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILHlCQUF5QixDQUFDLEdBQUcsT0FBdUI7UUFDbEQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLHlCQUF5QixDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxXQUFXLENBQUMsR0FBRyxPQUF1QjtRQUNwQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELGNBQWM7SUFFZCxrQkFBa0IsQ0FBQyxNQUFxQjtRQUN0QyxJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3RDLENBQUM7Q0FDRjtBQWxHRCx3Q0FrR0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FsYXJtLCBNZXRyaWN9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaFwiO1xuaW1wb3J0IHtDb25zdHJ1Y3R9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge0xvZ01ldHJpY0ZpbHRlciwgTG9nTWV0cmljRmlsdGVyUHJvcHN9IGZyb20gXCIuL2xvZy1tZXRyaWMtZmlsdGVyXCI7XG5pbXBvcnQge0R1cmF0aW9uLCBSZW1vdmFsUG9saWN5LCBSZXNvdXJjZUVudmlyb25tZW50LCBTdGFja30gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQge0NvbXBhcmlzb25PcGVyYXRvciwgVHJlYXRNaXNzaW5nRGF0YX0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jbG91ZHdhdGNoL2xpYi9hbGFybVwiO1xuaW1wb3J0IHtJQWxhcm19IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaC9saWIvYWxhcm0tYmFzZVwiO1xuaW1wb3J0IHtJVG9waWN9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtc25zXCI7XG5pbXBvcnQge1Nuc0FjdGlvbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jbG91ZHdhdGNoLWFjdGlvbnNcIjtcbmltcG9ydCB7SUFsYXJtQWN0aW9ufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2gvbGliL2FsYXJtLWFjdGlvblwiO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIExvZ0FsYXJtLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExvZ01ldHJpY0FsYXJtUHJvcHMgZXh0ZW5kcyBMb2dNZXRyaWNGaWx0ZXJQcm9wcyB7XG5cbiAgLyoqXG4gICAqIFRoZSBwZXJpb2Qgb3ZlciB3aGljaCBzdGF0aXN0aWNzIGFyZSBhcHBsaWVkXG4gICAqXG4gICAqIERlZmF1bHQgaXMgNSBtaW51dGVzLlxuICAgKi9cbiAgcmVhZG9ubHkgcGVyaW9kPzogRHVyYXRpb25cblxuICAvLyBCZWxvdyBhcmUgZmllbGRzIGZyb20gQ3JlYXRlQWxhcm1PcHRpb25zIHdoaWNoIHdlIG5lZWQgdG8gb3ZlcnJpZGVcblxuICAvKipcbiAgICogTmFtZSBvZiB0aGUgYWxhcm1cbiAgICpcbiAgICogQGRlZmF1bHQgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQgbmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgYWxhcm1OYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEZXNjcmlwdGlvbiBmb3IgdGhlIGFsYXJtXG4gICAqXG4gICAqIEBkZWZhdWx0IE5vIGRlc2NyaXB0aW9uXG4gICAqL1xuICByZWFkb25seSBhbGFybURlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDb21wYXJpc29uIHRvIHVzZSB0byBjaGVjayBpZiBtZXRyaWMgaXMgYnJlYWNoaW5nXG4gICAqXG4gICAqIEBkZWZhdWx0IEdyZWF0ZXJUaGFuT3JFcXVhbFRvVGhyZXNob2xkXG4gICAqL1xuICByZWFkb25seSBjb21wYXJpc29uT3BlcmF0b3I/OiBDb21wYXJpc29uT3BlcmF0b3I7XG5cbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSBhZ2FpbnN0IHdoaWNoIHRoZSBzcGVjaWZpZWQgc3RhdGlzdGljIGlzIGNvbXBhcmVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCAxXG4gICAqL1xuICByZWFkb25seSB0aHJlc2hvbGQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgcGVyaW9kcyBvdmVyIHdoaWNoIGRhdGEgaXMgY29tcGFyZWQgdG8gdGhlIHNwZWNpZmllZCB0aHJlc2hvbGQuXG4gICAqXG4gICAqIEBkZWZhdWx0IDJcbiAgICovXG4gIHJlYWRvbmx5IGV2YWx1YXRpb25QZXJpb2RzPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgd2hldGhlciB0byBldmFsdWF0ZSB0aGUgZGF0YSBhbmQgcG90ZW50aWFsbHkgY2hhbmdlIHRoZSBhbGFybSBzdGF0ZSBpZiB0aGVyZSBhcmUgdG9vIGZldyBkYXRhIHBvaW50cyB0byBiZSBzdGF0aXN0aWNhbGx5IHNpZ25pZmljYW50LlxuICAgKlxuICAgKiBVc2VkIG9ubHkgZm9yIGFsYXJtcyB0aGF0IGFyZSBiYXNlZCBvbiBwZXJjZW50aWxlcy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBOb3QgY29uZmlndXJlZC5cbiAgICovXG4gIHJlYWRvbmx5IGV2YWx1YXRlTG93U2FtcGxlQ291bnRQZXJjZW50aWxlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTZXRzIGhvdyB0aGlzIGFsYXJtIGlzIHRvIGhhbmRsZSBtaXNzaW5nIGRhdGEgcG9pbnRzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBUcmVhdE1pc3NpbmdEYXRhLk1pc3NpbmdcbiAgICovXG4gIHJlYWRvbmx5IHRyZWF0TWlzc2luZ0RhdGE/OiBUcmVhdE1pc3NpbmdEYXRhO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBhY3Rpb25zIGZvciB0aGlzIGFsYXJtIGFyZSBlbmFibGVkXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGFjdGlvbnNFbmFibGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBkYXRhcG9pbnRzIHRoYXQgbXVzdCBiZSBicmVhY2hpbmcgdG8gdHJpZ2dlciB0aGUgYWxhcm0uIFRoaXMgaXMgdXNlZCBvbmx5IGlmIHlvdSBhcmUgc2V0dGluZyBhbiBcIk1cbiAgICogb3V0IG9mIE5cIiBhbGFybS4gSW4gdGhhdCBjYXNlLCB0aGlzIHZhbHVlIGlzIHRoZSBNLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIEV2YWx1YXRpbmcgYW4gQWxhcm0gaW4gdGhlIEFtYXpvblxuICAgKiBDbG91ZFdhdGNoIFVzZXIgR3VpZGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IDFcbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uQ2xvdWRXYXRjaC9sYXRlc3QvbW9uaXRvcmluZy9BbGFybVRoYXRTZW5kc0VtYWlsLmh0bWwjYWxhcm0tZXZhbHVhdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YXBvaW50c1RvQWxhcm0/OiBudW1iZXI7XG59XG5cbi8qKlxuICogQ2xvdWRXYXRjaCBhbGFybSB0aGF0IG1hdGNoZXMgcGF0dGVybnMgb24gYSBMb2dHcm91cC4gVGhpcyBjbGFzcyBpcyBhIGhpZ2hlci1sZXZlbFxuICogY29uc3RydWN0IHRoYW4gTG9nTWV0cmljQWxhcm0gYW5kIHdpbGwgY3JlYXRlIHRoZSBmaWx0ZXIgYW5kIG1ldHJpYy5cbiAqL1xuZXhwb3J0IGNsYXNzIExvZ01ldHJpY0FsYXJtIGV4dGVuZHMgQ29uc3RydWN0IGltcGxlbWVudHMgSUFsYXJtIHtcblxuICByZWFkb25seSBmaWx0ZXI6IExvZ01ldHJpY0ZpbHRlcjtcbiAgcmVhZG9ubHkgYWxhcm06IEFsYXJtO1xuICByZWFkb25seSBtZXRyaWM6IE1ldHJpYztcblxuICAvLyBGcm9tIElBbGFybVxuICByZWFkb25seSBhbGFybUFybjogc3RyaW5nO1xuICByZWFkb25seSBhbGFybU5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgZW52OiBSZXNvdXJjZUVudmlyb25tZW50O1xuICByZWFkb25seSBzdGFjazogU3RhY2s7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IExvZ01ldHJpY0FsYXJtUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgdGhpcy5maWx0ZXIgPSBuZXcgTG9nTWV0cmljRmlsdGVyKHRoaXMsICdGaWx0ZXInLCB7XG4gICAgICAuLi5wcm9wc1xuICAgIH0pO1xuXG4gICAgdGhpcy5tZXRyaWMgPSB0aGlzLmZpbHRlci5zdW1NZXRyaWMocHJvcHMucGVyaW9kKTtcblxuICAgIHRoaXMuYWxhcm0gPSBuZXcgQWxhcm0odGhpcywgJ0FsYXJtJywge1xuICAgICAgLi4ucHJvcHMsXG4gICAgICB0aHJlc2hvbGQ6IHByb3BzLnRocmVzaG9sZD8/MSxcbiAgICAgIGV2YWx1YXRpb25QZXJpb2RzOiBwcm9wcy5ldmFsdWF0aW9uUGVyaW9kcz8/MixcbiAgICAgIGRhdGFwb2ludHNUb0FsYXJtOnByb3BzLmRhdGFwb2ludHNUb0FsYXJtPz8xLFxuICAgICAgbWV0cmljOiB0aGlzLm1ldHJpY1xuICAgIH0pO1xuXG4gICAgdGhpcy5hbGFybUFybiA9IHRoaXMuYWxhcm0uYWxhcm1Bcm47XG4gICAgdGhpcy5hbGFybU5hbWUgPSB0aGlzLmFsYXJtLmFsYXJtTmFtZTtcbiAgICB0aGlzLmVudiA9IHRoaXMuYWxhcm0uZW52O1xuICAgIHRoaXMuc3RhY2sgPSB0aGlzLmFsYXJtLnN0YWNrO1xuICB9XG5cbiAgLyoqXG4gICAqIE5vdGlmeSBTTlMgdG9waWNzIGlmIHRoZSBhbGFybSBmaXJlcy5cbiAgICpcbiAgICogQHBhcmFtIHRvcGljcyB0aGUgdG9waWNzIHRvIG5vdGlmeVxuICAgKi9cbiAgYWRkQWxhcm1Ub3BpYyguLi50b3BpY3M6IElUb3BpY1tdKTogdm9pZCB7XG4gICAgdGhpcy5hbGFybS5hZGRBbGFybUFjdGlvbiguLi50b3BpY3MubWFwKCh0b3BpYykgPT4gbmV3IFNuc0FjdGlvbih0b3BpYykpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBOb3RpZnkgU05TIHRvcGljcyBpZiB0aGUgYWxhcm0gcmV0dXJucyBmcm9tIGJyZWFjaGluZyBhIHN0YXRlIGludG8gYW4gb2sgc3RhdGUuXG4gICAqXG4gICAqIEBwYXJhbSB0b3BpY3MgdGhlIHRvcGljcyB0byBub3RpZnlcbiAgICovXG4gIGFkZE9rVG9waWMoLi4udG9waWNzOiBJVG9waWNbXSk6IHZvaWQge1xuICAgIHRoaXMuYWxhcm0uYWRkT2tBY3Rpb24oLi4udG9waWNzLm1hcCgodG9waWMpID0+IG5ldyBTbnNBY3Rpb24odG9waWMpKSk7XG4gIH1cblxuICAvKipcbiAgICogTm90aWZ5IFNOUyB0b3BpY3MgaWYgdGhlcmUgaXMgaW5zdWZmaWNpZW50IGRhdGEgdG8gZXZhbHVhdGUgdGhlIGFsYXJtLlxuICAgKlxuICAgKiBAcGFyYW0gdG9waWNzIHRoZSB0b3BpY3MgdG8gbm90aWZ5XG4gICAqL1xuICBhZGRJbnN1ZmZpY2llbnREYXRhVG9waWMoLi4udG9waWNzOiBJVG9waWNbXSk6IHZvaWQge1xuICAgIHRoaXMuYWxhcm0uYWRkSW5zdWZmaWNpZW50RGF0YUFjdGlvbiguLi50b3BpY3MubWFwKCh0b3BpYykgPT4gbmV3IFNuc0FjdGlvbih0b3BpYykpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmlnZ2VyIGFjdGlvbnMgaWYgdGhlIGFsYXJtIGZpcmVzLlxuICAgKlxuICAgKiBAcGFyYW0gYWN0aW9ucyB0aGUgYWN0aW9ucyB0byB0cmlnZ2VyXG4gICAqL1xuICBhZGRBbGFybUFjdGlvbiguLi5hY3Rpb25zOiBJQWxhcm1BY3Rpb25bXSk6IHZvaWQge1xuICAgIHJldHVybiB0aGlzLmFsYXJtLmFkZEFsYXJtQWN0aW9uKC4uLmFjdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyaWdnZXIgYWN0aW9ucyBpZiB0aGVyZSBpcyBpbnN1ZmZpY2llbnQgZGF0YSB0byBldmFsdWF0ZSB0aGUgYWxhcm0uXG4gICAqXG4gICAqIEBwYXJhbSBhY3Rpb25zIHRoZSBhY3Rpb25zIHRvIHRyaWdnZXJcbiAgICovXG4gIGFkZEluc3VmZmljaWVudERhdGFBY3Rpb24oLi4uYWN0aW9uczogSUFsYXJtQWN0aW9uW10pOiB2b2lkIHtcbiAgICByZXR1cm4gdGhpcy5hbGFybS5hZGRJbnN1ZmZpY2llbnREYXRhQWN0aW9uKC4uLmFjdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyaWdnZXIgYWN0aW9ucyBpZiB0aGUgYWxhcm0gcmV0dXJucyBmcm9tIGJyZWFjaGluZyBhIHN0YXRlIGludG8gYW4gb2sgc3RhdGUuXG4gICAqXG4gICAqIEBwYXJhbSBhY3Rpb25zIHRoZSBhY3Rpb25zIHRvIHRyaWdnZXJcbiAgICovXG4gIGFkZE9rQWN0aW9uKC4uLmFjdGlvbnM6IElBbGFybUFjdGlvbltdKTogdm9pZCB7XG4gICAgcmV0dXJuIHRoaXMuYWxhcm0uYWRkT2tBY3Rpb24oLi4uYWN0aW9ucyk7XG4gIH1cblxuICAvLyBGcm9tIElBbGFybVxuXG4gIGFwcGx5UmVtb3ZhbFBvbGljeShwb2xpY3k6IFJlbW92YWxQb2xpY3kpOiB2b2lkIHtcbiAgICB0aGlzLmFsYXJtLmFwcGx5UmVtb3ZhbFBvbGljeShwb2xpY3kpO1xuICB9XG5cbiAgcmVuZGVyQWxhcm1SdWxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYWxhcm0ucmVuZGVyQWxhcm1SdWxlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -14,7 +14,7 @@ class LogMetricFilter extends aws_logs_1.MetricFilter {
|
|
|
14
14
|
var _a;
|
|
15
15
|
super(scope, id, {
|
|
16
16
|
...props,
|
|
17
|
-
metricNamespace: (_a = props.metricNamespace) !== null && _a !== void 0 ? _a : '
|
|
17
|
+
metricNamespace: (_a = props.metricNamespace) !== null && _a !== void 0 ? _a : 'TrueMark/Logs',
|
|
18
18
|
defaultValue: 0,
|
|
19
19
|
metricValue: '1',
|
|
20
20
|
filterPattern: {
|
|
@@ -35,4 +35,4 @@ class LogMetricFilter extends aws_logs_1.MetricFilter {
|
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
exports.LogMetricFilter = LogMetricFilter;
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLW1ldHJpYy1maWx0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJsb2ctbWV0cmljLWZpbHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxtREFBNkQ7QUFDN0QsNkNBQXFDO0FBZ0NyQzs7R0FFRztBQUNILE1BQWEsZUFBZ0IsU0FBUSx1QkFBWTtJQUUvQzs7T0FFRztJQUNILFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBMkI7O1FBQ25FLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsR0FBRyxLQUFLO1lBQ1IsZUFBZSxRQUFFLEtBQUssQ0FBQyxlQUFlLG1DQUFFLGVBQWU7WUFDdkQsWUFBWSxFQUFFLENBQUM7WUFDZixXQUFXLEVBQUUsR0FBRztZQUNoQixhQUFhLEVBQUU7Z0JBQ2IsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLE9BQU87YUFDaEM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFNBQVMsQ0FBQyxNQUFpQjtRQUN6QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7WUFDakIsU0FBUyxFQUFFLEtBQUs7WUFDaEIsTUFBTSxFQUFFLE1BQU0sYUFBTixNQUFNLGNBQU4sTUFBTSxHQUFFLHNCQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztTQUNwQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUE1QkQsMENBNEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb25zdHJ1Y3R9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge0lMb2dHcm91cCwgTWV0cmljRmlsdGVyfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxvZ3NcIjtcbmltcG9ydCB7RHVyYXRpb259IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHtNZXRyaWN9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaFwiO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIExvZ01ldHJpY0ZpbHRlci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMb2dNZXRyaWNGaWx0ZXJQcm9wcyB7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lc3BhY2Ugb2YgdGhlIG1ldHJpYyB0byBlbWl0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAnVHJ1ZU1hcmsvTG9ncydcbiAgICovXG4gIHJlYWRvbmx5IG1ldHJpY05hbWVzcGFjZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIG1ldHJpYyB0byBlbWl0LlxuICAgKi9cbiAgcmVhZG9ubHkgbWV0cmljTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0dGVybiB0byBhcHBseSB0byB0aGUgbG9ncy5cbiAgICovXG4gIHJlYWRvbmx5IHBhdHRlcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGxvZyBncm91cCB0byBjcmVhdGUgdGhlIGZpbHRlciBvbi5cbiAgICovXG4gIHJlYWRvbmx5IGxvZ0dyb3VwOiBJTG9nR3JvdXA7XG5cbn1cblxuLyoqXG4gKiBNZXRyaWNGaWx0ZXIgdGhhdCBjb3VudHMgdGhlIG51bWJlciBvZiByZWNvcmRzIG1hdGNoaW5nIHRoZSBwcm92aWRlZCBwYXR0ZXJuLlxuICovXG5leHBvcnQgY2xhc3MgTG9nTWV0cmljRmlsdGVyIGV4dGVuZHMgTWV0cmljRmlsdGVyIHtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBMb2dNZXRyaWNGaWx0ZXJcbiAgICovXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBMb2dNZXRyaWNGaWx0ZXJQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgLi4ucHJvcHMsXG4gICAgICBtZXRyaWNOYW1lc3BhY2U6IHByb3BzLm1ldHJpY05hbWVzcGFjZT8/J1RydWVNYXJrL0xvZ3MnLFxuICAgICAgZGVmYXVsdFZhbHVlOiAwLFxuICAgICAgbWV0cmljVmFsdWU6ICcxJyxcbiAgICAgIGZpbHRlclBhdHRlcm46IHtcbiAgICAgICAgbG9nUGF0dGVyblN0cmluZzogcHJvcHMucGF0dGVyblxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHN1bSBtZXRyaWMgZm9yIHRoaXMgZmlsdGVyLlxuICAgKlxuICAgKiBAcGFyYW0gcGVyaW9kIHRoZSBwZXJpb2Qgb3ZlciB3aGljaCBzdGF0aXN0aWNzIGFyZSBhcHBsaWVkIChkZWZhdWx0IGlzIDUgbWludXRlcylcbiAgICovXG4gIHN1bU1ldHJpYyhwZXJpb2Q/OiBEdXJhdGlvbik6IE1ldHJpYyB7XG4gICAgcmV0dXJuIHRoaXMubWV0cmljKHtcbiAgICAgIHN0YXRpc3RpYzogJ1N1bScsXG4gICAgICBwZXJpb2Q6IHBlcmlvZD8/RHVyYXRpb24ubWludXRlcyg1KVxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './lib';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./lib"), exports);
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSx3Q0FBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYic7XG4iXX0=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Bucket } from "aws-cdk-lib/aws-s3";
|
|
2
|
+
import { IKey } from "aws-cdk-lib/aws-kms";
|
|
3
|
+
import { Construct } from "constructs";
|
|
4
|
+
/**
|
|
5
|
+
* Properties for ArtifactBucket.
|
|
6
|
+
*/
|
|
7
|
+
export interface ArtifactBucketProps {
|
|
8
|
+
/**
|
|
9
|
+
* By default, CDK will create KMS keys for cross account deployments. This
|
|
10
|
+
* can be costly if you have a large number of pipelines. This property
|
|
11
|
+
* allows a common key to be shared across pipelines.
|
|
12
|
+
*/
|
|
13
|
+
readonly encryptionKey: IKey;
|
|
14
|
+
/**
|
|
15
|
+
* List of AWS account IDs that should have access to this bucket.
|
|
16
|
+
*/
|
|
17
|
+
readonly accountIds: string[];
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* An S3 bucket for storing artifacts in a pipeline. The created bucket will
|
|
21
|
+
* automatically be destroyed along with its contents when the CDK stack
|
|
22
|
+
* containing it is destroyed. This is not presently the CDK default.
|
|
23
|
+
*/
|
|
24
|
+
export declare class ArtifactBucket extends Bucket {
|
|
25
|
+
constructor(scope: Construct, id: string, props: ArtifactBucketProps);
|
|
26
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ArtifactBucket = void 0;
|
|
4
|
+
const aws_s3_1 = require("aws-cdk-lib/aws-s3");
|
|
5
|
+
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
6
|
+
const aws_iam_1 = require("aws-cdk-lib/aws-iam");
|
|
7
|
+
/**
|
|
8
|
+
* An S3 bucket for storing artifacts in a pipeline. The created bucket will
|
|
9
|
+
* automatically be destroyed along with its contents when the CDK stack
|
|
10
|
+
* containing it is destroyed. This is not presently the CDK default.
|
|
11
|
+
*/
|
|
12
|
+
class ArtifactBucket extends aws_s3_1.Bucket {
|
|
13
|
+
constructor(scope, id, props) {
|
|
14
|
+
super(scope, id, {
|
|
15
|
+
autoDeleteObjects: true,
|
|
16
|
+
removalPolicy: aws_cdk_lib_1.RemovalPolicy.DESTROY,
|
|
17
|
+
blockPublicAccess: aws_s3_1.BlockPublicAccess.BLOCK_ALL,
|
|
18
|
+
encryptionKey: props.encryptionKey
|
|
19
|
+
});
|
|
20
|
+
this.addToResourcePolicy(new aws_iam_1.PolicyStatement({
|
|
21
|
+
effect: aws_iam_1.Effect.ALLOW,
|
|
22
|
+
actions: [
|
|
23
|
+
"s3:Get*",
|
|
24
|
+
"s3:List*"
|
|
25
|
+
],
|
|
26
|
+
principals: props.accountIds.map((id) => new aws_iam_1.AccountPrincipal(id)),
|
|
27
|
+
resources: [
|
|
28
|
+
this.arnForObjects('*'),
|
|
29
|
+
this.bucketArn
|
|
30
|
+
]
|
|
31
|
+
}));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.ArtifactBucket = ArtifactBucket;
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJ0aWZhY3QtYnVja2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXJ0aWZhY3QtYnVja2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtDQUE2RDtBQUc3RCw2Q0FBMEM7QUFDMUMsaURBQThFO0FBbUI5RTs7OztHQUlHO0FBQ0gsTUFBYSxjQUFlLFNBQVEsZUFBTTtJQUV4QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTBCO1FBQ2xFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsaUJBQWlCLEVBQUUsSUFBSTtZQUN2QixhQUFhLEVBQUUsMkJBQWEsQ0FBQyxPQUFPO1lBQ3BDLGlCQUFpQixFQUFFLDBCQUFpQixDQUFDLFNBQVM7WUFDOUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxhQUFhO1NBQ25DLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLHlCQUFlLENBQUM7WUFDM0MsTUFBTSxFQUFFLGdCQUFNLENBQUMsS0FBSztZQUNwQixPQUFPLEVBQUU7Z0JBQ1AsU0FBUztnQkFDVCxVQUFVO2FBQ1g7WUFDRCxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksMEJBQWdCLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbEUsU0FBUyxFQUFFO2dCQUNULElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDO2dCQUN2QixJQUFJLENBQUMsU0FBUzthQUNmO1NBQ0YsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0NBQ0Y7QUF0QkQsd0NBc0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtCbG9ja1B1YmxpY0FjY2VzcywgQnVja2V0fSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXMzXCI7XG5pbXBvcnQge0lLZXl9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mta21zXCI7XG5pbXBvcnQge0NvbnN0cnVjdH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7UmVtb3ZhbFBvbGljeX0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQge0FjY291bnRQcmluY2lwYWwsIEVmZmVjdCwgUG9saWN5U3RhdGVtZW50fSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIEFydGlmYWN0QnVja2V0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFydGlmYWN0QnVja2V0UHJvcHMge1xuICAvKipcbiAgICogQnkgZGVmYXVsdCwgQ0RLIHdpbGwgY3JlYXRlIEtNUyBrZXlzIGZvciBjcm9zcyBhY2NvdW50IGRlcGxveW1lbnRzLiBUaGlzXG4gICAqIGNhbiBiZSBjb3N0bHkgaWYgeW91IGhhdmUgYSBsYXJnZSBudW1iZXIgb2YgcGlwZWxpbmVzLiBUaGlzIHByb3BlcnR5XG4gICAqIGFsbG93cyBhIGNvbW1vbiBrZXkgdG8gYmUgc2hhcmVkIGFjcm9zcyBwaXBlbGluZXMuXG4gICAqL1xuICByZWFkb25seSBlbmNyeXB0aW9uS2V5OiBJS2V5O1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIEFXUyBhY2NvdW50IElEcyB0aGF0IHNob3VsZCBoYXZlIGFjY2VzcyB0byB0aGlzIGJ1Y2tldC5cbiAgICovXG4gIHJlYWRvbmx5IGFjY291bnRJZHM6IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIEFuIFMzIGJ1Y2tldCBmb3Igc3RvcmluZyBhcnRpZmFjdHMgaW4gYSBwaXBlbGluZS4gVGhlIGNyZWF0ZWQgYnVja2V0IHdpbGxcbiAqIGF1dG9tYXRpY2FsbHkgYmUgZGVzdHJveWVkIGFsb25nIHdpdGggaXRzIGNvbnRlbnRzIHdoZW4gdGhlIENESyBzdGFja1xuICogY29udGFpbmluZyBpdCBpcyBkZXN0cm95ZWQuIFRoaXMgaXMgbm90IHByZXNlbnRseSB0aGUgQ0RLIGRlZmF1bHQuXG4gKi9cbmV4cG9ydCBjbGFzcyBBcnRpZmFjdEJ1Y2tldCBleHRlbmRzIEJ1Y2tldCB7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEFydGlmYWN0QnVja2V0UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIGF1dG9EZWxldGVPYmplY3RzOiB0cnVlLFxuICAgICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLFxuICAgICAgYmxvY2tQdWJsaWNBY2Nlc3M6IEJsb2NrUHVibGljQWNjZXNzLkJMT0NLX0FMTCxcbiAgICAgIGVuY3J5cHRpb25LZXk6IHByb3BzLmVuY3J5cHRpb25LZXlcbiAgICB9KTtcbiAgICB0aGlzLmFkZFRvUmVzb3VyY2VQb2xpY3kobmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICBlZmZlY3Q6IEVmZmVjdC5BTExPVyxcbiAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgXCJzMzpHZXQqXCIsXG4gICAgICAgIFwiczM6TGlzdCpcIlxuICAgICAgXSxcbiAgICAgIHByaW5jaXBhbHM6IHByb3BzLmFjY291bnRJZHMubWFwKChpZCkgPT4gbmV3IEFjY291bnRQcmluY2lwYWwoaWQpKSxcbiAgICAgIHJlc291cmNlczogW1xuICAgICAgICB0aGlzLmFybkZvck9iamVjdHMoJyonKSxcbiAgICAgICAgdGhpcy5idWNrZXRBcm5cbiAgICAgIF1cbiAgICB9KSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { Construct } from "constructs";
|
|
2
|
+
import { AddStageOpts, CodePipeline, StageDeployment, Wave, WaveOptions } from "aws-cdk-lib/pipelines";
|
|
3
|
+
import { ComputeType, IBuildImage } from "aws-cdk-lib/aws-codebuild";
|
|
4
|
+
import { PipelineNotificationRule } from "./pipeline-notification-rule";
|
|
5
|
+
import { Stage } from "aws-cdk-lib";
|
|
6
|
+
/**
|
|
7
|
+
* Properties for CdkPipeline
|
|
8
|
+
*/
|
|
9
|
+
export interface CdkPipelineProps {
|
|
10
|
+
/**
|
|
11
|
+
* By default, CDK will create KMS keys for cross account deployments. This
|
|
12
|
+
* can be costly if you have a large number of pipelines. This property
|
|
13
|
+
* allows a common key to be shared across pipelines.
|
|
14
|
+
*/
|
|
15
|
+
readonly keyArn: string;
|
|
16
|
+
/**
|
|
17
|
+
* List of account IDs this pipeline will deploy into.
|
|
18
|
+
*/
|
|
19
|
+
readonly accountIds: string[];
|
|
20
|
+
/**
|
|
21
|
+
* Arn of the CodeStar connection used to access the source code repository.
|
|
22
|
+
*/
|
|
23
|
+
readonly connectionArn: string;
|
|
24
|
+
/**
|
|
25
|
+
* Name of the source code repository.
|
|
26
|
+
*/
|
|
27
|
+
readonly repo: string;
|
|
28
|
+
/**
|
|
29
|
+
* Branch to use inside the source code repository.
|
|
30
|
+
*/
|
|
31
|
+
readonly branch: string;
|
|
32
|
+
/**
|
|
33
|
+
* Enable docker for the 'synth' step.
|
|
34
|
+
*
|
|
35
|
+
* @default true
|
|
36
|
+
*/
|
|
37
|
+
readonly dockerEnabledForSynth?: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Enable docker for the self-mutate step.
|
|
40
|
+
*
|
|
41
|
+
* @default true
|
|
42
|
+
*/
|
|
43
|
+
readonly dockerEnabledForSelfMutation?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Type of compute to use for this build.
|
|
46
|
+
*
|
|
47
|
+
* @default ComputeType.SMALL
|
|
48
|
+
*/
|
|
49
|
+
readonly computeType?: ComputeType;
|
|
50
|
+
/**
|
|
51
|
+
* The image to use for builds.
|
|
52
|
+
*
|
|
53
|
+
* @default LinuxBuildImage.AMAZON_LINUX_2_3
|
|
54
|
+
*/
|
|
55
|
+
readonly buildImage?: IBuildImage;
|
|
56
|
+
/**
|
|
57
|
+
* The Slack channel configuration to use for notifications.
|
|
58
|
+
*/
|
|
59
|
+
readonly slackChannelConfigurationArn?: string;
|
|
60
|
+
/**
|
|
61
|
+
* The list of notification events to receive. By default this is all notifications.
|
|
62
|
+
*
|
|
63
|
+
* @see https://docs.aws.amazon.com/dtconsole/latest/userguide/concepts.html#events-ref-pipeline
|
|
64
|
+
*/
|
|
65
|
+
readonly notificationEvents?: string[];
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* An abstraction to ease CDK pipeline creation and configuration.
|
|
69
|
+
*/
|
|
70
|
+
export declare class CdkPipeline extends Construct {
|
|
71
|
+
readonly pipeline: CodePipeline;
|
|
72
|
+
readonly pipelineNotificationRule: PipelineNotificationRule;
|
|
73
|
+
constructor(scope: Construct, id: string, props: CdkPipelineProps);
|
|
74
|
+
addStage(stage: Stage, options?: AddStageOpts): StageDeployment;
|
|
75
|
+
addWave(id: string, options?: WaveOptions): Wave;
|
|
76
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CdkPipeline = void 0;
|
|
4
|
+
const constructs_1 = require("constructs");
|
|
5
|
+
const aws_codepipeline_1 = require("aws-cdk-lib/aws-codepipeline");
|
|
6
|
+
const aws_kms_1 = require("aws-cdk-lib/aws-kms");
|
|
7
|
+
const artifact_bucket_1 = require("./artifact-bucket");
|
|
8
|
+
const pipelines_1 = require("aws-cdk-lib/pipelines");
|
|
9
|
+
const aws_codebuild_1 = require("aws-cdk-lib/aws-codebuild");
|
|
10
|
+
const pipeline_notification_rule_1 = require("./pipeline-notification-rule");
|
|
11
|
+
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
12
|
+
/**
|
|
13
|
+
* An abstraction to ease CDK pipeline creation and configuration.
|
|
14
|
+
*/
|
|
15
|
+
class CdkPipeline extends constructs_1.Construct {
|
|
16
|
+
constructor(scope, id, props) {
|
|
17
|
+
var _a, _b, _c, _d;
|
|
18
|
+
super(scope, id);
|
|
19
|
+
const encryptionKey = aws_kms_1.Key.fromKeyArn(this, 'EncryptionKey', props.keyArn);
|
|
20
|
+
const artifactBucket = new artifact_bucket_1.ArtifactBucket(this, 'ArtifactBucket', {
|
|
21
|
+
encryptionKey,
|
|
22
|
+
accountIds: props.accountIds
|
|
23
|
+
});
|
|
24
|
+
const underlyingPipeline = new aws_codepipeline_1.Pipeline(this, 'Pipeline', {
|
|
25
|
+
artifactBucket
|
|
26
|
+
});
|
|
27
|
+
const input = pipelines_1.CodePipelineSource.connection(props.repo, props.branch, {
|
|
28
|
+
connectionArn: props.connectionArn
|
|
29
|
+
});
|
|
30
|
+
const stackName = aws_cdk_lib_1.Stack.of(this).stackName;
|
|
31
|
+
this.pipeline = new pipelines_1.CodePipeline(this, 'CodePipeline', {
|
|
32
|
+
codePipeline: underlyingPipeline,
|
|
33
|
+
dockerEnabledForSynth: (_a = props.dockerEnabledForSynth) !== null && _a !== void 0 ? _a : true,
|
|
34
|
+
dockerEnabledForSelfMutation: (_b = props.dockerEnabledForSelfMutation) !== null && _b !== void 0 ? _b : true,
|
|
35
|
+
synth: new pipelines_1.ShellStep('Synth', {
|
|
36
|
+
primaryOutputDirectory: 'cdk.out',
|
|
37
|
+
input,
|
|
38
|
+
commands: [
|
|
39
|
+
'npm ci',
|
|
40
|
+
'npm run build',
|
|
41
|
+
'npm run test',
|
|
42
|
+
`npx cdk synth ${stackName}`
|
|
43
|
+
],
|
|
44
|
+
additionalInputs: {}
|
|
45
|
+
}),
|
|
46
|
+
synthCodeBuildDefaults: {
|
|
47
|
+
buildEnvironment: {
|
|
48
|
+
computeType: (_c = props.computeType) !== null && _c !== void 0 ? _c : aws_codebuild_1.ComputeType.SMALL,
|
|
49
|
+
buildImage: (_d = props.buildImage) !== null && _d !== void 0 ? _d : aws_codebuild_1.LinuxBuildImage.AMAZON_LINUX_2_3
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
if (props.slackChannelConfigurationArn) {
|
|
54
|
+
this.pipelineNotificationRule = new pipeline_notification_rule_1.PipelineNotificationRule(this, 'Notification', {
|
|
55
|
+
source: underlyingPipeline,
|
|
56
|
+
slackChannelConfigurationArn: props.slackChannelConfigurationArn
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
addStage(stage, options) {
|
|
61
|
+
return this.pipeline.addStage(stage, options);
|
|
62
|
+
}
|
|
63
|
+
addWave(id, options) {
|
|
64
|
+
return this.pipeline.addWave(id, options);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
exports.CdkPipeline = CdkPipeline;
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXBpcGVsaW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY2RrLXBpcGVsaW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUFxQztBQUNyQyxtRUFBc0Q7QUFDdEQsaURBQXdDO0FBQ3hDLHVEQUFpRDtBQUNqRCxxREFRK0I7QUFDL0IsNkRBQW9GO0FBQ3BGLDZFQUFzRTtBQUN0RSw2Q0FBeUM7QUEyRXpDOztHQUVHO0FBQ0gsTUFBYSxXQUFZLFNBQVEsc0JBQVM7SUFLeEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF1Qjs7UUFDL0QsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLGFBQWEsR0FBRyxhQUFHLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTFFLE1BQU0sY0FBYyxHQUFHLElBQUksZ0NBQWMsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7WUFDaEUsYUFBYTtZQUNiLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTtTQUM3QixDQUFDLENBQUM7UUFFSCxNQUFNLGtCQUFrQixHQUFHLElBQUksMkJBQVEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQ3hELGNBQWM7U0FDZixDQUFDLENBQUM7UUFFSCxNQUFNLEtBQUssR0FBRyw4QkFBa0IsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQ3BFLGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYTtTQUNuQyxDQUFDLENBQUM7UUFFSCxNQUFNLFNBQVMsR0FBRyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFFM0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLHdCQUFZLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRTtZQUNyRCxZQUFZLEVBQUUsa0JBQWtCO1lBQ2hDLHFCQUFxQixRQUFFLEtBQUssQ0FBQyxxQkFBcUIsbUNBQUUsSUFBSTtZQUN4RCw0QkFBNEIsUUFBRSxLQUFLLENBQUMsNEJBQTRCLG1DQUFFLElBQUk7WUFDdEUsS0FBSyxFQUFFLElBQUkscUJBQVMsQ0FBQyxPQUFPLEVBQUU7Z0JBQzVCLHNCQUFzQixFQUFFLFNBQVM7Z0JBQ2pDLEtBQUs7Z0JBQ0wsUUFBUSxFQUFFO29CQUNSLFFBQVE7b0JBQ1IsZUFBZTtvQkFDZixjQUFjO29CQUNkLGlCQUFpQixTQUFTLEVBQUU7aUJBQzdCO2dCQUNELGdCQUFnQixFQUFFLEVBQUU7YUFDckIsQ0FBQztZQUNGLHNCQUFzQixFQUFFO2dCQUN0QixnQkFBZ0IsRUFBRTtvQkFDaEIsV0FBVyxRQUFFLEtBQUssQ0FBQyxXQUFXLG1DQUFFLDJCQUFXLENBQUMsS0FBSztvQkFDakQsVUFBVSxRQUFFLEtBQUssQ0FBQyxVQUFVLG1DQUFFLCtCQUFlLENBQUMsZ0JBQWdCO2lCQUMvRDthQUNGO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxLQUFLLENBQUMsNEJBQTRCLEVBQUU7WUFDdEMsSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUkscURBQXdCLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRTtnQkFDakYsTUFBTSxFQUFFLGtCQUFrQjtnQkFDMUIsNEJBQTRCLEVBQUUsS0FBSyxDQUFDLDRCQUE0QjthQUNqRSxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFRCxRQUFRLENBQUMsS0FBWSxFQUFFLE9BQXNCO1FBQzNDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxPQUFPLENBQUMsRUFBVSxFQUFFLE9BQXFCO1FBQ3ZDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLENBQUM7Q0FDRjtBQTlERCxrQ0E4REMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbnN0cnVjdH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7UGlwZWxpbmV9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY29kZXBpcGVsaW5lXCI7XG5pbXBvcnQge0tleX0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1rbXNcIjtcbmltcG9ydCB7QXJ0aWZhY3RCdWNrZXR9IGZyb20gXCIuL2FydGlmYWN0LWJ1Y2tldFwiO1xuaW1wb3J0IHtcbiAgQWRkU3RhZ2VPcHRzLFxuICBDb2RlUGlwZWxpbmUsXG4gIENvZGVQaXBlbGluZVNvdXJjZSxcbiAgU2hlbGxTdGVwLFxuICBTdGFnZURlcGxveW1lbnQsXG4gIFdhdmUsXG4gIFdhdmVPcHRpb25zXG59IGZyb20gXCJhd3MtY2RrLWxpYi9waXBlbGluZXNcIjtcbmltcG9ydCB7Q29tcHV0ZVR5cGUsIElCdWlsZEltYWdlLCBMaW51eEJ1aWxkSW1hZ2V9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY29kZWJ1aWxkXCI7XG5pbXBvcnQge1BpcGVsaW5lTm90aWZpY2F0aW9uUnVsZX0gZnJvbSBcIi4vcGlwZWxpbmUtbm90aWZpY2F0aW9uLXJ1bGVcIjtcbmltcG9ydCB7U3RhY2ssIFN0YWdlfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBDZGtQaXBlbGluZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIENka1BpcGVsaW5lUHJvcHMge1xuXG4gIC8qKlxuICAgKiBCeSBkZWZhdWx0LCBDREsgd2lsbCBjcmVhdGUgS01TIGtleXMgZm9yIGNyb3NzIGFjY291bnQgZGVwbG95bWVudHMuIFRoaXNcbiAgICogY2FuIGJlIGNvc3RseSBpZiB5b3UgaGF2ZSBhIGxhcmdlIG51bWJlciBvZiBwaXBlbGluZXMuIFRoaXMgcHJvcGVydHlcbiAgICogYWxsb3dzIGEgY29tbW9uIGtleSB0byBiZSBzaGFyZWQgYWNyb3NzIHBpcGVsaW5lcy5cbiAgICovXG4gIHJlYWRvbmx5IGtleUFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIGFjY291bnQgSURzIHRoaXMgcGlwZWxpbmUgd2lsbCBkZXBsb3kgaW50by5cbiAgICovXG4gIHJlYWRvbmx5IGFjY291bnRJZHM6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBBcm4gb2YgdGhlIENvZGVTdGFyIGNvbm5lY3Rpb24gdXNlZCB0byBhY2Nlc3MgdGhlIHNvdXJjZSBjb2RlIHJlcG9zaXRvcnkuXG4gICAqL1xuICByZWFkb25seSBjb25uZWN0aW9uQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIHNvdXJjZSBjb2RlIHJlcG9zaXRvcnkuXG4gICAqL1xuICByZWFkb25seSByZXBvOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEJyYW5jaCB0byB1c2UgaW5zaWRlIHRoZSBzb3VyY2UgY29kZSByZXBvc2l0b3J5LlxuICAgKi9cbiAgcmVhZG9ubHkgYnJhbmNoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBkb2NrZXIgZm9yIHRoZSAnc3ludGgnIHN0ZXAuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGRvY2tlckVuYWJsZWRGb3JTeW50aD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEVuYWJsZSBkb2NrZXIgZm9yIHRoZSBzZWxmLW11dGF0ZSBzdGVwLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBkb2NrZXJFbmFibGVkRm9yU2VsZk11dGF0aW9uPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVHlwZSBvZiBjb21wdXRlIHRvIHVzZSBmb3IgdGhpcyBidWlsZC5cbiAgICpcbiAgICogQGRlZmF1bHQgQ29tcHV0ZVR5cGUuU01BTExcbiAgICovXG4gIHJlYWRvbmx5IGNvbXB1dGVUeXBlPzogQ29tcHV0ZVR5cGU7XG5cbiAgLyoqXG4gICAqIFRoZSBpbWFnZSB0byB1c2UgZm9yIGJ1aWxkcy5cbiAgICpcbiAgICogQGRlZmF1bHQgTGludXhCdWlsZEltYWdlLkFNQVpPTl9MSU5VWF8yXzNcbiAgICovXG4gIHJlYWRvbmx5IGJ1aWxkSW1hZ2U/OiBJQnVpbGRJbWFnZTtcblxuICAvKipcbiAgICogVGhlIFNsYWNrIGNoYW5uZWwgY29uZmlndXJhdGlvbiB0byB1c2UgZm9yIG5vdGlmaWNhdGlvbnMuXG4gICAqL1xuICByZWFkb25seSBzbGFja0NoYW5uZWxDb25maWd1cmF0aW9uQXJuPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbGlzdCBvZiBub3RpZmljYXRpb24gZXZlbnRzIHRvIHJlY2VpdmUuIEJ5IGRlZmF1bHQgdGhpcyBpcyBhbGwgbm90aWZpY2F0aW9ucy5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZHRjb25zb2xlL2xhdGVzdC91c2VyZ3VpZGUvY29uY2VwdHMuaHRtbCNldmVudHMtcmVmLXBpcGVsaW5lXG4gICAqL1xuICByZWFkb25seSBub3RpZmljYXRpb25FdmVudHM/OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBBbiBhYnN0cmFjdGlvbiB0byBlYXNlIENESyBwaXBlbGluZSBjcmVhdGlvbiBhbmQgY29uZmlndXJhdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIENka1BpcGVsaW5lIGV4dGVuZHMgQ29uc3RydWN0IHtcblxuICByZWFkb25seSBwaXBlbGluZTogQ29kZVBpcGVsaW5lO1xuICByZWFkb25seSBwaXBlbGluZU5vdGlmaWNhdGlvblJ1bGU6IFBpcGVsaW5lTm90aWZpY2F0aW9uUnVsZTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQ2RrUGlwZWxpbmVQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBlbmNyeXB0aW9uS2V5ID0gS2V5LmZyb21LZXlBcm4odGhpcywgJ0VuY3J5cHRpb25LZXknLCBwcm9wcy5rZXlBcm4pO1xuXG4gICAgY29uc3QgYXJ0aWZhY3RCdWNrZXQgPSBuZXcgQXJ0aWZhY3RCdWNrZXQodGhpcywgJ0FydGlmYWN0QnVja2V0Jywge1xuICAgICAgZW5jcnlwdGlvbktleSxcbiAgICAgIGFjY291bnRJZHM6IHByb3BzLmFjY291bnRJZHNcbiAgICB9KTtcblxuICAgIGNvbnN0IHVuZGVybHlpbmdQaXBlbGluZSA9IG5ldyBQaXBlbGluZSh0aGlzLCAnUGlwZWxpbmUnLCB7XG4gICAgICBhcnRpZmFjdEJ1Y2tldFxuICAgIH0pO1xuXG4gICAgY29uc3QgaW5wdXQgPSBDb2RlUGlwZWxpbmVTb3VyY2UuY29ubmVjdGlvbihwcm9wcy5yZXBvLCBwcm9wcy5icmFuY2gsIHtcbiAgICAgIGNvbm5lY3Rpb25Bcm46IHByb3BzLmNvbm5lY3Rpb25Bcm5cbiAgICB9KTtcblxuICAgIGNvbnN0IHN0YWNrTmFtZSA9IFN0YWNrLm9mKHRoaXMpLnN0YWNrTmFtZTtcblxuICAgIHRoaXMucGlwZWxpbmUgPSBuZXcgQ29kZVBpcGVsaW5lKHRoaXMsICdDb2RlUGlwZWxpbmUnLCB7XG4gICAgICBjb2RlUGlwZWxpbmU6IHVuZGVybHlpbmdQaXBlbGluZSxcbiAgICAgIGRvY2tlckVuYWJsZWRGb3JTeW50aDogcHJvcHMuZG9ja2VyRW5hYmxlZEZvclN5bnRoPz90cnVlLFxuICAgICAgZG9ja2VyRW5hYmxlZEZvclNlbGZNdXRhdGlvbjogcHJvcHMuZG9ja2VyRW5hYmxlZEZvclNlbGZNdXRhdGlvbj8/dHJ1ZSxcbiAgICAgIHN5bnRoOiBuZXcgU2hlbGxTdGVwKCdTeW50aCcsIHtcbiAgICAgICAgcHJpbWFyeU91dHB1dERpcmVjdG9yeTogJ2Nkay5vdXQnLFxuICAgICAgICBpbnB1dCxcbiAgICAgICAgY29tbWFuZHM6IFtcbiAgICAgICAgICAnbnBtIGNpJyxcbiAgICAgICAgICAnbnBtIHJ1biBidWlsZCcsXG4gICAgICAgICAgJ25wbSBydW4gdGVzdCcsXG4gICAgICAgICAgYG5weCBjZGsgc3ludGggJHtzdGFja05hbWV9YFxuICAgICAgICBdLFxuICAgICAgICBhZGRpdGlvbmFsSW5wdXRzOiB7fVxuICAgICAgfSksXG4gICAgICBzeW50aENvZGVCdWlsZERlZmF1bHRzOiB7XG4gICAgICAgIGJ1aWxkRW52aXJvbm1lbnQ6IHtcbiAgICAgICAgICBjb21wdXRlVHlwZTogcHJvcHMuY29tcHV0ZVR5cGU/P0NvbXB1dGVUeXBlLlNNQUxMLFxuICAgICAgICAgIGJ1aWxkSW1hZ2U6IHByb3BzLmJ1aWxkSW1hZ2U/P0xpbnV4QnVpbGRJbWFnZS5BTUFaT05fTElOVVhfMl8zXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAocHJvcHMuc2xhY2tDaGFubmVsQ29uZmlndXJhdGlvbkFybikge1xuICAgICAgdGhpcy5waXBlbGluZU5vdGlmaWNhdGlvblJ1bGUgPSBuZXcgUGlwZWxpbmVOb3RpZmljYXRpb25SdWxlKHRoaXMsICdOb3RpZmljYXRpb24nLCB7XG4gICAgICAgIHNvdXJjZTogdW5kZXJseWluZ1BpcGVsaW5lLFxuICAgICAgICBzbGFja0NoYW5uZWxDb25maWd1cmF0aW9uQXJuOiBwcm9wcy5zbGFja0NoYW5uZWxDb25maWd1cmF0aW9uQXJuXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBhZGRTdGFnZShzdGFnZTogU3RhZ2UsIG9wdGlvbnM/OiBBZGRTdGFnZU9wdHMpOiBTdGFnZURlcGxveW1lbnQge1xuICAgIHJldHVybiB0aGlzLnBpcGVsaW5lLmFkZFN0YWdlKHN0YWdlLCBvcHRpb25zKTtcbiAgfVxuXG4gIGFkZFdhdmUoaWQ6IHN0cmluZywgb3B0aW9ucz86IFdhdmVPcHRpb25zKTogV2F2ZSB7XG4gICAgcmV0dXJuIHRoaXMucGlwZWxpbmUuYWRkV2F2ZShpZCwgb3B0aW9ucyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./artifact-bucket"), exports);
|
|
14
|
+
__exportStar(require("./cdk-pipeline"), exports);
|
|
15
|
+
__exportStar(require("./pipeline-notification-rule"), exports);
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxvREFBa0M7QUFDbEMsaURBQStCO0FBQy9CLCtEQUE0QyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXJ0aWZhY3QtYnVja2V0JztcbmV4cG9ydCAqIGZyb20gJy4vY2RrLXBpcGVsaW5lJztcbmV4cG9ydCAqIGZyb20gJy4vcGlwZWxpbmUtbm90aWZpY2F0aW9uLXJ1bGUnXG4iXX0=
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { NotificationRule } from "aws-cdk-lib/aws-codestarnotifications";
|
|
2
|
+
import { Construct } from "constructs";
|
|
3
|
+
import { IPipeline } from "aws-cdk-lib/aws-codepipeline";
|
|
4
|
+
import { ISlackChannelConfiguration } from "aws-cdk-lib/aws-chatbot";
|
|
5
|
+
/**
|
|
6
|
+
* Properties for PipelineNotificationRule.
|
|
7
|
+
*/
|
|
8
|
+
export interface PipelineNotificationRuleProps {
|
|
9
|
+
/**
|
|
10
|
+
* The events to notify on.
|
|
11
|
+
*
|
|
12
|
+
* @see https://docs.aws.amazon.com/dtconsole/latest/userguide/concepts.html#events-ref-pipeline
|
|
13
|
+
* @default PipelineNotificationRule.PIPELINE_EXECUTION_EVENTS
|
|
14
|
+
*/
|
|
15
|
+
readonly events?: string[];
|
|
16
|
+
/**
|
|
17
|
+
* Pipeline source for the events.
|
|
18
|
+
*/
|
|
19
|
+
readonly source: IPipeline;
|
|
20
|
+
/**
|
|
21
|
+
* Arn of the Slack channel to notify.
|
|
22
|
+
*/
|
|
23
|
+
readonly slackChannelConfigurationArn: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Configures notifications for a pipeline to a ChatOps Slack channel.
|
|
27
|
+
*/
|
|
28
|
+
export declare class PipelineNotificationRule extends Construct {
|
|
29
|
+
static readonly ACTION_EXECUTION_EVENTS: string[];
|
|
30
|
+
static readonly STAGE_EXECUTION_EVENTS: string[];
|
|
31
|
+
static readonly PIPELINE_EXECUTION_EVENTS: string[];
|
|
32
|
+
static readonly MANUAL_APPROVAL_EVENTS: string[];
|
|
33
|
+
static readonly ALL_NOTIFICATION_EVENTS: string[];
|
|
34
|
+
readonly slackChannel: ISlackChannelConfiguration;
|
|
35
|
+
readonly notificationRule: NotificationRule;
|
|
36
|
+
constructor(scope: Construct, id: string, props: PipelineNotificationRuleProps);
|
|
37
|
+
}
|