@takashito/linode-mcp-server
Version:
MCP server for Linode API
89 lines (88 loc) • 2.48 kB
TypeScript
import { AxiosInstance } from 'axios';
import { PaginationParams, PaginatedResponse } from './instances';
/**
* Interface for StackScript
*/
export interface StackScript {
id: number;
label: string;
script: string;
description: string;
images: string[];
deployments_active: number;
deployments_total: number;
is_public: boolean;
created: string;
updated: string;
username: string;
user_gravatar_id: string;
rev_note: string;
user_defined_fields: {
name: string;
label: string;
example: string;
default?: string;
oneOf?: string;
manyOf?: string;
}[];
mine: boolean;
}
/**
* Client for Linode StackScripts API
*/
export interface StackScriptsClient {
/**
* Get a list of StackScripts
* @param params - Pagination and filtering parameters
* @returns A paginated list of StackScripts
*/
getStackScripts(params?: PaginationParams & {
is_mine?: boolean;
is_public?: boolean;
}): Promise<PaginatedResponse<StackScript>>;
/**
* Get a specific StackScript by ID
* @param id - The ID of the StackScript
* @returns The StackScript object
*/
getStackScript(id: number): Promise<StackScript>;
/**
* Create a new StackScript
* @param data - The data for the new StackScript
* @returns The newly created StackScript
*/
createStackScript(data: {
script: string;
label: string;
images: string[];
description?: string;
is_public?: boolean;
rev_note?: string;
}): Promise<StackScript>;
/**
* Update an existing StackScript
* @param id - The ID of the StackScript to update
* @param data - The data to update
* @returns The updated StackScript object
*/
updateStackScript(id: number, data: {
script?: string;
label?: string;
images?: string[];
description?: string;
is_public?: boolean;
rev_note?: string;
}): Promise<StackScript>;
/**
* Delete a StackScript
* @param id - The ID of the StackScript to delete
* @returns Empty response on success
*/
deleteStackScript(id: number): Promise<{}>;
}
/**
* Create a new StackScripts client
* @param axios - The Axios instance for API calls
* @returns A new StackScripts client
*/
export declare function createStackScriptsClient(axios: AxiosInstance): StackScriptsClient;