truemark-cdk-lib 0.0.38-alpha.9 → 0.0.38
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-centergauge/lib/alerts-topic.js +22 -10
- package/aws-sqs/lib/standard-queue.d.ts +13 -1
- package/aws-sqs/lib/standard-queue.js +3 -3
- package/aws-ssm/lib/index.d.ts +1 -0
- package/aws-ssm/lib/index.js +2 -1
- package/aws-ssm/lib/parameter-paths.d.ts +15 -0
- package/aws-ssm/lib/parameter-paths.js +69 -0
- package/package.json +4 -4
|
@@ -4,8 +4,8 @@ exports.AlertsTopic = void 0;
|
|
|
4
4
|
const constructs_1 = require("constructs");
|
|
5
5
|
const aws_sns_1 = require("aws-cdk-lib/aws-sns");
|
|
6
6
|
const aws_kms_1 = require("aws-cdk-lib/aws-kms");
|
|
7
|
-
const aws_sqs_1 = require("aws-
|
|
8
|
-
const
|
|
7
|
+
const aws_sqs_1 = require("../../aws-sqs");
|
|
8
|
+
const aws_iam_1 = require("aws-cdk-lib/aws-iam");
|
|
9
9
|
/**
|
|
10
10
|
* Sets up an SNS Topic that will send notifications to CenterGauge.
|
|
11
11
|
*/
|
|
@@ -14,22 +14,34 @@ class AlertsTopic extends constructs_1.Construct {
|
|
|
14
14
|
var _a, _b, _c;
|
|
15
15
|
super(scope, id);
|
|
16
16
|
const masterKey = (_a = props.masterKey) !== null && _a !== void 0 ? _a : aws_kms_1.Alias.fromAliasName(this, "AwsSnsKey", "aws/sns");
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
const dlq = new aws_sqs_1.StandardQueue(this, "Dlq", {
|
|
18
|
+
maxReceiveCount: -1,
|
|
19
|
+
criticalAlarmOptions: {
|
|
20
|
+
maxSize: 1
|
|
21
|
+
}
|
|
20
22
|
});
|
|
21
23
|
const topic = new aws_sns_1.Topic(this, "Default", {
|
|
22
24
|
displayName: (_b = props.displayName) !== null && _b !== void 0 ? _b : "CenterGaugeAlerts",
|
|
23
25
|
fifo: false,
|
|
24
26
|
masterKey
|
|
25
27
|
});
|
|
26
|
-
|
|
27
|
-
|
|
28
|
+
dlq.addToResourcePolicy(new aws_iam_1.PolicyStatement({
|
|
29
|
+
effect: aws_iam_1.Effect.ALLOW,
|
|
30
|
+
sid: "First",
|
|
31
|
+
principals: [new aws_iam_1.AnyPrincipal()],
|
|
32
|
+
actions: ["sqs:SendMessage"],
|
|
33
|
+
conditions: {
|
|
34
|
+
"ArnEquals": {
|
|
35
|
+
"aws:SourceArn": topic.topicArn
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}));
|
|
39
|
+
new aws_sns_1.CfnSubscription(this, "Subscription", {
|
|
28
40
|
topicArn: topic.topicArn,
|
|
29
41
|
protocol: "https",
|
|
30
42
|
endpoint: (_c = props.url) !== null && _c !== void 0 ? _c : "https://alerts.centergauge.com/",
|
|
31
43
|
rawMessageDelivery: false,
|
|
32
|
-
deliveryPolicy:
|
|
44
|
+
deliveryPolicy: {
|
|
33
45
|
"healthyRetryPolicy": {
|
|
34
46
|
"numRetries": 10,
|
|
35
47
|
"numNoDelayRetries": 0,
|
|
@@ -39,7 +51,7 @@ class AlertsTopic extends constructs_1.Construct {
|
|
|
39
51
|
"numMaxDelayRetries": 0,
|
|
40
52
|
"backoffFunction": "linear"
|
|
41
53
|
}
|
|
42
|
-
}
|
|
54
|
+
},
|
|
43
55
|
redrivePolicy: JSON.stringify({
|
|
44
56
|
"deadLetterTargetArn": dlq.queueArn
|
|
45
57
|
})
|
|
@@ -47,4 +59,4 @@ class AlertsTopic extends constructs_1.Construct {
|
|
|
47
59
|
}
|
|
48
60
|
}
|
|
49
61
|
exports.AlertsTopic = AlertsTopic;
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnRzLXRvcGljLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYWxlcnRzLXRvcGljLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUFxQztBQUNyQyxpREFBMkQ7QUFDM0QsaURBQWdEO0FBQ2hELDJDQUE0QztBQUM1QyxpREFBMEU7QUE2QjFFOztHQUVHO0FBQ0gsTUFBYSxXQUFZLFNBQVEsc0JBQVM7SUFFeEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF1Qjs7UUFDL0QsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLFNBQVMsU0FBRyxLQUFLLENBQUMsU0FBUyxtQ0FBSSxlQUFLLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFFdkYsTUFBTSxHQUFHLEdBQUcsSUFBSSx1QkFBYSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUU7WUFDekMsZUFBZSxFQUFFLENBQUMsQ0FBQztZQUNuQixvQkFBb0IsRUFBRTtnQkFDcEIsT0FBTyxFQUFFLENBQUM7YUFDWDtTQUNGLENBQUMsQ0FBQztRQUVILE1BQU0sS0FBSyxHQUFHLElBQUksZUFBSyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUU7WUFDdkMsV0FBVyxRQUFFLEtBQUssQ0FBQyxXQUFXLG1DQUFJLG1CQUFtQjtZQUNyRCxJQUFJLEVBQUUsS0FBSztZQUNYLFNBQVM7U0FDVixDQUFDLENBQUM7UUFFSCxHQUFHLENBQUMsbUJBQW1CLENBQUMsSUFBSSx5QkFBZSxDQUFDO1lBQzFDLE1BQU0sRUFBRSxnQkFBTSxDQUFDLEtBQUs7WUFDcEIsR0FBRyxFQUFFLE9BQU87WUFDWixVQUFVLEVBQUUsQ0FBQyxJQUFJLHNCQUFZLEVBQUUsQ0FBQztZQUNoQyxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztZQUM1QixVQUFVLEVBQUU7Z0JBQ1YsV0FBVyxFQUFFO29CQUNYLGVBQWUsRUFBRSxLQUFLLENBQUMsUUFBUTtpQkFDaEM7YUFDRjtTQUNGLENBQUMsQ0FBQyxDQUFDO1FBRUosSUFBSSx5QkFBZSxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUU7WUFDeEMsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO1lBQ3hCLFFBQVEsRUFBRSxPQUFPO1lBQ2pCLFFBQVEsUUFBRSxLQUFLLENBQUMsR0FBRyxtQ0FBSSxpQ0FBaUM7WUFDeEQsa0JBQWtCLEVBQUUsS0FBSztZQUN6QixjQUFjLEVBQUU7Z0JBQ2Qsb0JBQW9CLEVBQUU7b0JBQ3BCLFlBQVksRUFBRSxFQUFFO29CQUNoQixtQkFBbUIsRUFBRSxDQUFDO29CQUN0QixnQkFBZ0IsRUFBRSxFQUFFO29CQUNwQixnQkFBZ0IsRUFBRSxHQUFHO29CQUNyQixvQkFBb0IsRUFBRSxDQUFDO29CQUN2QixvQkFBb0IsRUFBRSxDQUFDO29CQUN2QixpQkFBaUIsRUFBRSxRQUFRO2lCQUM1QjthQUNGO1lBQ0QsYUFBYSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUM7Z0JBQzVCLHFCQUFxQixFQUFFLEdBQUcsQ0FBQyxRQUFRO2FBQ3BDLENBQUM7U0FDSCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFyREQsa0NBcURDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb25zdHJ1Y3R9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge0NmblN1YnNjcmlwdGlvbiwgVG9waWN9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtc25zXCI7XG5pbXBvcnQge0FsaWFzLCBJS2V5fSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWttc1wiO1xuaW1wb3J0IHtTdGFuZGFyZFF1ZXVlfSBmcm9tIFwiLi4vLi4vYXdzLXNxc1wiO1xuaW1wb3J0IHtBbnlQcmluY2lwYWwsIEVmZmVjdCwgUG9saWN5U3RhdGVtZW50fSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIEFsZXJ0c1RvcGljXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWxlcnRzVG9waWNQcm9wcyB7XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlcyBkZWZhdWx0IHRvcGljIGRpc3BsYXkgbmFtZS5cbiAgICpcbiAgICogQGRlZmF1bHQgXCJDZW50ZXJHYXVnZUFsZXJ0c1wiXG4gICAqL1xuICByZWFkb25seSBkaXNwbGF5TmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogT3ZlcnJpZGVzIHRoZSB1c2Ugb2YgdGhlIGRlZmF1bHQgYXdzL3NucyBLTVMga2V5IGZvciBlbmNyeXB0aW9uXG4gICAqXG4gICAqIEBkZWZhdWx0IHVzZXMgQVdTIG1hbmFnZWQgU05TIEtNUyBrZXlcbiAgICovXG4gIHJlYWRvbmx5IG1hc3RlcktleT86IElLZXk7XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlcyB0aGUgZGVmYXVsdCBhbGVydHMgVVJMLlxuICAgKlxuICAgKiBAZGVmYXVsdCBodHRwczovL2FsZXJ0cy5jZW50ZXJnYXVnZS5jb20vXG4gICAqL1xuICByZWFkb25seSB1cmw/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogU2V0cyB1cCBhbiBTTlMgVG9waWMgdGhhdCB3aWxsIHNlbmQgbm90aWZpY2F0aW9ucyB0byBDZW50ZXJHYXVnZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEFsZXJ0c1RvcGljIGV4dGVuZHMgQ29uc3RydWN0IHtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogQWxlcnRzVG9waWNQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBtYXN0ZXJLZXkgPSBwcm9wcy5tYXN0ZXJLZXkgPz8gQWxpYXMuZnJvbUFsaWFzTmFtZSh0aGlzLCBcIkF3c1Nuc0tleVwiLCBcImF3cy9zbnNcIik7XG5cbiAgICBjb25zdCBkbHEgPSBuZXcgU3RhbmRhcmRRdWV1ZSh0aGlzLCBcIkRscVwiLCB7XG4gICAgICBtYXhSZWNlaXZlQ291bnQ6IC0xLFxuICAgICAgY3JpdGljYWxBbGFybU9wdGlvbnM6IHtcbiAgICAgICAgbWF4U2l6ZTogMVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29uc3QgdG9waWMgPSBuZXcgVG9waWModGhpcywgXCJEZWZhdWx0XCIsIHtcbiAgICAgIGRpc3BsYXlOYW1lOiBwcm9wcy5kaXNwbGF5TmFtZSA/PyBcIkNlbnRlckdhdWdlQWxlcnRzXCIsXG4gICAgICBmaWZvOiBmYWxzZSxcbiAgICAgIG1hc3RlcktleVxuICAgIH0pO1xuXG4gICAgZGxxLmFkZFRvUmVzb3VyY2VQb2xpY3kobmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICBlZmZlY3Q6IEVmZmVjdC5BTExPVyxcbiAgICAgIHNpZDogXCJGaXJzdFwiLFxuICAgICAgcHJpbmNpcGFsczogW25ldyBBbnlQcmluY2lwYWwoKV0sXG4gICAgICBhY3Rpb25zOiBbXCJzcXM6U2VuZE1lc3NhZ2VcIl0sXG4gICAgICBjb25kaXRpb25zOiB7XG4gICAgICAgIFwiQXJuRXF1YWxzXCI6IHtcbiAgICAgICAgICBcImF3czpTb3VyY2VBcm5cIjogdG9waWMudG9waWNBcm5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pKTtcblxuICAgIG5ldyBDZm5TdWJzY3JpcHRpb24odGhpcywgXCJTdWJzY3JpcHRpb25cIiwge1xuICAgICAgdG9waWNBcm46IHRvcGljLnRvcGljQXJuLFxuICAgICAgcHJvdG9jb2w6IFwiaHR0cHNcIixcbiAgICAgIGVuZHBvaW50OiBwcm9wcy51cmwgPz8gXCJodHRwczovL2FsZXJ0cy5jZW50ZXJnYXVnZS5jb20vXCIsXG4gICAgICByYXdNZXNzYWdlRGVsaXZlcnk6IGZhbHNlLFxuICAgICAgZGVsaXZlcnlQb2xpY3k6IHtcbiAgICAgICAgXCJoZWFsdGh5UmV0cnlQb2xpY3lcIjoge1xuICAgICAgICAgIFwibnVtUmV0cmllc1wiOiAxMCxcbiAgICAgICAgICBcIm51bU5vRGVsYXlSZXRyaWVzXCI6IDAsXG4gICAgICAgICAgXCJtaW5EZWxheVRhcmdldFwiOiAzMCxcbiAgICAgICAgICBcIm1heERlbGF5VGFyZ2V0XCI6IDEyMCxcbiAgICAgICAgICBcIm51bU1pbkRlbGF5UmV0cmllc1wiOiAzLFxuICAgICAgICAgIFwibnVtTWF4RGVsYXlSZXRyaWVzXCI6IDAsXG4gICAgICAgICAgXCJiYWNrb2ZmRnVuY3Rpb25cIjogXCJsaW5lYXJcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgcmVkcml2ZVBvbGljeTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICBcImRlYWRMZXR0ZXJUYXJnZXRBcm5cIjogZGxxLnF1ZXVlQXJuXG4gICAgICB9KVxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Construct } from "constructs";
|
|
2
2
|
import { Duration, RemovalPolicy, ResourceEnvironment, Stack } from "aws-cdk-lib";
|
|
3
3
|
import { IQueue } from "aws-cdk-lib/aws-sqs";
|
|
4
|
-
import * as kms from
|
|
4
|
+
import * as kms from "aws-cdk-lib/aws-kms";
|
|
5
5
|
import { QueueAlarmsOptions } from "./queue-alarms";
|
|
6
6
|
import { ExtendedQueue } from "./extended-queue";
|
|
7
7
|
import { MetricOptions, Metric } from "aws-cdk-lib/aws-cloudwatch";
|
|
@@ -46,6 +46,18 @@ export interface StandardQueueProps extends QueueAlarmsOptions {
|
|
|
46
46
|
* @default 3
|
|
47
47
|
*/
|
|
48
48
|
readonly maxReceiveCount?: number;
|
|
49
|
+
/**
|
|
50
|
+
* Overrides the internal identifier used for the SQS Queue.
|
|
51
|
+
*
|
|
52
|
+
* @default "Default"
|
|
53
|
+
*/
|
|
54
|
+
readonly queueIdentifier?: string;
|
|
55
|
+
/**
|
|
56
|
+
* Overrides the internal identifier used for the dead letter SQS Queue.
|
|
57
|
+
*
|
|
58
|
+
* @default "Dlq"
|
|
59
|
+
*/
|
|
60
|
+
readonly deadLetterQueueIdentifier?: string;
|
|
49
61
|
}
|
|
50
62
|
export declare class StandardQueue extends Construct implements IQueue {
|
|
51
63
|
static readonly DEFAULT_MAX_RECEIVE_COUNT = 3;
|
|
@@ -14,7 +14,7 @@ class StandardQueue extends constructs_1.Construct {
|
|
|
14
14
|
const encryptionMasterKey = props === null || props === void 0 ? void 0 : props.encryptionMasterKey;
|
|
15
15
|
const dataKeyReuse = (_b = props === null || props === void 0 ? void 0 : props.dataKeyReuse) !== null && _b !== void 0 ? _b : aws_cdk_lib_1.Duration.minutes(15);
|
|
16
16
|
const deadLetterQueue = maxReceiveCount <= 0 ? undefined : {
|
|
17
|
-
queue: new aws_sqs_1.Queue(this,
|
|
17
|
+
queue: new aws_sqs_1.Queue(this, "Dlq", {
|
|
18
18
|
encryption,
|
|
19
19
|
encryptionMasterKey,
|
|
20
20
|
dataKeyReuse,
|
|
@@ -22,7 +22,7 @@ class StandardQueue extends constructs_1.Construct {
|
|
|
22
22
|
}),
|
|
23
23
|
maxReceiveCount
|
|
24
24
|
};
|
|
25
|
-
this.queue = new extended_queue_1.ExtendedQueue(this,
|
|
25
|
+
this.queue = new extended_queue_1.ExtendedQueue(this, "Default", {
|
|
26
26
|
...props,
|
|
27
27
|
deadLetterQueue,
|
|
28
28
|
encryption,
|
|
@@ -94,4 +94,4 @@ class StandardQueue extends constructs_1.Construct {
|
|
|
94
94
|
exports.StandardQueue = StandardQueue;
|
|
95
95
|
StandardQueue.DEFAULT_MAX_RECEIVE_COUNT = 3;
|
|
96
96
|
StandardQueue.DEFAULT_RETENTION_PERIOD = aws_cdk_lib_1.Duration.seconds(1209600);
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtcXVldWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzdGFuZGFyZC1xdWV1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBcUM7QUFDckMsNkNBQWdGO0FBQ2hGLGlEQUFvRjtBQUdwRixxREFBK0M7QUFtRC9DLE1BQWEsYUFBYyxTQUFRLHNCQUFTO0lBZ0IxQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTBCOztRQUNsRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sZUFBZSxTQUFHLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxlQUFlLG1DQUFJLGFBQWEsQ0FBQyx5QkFBeUIsQ0FBQztRQUMxRixNQUFNLFVBQVUsR0FBRyxDQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxtQkFBbUIsTUFBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLHlCQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyx5QkFBZSxDQUFDLEdBQUcsQ0FBQztRQUNoSCxNQUFNLG1CQUFtQixHQUFHLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxtQkFBbUIsQ0FBQztRQUN2RCxNQUFNLFlBQVksU0FBRyxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsWUFBWSxtQ0FBSSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVqRSxNQUFNLGVBQWUsR0FBZ0MsZUFBZSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUN0RixLQUFLLEVBQUUsSUFBSSxlQUFLLENBQUMsSUFBSSxFQUFFLGlCQUFpQixFQUFFO2dCQUN4QyxVQUFVO2dCQUNWLG1CQUFtQjtnQkFDbkIsWUFBWTtnQkFDWixlQUFlLEVBQUUsYUFBYSxDQUFDLHdCQUF3QjthQUN4RCxDQUFDO1lBQ0YsZUFBZTtTQUNoQixDQUFDO1FBRUYsSUFB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QUFJLENBQUMsS0FBSyxDQUFDLHdDQUF3QyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRCwyQkFBMkIsQ0FBQyxLQUFxQjtRQUMvQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsMkJBQTJCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELDZCQUE2QixDQUFDLEtBQXFCO1FBQ2pELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsOEJBQThCLENBQUMsS0FBcUI7UUFDbEQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLDhCQUE4QixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRCwwQkFBMEIsQ0FBQyxLQUFxQjtRQUM5QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsMEJBQTBCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELHFCQUFxQixDQUFDLEtBQXFCO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsTUFBcUI7UUFDdEMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQy9DLENBQUM7O0FBdkhILHNDQXdIQztBQXRIaUIsdUNBQXlCLEdBQUcsQ0FBQyxDQUFDO0FBQzlCLHNDQUF3QixHQUFHLHNCQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb25zdHJ1Y3R9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge0R1cmF0aW9uLCBSZW1vdmFsUG9saWN5LCBSZXNvdXJjZUVudmlyb25tZW50LCBTdGFja30gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQge0RlYWRMZXR0ZXJRdWV1ZSwgSVF1ZXVlLCBRdWV1ZSwgUXVldWVFbmNyeXB0aW9ufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXNxc1wiO1xuaW1wb3J0ICogYXMga21zIGZyb20gJ2F3cy1jZGstbGliL2F3cy1rbXMnO1xuaW1wb3J0IHtRdWV1ZUFsYXJtc09wdGlvbnN9IGZyb20gXCIuL3F1ZXVlLWFsYXJtc1wiO1xuaW1wb3J0IHtFeHRlbmRlZFF1ZXVlfSBmcm9tIFwiLi9leHRlbmRlZC1xdWV1ZVwiO1xuaW1wb3J0IHtNZXRyaWNPcHRpb25zLCBNZXRyaWN9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaFwiO1xuaW1wb3J0IHtQb2xpY3lTdGF0ZW1lbnQsIEFkZFRvUmVzb3VyY2VQb2xpY3lSZXN1bHQsIElHcmFudGFibGUsIEdyYW50fSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGEgU3RhbmRhcmRRdWV1ZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0YW5kYXJkUXVldWVQcm9wcyBleHRlbmRzIFF1ZXVlQWxhcm1zT3B0aW9ucyB7XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2Ygc2Vjb25kcyBBbWF6b24gU1FTIHJldGFpbnMgYSBtZXNzYWdlLiBWYWx1ZSBtdXN0IGJlIGJldHdlZW5cbiAgICogNjAgYW5kIDEyMDk2MDAgc2Vjb25kcyAoMTQgZGF5cykuXG4gICAqXG4gICAqIEBkZWZhdWx0IER1cmF0aW9uLnNlY29uZHMoMTIwOTYwMClcbiAgICpcbiAgICovXG4gIHJlYWRvbmx5IHJldGVudGlvblBlcmlvZD86IER1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIHNlY29uZHMgYSBjb25zdW1lciBoYXMgdG8gaGFuZGxlIHRoZSBtZXNzYWdlIGFuZCBkZWxldGUgaXRcbiAgICogZnJvbSB0aGUgcXVldWUgYmVmb3JlIGl0IGJlY29tZXMgdmlzaWJsZSBhZ2FpbiBmb3IgYW5vdGhlciBjb25zdW1lci4gVmFsdWVcbiAgICogbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDQzMjAwIHNlY29uZHMgKDEyIGhvdXJzKS5cbiAgICpcbiAgICogQGRlZmF1bHQgRHVyYXRpb24uc2Vjb25kcygzMClcbiAgICovXG4gIHJlYWRvbmx5IHZpc2liaWxpdHlUaW1lb3V0PzogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBLTVMga2V5IHRvIHVzZSBmb3IgZW5jcnlwdGlvbi4gSWYgbm90IHNldCwgdGhlIEFXUyBtYXN0ZXIga2V5IGZvciBTUVNcbiAgICogd2lsbCBiZSB1c2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgZW5jcnlwdGlvbk1hc3RlcktleT86IGttcy5JS2V5O1xuXG4gIC8qKlxuICAgKiBUaGUgbGVuZ3RoIG9mIHRpbWUgdGhhdCBBbWF6b24gU1FTIHJldXNlcyBhIGRhdGEga2V5IGJlZm9yZSBjYWxsaW5nIEtNUyBhZ2Fpbi5cbiAgICogVGhpcyB2YWx1ZSBhZmZlY3RzIHByaWNpbmcgYXMgeW91IGFyZSBjaGFyZ2VkIGZvciBLTVMgdXNhZ2UuIFZhbHVlIG11c3QgYmVcbiAgICogYmV0d2VlbiA2MCBhbmQgODYsNDAwIHNlY29uZHMgKDI0IGhvdXJzKS5cbiAgICpcbiAgICogQGRlZmF1bHQgRHVyYXRpb24ubWludXRlcygxNSlcbiAgICovXG4gIHJlYWRvbmx5IGRhdGFLZXlSZXVzZT86IER1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgYSBtZXNzYWdlIGNhbiBiZSB1bnN1Y2Nlc3NmdWwgYmVmb3JlIGJlaW5nIG1vdmVkXG4gICAqIHRvIHRoZSBkZWFkLWxldHRlciBxdWV1ZS4gU2V0IHRoaXMgdmFsdWUgdG8gLTEgdG8gZGlzYWJsZSB0aGUgZGVhZC1sZXR0ZXIgcXVldWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IDNcbiAgICovXG4gIHJlYWRvbmx5IG1heFJlY2VpdmVDb3VudD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGNsYXNzIFN0YW5kYXJkUXVldWUgZXh0ZW5kcyBDb25zdHJ1Y3QgaW1wbGVtZW50cyBJUXVldWUge1xuXG4gIHN0YXRpYyByZWFkb25seSBERUZBVUxUX01BWF9SRUNFSVZFX0NPVU5UID0gMztcbiAgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfUkVURU5USU9OX1BFUklPRCA9IER1cmF0aW9uLnNlY29uZHMoMTIwOTYwMCk7XG5cbiAgcmVhZG9ubHkgcXVldWU6IEV4dGVuZGVkUXVldWU7XG5cbiAgLy8gRnJvbSBJUXVldWVcbiAgcmVhZG9ubHkgcXVldWVBcm46IHN0cmluZztcbiAgcmVhZG9ubHkgcXVldWVVcmw6IHN0cmluZztcbiAgcmVhZG9ubHkgcXVldWVOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGVuY3J5cHRpb25NYXN0ZXJLZXk/OiBrbXMuSUtleSB8IHVuZGVmaW5lZDtcbiAgcmVhZG9ubHkgZmlmbzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgc3RhY2s6IFN0YWNrO1xuICByZWFkb25seSBlbnY6IFJlc291cmNlRW52aXJvbm1lbnQ7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM/OiBTdGFuZGFyZFF1ZXVlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgbWF4UmVjZWl2ZUNvdW50ID0gcHJvcHM/Lm1heFJlY2VpdmVDb3VudCA/PyBTdGFuZGFyZFF1ZXVlLkRFRkFVTFRfTUFYX1JFQ0VJVkVfQ09VTlQ7XG4gICAgY29uc3QgZW5jcnlwdGlvbiA9IHByb3BzPy5lbmNyeXB0aW9uTWFzdGVyS2V5ID09PSB1bmRlZmluZWQgPyBRdWV1ZUVuY3J5cHRpb24uS01TX01BTkFHRUQgOiBRdWV1ZUVuY3J5cHRpb24uS01TO1xuICAgIGNvbnN0IGVuY3J5cHRpb25NYXN0ZXJLZXkgPSBwcm9wcz8uZW5jcnlwdGlvbk1hc3RlcktleTtcbiAgICBjb25zdCBkYXRhS2V5UmV1c2UgPSBwcm9wcz8uZGF0YUtleVJldXNlID8/IER1cmF0aW9uLm1pbnV0ZXMoMTUpO1xuXG4gICAgY29uc3QgZGVhZExldHRlclF1ZXVlOiBEZWFkTGV0dGVyUXVldWUgfCB1bmRlZmluZWQgPSBtYXhSZWNlaXZlQ291bnQgPD0gMCA/IHVuZGVmaW5lZCA6IHtcbiAgICAgIHF1ZXVlOiBuZXcgUXVldWUodGhpcywgJ0RlYWRMZXR0ZXJRdWV1ZScsIHtcbiAgICAgICAgZW5jcnlwdGlvbixcbiAgICAgICAgZW5jcnlwdGlvbk1hc3RlcktleSxcbiAgICAgICAgZGF0YUtleVJldXNlLFxuICAgICAgICByZXRlbnRpb25QZXJpb2Q6IFN0YW5kYXJkUXVldWUuREVGQVVMVF9SRVRFTlRJT05fUEVSSU9EXG4gICAgICB9KSxcbiAgICAgIG1heFJlY2VpdmVDb3VudFxuICAgIH07XG5cbiAgICB0aGlzLnF1ZXVlID0gbmV3IEV4dGVuZGVkUXVldWUodGhpcywgJ1F1ZXVlJywge1xuICAgICAgLi4ucHJvcHMsXG4gICAgICBkZWFkTGV0dGVyUXVldWUsXG4gICAgICBlbmNyeXB0aW9uLFxuICAgICAgZW5jcnlwdGlvbk1hc3RlcktleSxcbiAgICAgIGRhdGFLZXlSZXVzZSxcbiAgICAgIGFsYXJtRnJpZW5kbHlOYW1lOiBwcm9wcz8uYWxhcm1GcmllbmRseU5hbWUgPz8gaWQsXG4gICAgICByZXRlbnRpb25QZXJpb2Q6IHByb3BzPy5yZXRlbnRpb25QZXJpb2QgPz8gU3RhbmRhcmRRdWV1ZS5ERUZBVUxUX1JFVEVOVElPTl9QRVJJT0QsXG4gICAgICB2aXNpYmlsaXR5VGltZW91dDogcHJvcHM/LnZpc2liaWxpdHlUaW1lb3V0ID8/IER1cmF0aW9uLnNlY29uZHMoMzApLFxuICAgICAgYWxhcm1OYW1lUHJlZml4OiBwcm9wcz8uYWxhcm1OYW1lUHJlZml4Pz9TdGFjay5vZih0aGlzKS5zdGFja05hbWUgKyBcIi1cIiArIGlkXG4gICAgfSk7XG5cbiAgICB0aGlzLnF1ZXVlQXJuID0gdGhpcy5xdWV1ZS5xdWV1ZUFybjtcbiAgICB0aGlzLnF1ZXVlVXJsID0gdGhpcy5xdWV1ZS5xdWV1ZVVybDtcbiAgICB0aGlzLnF1ZXVlTmFtZSA9IHRoaXMucXVldWUucXVldWVOYW1lO1xuICAgIHRoaXMuZW5jcnlwdGlvbk1hc3RlcktleSA9IHRoaXMucXVldWUuZW5jcnlwdGlvbk1hc3RlcktleTtcbiAgICB0aGlzLmZpZm8gPSB0aGlzLnF1ZXVlLmZpZm87XG4gICAgdGhpcy5zdGFjayA9IHRoaXMucXVldWUuc3RhY2s7XG4gICAgdGhpcy5lbnYgPSB0aGlzLnF1ZXVlLmVudjtcbiAgfVxuXG4gIC8vIEZyb20gSVF1ZXVlXG5cbiAgYWRkVG9SZXNvdXJjZVBvbGljeShzdGF0ZW1lbnQ6IFBvbGljeVN0YXRlbWVudCk6IEFkZFRvUmVzb3VyY2VQb2xpY3lSZXN1bHQge1xuICAgIHJldHVybiB0aGlzLnF1ZXVlLmFkZFRvUmVzb3VyY2VQb2xpY3koc3RhdGVtZW50KTtcbiAgfVxuXG4gIGdyYW50Q29uc3VtZU1lc3NhZ2VzKGdyYW50ZWU6IElHcmFudGFibGUpOiBHcmFudCB7XG4gICAgcmV0dXJuIHRoaXMucXVldWUuZ3JhbnRDb25zdW1lTWVzc2FnZXMoZ3JhbnRlZSk7XG4gIH1cblxuICBncmFudFNlbmRNZXNzYWdlcyhncmFudGVlOiBJR3JhbnRhYmxlKTogR3JhbnQge1xuICAgIHJldHVybiB0aGlzLnF1ZXVlLmdyYW50U2VuZE1lc3NhZ2VzKGdyYW50ZWUpO1xuICB9XG5cbiAgZ3JhbnRQdXJnZShncmFudGVlOiBJR3JhbnRhYmxlKTogR3JhbnQge1xuICAgIHJldHVybiB0aGlzLnF1ZXVlLmdyYW50UHVyZ2UoZ3JhbnRlZSk7XG4gIH1cblxuICBncmFudChncmFudGVlOiBJR3JhbnRhYmxlLCAuLi5xdWV1ZUFjdGlvbnM6IHN0cmluZ1tdKTogR3JhbnQge1xuICAgIHJldHVybiB0aGlzLnF1ZXVlLmdyYW50KGdyYW50ZWUsIC4uLnF1ZXVlQWN0aW9ucyk7XG4gIH1cblxuICBtZXRyaWMobWV0cmljTmFtZTogc3RyaW5nLCBwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWMge1xuICAgIHJldHVybiB0aGlzLnF1ZXVlLm1ldHJpYyhtZXRyaWNOYW1lLCBwcm9wcyk7XG4gIH1cblxuICBtZXRyaWNBcHByb3hpbWF0ZUFnZU9mT2xkZXN0TWVzc2FnZShwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWMge1xuICAgIHJldHVybiB0aGlzLnF1ZXVlLm1ldHJpY0FwcHJveGltYXRlQWdlT2ZPbGRlc3RNZXNzYWdlKHByb3BzKTtcbiAgfVxuXG4gIG1ldHJpY0FwcHJveGltYXRlTnVtYmVyT2ZNZXNzYWdlc0RlbGF5ZWQocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICByZXR1cm4gdGhpcy5xdWV1ZS5tZXRyaWNBcHByb3hpbWF0ZU51bWJlck9mTWVzc2FnZXNEZWxheWVkKHByb3BzKTtcbiAgfVxuXG4gIG1ldHJpY0FwcHJveGltYXRlTnVtYmVyT2ZNZXNzYWdlc05vdFZpc2libGUocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICByZXR1cm4gdGhpcy5xdWV1ZS5tZXRyaWNBcHByb3hpbWF0ZU51bWJlck9mTWVzc2FnZXNOb3RWaXNpYmxlKHByb3BzKTtcbiAgfVxuXG4gIG1ldHJpY0FwcHJveGltYXRlTnVtYmVyT2ZNZXNzYWdlc1Zpc2libGUocHJvcHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICByZXR1cm4gdGhpcy5xdWV1ZS5tZXRyaWNBcHByb3hpbWF0ZU51bWJlck9mTWVzc2FnZXNWaXNpYmxlKHByb3BzKTtcbiAgfVxuXG4gIG1ldHJpY051bWJlck9mRW1wdHlSZWNlaXZlcyhwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWMge1xuICAgIHJldHVybiB0aGlzLnF1ZXVlLm1ldHJpY051bWJlck9mRW1wdHlSZWNlaXZlcyhwcm9wcyk7XG4gIH1cblxuICBtZXRyaWNOdW1iZXJPZk1lc3NhZ2VzRGVsZXRlZChwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWMge1xuICAgIHJldHVybiB0aGlzLnF1ZXVlLm1ldHJpY051bWJlck9mTWVzc2FnZXNEZWxldGVkKHByb3BzKTtcbiAgfVxuXG4gIG1ldHJpY051bWJlck9mTWVzc2FnZXNSZWNlaXZlZChwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWMge1xuICAgIHJldHVybiB0aGlzLnF1ZXVlLm1ldHJpY051bWJlck9mTWVzc2FnZXNSZWNlaXZlZChwcm9wcyk7XG4gIH1cblxuICBtZXRyaWNOdW1iZXJPZk1lc3NhZ2VzU2VudChwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWMge1xuICAgIHJldHVybiB0aGlzLnF1ZXVlLm1ldHJpY051bWJlck9mTWVzc2FnZXNTZW50KHByb3BzKTtcbiAgfVxuXG4gIG1ldHJpY1NlbnRNZXNzYWdlU2l6ZShwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWMge1xuICAgIHJldHVybiB0aGlzLnF1ZXVlLm1ldHJpY1NlbnRNZXNzYWdlU2l6ZShwcm9wcyk7XG4gIH1cblxuICBhcHBseVJlbW92YWxQb2xpY3kocG9saWN5OiBSZW1vdmFsUG9saWN5KTogdm9pZCB7XG4gICAgcmV0dXJuIHRoaXMucXVldWUuYXBwbHlSZW1vdmFsUG9saWN5KHBvbGljeSk7XG4gIH1cbn1cbiJdfQ==
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtcXVldWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzdGFuZGFyZC1xdWV1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBcUM7QUFDckMsNkNBQWdGO0FBQ2hGLGlEQUFvRjtBQUdwRixxREFBK0M7QUFpRS9DLE1BQWEsYUFBYyxTQUFRLHNCQUFTO0lBZ0IxQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTBCOztRQUNsRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0sZUFBZSxTQUFHLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxlQUFlLG1DQUFJLGFBQWEsQ0FBQyx5QkFBeUIsQ0FBQztRQUMxRixNQUFNLFVBQVUsR0FBRyxDQUFBLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxtQkFBbUIsTUFBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLHlCQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyx5QkFBZSxDQUFDLEdBQUcsQ0FBQztRQUNoSCxNQUFNLG1CQUFtQixHQUFHLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxtQkFBbUIsQ0FBQztRQUN2RCxNQUFNLFlBQVksU0FBRyxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsWUFBWSxtQ0FBSSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVqRSxNQUFNLGVBQWUsR0FBZ0MsZUFBZSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUN0RixLQUFLLEVBQUUsSUFBSSxlQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRTtnQkFDNUIsVUFBVTtnQkFDVixtQkFBbUI7Z0JBQ25CLFlBQVk7Z0JBQ1osZUFBZSxFQUFFLGFBQWEsQ0FBQyx3QkFBd0I7YUFDeEQsQ0FBQztZQUNGLGVBQWU7U0FDaEIsQ0FBQztRQUVGLElBQUks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SSxDQUFDLEtBQUssQ0FBQyx3Q0FBd0MsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsMkJBQTJCLENBQUMsS0FBcUI7UUFDL0MsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLDJCQUEyQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCw2QkFBNkIsQ0FBQyxLQUFxQjtRQUNqRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsNkJBQTZCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELDhCQUE4QixDQUFDLEtBQXFCO1FBQ2xELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsMEJBQTBCLENBQUMsS0FBcUI7UUFDOUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLDBCQUEwQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxLQUFxQjtRQUN6QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELGtCQUFrQixDQUFDLE1BQXFCO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMvQyxDQUFDOztBQXZISCxzQ0F3SEM7QUF0SGlCLHVDQUF5QixHQUFHLENBQUMsQ0FBQztBQUM5QixzQ0FBd0IsR0FBRyxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29uc3RydWN0fSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtEdXJhdGlvbiwgUmVtb3ZhbFBvbGljeSwgUmVzb3VyY2VFbnZpcm9ubWVudCwgU3RhY2t9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHtEZWFkTGV0dGVyUXVldWUsIElRdWV1ZSwgUXVldWUsIFF1ZXVlRW5jcnlwdGlvbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1zcXNcIjtcbmltcG9ydCAqIGFzIGttcyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWttc1wiO1xuaW1wb3J0IHtRdWV1ZUFsYXJtc09wdGlvbnN9IGZyb20gXCIuL3F1ZXVlLWFsYXJtc1wiO1xuaW1wb3J0IHtFeHRlbmRlZFF1ZXVlfSBmcm9tIFwiLi9leHRlbmRlZC1xdWV1ZVwiO1xuaW1wb3J0IHtNZXRyaWNPcHRpb25zLCBNZXRyaWN9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2xvdWR3YXRjaFwiO1xuaW1wb3J0IHtQb2xpY3lTdGF0ZW1lbnQsIEFkZFRvUmVzb3VyY2VQb2xpY3lSZXN1bHQsIElHcmFudGFibGUsIEdyYW50fSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGEgU3RhbmRhcmRRdWV1ZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0YW5kYXJkUXVldWVQcm9wcyBleHRlbmRzIFF1ZXVlQWxhcm1zT3B0aW9ucyB7XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2Ygc2Vjb25kcyBBbWF6b24gU1FTIHJldGFpbnMgYSBtZXNzYWdlLiBWYWx1ZSBtdXN0IGJlIGJldHdlZW5cbiAgICogNjAgYW5kIDEyMDk2MDAgc2Vjb25kcyAoMTQgZGF5cykuXG4gICAqXG4gICAqIEBkZWZhdWx0IER1cmF0aW9uLnNlY29uZHMoMTIwOTYwMClcbiAgICpcbiAgICovXG4gIHJlYWRvbmx5IHJldGVudGlvblBlcmlvZD86IER1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIHNlY29uZHMgYSBjb25zdW1lciBoYXMgdG8gaGFuZGxlIHRoZSBtZXNzYWdlIGFuZCBkZWxldGUgaXRcbiAgICogZnJvbSB0aGUgcXVldWUgYmVmb3JlIGl0IGJlY29tZXMgdmlzaWJsZSBhZ2FpbiBmb3IgYW5vdGhlciBjb25zdW1lci4gVmFsdWVcbiAgICogbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDQzMjAwIHNlY29uZHMgKDEyIGhvdXJzKS5cbiAgICpcbiAgICogQGRlZmF1bHQgRHVyYXRpb24uc2Vjb25kcygzMClcbiAgICovXG4gIHJlYWRvbmx5IHZpc2liaWxpdHlUaW1lb3V0PzogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBLTVMga2V5IHRvIHVzZSBmb3IgZW5jcnlwdGlvbi4gSWYgbm90IHNldCwgdGhlIEFXUyBtYXN0ZXIga2V5IGZvciBTUVNcbiAgICogd2lsbCBiZSB1c2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgZW5jcnlwdGlvbk1hc3RlcktleT86IGttcy5JS2V5O1xuXG4gIC8qKlxuICAgKiBUaGUgbGVuZ3RoIG9mIHRpbWUgdGhhdCBBbWF6b24gU1FTIHJldXNlcyBhIGRhdGEga2V5IGJlZm9yZSBjYWxsaW5nIEtNUyBhZ2Fpbi5cbiAgICogVGhpcyB2YWx1ZSBhZmZlY3RzIHByaWNpbmcgYXMgeW91IGFyZSBjaGFyZ2VkIGZvciBLTVMgdXNhZ2UuIFZhbHVlIG11c3QgYmVcbiAgICogYmV0d2VlbiA2MCBhbmQgODYsNDAwIHNlY29uZHMgKDI0IGhvdXJzKS5cbiAgICpcbiAgICogQGRlZmF1bHQgRHVyYXRpb24ubWludXRlcygxNSlcbiAgICovXG4gIHJlYWRvbmx5IGRhdGFLZXlSZXVzZT86IER1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgYSBtZXNzYWdlIGNhbiBiZSB1bnN1Y2Nlc3NmdWwgYmVmb3JlIGJlaW5nIG1vdmVkXG4gICAqIHRvIHRoZSBkZWFkLWxldHRlciBxdWV1ZS4gU2V0IHRoaXMgdmFsdWUgdG8gLTEgdG8gZGlzYWJsZSB0aGUgZGVhZC1sZXR0ZXIgcXVldWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IDNcbiAgICovXG4gIHJlYWRvbmx5IG1heFJlY2VpdmVDb3VudD86IG51bWJlcjtcblxuICAvKipcbiAgICogT3ZlcnJpZGVzIHRoZSBpbnRlcm5hbCBpZGVudGlmaWVyIHVzZWQgZm9yIHRoZSBTUVMgUXVldWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IFwiRGVmYXVsdFwiXG4gICAqL1xuICByZWFkb25seSBxdWV1ZUlkZW50aWZpZXI/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlcyB0aGUgaW50ZXJuYWwgaWRlbnRpZmllciB1c2VkIGZvciB0aGUgZGVhZCBsZXR0ZXIgU1FTIFF1ZXVlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBcIkRscVwiXG4gICAqL1xuICByZWFkb25seSBkZWFkTGV0dGVyUXVldWVJZGVudGlmaWVyPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgU3RhbmRhcmRRdWV1ZSBleHRlbmRzIENvbnN0cnVjdCBpbXBsZW1lbnRzIElRdWV1ZSB7XG5cbiAgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfTUFYX1JFQ0VJVkVfQ09VTlQgPSAzO1xuICBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9SRVRFTlRJT05fUEVSSU9EID0gRHVyYXRpb24uc2Vjb25kcygxMjA5NjAwKTtcblxuICByZWFkb25seSBxdWV1ZTogRXh0ZW5kZWRRdWV1ZTtcblxuICAvLyBGcm9tIElRdWV1ZVxuICByZWFkb25seSBxdWV1ZUFybjogc3RyaW5nO1xuICByZWFkb25seSBxdWV1ZVVybDogc3RyaW5nO1xuICByZWFkb25seSBxdWV1ZU5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgZW5jcnlwdGlvbk1hc3RlcktleT86IGttcy5JS2V5IHwgdW5kZWZpbmVkO1xuICByZWFkb25seSBmaWZvOiBib29sZWFuO1xuICByZWFkb25seSBzdGFjazogU3RhY2s7XG4gIHJlYWRvbmx5IGVudjogUmVzb3VyY2VFbnZpcm9ubWVudDtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86IFN0YW5kYXJkUXVldWVQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICBjb25zdCBtYXhSZWNlaXZlQ291bnQgPSBwcm9wcz8ubWF4UmVjZWl2ZUNvdW50ID8/IFN0YW5kYXJkUXVldWUuREVGQVVMVF9NQVhfUkVDRUlWRV9DT1VOVDtcbiAgICBjb25zdCBlbmNyeXB0aW9uID0gcHJvcHM/LmVuY3J5cHRpb25NYXN0ZXJLZXkgPT09IHVuZGVmaW5lZCA/IFF1ZXVlRW5jcnlwdGlvbi5LTVNfTUFOQUdFRCA6IFF1ZXVlRW5jcnlwdGlvbi5LTVM7XG4gICAgY29uc3QgZW5jcnlwdGlvbk1hc3RlcktleSA9IHByb3BzPy5lbmNyeXB0aW9uTWFzdGVyS2V5O1xuICAgIGNvbnN0IGRhdGFLZXlSZXVzZSA9IHByb3BzPy5kYXRhS2V5UmV1c2UgPz8gRHVyYXRpb24ubWludXRlcygxNSk7XG5cbiAgICBjb25zdCBkZWFkTGV0dGVyUXVldWU6IERlYWRMZXR0ZXJRdWV1ZSB8IHVuZGVmaW5lZCA9IG1heFJlY2VpdmVDb3VudCA8PSAwID8gdW5kZWZpbmVkIDoge1xuICAgICAgcXVldWU6IG5ldyBRdWV1ZSh0aGlzLCBcIkRscVwiLCB7XG4gICAgICAgIGVuY3J5cHRpb24sXG4gICAgICAgIGVuY3J5cHRpb25NYXN0ZXJLZXksXG4gICAgICAgIGRhdGFLZXlSZXVzZSxcbiAgICAgICAgcmV0ZW50aW9uUGVyaW9kOiBTdGFuZGFyZFF1ZXVlLkRFRkFVTFRfUkVURU5USU9OX1BFUklPRFxuICAgICAgfSksXG4gICAgICBtYXhSZWNlaXZlQ291bnRcbiAgICB9O1xuXG4gICAgdGhpcy5xdWV1ZSA9IG5ldyBFeHRlbmRlZFF1ZXVlKHRoaXMsIFwiRGVmYXVsdFwiLCB7XG4gICAgICAuLi5wcm9wcyxcbiAgICAgIGRlYWRMZXR0ZXJRdWV1ZSxcbiAgICAgIGVuY3J5cHRpb24sXG4gICAgICBlbmNyeXB0aW9uTWFzdGVyS2V5LFxuICAgICAgZGF0YUtleVJldXNlLFxuICAgICAgYWxhcm1GcmllbmRseU5hbWU6IHByb3BzPy5hbGFybUZyaWVuZGx5TmFtZSA/PyBpZCxcbiAgICAgIHJldGVudGlvblBlcmlvZDogcHJvcHM/LnJldGVudGlvblBlcmlvZCA/PyBTdGFuZGFyZFF1ZXVlLkRFRkFVTFRfUkVURU5USU9OX1BFUklPRCxcbiAgICAgIHZpc2liaWxpdHlUaW1lb3V0OiBwcm9wcz8udmlzaWJpbGl0eVRpbWVvdXQgPz8gRHVyYXRpb24uc2Vjb25kcygzMCksXG4gICAgICBhbGFybU5hbWVQcmVmaXg6IHByb3BzPy5hbGFybU5hbWVQcmVmaXg/P1N0YWNrLm9mKHRoaXMpLnN0YWNrTmFtZSArIFwiLVwiICsgaWRcbiAgICB9KTtcblxuICAgIHRoaXMucXVldWVBcm4gPSB0aGlzLnF1ZXVlLnF1ZXVlQXJuO1xuICAgIHRoaXMucXVldWVVcmwgPSB0aGlzLnF1ZXVlLnF1ZXVlVXJsO1xuICAgIHRoaXMucXVldWVOYW1lID0gdGhpcy5xdWV1ZS5xdWV1ZU5hbWU7XG4gICAgdGhpcy5lbmNyeXB0aW9uTWFzdGVyS2V5ID0gdGhpcy5xdWV1ZS5lbmNyeXB0aW9uTWFzdGVyS2V5O1xuICAgIHRoaXMuZmlmbyA9IHRoaXMucXVldWUuZmlmbztcbiAgICB0aGlzLnN0YWNrID0gdGhpcy5xdWV1ZS5zdGFjaztcbiAgICB0aGlzLmVudiA9IHRoaXMucXVldWUuZW52O1xuICB9XG5cbiAgLy8gRnJvbSBJUXVldWVcblxuICBhZGRUb1Jlc291cmNlUG9saWN5KHN0YXRlbWVudDogUG9saWN5U3RhdGVtZW50KTogQWRkVG9SZXNvdXJjZVBvbGljeVJlc3VsdCB7XG4gICAgcmV0dXJuIHRoaXMucXVldWUuYWRkVG9SZXNvdXJjZVBvbGljeShzdGF0ZW1lbnQpO1xuICB9XG5cbiAgZ3JhbnRDb25zdW1lTWVzc2FnZXMoZ3JhbnRlZTogSUdyYW50YWJsZSk6IEdyYW50IHtcbiAgICByZXR1cm4gdGhpcy5xdWV1ZS5ncmFudENvbnN1bWVNZXNzYWdlcyhncmFudGVlKTtcbiAgfVxuXG4gIGdyYW50U2VuZE1lc3NhZ2VzKGdyYW50ZWU6IElHcmFudGFibGUpOiBHcmFudCB7XG4gICAgcmV0dXJuIHRoaXMucXVldWUuZ3JhbnRTZW5kTWVzc2FnZXMoZ3JhbnRlZSk7XG4gIH1cblxuICBncmFudFB1cmdlKGdyYW50ZWU6IElHcmFudGFibGUpOiBHcmFudCB7XG4gICAgcmV0dXJuIHRoaXMucXVldWUuZ3JhbnRQdXJnZShncmFudGVlKTtcbiAgfVxuXG4gIGdyYW50KGdyYW50ZWU6IElHcmFudGFibGUsIC4uLnF1ZXVlQWN0aW9uczogc3RyaW5nW10pOiBHcmFudCB7XG4gICAgcmV0dXJuIHRoaXMucXVldWUuZ3JhbnQoZ3JhbnRlZSwgLi4ucXVldWVBY3Rpb25zKTtcbiAgfVxuXG4gIG1ldHJpYyhtZXRyaWNOYW1lOiBzdHJpbmcsIHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIHRoaXMucXVldWUubWV0cmljKG1ldHJpY05hbWUsIHByb3BzKTtcbiAgfVxuXG4gIG1ldHJpY0FwcHJveGltYXRlQWdlT2ZPbGRlc3RNZXNzYWdlKHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIHRoaXMucXVldWUubWV0cmljQXBwcm94aW1hdGVBZ2VPZk9sZGVzdE1lc3NhZ2UocHJvcHMpO1xuICB9XG5cbiAgbWV0cmljQXBwcm94aW1hdGVOdW1iZXJPZk1lc3NhZ2VzRGVsYXllZChwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWMge1xuICAgIHJldHVybiB0aGlzLnF1ZXVlLm1ldHJpY0FwcHJveGltYXRlTnVtYmVyT2ZNZXNzYWdlc0RlbGF5ZWQocHJvcHMpO1xuICB9XG5cbiAgbWV0cmljQXBwcm94aW1hdGVOdW1iZXJPZk1lc3NhZ2VzTm90VmlzaWJsZShwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWMge1xuICAgIHJldHVybiB0aGlzLnF1ZXVlLm1ldHJpY0FwcHJveGltYXRlTnVtYmVyT2ZNZXNzYWdlc05vdFZpc2libGUocHJvcHMpO1xuICB9XG5cbiAgbWV0cmljQXBwcm94aW1hdGVOdW1iZXJPZk1lc3NhZ2VzVmlzaWJsZShwcm9wcz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWMge1xuICAgIHJldHVybiB0aGlzLnF1ZXVlLm1ldHJpY0FwcHJveGltYXRlTnVtYmVyT2ZNZXNzYWdlc1Zpc2libGUocHJvcHMpO1xuICB9XG5cbiAgbWV0cmljTnVtYmVyT2ZFbXB0eVJlY2VpdmVzKHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIHRoaXMucXVldWUubWV0cmljTnVtYmVyT2ZFbXB0eVJlY2VpdmVzKHByb3BzKTtcbiAgfVxuXG4gIG1ldHJpY051bWJlck9mTWVzc2FnZXNEZWxldGVkKHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIHRoaXMucXVldWUubWV0cmljTnVtYmVyT2ZNZXNzYWdlc0RlbGV0ZWQocHJvcHMpO1xuICB9XG5cbiAgbWV0cmljTnVtYmVyT2ZNZXNzYWdlc1JlY2VpdmVkKHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIHRoaXMucXVldWUubWV0cmljTnVtYmVyT2ZNZXNzYWdlc1JlY2VpdmVkKHByb3BzKTtcbiAgfVxuXG4gIG1ldHJpY051bWJlck9mTWVzc2FnZXNTZW50KHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIHRoaXMucXVldWUubWV0cmljTnVtYmVyT2ZNZXNzYWdlc1NlbnQocHJvcHMpO1xuICB9XG5cbiAgbWV0cmljU2VudE1lc3NhZ2VTaXplKHByb3BzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIHRoaXMucXVldWUubWV0cmljU2VudE1lc3NhZ2VTaXplKHByb3BzKTtcbiAgfVxuXG4gIGFwcGx5UmVtb3ZhbFBvbGljeShwb2xpY3k6IFJlbW92YWxQb2xpY3kpOiB2b2lkIHtcbiAgICByZXR1cm4gdGhpcy5xdWV1ZS5hcHBseVJlbW92YWxQb2xpY3kocG9saWN5KTtcbiAgfVxufVxuIl19
|
package/aws-ssm/lib/index.d.ts
CHANGED
package/aws-ssm/lib/index.js
CHANGED
|
@@ -12,4 +12,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
__exportStar(require("./parameter-reader"), exports);
|
|
14
14
|
__exportStar(require("./parameter-store"), exports);
|
|
15
|
-
|
|
15
|
+
__exportStar(require("./parameter-paths"), exports);
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxxREFBbUM7QUFDbkMsb0RBQWtDO0FBQ2xDLG9EQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL3BhcmFtZXRlci1yZWFkZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BhcmFtZXRlci1zdG9yZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGFyYW1ldGVyLXBhdGhzXCI7XG4iXX0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Grant, IGrantable } from "aws-cdk-lib/aws-iam";
|
|
2
|
+
import { Construct } from "constructs";
|
|
3
|
+
/**
|
|
4
|
+
* Represents a group of SSM Parameter paths.
|
|
5
|
+
*/
|
|
6
|
+
export declare class ParameterPaths {
|
|
7
|
+
private readonly stack;
|
|
8
|
+
readonly paths: string[];
|
|
9
|
+
constructor(scope: Construct, ...paths: string[]);
|
|
10
|
+
protected validatePath(path: string): void;
|
|
11
|
+
grantDescribe(grantee: IGrantable): Grant;
|
|
12
|
+
grantRead(grantee: IGrantable): Grant;
|
|
13
|
+
grantWrite(grantee: IGrantable): Grant;
|
|
14
|
+
grantReadWrite(grantee: IGrantable): Grant;
|
|
15
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ParameterPaths = void 0;
|
|
4
|
+
const aws_iam_1 = require("aws-cdk-lib/aws-iam");
|
|
5
|
+
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
6
|
+
/**
|
|
7
|
+
* Represents a group of SSM Parameter paths.
|
|
8
|
+
*/
|
|
9
|
+
class ParameterPaths {
|
|
10
|
+
constructor(scope, ...paths) {
|
|
11
|
+
this.stack = aws_cdk_lib_1.Stack.of(scope);
|
|
12
|
+
paths.forEach(path => this.validatePath(path));
|
|
13
|
+
this.paths = paths;
|
|
14
|
+
}
|
|
15
|
+
validatePath(path) {
|
|
16
|
+
if (!path.startsWith("/")) {
|
|
17
|
+
throw new Error("path must start with a '/'");
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
grantDescribe(grantee) {
|
|
21
|
+
return aws_iam_1.Grant.addToPrincipal({
|
|
22
|
+
grantee,
|
|
23
|
+
actions: [
|
|
24
|
+
"ssm:DescribeParameters"
|
|
25
|
+
],
|
|
26
|
+
resourceArns: ["*"]
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
grantRead(grantee) {
|
|
30
|
+
return aws_iam_1.Grant.addToPrincipal({
|
|
31
|
+
grantee,
|
|
32
|
+
actions: [
|
|
33
|
+
"ssm:GetParameter",
|
|
34
|
+
"ssm:GetParameters",
|
|
35
|
+
"ssm:GetParametersByPath",
|
|
36
|
+
"ssm:GetParameterHistory",
|
|
37
|
+
],
|
|
38
|
+
resourceArns: this.paths.map(path => `arn:aws:ssm:${this.stack.region}:${this.stack.account}:parameter${path}`)
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
grantWrite(grantee) {
|
|
42
|
+
return aws_iam_1.Grant.addToPrincipal({
|
|
43
|
+
grantee,
|
|
44
|
+
actions: [
|
|
45
|
+
"ssm:PutParameter",
|
|
46
|
+
"ssm:DeleteParameter",
|
|
47
|
+
"ssm:DeleteParameters"
|
|
48
|
+
],
|
|
49
|
+
resourceArns: this.paths.map(path => `arn:aws:ssm:${this.stack.region}:${this.stack.account}:parameter${path}`)
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
grantReadWrite(grantee) {
|
|
53
|
+
return aws_iam_1.Grant.addToPrincipal({
|
|
54
|
+
grantee,
|
|
55
|
+
actions: [
|
|
56
|
+
"ssm:GetParameter",
|
|
57
|
+
"ssm:GetParameters",
|
|
58
|
+
"ssm:GetParametersByPath",
|
|
59
|
+
"ssm:GetParameterHistory",
|
|
60
|
+
"ssm:PutParameter",
|
|
61
|
+
"ssm:DeleteParameter",
|
|
62
|
+
"ssm:DeleteParameters"
|
|
63
|
+
],
|
|
64
|
+
resourceArns: this.paths.map(path => `arn:aws:ssm:${this.stack.region}:${this.stack.account}:parameter${path}`)
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
exports.ParameterPaths = ParameterPaths;
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLXBhdGhzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicGFyYW1ldGVyLXBhdGhzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlEQUFzRDtBQUN0RCw2Q0FBa0M7QUFHbEM7O0dBRUc7QUFDSCxNQUFhLGNBQWM7SUFLekIsWUFBWSxLQUFnQixFQUFFLEdBQUcsS0FBZTtRQUM5QyxJQUFJLENBQUMsS0FBSyxHQUFHLG1CQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVTLFlBQVksQ0FBQyxJQUFZO1FBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLENBQUMsQ0FBQztTQUMvQztJQUNILENBQUM7SUFFRCxhQUFhLENBQUMsT0FBbUI7UUFDL0IsT0FBTyxlQUFLLENBQUMsY0FBYyxDQUFDO1lBQzFCLE9BQU87WUFDUCxPQUFPLEVBQUU7Z0JBQ1Asd0JBQXdCO2FBQ3pCO1lBQ0QsWUFBWSxFQUFFLENBQUMsR0FBRyxDQUFDO1NBQ3BCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxTQUFTLENBQUMsT0FBbUI7UUFDM0IsT0FBTyxlQUFLLENBQUMsY0FBYyxDQUFDO1lBQzFCLE9BQU87WUFDUCxPQUFPLEVBQUU7Z0JBQ1Asa0JBQWtCO2dCQUNsQixtQkFBbUI7Z0JBQ25CLHlCQUF5QjtnQkFDekIseUJBQXlCO2FBQzFCO1lBQ0QsWUFBWSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sYUFBYSxJQUFJLEVBQUUsQ0FBQztTQUNoSCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQW1CO1FBQzVCLE9BQU8sZUFBSyxDQUFDLGNBQWMsQ0FBQztZQUMxQixPQUFPO1lBQ1AsT0FBTyxFQUFFO2dCQUNQLGtCQUFrQjtnQkFDbEIscUJBQXFCO2dCQUNyQixzQkFBc0I7YUFDdkI7WUFDRCxZQUFZLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxhQUFhLElBQUksRUFBRSxDQUFDO1NBQ2hILENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjLENBQUMsT0FBbUI7UUFDaEMsT0FBTyxlQUFLLENBQUMsY0FBYyxDQUFDO1lBQzFCLE9BQU87WUFDUCxPQUFPLEVBQUU7Z0JBQ1Asa0JBQWtCO2dCQUNsQixtQkFBbUI7Z0JBQ25CLHlCQUF5QjtnQkFDekIseUJBQXlCO2dCQUN6QixrQkFBa0I7Z0JBQ2xCLHFCQUFxQjtnQkFDckIsc0JBQXNCO2FBQ3ZCO1lBQ0QsWUFBWSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsZUFBZSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sYUFBYSxJQUFJLEVBQUUsQ0FBQztTQUNoSCxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFuRUQsd0NBbUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtHcmFudCwgSUdyYW50YWJsZX0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcbmltcG9ydCB7U3RhY2t9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHtDb25zdHJ1Y3R9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGdyb3VwIG9mIFNTTSBQYXJhbWV0ZXIgcGF0aHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBQYXJhbWV0ZXJQYXRocyB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBzdGFjazogU3RhY2s7XG4gIHJlYWRvbmx5IHBhdGhzOiBzdHJpbmdbXTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCAuLi5wYXRoczogc3RyaW5nW10pIHtcbiAgICB0aGlzLnN0YWNrID0gU3RhY2sub2Yoc2NvcGUpO1xuICAgIHBhdGhzLmZvckVhY2gocGF0aCA9PiB0aGlzLnZhbGlkYXRlUGF0aChwYXRoKSk7XG4gICAgdGhpcy5wYXRocyA9IHBhdGhzO1xuICB9XG5cbiAgcHJvdGVjdGVkIHZhbGlkYXRlUGF0aChwYXRoOiBzdHJpbmcpIHtcbiAgICBpZiAoIXBhdGguc3RhcnRzV2l0aChcIi9cIikpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcInBhdGggbXVzdCBzdGFydCB3aXRoIGEgJy8nXCIpO1xuICAgIH1cbiAgfVxuXG4gIGdyYW50RGVzY3JpYmUoZ3JhbnRlZTogSUdyYW50YWJsZSk6IEdyYW50IHtcbiAgICByZXR1cm4gR3JhbnQuYWRkVG9QcmluY2lwYWwoe1xuICAgICAgZ3JhbnRlZSxcbiAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgXCJzc206RGVzY3JpYmVQYXJhbWV0ZXJzXCJcbiAgICAgIF0sXG4gICAgICByZXNvdXJjZUFybnM6IFtcIipcIl1cbiAgICB9KTtcbiAgfVxuXG4gIGdyYW50UmVhZChncmFudGVlOiBJR3JhbnRhYmxlKTogR3JhbnQge1xuICAgIHJldHVybiBHcmFudC5hZGRUb1ByaW5jaXBhbCh7XG4gICAgICBncmFudGVlLFxuICAgICAgYWN0aW9uczogW1xuICAgICAgICBcInNzbTpHZXRQYXJhbWV0ZXJcIixcbiAgICAgICAgXCJzc206R2V0UGFyYW1ldGVyc1wiLFxuICAgICAgICBcInNzbTpHZXRQYXJhbWV0ZXJzQnlQYXRoXCIsXG4gICAgICAgIFwic3NtOkdldFBhcmFtZXRlckhpc3RvcnlcIixcbiAgICAgIF0sXG4gICAgICByZXNvdXJjZUFybnM6IHRoaXMucGF0aHMubWFwKHBhdGggPT4gYGFybjphd3M6c3NtOiR7dGhpcy5zdGFjay5yZWdpb259OiR7dGhpcy5zdGFjay5hY2NvdW50fTpwYXJhbWV0ZXIke3BhdGh9YClcbiAgICB9KTtcbiAgfVxuXG4gIGdyYW50V3JpdGUoZ3JhbnRlZTogSUdyYW50YWJsZSk6IEdyYW50IHtcbiAgICByZXR1cm4gR3JhbnQuYWRkVG9QcmluY2lwYWwoe1xuICAgICAgZ3JhbnRlZSxcbiAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgXCJzc206UHV0UGFyYW1ldGVyXCIsXG4gICAgICAgIFwic3NtOkRlbGV0ZVBhcmFtZXRlclwiLFxuICAgICAgICBcInNzbTpEZWxldGVQYXJhbWV0ZXJzXCJcbiAgICAgIF0sXG4gICAgICByZXNvdXJjZUFybnM6IHRoaXMucGF0aHMubWFwKHBhdGggPT4gYGFybjphd3M6c3NtOiR7dGhpcy5zdGFjay5yZWdpb259OiR7dGhpcy5zdGFjay5hY2NvdW50fTpwYXJhbWV0ZXIke3BhdGh9YClcbiAgICB9KTtcbiAgfVxuXG4gIGdyYW50UmVhZFdyaXRlKGdyYW50ZWU6IElHcmFudGFibGUpOiBHcmFudCB7XG4gICAgcmV0dXJuIEdyYW50LmFkZFRvUHJpbmNpcGFsKHtcbiAgICAgIGdyYW50ZWUsXG4gICAgICBhY3Rpb25zOiBbXG4gICAgICAgIFwic3NtOkdldFBhcmFtZXRlclwiLFxuICAgICAgICBcInNzbTpHZXRQYXJhbWV0ZXJzXCIsXG4gICAgICAgIFwic3NtOkdldFBhcmFtZXRlcnNCeVBhdGhcIixcbiAgICAgICAgXCJzc206R2V0UGFyYW1ldGVySGlzdG9yeVwiLFxuICAgICAgICBcInNzbTpQdXRQYXJhbWV0ZXJcIixcbiAgICAgICAgXCJzc206RGVsZXRlUGFyYW1ldGVyXCIsXG4gICAgICAgIFwic3NtOkRlbGV0ZVBhcmFtZXRlcnNcIlxuICAgICAgXSxcbiAgICAgIHJlc291cmNlQXJuczogdGhpcy5wYXRocy5tYXAocGF0aCA9PiBgYXJuOmF3czpzc206JHt0aGlzLnN0YWNrLnJlZ2lvbn06JHt0aGlzLnN0YWNrLmFjY291bnR9OnBhcmFtZXRlciR7cGF0aH1gKVxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "truemark-cdk-lib",
|
|
3
|
-
"version": "0.0.38
|
|
3
|
+
"version": "0.0.38",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"types": "index.d.ts",
|
|
6
6
|
"scripts": {
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
"exports": {
|
|
25
25
|
".": "./index.js",
|
|
26
26
|
"./package.json": "./package.json",
|
|
27
|
-
"./aws-apigatewayv2": "./aws-apigatewayv2.js",
|
|
28
|
-
"./aws-centergauge": "./aws-centergauge.js",
|
|
27
|
+
"./aws-apigatewayv2": "./aws-apigatewayv2/index.js",
|
|
28
|
+
"./aws-centergauge": "./aws-centergauge/index.js",
|
|
29
29
|
"./aws-cloudwatch": "./aws-cloudwatch/index.js",
|
|
30
30
|
"./aws-codepipeline": "./aws-codepipeline/index.js",
|
|
31
31
|
"./aws-dynamodb": "./aws-dynamodb/index.js",
|
|
@@ -52,5 +52,5 @@
|
|
|
52
52
|
"@aws-cdk/aws-synthetics-alpha": "^2.18.0-alpha.0",
|
|
53
53
|
"cdk-monitoring-constructs": "^1.10.0"
|
|
54
54
|
},
|
|
55
|
-
"gitHead": "
|
|
55
|
+
"gitHead": "3eb809d2ae43489b07e80361e7e1cac54008daaf"
|
|
56
56
|
}
|