@takashito/linode-mcp-server
Version:
MCP server for Linode API
56 lines • 3.11 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.listVPCIPsSchema = exports.deleteSubnetSchema = exports.updateSubnetSchema = exports.createSubnetSchema = exports.getSubnetSchema = exports.listSubnetsSchema = exports.deleteVPCSchema = exports.updateVPCSchema = exports.createVPCSchema = exports.getVPCSchema = exports.listVPCsSchema = void 0;
const zod_1 = require("zod");
const schemas_1 = require("../common/schemas");
// VPC tools
exports.listVPCsSchema = zod_1.z.object({
...schemas_1.pagingParamsSchema.shape
});
exports.getVPCSchema = zod_1.z.object({
id: zod_1.z.number().describe('The ID of the VPC'),
});
exports.createVPCSchema = zod_1.z.object({
label: zod_1.z.string().describe('A label for the VPC. Must be unique among your VPCs.'),
region: zod_1.z.string().describe('The region where the VPC will be created. The region must support VPCs - check region capabilities with List Regions.'),
description: zod_1.z.string().optional().describe('A description for the VPC'),
tags: zod_1.z.array(zod_1.z.string()).optional().describe('Tags to apply to the VPC'),
});
exports.updateVPCSchema = zod_1.z.object({
id: zod_1.z.number().describe('The ID of the VPC to update'),
label: zod_1.z.string().optional().describe('A label for the VPC. Must be unique among your VPCs.'),
description: zod_1.z.string().optional().describe('A description for the VPC'),
tags: zod_1.z.array(zod_1.z.string()).optional().describe('Tags to apply to the VPC'),
});
exports.deleteVPCSchema = zod_1.z.object({
id: zod_1.z.number().describe('The ID of the VPC to delete'),
});
// VPC Subnet schemas
exports.listSubnetsSchema = zod_1.z.object({
id: zod_1.z.number().describe('The ID of the VPC'),
});
exports.getSubnetSchema = zod_1.z.object({
id: zod_1.z.number().describe('The ID of the VPC'),
subnet_id: zod_1.z.number().describe('The ID of the subnet'),
});
exports.createSubnetSchema = zod_1.z.object({
id: zod_1.z.number().describe('The ID of the VPC'),
label: zod_1.z.string().describe('A label for the subnet. Must be unique within the VPC.'),
ipv4: zod_1.z.string().describe('The IPv4 range for the subnet in CIDR format (e.g., 10.0.0.0/24). Must be a valid private IPv4 range and not overlap with other subnets in the VPC.'),
tags: zod_1.z.array(zod_1.z.string()).optional().describe('Tags to apply to the subnet'),
});
exports.updateSubnetSchema = zod_1.z.object({
id: zod_1.z.number().describe('The ID of the VPC'),
subnet_id: zod_1.z.number().describe('The ID of the subnet to update'),
label: zod_1.z.string().optional().describe('A label for the subnet'),
tags: zod_1.z.array(zod_1.z.string()).optional().describe('Tags to apply to the subnet'),
});
exports.deleteSubnetSchema = zod_1.z.object({
id: zod_1.z.number().describe('The ID of the VPC'),
subnet_id: zod_1.z.number().describe('The ID of the subnet to delete'),
});
// VPC IPs schema
exports.listVPCIPsSchema = zod_1.z.object({
id: zod_1.z.number().describe('The ID of the VPC'),
});
//# sourceMappingURL=schemas.js.map