Local modifications to ClusterLabs/Anvil by Alteeve
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

89 lines
1.6 KiB

type AnvilCPU = {
allocated: number;
cores: number;
threads: number;
};
type AnvilMemory = {
allocated: string;
reserved: string;
total: string;
};
type AnvilNetworkBondLink = {
link_name: string;
link_uuid: string;
link_speed: number;
link_state: 'optimal' | 'degraded' | 'down';
is_active: boolean;
};
type AnvilNetworkHostBond = {
bond_name: string;
bond_uuid: string;
links: AnvilNetworkBondLink[];
};
type AnvilNetworkHosts = {
host_name: string;
host_uuid: string;
bonds: AnvilNetworkHostBond[];
};
type AnvilNetwork = {
hosts: AnvilNetworkHosts[];
};
type AnvilServer = {
anvilName: string;
anvilUUID: string;
serverName: string;
serverUUID: string;
serverState:
| 'running'
| 'idle'
| 'paused'
| 'in shutdown'
| 'shut off'
| 'crashed'
| 'pmsuspended'
| 'migrating';
serverHostUUID: string;
};
type AnvilServers = AnvilServer[];
type AnvilSharedStorageGroup = {
storage_group_free: string;
storage_group_name: string;
storage_group_total: string;
storage_group_uuid: string;
};
type AnvilSharedStorage = {
storage_groups: AnvilSharedStorageGroup[];
};
type AnvilStatusHost = {
state: 'offline' | 'booted' | 'crmd' | 'in_ccm' | 'online';
host_uuid: string;
host_name: string;
state_percent: number;
state_message: string;
removable: boolean;
};
type AnvilStatus = {
anvil_state: 'optimal' | 'not_ready' | 'degraded';
hosts: AnvilStatusHost[];
};
type AnvilListItem = {
anvil_name: string;
anvil_uuid: string;
} & AnvilStatus;
type AnvilList = {
anvils: AnvilListItem[];
};