fix: alignment api
This commit is contained in:
@@ -40,7 +40,7 @@ export const status: Record<string, StatusType> = {
|
||||
[InstanceStatusValueMap.InitializeFailed]: StatusMaps.error,
|
||||
[InstanceStatusValueMap.Initialized]: StatusMaps.transitioning,
|
||||
[InstanceStatusValueMap.Preparing]: StatusMaps.transitioning,
|
||||
[InstanceStatusValueMap.NotReady]: StatusMaps.warning,
|
||||
[InstanceStatusValueMap.NotReady]: StatusMaps.error,
|
||||
[InstanceStatusValueMap.Ready]: StatusMaps.success
|
||||
};
|
||||
|
||||
@@ -90,13 +90,19 @@ export const StorageModeValueMap = {
|
||||
// Constant SSH public key resource name used when SSH is enabled
|
||||
export const DEFAULT_SSH_PUBLIC_KEY_NAME = 'default';
|
||||
|
||||
const KI_TO_GI = 1024 * 1024;
|
||||
const GI_DIVISOR: Record<string, number> = {
|
||||
Ki: 1024 * 1024,
|
||||
Mi: 1024,
|
||||
Gi: 1
|
||||
};
|
||||
|
||||
export const convertKiToGi = (value?: string): string | undefined => {
|
||||
if (!value) return value;
|
||||
const match = /^(-?\d+(?:\.\d+)?)Ki$/.exec(value);
|
||||
const match = /^(-?\d+(?:\.\d+)?)(Ki|Mi|Gi|Ti)$/.exec(value);
|
||||
if (!match) return value;
|
||||
return `${_.round(Number(match[1]) / KI_TO_GI, 2)}Gi`;
|
||||
const [, num, unit] = match;
|
||||
if (unit === 'Ti') return `${_.round(Number(num), 2)}Ti`;
|
||||
return `${_.round(Number(num) / GI_DIVISOR[unit], 2)}Gi`;
|
||||
};
|
||||
|
||||
export const transformInstanceTypeResource = (
|
||||
|
||||
@@ -82,7 +82,12 @@ export interface ListItem extends Omit<FormData, 'metadata'> {
|
||||
};
|
||||
}
|
||||
|
||||
type Quality = `${number}Ki` | `${number}Gi`;
|
||||
type Quality =
|
||||
| `${number}`
|
||||
| `${number}Ki`
|
||||
| `${number}Mi`
|
||||
| `${number}Gi`
|
||||
| `${number}Ti`;
|
||||
|
||||
export interface InstanceTypeResource {
|
||||
capacity?: Quality;
|
||||
@@ -90,30 +95,42 @@ export interface InstanceTypeResource {
|
||||
remaining?: Quality;
|
||||
}
|
||||
|
||||
export interface InstanceTypeStatus {
|
||||
accelerator: InstanceTypeResource;
|
||||
cpu: InstanceTypeResource;
|
||||
localStorage: InstanceTypeResource;
|
||||
phase: string;
|
||||
phaseMessage?: string;
|
||||
ram: InstanceTypeResource;
|
||||
}
|
||||
|
||||
export interface InstanceTypeMetadata {
|
||||
name: string;
|
||||
namespace?: string;
|
||||
uid?: string;
|
||||
resourceVersion?: string;
|
||||
creationTimestamp?: string;
|
||||
generateName?: string;
|
||||
generation?: number;
|
||||
finalizers?: string[];
|
||||
}
|
||||
|
||||
export interface InstanceTypeSpec {
|
||||
acceleratable: boolean;
|
||||
group: string;
|
||||
computeCapability?: string;
|
||||
family?: string;
|
||||
manufacturer?: string;
|
||||
memory?: string;
|
||||
product?: string;
|
||||
sliced?: number;
|
||||
}
|
||||
|
||||
export interface InstanceTypeItem {
|
||||
apiVersion: string;
|
||||
kind: string;
|
||||
metadata: {
|
||||
name: string;
|
||||
namespace: string;
|
||||
};
|
||||
id: number;
|
||||
spec: {
|
||||
acceleratable: boolean;
|
||||
computeCapability?: string;
|
||||
family?: string;
|
||||
group: string;
|
||||
manufacturer?: string;
|
||||
memory?: string;
|
||||
product?: string;
|
||||
sliced?: number;
|
||||
};
|
||||
status: {
|
||||
accelerator: InstanceTypeResource;
|
||||
cpu: InstanceTypeResource;
|
||||
localStorage: InstanceTypeResource;
|
||||
phase: string;
|
||||
phaseMessage?: string;
|
||||
ram: InstanceTypeResource;
|
||||
};
|
||||
metadata: InstanceTypeMetadata;
|
||||
spec: InstanceTypeSpec;
|
||||
status: InstanceTypeStatus;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user