ncloud-mcp-server 1.0.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/LICENSE +21 -0
- package/README.md +159 -0
- package/README_EN.md +159 -0
- package/dist/auth/signature.d.ts +16 -0
- package/dist/auth/signature.js +18 -0
- package/dist/auth/signature.js.map +1 -0
- package/dist/auth/signature.test.d.ts +1 -0
- package/dist/auth/signature.test.js +90 -0
- package/dist/auth/signature.test.js.map +1 -0
- package/dist/client/ncloud-client.d.ts +27 -0
- package/dist/client/ncloud-client.js +270 -0
- package/dist/client/ncloud-client.js.map +1 -0
- package/dist/client/ncloud-client.test.d.ts +1 -0
- package/dist/client/ncloud-client.test.js +477 -0
- package/dist/client/ncloud-client.test.js.map +1 -0
- package/dist/client/s3-compatible-client.d.ts +49 -0
- package/dist/client/s3-compatible-client.js +210 -0
- package/dist/client/s3-compatible-client.js.map +1 -0
- package/dist/client/swift-compatible-client.d.ts +68 -0
- package/dist/client/swift-compatible-client.js +173 -0
- package/dist/client/swift-compatible-client.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +362 -0
- package/dist/index.js.map +1 -0
- package/dist/tools/acg.d.ts +3 -0
- package/dist/tools/acg.js +220 -0
- package/dist/tools/acg.js.map +1 -0
- package/dist/tools/activity-tracer.d.ts +3 -0
- package/dist/tools/activity-tracer.js +77 -0
- package/dist/tools/activity-tracer.js.map +1 -0
- package/dist/tools/analytics-cdss.d.ts +3 -0
- package/dist/tools/analytics-cdss.js +618 -0
- package/dist/tools/analytics-cdss.js.map +1 -0
- package/dist/tools/analytics-datacatalog.d.ts +10 -0
- package/dist/tools/analytics-datacatalog.js +409 -0
- package/dist/tools/analytics-datacatalog.js.map +1 -0
- package/dist/tools/analytics-dataflow.d.ts +16 -0
- package/dist/tools/analytics-dataflow.js +478 -0
- package/dist/tools/analytics-dataflow.js.map +1 -0
- package/dist/tools/analytics-dataforest.d.ts +10 -0
- package/dist/tools/analytics-dataforest.js +379 -0
- package/dist/tools/analytics-dataforest.js.map +1 -0
- package/dist/tools/analytics-dataquery.d.ts +16 -0
- package/dist/tools/analytics-dataquery.js +143 -0
- package/dist/tools/analytics-dataquery.js.map +1 -0
- package/dist/tools/analytics-datastream.d.ts +13 -0
- package/dist/tools/analytics-datastream.js +359 -0
- package/dist/tools/analytics-datastream.js.map +1 -0
- package/dist/tools/analytics-hadoop.d.ts +12 -0
- package/dist/tools/analytics-hadoop.js +450 -0
- package/dist/tools/analytics-hadoop.js.map +1 -0
- package/dist/tools/analytics-ses.d.ts +3 -0
- package/dist/tools/analytics-ses.js +653 -0
- package/dist/tools/analytics-ses.js.map +1 -0
- package/dist/tools/api-gateway.d.ts +3 -0
- package/dist/tools/api-gateway.js +202 -0
- package/dist/tools/api-gateway.js.map +1 -0
- package/dist/tools/autoscaling.d.ts +3 -0
- package/dist/tools/autoscaling.js +430 -0
- package/dist/tools/autoscaling.js.map +1 -0
- package/dist/tools/billing.d.ts +14 -0
- package/dist/tools/billing.js +545 -0
- package/dist/tools/billing.js.map +1 -0
- package/dist/tools/certificate-manager.d.ts +18 -0
- package/dist/tools/certificate-manager.js +84 -0
- package/dist/tools/certificate-manager.js.map +1 -0
- package/dist/tools/cloud-advisor.d.ts +3 -0
- package/dist/tools/cloud-advisor.js +202 -0
- package/dist/tools/cloud-advisor.js.map +1 -0
- package/dist/tools/cloud-functions.d.ts +3 -0
- package/dist/tools/cloud-functions.js +497 -0
- package/dist/tools/cloud-functions.js.map +1 -0
- package/dist/tools/cloud-insight-integration.d.ts +3 -0
- package/dist/tools/cloud-insight-integration.js +90 -0
- package/dist/tools/cloud-insight-integration.js.map +1 -0
- package/dist/tools/cloud-insight-plugin.d.ts +3 -0
- package/dist/tools/cloud-insight-plugin.js +600 -0
- package/dist/tools/cloud-insight-plugin.js.map +1 -0
- package/dist/tools/cloud-insight-rule.d.ts +3 -0
- package/dist/tools/cloud-insight-rule.js +570 -0
- package/dist/tools/cloud-insight-rule.js.map +1 -0
- package/dist/tools/cloud-insight.d.ts +3 -0
- package/dist/tools/cloud-insight.js +246 -0
- package/dist/tools/cloud-insight.js.map +1 -0
- package/dist/tools/common.d.ts +3 -0
- package/dist/tools/common.js +120 -0
- package/dist/tools/common.js.map +1 -0
- package/dist/tools/compute-initscript.d.ts +3 -0
- package/dist/tools/compute-initscript.js +62 -0
- package/dist/tools/compute-initscript.js.map +1 -0
- package/dist/tools/compute-loginkey.d.ts +3 -0
- package/dist/tools/compute-loginkey.js +59 -0
- package/dist/tools/compute-loginkey.js.map +1 -0
- package/dist/tools/compute-placement.d.ts +3 -0
- package/dist/tools/compute-placement.js +196 -0
- package/dist/tools/compute-placement.js.map +1 -0
- package/dist/tools/compute-publicip.d.ts +3 -0
- package/dist/tools/compute-publicip.js +97 -0
- package/dist/tools/compute-publicip.js.map +1 -0
- package/dist/tools/compute-server.d.ts +3 -0
- package/dist/tools/compute-server.js +445 -0
- package/dist/tools/compute-server.js.map +1 -0
- package/dist/tools/compute-server.test.d.ts +1 -0
- package/dist/tools/compute-server.test.js +224 -0
- package/dist/tools/compute-server.test.js.map +1 -0
- package/dist/tools/compute-storage.d.ts +3 -0
- package/dist/tools/compute-storage.js +240 -0
- package/dist/tools/compute-storage.js.map +1 -0
- package/dist/tools/containers-nks.d.ts +13 -0
- package/dist/tools/containers-nks.js +576 -0
- package/dist/tools/containers-nks.js.map +1 -0
- package/dist/tools/containers-registry.d.ts +3 -0
- package/dist/tools/containers-registry.js +181 -0
- package/dist/tools/containers-registry.js.map +1 -0
- package/dist/tools/database-cache.d.ts +3 -0
- package/dist/tools/database-cache.js +388 -0
- package/dist/tools/database-cache.js.map +1 -0
- package/dist/tools/database-mongodb.d.ts +3 -0
- package/dist/tools/database-mongodb.js +460 -0
- package/dist/tools/database-mongodb.js.map +1 -0
- package/dist/tools/database-mssql.d.ts +3 -0
- package/dist/tools/database-mssql.js +345 -0
- package/dist/tools/database-mssql.js.map +1 -0
- package/dist/tools/database-mysql.d.ts +3 -0
- package/dist/tools/database-mysql.js +500 -0
- package/dist/tools/database-mysql.js.map +1 -0
- package/dist/tools/database-postgresql.d.ts +3 -0
- package/dist/tools/database-postgresql.js +432 -0
- package/dist/tools/database-postgresql.js.map +1 -0
- package/dist/tools/global-dns.d.ts +3 -0
- package/dist/tools/global-dns.js +207 -0
- package/dist/tools/global-dns.js.map +1 -0
- package/dist/tools/global-edge.d.ts +3 -0
- package/dist/tools/global-edge.js +386 -0
- package/dist/tools/global-edge.js.map +1 -0
- package/dist/tools/global-traffic-manager.d.ts +3 -0
- package/dist/tools/global-traffic-manager.js +497 -0
- package/dist/tools/global-traffic-manager.js.map +1 -0
- package/dist/tools/index.d.ts +63 -0
- package/dist/tools/index.js +64 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/kms.d.ts +8 -0
- package/dist/tools/kms.js +529 -0
- package/dist/tools/kms.js.map +1 -0
- package/dist/tools/loadbalancer.d.ts +3 -0
- package/dist/tools/loadbalancer.js +341 -0
- package/dist/tools/loadbalancer.js.map +1 -0
- package/dist/tools/log-analytics.d.ts +3 -0
- package/dist/tools/log-analytics.js +183 -0
- package/dist/tools/log-analytics.js.map +1 -0
- package/dist/tools/media-imageoptimizer.d.ts +3 -0
- package/dist/tools/media-imageoptimizer.js +187 -0
- package/dist/tools/media-imageoptimizer.js.map +1 -0
- package/dist/tools/media-livestation.d.ts +3 -0
- package/dist/tools/media-livestation.js +252 -0
- package/dist/tools/media-livestation.js.map +1 -0
- package/dist/tools/media-vodstation.d.ts +3 -0
- package/dist/tools/media-vodstation.js +197 -0
- package/dist/tools/media-vodstation.js.map +1 -0
- package/dist/tools/nat-gateway.d.ts +3 -0
- package/dist/tools/nat-gateway.js +91 -0
- package/dist/tools/nat-gateway.js.map +1 -0
- package/dist/tools/network-acl.d.ts +3 -0
- package/dist/tools/network-acl.js +322 -0
- package/dist/tools/network-acl.js.map +1 -0
- package/dist/tools/network-interface.d.ts +3 -0
- package/dist/tools/network-interface.js +193 -0
- package/dist/tools/network-interface.js.map +1 -0
- package/dist/tools/private-ca.d.ts +8 -0
- package/dist/tools/private-ca.js +368 -0
- package/dist/tools/private-ca.js.map +1 -0
- package/dist/tools/resource-manager.d.ts +3 -0
- package/dist/tools/resource-manager.js +151 -0
- package/dist/tools/resource-manager.js.map +1 -0
- package/dist/tools/route-table.d.ts +3 -0
- package/dist/tools/route-table.js +205 -0
- package/dist/tools/route-table.js.map +1 -0
- package/dist/tools/security-monitoring.d.ts +3 -0
- package/dist/tools/security-monitoring.js +182 -0
- package/dist/tools/security-monitoring.js.map +1 -0
- package/dist/tools/sens.d.ts +3 -0
- package/dist/tools/sens.js +240 -0
- package/dist/tools/sens.js.map +1 -0
- package/dist/tools/sourcebuild.d.ts +3 -0
- package/dist/tools/sourcebuild.js +481 -0
- package/dist/tools/sourcebuild.js.map +1 -0
- package/dist/tools/sourcecommit.d.ts +13 -0
- package/dist/tools/sourcecommit.js +228 -0
- package/dist/tools/sourcecommit.js.map +1 -0
- package/dist/tools/sourcedeploy.d.ts +3 -0
- package/dist/tools/sourcedeploy.js +448 -0
- package/dist/tools/sourcedeploy.js.map +1 -0
- package/dist/tools/sourcepipeline.d.ts +12 -0
- package/dist/tools/sourcepipeline.js +357 -0
- package/dist/tools/sourcepipeline.js.map +1 -0
- package/dist/tools/storage-archive.d.ts +3 -0
- package/dist/tools/storage-archive.js +337 -0
- package/dist/tools/storage-archive.js.map +1 -0
- package/dist/tools/storage-nas.d.ts +3 -0
- package/dist/tools/storage-nas.js +288 -0
- package/dist/tools/storage-nas.js.map +1 -0
- package/dist/tools/storage-ncloud.d.ts +3 -0
- package/dist/tools/storage-ncloud.js +864 -0
- package/dist/tools/storage-ncloud.js.map +1 -0
- package/dist/tools/storage-object.d.ts +3 -0
- package/dist/tools/storage-object.js +982 -0
- package/dist/tools/storage-object.js.map +1 -0
- package/dist/tools/sub-account.d.ts +3 -0
- package/dist/tools/sub-account.js +311 -0
- package/dist/tools/sub-account.js.map +1 -0
- package/dist/tools/target-group.d.ts +3 -0
- package/dist/tools/target-group.js +207 -0
- package/dist/tools/target-group.js.map +1 -0
- package/dist/tools/vpc-peering.d.ts +3 -0
- package/dist/tools/vpc-peering.js +109 -0
- package/dist/tools/vpc-peering.js.map +1 -0
- package/dist/tools/vpc.d.ts +3 -0
- package/dist/tools/vpc.js +194 -0
- package/dist/tools/vpc.js.map +1 -0
- package/package.json +53 -0
|
@@ -0,0 +1,600 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export function registerCloudInsightPluginTools(server, client) {
|
|
3
|
+
// --- Plugin Tools ---
|
|
4
|
+
// ncloud_list_process_plugins — Get process plugin list
|
|
5
|
+
server.tool("ncloud_list_process_plugins", "Get the list of Cloud Insight process monitoring plugins.", {
|
|
6
|
+
instanceNo: z.string().optional().describe("Server instance number to filter plugins"),
|
|
7
|
+
}, async (params) => {
|
|
8
|
+
try {
|
|
9
|
+
const body = {};
|
|
10
|
+
if (params.instanceNo !== undefined)
|
|
11
|
+
body.instanceNo = params.instanceNo;
|
|
12
|
+
const result = await client.postRequest("/cw_fea/real/cw/api/plugin/process", body);
|
|
13
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
14
|
+
}
|
|
15
|
+
catch (error) {
|
|
16
|
+
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
// ncloud_add_process_plugin — Add a process monitoring plugin
|
|
20
|
+
server.tool("ncloud_add_process_plugin", "Add a process monitoring plugin to Cloud Insight for monitoring specific processes on a server.", {
|
|
21
|
+
instanceNo: z.string().describe("Server instance number to add the plugin to"),
|
|
22
|
+
processName: z.string().describe("Name of the process to monitor"),
|
|
23
|
+
}, async (params) => {
|
|
24
|
+
try {
|
|
25
|
+
const body = {
|
|
26
|
+
instanceNo: params.instanceNo,
|
|
27
|
+
processName: params.processName,
|
|
28
|
+
};
|
|
29
|
+
const result = await client.postRequest("/cw_fea/real/cw/api/plugin/process/add", body);
|
|
30
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
// ncloud_remove_process_plugin — Remove a process monitoring plugin
|
|
37
|
+
server.tool("ncloud_remove_process_plugin", "⚠️ Destructive: Remove a process monitoring plugin from Cloud Insight.", {
|
|
38
|
+
instanceNo: z.string().describe("Server instance number"),
|
|
39
|
+
processName: z.string().describe("Name of the process plugin to remove"),
|
|
40
|
+
confirm: z.boolean().optional().describe("Must be true to execute deletion. If false or omitted, returns a confirmation prompt."),
|
|
41
|
+
}, async (params) => {
|
|
42
|
+
try {
|
|
43
|
+
if (!params.confirm) {
|
|
44
|
+
return {
|
|
45
|
+
content: [{
|
|
46
|
+
type: "text",
|
|
47
|
+
text: `⚠️ This will permanently remove process plugin [${params.processName}] from instance [${params.instanceNo}]. Do you want to proceed? (yes/no)\n\nTo confirm, call this tool again with confirm=true.`,
|
|
48
|
+
}],
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
const body = {
|
|
52
|
+
instanceNo: params.instanceNo,
|
|
53
|
+
processName: params.processName,
|
|
54
|
+
};
|
|
55
|
+
const result = await client.postRequest("/cw_fea/real/cw/api/plugin/process/remove", body);
|
|
56
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
// ncloud_list_port_plugins — Get port plugin list
|
|
63
|
+
server.tool("ncloud_list_port_plugins", "Get the list of Cloud Insight port monitoring plugins.", {
|
|
64
|
+
instanceNo: z.string().optional().describe("Server instance number to filter plugins"),
|
|
65
|
+
}, async (params) => {
|
|
66
|
+
try {
|
|
67
|
+
const body = {};
|
|
68
|
+
if (params.instanceNo !== undefined)
|
|
69
|
+
body.instanceNo = params.instanceNo;
|
|
70
|
+
const result = await client.postRequest("/cw_fea/real/cw/api/plugin/port", body);
|
|
71
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
72
|
+
}
|
|
73
|
+
catch (error) {
|
|
74
|
+
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
// ncloud_add_port_plugin — Add a port monitoring plugin
|
|
78
|
+
server.tool("ncloud_add_port_plugin", "Add a port monitoring plugin to Cloud Insight for monitoring specific ports on a server.", {
|
|
79
|
+
instanceNo: z.string().describe("Server instance number to add the plugin to"),
|
|
80
|
+
portNumber: z.number().describe("Port number to monitor"),
|
|
81
|
+
}, async (params) => {
|
|
82
|
+
try {
|
|
83
|
+
const body = {
|
|
84
|
+
instanceNo: params.instanceNo,
|
|
85
|
+
portNumber: params.portNumber,
|
|
86
|
+
};
|
|
87
|
+
const result = await client.postRequest("/cw_fea/real/cw/api/plugin/port/add", body);
|
|
88
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
89
|
+
}
|
|
90
|
+
catch (error) {
|
|
91
|
+
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
// ncloud_remove_port_plugin — Remove a port monitoring plugin
|
|
95
|
+
server.tool("ncloud_remove_port_plugin", "⚠️ Destructive: Remove a port monitoring plugin from Cloud Insight.", {
|
|
96
|
+
instanceNo: z.string().describe("Server instance number"),
|
|
97
|
+
portNumber: z.number().describe("Port number of the plugin to remove"),
|
|
98
|
+
confirm: z.boolean().optional().describe("Must be true to execute deletion. If false or omitted, returns a confirmation prompt."),
|
|
99
|
+
}, async (params) => {
|
|
100
|
+
try {
|
|
101
|
+
if (!params.confirm) {
|
|
102
|
+
return {
|
|
103
|
+
content: [{
|
|
104
|
+
type: "text",
|
|
105
|
+
text: `⚠️ This will permanently remove port plugin [${params.portNumber}] from instance [${params.instanceNo}]. Do you want to proceed? (yes/no)\n\nTo confirm, call this tool again with confirm=true.`,
|
|
106
|
+
}],
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
const body = {
|
|
110
|
+
instanceNo: params.instanceNo,
|
|
111
|
+
portNumber: params.portNumber,
|
|
112
|
+
};
|
|
113
|
+
const result = await client.postRequest("/cw_fea/real/cw/api/plugin/port/remove", body);
|
|
114
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
115
|
+
}
|
|
116
|
+
catch (error) {
|
|
117
|
+
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
// ncloud_list_file_plugins — Get file plugin list
|
|
121
|
+
server.tool("ncloud_list_file_plugins", "Get the list of Cloud Insight file monitoring plugins.", {
|
|
122
|
+
instanceNo: z.string().optional().describe("Server instance number to filter plugins"),
|
|
123
|
+
}, async (params) => {
|
|
124
|
+
try {
|
|
125
|
+
const body = {};
|
|
126
|
+
if (params.instanceNo !== undefined)
|
|
127
|
+
body.instanceNo = params.instanceNo;
|
|
128
|
+
const result = await client.postRequest("/cw_fea/real/cw/api/plugin/file", body);
|
|
129
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
130
|
+
}
|
|
131
|
+
catch (error) {
|
|
132
|
+
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
// ncloud_add_file_plugin — Add a file monitoring plugin
|
|
136
|
+
server.tool("ncloud_add_file_plugin", "Add a file monitoring plugin to Cloud Insight for monitoring specific file paths on a server.", {
|
|
137
|
+
instanceNo: z.string().describe("Server instance number to add the plugin to"),
|
|
138
|
+
filePath: z.string().describe("File path to monitor"),
|
|
139
|
+
}, async (params) => {
|
|
140
|
+
try {
|
|
141
|
+
const body = {
|
|
142
|
+
instanceNo: params.instanceNo,
|
|
143
|
+
filePath: params.filePath,
|
|
144
|
+
};
|
|
145
|
+
const result = await client.postRequest("/cw_fea/real/cw/api/plugin/file/add", body);
|
|
146
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
147
|
+
}
|
|
148
|
+
catch (error) {
|
|
149
|
+
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
// ncloud_remove_file_plugin — Remove a file monitoring plugin
|
|
153
|
+
server.tool("ncloud_remove_file_plugin", "⚠️ Destructive: Remove a file monitoring plugin from Cloud Insight.", {
|
|
154
|
+
instanceNo: z.string().describe("Server instance number"),
|
|
155
|
+
filePath: z.string().describe("File path of the plugin to remove"),
|
|
156
|
+
confirm: z.boolean().optional().describe("Must be true to execute deletion. If false or omitted, returns a confirmation prompt."),
|
|
157
|
+
}, async (params) => {
|
|
158
|
+
try {
|
|
159
|
+
if (!params.confirm) {
|
|
160
|
+
return {
|
|
161
|
+
content: [{
|
|
162
|
+
type: "text",
|
|
163
|
+
text: `⚠️ This will permanently remove file plugin [${params.filePath}] from instance [${params.instanceNo}]. Do you want to proceed? (yes/no)\n\nTo confirm, call this tool again with confirm=true.`,
|
|
164
|
+
}],
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
const body = {
|
|
168
|
+
instanceNo: params.instanceNo,
|
|
169
|
+
filePath: params.filePath,
|
|
170
|
+
};
|
|
171
|
+
const result = await client.postRequest("/cw_fea/real/cw/api/plugin/file/remove", body);
|
|
172
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
173
|
+
}
|
|
174
|
+
catch (error) {
|
|
175
|
+
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
176
|
+
}
|
|
177
|
+
});
|
|
178
|
+
// --- Custom Resource Tools ---
|
|
179
|
+
// ncloud_list_custom_resources — Get custom resource list
|
|
180
|
+
server.tool("ncloud_list_custom_resources", "Get the list of user-defined custom resources in Cloud Insight.", {
|
|
181
|
+
prodKey: z.string().optional().describe("Product key to filter custom resources"),
|
|
182
|
+
}, async (params) => {
|
|
183
|
+
try {
|
|
184
|
+
const body = {};
|
|
185
|
+
if (params.prodKey !== undefined)
|
|
186
|
+
body.prodKey = params.prodKey;
|
|
187
|
+
const result = await client.postRequest("/cw_fea/real/cw/api/custom/resource", body);
|
|
188
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
189
|
+
}
|
|
190
|
+
catch (error) {
|
|
191
|
+
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
192
|
+
}
|
|
193
|
+
});
|
|
194
|
+
// ncloud_get_custom_resource — Get custom resource details
|
|
195
|
+
server.tool("ncloud_get_custom_resource", "Get detailed information about a specific user-defined custom resource in Cloud Insight.", {
|
|
196
|
+
resourceId: z.string().describe("Custom resource ID to retrieve details for"),
|
|
197
|
+
}, async (params) => {
|
|
198
|
+
try {
|
|
199
|
+
const body = {
|
|
200
|
+
resourceId: params.resourceId,
|
|
201
|
+
};
|
|
202
|
+
const result = await client.postRequest("/cw_fea/real/cw/api/custom/resource/detail", body);
|
|
203
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
204
|
+
}
|
|
205
|
+
catch (error) {
|
|
206
|
+
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
207
|
+
}
|
|
208
|
+
});
|
|
209
|
+
// ncloud_create_custom_resource — Create a custom resource
|
|
210
|
+
server.tool("ncloud_create_custom_resource", "Create a user-defined custom resource in Cloud Insight for custom monitoring targets.", {
|
|
211
|
+
prodKey: z.string().describe("Product key (cw_key) for the custom schema"),
|
|
212
|
+
resourceName: z.string().describe("Name of the custom resource"),
|
|
213
|
+
dimensions: z.record(z.string()).describe("Dimension key-value pairs identifying the resource"),
|
|
214
|
+
}, async (params) => {
|
|
215
|
+
try {
|
|
216
|
+
const body = {
|
|
217
|
+
prodKey: params.prodKey,
|
|
218
|
+
resourceName: params.resourceName,
|
|
219
|
+
dimensions: params.dimensions,
|
|
220
|
+
};
|
|
221
|
+
const result = await client.postRequest("/cw_fea/real/cw/api/custom/resource/create", body);
|
|
222
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
223
|
+
}
|
|
224
|
+
catch (error) {
|
|
225
|
+
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
226
|
+
}
|
|
227
|
+
});
|
|
228
|
+
// ncloud_delete_custom_resource — Delete a custom resource
|
|
229
|
+
server.tool("ncloud_delete_custom_resource", "⚠️ Destructive: Delete a user-defined custom resource from Cloud Insight.", {
|
|
230
|
+
resourceId: z.string().describe("Custom resource ID to delete"),
|
|
231
|
+
confirm: z.boolean().optional().describe("Must be true to execute deletion. If false or omitted, returns a confirmation prompt."),
|
|
232
|
+
}, async (params) => {
|
|
233
|
+
try {
|
|
234
|
+
if (!params.confirm) {
|
|
235
|
+
return {
|
|
236
|
+
content: [{
|
|
237
|
+
type: "text",
|
|
238
|
+
text: `⚠️ This will permanently delete custom resource [${params.resourceId}]. Do you want to proceed? (yes/no)\n\nTo confirm, call this tool again with confirm=true.`,
|
|
239
|
+
}],
|
|
240
|
+
};
|
|
241
|
+
}
|
|
242
|
+
const body = {
|
|
243
|
+
resourceId: params.resourceId,
|
|
244
|
+
};
|
|
245
|
+
const result = await client.postRequest("/cw_fea/real/cw/api/custom/resource/delete", body);
|
|
246
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
247
|
+
}
|
|
248
|
+
catch (error) {
|
|
249
|
+
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
250
|
+
}
|
|
251
|
+
});
|
|
252
|
+
// --- Schema Tools ---
|
|
253
|
+
// ncloud_get_schema_keys — Get system schema product keys
|
|
254
|
+
server.tool("ncloud_get_schema_keys", "Get the list of product keys (cw_key) available in Cloud Insight schema.", {}, async () => {
|
|
255
|
+
try {
|
|
256
|
+
const result = await client.requestRaw("GET", "/cw_fea/real/cw/api/schema/system/list");
|
|
257
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
258
|
+
}
|
|
259
|
+
catch (error) {
|
|
260
|
+
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
261
|
+
}
|
|
262
|
+
});
|
|
263
|
+
// ncloud_get_product_schema — Get product schema details
|
|
264
|
+
server.tool("ncloud_get_product_schema", "Get the schema definition for a specific product in Cloud Insight, including available metrics and dimensions.", {
|
|
265
|
+
prodKey: z.string().describe("Product key (cw_key) to get schema for"),
|
|
266
|
+
}, async (params) => {
|
|
267
|
+
try {
|
|
268
|
+
const body = {
|
|
269
|
+
prodKey: params.prodKey,
|
|
270
|
+
};
|
|
271
|
+
const result = await client.postRequest("/cw_fea/real/cw/api/schema", body);
|
|
272
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
273
|
+
}
|
|
274
|
+
catch (error) {
|
|
275
|
+
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
276
|
+
}
|
|
277
|
+
});
|
|
278
|
+
// --- Plugin Detail/Update Tools ---
|
|
279
|
+
// ncloud_get_process_plugin — Get process plugin for a specific instance
|
|
280
|
+
server.tool("ncloud_get_process_plugin", "Get process monitoring plugin details for a specific server instance.", {
|
|
281
|
+
instanceNo: z.string().describe("Server instance number"),
|
|
282
|
+
}, async (params) => {
|
|
283
|
+
try {
|
|
284
|
+
const body = { instanceNo: params.instanceNo };
|
|
285
|
+
const result = await client.postRequest("/cw_fea/real/cw/api/plugin/process/instance", body);
|
|
286
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
287
|
+
}
|
|
288
|
+
catch (error) {
|
|
289
|
+
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
290
|
+
}
|
|
291
|
+
});
|
|
292
|
+
// ncloud_get_port_plugin — Get port plugin for a specific instance
|
|
293
|
+
server.tool("ncloud_get_port_plugin", "Get port monitoring plugin details for a specific server instance.", {
|
|
294
|
+
instanceNo: z.string().describe("Server instance number"),
|
|
295
|
+
}, async (params) => {
|
|
296
|
+
try {
|
|
297
|
+
const body = { instanceNo: params.instanceNo };
|
|
298
|
+
const result = await client.postRequest("/cw_fea/real/cw/api/plugin/port/instance", body);
|
|
299
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
300
|
+
}
|
|
301
|
+
catch (error) {
|
|
302
|
+
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
303
|
+
}
|
|
304
|
+
});
|
|
305
|
+
// ncloud_get_file_plugin — Get file plugin for a specific instance
|
|
306
|
+
server.tool("ncloud_get_file_plugin", "Get file monitoring plugin details for a specific server instance.", {
|
|
307
|
+
instanceNo: z.string().describe("Server instance number"),
|
|
308
|
+
}, async (params) => {
|
|
309
|
+
try {
|
|
310
|
+
const body = { instanceNo: params.instanceNo };
|
|
311
|
+
const result = await client.postRequest("/cw_fea/real/cw/api/plugin/file/instance", body);
|
|
312
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
313
|
+
}
|
|
314
|
+
catch (error) {
|
|
315
|
+
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
316
|
+
}
|
|
317
|
+
});
|
|
318
|
+
// ncloud_update_process_plugin — Update process plugin settings
|
|
319
|
+
server.tool("ncloud_update_process_plugin", "Update process monitoring plugin settings in Cloud Insight.", {
|
|
320
|
+
instanceNo: z.string().describe("Server instance number"),
|
|
321
|
+
processName: z.string().describe("Process name to update"),
|
|
322
|
+
newProcessName: z.string().optional().describe("New process name"),
|
|
323
|
+
}, async (params) => {
|
|
324
|
+
try {
|
|
325
|
+
const body = {
|
|
326
|
+
instanceNo: params.instanceNo,
|
|
327
|
+
processName: params.processName,
|
|
328
|
+
};
|
|
329
|
+
if (params.newProcessName !== undefined)
|
|
330
|
+
body.newProcessName = params.newProcessName;
|
|
331
|
+
const result = await client.postRequest("/cw_fea/real/cw/api/plugin/process/update", body);
|
|
332
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
333
|
+
}
|
|
334
|
+
catch (error) {
|
|
335
|
+
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
336
|
+
}
|
|
337
|
+
});
|
|
338
|
+
// ncloud_update_port_plugin — Update port plugin settings
|
|
339
|
+
server.tool("ncloud_update_port_plugin", "Update port monitoring plugin settings in Cloud Insight.", {
|
|
340
|
+
instanceNo: z.string().describe("Server instance number"),
|
|
341
|
+
portNumber: z.number().describe("Current port number"),
|
|
342
|
+
newPortNumber: z.number().optional().describe("New port number"),
|
|
343
|
+
}, async (params) => {
|
|
344
|
+
try {
|
|
345
|
+
const body = {
|
|
346
|
+
instanceNo: params.instanceNo,
|
|
347
|
+
portNumber: params.portNumber,
|
|
348
|
+
};
|
|
349
|
+
if (params.newPortNumber !== undefined)
|
|
350
|
+
body.newPortNumber = params.newPortNumber;
|
|
351
|
+
const result = await client.postRequest("/cw_fea/real/cw/api/plugin/port/update", body);
|
|
352
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
353
|
+
}
|
|
354
|
+
catch (error) {
|
|
355
|
+
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
356
|
+
}
|
|
357
|
+
});
|
|
358
|
+
// ncloud_update_file_plugin — Update file plugin settings
|
|
359
|
+
server.tool("ncloud_update_file_plugin", "Update file monitoring plugin settings in Cloud Insight.", {
|
|
360
|
+
instanceNo: z.string().describe("Server instance number"),
|
|
361
|
+
filePath: z.string().describe("Current file path"),
|
|
362
|
+
newFilePath: z.string().optional().describe("New file path"),
|
|
363
|
+
}, async (params) => {
|
|
364
|
+
try {
|
|
365
|
+
const body = {
|
|
366
|
+
instanceNo: params.instanceNo,
|
|
367
|
+
filePath: params.filePath,
|
|
368
|
+
};
|
|
369
|
+
if (params.newFilePath !== undefined)
|
|
370
|
+
body.newFilePath = params.newFilePath;
|
|
371
|
+
const result = await client.postRequest("/cw_fea/real/cw/api/plugin/file/update", body);
|
|
372
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
373
|
+
}
|
|
374
|
+
catch (error) {
|
|
375
|
+
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
376
|
+
}
|
|
377
|
+
});
|
|
378
|
+
// --- Additional Schema Tools ---
|
|
379
|
+
// ncloud_create_custom_schema — Create a custom schema
|
|
380
|
+
server.tool("ncloud_create_custom_schema", "Create a user-defined custom schema in Cloud Insight for custom metrics.", {
|
|
381
|
+
prodName: z.string().describe("Product name for the custom schema"),
|
|
382
|
+
fields: z.array(z.object({
|
|
383
|
+
fieldName: z.string().describe("Field name"),
|
|
384
|
+
fieldType: z.enum(["STRING", "INTEGER", "LONG", "FLOAT"]).describe("Field data type"),
|
|
385
|
+
dimension: z.boolean().optional().describe("Whether this field is a dimension (default: false)"),
|
|
386
|
+
})).describe("Schema field definitions"),
|
|
387
|
+
}, async (params) => {
|
|
388
|
+
try {
|
|
389
|
+
const body = {
|
|
390
|
+
prodName: params.prodName,
|
|
391
|
+
fields: params.fields,
|
|
392
|
+
};
|
|
393
|
+
const result = await client.postRequest("/cw_fea/real/cw/api/schema/create", body);
|
|
394
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
395
|
+
}
|
|
396
|
+
catch (error) {
|
|
397
|
+
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
398
|
+
}
|
|
399
|
+
});
|
|
400
|
+
// ncloud_delete_product_schema — Delete a custom schema
|
|
401
|
+
server.tool("ncloud_delete_product_schema", "⚠️ Destructive: Delete a user-defined custom schema from Cloud Insight.", {
|
|
402
|
+
prodKey: z.string().describe("Product key (cw_key) of the schema to delete"),
|
|
403
|
+
confirm: z.boolean().optional().describe("Must be true to execute deletion."),
|
|
404
|
+
}, async (params) => {
|
|
405
|
+
try {
|
|
406
|
+
if (!params.confirm) {
|
|
407
|
+
return {
|
|
408
|
+
content: [{
|
|
409
|
+
type: "text",
|
|
410
|
+
text: `⚠️ This will permanently delete custom schema [${params.prodKey}]. To confirm, call this tool again with confirm=true.`,
|
|
411
|
+
}],
|
|
412
|
+
};
|
|
413
|
+
}
|
|
414
|
+
const body = { prodKey: params.prodKey };
|
|
415
|
+
const result = await client.postRequest("/cw_fea/real/cw/api/schema/delete", body);
|
|
416
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
417
|
+
}
|
|
418
|
+
catch (error) {
|
|
419
|
+
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
420
|
+
}
|
|
421
|
+
});
|
|
422
|
+
// ncloud_update_product_schema — Update a custom schema
|
|
423
|
+
server.tool("ncloud_update_product_schema", "Update a user-defined custom schema in Cloud Insight.", {
|
|
424
|
+
prodKey: z.string().describe("Product key (cw_key) of the schema to update"),
|
|
425
|
+
fields: z.array(z.object({
|
|
426
|
+
fieldName: z.string().describe("Field name"),
|
|
427
|
+
fieldType: z.enum(["STRING", "INTEGER", "LONG", "FLOAT"]).describe("Field data type"),
|
|
428
|
+
dimension: z.boolean().optional().describe("Whether this field is a dimension"),
|
|
429
|
+
})).describe("Updated schema field definitions"),
|
|
430
|
+
}, async (params) => {
|
|
431
|
+
try {
|
|
432
|
+
const body = {
|
|
433
|
+
prodKey: params.prodKey,
|
|
434
|
+
fields: params.fields,
|
|
435
|
+
};
|
|
436
|
+
const result = await client.postRequest("/cw_fea/real/cw/api/schema/update", body);
|
|
437
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
438
|
+
}
|
|
439
|
+
catch (error) {
|
|
440
|
+
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
441
|
+
}
|
|
442
|
+
});
|
|
443
|
+
// ncloud_get_extended_status — Get extended metric status
|
|
444
|
+
server.tool("ncloud_get_extended_status", "Get the Extended Metric collection status for a specific instance in Cloud Insight.", {
|
|
445
|
+
instanceNo: z.string().describe("Server instance number to check extended metric status"),
|
|
446
|
+
}, async (params) => {
|
|
447
|
+
try {
|
|
448
|
+
const body = { instanceNo: params.instanceNo };
|
|
449
|
+
const result = await client.postRequest("/cw_fea/real/cw/api/schema/extended/status", body);
|
|
450
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
451
|
+
}
|
|
452
|
+
catch (error) {
|
|
453
|
+
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
454
|
+
}
|
|
455
|
+
});
|
|
456
|
+
// ncloud_update_extended_enable — Enable extended metric collection
|
|
457
|
+
server.tool("ncloud_update_extended_enable", "Enable Extended Metric collection for a specific instance in Cloud Insight.", {
|
|
458
|
+
instanceNo: z.string().describe("Server instance number to enable extended metrics for"),
|
|
459
|
+
}, async (params) => {
|
|
460
|
+
try {
|
|
461
|
+
const body = { instanceNo: params.instanceNo };
|
|
462
|
+
const result = await client.postRequest("/cw_fea/real/cw/api/schema/extended/enable", body);
|
|
463
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
464
|
+
}
|
|
465
|
+
catch (error) {
|
|
466
|
+
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
467
|
+
}
|
|
468
|
+
});
|
|
469
|
+
// ncloud_update_extended_disable — Disable extended metric collection
|
|
470
|
+
server.tool("ncloud_update_extended_disable", "Disable Extended Metric collection for a specific instance in Cloud Insight.", {
|
|
471
|
+
instanceNo: z.string().describe("Server instance number to disable extended metrics for"),
|
|
472
|
+
}, async (params) => {
|
|
473
|
+
try {
|
|
474
|
+
const body = { instanceNo: params.instanceNo };
|
|
475
|
+
const result = await client.postRequest("/cw_fea/real/cw/api/schema/extended/disable", body);
|
|
476
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
477
|
+
}
|
|
478
|
+
catch (error) {
|
|
479
|
+
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
480
|
+
}
|
|
481
|
+
});
|
|
482
|
+
// --- Custom Resource Update ---
|
|
483
|
+
// ncloud_update_custom_resource — Update a custom resource
|
|
484
|
+
server.tool("ncloud_update_custom_resource", "Update a user-defined custom resource in Cloud Insight.", {
|
|
485
|
+
resourceId: z.string().describe("Custom resource ID to update"),
|
|
486
|
+
resourceName: z.string().optional().describe("New name for the custom resource"),
|
|
487
|
+
dimensions: z.record(z.string()).optional().describe("Updated dimension key-value pairs"),
|
|
488
|
+
}, async (params) => {
|
|
489
|
+
try {
|
|
490
|
+
const body = {
|
|
491
|
+
resourceId: params.resourceId,
|
|
492
|
+
};
|
|
493
|
+
if (params.resourceName !== undefined)
|
|
494
|
+
body.resourceName = params.resourceName;
|
|
495
|
+
if (params.dimensions !== undefined)
|
|
496
|
+
body.dimensions = params.dimensions;
|
|
497
|
+
const result = await client.postRequest("/cw_fea/real/cw/api/custom/resource/update", body);
|
|
498
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
499
|
+
}
|
|
500
|
+
catch (error) {
|
|
501
|
+
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
502
|
+
}
|
|
503
|
+
});
|
|
504
|
+
// --- Planned Maintenance Tools ---
|
|
505
|
+
// ncloud_list_maintenances — Get planned maintenance list
|
|
506
|
+
server.tool("ncloud_list_maintenances", "Get the list of planned maintenance schedules in Cloud Insight.", {}, async () => {
|
|
507
|
+
try {
|
|
508
|
+
const result = await client.postRequest("/cw_fea/real/cw/api/maintenance/list", {});
|
|
509
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
510
|
+
}
|
|
511
|
+
catch (error) {
|
|
512
|
+
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
513
|
+
}
|
|
514
|
+
});
|
|
515
|
+
// ncloud_get_maintenance_detail — Get planned maintenance detail
|
|
516
|
+
server.tool("ncloud_get_maintenance_detail", "Get detailed information about a specific planned maintenance schedule.", {
|
|
517
|
+
maintenanceId: z.string().describe("Maintenance ID to retrieve details for"),
|
|
518
|
+
}, async (params) => {
|
|
519
|
+
try {
|
|
520
|
+
const body = { maintenanceId: params.maintenanceId };
|
|
521
|
+
const result = await client.postRequest("/cw_fea/real/cw/api/maintenance/detail", body);
|
|
522
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
523
|
+
}
|
|
524
|
+
catch (error) {
|
|
525
|
+
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
526
|
+
}
|
|
527
|
+
});
|
|
528
|
+
// ncloud_create_maintenance — Create a planned maintenance schedule
|
|
529
|
+
server.tool("ncloud_create_maintenance", "Create a new planned maintenance schedule in Cloud Insight.", {
|
|
530
|
+
title: z.string().describe("Maintenance title"),
|
|
531
|
+
startTime: z.number().describe("Start time in Unix epoch milliseconds"),
|
|
532
|
+
endTime: z.number().describe("End time in Unix epoch milliseconds"),
|
|
533
|
+
description: z.string().optional().describe("Maintenance description"),
|
|
534
|
+
}, async (params) => {
|
|
535
|
+
try {
|
|
536
|
+
const body = {
|
|
537
|
+
title: params.title,
|
|
538
|
+
startTime: params.startTime,
|
|
539
|
+
endTime: params.endTime,
|
|
540
|
+
};
|
|
541
|
+
if (params.description !== undefined)
|
|
542
|
+
body.description = params.description;
|
|
543
|
+
const result = await client.postRequest("/cw_fea/real/cw/api/maintenance/create", body);
|
|
544
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
545
|
+
}
|
|
546
|
+
catch (error) {
|
|
547
|
+
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
548
|
+
}
|
|
549
|
+
});
|
|
550
|
+
// ncloud_update_maintenance — Update a planned maintenance schedule
|
|
551
|
+
server.tool("ncloud_update_maintenance", "Update an existing planned maintenance schedule in Cloud Insight.", {
|
|
552
|
+
maintenanceId: z.string().describe("Maintenance ID to update"),
|
|
553
|
+
title: z.string().optional().describe("New maintenance title"),
|
|
554
|
+
startTime: z.number().optional().describe("New start time in Unix epoch milliseconds"),
|
|
555
|
+
endTime: z.number().optional().describe("New end time in Unix epoch milliseconds"),
|
|
556
|
+
description: z.string().optional().describe("New maintenance description"),
|
|
557
|
+
}, async (params) => {
|
|
558
|
+
try {
|
|
559
|
+
const body = {
|
|
560
|
+
maintenanceId: params.maintenanceId,
|
|
561
|
+
};
|
|
562
|
+
if (params.title !== undefined)
|
|
563
|
+
body.title = params.title;
|
|
564
|
+
if (params.startTime !== undefined)
|
|
565
|
+
body.startTime = params.startTime;
|
|
566
|
+
if (params.endTime !== undefined)
|
|
567
|
+
body.endTime = params.endTime;
|
|
568
|
+
if (params.description !== undefined)
|
|
569
|
+
body.description = params.description;
|
|
570
|
+
const result = await client.postRequest("/cw_fea/real/cw/api/maintenance/update", body);
|
|
571
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
572
|
+
}
|
|
573
|
+
catch (error) {
|
|
574
|
+
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
575
|
+
}
|
|
576
|
+
});
|
|
577
|
+
// ncloud_delete_maintenance — Delete a planned maintenance schedule
|
|
578
|
+
server.tool("ncloud_delete_maintenance", "⚠️ Destructive: Delete a planned maintenance schedule from Cloud Insight.", {
|
|
579
|
+
maintenanceId: z.string().describe("Maintenance ID to delete"),
|
|
580
|
+
confirm: z.boolean().optional().describe("Must be true to execute deletion."),
|
|
581
|
+
}, async (params) => {
|
|
582
|
+
try {
|
|
583
|
+
if (!params.confirm) {
|
|
584
|
+
return {
|
|
585
|
+
content: [{
|
|
586
|
+
type: "text",
|
|
587
|
+
text: `⚠️ This will permanently delete maintenance schedule [${params.maintenanceId}]. To confirm, call this tool again with confirm=true.`,
|
|
588
|
+
}],
|
|
589
|
+
};
|
|
590
|
+
}
|
|
591
|
+
const body = { maintenanceId: params.maintenanceId };
|
|
592
|
+
const result = await client.postRequest("/cw_fea/real/cw/api/maintenance/delete", body);
|
|
593
|
+
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
594
|
+
}
|
|
595
|
+
catch (error) {
|
|
596
|
+
return { content: [{ type: "text", text: error.message }], isError: true };
|
|
597
|
+
}
|
|
598
|
+
});
|
|
599
|
+
}
|
|
600
|
+
//# sourceMappingURL=cloud-insight-plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloud-insight-plugin.js","sourceRoot":"","sources":["../../src/tools/cloud-insight-plugin.ts"],"names":[],"mappings":"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"}
|