pterowrap
Version:
A node.js wrapper for Pterodactyl API
255 lines (254 loc) • 6.5 kB
TypeScript
export declare type method = "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
export declare type instanceType = "application" | "client";
export declare type requestParameters = {
include?: string[] | string;
filters?: {
key: string;
value: string | number | boolean;
}[];
sort?: {
by: string;
reverse?: boolean;
};
per_page?: number;
page?: number;
other?: {
key: string;
value: any;
}[];
};
export declare type callOptions = {
endpoint?: string;
parameters?: requestParameters;
method?: method;
body?: any;
};
export declare type createUserParams = {
external_id?: string;
email: string;
username: string;
first_name: string;
last_name: string;
password?: string;
root_admin?: boolean;
language?: string;
};
export declare type updateUserParams = {
external_id?: string;
email: string;
username: string;
first_name: string;
last_name: string;
language?: string;
password?: string;
root_admin?: boolean;
};
export declare type createNodeParams = {
name: string;
description?: string;
public?: boolean;
behind_proxy?: boolean;
location_id: number;
fqdn: string;
scheme: "http" | "https";
memory: number;
memory_overallocate: number;
disk: number;
disk_overallocate: number;
upload_size: number;
daemon_base?: string;
daemon_sftp: number;
daemon_listen: number;
maintenance_mode?: boolean;
};
export declare type updateNodeParams = {
name: string;
description?: string;
location_id: number;
public?: boolean;
fqdn: string;
scheme: "http" | "https";
behind_proxy: boolean;
maintenance_mode: boolean;
memory: number;
memory_overallocate: number;
disk: number;
disk_overallocate: number;
upload_size: number;
daemon_base?: string;
daemon_sftp: number;
daemon_listen: number;
};
export declare type createAllocationParams = {
ip: string;
alias?: string;
ports: string[];
};
export declare type createOrUpdateLocationParams = {
short: string;
long: string;
};
export declare type updateServerDetailsParams = {
name: string;
user: number;
external_id?: string;
description?: string;
};
export declare type updateServerBuildParams = {
allocation: number;
memory: number;
swap: number;
io: number;
cpu: number;
disk: number;
threads: number | null;
feature_limits: {
databases: number;
backups: number;
allocations?: number;
};
oom_killer?: boolean;
};
export declare type updateServerStartupParams = {
startup: string;
environment: {
[key: string]: any;
};
egg: number;
image: string;
skip_scripts: boolean;
};
export declare type createServerParams = {
external_id?: string;
name: string;
description?: string;
user: number;
egg: number;
docker_image?: string;
startup: string;
environment: {
[key: string]: any;
};
limits: {
memory: number;
swap: number;
io: number;
cpu: number;
disk: number;
};
feature_limits: {
allocations: number;
databases: number;
backups: number;
};
allocation?: {
default?: number;
additional?: number[];
};
deploy?: {
locations: number[];
deducared_ip: boolean;
port_range: string;
};
start_on_completion?: boolean;
skip_scripts?: boolean;
oom_killer?: boolean;
};
export declare type createApplicationDatabaseParams = {
database: string;
remote: string;
host: string;
};
export declare type websocketCredentials = {
token: string;
socket: string;
};
export declare type resourceUsage = {
current_state: string;
is_suspended: boolean;
resources: {
memory_bytes: number;
cpu_absolute: number;
disk_bytes: number;
netword_rx_bytes: number;
network_tx_bytes: number;
};
};
export declare type powerSignal = "start" | "stop" | "restart" | "kill";
export declare type createClientDatabaseParams = Omit<createApplicationDatabaseParams, "host">;
export declare type createScheduleParams = {
name: string;
is_active: boolean;
minute: string;
hour: string;
day_of_week: string;
day_of_month: string;
};
export declare type updateScheduleParams = {
name: string;
is_active?: boolean;
minute: string;
hour: string;
day_of_week: string;
day_of_month: string;
};
export declare type createOrUpdateTaskParams = {
action: "command" | "power" | "backup";
payload: string;
time_offset: number;
};
export declare enum Permission {
"websocket.connect" = 0,
"control.console" = 1,
"control.start" = 2,
"control.stop" = 3,
"control.restart" = 4,
"database.read" = 5,
"database.create" = 6,
"database.update" = 7,
"database.delete" = 8,
"database.view_password" = 9,
"schedule.read" = 10,
"schedule.create" = 11,
"schedule.update" = 12,
"schedule.delete" = 13,
"user.read" = 14,
"user.create" = 15,
"user.update" = 16,
"user.delete" = 17,
"backup.read" = 18,
"backup.create" = 19,
"backup.delete" = 20,
"backup.download" = 21,
"backup.restore" = 22,
"allocation.read" = 23,
"allocation.create" = 24,
"allocation.update" = 25,
"allocation.delete" = 26,
"file.read" = 27,
"file.read-content" = 28,
"file.create" = 29,
"file.update" = 30,
"file.delete" = 31,
"file.archive" = 32,
"file.sftp" = 33,
"startup.read" = 34,
"startup.update" = 35,
"startup.docker-image" = 36,
"settings.rename" = 37,
"settings.reinstall" = 38
}
export declare type createSubuserParams = {
email: string;
permissions: (Permission | string)[];
};
export declare type updateSubuserParams = Pick<createSubuserParams, "permissions">;
export declare type startupData = {
startup_command: string;
raw_startup_command: string;
docker_images: string[];
};
export declare type createClientApiKeyParams = {
description: string;
allowed_ips?: string[];
};