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