UNPKG

@takashito/linode-mcp-server

Version:

MCP server for Linode API

55 lines 3.23 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.replicateImageSchema = exports.deleteImageSchema = exports.updateImageSchema = exports.uploadImageSchema = exports.createImageSchema = exports.getImageSchema = exports.listImagesSchema = exports.linodeImageSchema = void 0; const zod_1 = require("zod"); const schemas_1 = require("../common/schemas"); // Basic image schema exports.linodeImageSchema = zod_1.z.object({ id: zod_1.z.string().describe('The unique ID of this Image'), label: zod_1.z.string().describe('The Image\'s label'), description: zod_1.z.string().nullable().describe('A description for this Image'), created: zod_1.z.string().describe('The date this Image was created'), updated: zod_1.z.string().describe('The last date this Image was updated'), type: zod_1.z.enum(['manual', 'automatic']).describe('How the Image was created'), status: zod_1.z.enum(['available', 'creating', 'pending_upload', 'deleted']).describe('The status of the Image'), is_public: zod_1.z.boolean().describe('True if the Image is public'), size: zod_1.z.number().describe('The size of the Image in MB'), created_by: zod_1.z.string().describe('The name of the user who created this Image'), vendor: zod_1.z.string().nullable().describe('The upstream distribution vendor'), deprecated: zod_1.z.boolean().describe('Whether or not this Image is deprecated'), expiry: zod_1.z.string().nullable().describe('Only Images with a non-null expiry will be automatically deleted') }); // Schema for listing images exports.listImagesSchema = schemas_1.paginationSchema; // Schema for getting a specific image exports.getImageSchema = zod_1.z.object({ imageId: zod_1.z.string().describe('The ID of the Image') }); // Schema for creating an image exports.createImageSchema = zod_1.z.object({ disk_id: zod_1.z.number().describe('The ID of the Linode Disk to create an Image from'), label: zod_1.z.string().describe('The label for the resulting Image'), description: zod_1.z.string().optional().describe('A text description for the Image') }); // Schema for uploading an image exports.uploadImageSchema = zod_1.z.object({ label: zod_1.z.string().describe('The label for the resulting Image'), description: zod_1.z.string().optional().describe('A text description for the Image'), region: zod_1.z.string().describe('The region where the Image will be uploaded') }); // Schema for updating an image exports.updateImageSchema = zod_1.z.object({ imageId: zod_1.z.string().describe('The ID of the Image to update'), label: zod_1.z.string().optional().describe('The new label for the Image'), description: zod_1.z.string().optional().describe('The new description for the Image') }); // Schema for deleting an image exports.deleteImageSchema = zod_1.z.object({ imageId: zod_1.z.string().describe('The ID of the Image to delete') }); // Schema for replicating an image exports.replicateImageSchema = zod_1.z.object({ imageId: zod_1.z.string().describe('The ID of the Image to replicate'), regions: zod_1.z.array(zod_1.z.string()).describe('Array of regions to replicate the Image to') }); //# sourceMappingURL=schemas.js.map