UNPKG

@takashito/linode-mcp-server

Version:

MCP server for Linode API

41 lines (40 loc) 1.51 kB
import { AxiosInstance } from 'axios'; import { PaginatedResponse, PaginationParams } from './instances'; export interface PlacementGroup { id: number; label: string; placement_group_type: string; placement_group_policy: string; region: string; linodes: number[]; tags?: string[]; created: string; updated: string; } export interface CreatePlacementGroupRequest { label: string; placement_group_type: 'anti_affinity:local'; placement_group_policy?: 'strict' | 'flexible'; region: string; tags?: string[]; } export interface UpdatePlacementGroupRequest { label: string; tags?: string[]; } export interface AssignInstancesRequest { linodes: number[]; } export interface UnassignInstancesRequest { linodes: number[]; } export interface PlacementClient { getPlacementGroups: (params?: PaginationParams) => Promise<PaginatedResponse<PlacementGroup>>; getPlacementGroup: (id: number) => Promise<PlacementGroup>; createPlacementGroup: (data: CreatePlacementGroupRequest) => Promise<PlacementGroup>; updatePlacementGroup: (id: number, data: UpdatePlacementGroupRequest) => Promise<PlacementGroup>; deletePlacementGroup: (id: number) => Promise<void>; assignInstances: (id: number, data: AssignInstancesRequest) => Promise<PlacementGroup>; unassignInstances: (id: number, data: UnassignInstancesRequest) => Promise<PlacementGroup>; } export declare function createPlacementClient(axios: AxiosInstance): PlacementClient;