@openshift-assisted/ui-lib 2.9.5-cim → 2.9.7-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 (422) hide show
  1. package/build/@types/cim/components/ClusterDeployment/ACMClusterDeploymentDetailsStep.d.ts +1 -0
  2. package/build/@types/cim/components/ClusterDeployment/ACMClusterDeploymentDetailsStep.d.ts.map +1 -1
  3. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentDetailsForm.d.ts +1 -0
  4. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentDetailsForm.d.ts.map +1 -1
  5. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.d.ts +2 -1
  6. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.d.ts.map +1 -1
  7. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentHostSelectionStep.d.ts.map +1 -1
  8. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentHostsSelection.d.ts.map +1 -1
  9. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentNetworkingForm.d.ts +1 -0
  10. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentNetworkingForm.d.ts.map +1 -1
  11. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentNetworkingStep.d.ts.map +1 -1
  12. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentWizard.d.ts.map +1 -1
  13. package/build/@types/cim/components/ClusterDeployment/ClusterDetailsFormFields.d.ts +1 -0
  14. package/build/@types/cim/components/ClusterDeployment/ClusterDetailsFormFields.d.ts.map +1 -1
  15. package/build/@types/cim/components/ClusterDeployment/types.d.ts +6 -3
  16. package/build/@types/cim/components/ClusterDeployment/types.d.ts.map +1 -1
  17. package/build/@types/cim/components/ClusterDeployment/wizardTransition.d.ts.map +1 -1
  18. package/build/@types/cim/components/InfraEnv/AddHostDropdown.d.ts +1 -1
  19. package/build/@types/cim/components/InfraEnv/AddHostDropdown.d.ts.map +1 -1
  20. package/build/@types/cim/components/InfraEnv/types.d.ts +3 -1
  21. package/build/@types/cim/components/InfraEnv/types.d.ts.map +1 -1
  22. package/build/@types/cim/components/helpers/toAssisted.d.ts.map +1 -1
  23. package/build/@types/cim/components/helpers/versions.d.ts +1 -1
  24. package/build/@types/cim/components/helpers/versions.d.ts.map +1 -1
  25. package/build/@types/cim/components/modals/AddBmcHostModal.d.ts.map +1 -1
  26. package/build/@types/cim/components/modals/AddBmcHostYamlModal.d.ts.map +1 -1
  27. package/build/@types/cim/components/modals/ProvisioningConfigErrorAlert.d.ts +5 -0
  28. package/build/@types/cim/components/modals/ProvisioningConfigErrorAlert.d.ts.map +1 -0
  29. package/build/@types/cim/components/modals/types.d.ts +2 -0
  30. package/build/@types/cim/components/modals/types.d.ts.map +1 -1
  31. package/build/@types/common/api/assisted-service/ClustersAPI.d.ts +1 -3
  32. package/build/@types/common/api/assisted-service/ClustersAPI.d.ts.map +1 -1
  33. package/build/@types/common/api/axiosClient.d.ts.map +1 -1
  34. package/build/@types/common/components/clusterWizard/ReviewValidations.d.ts.map +1 -1
  35. package/build/@types/common/components/clusterWizard/types.d.ts +1 -0
  36. package/build/@types/common/components/clusterWizard/types.d.ts.map +1 -1
  37. package/build/@types/common/components/clusterWizard/validationsInfoUtils.d.ts +4 -0
  38. package/build/@types/common/components/clusterWizard/validationsInfoUtils.d.ts.map +1 -1
  39. package/build/@types/common/components/ui/formik/SingleNodeCheckbox.d.ts.map +1 -1
  40. package/build/@types/common/components/ui/formik/validationSchemas.d.ts +0 -1
  41. package/build/@types/common/components/ui/formik/validationSchemas.d.ts.map +1 -1
  42. package/build/@types/common/config/constants.d.ts.map +1 -1
  43. package/build/@types/common/features/featureGate.d.ts +1 -2
  44. package/build/@types/common/features/featureGate.d.ts.map +1 -1
  45. package/build/@types/ocm/components/HostsClusterDetailTab/HostsClusterDetailTab.d.ts.map +1 -1
  46. package/build/@types/ocm/components/Routes.d.ts +6 -0
  47. package/build/@types/ocm/components/Routes.d.ts.map +1 -0
  48. package/build/@types/ocm/components/clusterConfiguration/DiscoveryImageForm.d.ts.map +1 -1
  49. package/build/@types/ocm/components/clusterConfiguration/OcmBaseDomainField.d.ts.map +1 -1
  50. package/build/@types/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.d.ts.map +1 -1
  51. package/build/@types/ocm/components/clusterConfiguration/OcmSingleNodeCheckbox.d.ts.map +1 -1
  52. package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsForm.d.ts.map +1 -1
  53. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.d.ts.map +1 -1
  54. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.d.ts.map +1 -1
  55. package/build/@types/ocm/components/clusterConfiguration/operators/CnvHostRequirements.d.ts.map +1 -1
  56. package/build/@types/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.d.ts +13 -5
  57. package/build/@types/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.d.ts.map +1 -1
  58. package/build/@types/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegrationNote.d.ts.map +1 -1
  59. package/build/@types/ocm/components/clusterConfiguration/platformIntegration/constants.d.ts +2 -2
  60. package/build/@types/ocm/components/clusterConfiguration/platformIntegration/constants.d.ts.map +1 -1
  61. package/build/@types/ocm/components/clusterConfiguration/staticIp/components/YamlView/MacIpMapping.d.ts.map +1 -1
  62. package/build/@types/ocm/components/clusterDetail/AssistedInstallerDetailCard.d.ts.map +1 -1
  63. package/build/@types/ocm/components/clusterWizard/ClusterDetails.d.ts.map +1 -1
  64. package/build/@types/ocm/components/clusterWizard/ClusterDetailsForm.d.ts.map +1 -1
  65. package/build/@types/ocm/components/clusterWizard/CustomManifestStep.d.ts.map +1 -1
  66. package/build/@types/ocm/components/clusterWizard/OperatorsStep.d.ts.map +1 -1
  67. package/build/@types/ocm/components/clusterWizard/StaticIp.d.ts.map +1 -1
  68. package/build/@types/ocm/components/clusters/AssistedInstallerHeader.d.ts +2 -0
  69. package/build/@types/ocm/components/clusters/AssistedInstallerHeader.d.ts.map +1 -0
  70. package/build/@types/ocm/components/clusters/ClusterPage.d.ts.map +1 -1
  71. package/build/@types/ocm/components/clusters/Clusters.d.ts.map +1 -1
  72. package/build/@types/ocm/components/clusters/ClustersTable.d.ts.map +1 -1
  73. package/build/@types/ocm/components/clusters/NewClusterPage.d.ts.map +1 -1
  74. package/build/@types/ocm/components/clusters/clusterPolling.d.ts +1 -1
  75. package/build/@types/ocm/components/clusters/clusterPolling.d.ts.map +1 -1
  76. package/build/@types/ocm/components/featureSupportLevels/featureStateUtils.d.ts.map +1 -1
  77. package/build/@types/ocm/components/hosts/use-hosts-table.d.ts.map +1 -1
  78. package/build/@types/ocm/components/index.d.ts +1 -1
  79. package/build/@types/ocm/hooks/index.d.ts +0 -1
  80. package/build/@types/ocm/hooks/index.d.ts.map +1 -1
  81. package/build/@types/ocm/index.d.ts +0 -1
  82. package/build/@types/ocm/index.d.ts.map +1 -1
  83. package/build/@types/ocm/store/hooks.d.ts +5 -1
  84. package/build/@types/ocm/store/hooks.d.ts.map +1 -1
  85. package/build/@types/ocm/store/index.d.ts +5 -36
  86. package/build/@types/ocm/store/index.d.ts.map +1 -1
  87. package/build/@types/ocm/{selectors/clusters.d.ts → store/slices/clusters/selectors.d.ts} +15 -11
  88. package/build/@types/ocm/store/slices/clusters/selectors.d.ts.map +1 -0
  89. package/build/@types/ocm/{reducers/clusters/clustersSlice.d.ts → store/slices/clusters/slice.d.ts} +4 -4
  90. package/build/@types/ocm/store/slices/clusters/slice.d.ts.map +1 -0
  91. package/build/@types/ocm/store/slices/current-cluster/selectors.d.ts +14 -0
  92. package/build/@types/ocm/store/slices/current-cluster/selectors.d.ts.map +1 -0
  93. package/build/@types/ocm/{reducers/clusters/currentClusterSlice.d.ts → store/slices/current-cluster/slice.d.ts} +5 -5
  94. package/build/@types/ocm/store/slices/current-cluster/slice.d.ts.map +1 -0
  95. package/build/@types/ocm/store/slices/feature-flags/selectors.d.ts +9 -0
  96. package/build/@types/ocm/store/slices/feature-flags/selectors.d.ts.map +1 -0
  97. package/build/@types/ocm/store/slices/feature-flags/slice.d.ts +7 -0
  98. package/build/@types/ocm/store/slices/feature-flags/slice.d.ts.map +1 -0
  99. package/build/@types/ocm/store/slices/{infraEnvs → infra-envs}/selectors.d.ts +4 -3
  100. package/build/@types/ocm/store/slices/infra-envs/selectors.d.ts.map +1 -0
  101. package/build/@types/ocm/store/slices/infra-envs/slice.d.ts.map +1 -0
  102. package/build/@types/ocm/store/slices/infra-envs/thunks.d.ts.map +1 -0
  103. package/build/@types/ocm/store/store-day1.d.ts +32 -0
  104. package/build/@types/ocm/store/store-day1.d.ts.map +1 -0
  105. package/build/@types/ocm/store/store-day2.d.ts +10 -0
  106. package/build/@types/ocm/store/store-day2.d.ts.map +1 -0
  107. package/build/cjs/cim/components/ClusterDeployment/ACMClusterDeploymentDetailsStep.js +3 -2
  108. package/build/cjs/cim/components/ClusterDeployment/ACMClusterDeploymentDetailsStep.js.map +1 -1
  109. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentDetailsForm.js +3 -3
  110. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentDetailsForm.js.map +1 -1
  111. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.js +5 -4
  112. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.js.map +1 -1
  113. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentHostSelectionStep.js +2 -2
  114. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentHostSelectionStep.js.map +1 -1
  115. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentHostsSelection.js +14 -9
  116. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentHostsSelection.js.map +1 -1
  117. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentNetworkingForm.js +2 -2
  118. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentNetworkingForm.js.map +1 -1
  119. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentNetworkingStep.js +2 -2
  120. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentNetworkingStep.js.map +1 -1
  121. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentWizard.js +4 -4
  122. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentWizard.js.map +1 -1
  123. package/build/cjs/cim/components/ClusterDeployment/ClusterDetailsFormFields.js +4 -3
  124. package/build/cjs/cim/components/ClusterDeployment/ClusterDetailsFormFields.js.map +1 -1
  125. package/build/cjs/cim/components/ClusterDeployment/wizardTransition.js +9 -0
  126. package/build/cjs/cim/components/ClusterDeployment/wizardTransition.js.map +1 -1
  127. package/build/cjs/cim/components/Hypershift/hooks/useSupportedOCPVersions.js +1 -1
  128. package/build/cjs/cim/components/Hypershift/hooks/useSupportedOCPVersions.js.map +1 -1
  129. package/build/cjs/cim/components/InfraEnv/AddHostDropdown.js +23 -10
  130. package/build/cjs/cim/components/InfraEnv/AddHostDropdown.js.map +1 -1
  131. package/build/cjs/cim/components/helpers/toAssisted.js +2 -1
  132. package/build/cjs/cim/components/helpers/toAssisted.js.map +1 -1
  133. package/build/cjs/cim/components/helpers/versions.js +9 -2
  134. package/build/cjs/cim/components/helpers/versions.js.map +1 -1
  135. package/build/cjs/cim/components/modals/AddBmcHostModal.js +3 -1
  136. package/build/cjs/cim/components/modals/AddBmcHostModal.js.map +1 -1
  137. package/build/cjs/cim/components/modals/AddBmcHostYamlModal.js +3 -1
  138. package/build/cjs/cim/components/modals/AddBmcHostYamlModal.js.map +1 -1
  139. package/build/cjs/cim/components/modals/ProvisioningConfigErrorAlert.js +16 -0
  140. package/build/cjs/cim/components/modals/ProvisioningConfigErrorAlert.js.map +1 -0
  141. package/build/cjs/common/api/assisted-service/ClustersAPI.js +0 -6
  142. package/build/cjs/common/api/assisted-service/ClustersAPI.js.map +1 -1
  143. package/build/cjs/common/api/axiosClient.js +2 -4
  144. package/build/cjs/common/api/axiosClient.js.map +1 -1
  145. package/build/cjs/common/components/clusterWizard/ReviewValidations.js +11 -3
  146. package/build/cjs/common/components/clusterWizard/ReviewValidations.js.map +1 -1
  147. package/build/cjs/common/components/clusterWizard/networkingSteps/NetworkTypeControlGroup.js +2 -2
  148. package/build/cjs/common/components/clusterWizard/networkingSteps/NetworkTypeControlGroup.js.map +1 -1
  149. package/build/cjs/common/components/clusterWizard/validationsInfoUtils.js.map +1 -1
  150. package/build/cjs/common/components/ui/formik/SingleNodeCheckbox.js +1 -3
  151. package/build/cjs/common/components/ui/formik/SingleNodeCheckbox.js.map +1 -1
  152. package/build/cjs/common/components/ui/formik/validationSchemas.js +8 -16
  153. package/build/cjs/common/components/ui/formik/validationSchemas.js.map +1 -1
  154. package/build/cjs/common/config/constants.js +1 -3
  155. package/build/cjs/common/config/constants.js.map +1 -1
  156. package/build/cjs/common/features/featureGate.js +1 -11
  157. package/build/cjs/common/features/featureGate.js.map +1 -1
  158. package/build/cjs/common/utils.js +1 -1
  159. package/build/cjs/common/utils.js.map +1 -1
  160. package/build/cjs/ocm/components/HostsClusterDetailTab/HostsClusterDetailTab.js +9 -5
  161. package/build/cjs/ocm/components/HostsClusterDetailTab/HostsClusterDetailTab.js.map +1 -1
  162. package/build/cjs/ocm/components/Routes.js +29 -0
  163. package/build/cjs/ocm/components/Routes.js.map +1 -0
  164. package/build/cjs/ocm/components/clusterConfiguration/DiscoveryImageForm.js +4 -4
  165. package/build/cjs/ocm/components/clusterConfiguration/DiscoveryImageForm.js.map +1 -1
  166. package/build/cjs/ocm/components/clusterConfiguration/HostInventory.js +1 -1
  167. package/build/cjs/ocm/components/clusterConfiguration/HostInventory.js.map +1 -1
  168. package/build/cjs/ocm/components/clusterConfiguration/OcmBaseDomainField.js +0 -1
  169. package/build/cjs/ocm/components/clusterConfiguration/OcmBaseDomainField.js.map +1 -1
  170. package/build/cjs/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.js +2 -4
  171. package/build/cjs/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.js.map +1 -1
  172. package/build/cjs/ocm/components/clusterConfiguration/OcmSingleNodeCheckbox.js +1 -2
  173. package/build/cjs/ocm/components/clusterConfiguration/OcmSingleNodeCheckbox.js.map +1 -1
  174. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsArray.js +1 -1
  175. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsArray.js.map +1 -1
  176. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsForm.js +1 -1
  177. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsForm.js.map +1 -1
  178. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/AvailableSubnetsControl.js +1 -1
  179. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/AvailableSubnetsControl.js.map +1 -1
  180. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.js +8 -12
  181. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.js.map +1 -1
  182. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.js +5 -6
  183. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.js.map +1 -1
  184. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/StackTypeControl.js +1 -1
  185. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/StackTypeControl.js.map +1 -1
  186. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/VirtualIPControlGroup.js +1 -1
  187. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/VirtualIPControlGroup.js.map +1 -1
  188. package/build/cjs/ocm/components/clusterConfiguration/operators/CnvHostRequirements.js +1 -1
  189. package/build/cjs/ocm/components/clusterConfiguration/operators/CnvHostRequirements.js.map +1 -1
  190. package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.js +61 -18
  191. package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.js.map +1 -1
  192. package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegrationNote.js +2 -2
  193. package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegrationNote.js.map +1 -1
  194. package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/constants.js +8 -4
  195. package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/constants.js.map +1 -1
  196. package/build/cjs/ocm/components/clusterConfiguration/review/ReviewStep.js +3 -3
  197. package/build/cjs/ocm/components/clusterConfiguration/review/ReviewStep.js.map +1 -1
  198. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/StaticIpForm.js +1 -1
  199. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/StaticIpForm.js.map +1 -1
  200. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/StaticIpHostsArray.js +1 -1
  201. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/StaticIpHostsArray.js.map +1 -1
  202. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/YamlView/MacIpMapping.js +1 -1
  203. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/YamlView/MacIpMapping.js.map +1 -1
  204. package/build/cjs/ocm/components/clusterDetail/AssistedInstallerDetailCard.js +4 -4
  205. package/build/cjs/ocm/components/clusterDetail/AssistedInstallerDetailCard.js.map +1 -1
  206. package/build/cjs/ocm/components/clusterDetail/AssistedInstallerExtraDetailCard.js +2 -2
  207. package/build/cjs/ocm/components/clusterDetail/AssistedInstallerExtraDetailCard.js.map +1 -1
  208. package/build/cjs/ocm/components/clusterDetail/CancelInstallationModal.js +2 -2
  209. package/build/cjs/ocm/components/clusterDetail/CancelInstallationModal.js.map +1 -1
  210. package/build/cjs/ocm/components/clusterDetail/ClusterDetail.js +2 -2
  211. package/build/cjs/ocm/components/clusterDetail/ClusterDetail.js.map +1 -1
  212. package/build/cjs/ocm/components/clusterDetail/ResetClusterModal.js +2 -2
  213. package/build/cjs/ocm/components/clusterDetail/ResetClusterModal.js.map +1 -1
  214. package/build/cjs/ocm/components/clusterWizard/ClusterDetails.js +10 -9
  215. package/build/cjs/ocm/components/clusterWizard/ClusterDetails.js.map +1 -1
  216. package/build/cjs/ocm/components/clusterWizard/ClusterDetailsForm.js +4 -2
  217. package/build/cjs/ocm/components/clusterWizard/ClusterDetailsForm.js.map +1 -1
  218. package/build/cjs/ocm/components/clusterWizard/CustomManifestStep.js +1 -1
  219. package/build/cjs/ocm/components/clusterWizard/CustomManifestStep.js.map +1 -1
  220. package/build/cjs/ocm/components/clusterWizard/HostDiscovery.js +4 -4
  221. package/build/cjs/ocm/components/clusterWizard/HostDiscovery.js.map +1 -1
  222. package/build/cjs/ocm/components/clusterWizard/Operators.js +3 -3
  223. package/build/cjs/ocm/components/clusterWizard/Operators.js.map +1 -1
  224. package/build/cjs/ocm/components/clusterWizard/OperatorsStep.js +4 -9
  225. package/build/cjs/ocm/components/clusterWizard/OperatorsStep.js.map +1 -1
  226. package/build/cjs/ocm/components/clusterWizard/StaticIp.js +1 -1
  227. package/build/cjs/ocm/components/clusterWizard/StaticIp.js.map +1 -1
  228. package/build/cjs/ocm/components/clusters/AssistedInstallerHeader.js +18 -0
  229. package/build/cjs/ocm/components/clusters/AssistedInstallerHeader.js.map +1 -0
  230. package/build/cjs/ocm/components/clusters/ClusterPage.js +4 -9
  231. package/build/cjs/ocm/components/clusters/ClusterPage.js.map +1 -1
  232. package/build/cjs/ocm/components/clusters/Clusters.js +8 -8
  233. package/build/cjs/ocm/components/clusters/Clusters.js.map +1 -1
  234. package/build/cjs/ocm/components/clusters/ClustersListToolbar.js +6 -6
  235. package/build/cjs/ocm/components/clusters/ClustersListToolbar.js.map +1 -1
  236. package/build/cjs/ocm/components/clusters/ClustersTable.js +2 -2
  237. package/build/cjs/ocm/components/clusters/ClustersTable.js.map +1 -1
  238. package/build/cjs/ocm/components/clusters/NewClusterPage.js +2 -2
  239. package/build/cjs/ocm/components/clusters/NewClusterPage.js.map +1 -1
  240. package/build/cjs/ocm/components/clusters/clusterPolling.js +11 -11
  241. package/build/cjs/ocm/components/clusters/clusterPolling.js.map +1 -1
  242. package/build/cjs/ocm/components/featureSupportLevels/featureStateUtils.js +20 -8
  243. package/build/cjs/ocm/components/featureSupportLevels/featureStateUtils.js.map +1 -1
  244. package/build/cjs/ocm/components/hosts/HostsDiscoveryTable.js +1 -1
  245. package/build/cjs/ocm/components/hosts/HostsDiscoveryTable.js.map +1 -1
  246. package/build/cjs/ocm/components/hosts/use-hosts-table.js +20 -20
  247. package/build/cjs/ocm/components/hosts/use-hosts-table.js.map +1 -1
  248. package/build/cjs/ocm/components/hosts/utils.js +2 -2
  249. package/build/cjs/ocm/components/hosts/utils.js.map +1 -1
  250. package/build/cjs/ocm/components/index.js +1 -1
  251. package/build/cjs/ocm/components/ui/OcmFormFields.js +1 -1
  252. package/build/cjs/ocm/components/ui/OcmFormFields.js.map +1 -1
  253. package/build/cjs/ocm/hooks/index.js +1 -3
  254. package/build/cjs/ocm/hooks/index.js.map +1 -1
  255. package/build/cjs/ocm/hooks/useSetClusterPermissions.js +2 -2
  256. package/build/cjs/ocm/hooks/useSetClusterPermissions.js.map +1 -1
  257. package/build/cjs/ocm/index.js +1 -2
  258. package/build/cjs/ocm/index.js.map +1 -1
  259. package/build/cjs/ocm/store/hooks.js +3 -1
  260. package/build/cjs/ocm/store/hooks.js.map +1 -1
  261. package/build/cjs/ocm/store/index.js +10 -19
  262. package/build/cjs/ocm/store/index.js.map +1 -1
  263. package/build/cjs/ocm/{selectors/clusters.js → store/slices/clusters/selectors.js} +4 -4
  264. package/build/cjs/ocm/store/slices/clusters/selectors.js.map +1 -0
  265. package/build/cjs/ocm/{reducers/clusters/clustersSlice.js → store/slices/clusters/slice.js} +8 -7
  266. package/build/cjs/ocm/store/slices/clusters/slice.js.map +1 -0
  267. package/build/cjs/ocm/{selectors/currentCluster.js → store/slices/current-cluster/selectors.js} +1 -1
  268. package/build/cjs/ocm/store/slices/current-cluster/selectors.js.map +1 -0
  269. package/build/cjs/ocm/{reducers/clusters/currentClusterSlice.js → store/slices/current-cluster/slice.js} +12 -13
  270. package/build/cjs/ocm/store/slices/current-cluster/slice.js.map +1 -0
  271. package/build/cjs/ocm/store/slices/feature-flags/selectors.js +11 -0
  272. package/build/cjs/ocm/store/slices/feature-flags/selectors.js.map +1 -0
  273. package/build/cjs/ocm/store/slices/feature-flags/slice.js +16 -0
  274. package/build/cjs/ocm/store/slices/feature-flags/slice.js.map +1 -0
  275. package/build/cjs/ocm/store/slices/infra-envs/selectors.js.map +1 -0
  276. package/build/cjs/ocm/store/slices/infra-envs/slice.js.map +1 -0
  277. package/build/cjs/ocm/store/slices/infra-envs/thunks.js.map +1 -0
  278. package/build/cjs/ocm/store/store-day1.js +24 -0
  279. package/build/cjs/ocm/store/store-day1.js.map +1 -0
  280. package/build/cjs/ocm/store/store-day2.js +20 -0
  281. package/build/cjs/ocm/store/store-day2.js.map +1 -0
  282. package/lib/cim/components/ClusterDeployment/ACMClusterDeploymentDetailsStep.tsx +8 -1
  283. package/lib/cim/components/ClusterDeployment/ClusterDeploymentDetailsForm.tsx +7 -1
  284. package/lib/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.tsx +6 -1
  285. package/lib/cim/components/ClusterDeployment/ClusterDeploymentHostSelectionStep.tsx +2 -0
  286. package/lib/cim/components/ClusterDeployment/ClusterDeploymentHostsSelection.tsx +14 -12
  287. package/lib/cim/components/ClusterDeployment/ClusterDeploymentNetworkingForm.tsx +3 -1
  288. package/lib/cim/components/ClusterDeployment/ClusterDeploymentNetworkingStep.tsx +3 -0
  289. package/lib/cim/components/ClusterDeployment/ClusterDeploymentWizard.tsx +4 -0
  290. package/lib/cim/components/ClusterDeployment/ClusterDetailsFormFields.tsx +8 -2
  291. package/lib/cim/components/ClusterDeployment/types.ts +6 -3
  292. package/lib/cim/components/ClusterDeployment/wizardTransition.ts +10 -0
  293. package/lib/cim/components/Hypershift/hooks/useSupportedOCPVersions.ts +1 -1
  294. package/lib/cim/components/InfraEnv/AddHostDropdown.tsx +45 -18
  295. package/lib/cim/components/InfraEnv/types.ts +4 -1
  296. package/lib/cim/components/helpers/toAssisted.ts +3 -0
  297. package/lib/cim/components/helpers/versions.ts +8 -1
  298. package/lib/cim/components/modals/AddBmcHostModal.tsx +3 -0
  299. package/lib/cim/components/modals/AddBmcHostYamlModal.tsx +3 -0
  300. package/lib/cim/components/modals/ProvisioningConfigErrorAlert.tsx +18 -0
  301. package/lib/cim/components/modals/types.ts +2 -0
  302. package/lib/common/api/assisted-service/ClustersAPI.ts +0 -9
  303. package/lib/common/api/axiosClient.ts +2 -3
  304. package/lib/common/components/clusterWizard/ReviewValidations.tsx +12 -1
  305. package/lib/common/components/clusterWizard/networkingSteps/NetworkTypeControlGroup.tsx +2 -2
  306. package/lib/common/components/clusterWizard/types.ts +1 -0
  307. package/lib/common/components/clusterWizard/validationsInfoUtils.ts +9 -0
  308. package/lib/common/components/ui/formik/SingleNodeCheckbox.tsx +1 -3
  309. package/lib/common/components/ui/formik/validationSchemas.test.ts +4 -22
  310. package/lib/common/components/ui/formik/validationSchemas.ts +13 -22
  311. package/lib/common/config/constants.ts +1 -3
  312. package/lib/common/features/featureGate.tsx +1 -19
  313. package/lib/common/utils.ts +2 -2
  314. package/lib/ocm/components/HostsClusterDetailTab/HostsClusterDetailTab.tsx +16 -11
  315. package/lib/ocm/components/Routes.tsx +34 -0
  316. package/lib/ocm/components/clusterConfiguration/DiscoveryImageForm.tsx +5 -1
  317. package/lib/ocm/components/clusterConfiguration/HostInventory.tsx +1 -1
  318. package/lib/ocm/components/clusterConfiguration/OcmBaseDomainField.tsx +0 -2
  319. package/lib/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.tsx +6 -10
  320. package/lib/ocm/components/clusterConfiguration/OcmSingleNodeCheckbox.tsx +2 -3
  321. package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsArray.tsx +1 -1
  322. package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsForm.tsx +1 -1
  323. package/lib/ocm/components/clusterConfiguration/networkConfiguration/AvailableSubnetsControl.tsx +1 -1
  324. package/lib/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.tsx +6 -19
  325. package/lib/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.tsx +8 -6
  326. package/lib/ocm/components/clusterConfiguration/networkConfiguration/StackTypeControl.tsx +1 -1
  327. package/lib/ocm/components/clusterConfiguration/networkConfiguration/VirtualIPControlGroup.tsx +1 -1
  328. package/lib/ocm/components/clusterConfiguration/operators/CnvHostRequirements.tsx +1 -1
  329. package/lib/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.tsx +129 -42
  330. package/lib/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegrationNote.tsx +10 -8
  331. package/lib/ocm/components/clusterConfiguration/platformIntegration/constants.tsx +7 -3
  332. package/lib/ocm/components/clusterConfiguration/review/ReviewStep.tsx +2 -2
  333. package/lib/ocm/components/clusterConfiguration/staticIp/components/StaticIpForm.tsx +1 -1
  334. package/lib/ocm/components/clusterConfiguration/staticIp/components/StaticIpHostsArray.tsx +3 -3
  335. package/lib/ocm/components/clusterConfiguration/staticIp/components/YamlView/MacIpMapping.tsx +1 -1
  336. package/lib/ocm/components/clusterDetail/AssistedInstallerDetailCard.tsx +6 -4
  337. package/lib/ocm/components/clusterDetail/AssistedInstallerExtraDetailCard.tsx +3 -3
  338. package/lib/ocm/components/clusterDetail/CancelInstallationModal.tsx +1 -1
  339. package/lib/ocm/components/clusterDetail/ClusterDetail.tsx +1 -1
  340. package/lib/ocm/components/clusterDetail/ResetClusterModal.tsx +1 -1
  341. package/lib/ocm/components/clusterWizard/ClusterDetails.tsx +12 -7
  342. package/lib/ocm/components/clusterWizard/ClusterDetailsForm.tsx +5 -3
  343. package/lib/ocm/components/clusterWizard/CustomManifestStep.tsx +1 -1
  344. package/lib/ocm/components/clusterWizard/HostDiscovery.tsx +2 -2
  345. package/lib/ocm/components/clusterWizard/Operators.tsx +1 -1
  346. package/lib/ocm/components/clusterWizard/OperatorsStep.tsx +6 -19
  347. package/lib/ocm/components/clusterWizard/StaticIp.tsx +1 -1
  348. package/lib/ocm/components/clusters/AssistedInstallerHeader.tsx +25 -0
  349. package/lib/ocm/components/clusters/ClusterPage.tsx +4 -28
  350. package/lib/ocm/components/clusters/Clusters.tsx +9 -11
  351. package/lib/ocm/components/clusters/ClustersListToolbar.tsx +5 -5
  352. package/lib/ocm/components/clusters/ClustersTable.tsx +4 -1
  353. package/lib/ocm/components/clusters/NewClusterPage.tsx +3 -6
  354. package/lib/ocm/components/clusters/clusterPolling.ts +7 -7
  355. package/lib/ocm/components/featureSupportLevels/featureStateUtils.ts +21 -7
  356. package/lib/ocm/components/hosts/HostsDiscoveryTable.tsx +1 -1
  357. package/lib/ocm/components/hosts/use-hosts-table.tsx +5 -2
  358. package/lib/ocm/components/hosts/utils.ts +1 -1
  359. package/lib/ocm/components/index.ts +1 -1
  360. package/lib/ocm/components/ui/OcmFormFields.tsx +1 -1
  361. package/lib/ocm/hooks/index.ts +0 -1
  362. package/lib/ocm/hooks/useSetClusterPermissions.ts +1 -1
  363. package/lib/ocm/index.ts +0 -1
  364. package/lib/ocm/store/hooks.ts +6 -2
  365. package/lib/ocm/store/index.ts +5 -23
  366. package/lib/ocm/{selectors/clusters.tsx → store/slices/clusters/selectors.tsx} +10 -12
  367. package/lib/ocm/{reducers/clusters/clustersSlice.ts → store/slices/clusters/slice.ts} +6 -5
  368. package/lib/ocm/{selectors/currentCluster.ts → store/slices/current-cluster/selectors.ts} +7 -7
  369. package/lib/ocm/{reducers/clusters/currentClusterSlice.ts → store/slices/current-cluster/slice.ts} +10 -8
  370. package/lib/ocm/store/slices/feature-flags/selectors.ts +13 -0
  371. package/lib/ocm/store/slices/feature-flags/slice.ts +15 -0
  372. package/lib/ocm/store/slices/{infraEnvs → infra-envs}/selectors.ts +3 -3
  373. package/lib/ocm/store/slices/{infraEnvs → infra-envs}/thunks.ts +3 -3
  374. package/lib/ocm/store/store-day1.ts +23 -0
  375. package/lib/ocm/store/store-day2.ts +19 -0
  376. package/package.json +3 -4
  377. package/build/@types/ocm/components/Router.d.ts +0 -9
  378. package/build/@types/ocm/components/Router.d.ts.map +0 -1
  379. package/build/@types/ocm/hooks/useClusterSupportedPlatforms.d.ts +0 -11
  380. package/build/@types/ocm/hooks/useClusterSupportedPlatforms.d.ts.map +0 -1
  381. package/build/@types/ocm/hooks/useOracleDropdownItemState.d.ts +0 -10
  382. package/build/@types/ocm/hooks/useOracleDropdownItemState.d.ts.map +0 -1
  383. package/build/@types/ocm/reducers/clusters/clustersSlice.d.ts.map +0 -1
  384. package/build/@types/ocm/reducers/clusters/currentClusterSlice.d.ts.map +0 -1
  385. package/build/@types/ocm/reducers/clusters/index.d.ts +0 -3
  386. package/build/@types/ocm/reducers/clusters/index.d.ts.map +0 -1
  387. package/build/@types/ocm/selectors/clusters.d.ts.map +0 -1
  388. package/build/@types/ocm/selectors/currentCluster.d.ts +0 -14
  389. package/build/@types/ocm/selectors/currentCluster.d.ts.map +0 -1
  390. package/build/@types/ocm/selectors/index.d.ts +0 -3
  391. package/build/@types/ocm/selectors/index.d.ts.map +0 -1
  392. package/build/@types/ocm/store/slices/infraEnvs/selectors.d.ts.map +0 -1
  393. package/build/@types/ocm/store/slices/infraEnvs/slice.d.ts.map +0 -1
  394. package/build/@types/ocm/store/slices/infraEnvs/thunks.d.ts.map +0 -1
  395. package/build/cjs/ocm/components/Router.js +0 -25
  396. package/build/cjs/ocm/components/Router.js.map +0 -1
  397. package/build/cjs/ocm/hooks/useClusterSupportedPlatforms.js +0 -53
  398. package/build/cjs/ocm/hooks/useClusterSupportedPlatforms.js.map +0 -1
  399. package/build/cjs/ocm/hooks/useOracleDropdownItemState.js +0 -30
  400. package/build/cjs/ocm/hooks/useOracleDropdownItemState.js.map +0 -1
  401. package/build/cjs/ocm/reducers/clusters/clustersSlice.js.map +0 -1
  402. package/build/cjs/ocm/reducers/clusters/currentClusterSlice.js.map +0 -1
  403. package/build/cjs/ocm/reducers/clusters/index.js +0 -6
  404. package/build/cjs/ocm/reducers/clusters/index.js.map +0 -1
  405. package/build/cjs/ocm/selectors/clusters.js.map +0 -1
  406. package/build/cjs/ocm/selectors/currentCluster.js.map +0 -1
  407. package/build/cjs/ocm/selectors/index.js +0 -6
  408. package/build/cjs/ocm/selectors/index.js.map +0 -1
  409. package/build/cjs/ocm/store/slices/infraEnvs/selectors.js.map +0 -1
  410. package/build/cjs/ocm/store/slices/infraEnvs/slice.js.map +0 -1
  411. package/build/cjs/ocm/store/slices/infraEnvs/thunks.js.map +0 -1
  412. package/lib/ocm/components/Router.tsx +0 -29
  413. package/lib/ocm/hooks/useClusterSupportedPlatforms.ts +0 -70
  414. package/lib/ocm/hooks/useOracleDropdownItemState.ts +0 -45
  415. package/lib/ocm/reducers/clusters/index.ts +0 -2
  416. package/lib/ocm/selectors/index.ts +0 -2
  417. /package/build/@types/ocm/store/slices/{infraEnvs → infra-envs}/slice.d.ts +0 -0
  418. /package/build/@types/ocm/store/slices/{infraEnvs → infra-envs}/thunks.d.ts +0 -0
  419. /package/build/cjs/ocm/store/slices/{infraEnvs → infra-envs}/selectors.js +0 -0
  420. /package/build/cjs/ocm/store/slices/{infraEnvs → infra-envs}/slice.js +0 -0
  421. /package/build/cjs/ocm/store/slices/{infraEnvs → infra-envs}/thunks.js +0 -0
  422. /package/lib/ocm/store/slices/{infraEnvs → infra-envs}/slice.ts +0 -0
@@ -8,35 +8,65 @@ import {
8
8
  FormGroup,
9
9
  Split,
10
10
  SplitItem,
11
+ Tooltip,
11
12
  } from '@patternfly/react-core';
12
13
  import { CaretDownIcon } from '@patternfly/react-icons';
13
14
  import { useField } from 'formik';
14
- import { getFieldId } from '../../../../common';
15
- import {
16
- ExternalPlatformLabels,
17
- ExternalPlatformLinks,
18
- ExternalPlatformTooltips,
19
- } from './constants';
15
+ import { CpuArchitecture, DeveloperPreview, FeatureId, getFieldId } from '../../../../common';
16
+ import { ExternalPlaformIds, ExternalPlatformLabels, ExternalPlatformLinks } from './constants';
20
17
  import { PlatformType } from '@openshift-assisted/types/assisted-installer-service';
18
+ import {
19
+ NewFeatureSupportLevelData,
20
+ NewFeatureSupportLevelMap,
21
+ useNewFeatureSupportLevel,
22
+ } from '../../../../common/components/newFeatureSupportLevels';
21
23
 
22
24
  const INPUT_NAME = 'platform';
23
25
  const fieldId = getFieldId(INPUT_NAME, 'input');
24
26
 
25
27
  type ExternalPlatformDropdownProps = {
26
28
  showOciOption: boolean;
27
- disabledOciTooltipContent: React.ReactNode;
28
- isOciDisabled: boolean;
29
29
  onChange: (selectedPlatform: PlatformType) => void;
30
+ cpuArchitecture?: string;
31
+ featureSupportLevelData: NewFeatureSupportLevelMap | null;
32
+ isSNO: boolean;
30
33
  };
31
34
 
32
35
  export type ExternalPlatformInfo = {
33
36
  label: string;
34
37
  href?: string;
35
- tooltip?: string;
38
+ disabledReason?: string;
39
+ };
40
+
41
+ const getDisabledReasonForExternalPlatform = (
42
+ isSNO: boolean,
43
+ newFeatureSupportLevelContext: NewFeatureSupportLevelData,
44
+ platform: PlatformType,
45
+ featureSupportLevelData?: NewFeatureSupportLevelMap | null,
46
+ cpuArchitecture?: string,
47
+ ): string | undefined => {
48
+ if (!isSNO) {
49
+ return newFeatureSupportLevelContext.getFeatureDisabledReason(
50
+ ExternalPlaformIds[platform] as FeatureId,
51
+ featureSupportLevelData ?? undefined,
52
+ cpuArchitecture,
53
+ );
54
+ } else if (platform === 'nutanix' || platform === 'vsphere') {
55
+ return `${ExternalPlatformLabels[platform]} integration is not supported for Single-Node OpenShift.`;
56
+ } else if (
57
+ cpuArchitecture === CpuArchitecture.ppc64le ||
58
+ cpuArchitecture === CpuArchitecture.s390x
59
+ ) {
60
+ return `Plaform integration is not supported for Single-Node OpenShift with the selected CPU architecture.`;
61
+ }
36
62
  };
37
63
 
38
64
  const getExternalPlatformTypes = (
39
65
  showOciOption: boolean,
66
+ isSNO: boolean,
67
+ newFeatureSupportLevelContext: NewFeatureSupportLevelData,
68
+ featureSupportLevelData?: NewFeatureSupportLevelMap | null,
69
+ cpuArchitecture?: string,
40
70
  ): Partial<{ [key in PlatformType]: ExternalPlatformInfo }> => {
41
71
  const platforms = ['none', 'nutanix', showOciOption && 'oci', 'vsphere'] as PlatformType[];
42
72
 
@@ -46,44 +76,98 @@ const getExternalPlatformTypes = (
46
76
  [platform]: {
47
77
  label: ExternalPlatformLabels[platform],
48
78
  href: ExternalPlatformLinks[platform],
49
- tooltip: ExternalPlatformTooltips[platform],
79
+ disabledReason: getDisabledReasonForExternalPlatform(
80
+ isSNO,
81
+ newFeatureSupportLevelContext,
82
+ platform,
83
+ featureSupportLevelData ?? undefined,
84
+ cpuArchitecture,
85
+ ),
50
86
  },
51
87
  }),
52
88
  {},
53
89
  );
54
90
  };
55
91
 
92
+ export const areAllExternalPlatformIntegrationDisabled = (
93
+ externalPlatformTypes: Partial<{ [key in PlatformType]: ExternalPlatformInfo }>,
94
+ ): boolean => {
95
+ return Object.values(externalPlatformTypes)
96
+ .filter((info) => info.label !== 'No platform integration')
97
+ .every((info) => info.disabledReason !== undefined);
98
+ };
99
+
56
100
  export const ExternalPlatformDropdown = ({
57
101
  showOciOption,
58
- disabledOciTooltipContent,
59
- isOciDisabled,
60
102
  onChange,
103
+ cpuArchitecture,
104
+ featureSupportLevelData,
105
+ isSNO,
61
106
  }: ExternalPlatformDropdownProps) => {
62
- const [field, { value, initialValue }, { setValue }] = useField<string>(INPUT_NAME);
107
+ const [field, , { setValue }] = useField<string>(INPUT_NAME);
63
108
  const [isOpen, setOpen] = React.useState(false);
109
+ const [externalPlatformTypes, setExternalPlatformTypes] = React.useState<
110
+ Partial<{ [key in PlatformType]: ExternalPlatformInfo }>
111
+ >({});
112
+
113
+ const tooltipDropdownDisabled = `Platform integration is not supported when ${
114
+ cpuArchitecture || ''
115
+ } is selected`;
116
+
64
117
  const handleClick = (event: MouseEvent<HTMLButtonElement>, href: string) => {
65
118
  event.stopPropagation(); // Stop event propagation here
66
119
  window.open(href, '_blank');
67
120
  };
121
+ const newFeatureSupportLevelContext = useNewFeatureSupportLevel();
122
+ React.useEffect(() => {
123
+ // Calculate updated externalPlatformTypes based on the dependencies
124
+ const updatedExternalPlatformTypes = getExternalPlatformTypes(
125
+ showOciOption,
126
+ isSNO,
127
+ newFeatureSupportLevelContext,
128
+ featureSupportLevelData,
129
+ cpuArchitecture,
130
+ );
68
131
 
69
- const externalPlatformTypes = getExternalPlatformTypes(showOciOption);
132
+ // Update the state with the new externalPlatformTypes
133
+ setExternalPlatformTypes(updatedExternalPlatformTypes);
134
+ // eslint-disable-next-line react-hooks/exhaustive-deps
135
+ }, [featureSupportLevelData, cpuArchitecture, isSNO]);
136
+
137
+ const dropdownIsDisabled = React.useMemo(() => {
138
+ return areAllExternalPlatformIntegrationDisabled(externalPlatformTypes);
139
+ }, [externalPlatformTypes]);
140
+
141
+ React.useEffect(() => {
142
+ let isCurrentValueDisabled = false;
143
+
144
+ if (field.value !== 'none') {
145
+ isCurrentValueDisabled =
146
+ externalPlatformTypes[field.value as PlatformType]?.disabledReason !== undefined;
147
+ }
148
+ if (dropdownIsDisabled || isCurrentValueDisabled) {
149
+ setValue('none');
150
+ onChange('none');
151
+ }
152
+
153
+ // eslint-disable-next-line react-hooks/exhaustive-deps
154
+ }, [dropdownIsDisabled, externalPlatformTypes]);
70
155
 
71
156
  const enabledItems = Object.keys(externalPlatformTypes).map((platform) => {
72
- const isOracleDisabled = platform === 'oci' && isOciDisabled;
73
- const { label, href, tooltip } = externalPlatformTypes[
157
+ const { label, href, disabledReason } = externalPlatformTypes[
74
158
  platform as PlatformType
75
159
  ] as ExternalPlatformInfo;
76
-
77
160
  return (
78
- <DropdownItem
79
- key={platform}
80
- id={platform}
81
- tooltip={isOracleDisabled ? disabledOciTooltipContent : tooltip}
82
- isAriaDisabled={isOracleDisabled}
83
- tooltipProps={{ position: 'top-start' }}
84
- >
161
+ <DropdownItem key={platform} id={platform} isAriaDisabled={disabledReason !== undefined}>
85
162
  <Split>
86
- <SplitItem>{label}</SplitItem>
163
+ <SplitItem>
164
+ <Tooltip hidden={!disabledReason} content={disabledReason} position="top">
165
+ <div>
166
+ {label}
167
+ {platform === 'oci' && <DeveloperPreview testId={'oci-support-level`'} />}
168
+ </div>
169
+ </Tooltip>
170
+ </SplitItem>
87
171
  {!!href && (
88
172
  <>
89
173
  <SplitItem isFilled />
@@ -114,12 +198,6 @@ export const ExternalPlatformDropdown = ({
114
198
  [setOpen, setValue, onChange],
115
199
  );
116
200
 
117
- React.useEffect(() => {
118
- if (value === 'oci' && isOciDisabled) {
119
- setValue('none');
120
- }
121
- }, [initialValue, isOciDisabled, setValue, value]);
122
-
123
201
  const toggle = React.useMemo(
124
202
  () => (
125
203
  <DropdownToggle
@@ -127,11 +205,12 @@ export const ExternalPlatformDropdown = ({
127
205
  toggleIndicator={CaretDownIcon}
128
206
  isText
129
207
  className="pf-u-w-100"
208
+ isDisabled={dropdownIsDisabled}
130
209
  >
131
- {externalPlatformTypes[value as PlatformType]?.label}
210
+ {externalPlatformTypes[field.value as PlatformType]?.label}
132
211
  </DropdownToggle>
133
212
  ),
134
- [externalPlatformTypes, value],
213
+ [externalPlatformTypes, field, dropdownIsDisabled],
135
214
  );
136
215
 
137
216
  return (
@@ -140,15 +219,23 @@ export const ExternalPlatformDropdown = ({
140
219
  fieldId={fieldId}
141
220
  label={'Integrate with external partner platforms'}
142
221
  >
143
- <Dropdown
144
- {...field}
145
- id={fieldId}
146
- dropdownItems={enabledItems}
147
- toggle={toggle}
148
- isOpen={isOpen}
149
- className="pf-u-w-100"
150
- onSelect={onSelect}
151
- />
222
+ <Tooltip
223
+ content={tooltipDropdownDisabled}
224
+ hidden={!dropdownIsDisabled}
225
+ position="top"
226
+ distance={7}
227
+ >
228
+ <Dropdown
229
+ {...field}
230
+ id={fieldId}
231
+ dropdownItems={enabledItems}
232
+ toggle={toggle}
233
+ isOpen={isOpen}
234
+ className="pf-u-w-100"
235
+ onSelect={onSelect}
236
+ disabled={dropdownIsDisabled}
237
+ />
238
+ </Tooltip>
152
239
  </FormGroup>
153
240
  );
154
241
  };
@@ -10,14 +10,16 @@ const PlatformIntegrationNote = ({ platformType }: { platformType: SupportedPlat
10
10
  <p>
11
11
  <ExclamationTriangleIcon color={warningColor.value} size="sm" /> You will need to modify your
12
12
  platform configuration after cluster installation is completed.{' '}
13
- <a
14
- href={integrationPlatformLink || ''}
15
- target="_blank"
16
- rel="noopener noreferrer"
17
- data-ouia-component-id="vm-integration-kb-page"
18
- >
19
- Learn more <i className="fas fa-external-link-alt" />
20
- </a>
13
+ {!!integrationPlatformLink && (
14
+ <a
15
+ href={integrationPlatformLink || ''}
16
+ target="_blank"
17
+ rel="noopener noreferrer"
18
+ data-ouia-component-id="vm-integration-kb-page"
19
+ >
20
+ Learn more <i className="fas fa-external-link-alt" />
21
+ </a>
22
+ )}
21
23
  </p>
22
24
  );
23
25
  };
@@ -5,7 +5,7 @@ export const ExternalPlatformLabels: { [key in PlatformType]: string } = {
5
5
  baremetal: 'No platform integration',
6
6
  none: 'No platform integration',
7
7
  nutanix: 'Nutanix',
8
- oci: 'Oracle (Requires a custom manifest)',
8
+ oci: 'Oracle Cloud Infrastructure (Requires a custom manifest)',
9
9
  vsphere: 'vSphere',
10
10
  };
11
11
 
@@ -14,6 +14,10 @@ export const ExternalPlatformLinks: Partial<{ [key in PlatformType]: string }> =
14
14
  vsphere: VSPHERE_CONFIG_LINK,
15
15
  };
16
16
 
17
- export const ExternalPlatformTooltips: Partial<{ [key in PlatformType]: string }> = {
18
- oci: "To integrate with an external partner (for example, Oracle Cloud), you'll need to provide a custom manifest.",
17
+ export const ExternalPlaformIds: { [key in PlatformType]: string } = {
18
+ baremetal: '',
19
+ none: '',
20
+ nutanix: 'NUTANIX_INTEGRATION',
21
+ oci: 'EXTERNAL_PLATFORM_OCI',
22
+ vsphere: 'VSPHERE_INTEGRATION',
19
23
  };
@@ -4,12 +4,12 @@ import { ActionListItem, Button, ButtonVariant, Grid, GridItem } from '@patternf
4
4
  import { ClusterWizardStepHeader, useAlerts, ClusterWizardStep } from '../../../../common';
5
5
  import { useClusterWizardContext } from '../../clusterWizard/ClusterWizardContext';
6
6
  import { getApiErrorMessage, handleApiError } from '../../../api';
7
- import { updateCluster } from '../../../reducers/clusters';
7
+ import { updateCluster } from '../../../store/slices/current-cluster/slice';
8
8
  import ClusterWizardFooter from '../../clusterWizard/ClusterWizardFooter';
9
9
  import ClusterWizardNavigation from '../../clusterWizard/ClusterWizardNavigation';
10
10
  import { ClustersService } from '../../../services';
11
11
  import { useStateSafely } from '../../../../common/hooks';
12
- import { selectCurrentClusterPermissionsState } from '../../../selectors';
12
+ import { selectCurrentClusterPermissionsState } from '../../../store/slices/current-cluster/selectors';
13
13
  import ReviewPreflightChecks from './ReviewPreflightChecks';
14
14
  import ReviewSummary from './ReviewSummary';
15
15
  import './ReviewCluster.css';
@@ -7,7 +7,7 @@ import { useAlerts, useFormikAutoSave } from '../../../../../common';
7
7
  import { useErrorMonitor } from '../../../../../common/components/ErrorHandling/ErrorMonitorContext';
8
8
  import { getApiErrorMessage } from '../../../../api';
9
9
  import { StaticIpFormProps } from './propTypes';
10
- import { selectCurrentClusterPermissionsState } from '../../../../selectors';
10
+ import { selectCurrentClusterPermissionsState } from '../../../../store/slices/current-cluster/selectors';
11
11
 
12
12
  const AutosaveWithParentUpdate = <StaticIpFormValues extends object>({
13
13
  onFormStateChange,
@@ -16,11 +16,11 @@ import { FieldArray, FieldArrayRenderProps, useField } from 'formik';
16
16
  import cloneDeep from 'lodash-es/cloneDeep.js';
17
17
  import { getFormikArrayItemFieldName, LoadingState } from '../../../../../common';
18
18
  import ConfirmationModal from '../../../../../common/components/ui/ConfirmationModal';
19
+ import { HostStaticNetworkConfig } from '@openshift-assisted/types/assisted-installer-service';
19
20
  import {
20
- selectIsCurrentClusterSNO,
21
21
  selectCurrentClusterPermissionsState,
22
- } from '../../../../selectors';
23
- import { HostStaticNetworkConfig } from '@openshift-assisted/types/assisted-installer-service';
22
+ selectIsCurrentClusterSNO,
23
+ } from '../../../../store/slices/current-cluster/selectors';
24
24
 
25
25
  const fieldName = 'hosts';
26
26
 
@@ -5,8 +5,8 @@ import { PlusCircleIcon } from '@patternfly/react-icons';
5
5
  import { getFormikArrayItemFieldName, RemovableField } from '../../../../../../common';
6
6
  import { OcmInputField } from '../../../../ui/OcmFormFields';
7
7
  import { useSelector } from 'react-redux';
8
- import { selectCurrentClusterPermissionsState } from '../../../../../selectors';
9
8
  import { MacInterfaceMap } from '@openshift-assisted/types/assisted-installer-service';
9
+ import { selectCurrentClusterPermissionsState } from '../../../../../store/slices/current-cluster/selectors';
10
10
 
11
11
  const AddMapping: React.FC<{
12
12
  onPush: ArrayHelpers['push'];
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { Provider } from 'react-redux';
3
3
  import { Card, CardBody, CardHeader, Title } from '@patternfly/react-core';
4
- import { store } from '../../store';
4
+ import { storeDay1 } from '../../store';
5
5
  import { OCM_CLUSTER_LIST_LINK } from '../../config';
6
6
  import {
7
7
  AlertsContextProvider,
@@ -49,7 +49,7 @@ const LoadingCard = () => (
49
49
  </Card>
50
50
  );
51
51
 
52
- const ClusterLoadFailed = ({ clusterId }: { clusterId: Cluster['id'] }) => {
52
+ const ClusterLoadFailed = ({ clusterId, error }: { clusterId: Cluster['id']; error?: string }) => {
53
53
  const fetchCluster = useFetchCluster(clusterId);
54
54
  return (
55
55
  <Card data-testid="ai-cluster-details-card">
@@ -63,6 +63,7 @@ const ClusterLoadFailed = ({ clusterId }: { clusterId: Cluster['id'] }) => {
63
63
  title="Failed to fetch the cluster"
64
64
  fetchData={fetchCluster}
65
65
  actions={[<BackButton key={'cancel'} to={OCM_CLUSTER_LIST_LINK} />]}
66
+ content={error}
66
67
  />
67
68
  </CardBody>
68
69
  </Card>
@@ -106,10 +107,11 @@ const AssistedInstallerDetailCard = ({
106
107
  pullSecret,
107
108
  cluster?.openshiftVersion,
108
109
  );
110
+
109
111
  if (uiState === ResourceUIState.LOADING || infraEnvLoading) {
110
112
  return <LoadingCard />;
111
113
  } else if ((uiState === ResourceUIState.POLLING_ERROR && !cluster) || infraEnvError) {
112
- return <ClusterLoadFailed clusterId={aiClusterId} />;
114
+ return <ClusterLoadFailed clusterId={aiClusterId} error={infraEnvError} />;
113
115
  }
114
116
 
115
117
  if (!cluster || !infraEnv || cluster.status === 'adding-hosts') {
@@ -158,7 +160,7 @@ const AssistedInstallerDetailCard = ({
158
160
  };
159
161
 
160
162
  const Wrapper = (props: AssistedInstallerDetailCardProps) => (
161
- <Provider store={store}>
163
+ <Provider store={storeDay1}>
162
164
  <AlertsContextProvider>
163
165
  <AssistedInstallerDetailCard {...props} />
164
166
  </AlertsContextProvider>
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { Provider } from 'react-redux';
3
- import { store } from '../../store';
3
+ import { storeDay1 } from '../../store';
4
4
  import { useSelector } from 'react-redux';
5
5
 
6
6
  import {
@@ -10,11 +10,11 @@ import {
10
10
  FeatureListType,
11
11
  } from '../../../common';
12
12
  import ClusterProperties from './ClusterProperties';
13
- import { selectCurrentClusterState } from '../../selectors';
14
13
  import { Grid } from '@patternfly/react-core';
15
14
  import { NewFeatureSupportLevelProvider } from '../featureSupportLevels';
16
15
  import useInfraEnv from '../../hooks/useInfraEnv';
17
16
  import { usePullSecret } from '../../hooks';
17
+ import { selectCurrentClusterState } from '../../store/slices/current-cluster/selectors';
18
18
 
19
19
  type AssistedInstallerExtraDetailCardProps = {
20
20
  allEnabledFeatures: FeatureListType;
@@ -58,7 +58,7 @@ const AssistedInstallerExtraDetailCard: React.FC<AssistedInstallerExtraDetailCar
58
58
  };
59
59
 
60
60
  const Wrapper: React.FC<AssistedInstallerExtraDetailCardProps> = (props) => (
61
- <Provider store={store}>
61
+ <Provider store={storeDay1}>
62
62
  <AlertsContextProvider>
63
63
  <AssistedInstallerExtraDetailCard {...props} />
64
64
  </AlertsContextProvider>
@@ -9,7 +9,7 @@ import {
9
9
  TextContent,
10
10
  } from '@patternfly/react-core';
11
11
  import { getApiErrorMessage, handleApiError } from '../../api';
12
- import { updateCluster } from '../../reducers/clusters/currentClusterSlice';
12
+ import { updateCluster } from '../../store/slices/current-cluster/slice';
13
13
  import { useModalDialogsContext } from '../hosts/ModalDialogsContext';
14
14
  import { ErrorState, LoadingState } from '../../../common';
15
15
  import { ClustersAPI } from '../../services/apis';
@@ -28,7 +28,7 @@ import ClusterProgress from '../../../common/components/clusterDetail/ClusterPro
28
28
  import { onFetchEvents } from '../fetching/fetchEvents';
29
29
  import { getClusterProgressAlerts } from './getProgressBarAlerts';
30
30
  import { ClustersAPI } from '../../services/apis';
31
- import { updateCluster } from '../../reducers/clusters';
31
+ import { updateCluster } from '../../store/slices/current-cluster/slice';
32
32
  import { handleApiError, isInOcm } from '../../api';
33
33
  import { useNewFeatureSupportLevel } from '../../../common/components/newFeatureSupportLevels';
34
34
  import OcmClusterProgressItems from '../clusterConfiguration/OcmClusterProgressItems';
@@ -12,7 +12,7 @@ import { ExclamationTriangleIcon } from '@patternfly/react-icons';
12
12
  import { global_warning_color_100 as warningColor } from '@patternfly/react-tokens';
13
13
 
14
14
  import { getApiErrorMessage, handleApiError } from '../../api';
15
- import { updateCluster } from '../../reducers/clusters/currentClusterSlice';
15
+ import { updateCluster } from '../../store/slices/current-cluster/slice';
16
16
  import { calculateCollectedLogsCount } from '../clusters/utils';
17
17
  import { useModalDialogsContext } from '../hosts/ModalDialogsContext';
18
18
  import { ErrorState, LoadingState } from '../../../common';
@@ -1,10 +1,10 @@
1
1
  import React from 'react';
2
2
  import { useHistory } from 'react-router-dom';
3
3
  import { useDispatch } from 'react-redux';
4
- import { useAlerts, LoadingState, ClusterWizardStep } from '../../../common';
4
+ import { useAlerts, LoadingState, ClusterWizardStep, ErrorState } from '../../../common';
5
5
  import { usePullSecret } from '../../hooks';
6
6
  import { getApiErrorMessage, handleApiError, isUnknownServerError } from '../../api';
7
- import { setServerUpdateError, updateCluster } from '../../reducers/clusters';
7
+ import { setServerUpdateError, updateCluster } from '../../store/slices/current-cluster/slice';
8
8
  import { useClusterWizardContext } from './ClusterWizardContext';
9
9
  import { canNextClusterDetails, ClusterWizardFlowStateNew } from './wizardTransition';
10
10
  import { useOpenshiftVersions, useManagedDomains, useUsedClusterNames } from '../../hooks';
@@ -34,9 +34,6 @@ const ClusterDetails = ({ cluster, infraEnv }: ClusterDetailsProps) => {
34
34
  const pullSecret = usePullSecret();
35
35
  const { error: errorOCPVersions, loading: loadingOCPVersions, versions } = useOpenshiftVersions();
36
36
  const { customManifests } = useClusterCustomManifests(cluster?.id || '', false);
37
- React.useEffect(() => {
38
- errorOCPVersions && addAlert(errorOCPVersions);
39
- }, [errorOCPVersions, addAlert]);
40
37
 
41
38
  const handleClusterUpdate = React.useCallback(
42
39
  async (clusterId: Cluster['id'], params: ClusterDetailsUpdateParams) => {
@@ -92,14 +89,22 @@ const ClusterDetails = ({ cluster, infraEnv }: ClusterDetailsProps) => {
92
89
  [clearAlerts, addAlert, dispatch, history, handleCustomManifestsChange],
93
90
  );
94
91
 
92
+ const navigation = <ClusterWizardNavigation cluster={cluster} />;
95
93
  if (pullSecret === undefined || !managedDomains || loadingOCPVersions || !usedClusterNames) {
96
94
  return (
97
- <ClusterWizardStep navigation={<ClusterWizardNavigation cluster={cluster} />}>
95
+ <ClusterWizardStep navigation={navigation}>
98
96
  <LoadingState />
99
97
  </ClusterWizardStep>
100
98
  );
101
99
  }
102
- const navigation = <ClusterWizardNavigation cluster={cluster} />;
100
+
101
+ if (!cluster && errorOCPVersions) {
102
+ return (
103
+ <ClusterWizardStep navigation={navigation}>
104
+ <ErrorState title="Failed to retrieve OpenShift versions" />
105
+ </ClusterWizardStep>
106
+ );
107
+ }
103
108
 
104
109
  return (
105
110
  <ClusterDetailsForm
@@ -10,6 +10,7 @@ import {
10
10
  getClusterDetailsValidationSchema,
11
11
  getRichTextValidation,
12
12
  CpuArchitecture,
13
+ useAlerts,
13
14
  } from '../../../common';
14
15
  import { canNextClusterDetails } from './wizardTransition';
15
16
  import { OpenshiftVersionOptionType, getFormikErrorFields } from '../../../common';
@@ -22,7 +23,7 @@ import {
22
23
  } from '../../services';
23
24
  import { OcmClusterDetailsFormFields } from '../clusterConfiguration/OcmClusterDetailsFormFields';
24
25
  import { useTranslation } from '../../../common/hooks/use-translation-wrapper';
25
- import { selectCurrentClusterPermissionsState } from '../../selectors';
26
+ import { selectCurrentClusterPermissionsState } from '../../store/slices/current-cluster/selectors';
26
27
  import { useClusterWizardContext } from './ClusterWizardContext';
27
28
  import { useNewFeatureSupportLevel } from '../../../common/components/newFeatureSupportLevels';
28
29
  import {
@@ -71,7 +72,7 @@ const ClusterDetailsForm = (props: ClusterDetailsFormProps) => {
71
72
  const { search } = useLocation();
72
73
  const { isViewerMode } = useSelector(selectCurrentClusterPermissionsState);
73
74
  const featureSupportLevels = useNewFeatureSupportLevel();
74
-
75
+ const { clearAlerts } = useAlerts();
75
76
  const handleSubmit = React.useCallback(
76
77
  async (values: OcmClusterDetailsValues) => {
77
78
  if (cluster) {
@@ -108,6 +109,7 @@ const ClusterDetailsForm = (props: ClusterDetailsFormProps) => {
108
109
  cluster?: Cluster,
109
110
  ): (() => void) => {
110
111
  if (isViewerMode || (!dirty && !isUndefined(cluster) && canNextClusterDetails({ cluster }))) {
112
+ clearAlerts();
111
113
  return moveNext;
112
114
  }
113
115
 
@@ -115,7 +117,7 @@ const ClusterDetailsForm = (props: ClusterDetailsFormProps) => {
115
117
  void submitForm();
116
118
  };
117
119
  },
118
- [isViewerMode, moveNext],
120
+ [isViewerMode, moveNext, clearAlerts],
119
121
  );
120
122
 
121
123
  const initialValues = React.useMemo(
@@ -7,8 +7,8 @@ import { WithErrorBoundary } from '../../../common/components/ErrorHandling/With
7
7
  import { CustomManifestsPage } from '../clusterConfiguration/manifestsConfiguration/CustomManifestsPage';
8
8
  import { CustomManifestFormState } from '../clusterConfiguration/manifestsConfiguration/components/propTypes';
9
9
  import { useSelector } from 'react-redux';
10
- import { selectCurrentClusterPermissionsState } from '../../selectors';
11
10
  import { Cluster } from '@openshift-assisted/types/assisted-installer-service';
11
+ import { selectCurrentClusterPermissionsState } from '../../store/slices/current-cluster/selectors';
12
12
 
13
13
  const getInitialFormStateProps = () => {
14
14
  return {
@@ -13,11 +13,11 @@ import HostInventory from '../clusterConfiguration/HostInventory';
13
13
  import { useClusterWizardContext } from './ClusterWizardContext';
14
14
  import { canNextHostDiscovery } from './wizardTransition';
15
15
  import { getApiErrorMessage, handleApiError, isUnknownServerError } from '../../api';
16
- import { setServerUpdateError, updateCluster } from '../../reducers/clusters';
16
+ import { setServerUpdateError, updateCluster } from '../../store/slices/current-cluster/slice';
17
17
  import ClusterWizardFooter from './ClusterWizardFooter';
18
18
  import ClusterWizardNavigation from './ClusterWizardNavigation';
19
19
  import { ClustersService, HostDiscoveryService } from '../../services';
20
- import { selectCurrentClusterPermissionsState } from '../../selectors';
20
+ import { selectCurrentClusterPermissionsState } from '../../store/slices/current-cluster/selectors';
21
21
  import {
22
22
  Cluster,
23
23
  V2ClusterUpdateParams,
@@ -19,7 +19,7 @@ import ClusterWizardFooter from '../clusterWizard/ClusterWizardFooter';
19
19
  import ClusterWizardNavigation from '../clusterWizard/ClusterWizardNavigation';
20
20
  import { OperatorsStep } from './OperatorsStep';
21
21
  import { ClustersService, OperatorsService } from '../../services';
22
- import { setServerUpdateError, updateCluster } from '../../reducers/clusters';
22
+ import { setServerUpdateError, updateCluster } from '../../store/slices/current-cluster/slice';
23
23
  import { getApiErrorMessage, handleApiError, isUnknownServerError } from '../../api';
24
24
  import { canNextOperators } from './wizardTransition';
25
25
  import { Cluster, MonitoredOperator } from '@openshift-assisted/types/assisted-installer-service';
@@ -1,41 +1,28 @@
1
1
  import React from 'react';
2
2
  import { useSelector } from 'react-redux';
3
3
  import { Stack, StackItem } from '@patternfly/react-core';
4
- import { ClusterOperatorProps, ClusterWizardStepHeader, useFeature } from '../../../common';
5
- import { selectIsCurrentClusterSNO } from '../../selectors';
4
+ import { ClusterOperatorProps, ClusterWizardStepHeader } from '../../../common';
6
5
  import CnvCheckbox from '../clusterConfiguration/operators/CnvCheckbox';
7
6
  import OdfCheckbox from '../clusterConfiguration/operators/OdfCheckbox';
8
7
  import LvmCheckbox from '../clusterConfiguration/operators/LvmCheckbox';
9
8
  import MceCheckbox from '../clusterConfiguration/operators/MceCheckbox';
9
+ import { selectIsCurrentClusterSNO } from '../../store/slices/current-cluster/selectors';
10
10
 
11
11
  export const OperatorsStep = (props: ClusterOperatorProps) => {
12
12
  const isSNO = useSelector(selectIsCurrentClusterSNO);
13
- const isOpenshiftDataFoundationEnabled = useFeature('ASSISTED_INSTALLER_OCS_FEATURE') && !isSNO;
14
- const isContainerNativeVirtualizationEnabled = useFeature('ASSISTED_INSTALLER_CNV_FEATURE');
15
13
 
16
14
  return (
17
15
  <Stack hasGutter data-testid={'operators-form'}>
18
16
  <StackItem>
19
17
  <ClusterWizardStepHeader>Operators</ClusterWizardStepHeader>
20
18
  </StackItem>
21
- {isContainerNativeVirtualizationEnabled && (
22
- <StackItem>
23
- <CnvCheckbox {...props} />
24
- </StackItem>
25
- )}
19
+ <StackItem>
20
+ <CnvCheckbox {...props} />
21
+ </StackItem>
26
22
  <StackItem>
27
23
  <MceCheckbox />
28
24
  </StackItem>
29
- {isOpenshiftDataFoundationEnabled && (
30
- <StackItem>
31
- <OdfCheckbox />
32
- </StackItem>
33
- )}
34
- {isSNO && (
35
- <StackItem>
36
- <LvmCheckbox {...props} />
37
- </StackItem>
38
- )}
25
+ <StackItem>{isSNO ? <LvmCheckbox {...props} /> : <OdfCheckbox />}</StackItem>
39
26
  </Stack>
40
27
  );
41
28
  };
@@ -10,8 +10,8 @@ import {
10
10
  } from '../clusterConfiguration/staticIp/components/propTypes';
11
11
  import { StaticIpPage } from '../clusterConfiguration/staticIp/components/StaticIpPage';
12
12
  import { WithErrorBoundary } from '../../../common/components/ErrorHandling/WithErrorBoundary';
13
- import { selectCurrentClusterPermissionsState } from '../../selectors';
14
13
  import { Cluster } from '@openshift-assisted/types/assisted-installer-service';
14
+ import { selectCurrentClusterPermissionsState } from '../../store/slices/current-cluster/selectors';
15
15
 
16
16
  const getInitialFormStateProps = () => {
17
17
  return {