@dovetail-v2/refine 0.3.8-alpha.4 → 0.3.9-alpha.1
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/dist/{MonacoYamlEditor-7e440dd9.cjs → MonacoYamlEditor-16a71448.cjs} +1 -1
- package/dist/{MonacoYamlEditor-70599129.js → MonacoYamlEditor-be30f2cd.js} +1 -1
- package/dist/components/EditMetadataForm/EditNodeTaintForm.d.ts +2 -6
- package/dist/components/EditMetadataForm/NodeTaintEffectSelect.d.ts +16 -0
- package/dist/components/EditMetadataForm/index.d.ts +1 -0
- package/dist/components/KeyValueTableForm/index.d.ts +4 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/i18n.d.ts +2 -0
- package/dist/{index-59def48b.js → index-50687482.js} +321 -231
- package/dist/{index-fec9ef27.cjs → index-ce201e8c.cjs} +242 -152
- package/dist/locales/zh-CN/index.d.ts +2 -0
- package/dist/models/pod-model.d.ts +1 -3
- package/dist/refine.cjs +7 -2
- package/dist/refine.js +84 -79
- package/dist/utils/validation.d.ts +14 -6
- package/package.json +2 -1
|
@@ -9,9 +9,9 @@ import i18n from "i18next";
|
|
|
9
9
|
import { w as warnOnce, g as getDefaults, a as warn, b as getI18n, s as setDefaults, d as setI18n, I as I18nContext, j as jsxRuntimeExports, u as useTranslation, c as cx_default, S as SocketStatus } from "./common-241b21f8.js";
|
|
10
10
|
import { ResourceContext, matchResourceFromRoute, useResource, useDelete, useNavigation, useBreadcrumb, useList, CanAccess, useUpdate, useParsed, useGo, useCan, useTable, useDeleteMany, useShow, useRefineContext, useTranslate, useWarnAboutChange, useForm as useForm$2, flattenObjectKeys, pickNotDeprecated, useMenu, Refine } from "@refinedev/core";
|
|
11
11
|
import { parse, stringify } from "qs";
|
|
12
|
-
import React, { createElement, isValidElement, cloneElement, Children, useContext, useCallback, createContext, useState, useEffect, useMemo, useRef, useImperativeHandle, lazy, Suspense, forwardRef } from "react";
|
|
12
|
+
import React, { createElement, isValidElement, cloneElement, Children, useContext, useCallback, createContext, useState, useEffect, useMemo, useRef, useImperativeHandle, lazy, Suspense, memo, forwardRef } from "react";
|
|
13
13
|
import { useLocation, useHistory, useParams, matchPath, Link, Route, NavLink, Router } from "react-router-dom";
|
|
14
|
-
import { usePushModal, usePopModal, DeleteDialog, Tag, RejectDialog, RejectDialogType, Input, Select, AntdOption, Button, Form, Space, TextArea, kitContext, Typo, Loading, Table as Table$2, Pagination, Alert, ImmersiveDialog, SmallDialog, Fields, Units, Link as Link$1, OverflowTooltip, Tooltip, Dropdown, Menu as Menu$1, Icon, Divider, Modal, StatusCapsule, Popover, AntdTable, TableForm, Upload, getOptions, DonutChart, SegmentControl, Checkbox, Tabs as Tabs$1, TabsTabPane, Col, Row, useMessage, SearchInput, Token, AntdSelectOptGroup, WizardDialog, MenuItemGroup, Layout as Layout$1, InputGroup, InputInteger, Time as Time$1, ModalStack, KitStoreProvider, ConfigProvider } from "@cloudtower/eagle";
|
|
14
|
+
import { usePushModal, usePopModal, DeleteDialog, Tag, RejectDialog, RejectDialogType, Input, Select, AntdOption, Button, Form, Space, TextArea, kitContext, Typo, Loading, Table as Table$2, Pagination, Alert, ImmersiveDialog, SmallDialog, Fields, Units, Link as Link$1, OverflowTooltip, Tooltip, Dropdown, Menu as Menu$1, Icon, Divider, Modal, StatusCapsule, Popover, AntdTable, TableForm, Upload, AutoComplete, getOptions, DonutChart, SegmentControl, Checkbox, Tabs as Tabs$1, TabsTabPane, Col, Row, useMessage, SearchInput, Token, AntdSelectOptGroup, WizardDialog, MenuItemGroup, Layout as Layout$1, InputGroup, InputInteger, Time as Time$1, ModalStack, KitStoreProvider, ConfigProvider } from "@cloudtower/eagle";
|
|
15
15
|
import { EditPen16PrimaryIcon, Download16GradientBlueIcon, TrashBinDelete16Icon, MoreEllipsis324BoldSecondaryIcon, MoreEllipsis324BoldBlueIcon, MoreEllipsis316BoldBlueIcon, PlusAddCreateNew16BoldOntintIcon, ViewEye16GradientGrayIcon, EntityFilterIgnoreGradient16GrayIcon, InfoICircleFill16GrayIcon, InfoICircleFill16Gray70Icon, RecoverContinue16GradientBlueIcon, SuspendedPause16GradientBlueIcon, ArrowChevronLeft16BoldTertiaryIcon, ArrowChevronLeftSmall16BoldBlueIcon, ArrowChevronUp16BoldSecondaryIcon, ArrowBoldDown16Icon, Retry16GradientBlueIcon, OpenTerminal16GradientBlueIcon, ArrowChevronDown16BlueIcon, ArrowChevronUp16BlueIcon, HierarchyTriangleRight16GrayIcon, HierarchyTriangleRight16BlueIcon, ClipboardCopy16GradientGrayIcon, ClipboardCopy16GradientBlueIcon, Retry16GradientGrayIcon, EditPen16GradientGrayIcon, EditPen16GradientBlueIcon, Showdiff16GradientGrayIcon, Showdiff16GradientBlueIcon, XmarkFailedSeriousWarningFill16RedIcon, Pause16GradientBlueIcon, EditPen16BlueIcon } from "@cloudtower/icons-react";
|
|
16
16
|
import { first, get as get$2, cloneDeep, set, omit as omit$1, merge, isEqual as isEqual$1, debounce, last, setWith, clone, isObject as isObject$4, uniq, keyBy } from "lodash-es";
|
|
17
17
|
import yaml$2 from "js-yaml";
|
|
@@ -682,7 +682,7 @@ const udp$1 = "UDP";
|
|
|
682
682
|
const required_field$1 = "Please enter {{ label }}.";
|
|
683
683
|
const length_limit$1 = "The length of {{ label }} should be between {{ minLength }} and {{ maxLength }} characters.";
|
|
684
684
|
const rf1123_name_format_error$1 = "Only lowercase letters, numbers, and hyphens (-) are supported, and the name must start and end with a lowercase letter or number.";
|
|
685
|
-
const name_duplicated$1 = "
|
|
685
|
+
const name_duplicated$1 = "The name already exists.";
|
|
686
686
|
const input_correct_port$1 = "Please fill in a valid port number.";
|
|
687
687
|
const dovetail$1 = {
|
|
688
688
|
copy: copy$1,
|
|
@@ -1190,11 +1190,13 @@ const required_field = "请填写{{ label }}。";
|
|
|
1190
1190
|
const length_limit = "{{ label }}支持的字符长度范围为 {{ minLength }}–{{ maxLength }}。";
|
|
1191
1191
|
const rf1123_name_format_error = "仅支持小写字母、数字、连字符(-),并且必须以小写字母、数字开头和结尾。";
|
|
1192
1192
|
const rf1035_name_format_error = "仅支持小写字母、数字、连字符(-),并且必须以小写字母开头,以小写字母、数字结尾。";
|
|
1193
|
-
const
|
|
1193
|
+
const dns_subdomain_name_format_error = "仅支持小写字母、数字、连字符(-)和点(.),并且必须以小写字母或数字开头和结尾。";
|
|
1194
|
+
const name_duplicated = "名称已存在。";
|
|
1194
1195
|
const input_correct_port = "请填写有效的端口号。";
|
|
1195
1196
|
const auto_generate = "自动生成";
|
|
1196
1197
|
const specify_port = "指定端口";
|
|
1197
1198
|
const node_port_duplicated = "节点端口已存在。";
|
|
1199
|
+
const all = "全部";
|
|
1198
1200
|
const dovetail = {
|
|
1199
1201
|
copy,
|
|
1200
1202
|
reset_arguments,
|
|
@@ -1451,11 +1453,13 @@ const dovetail = {
|
|
|
1451
1453
|
length_limit,
|
|
1452
1454
|
rf1123_name_format_error,
|
|
1453
1455
|
rf1035_name_format_error,
|
|
1456
|
+
dns_subdomain_name_format_error,
|
|
1454
1457
|
name_duplicated,
|
|
1455
1458
|
input_correct_port,
|
|
1456
1459
|
auto_generate,
|
|
1457
1460
|
specify_port,
|
|
1458
|
-
node_port_duplicated
|
|
1461
|
+
node_port_duplicated,
|
|
1462
|
+
all
|
|
1459
1463
|
};
|
|
1460
1464
|
const ZH = {
|
|
1461
1465
|
dovetail
|
|
@@ -9478,7 +9482,6 @@ class PodModel extends WorkloadBaseModel {
|
|
|
9478
9482
|
super(_rawYaml, _globalStore);
|
|
9479
9483
|
__publicField(this, "request");
|
|
9480
9484
|
__publicField(this, "limit");
|
|
9481
|
-
__publicField(this, "belongToDeployment");
|
|
9482
9485
|
this._rawYaml = _rawYaml;
|
|
9483
9486
|
let cpuRequestNum = 0;
|
|
9484
9487
|
let memoryRequestNum = 0;
|
|
@@ -9519,21 +9522,12 @@ class PodModel extends WorkloadBaseModel {
|
|
|
9519
9522
|
}
|
|
9520
9523
|
};
|
|
9521
9524
|
}
|
|
9522
|
-
getBelongToDeployment(deployments
|
|
9523
|
-
|
|
9524
|
-
|
|
9525
|
-
|
|
9526
|
-
|
|
9527
|
-
|
|
9528
|
-
);
|
|
9529
|
-
return deployments.find(
|
|
9530
|
-
(deployment) => {
|
|
9531
|
-
var _a;
|
|
9532
|
-
return (_a = belongToReplicaSet == null ? void 0 : belongToReplicaSet.metadata.ownerReferences) == null ? void 0 : _a.some(
|
|
9533
|
-
(ownerReference) => ownerReference.kind === "Deployment" && ownerReference.uid === deployment.metadata.uid
|
|
9534
|
-
);
|
|
9535
|
-
}
|
|
9536
|
-
);
|
|
9525
|
+
getBelongToDeployment(deployments) {
|
|
9526
|
+
return deployments.find((deployment) => {
|
|
9527
|
+
return deployment.replicaSets.find((replicaSet) => {
|
|
9528
|
+
return replicaSet.pods.find((pod2) => pod2.metadata.uid === this.metadata.uid);
|
|
9529
|
+
});
|
|
9530
|
+
});
|
|
9537
9531
|
}
|
|
9538
9532
|
get imageNames() {
|
|
9539
9533
|
var _a;
|
|
@@ -10410,16 +10404,7 @@ function getResourceNameByKind(kind, configs) {
|
|
|
10410
10404
|
}
|
|
10411
10405
|
const Rfc1123NameRegExp = /(^[a-z0-9]$)|(^[a-z0-9][a-z0-9-]*[a-z0-9]$)/;
|
|
10412
10406
|
const Rfc1035NameRegExp = /(^[a-z]$)|(^[a-z][a-z0-9\-]*[a-z0-9]$)/;
|
|
10413
|
-
|
|
10414
|
-
const regex = /(^[a-zA-Z0-9]$)|(^[a-zA-Z0-9][a-zA-Z0-9\.\-\_]*[a-zA-Z0-9]$)/;
|
|
10415
|
-
if (!regex.test(subdomain)) {
|
|
10416
|
-
return { isValid: false };
|
|
10417
|
-
}
|
|
10418
|
-
if (subdomain && subdomain.length > 63) {
|
|
10419
|
-
return { isValid: false };
|
|
10420
|
-
}
|
|
10421
|
-
return { isValid: true };
|
|
10422
|
-
}
|
|
10407
|
+
const DnsSubdomainRegExp = /(^[a-z0-9]$)|(^[a-z0-9][a-z0-9-.]*[a-z0-9]$)/;
|
|
10423
10408
|
function validateResourceName({
|
|
10424
10409
|
v,
|
|
10425
10410
|
allNames,
|
|
@@ -10427,7 +10412,8 @@ function validateResourceName({
|
|
|
10427
10412
|
emptyText,
|
|
10428
10413
|
duplicatedText,
|
|
10429
10414
|
formatErrorText,
|
|
10430
|
-
regex
|
|
10415
|
+
regex,
|
|
10416
|
+
maxLength = 63
|
|
10431
10417
|
}) {
|
|
10432
10418
|
if (!v) {
|
|
10433
10419
|
return {
|
|
@@ -10437,13 +10423,13 @@ function validateResourceName({
|
|
|
10437
10423
|
})
|
|
10438
10424
|
};
|
|
10439
10425
|
}
|
|
10440
|
-
if (v.length >
|
|
10426
|
+
if (v.length > maxLength) {
|
|
10441
10427
|
return {
|
|
10442
10428
|
isValid: false,
|
|
10443
10429
|
errorMessage: i18n2.t("dovetail.length_limit", {
|
|
10444
10430
|
label: i18n2.t("dovetail.name"),
|
|
10445
10431
|
minLength: 1,
|
|
10446
|
-
maxLength
|
|
10432
|
+
maxLength
|
|
10447
10433
|
})
|
|
10448
10434
|
};
|
|
10449
10435
|
}
|
|
@@ -10499,6 +10485,24 @@ function ValidateRfc1035Name({
|
|
|
10499
10485
|
formatErrorText: i18n2.t("dovetail.rf1035_name_format_error")
|
|
10500
10486
|
});
|
|
10501
10487
|
}
|
|
10488
|
+
function validateDnsSubdomainName({
|
|
10489
|
+
v,
|
|
10490
|
+
allNames,
|
|
10491
|
+
i18n: i18n2,
|
|
10492
|
+
emptyText,
|
|
10493
|
+
duplicatedText
|
|
10494
|
+
}) {
|
|
10495
|
+
return validateResourceName({
|
|
10496
|
+
v,
|
|
10497
|
+
allNames,
|
|
10498
|
+
i18n: i18n2,
|
|
10499
|
+
emptyText,
|
|
10500
|
+
duplicatedText,
|
|
10501
|
+
regex: DnsSubdomainRegExp,
|
|
10502
|
+
formatErrorText: i18n2.t("dovetail.dns_subdomain_name_format_error"),
|
|
10503
|
+
maxLength: 253
|
|
10504
|
+
});
|
|
10505
|
+
}
|
|
10502
10506
|
function validateLabelKey(key2) {
|
|
10503
10507
|
const labelRegex = /(^[a-zA-Z0-9]$)|(^[a-zA-Z0-9][a-zA-Z0-9\.\-\_]*[a-zA-Z0-9]$)/;
|
|
10504
10508
|
let prefix2, name2;
|
|
@@ -10518,14 +10522,17 @@ function validateLabelKey(key2) {
|
|
|
10518
10522
|
if (prefix2 && prefix2.length > 253) {
|
|
10519
10523
|
return { isValid: false };
|
|
10520
10524
|
}
|
|
10521
|
-
|
|
10525
|
+
if (name2 && name2.length > 63) {
|
|
10526
|
+
return { isValid: false };
|
|
10527
|
+
}
|
|
10528
|
+
return { isValid: true };
|
|
10522
10529
|
}
|
|
10523
|
-
function validateLabelValue(value2, isOptional) {
|
|
10530
|
+
function validateLabelValue(value2, i18n2, isOptional) {
|
|
10524
10531
|
const labelValueRegex = /(^[a-zA-Z0-9]$)|(^[a-zA-Z0-9][a-zA-Z0-9\.\-\_]*[a-zA-Z0-9]$)/;
|
|
10525
10532
|
if (isOptional && value2 === "") {
|
|
10526
10533
|
return { isValid: true };
|
|
10527
10534
|
} else if (value2 === "") {
|
|
10528
|
-
return { isValid: false };
|
|
10535
|
+
return { isValid: false, errorMessage: i18n2.t("dovetail.required_field", { label: i18n2.t("dovetail.value") }) };
|
|
10529
10536
|
}
|
|
10530
10537
|
if (value2.length > 63) {
|
|
10531
10538
|
return { isValid: false };
|
|
@@ -10535,6 +10542,16 @@ function validateLabelValue(value2, isOptional) {
|
|
|
10535
10542
|
}
|
|
10536
10543
|
return { isValid: true };
|
|
10537
10544
|
}
|
|
10545
|
+
function validateDataKey(key2) {
|
|
10546
|
+
const dataKeyRegex = /^[-._a-zA-Z0-9]+$/;
|
|
10547
|
+
if (!dataKeyRegex.test(key2)) {
|
|
10548
|
+
return { isValid: false };
|
|
10549
|
+
}
|
|
10550
|
+
if (key2.length > 253) {
|
|
10551
|
+
return { isValid: false };
|
|
10552
|
+
}
|
|
10553
|
+
return { isValid: true };
|
|
10554
|
+
}
|
|
10538
10555
|
function validatePort(port2, isOptional, i18n2) {
|
|
10539
10556
|
if (port2 === "" && !isOptional) {
|
|
10540
10557
|
return {
|
|
@@ -11434,12 +11451,14 @@ function _KeyValueTableForm(props, ref) {
|
|
|
11434
11451
|
canImportFromFile,
|
|
11435
11452
|
minSize,
|
|
11436
11453
|
extraAction,
|
|
11454
|
+
keyOptions,
|
|
11437
11455
|
validateKey,
|
|
11438
11456
|
validateValue,
|
|
11439
11457
|
onSubmit
|
|
11440
11458
|
} = props;
|
|
11441
11459
|
const {
|
|
11442
|
-
t: t2
|
|
11460
|
+
t: t2,
|
|
11461
|
+
i18n: i18n2
|
|
11443
11462
|
} = useTranslation();
|
|
11444
11463
|
const tableFormRef = useRef(null);
|
|
11445
11464
|
const [_value, _setValue] = useState(value2 || defaultValue);
|
|
@@ -11478,6 +11497,22 @@ function _KeyValueTableForm(props, ref) {
|
|
|
11478
11497
|
(_a = tableFormRef.current) == null ? void 0 : _a.setData(value2);
|
|
11479
11498
|
}
|
|
11480
11499
|
}, [value2]);
|
|
11500
|
+
const renderAutoCompleteFunc = ({
|
|
11501
|
+
value: value22,
|
|
11502
|
+
onChange: onChange2
|
|
11503
|
+
}) => {
|
|
11504
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(AutoComplete, {
|
|
11505
|
+
options: keyOptions || [],
|
|
11506
|
+
value: value22,
|
|
11507
|
+
onChange: onChange2,
|
|
11508
|
+
size: "small",
|
|
11509
|
+
filterOption: (inputValue, option) => {
|
|
11510
|
+
var _a;
|
|
11511
|
+
return ((_a = option == null ? void 0 : option.label) == null ? void 0 : _a.toString().toLowerCase().includes(inputValue.toLowerCase())) || false;
|
|
11512
|
+
},
|
|
11513
|
+
allowClear: true
|
|
11514
|
+
});
|
|
11515
|
+
};
|
|
11481
11516
|
const renderTextAreaFunc = ({
|
|
11482
11517
|
value: value22,
|
|
11483
11518
|
onChange: onChange2
|
|
@@ -11519,7 +11554,7 @@ function _KeyValueTableForm(props, ref) {
|
|
|
11519
11554
|
if (!isValid)
|
|
11520
11555
|
return errorMessage || t2("dovetail.format_error");
|
|
11521
11556
|
},
|
|
11522
|
-
render: renderTextAreaFunc
|
|
11557
|
+
render: (keyOptions == null ? void 0 : keyOptions.length) ? renderAutoCompleteFunc : renderTextAreaFunc
|
|
11523
11558
|
}, {
|
|
11524
11559
|
key: "value",
|
|
11525
11560
|
title: isValueOptional ? t2("dovetail.value_optional") : t2("dovetail.value"),
|
|
@@ -11533,7 +11568,7 @@ function _KeyValueTableForm(props, ref) {
|
|
|
11533
11568
|
const {
|
|
11534
11569
|
isValid,
|
|
11535
11570
|
errorMessage
|
|
11536
|
-
} = validate2(value22 || "", isValueOptional);
|
|
11571
|
+
} = validate2(value22 || "", i18n2, isValueOptional);
|
|
11537
11572
|
if (!isValid)
|
|
11538
11573
|
return errorMessage || t2("dovetail.format_error");
|
|
11539
11574
|
},
|
|
@@ -11578,6 +11613,81 @@ function _KeyValueTableForm(props, ref) {
|
|
|
11578
11613
|
});
|
|
11579
11614
|
}
|
|
11580
11615
|
const KeyValueTableForm = React.forwardRef(_KeyValueTableForm);
|
|
11616
|
+
var NodeTaintEffect = /* @__PURE__ */ ((NodeTaintEffect2) => {
|
|
11617
|
+
NodeTaintEffect2["NoSchedule"] = "NoSchedule";
|
|
11618
|
+
NodeTaintEffect2["PreferNoSchedule"] = "PreferNoSchedule";
|
|
11619
|
+
NodeTaintEffect2["NoExecute"] = "NoExecute";
|
|
11620
|
+
NodeTaintEffect2["All"] = "__none__";
|
|
11621
|
+
return NodeTaintEffect2;
|
|
11622
|
+
})(NodeTaintEffect || {});
|
|
11623
|
+
const NodeTaintEffectSelect = ({
|
|
11624
|
+
value: value2,
|
|
11625
|
+
selectProps,
|
|
11626
|
+
isShowAll,
|
|
11627
|
+
onChange
|
|
11628
|
+
}) => {
|
|
11629
|
+
const { t: t2 } = useTranslation();
|
|
11630
|
+
const options = useMemo(() => {
|
|
11631
|
+
const options2 = [
|
|
11632
|
+
{
|
|
11633
|
+
value: "NoSchedule",
|
|
11634
|
+
children: t2(`dovetail.node_taint_${"NoSchedule"}`),
|
|
11635
|
+
suffix: /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip, { title: /* @__PURE__ */ jsxRuntimeExports.jsx(TaintEffectTooltip, {
|
|
11636
|
+
effect: "NoSchedule"
|
|
11637
|
+
/* NoSchedule */
|
|
11638
|
+
}), children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
11639
|
+
Icon,
|
|
11640
|
+
{
|
|
11641
|
+
src: InfoICircleFill16GrayIcon,
|
|
11642
|
+
hoverSrc: InfoICircleFill16Gray70Icon
|
|
11643
|
+
}
|
|
11644
|
+
) })
|
|
11645
|
+
},
|
|
11646
|
+
{
|
|
11647
|
+
value: "PreferNoSchedule",
|
|
11648
|
+
children: t2(`dovetail.node_taint_${"PreferNoSchedule"}`),
|
|
11649
|
+
suffix: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
11650
|
+
Tooltip,
|
|
11651
|
+
{
|
|
11652
|
+
title: /* @__PURE__ */ jsxRuntimeExports.jsx(TaintEffectTooltip, {
|
|
11653
|
+
effect: "PreferNoSchedule"
|
|
11654
|
+
/* PreferNoSchedule */
|
|
11655
|
+
}),
|
|
11656
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
11657
|
+
Icon,
|
|
11658
|
+
{
|
|
11659
|
+
src: InfoICircleFill16GrayIcon,
|
|
11660
|
+
hoverSrc: InfoICircleFill16Gray70Icon
|
|
11661
|
+
}
|
|
11662
|
+
)
|
|
11663
|
+
}
|
|
11664
|
+
)
|
|
11665
|
+
},
|
|
11666
|
+
{
|
|
11667
|
+
value: "NoExecute",
|
|
11668
|
+
children: t2(`dovetail.node_taint_${"NoExecute"}`),
|
|
11669
|
+
suffix: /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip, { title: /* @__PURE__ */ jsxRuntimeExports.jsx(TaintEffectTooltip, {
|
|
11670
|
+
effect: "NoExecute"
|
|
11671
|
+
/* NoExecute */
|
|
11672
|
+
}), children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
11673
|
+
Icon,
|
|
11674
|
+
{
|
|
11675
|
+
src: InfoICircleFill16GrayIcon,
|
|
11676
|
+
hoverSrc: InfoICircleFill16Gray70Icon
|
|
11677
|
+
}
|
|
11678
|
+
) })
|
|
11679
|
+
}
|
|
11680
|
+
];
|
|
11681
|
+
if (isShowAll) {
|
|
11682
|
+
options2.unshift({
|
|
11683
|
+
value: "__none__",
|
|
11684
|
+
children: t2("dovetail.all")
|
|
11685
|
+
});
|
|
11686
|
+
}
|
|
11687
|
+
return options2;
|
|
11688
|
+
}, [t2, isShowAll]);
|
|
11689
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(Select, { input: {}, value: value2, onChange, size: "small", ...selectProps, children: getOptions(options) });
|
|
11690
|
+
};
|
|
11581
11691
|
const EditNodeTaintForm_cgov7z = "";
|
|
11582
11692
|
const UlStyle = "u19jcs7t";
|
|
11583
11693
|
const EditNodeTaintForm = React.forwardRef(function EditNodeTaintForm2(props, ref) {
|
|
@@ -11640,56 +11750,14 @@ const EditNodeTaintForm = React.forwardRef(function EditNodeTaintForm2(props, re
|
|
|
11640
11750
|
extraColumns: [{
|
|
11641
11751
|
key: "effect",
|
|
11642
11752
|
title: t2("dovetail.effect"),
|
|
11643
|
-
defaultValue:
|
|
11753
|
+
defaultValue: NodeTaintEffect.NoExecute,
|
|
11644
11754
|
render: ({
|
|
11645
11755
|
value: value2,
|
|
11646
11756
|
onChange
|
|
11647
11757
|
}) => {
|
|
11648
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
11649
|
-
input: {},
|
|
11758
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(NodeTaintEffectSelect, {
|
|
11650
11759
|
value: value2,
|
|
11651
|
-
onChange
|
|
11652
|
-
size: "small",
|
|
11653
|
-
children: getOptions([{
|
|
11654
|
-
value: "NoSchedule",
|
|
11655
|
-
children: t2(`dovetail.node_taint_${"NoSchedule"}`),
|
|
11656
|
-
suffix: /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip, {
|
|
11657
|
-
title: /* @__PURE__ */ jsxRuntimeExports.jsx(TaintEffectTooltip, {
|
|
11658
|
-
effect: "NoSchedule"
|
|
11659
|
-
/* NoSchedule */
|
|
11660
|
-
}),
|
|
11661
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Icon, {
|
|
11662
|
-
src: InfoICircleFill16GrayIcon,
|
|
11663
|
-
hoverSrc: InfoICircleFill16Gray70Icon
|
|
11664
|
-
})
|
|
11665
|
-
})
|
|
11666
|
-
}, {
|
|
11667
|
-
value: "PreferNoSchedule",
|
|
11668
|
-
children: t2(`dovetail.node_taint_${"PreferNoSchedule"}`),
|
|
11669
|
-
suffix: /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip, {
|
|
11670
|
-
title: /* @__PURE__ */ jsxRuntimeExports.jsx(TaintEffectTooltip, {
|
|
11671
|
-
effect: "PreferNoSchedule"
|
|
11672
|
-
/* PreferNoSchedule */
|
|
11673
|
-
}),
|
|
11674
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Icon, {
|
|
11675
|
-
src: InfoICircleFill16GrayIcon,
|
|
11676
|
-
hoverSrc: InfoICircleFill16Gray70Icon
|
|
11677
|
-
})
|
|
11678
|
-
})
|
|
11679
|
-
}, {
|
|
11680
|
-
value: "NoExecute",
|
|
11681
|
-
children: t2(`dovetail.node_taint_${"NoExecute"}`),
|
|
11682
|
-
suffix: /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip, {
|
|
11683
|
-
title: /* @__PURE__ */ jsxRuntimeExports.jsx(TaintEffectTooltip, {
|
|
11684
|
-
effect: "NoExecute"
|
|
11685
|
-
/* NoExecute */
|
|
11686
|
-
}),
|
|
11687
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Icon, {
|
|
11688
|
-
src: InfoICircleFill16GrayIcon,
|
|
11689
|
-
hoverSrc: InfoICircleFill16Gray70Icon
|
|
11690
|
-
})
|
|
11691
|
-
})
|
|
11692
|
-
}])
|
|
11760
|
+
onChange
|
|
11693
11761
|
});
|
|
11694
11762
|
},
|
|
11695
11763
|
validator: ({
|
|
@@ -11708,24 +11776,15 @@ const TaintEffectTooltip = ({
|
|
|
11708
11776
|
t: t2
|
|
11709
11777
|
} = useTranslation();
|
|
11710
11778
|
const TaintEffectTooltipTextConfig = {
|
|
11711
|
-
[
|
|
11712
|
-
"NoExecute"
|
|
11713
|
-
/* NoExecute */
|
|
11714
|
-
]: {
|
|
11779
|
+
[NodeTaintEffect.NoExecute]: {
|
|
11715
11780
|
title: "NoExecute",
|
|
11716
11781
|
tooltips: [t2("dovetail.taint_effect_NoExecute_tooltip_1"), t2("dovetail.taint_effect_NoExecute_tooltip_2"), t2("dovetail.taint_effect_NoExecute_tooltip_3")]
|
|
11717
11782
|
},
|
|
11718
|
-
[
|
|
11719
|
-
"NoSchedule"
|
|
11720
|
-
/* NoSchedule */
|
|
11721
|
-
]: {
|
|
11783
|
+
[NodeTaintEffect.NoSchedule]: {
|
|
11722
11784
|
title: "NoSchedule",
|
|
11723
11785
|
tooltips: [t2("dovetail.taint_effect_NoSchedule_tooltip_1"), t2("dovetail.taint_effect_NoSchedule_tooltip_2")]
|
|
11724
11786
|
},
|
|
11725
|
-
[
|
|
11726
|
-
"PreferNoSchedule"
|
|
11727
|
-
/* PreferNoSchedule */
|
|
11728
|
-
]: {
|
|
11787
|
+
[NodeTaintEffect.PreferNoSchedule]: {
|
|
11729
11788
|
title: "PreferNoSchedule",
|
|
11730
11789
|
tooltips: [t2("dovetail.taint_effect_PreferNoSchedule_tooltip")]
|
|
11731
11790
|
}
|
|
@@ -12888,7 +12947,7 @@ const PodLogTab = (i18n2, apiUrl) => ({
|
|
|
12888
12947
|
]
|
|
12889
12948
|
});
|
|
12890
12949
|
const NetworkPolicyRulesViewer_r6jity = "";
|
|
12891
|
-
const MonacoYamlEditor$1 = lazy(() => import("./MonacoYamlEditor-
|
|
12950
|
+
const MonacoYamlEditor$1 = lazy(() => import("./MonacoYamlEditor-be30f2cd.js"));
|
|
12892
12951
|
const EditorStyle$1 = "e1cjl2b8";
|
|
12893
12952
|
const NetworkPolicyRulesViewer = ({
|
|
12894
12953
|
ingressOrEgress,
|
|
@@ -14265,16 +14324,83 @@ function renderCommonFormFiled(props) {
|
|
|
14265
14324
|
}
|
|
14266
14325
|
return ele;
|
|
14267
14326
|
}
|
|
14327
|
+
const MemoizedFormField = memo(function FormField({
|
|
14328
|
+
fieldConfig,
|
|
14329
|
+
control,
|
|
14330
|
+
getValues,
|
|
14331
|
+
trigger,
|
|
14332
|
+
action,
|
|
14333
|
+
formConfig,
|
|
14334
|
+
watch
|
|
14335
|
+
}) {
|
|
14336
|
+
const formValues = fieldConfig.condition ? watch() : {};
|
|
14337
|
+
const isDisplay = fieldConfig.condition ? fieldConfig.condition(formValues, get$2(formValues, fieldConfig.path.join("."))) !== false : true;
|
|
14338
|
+
if (!isDisplay) {
|
|
14339
|
+
return null;
|
|
14340
|
+
}
|
|
14341
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
14342
|
+
Controller,
|
|
14343
|
+
{
|
|
14344
|
+
control,
|
|
14345
|
+
name: fieldConfig.path.join("."),
|
|
14346
|
+
rules: {
|
|
14347
|
+
async validate(value2) {
|
|
14348
|
+
const formValue = getValues();
|
|
14349
|
+
if (!fieldConfig.validators || fieldConfig.validators.length === 0)
|
|
14350
|
+
return true;
|
|
14351
|
+
for (const func of fieldConfig.validators) {
|
|
14352
|
+
const { isValid, errorMsg } = await func(value2, formValue, FormType.FORM);
|
|
14353
|
+
if (!isValid)
|
|
14354
|
+
return errorMsg;
|
|
14355
|
+
}
|
|
14356
|
+
return true;
|
|
14357
|
+
}
|
|
14358
|
+
},
|
|
14359
|
+
render: ({ field, fieldState }) => {
|
|
14360
|
+
var _a;
|
|
14361
|
+
const currentFormValue = getValues();
|
|
14362
|
+
const renderProps = {
|
|
14363
|
+
field,
|
|
14364
|
+
fieldConfig,
|
|
14365
|
+
action,
|
|
14366
|
+
control,
|
|
14367
|
+
trigger,
|
|
14368
|
+
formValue: currentFormValue
|
|
14369
|
+
};
|
|
14370
|
+
let ele = null;
|
|
14371
|
+
if (fieldConfig == null ? void 0 : fieldConfig.render) {
|
|
14372
|
+
ele = fieldConfig.render(renderProps);
|
|
14373
|
+
} else {
|
|
14374
|
+
ele = renderCommonFormFiled(renderProps);
|
|
14375
|
+
}
|
|
14376
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
14377
|
+
Form.Item,
|
|
14378
|
+
{
|
|
14379
|
+
label: fieldConfig.label,
|
|
14380
|
+
colon: false,
|
|
14381
|
+
labelCol: fieldConfig.layout === FormItemLayout.VERTICAL ? {} : { flex: `0 0 ${(formConfig == null ? void 0 : formConfig.labelWidth) || "216px"}` },
|
|
14382
|
+
help: fieldConfig.isHideErrorStatus ? "" : (_a = fieldState.error) == null ? void 0 : _a.message,
|
|
14383
|
+
extra: fieldConfig.helperText,
|
|
14384
|
+
validateStatus: fieldState.invalid && !fieldConfig.isHideErrorStatus ? "error" : void 0,
|
|
14385
|
+
"data-test-id": fieldConfig.key,
|
|
14386
|
+
className: fieldConfig.layout === FormItemLayout.VERTICAL ? VerticalFormItemStyle : "",
|
|
14387
|
+
children: ele
|
|
14388
|
+
},
|
|
14389
|
+
fieldConfig.key
|
|
14390
|
+
);
|
|
14391
|
+
}
|
|
14392
|
+
},
|
|
14393
|
+
fieldConfig.key
|
|
14394
|
+
);
|
|
14395
|
+
});
|
|
14268
14396
|
function FieldsContent(props) {
|
|
14269
14397
|
const { config, formConfig, resourceId, step, formResult, fields } = props;
|
|
14270
14398
|
const { control, getValues, watch, trigger } = formResult;
|
|
14271
14399
|
const action = resourceId ? "edit" : "create";
|
|
14272
|
-
const formValues = watch();
|
|
14273
14400
|
const formFieldsConfig = useFieldsConfig(config, { fields }, resourceId, step);
|
|
14274
14401
|
const fieldsEle = formFieldsConfig == null ? void 0 : formFieldsConfig.map((fieldConfig) => {
|
|
14275
|
-
var _a;
|
|
14276
14402
|
if ("fields" in fieldConfig) {
|
|
14277
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
14403
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(React.Fragment, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
14278
14404
|
SectionTitle,
|
|
14279
14405
|
{
|
|
14280
14406
|
title: fieldConfig.title,
|
|
@@ -14292,62 +14418,21 @@ function FieldsContent(props) {
|
|
|
14292
14418
|
}
|
|
14293
14419
|
) })
|
|
14294
14420
|
}
|
|
14295
|
-
) });
|
|
14421
|
+
) }, fieldConfig.title);
|
|
14296
14422
|
}
|
|
14297
|
-
|
|
14298
|
-
|
|
14299
|
-
Controller,
|
|
14423
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
14424
|
+
MemoizedFormField,
|
|
14300
14425
|
{
|
|
14426
|
+
fieldConfig,
|
|
14301
14427
|
control,
|
|
14302
|
-
|
|
14303
|
-
|
|
14304
|
-
|
|
14305
|
-
|
|
14306
|
-
|
|
14307
|
-
return true;
|
|
14308
|
-
for (const func of fieldConfig.validators) {
|
|
14309
|
-
const { isValid, errorMsg } = await func(value2, formValue, FormType.FORM);
|
|
14310
|
-
if (!isValid)
|
|
14311
|
-
return errorMsg;
|
|
14312
|
-
}
|
|
14313
|
-
return true;
|
|
14314
|
-
}
|
|
14315
|
-
},
|
|
14316
|
-
render: ({ field, fieldState }) => {
|
|
14317
|
-
var _a2;
|
|
14318
|
-
const renderProps = {
|
|
14319
|
-
field,
|
|
14320
|
-
fieldConfig,
|
|
14321
|
-
action,
|
|
14322
|
-
control,
|
|
14323
|
-
trigger,
|
|
14324
|
-
formValue: formValues
|
|
14325
|
-
};
|
|
14326
|
-
let ele = null;
|
|
14327
|
-
if (fieldConfig == null ? void 0 : fieldConfig.render) {
|
|
14328
|
-
ele = fieldConfig.render(renderProps);
|
|
14329
|
-
} else {
|
|
14330
|
-
ele = renderCommonFormFiled(renderProps);
|
|
14331
|
-
}
|
|
14332
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
14333
|
-
Form.Item,
|
|
14334
|
-
{
|
|
14335
|
-
label: fieldConfig.label,
|
|
14336
|
-
colon: false,
|
|
14337
|
-
labelCol: fieldConfig.layout === FormItemLayout.VERTICAL ? {} : { flex: `0 0 ${(formConfig == null ? void 0 : formConfig.labelWidth) || "216px"}` },
|
|
14338
|
-
help: fieldConfig.isHideErrorStatus ? "" : (_a2 = fieldState.error) == null ? void 0 : _a2.message,
|
|
14339
|
-
extra: fieldConfig.helperText,
|
|
14340
|
-
validateStatus: fieldState.invalid && !fieldConfig.isHideErrorStatus ? "error" : void 0,
|
|
14341
|
-
"data-test-id": fieldConfig.key,
|
|
14342
|
-
className: fieldConfig.layout === FormItemLayout.VERTICAL ? VerticalFormItemStyle : "",
|
|
14343
|
-
children: ele
|
|
14344
|
-
},
|
|
14345
|
-
fieldConfig.key
|
|
14346
|
-
);
|
|
14347
|
-
}
|
|
14428
|
+
getValues,
|
|
14429
|
+
trigger,
|
|
14430
|
+
action,
|
|
14431
|
+
formConfig,
|
|
14432
|
+
watch
|
|
14348
14433
|
},
|
|
14349
14434
|
fieldConfig.key
|
|
14350
|
-
)
|
|
14435
|
+
);
|
|
14351
14436
|
});
|
|
14352
14437
|
return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: ContentWrapper, children: fieldsEle });
|
|
14353
14438
|
}
|
|
@@ -15085,7 +15170,7 @@ const PlainCodeStyle = "pqch97v";
|
|
|
15085
15170
|
const ErrorMsgStyle = "eh2qjnl";
|
|
15086
15171
|
const ErrorWrapperStyle = "e19q2bnp";
|
|
15087
15172
|
const YamlEditorStyle = "y16u5v3w";
|
|
15088
|
-
const MonacoYamlEditor = React.lazy(() => import("./MonacoYamlEditor-
|
|
15173
|
+
const MonacoYamlEditor = React.lazy(() => import("./MonacoYamlEditor-be30f2cd.js"));
|
|
15089
15174
|
const MonacoYamlDiffEditor = React.lazy(() => import("./MonacoYamlDiffEditor-9232e9fc.js"));
|
|
15090
15175
|
const YamlEditorComponent = forwardRef(
|
|
15091
15176
|
function YamlEditorComponent2(props, ref) {
|
|
@@ -19080,7 +19165,7 @@ export {
|
|
|
19080
19165
|
NetworkPolicyIngressRulesGroup as by,
|
|
19081
19166
|
NetworkPolicyEgressRulesGroup as bz,
|
|
19082
19167
|
useDeleteModal as c,
|
|
19083
|
-
|
|
19168
|
+
WorkloadModel as c$,
|
|
19084
19169
|
FormItemLayout as c0,
|
|
19085
19170
|
ServiceInClusterAccessComponent as c1,
|
|
19086
19171
|
ServiceOutClusterAccessComponent as c2,
|
|
@@ -19091,33 +19176,33 @@ export {
|
|
|
19091
19176
|
PVVolumeModeDisplay as c7,
|
|
19092
19177
|
Tabs as c8,
|
|
19093
19178
|
ResourceSelect as c9,
|
|
19094
|
-
|
|
19095
|
-
|
|
19096
|
-
|
|
19097
|
-
|
|
19098
|
-
|
|
19099
|
-
|
|
19100
|
-
|
|
19101
|
-
|
|
19102
|
-
|
|
19103
|
-
|
|
19104
|
-
|
|
19105
|
-
|
|
19106
|
-
|
|
19107
|
-
|
|
19108
|
-
|
|
19109
|
-
|
|
19110
|
-
|
|
19111
|
-
|
|
19112
|
-
|
|
19113
|
-
|
|
19114
|
-
|
|
19115
|
-
|
|
19116
|
-
|
|
19117
|
-
|
|
19118
|
-
|
|
19119
|
-
|
|
19120
|
-
|
|
19179
|
+
NETWORK_POLICY_INIT_VALUE as cA,
|
|
19180
|
+
CONFIG_MAP_INIT_VALUE as cB,
|
|
19181
|
+
SERVER_INSTANCE_INIT_VALUE as cC,
|
|
19182
|
+
REDEPLOY_TIMESTAMP_KEY as cD,
|
|
19183
|
+
SECRET_OPAQUE_INIT_VALUE as cE,
|
|
19184
|
+
SECRET_IMAGE_REPO_INIT_VALUE as cF,
|
|
19185
|
+
SECRET_BASIC_AUTH_INIT_VALUE as cG,
|
|
19186
|
+
SECRET_SSH_AUTH_INIT_VALUE as cH,
|
|
19187
|
+
SECRET_TLS_INIT_VALUE as cI,
|
|
19188
|
+
SECRET_CUSTOM_INIT_VALUE as cJ,
|
|
19189
|
+
NODE_INIT_VALUE as cK,
|
|
19190
|
+
STORAGE_CLASS_INIT_VALUE as cL,
|
|
19191
|
+
PV_INIT_VALUE as cM,
|
|
19192
|
+
PVC_INIT_VALUE as cN,
|
|
19193
|
+
ResourceState as cO,
|
|
19194
|
+
AccessControlAuth as cP,
|
|
19195
|
+
Dovetail as cQ,
|
|
19196
|
+
RESOURCE_GROUP as cR,
|
|
19197
|
+
FormContainerType as cS,
|
|
19198
|
+
FormType as cT,
|
|
19199
|
+
FormMode as cU,
|
|
19200
|
+
ComponentContext as cV,
|
|
19201
|
+
GlobalStoreContext as cW,
|
|
19202
|
+
ConfigsContext as cX,
|
|
19203
|
+
IngressModel as cY,
|
|
19204
|
+
NetworkPolicyModel as cZ,
|
|
19205
|
+
JobModel as c_,
|
|
19121
19206
|
PodShellModal as ca,
|
|
19122
19207
|
PodShell as cb,
|
|
19123
19208
|
ResourceTable as cc,
|
|
@@ -19127,57 +19212,62 @@ export {
|
|
|
19127
19212
|
MatchLabelSelector as cg,
|
|
19128
19213
|
PortsConfigForm as ch,
|
|
19129
19214
|
SectionTitle as ci,
|
|
19130
|
-
|
|
19131
|
-
|
|
19132
|
-
|
|
19133
|
-
|
|
19134
|
-
|
|
19135
|
-
|
|
19136
|
-
|
|
19137
|
-
|
|
19138
|
-
|
|
19139
|
-
|
|
19140
|
-
|
|
19141
|
-
|
|
19142
|
-
|
|
19143
|
-
|
|
19144
|
-
|
|
19145
|
-
|
|
19146
|
-
|
|
19215
|
+
EditLabelForm as cj,
|
|
19216
|
+
EditAnnotationForm as ck,
|
|
19217
|
+
NodeTaintEffect as cl,
|
|
19218
|
+
NodeTaintEffectSelect as cm,
|
|
19219
|
+
BASE_INIT_VALUE as cn,
|
|
19220
|
+
DEPLOYMENT_INIT_VALUE as co,
|
|
19221
|
+
CRONJOB_INIT_VALUE as cp,
|
|
19222
|
+
DAEMONSET_INIT_VALUE as cq,
|
|
19223
|
+
JOB_INIT_VALUE as cr,
|
|
19224
|
+
STATEFULSET_INIT_VALUE as cs,
|
|
19225
|
+
POD_INIT_VALUE as ct,
|
|
19226
|
+
SERVICE_CLUSTER_IP_INIT_VALUE as cu,
|
|
19227
|
+
SERVICE_NODE_PORT_INIT_VALUE as cv,
|
|
19228
|
+
SERVICE_LOAD_BALANCER_INIT_VALUE as cw,
|
|
19229
|
+
SERVICE_EXTERNAL_NAME_INIT_VALUE as cx,
|
|
19230
|
+
SERVICE_HEADLESS_INIT_VALUE as cy,
|
|
19231
|
+
INGRESS_INIT_VALUE as cz,
|
|
19147
19232
|
dovetailRefineI18n as d,
|
|
19148
|
-
|
|
19149
|
-
|
|
19150
|
-
|
|
19151
|
-
|
|
19152
|
-
|
|
19153
|
-
|
|
19154
|
-
|
|
19155
|
-
|
|
19156
|
-
|
|
19157
|
-
|
|
19158
|
-
|
|
19159
|
-
|
|
19160
|
-
|
|
19161
|
-
|
|
19162
|
-
|
|
19163
|
-
|
|
19164
|
-
|
|
19165
|
-
|
|
19166
|
-
|
|
19167
|
-
|
|
19168
|
-
|
|
19169
|
-
|
|
19170
|
-
|
|
19171
|
-
|
|
19172
|
-
|
|
19173
|
-
|
|
19174
|
-
|
|
19175
|
-
|
|
19176
|
-
|
|
19177
|
-
|
|
19178
|
-
|
|
19179
|
-
|
|
19180
|
-
|
|
19233
|
+
WorkloadBaseModel as d0,
|
|
19234
|
+
PodModel as d1,
|
|
19235
|
+
PodMetricsModel as d2,
|
|
19236
|
+
ResourceModel as d3,
|
|
19237
|
+
ReplicaSetModel as d4,
|
|
19238
|
+
CronJobModel as d5,
|
|
19239
|
+
EventModel as d6,
|
|
19240
|
+
DeploymentModel as d7,
|
|
19241
|
+
DaemonSetModel as d8,
|
|
19242
|
+
StatefulSetModel as d9,
|
|
19243
|
+
validateDataKey as dA,
|
|
19244
|
+
validatePort as dB,
|
|
19245
|
+
validateNodePort as dC,
|
|
19246
|
+
ServiceTypeEnum as da,
|
|
19247
|
+
ServiceModel as db,
|
|
19248
|
+
NodeRole as dc,
|
|
19249
|
+
NodeModel as dd,
|
|
19250
|
+
StorageClassModel as de,
|
|
19251
|
+
PersistentVolumeModel as df,
|
|
19252
|
+
PersistentVolumeClaimModel as dg,
|
|
19253
|
+
ProviderPlugins as dh,
|
|
19254
|
+
ModelPlugin as di,
|
|
19255
|
+
modelPlugin as dj,
|
|
19256
|
+
RelationPlugin as dk,
|
|
19257
|
+
relationPlugin as dl,
|
|
19258
|
+
generateValueFromSchema as dm,
|
|
19259
|
+
generateSchemaTypeValue as dn,
|
|
19260
|
+
resolveRef as dp,
|
|
19261
|
+
getApiVersion as dq,
|
|
19262
|
+
pruneBeforeEdit as dr,
|
|
19263
|
+
matchSelector as ds,
|
|
19264
|
+
getResourceNameByKind as dt,
|
|
19265
|
+
validateResourceName as du,
|
|
19266
|
+
validateRfc1123Name as dv,
|
|
19267
|
+
ValidateRfc1035Name as dw,
|
|
19268
|
+
validateDnsSubdomainName as dx,
|
|
19269
|
+
validateLabelKey as dy,
|
|
19270
|
+
validateLabelValue as dz,
|
|
19181
19271
|
useDeleteModalOnly as e,
|
|
19182
19272
|
useFailedModal as f,
|
|
19183
19273
|
NameSpaceColumnRenderer as g,
|