@orcabus/platform-cdk-constructs 0.0.38 → 0.0.40

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
@@ -6756,6 +6756,6 @@
6756
6756
  "symbolId": "shared-config/slack:SlackAlerts"
6757
6757
  }
6758
6758
  },
6759
- "version": "0.0.38",
6760
- "fingerprint": "4FjPVQ7u4dRTAh4I76FF/w9EfDixVRbUKYR3r1wD8kg="
6759
+ "version": "0.0.40",
6760
+ "fingerprint": "ischMi4D/qAlGXofBjJIHsN2yNBJY4fISqc+SVhvE7M="
6761
6761
  }
@@ -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.38" };
18
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.apigateway.OrcaBusApiGateway", version: "0.0.40" };
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.38" };
16
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.deploymentPipeline.CrossDeploymentArtifactBucket", version: "0.0.40" };
17
17
  /**
18
18
  * The S3 bucket used to store artifacts for cross-deployment pipelines.
19
19
  */
@@ -32,7 +32,7 @@ exports.DEFAULT_SYNTH_STEP_PARTIAL_BUILD_SPEC = {
32
32
  * before using this construct.
33
33
  */
34
34
  class DeploymentStackPipeline extends constructs_1.Construct {
35
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.deploymentPipeline.DeploymentStackPipeline", version: "0.0.38" };
35
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.deploymentPipeline.DeploymentStackPipeline", version: "0.0.40" };
36
36
  /**
37
37
  * The code pipeline construct that is created.
38
38
  */
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.38" };
43
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.dynamodb.DynamoDbPartitionedConstruct", version: "0.0.40" };
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.38" };
78
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.dynamodb.DynamoDbNonPartitionedConstruct", version: "0.0.40" };
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.38" };
58
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.ecs.EcsFargateTaskConstruct", version: "0.0.40" };
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.38" };
59
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.lambda.PythonUvFunction", version: "0.0.40" };
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,4 +1,4 @@
1
- from typing import Literal, TypedDict, NotRequired
1
+ from typing import Literal, TypedDict, NotRequired, Union
2
2
 
3
3
  PackageStatusType = Literal[
4
4
  "PENDING",
@@ -28,5 +28,5 @@ class PackageObject(TypedDict):
28
28
 
29
29
 
30
30
  class JobPatchParameters(TypedDict):
31
- status: str
31
+ status: Union[PackageStatusType, PushJobStatusType]
32
32
  errorMessage: NotRequired[str]
@@ -104,7 +104,7 @@ from .query_helpers import (
104
104
  get_fastqs_in_project,
105
105
  get_fastq_list_rows_in_fastq_set,
106
106
  get_fastqs_in_fastq_set,
107
- get_fastq_jobs,
107
+ get_fastq_jobs, get_fastq_by_rgid,
108
108
  )
109
109
 
110
110
  # Updaters
@@ -165,6 +165,7 @@ __all__ = [
165
165
  "get_fastqs_in_subject",
166
166
  "get_fastqs_in_individual",
167
167
  "get_fastqs_in_project",
168
+ "get_fastq_by_rgid",
168
169
  "get_fastq_list_rows_in_fastq_set",
169
170
  "get_fastqs_in_fastq_set",
170
171
  "get_fastq_jobs",
@@ -8,6 +8,7 @@ FASTQ_SUBDOMAIN_NAME = "fastq"
8
8
  # API ENDPOINTS
9
9
  FASTQ_ENDPOINT = "api/v1/fastq"
10
10
  FASTQ_SET_ENDPOINT = "api/v1/fastqSet"
11
+ RGID_ENDPOINT = "api/v1/rgid"
11
12
 
12
13
  # REGEX
13
14
  ORCABUS_ULID_REGEX_MATCH = re.compile(r'^[a-z0-9]{3}\.[A-Z0-9]{26}$')
@@ -15,7 +15,7 @@ get_fastqs_in_individual
15
15
 
16
16
  get_fastqs_in_project
17
17
 
18
- get_fastq_by_rgid_and_instrument_run_id
18
+ get_fastq_by_rgid
19
19
 
20
20
  """
21
21
  from functools import reduce
@@ -25,7 +25,7 @@ from typing import List, Unpack
25
25
  from fastapi.encoders import jsonable_encoder
26
26
 
27
27
  from . import get_fastq_request_response_results, get_fastq_request
28
- from .globals import FASTQ_ENDPOINT, FASTQ_SET_ENDPOINT
28
+ from .globals import FASTQ_ENDPOINT, FASTQ_SET_ENDPOINT, RGID_ENDPOINT
29
29
  from .models import (
30
30
  FastqSet, Job, FastqParameters, FastqSetQueryParameters,
31
31
  FastqGetResponseParameters, VALID_BATCH_KEYS, Fastq
@@ -58,7 +58,7 @@ def get_fastq_set(
58
58
  """
59
59
  # Raise error if any of the kwargs are not in the FastqSetQueryParameters
60
60
  for key in kwargs.keys():
61
- if key not in FastqSetQueryParameters.__annotations__:
61
+ if key not in FastqGetResponseParameters.__annotations__:
62
62
  raise ValueError(f"Invalid parameter: {key}")
63
63
 
64
64
  return FastqSet(
@@ -230,6 +230,24 @@ def get_fastqs_in_project(project_id):
230
230
  )
231
231
 
232
232
 
233
+ def get_fastq_by_rgid(
234
+ rgid: str,
235
+ **kwargs: Unpack[FastqGetResponseParameters]
236
+ ) -> Fastq:
237
+ # Raise error if any of the kwargs are not in the FastqGetResponseParameters
238
+ for key in kwargs.keys():
239
+ if key not in FastqGetResponseParameters.__annotations__:
240
+ raise ValueError(f"Invalid parameter: {key}")
241
+
242
+ return get_fastq_request(
243
+ f"{RGID_ENDPOINT}/{rgid}",
244
+ params=dict(filter(
245
+ lambda kv_iter_: kv_iter_[1] is not None,
246
+ kwargs.items()
247
+ ))
248
+ )
249
+
250
+
233
251
  def get_fastq_list_rows_in_fastq_set(fastq_set_id):
234
252
  """
235
253
  DEPRECATED: Use get_fastqs_in_fastq_set instead
@@ -144,7 +144,7 @@ def invalidate_fastq(fastq_id: str) -> Fastq:
144
144
 
145
145
  def link_fastq_list_row_to_fastq_set(fastq_id: str, fastq_set_id: str) -> FastqSet:
146
146
  """
147
- Deprecated: Use `link_fastq_to_fast_set` instead.
147
+ Deprecated: Use `link_fastq_to_fastq_set` instead.
148
148
  Link a fastq id to a fastq set.
149
149
 
150
150
  :param fastq_id:
@@ -85,6 +85,7 @@ class JobCreateParameters(TypedDict):
85
85
  jobType: JobType
86
86
  maxReads: NotRequired[int]
87
87
  outputUriPrefix: NotRequired[str]
88
+ sampling: NotRequired[bool]
88
89
 
89
90
 
90
91
  class JobQueryParameters(TypedDict):
@@ -23,7 +23,7 @@ from . import (
23
23
  from .globals import (
24
24
  S3_LIST_ENDPOINT,
25
25
  S3_BUCKETS_BY_ACCOUNT_ID,
26
- S3_PREFIXES_BY_ACCOUNT_ID
26
+ S3_PREFIXES_BY_ACCOUNT_ID, S3_ATTRIBUTES_LIST_ENDPOINT
27
27
  )
28
28
 
29
29
  if typing.TYPE_CHECKING:
@@ -108,27 +108,22 @@ def get_file_object_from_ingest_id(ingest_id: str, **kwargs) -> FileObject:
108
108
 
109
109
  def list_files_from_portal_run_id(
110
110
  portal_run_id: str,
111
- workflow_name: str,
112
- **kwargs
111
+ remove_log_files: bool = True,
113
112
  ) -> List[FileObject]:
114
- portal_run_id_date_str = datetime.strptime(portal_run_id[:8], "%Y%m%d")
115
113
 
116
114
  # Get files from cache
117
- cache_response = get_file_manager_request_response_results(S3_LIST_ENDPOINT, {
118
- "bucket": get_cache_bucket_from_account_id(),
119
- "key": f"{get_analysis_cache_prefix_from_account_id()}/{workflow_name}/{portal_run_id}/*",
120
- **kwargs
115
+ all_files_list = get_file_manager_request_response_results(S3_ATTRIBUTES_LIST_ENDPOINT, {
116
+ "portalRunId": portal_run_id,
117
+ "currentState": json.dumps(True)
121
118
  })
122
119
 
123
- # Get files from archive
124
- archive_response = get_file_manager_request_response_results(S3_LIST_ENDPOINT, {
125
- "bucket": get_archive_analysis_bucket_from_account_id(),
126
- "key": f"v1/year={portal_run_id_date_str.year}/month={str(portal_run_id_date_str.month).zfill(2)}/{portal_run_id}/*",
127
- **kwargs
128
- })
120
+ if not remove_log_files:
121
+ return all_files_list
129
122
 
130
- # Return as a list of FileObject models
131
- return [FileObject(**file) for file in cache_response + archive_response]
123
+ return list(filter(
124
+ lambda file_iter_: not '/ica_logs/' in file_iter_['key'],
125
+ all_files_list
126
+ ))
132
127
 
133
128
 
134
129
  def get_presigned_url(s3_object_id: str) -> str:
@@ -137,7 +132,6 @@ def get_presigned_url(s3_object_id: str) -> str:
137
132
  :param s3_object_id:
138
133
  :return:
139
134
  """
140
-
141
135
  response = get_file_manager_request(f"{S3_LIST_ENDPOINT}/presign/{s3_object_id}")
142
136
 
143
137
  return str(response)
@@ -13,7 +13,7 @@ const aws_cloudwatch_actions_1 = require("aws-cdk-lib/aws-cloudwatch-actions");
13
13
  * SNS topic.
14
14
  */
15
15
  class MonitoredQueue extends constructs_1.Construct {
16
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.monitoredQueue.MonitoredQueue", version: "0.0.38" };
16
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.monitoredQueue.MonitoredQueue", version: "0.0.40" };
17
17
  queue;
18
18
  deadLetterQueue;
19
19
  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.38" };
10
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.namedLambdaRole.NamedLambdaRole", version: "0.0.40" };
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.38",
3
+ "version": "0.0.40",
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.38" };
18
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.provider.ProviderFunction", version: "0.0.40" };
19
19
  _function;
20
20
  _response;
21
21
  constructor(scope, id, props) {
@@ -10,22 +10,25 @@ const secrets_1 = require("./secrets");
10
10
  exports.FILE_MANAGER_BUCKETS = {
11
11
  BETA: [
12
12
  "umccr-temp-dev",
13
- `ntsm-fingerprints-${deployment_stack_pipeline_1.BETA_ENVIRONMENT.account}-ap-southeast-2`,
14
- `data-sharing-artifacts-${deployment_stack_pipeline_1.BETA_ENVIRONMENT.account}-ap-southeast-2`,
13
+ `ntsm-fingerprints-${deployment_stack_pipeline_1.BETA_ENVIRONMENT.account}-${deployment_stack_pipeline_1.BETA_ENVIRONMENT.region}`,
14
+ `fastq-manager-sequali-outputs-${deployment_stack_pipeline_1.BETA_ENVIRONMENT.account}-${deployment_stack_pipeline_1.BETA_ENVIRONMENT.region}`,
15
+ `data-sharing-artifacts-${deployment_stack_pipeline_1.BETA_ENVIRONMENT.account}-${deployment_stack_pipeline_1.BETA_ENVIRONMENT.region}`,
15
16
  "filemanager-inventory-test",
16
17
  ],
17
18
  GAMMA: [
18
19
  "umccr-temp-stg",
19
- `ntsm-fingerprints-${deployment_stack_pipeline_1.GAMMA_ENVIRONMENT.account}-ap-southeast-2`,
20
- `data-sharing-artifacts-${deployment_stack_pipeline_1.GAMMA_ENVIRONMENT.account}-ap-southeast-2`,
20
+ `ntsm-fingerprints-${deployment_stack_pipeline_1.GAMMA_ENVIRONMENT.account}-${deployment_stack_pipeline_1.GAMMA_ENVIRONMENT.region}`,
21
+ `fastq-manager-sequali-outputs-${deployment_stack_pipeline_1.GAMMA_ENVIRONMENT.account}-${deployment_stack_pipeline_1.GAMMA_ENVIRONMENT.region}`,
22
+ `data-sharing-artifacts-${deployment_stack_pipeline_1.GAMMA_ENVIRONMENT.account}-${deployment_stack_pipeline_1.GAMMA_ENVIRONMENT.region}`,
21
23
  ],
22
24
  PROD: [
23
25
  "org.umccr.data.oncoanalyser",
24
26
  "archive-prod-analysis-503977275616-ap-southeast-2",
25
27
  "archive-prod-fastq-503977275616-ap-southeast-2",
26
- `ntsm-fingerprints-${deployment_stack_pipeline_1.PROD_ENVIRONMENT.account}-ap-southeast-2`,
27
- `data-sharing-artifacts-${deployment_stack_pipeline_1.PROD_ENVIRONMENT.account}-ap-southeast-2`,
28
- "pipeline-montauk-977251586657-ap-southeast-2",
28
+ `ntsm-fingerprints-${deployment_stack_pipeline_1.PROD_ENVIRONMENT.account}-${deployment_stack_pipeline_1.PROD_ENVIRONMENT.region}`,
29
+ `fastq-manager-sequali-outputs-${deployment_stack_pipeline_1.GAMMA_ENVIRONMENT.account}-${deployment_stack_pipeline_1.PROD_ENVIRONMENT.region}`,
30
+ `data-sharing-artifacts-${deployment_stack_pipeline_1.PROD_ENVIRONMENT.account}-${deployment_stack_pipeline_1.PROD_ENVIRONMENT.region}`,
31
+ `pipeline-montauk-977251586657-${deployment_stack_pipeline_1.PROD_ENVIRONMENT.region}`,
29
32
  ],
30
33
  };
31
34
  exports.FILE_MANAGER_CACHE_BUCKETS = {
@@ -43,4 +46,4 @@ exports.FILE_MANAGER_ACCESS_KEY_ARNS = {
43
46
  exports.FILE_MANAGER_INGEST_ROLE = "orcabus-file-manager-ingest-role";
44
47
  exports.FILE_MANAGER_PRESIGN_USER = "orcabus-file-manager-presign-user"; // pragma: allowlist secret
45
48
  exports.FILE_MANAGER_DOMAIN_PREFIX = "file";
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1tYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZmlsZS1tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7O0FBRUgsNEVBSXNDO0FBRXRDLDZCQUEyQztBQUMzQyx1Q0FBK0M7QUFFbEMsUUFBQSxvQkFBb0IsR0FBZ0M7SUFDL0QsSUFBSSxFQUFFO1FBQ0osZ0JBQWdCO1FBQ2hCLHFCQUFxQiw0Q0FBZ0IsQ0FBQyxPQUFPLGlCQUFpQjtRQUM5RCwwQkFBMEIsNENBQWdCLENBQUMsT0FBTyxpQkFBaUI7UUFDbkUsNEJBQTRCO0tBQzdCO0lBQ0QsS0FBSyxFQUFFO1FBQ0wsZ0JBQWdCO1FBQ2hCLHFCQUFxQiw2Q0FBaUIsQ0FBQyxPQUFPLGlCQUFpQjtRQUMvRCwwQkFBMEIsNkNBQWlCLENBQUMsT0FBTyxpQkFBaUI7S0FDckU7SUFDRCxJQUFJLEVBQUU7UUFDSiw2QkFBNkI7UUFDN0IsbURBQW1EO1FBQ25ELGdEQUFnRDtRQUNoRCxxQkFBcUIsNENBQWdCLENBQUMsT0FBTyxpQkFBaUI7UUFDOUQsMEJBQTBCLDRDQUFnQixDQUFDLE9BQU8saUJBQWlCO1FBQ25FLDhDQUE4QztLQUMvQztDQUNGLENBQUM7QUFFVyxRQUFBLDBCQUEwQixHQUFnQztJQUNyRSxJQUFJLEVBQUUsQ0FBQyx3QkFBbUIsQ0FBQyxJQUFJLENBQUM7SUFDaEMsS0FBSyxFQUFFLENBQUMsd0JBQW1CLENBQUMsS0FBSyxDQUFDO0lBQ2xDLElBQUksRUFBRSxDQUFDLHdCQUFtQixDQUFDLElBQUksQ0FBQztDQUNqQyxDQUFDO0FBRVcsUUFBQSxnQ0FBZ0MsR0FDM0MsbUNBQW1DLENBQUMsQ0FBQywyQkFBMkI7QUFDbEUsSUFBQSw0QkFBa0IsRUFBQyx3Q0FBZ0MsQ0FBQyxDQUFDO0FBRXhDLFFBQUEsNEJBQTRCLEdBQThCO0lBQ3JFLElBQUksRUFBRSwwQkFBMEIsNENBQWdCLENBQUMsTUFBTSxJQUFJLDRDQUFnQixDQUFDLE9BQU8sV0FBVyx3Q0FBZ0MsRUFBRTtJQUNoSSxLQUFLLEVBQUUsMEJBQTBCLDZDQUFpQixDQUFDLE1BQU0sSUFBSSw2Q0FBaUIsQ0FBQyxPQUFPLFdBQVcsd0NBQWdDLEVBQUU7SUFDbkksSUFBSSxFQUFFLDBCQUEwQiw0Q0FBZ0IsQ0FBQyxNQUFNLElBQUksNENBQWdCLENBQUMsT0FBTyxXQUFXLHdDQUFnQyxFQUFFO0NBQ2pJLENBQUM7QUFFVyxRQUFBLHdCQUF3QixHQUFHLGtDQUFrQyxDQUFDO0FBQzlELFFBQUEseUJBQXlCLEdBQUcsbUNBQW1DLENBQUMsQ0FBQywyQkFBMkI7QUFDNUYsUUFBQSwwQkFBMEIsR0FBRyxNQUFNLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFNoYXJlZCBjb25maWcgZm9yIHRoZSBGaWxlTWFuYWdlci5cbiAqL1xuXG5pbXBvcnQge1xuICBCRVRBX0VOVklST05NRU5ULFxuICBHQU1NQV9FTlZJUk9OTUVOVCxcbiAgUFJPRF9FTlZJUk9OTUVOVCxcbn0gZnJvbSBcIi4uL2RlcGxveW1lbnQtc3RhY2stcGlwZWxpbmVcIjtcbmltcG9ydCB7IFN0YWdlTmFtZSB9IGZyb20gXCIuL2FjY291bnRzXCI7XG5pbXBvcnQgeyBwaXBlbGluZUNhY2hlQnVja2V0IH0gZnJvbSBcIi4vczNcIjtcbmltcG9ydCB7IHZhbGlkYXRlU2VjcmV0TmFtZSB9IGZyb20gXCIuL3NlY3JldHNcIjtcblxuZXhwb3J0IGNvbnN0IEZJTEVfTUFOQUdFUl9CVUNLRVRTOiBSZWNvcmQ8U3RhZ2VOYW1lLCBzdHJpbmdbXT4gPSB7XG4gIEJFVEE6IFtcbiAgICBcInVtY2NyLXRlbXAtZGV2XCIsXG4gICAgYG50c20tZmluZ2VycHJpbnRzLSR7QkVUQV9FTlZJUk9OTUVOVC5hY2NvdW50fS1hcC1zb3V0aGVhc3QtMmAsXG4gICAgYGRhdGEtc2hhcmluZy1hcnRpZmFjdHMtJHtCRVRBX0VOVklST05NRU5ULmFjY291bnR9LWFwLXNvdXRoZWFzdC0yYCxcbiAgICBcImZpbGVtYW5hZ2VyLWludmVudG9yeS10ZXN0XCIsXG4gIF0sXG4gIEdBTU1BOiBbXG4gICAgXCJ1bWNjci10ZW1wLXN0Z1wiLFxuICAgIGBudHNtLWZpbmdlcnByaW50cy0ke0dBTU1BX0VOVklST05NRU5ULmFjY291bnR9LWFwLXNvdXRoZWFzdC0yYCxcbiAgICBgZGF0YS1zaGFyaW5nLWFydGlmYWN0cy0ke0dBTU1BX0VOVklST05NRU5ULmFjY291bnR9LWFwLXNvdXRoZWFzdC0yYCxcbiAgXSxcbiAgUFJPRDogW1xuICAgIFwib3JnLnVtY2NyLmRhdGEub25jb2FuYWx5c2VyXCIsXG4gICAgXCJhcmNoaXZlLXByb2QtYW5hbHlzaXMtNTAzOTc3Mjc1NjE2LWFwLXNvdXRoZWFzdC0yXCIsXG4gICAgXCJhcmNoaXZlLXByb2QtZmFzdHEtNTAzOTc3Mjc1NjE2LWFwLXNvdXRoZWFzdC0yXCIsXG4gICAgYG50c20tZmluZ2VycHJpbnRzLSR7UFJPRF9FTlZJUk9OTUVOVC5hY2NvdW50fS1hcC1zb3V0aGVhc3QtMmAsXG4gICAgYGRhdGEtc2hhcmluZy1hcnRpZmFjdHMtJHtQUk9EX0VOVklST05NRU5ULmFjY291bnR9LWFwLXNvdXRoZWFzdC0yYCxcbiAgICBcInBpcGVsaW5lLW1vbnRhdWstOTc3MjUxNTg2NjU3LWFwLXNvdXRoZWFzdC0yXCIsXG4gIF0sXG59O1xuXG5leHBvcnQgY29uc3QgRklMRV9NQU5BR0VSX0NBQ0hFX0JVQ0tFVFM6IFJlY29yZDxTdGFnZU5hbWUsIHN0cmluZ1tdPiA9IHtcbiAgQkVUQTogW3BpcGVsaW5lQ2FjaGVCdWNrZXQuQkVUQV0sXG4gIEdBTU1BOiBbcGlwZWxpbmVDYWNoZUJ1Y2tldC5HQU1NQV0sXG4gIFBST0Q6IFtwaXBlbGluZUNhY2hlQnVja2V0LlBST0RdLFxufTtcblxuZXhwb3J0IGNvbnN0IEZJTEVfTUFOQUdFUl9QUkVTSUdOX1VTRVJfU0VDUkVUID1cbiAgXCJvcmNhYnVzL2ZpbGUtbWFuYWdlci1wcmVzaWduLXVzZXJcIjsgLy8gcHJhZ21hOiBhbGxvd2xpc3Qgc2VjcmV0XG52YWxpZGF0ZVNlY3JldE5hbWUoRklMRV9NQU5BR0VSX1BSRVNJR05fVVNFUl9TRUNSRVQpO1xuXG5leHBvcnQgY29uc3QgRklMRV9NQU5BR0VSX0FDQ0VTU19LRVlfQVJOUzogUmVjb3JkPFN0YWdlTmFtZSwgc3RyaW5nPiA9IHtcbiAgQkVUQTogYGFybjphd3M6c2VjcmV0c21hbmFnZXI6JHtCRVRBX0VOVklST05NRU5ULnJlZ2lvbn06JHtCRVRBX0VOVklST05NRU5ULmFjY291bnR9OnNlY3JldDoke0ZJTEVfTUFOQUdFUl9QUkVTSUdOX1VTRVJfU0VDUkVUfWAsXG4gIEdBTU1BOiBgYXJuOmF3czpzZWNyZXRzbWFuYWdlcjoke0dBTU1BX0VOVklST05NRU5ULnJlZ2lvbn06JHtHQU1NQV9FTlZJUk9OTUVOVC5hY2NvdW50fTpzZWNyZXQ6JHtGSUxFX01BTkFHRVJfUFJFU0lHTl9VU0VSX1NFQ1JFVH1gLFxuICBQUk9EOiBgYXJuOmF3czpzZWNyZXRzbWFuYWdlcjoke1BST0RfRU5WSVJPTk1FTlQucmVnaW9ufToke1BST0RfRU5WSVJPTk1FTlQuYWNjb3VudH06c2VjcmV0OiR7RklMRV9NQU5BR0VSX1BSRVNJR05fVVNFUl9TRUNSRVR9YCxcbn07XG5cbmV4cG9ydCBjb25zdCBGSUxFX01BTkFHRVJfSU5HRVNUX1JPTEUgPSBcIm9yY2FidXMtZmlsZS1tYW5hZ2VyLWluZ2VzdC1yb2xlXCI7XG5leHBvcnQgY29uc3QgRklMRV9NQU5BR0VSX1BSRVNJR05fVVNFUiA9IFwib3JjYWJ1cy1maWxlLW1hbmFnZXItcHJlc2lnbi11c2VyXCI7IC8vIHByYWdtYTogYWxsb3dsaXN0IHNlY3JldFxuZXhwb3J0IGNvbnN0IEZJTEVfTUFOQUdFUl9ET01BSU5fUFJFRklYID0gXCJmaWxlXCI7XG4iXX0=
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1tYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZmlsZS1tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7O0FBRUgsNEVBSXNDO0FBRXRDLDZCQUEyQztBQUMzQyx1Q0FBK0M7QUFFbEMsUUFBQSxvQkFBb0IsR0FBZ0M7SUFDL0QsSUFBSSxFQUFFO1FBQ0osZ0JBQWdCO1FBQ2hCLHFCQUFxQiw0Q0FBZ0IsQ0FBQyxPQUFPLElBQUksNENBQWdCLENBQUMsTUFBTSxFQUFFO1FBQzFFLGlDQUFpQyw0Q0FBZ0IsQ0FBQyxPQUFPLElBQUksNENBQWdCLENBQUMsTUFBTSxFQUFFO1FBQ3RGLDBCQUEwQiw0Q0FBZ0IsQ0FBQyxPQUFPLElBQUksNENBQWdCLENBQUMsTUFBTSxFQUFFO1FBQy9FLDRCQUE0QjtLQUM3QjtJQUNELEtBQUssRUFBRTtRQUNMLGdCQUFnQjtRQUNoQixxQkFBcUIsNkNBQWlCLENBQUMsT0FBTyxJQUFJLDZDQUFpQixDQUFDLE1BQU0sRUFBRTtRQUM1RSxpQ0FBaUMsNkNBQWlCLENBQUMsT0FBTyxJQUFJLDZDQUFpQixDQUFDLE1BQU0sRUFBRTtRQUN4RiwwQkFBMEIsNkNBQWlCLENBQUMsT0FBTyxJQUFJLDZDQUFpQixDQUFDLE1BQU0sRUFBRTtLQUNsRjtJQUNELElBQUksRUFBRTtRQUNKLDZCQUE2QjtRQUM3QixtREFBbUQ7UUFDbkQsZ0RBQWdEO1FBQ2hELHFCQUFxQiw0Q0FBZ0IsQ0FBQyxPQUFPLElBQUksNENBQWdCLENBQUMsTUFBTSxFQUFFO1FBQzFFLGlDQUFpQyw2Q0FBaUIsQ0FBQyxPQUFPLElBQUksNENBQWdCLENBQUMsTUFBTSxFQUFFO1FBQ3ZGLDBCQUEwQiw0Q0FBZ0IsQ0FBQyxPQUFPLElBQUksNENBQWdCLENBQUMsTUFBTSxFQUFFO1FBQy9FLGlDQUFpQyw0Q0FBZ0IsQ0FBQyxNQUFNLEVBQUU7S0FDM0Q7Q0FDRixDQUFDO0FBRVcsUUFBQSwwQkFBMEIsR0FBZ0M7SUFDckUsSUFBSSxFQUFFLENBQUMsd0JBQW1CLENBQUMsSUFBSSxDQUFDO0lBQ2hDLEtBQUssRUFBRSxDQUFDLHdCQUFtQixDQUFDLEtBQUssQ0FBQztJQUNsQyxJQUFJLEVBQUUsQ0FBQyx3QkFBbUIsQ0FBQyxJQUFJLENBQUM7Q0FDakMsQ0FBQztBQUVXLFFBQUEsZ0NBQWdDLEdBQzNDLG1DQUFtQyxDQUFDLENBQUMsMkJBQTJCO0FBQ2xFLElBQUEsNEJBQWtCLEVBQUMsd0NBQWdDLENBQUMsQ0FBQztBQUV4QyxRQUFBLDRCQUE0QixHQUE4QjtJQUNyRSxJQUFJLEVBQUUsMEJBQTBCLDRDQUFnQixDQUFDLE1BQU0sSUFBSSw0Q0FBZ0IsQ0FBQyxPQUFPLFdBQVcsd0NBQWdDLEVBQUU7SUFDaEksS0FBSyxFQUFFLDBCQUEwQiw2Q0FBaUIsQ0FBQyxNQUFNLElBQUksNkNBQWlCLENBQUMsT0FBTyxXQUFXLHdDQUFnQyxFQUFFO0lBQ25JLElBQUksRUFBRSwwQkFBMEIsNENBQWdCLENBQUMsTUFBTSxJQUFJLDRDQUFnQixDQUFDLE9BQU8sV0FBVyx3Q0FBZ0MsRUFBRTtDQUNqSSxDQUFDO0FBRVcsUUFBQSx3QkFBd0IsR0FBRyxrQ0FBa0MsQ0FBQztBQUM5RCxRQUFBLHlCQUF5QixHQUFHLG1DQUFtQyxDQUFDLENBQUMsMkJBQTJCO0FBQzVGLFFBQUEsMEJBQTBCLEdBQUcsTUFBTSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBTaGFyZWQgY29uZmlnIGZvciB0aGUgRmlsZU1hbmFnZXIuXG4gKi9cblxuaW1wb3J0IHtcbiAgQkVUQV9FTlZJUk9OTUVOVCxcbiAgR0FNTUFfRU5WSVJPTk1FTlQsXG4gIFBST0RfRU5WSVJPTk1FTlQsXG59IGZyb20gXCIuLi9kZXBsb3ltZW50LXN0YWNrLXBpcGVsaW5lXCI7XG5pbXBvcnQgeyBTdGFnZU5hbWUgfSBmcm9tIFwiLi9hY2NvdW50c1wiO1xuaW1wb3J0IHsgcGlwZWxpbmVDYWNoZUJ1Y2tldCB9IGZyb20gXCIuL3MzXCI7XG5pbXBvcnQgeyB2YWxpZGF0ZVNlY3JldE5hbWUgfSBmcm9tIFwiLi9zZWNyZXRzXCI7XG5cbmV4cG9ydCBjb25zdCBGSUxFX01BTkFHRVJfQlVDS0VUUzogUmVjb3JkPFN0YWdlTmFtZSwgc3RyaW5nW10+ID0ge1xuICBCRVRBOiBbXG4gICAgXCJ1bWNjci10ZW1wLWRldlwiLFxuICAgIGBudHNtLWZpbmdlcnByaW50cy0ke0JFVEFfRU5WSVJPTk1FTlQuYWNjb3VudH0tJHtCRVRBX0VOVklST05NRU5ULnJlZ2lvbn1gLFxuICAgIGBmYXN0cS1tYW5hZ2VyLXNlcXVhbGktb3V0cHV0cy0ke0JFVEFfRU5WSVJPTk1FTlQuYWNjb3VudH0tJHtCRVRBX0VOVklST05NRU5ULnJlZ2lvbn1gLFxuICAgIGBkYXRhLXNoYXJpbmctYXJ0aWZhY3RzLSR7QkVUQV9FTlZJUk9OTUVOVC5hY2NvdW50fS0ke0JFVEFfRU5WSVJPTk1FTlQucmVnaW9ufWAsXG4gICAgXCJmaWxlbWFuYWdlci1pbnZlbnRvcnktdGVzdFwiLFxuICBdLFxuICBHQU1NQTogW1xuICAgIFwidW1jY3ItdGVtcC1zdGdcIixcbiAgICBgbnRzbS1maW5nZXJwcmludHMtJHtHQU1NQV9FTlZJUk9OTUVOVC5hY2NvdW50fS0ke0dBTU1BX0VOVklST05NRU5ULnJlZ2lvbn1gLFxuICAgIGBmYXN0cS1tYW5hZ2VyLXNlcXVhbGktb3V0cHV0cy0ke0dBTU1BX0VOVklST05NRU5ULmFjY291bnR9LSR7R0FNTUFfRU5WSVJPTk1FTlQucmVnaW9ufWAsXG4gICAgYGRhdGEtc2hhcmluZy1hcnRpZmFjdHMtJHtHQU1NQV9FTlZJUk9OTUVOVC5hY2NvdW50fS0ke0dBTU1BX0VOVklST05NRU5ULnJlZ2lvbn1gLFxuICBdLFxuICBQUk9EOiBbXG4gICAgXCJvcmcudW1jY3IuZGF0YS5vbmNvYW5hbHlzZXJcIixcbiAgICBcImFyY2hpdmUtcHJvZC1hbmFseXNpcy01MDM5NzcyNzU2MTYtYXAtc291dGhlYXN0LTJcIixcbiAgICBcImFyY2hpdmUtcHJvZC1mYXN0cS01MDM5NzcyNzU2MTYtYXAtc291dGhlYXN0LTJcIixcbiAgICBgbnRzbS1maW5nZXJwcmludHMtJHtQUk9EX0VOVklST05NRU5ULmFjY291bnR9LSR7UFJPRF9FTlZJUk9OTUVOVC5yZWdpb259YCxcbiAgICBgZmFzdHEtbWFuYWdlci1zZXF1YWxpLW91dHB1dHMtJHtHQU1NQV9FTlZJUk9OTUVOVC5hY2NvdW50fS0ke1BST0RfRU5WSVJPTk1FTlQucmVnaW9ufWAsXG4gICAgYGRhdGEtc2hhcmluZy1hcnRpZmFjdHMtJHtQUk9EX0VOVklST05NRU5ULmFjY291bnR9LSR7UFJPRF9FTlZJUk9OTUVOVC5yZWdpb259YCxcbiAgICBgcGlwZWxpbmUtbW9udGF1ay05NzcyNTE1ODY2NTctJHtQUk9EX0VOVklST05NRU5ULnJlZ2lvbn1gLFxuICBdLFxufTtcblxuZXhwb3J0IGNvbnN0IEZJTEVfTUFOQUdFUl9DQUNIRV9CVUNLRVRTOiBSZWNvcmQ8U3RhZ2VOYW1lLCBzdHJpbmdbXT4gPSB7XG4gIEJFVEE6IFtwaXBlbGluZUNhY2hlQnVja2V0LkJFVEFdLFxuICBHQU1NQTogW3BpcGVsaW5lQ2FjaGVCdWNrZXQuR0FNTUFdLFxuICBQUk9EOiBbcGlwZWxpbmVDYWNoZUJ1Y2tldC5QUk9EXSxcbn07XG5cbmV4cG9ydCBjb25zdCBGSUxFX01BTkFHRVJfUFJFU0lHTl9VU0VSX1NFQ1JFVCA9XG4gIFwib3JjYWJ1cy9maWxlLW1hbmFnZXItcHJlc2lnbi11c2VyXCI7IC8vIHByYWdtYTogYWxsb3dsaXN0IHNlY3JldFxudmFsaWRhdGVTZWNyZXROYW1lKEZJTEVfTUFOQUdFUl9QUkVTSUdOX1VTRVJfU0VDUkVUKTtcblxuZXhwb3J0IGNvbnN0IEZJTEVfTUFOQUdFUl9BQ0NFU1NfS0VZX0FSTlM6IFJlY29yZDxTdGFnZU5hbWUsIHN0cmluZz4gPSB7XG4gIEJFVEE6IGBhcm46YXdzOnNlY3JldHNtYW5hZ2VyOiR7QkVUQV9FTlZJUk9OTUVOVC5yZWdpb259OiR7QkVUQV9FTlZJUk9OTUVOVC5hY2NvdW50fTpzZWNyZXQ6JHtGSUxFX01BTkFHRVJfUFJFU0lHTl9VU0VSX1NFQ1JFVH1gLFxuICBHQU1NQTogYGFybjphd3M6c2VjcmV0c21hbmFnZXI6JHtHQU1NQV9FTlZJUk9OTUVOVC5yZWdpb259OiR7R0FNTUFfRU5WSVJPTk1FTlQuYWNjb3VudH06c2VjcmV0OiR7RklMRV9NQU5BR0VSX1BSRVNJR05fVVNFUl9TRUNSRVR9YCxcbiAgUFJPRDogYGFybjphd3M6c2VjcmV0c21hbmFnZXI6JHtQUk9EX0VOVklST05NRU5ULnJlZ2lvbn06JHtQUk9EX0VOVklST05NRU5ULmFjY291bnR9OnNlY3JldDoke0ZJTEVfTUFOQUdFUl9QUkVTSUdOX1VTRVJfU0VDUkVUfWAsXG59O1xuXG5leHBvcnQgY29uc3QgRklMRV9NQU5BR0VSX0lOR0VTVF9ST0xFID0gXCJvcmNhYnVzLWZpbGUtbWFuYWdlci1pbmdlc3Qtcm9sZVwiO1xuZXhwb3J0IGNvbnN0IEZJTEVfTUFOQUdFUl9QUkVTSUdOX1VTRVIgPSBcIm9yY2FidXMtZmlsZS1tYW5hZ2VyLXByZXNpZ24tdXNlclwiOyAvLyBwcmFnbWE6IGFsbG93bGlzdCBzZWNyZXRcbmV4cG9ydCBjb25zdCBGSUxFX01BTkFHRVJfRE9NQUlOX1BSRUZJWCA9IFwiZmlsZVwiO1xuIl19
@@ -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.38" };
26
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.sharedConfig.networking.OrcaBusVpc", version: "0.0.40" };
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.38" };
45
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.sharedConfig.networking.OrcaBusSharedComputeSecurityGroup", version: "0.0.40" };
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.38" };
14
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@orcabus/platform-cdk-constructs.sharedConfig.slack.SlackAlerts", version: "0.0.40" };
15
15
  /**
16
16
  * Format the ARN for the slack alerts SNS topic for the current stack.
17
17
  * @param stack