@orcabus/platform-cdk-constructs 0.0.26 → 0.0.27

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 CHANGED
@@ -6726,6 +6726,6 @@
6726
6726
  "symbolId": "shared-config/slack:SlackAlerts"
6727
6727
  }
6728
6728
  },
6729
- "version": "0.0.26",
6730
- "fingerprint": "lNHgls5I3v4NTyVaq8nTStK7Vpaa4BcEkkmq+lMwcN0="
6729
+ "version": "0.0.27",
6730
+ "fingerprint": "Di21O3y4Lqp+NLZ7WX3FQNNZrQiiNwGUMrjy+ekH7LY="
6731
6731
  }
@@ -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.26" };
18
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.apigateway.OrcaBusApiGateway", version: "0.0.27" };
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.26" };
16
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.deploymentPipeline.CrossDeploymentArtifactBucket", version: "0.0.27" };
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.26" };
34
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.deploymentPipeline.DeploymentStackPipeline", version: "0.0.27" };
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.26" };
43
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.dynamodb.DynamoDbPartitionedConstruct", version: "0.0.27" };
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.26" };
78
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.dynamodb.DynamoDbNonPartitionedConstruct", version: "0.0.27" };
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.26" };
58
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.ecs.EcsFargateTaskConstruct", version: "0.0.27" };
59
59
  cluster;
60
60
  taskDefinition;
61
61
  securityGroup;
package/lambda/config.js CHANGED
@@ -10,10 +10,10 @@ exports.MART_ENV_VARS = {
10
10
  athenaDatabaseName: 'mart'
11
11
  };
12
12
  exports.MART_S3_BUCKET = {
13
- BETA: `data-sharing-artifacts-${accounts_1.accountIdAlias.BETA}-${accounts_1.REGION}`,
14
- GAMMA: `data-sharing-artifacts-${accounts_1.accountIdAlias.GAMMA}-${accounts_1.REGION}`,
15
- PROD: `data-sharing-artifacts-${accounts_1.accountIdAlias.PROD}-${accounts_1.REGION}`
13
+ BETA: `data-sharing-artifacts-${accounts_1.ACCOUNT_ID_ALIAS.BETA}-${accounts_1.REGION}`,
14
+ GAMMA: `data-sharing-artifacts-${accounts_1.ACCOUNT_ID_ALIAS.GAMMA}-${accounts_1.REGION}`,
15
+ PROD: `data-sharing-artifacts-${accounts_1.ACCOUNT_ID_ALIAS.PROD}-${accounts_1.REGION}`
16
16
  };
17
17
  exports.MART_S3_PREFIX = 'athena-query-results/';
18
18
  exports.MART_LAMBDA_FUNCTION_NAME = 'orcavault';
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHdEQUE0RTtBQUUvRCxRQUFBLCtCQUErQixHQUFJLDJCQUEyQixDQUFBO0FBQzlELFFBQUEsOEJBQThCLEdBQUcseUJBQXlCLENBQUE7QUFHMUQsUUFBQSxhQUFhLEdBQUc7SUFDekIsbUJBQW1CLEVBQUUsV0FBVztJQUNoQyxvQkFBb0IsRUFBRSxXQUFXO0lBQ2pDLGtCQUFrQixFQUFFLE1BQU07Q0FDN0IsQ0FBQTtBQUVZLFFBQUEsY0FBYyxHQUE4QjtJQUNyRCxJQUFJLEVBQUUsMEJBQTBCLHlCQUFjLENBQUMsSUFBSSxJQUFJLGlCQUFNLEVBQUU7SUFDL0QsS0FBSyxFQUFFLDBCQUEwQix5QkFBYyxDQUFDLEtBQUssSUFBSSxpQkFBTSxFQUFFO0lBQ2pFLElBQUksRUFBRSwwQkFBMEIseUJBQWMsQ0FBQyxJQUFJLElBQUksaUJBQU0sRUFBRTtDQUNsRSxDQUFBO0FBQ1ksUUFBQSxjQUFjLEdBQUcsdUJBQXVCLENBQUE7QUFDeEMsUUFBQSx5QkFBeUIsR0FBRyxXQUFXLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2FjY291bnRJZEFsaWFzLCBSRUdJT04sIFN0YWdlTmFtZX0gZnJvbSBcIi4uL3NoYXJlZC1jb25maWcvYWNjb3VudHNcIjtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfT1JDQUJVU19UT0tFTl9TRUNSRVRfSUQgPSAgJ29yY2FidXMvdG9rZW4tc2VydmljZS1qd3QnXG5leHBvcnQgY29uc3QgREVGQVVMVF9IT1NUTkFNRV9TU01fUEFSQU1FVEVSID0gJy9ob3N0ZWRfem9uZS91bWNjci9uYW1lJ1xuXG5cbmV4cG9ydCBjb25zdCBNQVJUX0VOVl9WQVJTID0ge1xuICAgIGF0aGVuYVdvcmtncm91cE5hbWU6ICdvcmNhaG91c2UnLFxuICAgIGF0aGVuYURhdGFzb3VyY2VOYW1lOiAnb3JjYXZhdWx0JyxcbiAgICBhdGhlbmFEYXRhYmFzZU5hbWU6ICdtYXJ0J1xufVxuXG5leHBvcnQgY29uc3QgTUFSVF9TM19CVUNLRVQ6IFJlY29yZDxTdGFnZU5hbWUsIHN0cmluZz4gPSB7XG4gICAgQkVUQTogYGRhdGEtc2hhcmluZy1hcnRpZmFjdHMtJHthY2NvdW50SWRBbGlhcy5CRVRBfS0ke1JFR0lPTn1gLFxuICAgIEdBTU1BOiBgZGF0YS1zaGFyaW5nLWFydGlmYWN0cy0ke2FjY291bnRJZEFsaWFzLkdBTU1BfS0ke1JFR0lPTn1gLFxuICAgIFBST0Q6IGBkYXRhLXNoYXJpbmctYXJ0aWZhY3RzLSR7YWNjb3VudElkQWxpYXMuUFJPRH0tJHtSRUdJT059YFxufVxuZXhwb3J0IGNvbnN0IE1BUlRfUzNfUFJFRklYID0gJ2F0aGVuYS1xdWVyeS1yZXN1bHRzLydcbmV4cG9ydCBjb25zdCBNQVJUX0xBTUJEQV9GVU5DVElPTl9OQU1FID0gJ29yY2F2YXVsdCdcblxuIl19
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHdEQUE4RTtBQUVqRSxRQUFBLCtCQUErQixHQUFJLDJCQUEyQixDQUFBO0FBQzlELFFBQUEsOEJBQThCLEdBQUcseUJBQXlCLENBQUE7QUFHMUQsUUFBQSxhQUFhLEdBQUc7SUFDekIsbUJBQW1CLEVBQUUsV0FBVztJQUNoQyxvQkFBb0IsRUFBRSxXQUFXO0lBQ2pDLGtCQUFrQixFQUFFLE1BQU07Q0FDN0IsQ0FBQTtBQUVZLFFBQUEsY0FBYyxHQUE4QjtJQUNyRCxJQUFJLEVBQUUsMEJBQTBCLDJCQUFnQixDQUFDLElBQUksSUFBSSxpQkFBTSxFQUFFO0lBQ2pFLEtBQUssRUFBRSwwQkFBMEIsMkJBQWdCLENBQUMsS0FBSyxJQUFJLGlCQUFNLEVBQUU7SUFDbkUsSUFBSSxFQUFFLDBCQUEwQiwyQkFBZ0IsQ0FBQyxJQUFJLElBQUksaUJBQU0sRUFBRTtDQUNwRSxDQUFBO0FBQ1ksUUFBQSxjQUFjLEdBQUcsdUJBQXVCLENBQUE7QUFDeEMsUUFBQSx5QkFBeUIsR0FBRyxXQUFXLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FDQ09VTlRfSURfQUxJQVMsIFJFR0lPTiwgU3RhZ2VOYW1lfSBmcm9tIFwiLi4vc2hhcmVkLWNvbmZpZy9hY2NvdW50c1wiO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9PUkNBQlVTX1RPS0VOX1NFQ1JFVF9JRCA9ICAnb3JjYWJ1cy90b2tlbi1zZXJ2aWNlLWp3dCdcbmV4cG9ydCBjb25zdCBERUZBVUxUX0hPU1ROQU1FX1NTTV9QQVJBTUVURVIgPSAnL2hvc3RlZF96b25lL3VtY2NyL25hbWUnXG5cblxuZXhwb3J0IGNvbnN0IE1BUlRfRU5WX1ZBUlMgPSB7XG4gICAgYXRoZW5hV29ya2dyb3VwTmFtZTogJ29yY2Fob3VzZScsXG4gICAgYXRoZW5hRGF0YXNvdXJjZU5hbWU6ICdvcmNhdmF1bHQnLFxuICAgIGF0aGVuYURhdGFiYXNlTmFtZTogJ21hcnQnXG59XG5cbmV4cG9ydCBjb25zdCBNQVJUX1MzX0JVQ0tFVDogUmVjb3JkPFN0YWdlTmFtZSwgc3RyaW5nPiA9IHtcbiAgICBCRVRBOiBgZGF0YS1zaGFyaW5nLWFydGlmYWN0cy0ke0FDQ09VTlRfSURfQUxJQVMuQkVUQX0tJHtSRUdJT059YCxcbiAgICBHQU1NQTogYGRhdGEtc2hhcmluZy1hcnRpZmFjdHMtJHtBQ0NPVU5UX0lEX0FMSUFTLkdBTU1BfS0ke1JFR0lPTn1gLFxuICAgIFBST0Q6IGBkYXRhLXNoYXJpbmctYXJ0aWZhY3RzLSR7QUNDT1VOVF9JRF9BTElBUy5QUk9EfS0ke1JFR0lPTn1gXG59XG5leHBvcnQgY29uc3QgTUFSVF9TM19QUkVGSVggPSAnYXRoZW5hLXF1ZXJ5LXJlc3VsdHMvJ1xuZXhwb3J0IGNvbnN0IE1BUlRfTEFNQkRBX0ZVTkNUSU9OX05BTUUgPSAnb3JjYXZhdWx0J1xuXG4iXX0=
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.26" };
59
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.lambda.PythonUvFunction", version: "0.0.27" };
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
@@ -70,7 +70,7 @@ from .create_helpers import create_job
70
70
  from .query_helpers import (
71
71
  get_job_from_job_id,
72
72
  get_decompression_job_list,
73
- get_job_list_for_fastq_set
73
+ get_job_list_for_fastq
74
74
  )
75
75
 
76
76
  # Update helpers
@@ -85,8 +85,8 @@ __all__ = [
85
85
  # Query helpers
86
86
  "get_job_from_job_id",
87
87
  "get_decompression_job_list",
88
- "get_job_list_for_fastq_set",
88
+ "get_job_list_for_fastq",
89
89
 
90
90
  # Update helpers
91
91
  "update_status",
92
- ]
92
+ ]
@@ -12,7 +12,7 @@ from .models import Job, JobType
12
12
 
13
13
 
14
14
  def create_job(
15
- fastq_set_id_list: List[str],
15
+ fastq_id_list: List[str],
16
16
  output_uri_prefix: str = None,
17
17
  job_type: Optional[JobType] = None,
18
18
  ) -> Job:
@@ -25,7 +25,7 @@ def create_job(
25
25
  return fastq_decompression_post_request(
26
26
  JOB_ENDPOINT,
27
27
  params={
28
- "fastqSetIdList": fastq_set_id_list,
28
+ "fastqIdList": fastq_id_list,
29
29
  "jobType": job_type,
30
30
  "outputUriPrefix": output_uri_prefix,
31
31
  }
@@ -49,17 +49,3 @@ def get_job_list_for_fastq(
49
49
  fastqId=fastq_id,
50
50
  status=job_status
51
51
  )
52
-
53
-
54
- def get_job_list_for_fastq_set(
55
- fastq_set_id: str,
56
- job_status: JobStatus
57
- ) -> List[Job]:
58
- """
59
- Check if fastq in job list
60
- :return:
61
- """
62
- return get_decompression_job_list(
63
- fastqSetId=fastq_set_id,
64
- status=job_status
65
- )
@@ -16,6 +16,7 @@ from .models import Job, JobStatus
16
16
  def update_status(
17
17
  job_id: str,
18
18
  job_status: JobStatus,
19
+ steps_execution_arn: Optional[str] = None,
19
20
  error_message: Optional[str] = None
20
21
  ) -> Job:
21
22
  """
@@ -31,7 +32,8 @@ def update_status(
31
32
  lambda x: x[1] is not None,
32
33
  {
33
34
  "status": job_status,
34
- "error_message": error_message
35
+ "errorMessage": error_message,
36
+ "stepsExecutionArn": steps_execution_arn
35
37
  }.items()
36
38
  ))
37
39
  )
@@ -12,7 +12,7 @@ const aws_cloudwatch_actions_1 = require("aws-cdk-lib/aws-cloudwatch-actions");
12
12
  * SNS topic.
13
13
  */
14
14
  class MonitoredQueue extends constructs_1.Construct {
15
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.monitoredQueue.MonitoredQueue", version: "0.0.26" };
15
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.monitoredQueue.MonitoredQueue", version: "0.0.27" };
16
16
  queue;
17
17
  deadLetterQueue;
18
18
  alarm;
@@ -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.26" };
10
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.namedLambdaRole.NamedLambdaRole", version: "0.0.27" };
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orcabus/platform-cdk-constructs",
3
- "version": "0.0.26",
3
+ "version": "0.0.27",
4
4
  "description": "CDK Package for OrcaBus infrastructure.",
5
5
  "main": "index.ts",
6
6
  "types": "index.d.ts",
@@ -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.26" };
18
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.provider.ProviderFunction", version: "0.0.27" };
19
19
  _function;
20
20
  _response;
21
21
  constructor(scope, id, props) {
@@ -18,10 +18,6 @@ export declare const GAMMA_ACCOUNT_ID = "455634345446";
18
18
  * Production Account ID.
19
19
  */
20
20
  export declare const PROD_ACCOUNT_ID = "472057503814";
21
- /**
22
- * @deprecated use ACCOUNT_ID_ALIAS instead
23
- */
24
- export declare const accountIdAlias: Record<StageName, string>;
25
21
  /**
26
22
  * Mapping from stage name to AWS Account ID.
27
23
  */
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ACCOUNT_ID_ALIAS = exports.accountIdAlias = exports.PROD_ACCOUNT_ID = exports.GAMMA_ACCOUNT_ID = exports.BETA_ACCOUNT_ID = exports.REGION = void 0;
3
+ exports.ACCOUNT_ID_ALIAS = exports.PROD_ACCOUNT_ID = exports.GAMMA_ACCOUNT_ID = exports.BETA_ACCOUNT_ID = exports.REGION = void 0;
4
4
  /**
5
5
  * Default AWS region for all environments.
6
6
  */
@@ -17,14 +17,6 @@ exports.GAMMA_ACCOUNT_ID = "455634345446";
17
17
  * Production Account ID.
18
18
  */
19
19
  exports.PROD_ACCOUNT_ID = "472057503814";
20
- /**
21
- * @deprecated use ACCOUNT_ID_ALIAS instead
22
- */
23
- exports.accountIdAlias = {
24
- BETA: exports.BETA_ACCOUNT_ID,
25
- GAMMA: exports.GAMMA_ACCOUNT_ID,
26
- PROD: exports.PROD_ACCOUNT_ID,
27
- };
28
20
  /**
29
21
  * Mapping from stage name to AWS Account ID.
30
22
  */
@@ -33,4 +25,4 @@ exports.ACCOUNT_ID_ALIAS = {
33
25
  GAMMA: exports.GAMMA_ACCOUNT_ID,
34
26
  PROD: exports.PROD_ACCOUNT_ID,
35
27
  };
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhY2NvdW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFLQTs7R0FFRztBQUNVLFFBQUEsTUFBTSxHQUFHLGdCQUFnQixDQUFDO0FBRXZDOztHQUVHO0FBQ1UsUUFBQSxlQUFlLEdBQUcsY0FBYyxDQUFDO0FBQzlDOztHQUVHO0FBQ1UsUUFBQSxnQkFBZ0IsR0FBRyxjQUFjLENBQUM7QUFDL0M7O0dBRUc7QUFDVSxRQUFBLGVBQWUsR0FBRyxjQUFjLENBQUM7QUFFOUM7O0dBRUc7QUFDVSxRQUFBLGNBQWMsR0FBOEI7SUFDdkQsSUFBSSxFQUFFLHVCQUFlO0lBQ3JCLEtBQUssRUFBRSx3QkFBZ0I7SUFDdkIsSUFBSSxFQUFFLHVCQUFlO0NBQ3RCLENBQUM7QUFFRjs7R0FFRztBQUNVLFFBQUEsZ0JBQWdCLEdBQThCO0lBQ3pELElBQUksRUFBRSx1QkFBZTtJQUNyQixLQUFLLEVBQUUsd0JBQWdCO0lBQ3ZCLElBQUksRUFBRSx1QkFBZTtDQUN0QixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBTdXBwb3J0ZWQgZGVwbG95bWVudCBzdGFnZSBuYW1lcy5cbiAqL1xuZXhwb3J0IHR5cGUgU3RhZ2VOYW1lID0gXCJCRVRBXCIgfCBcIkdBTU1BXCIgfCBcIlBST0RcIjtcblxuLyoqXG4gKiBEZWZhdWx0IEFXUyByZWdpb24gZm9yIGFsbCBlbnZpcm9ubWVudHMuXG4gKi9cbmV4cG9ydCBjb25zdCBSRUdJT04gPSBcImFwLXNvdXRoZWFzdC0yXCI7XG5cbi8qKlxuICogQmV0YSBBY2NvdW50IElELlxuICovXG5leHBvcnQgY29uc3QgQkVUQV9BQ0NPVU5UX0lEID0gXCI4NDM0MDc5MTY1NzBcIjtcbi8qKlxuICogR2FtbWEgQWNjb3VudCBJRC5cbiAqL1xuZXhwb3J0IGNvbnN0IEdBTU1BX0FDQ09VTlRfSUQgPSBcIjQ1NTYzNDM0NTQ0NlwiO1xuLyoqXG4gKiBQcm9kdWN0aW9uIEFjY291bnQgSUQuXG4gKi9cbmV4cG9ydCBjb25zdCBQUk9EX0FDQ09VTlRfSUQgPSBcIjQ3MjA1NzUwMzgxNFwiO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIHVzZSBBQ0NPVU5UX0lEX0FMSUFTIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IGFjY291bnRJZEFsaWFzOiBSZWNvcmQ8U3RhZ2VOYW1lLCBzdHJpbmc+ID0ge1xuICBCRVRBOiBCRVRBX0FDQ09VTlRfSUQsXG4gIEdBTU1BOiBHQU1NQV9BQ0NPVU5UX0lELFxuICBQUk9EOiBQUk9EX0FDQ09VTlRfSUQsXG59O1xuXG4vKipcbiAqIE1hcHBpbmcgZnJvbSBzdGFnZSBuYW1lIHRvIEFXUyBBY2NvdW50IElELlxuICovXG5leHBvcnQgY29uc3QgQUNDT1VOVF9JRF9BTElBUzogUmVjb3JkPFN0YWdlTmFtZSwgc3RyaW5nPiA9IHtcbiAgQkVUQTogQkVUQV9BQ0NPVU5UX0lELFxuICBHQU1NQTogR0FNTUFfQUNDT1VOVF9JRCxcbiAgUFJPRDogUFJPRF9BQ0NPVU5UX0lELFxufSJdfQ==
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhY2NvdW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFLQTs7R0FFRztBQUNVLFFBQUEsTUFBTSxHQUFHLGdCQUFnQixDQUFDO0FBRXZDOztHQUVHO0FBQ1UsUUFBQSxlQUFlLEdBQUcsY0FBYyxDQUFDO0FBQzlDOztHQUVHO0FBQ1UsUUFBQSxnQkFBZ0IsR0FBRyxjQUFjLENBQUM7QUFDL0M7O0dBRUc7QUFDVSxRQUFBLGVBQWUsR0FBRyxjQUFjLENBQUM7QUFFOUM7O0dBRUc7QUFDVSxRQUFBLGdCQUFnQixHQUE4QjtJQUN6RCxJQUFJLEVBQUUsdUJBQWU7SUFDckIsS0FBSyxFQUFFLHdCQUFnQjtJQUN2QixJQUFJLEVBQUUsdUJBQWU7Q0FDdEIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU3VwcG9ydGVkIGRlcGxveW1lbnQgc3RhZ2UgbmFtZXMuXG4gKi9cbmV4cG9ydCB0eXBlIFN0YWdlTmFtZSA9IFwiQkVUQVwiIHwgXCJHQU1NQVwiIHwgXCJQUk9EXCI7XG5cbi8qKlxuICogRGVmYXVsdCBBV1MgcmVnaW9uIGZvciBhbGwgZW52aXJvbm1lbnRzLlxuICovXG5leHBvcnQgY29uc3QgUkVHSU9OID0gXCJhcC1zb3V0aGVhc3QtMlwiO1xuXG4vKipcbiAqIEJldGEgQWNjb3VudCBJRC5cbiAqL1xuZXhwb3J0IGNvbnN0IEJFVEFfQUNDT1VOVF9JRCA9IFwiODQzNDA3OTE2NTcwXCI7XG4vKipcbiAqIEdhbW1hIEFjY291bnQgSUQuXG4gKi9cbmV4cG9ydCBjb25zdCBHQU1NQV9BQ0NPVU5UX0lEID0gXCI0NTU2MzQzNDU0NDZcIjtcbi8qKlxuICogUHJvZHVjdGlvbiBBY2NvdW50IElELlxuICovXG5leHBvcnQgY29uc3QgUFJPRF9BQ0NPVU5UX0lEID0gXCI0NzIwNTc1MDM4MTRcIjtcblxuLyoqXG4gKiBNYXBwaW5nIGZyb20gc3RhZ2UgbmFtZSB0byBBV1MgQWNjb3VudCBJRC5cbiAqL1xuZXhwb3J0IGNvbnN0IEFDQ09VTlRfSURfQUxJQVM6IFJlY29yZDxTdGFnZU5hbWUsIHN0cmluZz4gPSB7XG4gIEJFVEE6IEJFVEFfQUNDT1VOVF9JRCxcbiAgR0FNTUE6IEdBTU1BX0FDQ09VTlRfSUQsXG4gIFBST0Q6IFBST0RfQUNDT1VOVF9JRCxcbn0iXX0=
@@ -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" };
26
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.sharedConfig.networking.OrcaBusVpc", version: "0.0.27" };
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.26" };
45
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.sharedConfig.networking.OrcaBusSharedComputeSecurityGroup", version: "0.0.27" };
46
46
  /**
47
47
  * The shared security group that is used by compute resources to access the database.
48
48
  * @param scope
@@ -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.26" };
14
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.sharedConfig.slack.SlackAlerts", version: "0.0.27" };
15
15
  /**
16
16
  * Format the ARN for the slack alerts SNS topic for the current stack.
17
17
  * @param stack
package/utils/index.js CHANGED
@@ -13,7 +13,7 @@ function resolveStageName(scope) {
13
13
  // See discussion in https://github.com/aws/aws-cdk/issues/1754
14
14
  // Use Stack.of(scope).account to get the account ID instead of
15
15
  // cdk.Aws.ACCOUNT_ID, which may not be available at this point in the CDK lifecycle.
16
- const match = Object.entries(accounts_1.accountIdAlias).find(([_, value]) => value === aws_cdk_lib_1.Stack.of(scope).account);
16
+ const match = Object.entries(accounts_1.ACCOUNT_ID_ALIAS).find(([_, value]) => value === aws_cdk_lib_1.Stack.of(scope).account);
17
17
  if (!match) {
18
18
  // Check if 'stageName' is a property in the variable 'scope'
19
19
  // This is useful for cases where the account ID is not found in accountIdAlias
@@ -35,4 +35,4 @@ function resolveStageName(scope) {
35
35
  function synthesisMessageToString(sm) {
36
36
  return `${JSON.stringify(sm.entry.data)} [${sm.id}]`;
37
37
  }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7R0FJRzs7QUFPSCw0Q0F5QkM7QUFLRCw0REFFQztBQXBDRCw2Q0FBb0M7QUFFcEMsd0RBQXNFO0FBRXRFLFNBQWdCLGdCQUFnQixDQUFDLEtBQWdCO0lBQy9DLCtEQUErRDtJQUMvRCwrREFBK0Q7SUFDL0QscUZBQXFGO0lBQ3JGLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMseUJBQWMsQ0FBQyxDQUFDLElBQUksQ0FDL0MsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxLQUFLLG1CQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FDbEQsQ0FBQztJQUVGLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNYLDZEQUE2RDtRQUM3RCwrRUFBK0U7UUFDL0UsMkRBQTJEO1FBQzNELE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ2xDLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQ3pDLE1BQU0sSUFBSSxLQUFLLENBQ2IsY0FBYyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPO29GQUN1QyxDQUM3RSxDQUFDO1FBQ0osQ0FBQztRQUNELHNEQUFzRDtRQUN0RCxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxXQUFXLENBQWMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFjLENBQUM7QUFDL0IsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0Isd0JBQXdCLENBQUMsRUFBb0I7SUFDM0QsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUM7QUFDdkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICpcbiAqIFNoYXJlZCBjb25maWd1cmF0aW9uIHNob3VsZCBub3cgYmUgcGxhY2VkIGluIHRoZSBzaGFyZWQtY29uZmlnIHBhY2thZ2UuXG4gKlxuICovXG5cbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBTdGFjayB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgU3ludGhlc2lzTWVzc2FnZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9jeC1hcGlcIjtcbmltcG9ydCB7IGFjY291bnRJZEFsaWFzLCBTdGFnZU5hbWUgfSBmcm9tIFwiLi4vc2hhcmVkLWNvbmZpZy9hY2NvdW50c1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVN0YWdlTmFtZShzY29wZTogQ29uc3RydWN0KTogU3RhZ2VOYW1lIHtcbiAgLy8gU2VlIGRpc2N1c3Npb24gaW4gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9hd3MtY2RrL2lzc3Vlcy8xNzU0XG4gIC8vIFVzZSBTdGFjay5vZihzY29wZSkuYWNjb3VudCB0byBnZXQgdGhlIGFjY291bnQgSUQgaW5zdGVhZCBvZlxuICAvLyBjZGsuQXdzLkFDQ09VTlRfSUQsIHdoaWNoIG1heSBub3QgYmUgYXZhaWxhYmxlIGF0IHRoaXMgcG9pbnQgaW4gdGhlIENESyBsaWZlY3ljbGUuXG4gIGNvbnN0IG1hdGNoID0gT2JqZWN0LmVudHJpZXMoYWNjb3VudElkQWxpYXMpLmZpbmQoXG4gICAgKFtfLCB2YWx1ZV0pID0+IHZhbHVlID09PSBTdGFjay5vZihzY29wZSkuYWNjb3VudCxcbiAgKTtcblxuICBpZiAoIW1hdGNoKSB7XG4gICAgLy8gQ2hlY2sgaWYgJ3N0YWdlTmFtZScgaXMgYSBwcm9wZXJ0eSBpbiB0aGUgdmFyaWFibGUgJ3Njb3BlJ1xuICAgIC8vIFRoaXMgaXMgdXNlZnVsIGZvciBjYXNlcyB3aGVyZSB0aGUgYWNjb3VudCBJRCBpcyBub3QgZm91bmQgaW4gYWNjb3VudElkQWxpYXNcbiAgICAvLyBidXQgdGhlIHN0YWdlIG5hbWUgaXMgcHJvdmlkZWQgYXMgYSBjb25zdHJ1Y3QgYXR0cmlidXRlLlxuICAgIGNvbnN0IHN0YWNrT2JqID0gc2NvcGUubm9kZS5zY29wZTtcbiAgICBjb25zdCBwcm9wZXJ0eU5hbWVzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoc3RhY2tPYmopO1xuICAgIGlmICghcHJvcGVydHlOYW1lcy5pbmNsdWRlcyhcInN0YWdlTmFtZVwiKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgQWNjb3VudCBJRCAke1N0YWNrLm9mKHNjb3BlKS5hY2NvdW50fSBub3QgZm91bmQgaW4gYWNjb3VudElkQWxpYXMuXG4gICAgICAgIFBsZWFzZSBzZXQgJ3N0YWdlTmFtZScgYXMgYSBjb25zdHJ1Y3QgYXR0cmlidXRlIGluIHlvdXIgc3RhY2sgYXMgYSBmYWxsYmFja2AsXG4gICAgICApO1xuICAgIH1cbiAgICAvLyBJZiAnc3RhZ2VOYW1lJyBpcyBwcmVzZW50LCByZXR1cm4gaXQgYXMgYSBTdGFnZU5hbWVcbiAgICByZXR1cm4gT2JqZWN0KHN0YWNrT2JqKVtcInN0YWdlTmFtZVwiXSBhcyBTdGFnZU5hbWU7XG4gIH1cblxuICByZXR1cm4gbWF0Y2hbMF0gYXMgU3RhZ2VOYW1lO1xufVxuXG4vKipcbiAqIFN0cmluZ2lmeSB0aGUgbWVzc2FnZSBkYXRhLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc3ludGhlc2lzTWVzc2FnZVRvU3RyaW5nKHNtOiBTeW50aGVzaXNNZXNzYWdlKTogc3RyaW5nIHtcbiAgcmV0dXJuIGAke0pTT04uc3RyaW5naWZ5KHNtLmVudHJ5LmRhdGEpfSBbJHtzbS5pZH1dYDtcbn1cbiJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7R0FJRzs7QUFPSCw0Q0F5QkM7QUFLRCw0REFFQztBQXBDRCw2Q0FBb0M7QUFFcEMsd0RBQXNFO0FBRXRFLFNBQWdCLGdCQUFnQixDQUFDLEtBQWdCO0lBQy9DLCtEQUErRDtJQUMvRCwrREFBK0Q7SUFDL0QscUZBQXFGO0lBQ3JGLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsMkJBQWdCLENBQUMsQ0FBQyxJQUFJLENBQ2pELENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQ2xELENBQUM7SUFFRixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDWCw2REFBNkQ7UUFDN0QsK0VBQStFO1FBQy9FLDJEQUEyRDtRQUMzRCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNsQyxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUN6QyxNQUFNLElBQUksS0FBSyxDQUNiLGNBQWMsbUJBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTztvRkFDdUMsQ0FDN0UsQ0FBQztRQUNKLENBQUM7UUFDRCxzREFBc0Q7UUFDdEQsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsV0FBVyxDQUFjLENBQUM7SUFDcEQsQ0FBQztJQUVELE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBYyxDQUFDO0FBQy9CLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLHdCQUF3QixDQUFDLEVBQW9CO0lBQzNELE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDO0FBQ3ZELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqXG4gKiBTaGFyZWQgY29uZmlndXJhdGlvbiBzaG91bGQgbm93IGJlIHBsYWNlZCBpbiB0aGUgc2hhcmVkLWNvbmZpZyBwYWNrYWdlLlxuICpcbiAqL1xuXG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgU3RhY2sgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IFN5bnRoZXNpc01lc3NhZ2UgfSBmcm9tIFwiYXdzLWNkay1saWIvY3gtYXBpXCI7XG5pbXBvcnQge0FDQ09VTlRfSURfQUxJQVMsIFN0YWdlTmFtZX0gZnJvbSBcIi4uL3NoYXJlZC1jb25maWcvYWNjb3VudHNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVTdGFnZU5hbWUoc2NvcGU6IENvbnN0cnVjdCk6IFN0YWdlTmFtZSB7XG4gIC8vIFNlZSBkaXNjdXNzaW9uIGluIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9pc3N1ZXMvMTc1NFxuICAvLyBVc2UgU3RhY2sub2Yoc2NvcGUpLmFjY291bnQgdG8gZ2V0IHRoZSBhY2NvdW50IElEIGluc3RlYWQgb2ZcbiAgLy8gY2RrLkF3cy5BQ0NPVU5UX0lELCB3aGljaCBtYXkgbm90IGJlIGF2YWlsYWJsZSBhdCB0aGlzIHBvaW50IGluIHRoZSBDREsgbGlmZWN5Y2xlLlxuICBjb25zdCBtYXRjaCA9IE9iamVjdC5lbnRyaWVzKEFDQ09VTlRfSURfQUxJQVMpLmZpbmQoXG4gICAgKFtfLCB2YWx1ZV0pID0+IHZhbHVlID09PSBTdGFjay5vZihzY29wZSkuYWNjb3VudCxcbiAgKTtcblxuICBpZiAoIW1hdGNoKSB7XG4gICAgLy8gQ2hlY2sgaWYgJ3N0YWdlTmFtZScgaXMgYSBwcm9wZXJ0eSBpbiB0aGUgdmFyaWFibGUgJ3Njb3BlJ1xuICAgIC8vIFRoaXMgaXMgdXNlZnVsIGZvciBjYXNlcyB3aGVyZSB0aGUgYWNjb3VudCBJRCBpcyBub3QgZm91bmQgaW4gYWNjb3VudElkQWxpYXNcbiAgICAvLyBidXQgdGhlIHN0YWdlIG5hbWUgaXMgcHJvdmlkZWQgYXMgYSBjb25zdHJ1Y3QgYXR0cmlidXRlLlxuICAgIGNvbnN0IHN0YWNrT2JqID0gc2NvcGUubm9kZS5zY29wZTtcbiAgICBjb25zdCBwcm9wZXJ0eU5hbWVzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoc3RhY2tPYmopO1xuICAgIGlmICghcHJvcGVydHlOYW1lcy5pbmNsdWRlcyhcInN0YWdlTmFtZVwiKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgQWNjb3VudCBJRCAke1N0YWNrLm9mKHNjb3BlKS5hY2NvdW50fSBub3QgZm91bmQgaW4gYWNjb3VudElkQWxpYXMuXG4gICAgICAgIFBsZWFzZSBzZXQgJ3N0YWdlTmFtZScgYXMgYSBjb25zdHJ1Y3QgYXR0cmlidXRlIGluIHlvdXIgc3RhY2sgYXMgYSBmYWxsYmFja2AsXG4gICAgICApO1xuICAgIH1cbiAgICAvLyBJZiAnc3RhZ2VOYW1lJyBpcyBwcmVzZW50LCByZXR1cm4gaXQgYXMgYSBTdGFnZU5hbWVcbiAgICByZXR1cm4gT2JqZWN0KHN0YWNrT2JqKVtcInN0YWdlTmFtZVwiXSBhcyBTdGFnZU5hbWU7XG4gIH1cblxuICByZXR1cm4gbWF0Y2hbMF0gYXMgU3RhZ2VOYW1lO1xufVxuXG4vKipcbiAqIFN0cmluZ2lmeSB0aGUgbWVzc2FnZSBkYXRhLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc3ludGhlc2lzTWVzc2FnZVRvU3RyaW5nKHNtOiBTeW50aGVzaXNNZXNzYWdlKTogc3RyaW5nIHtcbiAgcmV0dXJuIGAke0pTT04uc3RyaW5naWZ5KHNtLmVudHJ5LmRhdGEpfSBbJHtzbS5pZH1dYDtcbn1cbiJdfQ==