@aws/nx-plugin 0.45.1 → 0.46.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 (63) hide show
  1. package/package.json +1 -1
  2. package/src/py/fast-api/__snapshots__/generator.spec.ts.snap +3669 -0
  3. package/src/py/fast-api/generator.js +57 -50
  4. package/src/py/fast-api/generator.js.map +1 -1
  5. package/src/py/fast-api/schema.d.ts +1 -0
  6. package/src/py/fast-api/schema.json +8 -0
  7. package/src/py/mcp-server/__snapshots__/generator.spec.ts.snap +590 -0
  8. package/src/py/mcp-server/generator.js +4 -18
  9. package/src/py/mcp-server/generator.js.map +1 -1
  10. package/src/py/mcp-server/schema.d.ts +1 -0
  11. package/src/py/mcp-server/schema.json +8 -0
  12. package/src/py/strands-agent/__snapshots__/generator.spec.ts.snap +590 -0
  13. package/src/py/strands-agent/generator.js +4 -18
  14. package/src/py/strands-agent/generator.js.map +1 -1
  15. package/src/py/strands-agent/schema.d.ts +1 -0
  16. package/src/py/strands-agent/schema.json +8 -0
  17. package/src/terraform/project/generator.js +23 -7
  18. package/src/terraform/project/generator.js.map +1 -1
  19. package/src/trpc/backend/__snapshots__/generator.spec.ts.snap +3669 -0
  20. package/src/trpc/backend/generator.js +6 -17
  21. package/src/trpc/backend/generator.js.map +1 -1
  22. package/src/trpc/backend/schema.d.ts +1 -0
  23. package/src/trpc/backend/schema.json +8 -0
  24. package/src/ts/mcp-server/__snapshots__/generator.spec.ts.snap +590 -0
  25. package/src/ts/mcp-server/generator.js +4 -18
  26. package/src/ts/mcp-server/generator.js.map +1 -1
  27. package/src/ts/mcp-server/schema.d.ts +1 -0
  28. package/src/ts/mcp-server/schema.json +8 -0
  29. package/src/ts/nx-plugin/generator.js +1 -0
  30. package/src/ts/nx-plugin/generator.js.map +1 -1
  31. package/src/utils/agent-core-constructs/agent-core-constructs.d.ts +11 -5
  32. package/src/utils/agent-core-constructs/agent-core-constructs.js +51 -10
  33. package/src/utils/agent-core-constructs/agent-core-constructs.js.map +1 -1
  34. package/src/utils/agent-core-constructs/files/terraform/app/agent-core/__nameKebabCase__/__nameKebabCase__.tf.template +46 -0
  35. package/src/utils/agent-core-constructs/files/terraform/core/agent-core/runtime.tf.template +536 -0
  36. package/src/utils/api-constructs/api-constructs.d.ts +4 -4
  37. package/src/utils/api-constructs/api-constructs.js +45 -5
  38. package/src/utils/api-constructs/api-constructs.js.map +1 -1
  39. package/src/utils/api-constructs/files/terraform/app/apis/http/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +382 -0
  40. package/src/utils/api-constructs/files/terraform/app/apis/rest/__apiNameKebabCase__/__apiNameKebabCase__.tf.template +508 -0
  41. package/src/utils/api-constructs/files/terraform/core/api/http/http-api/http-api.tf.template +250 -0
  42. package/src/utils/api-constructs/files/terraform/core/api/rest/rest-api/rest-api.tf.template +150 -0
  43. package/src/utils/files/terraform/src/metrics/metrics.tf.template +3 -2
  44. package/src/utils/py.d.ts +5 -0
  45. package/src/utils/py.js +9 -1
  46. package/src/utils/py.js.map +1 -1
  47. package/src/utils/shared-constructs-constants.d.ts +2 -0
  48. package/src/utils/shared-constructs-constants.js +3 -1
  49. package/src/utils/shared-constructs-constants.js.map +1 -1
  50. package/src/utils/shared-constructs.js +2 -2
  51. package/src/utils/shared-constructs.js.map +1 -1
  52. package/src/utils/versions.d.ts +3 -1
  53. package/src/utils/versions.js +2 -0
  54. package/src/utils/versions.js.map +1 -1
  55. /package/src/utils/agent-core-constructs/files/{app → cdk/app}/agent-core/__nameKebabCase__/Dockerfile.template +0 -0
  56. /package/src/utils/agent-core-constructs/files/{app → cdk/app}/agent-core/__nameKebabCase__/__nameKebabCase__.ts.template +0 -0
  57. /package/src/utils/agent-core-constructs/files/{core → cdk/core}/agent-core/runtime.ts.template +0 -0
  58. /package/src/utils/api-constructs/files/{app → cdk/app}/apis/http/__apiNameKebabCase__.ts.template +0 -0
  59. /package/src/utils/api-constructs/files/{app → cdk/app}/apis/rest/__apiNameKebabCase__.ts.template +0 -0
  60. /package/src/utils/api-constructs/files/{core → cdk/core}/api/http/http-api.ts.template +0 -0
  61. /package/src/utils/api-constructs/files/{core → cdk/core}/api/rest/rest-api.ts.template +0 -0
  62. /package/src/utils/api-constructs/files/{core → cdk/core}/api/trpc/trpc-utils.ts.template +0 -0
  63. /package/src/utils/api-constructs/files/{core → cdk/core}/api/utils/utils.ts.template +0 -0
@@ -14,7 +14,6 @@ const versions_1 = require("../../utils/versions");
14
14
  const names_1 = require("../../utils/names");
15
15
  const shared_constructs_1 = require("../../utils/shared-constructs");
16
16
  const agent_core_constructs_1 = require("../../utils/agent-core-constructs/agent-core-constructs");
17
- const shared_constructs_constants_1 = require("../../utils/shared-constructs-constants");
18
17
  const npm_scope_1 = require("../../utils/npm-scope");
19
18
  const esbuild_1 = require("../../utils/esbuild");
20
19
  exports.TS_MCP_SERVER_GENERATOR_INFO = (0, nx_1.getGeneratorInfo)(__filename);
@@ -81,27 +80,14 @@ const tsMcpServerGenerator = (tree, options) => tslib_1.__awaiter(void 0, void 0
81
80
  ],
82
81
  });
83
82
  // Add shared constructs
84
- yield (0, shared_constructs_1.sharedConstructsGenerator)(tree);
85
- // Ensure common constructs builds after our mcp server project
86
- (0, devkit_1.updateJson)(tree, (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR, 'project.json'), (config) => {
87
- var _a;
88
- if (!config.targets) {
89
- config.targets = {};
90
- }
91
- if (!config.targets.build) {
92
- config.targets.build = {};
93
- }
94
- config.targets.build.dependsOn = [
95
- ...((_a = config.targets.build.dependsOn) !== null && _a !== void 0 ? _a : []).filter((t) => t !== `${project.name}:build`),
96
- `${project.name}:build`,
97
- ];
98
- return config;
99
- });
83
+ yield (0, shared_constructs_1.sharedConstructsGenerator)(tree, { iacProvider: options.iacProvider });
100
84
  // Add the construct to deploy the mcp server
101
- (0, agent_core_constructs_1.addMcpServerConstruct)(tree, {
85
+ (0, agent_core_constructs_1.addMcpServerInfra)(tree, {
102
86
  mcpServerNameKebabCase: name,
103
87
  mcpServerNameClassName: (0, names_1.toClassName)(name),
88
+ projectName: project.name,
104
89
  dockerImageTag,
90
+ iacProvider: options.iacProvider,
105
91
  });
106
92
  // Add additional dependencies
107
93
  devDeps = Object.assign(Object.assign({}, devDeps), (0, versions_1.withVersions)(['esbuild']));
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/mcp-server/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/mcp-server/generator.ts"],"names":[],"mappings":"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"}
@@ -13,4 +13,5 @@ export interface TsMcpServerGeneratorSchema {
13
13
  project: string;
14
14
  name?: string;
15
15
  computeType?: TsMcpServerComputeType;
16
+ iacProvider: 'CDK' | 'Terraform';
16
17
  }
@@ -27,6 +27,14 @@
27
27
  "type": "string",
28
28
  "description": "The name of your MCP server (default: mcp-server)",
29
29
  "x-prompt": "What would you like to call your MCP server? (default: mcp-server)"
30
+ },
31
+ "iacProvider": {
32
+ "type": "string",
33
+ "description": "The preferred IaC provider",
34
+ "enum": ["CDK", "Terraform"],
35
+ "x-priority": "important",
36
+ "default": "CDK",
37
+ "x-prompt": "Which provider would you like to manage your infrastructure? (default: CDK)"
30
38
  }
31
39
  },
32
40
  "required": ["project"]
@@ -69,6 +69,7 @@ const tsNxPluginGenerator = (tree, options) => tslib_1.__awaiter(void 0, void 0,
69
69
  yield (0, generator_2.default)(tree, {
70
70
  project: fullyQualifiedName,
71
71
  computeType: 'None',
72
+ iacProvider: 'CDK', // not used
72
73
  });
73
74
  const mcpPath = (0, devkit_1.joinPathFragments)(project.sourceRoot, 'mcp-server');
74
75
  const mcpServerPath = (0, devkit_1.joinPathFragments)(mcpPath, 'server.ts');
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/nx-plugin/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/nx-plugin/generator.ts"],"names":[],"mappings":"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"}
@@ -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
+ }