UNPKG

@takashito/linode-mcp-server

Version:

MCP server for Linode API

66 lines (65 loc) 2 kB
import { AxiosInstance } from 'axios'; import { PaginatedResponse, PaginationParams } from './instances'; export interface VPC { id: number; label: string; description?: string; region: string; subnets: VPCSubnet[]; created: string; updated: string; tags?: string[]; } export interface VPCSubnet { id: number; label: string; ipv4: string; created: string; updated: string; tags?: string[]; } export interface CreateVPCRequest { label: string; region: string; description?: string; tags?: string[]; } export interface UpdateVPCRequest { label?: string; description?: string; tags?: string[]; } export interface CreateSubnetRequest { label: string; ipv4: string; tags?: string[]; } export interface UpdateSubnetRequest { label?: string; tags?: string[]; } export interface VPCIP { address: string; region: string; type: string; subnet_id: number; linode_id?: number; gateway?: boolean; vpc_id: number; created: string; updated: string; } export interface VPCsClient { getVPCs: (params?: PaginationParams) => Promise<PaginatedResponse<VPC>>; getVPC: (id: number) => Promise<VPC>; createVPC: (data: CreateVPCRequest) => Promise<VPC>; updateVPC: (id: number, data: UpdateVPCRequest) => Promise<VPC>; deleteVPC: (id: number) => Promise<void>; getSubnets: (vpcId: number, params?: PaginationParams) => Promise<PaginatedResponse<VPCSubnet>>; getSubnet: (vpcId: number, subnetId: number) => Promise<VPCSubnet>; createSubnet: (vpcId: number, data: CreateSubnetRequest) => Promise<VPCSubnet>; updateSubnet: (vpcId: number, subnetId: number, data: UpdateSubnetRequest) => Promise<VPCSubnet>; deleteSubnet: (vpcId: number, subnetId: number) => Promise<void>; getVPCIPs: (vpcId: number, params?: PaginationParams) => Promise<PaginatedResponse<VPCIP>>; } export declare function createVPCsClient(axios: AxiosInstance): VPCsClient;