@aws/nx-plugin 0.45.1 → 0.47.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.
Files changed (114) hide show
  1. package/package.json +1 -1
  2. package/src/infra/app/generator.js +4 -1
  3. package/src/infra/app/generator.js.map +1 -1
  4. package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +3729 -0
  5. package/src/py/fast-api/generator.js +57 -50
  6. package/src/py/fast-api/generator.js.map +1 -1
  7. package/src/py/fast-api/react/__snapshots__/generator.spec.ts.snap +1 -0
  8. package/src/py/fast-api/schema.d.ts +1 -0
  9. package/src/py/fast-api/schema.json +8 -0
  10. package/src/py/lambda-function/__snapshots__/generator.spec.ts.snap +310 -0
  11. package/src/py/lambda-function/generator.js +15 -25
  12. package/src/py/lambda-function/generator.js.map +1 -1
  13. package/src/py/lambda-function/schema.d.ts +1 -0
  14. package/src/py/lambda-function/schema.json +8 -0
  15. package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +590 -0
  16. package/src/py/mcp-server/generator.js +4 -18
  17. package/src/py/mcp-server/generator.js.map +1 -1
  18. package/src/py/mcp-server/schema.d.ts +1 -0
  19. package/src/py/mcp-server/schema.json +8 -0
  20. package/src/py/strands-agent/__snapshots__/generator.spec.ts.snap +590 -0
  21. package/src/py/strands-agent/generator.js +4 -18
  22. package/src/py/strands-agent/generator.js.map +1 -1
  23. package/src/py/strands-agent/schema.d.ts +1 -0
  24. package/src/py/strands-agent/schema.json +8 -0
  25. package/src/terraform/project/generator.js +23 -7
  26. package/src/terraform/project/generator.js.map +1 -1
  27. package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +3729 -0
  28. package/src/trpc/backend/generator.js +6 -17
  29. package/src/trpc/backend/generator.js.map +1 -1
  30. package/src/trpc/backend/schema.d.ts +1 -0
  31. package/src/trpc/backend/schema.json +8 -0
  32. package/src/trpc/react/__snapshots__/generator.spec.ts.snap +1 -0
  33. package/src/ts/lambda-function/__snapshots__/generator.spec.ts.snap +310 -0
  34. package/src/ts/lambda-function/generator.js +15 -27
  35. package/src/ts/lambda-function/generator.js.map +1 -1
  36. package/src/ts/lambda-function/schema.d.ts +1 -0
  37. package/src/ts/lambda-function/schema.json +8 -0
  38. package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +590 -0
  39. package/src/ts/mcp-server/generator.js +4 -18
  40. package/src/ts/mcp-server/generator.js.map +1 -1
  41. package/src/ts/mcp-server/schema.d.ts +1 -0
  42. package/src/ts/mcp-server/schema.json +8 -0
  43. package/src/ts/nx-plugin/generator.js +1 -0
  44. package/src/ts/nx-plugin/generator.js.map +1 -1
  45. package/src/ts/react-website/app/__snapshots__/generator.spec.ts.snap +756 -0
  46. package/src/ts/react-website/app/generator.js +42 -43
  47. package/src/ts/react-website/app/generator.js.map +1 -1
  48. package/src/ts/react-website/app/schema.d.ts +1 -0
  49. package/src/ts/react-website/app/schema.json +8 -0
  50. package/src/ts/react-website/cognito-auth/__snapshots__/generator.spec.ts.snap +259 -0
  51. package/src/ts/react-website/cognito-auth/generator.js +10 -13
  52. package/src/ts/react-website/cognito-auth/generator.js.map +1 -1
  53. package/src/ts/react-website/cognito-auth/schema.d.ts +1 -0
  54. package/src/ts/react-website/cognito-auth/schema.json +8 -0
  55. package/src/ts/react-website/runtime-config/__snapshots__/generator.spec.ts.snap +0 -40
  56. package/src/ts/react-website/runtime-config/generator.js +0 -2
  57. package/src/ts/react-website/runtime-config/generator.js.map +1 -1
  58. package/src/utils/agent-core-constructs/agent-core-constructs.d.ts +11 -5
  59. package/src/utils/agent-core-constructs/agent-core-constructs.js +51 -10
  60. package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -1
  61. package/src/utils/agent-core-constructs/files/terraform/app/agent-core/__nameKebabCase__/__nameKebabCase__.tf.template +46 -0
  62. package/src/utils/agent-core-constructs/files/terraform/core/agent-core/runtime.tf.template +536 -0
  63. package/src/utils/api-constructs/api-constructs.d.ts +4 -4
  64. package/src/utils/api-constructs/api-constructs.js +45 -5
  65. package/src/utils/api-constructs/api-constructs.js.map +1 -1
  66. package/src/utils/api-constructs/files/terraform/app/apis/http/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +392 -0
  67. package/src/utils/api-constructs/files/terraform/app/apis/rest/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +518 -0
  68. package/src/utils/api-constructs/files/terraform/core/api/http/http-api/http-api.tf.template +250 -0
  69. package/src/utils/api-constructs/files/terraform/core/api/rest/rest-api/rest-api.tf.template +150 -0
  70. package/src/utils/files/terraform/src/core/runtime-config/entry/entry.tf.template +119 -0
  71. package/src/utils/files/terraform/src/core/runtime-config/read/read.tf.template +28 -0
  72. package/src/utils/files/terraform/src/metrics/metrics.tf.template +3 -2
  73. package/src/{py/lambda-function/files/common/constructs/src/app/lambda-functions/__constructFunctionKebabCase__.ts.template → utils/function-constructs/files/cdk/app/lambda-functions/__functionNameKebabCase__.ts.template} +5 -5
  74. package/src/utils/function-constructs/files/terraform/app/lambda-functions/__functionNameKebabCase__/__functionNameKebabCase__.tf.template +150 -0
  75. package/src/utils/function-constructs/function-constructs.d.ts +19 -0
  76. package/src/utils/function-constructs/function-constructs.js +57 -0
  77. package/src/utils/function-constructs/function-constructs.js.map +1 -0
  78. package/src/utils/identity-constructs/files/terraform/core/user-identity/add-callback-url/add-callback-url.tf.template +123 -0
  79. package/src/utils/identity-constructs/files/terraform/core/user-identity/identity/identity.tf.template +421 -0
  80. package/src/utils/identity-constructs/files/terraform/core/user-identity/main.tf.template +47 -0
  81. package/src/utils/identity-constructs/identity-constructs.d.ts +15 -0
  82. package/src/utils/identity-constructs/identity-constructs.js +84 -0
  83. package/src/utils/identity-constructs/identity-constructs.js.map +1 -0
  84. package/src/utils/metrics.js +1 -1
  85. package/src/utils/metrics.js.map +1 -1
  86. package/src/utils/py.d.ts +5 -0
  87. package/src/utils/py.js +9 -1
  88. package/src/utils/py.js.map +1 -1
  89. package/src/utils/shared-constructs-constants.d.ts +2 -0
  90. package/src/utils/shared-constructs-constants.js +3 -1
  91. package/src/utils/shared-constructs-constants.js.map +1 -1
  92. package/src/utils/shared-constructs.js +26 -2
  93. package/src/utils/shared-constructs.js.map +1 -1
  94. package/src/utils/versions.d.ts +3 -1
  95. package/src/utils/versions.js +2 -0
  96. package/src/utils/versions.js.map +1 -1
  97. package/src/utils/website-constructs/files/terraform/app/static-websites/__websiteNameKebabCase__/__websiteNameKebabCase__.tf.template +42 -0
  98. package/src/utils/website-constructs/files/terraform/core/static-website/static-website.tf.template +709 -0
  99. package/src/utils/website-constructs/website-constructs.d.ts +18 -0
  100. package/src/utils/website-constructs/website-constructs.js +61 -0
  101. package/src/utils/website-constructs/website-constructs.js.map +1 -0
  102. package/src/ts/lambda-function/files/common/constructs/src/app/lambda-functions/__constructFunctionNameKebabCase__.ts.template +0 -24
  103. /package/src/utils/agent-core-constructs/files/{app → cdk/app}/agent-core/__nameKebabCase__/Dockerfile.template +0 -0
  104. /package/src/utils/agent-core-constructs/files/{app → cdk/app}/agent-core/__nameKebabCase__/__nameKebabCase__.ts.template +0 -0
  105. /package/src/utils/agent-core-constructs/files/{core → cdk/core}/agent-core/runtime.ts.template +0 -0
  106. /package/src/utils/api-constructs/files/{app → cdk/app}/apis/http/__apiNameKebabCase__.ts.template +0 -0
  107. /package/src/utils/api-constructs/files/{app → cdk/app}/apis/rest/__apiNameKebabCase__.ts.template +0 -0
  108. /package/src/utils/api-constructs/files/{core → cdk/core}/api/http/http-api.ts.template +0 -0
  109. /package/src/utils/api-constructs/files/{core → cdk/core}/api/rest/rest-api.ts.template +0 -0
  110. /package/src/utils/api-constructs/files/{core → cdk/core}/api/trpc/trpc-utils.ts.template +0 -0
  111. /package/src/utils/api-constructs/files/{core → cdk/core}/api/utils/utils.ts.template +0 -0
  112. /package/src/{ts/react-website/cognito-auth/files/common/constructs/src → utils/identity-constructs/files/cdk}/core/user-identity.ts.template +0 -0
  113. /package/src/{ts/react-website/app/files/common/constructs/src → utils/website-constructs/files/cdk}/app/static-websites/__websiteNameKebabCase__.ts.template +0 -0
  114. /package/src/{ts/react-website/app/files/common/constructs/src → utils/website-constructs/files/cdk}/core/static-website.ts.template +0 -0
@@ -3,28 +3,34 @@
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
5
  import { Tree } from '@nx/devkit';
6
- export interface AddAgentCoreConstructProps {
6
+ export type IACProvider = {
7
+ iacProvider: 'CDK' | 'Terraform';
8
+ };
9
+ export interface AddAgentCoreInfraProps {
7
10
  nameClassName: string;
8
11
  nameKebabCase: string;
12
+ projectName: string;
9
13
  dockerImageTag: string;
10
14
  appDirectory: string;
11
15
  serverProtocol: 'MCP' | 'HTTP';
12
16
  }
13
- export interface AddMcpServerConstructProps {
17
+ export interface AddMcpServerInfraProps {
14
18
  mcpServerNameClassName: string;
15
19
  mcpServerNameKebabCase: string;
20
+ projectName: string;
16
21
  dockerImageTag: string;
17
22
  }
18
23
  /**
19
24
  * Add an MCP server CDK construct
20
25
  */
21
- export declare const addMcpServerConstruct: (tree: Tree, options: AddMcpServerConstructProps) => void;
22
- export interface AddAgentConstructProps {
26
+ export declare const addMcpServerInfra: (tree: Tree, options: AddMcpServerInfraProps & IACProvider) => void;
27
+ export interface AddAgentInfraProps {
23
28
  agentNameClassName: string;
24
29
  agentNameKebabCase: string;
30
+ projectName: string;
25
31
  dockerImageTag: string;
26
32
  }
27
33
  /**
28
34
  * Add an MCP server CDK construct
29
35
  */
30
- export declare const addAgentConstruct: (tree: Tree, options: AddAgentConstructProps) => void;
36
+ export declare const addAgentInfra: (tree: Tree, options: AddAgentInfraProps & IACProvider) => void;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addAgentConstruct = exports.addMcpServerConstruct = void 0;
3
+ exports.addAgentInfra = exports.addMcpServerInfra = void 0;
4
4
  /**
5
5
  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
6
6
  * SPDX-License-Identifier: Apache-2.0
@@ -9,45 +9,86 @@ 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
11
  const versions_1 = require("../versions");
12
- const addAgentCoreConstruct = (tree, options) => {
12
+ const addAgentCoreInfra = (tree, options) => {
13
+ switch (options.iacProvider) {
14
+ case 'CDK':
15
+ addAgentCoreCDKInfra(tree, options);
16
+ break;
17
+ case 'Terraform':
18
+ addAgentCoreTerraformInfra(tree, options);
19
+ break;
20
+ }
21
+ // Update shared constructs/terraform project configuration to depend on this project
22
+ (0, devkit_1.updateJson)(tree, (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, options.iacProvider === 'CDK'
23
+ ? shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR
24
+ : shared_constructs_constants_1.SHARED_TERRAFORM_DIR, 'project.json'), (config) => {
25
+ var _a;
26
+ if (!config.targets) {
27
+ config.targets = {};
28
+ }
29
+ if (!config.targets.build) {
30
+ config.targets.build = {};
31
+ }
32
+ config.targets.build.dependsOn = [
33
+ ...((_a = config.targets.build.dependsOn) !== null && _a !== void 0 ? _a : []).filter((t) => t !== `${options.projectName}:build`),
34
+ `${options.projectName}:build`,
35
+ ];
36
+ return config;
37
+ });
38
+ };
39
+ const addAgentCoreCDKInfra = (tree, options) => {
13
40
  // Construct uses bedrock agentcore types
14
41
  (0, devkit_1.addDependenciesToPackageJson)(tree, {}, (0, versions_1.withVersions)(['@aws-sdk/client-bedrock-agentcore-control']));
15
42
  // Add the AgentCore runtime construct
16
- (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', 'core', 'agent-core'), (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR, 'src', 'core', 'agent-core'), {}, {
43
+ (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', 'cdk', 'core', 'agent-core'), (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR, 'src', 'core', 'agent-core'), {}, {
17
44
  overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting,
18
45
  });
19
46
  // Generate app specific CDK construct
20
- (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', 'app', 'agent-core'), (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR, 'src', 'app', options.appDirectory), options, {
47
+ (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', 'cdk', 'app', 'agent-core'), (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR, 'src', 'app', options.appDirectory), options, {
21
48
  overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting,
22
49
  });
23
50
  // Export app specific CDK construct
24
51
  (0, ast_1.addStarExport)(tree, (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR, 'src', 'app', options.appDirectory, 'index.ts'), `./${options.nameKebabCase}/${options.nameKebabCase}.js`);
25
52
  (0, ast_1.addStarExport)(tree, (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR, 'src', 'app', 'index.ts'), `./${options.appDirectory}/index.js`);
26
53
  };
54
+ const addAgentCoreTerraformInfra = (tree, options) => {
55
+ // Add the AgentCore shared module
56
+ (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', 'terraform', 'core', 'agent-core'), (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_TERRAFORM_DIR, 'src', 'core', 'agent-core'), {}, {
57
+ overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting,
58
+ });
59
+ // Generate app specific agent core configuration
60
+ (0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', 'terraform', 'app', 'agent-core'), (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_TERRAFORM_DIR, 'src', 'app', options.appDirectory), options, {
61
+ overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting,
62
+ });
63
+ };
27
64
  /**
28
65
  * Add an MCP server CDK construct
29
66
  */
30
- const addMcpServerConstruct = (tree, options) => {
31
- addAgentCoreConstruct(tree, {
67
+ const addMcpServerInfra = (tree, options) => {
68
+ addAgentCoreInfra(tree, {
32
69
  nameClassName: options.mcpServerNameClassName,
33
70
  nameKebabCase: options.mcpServerNameKebabCase,
34
71
  dockerImageTag: options.dockerImageTag,
72
+ projectName: options.projectName,
35
73
  appDirectory: 'mcp-servers',
36
74
  serverProtocol: 'MCP',
75
+ iacProvider: options.iacProvider,
37
76
  });
38
77
  };
39
- exports.addMcpServerConstruct = addMcpServerConstruct;
78
+ exports.addMcpServerInfra = addMcpServerInfra;
40
79
  /**
41
80
  * Add an MCP server CDK construct
42
81
  */
43
- const addAgentConstruct = (tree, options) => {
44
- addAgentCoreConstruct(tree, {
82
+ const addAgentInfra = (tree, options) => {
83
+ addAgentCoreInfra(tree, {
45
84
  nameClassName: options.agentNameClassName,
46
85
  nameKebabCase: options.agentNameKebabCase,
86
+ projectName: options.projectName,
47
87
  dockerImageTag: options.dockerImageTag,
48
88
  appDirectory: 'agents',
49
89
  serverProtocol: 'HTTP',
90
+ iacProvider: options.iacProvider,
50
91
  });
51
92
  };
52
- exports.addAgentConstruct = addAgentConstruct;
93
+ exports.addAgentInfra = addAgentInfra;
53
94
  //# sourceMappingURL=agent-core-constructs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-core-constructs.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/agent-core-constructs/agent-core-constructs.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,uCAMoB;AACpB,gFAGwC;AACxC,gCAAuC;AACvC,0CAA2C;AAU3C,MAAM,qBAAqB,GAAG,CAC5B,IAAU,EACV,OAAmC,EACnC,EAAE;IACF,yCAAyC;IACzC,IAAA,qCAA4B,EAC1B,IAAI,EACJ,EAAE,EACF,IAAA,uBAAY,EAAC,CAAC,2CAA2C,CAAC,CAAC,CAC5D,CAAC;IAEF,sCAAsC;IACtC,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAC3D,IAAA,0BAAiB,EACf,0CAAY,EACZ,mDAAqB,EACrB,KAAK,EACL,MAAM,EACN,YAAY,CACb,EACD,EAAE,EACF;QACE,iBAAiB,EAAE,0BAAiB,CAAC,YAAY;KAClD,CACF,CAAC;IAEF,sCAAsC;IACtC,IAAA,sBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,EAC1D,IAAA,0BAAiB,EACf,0CAAY,EACZ,mDAAqB,EACrB,KAAK,EACL,KAAK,EACL,OAAO,CAAC,YAAY,CACrB,EACD,OAAO,EACP;QACE,iBAAiB,EAAE,0BAAiB,CAAC,YAAY;KAClD,CACF,CAAC;IAEF,oCAAoC;IACpC,IAAA,mBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EACf,0CAAY,EACZ,mDAAqB,EACrB,KAAK,EACL,KAAK,EACL,OAAO,CAAC,YAAY,EACpB,UAAU,CACX,EACD,KAAK,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,aAAa,KAAK,CACzD,CAAC;IACF,IAAA,mBAAa,EACX,IAAI,EACJ,IAAA,0BAAiB,EACf,0CAAY,EACZ,mDAAqB,EACrB,KAAK,EACL,KAAK,EACL,UAAU,CACX,EACD,KAAK,OAAO,CAAC,YAAY,WAAW,CACrC,CAAC;AACJ,CAAC,CAAC;AAQF;;GAEG;AACI,MAAM,qBAAqB,GAAG,CACnC,IAAU,EACV,OAAmC,EACnC,EAAE;IACF,qBAAqB,CAAC,IAAI,EAAE;QAC1B,aAAa,EAAE,OAAO,CAAC,sBAAsB;QAC7C,aAAa,EAAE,OAAO,CAAC,sBAAsB;QAC7C,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,YAAY,EAAE,aAAa;QAC3B,cAAc,EAAE,KAAK;KACtB,CAAC,CAAC;AACL,CAAC,CAAC;AAXW,QAAA,qBAAqB,yBAWhC;AAQF;;GAEG;AACI,MAAM,iBAAiB,GAAG,CAC/B,IAAU,EACV,OAA+B,EAC/B,EAAE;IACF,qBAAqB,CAAC,IAAI,EAAE;QAC1B,aAAa,EAAE,OAAO,CAAC,kBAAkB;QACzC,aAAa,EAAE,OAAO,CAAC,kBAAkB;QACzC,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,YAAY,EAAE,QAAQ;QACtB,cAAc,EAAE,MAAM;KACvB,CAAC,CAAC;AACL,CAAC,CAAC;AAXW,QAAA,iBAAiB,qBAW5B"}
1
+ {"version":3,"file":"agent-core-constructs.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/utils/agent-core-constructs/agent-core-constructs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ variable "env" {
2
+ description = "Environment variables to pass to the agent core runtime"
3
+ type = map(string)
4
+ default = {}
5
+ }
6
+
7
+ variable "additional_iam_policy_statements" {
8
+ description = "Additional IAM policy statements to attach to the agent core runtime role"
9
+ type = list(object({
10
+ Effect = string
11
+ Action = list(string)
12
+ Resource = list(string)
13
+ }))
14
+ default = []
15
+ }
16
+
17
+ variable "tags" {
18
+ description = "Tags to apply to resources"
19
+ type = map(string)
20
+ default = {}
21
+ }
22
+
23
+ module "agent_core_runtime" {
24
+ source = "../../../core/agent-core"
25
+ agent_runtime_name = "<%= nameClassName %>"
26
+ docker_image_tag = "<%= dockerImageTag %>"
27
+ server_protocol = "<%= serverProtocol %>"
28
+ # customJWTAuthorizer = {
29
+ # discoveryUrl = "https://xxx/.well-known/openid-configuration",
30
+ # allowedClients = [ "xxx" ]
31
+ # }
32
+
33
+ env = var.env
34
+ additional_iam_policy_statements = var.additional_iam_policy_statements
35
+ tags = var.tags
36
+ }
37
+
38
+ output "agent_core_runtime_role_arn" {
39
+ description = "ARN of the agent core runtime role"
40
+ value = module.agent_core_runtime.agent_core_runtime_role_arn
41
+ }
42
+
43
+ output "agent_core_runtime_arn" {
44
+ description = "ARN of the Bedrock Agent Core runtime"
45
+ value = module.agent_core_runtime.agent_core_runtime_arn
46
+ }