@jaypie/constructs 1.1.63 → 1.2.0-rc.0

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.
@@ -36,5 +36,6 @@ export declare class JaypieEnvSecret extends Construct implements ISecret {
36
36
  addToResourcePolicy(statement: PolicyStatement): AddToResourcePolicyResult;
37
37
  denyAccountRootDelete(): void;
38
38
  attach(target: ISecretAttachmentTarget): ISecret;
39
+ cfnDynamicReferenceKey(options?: Parameters<ISecret["cfnDynamicReferenceKey"]>[0]): string;
39
40
  get envKey(): string | undefined;
40
41
  }
@@ -50,6 +50,10 @@ export declare class JaypieQueuedLambda extends Construct implements lambda.IFun
50
50
  };
51
51
  get stack(): Stack;
52
52
  applyRemovalPolicy(policy: RemovalPolicy): void;
53
+ get queueRef(): {
54
+ queueUrl: string;
55
+ queueArn: string;
56
+ };
53
57
  get fifo(): boolean;
54
58
  get queueArn(): string;
55
59
  get queueName(): string;
@@ -3,7 +3,7 @@ export { constructEnvName } from "./constructEnvName";
3
3
  export { constructStackName } from "./constructStackName";
4
4
  export { constructTagger } from "./constructTagger";
5
5
  export { envHostname } from "./envHostname";
6
- export { extendDatadogRole, ExtendDatadogRoleOptions } from "./extendDatadogRole";
6
+ export { extendDatadogRole, ExtendDatadogRoleOptions, } from "./extendDatadogRole";
7
7
  export { isEnv, isProductionEnv, isSandboxEnv } from "./isEnv";
8
8
  export { isValidHostname } from "./isValidHostname";
9
9
  export { isValidSubdomain } from "./isValidSubdomain";
@@ -97,8 +97,8 @@ const CDK$2 = {
97
97
  DATADOG: {
98
98
  SITE: "datadoghq.com",
99
99
  LAYER: {
100
- // https://docs.datadoghq.com/serverless/aws_lambda/installation/nodejs/?tab=awscdk
101
- NODE: 127, // 127 on 9/12/2025
100
+ // https://docs.datadoghq.com/meta/latest-lambda-layer-version.json
101
+ NODE: 131, // 127 on 9/12/2025
102
102
  EXTENSION: 86, // 86 on 9/12/2025
103
103
  },
104
104
  },
@@ -238,7 +238,6 @@ class JaypieAccountLoggingBucket extends constructs.Construct {
238
238
  ? `account-logging-stack-${process.env.PROJECT_NONCE.toLowerCase()}`
239
239
  : "account-logging-stack";
240
240
  // Extract Jaypie-specific options
241
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
242
241
  const { bucketName = defaultBucketName, createOutput = true, expirationDays = 365, exportName = CDK$2.IMPORT.LOG_BUCKET, glacierTransitionDays = 180, id: _id, infrequentAccessTransitionDays = 30, outputDescription = "Account-wide logging bucket", project, service = CDK$2.SERVICE.INFRASTRUCTURE, ...bucketProps } = props;
243
242
  // Create the bucket with lifecycle rules
244
243
  this.bucket = new s3.Bucket(this, "Bucket", {
@@ -901,7 +900,9 @@ class JaypieAppStack extends JaypieStack {
901
900
  class JaypieLambda extends constructs.Construct {
902
901
  constructor(scope, id, props) {
903
902
  super(scope, id);
904
- const { allowAllOutbound, allowPublicSubnet, architecture = lambda__namespace.Architecture.X86_64, code, datadogApiKeyArn, deadLetterQueue, deadLetterQueueEnabled, deadLetterTopic, description, environment: initialEnvironment = {}, envSecrets = {}, ephemeralStorageSize, filesystem, handler = "index.handler", initialPolicy, layers = [], logGroup, logRetention = CDK$2.LAMBDA.LOG_RETENTION, maxEventAge, memorySize = CDK$2.LAMBDA.MEMORY_SIZE, paramsAndSecrets, paramsAndSecretsOptions, profiling, profilingGroup, provisionedConcurrentExecutions, reservedConcurrentExecutions, retryAttempts, roleTag = CDK$2.ROLE.PROCESSING, runtime = lambda__namespace.Runtime.NODEJS_22_X, runtimeManagementMode, secrets = [], securityGroups, timeout = cdk.Duration.seconds(CDK$2.DURATION.LAMBDA_WORKER), tracing, vendorTag, vpc, vpcSubnets, } = props;
903
+ const { allowAllOutbound, allowPublicSubnet, architecture = lambda__namespace.Architecture.X86_64, code, datadogApiKeyArn, deadLetterQueue, deadLetterQueueEnabled, deadLetterTopic, description, environment: initialEnvironment = {}, envSecrets = {}, ephemeralStorageSize, filesystem, handler = "index.handler", initialPolicy, layers = [], logGroup, logRetention = CDK$2.LAMBDA.LOG_RETENTION, maxEventAge, memorySize = CDK$2.LAMBDA.MEMORY_SIZE, paramsAndSecrets, paramsAndSecretsOptions, profiling, profilingGroup, provisionedConcurrentExecutions, reservedConcurrentExecutions, retryAttempts, roleTag = CDK$2.ROLE.PROCESSING, runtime = new lambda__namespace.Runtime("nodejs24.x", lambda__namespace.RuntimeFamily.NODEJS, {
904
+ supportsInlineCode: true,
905
+ }), runtimeManagementMode, secrets = [], securityGroups, timeout = cdk.Duration.seconds(CDK$2.DURATION.LAMBDA_WORKER), tracing, vendorTag, vpc, vpcSubnets, } = props;
905
906
  // Get base environment with defaults
906
907
  const environment = jaypieLambdaEnv({ initialEnvironment });
907
908
  const codeAsset = typeof code === "string" ? lambda__namespace.Code.fromAsset(code) : code;
@@ -1124,7 +1125,9 @@ class JaypieLambda extends constructs.Construct {
1124
1125
  class JaypieQueuedLambda extends constructs.Construct {
1125
1126
  constructor(scope, id, props) {
1126
1127
  super(scope, id);
1127
- const { allowAllOutbound, allowPublicSubnet, architecture, batchSize = 1, code, datadogApiKeyArn, deadLetterQueue, deadLetterQueueEnabled, deadLetterTopic, description, environment = {}, envSecrets = {}, ephemeralStorageSize, fifo = true, filesystem, handler = "index.handler", initialPolicy, layers = [], logGroup, logRetention = CDK$2.LAMBDA.LOG_RETENTION, maxEventAge, memorySize = CDK$2.LAMBDA.MEMORY_SIZE, paramsAndSecrets, paramsAndSecretsOptions, profiling, profilingGroup, provisionedConcurrentExecutions, reservedConcurrentExecutions, retryAttempts, roleTag, runtime = lambda__namespace.Runtime.NODEJS_22_X, runtimeManagementMode, secrets = [], securityGroups, timeout = cdk.Duration.seconds(CDK$2.DURATION.LAMBDA_WORKER), tracing, vendorTag, visibilityTimeout = cdk.Duration.seconds(CDK$2.DURATION.LAMBDA_WORKER), vpc, vpcSubnets, } = props;
1128
+ const { allowAllOutbound, allowPublicSubnet, architecture, batchSize = 1, code, datadogApiKeyArn, deadLetterQueue, deadLetterQueueEnabled, deadLetterTopic, description, environment = {}, envSecrets = {}, ephemeralStorageSize, fifo = true, filesystem, handler = "index.handler", initialPolicy, layers = [], logGroup, logRetention = CDK$2.LAMBDA.LOG_RETENTION, maxEventAge, memorySize = CDK$2.LAMBDA.MEMORY_SIZE, paramsAndSecrets, paramsAndSecretsOptions, profiling, profilingGroup, provisionedConcurrentExecutions, reservedConcurrentExecutions, retryAttempts, roleTag, runtime = new lambda__namespace.Runtime("nodejs24.x", lambda__namespace.RuntimeFamily.NODEJS, {
1129
+ supportsInlineCode: true,
1130
+ }), runtimeManagementMode, secrets = [], securityGroups, timeout = cdk.Duration.seconds(CDK$2.DURATION.LAMBDA_WORKER), tracing, vendorTag, visibilityTimeout = cdk.Duration.seconds(CDK$2.DURATION.LAMBDA_WORKER), vpc, vpcSubnets, } = props;
1128
1131
  // Create SQS Queue
1129
1132
  this._queue = new sqs__namespace.Queue(this, "Queue", {
1130
1133
  fifo,
@@ -1292,6 +1295,12 @@ class JaypieQueuedLambda extends constructs.Construct {
1292
1295
  this._queue.applyRemovalPolicy(policy);
1293
1296
  }
1294
1297
  // IQueue implementation
1298
+ get queueRef() {
1299
+ return {
1300
+ queueUrl: this._queue.queueUrl,
1301
+ queueArn: this._queue.queueArn,
1302
+ };
1303
+ }
1295
1304
  get fifo() {
1296
1305
  return this._queue.fifo;
1297
1306
  }
@@ -2012,6 +2021,9 @@ class JaypieEnvSecret extends constructs.Construct {
2012
2021
  attach(target) {
2013
2022
  return this._secret.attach(target);
2014
2023
  }
2024
+ cfnDynamicReferenceKey(options) {
2025
+ return this._secret.cfnDynamicReferenceKey(options);
2026
+ }
2015
2027
  get envKey() {
2016
2028
  return this._envKey;
2017
2029
  }