@takashito/linode-mcp-server
Version:
MCP server for Linode API
36 lines • 2.33 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.unassignInstancesSchema = exports.assignInstancesSchema = exports.deletePlacementGroupSchema = exports.updatePlacementGroupSchema = exports.createPlacementGroupSchema = exports.getPlacementGroupSchema = exports.listPlacementGroupsSchema = void 0;
const zod_1 = require("zod");
// Placement tools
exports.listPlacementGroupsSchema = zod_1.z.object({
page: zod_1.z.number().int().optional().describe('Page number to fetch (minimum: 1)'),
page_size: zod_1.z.number().int().optional().describe('Number of items per page (minimum: 1, maximum: 500)')
});
exports.getPlacementGroupSchema = zod_1.z.object({
id: zod_1.z.number().describe('The ID of the placement group'),
});
exports.createPlacementGroupSchema = zod_1.z.object({
label: zod_1.z.string().describe('A label for the placement group'),
placement_group_type: zod_1.z.enum(['anti_affinity:local']).describe('The type of placement policy'),
placement_group_policy: zod_1.z.enum(['strict', 'flexible']).optional().describe('The policy of the placement group (defaults to flexible)'),
region: zod_1.z.string().describe('The region where the placement group will be created'),
tags: zod_1.z.array(zod_1.z.string()).optional().describe('Tags to apply to the placement group'),
});
exports.updatePlacementGroupSchema = zod_1.z.object({
id: zod_1.z.number().describe('The ID of the placement group to update'),
label: zod_1.z.string().describe('A label for the placement group (required even for updates)'),
tags: zod_1.z.array(zod_1.z.string()).optional().describe('Tags to apply to the placement group'),
});
exports.deletePlacementGroupSchema = zod_1.z.object({
id: zod_1.z.number().describe('The ID of the placement group to delete'),
});
exports.assignInstancesSchema = zod_1.z.object({
id: zod_1.z.number().describe('The ID of the placement group'),
linodes: zod_1.z.array(zod_1.z.number()).describe('Array of Linode IDs to assign to the placement group'),
});
exports.unassignInstancesSchema = zod_1.z.object({
id: zod_1.z.number().describe('The ID of the placement group'),
linodes: zod_1.z.array(zod_1.z.number()).describe('Array of Linode IDs to unassign from the placement group'),
});
//# sourceMappingURL=schemas.js.map