@takashito/linode-mcp-server
Version:
MCP server for Linode API
72 lines • 4.74 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.updateNodeBalancerFirewallsSchema = exports.listNodeBalancerFirewallsSchema = 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.coerce.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.coerce.number().optional().describe('Connection throttle in seconds'),
tags: schemas_1.tagSchema,
});
exports.deleteNodeBalancerSchema = zod_1.z.object({
id: zod_1.z.coerce.number().describe('The ID of the NodeBalancer'),
});
exports.listNodeBalancerConfigsSchema = zod_1.z.object({
nodebalancer_id: zod_1.z.coerce.number().describe('The ID of the NodeBalancer'),
});
exports.createNodeBalancerConfigSchema = zod_1.z.object({
nodebalancer_id: zod_1.z.coerce.number().describe('The ID of the NodeBalancer'),
port: zod_1.z.coerce.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.coerce.number().optional().describe('How often to check backends in seconds'),
check_timeout: zod_1.z.coerce.number().optional().describe('How long to wait for a check in seconds'),
check_attempts: zod_1.z.coerce.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: (0, schemas_1.coerceBoolean)().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.coerce.number().describe('The ID of the NodeBalancer'),
config_id: zod_1.z.coerce.number().describe('The ID of the NodeBalancer port config'),
});
exports.listNodeBalancerNodesSchema = zod_1.z.object({
nodebalancer_id: zod_1.z.coerce.number().describe('The ID of the NodeBalancer'),
config_id: zod_1.z.coerce.number().describe('The ID of the NodeBalancer port config'),
});
exports.createNodeBalancerNodeSchema = zod_1.z.object({
nodebalancer_id: zod_1.z.coerce.number().describe('The ID of the NodeBalancer'),
config_id: zod_1.z.coerce.number().describe('The ID of the NodeBalancer port 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.coerce.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.coerce.number().describe('The ID of the NodeBalancer'),
config_id: zod_1.z.coerce.number().describe('The ID of the NodeBalancer port config'),
node_id: zod_1.z.coerce.number().describe('The ID of the node'),
});
// NodeBalancer Firewall schemas
exports.listNodeBalancerFirewallsSchema = zod_1.z.object({
nodeBalancerId: zod_1.z.coerce.number().describe('The ID of the NodeBalancer'),
...schemas_1.pagingParamsSchema.shape,
});
exports.updateNodeBalancerFirewallsSchema = zod_1.z.object({
nodeBalancerId: zod_1.z.coerce.number().describe('The ID of the NodeBalancer'),
ids: zod_1.z.array(zod_1.z.coerce.number()).describe('Array of firewall IDs to assign to this NodeBalancer'),
});
//# sourceMappingURL=schemas.js.map