@cloud-ru/uikit-product-calculator 1.9.6 → 1.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/dist/cjs/config/platforms/evolution/catalog.js +1 -0
- package/dist/cjs/config/platforms/evolution/constants.d.ts +1 -0
- package/dist/cjs/config/platforms/evolution/constants.js +1 -0
- package/dist/cjs/config/platforms/evolution/product-config/EvolutionManagedAirflow.d.ts +2 -0
- package/dist/cjs/config/platforms/evolution/product-config/EvolutionManagedAirflow.js +171 -0
- package/dist/cjs/config/platforms/evolution/product-config/index.d.ts +1 -0
- package/dist/cjs/config/platforms/evolution/product-config/index.js +1 -0
- package/dist/cjs/config/platforms/evolution/products.js +11 -0
- package/dist/cjs/config/utils/index.d.ts +1 -0
- package/dist/cjs/config/utils/index.js +3 -1
- package/dist/esm/config/platforms/evolution/catalog.js +1 -0
- package/dist/esm/config/platforms/evolution/constants.d.ts +1 -0
- package/dist/esm/config/platforms/evolution/constants.js +1 -0
- package/dist/esm/config/platforms/evolution/product-config/EvolutionManagedAirflow.d.ts +2 -0
- package/dist/esm/config/platforms/evolution/product-config/EvolutionManagedAirflow.js +168 -0
- package/dist/esm/config/platforms/evolution/product-config/index.d.ts +1 -0
- package/dist/esm/config/platforms/evolution/product-config/index.js +1 -0
- package/dist/esm/config/platforms/evolution/products.js +13 -2
- package/dist/esm/config/utils/index.d.ts +1 -0
- package/dist/esm/config/utils/index.js +1 -0
- package/package.json +7 -7
- package/src/config/platforms/evolution/catalog.tsx +1 -0
- package/src/config/platforms/evolution/constants.ts +1 -0
- package/src/config/platforms/evolution/product-config/EvolutionManagedAirflow.ts +177 -0
- package/src/config/platforms/evolution/product-config/index.ts +1 -0
- package/src/config/platforms/evolution/products.ts +13 -0
- package/src/config/utils/index.ts +3 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# 1.10.0 (2026-06-15)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **SITE-11165:** adding airflow calculator config ([447beb0](https://github.com/cloud-ru-tech/uikit-product/commit/447beb05c65cc717766a01cdc7e3943020673d65))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
## 1.9.6 (2026-06-10)
|
|
7
18
|
|
|
8
19
|
### Only dependencies have been changed
|
|
@@ -76,6 +76,7 @@ exports.EVOLUTION_CATALOG = {
|
|
|
76
76
|
constants_2.EVOLUTION_PRODUCT.EvolutionManagedRedis,
|
|
77
77
|
constants_2.EVOLUTION_PRODUCT.EvolutionManagedSpark,
|
|
78
78
|
constants_2.EVOLUTION_PRODUCT.EvolutionManagedBI,
|
|
79
|
+
constants_2.EVOLUTION_PRODUCT.EvolutionManagedAirflow,
|
|
79
80
|
],
|
|
80
81
|
},
|
|
81
82
|
{
|
|
@@ -17,6 +17,7 @@ export declare const EVOLUTION_PRODUCT: {
|
|
|
17
17
|
readonly EvolutionArtifactRegistry: "evolutionArtifactRegistry";
|
|
18
18
|
readonly EvolutionManagedTrino: "evolutionManagedTrino";
|
|
19
19
|
readonly EvolutionManagedBI: "evolutionManagedBI";
|
|
20
|
+
readonly EvolutionManagedAirflow: "evolutionManagedAirflow";
|
|
20
21
|
readonly EvolutionManagedRedis: "evolutionManagedRedis";
|
|
21
22
|
readonly EvolutionManagedClickHouse: "evolutionManagedClickHouse";
|
|
22
23
|
readonly EvolutionManagedSpark: "evolutionManagedSpark";
|
|
@@ -20,6 +20,7 @@ exports.EVOLUTION_PRODUCT = {
|
|
|
20
20
|
EvolutionArtifactRegistry: 'evolutionArtifactRegistry',
|
|
21
21
|
EvolutionManagedTrino: 'evolutionManagedTrino',
|
|
22
22
|
EvolutionManagedBI: 'evolutionManagedBI',
|
|
23
|
+
EvolutionManagedAirflow: 'evolutionManagedAirflow',
|
|
23
24
|
EvolutionManagedRedis: 'evolutionManagedRedis',
|
|
24
25
|
EvolutionManagedClickHouse: 'evolutionManagedClickHouse',
|
|
25
26
|
EvolutionManagedSpark: 'evolutionManagedSpark',
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EVOLUTION_MANAGED_AIRFLOW_CONFIG = void 0;
|
|
4
|
+
const components_1 = require("../../../../components");
|
|
5
|
+
const utils_1 = require("../../../utils");
|
|
6
|
+
const flavorsConfig = [
|
|
7
|
+
{ label: '2vCPU, 4ГБ RAM', value: '2 4' },
|
|
8
|
+
{ label: '4vCPU, 8ГБ RAM', value: '4 8' },
|
|
9
|
+
{ label: '4vCPU, 8ГБ RAM', value: '4 8' },
|
|
10
|
+
{ label: '4vCPU, 16ГБ RAM', value: '4 16' },
|
|
11
|
+
{ label: '4vCPU, 32ГБ RAM', value: '4 32' },
|
|
12
|
+
{ label: '4vCPU, 64ГБ RAM', value: '4 64' },
|
|
13
|
+
{ label: '8vCPU, 16ГБ RAM', value: '8 16' },
|
|
14
|
+
{ label: '8vCPU, 32ГБ RAM', value: '8 32' },
|
|
15
|
+
{ label: '8vCPU, 64ГБ RAM', value: '8 64' },
|
|
16
|
+
{ label: '8vCPU, 128ГБ RAM', value: '8 128' },
|
|
17
|
+
{ label: '16vCPU, 32ГБ RAM', value: '16 32' },
|
|
18
|
+
{ label: '16vCPU, 64ГБ RAM', value: '16 64' },
|
|
19
|
+
];
|
|
20
|
+
const quantityConfig = {
|
|
21
|
+
min: 1,
|
|
22
|
+
max: 10,
|
|
23
|
+
};
|
|
24
|
+
exports.EVOLUTION_MANAGED_AIRFLOW_CONFIG = {
|
|
25
|
+
ui: [
|
|
26
|
+
['webserverConfig', 'webserverCount'],
|
|
27
|
+
['schedulerConfig', 'schedulerCount'],
|
|
28
|
+
['workerConfig', 'workerCount'],
|
|
29
|
+
['dagProcessorConfig', 'dagProcessorCount'],
|
|
30
|
+
'withTriggerer',
|
|
31
|
+
['triggererConfig', 'triggererCount'],
|
|
32
|
+
],
|
|
33
|
+
controls: {
|
|
34
|
+
webserverConfig: {
|
|
35
|
+
type: components_1.CONTROL.SelectSingle,
|
|
36
|
+
accessorKey: 'webServerConfig',
|
|
37
|
+
decoratorProps: {
|
|
38
|
+
label: 'Конфигурация веб-сервера',
|
|
39
|
+
labelTooltip: 'Вычислительные ресурсы - Количество ядер vCPU и RAM',
|
|
40
|
+
},
|
|
41
|
+
defaultValue: flavorsConfig[0].value,
|
|
42
|
+
items: flavorsConfig,
|
|
43
|
+
},
|
|
44
|
+
webserverCount: {
|
|
45
|
+
type: components_1.CONTROL.Stepper,
|
|
46
|
+
accessorKey: 'webserverCount',
|
|
47
|
+
defaultValue: 1,
|
|
48
|
+
decoratorProps: {
|
|
49
|
+
label: 'Количество экземпляров',
|
|
50
|
+
},
|
|
51
|
+
uiProps: {
|
|
52
|
+
min: quantityConfig.min,
|
|
53
|
+
max: quantityConfig.max,
|
|
54
|
+
postfix: 'шт',
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
schedulerConfig: {
|
|
58
|
+
type: components_1.CONTROL.SelectSingle,
|
|
59
|
+
accessorKey: 'schedulerConfig',
|
|
60
|
+
decoratorProps: {
|
|
61
|
+
label: 'Конфигурация планировщика',
|
|
62
|
+
labelTooltip: 'Вычислительные ресурсы - Количество ядер vCPU и RAM',
|
|
63
|
+
},
|
|
64
|
+
defaultValue: flavorsConfig[0].value,
|
|
65
|
+
items: flavorsConfig,
|
|
66
|
+
},
|
|
67
|
+
schedulerCount: {
|
|
68
|
+
type: components_1.CONTROL.Stepper,
|
|
69
|
+
accessorKey: 'schedulerCount',
|
|
70
|
+
defaultValue: 1,
|
|
71
|
+
decoratorProps: {
|
|
72
|
+
label: 'Количество экземпляров',
|
|
73
|
+
},
|
|
74
|
+
uiProps: {
|
|
75
|
+
min: quantityConfig.min,
|
|
76
|
+
max: quantityConfig.max,
|
|
77
|
+
postfix: 'шт',
|
|
78
|
+
},
|
|
79
|
+
},
|
|
80
|
+
workerConfig: {
|
|
81
|
+
type: components_1.CONTROL.SelectSingle,
|
|
82
|
+
accessorKey: 'workerConfig',
|
|
83
|
+
decoratorProps: {
|
|
84
|
+
label: 'Конфигурация воркеров',
|
|
85
|
+
labelTooltip: 'Вычислительные ресурсы - Количество ядер vCPU и RAM',
|
|
86
|
+
},
|
|
87
|
+
defaultValue: flavorsConfig[0].value,
|
|
88
|
+
items: flavorsConfig,
|
|
89
|
+
},
|
|
90
|
+
workerCount: {
|
|
91
|
+
type: components_1.CONTROL.Slider,
|
|
92
|
+
accessorKey: 'workerCount',
|
|
93
|
+
defaultValue: '1',
|
|
94
|
+
decoratorProps: {
|
|
95
|
+
label: 'Минимальное и максимальное количество воркеров',
|
|
96
|
+
},
|
|
97
|
+
items: (0, utils_1.fillArrayWithNumbers)(quantityConfig.min, quantityConfig.max),
|
|
98
|
+
},
|
|
99
|
+
dagProcessorConfig: {
|
|
100
|
+
type: components_1.CONTROL.SelectSingle,
|
|
101
|
+
accessorKey: 'dagProcessorConfig',
|
|
102
|
+
decoratorProps: {
|
|
103
|
+
label: 'Конфигурация DAG-процессора',
|
|
104
|
+
labelTooltip: 'Вычислительные ресурсы - Количество ядер vCPU и RAM',
|
|
105
|
+
},
|
|
106
|
+
defaultValue: flavorsConfig[0].value,
|
|
107
|
+
items: flavorsConfig,
|
|
108
|
+
},
|
|
109
|
+
dagProcessorCount: {
|
|
110
|
+
type: components_1.CONTROL.Stepper,
|
|
111
|
+
accessorKey: 'dagProcessorCount',
|
|
112
|
+
defaultValue: 1,
|
|
113
|
+
decoratorProps: {
|
|
114
|
+
label: 'Количество экземпляров',
|
|
115
|
+
},
|
|
116
|
+
uiProps: {
|
|
117
|
+
min: quantityConfig.min,
|
|
118
|
+
max: quantityConfig.max,
|
|
119
|
+
postfix: 'шт',
|
|
120
|
+
},
|
|
121
|
+
},
|
|
122
|
+
withTriggerer: {
|
|
123
|
+
type: components_1.CONTROL.Toggle,
|
|
124
|
+
accessorKey: 'withTriggerer',
|
|
125
|
+
defaultValue: false,
|
|
126
|
+
decoratorProps: {
|
|
127
|
+
label: 'Включить Triggerer',
|
|
128
|
+
labelTooltip: 'Компонент для автоматизации запуска задач, что упрощает управление рабочими процессами и повышает их эффективность',
|
|
129
|
+
},
|
|
130
|
+
},
|
|
131
|
+
triggererConfig: {
|
|
132
|
+
type: components_1.CONTROL.SelectSingle,
|
|
133
|
+
accessorKey: 'triggererConfig',
|
|
134
|
+
decoratorProps: {
|
|
135
|
+
label: 'Конфигурация triggerer',
|
|
136
|
+
labelTooltip: 'Вычислительные ресурсы - Количество ядер vCPU и RAM',
|
|
137
|
+
},
|
|
138
|
+
defaultValue: flavorsConfig[0].value,
|
|
139
|
+
items: flavorsConfig,
|
|
140
|
+
watchedControls: {
|
|
141
|
+
withTriggerer: 'withTriggerer',
|
|
142
|
+
},
|
|
143
|
+
relateFn: ({ withTriggerer }) => ({
|
|
144
|
+
uiProps: {
|
|
145
|
+
visible: withTriggerer,
|
|
146
|
+
},
|
|
147
|
+
}),
|
|
148
|
+
},
|
|
149
|
+
triggererCount: {
|
|
150
|
+
type: components_1.CONTROL.Stepper,
|
|
151
|
+
accessorKey: 'triggererCount',
|
|
152
|
+
defaultValue: 1,
|
|
153
|
+
decoratorProps: {
|
|
154
|
+
label: 'Количество экземпляров',
|
|
155
|
+
},
|
|
156
|
+
uiProps: {
|
|
157
|
+
min: quantityConfig.min,
|
|
158
|
+
max: quantityConfig.max,
|
|
159
|
+
postfix: 'шт',
|
|
160
|
+
},
|
|
161
|
+
watchedControls: {
|
|
162
|
+
withTriggerer: 'withTriggerer',
|
|
163
|
+
},
|
|
164
|
+
relateFn: ({ withTriggerer }) => ({
|
|
165
|
+
uiProps: {
|
|
166
|
+
visible: withTriggerer,
|
|
167
|
+
},
|
|
168
|
+
}),
|
|
169
|
+
},
|
|
170
|
+
},
|
|
171
|
+
};
|
|
@@ -38,3 +38,4 @@ __exportStar(require("./EvolutionManagedRedis"), exports);
|
|
|
38
38
|
__exportStar(require("./EvolutionManagedClickHouse"), exports);
|
|
39
39
|
__exportStar(require("./EvolutionManagedSpark"), exports);
|
|
40
40
|
__exportStar(require("./EvolutionManagedKafka"), exports);
|
|
41
|
+
__exportStar(require("./EvolutionManagedAirflow"), exports);
|
|
@@ -257,6 +257,17 @@ exports.EVOLUTION_PRODUCTS = {
|
|
|
257
257
|
freeTier: true,
|
|
258
258
|
enableConnectToConsole: true,
|
|
259
259
|
},
|
|
260
|
+
[constants_2.EVOLUTION_PRODUCT.EvolutionManagedAirflow]: {
|
|
261
|
+
id: constants_2.EVOLUTION_PRODUCT.EvolutionManagedAirflow,
|
|
262
|
+
platform: constants_1.PLATFORM.Evolution,
|
|
263
|
+
label: 'Evolution Managed Airflow',
|
|
264
|
+
caption: 'Инструмент для оркестрации процессов',
|
|
265
|
+
icon: uikit_product_icons_1.AirflowSVG,
|
|
266
|
+
formConfig: product_config_1.EVOLUTION_MANAGED_AIRFLOW_CONFIG,
|
|
267
|
+
dataTestId: constants_2.EVOLUTION_PRODUCT.EvolutionManagedAirflow,
|
|
268
|
+
enableChangeProductQuantity: false,
|
|
269
|
+
enableConnectToConsole: true,
|
|
270
|
+
},
|
|
260
271
|
[constants_2.EVOLUTION_PRODUCT.EvolutionNotebooks]: {
|
|
261
272
|
id: constants_2.EVOLUTION_PRODUCT.EvolutionNotebooks,
|
|
262
273
|
platform: constants_1.PLATFORM.Evolution,
|
|
@@ -15,6 +15,7 @@ export declare function generateBaseItems(arr: (string | number)[], labelReplace
|
|
|
15
15
|
value: string;
|
|
16
16
|
label: string;
|
|
17
17
|
}[];
|
|
18
|
+
export declare const fillArrayWithNumbers: (from: number, to: number) => number[];
|
|
18
19
|
export * from './disk';
|
|
19
20
|
export * from './eip';
|
|
20
21
|
export * from './obs';
|
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.getMaxWorkingHoursAmount = exports.getNumeralWord = exports.generateRamItems = exports.generateCpuItems = void 0;
|
|
17
|
+
exports.getMaxWorkingHoursAmount = exports.getNumeralWord = exports.fillArrayWithNumbers = exports.generateRamItems = exports.generateCpuItems = void 0;
|
|
18
18
|
exports.generateInstanceConfigItems = generateInstanceConfigItems;
|
|
19
19
|
exports.generateBaseItems = generateBaseItems;
|
|
20
20
|
const constants_1 = require("../../constants");
|
|
@@ -35,6 +35,8 @@ function generateBaseItems(arr, labelReplacerFn) {
|
|
|
35
35
|
label: labelReplacerFn ? labelReplacerFn(String(item)) : String(item),
|
|
36
36
|
}));
|
|
37
37
|
}
|
|
38
|
+
const fillArrayWithNumbers = (from, to) => Array.from({ length: to - from + 1 }, (_, i) => from + i);
|
|
39
|
+
exports.fillArrayWithNumbers = fillArrayWithNumbers;
|
|
38
40
|
__exportStar(require("./disk"), exports);
|
|
39
41
|
__exportStar(require("./eip"), exports);
|
|
40
42
|
__exportStar(require("./obs"), exports);
|
|
@@ -17,6 +17,7 @@ export declare const EVOLUTION_PRODUCT: {
|
|
|
17
17
|
readonly EvolutionArtifactRegistry: "evolutionArtifactRegistry";
|
|
18
18
|
readonly EvolutionManagedTrino: "evolutionManagedTrino";
|
|
19
19
|
readonly EvolutionManagedBI: "evolutionManagedBI";
|
|
20
|
+
readonly EvolutionManagedAirflow: "evolutionManagedAirflow";
|
|
20
21
|
readonly EvolutionManagedRedis: "evolutionManagedRedis";
|
|
21
22
|
readonly EvolutionManagedClickHouse: "evolutionManagedClickHouse";
|
|
22
23
|
readonly EvolutionManagedSpark: "evolutionManagedSpark";
|
|
@@ -17,6 +17,7 @@ export const EVOLUTION_PRODUCT = {
|
|
|
17
17
|
EvolutionArtifactRegistry: 'evolutionArtifactRegistry',
|
|
18
18
|
EvolutionManagedTrino: 'evolutionManagedTrino',
|
|
19
19
|
EvolutionManagedBI: 'evolutionManagedBI',
|
|
20
|
+
EvolutionManagedAirflow: 'evolutionManagedAirflow',
|
|
20
21
|
EvolutionManagedRedis: 'evolutionManagedRedis',
|
|
21
22
|
EvolutionManagedClickHouse: 'evolutionManagedClickHouse',
|
|
22
23
|
EvolutionManagedSpark: 'evolutionManagedSpark',
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import { CONTROL } from '../../../../components';
|
|
2
|
+
import { fillArrayWithNumbers } from '../../../utils';
|
|
3
|
+
const flavorsConfig = [
|
|
4
|
+
{ label: '2vCPU, 4ГБ RAM', value: '2 4' },
|
|
5
|
+
{ label: '4vCPU, 8ГБ RAM', value: '4 8' },
|
|
6
|
+
{ label: '4vCPU, 8ГБ RAM', value: '4 8' },
|
|
7
|
+
{ label: '4vCPU, 16ГБ RAM', value: '4 16' },
|
|
8
|
+
{ label: '4vCPU, 32ГБ RAM', value: '4 32' },
|
|
9
|
+
{ label: '4vCPU, 64ГБ RAM', value: '4 64' },
|
|
10
|
+
{ label: '8vCPU, 16ГБ RAM', value: '8 16' },
|
|
11
|
+
{ label: '8vCPU, 32ГБ RAM', value: '8 32' },
|
|
12
|
+
{ label: '8vCPU, 64ГБ RAM', value: '8 64' },
|
|
13
|
+
{ label: '8vCPU, 128ГБ RAM', value: '8 128' },
|
|
14
|
+
{ label: '16vCPU, 32ГБ RAM', value: '16 32' },
|
|
15
|
+
{ label: '16vCPU, 64ГБ RAM', value: '16 64' },
|
|
16
|
+
];
|
|
17
|
+
const quantityConfig = {
|
|
18
|
+
min: 1,
|
|
19
|
+
max: 10,
|
|
20
|
+
};
|
|
21
|
+
export const EVOLUTION_MANAGED_AIRFLOW_CONFIG = {
|
|
22
|
+
ui: [
|
|
23
|
+
['webserverConfig', 'webserverCount'],
|
|
24
|
+
['schedulerConfig', 'schedulerCount'],
|
|
25
|
+
['workerConfig', 'workerCount'],
|
|
26
|
+
['dagProcessorConfig', 'dagProcessorCount'],
|
|
27
|
+
'withTriggerer',
|
|
28
|
+
['triggererConfig', 'triggererCount'],
|
|
29
|
+
],
|
|
30
|
+
controls: {
|
|
31
|
+
webserverConfig: {
|
|
32
|
+
type: CONTROL.SelectSingle,
|
|
33
|
+
accessorKey: 'webServerConfig',
|
|
34
|
+
decoratorProps: {
|
|
35
|
+
label: 'Конфигурация веб-сервера',
|
|
36
|
+
labelTooltip: 'Вычислительные ресурсы - Количество ядер vCPU и RAM',
|
|
37
|
+
},
|
|
38
|
+
defaultValue: flavorsConfig[0].value,
|
|
39
|
+
items: flavorsConfig,
|
|
40
|
+
},
|
|
41
|
+
webserverCount: {
|
|
42
|
+
type: CONTROL.Stepper,
|
|
43
|
+
accessorKey: 'webserverCount',
|
|
44
|
+
defaultValue: 1,
|
|
45
|
+
decoratorProps: {
|
|
46
|
+
label: 'Количество экземпляров',
|
|
47
|
+
},
|
|
48
|
+
uiProps: {
|
|
49
|
+
min: quantityConfig.min,
|
|
50
|
+
max: quantityConfig.max,
|
|
51
|
+
postfix: 'шт',
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
schedulerConfig: {
|
|
55
|
+
type: CONTROL.SelectSingle,
|
|
56
|
+
accessorKey: 'schedulerConfig',
|
|
57
|
+
decoratorProps: {
|
|
58
|
+
label: 'Конфигурация планировщика',
|
|
59
|
+
labelTooltip: 'Вычислительные ресурсы - Количество ядер vCPU и RAM',
|
|
60
|
+
},
|
|
61
|
+
defaultValue: flavorsConfig[0].value,
|
|
62
|
+
items: flavorsConfig,
|
|
63
|
+
},
|
|
64
|
+
schedulerCount: {
|
|
65
|
+
type: CONTROL.Stepper,
|
|
66
|
+
accessorKey: 'schedulerCount',
|
|
67
|
+
defaultValue: 1,
|
|
68
|
+
decoratorProps: {
|
|
69
|
+
label: 'Количество экземпляров',
|
|
70
|
+
},
|
|
71
|
+
uiProps: {
|
|
72
|
+
min: quantityConfig.min,
|
|
73
|
+
max: quantityConfig.max,
|
|
74
|
+
postfix: 'шт',
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
workerConfig: {
|
|
78
|
+
type: CONTROL.SelectSingle,
|
|
79
|
+
accessorKey: 'workerConfig',
|
|
80
|
+
decoratorProps: {
|
|
81
|
+
label: 'Конфигурация воркеров',
|
|
82
|
+
labelTooltip: 'Вычислительные ресурсы - Количество ядер vCPU и RAM',
|
|
83
|
+
},
|
|
84
|
+
defaultValue: flavorsConfig[0].value,
|
|
85
|
+
items: flavorsConfig,
|
|
86
|
+
},
|
|
87
|
+
workerCount: {
|
|
88
|
+
type: CONTROL.Slider,
|
|
89
|
+
accessorKey: 'workerCount',
|
|
90
|
+
defaultValue: '1',
|
|
91
|
+
decoratorProps: {
|
|
92
|
+
label: 'Минимальное и максимальное количество воркеров',
|
|
93
|
+
},
|
|
94
|
+
items: fillArrayWithNumbers(quantityConfig.min, quantityConfig.max),
|
|
95
|
+
},
|
|
96
|
+
dagProcessorConfig: {
|
|
97
|
+
type: CONTROL.SelectSingle,
|
|
98
|
+
accessorKey: 'dagProcessorConfig',
|
|
99
|
+
decoratorProps: {
|
|
100
|
+
label: 'Конфигурация DAG-процессора',
|
|
101
|
+
labelTooltip: 'Вычислительные ресурсы - Количество ядер vCPU и RAM',
|
|
102
|
+
},
|
|
103
|
+
defaultValue: flavorsConfig[0].value,
|
|
104
|
+
items: flavorsConfig,
|
|
105
|
+
},
|
|
106
|
+
dagProcessorCount: {
|
|
107
|
+
type: CONTROL.Stepper,
|
|
108
|
+
accessorKey: 'dagProcessorCount',
|
|
109
|
+
defaultValue: 1,
|
|
110
|
+
decoratorProps: {
|
|
111
|
+
label: 'Количество экземпляров',
|
|
112
|
+
},
|
|
113
|
+
uiProps: {
|
|
114
|
+
min: quantityConfig.min,
|
|
115
|
+
max: quantityConfig.max,
|
|
116
|
+
postfix: 'шт',
|
|
117
|
+
},
|
|
118
|
+
},
|
|
119
|
+
withTriggerer: {
|
|
120
|
+
type: CONTROL.Toggle,
|
|
121
|
+
accessorKey: 'withTriggerer',
|
|
122
|
+
defaultValue: false,
|
|
123
|
+
decoratorProps: {
|
|
124
|
+
label: 'Включить Triggerer',
|
|
125
|
+
labelTooltip: 'Компонент для автоматизации запуска задач, что упрощает управление рабочими процессами и повышает их эффективность',
|
|
126
|
+
},
|
|
127
|
+
},
|
|
128
|
+
triggererConfig: {
|
|
129
|
+
type: CONTROL.SelectSingle,
|
|
130
|
+
accessorKey: 'triggererConfig',
|
|
131
|
+
decoratorProps: {
|
|
132
|
+
label: 'Конфигурация triggerer',
|
|
133
|
+
labelTooltip: 'Вычислительные ресурсы - Количество ядер vCPU и RAM',
|
|
134
|
+
},
|
|
135
|
+
defaultValue: flavorsConfig[0].value,
|
|
136
|
+
items: flavorsConfig,
|
|
137
|
+
watchedControls: {
|
|
138
|
+
withTriggerer: 'withTriggerer',
|
|
139
|
+
},
|
|
140
|
+
relateFn: ({ withTriggerer }) => ({
|
|
141
|
+
uiProps: {
|
|
142
|
+
visible: withTriggerer,
|
|
143
|
+
},
|
|
144
|
+
}),
|
|
145
|
+
},
|
|
146
|
+
triggererCount: {
|
|
147
|
+
type: CONTROL.Stepper,
|
|
148
|
+
accessorKey: 'triggererCount',
|
|
149
|
+
defaultValue: 1,
|
|
150
|
+
decoratorProps: {
|
|
151
|
+
label: 'Количество экземпляров',
|
|
152
|
+
},
|
|
153
|
+
uiProps: {
|
|
154
|
+
min: quantityConfig.min,
|
|
155
|
+
max: quantityConfig.max,
|
|
156
|
+
postfix: 'шт',
|
|
157
|
+
},
|
|
158
|
+
watchedControls: {
|
|
159
|
+
withTriggerer: 'withTriggerer',
|
|
160
|
+
},
|
|
161
|
+
relateFn: ({ withTriggerer }) => ({
|
|
162
|
+
uiProps: {
|
|
163
|
+
visible: withTriggerer,
|
|
164
|
+
},
|
|
165
|
+
}),
|
|
166
|
+
},
|
|
167
|
+
},
|
|
168
|
+
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ArenadataDbSVG, ArtifactRegistrySVG, BareMetalSVG, ContainerAppsSVG, EvoDnsSVG, EvolutionBiSVG, EvolutionComputeSVG, JupyterServersSVG, LoadBalancerSVG, ManagedClickHouseSVG, ManagedKafkaSVG, ManagedKubernetesSVG, ManagedPostgreSqlSVG, MetastoreSVG, MlInferenceSVG, PublicIpSVG, RedisSVG, S3StorageSVG, SnatSVG, SparkSVG, TrinoSVG, } from '@cloud-ru/uikit-product-icons';
|
|
1
|
+
import { AirflowSVG, ArenadataDbSVG, ArtifactRegistrySVG, BareMetalSVG, ContainerAppsSVG, EvoDnsSVG, EvolutionBiSVG, EvolutionComputeSVG, JupyterServersSVG, LoadBalancerSVG, ManagedClickHouseSVG, ManagedKafkaSVG, ManagedKubernetesSVG, ManagedPostgreSqlSVG, MetastoreSVG, MlInferenceSVG, PublicIpSVG, RedisSVG, S3StorageSVG, SnatSVG, SparkSVG, TrinoSVG, } from '@cloud-ru/uikit-product-icons';
|
|
2
2
|
import { PLATFORM } from '../../../constants';
|
|
3
3
|
import { EVOLUTION_PRODUCT } from './constants';
|
|
4
|
-
import { EVOLUTION_ARENADATA_DB_FORM_CONFIG, EVOLUTION_ARTIFACT_REGISTRY, EVOLUTION_BARE_METAL_FORM_CONFIG, EVOLUTION_CLOUD_SERVER_FORM_CONFIG, EVOLUTION_CLOUD_SERVER_FREE_TIER_FORM_CONFIG, EVOLUTION_CONTAINER_APPS_CONFIG, EVOLUTION_CONTAINER_APPS_FREE_TIER_CONFIG, EVOLUTION_DNS_CONFIG, EVOLUTION_KUBERNETES_FORM_CONFIG, EVOLUTION_LOAD_BALANCER_CONFIG, EVOLUTION_MANAGED_BI, EVOLUTION_MANAGED_CLICKHOUSE_CONFIG, EVOLUTION_MANAGED_KAFKA_CONFIG, EVOLUTION_MANAGED_METASTORE_CONFIG, EVOLUTION_MANAGED_REDIS_CONFIG, EVOLUTION_MANAGED_SPARK_CONFIG, EVOLUTION_MANAGED_TRINO_CONFIG, EVOLUTION_ML_INFERENCE_FORM_CONFIG, EVOLUTION_NOTEBOOKS_CONFIG, EVOLUTION_POSTGRE_SQL_FORM_CONFIG, EVOLUTION_PUBLIC_IP_FORM_CONFIG, EVOLUTION_SNAT_GATEWAY_FORM_CONFIG, EVOLUTION_STORAGE_S3_FORM_CONFIG, EVOLUTION_STORAGE_S3_FREE_TIER_FORM_CONFIG, } from './product-config';
|
|
4
|
+
import { EVOLUTION_ARENADATA_DB_FORM_CONFIG, EVOLUTION_ARTIFACT_REGISTRY, EVOLUTION_BARE_METAL_FORM_CONFIG, EVOLUTION_CLOUD_SERVER_FORM_CONFIG, EVOLUTION_CLOUD_SERVER_FREE_TIER_FORM_CONFIG, EVOLUTION_CONTAINER_APPS_CONFIG, EVOLUTION_CONTAINER_APPS_FREE_TIER_CONFIG, EVOLUTION_DNS_CONFIG, EVOLUTION_KUBERNETES_FORM_CONFIG, EVOLUTION_LOAD_BALANCER_CONFIG, EVOLUTION_MANAGED_AIRFLOW_CONFIG, EVOLUTION_MANAGED_BI, EVOLUTION_MANAGED_CLICKHOUSE_CONFIG, EVOLUTION_MANAGED_KAFKA_CONFIG, EVOLUTION_MANAGED_METASTORE_CONFIG, EVOLUTION_MANAGED_REDIS_CONFIG, EVOLUTION_MANAGED_SPARK_CONFIG, EVOLUTION_MANAGED_TRINO_CONFIG, EVOLUTION_ML_INFERENCE_FORM_CONFIG, EVOLUTION_NOTEBOOKS_CONFIG, EVOLUTION_POSTGRE_SQL_FORM_CONFIG, EVOLUTION_PUBLIC_IP_FORM_CONFIG, EVOLUTION_SNAT_GATEWAY_FORM_CONFIG, EVOLUTION_STORAGE_S3_FORM_CONFIG, EVOLUTION_STORAGE_S3_FREE_TIER_FORM_CONFIG, } from './product-config';
|
|
5
5
|
export const EVOLUTION_PRODUCTS = {
|
|
6
6
|
[EVOLUTION_PRODUCT.EvolutionCloudServer]: {
|
|
7
7
|
id: EVOLUTION_PRODUCT.EvolutionCloudServer,
|
|
@@ -254,6 +254,17 @@ export const EVOLUTION_PRODUCTS = {
|
|
|
254
254
|
freeTier: true,
|
|
255
255
|
enableConnectToConsole: true,
|
|
256
256
|
},
|
|
257
|
+
[EVOLUTION_PRODUCT.EvolutionManagedAirflow]: {
|
|
258
|
+
id: EVOLUTION_PRODUCT.EvolutionManagedAirflow,
|
|
259
|
+
platform: PLATFORM.Evolution,
|
|
260
|
+
label: 'Evolution Managed Airflow',
|
|
261
|
+
caption: 'Инструмент для оркестрации процессов',
|
|
262
|
+
icon: AirflowSVG,
|
|
263
|
+
formConfig: EVOLUTION_MANAGED_AIRFLOW_CONFIG,
|
|
264
|
+
dataTestId: EVOLUTION_PRODUCT.EvolutionManagedAirflow,
|
|
265
|
+
enableChangeProductQuantity: false,
|
|
266
|
+
enableConnectToConsole: true,
|
|
267
|
+
},
|
|
257
268
|
[EVOLUTION_PRODUCT.EvolutionNotebooks]: {
|
|
258
269
|
id: EVOLUTION_PRODUCT.EvolutionNotebooks,
|
|
259
270
|
platform: PLATFORM.Evolution,
|
|
@@ -15,6 +15,7 @@ export declare function generateBaseItems(arr: (string | number)[], labelReplace
|
|
|
15
15
|
value: string;
|
|
16
16
|
label: string;
|
|
17
17
|
}[];
|
|
18
|
+
export declare const fillArrayWithNumbers: (from: number, to: number) => number[];
|
|
18
19
|
export * from './disk';
|
|
19
20
|
export * from './eip';
|
|
20
21
|
export * from './obs';
|
|
@@ -14,6 +14,7 @@ export function generateBaseItems(arr, labelReplacerFn) {
|
|
|
14
14
|
label: labelReplacerFn ? labelReplacerFn(String(item)) : String(item),
|
|
15
15
|
}));
|
|
16
16
|
}
|
|
17
|
+
export const fillArrayWithNumbers = (from, to) => Array.from({ length: to - from + 1 }, (_, i) => from + i);
|
|
17
18
|
export * from './disk';
|
|
18
19
|
export * from './eip';
|
|
19
20
|
export * from './obs';
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloud-ru/uikit-product-calculator",
|
|
3
3
|
"title": "Calculator",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.10.0",
|
|
5
5
|
"sideEffects": [
|
|
6
6
|
"*.css",
|
|
7
7
|
"*.woff",
|
|
@@ -37,11 +37,11 @@
|
|
|
37
37
|
"scripts": {},
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@cloud-ru/ft-copy-to-clipboard": "0.1.0",
|
|
40
|
-
"@cloud-ru/uikit-product-icons": "17.
|
|
41
|
-
"@cloud-ru/uikit-product-mobile-accordion": "1.1.
|
|
42
|
-
"@cloud-ru/uikit-product-mobile-dropdown": "2.1.
|
|
43
|
-
"@cloud-ru/uikit-product-mobile-fields": "2.2.
|
|
44
|
-
"@cloud-ru/uikit-product-mobile-modal": "2.1.
|
|
40
|
+
"@cloud-ru/uikit-product-icons": "17.5.0",
|
|
41
|
+
"@cloud-ru/uikit-product-mobile-accordion": "1.1.14",
|
|
42
|
+
"@cloud-ru/uikit-product-mobile-dropdown": "2.1.16",
|
|
43
|
+
"@cloud-ru/uikit-product-mobile-fields": "2.2.1",
|
|
44
|
+
"@cloud-ru/uikit-product-mobile-modal": "2.1.6",
|
|
45
45
|
"@cloud-ru/uikit-product-utils": "9.1.0",
|
|
46
46
|
"@snack-uikit/alert": "0.16.28",
|
|
47
47
|
"@snack-uikit/button": "0.19.7",
|
|
@@ -71,5 +71,5 @@
|
|
|
71
71
|
"devDependencies": {
|
|
72
72
|
"@types/lodash": "4.17.13"
|
|
73
73
|
},
|
|
74
|
-
"gitHead": "
|
|
74
|
+
"gitHead": "82c3199da1b9ed2c30651169a39e0848d2b8a519"
|
|
75
75
|
}
|
|
@@ -17,6 +17,7 @@ export const EVOLUTION_PRODUCT = {
|
|
|
17
17
|
EvolutionArtifactRegistry: 'evolutionArtifactRegistry',
|
|
18
18
|
EvolutionManagedTrino: 'evolutionManagedTrino',
|
|
19
19
|
EvolutionManagedBI: 'evolutionManagedBI',
|
|
20
|
+
EvolutionManagedAirflow: 'evolutionManagedAirflow',
|
|
20
21
|
EvolutionManagedRedis: 'evolutionManagedRedis',
|
|
21
22
|
EvolutionManagedClickHouse: 'evolutionManagedClickHouse',
|
|
22
23
|
EvolutionManagedSpark: 'evolutionManagedSpark',
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import { CONTROL, FormConfig } from '../../../../components';
|
|
2
|
+
import { fillArrayWithNumbers } from '../../../utils';
|
|
3
|
+
|
|
4
|
+
const flavorsConfig = [
|
|
5
|
+
{ label: '2vCPU, 4ГБ RAM', value: '2 4' },
|
|
6
|
+
{ label: '4vCPU, 8ГБ RAM', value: '4 8' },
|
|
7
|
+
{ label: '4vCPU, 8ГБ RAM', value: '4 8' },
|
|
8
|
+
{ label: '4vCPU, 16ГБ RAM', value: '4 16' },
|
|
9
|
+
{ label: '4vCPU, 32ГБ RAM', value: '4 32' },
|
|
10
|
+
{ label: '4vCPU, 64ГБ RAM', value: '4 64' },
|
|
11
|
+
{ label: '8vCPU, 16ГБ RAM', value: '8 16' },
|
|
12
|
+
{ label: '8vCPU, 32ГБ RAM', value: '8 32' },
|
|
13
|
+
{ label: '8vCPU, 64ГБ RAM', value: '8 64' },
|
|
14
|
+
{ label: '8vCPU, 128ГБ RAM', value: '8 128' },
|
|
15
|
+
{ label: '16vCPU, 32ГБ RAM', value: '16 32' },
|
|
16
|
+
{ label: '16vCPU, 64ГБ RAM', value: '16 64' },
|
|
17
|
+
];
|
|
18
|
+
|
|
19
|
+
const quantityConfig = {
|
|
20
|
+
min: 1,
|
|
21
|
+
max: 10,
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export const EVOLUTION_MANAGED_AIRFLOW_CONFIG: FormConfig = {
|
|
25
|
+
ui: [
|
|
26
|
+
['webserverConfig', 'webserverCount'],
|
|
27
|
+
['schedulerConfig', 'schedulerCount'],
|
|
28
|
+
['workerConfig', 'workerCount'],
|
|
29
|
+
['dagProcessorConfig', 'dagProcessorCount'],
|
|
30
|
+
'withTriggerer',
|
|
31
|
+
['triggererConfig', 'triggererCount'],
|
|
32
|
+
],
|
|
33
|
+
controls: {
|
|
34
|
+
webserverConfig: {
|
|
35
|
+
type: CONTROL.SelectSingle,
|
|
36
|
+
accessorKey: 'webServerConfig',
|
|
37
|
+
decoratorProps: {
|
|
38
|
+
label: 'Конфигурация веб-сервера',
|
|
39
|
+
labelTooltip: 'Вычислительные ресурсы - Количество ядер vCPU и RAM',
|
|
40
|
+
},
|
|
41
|
+
defaultValue: flavorsConfig[0].value,
|
|
42
|
+
items: flavorsConfig,
|
|
43
|
+
},
|
|
44
|
+
webserverCount: {
|
|
45
|
+
type: CONTROL.Stepper,
|
|
46
|
+
accessorKey: 'webserverCount',
|
|
47
|
+
defaultValue: 1,
|
|
48
|
+
decoratorProps: {
|
|
49
|
+
label: 'Количество экземпляров',
|
|
50
|
+
},
|
|
51
|
+
uiProps: {
|
|
52
|
+
min: quantityConfig.min,
|
|
53
|
+
max: quantityConfig.max,
|
|
54
|
+
postfix: 'шт',
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
|
|
58
|
+
schedulerConfig: {
|
|
59
|
+
type: CONTROL.SelectSingle,
|
|
60
|
+
accessorKey: 'schedulerConfig',
|
|
61
|
+
decoratorProps: {
|
|
62
|
+
label: 'Конфигурация планировщика',
|
|
63
|
+
labelTooltip: 'Вычислительные ресурсы - Количество ядер vCPU и RAM',
|
|
64
|
+
},
|
|
65
|
+
defaultValue: flavorsConfig[0].value,
|
|
66
|
+
items: flavorsConfig,
|
|
67
|
+
},
|
|
68
|
+
schedulerCount: {
|
|
69
|
+
type: CONTROL.Stepper,
|
|
70
|
+
accessorKey: 'schedulerCount',
|
|
71
|
+
defaultValue: 1,
|
|
72
|
+
decoratorProps: {
|
|
73
|
+
label: 'Количество экземпляров',
|
|
74
|
+
},
|
|
75
|
+
uiProps: {
|
|
76
|
+
min: quantityConfig.min,
|
|
77
|
+
max: quantityConfig.max,
|
|
78
|
+
postfix: 'шт',
|
|
79
|
+
},
|
|
80
|
+
},
|
|
81
|
+
|
|
82
|
+
workerConfig: {
|
|
83
|
+
type: CONTROL.SelectSingle,
|
|
84
|
+
accessorKey: 'workerConfig',
|
|
85
|
+
decoratorProps: {
|
|
86
|
+
label: 'Конфигурация воркеров',
|
|
87
|
+
labelTooltip: 'Вычислительные ресурсы - Количество ядер vCPU и RAM',
|
|
88
|
+
},
|
|
89
|
+
defaultValue: flavorsConfig[0].value,
|
|
90
|
+
items: flavorsConfig,
|
|
91
|
+
},
|
|
92
|
+
workerCount: {
|
|
93
|
+
type: CONTROL.Slider,
|
|
94
|
+
accessorKey: 'workerCount',
|
|
95
|
+
defaultValue: '1',
|
|
96
|
+
decoratorProps: {
|
|
97
|
+
label: 'Минимальное и максимальное количество воркеров',
|
|
98
|
+
},
|
|
99
|
+
items: fillArrayWithNumbers(quantityConfig.min, quantityConfig.max),
|
|
100
|
+
},
|
|
101
|
+
|
|
102
|
+
dagProcessorConfig: {
|
|
103
|
+
type: CONTROL.SelectSingle,
|
|
104
|
+
accessorKey: 'dagProcessorConfig',
|
|
105
|
+
decoratorProps: {
|
|
106
|
+
label: 'Конфигурация DAG-процессора',
|
|
107
|
+
labelTooltip: 'Вычислительные ресурсы - Количество ядер vCPU и RAM',
|
|
108
|
+
},
|
|
109
|
+
defaultValue: flavorsConfig[0].value,
|
|
110
|
+
items: flavorsConfig,
|
|
111
|
+
},
|
|
112
|
+
dagProcessorCount: {
|
|
113
|
+
type: CONTROL.Stepper,
|
|
114
|
+
accessorKey: 'dagProcessorCount',
|
|
115
|
+
defaultValue: 1,
|
|
116
|
+
decoratorProps: {
|
|
117
|
+
label: 'Количество экземпляров',
|
|
118
|
+
},
|
|
119
|
+
uiProps: {
|
|
120
|
+
min: quantityConfig.min,
|
|
121
|
+
max: quantityConfig.max,
|
|
122
|
+
postfix: 'шт',
|
|
123
|
+
},
|
|
124
|
+
},
|
|
125
|
+
|
|
126
|
+
withTriggerer: {
|
|
127
|
+
type: CONTROL.Toggle,
|
|
128
|
+
accessorKey: 'withTriggerer',
|
|
129
|
+
defaultValue: false,
|
|
130
|
+
decoratorProps: {
|
|
131
|
+
label: 'Включить Triggerer',
|
|
132
|
+
labelTooltip:
|
|
133
|
+
'Компонент для автоматизации запуска задач, что упрощает управление рабочими процессами и повышает их эффективность',
|
|
134
|
+
},
|
|
135
|
+
},
|
|
136
|
+
|
|
137
|
+
triggererConfig: {
|
|
138
|
+
type: CONTROL.SelectSingle,
|
|
139
|
+
accessorKey: 'triggererConfig',
|
|
140
|
+
decoratorProps: {
|
|
141
|
+
label: 'Конфигурация triggerer',
|
|
142
|
+
labelTooltip: 'Вычислительные ресурсы - Количество ядер vCPU и RAM',
|
|
143
|
+
},
|
|
144
|
+
defaultValue: flavorsConfig[0].value,
|
|
145
|
+
items: flavorsConfig,
|
|
146
|
+
watchedControls: {
|
|
147
|
+
withTriggerer: 'withTriggerer',
|
|
148
|
+
},
|
|
149
|
+
relateFn: ({ withTriggerer }) => ({
|
|
150
|
+
uiProps: {
|
|
151
|
+
visible: withTriggerer,
|
|
152
|
+
},
|
|
153
|
+
}),
|
|
154
|
+
},
|
|
155
|
+
triggererCount: {
|
|
156
|
+
type: CONTROL.Stepper,
|
|
157
|
+
accessorKey: 'triggererCount',
|
|
158
|
+
defaultValue: 1,
|
|
159
|
+
decoratorProps: {
|
|
160
|
+
label: 'Количество экземпляров',
|
|
161
|
+
},
|
|
162
|
+
uiProps: {
|
|
163
|
+
min: quantityConfig.min,
|
|
164
|
+
max: quantityConfig.max,
|
|
165
|
+
postfix: 'шт',
|
|
166
|
+
},
|
|
167
|
+
watchedControls: {
|
|
168
|
+
withTriggerer: 'withTriggerer',
|
|
169
|
+
},
|
|
170
|
+
relateFn: ({ withTriggerer }) => ({
|
|
171
|
+
uiProps: {
|
|
172
|
+
visible: withTriggerer,
|
|
173
|
+
},
|
|
174
|
+
}),
|
|
175
|
+
},
|
|
176
|
+
},
|
|
177
|
+
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import {
|
|
2
|
+
AirflowSVG,
|
|
2
3
|
ArenadataDbSVG,
|
|
3
4
|
ArtifactRegistrySVG,
|
|
4
5
|
BareMetalSVG,
|
|
@@ -36,6 +37,7 @@ import {
|
|
|
36
37
|
EVOLUTION_DNS_CONFIG,
|
|
37
38
|
EVOLUTION_KUBERNETES_FORM_CONFIG,
|
|
38
39
|
EVOLUTION_LOAD_BALANCER_CONFIG,
|
|
40
|
+
EVOLUTION_MANAGED_AIRFLOW_CONFIG,
|
|
39
41
|
EVOLUTION_MANAGED_BI,
|
|
40
42
|
EVOLUTION_MANAGED_CLICKHOUSE_CONFIG,
|
|
41
43
|
EVOLUTION_MANAGED_KAFKA_CONFIG,
|
|
@@ -305,6 +307,17 @@ export const EVOLUTION_PRODUCTS: CatalogConfig['products'] = {
|
|
|
305
307
|
freeTier: true,
|
|
306
308
|
enableConnectToConsole: true,
|
|
307
309
|
},
|
|
310
|
+
[EVOLUTION_PRODUCT.EvolutionManagedAirflow]: {
|
|
311
|
+
id: EVOLUTION_PRODUCT.EvolutionManagedAirflow,
|
|
312
|
+
platform: PLATFORM.Evolution,
|
|
313
|
+
label: 'Evolution Managed Airflow',
|
|
314
|
+
caption: 'Инструмент для оркестрации процессов',
|
|
315
|
+
icon: AirflowSVG,
|
|
316
|
+
formConfig: EVOLUTION_MANAGED_AIRFLOW_CONFIG,
|
|
317
|
+
dataTestId: EVOLUTION_PRODUCT.EvolutionManagedAirflow,
|
|
318
|
+
enableChangeProductQuantity: false,
|
|
319
|
+
enableConnectToConsole: true,
|
|
320
|
+
},
|
|
308
321
|
[EVOLUTION_PRODUCT.EvolutionNotebooks]: {
|
|
309
322
|
id: EVOLUTION_PRODUCT.EvolutionNotebooks,
|
|
310
323
|
platform: PLATFORM.Evolution,
|
|
@@ -17,6 +17,9 @@ export function generateBaseItems(arr: (string | number)[], labelReplacerFn?: (v
|
|
|
17
17
|
}));
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
+
export const fillArrayWithNumbers = (from: number, to: number) =>
|
|
21
|
+
Array.from({ length: to - from + 1 }, (_, i) => from + i);
|
|
22
|
+
|
|
20
23
|
export * from './disk';
|
|
21
24
|
export * from './eip';
|
|
22
25
|
export * from './obs';
|