UNPKG

@takashito/linode-mcp-server

Version:

MCP server for Linode API

63 lines 3.95 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.deleteNodeBalancerNodeSchema = exports.createNodeBalancerNodeSchema = exports.listNodeBalancerNodesSchema = exports.deleteNodeBalancerConfigSchema = exports.createNodeBalancerConfigSchema = exports.listNodeBalancerConfigsSchema = exports.deleteNodeBalancerSchema = exports.createNodeBalancerSchema = exports.getNodeBalancerSchema = exports.listNodeBalancersSchema = void 0; const zod_1 = require("zod"); const schemas_1 = require("../common/schemas"); // NodeBalancer tools exports.listNodeBalancersSchema = zod_1.z.object({ ...schemas_1.pagingParamsSchema.shape, }); exports.getNodeBalancerSchema = zod_1.z.object({ id: zod_1.z.number().describe('The ID of the NodeBalancer'), }); exports.createNodeBalancerSchema = zod_1.z.object({ region: zod_1.z.string().describe('The region where the NodeBalancer will be created'), label: zod_1.z.string().optional().describe('The label for the NodeBalancer'), client_conn_throttle: zod_1.z.number().optional().describe('Connection throttle in seconds'), tags: schemas_1.tagSchema, }); exports.deleteNodeBalancerSchema = zod_1.z.object({ id: zod_1.z.number().describe('The ID of the NodeBalancer'), }); exports.listNodeBalancerConfigsSchema = zod_1.z.object({ nodebalancer_id: zod_1.z.number().describe('The ID of the NodeBalancer'), }); exports.createNodeBalancerConfigSchema = zod_1.z.object({ nodebalancer_id: zod_1.z.number().describe('The ID of the NodeBalancer'), port: zod_1.z.number().describe('The port to serve traffic on'), protocol: zod_1.z.string().describe('The protocol to use (http, https, tcp)'), algorithm: zod_1.z.string().optional().describe('The load balancing algorithm'), stickiness: zod_1.z.string().optional().describe('The session stickiness setting'), check: zod_1.z.string().optional().describe('The health check method'), check_interval: zod_1.z.number().optional().describe('How often to check backends in seconds'), check_timeout: zod_1.z.number().optional().describe('How long to wait for a check in seconds'), check_attempts: zod_1.z.number().optional().describe('How many check attempts before marking unhealthy'), check_path: zod_1.z.string().optional().describe('The URL path for HTTP checks'), check_body: zod_1.z.string().optional().describe('Body to expect from HTTP checks'), check_passive: zod_1.z.boolean().optional().describe('Whether to use passive checks'), cipher_suite: zod_1.z.string().optional().describe('The SSL cipher suite to use'), ssl_cert: zod_1.z.string().optional().describe('The SSL certificate'), ssl_key: zod_1.z.string().optional().describe('The SSL private key'), }); exports.deleteNodeBalancerConfigSchema = zod_1.z.object({ nodebalancer_id: zod_1.z.number().describe('The ID of the NodeBalancer'), config_id: zod_1.z.number().describe('The ID of the config'), }); exports.listNodeBalancerNodesSchema = zod_1.z.object({ nodebalancer_id: zod_1.z.number().describe('The ID of the NodeBalancer'), config_id: zod_1.z.number().describe('The ID of the config'), }); exports.createNodeBalancerNodeSchema = zod_1.z.object({ nodebalancer_id: zod_1.z.number().describe('The ID of the NodeBalancer'), config_id: zod_1.z.number().describe('The ID of the config'), address: zod_1.z.string().describe('The IP:port combination of the node'), label: zod_1.z.string().describe('The label for the node'), weight: zod_1.z.number().optional().describe('The weight for the node'), mode: zod_1.z.string().optional().describe('The mode of the node'), }); exports.deleteNodeBalancerNodeSchema = zod_1.z.object({ nodebalancer_id: zod_1.z.number().describe('The ID of the NodeBalancer'), config_id: zod_1.z.number().describe('The ID of the config'), node_id: zod_1.z.number().describe('The ID of the node'), }); //# sourceMappingURL=schemas.js.map