@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";
package/dist/esm/index.js CHANGED
@@ -66,8 +66,8 @@ const CDK$2 = {
66
66
  DATADOG: {
67
67
  SITE: "datadoghq.com",
68
68
  LAYER: {
69
- // https://docs.datadoghq.com/serverless/aws_lambda/installation/nodejs/?tab=awscdk
70
- NODE: 127, // 127 on 9/12/2025
69
+ // https://docs.datadoghq.com/meta/latest-lambda-layer-version.json
70
+ NODE: 131, // 127 on 9/12/2025
71
71
  EXTENSION: 86, // 86 on 9/12/2025
72
72
  },
73
73
  },
@@ -207,7 +207,6 @@ class JaypieAccountLoggingBucket extends Construct {
207
207
  ? `account-logging-stack-${process.env.PROJECT_NONCE.toLowerCase()}`
208
208
  : "account-logging-stack";
209
209
  // Extract Jaypie-specific options
210
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
211
210
  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;
212
211
  // Create the bucket with lifecycle rules
213
212
  this.bucket = new Bucket(this, "Bucket", {
@@ -870,7 +869,9 @@ class JaypieAppStack extends JaypieStack {
870
869
  class JaypieLambda extends Construct {
871
870
  constructor(scope, id, props) {
872
871
  super(scope, id);
873
- const { allowAllOutbound, allowPublicSubnet, architecture = lambda.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.Runtime.NODEJS_22_X, runtimeManagementMode, secrets = [], securityGroups, timeout = Duration.seconds(CDK$2.DURATION.LAMBDA_WORKER), tracing, vendorTag, vpc, vpcSubnets, } = props;
872
+ const { allowAllOutbound, allowPublicSubnet, architecture = lambda.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.Runtime("nodejs24.x", lambda.RuntimeFamily.NODEJS, {
873
+ supportsInlineCode: true,
874
+ }), runtimeManagementMode, secrets = [], securityGroups, timeout = Duration.seconds(CDK$2.DURATION.LAMBDA_WORKER), tracing, vendorTag, vpc, vpcSubnets, } = props;
874
875
  // Get base environment with defaults
875
876
  const environment = jaypieLambdaEnv({ initialEnvironment });
876
877
  const codeAsset = typeof code === "string" ? lambda.Code.fromAsset(code) : code;
@@ -1093,7 +1094,9 @@ class JaypieLambda extends Construct {
1093
1094
  class JaypieQueuedLambda extends Construct {
1094
1095
  constructor(scope, id, props) {
1095
1096
  super(scope, id);
1096
- 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.Runtime.NODEJS_22_X, runtimeManagementMode, secrets = [], securityGroups, timeout = Duration.seconds(CDK$2.DURATION.LAMBDA_WORKER), tracing, vendorTag, visibilityTimeout = Duration.seconds(CDK$2.DURATION.LAMBDA_WORKER), vpc, vpcSubnets, } = props;
1097
+ 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.Runtime("nodejs24.x", lambda.RuntimeFamily.NODEJS, {
1098
+ supportsInlineCode: true,
1099
+ }), runtimeManagementMode, secrets = [], securityGroups, timeout = Duration.seconds(CDK$2.DURATION.LAMBDA_WORKER), tracing, vendorTag, visibilityTimeout = Duration.seconds(CDK$2.DURATION.LAMBDA_WORKER), vpc, vpcSubnets, } = props;
1097
1100
  // Create SQS Queue
1098
1101
  this._queue = new sqs.Queue(this, "Queue", {
1099
1102
  fifo,
@@ -1261,6 +1264,12 @@ class JaypieQueuedLambda extends Construct {
1261
1264
  this._queue.applyRemovalPolicy(policy);
1262
1265
  }
1263
1266
  // IQueue implementation
1267
+ get queueRef() {
1268
+ return {
1269
+ queueUrl: this._queue.queueUrl,
1270
+ queueArn: this._queue.queueArn,
1271
+ };
1272
+ }
1264
1273
  get fifo() {
1265
1274
  return this._queue.fifo;
1266
1275
  }
@@ -1981,6 +1990,9 @@ class JaypieEnvSecret extends Construct {
1981
1990
  attach(target) {
1982
1991
  return this._secret.attach(target);
1983
1992
  }
1993
+ cfnDynamicReferenceKey(options) {
1994
+ return this._secret.cfnDynamicReferenceKey(options);
1995
+ }
1984
1996
  get envKey() {
1985
1997
  return this._envKey;
1986
1998
  }