UNPKG

@takashito/linode-mcp-server

Version:

MCP server for Linode API

62 lines 3.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.deleteStackScriptSchema = exports.updateStackScriptSchema = exports.createStackScriptSchema = exports.getStackScriptSchema = exports.listStackScriptsSchema = void 0; const zod_1 = require("zod"); const schemas_1 = require("../common/schemas"); /** * Schema for listing StackScripts */ exports.listStackScriptsSchema = zod_1.z.object({ ...schemas_1.pagingParamsSchema.shape, is_mine: (0, schemas_1.coerceBoolean)().optional().describe('Only return StackScripts created by your account'), is_public: (0, schemas_1.coerceBoolean)().optional().describe('If true, returns only public StackScripts'), }); /** * Schema for getting a specific StackScript */ exports.getStackScriptSchema = zod_1.z.object({ id: zod_1.z.coerce.number().describe('The ID of the StackScript') }); /** * Schema for creating a StackScript */ exports.createStackScriptSchema = zod_1.z.object({ script: zod_1.z.string().describe('The script to execute when provisioning a new Linode with this StackScript'), label: zod_1.z.string() .describe('The StackScript\'s label for display purposes only. length between 3 and 128'), images: zod_1.z.array(zod_1.z.string()) .describe('An array of Image IDs. These are the Images that can be deployed with this StackScript'), description: zod_1.z.string().optional() .describe('A description for the StackScript'), is_public: (0, schemas_1.coerceBoolean)().optional() .describe('This determines whether other users can use your StackScript. Once a StackScript is made public, it cannot be made private'), rev_note: zod_1.z.string().optional() .describe('This field allows you to add notes for the set of revisions made to this StackScript') }); /** * Schema for updating a StackScript */ exports.updateStackScriptSchema = zod_1.z.object({ id: zod_1.z.coerce.number().describe('The ID of the StackScript'), script: zod_1.z.string().optional() .describe('The script to execute when provisioning a new Linode with this StackScript'), label: zod_1.z.string() .optional() .describe('The StackScript\'s label for display purposes only. length between 3 and 128'), images: zod_1.z.array(zod_1.z.string()) .optional() .describe('An array of Image IDs. These are the Images that can be deployed with this StackScript'), description: zod_1.z.string().optional() .describe('A description for the StackScript'), is_public: (0, schemas_1.coerceBoolean)().optional() .describe('This determines whether other users can use your StackScript. Once a StackScript is made public, it cannot be made private'), rev_note: zod_1.z.string().optional() .describe('This field allows you to add notes for the set of revisions made to this StackScript') }); /** * Schema for deleting a StackScript */ exports.deleteStackScriptSchema = zod_1.z.object({ id: zod_1.z.coerce.number().describe('The ID of the StackScript') }); //# sourceMappingURL=schemas.js.map