@openshift-assisted/ui-lib 2.17.0-cim → 2.17.3-cim

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.
Files changed (562) hide show
  1. package/build/@types/cim/components/Agent/AgentStatus.d.ts +1 -0
  2. package/build/@types/cim/components/Agent/AgentStatus.d.ts.map +1 -1
  3. package/build/@types/cim/components/Agent/AgentTable.d.ts.map +1 -1
  4. package/build/@types/cim/components/Agent/AgentsSelectionTable.d.ts.map +1 -1
  5. package/build/@types/cim/components/Agent/BMCForm.d.ts.map +1 -1
  6. package/build/@types/cim/components/Agent/BMHEventsModal.d.ts +8 -0
  7. package/build/@types/cim/components/Agent/BMHEventsModal.d.ts.map +1 -0
  8. package/build/@types/cim/components/Agent/BMHStatus.d.ts +2 -0
  9. package/build/@types/cim/components/Agent/BMHStatus.d.ts.map +1 -1
  10. package/build/@types/cim/components/Agent/BMHStatusInfo.d.ts +8 -0
  11. package/build/@types/cim/components/Agent/BMHStatusInfo.d.ts.map +1 -0
  12. package/build/@types/cim/components/Agent/MinimalHWRequirements.d.ts.map +1 -1
  13. package/build/@types/cim/components/Agent/index.d.ts +2 -0
  14. package/build/@types/cim/components/Agent/index.d.ts.map +1 -1
  15. package/build/@types/cim/components/Agent/tableColumns.d.ts +29 -0
  16. package/build/@types/cim/components/Agent/tableColumns.d.ts.map +1 -0
  17. package/build/@types/cim/components/Agent/tableUtils.d.ts +2 -22
  18. package/build/@types/cim/components/Agent/tableUtils.d.ts.map +1 -1
  19. package/build/@types/cim/components/ClusterDeployment/NetworkConfiguration.d.ts +1 -1
  20. package/build/@types/cim/components/ClusterDeployment/NetworkConfiguration.d.ts.map +1 -1
  21. package/build/@types/cim/components/ClusterDeployment/clusterDetails/ClusterDeploymentDetailsForm.d.ts.map +1 -1
  22. package/build/@types/cim/components/ClusterDeployment/clusterDetails/ClusterDetailsFormFields.d.ts +0 -1
  23. package/build/@types/cim/components/ClusterDeployment/clusterDetails/ClusterDetailsFormFields.d.ts.map +1 -1
  24. package/build/@types/cim/components/ClusterDeployment/hostDiscovery/ClusterDeploymentHostDiscoveryTable.d.ts.map +1 -1
  25. package/build/@types/cim/components/ClusterDeployment/hostSelection/ClusterDeploymentHostSelectionStep.d.ts.map +1 -1
  26. package/build/@types/cim/components/ClusterDeployment/networkConfigurationValidation.d.ts +1 -1
  27. package/build/@types/cim/components/ClusterDeployment/networkConfigurationValidation.d.ts.map +1 -1
  28. package/build/@types/cim/components/ClusterDeployment/networking/ClusterDeploymentHostsNetworkTable.d.ts.map +1 -1
  29. package/build/@types/cim/components/ClusterDeployment/review/ClusterDeploymentReviewStep.d.ts.map +1 -1
  30. package/build/@types/cim/components/ClusterDeployment/use-networking-formik.d.ts +9 -5
  31. package/build/@types/cim/components/ClusterDeployment/use-networking-formik.d.ts.map +1 -1
  32. package/build/@types/cim/components/Hypershift/HostedClusterWizard/HostsStep/HostsStep.d.ts.map +1 -1
  33. package/build/@types/cim/components/Hypershift/HostedClusterWizard/NetworkStep/AdvancedNetworkFields.d.ts.map +1 -0
  34. package/build/@types/cim/components/Hypershift/modals/AddNodePoolModal.d.ts.map +1 -1
  35. package/build/@types/cim/components/Hypershift/modals/ManageHostsModal.d.ts.map +1 -1
  36. package/build/@types/cim/components/Hypershift/modals/RemoveNodePoolModal.d.ts.map +1 -1
  37. package/build/@types/cim/components/InfraEnv/EnvironmentDetails.d.ts.map +1 -1
  38. package/build/@types/cim/components/InfraEnv/EnvironmentErrors.d.ts +0 -1
  39. package/build/@types/cim/components/InfraEnv/EnvironmentErrors.d.ts.map +1 -1
  40. package/build/@types/cim/components/InfraEnv/InfraEnvFormPage.d.ts.map +1 -1
  41. package/build/@types/cim/components/helpers/agentStatus.d.ts.map +1 -1
  42. package/build/@types/cim/components/helpers/versions.d.ts +1 -1
  43. package/build/@types/cim/components/helpers/versions.d.ts.map +1 -1
  44. package/build/@types/cim/components/modals/AddBmcHostModal.d.ts.map +1 -1
  45. package/build/@types/cim/components/modals/AddBmcHostYamlForm.d.ts.map +1 -1
  46. package/build/@types/cim/components/modals/AddBmcHostYamlModal.d.ts.map +1 -1
  47. package/build/@types/cim/components/modals/AddHostModal.d.ts.map +1 -1
  48. package/build/@types/cim/components/modals/CimConfiguration/CimConfigurationModal.d.ts.map +1 -1
  49. package/build/@types/cim/components/modals/EditBMHModal.d.ts.map +1 -1
  50. package/build/@types/cim/components/modals/EditNtpSourcesModal.d.ts.map +1 -1
  51. package/build/@types/cim/components/modals/EditProxyModal.d.ts.map +1 -1
  52. package/build/@types/cim/components/modals/EditPullSecretModal.d.ts.map +1 -1
  53. package/build/@types/cim/components/modals/EditSSHKeyModal.d.ts.map +1 -1
  54. package/build/@types/cim/components/modals/MassApproveAgentModal.d.ts.map +1 -1
  55. package/build/@types/cim/components/modals/ScaleUpModal.d.ts.map +1 -1
  56. package/build/@types/cim/hooks/index.d.ts +1 -0
  57. package/build/@types/cim/hooks/index.d.ts.map +1 -1
  58. package/build/@types/cim/hooks/types.d.ts +1 -1
  59. package/build/@types/cim/hooks/types.d.ts.map +1 -1
  60. package/build/@types/cim/hooks/useEvents.d.ts +4 -0
  61. package/build/@types/cim/hooks/useEvents.d.ts.map +1 -0
  62. package/build/@types/cim/types/fromOCP/k8sTypes.d.ts +12 -0
  63. package/build/@types/cim/types/fromOCP/k8sTypes.d.ts.map +1 -1
  64. package/build/@types/cim/types/k8s/agent-cluster-install.d.ts +4 -0
  65. package/build/@types/cim/types/k8s/agent-cluster-install.d.ts.map +1 -1
  66. package/build/@types/cim/types/k8s/bare-metal-host.d.ts +20 -0
  67. package/build/@types/cim/types/k8s/bare-metal-host.d.ts.map +1 -1
  68. package/build/@types/common/components/clusterConfiguration/DiscoveryImageConfigForm.d.ts.map +1 -1
  69. package/build/@types/common/components/clusterConfiguration/DiscoveryTroubleshootingModal.d.ts.map +1 -1
  70. package/build/@types/common/components/clusterConfiguration/utils.d.ts +2 -2
  71. package/build/@types/common/components/clusterConfiguration/utils.d.ts.map +1 -1
  72. package/build/@types/common/components/clusterWizard/clusterDetailsValidation.d.ts.map +1 -1
  73. package/build/@types/common/components/clusterWizard/networkingSteps/AdvancedNetworkFields.d.ts +7 -0
  74. package/build/@types/common/components/clusterWizard/networkingSteps/AdvancedNetworkFields.d.ts.map +1 -0
  75. package/build/@types/common/components/clusterWizard/networkingSteps/AvailableSubnetsControl.d.ts +10 -6
  76. package/build/@types/common/components/clusterWizard/networkingSteps/AvailableSubnetsControl.d.ts.map +1 -1
  77. package/build/@types/common/components/clusterWizard/networkingSteps/StackTypeControlGroup.d.ts +13 -0
  78. package/build/@types/common/components/clusterWizard/networkingSteps/StackTypeControlGroup.d.ts.map +1 -0
  79. package/build/@types/{ocm/components/clusterConfiguration/networkConfiguration → common/components/clusterWizard/networkingSteps}/SubnetsDropdown.d.ts +1 -1
  80. package/build/@types/common/components/clusterWizard/networkingSteps/SubnetsDropdown.d.ts.map +1 -0
  81. package/build/@types/common/components/clusterWizard/networkingSteps/VirtualIPControlGroup.d.ts +4 -2
  82. package/build/@types/common/components/clusterWizard/networkingSteps/VirtualIPControlGroup.d.ts.map +1 -1
  83. package/build/@types/common/components/clusterWizard/networkingSteps/index.d.ts +7 -2
  84. package/build/@types/common/components/clusterWizard/networkingSteps/index.d.ts.map +1 -1
  85. package/build/@types/{ocm/components/clusterConfiguration/networkConfiguration → common/components/clusterWizard/networkingSteps}/reorderNetworks.d.ts +1 -1
  86. package/build/@types/common/components/clusterWizard/networkingSteps/reorderNetworks.d.ts.map +1 -0
  87. package/build/@types/common/components/hosts/AdditionalNTPSourcesDialog.d.ts.map +1 -1
  88. package/build/@types/common/components/hosts/EditHostForm.d.ts.map +1 -1
  89. package/build/@types/common/components/hosts/HostStatus.d.ts.map +1 -1
  90. package/build/@types/common/components/hosts/HostValidationGroups.d.ts.map +1 -1
  91. package/build/@types/common/components/hosts/MassChangeHostnameModal.d.ts.map +1 -1
  92. package/build/@types/common/components/hosts/index.d.ts +2 -0
  93. package/build/@types/common/components/hosts/index.d.ts.map +1 -1
  94. package/build/@types/common/components/hosts/tableColumns.d.ts +21 -0
  95. package/build/@types/common/components/hosts/tableColumns.d.ts.map +1 -0
  96. package/build/@types/common/components/hosts/tableUtils.d.ts +3 -21
  97. package/build/@types/common/components/hosts/tableUtils.d.ts.map +1 -1
  98. package/build/@types/common/components/hosts/types.d.ts +1 -0
  99. package/build/@types/common/components/hosts/types.d.ts.map +1 -1
  100. package/build/@types/common/components/ui/EventsList.d.ts.map +1 -1
  101. package/build/@types/common/components/ui/PrismCode.d.ts +13 -11
  102. package/build/@types/common/components/ui/PrismCode.d.ts.map +1 -1
  103. package/build/@types/common/components/ui/formik/LabelField.d.ts +3 -11
  104. package/build/@types/common/components/ui/formik/LabelField.d.ts.map +1 -1
  105. package/build/@types/common/components/ui/formik/index.d.ts +0 -2
  106. package/build/@types/common/components/ui/formik/index.d.ts.map +1 -1
  107. package/build/@types/common/components/ui/index.d.ts +1 -1
  108. package/build/@types/common/components/ui/index.d.ts.map +1 -1
  109. package/build/@types/common/config/constants.d.ts +2 -1
  110. package/build/@types/common/config/constants.d.ts.map +1 -1
  111. package/build/@types/common/index.d.ts +1 -0
  112. package/build/@types/common/index.d.ts.map +1 -1
  113. package/build/@types/common/types/clusters.d.ts +0 -1
  114. package/build/@types/common/types/clusters.d.ts.map +1 -1
  115. package/build/@types/common/utils.d.ts +2 -2
  116. package/build/@types/common/utils.d.ts.map +1 -1
  117. package/build/@types/common/validationSchemas/addressValidation.d.ts +18 -0
  118. package/build/@types/common/validationSchemas/addressValidation.d.ts.map +1 -0
  119. package/build/@types/common/validationSchemas/clusterDetailsValidation.d.ts +8 -0
  120. package/build/@types/common/validationSchemas/clusterDetailsValidation.d.ts.map +1 -0
  121. package/build/@types/common/{components/ui/formik → validationSchemas}/constants.d.ts +1 -3
  122. package/build/@types/common/validationSchemas/constants.d.ts.map +1 -0
  123. package/build/@types/common/validationSchemas/hostnameValidation.d.ts +4 -0
  124. package/build/@types/common/validationSchemas/hostnameValidation.d.ts.map +1 -0
  125. package/build/@types/common/validationSchemas/index.d.ts +11 -0
  126. package/build/@types/common/validationSchemas/index.d.ts.map +1 -0
  127. package/build/@types/common/validationSchemas/networkingValidation.d.ts +18 -0
  128. package/build/@types/common/validationSchemas/networkingValidation.d.ts.map +1 -0
  129. package/build/@types/common/validationSchemas/ntpValidation.d.ts +4 -0
  130. package/build/@types/common/validationSchemas/ntpValidation.d.ts.map +1 -0
  131. package/build/@types/common/validationSchemas/proxyValidation.d.ts +11 -0
  132. package/build/@types/common/validationSchemas/proxyValidation.d.ts.map +1 -0
  133. package/build/@types/common/validationSchemas/pullSecretValidation.d.ts +4 -0
  134. package/build/@types/common/validationSchemas/pullSecretValidation.d.ts.map +1 -0
  135. package/build/@types/common/validationSchemas/regexes.d.ts +14 -0
  136. package/build/@types/common/validationSchemas/regexes.d.ts.map +1 -0
  137. package/build/@types/common/validationSchemas/sshValidation.d.ts +5 -0
  138. package/build/@types/common/validationSchemas/sshValidation.d.ts.map +1 -0
  139. package/build/@types/common/validationSchemas/utils.d.ts +7 -0
  140. package/build/@types/common/validationSchemas/utils.d.ts.map +1 -0
  141. package/build/@types/ocm/components/clusterConfiguration/OcmDiscoveryImageConfigForm.d.ts.map +1 -1
  142. package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifests.d.ts.map +1 -1
  143. package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/customManifestsValidationSchema.d.ts +2 -1
  144. package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/customManifestsValidationSchema.d.ts.map +1 -1
  145. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.d.ts +1 -1
  146. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.d.ts.map +1 -1
  147. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.d.ts.map +1 -1
  148. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationTableBase.d.ts.map +1 -1
  149. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.d.ts +2 -1
  150. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.d.ts.map +1 -1
  151. package/build/@types/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/FormViewHosts.d.ts.map +1 -1
  152. package/build/@types/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/formViewHostsValidationSchema.d.ts +2 -1
  153. package/build/@types/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/formViewHostsValidationSchema.d.ts.map +1 -1
  154. package/build/@types/ocm/components/clusterConfiguration/staticIp/components/YamlView/YamlView.d.ts.map +1 -1
  155. package/build/@types/ocm/components/clusterConfiguration/staticIp/components/YamlView/yamlViewValidationSchema.d.ts +2 -1
  156. package/build/@types/ocm/components/clusterConfiguration/staticIp/components/YamlView/yamlViewValidationSchema.d.ts.map +1 -1
  157. package/build/@types/ocm/components/clusterDetail/ResetClusterModal.d.ts.map +1 -1
  158. package/build/@types/ocm/components/clusterWizard/disconnected/OptionalConfigurationsStep.d.ts.map +1 -1
  159. package/build/@types/ocm/components/hosts/ClusterHostsTable.d.ts.map +1 -1
  160. package/build/@types/ocm/components/hosts/HostsDiscoveryTable.d.ts.map +1 -1
  161. package/build/@types/ocm/components/hosts/HostsStorageTable.d.ts.map +1 -1
  162. package/build/@types/ocm/components/hosts/UpdateDay2ApiVipForm.d.ts.map +1 -1
  163. package/build/@types/ocm/components/hosts/use-hosts-table.d.ts.map +1 -1
  164. package/build/cjs/cim/components/Agent/AgentStatus.js +2 -2
  165. package/build/cjs/cim/components/Agent/AgentStatus.js.map +1 -1
  166. package/build/cjs/cim/components/Agent/AgentTable.js +10 -9
  167. package/build/cjs/cim/components/Agent/AgentTable.js.map +1 -1
  168. package/build/cjs/cim/components/Agent/AgentsSelectionTable.js +9 -8
  169. package/build/cjs/cim/components/Agent/AgentsSelectionTable.js.map +1 -1
  170. package/build/cjs/cim/components/Agent/BMCForm.js +7 -8
  171. package/build/cjs/cim/components/Agent/BMCForm.js.map +1 -1
  172. package/build/cjs/cim/components/Agent/BMHEventsModal.js +54 -0
  173. package/build/cjs/cim/components/Agent/BMHEventsModal.js.map +1 -0
  174. package/build/cjs/cim/components/Agent/BMHStatus.js +3 -2
  175. package/build/cjs/cim/components/Agent/BMHStatus.js.map +1 -1
  176. package/build/cjs/cim/components/Agent/BMHStatusInfo.js +59 -0
  177. package/build/cjs/cim/components/Agent/BMHStatusInfo.js.map +1 -0
  178. package/build/cjs/cim/components/Agent/MinimalHWRequirements.js +6 -5
  179. package/build/cjs/cim/components/Agent/MinimalHWRequirements.js.map +1 -1
  180. package/build/cjs/cim/components/Agent/index.js +2 -0
  181. package/build/cjs/cim/components/Agent/index.js.map +1 -1
  182. package/build/cjs/cim/components/Agent/tableColumns.js +184 -0
  183. package/build/cjs/cim/components/Agent/tableColumns.js.map +1 -0
  184. package/build/cjs/cim/components/Agent/tableUtils.js +4 -174
  185. package/build/cjs/cim/components/Agent/tableUtils.js.map +1 -1
  186. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentDetailsTable.js +10 -10
  187. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentDetailsTable.js.map +1 -1
  188. package/build/cjs/cim/components/ClusterDeployment/LocationsSelector.js +2 -2
  189. package/build/cjs/cim/components/ClusterDeployment/LocationsSelector.js.map +1 -1
  190. package/build/cjs/cim/components/ClusterDeployment/NetworkConfiguration.js +28 -38
  191. package/build/cjs/cim/components/ClusterDeployment/NetworkConfiguration.js.map +1 -1
  192. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/ClusterDeploymentDetailsForm.js +9 -15
  193. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/ClusterDeploymentDetailsForm.js.map +1 -1
  194. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/ClusterDetailsFormFields.js +9 -7
  195. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/ClusterDetailsFormFields.js.map +1 -1
  196. package/build/cjs/cim/components/ClusterDeployment/hostDiscovery/ClusterDeploymentHostDiscoveryTable.js +13 -14
  197. package/build/cjs/cim/components/ClusterDeployment/hostDiscovery/ClusterDeploymentHostDiscoveryTable.js.map +1 -1
  198. package/build/cjs/cim/components/ClusterDeployment/hostSelection/ClusterDeploymentHostSelectionStep.js +14 -13
  199. package/build/cjs/cim/components/ClusterDeployment/hostSelection/ClusterDeploymentHostSelectionStep.js.map +1 -1
  200. package/build/cjs/cim/components/ClusterDeployment/networkConfigurationValidation.js +19 -18
  201. package/build/cjs/cim/components/ClusterDeployment/networkConfigurationValidation.js.map +1 -1
  202. package/build/cjs/cim/components/ClusterDeployment/networking/ClusterDeploymentHostsNetworkTable.js +9 -10
  203. package/build/cjs/cim/components/ClusterDeployment/networking/ClusterDeploymentHostsNetworkTable.js.map +1 -1
  204. package/build/cjs/cim/components/ClusterDeployment/networking/ClusterDeploymentNetworkingForm.js +2 -2
  205. package/build/cjs/cim/components/ClusterDeployment/networking/ClusterDeploymentNetworkingForm.js.map +1 -1
  206. package/build/cjs/cim/components/ClusterDeployment/networking/ClusterDeploymentNetworkingStep.js +12 -8
  207. package/build/cjs/cim/components/ClusterDeployment/networking/ClusterDeploymentNetworkingStep.js.map +1 -1
  208. package/build/cjs/cim/components/ClusterDeployment/review/ClusterDeploymentReviewStep.js +6 -4
  209. package/build/cjs/cim/components/ClusterDeployment/review/ClusterDeploymentReviewStep.js.map +1 -1
  210. package/build/cjs/cim/components/ClusterDeployment/use-networking-formik.js +21 -14
  211. package/build/cjs/cim/components/ClusterDeployment/use-networking-formik.js.map +1 -1
  212. package/build/cjs/cim/components/Hypershift/DetailsPage/NodePoolsTable.js +2 -2
  213. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsStep.js +2 -2
  214. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsStep.js.map +1 -1
  215. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/HostsStep/HostsForm.js +1 -1
  216. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/HostsStep/HostsStep.js +2 -11
  217. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/HostsStep/HostsStep.js.map +1 -1
  218. package/build/cjs/{common/components/clusterConfiguration → cim/components/Hypershift/HostedClusterWizard/NetworkStep}/AdvancedNetworkFields.js +3 -3
  219. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/NetworkStep/AdvancedNetworkFields.js.map +1 -0
  220. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/NetworkStep/NetworkForm.js +1 -1
  221. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/NetworkStep/NetworkForm.js.map +1 -1
  222. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/NetworkStep/NetworkStep.js +8 -8
  223. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/NetworkStep/NetworkStep.js.map +1 -1
  224. package/build/cjs/cim/components/Hypershift/modals/AddNodePoolModal.js +4 -4
  225. package/build/cjs/cim/components/Hypershift/modals/AddNodePoolModal.js.map +1 -1
  226. package/build/cjs/cim/components/Hypershift/modals/ManageHostsModal.js +4 -4
  227. package/build/cjs/cim/components/Hypershift/modals/ManageHostsModal.js.map +1 -1
  228. package/build/cjs/cim/components/Hypershift/modals/NodePoolForm.js +1 -1
  229. package/build/cjs/cim/components/Hypershift/modals/NodePoolForm.js.map +1 -1
  230. package/build/cjs/cim/components/Hypershift/modals/RemoveNodePoolModal.js +4 -4
  231. package/build/cjs/cim/components/Hypershift/modals/RemoveNodePoolModal.js.map +1 -1
  232. package/build/cjs/cim/components/InfraEnv/EnvironmentDetails.js +5 -2
  233. package/build/cjs/cim/components/InfraEnv/EnvironmentDetails.js.map +1 -1
  234. package/build/cjs/cim/components/InfraEnv/EnvironmentErrors.js +2 -4
  235. package/build/cjs/cim/components/InfraEnv/EnvironmentErrors.js.map +1 -1
  236. package/build/cjs/cim/components/InfraEnv/InfraEnvAgentTable.js +11 -11
  237. package/build/cjs/cim/components/InfraEnv/InfraEnvAgentTable.js.map +1 -1
  238. package/build/cjs/cim/components/InfraEnv/InfraEnvFormPage.js +8 -6
  239. package/build/cjs/cim/components/InfraEnv/InfraEnvFormPage.js.map +1 -1
  240. package/build/cjs/cim/components/common/ResourceAlerts.js +2 -4
  241. package/build/cjs/cim/components/common/ResourceAlerts.js.map +1 -1
  242. package/build/cjs/cim/components/helpers/agentStatus.js +5 -0
  243. package/build/cjs/cim/components/helpers/agentStatus.js.map +1 -1
  244. package/build/cjs/cim/components/helpers/toAssisted.js +28 -26
  245. package/build/cjs/cim/components/helpers/toAssisted.js.map +1 -1
  246. package/build/cjs/cim/components/helpers/versions.js +42 -27
  247. package/build/cjs/cim/components/helpers/versions.js.map +1 -1
  248. package/build/cjs/cim/components/modals/AddBmcHostModal.js +7 -5
  249. package/build/cjs/cim/components/modals/AddBmcHostModal.js.map +1 -1
  250. package/build/cjs/cim/components/modals/AddBmcHostYamlForm.js +2 -3
  251. package/build/cjs/cim/components/modals/AddBmcHostYamlForm.js.map +1 -1
  252. package/build/cjs/cim/components/modals/AddBmcHostYamlModal.js +7 -5
  253. package/build/cjs/cim/components/modals/AddBmcHostYamlModal.js.map +1 -1
  254. package/build/cjs/cim/components/modals/AddHostModal.js +9 -7
  255. package/build/cjs/cim/components/modals/AddHostModal.js.map +1 -1
  256. package/build/cjs/cim/components/modals/CimConfiguration/CimConfigurationModal.js +26 -25
  257. package/build/cjs/cim/components/modals/CimConfiguration/CimConfigurationModal.js.map +1 -1
  258. package/build/cjs/cim/components/modals/EditBMHModal.js +4 -2
  259. package/build/cjs/cim/components/modals/EditBMHModal.js.map +1 -1
  260. package/build/cjs/cim/components/modals/EditNtpSourcesModal.js +4 -4
  261. package/build/cjs/cim/components/modals/EditNtpSourcesModal.js.map +1 -1
  262. package/build/cjs/cim/components/modals/EditProxyModal.js +9 -7
  263. package/build/cjs/cim/components/modals/EditProxyModal.js.map +1 -1
  264. package/build/cjs/cim/components/modals/EditPullSecretModal.js +5 -5
  265. package/build/cjs/cim/components/modals/EditPullSecretModal.js.map +1 -1
  266. package/build/cjs/cim/components/modals/EditSSHKeyModal.js +8 -8
  267. package/build/cjs/cim/components/modals/EditSSHKeyModal.js.map +1 -1
  268. package/build/cjs/cim/components/modals/MassApproveAgentModal.js +4 -4
  269. package/build/cjs/cim/components/modals/MassApproveAgentModal.js.map +1 -1
  270. package/build/cjs/cim/components/modals/MassDeleteAgentModal.js +1 -1
  271. package/build/cjs/cim/components/modals/MassDeleteAgentModal.js.map +1 -1
  272. package/build/cjs/cim/components/modals/ScaleUpModal.js +4 -4
  273. package/build/cjs/cim/components/modals/ScaleUpModal.js.map +1 -1
  274. package/build/cjs/cim/hooks/index.js +1 -0
  275. package/build/cjs/cim/hooks/index.js.map +1 -1
  276. package/build/cjs/cim/hooks/useEvents.js +12 -0
  277. package/build/cjs/cim/hooks/useEvents.js.map +1 -0
  278. package/build/cjs/common/components/clusterConfiguration/DiscoveryImageConfigForm.js +7 -6
  279. package/build/cjs/common/components/clusterConfiguration/DiscoveryImageConfigForm.js.map +1 -1
  280. package/build/cjs/common/components/clusterConfiguration/DiscoveryInstructions.js +1 -1
  281. package/build/cjs/common/components/clusterConfiguration/DiscoveryInstructions.js.map +1 -1
  282. package/build/cjs/common/components/clusterConfiguration/DiscoveryTroubleshootingModal.js +9 -9
  283. package/build/cjs/common/components/clusterConfiguration/DiscoveryTroubleshootingModal.js.map +1 -1
  284. package/build/cjs/common/components/clusterConfiguration/ProxyFields.js +3 -3
  285. package/build/cjs/common/components/clusterConfiguration/ProxyFields.js.map +1 -1
  286. package/build/cjs/common/components/clusterConfiguration/utils.js +3 -4
  287. package/build/cjs/common/components/clusterConfiguration/utils.js.map +1 -1
  288. package/build/cjs/common/components/clusterWizard/clusterDetailsValidation.js +8 -8
  289. package/build/cjs/common/components/clusterWizard/clusterDetailsValidation.js.map +1 -1
  290. package/build/cjs/common/components/clusterWizard/networkingSteps/AdvancedNetworkFields.js +62 -0
  291. package/build/cjs/common/components/clusterWizard/networkingSteps/AdvancedNetworkFields.js.map +1 -0
  292. package/build/cjs/common/components/clusterWizard/networkingSteps/AvailableSubnetsControl.js +130 -46
  293. package/build/cjs/common/components/clusterWizard/networkingSteps/AvailableSubnetsControl.js.map +1 -1
  294. package/build/cjs/{ocm/components/clusterConfiguration/networkConfiguration/StackTypeControl.js → common/components/clusterWizard/networkingSteps/StackTypeControlGroup.js} +59 -38
  295. package/build/cjs/common/components/clusterWizard/networkingSteps/StackTypeControlGroup.js.map +1 -0
  296. package/build/cjs/{ocm/components/clusterConfiguration/networkConfiguration → common/components/clusterWizard/networkingSteps}/SubnetsDropdown.js +7 -5
  297. package/build/cjs/common/components/clusterWizard/networkingSteps/SubnetsDropdown.js.map +1 -0
  298. package/build/cjs/common/components/clusterWizard/networkingSteps/VirtualIPControlGroup.js +96 -38
  299. package/build/cjs/common/components/clusterWizard/networkingSteps/VirtualIPControlGroup.js.map +1 -1
  300. package/build/cjs/common/components/clusterWizard/networkingSteps/index.js +13 -3
  301. package/build/cjs/common/components/clusterWizard/networkingSteps/index.js.map +1 -1
  302. package/build/cjs/{ocm/components/clusterConfiguration/networkConfiguration → common/components/clusterWizard/networkingSteps}/reorderNetworks.js +2 -2
  303. package/build/cjs/common/components/clusterWizard/networkingSteps/reorderNetworks.js.map +1 -0
  304. package/build/cjs/common/components/hosts/AdditionalNTPSourcesDialog.js +2 -1
  305. package/build/cjs/common/components/hosts/AdditionalNTPSourcesDialog.js.map +1 -1
  306. package/build/cjs/common/components/hosts/EditHostForm.js +3 -2
  307. package/build/cjs/common/components/hosts/EditHostForm.js.map +1 -1
  308. package/build/cjs/common/components/hosts/HostStatus.js +8 -6
  309. package/build/cjs/common/components/hosts/HostStatus.js.map +1 -1
  310. package/build/cjs/common/components/hosts/HostValidationGroups.js +2 -3
  311. package/build/cjs/common/components/hosts/HostValidationGroups.js.map +1 -1
  312. package/build/cjs/common/components/hosts/MassChangeHostnameModal.js +13 -18
  313. package/build/cjs/common/components/hosts/MassChangeHostnameModal.js.map +1 -1
  314. package/build/cjs/common/components/hosts/index.js +2 -0
  315. package/build/cjs/common/components/hosts/index.js.map +1 -1
  316. package/build/cjs/common/components/hosts/tableColumns.js +336 -0
  317. package/build/cjs/common/components/hosts/tableColumns.js.map +1 -0
  318. package/build/cjs/common/components/hosts/tableUtils.js +1 -331
  319. package/build/cjs/common/components/hosts/tableUtils.js.map +1 -1
  320. package/build/cjs/common/components/ui/EventsList.js +1 -1
  321. package/build/cjs/common/components/ui/EventsList.js.map +1 -1
  322. package/build/cjs/common/components/ui/PrismCode.js +29 -20
  323. package/build/cjs/common/components/ui/PrismCode.js.map +1 -1
  324. package/build/cjs/common/components/ui/formik/LabelField.js +34 -26
  325. package/build/cjs/common/components/ui/formik/LabelField.js.map +1 -1
  326. package/build/cjs/common/components/ui/formik/index.js +0 -2
  327. package/build/cjs/common/components/ui/formik/index.js.map +1 -1
  328. package/build/cjs/common/components/ui/index.js +1 -2
  329. package/build/cjs/common/components/ui/index.js.map +1 -1
  330. package/build/cjs/common/config/constants.js +27 -4
  331. package/build/cjs/common/config/constants.js.map +1 -1
  332. package/build/cjs/common/config/docs_links.js +1 -1
  333. package/build/cjs/common/index.js +1 -0
  334. package/build/cjs/common/index.js.map +1 -1
  335. package/build/cjs/common/types/clusters.js.map +1 -1
  336. package/build/cjs/common/utils.js +5 -3
  337. package/build/cjs/common/utils.js.map +1 -1
  338. package/build/cjs/common/validationSchemas/addressValidation.js +246 -0
  339. package/build/cjs/common/validationSchemas/addressValidation.js.map +1 -0
  340. package/build/cjs/common/validationSchemas/clusterDetailsValidation.js +104 -0
  341. package/build/cjs/common/validationSchemas/clusterDetailsValidation.js.map +1 -0
  342. package/build/cjs/common/{components/ui/formik → validationSchemas}/constants.js +3 -5
  343. package/build/cjs/common/validationSchemas/constants.js.map +1 -0
  344. package/build/cjs/common/validationSchemas/hostnameValidation.js +36 -0
  345. package/build/cjs/common/validationSchemas/hostnameValidation.js.map +1 -0
  346. package/build/cjs/common/validationSchemas/index.js +17 -0
  347. package/build/cjs/common/validationSchemas/index.js.map +1 -0
  348. package/build/cjs/common/validationSchemas/networkingValidation.js +74 -0
  349. package/build/cjs/common/validationSchemas/networkingValidation.js.map +1 -0
  350. package/build/cjs/common/validationSchemas/ntpValidation.js +25 -0
  351. package/build/cjs/common/validationSchemas/ntpValidation.js.map +1 -0
  352. package/build/cjs/common/validationSchemas/proxyValidation.js +43 -0
  353. package/build/cjs/common/validationSchemas/proxyValidation.js.map +1 -0
  354. package/build/cjs/common/validationSchemas/pullSecretValidation.js +21 -0
  355. package/build/cjs/common/validationSchemas/pullSecretValidation.js.map +1 -0
  356. package/build/cjs/common/validationSchemas/regexes.js +17 -0
  357. package/build/cjs/common/validationSchemas/regexes.js.map +1 -0
  358. package/build/cjs/common/validationSchemas/sshValidation.js +32 -0
  359. package/build/cjs/common/validationSchemas/sshValidation.js.map +1 -0
  360. package/build/cjs/common/validationSchemas/utils.js +40 -0
  361. package/build/cjs/common/validationSchemas/utils.js.map +1 -0
  362. package/build/cjs/ocm/components/clusterConfiguration/OcmBaseDomainField.js +1 -1
  363. package/build/cjs/ocm/components/clusterConfiguration/OcmBaseDomainField.js.map +1 -1
  364. package/build/cjs/ocm/components/clusterConfiguration/OcmDiscoveryImageConfigForm.js +7 -6
  365. package/build/cjs/ocm/components/clusterConfiguration/OcmDiscoveryImageConfigForm.js.map +1 -1
  366. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifests.js +4 -2
  367. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifests.js.map +1 -1
  368. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/customManifestsValidationSchema.js +7 -6
  369. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/customManifestsValidationSchema.js.map +1 -1
  370. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.js +6 -12
  371. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.js.map +1 -1
  372. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.js +2 -1
  373. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.js.map +1 -1
  374. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationTableBase.js +8 -9
  375. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationTableBase.js.map +1 -1
  376. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.js +13 -23
  377. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.js.map +1 -1
  378. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/FormViewHosts.js +3 -1
  379. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/FormViewHosts.js.map +1 -1
  380. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/formViewHostsValidationSchema.js +6 -6
  381. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/formViewHostsValidationSchema.js.map +1 -1
  382. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/YamlView/YamlView.js +3 -1
  383. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/YamlView/YamlView.js.map +1 -1
  384. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/YamlView/yamlViewValidationSchema.js +12 -12
  385. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/YamlView/yamlViewValidationSchema.js.map +1 -1
  386. package/build/cjs/ocm/components/clusterDetail/ResetClusterModal.js +1 -1
  387. package/build/cjs/ocm/components/clusterDetail/ResetClusterModal.js.map +1 -1
  388. package/build/cjs/ocm/components/clusterWizard/OperatorsSelect.js +1 -1
  389. package/build/cjs/ocm/components/clusterWizard/OperatorsSelect.js.map +1 -1
  390. package/build/cjs/ocm/components/clusterWizard/disconnected/OptionalConfigurationsStep.js +4 -3
  391. package/build/cjs/ocm/components/clusterWizard/disconnected/OptionalConfigurationsStep.js.map +1 -1
  392. package/build/cjs/ocm/components/hosts/ClusterHostsTable.js +7 -8
  393. package/build/cjs/ocm/components/hosts/ClusterHostsTable.js.map +1 -1
  394. package/build/cjs/ocm/components/hosts/HostsDiscoveryTable.js +7 -8
  395. package/build/cjs/ocm/components/hosts/HostsDiscoveryTable.js.map +1 -1
  396. package/build/cjs/ocm/components/hosts/HostsStorageTable.js +5 -6
  397. package/build/cjs/ocm/components/hosts/HostsStorageTable.js.map +1 -1
  398. package/build/cjs/ocm/components/hosts/UpdateDay2ApiVipForm.js +2 -1
  399. package/build/cjs/ocm/components/hosts/UpdateDay2ApiVipForm.js.map +1 -1
  400. package/build/cjs/ocm/components/hosts/use-hosts-table.js +2 -3
  401. package/build/cjs/ocm/components/hosts/use-hosts-table.js.map +1 -1
  402. package/lib/cim/components/Agent/AgentStatus.tsx +3 -0
  403. package/lib/cim/components/Agent/AgentTable.tsx +3 -2
  404. package/lib/cim/components/Agent/AgentsSelectionTable.tsx +3 -12
  405. package/lib/cim/components/Agent/BMCForm.tsx +11 -10
  406. package/lib/cim/components/Agent/BMHEventsModal.tsx +87 -0
  407. package/lib/cim/components/Agent/BMHStatus.tsx +17 -17
  408. package/lib/cim/components/Agent/BMHStatusInfo.tsx +94 -0
  409. package/lib/cim/components/Agent/MinimalHWRequirements.tsx +17 -12
  410. package/lib/cim/components/Agent/index.ts +2 -0
  411. package/lib/cim/components/Agent/tableColumns.tsx +257 -0
  412. package/lib/cim/components/Agent/tableUtils.tsx +4 -243
  413. package/lib/cim/components/ClusterDeployment/ClusterDeploymentDetailsTable.tsx +2 -2
  414. package/lib/cim/components/ClusterDeployment/LocationsSelector.tsx +2 -2
  415. package/lib/cim/components/ClusterDeployment/NetworkConfiguration.tsx +61 -44
  416. package/lib/cim/components/ClusterDeployment/clusterDetails/ClusterDeploymentDetailsForm.tsx +8 -18
  417. package/lib/cim/components/ClusterDeployment/clusterDetails/ClusterDetailsFormFields.tsx +9 -12
  418. package/lib/cim/components/ClusterDeployment/hostDiscovery/ClusterDeploymentHostDiscoveryTable.tsx +3 -5
  419. package/lib/cim/components/ClusterDeployment/hostSelection/ClusterDeploymentHostSelectionStep.tsx +28 -31
  420. package/lib/cim/components/ClusterDeployment/networkConfigurationValidation.ts +30 -36
  421. package/lib/cim/components/ClusterDeployment/networking/ClusterDeploymentHostsNetworkTable.tsx +2 -7
  422. package/lib/cim/components/ClusterDeployment/networking/ClusterDeploymentNetworkingForm.tsx +3 -3
  423. package/lib/cim/components/ClusterDeployment/networking/ClusterDeploymentNetworkingStep.tsx +26 -26
  424. package/lib/cim/components/ClusterDeployment/review/ClusterDeploymentReviewStep.tsx +20 -6
  425. package/lib/cim/components/ClusterDeployment/use-networking-formik.ts +41 -17
  426. package/lib/cim/components/Hypershift/DetailsPage/NodePoolsTable.tsx +2 -2
  427. package/lib/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsStep.tsx +2 -2
  428. package/lib/cim/components/Hypershift/HostedClusterWizard/HostsStep/HostsForm.tsx +1 -1
  429. package/lib/cim/components/Hypershift/HostedClusterWizard/HostsStep/HostsStep.tsx +2 -13
  430. package/lib/{common/components/clusterConfiguration → cim/components/Hypershift/HostedClusterWizard/NetworkStep}/AdvancedNetworkFields.tsx +4 -4
  431. package/lib/cim/components/Hypershift/HostedClusterWizard/NetworkStep/NetworkForm.tsx +1 -1
  432. package/lib/cim/components/Hypershift/HostedClusterWizard/NetworkStep/NetworkStep.tsx +8 -8
  433. package/lib/cim/components/Hypershift/modals/AddNodePoolModal.tsx +15 -16
  434. package/lib/cim/components/Hypershift/modals/ManageHostsModal.tsx +15 -16
  435. package/lib/cim/components/Hypershift/modals/NodePoolForm.tsx +1 -1
  436. package/lib/cim/components/Hypershift/modals/RemoveNodePoolModal.tsx +14 -11
  437. package/lib/cim/components/InfraEnv/EnvironmentDetails.tsx +6 -3
  438. package/lib/cim/components/InfraEnv/EnvironmentErrors.tsx +1 -6
  439. package/lib/cim/components/InfraEnv/InfraEnvAgentTable.tsx +6 -6
  440. package/lib/cim/components/InfraEnv/InfraEnvFormPage.tsx +8 -6
  441. package/lib/cim/components/common/ResourceAlerts.tsx +4 -4
  442. package/lib/cim/components/helpers/agentStatus.tsx +5 -0
  443. package/lib/cim/components/helpers/toAssisted.ts +15 -15
  444. package/lib/cim/components/helpers/versions.ts +51 -34
  445. package/lib/cim/components/modals/AddBmcHostModal.tsx +14 -13
  446. package/lib/cim/components/modals/AddBmcHostYamlForm.tsx +6 -5
  447. package/lib/cim/components/modals/AddBmcHostYamlModal.tsx +8 -7
  448. package/lib/cim/components/modals/AddHostModal.tsx +22 -11
  449. package/lib/cim/components/modals/CimConfiguration/CimConfigurationModal.tsx +79 -69
  450. package/lib/cim/components/modals/EditBMHModal.tsx +2 -3
  451. package/lib/cim/components/modals/EditNtpSourcesModal.tsx +15 -10
  452. package/lib/cim/components/modals/EditProxyModal.tsx +22 -13
  453. package/lib/cim/components/modals/EditPullSecretModal.tsx +15 -11
  454. package/lib/cim/components/modals/EditSSHKeyModal.tsx +24 -19
  455. package/lib/cim/components/modals/MassApproveAgentModal.tsx +16 -8
  456. package/lib/cim/components/modals/MassDeleteAgentModal.tsx +1 -1
  457. package/lib/cim/components/modals/ScaleUpModal.tsx +9 -7
  458. package/lib/cim/hooks/index.tsx +1 -0
  459. package/lib/cim/hooks/types.tsx +4 -1
  460. package/lib/cim/hooks/useEvents.tsx +14 -0
  461. package/lib/cim/types/fromOCP/k8sTypes.ts +13 -0
  462. package/lib/cim/types/k8s/agent-cluster-install.ts +4 -0
  463. package/lib/cim/types/k8s/bare-metal-host.ts +20 -0
  464. package/lib/common/components/clusterConfiguration/DiscoveryImageConfigForm.tsx +9 -8
  465. package/lib/common/components/clusterConfiguration/DiscoveryInstructions.tsx +1 -1
  466. package/lib/common/components/clusterConfiguration/DiscoveryTroubleshootingModal.tsx +7 -10
  467. package/lib/common/components/clusterConfiguration/ProxyFields.tsx +3 -3
  468. package/lib/common/components/clusterConfiguration/utils.ts +22 -12
  469. package/lib/common/components/clusterWizard/clusterDetailsValidation.ts +21 -11
  470. package/lib/{ocm/components/clusterConfiguration/networkConfiguration → common/components/clusterWizard/networkingSteps}/AdvancedNetworkFields.tsx +54 -38
  471. package/lib/common/components/clusterWizard/networkingSteps/AvailableSubnetsControl.tsx +221 -53
  472. package/lib/{ocm/components/clusterConfiguration/networkConfiguration/StackTypeControl.tsx → common/components/clusterWizard/networkingSteps/StackTypeControlGroup.tsx} +64 -28
  473. package/lib/{ocm/components/clusterConfiguration/networkConfiguration → common/components/clusterWizard/networkingSteps}/SubnetsDropdown.tsx +4 -7
  474. package/lib/common/components/clusterWizard/networkingSteps/VirtualIPControlGroup.tsx +199 -80
  475. package/lib/common/components/clusterWizard/networkingSteps/index.ts +10 -2
  476. package/lib/{ocm/components/clusterConfiguration/networkConfiguration → common/components/clusterWizard/networkingSteps}/reorderNetworks.ts +2 -1
  477. package/lib/common/components/hosts/AdditionalNTPSourcesDialog.tsx +3 -6
  478. package/lib/common/components/hosts/EditHostForm.tsx +2 -8
  479. package/lib/common/components/hosts/HostStatus.tsx +14 -3
  480. package/lib/common/components/hosts/HostValidationGroups.tsx +5 -4
  481. package/lib/common/components/hosts/MassChangeHostnameModal.tsx +48 -44
  482. package/lib/common/components/hosts/index.ts +2 -0
  483. package/lib/common/components/hosts/tableColumns.tsx +411 -0
  484. package/lib/common/components/hosts/tableUtils.tsx +4 -409
  485. package/lib/common/components/hosts/types.ts +1 -0
  486. package/lib/common/components/ui/EventsList.tsx +4 -2
  487. package/lib/common/components/ui/PrismCode.tsx +35 -22
  488. package/lib/common/components/ui/formik/LabelField.tsx +77 -60
  489. package/lib/common/components/ui/formik/index.tsx +0 -2
  490. package/lib/common/components/ui/index.ts +1 -1
  491. package/lib/common/config/constants.ts +33 -2
  492. package/lib/common/config/docs_links.ts +1 -1
  493. package/lib/common/index.ts +2 -0
  494. package/lib/common/types/clusters.ts +0 -1
  495. package/lib/common/utils.ts +5 -7
  496. package/lib/common/{components/ui/formik → validationSchemas}/_validationSchemas.test.ts +51 -39
  497. package/lib/common/validationSchemas/addressValidation.tsx +349 -0
  498. package/lib/common/validationSchemas/clusterDetailsValidation.tsx +168 -0
  499. package/lib/common/{components/ui/formik → validationSchemas}/constants.tsx +3 -6
  500. package/lib/common/validationSchemas/hostnameValidation.tsx +46 -0
  501. package/lib/common/validationSchemas/index.tsx +11 -0
  502. package/lib/common/validationSchemas/networkingValidation.tsx +113 -0
  503. package/lib/common/validationSchemas/ntpValidation.tsx +30 -0
  504. package/lib/common/validationSchemas/proxyValidation.tsx +67 -0
  505. package/lib/common/validationSchemas/pullSecretValidation.tsx +24 -0
  506. package/lib/common/validationSchemas/regexes.tsx +22 -0
  507. package/lib/common/validationSchemas/sshValidation.tsx +46 -0
  508. package/lib/common/validationSchemas/utils.tsx +36 -0
  509. package/lib/ocm/components/clusterConfiguration/OcmBaseDomainField.tsx +2 -2
  510. package/lib/ocm/components/clusterConfiguration/OcmDiscoveryImageConfigForm.tsx +17 -15
  511. package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifests.tsx +4 -2
  512. package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/customManifestsValidationSchema.tsx +31 -31
  513. package/lib/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.tsx +12 -23
  514. package/lib/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.tsx +9 -2
  515. package/lib/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationTableBase.tsx +3 -2
  516. package/lib/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.ts +16 -26
  517. package/lib/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/FormViewHosts.tsx +3 -1
  518. package/lib/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/formViewHostsValidationSchema.tsx +11 -6
  519. package/lib/ocm/components/clusterConfiguration/staticIp/components/YamlView/YamlView.tsx +5 -1
  520. package/lib/ocm/components/clusterConfiguration/staticIp/components/YamlView/yamlViewValidationSchema.tsx +33 -28
  521. package/lib/ocm/components/clusterDetail/ResetClusterModal.tsx +2 -1
  522. package/lib/ocm/components/clusterWizard/OperatorsSelect.tsx +2 -2
  523. package/lib/ocm/components/clusterWizard/disconnected/OptionalConfigurationsStep.tsx +5 -3
  524. package/lib/ocm/components/hosts/ClusterHostsTable.tsx +4 -3
  525. package/lib/ocm/components/hosts/HostsDiscoveryTable.tsx +2 -4
  526. package/lib/ocm/components/hosts/HostsStorageTable.tsx +5 -7
  527. package/lib/ocm/components/hosts/UpdateDay2ApiVipForm.tsx +3 -7
  528. package/lib/ocm/components/hosts/use-hosts-table.tsx +2 -1
  529. package/package.json +3 -3
  530. package/build/@types/common/components/clusterConfiguration/AdvancedNetworkFields.d.ts.map +0 -1
  531. package/build/@types/common/components/ui/formik/constants.d.ts.map +0 -1
  532. package/build/@types/common/components/ui/formik/validationSchemas.d.ts +0 -52
  533. package/build/@types/common/components/ui/formik/validationSchemas.d.ts.map +0 -1
  534. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/AdvancedNetworkFields.d.ts +0 -4
  535. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/AdvancedNetworkFields.d.ts.map +0 -1
  536. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/AvailableSubnetsControl.d.ts +0 -12
  537. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/AvailableSubnetsControl.d.ts.map +0 -1
  538. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/StackTypeControl.d.ts +0 -11
  539. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/StackTypeControl.d.ts.map +0 -1
  540. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/SubnetsDropdown.d.ts.map +0 -1
  541. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/VirtualIPControlGroup.d.ts +0 -9
  542. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/VirtualIPControlGroup.d.ts.map +0 -1
  543. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/reorderNetworks.d.ts.map +0 -1
  544. package/build/cjs/common/components/clusterConfiguration/AdvancedNetworkFields.js.map +0 -1
  545. package/build/cjs/common/components/ui/formik/LabelField.css +0 -43
  546. package/build/cjs/common/components/ui/formik/constants.js.map +0 -1
  547. package/build/cjs/common/components/ui/formik/validationSchemas.js +0 -571
  548. package/build/cjs/common/components/ui/formik/validationSchemas.js.map +0 -1
  549. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/AdvancedNetworkFields.js +0 -53
  550. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/AdvancedNetworkFields.js.map +0 -1
  551. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/AvailableSubnetsControl.js +0 -124
  552. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/AvailableSubnetsControl.js.map +0 -1
  553. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/StackTypeControl.js.map +0 -1
  554. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/SubnetsDropdown.js.map +0 -1
  555. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/VirtualIPControlGroup.js +0 -98
  556. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/VirtualIPControlGroup.js.map +0 -1
  557. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/reorderNetworks.js.map +0 -1
  558. package/lib/common/components/ui/formik/LabelField.css +0 -43
  559. package/lib/common/components/ui/formik/validationSchemas.ts +0 -846
  560. package/lib/ocm/components/clusterConfiguration/networkConfiguration/AvailableSubnetsControl.tsx +0 -208
  561. package/lib/ocm/components/clusterConfiguration/networkConfiguration/VirtualIPControlGroup.tsx +0 -283
  562. /package/build/@types/{common/components/clusterConfiguration → cim/components/Hypershift/HostedClusterWizard/NetworkStep}/AdvancedNetworkFields.d.ts +0 -0
@@ -0,0 +1,349 @@
1
+ import * as Yup from 'yup';
2
+ import { Address4, Address6 } from 'ip-address';
3
+ import isCIDR from 'is-cidr';
4
+ import { isInSubnet } from 'is-in-subnet';
5
+
6
+ import { getAddress } from '../components/ui/formik/utils';
7
+ import { getSubnet } from '../components/clusterConfiguration/utils';
8
+ import { HostSubnets, NetworkConfigurationValues } from '../types';
9
+ import { IP_V4_ZERO, IP_V6_ZERO, MAC_REGEX } from './regexes';
10
+ import {
11
+ alwaysRequired,
12
+ getArrayIndexFromPath,
13
+ isIPorDN,
14
+ isIPv4Address,
15
+ isIPv6Address,
16
+ } from './utils';
17
+ import { NO_SUBNET_SET } from '../config';
18
+ import { overlap } from 'cidr-tools';
19
+ import parseUrl from 'parse-url';
20
+ import { TFunction } from 'i18next';
21
+
22
+ export const ipValidationSchema = (t: TFunction) =>
23
+ Yup.string().test(
24
+ 'ip-validation',
25
+ t('ai:Not a valid IP address'),
26
+ (value?: string) => Address4.isValid(value || '') || Address6.isValid(value || ''),
27
+ );
28
+
29
+ export const ipNoSuffixValidationSchema = (t: TFunction) =>
30
+ Yup.string().test('ip-validation-no-suffix', t('ai:Not a valid IP address'), (value?: string) => {
31
+ const address = getAddress(value || '');
32
+ return !!address && address.address === address.addressMinusSuffix;
33
+ });
34
+
35
+ export const macAddressValidationSchema = (t: TFunction) =>
36
+ Yup.string().matches(MAC_REGEX, {
37
+ message: (value) => t('ai:Value "{{value}}" is not valid MAC address.', { value }),
38
+ excludeEmptyString: true,
39
+ });
40
+
41
+ export const vipRangeValidationSchema = (
42
+ hostSubnets: HostSubnets,
43
+ { machineNetworks }: NetworkConfigurationValues,
44
+ allowSuffix: boolean,
45
+ t: TFunction,
46
+ ) =>
47
+ Yup.string().test('vip-validation', t('ai:IP Address is outside of selected subnet'), (value) => {
48
+ if (!value) {
49
+ return true;
50
+ }
51
+
52
+ try {
53
+ const validator = allowSuffix ? ipValidationSchema : ipNoSuffixValidationSchema;
54
+ validator(t).validateSync(value);
55
+ } catch (err) {
56
+ return true;
57
+ }
58
+ // Find host subnets that match the selected machine networks
59
+ const cidrs = machineNetworks?.map((network) => network.cidr) ?? [];
60
+ const matchingSubnets = hostSubnets.filter((hostSubnet) => cidrs.includes(hostSubnet.subnet));
61
+
62
+ for (const hostSubnet of matchingSubnets) {
63
+ if (hostSubnet?.subnet) {
64
+ // Workaround for bug in CIM backend. hostIDs are empty
65
+ if (!hostSubnet.hostIDs.length) {
66
+ return true;
67
+ } else if (isInSubnet(value, hostSubnet.subnet)) {
68
+ return true;
69
+ }
70
+ }
71
+ }
72
+ return false;
73
+ });
74
+
75
+ const vipBroadcastValidationSchema = (
76
+ { machineNetworks }: NetworkConfigurationValues,
77
+ t: TFunction,
78
+ ) =>
79
+ Yup.string().test(
80
+ 'vip-no-broadcast',
81
+ t('ai:The IP address cannot be a network or broadcast address'),
82
+ function (value?: string) {
83
+ if (!value) {
84
+ return true;
85
+ }
86
+
87
+ const vipAddress = getAddress(value)?.address;
88
+ if (!vipAddress) {
89
+ return true;
90
+ }
91
+
92
+ const index = getArrayIndexFromPath(this.path || '');
93
+ const machineNetworkCidr = machineNetworks?.[index]?.cidr ?? machineNetworks?.[0]?.cidr ?? '';
94
+ if (!machineNetworkCidr) {
95
+ return true;
96
+ }
97
+
98
+ const machineNetwork = getAddress(machineNetworkCidr);
99
+ if (!machineNetwork) {
100
+ return true;
101
+ }
102
+
103
+ const machineNetworkBroadcast = machineNetwork.endAddress().address;
104
+ const machineNetworkAddress = machineNetwork.startAddress().address;
105
+
106
+ return vipAddress !== machineNetworkBroadcast && vipAddress !== machineNetworkAddress;
107
+ },
108
+ );
109
+
110
+ export const hostSubnetValidationSchema = Yup.string().when(['managedNetworkingType'], {
111
+ is: (managedNetworkingType: NetworkConfigurationValues['managedNetworkingType']) =>
112
+ managedNetworkingType === 'clusterManaged',
113
+ then: () => Yup.string().notOneOf([NO_SUBNET_SET], 'Host subnet must be selected.'),
114
+ });
115
+
116
+ export const vipNoSuffixValidationSchema = (
117
+ hostSubnets: HostSubnets,
118
+ values: NetworkConfigurationValues,
119
+ t: TFunction,
120
+ ) =>
121
+ Yup.mixed().when(['vipDhcpAllocation', 'managedNetworkingType'], {
122
+ is: (
123
+ vipDhcpAllocation: NetworkConfigurationValues['vipDhcpAllocation'],
124
+ managedNetworkingType: NetworkConfigurationValues['managedNetworkingType'],
125
+ ) => !vipDhcpAllocation && managedNetworkingType !== 'userManaged',
126
+ then: () => {
127
+ // Per-item schema for VIPs (apiVips[*].ip / ingressVips[*].ip)
128
+ // 1) Require value once set
129
+ // 2) Validate IP without suffix
130
+ // 3) Ensure VIP family matches machineNetworks[idx] family
131
+ // 4) Validate range vs selected subnets
132
+ // 5) No broadcast/network address
133
+ // 6) Uniqueness across API/Ingress
134
+ const vipFamilyMatchSchema = Yup.string().test(
135
+ 'vip-family-match-machine-network',
136
+ t('ai:IP family must match the corresponding machine network family.'),
137
+ function (value?: string) {
138
+ if (!value) {
139
+ return true;
140
+ }
141
+ const index = getArrayIndexFromPath(this.path || '');
142
+ if (Number.isNaN(index)) {
143
+ return true;
144
+ }
145
+ const cidr = values.machineNetworks?.[index]?.cidr || '';
146
+ const mnIsV4 = isCIDR.v4(cidr);
147
+ const mnIsV6 = isCIDR.v6(cidr);
148
+ // If machine network at index is not selected/valid, don't block validation here
149
+ if (!mnIsV4 && !mnIsV6) {
150
+ return true;
151
+ }
152
+ const ipIsV4 = isIPv4Address(value);
153
+ const ipIsV6 = isIPv6Address(value);
154
+ if (!ipIsV4 && !ipIsV6) {
155
+ return true;
156
+ }
157
+ return mnIsV4 ? ipIsV4 : ipIsV6;
158
+ },
159
+ );
160
+ // Ensure API and Ingress VIPs at the same index are not the same
161
+ const vipUniqueSchema = Yup.string().test('vip-uniqueness', function (value?: string) {
162
+ if (!value) {
163
+ return true;
164
+ }
165
+ const index = getArrayIndexFromPath(this.path || '');
166
+ if (Number.isNaN(index)) {
167
+ return true;
168
+ }
169
+ const apiVip = values.apiVips?.[index]?.ip;
170
+ const ingressVip = values.ingressVips?.[index]?.ip;
171
+ if (!apiVip || !ingressVip) {
172
+ return true;
173
+ }
174
+ if (apiVip === ingressVip) {
175
+ return this.createError({
176
+ message: t('ai:The {{label}} Ingress and API IP addresses cannot be the same.', {
177
+ label: index === 0 ? t('ai:primary') : t('ai:secondary'),
178
+ }),
179
+ });
180
+ }
181
+ return true;
182
+ });
183
+
184
+ return alwaysRequired(t('ai:Required field'))
185
+ .concat(ipNoSuffixValidationSchema(t))
186
+ .concat(vipFamilyMatchSchema)
187
+ .concat(vipRangeValidationSchema(hostSubnets, values, false, t))
188
+ .concat(vipBroadcastValidationSchema(values, t))
189
+ .concat(vipUniqueSchema);
190
+ },
191
+ });
192
+
193
+ export const vipArrayValidationSchema = <T extends Yup.Maybe<Yup.AnyObject>>(
194
+ hostSubnets: HostSubnets,
195
+ values: NetworkConfigurationValues,
196
+ t: TFunction,
197
+ ) =>
198
+ values.managedNetworkingType === 'clusterManaged'
199
+ ? Yup.array<T>().of(
200
+ Yup.object({
201
+ clusterId: Yup.string(),
202
+ ip: vipNoSuffixValidationSchema(hostSubnets, values, t),
203
+ }),
204
+ )
205
+ : Yup.array<T>();
206
+
207
+ export const ipBlockValidationSchema = (
208
+ reservedCidrs: string | string[] | undefined,
209
+ t: TFunction,
210
+ ) =>
211
+ Yup.string()
212
+ .required('A value is required.')
213
+ .test(
214
+ 'valid-ip-address',
215
+ t(
216
+ 'ai:Invalid IP address block. Expected value is a network expressed in CIDR notation (IP/netmask). For example: 123.123.123.0/24, 2055:d7a::/116',
217
+ ),
218
+ (value?: string): boolean => !!value && (isCIDR.v4(value) || isCIDR.v6(value)),
219
+ )
220
+ .test(
221
+ 'valid-netmask',
222
+ t(
223
+ 'ai:IPv4 netmask must be between 1-25 and include at least 128 addresses.\nIPv6 netmask must be between 8-128 and include at least 256 addresses.',
224
+ ),
225
+ (value?: string) => {
226
+ const suffix = parseInt((value || '').split('/')[1]);
227
+
228
+ return (
229
+ (isCIDR.v4(value || '') && 0 < suffix && suffix < 26) ||
230
+ (isCIDR.v6(value || '') && 7 < suffix && suffix < 129)
231
+ );
232
+ },
233
+ )
234
+ .test(
235
+ 'cidr-is-not-unspecified',
236
+ t(
237
+ 'ai:The specified CIDR is invalid because its resulting routing prefix matches the unspecified address.',
238
+ ),
239
+ (cidr: string) => {
240
+ const ip = getSubnet(cidr);
241
+ if (ip === null) {
242
+ return false;
243
+ }
244
+
245
+ // The first address is used to represent the network
246
+ const startAddress = ip.startAddress().address;
247
+
248
+ return startAddress !== IP_V4_ZERO && startAddress !== IP_V6_ZERO;
249
+ },
250
+ )
251
+ .test(
252
+ 'valid-cidr-base-address',
253
+ ({ value }) => t('ai:{{value}} is not a valid CIDR', { value: value as string }),
254
+ (cidr: string) => {
255
+ const ip = getSubnet(cidr);
256
+ if (ip === null) {
257
+ return false;
258
+ }
259
+
260
+ const networkAddress = ip.startAddress().parsedAddress;
261
+ const ipAddress = ip.parsedAddress;
262
+ const result = ipAddress.every((part, idx) => part === networkAddress[idx]);
263
+
264
+ return result;
265
+ },
266
+ )
267
+ .test('cidrs-can-not-overlap', t('ai:Provided CIDRs can not overlap.'), (cidr: string) => {
268
+ try {
269
+ if (cidr && reservedCidrs && reservedCidrs.length > 0) {
270
+ return !overlap(cidr, reservedCidrs);
271
+ }
272
+ } catch {
273
+ return false;
274
+ }
275
+ // passing by default
276
+ return true;
277
+ });
278
+
279
+ export const hostPrefixValidationSchema = (
280
+ clusterNetworkCidr: NetworkConfigurationValues['clusterNetworkCidr'],
281
+ t: TFunction,
282
+ ) => {
283
+ const requiredText = t('ai:Required field');
284
+ const minMaxText = t(
285
+ 'ai:The host prefix is a number between 1 and 32 for IPv4 and between 8 and 128 for IPv6.',
286
+ );
287
+ const netBlock = (clusterNetworkCidr || '').split('/')[1];
288
+ if (!netBlock) {
289
+ return Yup.number().required(requiredText).min(1, minMaxText).max(32, minMaxText);
290
+ }
291
+
292
+ let netBlockNumber = parseInt(netBlock);
293
+ if (isNaN(netBlockNumber)) {
294
+ netBlockNumber = 1;
295
+ }
296
+
297
+ const errorMsgPrefix = t(
298
+ 'ai:The host prefix is a number between size of the cluster network CIDR range',
299
+ );
300
+ const errorMsgIPv4 = t('ai:{{errorMsgPrefix}} ({{netBlockNumber}}) and 25.', {
301
+ errorMsgPrefix,
302
+ netBlockNumber,
303
+ });
304
+ const errorMsgIPv6 = t('ai:{{errorMsgPrefix}} (8) and 128.', { errorMsgPrefix });
305
+
306
+ if (isCIDR.v6(clusterNetworkCidr || '')) {
307
+ return Yup.number().required(requiredText).min(8, errorMsgIPv6).max(128, errorMsgIPv6);
308
+ }
309
+
310
+ if (isCIDR.v4(clusterNetworkCidr || '')) {
311
+ return Yup.number()
312
+ .required(requiredText)
313
+ .min(netBlockNumber, errorMsgIPv4)
314
+ .max(25, errorMsgIPv4);
315
+ }
316
+
317
+ return Yup.number().required(requiredText);
318
+ };
319
+
320
+ export const day2ApiVipValidationSchema = (t: TFunction) =>
321
+ Yup.string().test(
322
+ 'day2-api-vip',
323
+ t('ai:Provide a valid DNS name or IP Address'),
324
+ (value?: string) => {
325
+ if (!value) {
326
+ return true;
327
+ }
328
+ return isIPorDN(value);
329
+ },
330
+ );
331
+
332
+ export const bmcAddressValidationSchema = (t: TFunction) => {
333
+ return Yup.string()
334
+ .required()
335
+ .test(
336
+ 'valid-bmc-address',
337
+ t(
338
+ 'ai:The Value is not valid BMC address, supported protocols are redfish-virtualmedia or idrac-virtualmedia.',
339
+ ),
340
+ (val) => {
341
+ try {
342
+ const url = parseUrl(val);
343
+ return ['redfish-virtualmedia', 'idrac-virtualmedia'].includes(url.protocol as string);
344
+ } catch (error) {
345
+ return false;
346
+ }
347
+ },
348
+ );
349
+ };
@@ -0,0 +1,168 @@
1
+ import { TFunction } from 'i18next';
2
+ import * as Yup from 'yup';
3
+
4
+ import {
5
+ CLUSTER_NAME_MAX_LENGTH,
6
+ clusterNameValidationMessages,
7
+ FORBIDDEN_HOSTNAMES,
8
+ hostnameValidationMessages,
9
+ locationValidationMessages,
10
+ nameValidationMessages,
11
+ } from './constants';
12
+ import { ClusterDetailsValues } from '../components';
13
+ import {
14
+ ALPHANUMERIC_REGEX,
15
+ CLUSTER_NAME_START_END_REGEX,
16
+ CLUSTER_NAME_VALID_CHARS_REGEX,
17
+ DNS_NAME_REGEX,
18
+ HOST_NAME_REGEX,
19
+ LOCATION_CHARS_REGEX,
20
+ NAME_CHARS_REGEX,
21
+ NAME_START_END_REGEX,
22
+ } from './regexes';
23
+
24
+ export const nameValidationSchema = (
25
+ t: TFunction,
26
+ usedClusterNames: string[],
27
+ baseDnsDomain = '',
28
+ validateUniqueName?: boolean,
29
+ isOcm = false,
30
+ ) => {
31
+ const clusterNameValidationMessagesList = clusterNameValidationMessages(t);
32
+ return Yup.string()
33
+ .required(t('ai:Required field'))
34
+ .matches(CLUSTER_NAME_VALID_CHARS_REGEX, {
35
+ message: clusterNameValidationMessagesList.INVALID_VALUE,
36
+ excludeEmptyString: true,
37
+ })
38
+ .matches(CLUSTER_NAME_START_END_REGEX, {
39
+ message: clusterNameValidationMessagesList.INVALID_START_END,
40
+ excludeEmptyString: true,
41
+ })
42
+ .min(
43
+ isOcm ? 1 : 2,
44
+ isOcm
45
+ ? clusterNameValidationMessagesList.INVALID_LENGTH_OCM
46
+ : clusterNameValidationMessagesList.INVALID_LENGTH_ACM,
47
+ )
48
+ .max(
49
+ CLUSTER_NAME_MAX_LENGTH,
50
+ isOcm
51
+ ? clusterNameValidationMessagesList.INVALID_LENGTH_OCM
52
+ : clusterNameValidationMessagesList.INVALID_LENGTH_ACM,
53
+ )
54
+ .when('useRedHatDnsService', {
55
+ is: (useRedHatDnsService: ClusterDetailsValues['useRedHatDnsService']) =>
56
+ useRedHatDnsService === true,
57
+ then: (schema) =>
58
+ schema.test(
59
+ 'is-name-unique',
60
+ clusterNameValidationMessagesList.NOT_UNIQUE,
61
+ (value?: string) => {
62
+ const clusterFullName = `${value || ''}.${baseDnsDomain}`;
63
+ return !value || !usedClusterNames.includes(clusterFullName);
64
+ },
65
+ ),
66
+ otherwise: (schema) =>
67
+ schema.test(
68
+ 'is-name-unique',
69
+ clusterNameValidationMessagesList.NOT_UNIQUE,
70
+ (value?: string) => {
71
+ // in CIM cluster name is ClusterDeployment CR name which must be unique
72
+ return validateUniqueName ? !value || !usedClusterNames.includes(value) : true;
73
+ },
74
+ ),
75
+ });
76
+ };
77
+
78
+ export const richNameValidationSchema = (t: TFunction, usedNames: string[], origName?: string) => {
79
+ const nameValidationMessagesList = nameValidationMessages(t);
80
+ return Yup.string()
81
+ .min(1, nameValidationMessagesList.INVALID_LENGTH)
82
+ .max(253, nameValidationMessagesList.INVALID_LENGTH)
83
+ .test(
84
+ nameValidationMessagesList.INVALID_START_END,
85
+ nameValidationMessagesList.INVALID_START_END,
86
+ (value?: string) => {
87
+ const trimmed = value?.trim();
88
+ if (!trimmed) {
89
+ return true;
90
+ }
91
+ return (
92
+ !!trimmed[0].match(NAME_START_END_REGEX) &&
93
+ (trimmed[trimmed.length - 1]
94
+ ? !!trimmed[trimmed.length - 1].match(NAME_START_END_REGEX)
95
+ : true)
96
+ );
97
+ },
98
+ )
99
+ .matches(HOST_NAME_REGEX, nameValidationMessagesList.INVALID_FORMAT)
100
+ .matches(NAME_CHARS_REGEX, {
101
+ message: nameValidationMessagesList.INVALID_VALUE,
102
+ excludeEmptyString: true,
103
+ })
104
+ .test(nameValidationMessagesList.NOT_UNIQUE, nameValidationMessagesList.NOT_UNIQUE, (value) => {
105
+ if (!value || value === origName) {
106
+ return true;
107
+ }
108
+ return !usedNames.find((n) => n === value);
109
+ })
110
+ .notOneOf(FORBIDDEN_HOSTNAMES, hostnameValidationMessages(t).LOCALHOST_ERR);
111
+ };
112
+
113
+ export const dnsNameValidationSchema = (t: TFunction) =>
114
+ Yup.string()
115
+ .test(
116
+ 'dns-name-label-length',
117
+ t('ai:Single label of the DNS name can not be longer than 63 characters.'),
118
+ (value?: string) => (value || '').split('.').every((label: string) => label.length <= 63),
119
+ )
120
+ .matches(DNS_NAME_REGEX, {
121
+ message: (value) =>
122
+ t('ai:Value "{{value}}" is not valid DNS name. Example: basedomain.example.com', { value }),
123
+ excludeEmptyString: true,
124
+ });
125
+
126
+ export const baseDomainValidationSchema = (t: TFunction) =>
127
+ Yup.string().test(
128
+ 'dns-name-label-length',
129
+ t(
130
+ 'ai:Every single host component in the base domain name cannot contain more than 63 characters and must not contain spaces.',
131
+ ),
132
+ (value?: string) => {
133
+ // Check if the value contains any spaces
134
+ if (/\s/.test(value as string)) {
135
+ return false; // Value contains spaces, validation fails
136
+ }
137
+
138
+ // Check the label lengths
139
+ const labels = (value || '').split('.');
140
+ return labels.every((label: string) => label.length <= 63);
141
+ },
142
+ );
143
+
144
+ export const locationValidationSchema = (t: TFunction) =>
145
+ Yup.string()
146
+ .min(1, locationValidationMessages(t).INVALID_LENGTH)
147
+ .max(63, locationValidationMessages(t).INVALID_LENGTH)
148
+ .test(
149
+ locationValidationMessages(t).INVALID_START_END,
150
+ locationValidationMessages(t).INVALID_START_END,
151
+ (value?: string) => {
152
+ const trimmed = value?.trim();
153
+ if (!trimmed) {
154
+ return true;
155
+ }
156
+ return (
157
+ !!trimmed[0].match(ALPHANUMERIC_REGEX) &&
158
+ (trimmed[trimmed.length - 1]
159
+ ? !!trimmed[trimmed.length - 1].match(ALPHANUMERIC_REGEX)
160
+ : true)
161
+ );
162
+ },
163
+ )
164
+ .matches(LOCATION_CHARS_REGEX, {
165
+ message: locationValidationMessages(t).INVALID_VALUE,
166
+ excludeEmptyString: true,
167
+ })
168
+ .required(t('ai:Location is a required field.'));
@@ -57,12 +57,6 @@ export const locationValidationMessages = (t: TFunction) => ({
57
57
  INVALID_START_END: t('ai:Must start and end with an alphanumeric character'),
58
58
  });
59
59
 
60
- export const bmcAddressValidationMessages = (t: TFunction) => ({
61
- INVALID_VALUE: t(
62
- 'ai:The Value is not valid BMC address, supported protocols are redfish-virtualmedia or idrac-virtualmedia.',
63
- ),
64
- });
65
-
66
60
  export const FORBIDDEN_HOSTNAMES = [
67
61
  'localhost',
68
62
  'localhost.localdomain',
@@ -71,3 +65,6 @@ export const FORBIDDEN_HOSTNAMES = [
71
65
  'localhost6',
72
66
  'localhost6.localdomain6',
73
67
  ];
68
+
69
+ export const getIncorrectFileTypeMessage = (t: TFunction) =>
70
+ t('ai:File type is not supported. File type must be yaml, yml, json, yaml.patch. or yml.patch.');
@@ -0,0 +1,46 @@
1
+ import * as Yup from 'yup';
2
+ import { TFunction } from 'i18next';
3
+ import { FORBIDDEN_HOSTNAMES, hostnameValidationMessages } from './constants';
4
+ import { NAME_START_END_REGEX, NAME_CHARS_REGEX } from './regexes';
5
+
6
+ export const richHostnameValidationSchema = (
7
+ t: TFunction,
8
+ usedNames: string[],
9
+ origName?: string,
10
+ ) => {
11
+ const hostnameValidationMessagesList = hostnameValidationMessages(t);
12
+ return Yup.string()
13
+ .min(1, hostnameValidationMessagesList.INVALID_LENGTH)
14
+ .max(63, hostnameValidationMessagesList.INVALID_LENGTH)
15
+ .test(
16
+ hostnameValidationMessagesList.INVALID_START_END,
17
+ hostnameValidationMessagesList.INVALID_START_END,
18
+ (value?: string) => {
19
+ const trimmed = value?.trim();
20
+ if (!trimmed) {
21
+ return true;
22
+ }
23
+ return (
24
+ !!trimmed[0].match(NAME_START_END_REGEX) &&
25
+ (trimmed[trimmed.length - 1]
26
+ ? !!trimmed[trimmed.length - 1].match(NAME_START_END_REGEX)
27
+ : true)
28
+ );
29
+ },
30
+ )
31
+ .matches(NAME_CHARS_REGEX, {
32
+ message: hostnameValidationMessagesList.INVALID_VALUE,
33
+ excludeEmptyString: true,
34
+ })
35
+ .test(
36
+ hostnameValidationMessagesList.NOT_UNIQUE,
37
+ hostnameValidationMessagesList.NOT_UNIQUE,
38
+ (value) => {
39
+ if (!value || value === origName) {
40
+ return true;
41
+ }
42
+ return !usedNames.find((n) => n === value);
43
+ },
44
+ )
45
+ .notOneOf(FORBIDDEN_HOSTNAMES, hostnameValidationMessagesList.LOCALHOST_ERR);
46
+ };
@@ -0,0 +1,11 @@
1
+ export * from './addressValidation';
2
+ export * from './clusterDetailsValidation';
3
+ export * from './hostnameValidation';
4
+ export * from './networkingValidation';
5
+ export * from './ntpValidation';
6
+ export * from './proxyValidation';
7
+ export * from './pullSecretValidation';
8
+ export * from './sshValidation';
9
+
10
+ export * from './constants';
11
+ export { ALPHANUMERIC_REGEX, LOCATION_CHARS_REGEX } from './regexes';