@aws/nx-plugin 0.109.1 → 0.111.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/connection/agent-serve-local.js +7 -8
- package/src/connection/agent-serve-local.js.map +1 -1
- package/src/connection/serve-local.js +7 -8
- package/src/connection/serve-local.js.map +1 -1
- package/src/infra/app/generator.js +2 -5
- package/src/infra/app/generator.js.map +1 -1
- package/src/preset/__snapshots__/generator.spec.ts.snap +11 -1
- package/src/preset/generator.js +12 -3
- package/src/preset/generator.js.map +1 -1
- package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +19 -19
- package/src/py/fast-api/files/app/__name__/init.py.template +2 -2
- package/src/py/lambda-function/__snapshots__/generator.spec.ts.snap +2 -2
- package/src/py/project/generator.js +17 -1
- package/src/py/project/generator.js.map +1 -1
- package/src/py/strands-agent/__snapshots__/generator.spec.ts.snap +1 -1
- package/src/py/strands-agent/a2a-connection/generator.js +4 -8
- package/src/py/strands-agent/a2a-connection/generator.js.map +1 -1
- package/src/py/strands-agent/files/http/init.py.template +2 -2
- package/src/py/strands-agent/mcp-connection/__snapshots__/generator.spec.ts.snap +8 -4
- package/src/py/strands-agent/mcp-connection/generator.js +4 -8
- package/src/py/strands-agent/mcp-connection/generator.js.map +1 -1
- package/src/smithy/ts/api/__snapshots__/generator.spec.ts.snap +1 -1
- package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +8 -8
- package/src/ts/lambda-function/__snapshots__/generator.spec.ts.snap +2 -2
- package/src/ts/react-website/agui/generator.js +7 -0
- package/src/ts/react-website/agui/generator.js.map +1 -1
- package/src/ts/strands-agent/a2a-connection/generator.js +4 -8
- package/src/ts/strands-agent/a2a-connection/generator.js.map +1 -1
- package/src/ts/strands-agent/mcp-connection/generator.js +4 -8
- package/src/ts/strands-agent/mcp-connection/generator.js.map +1 -1
- package/src/utils/agent-connection/files/py-core-mcp/agentcore_mcp_client.py.template +9 -3
- package/src/utils/agent-connection/files/py-core-runtime-config/runtime_config.py.template +3 -2
- package/src/utils/api-constructs/api-constructs.js +2 -10
- package/src/utils/api-constructs/api-constructs.js.map +1 -1
- package/src/utils/api-constructs/files/terraform/app/apis/http/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +2 -2
- package/src/utils/api-constructs/files/terraform/app/apis/rest/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +3 -3
- package/src/utils/api-constructs/files/terraform/core/api/http/http-api/http-api.tf.template +2 -2
- package/src/utils/api-constructs/open-api-metadata.js +2 -7
- package/src/utils/api-constructs/open-api-metadata.js.map +1 -1
- package/src/utils/files/terraform/src/core/asset-bucket/asset-bucket.tf.template +2 -2
- package/src/utils/function-constructs/files/terraform/app/lambda-functions/__functionNameKebabCase__/__functionNameKebabCase__.tf.template +1 -1
- package/src/utils/function-constructs/function-constructs.js +2 -10
- package/src/utils/function-constructs/function-constructs.js.map +1 -1
- package/src/utils/identity-constructs/files/terraform/core/user-identity/identity/identity.tf.template +6 -6
- package/src/utils/nx.d.ts +14 -1
- package/src/utils/nx.js +27 -1
- package/src/utils/nx.js.map +1 -1
- package/src/utils/pnpm-workspace.d.ts +22 -0
- package/src/utils/pnpm-workspace.js +58 -0
- package/src/utils/pnpm-workspace.js.map +1 -0
- package/src/utils/versions.d.ts +3 -2
- package/src/utils/versions.js +3 -2
- package/src/utils/versions.js.map +1 -1
- package/src/utils/website-constructs/website-constructs.js +2 -10
- package/src/utils/website-constructs/website-constructs.js.map +1 -1
|
@@ -2098,7 +2098,7 @@ resource "aws_api_gateway_authorizer" "cognito_authorizer" {
|
|
|
2098
2098
|
name = "TestApiAuthorizer-\${random_string.suffix.result}"
|
|
2099
2099
|
rest_api_id = module.rest_api.api_id
|
|
2100
2100
|
type = "COGNITO_USER_POOLS"
|
|
2101
|
-
provider_arns = ["arn:aws:cognito-idp:\${data.aws_region.current.
|
|
2101
|
+
provider_arns = ["arn:aws:cognito-idp:\${data.aws_region.current.region}:\${data.aws_caller_identity.current.account_id}:userpool/\${var.user_pool_id}"]
|
|
2102
2102
|
identity_source = "method.request.header.Authorization"
|
|
2103
2103
|
}
|
|
2104
2104
|
|
|
@@ -3034,7 +3034,7 @@ resource "aws_kms_key" "logs_key" {
|
|
|
3034
3034
|
Sid = "Allow CloudWatch Logs"
|
|
3035
3035
|
Effect = "Allow"
|
|
3036
3036
|
Principal = {
|
|
3037
|
-
Service = "logs.\${data.aws_region.current.
|
|
3037
|
+
Service = "logs.\${data.aws_region.current.region}.amazonaws.com"
|
|
3038
3038
|
}
|
|
3039
3039
|
Action = [
|
|
3040
3040
|
"kms:Encrypt",
|
|
@@ -3046,7 +3046,7 @@ resource "aws_kms_key" "logs_key" {
|
|
|
3046
3046
|
Resource = "*"
|
|
3047
3047
|
Condition = {
|
|
3048
3048
|
ArnEquals = {
|
|
3049
|
-
"kms:EncryptionContext:aws:logs:arn" = "arn:aws:logs:\${data.aws_region.current.
|
|
3049
|
+
"kms:EncryptionContext:aws:logs:arn" = "arn:aws:logs:\${data.aws_region.current.region}:\${data.aws_caller_identity.current.account_id}:log-group:/aws/apigateway/\${var.api_name}"
|
|
3050
3050
|
}
|
|
3051
3051
|
}
|
|
3052
3052
|
}
|
|
@@ -3404,7 +3404,7 @@ resource "aws_apigatewayv2_authorizer" "cognito_authorizer" {
|
|
|
3404
3404
|
|
|
3405
3405
|
jwt_configuration {
|
|
3406
3406
|
audience = var.user_pool_client_ids
|
|
3407
|
-
issuer = "https://cognito-idp.\${data.aws_region.current.
|
|
3407
|
+
issuer = "https://cognito-idp.\${data.aws_region.current.region}.amazonaws.com/\${var.user_pool_id}"
|
|
3408
3408
|
}
|
|
3409
3409
|
}
|
|
3410
3410
|
|
|
@@ -3687,7 +3687,7 @@ resource "aws_kms_key" "logs_key" {
|
|
|
3687
3687
|
Sid = "Allow CloudWatch Logs"
|
|
3688
3688
|
Effect = "Allow"
|
|
3689
3689
|
Principal = {
|
|
3690
|
-
Service = "logs.\${data.aws_region.current.
|
|
3690
|
+
Service = "logs.\${data.aws_region.current.region}.amazonaws.com"
|
|
3691
3691
|
}
|
|
3692
3692
|
Action = [
|
|
3693
3693
|
"kms:Encrypt",
|
|
@@ -3699,7 +3699,7 @@ resource "aws_kms_key" "logs_key" {
|
|
|
3699
3699
|
Resource = "*"
|
|
3700
3700
|
Condition = {
|
|
3701
3701
|
ArnEquals = {
|
|
3702
|
-
"kms:EncryptionContext:aws:logs:arn" = "arn:aws:logs:\${data.aws_region.current.
|
|
3702
|
+
"kms:EncryptionContext:aws:logs:arn" = "arn:aws:logs:\${data.aws_region.current.region}:\${data.aws_caller_identity.current.account_id}:log-group:/aws/apigateway/\${var.api_name}"
|
|
3703
3703
|
}
|
|
3704
3704
|
}
|
|
3705
3705
|
}
|
|
@@ -4317,7 +4317,7 @@ resource "aws_kms_key" "logs_key" {
|
|
|
4317
4317
|
Sid = "Allow CloudWatch Logs"
|
|
4318
4318
|
Effect = "Allow"
|
|
4319
4319
|
Principal = {
|
|
4320
|
-
Service = "logs.\${data.aws_region.current.
|
|
4320
|
+
Service = "logs.\${data.aws_region.current.region}.amazonaws.com"
|
|
4321
4321
|
}
|
|
4322
4322
|
Action = [
|
|
4323
4323
|
"kms:Encrypt",
|
|
@@ -4329,7 +4329,7 @@ resource "aws_kms_key" "logs_key" {
|
|
|
4329
4329
|
Resource = "*"
|
|
4330
4330
|
Condition = {
|
|
4331
4331
|
ArnEquals = {
|
|
4332
|
-
"kms:EncryptionContext:aws:logs:arn" = "arn:aws:logs:\${data.aws_region.current.
|
|
4332
|
+
"kms:EncryptionContext:aws:logs:arn" = "arn:aws:logs:\${data.aws_region.current.region}:\${data.aws_caller_identity.current.account_id}:log-group:/aws/apigateway/\${var.api_name}"
|
|
4333
4333
|
}
|
|
4334
4334
|
}
|
|
4335
4335
|
}
|
|
@@ -5327,7 +5327,7 @@ resource "aws_api_gateway_authorizer" "cognito_authorizer" {
|
|
|
5327
5327
|
name = "TestApiAuthorizer-\${random_string.suffix.result}"
|
|
5328
5328
|
rest_api_id = module.rest_api.api_id
|
|
5329
5329
|
type = "COGNITO_USER_POOLS"
|
|
5330
|
-
provider_arns = ["arn:aws:cognito-idp:\${data.aws_region.current.
|
|
5330
|
+
provider_arns = ["arn:aws:cognito-idp:\${data.aws_region.current.region}:\${data.aws_caller_identity.current.account_id}:userpool/\${var.user_pool_id}"]
|
|
5331
5331
|
identity_source = "method.request.header.Authorization"
|
|
5332
5332
|
}
|
|
5333
5333
|
|
|
@@ -180,7 +180,7 @@ data "aws_region" "current" {}
|
|
|
180
180
|
|
|
181
181
|
locals {
|
|
182
182
|
aws_account_id = data.aws_caller_identity.current.account_id
|
|
183
|
-
aws_region = data.aws_region.current.
|
|
183
|
+
aws_region = data.aws_region.current.region
|
|
184
184
|
}
|
|
185
185
|
|
|
186
186
|
resource "random_string" "suffix" {
|
|
@@ -361,7 +361,7 @@ data "aws_region" "current" {}
|
|
|
361
361
|
|
|
362
362
|
locals {
|
|
363
363
|
aws_account_id = data.aws_caller_identity.current.account_id
|
|
364
|
-
aws_region = data.aws_region.current.
|
|
364
|
+
aws_region = data.aws_region.current.region
|
|
365
365
|
}
|
|
366
366
|
|
|
367
367
|
resource "random_string" "suffix" {
|
|
@@ -13,6 +13,7 @@ const agent_runtime_config_1 = require("../../../connection/agent-runtime-config
|
|
|
13
13
|
const names_1 = require("../../../utils/names");
|
|
14
14
|
const shared_shadcn_1 = require("../../../utils/shared-shadcn");
|
|
15
15
|
const npm_scope_1 = require("../../../utils/npm-scope");
|
|
16
|
+
const pnpm_workspace_1 = require("../../../utils/pnpm-workspace");
|
|
16
17
|
/**
|
|
17
18
|
* Wires a React website up to an AG-UI agent using CopilotKit and
|
|
18
19
|
* @ag-ui/client's HttpAgent. Agent-server-language agnostic.
|
|
@@ -50,6 +51,12 @@ const addAgUiReactConnection = async (tree, options) => {
|
|
|
50
51
|
const mainTsxPath = (0, devkit_1.joinPathFragments)(frontendProjectConfig.sourceRoot, 'main.tsx');
|
|
51
52
|
await (0, ast_1.addSingleImport)(tree, mainTsxPath, 'AguiProvider', './components/AguiProvider');
|
|
52
53
|
await (0, ast_1.applyGritQL)(tree, mainTsxPath, `\`<App />\` => \`<AguiProvider><App /></AguiProvider>\` where { $program <: not contains \`<AguiProvider>$_</AguiProvider>\` }`);
|
|
54
|
+
// @copilotkit/react-core transitively pulls in @scarf/scarf (telemetry),
|
|
55
|
+
// which has a postinstall script. Under pnpm 11's default
|
|
56
|
+
// `strictDepBuilds=true` that script is treated as an unreviewed build and
|
|
57
|
+
// fails the install. Register it as an explicitly-rejected build so pnpm
|
|
58
|
+
// knows we've seen it and will skip it instead of erroring.
|
|
59
|
+
(0, pnpm_workspace_1.registerPnpmBuiltDependencies)(tree, { '@scarf/scarf': false });
|
|
53
60
|
(0, devkit_1.addDependenciesToPackageJson)(tree, (0, versions_1.withVersions)([
|
|
54
61
|
'@copilotkit/react-core',
|
|
55
62
|
'@ag-ui/client',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/react-website/agui/generator.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uCAOoB;AACpB,2DAAqE;AACrE,sDAAuD;AACvD,4CAI4B;AAC5B,mFAAgG;AAChG,gDAAiD;AACjD,gEAAqE;AACrE,wDAA2E;
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/react-website/agui/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -86,14 +86,10 @@ const tsStrandsAgentA2aConnectionGenerator = async (tree, options) => {
|
|
|
86
86
|
const serveLocalTargetName = `${agentName}-serve-local`;
|
|
87
87
|
const targetServeLocalTargetName = `${targetAgentComponentName}-serve-local`;
|
|
88
88
|
if (sourceProject.targets?.[serveLocalTargetName]) {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
projects: [targetProject.name],
|
|
94
|
-
target: targetServeLocalTargetName,
|
|
95
|
-
},
|
|
96
|
-
];
|
|
89
|
+
(0, nx_1.addDependencyToTargetIfNotPresent)(sourceProject, serveLocalTargetName, {
|
|
90
|
+
projects: [targetProject.name],
|
|
91
|
+
target: targetServeLocalTargetName,
|
|
92
|
+
});
|
|
97
93
|
(0, devkit_1.updateProjectConfiguration)(tree, sourceProject.name, sourceProject);
|
|
98
94
|
}
|
|
99
95
|
// 5. Add dependencies
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/strands-agent/a2a-connection/generator.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uCASoB;AAEpB,
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/strands-agent/a2a-connection/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -69,14 +69,10 @@ const tsStrandsAgentMcpConnectionGenerator = async (tree, options) => {
|
|
|
69
69
|
const serveLocalTargetName = `${agentName}-serve-local`;
|
|
70
70
|
const mcpServeLocalTargetName = `${mcpComponentName}-serve-local`;
|
|
71
71
|
if (sourceProject.targets?.[serveLocalTargetName]) {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
projects: [targetProject.name],
|
|
77
|
-
target: mcpServeLocalTargetName,
|
|
78
|
-
},
|
|
79
|
-
];
|
|
72
|
+
(0, nx_1.addDependencyToTargetIfNotPresent)(sourceProject, serveLocalTargetName, {
|
|
73
|
+
projects: [targetProject.name],
|
|
74
|
+
target: mcpServeLocalTargetName,
|
|
75
|
+
});
|
|
80
76
|
(0, devkit_1.updateProjectConfiguration)(tree, sourceProject.name, sourceProject);
|
|
81
77
|
}
|
|
82
78
|
// 5. Add dependencies required by the MCP core client + vended client
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/strands-agent/mcp-connection/generator.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uCASoB;AAEpB,
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/strands-agent/mcp-connection/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
from collections.abc import Callable
|
|
2
|
+
|
|
1
3
|
import boto3
|
|
2
4
|
import httpx
|
|
3
5
|
from mcp.client.streamable_http import streamablehttp_client
|
|
@@ -24,8 +26,8 @@ class AgentCoreMCPClient:
|
|
|
24
26
|
def _create(
|
|
25
27
|
agent_runtime_arn: str,
|
|
26
28
|
session_id: str,
|
|
27
|
-
headers: dict = None,
|
|
28
|
-
auth_handler: httpx.Auth = None,
|
|
29
|
+
headers: dict | None = None,
|
|
30
|
+
auth_handler: httpx.Auth | None = None,
|
|
29
31
|
) -> MCPClient:
|
|
30
32
|
_, url = AgentCoreMCPClient._build_url(agent_runtime_arn)
|
|
31
33
|
return MCPClient(
|
|
@@ -58,7 +60,11 @@ class AgentCoreMCPClient:
|
|
|
58
60
|
)
|
|
59
61
|
|
|
60
62
|
@staticmethod
|
|
61
|
-
def with_jwt_auth(
|
|
63
|
+
def with_jwt_auth(
|
|
64
|
+
agent_runtime_arn: str,
|
|
65
|
+
access_token_provider: Callable[[], str],
|
|
66
|
+
session_id: str,
|
|
67
|
+
) -> MCPClient:
|
|
62
68
|
"""Create an MCP client with JWT authentication.
|
|
63
69
|
|
|
64
70
|
Args:
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import os
|
|
2
|
+
from typing import Any, cast
|
|
2
3
|
|
|
3
4
|
from aws_lambda_powertools.utilities import parameters
|
|
4
5
|
from botocore.config import Config
|
|
5
6
|
|
|
6
7
|
|
|
7
|
-
def _get_agentcore_runtime_config() -> dict:
|
|
8
|
+
def _get_agentcore_runtime_config() -> dict[str, Any]:
|
|
8
9
|
"""Read the runtime-config ``agentcore`` namespace from AppConfig.
|
|
9
10
|
|
|
10
11
|
``RUNTIME_CONFIG_APP_ID`` is set on the AgentCore runtime by the generated
|
|
@@ -24,7 +25,7 @@ def _get_agentcore_runtime_config() -> dict:
|
|
|
24
25
|
application=application,
|
|
25
26
|
**provider_kwargs,
|
|
26
27
|
)
|
|
27
|
-
return provider.get("agentcore", transform="json")
|
|
28
|
+
return cast(dict[str, Any], provider.get("agentcore", transform="json"))
|
|
28
29
|
|
|
29
30
|
|
|
30
31
|
def get_connected_agent_runtime_arn(name: str) -> str:
|
|
@@ -8,6 +8,7 @@ exports.addApiGatewayInfra = void 0;
|
|
|
8
8
|
const devkit_1 = require("@nx/devkit");
|
|
9
9
|
const shared_constructs_constants_1 = require("../shared-constructs-constants");
|
|
10
10
|
const ast_1 = require("../ast");
|
|
11
|
+
const nx_1 = require("../nx");
|
|
11
12
|
const addApiGatewayInfra = async (tree, options) => {
|
|
12
13
|
if (options.iacProvider === 'CDK') {
|
|
13
14
|
await addApiGatewayCdkConstructs(tree, options);
|
|
@@ -21,16 +22,7 @@ const addApiGatewayInfra = async (tree, options) => {
|
|
|
21
22
|
(0, devkit_1.updateJson)(tree, (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, options.iacProvider === 'CDK'
|
|
22
23
|
? shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR
|
|
23
24
|
: shared_constructs_constants_1.SHARED_TERRAFORM_DIR, 'project.json'), (config) => {
|
|
24
|
-
|
|
25
|
-
config.targets = {};
|
|
26
|
-
}
|
|
27
|
-
if (!config.targets.build) {
|
|
28
|
-
config.targets.build = {};
|
|
29
|
-
}
|
|
30
|
-
config.targets.build.dependsOn = [
|
|
31
|
-
...(config.targets.build.dependsOn ?? []),
|
|
32
|
-
`${options.apiProjectName}:build`,
|
|
33
|
-
];
|
|
25
|
+
(0, nx_1.addDependencyToTargetIfNotPresent)(config, 'build', `${options.apiProjectName}:build`);
|
|
34
26
|
return config;
|
|
35
27
|
});
|
|
36
28
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-constructs.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/api-constructs/api-constructs.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uCAOoB;AACpB,gFAIwC;AACxC,gCAAuC;
|
|
1
|
+
{"version":3,"file":"api-constructs.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/api-constructs/api-constructs.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uCAOoB;AACpB,gFAIwC;AACxC,gCAAuC;AAEvC,8BAA0D;AAiCnD,MAAM,kBAAkB,GAAG,KAAK,EACrC,IAAU,EACV,OAAqE,EACrE,EAAE;IACF,IAAI,OAAO,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;QAClC,MAAM,0BAA0B,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;SAAM,IAAI,OAAO,CAAC,WAAW,KAAK,WAAW,EAAE,CAAC;QAC/C,6BAA6B,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,2BAA2B,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,IAAA,mBAAU,EACR,IAAI,EACJ,IAAA,0BAAiB,EACf,0CAAY,EACZ,OAAO,CAAC,WAAW,KAAK,KAAK;QAC3B,CAAC,CAAC,mDAAqB;QACvB,CAAC,CAAC,kDAAoB,EACxB,cAAc,CACf,EACD,CAAC,MAA4B,EAAE,EAAE;QAC/B,IAAA,sCAAiC,EAC/B,MAAM,EACN,OAAO,EACP,GAAG,OAAO,CAAC,cAAc,QAAQ,CAClC,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC,CACF,CAAC;AACJ,CAAC,CAAC;AA9BW,QAAA,kBAAkB,sBA8B7B;AAEF;;GAEG;AACH,MAAM,0BAA0B,GAAG,KAAK,EACtC,IAAU,EACV,OAAsC,EACtC,EAAE;IACF,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAE,EAAE;QAC3C,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,EACjE,IAAA,0BAAiB,EACf,0CAAY,EACZ,mDAAqB,EACrB,KAAK,EACL,MAAM,EACN,KAAK,CACN,EACD,EAAE,EACF;YACE,iBAAiB,EAAE,0BAAiB,CAAC,YAAY;SAClD,CACF,CAAC;IACJ,CAAC,CAAC;IAEF,qDAAqD;IACrD,mBAAmB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC3C,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7B,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACpC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,sCAAsC;IACtC,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EACf,SAAS,EACT,OAAO,EACP,KAAK,EACL,KAAK,EACL,MAAM,EACN,OAAO,CAAC,aAAa,CACtB,EACD,IAAA,0BAAiB,EACf,0CAAY,EACZ,mDAAqB,EACrB,KAAK,EACL,KAAK,EACL,MAAM,CACP,EACD,OAAO,EACP;QACE,iBAAiB,EAAE,0BAAiB,CAAC,YAAY;KAClD,CACF,CAAC;IAEF,oCAAoC;IACpC,MAAM,IAAA,mBAAa,EACjB,IAAI,EACJ,IAAA,0BAAiB,EACf,0CAAY,EACZ,mDAAqB,EACrB,KAAK,EACL,KAAK,EACL,MAAM,EACN,UAAU,CACX,EACD,KAAK,OAAO,CAAC,gBAAgB,KAAK,CACnC,CAAC;IACF,MAAM,IAAA,mBAAa,EACjB,IAAI,EACJ,IAAA,0BAAiB,EACf,0CAAY,EACZ,mDAAqB,EACrB,KAAK,EACL,KAAK,EACL,UAAU,CACX,EACD,iBAAiB,CAClB,CAAC;AACJ,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,6BAA6B,GAAG,CACpC,IAAU,EACV,OAAsC,EACtC,EAAE;IACF,iCAAiC;IACjC,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EACf,SAAS,EACT,OAAO,EACP,WAAW,EACX,MAAM,EACN,KAAK,EACL,OAAO,CAAC,aAAa,CACtB,EACD,IAAA,0BAAiB,EAAC,0CAAY,EAAE,kDAAoB,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAC3E,EAAE,EACF;QACE,iBAAiB,EAAE,0BAAiB,CAAC,YAAY;KAClD,CACF,CAAC;IAEF,yCAAyC;IACzC,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EACf,SAAS,EACT,OAAO,EACP,WAAW,EACX,KAAK,EACL,MAAM,EACN,OAAO,CAAC,aAAa,CACtB,EACD,IAAA,0BAAiB,EAAC,0CAAY,EAAE,kDAAoB,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,EAC3E,OAAO,EACP;QACE,iBAAiB,EAAE,0BAAiB,CAAC,YAAY;KAClD,CACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -155,7 +155,7 @@ resource "aws_lambda_function" "api_lambda" {
|
|
|
155
155
|
<%_ } else if (backend.type === 'fastapi') { _%>
|
|
156
156
|
handler = "run.sh"
|
|
157
157
|
runtime = "python3.14"
|
|
158
|
-
layers = ["arn:aws:lambda:${data.aws_region.current.
|
|
158
|
+
layers = ["arn:aws:lambda:${data.aws_region.current.region}:753240598075:layer:LambdaAdapterLayerX86:24"]
|
|
159
159
|
<%_ } _%>
|
|
160
160
|
timeout = 30
|
|
161
161
|
memory_size = 128
|
|
@@ -264,7 +264,7 @@ resource "aws_apigatewayv2_authorizer" "cognito_authorizer" {
|
|
|
264
264
|
|
|
265
265
|
jwt_configuration {
|
|
266
266
|
audience = var.user_pool_client_ids
|
|
267
|
-
issuer = "https://cognito-idp.${data.aws_region.current.
|
|
267
|
+
issuer = "https://cognito-idp.${data.aws_region.current.region}.amazonaws.com/${var.user_pool_id}"
|
|
268
268
|
}
|
|
269
269
|
}
|
|
270
270
|
<%_ } _%>
|
|
@@ -152,7 +152,7 @@ resource "aws_lambda_function" "api_lambda" {
|
|
|
152
152
|
<%_ } else if (backend.type === 'fastapi') { _%>
|
|
153
153
|
handler = "run.sh"
|
|
154
154
|
runtime = "python3.14"
|
|
155
|
-
layers = ["arn:aws:lambda:${data.aws_region.current.
|
|
155
|
+
layers = ["arn:aws:lambda:${data.aws_region.current.region}:753240598075:layer:LambdaAdapterLayerX86:24"]
|
|
156
156
|
<%_ } _%>
|
|
157
157
|
timeout = 30
|
|
158
158
|
memory_size = 128
|
|
@@ -257,7 +257,7 @@ resource "aws_api_gateway_authorizer" "cognito_authorizer" {
|
|
|
257
257
|
name = "<%- apiNameClassName %>Authorizer-${random_string.suffix.result}"
|
|
258
258
|
rest_api_id = module.rest_api.api_id
|
|
259
259
|
type = "COGNITO_USER_POOLS"
|
|
260
|
-
provider_arns = ["arn:aws:cognito-idp:${data.aws_region.current.
|
|
260
|
+
provider_arns = ["arn:aws:cognito-idp:${data.aws_region.current.region}:${data.aws_caller_identity.current.account_id}:userpool/${var.user_pool_id}"]
|
|
261
261
|
identity_source = "method.request.header.Authorization"
|
|
262
262
|
}
|
|
263
263
|
<%_ } _%>
|
|
@@ -279,7 +279,7 @@ resource "aws_api_gateway_integration" "lambda_integration" {
|
|
|
279
279
|
type = "AWS_PROXY"
|
|
280
280
|
<%_ if (backend.type === 'fastapi') { _%>
|
|
281
281
|
# Use the response streaming invocation path with the alias ARN for SnapStart
|
|
282
|
-
uri = "arn:aws:apigateway:${data.aws_region.current.
|
|
282
|
+
uri = "arn:aws:apigateway:${data.aws_region.current.region}:lambda:path/2021-11-15/functions/${aws_lambda_alias.live.arn}/response-streaming-invocations"
|
|
283
283
|
response_transfer_mode = "STREAM"
|
|
284
284
|
<%_ } else if (backend.type === 'trpc') { _%>
|
|
285
285
|
uri = aws_lambda_function.api_lambda.response_streaming_invoke_arn
|
package/src/utils/api-constructs/files/terraform/core/api/http/http-api/http-api.tf.template
CHANGED
|
@@ -111,7 +111,7 @@ resource "aws_kms_key" "logs_key" {
|
|
|
111
111
|
Sid = "Allow CloudWatch Logs"
|
|
112
112
|
Effect = "Allow"
|
|
113
113
|
Principal = {
|
|
114
|
-
Service = "logs.${data.aws_region.current.
|
|
114
|
+
Service = "logs.${data.aws_region.current.region}.amazonaws.com"
|
|
115
115
|
}
|
|
116
116
|
Action = [
|
|
117
117
|
"kms:Encrypt",
|
|
@@ -123,7 +123,7 @@ resource "aws_kms_key" "logs_key" {
|
|
|
123
123
|
Resource = "*"
|
|
124
124
|
Condition = {
|
|
125
125
|
ArnEquals = {
|
|
126
|
-
"kms:EncryptionContext:aws:logs:arn" = "arn:aws:logs:${data.aws_region.current.
|
|
126
|
+
"kms:EncryptionContext:aws:logs:arn" = "arn:aws:logs:${data.aws_region.current.region}:${data.aws_caller_identity.current.account_id}:log-group:/aws/apigateway/${var.api_name}"
|
|
127
127
|
}
|
|
128
128
|
}
|
|
129
129
|
}
|
|
@@ -7,6 +7,7 @@ exports.addSharedConstructsOpenApiMetadataGenerateTarget = void 0;
|
|
|
7
7
|
*/
|
|
8
8
|
const devkit_1 = require("@nx/devkit");
|
|
9
9
|
const git_1 = require("../git");
|
|
10
|
+
const nx_1 = require("../nx");
|
|
10
11
|
const shared_constructs_constants_1 = require("../shared-constructs-constants");
|
|
11
12
|
/**
|
|
12
13
|
* Adds a generate:<api-name>-metadata target to shared constructs (CDK only)
|
|
@@ -50,13 +51,7 @@ const addSharedConstructsOpenApiMetadataGenerateTarget = (tree, { iacProvider, a
|
|
|
50
51
|
dependsOn: [specBuildTargetName],
|
|
51
52
|
};
|
|
52
53
|
}
|
|
53
|
-
|
|
54
|
-
config.targets.compile = {};
|
|
55
|
-
}
|
|
56
|
-
config.targets.compile.dependsOn = [
|
|
57
|
-
...(config.targets.compile.dependsOn ?? []),
|
|
58
|
-
metadataTargetName,
|
|
59
|
-
];
|
|
54
|
+
(0, nx_1.addDependencyToTargetIfNotPresent)(config, 'compile', metadataTargetName);
|
|
60
55
|
return config;
|
|
61
56
|
});
|
|
62
57
|
// Ignore the generated metadata by default
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-api-metadata.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/api-constructs/open-api-metadata.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uCAKoB;AAEpB,gCAAyC;AACzC,gFAGwC;AASxC;;;GAGG;AACI,MAAM,gDAAgD,GAAG,CAC9D,IAAU,EACV,EACE,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,mBAAmB,GACqB,EAC1C,EAAE;IACF,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;QAC1B,iGAAiG;QACjG,uFAAuF;QACvF,OAAO;IACT,CAAC;IAED,MAAM,oBAAoB,GAAG,IAAA,0BAAiB,EAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAC9E,MAAM,4BAA4B,GAAG,IAAA,0BAAiB,EACpD,IAAA,0BAAiB,EAAC,0CAAY,EAAE,mDAAqB,CAAC,EACtD,KAAK,EACL,oBAAoB,CACrB,CAAC;IAEF,IAAA,mBAAU,EACR,IAAI,EACJ,IAAA,0BAAiB,EAAC,0CAAY,EAAE,mDAAqB,EAAE,cAAc,CAAC,EACtE,CAAC,MAA4B,EAAE,EAAE;QAC/B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC1B,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;QAC5B,CAAC;QACD,wFAAwF;QACxF,0CAA0C;QAC1C,MAAM,kBAAkB,GAAG,YAAY,gBAAgB,WAAW,CAAC;QACnE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG;gBACnC,KAAK,EAAE,IAAI;gBACX,QAAQ,EAAE,iBAAiB;gBAC3B,MAAM,EAAE;oBACN;wBACE,yBAAyB,EAAE,WAAW;qBACvC;iBACF;gBACD,OAAO,EAAE;oBACP,IAAA,0BAAiB,EAAC,iBAAiB,EAAE,4BAA4B,CAAC;iBACnE;gBACD,OAAO,EAAE;oBACP,QAAQ,EAAE;wBACR,+DAA+D,QAAQ,mBAAmB,4BAA4B,oBAAoB;qBAC3I;iBACF;gBACD,SAAS,EAAE,CAAC,mBAAmB,CAAC;aACjC,CAAC;QACJ,CAAC;QACD,
|
|
1
|
+
{"version":3,"file":"open-api-metadata.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/api-constructs/open-api-metadata.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uCAKoB;AAEpB,gCAAyC;AACzC,8BAA0D;AAC1D,gFAGwC;AASxC;;;GAGG;AACI,MAAM,gDAAgD,GAAG,CAC9D,IAAU,EACV,EACE,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,mBAAmB,GACqB,EAC1C,EAAE;IACF,IAAI,WAAW,KAAK,KAAK,EAAE,CAAC;QAC1B,iGAAiG;QACjG,uFAAuF;QACvF,OAAO;IACT,CAAC;IAED,MAAM,oBAAoB,GAAG,IAAA,0BAAiB,EAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAC9E,MAAM,4BAA4B,GAAG,IAAA,0BAAiB,EACpD,IAAA,0BAAiB,EAAC,0CAAY,EAAE,mDAAqB,CAAC,EACtD,KAAK,EACL,oBAAoB,CACrB,CAAC;IAEF,IAAA,mBAAU,EACR,IAAI,EACJ,IAAA,0BAAiB,EAAC,0CAAY,EAAE,mDAAqB,EAAE,cAAc,CAAC,EACtE,CAAC,MAA4B,EAAE,EAAE;QAC/B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC1B,MAAM,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;QAC5B,CAAC;QACD,wFAAwF;QACxF,0CAA0C;QAC1C,MAAM,kBAAkB,GAAG,YAAY,gBAAgB,WAAW,CAAC;QACnE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG;gBACnC,KAAK,EAAE,IAAI;gBACX,QAAQ,EAAE,iBAAiB;gBAC3B,MAAM,EAAE;oBACN;wBACE,yBAAyB,EAAE,WAAW;qBACvC;iBACF;gBACD,OAAO,EAAE;oBACP,IAAA,0BAAiB,EAAC,iBAAiB,EAAE,4BAA4B,CAAC;iBACnE;gBACD,OAAO,EAAE;oBACP,QAAQ,EAAE;wBACR,+DAA+D,QAAQ,mBAAmB,4BAA4B,oBAAoB;qBAC3I;iBACF;gBACD,SAAS,EAAE,CAAC,mBAAmB,CAAC;aACjC,CAAC;QACJ,CAAC;QACD,IAAA,sCAAiC,EAAC,MAAM,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC;QACzE,OAAO,MAAM,CAAC;IAChB,CAAC,CACF,CAAC;IAEF,2CAA2C;IAC3C,sFAAsF;IACtF,IAAA,qBAAe,EACb,IAAI,EACJ,IAAA,0BAAiB,EAAC,0CAAY,EAAE,mDAAqB,CAAC,EACtD,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,GAAG,QAAQ,EAAE,IAAA,0BAAiB,EAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAC5E,CAAC;AACJ,CAAC,CAAC;AAnEW,QAAA,gDAAgD,oDAmE3D"}
|
|
@@ -41,7 +41,7 @@ resource "aws_s3_bucket" "access_logs" {
|
|
|
41
41
|
#checkov:skip=CKV2_AWS_62:Event notifications not required for access log bucket
|
|
42
42
|
#checkov:skip=CKV_AWS_18:Access logging the access log bucket would create a cycle
|
|
43
43
|
#checkov:skip=CKV_AWS_145:AES256 (S3-managed) encryption is sufficient for access logs
|
|
44
|
-
bucket = "${var.bucket_name_prefix}-logs-${data.aws_caller_identity.current.account_id}-${data.aws_region.current.
|
|
44
|
+
bucket = "${var.bucket_name_prefix}-logs-${data.aws_caller_identity.current.account_id}-${data.aws_region.current.region}-${random_string.suffix.result}"
|
|
45
45
|
force_destroy = true
|
|
46
46
|
|
|
47
47
|
tags = var.tags
|
|
@@ -118,7 +118,7 @@ resource "aws_s3_bucket" "assets" {
|
|
|
118
118
|
#checkov:skip=CKV_AWS_144:Cross-region replication not required for asset bucket
|
|
119
119
|
#checkov:skip=CKV2_AWS_62:Event notifications not required for asset bucket
|
|
120
120
|
#checkov:skip=CKV_AWS_145:AES256 (S3-managed) encryption is sufficient for build artefacts
|
|
121
|
-
bucket = "${var.bucket_name_prefix}-${data.aws_caller_identity.current.account_id}-${data.aws_region.current.
|
|
121
|
+
bucket = "${var.bucket_name_prefix}-${data.aws_caller_identity.current.account_id}-${data.aws_region.current.region}-${random_string.suffix.result}"
|
|
122
122
|
force_destroy = true
|
|
123
123
|
|
|
124
124
|
tags = var.tags
|
|
@@ -8,6 +8,7 @@ exports.addLambdaFunctionInfra = void 0;
|
|
|
8
8
|
const devkit_1 = require("@nx/devkit");
|
|
9
9
|
const shared_constructs_constants_1 = require("../shared-constructs-constants");
|
|
10
10
|
const ast_1 = require("../ast");
|
|
11
|
+
const nx_1 = require("../nx");
|
|
11
12
|
/**
|
|
12
13
|
* Add infrastructure for a lambda function
|
|
13
14
|
*/
|
|
@@ -24,16 +25,7 @@ const addLambdaFunctionInfra = async (tree, options) => {
|
|
|
24
25
|
(0, devkit_1.updateJson)(tree, (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, options.iacProvider === 'CDK'
|
|
25
26
|
? shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR
|
|
26
27
|
: shared_constructs_constants_1.SHARED_TERRAFORM_DIR, 'project.json'), (config) => {
|
|
27
|
-
|
|
28
|
-
config.targets = {};
|
|
29
|
-
}
|
|
30
|
-
if (!config.targets.build) {
|
|
31
|
-
config.targets.build = {};
|
|
32
|
-
}
|
|
33
|
-
config.targets.build.dependsOn = [
|
|
34
|
-
...(config.targets.build.dependsOn ?? []),
|
|
35
|
-
`${options.functionProjectName}:build`,
|
|
36
|
-
];
|
|
28
|
+
(0, nx_1.addDependencyToTargetIfNotPresent)(config, 'build', `${options.functionProjectName}:build`);
|
|
37
29
|
return config;
|
|
38
30
|
});
|
|
39
31
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function-constructs.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/function-constructs/function-constructs.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uCAOoB;AACpB,gFAIwC;AACxC,gCAAuC;
|
|
1
|
+
{"version":3,"file":"function-constructs.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/function-constructs/function-constructs.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uCAOoB;AACpB,gFAIwC;AACxC,gCAAuC;AAEvC,8BAA0D;AAW1D;;GAEG;AACI,MAAM,sBAAsB,GAAG,KAAK,EACzC,IAAU,EACV,OAEC,EACD,EAAE;IACF,IAAI,OAAO,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;QAClC,MAAM,8BAA8B,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;SAAM,IAAI,OAAO,CAAC,WAAW,KAAK,WAAW,EAAE,CAAC;QAC/C,iCAAiC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,2BAA2B,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,IAAA,mBAAU,EACR,IAAI,EACJ,IAAA,0BAAiB,EACf,0CAAY,EACZ,OAAO,CAAC,WAAW,KAAK,KAAK;QAC3B,CAAC,CAAC,mDAAqB;QACvB,CAAC,CAAC,kDAAoB,EACxB,cAAc,CACf,EACD,CAAC,MAA4B,EAAE,EAAE;QAC/B,IAAA,sCAAiC,EAC/B,MAAM,EACN,OAAO,EACP,GAAG,OAAO,CAAC,mBAAmB,QAAQ,CACvC,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC,CACF,CAAC;AACJ,CAAC,CAAC;AAhCW,QAAA,sBAAsB,0BAgCjC;AAEF,MAAM,8BAA8B,GAAG,KAAK,EAC1C,IAAU,EACV,OAA0C,EAC1C,EAAE;IACF,sCAAsC;IACtC,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,CAAC,EACvE,IAAA,0BAAiB,EACf,0CAAY,EACZ,mDAAqB,EACrB,KAAK,EACL,KAAK,EACL,kBAAkB,CACnB,EACD;QACE,GAAG,OAAO;QACV,OAAO,EAAE,WAAW,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,EAAE;KACrF,EACD;QACE,iBAAiB,EAAE,0BAAiB,CAAC,YAAY;KAClD,CACF,CAAC;IAEF,oCAAoC;IACpC,MAAM,IAAA,mBAAa,EACjB,IAAI,EACJ,IAAA,0BAAiB,EACf,0CAAY,EACZ,mDAAqB,EACrB,KAAK,EACL,KAAK,EACL,kBAAkB,EAClB,UAAU,CACX,EACD,KAAK,OAAO,CAAC,qBAAqB,KAAK,CACxC,CAAC;IACF,MAAM,IAAA,mBAAa,EACjB,IAAI,EACJ,IAAA,0BAAiB,EACf,0CAAY,EACZ,mDAAqB,EACrB,KAAK,EACL,KAAK,EACL,UAAU,CACX,EACD,6BAA6B,CAC9B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,iCAAiC,GAAG,CACxC,IAAU,EACV,OAA0C,EAC1C,EAAE;IACF,yCAAyC;IACzC,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EACf,SAAS,EACT,OAAO,EACP,WAAW,EACX,KAAK,EACL,kBAAkB,CACnB,EACD,IAAA,0BAAiB,EACf,0CAAY,EACZ,kDAAoB,EACpB,KAAK,EACL,KAAK,EACL,kBAAkB,CACnB,EACD;QACE,GAAG,OAAO;QACV,OAAO,EAAE,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY;KACpE,EACD;QACE,iBAAiB,EAAE,0BAAiB,CAAC,YAAY;KAClD,CACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -65,7 +65,7 @@ resource "aws_iam_role" "cognito_sms_role" {
|
|
|
65
65
|
"aws:SourceAccount" = data.aws_caller_identity.current.account_id
|
|
66
66
|
}
|
|
67
67
|
ArnLike = {
|
|
68
|
-
"aws:SourceArn" = "arn:aws:cognito-idp:${data.aws_region.current.
|
|
68
|
+
"aws:SourceArn" = "arn:aws:cognito-idp:${data.aws_region.current.region}:${data.aws_caller_identity.current.account_id}:userpool/*"
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
71
|
}
|
|
@@ -124,7 +124,7 @@ resource "aws_cognito_user_pool" "user_pool" {
|
|
|
124
124
|
sms_configuration {
|
|
125
125
|
external_id = random_uuid.sms_external_id.result
|
|
126
126
|
sns_caller_arn = aws_iam_role.cognito_sms_role.arn
|
|
127
|
-
sns_region = data.aws_region.current.
|
|
127
|
+
sns_region = data.aws_region.current.region
|
|
128
128
|
}
|
|
129
129
|
|
|
130
130
|
depends_on = [aws_iam_role_policy.cognito_sms_policy]
|
|
@@ -250,13 +250,13 @@ resource "aws_cognito_user_pool_client" "web_client" {
|
|
|
250
250
|
callback_urls = concat([
|
|
251
251
|
"http://localhost:4200",
|
|
252
252
|
"http://localhost:4300",
|
|
253
|
-
"https://${data.aws_region.current.
|
|
253
|
+
"https://${data.aws_region.current.region}.console.aws.amazon.com"
|
|
254
254
|
], var.callback_urls)
|
|
255
255
|
|
|
256
256
|
logout_urls = concat([
|
|
257
257
|
"http://localhost:4200",
|
|
258
258
|
"http://localhost:4300",
|
|
259
|
-
"https://${data.aws_region.current.
|
|
259
|
+
"https://${data.aws_region.current.region}.console.aws.amazon.com"
|
|
260
260
|
], var.logout_urls)
|
|
261
261
|
|
|
262
262
|
# Security settings
|
|
@@ -379,7 +379,7 @@ module "add_cognito_to_runtime_config" {
|
|
|
379
379
|
namespace = "connection"
|
|
380
380
|
key = "cognitoProps"
|
|
381
381
|
value = {
|
|
382
|
-
region = data.aws_region.current.
|
|
382
|
+
region = data.aws_region.current.region
|
|
383
383
|
identityPoolId = aws_cognito_identity_pool.identity_pool.id
|
|
384
384
|
userPoolId = aws_cognito_user_pool.user_pool.id
|
|
385
385
|
userPoolWebClientId = aws_cognito_user_pool_client.web_client.id
|
|
@@ -389,7 +389,7 @@ module "add_cognito_to_runtime_config" {
|
|
|
389
389
|
# Outputs
|
|
390
390
|
output "region" {
|
|
391
391
|
description = "AWS region"
|
|
392
|
-
value = data.aws_region.current.
|
|
392
|
+
value = data.aws_region.current.region
|
|
393
393
|
}
|
|
394
394
|
|
|
395
395
|
output "user_pool_id" {
|
package/src/utils/nx.d.ts
CHANGED
|
@@ -45,8 +45,21 @@ export declare const addComponentGeneratorMetadata: (tree: Tree, projectName: st
|
|
|
45
45
|
}, componentPath: string, componentName?: string, additionalMetadata?: {
|
|
46
46
|
[key: string]: any;
|
|
47
47
|
}) => void;
|
|
48
|
+
/**
|
|
49
|
+
* A single entry in an Nx `dependsOn` array.
|
|
50
|
+
* Matches the shape accepted by Nx without requiring a devkit type import.
|
|
51
|
+
*/
|
|
52
|
+
export type TargetDependency = string | {
|
|
53
|
+
projects?: string | string[];
|
|
54
|
+
target: string;
|
|
55
|
+
params?: 'ignore' | 'forward';
|
|
56
|
+
};
|
|
48
57
|
/**
|
|
49
58
|
* Mutate the project to add the dependency to the target if not already present
|
|
50
59
|
* Adds the target if not present.
|
|
60
|
+
*
|
|
61
|
+
* Accepts either a string target name (e.g. `'build'`) or a dependency config
|
|
62
|
+
* object (e.g. `{ projects: ['foo'], target: 'serve-local' }`). Deduplicates
|
|
63
|
+
* using deep equality so re-running a generator does not grow `dependsOn`.
|
|
51
64
|
*/
|
|
52
|
-
export declare const addDependencyToTargetIfNotPresent: (project: ProjectConfiguration, target: string, dependency:
|
|
65
|
+
export declare const addDependencyToTargetIfNotPresent: (project: ProjectConfiguration, target: string, dependency: TargetDependency) => void;
|
package/src/utils/nx.js
CHANGED
|
@@ -92,15 +92,41 @@ const addComponentGeneratorMetadata = (tree, projectName, info, componentPath, c
|
|
|
92
92
|
}
|
|
93
93
|
};
|
|
94
94
|
exports.addComponentGeneratorMetadata = addComponentGeneratorMetadata;
|
|
95
|
+
const targetDependencyEquals = (a, b) => {
|
|
96
|
+
if (typeof a === 'string' || typeof b === 'string') {
|
|
97
|
+
return a === b;
|
|
98
|
+
}
|
|
99
|
+
if (a.target !== b.target || a.params !== b.params) {
|
|
100
|
+
return false;
|
|
101
|
+
}
|
|
102
|
+
const aProjects = Array.isArray(a.projects)
|
|
103
|
+
? a.projects
|
|
104
|
+
: a.projects !== undefined
|
|
105
|
+
? [a.projects]
|
|
106
|
+
: [];
|
|
107
|
+
const bProjects = Array.isArray(b.projects)
|
|
108
|
+
? b.projects
|
|
109
|
+
: b.projects !== undefined
|
|
110
|
+
? [b.projects]
|
|
111
|
+
: [];
|
|
112
|
+
if (aProjects.length !== bProjects.length) {
|
|
113
|
+
return false;
|
|
114
|
+
}
|
|
115
|
+
return aProjects.every((p, i) => p === bProjects[i]);
|
|
116
|
+
};
|
|
95
117
|
/**
|
|
96
118
|
* Mutate the project to add the dependency to the target if not already present
|
|
97
119
|
* Adds the target if not present.
|
|
120
|
+
*
|
|
121
|
+
* Accepts either a string target name (e.g. `'build'`) or a dependency config
|
|
122
|
+
* object (e.g. `{ projects: ['foo'], target: 'serve-local' }`). Deduplicates
|
|
123
|
+
* using deep equality so re-running a generator does not grow `dependsOn`.
|
|
98
124
|
*/
|
|
99
125
|
const addDependencyToTargetIfNotPresent = (project, target, dependency) => {
|
|
100
126
|
project.targets ??= {};
|
|
101
127
|
project.targets[target] ??= {};
|
|
102
128
|
project.targets[target].dependsOn = [
|
|
103
|
-
...(project.targets[target].dependsOn ?? []).filter((d) => d
|
|
129
|
+
...(project.targets[target].dependsOn ?? []).filter((d) => !targetDependencyEquals(d, dependency)),
|
|
104
130
|
dependency,
|
|
105
131
|
];
|
|
106
132
|
};
|