ydb-embedded-ui 5.3.0 → 5.5.0
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/components/DiskPageTitle/DiskPageTitle.d.ts +11 -0
- package/dist/components/DiskPageTitle/DiskPageTitle.js +8 -0
- package/dist/components/DiskPageTitle/DiskPageTitle.scss +17 -0
- package/dist/{containers/Storage → components}/DiskStateProgressBar/DiskStateProgressBar.js +3 -3
- package/dist/components/ErrorBoundary/ErrorBoundary.d.ts +1 -1
- package/dist/components/GroupInfo/GroupInfo.d.ts +8 -0
- package/dist/components/GroupInfo/GroupInfo.js +28 -0
- package/dist/components/GroupInfo/i18n/en.json +6 -0
- package/dist/components/GroupInfo/i18n/index.d.ts +1 -0
- package/dist/components/GroupInfo/i18n/index.js +4 -0
- package/dist/components/MetricChart/MetricChart.js +12 -5
- package/dist/components/MetricChart/colors.d.ts +2 -0
- package/dist/components/MetricChart/colors.js +21 -0
- package/dist/components/MetricChart/getDefaultDataFormatter.js +9 -0
- package/dist/components/MetricChart/types.d.ts +11 -2
- package/dist/components/MonacoEditor/MonacoEditor.d.ts +2 -0
- package/dist/components/MonacoEditor/MonacoEditor.js +7 -0
- package/dist/{containers/Storage → components}/PDiskPopup/PDiskPopup.d.ts +3 -3
- package/dist/{containers/Storage → components}/PDiskPopup/PDiskPopup.js +6 -5
- package/dist/components/PageMeta/PageMeta.d.ts +2 -1
- package/dist/components/PageMeta/PageMeta.js +9 -2
- package/dist/components/PageMeta/PageMeta.scss +9 -0
- package/dist/components/Stack/Stack.scss +2 -0
- package/dist/{containers/Storage → components}/VDisk/VDisk.d.ts +2 -2
- package/dist/{containers/Storage → components}/VDisk/VDisk.js +8 -8
- package/dist/{containers/Storage → components}/VDisk/VDisk.scss +1 -1
- package/dist/components/VDisk/VDiskWithDonorsStack.d.ts +12 -0
- package/dist/components/VDisk/VDiskWithDonorsStack.js +14 -0
- package/dist/components/VDiskInfo/VDiskInfo.d.ts +10 -0
- package/dist/components/VDiskInfo/VDiskInfo.js +113 -0
- package/dist/components/VDiskInfo/VDiskInfo.scss +8 -0
- package/dist/components/VDiskInfo/i18n/en.json +23 -0
- package/dist/components/VDiskInfo/i18n/index.d.ts +1 -0
- package/dist/components/VDiskInfo/i18n/index.js +4 -0
- package/dist/{containers/Storage → components}/VDiskPopup/VDiskPopup.d.ts +3 -3
- package/dist/{containers/Storage → components}/VDiskPopup/VDiskPopup.js +8 -7
- package/dist/components/VirtualTable/TableHead.d.ts +2 -1
- package/dist/components/VirtualTable/TableHead.js +6 -6
- package/dist/components/VirtualTable/constants.d.ts +1 -0
- package/dist/components/VirtualTable/constants.js +1 -0
- package/dist/containers/App/App.js +0 -2
- package/dist/containers/App/App.scss +3 -0
- package/dist/containers/App/Content.js +19 -5
- package/dist/containers/App/appSlots.d.ts +9 -3
- package/dist/containers/App/appSlots.js +2 -1
- package/dist/containers/Header/breadcrumbs.js +12 -0
- package/dist/containers/Header/i18n/en.json +1 -0
- package/dist/containers/Header/i18n/index.d.ts +1 -1
- package/dist/containers/Heatmap/HeatmapCanvas/HeatmapCanvas.js +2 -2
- package/dist/containers/Node/NodeStructure/NodeStructure.js +1 -1
- package/dist/containers/Node/NodeStructure/Pdisk.js +2 -2
- package/dist/containers/Node/NodeStructure/Vdisk.d.ts +6 -2
- package/dist/containers/Node/NodeStructure/Vdisk.js +5 -78
- package/dist/containers/Nodes/getNodesColumns.js +0 -1
- package/dist/containers/PDiskPage/PDiskPage.d.ts +3 -0
- package/dist/containers/{PDisk/PDisk.js → PDiskPage/PDiskPage.js} +30 -14
- package/dist/containers/{PDisk/PDisk.scss → PDiskPage/PDiskPage.scss} +1 -14
- package/dist/containers/PDiskPage/i18n/en.json +8 -0
- package/dist/containers/PDiskPage/i18n/index.d.ts +1 -0
- package/dist/containers/Storage/PDisk/PDisk.js +4 -10
- package/dist/containers/Storage/PDisk/PDisk.scss +0 -2
- package/dist/containers/Storage/Storage.js +1 -2
- package/dist/containers/Storage/StorageGroups/StorageGroups.scss +1 -7
- package/dist/containers/Storage/StorageGroups/getStorageGroupsColumns.d.ts +1 -1
- package/dist/containers/Storage/StorageGroups/getStorageGroupsColumns.js +9 -17
- package/dist/containers/Storage/VirtualStorage.js +3 -7
- package/dist/containers/Tablet/TabletControls/TabletControls.js +2 -1
- package/dist/containers/TabletsFilters/TabletsFilters.d.ts +2 -2
- package/dist/containers/TabletsFilters/TabletsFilters.js +7 -6
- package/dist/containers/Tenant/Diagnostics/Consumers/Consumers.js +1 -1
- package/dist/containers/Tenant/Diagnostics/Network/Network.js +2 -2
- package/dist/containers/Tenant/Diagnostics/Partitions/Partitions.js +1 -2
- package/dist/containers/Tenant/Diagnostics/Partitions/PartitionsControls/PartitionsControls.js +1 -1
- package/dist/containers/Tenant/Diagnostics/TenantOverview/TenantCpu/cpuDashboardConfig.js +14 -5
- package/dist/containers/Tenant/Diagnostics/TenantOverview/i18n/en.json +1 -1
- package/dist/containers/Tenant/Query/ExplainResult/ExplainResult.js +5 -3
- package/dist/containers/Tenant/Query/QueryEditor/QueryEditor.js +6 -4
- package/dist/containers/Tenant/Query/SaveQuery/SaveQuery.js +2 -2
- package/dist/containers/Tenant/Tenant.js +10 -5
- package/dist/containers/Tenants/Tenants.js +3 -2
- package/dist/containers/VDiskPage/VDiskPage.d.ts +3 -0
- package/dist/containers/VDiskPage/VDiskPage.js +109 -0
- package/dist/containers/VDiskPage/VDiskPage.scss +32 -0
- package/dist/containers/VDiskPage/i18n/en.json +9 -0
- package/dist/containers/VDiskPage/i18n/index.d.ts +1 -0
- package/dist/containers/VDiskPage/i18n/index.js +4 -0
- package/dist/containers/Versions/groupNodes.js +1 -1
- package/dist/routes.d.ts +3 -0
- package/dist/routes.js +5 -0
- package/dist/services/api.d.ts +12 -4
- package/dist/services/api.js +39 -4
- package/dist/store/configureStore.d.ts +4 -0
- package/dist/store/defaultStore.d.ts +2 -0
- package/dist/store/reducers/authentication/authentication.d.ts +3 -0
- package/dist/store/reducers/cluster/cluster.d.ts +1 -0
- package/dist/store/reducers/clusterNodes/clusterNodes.d.ts +1 -0
- package/dist/store/reducers/clusters/clusters.d.ts +1 -0
- package/dist/store/reducers/clusters/selectors.js +1 -1
- package/dist/store/reducers/describe.d.ts +2 -0
- package/dist/store/reducers/executeQuery.d.ts +1 -0
- package/dist/store/reducers/explainQuery.d.ts +2 -0
- package/dist/store/reducers/header/types.d.ts +4 -1
- package/dist/store/reducers/healthcheckInfo/healthcheckInfo.d.ts +1 -0
- package/dist/store/reducers/heatmap.d.ts +1 -0
- package/dist/store/reducers/host.d.ts +1 -0
- package/dist/store/reducers/index.d.ts +3 -0
- package/dist/store/reducers/index.js +2 -0
- package/dist/store/reducers/network/network.d.ts +1 -0
- package/dist/store/reducers/node/node.d.ts +2 -0
- package/dist/store/reducers/node/selectors.js +1 -1
- package/dist/store/reducers/nodes/nodes.d.ts +2 -0
- package/dist/store/reducers/nodesList.d.ts +1 -0
- package/dist/store/reducers/olapStats.d.ts +1 -0
- package/dist/store/reducers/overview/overview.d.ts +2 -0
- package/dist/store/reducers/partitions/partitions.d.ts +1 -0
- package/dist/store/reducers/pdisk/pdisk.d.ts +2 -0
- package/dist/store/reducers/pdisk/utils.js +1 -1
- package/dist/store/reducers/preview.d.ts +1 -0
- package/dist/store/reducers/schema/schema.d.ts +1 -0
- package/dist/store/reducers/schemaAcl/schemaAcl.d.ts +1 -0
- package/dist/store/reducers/shardsWorkload/shardsWorkload.d.ts +1 -0
- package/dist/store/reducers/storage/storage.d.ts +2 -0
- package/dist/store/reducers/storage/types.d.ts +3 -1
- package/dist/store/reducers/storage/utils.d.ts +1 -1
- package/dist/store/reducers/storage/utils.js +8 -9
- package/dist/store/reducers/tablet.d.ts +2 -0
- package/dist/store/reducers/tablets.d.ts +1 -0
- package/dist/store/reducers/tabletsFilters.d.ts +1 -0
- package/dist/store/reducers/tenant/tenant.d.ts +1 -0
- package/dist/store/reducers/tenantOverview/executeTopTables/executeTopTables.d.ts +1 -0
- package/dist/store/reducers/tenantOverview/topNodesByCpu/topNodesByCpu.d.ts +1 -0
- package/dist/store/reducers/tenantOverview/topNodesByLoad/topNodesByLoad.d.ts +1 -0
- package/dist/store/reducers/tenantOverview/topNodesByMemory/topNodesByMemory.d.ts +1 -0
- package/dist/store/reducers/tenantOverview/topQueries/tenantOverviewTopQueries.d.ts +1 -0
- package/dist/store/reducers/tenantOverview/topShards/tenantOverviewTopShards.d.ts +1 -0
- package/dist/store/reducers/tenantOverview/topStorageGroups/topStorageGroups.d.ts +1 -0
- package/dist/store/reducers/tenants/selectors.js +1 -1
- package/dist/store/reducers/tenants/tenants.d.ts +1 -0
- package/dist/store/reducers/topic.d.ts +1 -0
- package/dist/store/reducers/vdisk/types.d.ts +25 -0
- package/dist/store/reducers/vdisk/utils.d.ts +11 -0
- package/dist/store/reducers/vdisk/utils.js +33 -0
- package/dist/store/reducers/vdisk/vdisk.d.ts +100 -0
- package/dist/store/reducers/vdisk/vdisk.js +64 -0
- package/dist/store/state-url-mapping.js +6 -4
- package/dist/types/api/storage.d.ts +2 -0
- package/dist/utils/bytesParsers/__test__/formatBytes.test.js +7 -7
- package/dist/utils/clusterVersionColors.js +1 -1
- package/dist/utils/dataFormatters/dataFormatters.js +1 -0
- package/dist/utils/disks/constants.js +2 -2
- package/dist/utils/disks/types.d.ts +5 -1
- package/dist/utils/filters.js +1 -1
- package/dist/utils/hooks/useTableResize.d.ts +1 -1
- package/dist/utils/hooks/useTableResize.js +5 -3
- package/dist/utils/lazyComponent.d.ts +4 -0
- package/dist/utils/lazyComponent.js +25 -0
- package/dist/utils/monaco/index.d.ts +1 -0
- package/dist/utils/monaco/index.js +4 -0
- package/dist/utils/monaco/s-expression/constants.d.ts +1 -0
- package/dist/utils/monaco/s-expression/constants.js +1 -0
- package/dist/utils/monaco/s-expression/registerLanguage.d.ts +1 -0
- package/dist/utils/{monaco.js → monaco/s-expression/registerLanguage.js} +2 -19
- package/dist/utils/{yqlSuggestions → monaco/yqlSuggestions}/generateSuggestions.d.ts +2 -2
- package/dist/utils/{yqlSuggestions → monaco/yqlSuggestions}/generateSuggestions.js +40 -11
- package/dist/utils/monaco/yqlSuggestions/registerCompletionItemProvider.d.ts +1 -0
- package/dist/utils/monaco/yqlSuggestions/registerCompletionItemProvider.js +15 -0
- package/dist/utils/{yqlSuggestions → monaco/yqlSuggestions}/yqlSuggestions.js +1 -1
- package/dist/utils/numeral.js +7 -1
- package/dist/utils/storage.d.ts +1 -0
- package/dist/utils/storage.js +1 -0
- package/dist/utils/timeParsers/parsers.js +1 -1
- package/package.json +5 -2
- package/dist/containers/PDisk/PDisk.d.ts +0 -3
- package/dist/containers/PDisk/i18n/en.json +0 -6
- package/dist/containers/PDisk/i18n/index.d.ts +0 -1
- package/dist/containers/Storage/DiskStateProgressBar/index.d.ts +0 -1
- package/dist/containers/Storage/DiskStateProgressBar/index.js +0 -1
- package/dist/containers/Storage/PDiskPopup/index.d.ts +0 -1
- package/dist/containers/Storage/PDiskPopup/index.js +0 -1
- package/dist/containers/Storage/VDisk/index.d.ts +0 -1
- package/dist/containers/Storage/VDisk/index.js +0 -1
- package/dist/containers/Storage/VDiskPopup/index.d.ts +0 -1
- package/dist/containers/Storage/VDiskPopup/index.js +0 -1
- package/dist/containers/Storage/utils/types.d.ts +0 -5
- package/dist/utils/monaco.d.ts +0 -3
- /package/dist/{containers/Storage → components}/DiskStateProgressBar/DiskStateProgressBar.d.ts +0 -0
- /package/dist/{containers/Storage → components}/DiskStateProgressBar/DiskStateProgressBar.scss +0 -0
- /package/dist/{containers/Storage → components}/PDiskPopup/PDiskPopup.scss +0 -0
- /package/dist/{containers/Storage → components}/VDiskPopup/VDiskPopup.scss +0 -0
- /package/dist/containers/{PDisk → PDiskPage}/PDiskGroups.d.ts +0 -0
- /package/dist/containers/{PDisk → PDiskPage}/PDiskGroups.js +0 -0
- /package/dist/containers/{PDisk → PDiskPage}/i18n/index.js +0 -0
- /package/dist/containers/{PDisk → PDiskPage}/shared.d.ts +0 -0
- /package/dist/containers/{PDisk → PDiskPage}/shared.js +0 -0
- /package/dist/{containers/Storage/utils → store/reducers/vdisk}/types.js +0 -0
- /package/dist/utils/{yqlSuggestions → monaco/yqlSuggestions}/constants.d.ts +0 -0
- /package/dist/utils/{yqlSuggestions → monaco/yqlSuggestions}/constants.js +0 -0
- /package/dist/utils/{yqlSuggestions → monaco/yqlSuggestions}/yqlSuggestions.d.ts +0 -0
@@ -1,4 +1,4 @@
|
|
1
|
-
import
|
1
|
+
import groupBy from 'lodash/groupBy';
|
2
2
|
import { getMinorVersion, parseNodesToVersionsValues } from '../../utils/versions';
|
3
3
|
import { GroupByValue } from './types';
|
4
4
|
const sortByTitle = (a, b) => { var _a; return ((_a = a.title) === null || _a === void 0 ? void 0 : _a.localeCompare(b.title || '')) || -1; };
|
package/dist/routes.d.ts
CHANGED
@@ -5,6 +5,7 @@ export declare const CLUSTER = "cluster";
|
|
5
5
|
export declare const TENANT = "tenant";
|
6
6
|
export declare const NODE = "node";
|
7
7
|
export declare const PDISK = "pDisk";
|
8
|
+
export declare const VDISK = "vDisk";
|
8
9
|
export declare const TABLET = "tablet";
|
9
10
|
declare const routes: {
|
10
11
|
readonly clusters: "/clusters";
|
@@ -12,6 +13,7 @@ declare const routes: {
|
|
12
13
|
readonly tenant: "/tenant";
|
13
14
|
readonly node: "/node/:id/:activeTab?";
|
14
15
|
readonly pDisk: "/pDisk";
|
16
|
+
readonly vDisk: "/vDisk";
|
15
17
|
readonly tablet: "/tablet/:id";
|
16
18
|
readonly tabletsFilters: "/tabletsFilters";
|
17
19
|
readonly auth: "/auth";
|
@@ -27,3 +29,4 @@ export declare function getLocationObjectFromHref(href: string): {
|
|
27
29
|
hash: string;
|
28
30
|
};
|
29
31
|
export declare function getPDiskPagePath(pDiskId: string | number, nodeId: string | number, query?: Query): string;
|
32
|
+
export declare function getVDiskPagePath(vDiskSlotId: string | number, pDiskId: string | number, nodeId: string | number, query?: Query): string;
|
package/dist/routes.js
CHANGED
@@ -7,6 +7,7 @@ export const CLUSTER = 'cluster';
|
|
7
7
|
export const TENANT = 'tenant';
|
8
8
|
export const NODE = 'node';
|
9
9
|
export const PDISK = 'pDisk';
|
10
|
+
export const VDISK = 'vDisk';
|
10
11
|
export const TABLET = 'tablet';
|
11
12
|
const routes = {
|
12
13
|
clusters: `/${CLUSTERS}`,
|
@@ -14,6 +15,7 @@ const routes = {
|
|
14
15
|
tenant: `/${TENANT}`,
|
15
16
|
node: `/${NODE}/:id/:activeTab?`,
|
16
17
|
pDisk: `/${PDISK}`,
|
18
|
+
vDisk: `/${VDISK}`,
|
17
19
|
tablet: `/${TABLET}/:id`,
|
18
20
|
tabletsFilters: `/tabletsFilters`,
|
19
21
|
auth: `/auth`,
|
@@ -63,3 +65,6 @@ export function getLocationObjectFromHref(href) {
|
|
63
65
|
export function getPDiskPagePath(pDiskId, nodeId, query = {}) {
|
64
66
|
return createHref(routes.pDisk, undefined, Object.assign(Object.assign({}, query), { nodeId, pDiskId }));
|
65
67
|
}
|
68
|
+
export function getVDiskPagePath(vDiskSlotId, pDiskId, nodeId, query = {}) {
|
69
|
+
return createHref(routes.vDisk, undefined, Object.assign(Object.assign({}, query), { nodeId, pDiskId, vDiskSlotId }));
|
70
|
+
}
|
package/dist/services/api.d.ts
CHANGED
@@ -39,11 +39,11 @@ export declare class YdbEmbeddedAPI extends AxiosWrapper {
|
|
39
39
|
getNodes({ visibleEntities, type, tablets, sortOrder, sortValue, ...params }: NodesApiRequestParams, { concurrentId }?: AxiosOptions): Promise<TNodesInfo>;
|
40
40
|
/** @deprecated use getNodes instead */
|
41
41
|
getCompute({ sortOrder, sortValue, ...params }: ComputeApiRequestParams, { concurrentId }?: AxiosOptions): Promise<TComputeInfo>;
|
42
|
-
getStorageInfo({ tenant, visibleEntities, nodeId, sortOrder, sortValue, ...params }: StorageApiRequestParams, { concurrentId }?: AxiosOptions): Promise<TStorageInfo>;
|
42
|
+
getStorageInfo({ tenant, visibleEntities, nodeId, poolName, groupId, sortOrder, sortValue, ...params }: StorageApiRequestParams, { concurrentId }?: AxiosOptions): Promise<TStorageInfo>;
|
43
43
|
getPdiskInfo(nodeId: string | number, pdiskId: string | number): Promise<TEvPDiskStateResponse>;
|
44
|
-
getVdiskInfo({
|
45
|
-
|
46
|
-
|
44
|
+
getVdiskInfo({ vDiskSlotId, pDiskId, nodeId, }: {
|
45
|
+
vDiskSlotId: string | number;
|
46
|
+
pDiskId: string | number;
|
47
47
|
nodeId: string | number;
|
48
48
|
}): Promise<TEvVDiskStateResponse>;
|
49
49
|
getGroupInfo(groupId: string | number): Promise<TStorageInfo>;
|
@@ -93,6 +93,14 @@ export declare class YdbEmbeddedAPI extends AxiosWrapper {
|
|
93
93
|
getExplainQueryAst(query: string, database: string): Promise<import("../types/api/query").ExplainQueryResponse>;
|
94
94
|
getHotKeys(path: string, enableSampling: boolean, { concurrentId }?: AxiosOptions): Promise<JsonHotKeysResponse>;
|
95
95
|
getHealthcheckInfo(database: string, { concurrentId }?: AxiosOptions): Promise<HealthCheckAPIResponse>;
|
96
|
+
evictVDisk({ groupId, groupGeneration, failRealmIdx, failDomainIdx, vDiskIdx, }: {
|
97
|
+
groupId: string | number;
|
98
|
+
groupGeneration: string | number;
|
99
|
+
failRealmIdx: string | number;
|
100
|
+
failDomainIdx: string | number;
|
101
|
+
vDiskIdx: string | number;
|
102
|
+
}): Promise<any>;
|
103
|
+
restartPDisk(nodeId: number | string, pDiskId: number | string): Promise<any>;
|
96
104
|
killTablet(id?: string): Promise<string>;
|
97
105
|
stopTablet(id?: string, hiveId?: string): Promise<string>;
|
98
106
|
resumeTablet(id?: string, hiveId?: string): Promise<string>;
|
package/dist/services/api.js
CHANGED
@@ -2,6 +2,7 @@ import { __rest } from "tslib";
|
|
2
2
|
import AxiosWrapper from '@gravity-ui/axios-wrapper';
|
3
3
|
import { backend as BACKEND, metaBackend as META_BACKEND } from '../store';
|
4
4
|
import { prepareSortValue } from '../utils/filters';
|
5
|
+
import { createPDiskDeveloperUILink } from '../utils/developerUI/developerUI';
|
5
6
|
import { BINARY_DATA_IN_PLAIN_TEXT_DISPLAY } from '../utils/constants';
|
6
7
|
import { parseMetaCluster } from './parsers/parseMetaCluster';
|
7
8
|
import { parseMetaTenants } from './parsers/parseMetaTenants';
|
@@ -52,19 +53,20 @@ export class YdbEmbeddedAPI extends AxiosWrapper {
|
|
52
53
|
return this.get(this.getPath('/viewer/json/compute?enums=true'), Object.assign({ sort }, params), { concurrentId });
|
53
54
|
}
|
54
55
|
getStorageInfo(_a, _b) {
|
55
|
-
var { tenant, visibleEntities, nodeId, sortOrder, sortValue } = _a, params = __rest(_a, ["tenant", "visibleEntities", "nodeId", "sortOrder", "sortValue"]);
|
56
|
+
var { tenant, visibleEntities, nodeId, poolName, groupId, sortOrder, sortValue } = _a, params = __rest(_a, ["tenant", "visibleEntities", "nodeId", "poolName", "groupId", "sortOrder", "sortValue"]);
|
56
57
|
var _c = _b === void 0 ? {} : _b, concurrentId = _c.concurrentId;
|
57
58
|
const sort = prepareSortValue(sortValue, sortOrder);
|
58
|
-
return this.get(this.getPath(`/viewer/json/storage?enums=true`), Object.assign({ tenant, node_id: nodeId, with: visibleEntities, sort }, params), { concurrentId });
|
59
|
+
return this.get(this.getPath(`/viewer/json/storage?enums=true`), Object.assign({ tenant, node_id: nodeId, pool: poolName, group_id: groupId, with: visibleEntities, sort }, params), { concurrentId });
|
59
60
|
}
|
60
61
|
getPdiskInfo(nodeId, pdiskId) {
|
61
62
|
return this.get(this.getPath('/viewer/json/pdiskinfo?enums=true'), {
|
62
63
|
filter: `(NodeId=${nodeId}${pdiskId ? `;PDiskId=${pdiskId}` : ''})`,
|
63
64
|
});
|
64
65
|
}
|
65
|
-
getVdiskInfo({
|
66
|
+
getVdiskInfo({ vDiskSlotId, pDiskId, nodeId, }) {
|
66
67
|
return this.get(this.getPath('/viewer/json/vdiskinfo?enums=true'), {
|
67
|
-
|
68
|
+
node_id: nodeId,
|
69
|
+
filter: `(PDiskId=${pDiskId};VDiskSlotId=${vDiskSlotId})`,
|
68
70
|
});
|
69
71
|
}
|
70
72
|
getGroupInfo(groupId) {
|
@@ -207,6 +209,39 @@ export class YdbEmbeddedAPI extends AxiosWrapper {
|
|
207
209
|
getHealthcheckInfo(database, { concurrentId } = {}) {
|
208
210
|
return this.get(this.getPath('/viewer/json/healthcheck?merge_records=true'), { tenant: database }, { concurrentId });
|
209
211
|
}
|
212
|
+
evictVDisk({ groupId, groupGeneration, failRealmIdx, failDomainIdx, vDiskIdx, }) {
|
213
|
+
// BSC Id is constant for all ydb clusters
|
214
|
+
const BSC_TABLET_ID = '72057594037932033';
|
215
|
+
return this.post(this.getPath(`/tablets/app?TabletID=${BSC_TABLET_ID}&exec=1`), {
|
216
|
+
Command: {
|
217
|
+
ReassignGroupDisk: {
|
218
|
+
GroupId: groupId,
|
219
|
+
GroupGeneration: groupGeneration,
|
220
|
+
FailRealmIdx: failRealmIdx,
|
221
|
+
FailDomainIdx: failDomainIdx,
|
222
|
+
VDiskIdx: vDiskIdx,
|
223
|
+
},
|
224
|
+
},
|
225
|
+
}, {}, {
|
226
|
+
headers: {
|
227
|
+
// This handler requires exactly this string
|
228
|
+
// Automatic headers may not suit
|
229
|
+
Accept: 'application/json',
|
230
|
+
},
|
231
|
+
});
|
232
|
+
}
|
233
|
+
restartPDisk(nodeId, pDiskId) {
|
234
|
+
const pDiskPath = createPDiskDeveloperUILink({
|
235
|
+
nodeId,
|
236
|
+
pDiskId,
|
237
|
+
host: this.getPath(''),
|
238
|
+
});
|
239
|
+
return this.post(pDiskPath, 'restartPDisk=', {}, {
|
240
|
+
headers: {
|
241
|
+
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
|
242
|
+
},
|
243
|
+
});
|
244
|
+
}
|
210
245
|
killTablet(id) {
|
211
246
|
return this.get(this.getPath(`/tablets?KillTabletID=${id}`), {});
|
212
247
|
}
|
@@ -86,6 +86,7 @@ export declare function configureStore({ aRootReducer, singleClusterMode, api, }
|
|
86
86
|
saveQuery: string | null;
|
87
87
|
fullscreen: boolean;
|
88
88
|
clusters: import("./reducers/clusters/types").ClustersState;
|
89
|
+
vDisk: import("./reducers/vdisk/types").VDiskState;
|
89
90
|
}, any, Partial<{
|
90
91
|
singleClusterMode: boolean | undefined;
|
91
92
|
nodes: never;
|
@@ -137,6 +138,7 @@ export declare function configureStore({ aRootReducer, singleClusterMode, api, }
|
|
137
138
|
saveQuery: never;
|
138
139
|
fullscreen: never;
|
139
140
|
clusters: never;
|
141
|
+
vDisk: never;
|
140
142
|
}>> | undefined;
|
141
143
|
singleClusterMode?: boolean | undefined;
|
142
144
|
api?: import("../services/api").YdbEmbeddedAPI | undefined;
|
@@ -223,6 +225,7 @@ export declare function configureStore({ aRootReducer, singleClusterMode, api, }
|
|
223
225
|
saveQuery: string | null;
|
224
226
|
fullscreen: boolean;
|
225
227
|
clusters: import("./reducers/clusters/types").ClustersState;
|
228
|
+
vDisk: import("./reducers/vdisk/types").VDiskState;
|
226
229
|
}, any, import("@reduxjs/toolkit").Tuple<[import("redux").StoreEnhancer<{
|
227
230
|
dispatch: import("redux-thunk").ThunkDispatch<{
|
228
231
|
singleClusterMode: boolean;
|
@@ -305,6 +308,7 @@ export declare function configureStore({ aRootReducer, singleClusterMode, api, }
|
|
305
308
|
saveQuery: string | null;
|
306
309
|
fullscreen: boolean;
|
307
310
|
clusters: import("./reducers/clusters/types").ClustersState;
|
311
|
+
vDisk: import("./reducers/vdisk/types").VDiskState;
|
308
312
|
}, undefined, UnknownAction>;
|
309
313
|
}, {}>, import("redux").StoreEnhancer<{}, {}>]>>;
|
310
314
|
};
|
@@ -79,6 +79,7 @@ export declare const store: import("@reduxjs/toolkit").EnhancedStore<{
|
|
79
79
|
saveQuery: string | null;
|
80
80
|
fullscreen: boolean;
|
81
81
|
clusters: import("./reducers/clusters/types").ClustersState;
|
82
|
+
vDisk: import("./reducers/vdisk/types").VDiskState;
|
82
83
|
}, any, import("@reduxjs/toolkit").Tuple<[import("redux").StoreEnhancer<{
|
83
84
|
dispatch: import("redux-thunk").ThunkDispatch<{
|
84
85
|
singleClusterMode: boolean;
|
@@ -161,6 +162,7 @@ export declare const store: import("@reduxjs/toolkit").EnhancedStore<{
|
|
161
162
|
saveQuery: string | null;
|
162
163
|
fullscreen: boolean;
|
163
164
|
clusters: import("./reducers/clusters/types").ClustersState;
|
165
|
+
vDisk: import("./reducers/vdisk/types").VDiskState;
|
164
166
|
}, undefined, import("redux").UnknownAction>;
|
165
167
|
}, {}>, import("redux").StoreEnhancer<{}, {}>]>>, history: import("history").History<unknown>;
|
166
168
|
export type GetState = typeof store.getState;
|
@@ -97,6 +97,7 @@ export declare const authenticate: (user: string, password: string) => (dispatch
|
|
97
97
|
saveQuery: string | null;
|
98
98
|
fullscreen: boolean;
|
99
99
|
clusters: import("../clusters/types").ClustersState;
|
100
|
+
vDisk: import("../vdisk/types").VDiskState;
|
100
101
|
}) => Promise<unknown>;
|
101
102
|
export declare const logout: () => (dispatch: import("redux").Dispatch<import("redux").UnknownAction>, getState: () => {
|
102
103
|
singleClusterMode: boolean;
|
@@ -179,6 +180,7 @@ export declare const logout: () => (dispatch: import("redux").Dispatch<import("r
|
|
179
180
|
saveQuery: string | null;
|
180
181
|
fullscreen: boolean;
|
181
182
|
clusters: import("../clusters/types").ClustersState;
|
183
|
+
vDisk: import("../vdisk/types").VDiskState;
|
182
184
|
}) => Promise<unknown>;
|
183
185
|
export declare const getUser: () => (dispatch: import("redux").Dispatch<import("redux").UnknownAction>, getState: () => {
|
184
186
|
singleClusterMode: boolean;
|
@@ -261,5 +263,6 @@ export declare const getUser: () => (dispatch: import("redux").Dispatch<import("
|
|
261
263
|
saveQuery: string | null;
|
262
264
|
fullscreen: boolean;
|
263
265
|
clusters: import("../clusters/types").ClustersState;
|
266
|
+
vDisk: import("../vdisk/types").VDiskState;
|
264
267
|
}) => Promise<string | undefined>;
|
265
268
|
export default authentication;
|
@@ -93,5 +93,6 @@ export declare function getClusterInfo(clusterName?: string): (dispatch: Dispatc
|
|
93
93
|
saveQuery: string | null;
|
94
94
|
fullscreen: boolean;
|
95
95
|
clusters: import("../clusters/types").ClustersState;
|
96
|
+
vDisk: import("../vdisk/types").VDiskState;
|
96
97
|
}) => Promise<unknown>;
|
97
98
|
export default cluster;
|
@@ -87,5 +87,6 @@ export declare function getClusterNodes(): (dispatch: import("redux").Dispatch<i
|
|
87
87
|
saveQuery: string | null;
|
88
88
|
fullscreen: boolean;
|
89
89
|
clusters: import("../clusters/types").ClustersState;
|
90
|
+
vDisk: import("../vdisk/types").VDiskState;
|
90
91
|
}) => Promise<PreparedClusterNode[] | undefined>;
|
91
92
|
export default clusterNodes;
|
@@ -87,6 +87,7 @@ export declare function fetchClustersList(): (dispatch: import("redux").Dispatch
|
|
87
87
|
saveQuery: string | null;
|
88
88
|
fullscreen: boolean;
|
89
89
|
clusters: ClustersState;
|
90
|
+
vDisk: import("../vdisk/types").VDiskState;
|
90
91
|
}) => Promise<import("./types").PreparedCluster[] | undefined>;
|
91
92
|
export declare function changeClustersFilters(filters: Partial<ClustersFilters>): {
|
92
93
|
readonly type: "clusters/CHANGE_FILTER";
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { createSelector } from '@reduxjs/toolkit';
|
2
|
-
import
|
2
|
+
import escapeRegExp from 'lodash/escapeRegExp';
|
3
3
|
import { getMinorVersion } from '../../../utils/versions';
|
4
4
|
// ==== Filters ====
|
5
5
|
const isMatchesByStatus = (clusterData, selectedStatuses) => {
|
@@ -96,6 +96,7 @@ export declare function getDescribe({ path }: {
|
|
96
96
|
saveQuery: string | null;
|
97
97
|
fullscreen: boolean;
|
98
98
|
clusters: import("./clusters/types").ClustersState;
|
99
|
+
vDisk: import("./vdisk/types").VDiskState;
|
99
100
|
}) => Promise<IDescribeHandledResponse | undefined>;
|
100
101
|
export declare function getDescribeBatched(paths: string[]): (dispatch: import("redux").Dispatch<import("redux").UnknownAction>, getState: () => {
|
101
102
|
singleClusterMode: boolean;
|
@@ -178,5 +179,6 @@ export declare function getDescribeBatched(paths: string[]): (dispatch: import("
|
|
178
179
|
saveQuery: string | null;
|
179
180
|
fullscreen: boolean;
|
180
181
|
clusters: import("./clusters/types").ClustersState;
|
182
|
+
vDisk: import("./vdisk/types").VDiskState;
|
181
183
|
}) => Promise<IDescribeHandledResponse | undefined>;
|
182
184
|
export default describe;
|
@@ -93,6 +93,7 @@ export declare const sendExecuteQuery: ({ query, database, mode, schema }: SendQ
|
|
93
93
|
saveQuery: string | null;
|
94
94
|
fullscreen: boolean;
|
95
95
|
clusters: import("./clusters/types").ClustersState;
|
96
|
+
vDisk: import("./vdisk/types").VDiskState;
|
96
97
|
}) => Promise<import("../../types/store/query").IQueryResult | undefined>;
|
97
98
|
export declare const saveQueryToHistory: (queryText: string, mode: QueryMode) => {
|
98
99
|
readonly type: "query/SAVE_QUERY_TO_HISTORY";
|
@@ -93,6 +93,7 @@ export declare const getExplainQueryAst: ({ query, database }: QueryRequestParam
|
|
93
93
|
saveQuery: string | null;
|
94
94
|
fullscreen: boolean;
|
95
95
|
clusters: import("./clusters/types").ClustersState;
|
96
|
+
vDisk: import("./vdisk/types").VDiskState;
|
96
97
|
}) => Promise<import("../../types/store/query").IQueryResult | undefined>;
|
97
98
|
export declare const explainVersions: {
|
98
99
|
v2: string;
|
@@ -181,5 +182,6 @@ export declare const getExplainQuery: ({ query, database, mode }: ExplainQueryPa
|
|
181
182
|
saveQuery: string | null;
|
182
183
|
fullscreen: boolean;
|
183
184
|
clusters: import("./clusters/types").ClustersState;
|
185
|
+
vDisk: import("./vdisk/types").VDiskState;
|
184
186
|
}) => Promise<PreparedExplainResponse | undefined>;
|
185
187
|
export default explainQuery;
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import type { ClusterTab } from '../../../containers/Cluster/utils';
|
2
2
|
import type { EType } from '../../../types/api/tablet';
|
3
3
|
import { setHeaderBreadcrumbs } from './header';
|
4
|
-
export type Page = 'cluster' | 'tenant' | 'node' | 'pDisk' | 'tablets' | 'tablet' | undefined;
|
4
|
+
export type Page = 'cluster' | 'tenant' | 'node' | 'pDisk' | 'vDisk' | 'tablets' | 'tablet' | undefined;
|
5
5
|
export interface ClusterBreadcrumbsOptions {
|
6
6
|
clusterName?: string;
|
7
7
|
clusterTab?: ClusterTab;
|
@@ -15,6 +15,9 @@ export interface NodeBreadcrumbsOptions extends TenantBreadcrumbsOptions {
|
|
15
15
|
export interface PDiskBreadcrumbsOptions extends Omit<NodeBreadcrumbsOptions, 'tenantName'> {
|
16
16
|
pDiskId?: string | number;
|
17
17
|
}
|
18
|
+
export interface VDiskBreadcrumbsOptions extends PDiskBreadcrumbsOptions {
|
19
|
+
vDiskSlotId?: string | number;
|
20
|
+
}
|
18
21
|
export interface TabletsBreadcrumbsOptions extends TenantBreadcrumbsOptions {
|
19
22
|
nodeIds?: string[] | number[];
|
20
23
|
}
|
@@ -94,6 +94,7 @@ export declare function getHealthcheckInfo(database: string): (dispatch: import(
|
|
94
94
|
saveQuery: string | null;
|
95
95
|
fullscreen: boolean;
|
96
96
|
clusters: import("../clusters/types").ClustersState;
|
97
|
+
vDisk: import("../vdisk/types").VDiskState;
|
97
98
|
}) => Promise<unknown>;
|
98
99
|
export declare const setDataWasNotLoaded: () => {
|
99
100
|
readonly type: "healthcheckInfo/SET_DATA_WAS_NOT_LOADED";
|
@@ -94,6 +94,7 @@ export declare function getTabletsInfo({ nodes, path }: IHeatmapApiRequestParams
|
|
94
94
|
saveQuery: string | null;
|
95
95
|
fullscreen: boolean;
|
96
96
|
clusters: import("./clusters/types").ClustersState;
|
97
|
+
vDisk: import("./vdisk/types").VDiskState;
|
97
98
|
}) => Promise<{
|
98
99
|
data: IHeatmapTabletData[];
|
99
100
|
metrics: {
|
@@ -87,5 +87,6 @@ export declare function getHostInfo(): (dispatch: import("redux").Dispatch<impor
|
|
87
87
|
saveQuery: string | null;
|
88
88
|
fullscreen: boolean;
|
89
89
|
clusters: import("./clusters/types").ClustersState;
|
90
|
+
vDisk: import("./vdisk/types").VDiskState;
|
90
91
|
}) => Promise<unknown>;
|
91
92
|
export default host;
|
@@ -109,6 +109,7 @@ export declare const rootReducer: {
|
|
109
109
|
readonly type: "DISABLE_FULLSCREEN_MODE";
|
110
110
|
}) => boolean;
|
111
111
|
clusters: import("redux").Reducer<import("./clusters/types").ClustersState, import("./clusters/types").ClustersAction, import("./clusters/types").ClustersState>;
|
112
|
+
vDisk: import("redux").Reducer<import("./vdisk/types").VDiskState, import("./vdisk/types").VDiskAction, import("./vdisk/types").VDiskState>;
|
112
113
|
};
|
113
114
|
declare const combinedReducer: import("redux").Reducer<{
|
114
115
|
singleClusterMode: boolean;
|
@@ -191,6 +192,7 @@ declare const combinedReducer: import("redux").Reducer<{
|
|
191
192
|
saveQuery: string | null;
|
192
193
|
fullscreen: boolean;
|
193
194
|
clusters: import("./clusters/types").ClustersState;
|
195
|
+
vDisk: import("./vdisk/types").VDiskState;
|
194
196
|
}, any, Partial<{
|
195
197
|
singleClusterMode: boolean | undefined;
|
196
198
|
nodes: never;
|
@@ -242,5 +244,6 @@ declare const combinedReducer: import("redux").Reducer<{
|
|
242
244
|
saveQuery: never;
|
243
245
|
fullscreen: never;
|
244
246
|
clusters: never;
|
247
|
+
vDisk: never;
|
245
248
|
}>>;
|
246
249
|
export default combinedReducer;
|
@@ -43,6 +43,7 @@ import saveQuery from './saveQuery';
|
|
43
43
|
import fullscreen from './fullscreen';
|
44
44
|
import singleClusterMode from './singleClusterMode';
|
45
45
|
import clusters from './clusters/clusters';
|
46
|
+
import vDisk from './vdisk/vdisk';
|
46
47
|
export const rootReducer = {
|
47
48
|
singleClusterMode,
|
48
49
|
nodes,
|
@@ -88,6 +89,7 @@ export const rootReducer = {
|
|
88
89
|
saveQuery,
|
89
90
|
fullscreen,
|
90
91
|
clusters,
|
92
|
+
vDisk,
|
91
93
|
};
|
92
94
|
const combinedReducer = combineReducers(Object.assign({}, rootReducer));
|
93
95
|
export default combinedReducer;
|
@@ -90,5 +90,6 @@ export declare const getNetworkInfo: (tenant: string) => (dispatch: import("redu
|
|
90
90
|
saveQuery: string | null;
|
91
91
|
fullscreen: boolean;
|
92
92
|
clusters: import("../clusters/types").ClustersState;
|
93
|
+
vDisk: import("../vdisk/types").VDiskState;
|
93
94
|
}) => Promise<unknown>;
|
94
95
|
export default network;
|
@@ -92,6 +92,7 @@ export declare const getNodeInfo: (id: string) => (dispatch: import("redux").Dis
|
|
92
92
|
saveQuery: string | null;
|
93
93
|
fullscreen: boolean;
|
94
94
|
clusters: import("../clusters/types").ClustersState;
|
95
|
+
vDisk: import("../vdisk/types").VDiskState;
|
95
96
|
}) => Promise<import("./types").PreparedNode | undefined>;
|
96
97
|
export declare const getNodeStructure: (nodeId: string) => (dispatch: import("redux").Dispatch<import("redux").UnknownAction>, getState: () => {
|
97
98
|
singleClusterMode: boolean;
|
@@ -174,6 +175,7 @@ export declare const getNodeStructure: (nodeId: string) => (dispatch: import("re
|
|
174
175
|
saveQuery: string | null;
|
175
176
|
fullscreen: boolean;
|
176
177
|
clusters: import("../clusters/types").ClustersState;
|
178
|
+
vDisk: import("../vdisk/types").VDiskState;
|
177
179
|
}) => Promise<unknown>;
|
178
180
|
export declare function resetNode(): {
|
179
181
|
readonly type: "node/RESET_NODE";
|
@@ -18,7 +18,7 @@ export const selectNodeStructure = createSelector([selectNodeId, selectRawNodeSt
|
|
18
18
|
if (!structure[String(pDiskId)]) {
|
19
19
|
structure[String(pDiskId)] = Object.assign({ vDisks: {} }, preparedPDisk);
|
20
20
|
}
|
21
|
-
structure[String(pDiskId)].vDisks[vDiskId] = Object.assign(Object.assign({}, vd), {
|
21
|
+
structure[String(pDiskId)].vDisks[vDiskId] = Object.assign(Object.assign({}, vd), { PDiskId: pDiskId, NodeId: nodeId,
|
22
22
|
// VDisk doesn't have its own StoragePoolName when located inside StoragePool data
|
23
23
|
StoragePoolName: pool.Name });
|
24
24
|
});
|
@@ -88,6 +88,7 @@ export declare function getNodes({ type, storage, ...params }: NodesApiRequestPa
|
|
88
88
|
saveQuery: string | null;
|
89
89
|
fullscreen: boolean;
|
90
90
|
clusters: import("../clusters/types").ClustersState;
|
91
|
+
vDisk: import("../vdisk/types").VDiskState;
|
91
92
|
}) => Promise<import("./types").NodesHandledResponse | undefined>;
|
92
93
|
export declare function getComputeNodes({ version, ...params }: ComputeApiRequestParams): (dispatch: import("redux").Dispatch<import("redux").UnknownAction>, getState: () => {
|
93
94
|
singleClusterMode: boolean;
|
@@ -170,6 +171,7 @@ export declare function getComputeNodes({ version, ...params }: ComputeApiReques
|
|
170
171
|
saveQuery: string | null;
|
171
172
|
fullscreen: boolean;
|
172
173
|
clusters: import("../clusters/types").ClustersState;
|
174
|
+
vDisk: import("../vdisk/types").VDiskState;
|
173
175
|
}) => Promise<import("./types").NodesHandledResponse | undefined>;
|
174
176
|
export declare const resetNodesState: () => {
|
175
177
|
readonly type: "nodes/RESET_NODES_STATE";
|
@@ -87,6 +87,7 @@ export declare function getNodesList(): (dispatch: import("redux").Dispatch<impo
|
|
87
87
|
saveQuery: string | null;
|
88
88
|
fullscreen: boolean;
|
89
89
|
clusters: import("./clusters/types").ClustersState;
|
90
|
+
vDisk: import("./vdisk/types").VDiskState;
|
90
91
|
}) => Promise<unknown>;
|
91
92
|
export declare const selectNodesMap: (state: NodesListRootStateSlice) => import("../../types/store/nodesList").NodesMap | undefined;
|
92
93
|
export default nodesList;
|
@@ -89,6 +89,7 @@ export declare const getOlapStats: ({ path }: {
|
|
89
89
|
saveQuery: string | null;
|
90
90
|
fullscreen: boolean;
|
91
91
|
clusters: import("./clusters/types").ClustersState;
|
92
|
+
vDisk: import("./vdisk/types").VDiskState;
|
92
93
|
}) => Promise<import("../../types/store/query").IQueryResult | undefined>;
|
93
94
|
export declare function resetLoadingState(): {
|
94
95
|
readonly type: "olapStats/RESET_LOADING_STATE";
|
@@ -93,6 +93,7 @@ export declare function getOverview({ path }: {
|
|
93
93
|
saveQuery: string | null;
|
94
94
|
fullscreen: boolean;
|
95
95
|
clusters: import("../clusters/types").ClustersState;
|
96
|
+
vDisk: import("../vdisk/types").VDiskState;
|
96
97
|
}) => Promise<OverviewHandledResponse | undefined>;
|
97
98
|
export declare function getOverviewBatched(paths: string[]): (dispatch: import("redux").Dispatch<import("redux").UnknownAction>, getState: () => {
|
98
99
|
singleClusterMode: boolean;
|
@@ -175,6 +176,7 @@ export declare function getOverviewBatched(paths: string[]): (dispatch: import("
|
|
175
176
|
saveQuery: string | null;
|
176
177
|
fullscreen: boolean;
|
177
178
|
clusters: import("../clusters/types").ClustersState;
|
179
|
+
vDisk: import("../vdisk/types").VDiskState;
|
178
180
|
}) => Promise<OverviewHandledResponse | undefined>;
|
179
181
|
export declare function setDataWasNotLoaded(): {
|
180
182
|
readonly type: "overview/SET_DATA_WAS_NOT_LOADED";
|
@@ -94,5 +94,6 @@ export declare function getPartitions(path: string, consumerName?: string): (dis
|
|
94
94
|
saveQuery: string | null;
|
95
95
|
fullscreen: boolean;
|
96
96
|
clusters: import("../clusters/types").ClustersState;
|
97
|
+
vDisk: import("../vdisk/types").VDiskState;
|
97
98
|
}) => Promise<import("./types").PreparedPartitionData[] | undefined>;
|
98
99
|
export default partitions;
|
@@ -98,6 +98,7 @@ export declare const getPDiskData: ({ nodeId, pDiskId, }: {
|
|
98
98
|
saveQuery: string | null;
|
99
99
|
fullscreen: boolean;
|
100
100
|
clusters: import("../clusters/types").ClustersState;
|
101
|
+
vDisk: import("../vdisk/types").VDiskState;
|
101
102
|
}) => Promise<{
|
102
103
|
NodeId: number | undefined;
|
103
104
|
NodeHost: string | undefined;
|
@@ -206,5 +207,6 @@ export declare const getPDiskStorage: ({ nodeId, pDiskId, }: {
|
|
206
207
|
saveQuery: string | null;
|
207
208
|
fullscreen: boolean;
|
208
209
|
clusters: import("../clusters/types").ClustersState;
|
210
|
+
vDisk: import("../vdisk/types").VDiskState;
|
209
211
|
}) => Promise<import("../storage/types").PreparedStorageGroup[] | undefined>;
|
210
212
|
export default pdisk;
|
@@ -24,7 +24,7 @@ export function preparePDiskStorageResponse(data, pDiskId, nodeId) {
|
|
24
24
|
return groupPDiskId === Number(pDiskId) && groupNodeId === Number(nodeId);
|
25
25
|
});
|
26
26
|
if (groupHasPDiskVDisks) {
|
27
|
-
preparedGroups.push(prepareStorageGroupData(group, pool
|
27
|
+
preparedGroups.push(prepareStorageGroupData(group, pool));
|
28
28
|
}
|
29
29
|
});
|
30
30
|
});
|
@@ -96,6 +96,7 @@ export declare const sendQuery: ({ query, database, action }: SendQueryParams) =
|
|
96
96
|
saveQuery: string | null;
|
97
97
|
fullscreen: boolean;
|
98
98
|
clusters: import("./clusters/types").ClustersState;
|
99
|
+
vDisk: import("./vdisk/types").VDiskState;
|
99
100
|
}) => Promise<IQueryResult | undefined>;
|
100
101
|
export declare function setQueryOptions(options: any): {
|
101
102
|
readonly type: "preview/SET_QUERY_OPTIONS";
|
@@ -98,6 +98,7 @@ export declare function getSchema({ path }: {
|
|
98
98
|
saveQuery: string | null;
|
99
99
|
fullscreen: boolean;
|
100
100
|
clusters: import("../clusters/types").ClustersState;
|
101
|
+
vDisk: import("../vdisk/types").VDiskState;
|
101
102
|
}) => Promise<SchemaHandledResponse | undefined>;
|
102
103
|
export declare function setCurrentSchemaPath(currentSchemaPath: string): {
|
103
104
|
readonly type: "schema/SET_SCHEMA";
|
@@ -89,6 +89,7 @@ export declare function getSchemaAcl({ path }: {
|
|
89
89
|
saveQuery: string | null;
|
90
90
|
fullscreen: boolean;
|
91
91
|
clusters: import("../clusters/types").ClustersState;
|
92
|
+
vDisk: import("../vdisk/types").VDiskState;
|
92
93
|
}) => Promise<unknown>;
|
93
94
|
export declare const setAclWasNotLoaded: () => {
|
94
95
|
readonly type: "schemaAcl/SET_DATA_WAS_NOT_LOADED";
|
@@ -97,6 +97,7 @@ export declare const sendShardQuery: ({ database, path, sortOrder, filters }: Se
|
|
97
97
|
saveQuery: string | null;
|
98
98
|
fullscreen: boolean;
|
99
99
|
clusters: import("../clusters/types").ClustersState;
|
100
|
+
vDisk: import("../vdisk/types").VDiskState;
|
100
101
|
}) => Promise<import("../../../types/store/query").IQueryResult | undefined>) | {
|
101
102
|
type: "query/SEND_SHARD_QUERY_FAILURE";
|
102
103
|
error: unknown;
|
@@ -89,6 +89,7 @@ export declare const getStorageNodesInfo: ({ tenant, visibleEntities, ...params
|
|
89
89
|
saveQuery: string | null;
|
90
90
|
fullscreen: boolean;
|
91
91
|
clusters: import("../clusters/types").ClustersState;
|
92
|
+
vDisk: import("../vdisk/types").VDiskState;
|
92
93
|
}) => Promise<import("./types").PreparedStorageResponse | undefined>;
|
93
94
|
export declare const getStorageGroupsInfo: ({ tenant, visibleEntities, nodeId, version, ...params }: StorageApiRequestParams) => (dispatch: import("redux").Dispatch<import("redux").UnknownAction>, getState: () => {
|
94
95
|
singleClusterMode: boolean;
|
@@ -171,6 +172,7 @@ export declare const getStorageGroupsInfo: ({ tenant, visibleEntities, nodeId, v
|
|
171
172
|
saveQuery: string | null;
|
172
173
|
fullscreen: boolean;
|
173
174
|
clusters: import("../clusters/types").ClustersState;
|
175
|
+
vDisk: import("../vdisk/types").VDiskState;
|
174
176
|
}) => Promise<import("./types").PreparedStorageResponse | undefined>;
|
175
177
|
export declare function setInitialState(): {
|
176
178
|
readonly type: "storage/SET_INITIAL";
|
@@ -28,7 +28,7 @@ export interface PreparedStorageGroup extends TStorageGroupInfo {
|
|
28
28
|
Used: number;
|
29
29
|
Limit: number;
|
30
30
|
Degraded: number;
|
31
|
-
|
31
|
+
MediaType?: string;
|
32
32
|
UsedSpaceFlag: number;
|
33
33
|
VDisks?: PreparedVDisk[];
|
34
34
|
}
|
@@ -48,6 +48,8 @@ export interface StorageSortAndFilterParams extends StorageSortParams {
|
|
48
48
|
export interface StorageApiRequestParams extends StorageSortAndFilterParams {
|
49
49
|
tenant?: string;
|
50
50
|
nodeId?: string | number;
|
51
|
+
poolName?: string;
|
52
|
+
groupId?: string | number;
|
51
53
|
visibleEntities?: VisibleEntities;
|
52
54
|
version?: EVersion;
|
53
55
|
}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import type { TNodesInfo } from '../../../types/api/nodes';
|
2
2
|
import type { TStorageGroupInfo, TStorageGroupInfoV2, TStorageInfo, TStoragePoolInfo } from '../../../types/api/storage';
|
3
3
|
import type { PreparedStorageGroup, PreparedStorageResponse } from './types';
|
4
|
-
export declare const prepareStorageGroupData: (group: TStorageGroupInfo,
|
4
|
+
export declare const prepareStorageGroupData: (group: TStorageGroupInfo, pool: TStoragePoolInfo) => PreparedStorageGroup;
|
5
5
|
export declare const prepareStorageGroupDataV2: (group: TStorageGroupInfoV2) => PreparedStorageGroup;
|
6
6
|
export declare const prepareStorageGroups: (StorageGroups?: TStorageGroupInfoV2[], StoragePools?: TStoragePoolInfo[]) => PreparedStorageGroup[];
|
7
7
|
export declare const prepareStorageNodesResponse: (data: TNodesInfo) => PreparedStorageResponse;
|