@takashito/linode-mcp-server
Version:
MCP server for Linode API
62 lines • 3.1 kB
JavaScript
"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