bunactyl
Version:
TypeScript SDK for Pterodactyl
108 lines • 2.81 kB
TypeScript
import type { SingleResponse, PaginatedResponse } from './common';
export interface ServerLimits {
memory: number;
swap: number;
disk: number;
io: number;
cpu: number;
threads: number | null;
}
export interface ServerFeatureLimits {
databases: number;
allocations: number;
backups: number;
}
export interface ServerContainer {
startup_command: string;
image: string;
installed: boolean;
environment: Record<string, string>;
}
export interface Server {
id: number;
external_id: string | null;
uuid: string;
identifier: string;
name: string;
description: string | null;
suspended: boolean;
limits: ServerLimits;
feature_limits: ServerFeatureLimits;
user: number;
node: number;
allocation: number;
nest: number;
egg: number;
pack: number | null;
container: ServerContainer;
updated_at: string;
created_at: string;
}
export interface ServerDatabase {
id: number;
server: number;
host: number;
database: string;
username: string;
remote: string;
max_connections: number;
created_at: string;
updated_at: string;
}
export interface ServerRelationships {
databases?: {
object: string;
data: {
object: string;
attributes: ServerDatabase;
}[];
};
}
export interface ServerAttributes extends Server {
relationships?: ServerRelationships;
}
export interface ServerResponse extends SingleResponse<ServerAttributes> {
}
export interface ServersResponse extends PaginatedResponse<ServerResponse> {
}
export interface CreateServerRequest {
name: string;
user: number;
egg: number;
docker_image: string;
startup: string;
environment: Record<string, string>;
limits: Partial<ServerLimits>;
feature_limits: Partial<ServerFeatureLimits>;
allocation: {
default: number;
additional: number[];
};
external_id?: string;
description?: string;
skip_scripts?: boolean;
oom_disabled?: boolean;
}
export interface UpdateServerDetails {
name?: string;
user?: number;
external_id?: string | null;
description?: string | null;
}
export interface UpdateServerBuild {
allocation?: number;
limits?: Partial<ServerLimits>;
feature_limits?: Partial<ServerFeatureLimits>;
add_allocations?: number[];
remove_allocations?: number[];
oom_disabled?: boolean;
}
export interface UpdateServerStartup {
startup?: string;
environment?: Record<string, string>;
egg?: number;
docker_image?: string;
skip_scripts?: boolean;
}
export type ServerInclude = 'allocations' | 'user' | 'subusers' | 'pack' | 'nest' | 'egg' | 'variables' | 'location' | 'node' | 'databases' | null;
//# sourceMappingURL=servers.d.ts.map