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.
166 lines
2.9 KiB
166 lines
2.9 KiB
type AnvilCPU = { |
|
allocated: number; |
|
cores: number; |
|
hosts: { |
|
[hostUuid: string]: { |
|
cores: number; |
|
model: string; |
|
name: string; |
|
threads: number; |
|
uuid: string; |
|
vendor: string; |
|
}; |
|
}; |
|
threads: number; |
|
}; |
|
|
|
type AnvilMemory = { |
|
allocated: string; |
|
reserved: string; |
|
total: string; |
|
}; |
|
|
|
type AnvilMemoryCalcable = { |
|
allocated: bigint; |
|
reserved: bigint; |
|
total: bigint; |
|
}; |
|
|
|
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[]; |
|
total_size: string; |
|
total_free: string; |
|
}; |
|
|
|
type AnvilStatusHost = { |
|
host_name: string; |
|
host_uuid: string; |
|
maintenance_mode: boolean; |
|
server_count: number; |
|
state: 'offline' | 'booted' | 'crmd' | 'in_ccm' | 'online'; |
|
state_message: string; |
|
state_percent: number; |
|
}; |
|
|
|
type AnvilStatus = { |
|
anvil_state: 'optimal' | 'not_ready' | 'degraded'; |
|
hosts: AnvilStatusHost[]; |
|
}; |
|
|
|
type AnvilListItem = { |
|
anvil_name: string; |
|
anvil_uuid: string; |
|
} & AnvilStatus; |
|
|
|
type AnvilList = { |
|
anvils: AnvilListItem[]; |
|
}; |
|
|
|
type APIAnvilOverviewArray = Array<{ |
|
anvilDescription: string; |
|
anvilName: string; |
|
anvilUUID: string; |
|
hosts: Array<{ |
|
hostName: string; |
|
hostType: string; |
|
hostUUID: string; |
|
}>; |
|
}>; |
|
|
|
type APIAnvilOverview = { |
|
description: string; |
|
hosts: { |
|
[uuid: string]: { |
|
name: string; |
|
type: string; |
|
uuid: string; |
|
}; |
|
}; |
|
name: string; |
|
uuid: string; |
|
}; |
|
|
|
type APIAnvilDetail = { |
|
hosts: { |
|
[uuid: string]: { |
|
maintenance: boolean; |
|
name: string; |
|
serverCount: number; |
|
state: AnvilStatusHost['state']; |
|
stateProgress: number; |
|
uuid: string; |
|
}; |
|
}; |
|
name: string; |
|
state: AnvilStatus['anvil_state']; |
|
uuid: string; |
|
}; |
|
|
|
type APIAnvilOverviewList = { |
|
[uuid: string]: APIAnvilOverview; |
|
}; |
|
|
|
type APIAnvilStorageGroupCalcable = { |
|
free: bigint; |
|
name: string; |
|
size: bigint; |
|
uuid: string; |
|
}; |
|
|
|
type APIAnvilSharedStorageOverview = { |
|
storageGroups: { |
|
[uuid: string]: APIAnvilStorageGroupCalcable; |
|
}; |
|
totalFree: bigint; |
|
totalSize: bigint; |
|
};
|
|
|