ncloud-mcp-server 1.0.3 → 1.1.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/README.md +18 -2
- package/README_EN.md +18 -2
- package/dist/index.js +12 -331
- package/dist/index.js.map +1 -1
- package/dist/tools/_response.d.ts +69 -0
- package/dist/tools/_response.js +96 -0
- package/dist/tools/_response.js.map +1 -0
- package/dist/tools/acg.js +10 -9
- package/dist/tools/acg.js.map +1 -1
- package/dist/tools/activity-tracer.js +4 -3
- package/dist/tools/activity-tracer.js.map +1 -1
- package/dist/tools/analytics-cdss.js +51 -50
- package/dist/tools/analytics-cdss.js.map +1 -1
- package/dist/tools/analytics-datacatalog.js +22 -21
- package/dist/tools/analytics-datacatalog.js.map +1 -1
- package/dist/tools/analytics-dataflow.js +27 -26
- package/dist/tools/analytics-dataflow.js.map +1 -1
- package/dist/tools/analytics-dataforest.js +25 -24
- package/dist/tools/analytics-dataforest.js.map +1 -1
- package/dist/tools/analytics-dataquery.js +6 -5
- package/dist/tools/analytics-dataquery.js.map +1 -1
- package/dist/tools/analytics-datastream.js +22 -21
- package/dist/tools/analytics-datastream.js.map +1 -1
- package/dist/tools/analytics-hadoop.js +30 -29
- package/dist/tools/analytics-hadoop.js.map +1 -1
- package/dist/tools/analytics-ses.js +43 -42
- package/dist/tools/analytics-ses.js.map +1 -1
- package/dist/tools/api-gateway.js +13 -12
- package/dist/tools/api-gateway.js.map +1 -1
- package/dist/tools/autoscaling.js +25 -24
- package/dist/tools/autoscaling.js.map +1 -1
- package/dist/tools/billing.d.ts +0 -11
- package/dist/tools/billing.js +210 -48
- package/dist/tools/billing.js.map +1 -1
- package/dist/tools/certificate-manager.js +4 -3
- package/dist/tools/certificate-manager.js.map +1 -1
- package/dist/tools/cloud-advisor.js +16 -15
- package/dist/tools/cloud-advisor.js.map +1 -1
- package/dist/tools/cloud-functions.js +22 -21
- package/dist/tools/cloud-functions.js.map +1 -1
- package/dist/tools/cloud-insight-integration.js +6 -5
- package/dist/tools/cloud-insight-integration.js.map +1 -1
- package/dist/tools/cloud-insight-plugin.js +34 -33
- package/dist/tools/cloud-insight-plugin.js.map +1 -1
- package/dist/tools/cloud-insight-rule.js +28 -27
- package/dist/tools/cloud-insight-rule.js.map +1 -1
- package/dist/tools/cloud-insight.js +12 -11
- package/dist/tools/cloud-insight.js.map +1 -1
- package/dist/tools/common.js +6 -5
- package/dist/tools/common.js.map +1 -1
- package/dist/tools/compute-initscript.js +5 -4
- package/dist/tools/compute-initscript.js.map +1 -1
- package/dist/tools/compute-loginkey.js +5 -4
- package/dist/tools/compute-loginkey.js.map +1 -1
- package/dist/tools/compute-placement.js +14 -13
- package/dist/tools/compute-placement.js.map +1 -1
- package/dist/tools/compute-publicip.js +8 -7
- package/dist/tools/compute-publicip.js.map +1 -1
- package/dist/tools/compute-server.js +29 -28
- package/dist/tools/compute-server.js.map +1 -1
- package/dist/tools/compute-storage.js +16 -15
- package/dist/tools/compute-storage.js.map +1 -1
- package/dist/tools/containers-nks.js +104 -47
- package/dist/tools/containers-nks.js.map +1 -1
- package/dist/tools/containers-registry.js +13 -12
- package/dist/tools/containers-registry.js.map +1 -1
- package/dist/tools/database-cache.js +25 -24
- package/dist/tools/database-cache.js.map +1 -1
- package/dist/tools/database-mongodb.js +25 -24
- package/dist/tools/database-mongodb.js.map +1 -1
- package/dist/tools/database-mssql.js +23 -22
- package/dist/tools/database-mssql.js.map +1 -1
- package/dist/tools/database-mysql.js +30 -29
- package/dist/tools/database-mysql.js.map +1 -1
- package/dist/tools/database-postgresql.js +26 -25
- package/dist/tools/database-postgresql.js.map +1 -1
- package/dist/tools/global-dns.js +13 -12
- package/dist/tools/global-dns.js.map +1 -1
- package/dist/tools/global-edge.js +21 -20
- package/dist/tools/global-edge.js.map +1 -1
- package/dist/tools/global-traffic-manager.js +27 -26
- package/dist/tools/global-traffic-manager.js.map +1 -1
- package/dist/tools/kms.js +52 -39
- package/dist/tools/kms.js.map +1 -1
- package/dist/tools/loadbalancer.js +17 -16
- package/dist/tools/loadbalancer.js.map +1 -1
- package/dist/tools/log-analytics.js +11 -10
- package/dist/tools/log-analytics.js.map +1 -1
- package/dist/tools/media-imageoptimizer.js +10 -9
- package/dist/tools/media-imageoptimizer.js.map +1 -1
- package/dist/tools/media-livestation.js +13 -12
- package/dist/tools/media-livestation.js.map +1 -1
- package/dist/tools/media-vodstation.js +11 -10
- package/dist/tools/media-vodstation.js.map +1 -1
- package/dist/tools/nat-gateway.js +6 -5
- package/dist/tools/nat-gateway.js.map +1 -1
- package/dist/tools/network-acl.js +18 -17
- package/dist/tools/network-acl.js.map +1 -1
- package/dist/tools/network-interface.js +15 -14
- package/dist/tools/network-interface.js.map +1 -1
- package/dist/tools/private-ca.js +32 -23
- package/dist/tools/private-ca.js.map +1 -1
- package/dist/tools/registry.d.ts +49 -0
- package/dist/tools/registry.js +254 -0
- package/dist/tools/registry.js.map +1 -0
- package/dist/tools/resource-manager.js +7 -6
- package/dist/tools/resource-manager.js.map +1 -1
- package/dist/tools/route-table.js +12 -11
- package/dist/tools/route-table.js.map +1 -1
- package/dist/tools/security-monitoring.js +8 -7
- package/dist/tools/security-monitoring.js.map +1 -1
- package/dist/tools/sens.js +7 -6
- package/dist/tools/sens.js.map +1 -1
- package/dist/tools/sourcebuild.js +18 -17
- package/dist/tools/sourcebuild.js.map +1 -1
- package/dist/tools/sourcecommit.js +13 -12
- package/dist/tools/sourcecommit.js.map +1 -1
- package/dist/tools/sourcedeploy.js +35 -34
- package/dist/tools/sourcedeploy.js.map +1 -1
- package/dist/tools/sourcepipeline.js +18 -17
- package/dist/tools/sourcepipeline.js.map +1 -1
- package/dist/tools/storage-archive.js +13 -12
- package/dist/tools/storage-archive.js.map +1 -1
- package/dist/tools/storage-nas.js +20 -19
- package/dist/tools/storage-nas.js.map +1 -1
- package/dist/tools/storage-ncloud.js +25 -24
- package/dist/tools/storage-ncloud.js.map +1 -1
- package/dist/tools/storage-object.js +29 -28
- package/dist/tools/storage-object.js.map +1 -1
- package/dist/tools/sub-account.js +19 -18
- package/dist/tools/sub-account.js.map +1 -1
- package/dist/tools/target-group.js +12 -11
- package/dist/tools/target-group.js.map +1 -1
- package/dist/tools/vpc-peering.js +8 -7
- package/dist/tools/vpc-peering.js.map +1 -1
- package/dist/tools/vpc.js +11 -10
- package/dist/tools/vpc.js.map +1 -1
- package/package.json +3 -2
- package/dist/auth/signature.test.d.ts +0 -1
- package/dist/auth/signature.test.js +0 -90
- package/dist/auth/signature.test.js.map +0 -1
- package/dist/client/ncloud-client.test.d.ts +0 -1
- package/dist/client/ncloud-client.test.js +0 -477
- package/dist/client/ncloud-client.test.js.map +0 -1
- package/dist/tools/compute-server.test.d.ts +0 -1
- package/dist/tools/compute-server.test.js +0 -224
- package/dist/tools/compute-server.test.js.map +0 -1
package/dist/tools/private-ca.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
import { toolText } from "./_response.js";
|
|
2
3
|
/**
|
|
3
4
|
* Private CA (사설 인증 기관) 도구 등록
|
|
4
5
|
* Base URL: https://pca.apigw.ntruss.com
|
|
@@ -15,7 +16,7 @@ export function registerPrivateCaTools(server, client) {
|
|
|
15
16
|
if (params.pageNo !== undefined)
|
|
16
17
|
queryParams.pageNo = params.pageNo;
|
|
17
18
|
const result = await client.requestRaw("GET", "/api/v1/ca", queryParams);
|
|
18
|
-
return
|
|
19
|
+
return toolText(result);
|
|
19
20
|
}
|
|
20
21
|
catch (error) {
|
|
21
22
|
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
@@ -27,7 +28,7 @@ export function registerPrivateCaTools(server, client) {
|
|
|
27
28
|
}, async (params) => {
|
|
28
29
|
try {
|
|
29
30
|
const result = await client.requestRaw("GET", `/api/v1/ca/${params.caTag}`);
|
|
30
|
-
return
|
|
31
|
+
return toolText(result);
|
|
31
32
|
}
|
|
32
33
|
catch (error) {
|
|
33
34
|
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
@@ -83,7 +84,7 @@ export function registerPrivateCaTools(server, client) {
|
|
|
83
84
|
const queryString = new URLSearchParams(Object.fromEntries(Object.entries(queryParams).filter(([, v]) => v !== undefined))).toString();
|
|
84
85
|
const path = `/api/v1/ca${queryString ? `?${queryString}` : ""}`;
|
|
85
86
|
const result = await client.requestRaw("POST", path, undefined, body);
|
|
86
|
-
return
|
|
87
|
+
return toolText(result);
|
|
87
88
|
}
|
|
88
89
|
catch (error) {
|
|
89
90
|
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
@@ -96,19 +97,23 @@ export function registerPrivateCaTools(server, client) {
|
|
|
96
97
|
}, async (params) => {
|
|
97
98
|
try {
|
|
98
99
|
const result = await client.requestRaw("PUT", `/api/v1/ca/${params.caTag}`, undefined, { status: params.status });
|
|
99
|
-
return
|
|
100
|
+
return toolText(result);
|
|
100
101
|
}
|
|
101
102
|
catch (error) {
|
|
102
103
|
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
103
104
|
}
|
|
104
105
|
});
|
|
105
106
|
// ncloud_pca_delete_ca — Delete CA
|
|
106
|
-
server.tool("ncloud_pca_delete_ca", "⚠️ Destructive: Permanently delete a Private CA. Only CAs in DESTROYING status can be deleted. The CA's private key will be permanently destroyed and cannot be recovered.", {
|
|
107
|
+
server.tool("ncloud_pca_delete_ca", "⚠️ Destructive: Permanently delete a Private CA. Only CAs in DESTROYING status can be deleted. The CA's private key will be permanently destroyed and cannot be recovered. Set confirm=true to execute.", {
|
|
107
108
|
caTag: z.string().describe("CA tag value (required)"),
|
|
109
|
+
confirm: z.boolean().optional().default(false).describe("Must be true to actually execute the destructive operation"),
|
|
108
110
|
}, async (params) => {
|
|
109
111
|
try {
|
|
112
|
+
if (!params.confirm) {
|
|
113
|
+
return { content: [{ type: "text", text: `⚠️ This will permanently delete Private CA [${params.caTag}] and destroy its private key (irreversible). To execute, call this tool again with confirm=true.` }] };
|
|
114
|
+
}
|
|
110
115
|
const result = await client.requestRaw("DELETE", `/api/v1/ca/${params.caTag}`);
|
|
111
|
-
return
|
|
116
|
+
return toolText(result);
|
|
112
117
|
}
|
|
113
118
|
catch (error) {
|
|
114
119
|
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
@@ -120,7 +125,7 @@ export function registerPrivateCaTools(server, client) {
|
|
|
120
125
|
}, async (params) => {
|
|
121
126
|
try {
|
|
122
127
|
const result = await client.requestRaw("GET", `/api/v1/ca/${params.caTag}/chain`);
|
|
123
|
-
return
|
|
128
|
+
return toolText(result);
|
|
124
129
|
}
|
|
125
130
|
catch (error) {
|
|
126
131
|
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
@@ -132,7 +137,7 @@ export function registerPrivateCaTools(server, client) {
|
|
|
132
137
|
}, async (params) => {
|
|
133
138
|
try {
|
|
134
139
|
const result = await client.requestRaw("GET", `/api/v1/ca/${params.caTag}/crl`);
|
|
135
|
-
return
|
|
140
|
+
return toolText(result);
|
|
136
141
|
}
|
|
137
142
|
catch (error) {
|
|
138
143
|
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
@@ -145,7 +150,7 @@ export function registerPrivateCaTools(server, client) {
|
|
|
145
150
|
}, async (params) => {
|
|
146
151
|
try {
|
|
147
152
|
const result = await client.requestRaw("GET", `/api/v1/ca/${params.caTag}/crl/config`);
|
|
148
|
-
return
|
|
153
|
+
return toolText(result);
|
|
149
154
|
}
|
|
150
155
|
catch (error) {
|
|
151
156
|
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
@@ -158,7 +163,7 @@ export function registerPrivateCaTools(server, client) {
|
|
|
158
163
|
}, async (params) => {
|
|
159
164
|
try {
|
|
160
165
|
const result = await client.requestRaw("PUT", `/api/v1/ca/${params.caTag}/crl/config`, undefined, { expiry: params.expiry });
|
|
161
|
-
return
|
|
166
|
+
return toolText(result);
|
|
162
167
|
}
|
|
163
168
|
catch (error) {
|
|
164
169
|
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
@@ -170,7 +175,7 @@ export function registerPrivateCaTools(server, client) {
|
|
|
170
175
|
}, async (params) => {
|
|
171
176
|
try {
|
|
172
177
|
const result = await client.requestRaw("POST", `/api/v1/ca/${params.caTag}/crl/rotate`);
|
|
173
|
-
return
|
|
178
|
+
return toolText(result);
|
|
174
179
|
}
|
|
175
180
|
catch (error) {
|
|
176
181
|
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
@@ -184,19 +189,23 @@ export function registerPrivateCaTools(server, client) {
|
|
|
184
189
|
}, async (params) => {
|
|
185
190
|
try {
|
|
186
191
|
const result = await client.requestRaw("PUT", `/api/v1/ca/${params.caTag}/urls`, undefined, { ocsp_servers: params.ocspServers });
|
|
187
|
-
return
|
|
192
|
+
return toolText(result);
|
|
188
193
|
}
|
|
189
194
|
catch (error) {
|
|
190
195
|
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
191
196
|
}
|
|
192
197
|
});
|
|
193
198
|
// ncloud_pca_delete_ocsp — Delete OCSP
|
|
194
|
-
server.tool("ncloud_pca_delete_ocsp", "⚠️ Destructive: Delete OCSP configuration and remove the OCSP URL from all certificates issued by this CA.", {
|
|
199
|
+
server.tool("ncloud_pca_delete_ocsp", "⚠️ Destructive: Delete OCSP configuration and remove the OCSP URL from all certificates issued by this CA. Set confirm=true to execute.", {
|
|
195
200
|
caTag: z.string().describe("CA tag value (required)"),
|
|
201
|
+
confirm: z.boolean().optional().default(false).describe("Must be true to actually execute the destructive operation"),
|
|
196
202
|
}, async (params) => {
|
|
197
203
|
try {
|
|
204
|
+
if (!params.confirm) {
|
|
205
|
+
return { content: [{ type: "text", text: `⚠️ This will delete the OCSP configuration for CA [${params.caTag}] and remove the OCSP URL from all its issued certificates. To execute, call this tool again with confirm=true.` }] };
|
|
206
|
+
}
|
|
198
207
|
const result = await client.requestRaw("DELETE", `/api/v1/ca/${params.caTag}/urls`);
|
|
199
|
-
return
|
|
208
|
+
return toolText(result);
|
|
200
209
|
}
|
|
201
210
|
catch (error) {
|
|
202
211
|
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
@@ -209,7 +218,7 @@ export function registerPrivateCaTools(server, client) {
|
|
|
209
218
|
}, async (params) => {
|
|
210
219
|
try {
|
|
211
220
|
const result = await client.requestRaw("GET", `/api/v1/ca/${params.caTag}/sub/csr`);
|
|
212
|
-
return
|
|
221
|
+
return toolText(result);
|
|
213
222
|
}
|
|
214
223
|
catch (error) {
|
|
215
224
|
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
@@ -226,7 +235,7 @@ export function registerPrivateCaTools(server, client) {
|
|
|
226
235
|
certPem: params.certPem,
|
|
227
236
|
caChainPem: params.caChainPem,
|
|
228
237
|
});
|
|
229
|
-
return
|
|
238
|
+
return toolText(result);
|
|
230
239
|
}
|
|
231
240
|
catch (error) {
|
|
232
241
|
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
@@ -243,7 +252,7 @@ export function registerPrivateCaTools(server, client) {
|
|
|
243
252
|
period: params.period,
|
|
244
253
|
csrPem: params.csrPem,
|
|
245
254
|
});
|
|
246
|
-
return
|
|
255
|
+
return toolText(result);
|
|
247
256
|
}
|
|
248
257
|
catch (error) {
|
|
249
258
|
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
@@ -256,7 +265,7 @@ export function registerPrivateCaTools(server, client) {
|
|
|
256
265
|
}, async (params) => {
|
|
257
266
|
try {
|
|
258
267
|
const result = await client.requestRaw("GET", `/api/v1/ca/${params.caTag}/cert`);
|
|
259
|
-
return
|
|
268
|
+
return toolText(result);
|
|
260
269
|
}
|
|
261
270
|
catch (error) {
|
|
262
271
|
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
@@ -269,7 +278,7 @@ export function registerPrivateCaTools(server, client) {
|
|
|
269
278
|
}, async (params) => {
|
|
270
279
|
try {
|
|
271
280
|
const result = await client.requestRaw("GET", `/api/v1/ca/${params.caTag}/cert/${params.serialNo}`);
|
|
272
|
-
return
|
|
281
|
+
return toolText(result);
|
|
273
282
|
}
|
|
274
283
|
catch (error) {
|
|
275
284
|
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
@@ -317,7 +326,7 @@ export function registerPrivateCaTools(server, client) {
|
|
|
317
326
|
if (params.ip !== undefined)
|
|
318
327
|
body.x509Parameters.ip = params.ip;
|
|
319
328
|
const result = await client.requestRaw("POST", `/api/v1/ca/${params.caTag}/cert`, undefined, body);
|
|
320
|
-
return
|
|
329
|
+
return toolText(result);
|
|
321
330
|
}
|
|
322
331
|
catch (error) {
|
|
323
332
|
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
@@ -332,7 +341,7 @@ export function registerPrivateCaTools(server, client) {
|
|
|
332
341
|
const result = await client.requestRaw("POST", `/api/v1/ca/${params.caTag}/cert/sign`, undefined, {
|
|
333
342
|
csrPem: params.csrPem,
|
|
334
343
|
});
|
|
335
|
-
return
|
|
344
|
+
return toolText(result);
|
|
336
345
|
}
|
|
337
346
|
catch (error) {
|
|
338
347
|
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
@@ -345,7 +354,7 @@ export function registerPrivateCaTools(server, client) {
|
|
|
345
354
|
}, async (params) => {
|
|
346
355
|
try {
|
|
347
356
|
const result = await client.requestRaw("POST", `/api/v1/ca/${params.caTag}/cert/${params.serialNo}/revoke`);
|
|
348
|
-
return
|
|
357
|
+
return toolText(result);
|
|
349
358
|
}
|
|
350
359
|
catch (error) {
|
|
351
360
|
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
@@ -358,7 +367,7 @@ export function registerPrivateCaTools(server, client) {
|
|
|
358
367
|
}, async (params) => {
|
|
359
368
|
try {
|
|
360
369
|
const result = await client.requestRaw("POST", `/api/v1/ca/${params.caTag}/trim`);
|
|
361
|
-
return
|
|
370
|
+
return toolText(result);
|
|
362
371
|
}
|
|
363
372
|
catch (error) {
|
|
364
373
|
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"private-ca.js","sourceRoot":"","sources":["../../src/tools/private-ca.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"private-ca.js","sourceRoot":"","sources":["../../src/tools/private-ca.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 그룹 단위 도구 레지스트리.
|
|
3
|
+
*
|
|
4
|
+
* 64개 서비스 모듈을 13개 그룹(+always common)으로 묶고, env `NCLOUD_TOOL_GROUPS`로
|
|
5
|
+
* 선택적으로 로딩한다. 그룹별 register 클로저 안에서 base URL·특수 클라이언트를 캡슐화하고,
|
|
6
|
+
* 클라이언트는 base URL별로 memoize 해 켜진 그룹만 생성한다.
|
|
7
|
+
*
|
|
8
|
+
* 하위호환: `NCLOUD_TOOL_GROUPS` 미설정 시 전체 ON = 기존 index.ts 동작과 100% 동일.
|
|
9
|
+
*
|
|
10
|
+
* 설계: DESIGN_modularization-and-response.md §2
|
|
11
|
+
*/
|
|
12
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
13
|
+
import { NcloudClient } from "../client/ncloud-client.js";
|
|
14
|
+
export interface RegisterCtx {
|
|
15
|
+
server: McpServer;
|
|
16
|
+
/** base URL별로 memoize 된 NcloudClient 팩토리. 인자 생략 시 기본 base URL. */
|
|
17
|
+
client: (baseUrl?: string) => NcloudClient;
|
|
18
|
+
regionCode: string;
|
|
19
|
+
creds: {
|
|
20
|
+
accessKey: string;
|
|
21
|
+
secretKey: string;
|
|
22
|
+
};
|
|
23
|
+
env: NodeJS.ProcessEnv;
|
|
24
|
+
}
|
|
25
|
+
export interface ToolGroup {
|
|
26
|
+
key: string;
|
|
27
|
+
title: string;
|
|
28
|
+
/** common 처럼 그룹 선택과 무관하게 항상 등록. */
|
|
29
|
+
always?: boolean;
|
|
30
|
+
register: (ctx: RegisterCtx) => void;
|
|
31
|
+
}
|
|
32
|
+
/** creds + regionCode 로 base URL별 memoized NcloudClient 팩토리를 만든다. */
|
|
33
|
+
export declare function makeClientFactory(creds: {
|
|
34
|
+
accessKey: string;
|
|
35
|
+
secretKey: string;
|
|
36
|
+
}, regionCode: string): (baseUrl?: string) => NcloudClient;
|
|
37
|
+
export declare const TOOL_GROUPS: ToolGroup[];
|
|
38
|
+
/**
|
|
39
|
+
* `NCLOUD_TOOL_GROUPS` env 값을 파싱해 등록할 그룹 집합을 결정한다.
|
|
40
|
+
*
|
|
41
|
+
* - 미설정/빈 값 → 전체 ON (기존 동작과 동일)
|
|
42
|
+
* - `compute,network,billing` → 해당 그룹 + always(common)
|
|
43
|
+
* - `all,-billing` → 전부 켜되 billing 제외 (감산)
|
|
44
|
+
*
|
|
45
|
+
* 알 수 없는 key는 stderr 경고만 출력하고 무시한다.
|
|
46
|
+
*/
|
|
47
|
+
export declare function resolveGroups(raw: string | undefined): ToolGroup[];
|
|
48
|
+
/** 선택된 그룹을 순회하며 도구를 등록한다. */
|
|
49
|
+
export declare function registerGroups(ctx: RegisterCtx, groups: ToolGroup[]): void;
|
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 그룹 단위 도구 레지스트리.
|
|
3
|
+
*
|
|
4
|
+
* 64개 서비스 모듈을 13개 그룹(+always common)으로 묶고, env `NCLOUD_TOOL_GROUPS`로
|
|
5
|
+
* 선택적으로 로딩한다. 그룹별 register 클로저 안에서 base URL·특수 클라이언트를 캡슐화하고,
|
|
6
|
+
* 클라이언트는 base URL별로 memoize 해 켜진 그룹만 생성한다.
|
|
7
|
+
*
|
|
8
|
+
* 하위호환: `NCLOUD_TOOL_GROUPS` 미설정 시 전체 ON = 기존 index.ts 동작과 100% 동일.
|
|
9
|
+
*
|
|
10
|
+
* 설계: DESIGN_modularization-and-response.md §2
|
|
11
|
+
*/
|
|
12
|
+
import { NcloudClient } from "../client/ncloud-client.js";
|
|
13
|
+
import { S3CompatibleClient } from "../client/s3-compatible-client.js";
|
|
14
|
+
import { SwiftCompatibleClient } from "../client/swift-compatible-client.js";
|
|
15
|
+
import { registerCommonTools, registerComputeServerTools, registerComputeStorageTools, registerComputePublicIpTools, registerComputeLoginKeyTools, registerComputeInitScriptTools, registerComputePlacementTools, registerVpcTools, registerAcgTools, registerNetworkAclTools, registerNatGatewayTools, registerRouteTableTools, registerVpcPeeringTools, registerNetworkInterfaceTools, registerLoadBalancerTools, registerTargetGroupTools, registerAutoScalingTools, registerDatabaseMysqlTools, registerDatabasePostgresqlTools, registerDatabaseMssqlTools, registerDatabaseMongodbTools, registerDatabaseCacheTools, registerStorageObjectTools, registerStorageNcloudTools, registerContainersNksTools, registerContainersRegistryTools, registerActivityTracerTools, registerStorageNasTools, registerLogAnalyticsTools, registerCertificateManagerTools, registerSecurityMonitoringTools, registerCloudInsightTools, registerCloudInsightRuleTools, registerCloudInsightPluginTools, registerCloudInsightIntegrationTools, registerSourceCommitTools, registerSourceBuildTools, registerSourceDeployTools, registerSourcePipelineTools, registerGlobalEdgeTools, registerVodStationTools, registerLiveStationTools, registerImageOptimizerTools, registerSubAccountTools, registerApiGatewayTools, registerSensTools, registerSearchEngineServiceTools, registerCloudHadoopTools, registerCloudDataStreamingTools, registerDataStreamTools, registerCloudFunctionsTools, registerResourceManagerTools, registerGlobalDnsTools, registerGlobalTrafficManagerTools, registerStorageArchiveTools, registerDataCatalogTools, registerDataForestTools, registerCloudAdvisorTools, registerDataFlowTools, registerDataQueryTools, registerPrivateCaTools, registerKmsTools, registerBillingTools, } from "./index.js";
|
|
16
|
+
const DEFAULT_BASE_URL = process.env.NCLOUD_API_URL ?? "https://ncloud.apigw.ntruss.com";
|
|
17
|
+
/** creds + regionCode 로 base URL별 memoized NcloudClient 팩토리를 만든다. */
|
|
18
|
+
export function makeClientFactory(creds, regionCode) {
|
|
19
|
+
const cache = new Map();
|
|
20
|
+
return (baseUrl = DEFAULT_BASE_URL) => {
|
|
21
|
+
let c = cache.get(baseUrl);
|
|
22
|
+
if (!c) {
|
|
23
|
+
c = new NcloudClient({ ...creds, baseUrl, regionCode });
|
|
24
|
+
cache.set(baseUrl, c);
|
|
25
|
+
}
|
|
26
|
+
return c;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
export const TOOL_GROUPS = [
|
|
30
|
+
{
|
|
31
|
+
key: "common",
|
|
32
|
+
title: "Common (Region/Zone)",
|
|
33
|
+
always: true,
|
|
34
|
+
register: ({ server, client }) => {
|
|
35
|
+
registerCommonTools(server, client());
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
key: "compute",
|
|
40
|
+
title: "Compute (Server, Storage, Public IP, Auto Scaling)",
|
|
41
|
+
register: ({ server, client }) => {
|
|
42
|
+
const c = client();
|
|
43
|
+
registerComputeServerTools(server, c);
|
|
44
|
+
registerComputeStorageTools(server, c);
|
|
45
|
+
registerComputePublicIpTools(server, c);
|
|
46
|
+
registerComputeLoginKeyTools(server, c);
|
|
47
|
+
registerComputeInitScriptTools(server, c);
|
|
48
|
+
registerComputePlacementTools(server, c);
|
|
49
|
+
registerAutoScalingTools(server, c);
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
key: "network",
|
|
54
|
+
title: "Network (VPC, ACG, LB, Target Group)",
|
|
55
|
+
register: ({ server, client }) => {
|
|
56
|
+
const c = client();
|
|
57
|
+
registerVpcTools(server, c);
|
|
58
|
+
registerAcgTools(server, c);
|
|
59
|
+
registerNetworkAclTools(server, c);
|
|
60
|
+
registerNatGatewayTools(server, c);
|
|
61
|
+
registerRouteTableTools(server, c);
|
|
62
|
+
registerVpcPeeringTools(server, c);
|
|
63
|
+
registerNetworkInterfaceTools(server, c);
|
|
64
|
+
registerLoadBalancerTools(server, c);
|
|
65
|
+
registerTargetGroupTools(server, c);
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
key: "database",
|
|
70
|
+
title: "Database (MySQL, PostgreSQL, MSSQL, MongoDB, Cache)",
|
|
71
|
+
register: ({ server, client }) => {
|
|
72
|
+
const c = client();
|
|
73
|
+
registerDatabaseMysqlTools(server, c);
|
|
74
|
+
registerDatabasePostgresqlTools(server, c);
|
|
75
|
+
registerDatabaseMssqlTools(server, c);
|
|
76
|
+
registerDatabaseMongodbTools(server, c);
|
|
77
|
+
registerDatabaseCacheTools(server, c);
|
|
78
|
+
},
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
key: "storage",
|
|
82
|
+
title: "Storage (Object, Ncloud, NAS, Archive)",
|
|
83
|
+
register: ({ server, client, creds, regionCode, env }) => {
|
|
84
|
+
const s3Client = new S3CompatibleClient({
|
|
85
|
+
...creds,
|
|
86
|
+
regionCode,
|
|
87
|
+
storageType: "object",
|
|
88
|
+
});
|
|
89
|
+
const ncloudStorageClient = new S3CompatibleClient({
|
|
90
|
+
...creds,
|
|
91
|
+
regionCode,
|
|
92
|
+
storageType: "ncloud",
|
|
93
|
+
});
|
|
94
|
+
registerStorageObjectTools(server, s3Client);
|
|
95
|
+
registerStorageNcloudTools(server, ncloudStorageClient);
|
|
96
|
+
registerStorageNasTools(server, client());
|
|
97
|
+
// Archive Storage는 NCLOUD_ARCHIVE_PROJECT_ID/DOMAIN_ID 가 있을 때만 (Swift 클라이언트)
|
|
98
|
+
const archiveProjectId = env.NCLOUD_ARCHIVE_PROJECT_ID;
|
|
99
|
+
const archiveDomainId = env.NCLOUD_ARCHIVE_DOMAIN_ID;
|
|
100
|
+
if (archiveProjectId && archiveDomainId) {
|
|
101
|
+
const swiftClient = new SwiftCompatibleClient({
|
|
102
|
+
...creds,
|
|
103
|
+
projectId: archiveProjectId,
|
|
104
|
+
domainId: archiveDomainId,
|
|
105
|
+
regionCode,
|
|
106
|
+
});
|
|
107
|
+
registerStorageArchiveTools(server, swiftClient);
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
key: "containers",
|
|
113
|
+
title: "Containers (NKS, Container Registry)",
|
|
114
|
+
register: ({ server, client }) => {
|
|
115
|
+
registerContainersNksTools(server, client("https://nks.apigw.ntruss.com"));
|
|
116
|
+
registerContainersRegistryTools(server, client("https://ncr.apigw.ntruss.com"));
|
|
117
|
+
},
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
key: "monitoring",
|
|
121
|
+
title: "Monitoring (Cloud Insight, Activity Tracer, Log Analytics, Cloud Advisor)",
|
|
122
|
+
register: ({ server, client }) => {
|
|
123
|
+
registerActivityTracerTools(server, client("https://cloudactivitytracer.apigw.ntruss.com"));
|
|
124
|
+
registerLogAnalyticsTools(server, client());
|
|
125
|
+
registerSecurityMonitoringTools(server, client());
|
|
126
|
+
const cw = client("https://cw.apigw.ntruss.com");
|
|
127
|
+
registerCloudInsightTools(server, cw);
|
|
128
|
+
registerCloudInsightRuleTools(server, cw);
|
|
129
|
+
registerCloudInsightPluginTools(server, cw);
|
|
130
|
+
registerCloudInsightIntegrationTools(server, cw);
|
|
131
|
+
registerCloudAdvisorTools(server, client("https://cloud-advisor.apigw.ntruss.com"));
|
|
132
|
+
},
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
key: "devtools",
|
|
136
|
+
title: "DevTools (SourceCommit, SourceBuild, SourceDeploy, SourcePipeline)",
|
|
137
|
+
register: ({ server, client }) => {
|
|
138
|
+
registerSourceCommitTools(server, client("https://sourcecommit.apigw.ntruss.com"));
|
|
139
|
+
registerSourceBuildTools(server, client("https://sourcebuild.apigw.ntruss.com"));
|
|
140
|
+
registerSourceDeployTools(server, client("https://vpcsourcedeploy.apigw.ntruss.com"));
|
|
141
|
+
registerSourcePipelineTools(server, client("https://vpcsourcepipeline.apigw.ntruss.com"));
|
|
142
|
+
},
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
key: "analytics",
|
|
146
|
+
title: "Analytics (SES, Hadoop, CDSS, Data Stream/Catalog/Forest/Flow/Query)",
|
|
147
|
+
register: ({ server, client }) => {
|
|
148
|
+
registerSearchEngineServiceTools(server, client("https://vpcsearchengine.apigw.ntruss.com"));
|
|
149
|
+
registerCloudHadoopTools(server, client());
|
|
150
|
+
registerCloudDataStreamingTools(server, client("https://clouddatastreamingservice.apigw.ntruss.com"));
|
|
151
|
+
registerDataStreamTools(server, client("https://datastream.apigw.ntruss.com"), client("https://api.datastream.naverncp.com"));
|
|
152
|
+
registerDataCatalogTools(server, client("https://datacatalog.apigw.ntruss.com"));
|
|
153
|
+
registerDataForestTools(server, client("https://df.apigw.ntruss.com"));
|
|
154
|
+
registerDataFlowTools(server, client("https://dataflow.apigw.ntruss.com"));
|
|
155
|
+
registerDataQueryTools(server, client("https://kr.dataquery.naverncp.com"));
|
|
156
|
+
},
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
key: "media",
|
|
160
|
+
title: "Media (VOD Station, Live Station, Image Optimizer)",
|
|
161
|
+
register: ({ server, client }) => {
|
|
162
|
+
registerVodStationTools(server, client("https://vodstation.apigw.ntruss.com"));
|
|
163
|
+
registerLiveStationTools(server, client("https://livestation.apigw.ntruss.com"));
|
|
164
|
+
registerImageOptimizerTools(server, client("https://imageoptimizer.apigw.ntruss.com"));
|
|
165
|
+
},
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
key: "global",
|
|
169
|
+
title: "Global (Edge, DNS, Traffic Manager)",
|
|
170
|
+
register: ({ server, client }) => {
|
|
171
|
+
registerGlobalEdgeTools(server, client("https://edge.apigw.ntruss.com"));
|
|
172
|
+
registerGlobalDnsTools(server, client("https://globaldns.apigw.ntruss.com"));
|
|
173
|
+
registerGlobalTrafficManagerTools(server, client("https://globaltrafficmanager.apigw.ntruss.com"));
|
|
174
|
+
},
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
key: "security",
|
|
178
|
+
title: "Security (Certificate Manager, Private CA, KMS, Sub Account)",
|
|
179
|
+
register: ({ server, client }) => {
|
|
180
|
+
registerCertificateManagerTools(server, client("https://certificatemanager.apigw.ntruss.com"));
|
|
181
|
+
registerPrivateCaTools(server, client("https://pca.apigw.ntruss.com"));
|
|
182
|
+
registerKmsTools(server, client("https://ocapi.ncloud.com"));
|
|
183
|
+
registerSubAccountTools(server, client("https://subaccount.apigw.ntruss.com"));
|
|
184
|
+
},
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
key: "integration",
|
|
188
|
+
title: "Integration (API Gateway, SENS, Cloud Functions, Resource Manager)",
|
|
189
|
+
register: ({ server, client, regionCode }) => {
|
|
190
|
+
registerApiGatewayTools(server, client("https://apigateway.apigw.ntruss.com"));
|
|
191
|
+
registerSensTools(server, client("https://sens.apigw.ntruss.com"));
|
|
192
|
+
// Cloud Functions는 region별 base URL
|
|
193
|
+
const cloudFunctionsBaseUrlMap = {
|
|
194
|
+
KR: "https://cloudfunctions.apigw.ntruss.com",
|
|
195
|
+
SGN: "https://sg-cloudfunctions.apigw.ntruss.com",
|
|
196
|
+
JPN: "https://jp-cloudfunctions.apigw.ntruss.com",
|
|
197
|
+
};
|
|
198
|
+
const cfBaseUrl = cloudFunctionsBaseUrlMap[regionCode] ?? "https://cloudfunctions.apigw.ntruss.com";
|
|
199
|
+
registerCloudFunctionsTools(server, client(cfBaseUrl));
|
|
200
|
+
registerResourceManagerTools(server, client("https://resourcemanager.apigw.ntruss.com"));
|
|
201
|
+
},
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
key: "billing",
|
|
205
|
+
title: "Billing (List Price, Cost and Usage, Discount)",
|
|
206
|
+
register: ({ server, client }) => {
|
|
207
|
+
registerBillingTools(server, client("https://billingapi.apigw.ntruss.com"));
|
|
208
|
+
},
|
|
209
|
+
},
|
|
210
|
+
];
|
|
211
|
+
/**
|
|
212
|
+
* `NCLOUD_TOOL_GROUPS` env 값을 파싱해 등록할 그룹 집합을 결정한다.
|
|
213
|
+
*
|
|
214
|
+
* - 미설정/빈 값 → 전체 ON (기존 동작과 동일)
|
|
215
|
+
* - `compute,network,billing` → 해당 그룹 + always(common)
|
|
216
|
+
* - `all,-billing` → 전부 켜되 billing 제외 (감산)
|
|
217
|
+
*
|
|
218
|
+
* 알 수 없는 key는 stderr 경고만 출력하고 무시한다.
|
|
219
|
+
*/
|
|
220
|
+
export function resolveGroups(raw) {
|
|
221
|
+
const known = new Set(TOOL_GROUPS.map((g) => g.key));
|
|
222
|
+
const tokens = (raw ?? "")
|
|
223
|
+
.split(",")
|
|
224
|
+
.map((t) => t.trim().toLowerCase())
|
|
225
|
+
.filter(Boolean);
|
|
226
|
+
// 미설정 → 전체 ON
|
|
227
|
+
if (tokens.length === 0) {
|
|
228
|
+
return TOOL_GROUPS;
|
|
229
|
+
}
|
|
230
|
+
const startAll = tokens.includes("all");
|
|
231
|
+
const selected = new Set(startAll ? known : []);
|
|
232
|
+
for (const token of tokens) {
|
|
233
|
+
if (token === "all")
|
|
234
|
+
continue;
|
|
235
|
+
const isExclude = token.startsWith("-");
|
|
236
|
+
const key = isExclude ? token.slice(1) : token;
|
|
237
|
+
if (!known.has(key)) {
|
|
238
|
+
console.error(`Warning: 알 수 없는 NCLOUD_TOOL_GROUPS 그룹 "${key}" — 무시합니다.`);
|
|
239
|
+
continue;
|
|
240
|
+
}
|
|
241
|
+
if (isExclude)
|
|
242
|
+
selected.delete(key);
|
|
243
|
+
else
|
|
244
|
+
selected.add(key);
|
|
245
|
+
}
|
|
246
|
+
return TOOL_GROUPS.filter((g) => g.always || selected.has(g.key));
|
|
247
|
+
}
|
|
248
|
+
/** 선택된 그룹을 순회하며 도구를 등록한다. */
|
|
249
|
+
export function registerGroups(ctx, groups) {
|
|
250
|
+
for (const group of groups) {
|
|
251
|
+
group.register(ctx);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"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"}
|