@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
@@ -1,30 +1,156 @@
1
- import React from 'react';
2
- import { Alert, AlertActionLink, AlertVariant, Popover } from '@patternfly/react-core';
3
- import { HostSubnets } from '../../../types/clusters';
4
- import { Host } from '@openshift-assisted/types/assisted-installer-service';
5
- import { SelectField } from '../../ui';
6
- import { NO_SUBNET_SET } from '../../../config';
1
+ import React, { useEffect } from 'react';
2
+ import {
3
+ Alert,
4
+ AlertActionLink,
5
+ AlertVariant,
6
+ FormGroup,
7
+ Popover,
8
+ Stack,
9
+ StackItem,
10
+ } from '@patternfly/react-core';
11
+ import { FieldArray, useFormikContext, FormikHelpers } from 'formik';
12
+ import { Address4, Address6 } from 'ip-address';
13
+
14
+ import { HostSubnet, NetworkConfigurationValues } from '../../../types';
15
+ import { DUAL_STACK, NO_SUBNET_SET } from '../../../config';
16
+ import { isMajorMinorVersionEqualOrGreater } from '../../../utils';
7
17
  import { useTranslation } from '../../../hooks/use-translation-wrapper';
18
+ import { SubnetsDropdown } from './SubnetsDropdown';
19
+ import { reorderNetworksForPrimary } from './reorderNetworks';
20
+ import {
21
+ Cluster,
22
+ Host,
23
+ MachineNetwork,
24
+ } from '@openshift-assisted/types/assisted-installer-service';
25
+
26
+ const subnetSort = (subA: HostSubnet, subB: HostSubnet) =>
27
+ subA.humanized.localeCompare(subB.humanized);
28
+
29
+ const useAutoSelectDefaultMachineNetworks = (
30
+ autoSelectNetwork: boolean,
31
+ setFieldValue: FormikHelpers<NetworkConfigurationValues>['setFieldValue'],
32
+ cidrV4: MachineNetwork['cidr'],
33
+ cidrV6: MachineNetwork['cidr'],
34
+ clusterId: string,
35
+ isDualStack: boolean,
36
+ ) => {
37
+ useEffect(() => {
38
+ if (autoSelectNetwork) {
39
+ setFieldValue(
40
+ 'machineNetworks',
41
+ isDualStack
42
+ ? [
43
+ { cidr: cidrV4, clusterId },
44
+ { cidr: cidrV6, clusterId },
45
+ ]
46
+ : [{ cidr: cidrV4, clusterId }],
47
+ false,
48
+ );
49
+ }
50
+ }, [autoSelectNetwork, cidrV4, cidrV6, clusterId, isDualStack, setFieldValue]);
51
+ };
8
52
 
9
53
  export interface AvailableSubnetsControlProps {
10
- hostSubnets: HostSubnets;
11
- hosts: Host[];
54
+ clusterId: Cluster['id'];
55
+ hostSubnets: HostSubnet[];
12
56
  isRequired: boolean;
13
- isMultiNodeCluster: boolean;
57
+ isDisabled: boolean;
58
+ openshiftVersion?: string;
59
+ isViewerMode?: boolean;
60
+ hosts?: Host[];
61
+ isMultiNodeCluster?: boolean;
14
62
  }
15
63
 
16
64
  export const AvailableSubnetsControl = ({
65
+ clusterId,
17
66
  hostSubnets,
18
- hosts,
19
67
  isRequired = false,
20
- isMultiNodeCluster,
68
+ isDisabled,
69
+ openshiftVersion,
70
+ isViewerMode = false,
71
+ hosts,
72
+ isMultiNodeCluster = true,
21
73
  }: AvailableSubnetsControlProps) => {
22
74
  const { t } = useTranslation();
23
- const getHelperText = (value: string) => {
24
- const matchingSubnet = hostSubnets.find((hn) => hn.subnet === value);
25
- if (matchingSubnet && isMultiNodeCluster) {
75
+ const { values, errors, setFieldValue } = useFormikContext<NetworkConfigurationValues>();
76
+ const isDualStack = values.stackType === DUAL_STACK;
77
+
78
+ // Check if OCP version supports IPv6 as primary network
79
+ const supportsIPv6Primary =
80
+ openshiftVersion && isMajorMinorVersionEqualOrGreater(openshiftVersion, '4.12');
81
+
82
+ const IPv4Subnets = hostSubnets
83
+ .filter((subnet) => Address4.isValid(subnet.subnet))
84
+ .sort(subnetSort);
85
+ const IPv6Subnets = hostSubnets
86
+ .filter((subnet) => Address6.isValid(subnet.subnet))
87
+ .sort(subnetSort);
88
+
89
+ // For OCP >= 4.12, both networks can use either IPv4 or IPv6
90
+ const allSubnets = supportsIPv6Primary
91
+ ? [...IPv4Subnets, ...IPv6Subnets].sort(subnetSort)
92
+ : IPv4Subnets;
93
+
94
+ // For auto-selection, prefer IPv4 as primary (even for dual-stack)
95
+ const cidrV4 = IPv4Subnets.length >= 1 ? IPv4Subnets[0].subnet : NO_SUBNET_SET;
96
+ const cidrV6 = IPv6Subnets.length >= 1 ? IPv6Subnets[0].subnet : NO_SUBNET_SET;
97
+ const hasEmptySelection = (values.machineNetworks ?? []).length === 0;
98
+ const autoSelectNetwork = !isViewerMode && hasEmptySelection;
99
+ useAutoSelectDefaultMachineNetworks(
100
+ autoSelectNetwork,
101
+ setFieldValue,
102
+ cidrV4,
103
+ cidrV6,
104
+ clusterId,
105
+ isDualStack,
106
+ );
107
+
108
+ // Ensure primary and secondary machine networks are not in the same stack (IPv4/IPv6).
109
+ // If the user switches primary to the same address family as secondary, adjust secondary to the opposite family
110
+ // (or clear it if no subnet is available).
111
+ React.useEffect(() => {
112
+ if (!isDualStack) {
113
+ return;
114
+ }
115
+ if (!values.machineNetworks || values.machineNetworks.length < 2) {
116
+ return;
117
+ }
118
+ const first = values.machineNetworks?.[0]?.cidr || '';
119
+ const second = values.machineNetworks?.[1]?.cidr || '';
120
+ if (!first || !second) {
121
+ return;
122
+ }
123
+
124
+ const firstIsV4 = Address4.isValid(first);
125
+ const firstIsV6 = Address6.isValid(first);
126
+ const secondIsV4 = Address4.isValid(second);
127
+ const secondIsV6 = Address6.isValid(second);
128
+
129
+ // If both are the same family, force the secondary to the opposite family.
130
+ if ((firstIsV4 && secondIsV4) || (firstIsV6 && secondIsV6)) {
131
+ const replacement = firstIsV4
132
+ ? IPv6Subnets[0]?.subnet ?? NO_SUBNET_SET
133
+ : IPv4Subnets[0]?.subnet ?? NO_SUBNET_SET;
134
+
135
+ if (replacement !== second) {
136
+ setFieldValue('machineNetworks.1.cidr', replacement, false);
137
+ }
138
+ }
139
+ }, [isDualStack, values.machineNetworks, IPv4Subnets, IPv6Subnets, setFieldValue]);
140
+
141
+ // Helper text showing excluded hosts
142
+ const getExcludedHostsAlert = React.useCallback(
143
+ (subnetCidr: string | undefined) => {
144
+ if (!hosts || !isMultiNodeCluster || !subnetCidr) {
145
+ return null;
146
+ }
147
+ const matchingSubnet = hostSubnets.find((hn) => hn.subnet === subnetCidr);
148
+ if (!matchingSubnet) {
149
+ return null;
150
+ }
151
+
26
152
  const excludedHosts =
27
- hosts?.filter(
153
+ hosts.filter(
28
154
  (host) =>
29
155
  !['disabled', 'disconnected'].includes(host.status) &&
30
156
  !matchingSubnet.hostIDs.includes(host.requestedHostname || ''),
@@ -32,7 +158,7 @@ export const AvailableSubnetsControl = ({
32
158
 
33
159
  // Workaround for bug in CIM backend. hostIDs are empty
34
160
  if (excludedHosts.length === 0 || !matchingSubnet.hostIDs.length) {
35
- return undefined;
161
+ return null;
36
162
  }
37
163
 
38
164
  const actionLinks = (
@@ -71,45 +197,87 @@ export const AvailableSubnetsControl = ({
71
197
  {t('ai:Hosts outside of this range will not be included in the new cluster.')}
72
198
  </Alert>
73
199
  );
74
- }
200
+ },
201
+ [hosts, isMultiNodeCluster, hostSubnets, t],
202
+ );
75
203
 
76
- return undefined;
77
- };
204
+ const primaryNetworkCidr = values.machineNetworks?.[0]?.cidr;
205
+ const excludedHostsAlert = getExcludedHostsAlert(primaryNetworkCidr);
206
+ const showSecondaryMachineNetwork =
207
+ isDualStack && values.machineNetworks && values.machineNetworks.length > 1;
78
208
 
79
- const hostSubnetLength = hostSubnets.length;
80
- return (
81
- <SelectField
82
- name="hostSubnet"
83
- label={t('ai:Available subnets')}
84
- options={
85
- hostSubnets.length
86
- ? [
87
- {
88
- label: t('ai:Please select a subnet. ({{hostSubnetLength}} available)', {
89
- hostSubnetLength,
90
- }),
91
- value: NO_SUBNET_SET,
92
- isDisabled: true,
93
- id: 'form-input-hostSubnet-field-option-no-subnet',
94
- },
95
- ...hostSubnets
96
- .sort((subA, subB) => subA.humanized.localeCompare(subB.humanized))
97
- .map((hn, index) => ({
98
- label: hn.humanized,
99
- value: hn.subnet,
100
- id: `form-input-hostSubnet-field-option-${index}`,
101
- })),
102
- ]
103
- : [
104
- {
105
- label: t('ai:No subnets are currently available'),
106
- value: NO_SUBNET_SET,
107
- },
108
- ]
209
+ // Determine available subnets for primary dropdown
210
+ const primaryMachineSubnets = isDualStack && supportsIPv6Primary ? allSubnets : IPv4Subnets;
211
+
212
+ // Determine available subnets for secondary dropdown
213
+ const secondaryMachineSubnets = React.useMemo(() => {
214
+ if (supportsIPv6Primary) {
215
+ // For OCP >= 4.12, smart filtering based on the other network's selection
216
+ if (primaryNetworkCidr && Address6.isValid(primaryNetworkCidr)) {
217
+ // If first is IPv6, second should be IPv4
218
+ return IPv4Subnets;
219
+ } else if (primaryNetworkCidr && Address4.isValid(primaryNetworkCidr)) {
220
+ // If first is IPv4, second should be IPv6
221
+ return IPv6Subnets;
222
+ } else {
223
+ // If first is not selected yet, show all subnets
224
+ return allSubnets;
109
225
  }
110
- getHelperText={getHelperText}
111
- isDisabled={!hostSubnets.length}
112
- isRequired={isRequired}
113
- />
226
+ } else {
227
+ // For older versions, second network is IPv6
228
+ return IPv6Subnets;
229
+ }
230
+ }, [supportsIPv6Primary, primaryNetworkCidr, IPv4Subnets, IPv6Subnets, allSubnets]);
231
+
232
+ return (
233
+ <>
234
+ <FormGroup
235
+ label="Machine network"
236
+ labelInfo={isDualStack && 'Primary'}
237
+ fieldId="machine-networks"
238
+ isRequired={isRequired}
239
+ >
240
+ <FieldArray name="machineNetworks">
241
+ {() => (
242
+ <Stack>
243
+ <StackItem>
244
+ <SubnetsDropdown
245
+ name="machineNetworks.0.cidr"
246
+ machineSubnets={primaryMachineSubnets}
247
+ isDisabled={isDisabled}
248
+ onAfterSelect={(newSelection) =>
249
+ reorderNetworksForPrimary(newSelection, values, setFieldValue)
250
+ }
251
+ data-testid="subnets-dropdown-toggle-primary"
252
+ />
253
+ </StackItem>
254
+ </Stack>
255
+ )}
256
+ </FieldArray>
257
+ </FormGroup>
258
+
259
+ {/* Secondary machine network */}
260
+ {showSecondaryMachineNetwork && (
261
+ <FormGroup
262
+ label="Machine network"
263
+ labelInfo="Secondary"
264
+ fieldId="machine-networks-secondary"
265
+ isRequired={isRequired}
266
+ >
267
+ <SubnetsDropdown
268
+ name="machineNetworks.1.cidr"
269
+ machineSubnets={secondaryMachineSubnets}
270
+ isDisabled={isDisabled}
271
+ data-testid="subnets-dropdown-toggle-secondary"
272
+ />
273
+ </FormGroup>
274
+ )}
275
+ <>
276
+ {typeof errors.machineNetworks === 'string' && (
277
+ <Alert variant={AlertVariant.warning} title={errors.machineNetworks} isInline />
278
+ )}
279
+ {excludedHostsAlert}
280
+ </>
281
+ </>
114
282
  );
115
283
  };
@@ -1,35 +1,42 @@
1
1
  import React from 'react';
2
- import { useSelector } from 'react-redux';
3
2
  import { ButtonVariant, FormGroup, Split, SplitItem, Tooltip } from '@patternfly/react-core';
4
3
  import { useFormikContext } from 'formik';
5
4
  import { Address4, Address6 } from 'ip-address';
6
5
 
6
+ import { HostSubnets, NetworkConfigurationValues } from '../../../types';
7
+ import { getFieldId } from '../../ui';
7
8
  import {
8
- HostSubnets,
9
- NetworkConfigurationValues,
10
- getFieldId,
11
9
  DUAL_STACK,
12
10
  IPV4_STACK,
13
11
  NETWORK_TYPE_OVN,
14
12
  NETWORK_TYPE_SDN,
15
13
  NO_SUBNET_SET,
16
- } from '../../../../common';
17
- import { ConfirmationModal, PopoverIcon } from '../../../../common/components/ui';
18
- import { useDefaultConfiguration } from '../ClusterDefaultConfigurationContext';
19
- import { selectCurrentClusterPermissionsState } from '../../../store/slices/current-cluster/selectors';
20
- import { OcmRadioField } from '../../ui/OcmFormFields';
14
+ } from '../../../config';
15
+ import { RadioField } from '../../ui/formik';
16
+ import { ConfirmationModal, PopoverIcon } from '../../ui';
21
17
  import { reorderNetworksByCurrentPrimary } from './reorderNetworks';
22
18
  import {
23
19
  Cluster,
20
+ ClusterDefaultConfig,
24
21
  ClusterNetwork,
25
22
  MachineNetwork,
26
23
  ServiceNetwork,
27
24
  } from '@openshift-assisted/types/assisted-installer-service';
28
25
 
29
- type StackTypeControlGroupProps = {
26
+ export type StackTypeDefaultNetworkValues = Pick<
27
+ ClusterDefaultConfig,
28
+ | 'clusterNetworksDualstack'
29
+ | 'clusterNetworksIpv4'
30
+ | 'serviceNetworksDualstack'
31
+ | 'serviceNetworksIpv4'
32
+ >;
33
+
34
+ export type StackTypeControlGroupProps = {
30
35
  clusterId: Cluster['id'];
31
36
  isDualStackSelectable: boolean;
32
37
  hostSubnets: HostSubnets;
38
+ defaultNetworkValues: StackTypeDefaultNetworkValues;
39
+ isViewerMode?: boolean;
33
40
  };
34
41
 
35
42
  const hasDualStackConfigurationChanged = (
@@ -40,29 +47,26 @@ const hasDualStackConfigurationChanged = (
40
47
  ) =>
41
48
  clusterNetworks &&
42
49
  serviceNetworks &&
43
- ((values.machineNetworks && values.machineNetworks[1].cidr !== cidrIPv6) ||
44
- (values.clusterNetworks && values.clusterNetworks[1].cidr !== clusterNetworks[1].cidr) ||
45
- (values.clusterNetworks &&
46
- values.clusterNetworks[1].hostPrefix !== clusterNetworks[1].hostPrefix) ||
47
- (values.serviceNetworks && values.serviceNetworks[1].cidr !== serviceNetworks[1].cidr));
50
+ ((values.machineNetworks?.[1] && values.machineNetworks[1].cidr !== cidrIPv6) ||
51
+ (values.clusterNetworks?.[1] && values.clusterNetworks[1].cidr !== clusterNetworks[1]?.cidr) ||
52
+ (values.clusterNetworks?.[1] &&
53
+ values.clusterNetworks[1].hostPrefix !== clusterNetworks[1]?.hostPrefix) ||
54
+ (values.serviceNetworks?.[1] && values.serviceNetworks[1].cidr !== serviceNetworks[1]?.cidr) ||
55
+ values.apiVips?.[1]?.ip ||
56
+ values.ingressVips?.[1]?.ip);
48
57
 
49
58
  export const StackTypeControlGroup = ({
50
59
  clusterId,
51
60
  isDualStackSelectable,
52
61
  hostSubnets,
62
+ defaultNetworkValues,
63
+ isViewerMode = false,
53
64
  }: StackTypeControlGroupProps) => {
54
65
  const { setFieldValue, values, validateForm } = useFormikContext<NetworkConfigurationValues>();
55
66
  const [openConfirmModal, setConfirmModal] = React.useState(false);
56
- const defaultNetworkValues = useDefaultConfiguration([
57
- 'clusterNetworksDualstack',
58
- 'clusterNetworksIpv4',
59
- 'serviceNetworksDualstack',
60
- 'serviceNetworksIpv4',
61
- ]);
62
67
 
63
68
  const IPv6Subnets = hostSubnets.filter((subnet) => Address6.isValid(subnet.subnet));
64
69
  const cidrIPv6 = IPv6Subnets.length >= 1 ? IPv6Subnets[0].subnet : NO_SUBNET_SET;
65
- const { isViewerMode } = useSelector(selectCurrentClusterPermissionsState);
66
70
  const shouldSetSingleStack =
67
71
  !isViewerMode && !isDualStackSelectable && values.stackType === DUAL_STACK;
68
72
 
@@ -216,9 +220,41 @@ export const StackTypeControlGroup = ({
216
220
  false,
217
221
  );
218
222
  }
219
- // Ensure cluster/service networks ordering matches the new primary family
220
- reorderNetworksByCurrentPrimary(values, setFieldValue);
223
+ // Initialize VIPs for dual-stack
224
+ if (values.apiVips && values.apiVips.length < 2) {
225
+ setFieldValue(
226
+ 'apiVips',
227
+ [values.apiVips[0] || { ip: '', clusterId: clusterId }, { ip: '', clusterId: clusterId }],
228
+ false,
229
+ );
230
+ }
231
+ if (values.ingressVips && values.ingressVips.length < 2) {
232
+ setFieldValue(
233
+ 'ingressVips',
234
+ [
235
+ values.ingressVips[0] || { ip: '', clusterId: clusterId },
236
+ { ip: '', clusterId: clusterId },
237
+ ],
238
+ false,
239
+ );
240
+ }
221
241
  };
242
+ // Ensure cluster/service networks ordering matches the new primary family
243
+ const primaryCidr = values.machineNetworks?.[0]?.cidr;
244
+ React.useEffect(() => {
245
+ if (isViewerMode) {
246
+ return;
247
+ }
248
+ reorderNetworksByCurrentPrimary(values, setFieldValue);
249
+ }, [
250
+ isViewerMode,
251
+ setFieldValue,
252
+ values,
253
+ values.stackType,
254
+ primaryCidr,
255
+ values.clusterNetworks,
256
+ values.serviceNetworks,
257
+ ]);
222
258
 
223
259
  const setStackType = (e: React.ChangeEvent<HTMLInputElement>) => {
224
260
  if (e.target.value === DUAL_STACK) {
@@ -253,10 +289,10 @@ export const StackTypeControlGroup = ({
253
289
  >
254
290
  <Split>
255
291
  <SplitItem>
256
- <OcmRadioField
292
+ <RadioField
257
293
  name={'stackType'}
258
294
  value={IPV4_STACK}
259
- isDisabled={!isDualStackSelectable}
295
+ isDisabled={!isDualStackSelectable || isViewerMode}
260
296
  label="IPv4&nbsp;"
261
297
  />
262
298
  </SplitItem>
@@ -275,10 +311,10 @@ export const StackTypeControlGroup = ({
275
311
  }
276
312
  hidden={isDualStackSelectable}
277
313
  >
278
- <OcmRadioField
314
+ <RadioField
279
315
  name={'stackType'}
280
316
  value={DUAL_STACK}
281
- isDisabled={!isDualStackSelectable}
317
+ isDisabled={!isDualStackSelectable || isViewerMode}
282
318
  label="Dual-stack&nbsp;"
283
319
  />
284
320
  </Tooltip>
@@ -9,14 +9,11 @@ import {
9
9
  Divider,
10
10
  } from '@patternfly/react-core';
11
11
  import { useField } from 'formik';
12
- import {
13
- getFieldId,
14
- HostSubnet,
15
- NO_SUBNET_SET,
16
- TechnologyPreview,
17
- PreviewBadgePosition,
18
- } from '../../../../common';
19
12
  import { Address4, Address6 } from 'ip-address';
13
+ import { getFieldId } from '../../ui';
14
+ import { HostSubnet } from '../../../types';
15
+ import { NO_SUBNET_SET } from '../../../config';
16
+ import { TechnologyPreview, PreviewBadgePosition } from '../../ui';
20
17
 
21
18
  type SubnetsDropdownProps = {
22
19
  name: string;