UNPKG

@openshift-assisted/ui-lib

Version:

React component library for the Assisted Installer UI

73 lines 4.17 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getNetworkConfigurationValidationSchema = exports.getNetworkInitialValues = void 0; const tslib_1 = require("tslib"); const Yup = tslib_1.__importStar(require("yup")); const common_1 = require("../../../../common"); const getNetworkInitialValues = (cluster, defaultNetworkValues, isClusterManagedNetworkingUnsupported) => { var _a; const isSNOCluster = (0, common_1.isSNO)(cluster); const isDualStackType = (0, common_1.isDualStack)(cluster); return { apiVips: cluster.apiVips, ingressVips: cluster.ingressVips, sshPublicKey: cluster.sshPublicKey || '', vipDhcpAllocation: cluster.vipDhcpAllocation, managedNetworkingType: ((_a = cluster.platform) === null || _a === void 0 ? void 0 : _a.type) === 'none' || (cluster.apiVips && cluster.apiVips.length === 0 && isClusterManagedNetworkingUnsupported) || isSNOCluster ? 'userManaged' : 'clusterManaged', networkType: cluster.networkType || common_1.NETWORK_TYPE_OVN, machineNetworks: cluster.machineNetworks || [], stackType: isDualStackType ? common_1.DUAL_STACK : common_1.IPV4_STACK, clusterNetworks: cluster.clusterNetworks || (isDualStackType ? defaultNetworkValues.clusterNetworksDualstack : defaultNetworkValues.clusterNetworksIpv4), serviceNetworks: cluster.serviceNetworks || (isDualStackType ? defaultNetworkValues.serviceNetworksDualstack : defaultNetworkValues.serviceNetworksIpv4), }; }; exports.getNetworkInitialValues = getNetworkInitialValues; const getNetworkConfigurationValidationSchema = (initialValues, hostSubnets) => Yup.lazy((values) => Yup.object().shape({ apiVips: (0, common_1.vipArrayValidationSchema)(hostSubnets, values, initialValues.apiVips), ingressVips: (0, common_1.vipArrayValidationSchema)(hostSubnets, values, initialValues.ingressVips), sshPublicKey: common_1.sshPublicKeyListValidationSchema, machineNetworks: values.managedNetworkingType === 'userManaged' ? Yup.array() : common_1.machineNetworksValidationSchema.when('stackType', { is: (stackType) => stackType === common_1.IPV4_STACK, then: () => common_1.machineNetworksValidationSchema.concat(common_1.IPv4ValidationSchema), otherwise: () => { var _a; return values.machineNetworks && ((_a = values.machineNetworks) === null || _a === void 0 ? void 0 : _a.length) >= 2 ? common_1.machineNetworksValidationSchema.concat((0, common_1.dualStackValidationSchema)('machine networks')) : Yup.array(); }, }), clusterNetworks: common_1.clusterNetworksValidationSchema.when('stackType', { is: (stackType) => stackType === common_1.IPV4_STACK, then: () => common_1.clusterNetworksValidationSchema.concat(common_1.IPv4ValidationSchema), otherwise: () => { var _a; return values.clusterNetworks && ((_a = values.clusterNetworks) === null || _a === void 0 ? void 0 : _a.length) >= 2 ? common_1.clusterNetworksValidationSchema.concat((0, common_1.dualStackValidationSchema)('cluster network')) : Yup.array(); }, }), serviceNetworks: common_1.serviceNetworkValidationSchema.when('stackType', { is: (stackType) => stackType === common_1.IPV4_STACK, then: () => common_1.serviceNetworkValidationSchema.concat(common_1.IPv4ValidationSchema), otherwise: () => { var _a; return values.serviceNetworks && ((_a = values.serviceNetworks) === null || _a === void 0 ? void 0 : _a.length) >= 2 ? common_1.serviceNetworkValidationSchema.concat((0, common_1.dualStackValidationSchema)('service network')) : Yup.array(); }, }), })); exports.getNetworkConfigurationValidationSchema = getNetworkConfigurationValidationSchema; //# sourceMappingURL=networkConfigurationValidation.js.map