ydb-embedded-ui 4.10.0 → 4.10.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/components/InfoViewer/formatters/schema.ts +3 -1
  3. package/dist/components/TableWithControlsLayout/TableWithControlsLayout.scss +32 -0
  4. package/dist/components/TableWithControlsLayout/TableWithControlsLayout.tsx +43 -0
  5. package/dist/containers/AsideNavigation/AsideNavigation.tsx +2 -2
  6. package/dist/containers/Cluster/Cluster.scss +4 -5
  7. package/dist/containers/Cluster/Cluster.tsx +3 -22
  8. package/dist/containers/Cluster/ClusterInfo/ClusterInfo.scss +4 -0
  9. package/dist/containers/Cluster/ClusterInfo/ClusterInfo.tsx +7 -0
  10. package/dist/containers/Cluster/ClusterInfoSkeleton/ClusterInfoSkeleton.tsx +1 -1
  11. package/dist/containers/Cluster/utils.tsx +0 -11
  12. package/dist/containers/Header/Header.scss +1 -5
  13. package/dist/containers/Nodes/Nodes.scss +1 -24
  14. package/dist/containers/Nodes/Nodes.tsx +28 -38
  15. package/dist/containers/Storage/Storage.scss +1 -14
  16. package/dist/containers/Storage/Storage.tsx +15 -18
  17. package/dist/containers/Storage/StorageTypeFilter/StorageTypeFilter.tsx +3 -1
  18. package/dist/containers/Storage/{StorageVisibleEntityFilter/StorageVisibleEntityFilter.tsx → StorageVisibleEntitiesFilter/StorageVisibleEntitiesFilter.tsx} +4 -2
  19. package/dist/containers/Tenant/Diagnostics/Diagnostics.scss +6 -2
  20. package/dist/containers/Tenant/ObjectSummary/ObjectSummary.scss +3 -12
  21. package/dist/containers/Tenant/ObjectSummary/ObjectSummary.tsx +2 -7
  22. package/dist/containers/Tenant/Query/i18n/en.json +1 -1
  23. package/dist/containers/Tenant/Query/i18n/ru.json +1 -1
  24. package/dist/containers/Tenants/Tenants.scss +1 -13
  25. package/dist/containers/Tenants/Tenants.tsx +17 -24
  26. package/dist/store/reducers/nodes/nodes.ts +4 -112
  27. package/dist/store/reducers/nodes/selectors.ts +74 -0
  28. package/dist/store/reducers/nodes/utils.ts +46 -0
  29. package/dist/store/reducers/storage/selectors.ts +1 -1
  30. package/dist/types/api/compute.ts +27 -2
  31. package/dist/types/api/nodes.ts +12 -1
  32. package/dist/types/api/schema/cdcStream.ts +32 -0
  33. package/dist/types/api/schema/columnEntity.ts +138 -0
  34. package/dist/types/api/schema/externalDataSource.ts +24 -0
  35. package/dist/types/api/schema/externalTable.ts +14 -0
  36. package/dist/types/api/schema/index.ts +10 -0
  37. package/dist/types/api/schema/persQueueGroup.ts +191 -0
  38. package/dist/types/api/schema/schema.ts +299 -0
  39. package/dist/types/api/schema/shared.ts +42 -0
  40. package/dist/types/api/schema/table.ts +616 -0
  41. package/dist/types/api/schema/tableIndex.ts +33 -0
  42. package/package.json +1 -1
  43. package/dist/assets/icons/versions.svg +0 -3
  44. package/dist/types/api/schema.ts +0 -1326
@@ -0,0 +1,24 @@
1
+ import type {TPathID} from './shared';
2
+
3
+ export interface TExternalDataSourceDescription {
4
+ Name?: string;
5
+ PathId?: TPathID;
6
+ /** uint64 */
7
+ Version?: string;
8
+ SourceType?: string;
9
+ Location?: string;
10
+ Installation?: string;
11
+ Auth?: TAuth;
12
+ }
13
+
14
+ interface TAuth {
15
+ None?: NoneAuth;
16
+ ServiceAccount?: ServiceAccountAuth;
17
+ }
18
+
19
+ interface NoneAuth {}
20
+
21
+ interface ServiceAccountAuth {
22
+ Id?: string;
23
+ SecretName?: string;
24
+ }
@@ -0,0 +1,14 @@
1
+ import type {TColumnDescription, TPathID} from './shared';
2
+
3
+ export interface TExternalTableDescription {
4
+ Name?: string;
5
+ PathId?: TPathID;
6
+ /** uint64 */
7
+ Version?: string;
8
+ SourceType?: string;
9
+ DataSourcePath?: string;
10
+ Location?: string;
11
+ Columns?: TColumnDescription[];
12
+ /** bytes */
13
+ Content?: unknown;
14
+ }
@@ -0,0 +1,10 @@
1
+ export * from './schema';
2
+ export * from './shared';
3
+
4
+ export * from './cdcStream';
5
+ export * from './columnEntity';
6
+ export * from './externalDataSource';
7
+ export * from './externalTable';
8
+ export * from './persQueueGroup';
9
+ export * from './table';
10
+ export * from './tableIndex';
@@ -0,0 +1,191 @@
1
+ export interface TPersQueueGroupDescription {
2
+ Name: string;
3
+ /** uint64 */
4
+ PathId?: string;
5
+ TotalGroupCount: number;
6
+
7
+ PartitionsToAdd?: TPartitionToAdd[];
8
+ PartitionsToDelete?: number[];
9
+ NextPartitionId?: number;
10
+ PartitionPerTablet?: number;
11
+ PQTabletConfig: TPQTabletConfig;
12
+ Partitions?: TPartition[];
13
+ /** uint64 */
14
+ AlterVersion?: string;
15
+ /** uint64 */
16
+ BalancerTabletID?: string;
17
+
18
+ PartitionBoundaries?: unknown;
19
+
20
+ BootstrapConfig?: TBootstrapConfig;
21
+ }
22
+
23
+ export interface TPQTabletConfig {
24
+ /** uint64 */
25
+ CacheSize?: string;
26
+ PartitionConfig: TPQPartitionConfig;
27
+ /** @deprecated use Partitions */
28
+ PartitionIds?: number[];
29
+ TopicName?: string;
30
+ Version?: number;
31
+ LocalDC?: boolean;
32
+ RequireAuthWrite?: boolean;
33
+ RequireAuthRead?: boolean;
34
+ Producer?: string;
35
+ Ident?: string;
36
+ Topic?: string;
37
+ DC?: string;
38
+
39
+ ReadRules?: string[];
40
+ /** uint64[] */
41
+ ReadFromTimestampsMs?: number[];
42
+ /** uint64[] */
43
+ ConsumerFormatVersions?: number[];
44
+
45
+ ConsumerCodecs?: TCodecs[];
46
+ ReadRuleServiceTypes?: string;
47
+
48
+ /** uint64 */
49
+ FormatVersion?: string;
50
+ Codecs?: TCodecs;
51
+
52
+ /** uint64[] */
53
+ ReadRuleVersions?: string[];
54
+ /** uint64[] */
55
+ ReadRuleGenerations?: string[];
56
+
57
+ TopicPath?: string;
58
+
59
+ YcCloudId?: string;
60
+ YcFolderId?: string;
61
+ YdbDatabaseId?: string;
62
+ YdbDatabasePath?: string;
63
+ FederationAccount?: string;
64
+
65
+ PartitionKeySchema?: TKeyComponentSchema[];
66
+
67
+ Partitions?: TPartition[];
68
+
69
+ MeteringMode?: EMeteringMode;
70
+ }
71
+
72
+ export interface TPQPartitionConfig {
73
+ MaxCountInPartition?: number;
74
+ /** int64 */
75
+ MaxSizeInPartition?: string;
76
+ LifetimeSeconds: number;
77
+ /** uint64 */
78
+ StorageLimitBytes?: string;
79
+
80
+ ImportantClientId?: string[];
81
+ LowWatermark?: number;
82
+ SourceIdLifetimeSeconds?: number;
83
+ SourceIdMaxCounts?: number;
84
+
85
+ /** uint64 */
86
+ WriteSpeedInBytesPerSecond?: string;
87
+ /** uint64 */
88
+ BurstSize?: string;
89
+
90
+ ReadQuota?: TReadQuota[];
91
+ /** uint64 */
92
+ MaxWriteInflightSize?: string;
93
+ /** uint64 */
94
+ BorderWriteInflightSize?: string;
95
+
96
+ NumChannels?: number;
97
+
98
+ TotalPartitions?: number;
99
+
100
+ ExplicitChannelProfiles?: TChannelProfile[];
101
+
102
+ MirrorFrom?: TMirrorPartitionConfig;
103
+ }
104
+
105
+ interface TMirrorPartitionConfig {
106
+ Endpoint?: string;
107
+ EndpointPort?: number;
108
+ Topic?: string;
109
+ Consumer?: string;
110
+ /** uint64 */
111
+ ReadFromTimestampsMs?: string;
112
+ Credentials?: TCredentials;
113
+ Database?: string;
114
+ UseSecureConnection?: boolean;
115
+ SyncWriteTime?: boolean;
116
+ }
117
+
118
+ interface TChannelProfile {
119
+ PoolKind?: string;
120
+ /** uint64 */
121
+ Size?: string;
122
+ ReadIops?: number;
123
+ ReadBandwidth?: number;
124
+ WriteIops?: number;
125
+ WriteBandwidth?: number;
126
+ }
127
+
128
+ interface IamCredentials {
129
+ Endpoint?: string;
130
+ ServiceAccountKey?: string;
131
+ }
132
+
133
+ interface TCredentials {
134
+ OauthToken?: string;
135
+ JwtParams?: string;
136
+ Iam?: IamCredentials;
137
+ }
138
+
139
+ interface TBootstrapConfig {
140
+ ExplicitMessageGroups?: TMessageGroup[];
141
+ }
142
+
143
+ interface TMessageGroup {
144
+ // Id of message group (SourceId)
145
+ Id?: string;
146
+ // Range of the key to which it is allowed to write.
147
+ KeyRange?: TPartitionKeyRange;
148
+ }
149
+
150
+ interface TKeyComponentSchema {
151
+ Name?: string;
152
+ TypeId?: number;
153
+ }
154
+
155
+ interface TReadQuota {
156
+ ClientId?: string;
157
+ /** uint64 */
158
+ SpeedInBytesPerSecond?: string;
159
+ /** uint64 */
160
+ BurstSize?: string;
161
+ }
162
+
163
+ interface TPartition {
164
+ PartitionId?: number;
165
+ /** uint64 */
166
+ TabletId?: string;
167
+ KeyRange?: TPartitionKeyRange;
168
+ }
169
+
170
+ interface TPartitionToAdd {
171
+ PartitionId?: number;
172
+ GroupId?: number;
173
+ }
174
+
175
+ interface TCodecs {
176
+ /** int64 */
177
+ Ids?: string[];
178
+ Codecs?: string[];
179
+ }
180
+
181
+ interface TPartitionKeyRange {
182
+ // Inclusive left border. Emptiness means -inf.
183
+ FromBound?: string;
184
+ // Exclusive right border. Emptiness means +inf.
185
+ ToBound?: string;
186
+ }
187
+
188
+ export enum EMeteringMode {
189
+ METERING_MODE_RESERVED_CAPACITY = 'METERING_MODE_RESERVED_CAPACITY',
190
+ METERING_MODE_REQUEST_UNITS = 'METERING_MODE_REQUEST_UNITS',
191
+ }
@@ -0,0 +1,299 @@
1
+ import type {TMetrics} from '../tenant';
2
+
3
+ import type {TCdcStreamDescription} from './cdcStream';
4
+ import type {TColumnStoreDescription, TColumnTableDescription} from './columnEntity';
5
+ import type {TExternalDataSourceDescription} from './externalDataSource';
6
+ import type {TExternalTableDescription} from './externalTable';
7
+ import type {TPersQueueGroupDescription} from './persQueueGroup';
8
+ import type {TTableDescription, TTableStats} from './table';
9
+ import type {TIndexDescription} from './tableIndex';
10
+
11
+ /**
12
+ * source: https://github.com/ydb-platform/ydb/blob/main/ydb/core/protos/flat_tx_scheme.proto
13
+ */
14
+ export interface TEvDescribeSchemeResult {
15
+ Status?: EStatus;
16
+ Reason?: string;
17
+ Path?: string;
18
+ PathDescription?: TPathDescription;
19
+ /** fixed64 */
20
+ PathOwner?: string;
21
+ /** fixed64 */
22
+ PathId?: string;
23
+
24
+ LastExistedPrefixPath?: string;
25
+ /** fixed64 */
26
+ LastExistedPrefixPathId?: string;
27
+ LastExistedPrefixDescription?: TPathDescription;
28
+ /** fixed64 */
29
+ PathOwnerId?: string;
30
+ }
31
+
32
+ enum EStatus {
33
+ StatusSuccess = 'StatusSuccess',
34
+ StatusAccepted = 'StatusAccepted',
35
+ StatusPathDoesNotExist = 'StatusPathDoesNotExist',
36
+ StatusPathIsNotDirectory = 'StatusPathIsNotDirectory',
37
+ StatusAlreadyExists = 'StatusAlreadyExists',
38
+ StatusSchemeError = 'StatusSchemeError',
39
+ StatusNameConflict = 'StatusNameConflict',
40
+ StatusInvalidParameter = 'StatusInvalidParameter',
41
+ StatusMultipleModifications = 'StatusMultipleModifications',
42
+ StatusReadOnly = 'StatusReadOnly',
43
+ StatusTxIdNotExists = 'StatusTxIdNotExists',
44
+ StatusTxIsNotCancellable = 'StatusTxIsNotCancellable',
45
+ StatusAccessDenied = 'StatusAccessDenied',
46
+ StatusNotAvailable = 'StatusNotAvailable',
47
+ StatusPreconditionFailed = 'StatusPreconditionFailed',
48
+ StatusRedirectDomain = 'StatusRedirectDomain',
49
+ StatusQuotaExceeded = 'StatusQuotaExceeded',
50
+ StatusResourceExhausted = 'StatusResourceExhausted',
51
+ }
52
+
53
+ /**
54
+ * source: https://github.com/ydb-platform/ydb/blob/main/ydb/core/protos/flat_scheme_op.proto
55
+ *
56
+ * incomplete interface, only currently used fields are covered
57
+ */
58
+ export interface TPathDescription {
59
+ /** info about the path itself */
60
+ Self?: TDirEntry;
61
+ DomainDescription?: TDomainDescription;
62
+
63
+ // for directory
64
+ Children?: TDirEntry[];
65
+
66
+ // for table
67
+ Table?: TTableDescription;
68
+ TableStats?: TTableStats;
69
+ TabletMetrics?: TMetrics;
70
+ TablePartitions?: TTablePartition[];
71
+ TablePartitionStats?: TTableStats[];
72
+ TablePartitionMetrics?: TMetrics[];
73
+
74
+ ColumnStoreDescription?: TColumnStoreDescription;
75
+ ColumnTableDescription?: TColumnTableDescription;
76
+
77
+ TableIndex?: TIndexDescription;
78
+
79
+ CdcStreamDescription?: TCdcStreamDescription;
80
+ PersQueueGroup?: TPersQueueGroupDescription;
81
+
82
+ ExternalTableDescription?: TExternalTableDescription;
83
+ ExternalDataSourceDescription?: TExternalDataSourceDescription;
84
+ }
85
+
86
+ export interface TDirEntry {
87
+ Name?: string;
88
+ /** uint64 */
89
+ PathId?: string;
90
+ /** uint64 */
91
+ SchemeshardId?: string;
92
+ PathType?: EPathType;
93
+ CreateFinished?: boolean;
94
+ /** uint64 */
95
+ CreateTxId?: string;
96
+ /** uint64 */
97
+ CreateStep?: string;
98
+ /** uint64 */
99
+ ParentPathId?: string;
100
+ PathState?: EPathState;
101
+ Owner?: string;
102
+ ACL?: string;
103
+ EffectiveACL?: string;
104
+ /** uint64 */
105
+ PathVersion?: string;
106
+ PathSubType?: EPathSubType;
107
+ Version?: TPathVersion;
108
+ }
109
+
110
+ interface TDomainDescription {
111
+ ProcessingParams?: TProcessingParams;
112
+
113
+ DomainKey?: TDomainKey;
114
+
115
+ StoragePools?: TStoragePool[];
116
+
117
+ /** uint64 */
118
+ PathsInside?: string;
119
+ /** uint64 */
120
+ PathsLimit?: string;
121
+ /** uint64 */
122
+ ShardsInside?: string;
123
+ /** uint64 */
124
+ ShardsLimit?: string;
125
+
126
+ ResourcesDomainKey?: TDomainKey;
127
+
128
+ DiskSpaceUsage?: TDiskSpaceUsage;
129
+
130
+ /** uint64 */
131
+ PQPartitionsInside?: string;
132
+ /** uint64 */
133
+ PQPartitionsLimit?: string;
134
+
135
+ DomainState?: TDomainState;
136
+
137
+ DeclaredSchemeQuotas?: TSchemeQuotas;
138
+ DatabaseQuotas?: DatabaseQuotas;
139
+ SecurityState?: TSecurityState;
140
+ }
141
+
142
+ interface TDomainKey {
143
+ /** fixed64 */
144
+ SchemeShard?: string;
145
+ /** fixed64 */
146
+ PathId?: string;
147
+ }
148
+
149
+ interface TProcessingParams {
150
+ Version?: number;
151
+ /** uint64 */
152
+ PlanResolution?: string;
153
+ /** fixed64 */
154
+ Coordinators?: string[];
155
+ /** uint64 */
156
+ TimeCastBucketsPerMediator?: string;
157
+ /** fixed64 */
158
+ Mediators?: string[];
159
+ /** fixed64 */
160
+ SchemeShard?: string;
161
+ /** fixed64 */
162
+ Hive?: string;
163
+ /** fixed64 */
164
+ SysViewProcessor?: string;
165
+ }
166
+
167
+ interface TDomainState {
168
+ DiskQuotaExceeded?: boolean;
169
+ }
170
+
171
+ interface TDiskSpaceUsage {
172
+ Tables?: TTables;
173
+ }
174
+
175
+ interface TTables {
176
+ /** uint64 */
177
+ TotalSize?: string;
178
+ /** uint64 */
179
+ DataSize?: string;
180
+ /** uint64 */
181
+ IndexSize?: string;
182
+ }
183
+
184
+ interface TStoragePool {
185
+ Name?: string;
186
+ Kind?: string;
187
+ }
188
+
189
+ interface TSchemeQuotas {
190
+ SchemeQuotas?: TSchemeQuota[];
191
+ }
192
+
193
+ interface TSchemeQuota {
194
+ /** double */
195
+ BucketSize?: number;
196
+ /** uint64 */
197
+ BucketSeconds?: string;
198
+ }
199
+
200
+ interface TSecurityState {
201
+ PublicKeys?: TPublicKey[];
202
+ Sids?: TSid[];
203
+ Audience: string;
204
+ }
205
+
206
+ interface TPublicKey {
207
+ /** uint64 */
208
+ KeyId: string;
209
+ KeyDataPEM: string;
210
+ /** uint64 */
211
+ ExpiresAt: string;
212
+ }
213
+
214
+ interface TSid {
215
+ Name: string;
216
+ Type: SidType;
217
+
218
+ Hash: string;
219
+ Members?: string[];
220
+ }
221
+
222
+ enum SidType {
223
+ 'UNKNOWN' = 'UNKNOWN',
224
+ 'USER' = 'USER',
225
+ 'GROUP' = 'GROUP',
226
+ }
227
+
228
+ interface DatabaseQuotas {
229
+ /** uint64 */
230
+ // eslint-disable-next-line camelcase
231
+ data_size_hard_quota: string;
232
+
233
+ /** uint64 */
234
+ // eslint-disable-next-line camelcase
235
+ data_size_soft_quota: string;
236
+
237
+ /** uint64 */
238
+ // eslint-disable-next-line camelcase
239
+ data_stream_shards_quota: string;
240
+
241
+ /** uint64 */
242
+ // eslint-disable-next-line camelcase
243
+ data_stream_reserved_storage_quota: string;
244
+
245
+ // eslint-disable-next-line camelcase
246
+ ttl_min_run_internal_seconds: number;
247
+ }
248
+
249
+ // incomplete
250
+ export enum EPathType {
251
+ EPathTypeInvalid = 'EPathTypeInvalid',
252
+ EPathTypeDir = 'EPathTypeDir',
253
+ EPathTypeTable = 'EPathTypeTable',
254
+ EPathTypePersQueueGroup = 'EPathTypePersQueueGroup',
255
+ EPathTypeSubDomain = 'EPathTypeSubDomain',
256
+
257
+ EPathTypeTableIndex = 'EPathTypeTableIndex',
258
+ EPathTypeExtSubDomain = 'EPathTypeExtSubDomain',
259
+
260
+ EPathTypeColumnStore = 'EPathTypeColumnStore',
261
+ EPathTypeColumnTable = 'EPathTypeColumnTable',
262
+ EPathTypeCdcStream = 'EPathTypeCdcStream',
263
+ }
264
+
265
+ export enum EPathSubType {
266
+ EPathSubTypeEmpty = 'EPathSubTypeEmpty',
267
+ EPathSubTypeSyncIndexImplTable = 'EPathSubTypeSyncIndexImplTable',
268
+ EPathSubTypeAsyncIndexImplTable = 'EPathSubTypeAsyncIndexImplTable',
269
+ EPathSubTypeStreamImpl = 'EPathSubTypeStreamImpl',
270
+ }
271
+
272
+ enum EPathState {
273
+ EPathStateNotExist = 'EPathStateNotExist',
274
+ EPathStateNoChanges = 'EPathStateNoChanges',
275
+ EPathStateCreate = 'EPathStateCreate',
276
+ EPathStateAlter = 'EPathStateAlter',
277
+ EPathStateDrop = 'EPathStateDrop',
278
+ EPathStateCopying = 'EPathStateCopying',
279
+ EPathStateBackup = 'EPathStateBackup',
280
+ EPathStateUpgrade = 'EPathStateUpgrade',
281
+ EPathStateMigrated = 'EPathStateMigrated',
282
+ EPathStateRestore = 'EPathStateRestore',
283
+ EPathStateMoving = 'EPathStateMoving',
284
+ }
285
+
286
+ // incomplete
287
+ interface TPathVersion {
288
+ /** uint64 */
289
+ GeneralVersion?: string;
290
+ }
291
+
292
+ interface TTablePartition {
293
+ /** bytes */
294
+ EndOfRangeKeyPrefix?: unknown;
295
+ IsPoint?: boolean;
296
+ IsInclusive?: boolean;
297
+ /** uint64 */
298
+ DatashardId?: string;
299
+ }
@@ -0,0 +1,42 @@
1
+ export interface TStorageSettings {
2
+ PreferredPoolKind?: string;
3
+ AllowOtherKinds?: boolean;
4
+ }
5
+
6
+ export interface TPathID {
7
+ /** fixed64 */
8
+ OwnerId?: string;
9
+ /** uint64 */
10
+ LocalId?: string;
11
+ }
12
+
13
+ export interface TTypeInfo {
14
+ PgTypeId?: number;
15
+ }
16
+
17
+ export interface TColumnDescription {
18
+ Name?: string;
19
+ Type?: string;
20
+ TypeId?: number;
21
+ TypeInfo?: TTypeInfo;
22
+ Id?: number;
23
+ Family?: number;
24
+ FamilyName?: string;
25
+ /** Path to sequence for default values */
26
+ DefaultFromSequence?: string;
27
+ NotNull?: boolean;
28
+ }
29
+
30
+ export enum EColumnCodec {
31
+ ColumnCodecPlain,
32
+ ColumnCodecLZ4,
33
+ ColumnCodecZSTD,
34
+ }
35
+
36
+ export enum EUnit {
37
+ UNIT_AUTO = 'UNIT_AUTO',
38
+ UNIT_SECONDS = 'UNIT_SECONDS',
39
+ UNIT_MILLISECONDS = 'UNIT_MILLISECONDS',
40
+ UNIT_MICROSECONDS = 'UNIT_MICROSECONDS',
41
+ UNIT_NANOSECONDS = 'UNIT_NANOSECONDS',
42
+ }