@jaypie/constructs 1.1.29 → 1.1.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/dist/cjs/JaypieLambda.d.ts +1 -0
- package/dist/cjs/index.cjs +26 -2
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/esm/JaypieLambda.d.ts +1 -0
- package/dist/esm/index.js +27 -3
- package/dist/esm/index.js.map +1 -1
- package/package.json +2 -2
package/dist/esm/index.js
CHANGED
|
@@ -6,7 +6,7 @@ import * as apiGateway from 'aws-cdk-lib/aws-apigateway';
|
|
|
6
6
|
import * as route53 from 'aws-cdk-lib/aws-route53';
|
|
7
7
|
import { HostedZone } from 'aws-cdk-lib/aws-route53';
|
|
8
8
|
import * as route53Targets from 'aws-cdk-lib/aws-route53-targets';
|
|
9
|
-
import { CDK as CDK$2, isValidSubdomain, ConfigurationError, isValidHostname
|
|
9
|
+
import { CDK as CDK$2, mergeDomain, isValidSubdomain, ConfigurationError, isValidHostname } from '@jaypie/cdk';
|
|
10
10
|
import * as s3 from 'aws-cdk-lib/aws-s3';
|
|
11
11
|
import * as s3n from 'aws-cdk-lib/aws-s3-notifications';
|
|
12
12
|
import * as lambda from 'aws-cdk-lib/aws-lambda';
|
|
@@ -109,7 +109,23 @@ function stackTagger(stack, { name } = {}) {
|
|
|
109
109
|
class JaypieApiGateway extends Construct {
|
|
110
110
|
constructor(scope, id, props) {
|
|
111
111
|
super(scope, id);
|
|
112
|
-
const { certificate = true, handler, host, name, roleTag = CDK$2.ROLE.API, zone, } = props;
|
|
112
|
+
const { certificate = true, handler, host: propsHost, name, roleTag = CDK$2.ROLE.API, zone: propsZone, } = props;
|
|
113
|
+
// Determine zone from props or environment
|
|
114
|
+
let zone = propsZone;
|
|
115
|
+
if (!zone && process.env.CDK_ENV_API_HOSTED_ZONE) {
|
|
116
|
+
zone = process.env.CDK_ENV_API_HOSTED_ZONE;
|
|
117
|
+
}
|
|
118
|
+
// Determine host from props or environment
|
|
119
|
+
let host = propsHost;
|
|
120
|
+
if (!host) {
|
|
121
|
+
if (process.env.CDK_ENV_API_HOST_NAME) {
|
|
122
|
+
host = process.env.CDK_ENV_API_HOST_NAME;
|
|
123
|
+
}
|
|
124
|
+
else if (process.env.CDK_ENV_API_SUBDOMAIN &&
|
|
125
|
+
process.env.CDK_ENV_API_HOSTED_ZONE) {
|
|
126
|
+
host = mergeDomain(process.env.CDK_ENV_API_SUBDOMAIN, process.env.CDK_ENV_API_HOSTED_ZONE);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
113
129
|
const apiGatewayName = name || constructEnvName("ApiGateway");
|
|
114
130
|
const certificateName = constructEnvName("Certificate");
|
|
115
131
|
const apiDomainName = constructEnvName("ApiDomainName");
|
|
@@ -273,7 +289,7 @@ class JaypieAppStack extends JaypieStack {
|
|
|
273
289
|
class JaypieLambda extends Construct {
|
|
274
290
|
constructor(scope, id, props) {
|
|
275
291
|
super(scope, id);
|
|
276
|
-
const { code, datadogApiKeyArn, environment: initialEnvironment = {}, envSecrets = {}, handler = "index.handler", layers = [], logRetention = CDK$2.LAMBDA.LOG_RETENTION, memorySize = CDK$2.LAMBDA.MEMORY_SIZE, paramsAndSecrets, paramsAndSecretsOptions, reservedConcurrentExecutions, roleTag = CDK$2.ROLE.PROCESSING, runtime = lambda.Runtime.NODEJS_22_X, secrets = [], timeout = Duration.seconds(CDK$2.DURATION.LAMBDA_WORKER), vendorTag, } = props;
|
|
292
|
+
const { code, datadogApiKeyArn, environment: initialEnvironment = {}, envSecrets = {}, handler = "index.handler", layers = [], logRetention = CDK$2.LAMBDA.LOG_RETENTION, memorySize = CDK$2.LAMBDA.MEMORY_SIZE, paramsAndSecrets, paramsAndSecretsOptions, provisionedConcurrentExecutions, reservedConcurrentExecutions, roleTag = CDK$2.ROLE.PROCESSING, runtime = lambda.Runtime.NODEJS_22_X, secrets = [], timeout = Duration.seconds(CDK$2.DURATION.LAMBDA_WORKER), vendorTag, } = props;
|
|
277
293
|
// Create a mutable copy of the environment variables
|
|
278
294
|
let environment = { ...initialEnvironment };
|
|
279
295
|
// Default environment variables from process.env if present
|
|
@@ -389,6 +405,14 @@ class JaypieLambda extends Construct {
|
|
|
389
405
|
const datadogApiKey = secretsmanager.Secret.fromSecretCompleteArn(this, "DatadogApiKeyGrant", resolvedDatadogApiKeyArn);
|
|
390
406
|
datadogApiKey.grantRead(this._lambda);
|
|
391
407
|
}
|
|
408
|
+
// Configure provisioned concurrency if specified
|
|
409
|
+
if (provisionedConcurrentExecutions !== undefined) {
|
|
410
|
+
new lambda.Alias(this, "ProvisionedAlias", {
|
|
411
|
+
aliasName: "provisioned",
|
|
412
|
+
version: this._lambda.currentVersion,
|
|
413
|
+
provisionedConcurrentExecutions,
|
|
414
|
+
});
|
|
415
|
+
}
|
|
392
416
|
if (roleTag) {
|
|
393
417
|
Tags.of(this._lambda).add(CDK$2.TAG.ROLE, roleTag);
|
|
394
418
|
}
|