@aws/nx-plugin 0.118.0 → 0.120.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.
- package/package.json +1 -1
- package/src/infra/app/generator.js +30 -18
- package/src/infra/app/generator.js.map +1 -1
- package/src/mcp-server/tools/create-workspace-command.js +5 -0
- package/src/mcp-server/tools/create-workspace-command.js.map +1 -1
- package/src/mcp-server/tools/general-guidance.js +3 -3
- package/src/mcp-server/tools/general-guidance.js.map +1 -1
- package/src/preset/__snapshots__/generator.spec.ts.snap +5 -1
- package/src/preset/generator.d.ts +1 -1
- package/src/preset/generator.js +30 -3
- package/src/preset/generator.js.map +1 -1
- package/src/preset/git-secrets-files/git-secrets-dir/git-secrets +206 -0
- package/src/preset/git-secrets-files/husky-dir/pre-commit +4 -0
- package/src/preset/schema.d.ts +5 -0
- package/src/preset/schema.json +13 -0
- package/src/py/agent/__snapshots__/generator.spec.ts.snap +2 -2
- package/src/py/agent/generator.js +8 -2
- package/src/py/agent/generator.js.map +1 -1
- package/src/py/agent/schema.json +1 -1
- package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +197 -12
- package/src/py/fast-api/generator.js +9 -0
- package/src/py/fast-api/generator.js.map +1 -1
- package/src/py/fast-api/schema.d.ts +1 -1
- package/src/py/fast-api/schema.json +2 -2
- package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +2 -2
- package/src/py/mcp-server/generator.js +7 -1
- package/src/py/mcp-server/generator.js.map +1 -1
- package/src/py/mcp-server/schema.json +1 -1
- package/src/smithy/project/generator.js +3 -1
- package/src/smithy/project/generator.js.map +1 -1
- package/src/smithy/ts/api/__snapshots__/generator.spec.ts.snap +195 -11
- package/src/smithy/ts/api/generator.js +18 -0
- package/src/smithy/ts/api/generator.js.map +1 -1
- package/src/smithy/ts/api/schema.d.ts +1 -1
- package/src/smithy/ts/api/schema.json +2 -2
- package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +258 -25
- package/src/trpc/backend/generator.js +19 -0
- package/src/trpc/backend/generator.js.map +1 -1
- package/src/trpc/backend/schema.d.ts +1 -1
- package/src/trpc/backend/schema.json +2 -2
- package/src/trpc/react/__snapshots__/generator.spec.ts.snap +28 -18
- package/src/trpc/react/files/src/components/__apiNameClassName__ClientProvider.tsx.template +9 -6
- package/src/trpc/react/generator.js +2 -6
- package/src/trpc/react/generator.js.map +1 -1
- package/src/ts/agent/__snapshots__/generator.spec.ts.snap +2 -2
- package/src/ts/agent/generator.js +8 -2
- package/src/ts/agent/generator.js.map +1 -1
- package/src/ts/agent/schema.json +1 -1
- package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +2 -2
- package/src/ts/mcp-server/generator.js +7 -1
- package/src/ts/mcp-server/generator.js.map +1 -1
- package/src/ts/mcp-server/schema.json +1 -1
- package/src/ts/rdb/__snapshots__/generator.spec.ts.snap +128 -107
- package/src/ts/rdb/files/scripts/docker-pull.ts.template +11 -11
- package/src/ts/rdb/files/scripts/docker-start.ts.template +58 -56
- package/src/ts/rdb/generator.js +5 -6
- package/src/ts/rdb/generator.js.map +1 -1
- package/src/utils/agent-core-constructs/agent-core-constructs.d.ts +4 -0
- package/src/utils/agent-core-constructs/agent-core-constructs.js +3 -1
- package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -1
- package/src/utils/agent-core-constructs/files/terraform/core/agent-core/runtime.tf.template +6 -6
- package/src/utils/api-constructs/api-constructs.d.ts +3 -1
- package/src/utils/api-constructs/api-constructs.js.map +1 -1
- package/src/utils/api-constructs/files/cdk/app/apis/http/__apiNameKebabCase__.ts.template +38 -6
- package/src/utils/api-constructs/files/cdk/app/apis/rest/__apiNameKebabCase__.ts.template +39 -3
- package/src/utils/api-constructs/files/cdk/authorizer/http/authorizer.ts.template +34 -0
- package/src/utils/api-constructs/files/cdk/authorizer/rest/authorizer.ts.template +52 -0
- package/src/utils/api-constructs/files/py-authorizer/http/authorizer.py.template +25 -0
- package/src/utils/api-constructs/files/py-authorizer/rest/authorizer.py.template +39 -0
- package/src/utils/api-constructs/files/terraform/app/apis/http/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +112 -5
- package/src/utils/api-constructs/files/terraform/app/apis/rest/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +114 -6
- package/src/utils/config/index.d.ts +6 -0
- package/src/utils/config/index.js.map +1 -1
- package/src/utils/connection/open-api/react.d.ts +1 -1
- package/src/utils/containers.d.ts +29 -0
- package/src/utils/containers.js +47 -0
- package/src/utils/containers.js.map +1 -0
- package/src/utils/rdb-constructs/files/terraform/app/dbs/__nameKebabCase__/__nameKebabCase__.tf.template +4 -4
- package/src/utils/rdb-constructs/rdb-constructs.d.ts +2 -0
- package/src/utils/rdb-constructs/rdb-constructs.js.map +1 -1
- package/src/utils/versions.d.ts +8 -3
- package/src/utils/versions.js +8 -3
- package/src/utils/versions.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/py/agent/generator.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uCASoB;AACpB,mDAAoD;AACpD,yCAAkD;AAClD,+CAAoD;AAEpD,uCAMwB;AACxB,iDAAsE;AACtE,+CAA0D;AAC1D,6CAAwE;AACxE,uCAGwB;AACxB,mGAAwF;AACxF,oFAIuD;AACvD,uCAAmE;AAEnE,sDAAkE;AAClE,uCAA4C;AAC5C,qDAAoD;AACpD,qEAA0E;AAC1E,yDAA6D;AAC7D,yCAAqD;AACrD,2CAA8C;AAC9C,6CAA0D;AAE7C,QAAA,uBAAuB,GAClC,IAAA,qBAAgB,EAAC,UAAU,CAAC,CAAC;AAExB,MAAM,gBAAgB,GAAG,KAAK,EACnC,IAAU,EACV,OAA+B,EACH,EAAE;IAC9B,MAAM,OAAO,GAAG,IAAA,wCAAmC,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3E,MAAM,aAAa,GAAG,IAAA,0BAAiB,EAAC,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAExE,iDAAiD;IACjD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CACb,uBAAuB,OAAO,CAAC,OAAO,qDAAqD,CAC5F,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,gIAAgI,CACjI,CAAC;IACJ,CAAC;IAED,mDAAmD;IACnD,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEvD,MAAM,IAAI,GAAG,IAAA,iBAAS,EACpB,OAAO,CAAC,IAAI,IAAI,GAAG,IAAA,iBAAS,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CACpE,CAAC;IACF,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;IAExD,MAAM,kBAAkB,GAAG,IAAA,mBAAW,EAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC;IAChE,MAAM,kBAAkB,GAAG,IAAA,mBAAW,EAAC,IAAI,CAAC,CAAC;IAE7C,MAAM,eAAe,GAAG,IAAA,0BAAiB,EACvC,OAAO,CAAC,UAAU,EAClB,kBAAkB,CACnB,CAAC;IAEF,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,yBAAyB,CAAC;IACrE,MAAM,
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/py/agent/generator.ts"],"names":[],"mappings":"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"}
|
package/src/py/agent/schema.json
CHANGED
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
},
|
|
39
39
|
"auth": {
|
|
40
40
|
"type": "string",
|
|
41
|
-
"description": "The method used to authenticate with your Agent.
|
|
41
|
+
"description": "The method used to authenticate with your Agent. Only applicable when computeType is set (ignored when computeType is None).",
|
|
42
42
|
"default": "IAM",
|
|
43
43
|
"enum": ["IAM", "Cognito"],
|
|
44
44
|
"x-prompt": "How would you like to authenticate with your Agent?",
|
|
@@ -2586,7 +2586,7 @@ output "api_log_group_arn" {
|
|
|
2586
2586
|
}
|
|
2587
2587
|
`;
|
|
2588
2588
|
|
|
2589
|
-
exports[`fastapi project generator > terraform iacProvider > should generate terraform files for HTTP API with
|
|
2589
|
+
exports[`fastapi project generator > terraform iacProvider > should generate terraform files for HTTP API with Custom auth and snapshot them > terraform-http-custom-files 1`] = `
|
|
2590
2590
|
{
|
|
2591
2591
|
"http-api.tf": "# Core HTTP API Gateway module
|
|
2592
2592
|
# This module creates the API Gateway HTTP API, stage, and logging resources
|
|
@@ -3069,6 +3069,100 @@ resource "aws_lambda_alias" "live" {
|
|
|
3069
3069
|
depends_on = [aws_lambda_function.api_lambda]
|
|
3070
3070
|
}
|
|
3071
3071
|
|
|
3072
|
+
# Custom Lambda Authorizer
|
|
3073
|
+
resource "aws_lambda_function" "authorizer_lambda" {
|
|
3074
|
+
#checkov:skip=CKV_AWS_117:Lambda function does not need to be in VPC for this use case
|
|
3075
|
+
#checkov:skip=CKV_AWS_116:Dead Letter Queue not required for authorizer
|
|
3076
|
+
#checkov:skip=CKV_AWS_272:Code signing not required for this use case
|
|
3077
|
+
#checkov:skip=CKV_AWS_115:Concurrent execution limit not required for this use case
|
|
3078
|
+
#checkov:skip=CKV_AWS_173:Lambda environment variables encrypted by managed key
|
|
3079
|
+
s3_bucket = aws_s3_object.authorizer_zip.bucket
|
|
3080
|
+
s3_key = aws_s3_object.authorizer_zip.key
|
|
3081
|
+
s3_object_version = aws_s3_object.authorizer_zip.version_id
|
|
3082
|
+
function_name = "TestApiAuthorizer-\${random_string.suffix.result}"
|
|
3083
|
+
role = aws_iam_role.authorizer_execution_role.arn
|
|
3084
|
+
handler = "proj_test_api.authorizer.handler"
|
|
3085
|
+
runtime = "python3.14"
|
|
3086
|
+
timeout = 10
|
|
3087
|
+
memory_size = 128
|
|
3088
|
+
|
|
3089
|
+
source_code_hash = data.archive_file.authorizer_zip.output_base64sha256
|
|
3090
|
+
|
|
3091
|
+
tracing_config {
|
|
3092
|
+
mode = "Active"
|
|
3093
|
+
}
|
|
3094
|
+
|
|
3095
|
+
tags = var.tags
|
|
3096
|
+
}
|
|
3097
|
+
|
|
3098
|
+
resource "aws_iam_role" "authorizer_execution_role" {
|
|
3099
|
+
name = "TestApiAuthorizer-role-\${random_string.suffix.result}"
|
|
3100
|
+
|
|
3101
|
+
assume_role_policy = jsonencode({
|
|
3102
|
+
Version = "2012-10-17"
|
|
3103
|
+
Statement = [
|
|
3104
|
+
{
|
|
3105
|
+
Action = "sts:AssumeRole"
|
|
3106
|
+
Effect = "Allow"
|
|
3107
|
+
Principal = {
|
|
3108
|
+
Service = "lambda.amazonaws.com"
|
|
3109
|
+
}
|
|
3110
|
+
}
|
|
3111
|
+
]
|
|
3112
|
+
})
|
|
3113
|
+
|
|
3114
|
+
tags = var.tags
|
|
3115
|
+
}
|
|
3116
|
+
|
|
3117
|
+
resource "aws_iam_role_policy_attachment" "authorizer_basic_execution" {
|
|
3118
|
+
policy_arn = "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
|
|
3119
|
+
role = aws_iam_role.authorizer_execution_role.name
|
|
3120
|
+
}
|
|
3121
|
+
|
|
3122
|
+
resource "aws_iam_role_policy_attachment" "authorizer_xray_execution" {
|
|
3123
|
+
policy_arn = "arn:aws:iam::aws:policy/AWSXRayDaemonWriteAccess"
|
|
3124
|
+
role = aws_iam_role.authorizer_execution_role.name
|
|
3125
|
+
}
|
|
3126
|
+
|
|
3127
|
+
resource "aws_cloudwatch_log_group" "authorizer_logs" {
|
|
3128
|
+
#checkov:skip=CKV_AWS_158:Using default CloudWatch log encryption
|
|
3129
|
+
#checkov:skip=CKV_AWS_338:Log retention set to forever
|
|
3130
|
+
#checkov:skip=CKV_AWS_66:Log retention set to forever
|
|
3131
|
+
name = "/aws/lambda/TestApiAuthorizer-\${random_string.suffix.result}"
|
|
3132
|
+
tags = var.tags
|
|
3133
|
+
}
|
|
3134
|
+
|
|
3135
|
+
data "archive_file" "authorizer_zip" {
|
|
3136
|
+
type = "zip"
|
|
3137
|
+
source_dir = "\${path.module}/../../../../../../../dist/apps/test_api/bundle-x86"
|
|
3138
|
+
output_path = "\${path.module}/../../../../../../../dist/packages/common/terraform/apis/test-api/authorizer.zip"
|
|
3139
|
+
}
|
|
3140
|
+
|
|
3141
|
+
resource "aws_s3_object" "authorizer_zip" {
|
|
3142
|
+
bucket = var.asset_bucket_name
|
|
3143
|
+
key = "apis/test-api/authorizer-\${data.archive_file.authorizer_zip.output_sha256}.zip"
|
|
3144
|
+
source = data.archive_file.authorizer_zip.output_path
|
|
3145
|
+
source_hash = data.archive_file.authorizer_zip.output_base64sha256
|
|
3146
|
+
etag = data.archive_file.authorizer_zip.output_md5
|
|
3147
|
+
}
|
|
3148
|
+
|
|
3149
|
+
resource "aws_apigatewayv2_authorizer" "custom_authorizer" {
|
|
3150
|
+
api_id = module.http_api.api_id
|
|
3151
|
+
authorizer_type = "REQUEST"
|
|
3152
|
+
authorizer_uri = aws_lambda_function.authorizer_lambda.invoke_arn
|
|
3153
|
+
authorizer_payload_format_version = "2.0"
|
|
3154
|
+
authorizer_result_ttl_in_seconds = 0
|
|
3155
|
+
enable_simple_responses = true
|
|
3156
|
+
name = "TestApiAuthorizer-\${random_string.suffix.result}"
|
|
3157
|
+
}
|
|
3158
|
+
|
|
3159
|
+
resource "aws_lambda_permission" "authorizer_invoke" {
|
|
3160
|
+
statement_id = "AllowAPIGatewayInvokeAuthorizer"
|
|
3161
|
+
action = "lambda:InvokeFunction"
|
|
3162
|
+
function_name = aws_lambda_function.authorizer_lambda.function_name
|
|
3163
|
+
principal = "apigateway.amazonaws.com"
|
|
3164
|
+
source_arn = "\${module.http_api.api_execution_arn}/authorizers/\${aws_apigatewayv2_authorizer.custom_authorizer.id}"
|
|
3165
|
+
}
|
|
3072
3166
|
|
|
3073
3167
|
# Lambda integration for HTTP API
|
|
3074
3168
|
resource "aws_apigatewayv2_integration" "lambda_integration" {
|
|
@@ -3092,9 +3186,10 @@ resource "aws_apigatewayv2_route" "proxy_routes" {
|
|
|
3092
3186
|
route_key = "\${each.key} /{proxy+}"
|
|
3093
3187
|
target = "integrations/\${aws_apigatewayv2_integration.lambda_integration.id}"
|
|
3094
3188
|
|
|
3095
|
-
authorization_type = "
|
|
3189
|
+
authorization_type = "CUSTOM"
|
|
3190
|
+
authorizer_id = aws_apigatewayv2_authorizer.custom_authorizer.id
|
|
3096
3191
|
|
|
3097
|
-
depends_on = [aws_apigatewayv2_integration.lambda_integration]
|
|
3192
|
+
depends_on = [aws_apigatewayv2_integration.lambda_integration, aws_apigatewayv2_authorizer.custom_authorizer]
|
|
3098
3193
|
}
|
|
3099
3194
|
|
|
3100
3195
|
# Add API url to runtime config
|
|
@@ -3234,7 +3329,7 @@ output "api_log_group_arn" {
|
|
|
3234
3329
|
}
|
|
3235
3330
|
`;
|
|
3236
3331
|
|
|
3237
|
-
exports[`fastapi project generator > terraform iacProvider > should generate terraform files for HTTP API with
|
|
3332
|
+
exports[`fastapi project generator > terraform iacProvider > should generate terraform files for HTTP API with IAM auth and snapshot them > terraform-http-iam-files 1`] = `
|
|
3238
3333
|
{
|
|
3239
3334
|
"http-api.tf": "# Core HTTP API Gateway module
|
|
3240
3335
|
# This module creates the API Gateway HTTP API, stage, and logging resources
|
|
@@ -3740,9 +3835,7 @@ resource "aws_apigatewayv2_route" "proxy_routes" {
|
|
|
3740
3835
|
route_key = "\${each.key} /{proxy+}"
|
|
3741
3836
|
target = "integrations/\${aws_apigatewayv2_integration.lambda_integration.id}"
|
|
3742
3837
|
|
|
3743
|
-
|
|
3744
|
-
# need a public API without authentication
|
|
3745
|
-
authorization_type = "NONE"
|
|
3838
|
+
authorization_type = "AWS_IAM"
|
|
3746
3839
|
|
|
3747
3840
|
depends_on = [aws_apigatewayv2_integration.lambda_integration]
|
|
3748
3841
|
}
|
|
@@ -6023,6 +6116,98 @@ resource "aws_lambda_alias" "live" {
|
|
|
6023
6116
|
depends_on = [aws_lambda_function.api_lambda]
|
|
6024
6117
|
}
|
|
6025
6118
|
|
|
6119
|
+
# Custom Lambda Authorizer
|
|
6120
|
+
resource "aws_lambda_function" "authorizer_lambda" {
|
|
6121
|
+
#checkov:skip=CKV_AWS_117:Lambda function does not need to be in VPC for this use case
|
|
6122
|
+
#checkov:skip=CKV_AWS_116:Dead Letter Queue not required for authorizer
|
|
6123
|
+
#checkov:skip=CKV_AWS_272:Code signing not required for this use case
|
|
6124
|
+
#checkov:skip=CKV_AWS_115:Concurrent execution limit not required for this use case
|
|
6125
|
+
#checkov:skip=CKV_AWS_173:Lambda environment variables encrypted by managed key
|
|
6126
|
+
s3_bucket = aws_s3_object.authorizer_zip.bucket
|
|
6127
|
+
s3_key = aws_s3_object.authorizer_zip.key
|
|
6128
|
+
s3_object_version = aws_s3_object.authorizer_zip.version_id
|
|
6129
|
+
function_name = "TestApiAuthorizer-\${random_string.suffix.result}"
|
|
6130
|
+
role = aws_iam_role.authorizer_execution_role.arn
|
|
6131
|
+
handler = "proj_test_api.authorizer.handler"
|
|
6132
|
+
runtime = "python3.14"
|
|
6133
|
+
timeout = 10
|
|
6134
|
+
memory_size = 128
|
|
6135
|
+
|
|
6136
|
+
source_code_hash = data.archive_file.authorizer_zip.output_base64sha256
|
|
6137
|
+
|
|
6138
|
+
tracing_config {
|
|
6139
|
+
mode = "Active"
|
|
6140
|
+
}
|
|
6141
|
+
|
|
6142
|
+
tags = var.tags
|
|
6143
|
+
}
|
|
6144
|
+
|
|
6145
|
+
resource "aws_iam_role" "authorizer_execution_role" {
|
|
6146
|
+
name = "TestApiAuthorizer-role-\${random_string.suffix.result}"
|
|
6147
|
+
|
|
6148
|
+
assume_role_policy = jsonencode({
|
|
6149
|
+
Version = "2012-10-17"
|
|
6150
|
+
Statement = [
|
|
6151
|
+
{
|
|
6152
|
+
Action = "sts:AssumeRole"
|
|
6153
|
+
Effect = "Allow"
|
|
6154
|
+
Principal = {
|
|
6155
|
+
Service = "lambda.amazonaws.com"
|
|
6156
|
+
}
|
|
6157
|
+
}
|
|
6158
|
+
]
|
|
6159
|
+
})
|
|
6160
|
+
|
|
6161
|
+
tags = var.tags
|
|
6162
|
+
}
|
|
6163
|
+
|
|
6164
|
+
resource "aws_iam_role_policy_attachment" "authorizer_basic_execution" {
|
|
6165
|
+
policy_arn = "arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
|
|
6166
|
+
role = aws_iam_role.authorizer_execution_role.name
|
|
6167
|
+
}
|
|
6168
|
+
|
|
6169
|
+
resource "aws_iam_role_policy_attachment" "authorizer_xray_execution" {
|
|
6170
|
+
policy_arn = "arn:aws:iam::aws:policy/AWSXRayDaemonWriteAccess"
|
|
6171
|
+
role = aws_iam_role.authorizer_execution_role.name
|
|
6172
|
+
}
|
|
6173
|
+
|
|
6174
|
+
resource "aws_cloudwatch_log_group" "authorizer_logs" {
|
|
6175
|
+
#checkov:skip=CKV_AWS_158:Using default CloudWatch log encryption
|
|
6176
|
+
#checkov:skip=CKV_AWS_338:Log retention set to forever
|
|
6177
|
+
#checkov:skip=CKV_AWS_66:Log retention set to forever
|
|
6178
|
+
name = "/aws/lambda/TestApiAuthorizer-\${random_string.suffix.result}"
|
|
6179
|
+
tags = var.tags
|
|
6180
|
+
}
|
|
6181
|
+
|
|
6182
|
+
data "archive_file" "authorizer_zip" {
|
|
6183
|
+
type = "zip"
|
|
6184
|
+
source_dir = "\${path.module}/../../../../../../../dist/apps/test_api/bundle-x86"
|
|
6185
|
+
output_path = "\${path.module}/../../../../../../../dist/packages/common/terraform/apis/test-api/authorizer.zip"
|
|
6186
|
+
}
|
|
6187
|
+
|
|
6188
|
+
resource "aws_s3_object" "authorizer_zip" {
|
|
6189
|
+
bucket = var.asset_bucket_name
|
|
6190
|
+
key = "apis/test-api/authorizer-\${data.archive_file.authorizer_zip.output_sha256}.zip"
|
|
6191
|
+
source = data.archive_file.authorizer_zip.output_path
|
|
6192
|
+
source_hash = data.archive_file.authorizer_zip.output_base64sha256
|
|
6193
|
+
etag = data.archive_file.authorizer_zip.output_md5
|
|
6194
|
+
}
|
|
6195
|
+
|
|
6196
|
+
resource "aws_api_gateway_authorizer" "custom_authorizer" {
|
|
6197
|
+
name = "TestApiAuthorizer-\${random_string.suffix.result}"
|
|
6198
|
+
rest_api_id = module.rest_api.api_id
|
|
6199
|
+
type = "TOKEN"
|
|
6200
|
+
authorizer_uri = aws_lambda_function.authorizer_lambda.invoke_arn
|
|
6201
|
+
identity_source = "method.request.header.Authorization"
|
|
6202
|
+
}
|
|
6203
|
+
|
|
6204
|
+
resource "aws_lambda_permission" "authorizer_invoke" {
|
|
6205
|
+
statement_id = "AllowAPIGatewayInvokeAuthorizer"
|
|
6206
|
+
action = "lambda:InvokeFunction"
|
|
6207
|
+
function_name = aws_lambda_function.authorizer_lambda.function_name
|
|
6208
|
+
principal = "apigateway.amazonaws.com"
|
|
6209
|
+
source_arn = "\${module.rest_api.api_execution_arn}/authorizers/\${aws_api_gateway_authorizer.custom_authorizer.id}"
|
|
6210
|
+
}
|
|
6026
6211
|
|
|
6027
6212
|
# Create proxy resource (captures all paths)
|
|
6028
6213
|
resource "aws_api_gateway_resource" "proxy_resource" {
|
|
@@ -6053,15 +6238,14 @@ resource "aws_api_gateway_method" "proxy_method" {
|
|
|
6053
6238
|
resource_id = aws_api_gateway_resource.proxy_resource.id
|
|
6054
6239
|
http_method = "ANY"
|
|
6055
6240
|
|
|
6056
|
-
|
|
6057
|
-
|
|
6058
|
-
authorization = "NONE"
|
|
6241
|
+
authorization = "CUSTOM"
|
|
6242
|
+
authorizer_id = aws_api_gateway_authorizer.custom_authorizer.id
|
|
6059
6243
|
|
|
6060
6244
|
request_parameters = {
|
|
6061
6245
|
"method.request.path.proxy" = true
|
|
6062
6246
|
}
|
|
6063
6247
|
|
|
6064
|
-
depends_on = []
|
|
6248
|
+
depends_on = [aws_api_gateway_authorizer.custom_authorizer]
|
|
6065
6249
|
}
|
|
6066
6250
|
|
|
6067
6251
|
# OPTIONS method for CORS preflight
|
|
@@ -6139,6 +6323,7 @@ resource "aws_api_gateway_deployment" "api_deployment" {
|
|
|
6139
6323
|
aws_api_gateway_integration.options_integration,
|
|
6140
6324
|
aws_api_gateway_method_response.options_response,
|
|
6141
6325
|
aws_api_gateway_integration_response.options_integration_response,
|
|
6326
|
+
aws_api_gateway_authorizer.custom_authorizer,
|
|
6142
6327
|
]
|
|
6143
6328
|
}
|
|
6144
6329
|
|
|
@@ -6167,7 +6352,7 @@ resource "aws_api_gateway_rest_api_policy" "api_policy" {
|
|
|
6167
6352
|
Version = "2012-10-17"
|
|
6168
6353
|
Statement = [
|
|
6169
6354
|
{
|
|
6170
|
-
# Allow all callers to invoke the API in the resource policy
|
|
6355
|
+
# Allow all callers to invoke the API in the resource policy, since auth is handled by the Lambda Authorizer
|
|
6171
6356
|
Effect = "Allow"
|
|
6172
6357
|
Principal = "*"
|
|
6173
6358
|
Action = "execute-api:Invoke"
|
|
@@ -99,6 +99,12 @@ const pyFastApiProjectGenerator = async (tree, schema) => {
|
|
|
99
99
|
}, {
|
|
100
100
|
overwriteStrategy: devkit_1.OverwriteStrategy.Overwrite,
|
|
101
101
|
});
|
|
102
|
+
if (schema.auth === 'Custom') {
|
|
103
|
+
const authorizerType = schema.computeType === 'ServerlessApiGatewayHttpApi' ? 'http' : 'rest';
|
|
104
|
+
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, '..', '..', 'utils', 'api-constructs', 'files', 'py-authorizer', authorizerType), (0, devkit_1.joinPathFragments)(dir, normalizedModuleName), {}, {
|
|
105
|
+
overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting,
|
|
106
|
+
});
|
|
107
|
+
}
|
|
102
108
|
// Add the CDK construct to deploy the FastAPI to shared constructs
|
|
103
109
|
await (0, api_constructs_1.addApiGatewayInfra)(tree, {
|
|
104
110
|
apiProjectName: projectConfig.name,
|
|
@@ -125,6 +131,9 @@ const pyFastApiProjectGenerator = async (tree, schema) => {
|
|
|
125
131
|
'uvicorn',
|
|
126
132
|
'aws-lambda-powertools',
|
|
127
133
|
'aws-lambda-powertools[tracer]',
|
|
134
|
+
...(schema.auth === 'Custom'
|
|
135
|
+
? ['aws-lambda-powertools[parser]']
|
|
136
|
+
: []),
|
|
128
137
|
]);
|
|
129
138
|
(0, py_1.addDependenciesToDependencyGroupInPyProjectToml)(tree, dir, 'dev', [
|
|
130
139
|
'fastapi[standard]',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/py/fast-api/generator.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/py/fast-api/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ export interface PyFastApiProjectGeneratorSchema {
|
|
|
11
11
|
| 'ServerlessApiGatewayRestApi'
|
|
12
12
|
| 'ServerlessApiGatewayHttpApi';
|
|
13
13
|
readonly integrationPattern?: 'isolated' | 'shared';
|
|
14
|
-
readonly auth: 'IAM' | 'Cognito' | '
|
|
14
|
+
readonly auth: 'IAM' | 'Cognito' | 'Custom';
|
|
15
15
|
readonly directory?: string;
|
|
16
16
|
readonly subDirectory?: string;
|
|
17
17
|
readonly moduleName?: string;
|
|
@@ -47,9 +47,9 @@
|
|
|
47
47
|
},
|
|
48
48
|
"auth": {
|
|
49
49
|
"type": "string",
|
|
50
|
-
"description": "The method used to authenticate with your API. Choose between IAM (default), Cognito or
|
|
50
|
+
"description": "The method used to authenticate with your API. Choose between IAM (default), Cognito or Custom.",
|
|
51
51
|
"default": "IAM",
|
|
52
|
-
"enum": ["IAM", "Cognito", "
|
|
52
|
+
"enum": ["IAM", "Cognito", "Custom"],
|
|
53
53
|
"x-prompt": "How would you like users to authenticate with your API?",
|
|
54
54
|
"x-priority": "important"
|
|
55
55
|
},
|
|
@@ -394,12 +394,12 @@ resource "aws_iam_role_policy_attachment" "agent_core_policy" {
|
|
|
394
394
|
policy_arn = aws_iam_policy.agent_core_runtime_policy.arn
|
|
395
395
|
}
|
|
396
396
|
|
|
397
|
-
# Data source to get
|
|
397
|
+
# Data source to get container image digest
|
|
398
398
|
data "external" "docker_digest" {
|
|
399
399
|
program = ["sh", "-c", "echo '{\\"digest\\":\\"'$(docker inspect \${var.docker_image_tag} --format '{{.Id}}')'\\"}' "]
|
|
400
400
|
}
|
|
401
401
|
|
|
402
|
-
# Null resource for
|
|
402
|
+
# Null resource for container image publish
|
|
403
403
|
resource "null_resource" "docker_publish" {
|
|
404
404
|
triggers = {
|
|
405
405
|
docker_digest = data.external.docker_digest.result.digest
|
|
@@ -19,6 +19,7 @@ const fs_1 = require("../../utils/fs");
|
|
|
19
19
|
const versions_1 = require("../../utils/versions");
|
|
20
20
|
const nxlv_python_1 = require("../../utils/nxlv-python");
|
|
21
21
|
const iac_1 = require("../../utils/iac");
|
|
22
|
+
const containers_1 = require("../../utils/containers");
|
|
22
23
|
const port_1 = require("../../utils/port");
|
|
23
24
|
const paths_1 = require("../../utils/paths");
|
|
24
25
|
exports.PY_MCP_SERVER_GENERATOR_INFO = (0, nx_1.getGeneratorInfo)(__filename);
|
|
@@ -41,6 +42,9 @@ const pyMcpServerGenerator = async (tree, options) => {
|
|
|
41
42
|
const mcpServerNameClassName = (0, names_1.toClassName)(name);
|
|
42
43
|
const targetSourceDir = (0, devkit_1.joinPathFragments)(project.sourceRoot, mcpServerNameSnakeCase);
|
|
43
44
|
const computeType = options.computeType ?? 'BedrockAgentCoreRuntime';
|
|
45
|
+
if (computeType === 'None' && options.auth && options.auth !== 'IAM') {
|
|
46
|
+
console.warn('Warning: auth is ignored when no compute type is configured (no infrastructure is generated)');
|
|
47
|
+
}
|
|
44
48
|
const auth = options.auth ?? 'IAM';
|
|
45
49
|
// Generate example server
|
|
46
50
|
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', 'app'), targetSourceDir, {
|
|
@@ -57,6 +61,7 @@ const pyMcpServerGenerator = async (tree, options) => {
|
|
|
57
61
|
'aws-opentelemetry-distro',
|
|
58
62
|
]);
|
|
59
63
|
if (computeType === 'BedrockAgentCoreRuntime') {
|
|
64
|
+
const containerEngine = await (0, containers_1.resolveContainerEngine)(tree, 'Inherit');
|
|
60
65
|
const dockerImageTag = `${(0, npm_scope_1.getNpmScope)(tree)}-${name}:latest`;
|
|
61
66
|
// Add bundle target
|
|
62
67
|
const { bundleTargetName, bundleOutputDir } = (0, bundle_1.addPythonBundleTarget)(project, {
|
|
@@ -80,7 +85,7 @@ const pyMcpServerGenerator = async (tree, options) => {
|
|
|
80
85
|
fs.mkdir(dockerOutputDir),
|
|
81
86
|
fs.cp(bundleOutputDir, dockerOutputDir),
|
|
82
87
|
fs.cp(`${targetSourceDir}/Dockerfile`, `${dockerOutputDir}/Dockerfile`),
|
|
83
|
-
|
|
88
|
+
`${containerEngine} build --platform linux/arm64 -t ${dockerImageTag} ${dockerOutputDir}`,
|
|
84
89
|
],
|
|
85
90
|
parallel: false,
|
|
86
91
|
},
|
|
@@ -112,6 +117,7 @@ const pyMcpServerGenerator = async (tree, options) => {
|
|
|
112
117
|
dockerOutputDir,
|
|
113
118
|
iacProvider,
|
|
114
119
|
auth,
|
|
120
|
+
containerEngine,
|
|
115
121
|
});
|
|
116
122
|
}
|
|
117
123
|
const localDevPort = (0, port_1.assignPort)(tree, project, 8000);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/py/mcp-server/generator.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uCASoB;AAEpB,uCAKwB;AACxB,iDAAsE;AACtE,+CAA0D;AAC1D,6CAAwE;AACxE,uCAAgE;AAChE,qDAAoD;AACpD,mGAA4F;AAE5F,qEAA0E;AAC1E,sDAAkE;AAClE,uCAA4C;AAC5C,mDAAoD;AACpD,yDAA6D;AAC7D,yCAAqD;AACrD,2CAA8C;AAC9C,6CAA0D;AAE7C,QAAA,4BAA4B,GACvC,IAAA,qBAAgB,EAAC,UAAU,CAAC,CAAC;AAExB,MAAM,oBAAoB,GAAG,KAAK,EACvC,IAAU,EACV,OAAmC,EACP,EAAE;IAC9B,MAAM,OAAO,GAAG,IAAA,wCAAmC,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3E,MAAM,aAAa,GAAG,IAAA,0BAAiB,EAAC,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAExE,iDAAiD;IACjD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CACb,uBAAuB,OAAO,CAAC,OAAO,qDAAqD,CAC5F,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,gIAAgI,CACjI,CAAC;IACJ,CAAC;IAED,mDAAmD;IACnD,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEvD,MAAM,IAAI,GAAG,IAAA,iBAAS,EACpB,OAAO,CAAC,IAAI,IAAI,GAAG,IAAA,iBAAS,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,aAAa,CACzE,CAAC;IACF,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC;IAE3D,MAAM,sBAAsB,GAAG,IAAA,mBAAW,EAAC,OAAO,CAAC,IAAI,IAAI,YAAY,CAAC,CAAC;IACzE,MAAM,sBAAsB,GAAG,IAAA,mBAAW,EAAC,IAAI,CAAC,CAAC;IAEjD,MAAM,eAAe,GAAG,IAAA,0BAAiB,EACvC,OAAO,CAAC,UAAU,EAClB,sBAAsB,CACvB,CAAC;IAEF,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/py/mcp-server/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
},
|
|
31
31
|
"auth": {
|
|
32
32
|
"type": "string",
|
|
33
|
-
"description": "The method used to authenticate with your MCP server.
|
|
33
|
+
"description": "The method used to authenticate with your MCP server. Only applicable when computeType is set (ignored when computeType is None).",
|
|
34
34
|
"default": "IAM",
|
|
35
35
|
"enum": ["IAM", "Cognito"],
|
|
36
36
|
"x-prompt": "How would you like to authenticate with your MCP server?",
|
|
@@ -13,9 +13,11 @@ const generator_1 = require("../../ts/lib/generator");
|
|
|
13
13
|
const names_1 = require("../../utils/names");
|
|
14
14
|
const npm_scope_1 = require("../../utils/npm-scope");
|
|
15
15
|
const fs_1 = require("../../utils/fs");
|
|
16
|
+
const containers_1 = require("../../utils/containers");
|
|
16
17
|
exports.SMITHY_PROJECT_GENERATOR_INFO = (0, nx_1.getGeneratorInfo)(__filename);
|
|
17
18
|
const smithyProjectGenerator = async (tree, options) => {
|
|
18
19
|
const cmd = new fs_1.FsCommands(tree);
|
|
20
|
+
const containerEngine = await (0, containers_1.resolveContainerEngine)(tree, 'Inherit');
|
|
19
21
|
// Create project.json
|
|
20
22
|
const { fullyQualifiedName, dir } = (0, generator_1.getTsLibDetails)(tree, options);
|
|
21
23
|
(0, devkit_1.addProjectConfiguration)(tree, fullyQualifiedName, {
|
|
@@ -35,7 +37,7 @@ const smithyProjectGenerator = async (tree, options) => {
|
|
|
35
37
|
commands: [
|
|
36
38
|
cmd.rm('dist/{projectRoot}/build'),
|
|
37
39
|
cmd.mkdir('dist/{projectRoot}/build'),
|
|
38
|
-
|
|
40
|
+
`${containerEngine} build -f {projectRoot}/build.Dockerfile --target export --output type=local,dest=dist/{projectRoot}/build {projectRoot}`,
|
|
39
41
|
],
|
|
40
42
|
parallel: false,
|
|
41
43
|
cwd: '{workspaceRoot}',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/smithy/project/generator.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uCAOoB;AAEpB,uCAIwB;AACxB,iDAAsE;AACtE,+CAA0D;AAC1D,sDAAyD;AACzD,6CAA6D;AAC7D,qDAAoD;AACpD,uCAA4C;
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/smithy/project/generator.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uCAOoB;AAEpB,uCAIwB;AACxB,iDAAsE;AACtE,+CAA0D;AAC1D,sDAAyD;AACzD,6CAA6D;AAC7D,qDAAoD;AACpD,uCAA4C;AAC5C,uDAAgE;AAEnD,QAAA,6BAA6B,GACxC,IAAA,qBAAgB,EAAC,UAAU,CAAC,CAAC;AAExB,MAAM,sBAAsB,GAAG,KAAK,EACzC,IAAU,EACV,OAAqC,EACT,EAAE;IAC9B,MAAM,GAAG,GAAG,IAAI,eAAU,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,eAAe,GAAG,MAAM,IAAA,mCAAsB,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAEtE,sBAAsB;IACtB,MAAM,EAAE,kBAAkB,EAAE,GAAG,EAAE,GAAG,IAAA,2BAAe,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnE,IAAA,gCAAuB,EAAC,IAAI,EAAE,kBAAkB,EAAE;QAChD,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,GAAG;QACT,UAAU,EAAE,IAAA,0BAAiB,EAAC,GAAG,EAAE,KAAK,CAAC;QACzC,WAAW,EAAE,SAAS;QACtB,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,SAAS,EAAE,CAAC,SAAS,CAAC;aACvB;YACD,OAAO,EAAE;gBACP,KAAK,EAAE,IAAI;gBACX,OAAO,EAAE,CAAC,0CAA0C,CAAC;gBACrD,QAAQ,EAAE,iBAAiB;gBAC3B,OAAO,EAAE;oBACP,QAAQ,EAAE;wBACR,GAAG,CAAC,EAAE,CAAC,0BAA0B,CAAC;wBAClC,GAAG,CAAC,KAAK,CAAC,0BAA0B,CAAC;wBACrC,GAAG,eAAe,0HAA0H;qBAC7I;oBACD,QAAQ,EAAE,KAAK;oBACf,GAAG,EAAE,iBAAiB;iBACvB;aACF;SACF;KACF,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IACxD,MAAM,oBAAoB,GAAG,IAAA,mBAAW,EAAC,WAAW,CAAC,CAAC;IACtD,MAAM,oBAAoB,GAAG,IAAA,mBAAW,EAAC,WAAW,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,IAAA,uBAAW,EAAC,IAAI,CAAC,CAAC;IAChC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAA,mBAAW,EAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAE7E,IAAA,sBAAa,EAAC,IAAI,EAAE,IAAA,0BAAiB,EAAC,SAAS,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE;QAC9D,SAAS;QACT,oBAAoB;QACpB,oBAAoB;QACpB,KAAK;KACN,CAAC,CAAC;IAEH,IAAA,yBAAoB,EAClB,IAAI,EACJ,kBAAkB,EAClB,qCAA6B,EAC7B;QACE,OAAO,EAAE,OAAO,CAAC,IAAI;KACtB,CACF,CAAC;IAEF,MAAM,IAAA,yCAA+B,EAAC,IAAI,EAAE,CAAC,qCAA6B,CAAC,CAAC,CAAC;IAE7E,MAAM,IAAA,6BAAoB,EAAC,IAAI,CAAC,CAAC;IACjC,OAAO,GAAG,EAAE;QACV,IAAA,4BAAmB,EAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC;AACJ,CAAC,CAAC;AA/DW,QAAA,sBAAsB,0BA+DjC;AAEF,kBAAe,8BAAsB,CAAC"}
|