@aws/nx-plugin 0.79.1 → 0.80.1

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.
@@ -7,8 +7,12 @@ import {
7
7
  Function,
8
8
  FunctionProps,
9
9
  Tracing,
10
+ <%_ if (backend.type === 'fastapi') { _%>
11
+ LayerVersion,
12
+ SnapStartConf,
13
+ <%_ } _%>
10
14
  } from 'aws-cdk-lib/aws-lambda';
11
- import { Duration } from 'aws-cdk-lib';
15
+ import { Duration<%_ if (backend.type === 'fastapi') { _%>, Stack<%_ } _%> } from 'aws-cdk-lib';
12
16
  import {
13
17
  CorsHttpMethod,
14
18
  CfnApi,
@@ -109,7 +113,7 @@ export class <%= apiNameClassName %><
109
113
  ),
110
114
  <%_ } else if (backend.type === 'fastapi') { _%>
111
115
  runtime: Runtime.PYTHON_3_12,
112
- handler: '<%= backend.moduleName %>.main.handler',
116
+ handler: 'run.sh',
113
117
  code: Code.fromAsset(
114
118
  url.fileURLToPath(
115
119
  new URL(
@@ -121,15 +125,37 @@ export class <%= apiNameClassName %><
121
125
  <%_ } _%>
122
126
  timeout: Duration.seconds(30),
123
127
  tracing: Tracing.ACTIVE,
128
+ <%_ if (backend.type === 'fastapi') { _%>
129
+ snapStart: SnapStartConf.ON_PUBLISHED_VERSIONS,
130
+ <%_ } _%>
124
131
  environment: {
125
132
  AWS_CONNECTION_REUSE_ENABLED: '1',
133
+ <%_ if (backend.type === 'fastapi') { _%>
134
+ PORT: '8000',
135
+ AWS_LWA_INVOKE_MODE: 'buffered',
136
+ AWS_LAMBDA_EXEC_WRAPPER: '/opt/bootstrap',
137
+ <%_ } _%>
126
138
  },
127
139
  } satisfies FunctionProps,
128
140
  buildDefaultIntegration: (op, props: FunctionProps) => {
129
141
  const handler = new Function(scope, `<%= apiNameClassName %>${op}Handler`, props);
142
+ <%_ if (backend.type === 'fastapi') { _%>
143
+ const stack = Stack.of(scope);
144
+ handler.addLayers(
145
+ LayerVersion.fromLayerVersionArn(
146
+ scope,
147
+ `<%= apiNameClassName %>${op}LWALayer`,
148
+ `arn:aws:lambda:${stack.region}:753240598075:layer:LambdaAdapterLayerX86:24`,
149
+ ),
150
+ );
151
+ <%_ } _%>
130
152
  return {
131
153
  handler,
154
+ <%_ if (backend.type === 'fastapi') { _%>
155
+ integration: new HttpLambdaIntegration(`<%= apiNameClassName %>${op}Integration`, handler.currentVersion),
156
+ <%_ } else { _%>
132
157
  integration: new HttpLambdaIntegration(`<%= apiNameClassName %>${op}Integration`, handler),
158
+ <%_ } _%>
133
159
  };
134
160
  },
135
161
  });
@@ -7,19 +7,23 @@ import {
7
7
  Function,
8
8
  FunctionProps,
9
9
  Tracing,
10
+ <%_ if (backend.type === 'fastapi') { _%>
11
+ LayerVersion,
12
+ SnapStartConf,
13
+ <%_ } _%>
10
14
  } from 'aws-cdk-lib/aws-lambda';
11
15
  import {
12
16
  AuthorizationType,
13
17
  Cors,
14
18
  LambdaIntegration,
15
- <%_ if (backend.type === 'trpc') { _%>
19
+ <%_ if (['trpc', 'fastapi'].includes(backend.type)) { _%>
16
20
  ResponseTransferMode,
17
21
  <%_ } _%>
18
22
  <%_ if (auth === 'Cognito') { _%>
19
23
  CognitoUserPoolsAuthorizer,
20
24
  <%_ } _%>
21
25
  } from 'aws-cdk-lib/aws-apigateway';
22
- import { Duration } from 'aws-cdk-lib';
26
+ import { Duration<%_ if (backend.type === 'fastapi') { _%>, Stack<%_ } _%> } from 'aws-cdk-lib';
23
27
  import {
24
28
  PolicyDocument,
25
29
  PolicyStatement,
@@ -109,7 +113,7 @@ export class <%= apiNameClassName %><
109
113
  ),
110
114
  <%_ } else if (backend.type === 'fastapi') { _%>
111
115
  runtime: Runtime.PYTHON_3_12,
112
- handler: '<%= backend.moduleName %>.main.handler',
116
+ handler: 'run.sh',
113
117
  code: Code.fromAsset(
114
118
  url.fileURLToPath(
115
119
  new URL(
@@ -121,15 +125,37 @@ export class <%= apiNameClassName %><
121
125
  <%_ } _%>
122
126
  timeout: Duration.seconds(30),
123
127
  tracing: Tracing.ACTIVE,
128
+ <%_ if (backend.type === 'fastapi') { _%>
129
+ snapStart: SnapStartConf.ON_PUBLISHED_VERSIONS,
130
+ <%_ } _%>
124
131
  environment: {
125
132
  AWS_CONNECTION_REUSE_ENABLED: '1',
133
+ <%_ if (backend.type === 'fastapi') { _%>
134
+ PORT: '8000',
135
+ AWS_LWA_INVOKE_MODE: 'response_stream',
136
+ AWS_LAMBDA_EXEC_WRAPPER: '/opt/bootstrap',
137
+ <%_ } _%>
126
138
  },
127
139
  } satisfies FunctionProps,
128
140
  buildDefaultIntegration: (op, props: FunctionProps) => {
129
141
  const handler = new Function(scope, `<%= apiNameClassName %>${op}Handler`, props);
142
+ <%_ if (backend.type === 'fastapi') { _%>
143
+ const stack = Stack.of(scope);
144
+ handler.addLayers(
145
+ LayerVersion.fromLayerVersionArn(
146
+ scope,
147
+ `<%= apiNameClassName %>${op}LWALayer`,
148
+ `arn:aws:lambda:${stack.region}:753240598075:layer:LambdaAdapterLayerX86:24`,
149
+ ),
150
+ );
151
+ <%_ } _%>
130
152
  return {
131
153
  handler,
132
- <%_ if (backend.type === 'trpc') { _%>
154
+ <%_ if (backend.type === 'fastapi') { _%>
155
+ integration: new LambdaIntegration(handler.currentVersion, {
156
+ responseTransferMode: ResponseTransferMode.STREAM,
157
+ }),
158
+ <%_ } else if (backend.type === 'trpc') { _%>
133
159
  integration: new LambdaIntegration(handler, {
134
160
  responseTransferMode: ResponseTransferMode.STREAM,
135
161
  }),
@@ -132,11 +132,15 @@ resource "aws_lambda_function" "api_lambda" {
132
132
  handler = "index.handler"
133
133
  runtime = "nodejs22.x"
134
134
  <%_ } else if (backend.type === 'fastapi') { _%>
135
- handler = "<%= backend.moduleName %>.main.handler"
135
+ handler = "run.sh"
136
136
  runtime = "python3.12"
137
+ layers = ["arn:aws:lambda:${data.aws_region.current.name}:753240598075:layer:LambdaAdapterLayerX86:24"]
137
138
  <%_ } _%>
138
139
  timeout = 30
139
140
  memory_size = 128
141
+ <%_ if (backend.type === 'fastapi') { _%>
142
+ publish = true
143
+ <%_ } _%>
140
144
 
141
145
  source_code_hash = data.archive_file.lambda_zip.output_base64sha256
142
146
 
@@ -145,9 +149,21 @@ resource "aws_lambda_function" "api_lambda" {
145
149
  mode = "Active"
146
150
  }
147
151
 
152
+ <%_ if (backend.type === 'fastapi') { _%>
153
+ # Enable SnapStart for faster cold starts
154
+ snap_start {
155
+ apply_on = "PublishedVersions"
156
+ }
157
+ <%_ } _%>
158
+
148
159
  environment {
149
160
  variables = merge({
150
161
  AWS_CONNECTION_REUSE_ENABLED = "1"
162
+ <%_ if (backend.type === 'fastapi') { _%>
163
+ PORT = "8000"
164
+ AWS_LWA_INVOKE_MODE = "buffered"
165
+ AWS_LAMBDA_EXEC_WRAPPER = "/opt/bootstrap"
166
+ <%_ } _%>
151
167
  }, var.env)
152
168
  }
153
169
 
@@ -207,6 +223,17 @@ resource "aws_cloudwatch_log_group" "lambda_logs" {
207
223
  tags = var.tags
208
224
  }
209
225
 
226
+ <%_ if (backend.type === 'fastapi') { _%>
227
+ # Lambda alias pointing to the latest published version for SnapStart
228
+ resource "aws_lambda_alias" "live" {
229
+ name = "live"
230
+ function_name = aws_lambda_function.api_lambda.function_name
231
+ function_version = aws_lambda_function.api_lambda.version
232
+
233
+ depends_on = [aws_lambda_function.api_lambda]
234
+ }
235
+ <%_ } _%>
236
+
210
237
  <%_ if (auth === 'Cognito') { _%>
211
238
  # Cognito User Pool Authorizer
212
239
  resource "aws_apigatewayv2_authorizer" "cognito_authorizer" {
@@ -226,12 +253,20 @@ resource "aws_apigatewayv2_authorizer" "cognito_authorizer" {
226
253
  resource "aws_apigatewayv2_integration" "lambda_integration" {
227
254
  api_id = module.http_api.api_id
228
255
  integration_type = "AWS_PROXY"
256
+ <%_ if (backend.type === 'fastapi') { _%>
257
+ integration_uri = aws_lambda_alias.live.invoke_arn
258
+ <%_ } else { _%>
229
259
  integration_uri = aws_lambda_function.api_lambda.invoke_arn
260
+ <%_ } _%>
230
261
 
231
262
  payload_format_version = "2.0"
232
263
  timeout_milliseconds = 30000
233
264
 
265
+ <%_ if (backend.type === 'fastapi') { _%>
266
+ depends_on = [aws_lambda_alias.live]
267
+ <%_ } else { _%>
234
268
  depends_on = [aws_lambda_function.api_lambda]
269
+ <%_ } _%>
235
270
  }
236
271
 
237
272
  # Route for proxy integration (catches all requests)
@@ -268,15 +303,22 @@ module "add_url_to_runtime_config" {
268
303
  depends_on = [module.http_api]
269
304
  }
270
305
 
271
- # Lambda permission for API Gateway to invoke the function
306
+ # Lambda permission for API Gateway to invoke the function<% if (backend.type === 'fastapi') { %> via alias<% } %>
272
307
  resource "aws_lambda_permission" "api_gateway_invoke" {
273
308
  statement_id = "AllowExecutionFromAPIGateway"
274
309
  action = "lambda:InvokeFunction"
275
310
  function_name = aws_lambda_function.api_lambda.function_name
311
+ <%_ if (backend.type === 'fastapi') { _%>
312
+ qualifier = aws_lambda_alias.live.name
313
+ <%_ } _%>
276
314
  principal = "apigateway.amazonaws.com"
277
315
  source_arn = "${module.http_api.api_execution_arn}/*/*"
278
316
 
317
+ <%_ if (backend.type === 'fastapi') { _%>
318
+ depends_on = [module.http_api, aws_lambda_alias.live]
319
+ <%_ } else { _%>
279
320
  depends_on = [module.http_api, aws_lambda_function.api_lambda]
321
+ <%_ } _%>
280
322
  }
281
323
 
282
324
  # Outputs
@@ -110,11 +110,15 @@ resource "aws_lambda_function" "api_lambda" {
110
110
  handler = "index.handler"
111
111
  runtime = "nodejs22.x"
112
112
  <%_ } else if (backend.type === 'fastapi') { _%>
113
- handler = "<%= backend.moduleName %>.main.handler"
113
+ handler = "run.sh"
114
114
  runtime = "python3.12"
115
+ layers = ["arn:aws:lambda:${data.aws_region.current.name}:753240598075:layer:LambdaAdapterLayerX86:24"]
115
116
  <%_ } _%>
116
117
  timeout = 30
117
118
  memory_size = 128
119
+ <%_ if (backend.type === 'fastapi') { _%>
120
+ publish = true
121
+ <%_ } _%>
118
122
 
119
123
  source_code_hash = data.archive_file.lambda_zip.output_base64sha256
120
124
 
@@ -123,9 +127,21 @@ resource "aws_lambda_function" "api_lambda" {
123
127
  mode = "Active"
124
128
  }
125
129
 
130
+ <%_ if (backend.type === 'fastapi') { _%>
131
+ # Enable SnapStart for faster cold starts
132
+ snap_start {
133
+ apply_on = "PublishedVersions"
134
+ }
135
+ <%_ } _%>
136
+
126
137
  environment {
127
138
  variables = merge({
128
139
  AWS_CONNECTION_REUSE_ENABLED = "1"
140
+ <%_ if (backend.type === 'fastapi') { _%>
141
+ PORT = "8000"
142
+ AWS_LWA_INVOKE_MODE = "response_stream"
143
+ AWS_LAMBDA_EXEC_WRAPPER = "/opt/bootstrap"
144
+ <%_ } _%>
129
145
  }, var.env)
130
146
  }
131
147
 
@@ -185,6 +201,17 @@ resource "aws_cloudwatch_log_group" "lambda_logs" {
185
201
  tags = var.tags
186
202
  }
187
203
 
204
+ <%_ if (backend.type === 'fastapi') { _%>
205
+ # Lambda alias pointing to the latest published version for SnapStart
206
+ resource "aws_lambda_alias" "live" {
207
+ name = "live"
208
+ function_name = aws_lambda_function.api_lambda.function_name
209
+ function_version = aws_lambda_function.api_lambda.version
210
+
211
+ depends_on = [aws_lambda_function.api_lambda]
212
+ }
213
+ <%_ } _%>
214
+
188
215
  <%_ if (auth === 'Cognito') { _%>
189
216
  # Cognito User Pool Authorizer
190
217
  resource "aws_api_gateway_authorizer" "cognito_authorizer" {
@@ -211,14 +238,22 @@ resource "aws_api_gateway_integration" "lambda_integration" {
211
238
 
212
239
  integration_http_method = "POST"
213
240
  type = "AWS_PROXY"
214
- <%_ if (backend.type === 'trpc') { _%>
241
+ <%_ if (backend.type === 'fastapi') { _%>
242
+ # Use the response streaming invocation path with the alias ARN for SnapStart
243
+ uri = "arn:aws:apigateway:${data.aws_region.current.name}:lambda:path/2021-11-15/functions/${aws_lambda_alias.live.arn}/response-streaming-invocations"
244
+ response_transfer_mode = "STREAM"
245
+ <%_ } else if (backend.type === 'trpc') { _%>
215
246
  uri = aws_lambda_function.api_lambda.response_streaming_invoke_arn
216
247
  response_transfer_mode = "STREAM"
217
248
  <%_ } else { _%>
218
249
  uri = aws_lambda_function.api_lambda.invoke_arn
219
250
  <%_ } _%>
220
251
 
252
+ <%_ if (backend.type === 'fastapi') { _%>
253
+ depends_on = [aws_lambda_alias.live]
254
+ <%_ } else { _%>
221
255
  depends_on = [aws_lambda_function.api_lambda]
256
+ <%_ } _%>
222
257
  }
223
258
 
224
259
  # Method for proxy integration
@@ -379,16 +414,41 @@ resource "aws_api_gateway_rest_api_policy" "api_policy" {
379
414
  })
380
415
  }
381
416
 
417
+ <%_ if (backend.type === 'fastapi') { _%>
418
+ # Lambda permission for API Gateway to invoke the function via alias
419
+ <%_ } else { _%>
382
420
  # Lambda permission for API Gateway to invoke the function
421
+ <%_ } _%>
383
422
  resource "aws_lambda_permission" "api_gateway_invoke" {
384
423
  statement_id = "AllowExecutionFromAPIGateway"
385
424
  action = "lambda:InvokeFunction"
386
425
  function_name = aws_lambda_function.api_lambda.function_name
426
+ <%_ if (backend.type === 'fastapi') { _%>
427
+ qualifier = aws_lambda_alias.live.name
428
+ <%_ } _%>
387
429
  principal = "apigateway.amazonaws.com"
388
430
  source_arn = "${module.rest_api.api_execution_arn}/*/*"
389
431
 
432
+ <%_ if (backend.type === 'fastapi') { _%>
433
+ depends_on = [module.rest_api, aws_lambda_alias.live]
434
+ <%_ } else { _%>
390
435
  depends_on = [module.rest_api, aws_lambda_function.api_lambda]
436
+ <%_ } _%>
437
+ }
438
+
439
+ <%_ if (backend.type === 'fastapi') { _%>
440
+ # Lambda permission for API Gateway to invoke with response streaming via alias
441
+ resource "aws_lambda_permission" "api_gateway_invoke_streaming" {
442
+ statement_id = "AllowStreamingFromAPIGateway"
443
+ action = "lambda:InvokeFunctionWithResponseStream"
444
+ function_name = aws_lambda_function.api_lambda.function_name
445
+ qualifier = aws_lambda_alias.live.name
446
+ principal = "apigateway.amazonaws.com"
447
+ source_arn = "${module.rest_api.api_execution_arn}/*/*"
448
+
449
+ depends_on = [module.rest_api, aws_lambda_alias.live]
391
450
  }
451
+ <%_ } _%>
392
452
 
393
453
  # Add API url to runtime config
394
454
  module "add_url_to_runtime_config" {
@@ -104,7 +104,6 @@ export declare const PY_VERSIONS: {
104
104
  readonly checkov: "==3.2.505";
105
105
  readonly fastapi: "==0.131.0";
106
106
  readonly 'fastapi[standard]': "==0.131.0";
107
- readonly mangum: "==0.21.0";
108
107
  readonly mcp: "==1.26.0";
109
108
  readonly 'pip-check-updates': "==0.28.0";
110
109
  readonly 'strands-agents': "==1.27.0";
@@ -105,7 +105,6 @@ exports.PY_VERSIONS = {
105
105
  checkov: '==3.2.505',
106
106
  fastapi: '==0.131.0',
107
107
  'fastapi[standard]': '==0.131.0',
108
- mangum: '==0.21.0',
109
108
  mcp: '==1.26.0',
110
109
  'pip-check-updates': '==0.28.0',
111
110
  'strands-agents': '==1.27.0',
@@ -1 +1 @@
1
- {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/versions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/versions.ts"],"names":[],"mappings":"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"}