Skip to content

Commit 6b625cc

Browse files
committed
chore: add vdisk data types
1 parent 87be45d commit 6b625cc

File tree

1 file changed

+121
-0
lines changed

1 file changed

+121
-0
lines changed

src/types/api/storage.ts

Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,3 +52,124 @@ export interface TPDiskStateInfo {
5252
Overall?: EFlag;
5353
SerialNumber?: string;
5454
}
55+
56+
export enum EVDiskState {
57+
Initial = 'Initial',
58+
LocalRecoveryError = 'LocalRecoveryError',
59+
SyncGuidRecovery = 'SyncGuidRecovery',
60+
SyncGuidRecoveryError = 'SyncGuidRecoveryError',
61+
OK = 'OK',
62+
PDiskError = 'PDiskError',
63+
}
64+
65+
interface TRank {
66+
/**
67+
* uint32
68+
* Rank in percents; 0-100% is good; >100% is bad.
69+
* Formula for rank calculation is the following:
70+
* Rank = actual_value / max_allowed_value * 100
71+
*/
72+
RankPercent?: string;
73+
74+
/**
75+
* Flag is the Rank transformed to something simple
76+
* to understand: Green, Yellow or Red
77+
*/
78+
Flag?: EFlag;
79+
}
80+
81+
interface TVDiskSatisfactionRank {
82+
FreshRank?: TRank;
83+
LevelRank?: TRank;
84+
}
85+
86+
interface TVDiskID {
87+
/** uint32 */
88+
GroupID?: string;
89+
/** uint32 */
90+
GroupGeneration?: string;
91+
/** uint32 */
92+
Ring?: string;
93+
/** uint32 */
94+
Domain?: string;
95+
/** uint32 */
96+
VDisk?: string;
97+
}
98+
99+
export interface TVDiskStateInfo {
100+
VDiskId?: TVDiskID;
101+
/** uint64 */
102+
CreateTime?: string;
103+
/** uint64 */
104+
ChangeTime?: string;
105+
/** uint32 */
106+
PDiskId?: string;
107+
/** uint32 */
108+
VDiskSlotId?: string;
109+
/** uint64 */
110+
Guid?: string;
111+
/** uint64 */
112+
Kind?: string;
113+
/** uint32 */
114+
NodeId?: string;
115+
/** uint32 */
116+
Count?: string;
117+
118+
Overall?: EFlag;
119+
120+
/** Current state of VDisk */
121+
VDiskState?: EVDiskState;
122+
/** Disk space flags */
123+
DiskSpace?: EFlag;
124+
/** Compaction satisfaction rank */
125+
SatisfactionRank?: TVDiskSatisfactionRank;
126+
/** Is VDisk replicated? (i.e. contains all blobs it must have) */
127+
Replicated?: boolean;
128+
/** Does this VDisk has any yet unreplicated phantom-like blobs? */
129+
UnreplicatedPhantoms?: boolean;
130+
/** The same for the non-phantom-like blobs. */
131+
UnreplicatedNonPhantoms?: boolean;
132+
/**
133+
* uint64
134+
* How many unsynced VDisks from current BlobStorage group we see
135+
*/
136+
UnsyncedVDisks?: string;
137+
/**
138+
* uint64
139+
* How much this VDisk have allocated on corresponding PDisk
140+
*/
141+
AllocatedSize?: string;
142+
/**
143+
* uint64
144+
* How much space is available for VDisk corresponding to PDisk's hard space limits
145+
*/
146+
AvailableSize?: string;
147+
/** Does this disk has some unreadable but not yet restored blobs? */
148+
HasUnreadableBlobs?: boolean;
149+
/** fixed64 */
150+
IncarnationGuid?: string;
151+
DonorMode?: boolean;
152+
/**
153+
* fixed64
154+
* VDisk actor instance guid
155+
*/
156+
InstanceGuid?: string;
157+
Donors?: TVDiskStateInfo[];
158+
159+
/** VDisk (Skeleton) Front Queue Status */
160+
FrontQueues?: EFlag;
161+
162+
/** VDisk storage pool label */
163+
StoragePoolName?: string;
164+
165+
/**
166+
* uint64
167+
* Read bytes per second from PDisk for TEvVGet blobs only
168+
*/
169+
ReadThroughput?: string;
170+
/**
171+
* uint64
172+
* Write bytes per second to PDisk for TEvVPut blobs and replication bytes only
173+
*/
174+
WriteThroughput?: string;
175+
}

0 commit comments

Comments
 (0)