@orcabus/platform-cdk-constructs 0.0.29 → 0.0.31
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/.jsii +54 -8
- package/api-gateway/api-gateway.js +1 -1
- package/deployment-stack-pipeline/artifact-bucket.js +1 -1
- package/deployment-stack-pipeline/pipeline.js +1 -1
- package/dynamodb/index.js +2 -2
- package/ecs/index.js +1 -1
- package/lambda/index.js +1 -1
- package/monitored-queue/index.d.ts +10 -1
- package/monitored-queue/index.js +24 -2
- package/named-lambda-role/index.js +1 -1
- package/package.json +1 -1
- package/provider-function/index.js +1 -1
- package/shared-config/networking.js +2 -2
- package/shared-config/slack.js +1 -1
package/.jsii
CHANGED
|
@@ -6049,7 +6049,7 @@
|
|
|
6049
6049
|
},
|
|
6050
6050
|
"locationInModule": {
|
|
6051
6051
|
"filename": "monitored-queue/index.ts",
|
|
6052
|
-
"line":
|
|
6052
|
+
"line": 63
|
|
6053
6053
|
},
|
|
6054
6054
|
"parameters": [
|
|
6055
6055
|
{
|
|
@@ -6075,8 +6075,36 @@
|
|
|
6075
6075
|
"kind": "class",
|
|
6076
6076
|
"locationInModule": {
|
|
6077
6077
|
"filename": "monitored-queue/index.ts",
|
|
6078
|
-
"line":
|
|
6078
|
+
"line": 58
|
|
6079
6079
|
},
|
|
6080
|
+
"methods": [
|
|
6081
|
+
{
|
|
6082
|
+
"docs": {
|
|
6083
|
+
"stability": "experimental",
|
|
6084
|
+
"summary": "Create an alarm based on the oldest message in the queue."
|
|
6085
|
+
},
|
|
6086
|
+
"locationInModule": {
|
|
6087
|
+
"filename": "monitored-queue/index.ts",
|
|
6088
|
+
"line": 100
|
|
6089
|
+
},
|
|
6090
|
+
"name": "alarmOldestMessage",
|
|
6091
|
+
"parameters": [
|
|
6092
|
+
{
|
|
6093
|
+
"name": "queue",
|
|
6094
|
+
"type": {
|
|
6095
|
+
"fqn": "aws-cdk-lib.aws_sqs.IQueue"
|
|
6096
|
+
}
|
|
6097
|
+
},
|
|
6098
|
+
{
|
|
6099
|
+
"name": "queueProps",
|
|
6100
|
+
"optional": true,
|
|
6101
|
+
"type": {
|
|
6102
|
+
"fqn": "@orcabus/platform-cdk-constructs.monitoredQueue.QueueProps"
|
|
6103
|
+
}
|
|
6104
|
+
}
|
|
6105
|
+
]
|
|
6106
|
+
}
|
|
6107
|
+
],
|
|
6080
6108
|
"name": "MonitoredQueue",
|
|
6081
6109
|
"namespace": "monitoredQueue",
|
|
6082
6110
|
"properties": [
|
|
@@ -6087,7 +6115,7 @@
|
|
|
6087
6115
|
"immutable": true,
|
|
6088
6116
|
"locationInModule": {
|
|
6089
6117
|
"filename": "monitored-queue/index.ts",
|
|
6090
|
-
"line":
|
|
6118
|
+
"line": 61
|
|
6091
6119
|
},
|
|
6092
6120
|
"name": "alarm",
|
|
6093
6121
|
"type": {
|
|
@@ -6101,7 +6129,7 @@
|
|
|
6101
6129
|
"immutable": true,
|
|
6102
6130
|
"locationInModule": {
|
|
6103
6131
|
"filename": "monitored-queue/index.ts",
|
|
6104
|
-
"line":
|
|
6132
|
+
"line": 60
|
|
6105
6133
|
},
|
|
6106
6134
|
"name": "deadLetterQueue",
|
|
6107
6135
|
"type": {
|
|
@@ -6115,7 +6143,7 @@
|
|
|
6115
6143
|
"immutable": true,
|
|
6116
6144
|
"locationInModule": {
|
|
6117
6145
|
"filename": "monitored-queue/index.ts",
|
|
6118
|
-
"line":
|
|
6146
|
+
"line": 59
|
|
6119
6147
|
},
|
|
6120
6148
|
"name": "queue",
|
|
6121
6149
|
"type": {
|
|
@@ -6130,7 +6158,7 @@
|
|
|
6130
6158
|
"immutable": true,
|
|
6131
6159
|
"locationInModule": {
|
|
6132
6160
|
"filename": "monitored-queue/index.ts",
|
|
6133
|
-
"line":
|
|
6161
|
+
"line": 120
|
|
6134
6162
|
},
|
|
6135
6163
|
"name": "queueArn",
|
|
6136
6164
|
"type": {
|
|
@@ -6244,6 +6272,24 @@
|
|
|
6244
6272
|
"name": "QueueProps",
|
|
6245
6273
|
"namespace": "monitoredQueue",
|
|
6246
6274
|
"properties": [
|
|
6275
|
+
{
|
|
6276
|
+
"abstract": true,
|
|
6277
|
+
"docs": {
|
|
6278
|
+
"remarks": "Defaults to no alarm based on the oldest message.",
|
|
6279
|
+
"stability": "experimental",
|
|
6280
|
+
"summary": "Set an alarm when the age of the oldest message in the queue exceeds the number of seconds specified."
|
|
6281
|
+
},
|
|
6282
|
+
"immutable": true,
|
|
6283
|
+
"locationInModule": {
|
|
6284
|
+
"filename": "monitored-queue/index.ts",
|
|
6285
|
+
"line": 51
|
|
6286
|
+
},
|
|
6287
|
+
"name": "alarmOldestMessageSeconds",
|
|
6288
|
+
"optional": true,
|
|
6289
|
+
"type": {
|
|
6290
|
+
"primitive": "number"
|
|
6291
|
+
}
|
|
6292
|
+
},
|
|
6247
6293
|
{
|
|
6248
6294
|
"abstract": true,
|
|
6249
6295
|
"docs": {
|
|
@@ -6740,6 +6786,6 @@
|
|
|
6740
6786
|
"symbolId": "shared-config/slack:SlackAlerts"
|
|
6741
6787
|
}
|
|
6742
6788
|
},
|
|
6743
|
-
"version": "0.0.
|
|
6744
|
-
"fingerprint": "
|
|
6789
|
+
"version": "0.0.31",
|
|
6790
|
+
"fingerprint": "aCIYm0L3iEOYjQiLW8vdliK7wu0CTi82ZuIeXc8j9P4="
|
|
6745
6791
|
}
|
|
@@ -15,7 +15,7 @@ const aws_lambda_1 = require("aws-cdk-lib/aws-lambda");
|
|
|
15
15
|
const aws_route53_targets_1 = require("aws-cdk-lib/aws-route53-targets");
|
|
16
16
|
const config_1 = require("./config");
|
|
17
17
|
class OrcaBusApiGateway extends constructs_1.Construct {
|
|
18
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.apigateway.OrcaBusApiGateway", version: "0.0.
|
|
18
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.apigateway.OrcaBusApiGateway", version: "0.0.31" };
|
|
19
19
|
/**
|
|
20
20
|
* The AWS region where the API Gateway is deployed.
|
|
21
21
|
*/
|
|
@@ -13,7 +13,7 @@ exports.CROSS_DEPLOYMENT_ARTIFACT_BUCKET_NAME = "orcabus-cross-deployment-codepi
|
|
|
13
13
|
exports.CROSS_DEPLOYMENT_ARTIFACT_KMS_ALIAS = "orcabus-cross-deployment-codepipeline-artifact";
|
|
14
14
|
exports.CROSS_DEPLOYMENT_ARTIFACT_KMS_ARN_SSM_PARAMETER_NAME = "/orcabus/deployment-stack-pipeline/artifact-bucket/kms-key-arn";
|
|
15
15
|
class CrossDeploymentArtifactBucket extends constructs_1.Construct {
|
|
16
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.deploymentPipeline.CrossDeploymentArtifactBucket", version: "0.0.
|
|
16
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.deploymentPipeline.CrossDeploymentArtifactBucket", version: "0.0.31" };
|
|
17
17
|
/**
|
|
18
18
|
* The S3 bucket used to store artifacts for cross-deployment pipelines.
|
|
19
19
|
*/
|
|
@@ -31,7 +31,7 @@ exports.DEFAULT_SYNTH_STEP_PARTIAL_BUILD_SPEC = {
|
|
|
31
31
|
* before using this construct.
|
|
32
32
|
*/
|
|
33
33
|
class DeploymentStackPipeline extends constructs_1.Construct {
|
|
34
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.deploymentPipeline.DeploymentStackPipeline", version: "0.0.
|
|
34
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.deploymentPipeline.DeploymentStackPipeline", version: "0.0.31" };
|
|
35
35
|
/**
|
|
36
36
|
* The code pipeline construct that is created.
|
|
37
37
|
*/
|
package/dynamodb/index.js
CHANGED
|
@@ -40,7 +40,7 @@ const dynamodb = __importStar(require("aws-cdk-lib/aws-dynamodb"));
|
|
|
40
40
|
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
41
41
|
const config_1 = require("./config");
|
|
42
42
|
class DynamoDbPartitionedConstruct extends constructs_1.Construct {
|
|
43
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.dynamodb.DynamoDbPartitionedConstruct", version: "0.0.
|
|
43
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.dynamodb.DynamoDbPartitionedConstruct", version: "0.0.31" };
|
|
44
44
|
table;
|
|
45
45
|
constructor(scope, id, props) {
|
|
46
46
|
super(scope, id);
|
|
@@ -75,7 +75,7 @@ class DynamoDbPartitionedConstruct extends constructs_1.Construct {
|
|
|
75
75
|
}
|
|
76
76
|
exports.DynamoDbPartitionedConstruct = DynamoDbPartitionedConstruct;
|
|
77
77
|
class DynamoDbNonPartitionedConstruct extends constructs_1.Construct {
|
|
78
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.dynamodb.DynamoDbNonPartitionedConstruct", version: "0.0.
|
|
78
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.dynamodb.DynamoDbNonPartitionedConstruct", version: "0.0.31" };
|
|
79
79
|
table;
|
|
80
80
|
constructor(scope, id, props) {
|
|
81
81
|
super(scope, id);
|
package/ecs/index.js
CHANGED
|
@@ -55,7 +55,7 @@ exports.LAMBDA_ARCHITECTURE_MAP = {
|
|
|
55
55
|
['ARM64']: lambda.Architecture.ARM_64
|
|
56
56
|
};
|
|
57
57
|
class EcsFargateTaskConstruct extends constructs_1.Construct {
|
|
58
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.ecs.EcsFargateTaskConstruct", version: "0.0.
|
|
58
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.ecs.EcsFargateTaskConstruct", version: "0.0.31" };
|
|
59
59
|
cluster;
|
|
60
60
|
taskDefinition;
|
|
61
61
|
taskExecutionRole;
|
package/lambda/index.js
CHANGED
|
@@ -56,7 +56,7 @@ function getPythonUvDockerImage() {
|
|
|
56
56
|
return aws_cdk_lib_1.DockerImage.fromBuild(path_1.default.join(__dirname, 'build_python'));
|
|
57
57
|
}
|
|
58
58
|
class PythonUvFunction extends aws_lambda_python_alpha_1.PythonFunction {
|
|
59
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.lambda.PythonUvFunction", version: "0.0.
|
|
59
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.lambda.PythonUvFunction", version: "0.0.31" };
|
|
60
60
|
// Class constructs, to be used for caching the layers
|
|
61
61
|
// This means that if there are multiple lambdas throughout the stack
|
|
62
62
|
// They will all use the same layer
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Construct } from "constructs";
|
|
2
|
-
import { Queue } from "aws-cdk-lib/aws-sqs";
|
|
2
|
+
import { IQueue, Queue } from "aws-cdk-lib/aws-sqs";
|
|
3
3
|
import { Alarm } from "aws-cdk-lib/aws-cloudwatch";
|
|
4
4
|
import { Duration, RemovalPolicy } from "aws-cdk-lib";
|
|
5
5
|
/**
|
|
@@ -40,6 +40,11 @@ export interface QueueProps {
|
|
|
40
40
|
* The removal policy of the queue.
|
|
41
41
|
*/
|
|
42
42
|
readonly removalPolicy?: RemovalPolicy;
|
|
43
|
+
/**
|
|
44
|
+
* Set an alarm when the age of the oldest message in the queue exceeds the number of seconds specified.
|
|
45
|
+
* Defaults to no alarm based on the oldest message.
|
|
46
|
+
*/
|
|
47
|
+
readonly alarmOldestMessageSeconds?: number;
|
|
43
48
|
}
|
|
44
49
|
/**
|
|
45
50
|
* A construct that defines an SQS queue, along with a DLQ and CloudWatch alarms that can notify an
|
|
@@ -50,6 +55,10 @@ export declare class MonitoredQueue extends Construct {
|
|
|
50
55
|
readonly deadLetterQueue: Queue;
|
|
51
56
|
readonly alarm: Alarm;
|
|
52
57
|
constructor(scope: Construct, id: string, props: MonitoredQueueProps);
|
|
58
|
+
/**
|
|
59
|
+
* Create an alarm based on the oldest message in the queue.
|
|
60
|
+
*/
|
|
61
|
+
alarmOldestMessage(queue: IQueue, queueProps?: QueueProps): void;
|
|
53
62
|
/**
|
|
54
63
|
* Get the SQS queue ARN.
|
|
55
64
|
*/
|
package/monitored-queue/index.js
CHANGED
|
@@ -5,6 +5,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
|
5
5
|
const constructs_1 = require("constructs");
|
|
6
6
|
const aws_sqs_1 = require("aws-cdk-lib/aws-sqs");
|
|
7
7
|
const aws_cloudwatch_1 = require("aws-cdk-lib/aws-cloudwatch");
|
|
8
|
+
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
8
9
|
const aws_sns_1 = require("aws-cdk-lib/aws-sns");
|
|
9
10
|
const aws_cloudwatch_actions_1 = require("aws-cdk-lib/aws-cloudwatch-actions");
|
|
10
11
|
/**
|
|
@@ -12,7 +13,7 @@ const aws_cloudwatch_actions_1 = require("aws-cdk-lib/aws-cloudwatch-actions");
|
|
|
12
13
|
* SNS topic.
|
|
13
14
|
*/
|
|
14
15
|
class MonitoredQueue extends constructs_1.Construct {
|
|
15
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.monitoredQueue.MonitoredQueue", version: "0.0.
|
|
16
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.monitoredQueue.MonitoredQueue", version: "0.0.31" };
|
|
16
17
|
queue;
|
|
17
18
|
deadLetterQueue;
|
|
18
19
|
alarm;
|
|
@@ -22,6 +23,7 @@ class MonitoredQueue extends constructs_1.Construct {
|
|
|
22
23
|
enforceSSL: true,
|
|
23
24
|
...props.dlqProps,
|
|
24
25
|
});
|
|
26
|
+
this.alarmOldestMessage(this.deadLetterQueue, props.dlqProps);
|
|
25
27
|
this.queue = new aws_sqs_1.Queue(this, "Queue", {
|
|
26
28
|
enforceSSL: true,
|
|
27
29
|
deadLetterQueue: {
|
|
@@ -30,6 +32,7 @@ class MonitoredQueue extends constructs_1.Construct {
|
|
|
30
32
|
},
|
|
31
33
|
...props.queueProps,
|
|
32
34
|
});
|
|
35
|
+
this.alarmOldestMessage(this.queue, props.queueProps);
|
|
33
36
|
this.alarm = new aws_cloudwatch_1.Alarm(this, "Alarm", {
|
|
34
37
|
metric: this.deadLetterQueue.metricApproximateNumberOfMessagesVisible(),
|
|
35
38
|
comparisonOperator: aws_cloudwatch_1.ComparisonOperator.GREATER_THAN_THRESHOLD,
|
|
@@ -43,6 +46,25 @@ class MonitoredQueue extends constructs_1.Construct {
|
|
|
43
46
|
this.alarm.addAlarmAction(new aws_cloudwatch_actions_1.SnsAction(topic));
|
|
44
47
|
}
|
|
45
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* Create an alarm based on the oldest message in the queue.
|
|
51
|
+
*/
|
|
52
|
+
alarmOldestMessage(queue, queueProps) {
|
|
53
|
+
const seconds = queueProps?.alarmOldestMessageSeconds;
|
|
54
|
+
if (seconds !== undefined) {
|
|
55
|
+
const uniqueId = aws_cdk_lib_1.Names.uniqueResourceName(this, {
|
|
56
|
+
maxLength: 6,
|
|
57
|
+
});
|
|
58
|
+
new aws_cloudwatch_1.Alarm(this, `AlarmOldestMessage-${queueProps?.queueName}-${uniqueId}`, {
|
|
59
|
+
metric: queue.metricApproximateAgeOfOldestMessage(),
|
|
60
|
+
comparisonOperator: aws_cloudwatch_1.ComparisonOperator.GREATER_THAN_THRESHOLD,
|
|
61
|
+
threshold: seconds,
|
|
62
|
+
evaluationPeriods: 1,
|
|
63
|
+
alarmName: `${queue.queueName}-oldest-message-alarm`,
|
|
64
|
+
alarmDescription: `The age of the oldest message has exceeded ${seconds} seconds.`,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
}
|
|
46
68
|
/**
|
|
47
69
|
* Get the SQS queue ARN.
|
|
48
70
|
*/
|
|
@@ -51,4 +73,4 @@ class MonitoredQueue extends constructs_1.Construct {
|
|
|
51
73
|
}
|
|
52
74
|
}
|
|
53
75
|
exports.MonitoredQueue = MonitoredQueue;
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsMkNBQXVDO0FBQ3ZDLGlEQUFrRDtBQUNsRCwrREFBdUU7QUFDdkUsNkNBQTJEO0FBQzNELGlEQUE0QztBQUM1QywrRUFBK0Q7QUFnRC9EOzs7R0FHRztBQUNILE1BQWEsY0FBZSxTQUFRLHNCQUFTOztJQUNsQyxLQUFLLENBQVE7SUFDYixlQUFlLENBQVE7SUFDdkIsS0FBSyxDQUFRO0lBRXRCLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBMEI7UUFDbEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksZUFBSyxDQUFDLElBQUksRUFBRSxpQkFBaUIsRUFBRTtZQUN4RCxVQUFVLEVBQUUsSUFBSTtZQUNoQixHQUFHLEtBQUssQ0FBQyxRQUFRO1NBQ2xCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU5RCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksZUFBSyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUU7WUFDcEMsVUFBVSxFQUFFLElBQUk7WUFDaEIsZUFBZSxFQUFFO2dCQUNmLGVBQWUsRUFBRSxLQUFLLENBQUMsZUFBZSxJQUFJLENBQUM7Z0JBQzNDLEtBQUssRUFBRSxJQUFJLENBQUMsZUFBZTthQUM1QjtZQUNELEdBQUcsS0FBSyxDQUFDLFVBQVU7U0FDcEIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXRELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxzQkFBSyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUU7WUFDcEMsTUFBTSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsd0NBQXdDLEVBQUU7WUFDdkUsa0JBQWtCLEVBQUUsbUNBQWtCLENBQUMsc0JBQXNCO1lBQzdELFNBQVMsRUFBRSxDQUFDO1lBQ1osaUJBQWlCLEVBQUUsQ0FBQztZQUNwQixTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsUUFBUTtZQUMxQyxnQkFBZ0IsRUFBRSxzREFBc0Q7U0FDekUsQ0FBQyxDQUFDO1FBRUgsSUFBSSxLQUFLLENBQUMsV0FBVyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3BDLE1BQU0sS0FBSyxHQUFHLGVBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDbkUsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsSUFBSSxrQ0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbEQsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILGtCQUFrQixDQUFDLEtBQWEsRUFBRSxVQUF1QjtRQUN2RCxNQUFNLE9BQU8sR0FBRyxVQUFVLEVBQUUseUJBQXlCLENBQUM7UUFDdEQsSUFBSSxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDMUIsTUFBTSxRQUFRLEdBQUcsbUJBQUssQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUU7Z0JBQzlDLFNBQVMsRUFBRSxDQUFDO2FBQ2IsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxzQkFBSyxDQUFDLElBQUksRUFBRSxzQkFBc0IsVUFBVSxFQUFFLFNBQVMsSUFBSSxRQUFRLEVBQUUsRUFBRTtnQkFDekUsTUFBTSxFQUFFLEtBQUssQ0FBQyxtQ0FBbUMsRUFBRTtnQkFDbkQsa0JBQWtCLEVBQUUsbUNBQWtCLENBQUMsc0JBQXNCO2dCQUM3RCxTQUFTLEVBQUUsT0FBTztnQkFDbEIsaUJBQWlCLEVBQUUsQ0FBQztnQkFDcEIsU0FBUyxFQUFFLEdBQUcsS0FBSyxDQUFDLFNBQVMsdUJBQXVCO2dCQUNwRCxnQkFBZ0IsRUFBRSw4Q0FBOEMsT0FBTyxXQUFXO2FBQ25GLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDO0lBQzdCLENBQUM7O0FBaEVILHdDQWlFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge0lRdWV1ZSwgUXVldWV9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtc3FzXCI7XG5pbXBvcnQgeyBBbGFybSwgQ29tcGFyaXNvbk9wZXJhdG9yIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jbG91ZHdhdGNoXCI7XG5pbXBvcnQge0R1cmF0aW9uLCBOYW1lcywgUmVtb3ZhbFBvbGljeX0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBUb3BpYyB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtc25zXCI7XG5pbXBvcnQgeyBTbnNBY3Rpb24gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2gtYWN0aW9uc1wiO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIHRoZSBtb25pdG9yZWQgcXVldWUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTW9uaXRvcmVkUXVldWVQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgcHJvcHMgZm9yIHRoZSBtYWluIFNRUyBxdWV1ZS5cbiAgICovXG4gIHJlYWRvbmx5IHF1ZXVlUHJvcHM/OiBRdWV1ZVByb3BzO1xuICAvKipcbiAgICogVGhlIHByb3BzIGZvciB0aGUgZGVhZC1sZXR0ZXIgU1FTIHF1ZXVlIHdoZW4gYSBtZXNzYWdlIGZhaWxzLlxuICAgKi9cbiAgcmVhZG9ubHkgZGxxUHJvcHM/OiBRdWV1ZVByb3BzO1xuICAvKipcbiAgICogVGhlIG1heGltdW0gbnVtYmVyIG9mIHRpbWVzIGEgbWVzc2FnZSBjYW4gYmUgdW5zdWNjZXNzZnVsbHkgcmVjZWl2ZWQgYmVmb3JlXG4gICAqIHB1c2hpbmcgaXQgdG8gdGhlIERMUS4gRGVmYXVsdHMgdG8gMy5cbiAgICovXG4gIHJlYWRvbmx5IG1heFJlY2VpdmVDb3VudD86IG51bWJlcjtcbiAgLyoqXG4gICAqIFNlbmQgdGhlIGFsYXJtIG5vdGlmaWNhdGlvbiB0byB0aGUgU05TIHRvcGljIHdpdGggdGhlIEFSTi5cbiAgICovXG4gIHJlYWRvbmx5IHNuc1RvcGljQXJuPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGFuIFNRUyBxdWV1ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBRdWV1ZVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBxdWV1ZSB0byBjb25zdHJ1Y3QuIERlZmF1bHRzIHRvIHRoZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBuYW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgcXVldWVOYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogSG93IGxvbmcgbWVzc2FnZXMgc3RheSBpbiB0aGUgcXVldWUuXG4gICAqL1xuICByZWFkb25seSByZXRlbnRpb25QZXJpb2Q/OiBEdXJhdGlvbjtcbiAgLyoqXG4gICAqIFRoZSByZW1vdmFsIHBvbGljeSBvZiB0aGUgcXVldWUuXG4gICAqL1xuICByZWFkb25seSByZW1vdmFsUG9saWN5PzogUmVtb3ZhbFBvbGljeTtcbiAgLyoqXG4gICAqIFNldCBhbiBhbGFybSB3aGVuIHRoZSBhZ2Ugb2YgdGhlIG9sZGVzdCBtZXNzYWdlIGluIHRoZSBxdWV1ZSBleGNlZWRzIHRoZSBudW1iZXIgb2Ygc2Vjb25kcyBzcGVjaWZpZWQuXG4gICAqIERlZmF1bHRzIHRvIG5vIGFsYXJtIGJhc2VkIG9uIHRoZSBvbGRlc3QgbWVzc2FnZS5cbiAgICovXG4gIHJlYWRvbmx5IGFsYXJtT2xkZXN0TWVzc2FnZVNlY29uZHM/OiBudW1iZXI7XG59XG5cbi8qKlxuICogQSBjb25zdHJ1Y3QgdGhhdCBkZWZpbmVzIGFuIFNRUyBxdWV1ZSwgYWxvbmcgd2l0aCBhIERMUSBhbmQgQ2xvdWRXYXRjaCBhbGFybXMgdGhhdCBjYW4gbm90aWZ5IGFuXG4gKiBTTlMgdG9waWMuXG4gKi9cbmV4cG9ydCBjbGFzcyBNb25pdG9yZWRRdWV1ZSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIHJlYWRvbmx5IHF1ZXVlOiBRdWV1ZTtcbiAgcmVhZG9ubHkgZGVhZExldHRlclF1ZXVlOiBRdWV1ZTtcbiAgcmVhZG9ubHkgYWxhcm06IEFsYXJtO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBNb25pdG9yZWRRdWV1ZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMuZGVhZExldHRlclF1ZXVlID0gbmV3IFF1ZXVlKHRoaXMsIFwiRGVhZExldHRlclF1ZXVlXCIsIHtcbiAgICAgIGVuZm9yY2VTU0w6IHRydWUsXG4gICAgICAuLi5wcm9wcy5kbHFQcm9wcyxcbiAgICB9KTtcbiAgICB0aGlzLmFsYXJtT2xkZXN0TWVzc2FnZSh0aGlzLmRlYWRMZXR0ZXJRdWV1ZSwgcHJvcHMuZGxxUHJvcHMpO1xuXG4gICAgdGhpcy5xdWV1ZSA9IG5ldyBRdWV1ZSh0aGlzLCBcIlF1ZXVlXCIsIHtcbiAgICAgIGVuZm9yY2VTU0w6IHRydWUsXG4gICAgICBkZWFkTGV0dGVyUXVldWU6IHtcbiAgICAgICAgbWF4UmVjZWl2ZUNvdW50OiBwcm9wcy5tYXhSZWNlaXZlQ291bnQgPz8gMyxcbiAgICAgICAgcXVldWU6IHRoaXMuZGVhZExldHRlclF1ZXVlLFxuICAgICAgfSxcbiAgICAgIC4uLnByb3BzLnF1ZXVlUHJvcHMsXG4gICAgfSk7XG4gICAgdGhpcy5hbGFybU9sZGVzdE1lc3NhZ2UodGhpcy5xdWV1ZSwgcHJvcHMucXVldWVQcm9wcyk7XG5cbiAgICB0aGlzLmFsYXJtID0gbmV3IEFsYXJtKHRoaXMsIFwiQWxhcm1cIiwge1xuICAgICAgbWV0cmljOiB0aGlzLmRlYWRMZXR0ZXJRdWV1ZS5tZXRyaWNBcHByb3hpbWF0ZU51bWJlck9mTWVzc2FnZXNWaXNpYmxlKCksXG4gICAgICBjb21wYXJpc29uT3BlcmF0b3I6IENvbXBhcmlzb25PcGVyYXRvci5HUkVBVEVSX1RIQU5fVEhSRVNIT0xELFxuICAgICAgdGhyZXNob2xkOiAwLFxuICAgICAgZXZhbHVhdGlvblBlcmlvZHM6IDEsXG4gICAgICBhbGFybU5hbWU6IGAke3RoaXMucXVldWUucXVldWVOYW1lfS1hbGFybWAsXG4gICAgICBhbGFybURlc2NyaXB0aW9uOiBcIkFuIGV2ZW50IGhhcyBiZWVuIHJlY2VpdmVkIGluIHRoZSBkZWFkIGxldHRlciBxdWV1ZS5cIixcbiAgICB9KTtcblxuICAgIGlmIChwcm9wcy5zbnNUb3BpY0FybiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zdCB0b3BpYyA9IFRvcGljLmZyb21Ub3BpY0Fybih0aGlzLCBcIlRvcGljXCIsIHByb3BzLnNuc1RvcGljQXJuKTtcbiAgICAgIHRoaXMuYWxhcm0uYWRkQWxhcm1BY3Rpb24obmV3IFNuc0FjdGlvbih0b3BpYykpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYW4gYWxhcm0gYmFzZWQgb24gdGhlIG9sZGVzdCBtZXNzYWdlIGluIHRoZSBxdWV1ZS5cbiAgICovXG4gIGFsYXJtT2xkZXN0TWVzc2FnZShxdWV1ZTogSVF1ZXVlLCBxdWV1ZVByb3BzPzogUXVldWVQcm9wcykge1xuICAgIGNvbnN0IHNlY29uZHMgPSBxdWV1ZVByb3BzPy5hbGFybU9sZGVzdE1lc3NhZ2VTZWNvbmRzO1xuICAgIGlmIChzZWNvbmRzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IHVuaXF1ZUlkID0gTmFtZXMudW5pcXVlUmVzb3VyY2VOYW1lKHRoaXMsIHtcbiAgICAgICAgbWF4TGVuZ3RoOiA2LFxuICAgICAgfSk7XG4gICAgICBuZXcgQWxhcm0odGhpcywgYEFsYXJtT2xkZXN0TWVzc2FnZS0ke3F1ZXVlUHJvcHM/LnF1ZXVlTmFtZX0tJHt1bmlxdWVJZH1gLCB7XG4gICAgICAgIG1ldHJpYzogcXVldWUubWV0cmljQXBwcm94aW1hdGVBZ2VPZk9sZGVzdE1lc3NhZ2UoKSxcbiAgICAgICAgY29tcGFyaXNvbk9wZXJhdG9yOiBDb21wYXJpc29uT3BlcmF0b3IuR1JFQVRFUl9USEFOX1RIUkVTSE9MRCxcbiAgICAgICAgdGhyZXNob2xkOiBzZWNvbmRzLFxuICAgICAgICBldmFsdWF0aW9uUGVyaW9kczogMSxcbiAgICAgICAgYWxhcm1OYW1lOiBgJHtxdWV1ZS5xdWV1ZU5hbWV9LW9sZGVzdC1tZXNzYWdlLWFsYXJtYCxcbiAgICAgICAgYWxhcm1EZXNjcmlwdGlvbjogYFRoZSBhZ2Ugb2YgdGhlIG9sZGVzdCBtZXNzYWdlIGhhcyBleGNlZWRlZCAke3NlY29uZHN9IHNlY29uZHMuYCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIFNRUyBxdWV1ZSBBUk4uXG4gICAqL1xuICBnZXQgcXVldWVBcm4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5xdWV1ZS5xdWV1ZUFybjtcbiAgfVxufVxuIl19
|
|
@@ -7,7 +7,7 @@ const aws_iam_1 = require("aws-cdk-lib/aws-iam");
|
|
|
7
7
|
* A construct which represents a named role that a Lambda function can assume.
|
|
8
8
|
*/
|
|
9
9
|
class NamedLambdaRole extends aws_iam_1.Role {
|
|
10
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.namedLambdaRole.NamedLambdaRole", version: "0.0.
|
|
10
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.namedLambdaRole.NamedLambdaRole", version: "0.0.31" };
|
|
11
11
|
constructor(scope, id, props) {
|
|
12
12
|
super(scope, id, {
|
|
13
13
|
assumedBy: new aws_iam_1.ServicePrincipal("lambda.amazonaws.com"),
|
package/package.json
CHANGED
|
@@ -15,7 +15,7 @@ const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
|
15
15
|
* to the provider framework.
|
|
16
16
|
*/
|
|
17
17
|
class ProviderFunction extends constructs_1.Construct {
|
|
18
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.provider.ProviderFunction", version: "0.0.
|
|
18
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.provider.ProviderFunction", version: "0.0.31" };
|
|
19
19
|
_function;
|
|
20
20
|
_response;
|
|
21
21
|
constructor(scope, id, props) {
|
|
@@ -23,7 +23,7 @@ exports.VPC_LOOKUP_PROPS = {
|
|
|
23
23
|
* Helper for looking up the shared OrcaBus VPC.
|
|
24
24
|
*/
|
|
25
25
|
class OrcaBusVpc {
|
|
26
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.sharedConfig.networking.OrcaBusVpc", version: "0.0.
|
|
26
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.sharedConfig.networking.OrcaBusVpc", version: "0.0.31" };
|
|
27
27
|
/**
|
|
28
28
|
* The shared VPC that is used by OrcaBus.
|
|
29
29
|
* @param scope
|
|
@@ -42,7 +42,7 @@ exports.SHARED_SECURITY_GROUP_NAME = "OrcaBusSharedComputeSecurityGroup";
|
|
|
42
42
|
* Helper for looking up the shared compute security group by name.
|
|
43
43
|
*/
|
|
44
44
|
class OrcaBusSharedComputeSecurityGroup {
|
|
45
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.sharedConfig.networking.OrcaBusSharedComputeSecurityGroup", version: "0.0.
|
|
45
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.sharedConfig.networking.OrcaBusSharedComputeSecurityGroup", version: "0.0.31" };
|
|
46
46
|
/**
|
|
47
47
|
* The shared security group that is used by compute resources to access the database.
|
|
48
48
|
* @param scope
|
package/shared-config/slack.js
CHANGED
|
@@ -11,7 +11,7 @@ exports.SLACK_ALERTS_SNS_TOPIC = "AwsChatBotTopic-alerts";
|
|
|
11
11
|
* A helper class to construct the arn for the slack SNS topic.
|
|
12
12
|
*/
|
|
13
13
|
class SlackAlerts {
|
|
14
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.sharedConfig.slack.SlackAlerts", version: "0.0.
|
|
14
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.sharedConfig.slack.SlackAlerts", version: "0.0.31" };
|
|
15
15
|
/**
|
|
16
16
|
* Format the ARN for the slack alerts SNS topic for the current stack.
|
|
17
17
|
* @param stack
|