@aws/nx-plugin 0.114.2 → 0.114.3

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws/nx-plugin",
3
- "version": "0.114.2",
3
+ "version": "0.114.3",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/awslabs/nx-plugin-for-aws.git",
@@ -4099,9 +4099,13 @@ import {
4099
4099
  } from './constants.js';
4100
4100
  import { getDatabaseConfig } from './utils.js';
4101
4101
 
4102
+ let prismaClient: PrismaClient<Prisma.LogLevel> | undefined;
4103
+
4102
4104
  export const getPrisma = async <LogOpts extends Prisma.LogLevel>(
4103
4105
  log: LogOpts[] = ['warn', 'error'] as LogOpts[],
4104
4106
  ): Promise<PrismaClient<LogOpts>> => {
4107
+ if (prismaClient) return prismaClient;
4108
+
4105
4109
  if (process.env.SERVE_LOCAL === 'true') {
4106
4110
  const adapter = new PrismaPg(
4107
4111
  new Pool({
@@ -4113,10 +4117,11 @@ export const getPrisma = async <LogOpts extends Prisma.LogLevel>(
4113
4117
  allowExitOnIdle: true,
4114
4118
  }),
4115
4119
  );
4116
- return new PrismaClient({
4120
+ prismaClient = new PrismaClient({
4117
4121
  adapter,
4118
4122
  log,
4119
- }) as unknown as PrismaClient<LogOpts>;
4123
+ }) as unknown as PrismaClient<Prisma.LogLevel>;
4124
+ return prismaClient;
4120
4125
  }
4121
4126
 
4122
4127
  const { hostname, port, database, dbUser, region } =
@@ -4143,10 +4148,11 @@ export const getPrisma = async <LogOpts extends Prisma.LogLevel>(
4143
4148
  }),
4144
4149
  );
4145
4150
 
4146
- return new PrismaClient({
4151
+ prismaClient = new PrismaClient({
4147
4152
  adapter,
4148
4153
  log,
4149
- }) as unknown as PrismaClient<LogOpts>;
4154
+ }) as unknown as PrismaClient<Prisma.LogLevel>;
4155
+ return prismaClient;
4150
4156
  };
4151
4157
  "
4152
4158
  `;
@@ -60,9 +60,13 @@ export const getPrisma = async <LogOpts extends Prisma.LogLevel>(
60
60
  };
61
61
  <%_ } else { _%>
62
62
 
63
+ let prismaClient: PrismaClient<Prisma.LogLevel> | undefined;
64
+
63
65
  export const getPrisma = async <LogOpts extends Prisma.LogLevel>(
64
66
  log: LogOpts[] = ['warn', 'error'] as LogOpts[],
65
67
  ): Promise<PrismaClient<LogOpts>> => {
68
+ if (prismaClient) return prismaClient;
69
+
66
70
  if (process.env.SERVE_LOCAL === 'true') {
67
71
  const adapter = new PrismaPg(
68
72
  new Pool({
@@ -74,10 +78,11 @@ export const getPrisma = async <LogOpts extends Prisma.LogLevel>(
74
78
  allowExitOnIdle: true,
75
79
  }),
76
80
  );
77
- return new PrismaClient({
81
+ prismaClient = new PrismaClient({
78
82
  adapter,
79
83
  log,
80
- }) as unknown as PrismaClient<LogOpts>;
84
+ }) as unknown as PrismaClient<Prisma.LogLevel>;
85
+ return prismaClient;
81
86
  }
82
87
 
83
88
  const { hostname, port, database, dbUser, region } =
@@ -104,9 +109,10 @@ export const getPrisma = async <LogOpts extends Prisma.LogLevel>(
104
109
  }),
105
110
  );
106
111
 
107
- return new PrismaClient({
112
+ prismaClient = new PrismaClient({
108
113
  adapter,
109
114
  log,
110
- }) as unknown as PrismaClient<LogOpts>;
115
+ }) as unknown as PrismaClient<Prisma.LogLevel>;
116
+ return prismaClient;
111
117
  };
112
118
  <%_ } _%>
@@ -1,5 +1,26 @@
1
1
  // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
2
 
3
+ exports[`ts#rdb mcp-server-connection generator > should add RDS CA bundle to Dockerfile 1`] = `
4
+ "FROM public.ecr.aws/docker/library/node:lts-jod
5
+
6
+ WORKDIR /app
7
+
8
+ RUN npm install @aws/aws-distro-opentelemetry-node-autoinstrumentation@0.7.0
9
+
10
+ COPY index.js /app
11
+
12
+ RUN apt-get update && apt-get install -y --no-install-recommends curl ca-certificates && \\
13
+ rm -rf /var/lib/apt/lists/* && \\
14
+ curl -fsSL "https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem" \\
15
+ -o /usr/local/share/ca-certificates/rds-bundle.crt && \\
16
+ update-ca-certificates
17
+
18
+ EXPOSE 8000
19
+
20
+ CMD [ "node", "--require", "@aws/aws-distro-opentelemetry-node-autoinstrumentation/register", "index.js" ]
21
+ "
22
+ `;
23
+
3
24
  exports[`ts#rdb mcp-server-connection generator > should add rdb serve-local dependency to the mcp-server prefixed serve-local 1`] = `
4
25
  {
5
26
  "$schema": "../../node_modules/nx/schemas/project-schema.json",
@@ -31,6 +52,27 @@ exports[`ts#rdb mcp-server-connection generator > should add rdb serve-local dep
31
52
  }
32
53
  `;
33
54
 
55
+ exports[`ts#rdb mcp-server-connection generator > should be idempotent for Dockerfile 1`] = `
56
+ "FROM public.ecr.aws/docker/library/node:lts-jod
57
+
58
+ WORKDIR /app
59
+
60
+ RUN npm install @aws/aws-distro-opentelemetry-node-autoinstrumentation@0.7.0
61
+
62
+ COPY index.js /app
63
+
64
+ RUN apt-get update && apt-get install -y --no-install-recommends curl ca-certificates && \\
65
+ rm -rf /var/lib/apt/lists/* && \\
66
+ curl -fsSL "https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem" \\
67
+ -o /usr/local/share/ca-certificates/rds-bundle.crt && \\
68
+ update-ca-certificates
69
+
70
+ EXPOSE 8000
71
+
72
+ CMD [ "node", "--require", "@aws/aws-distro-opentelemetry-node-autoinstrumentation/register", "index.js" ]
73
+ "
74
+ `;
75
+
34
76
  exports[`ts#rdb mcp-server-connection generator > should be idempotent for server.ts 1`] = `
35
77
  "import { getPrisma as getDb } from 'db';
36
78
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
@@ -14,6 +14,7 @@ const names_1 = require("../../../utils/names");
14
14
  const lodash_camelcase_1 = tslib_1.__importDefault(require("lodash.camelcase"));
15
15
  const npm_scope_1 = require("../../../utils/npm-scope");
16
16
  const ast_1 = require("../../../utils/ast");
17
+ const utils_1 = require("../utils");
17
18
  exports.TS_RDB_MCP_SERVER_CONNECTION_GENERATOR_INFO = (0, nx_1.getGeneratorInfo)(__filename);
18
19
  const tsRdbMcpServerConnectionGenerator = async (tree, options) => {
19
20
  const sourceProject = (0, nx_1.readProjectConfigurationUnqualified)(tree, options.sourceProject);
@@ -33,6 +34,9 @@ const tsRdbMcpServerConnectionGenerator = async (tree, options) => {
33
34
  const rdbPackageAlias = (0, npm_scope_1.toScopeAlias)(targetProject.name);
34
35
  const getterAlias = `getPrisma as get${rdbNamePascal}`;
35
36
  const serverPath = (0, devkit_1.joinPathFragments)(sourceProject.root, 'src', mcpServerName, 'server.ts');
37
+ // Dockerfile: install RDS CA bundle for direct Aurora SSL connections
38
+ const dockerfilePath = (0, devkit_1.joinPathFragments)(sourceProject.root, 'src', mcpServerName, 'Dockerfile');
39
+ (0, utils_1.injectRdsCaBundleIntoDockerfile)(tree, dockerfilePath);
36
40
  // server.ts: inject db inside createServer body
37
41
  if (tree.exists(serverPath)) {
38
42
  await (0, ast_1.addDestructuredImport)(tree, serverPath, [getterAlias], rdbPackageAlias);
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/rdb/mcp-server-connection/generator.ts"],"names":[],"mappings":";;;;AAAA;;;GAGG;AACH,uCAIoB;AAEpB,0CAK2B;AAC3B,oDAAyE;AACzE,kDAA6D;AAC7D,gDAAkD;AAClD,gFAAyC;AACzC,wDAAwD;AACxD,4CAAwE;AAE3D,QAAA,2CAA2C,GACtD,IAAA,qBAAgB,EAAC,UAAU,CAAC,CAAC;AAExB,MAAM,iCAAiC,GAAG,KAAK,EACpD,IAAU,EACV,OAAgD,EACjC,EAAE;IACjB,MAAM,aAAa,GAAG,IAAA,wCAAmC,EACvD,IAAI,EACJ,OAAO,CAAC,aAAa,CACtB,CAAC;IACF,MAAM,aAAa,GAAG,IAAA,wCAAmC,EACvD,IAAI,EACJ,OAAO,CAAC,aAAa,CACtB,CAAC;IAEF,MAAM,aAAa,GAAG,OAAO,CAAC,eAAe,EAAE,IAAI,IAAI,YAAY,CAAC;IACpE,MAAM,gBAAgB,GAAG,GAAG,aAAa,cAAc,CAAC;IAExD,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC9C,IAAA,sCAAiC,EAAC,aAAa,EAAE,gBAAgB,EAAE;YACjE,QAAQ,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC;YAC9B,MAAM,EAAE,aAAa;SACtB,CAAC,CAAC;QACH,IAAA,mCAA0B,EAAC,IAAI,EAAE,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IACxD,MAAM,YAAY,GAAG,IAAA,0BAAS,EAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,aAAa,GAAG,IAAA,kBAAU,EAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,eAAe,GAAG,IAAA,wBAAY,EAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,mBAAmB,aAAa,EAAE,CAAC;IAEvD,MAAM,UAAU,GAAG,IAAA,0BAAiB,EAClC,aAAa,CAAC,IAAI,EAClB,KAAK,EACL,aAAa,EACb,WAAW,CACZ,CAAC;IAEF,gDAAgD;IAChD,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAA,2BAAqB,EACzB,IAAI,EACJ,UAAU,EACV,CAAC,WAAW,CAAC,EACb,eAAe,CAChB,CAAC;QAEF,MAAM,IAAA,iBAAW,EACf,IAAI,EACJ,UAAU,EACV;UACI,YAAY,eAAe,aAAa;;wCAEV,YAAY,eAAe,aAAa,QAAQ,CACnF,CAAC;QAEF,kDAAkD;QAClD,2EAA2E;QAC3E,MAAM,MAAM,GAAG,SAAS,YAAY,eAAe,aAAa,KAAK,CAAC;QACtE,MAAM,MAAM,GAAG,GAAG,YAAY,+BAA+B,CAAC;QAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAE,CAAC;QAChD,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,YAAY,MAAM,CAAC,EAAE,CAAC;YACzE,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,MAAM,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAED,MAAM,IAAA,yCAA+B,EAAC,IAAI,EAAE;QAC1C,mDAA2C;KAC5C,CAAC,CAAC;IACH,MAAM,IAAA,6BAAoB,EAAC,IAAI,CAAC,CAAC;AACnC,CAAC,CAAC;AArEW,QAAA,iCAAiC,qCAqE5C;AAEF,kBAAe,yCAAiC,CAAC"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/rdb/mcp-server-connection/generator.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,47 @@
1
1
  // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
2
2
 
3
+ exports[`ts#rdb strands-agent-connection generator > should add RDS CA bundle to Dockerfile (A2A) 1`] = `
4
+ "FROM public.ecr.aws/docker/library/node:lts-jod
5
+
6
+ WORKDIR /app
7
+
8
+ RUN npm install @aws/aws-distro-opentelemetry-node-autoinstrumentation@0.7.0
9
+
10
+ COPY index.js /app
11
+
12
+ RUN apt-get update && apt-get install -y --no-install-recommends curl ca-certificates && \\
13
+ rm -rf /var/lib/apt/lists/* && \\
14
+ curl -fsSL "https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem" \\
15
+ -o /usr/local/share/ca-certificates/rds-bundle.crt && \\
16
+ update-ca-certificates
17
+
18
+ EXPOSE 9000
19
+
20
+ CMD [ "node", "--require", "@aws/aws-distro-opentelemetry-node-autoinstrumentation/register", "index.js" ]
21
+ "
22
+ `;
23
+
24
+ exports[`ts#rdb strands-agent-connection generator > should add RDS CA bundle to Dockerfile (HTTP) 1`] = `
25
+ "FROM public.ecr.aws/docker/library/node:lts-jod
26
+
27
+ WORKDIR /app
28
+
29
+ RUN npm install @aws/aws-distro-opentelemetry-node-autoinstrumentation@0.7.0
30
+
31
+ COPY index.js /app
32
+
33
+ RUN apt-get update && apt-get install -y --no-install-recommends curl ca-certificates && \\
34
+ rm -rf /var/lib/apt/lists/* && \\
35
+ curl -fsSL "https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem" \\
36
+ -o /usr/local/share/ca-certificates/rds-bundle.crt && \\
37
+ update-ca-certificates
38
+
39
+ EXPOSE 8080
40
+
41
+ CMD [ "node", "--require", "@aws/aws-distro-opentelemetry-node-autoinstrumentation/register", "index.js" ]
42
+ "
43
+ `;
44
+
3
45
  exports[`ts#rdb strands-agent-connection generator > should add rdb serve-local dependency to the agent prefixed serve-local 1`] = `
4
46
  {
5
47
  "$schema": "../../node_modules/nx/schemas/project-schema.json",
@@ -55,6 +97,27 @@ export const getAgent = async () => {
55
97
  "
56
98
  `;
57
99
 
100
+ exports[`ts#rdb strands-agent-connection generator > should be idempotent for Dockerfile 1`] = `
101
+ "FROM public.ecr.aws/docker/library/node:lts-jod
102
+
103
+ WORKDIR /app
104
+
105
+ RUN npm install @aws/aws-distro-opentelemetry-node-autoinstrumentation@0.7.0
106
+
107
+ COPY index.js /app
108
+
109
+ RUN apt-get update && apt-get install -y --no-install-recommends curl ca-certificates && \\
110
+ rm -rf /var/lib/apt/lists/* && \\
111
+ curl -fsSL "https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem" \\
112
+ -o /usr/local/share/ca-certificates/rds-bundle.crt && \\
113
+ update-ca-certificates
114
+
115
+ EXPOSE 8080
116
+
117
+ CMD [ "node", "--require", "@aws/aws-distro-opentelemetry-node-autoinstrumentation/register", "index.js" ]
118
+ "
119
+ `;
120
+
58
121
  exports[`ts#rdb strands-agent-connection generator > should be idempotent for agent.ts injection 1`] = `
59
122
  "import { getPrisma as getDb } from 'db';
60
123
  import { Agent, tool } from '@strands-agents/sdk';
@@ -14,6 +14,7 @@ const names_1 = require("../../../utils/names");
14
14
  const lodash_camelcase_1 = tslib_1.__importDefault(require("lodash.camelcase"));
15
15
  const npm_scope_1 = require("../../../utils/npm-scope");
16
16
  const ast_1 = require("../../../utils/ast");
17
+ const utils_1 = require("../utils");
17
18
  exports.TS_RDB_STRANDS_AGENT_CONNECTION_GENERATOR_INFO = (0, nx_1.getGeneratorInfo)(__filename);
18
19
  const tsRdbStrandsAgentConnectionGenerator = async (tree, options) => {
19
20
  const sourceProject = (0, nx_1.readProjectConfigurationUnqualified)(tree, options.sourceProject);
@@ -34,6 +35,9 @@ const tsRdbStrandsAgentConnectionGenerator = async (tree, options) => {
34
35
  const getterAlias = `getPrisma as get${rdbNamePascal}`;
35
36
  const agentSourceDir = (0, devkit_1.joinPathFragments)(sourceProject.root, 'src', agentName);
36
37
  const agentPath = (0, devkit_1.joinPathFragments)(agentSourceDir, 'agent.ts');
38
+ // Dockerfile: install RDS CA bundle for direct Aurora SSL connections
39
+ const dockerfilePath = (0, devkit_1.joinPathFragments)(agentSourceDir, 'Dockerfile');
40
+ (0, utils_1.injectRdsCaBundleIntoDockerfile)(tree, dockerfilePath);
37
41
  if (tree.exists(agentPath)) {
38
42
  await (0, ast_1.addDestructuredImport)(tree, agentPath, [getterAlias], rdbPackageAlias);
39
43
  // Block body form: export const getAgent = async () => { ... }
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/rdb/strands-agent-connection/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../packages/nx-plugin/src/ts/rdb/strands-agent-connection/generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ import { Tree } from '@nx/devkit';
6
+ export declare const injectRdsCaBundleIntoDockerfile: (tree: Tree, dockerfilePath: string) => void;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.injectRdsCaBundleIntoDockerfile = void 0;
4
+ const RDS_CA_RUN = [
5
+ 'RUN apt-get update && apt-get install -y --no-install-recommends curl ca-certificates && \\',
6
+ ' rm -rf /var/lib/apt/lists/* && \\',
7
+ ' curl -fsSL "https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem" \\',
8
+ ' -o /usr/local/share/ca-certificates/rds-bundle.crt && \\',
9
+ ' update-ca-certificates',
10
+ ].join('\n');
11
+ const injectRdsCaBundleIntoDockerfile = (tree, dockerfilePath) => {
12
+ if (!tree.exists(dockerfilePath))
13
+ return;
14
+ const content = tree.read(dockerfilePath, 'utf-8');
15
+ if (content.includes('rds-bundle.crt'))
16
+ return;
17
+ tree.write(dockerfilePath, content.replace(/^(EXPOSE \d+)/m, `${RDS_CA_RUN}\n\n$1`));
18
+ };
19
+ exports.injectRdsCaBundleIntoDockerfile = injectRdsCaBundleIntoDockerfile;
20
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/ts/rdb/utils.ts"],"names":[],"mappings":";;;AAMA,MAAM,UAAU,GAAG;IACjB,6FAA6F;IAC7F,uCAAuC;IACvC,uFAAuF;IACvF,8DAA8D;IAC9D,4BAA4B;CAC7B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEN,MAAM,+BAA+B,GAAG,CAC7C,IAAU,EACV,cAAsB,EAChB,EAAE;IACR,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;QAAE,OAAO;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAE,CAAC;IACpD,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAAE,OAAO;IAC/C,IAAI,CAAC,KAAK,CACR,cAAc,EACd,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,UAAU,QAAQ,CAAC,CACzD,CAAC;AACJ,CAAC,CAAC;AAXW,QAAA,+BAA+B,mCAW1C"}
@@ -196,11 +196,13 @@ export class UserIdentity extends Construct {
196
196
  });
197
197
  // Retain the SMS role alongside the pool so the pool can still be updated and deleted manually
198
198
  const poolCfn = userPool.node.defaultChild as CfnResource;
199
- const smsRoleCfn = userPool.node.findChild('smsRole').node
200
- .defaultChild as CfnResource;
201
- smsRoleCfn.cfnOptions.deletionPolicy = poolCfn.cfnOptions.deletionPolicy;
202
- smsRoleCfn.cfnOptions.updateReplacePolicy =
203
- poolCfn.cfnOptions.updateReplacePolicy;
199
+ const smsRoleNode = userPool.node.tryFindChild('smsRole');
200
+ if (smsRoleNode) {
201
+ const smsRoleCfn = smsRoleNode.node.defaultChild as CfnResource;
202
+ smsRoleCfn.cfnOptions.deletionPolicy = poolCfn.cfnOptions.deletionPolicy;
203
+ smsRoleCfn.cfnOptions.updateReplacePolicy =
204
+ poolCfn.cfnOptions.updateReplacePolicy;
205
+ }
204
206
  return userPool;
205
207
  };
206
208
 
@@ -108,12 +108,13 @@ export class UserIdentity extends Construct {
108
108
  });
109
109
  // Retain the SMS role alongside the pool so the pool can still be updated and deleted manually
110
110
  const poolCfn = userPool.node.defaultChild as CfnResource;
111
- const smsRoleCfn = userPool.node
112
- .findChild('smsRole')
113
- .node.defaultChild as CfnResource;
114
- smsRoleCfn.cfnOptions.deletionPolicy = poolCfn.cfnOptions.deletionPolicy;
115
- smsRoleCfn.cfnOptions.updateReplacePolicy =
116
- poolCfn.cfnOptions.updateReplacePolicy;
111
+ const smsRoleNode = userPool.node.tryFindChild('smsRole');
112
+ if (smsRoleNode) {
113
+ const smsRoleCfn = smsRoleNode.node.defaultChild as CfnResource;
114
+ smsRoleCfn.cfnOptions.deletionPolicy = poolCfn.cfnOptions.deletionPolicy;
115
+ smsRoleCfn.cfnOptions.updateReplacePolicy =
116
+ poolCfn.cfnOptions.updateReplacePolicy;
117
+ }
117
118
  return userPool;
118
119
  };
119
120