@openshift-assisted/ui-lib 2.9.7-cim → 2.9.9-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 (356) hide show
  1. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentDetails.d.ts.map +1 -1
  2. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.d.ts +6 -1
  3. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.d.ts.map +1 -1
  4. package/build/@types/cim/components/ClusterDeployment/ClusterDetailsFormFields.d.ts.map +1 -1
  5. package/build/@types/cim/components/ClusterDeployment/helpers.d.ts.map +1 -1
  6. package/build/@types/cim/components/Hypershift/utils/nodepool.d.ts.map +1 -1
  7. package/build/@types/cim/components/InfraEnv/InfraEnvFormPage.d.ts +2 -0
  8. package/build/@types/cim/components/InfraEnv/InfraEnvFormPage.d.ts.map +1 -1
  9. package/build/@types/cim/components/helpers/versions.d.ts +1 -0
  10. package/build/@types/cim/components/helpers/versions.d.ts.map +1 -1
  11. package/build/@types/cim/components/modals/AddHostModal.d.ts.map +1 -1
  12. package/build/@types/common/api/accounts-management-service/current-account-api.d.ts +6 -0
  13. package/build/@types/common/api/accounts-management-service/current-account-api.d.ts.map +1 -0
  14. package/build/@types/common/api/accounts-management-service/organizations-api.d.ts +6 -0
  15. package/build/@types/common/api/accounts-management-service/organizations-api.d.ts.map +1 -0
  16. package/build/@types/common/api/assisted-service/NewFeatureSupportLevelsAPI.d.ts +1 -1
  17. package/build/@types/common/api/assisted-service/NewFeatureSupportLevelsAPI.d.ts.map +1 -1
  18. package/build/@types/common/api/assisted-service/UISettingsAPI.d.ts +8 -0
  19. package/build/@types/common/api/assisted-service/UISettingsAPI.d.ts.map +1 -0
  20. package/build/@types/common/api/assisted-service/index.d.ts +1 -0
  21. package/build/@types/common/api/assisted-service/index.d.ts.map +1 -1
  22. package/build/@types/common/api/authorization-service/all-apis.d.ts +7 -0
  23. package/build/@types/common/api/authorization-service/all-apis.d.ts.map +1 -0
  24. package/build/@types/common/components/clusterConfiguration/DiscoveryImageConfigForm.d.ts +4 -1
  25. package/build/@types/common/components/clusterConfiguration/DiscoveryImageConfigForm.d.ts.map +1 -1
  26. package/build/@types/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionControlGroup.d.ts.map +1 -1
  27. package/build/@types/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionMode.d.ts +3 -1
  28. package/build/@types/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionMode.d.ts.map +1 -1
  29. package/build/@types/common/components/clusterConfiguration/DiskEncryptionFields/TangServers.d.ts +3 -1
  30. package/build/@types/common/components/clusterConfiguration/DiskEncryptionFields/TangServers.d.ts.map +1 -1
  31. package/build/@types/common/components/clusterConfiguration/DownloadIso.d.ts +2 -1
  32. package/build/@types/common/components/clusterConfiguration/DownloadIso.d.ts.map +1 -1
  33. package/build/@types/common/components/clusterConfiguration/OpenShiftVersionSelect.d.ts +2 -0
  34. package/build/@types/common/components/clusterConfiguration/OpenShiftVersionSelect.d.ts.map +1 -1
  35. package/build/@types/common/components/clusterDetail/PostInstallAlert.d.ts +6 -0
  36. package/build/@types/common/components/clusterDetail/PostInstallAlert.d.ts.map +1 -0
  37. package/build/@types/common/components/clusterDetail/index.d.ts +1 -0
  38. package/build/@types/common/components/clusterDetail/index.d.ts.map +1 -1
  39. package/build/@types/common/components/clusterWizard/ReviewValidations.d.ts.map +1 -1
  40. package/build/@types/common/components/hosts/HostRowDetail.d.ts +2 -1
  41. package/build/@types/common/components/hosts/HostRowDetail.d.ts.map +1 -1
  42. package/build/@types/common/components/newFeatureSupportLevels/types.d.ts +3 -3
  43. package/build/@types/common/components/newFeatureSupportLevels/types.d.ts.map +1 -1
  44. package/build/@types/common/components/ui/NoPermissionsError.d.ts +3 -0
  45. package/build/@types/common/components/ui/NoPermissionsError.d.ts.map +1 -0
  46. package/build/@types/common/components/ui/formik/InputField.d.ts.map +1 -1
  47. package/build/@types/common/components/ui/formik/RichInputField.d.ts.map +1 -1
  48. package/build/@types/common/components/ui/formik/types.d.ts +2 -2
  49. package/build/@types/common/components/ui/formik/types.d.ts.map +1 -1
  50. package/build/@types/common/components/ui/formik/validationSchemas.d.ts.map +1 -1
  51. package/build/@types/common/components/ui/index.d.ts +1 -0
  52. package/build/@types/common/components/ui/index.d.ts.map +1 -1
  53. package/build/@types/common/config/constants.d.ts +1 -1
  54. package/build/@types/common/config/constants.d.ts.map +1 -1
  55. package/build/@types/common/features/featureGate.d.ts +1 -1
  56. package/build/@types/common/features/featureGate.d.ts.map +1 -1
  57. package/build/@types/common/services/DateAndTime.d.ts.map +1 -0
  58. package/build/@types/common/types/cpuArchitecture.d.ts +1 -1
  59. package/build/@types/common/types/cpuArchitecture.d.ts.map +1 -1
  60. package/build/@types/common/types/featureSupportLevel.d.ts +3 -3
  61. package/build/@types/common/types/featureSupportLevel.d.ts.map +1 -1
  62. package/build/@types/ocm/components/AddHosts/AddHosts.d.ts.map +1 -1
  63. package/build/@types/ocm/components/AddHosts/InventoryAddHost.d.ts +1 -2
  64. package/build/@types/ocm/components/AddHosts/InventoryAddHost.d.ts.map +1 -1
  65. package/build/@types/ocm/components/AddHosts/day2Wizard/Day2ClusterDetails.d.ts.map +1 -1
  66. package/build/@types/ocm/components/AddHosts/day2Wizard/Day2StaticIpHostConfigurations.d.ts +3 -1
  67. package/build/@types/ocm/components/AddHosts/day2Wizard/Day2StaticIpHostConfigurations.d.ts.map +1 -1
  68. package/build/@types/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContent.d.ts.map +1 -1
  69. package/build/@types/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContentErrors.d.ts +1 -4
  70. package/build/@types/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContentErrors.d.ts.map +1 -1
  71. package/build/@types/ocm/components/clusterConfiguration/CpuArchitectureDropdown.d.ts +5 -4
  72. package/build/@types/ocm/components/clusterConfiguration/CpuArchitectureDropdown.d.ts.map +1 -1
  73. package/build/@types/ocm/components/clusterConfiguration/CustomManifestCheckbox.d.ts.map +1 -1
  74. package/build/@types/ocm/components/clusterConfiguration/OcmBaseDomainField.d.ts +2 -1
  75. package/build/@types/ocm/components/clusterConfiguration/OcmBaseDomainField.d.ts.map +1 -1
  76. package/build/@types/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.d.ts.map +1 -1
  77. package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/CustomManifestsPage.d.ts +1 -1
  78. package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/CustomManifestsPage.d.ts.map +1 -1
  79. package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsForm.d.ts.map +1 -1
  80. package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/utils.d.ts +3 -4
  81. package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/utils.d.ts.map +1 -1
  82. package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/data/dataTypes.d.ts +0 -1
  83. package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/data/dataTypes.d.ts.map +1 -1
  84. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.d.ts.map +1 -1
  85. package/build/@types/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.d.ts +2 -1
  86. package/build/@types/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.d.ts.map +1 -1
  87. package/build/@types/ocm/components/clusterDetail/AssistedInstallerDetailCard.d.ts.map +1 -1
  88. package/build/@types/ocm/components/clusterDetail/AssistedInstallerExtraDetailCard.d.ts.map +1 -1
  89. package/build/@types/ocm/components/clusterDetail/ClusterDetailStatusMessages.d.ts.map +1 -1
  90. package/build/@types/ocm/components/clusterWizard/ClusterDetails.d.ts.map +1 -1
  91. package/build/@types/ocm/components/clusterWizard/ClusterDetailsForm.d.ts +1 -2
  92. package/build/@types/ocm/components/clusterWizard/ClusterDetailsForm.d.ts.map +1 -1
  93. package/build/@types/ocm/components/clusterWizard/ClusterWizardContext.d.ts +5 -3
  94. package/build/@types/ocm/components/clusterWizard/ClusterWizardContext.d.ts.map +1 -1
  95. package/build/@types/ocm/components/clusterWizard/ClusterWizardContextProvider.d.ts.map +1 -1
  96. package/build/@types/ocm/components/clusters/ClusterPage.d.ts.map +1 -1
  97. package/build/@types/ocm/components/featureSupportLevels/FeatureSupportLevelProvider.d.ts +4 -3
  98. package/build/@types/ocm/components/featureSupportLevels/FeatureSupportLevelProvider.d.ts.map +1 -1
  99. package/build/@types/ocm/components/featureSupportLevels/ReviewClusterFeatureSupportLevels.d.ts.map +1 -1
  100. package/build/@types/ocm/components/featureSupportLevels/featureStateUtils.d.ts +3 -3
  101. package/build/@types/ocm/components/featureSupportLevels/featureStateUtils.d.ts.map +1 -1
  102. package/build/@types/ocm/components/hosts/HostsDiscoveryTable.d.ts.map +1 -1
  103. package/build/@types/ocm/components/ui/OcmFormFields.d.ts +1 -1
  104. package/build/@types/ocm/hooks/index.d.ts +1 -0
  105. package/build/@types/ocm/hooks/index.d.ts.map +1 -1
  106. package/build/@types/ocm/hooks/useOpenshiftVersions.d.ts +1 -2
  107. package/build/@types/ocm/hooks/useOpenshiftVersions.d.ts.map +1 -1
  108. package/build/@types/ocm/hooks/useSupportLevelsAPI.d.ts +5 -3
  109. package/build/@types/ocm/hooks/useSupportLevelsAPI.d.ts.map +1 -1
  110. package/build/@types/ocm/hooks/useUISettings.d.ts +10 -0
  111. package/build/@types/ocm/hooks/useUISettings.d.ts.map +1 -0
  112. package/build/@types/ocm/services/ClusterDetailsService.d.ts +2 -1
  113. package/build/@types/ocm/services/ClusterDetailsService.d.ts.map +1 -1
  114. package/build/@types/ocm/services/ClustersService.d.ts +0 -1
  115. package/build/@types/ocm/services/ClustersService.d.ts.map +1 -1
  116. package/build/@types/ocm/services/Day2ClusterService.d.ts +3 -2
  117. package/build/@types/ocm/services/Day2ClusterService.d.ts.map +1 -1
  118. package/build/@types/ocm/services/UISettingsService.d.ts +8 -0
  119. package/build/@types/ocm/services/UISettingsService.d.ts.map +1 -0
  120. package/build/@types/ocm/services/index.d.ts +1 -0
  121. package/build/@types/ocm/services/index.d.ts.map +1 -1
  122. package/build/@types/ocm/services/types.d.ts +4 -0
  123. package/build/@types/ocm/services/types.d.ts.map +1 -1
  124. package/build/cjs/cim/components/Agent/BMCForm.js +3 -3
  125. package/build/cjs/cim/components/Agent/BMCForm.js.map +1 -1
  126. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentDetails.js +58 -55
  127. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentDetails.js.map +1 -1
  128. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.js +9 -5
  129. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.js.map +1 -1
  130. package/build/cjs/cim/components/ClusterDeployment/ClusterDetailsFormFields.js +6 -2
  131. package/build/cjs/cim/components/ClusterDeployment/ClusterDetailsFormFields.js.map +1 -1
  132. package/build/cjs/cim/components/ClusterDeployment/helpers.js +4 -2
  133. package/build/cjs/cim/components/ClusterDeployment/helpers.js.map +1 -1
  134. package/build/cjs/cim/components/Hypershift/utils/nodepool.js +6 -5
  135. package/build/cjs/cim/components/Hypershift/utils/nodepool.js.map +1 -1
  136. package/build/cjs/cim/components/InfraEnv/InfraEnvFormPage.js +2 -2
  137. package/build/cjs/cim/components/InfraEnv/InfraEnvFormPage.js.map +1 -1
  138. package/build/cjs/cim/components/helpers/versions.js +3 -1
  139. package/build/cjs/cim/components/helpers/versions.js.map +1 -1
  140. package/build/cjs/cim/components/modals/AddHostModal.js +4 -4
  141. package/build/cjs/cim/components/modals/AddHostModal.js.map +1 -1
  142. package/build/cjs/common/api/accounts-management-service/access-token-api.js +1 -1
  143. package/build/cjs/common/api/accounts-management-service/current-account-api.js +17 -0
  144. package/build/cjs/common/api/accounts-management-service/current-account-api.js.map +1 -0
  145. package/build/cjs/common/api/accounts-management-service/organizations-api.js +19 -0
  146. package/build/cjs/common/api/accounts-management-service/organizations-api.js.map +1 -0
  147. package/build/cjs/common/api/assisted-service/NewFeatureSupportLevelsAPI.js +8 -5
  148. package/build/cjs/common/api/assisted-service/NewFeatureSupportLevelsAPI.js.map +1 -1
  149. package/build/cjs/common/api/assisted-service/UISettingsAPI.js +21 -0
  150. package/build/cjs/common/api/assisted-service/UISettingsAPI.js.map +1 -0
  151. package/build/cjs/common/api/assisted-service/index.js +3 -1
  152. package/build/cjs/common/api/assisted-service/index.js.map +1 -1
  153. package/build/cjs/common/api/authorization-service/all-apis.js +23 -0
  154. package/build/cjs/common/api/authorization-service/all-apis.js.map +1 -0
  155. package/build/cjs/common/components/clusterConfiguration/DiscoveryImageConfigForm.js +4 -4
  156. package/build/cjs/common/components/clusterConfiguration/DiscoveryImageConfigForm.js.map +1 -1
  157. package/build/cjs/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionControlGroup.js +1 -1
  158. package/build/cjs/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionControlGroup.js.map +1 -1
  159. package/build/cjs/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionMode.js +6 -4
  160. package/build/cjs/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionMode.js.map +1 -1
  161. package/build/cjs/common/components/clusterConfiguration/DiskEncryptionFields/TangServers.js +5 -3
  162. package/build/cjs/common/components/clusterConfiguration/DiskEncryptionFields/TangServers.js.map +1 -1
  163. package/build/cjs/common/components/clusterConfiguration/DownloadIso.js +2 -2
  164. package/build/cjs/common/components/clusterConfiguration/DownloadIso.js.map +1 -1
  165. package/build/cjs/common/components/clusterConfiguration/OpenShiftVersionSelect.js +2 -2
  166. package/build/cjs/common/components/clusterConfiguration/OpenShiftVersionSelect.js.map +1 -1
  167. package/build/cjs/common/components/clusterDetail/PostInstallAlert.js +16 -0
  168. package/build/cjs/common/components/clusterDetail/PostInstallAlert.js.map +1 -0
  169. package/build/cjs/common/components/clusterDetail/index.js +3 -1
  170. package/build/cjs/common/components/clusterDetail/index.js.map +1 -1
  171. package/build/cjs/common/components/clusterWizard/ReviewValidations.js +3 -0
  172. package/build/cjs/common/components/clusterWizard/ReviewValidations.js.map +1 -1
  173. package/build/cjs/common/components/hosts/HostRowDetail.js +2 -2
  174. package/build/cjs/common/components/hosts/HostRowDetail.js.map +1 -1
  175. package/build/cjs/common/components/ui/NoPermissionsError.js +14 -0
  176. package/build/cjs/common/components/ui/NoPermissionsError.js.map +1 -0
  177. package/build/cjs/common/components/ui/formik/InputField.js +5 -5
  178. package/build/cjs/common/components/ui/formik/InputField.js.map +1 -1
  179. package/build/cjs/common/components/ui/formik/RichInputField.js +5 -2
  180. package/build/cjs/common/components/ui/formik/RichInputField.js.map +1 -1
  181. package/build/cjs/common/components/ui/formik/SelectField.js +1 -1
  182. package/build/cjs/common/components/ui/formik/SelectField.js.map +1 -1
  183. package/build/cjs/common/components/ui/formik/validationSchemas.js +14 -6
  184. package/build/cjs/common/components/ui/formik/validationSchemas.js.map +1 -1
  185. package/build/cjs/common/components/ui/index.js +3 -1
  186. package/build/cjs/common/components/ui/index.js.map +1 -1
  187. package/build/cjs/common/config/constants.js +4 -2
  188. package/build/cjs/common/config/constants.js.map +1 -1
  189. package/build/cjs/common/features/featureGate.js +1 -3
  190. package/build/cjs/common/features/featureGate.js.map +1 -1
  191. package/build/cjs/common/services/DateAndTime.js.map +1 -0
  192. package/build/cjs/common/types/cpuArchitecture.js +5 -9
  193. package/build/cjs/common/types/cpuArchitecture.js.map +1 -1
  194. package/build/cjs/common/types/featureSupportLevel.js.map +1 -1
  195. package/build/cjs/ocm/components/AddHosts/AddHosts.js +1 -2
  196. package/build/cjs/ocm/components/AddHosts/AddHosts.js.map +1 -1
  197. package/build/cjs/ocm/components/AddHosts/InventoryAddHost.js +2 -2
  198. package/build/cjs/ocm/components/AddHosts/InventoryAddHost.js.map +1 -1
  199. package/build/cjs/ocm/components/AddHosts/day2Wizard/Day2ClusterDetails.js +4 -4
  200. package/build/cjs/ocm/components/AddHosts/day2Wizard/Day2ClusterDetails.js.map +1 -1
  201. package/build/cjs/ocm/components/AddHosts/day2Wizard/Day2StaticIpHostConfigurations.js +7 -6
  202. package/build/cjs/ocm/components/AddHosts/day2Wizard/Day2StaticIpHostConfigurations.js.map +1 -1
  203. package/build/cjs/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContent.js +5 -22
  204. package/build/cjs/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContent.js.map +1 -1
  205. package/build/cjs/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContentErrors.js +1 -13
  206. package/build/cjs/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContentErrors.js.map +1 -1
  207. package/build/cjs/ocm/components/clusterConfiguration/CpuArchitectureDropdown.js +24 -3
  208. package/build/cjs/ocm/components/clusterConfiguration/CpuArchitectureDropdown.js.map +1 -1
  209. package/build/cjs/ocm/components/clusterConfiguration/CustomManifestCheckbox.js +22 -32
  210. package/build/cjs/ocm/components/clusterConfiguration/CustomManifestCheckbox.js.map +1 -1
  211. package/build/cjs/ocm/components/clusterConfiguration/OcmBaseDomainField.js +7 -5
  212. package/build/cjs/ocm/components/clusterConfiguration/OcmBaseDomainField.js.map +1 -1
  213. package/build/cjs/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.js +3 -4
  214. package/build/cjs/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.js.map +1 -1
  215. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/CustomManifestsPage.js +6 -12
  216. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/CustomManifestsPage.js.map +1 -1
  217. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifests.js +2 -2
  218. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifests.js.map +1 -1
  219. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsArray.js +1 -1
  220. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsArray.js.map +1 -1
  221. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsForm.js +49 -123
  222. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsForm.js.map +1 -1
  223. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/ExpandedManifest.js +1 -0
  224. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/ExpandedManifest.js.map +1 -1
  225. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/utils.js +14 -19
  226. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/utils.js.map +1 -1
  227. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.js +17 -17
  228. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.js.map +1 -1
  229. package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.js +2 -1
  230. package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.js.map +1 -1
  231. package/build/cjs/ocm/components/clusterDetail/AssistedInstallerDetailCard.js +2 -1
  232. package/build/cjs/ocm/components/clusterDetail/AssistedInstallerDetailCard.js.map +1 -1
  233. package/build/cjs/ocm/components/clusterDetail/AssistedInstallerExtraDetailCard.js +2 -1
  234. package/build/cjs/ocm/components/clusterDetail/AssistedInstallerExtraDetailCard.js.map +1 -1
  235. package/build/cjs/ocm/components/clusterDetail/ClusterDetailStatusMessages.js +3 -8
  236. package/build/cjs/ocm/components/clusterDetail/ClusterDetailStatusMessages.js.map +1 -1
  237. package/build/cjs/ocm/components/clusterWizard/ClusterDetails.js +5 -12
  238. package/build/cjs/ocm/components/clusterWizard/ClusterDetails.js.map +1 -1
  239. package/build/cjs/ocm/components/clusterWizard/ClusterDetailsForm.js +18 -13
  240. package/build/cjs/ocm/components/clusterWizard/ClusterDetailsForm.js.map +1 -1
  241. package/build/cjs/ocm/components/clusterWizard/ClusterWizardContext.js.map +1 -1
  242. package/build/cjs/ocm/components/clusterWizard/ClusterWizardContextProvider.js +45 -36
  243. package/build/cjs/ocm/components/clusterWizard/ClusterWizardContextProvider.js.map +1 -1
  244. package/build/cjs/ocm/components/clusters/ClusterPage.js +2 -1
  245. package/build/cjs/ocm/components/clusters/ClusterPage.js.map +1 -1
  246. package/build/cjs/ocm/components/featureSupportLevels/FeatureSupportLevelProvider.js +4 -4
  247. package/build/cjs/ocm/components/featureSupportLevels/FeatureSupportLevelProvider.js.map +1 -1
  248. package/build/cjs/ocm/components/featureSupportLevels/ReviewClusterFeatureSupportLevels.js +1 -3
  249. package/build/cjs/ocm/components/featureSupportLevels/ReviewClusterFeatureSupportLevels.js.map +1 -1
  250. package/build/cjs/ocm/components/featureSupportLevels/featureStateUtils.js +8 -2
  251. package/build/cjs/ocm/components/featureSupportLevels/featureStateUtils.js.map +1 -1
  252. package/build/cjs/ocm/components/hosts/HostsDiscoveryTable.js +1 -1
  253. package/build/cjs/ocm/components/hosts/HostsDiscoveryTable.js.map +1 -1
  254. package/build/cjs/ocm/hooks/index.js +3 -1
  255. package/build/cjs/ocm/hooks/index.js.map +1 -1
  256. package/build/cjs/ocm/hooks/useOpenshiftVersions.js +0 -5
  257. package/build/cjs/ocm/hooks/useOpenshiftVersions.js.map +1 -1
  258. package/build/cjs/ocm/hooks/useSupportLevelsAPI.js +38 -4
  259. package/build/cjs/ocm/hooks/useSupportLevelsAPI.js.map +1 -1
  260. package/build/cjs/ocm/hooks/useUISettings.js +62 -0
  261. package/build/cjs/ocm/hooks/useUISettings.js.map +1 -0
  262. package/build/cjs/ocm/services/ClusterDetailsService.js +2 -2
  263. package/build/cjs/ocm/services/ClusterDetailsService.js.map +1 -1
  264. package/build/cjs/ocm/services/ClustersService.js +0 -8
  265. package/build/cjs/ocm/services/ClustersService.js.map +1 -1
  266. package/build/cjs/ocm/services/Day2ClusterService.js +13 -4
  267. package/build/cjs/ocm/services/Day2ClusterService.js.map +1 -1
  268. package/build/cjs/ocm/services/UISettingsService.js +18 -0
  269. package/build/cjs/ocm/services/UISettingsService.js.map +1 -0
  270. package/build/cjs/ocm/services/index.js +3 -1
  271. package/build/cjs/ocm/services/index.js.map +1 -1
  272. package/lib/cim/components/Agent/BMCForm.tsx +3 -3
  273. package/lib/cim/components/ClusterDeployment/ClusterDeploymentDetails.tsx +112 -102
  274. package/lib/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.tsx +17 -5
  275. package/lib/cim/components/ClusterDeployment/ClusterDetailsFormFields.tsx +9 -2
  276. package/lib/cim/components/ClusterDeployment/helpers.ts +13 -10
  277. package/lib/cim/components/Hypershift/utils/nodepool.ts +3 -2
  278. package/lib/cim/components/InfraEnv/InfraEnvFormPage.tsx +11 -2
  279. package/lib/cim/components/helpers/versions.ts +5 -0
  280. package/lib/cim/components/modals/AddHostModal.tsx +5 -0
  281. package/lib/common/api/accounts-management-service/access-token-api.ts +1 -1
  282. package/lib/common/api/accounts-management-service/current-account-api.ts +13 -0
  283. package/lib/common/api/accounts-management-service/organizations-api.ts +15 -0
  284. package/lib/common/api/assisted-service/NewFeatureSupportLevelsAPI.ts +9 -5
  285. package/lib/common/api/assisted-service/UISettingsAPI.ts +24 -0
  286. package/lib/common/api/assisted-service/index.ts +1 -0
  287. package/lib/common/api/authorization-service/all-apis.ts +28 -0
  288. package/lib/common/components/clusterConfiguration/DiscoveryImageConfigForm.tsx +6 -4
  289. package/lib/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionControlGroup.tsx +5 -1
  290. package/lib/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionMode.tsx +27 -16
  291. package/lib/common/components/clusterConfiguration/DiskEncryptionFields/TangServers.tsx +27 -17
  292. package/lib/common/components/clusterConfiguration/DownloadIso.tsx +3 -1
  293. package/lib/common/components/clusterConfiguration/OpenShiftVersionSelect.tsx +4 -1
  294. package/lib/common/components/clusterDetail/PostInstallAlert.tsx +29 -0
  295. package/lib/common/components/clusterDetail/index.ts +1 -0
  296. package/lib/common/components/clusterWizard/ReviewValidations.tsx +3 -0
  297. package/lib/common/components/hosts/HostRowDetail.tsx +3 -1
  298. package/lib/common/components/newFeatureSupportLevels/types.ts +4 -2
  299. package/lib/common/components/ui/NoPermissionsError.tsx +19 -0
  300. package/lib/common/components/ui/formik/InputField.tsx +4 -5
  301. package/lib/common/components/ui/formik/RichInputField.tsx +6 -2
  302. package/lib/common/components/ui/formik/SelectField.tsx +1 -1
  303. package/lib/common/components/ui/formik/types.ts +2 -1
  304. package/lib/common/components/ui/formik/validationSchemas.ts +16 -6
  305. package/lib/common/components/ui/index.ts +1 -0
  306. package/lib/common/config/constants.ts +3 -2
  307. package/lib/common/features/featureGate.tsx +0 -4
  308. package/lib/common/types/cpuArchitecture.ts +3 -8
  309. package/lib/common/types/featureSupportLevel.ts +6 -5
  310. package/lib/ocm/components/AddHosts/AddHosts.tsx +1 -3
  311. package/lib/ocm/components/AddHosts/InventoryAddHost.tsx +2 -8
  312. package/lib/ocm/components/AddHosts/day2Wizard/Day2ClusterDetails.tsx +6 -11
  313. package/lib/ocm/components/AddHosts/day2Wizard/Day2StaticIpHostConfigurations.tsx +34 -19
  314. package/lib/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContent.tsx +6 -37
  315. package/lib/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContentErrors.tsx +1 -15
  316. package/lib/ocm/components/clusterConfiguration/CpuArchitectureDropdown.tsx +62 -5
  317. package/lib/ocm/components/clusterConfiguration/CustomManifestCheckbox.tsx +25 -32
  318. package/lib/ocm/components/clusterConfiguration/OcmBaseDomainField.tsx +23 -12
  319. package/lib/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.tsx +7 -7
  320. package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/CustomManifestsPage.tsx +20 -27
  321. package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifests.tsx +3 -3
  322. package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsArray.tsx +2 -2
  323. package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsForm.tsx +69 -182
  324. package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/ExpandedManifest.tsx +1 -1
  325. package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/utils.tsx +9 -15
  326. package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/data/dataTypes.ts +0 -1
  327. package/lib/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.tsx +48 -25
  328. package/lib/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.tsx +12 -5
  329. package/lib/ocm/components/clusterDetail/AssistedInstallerDetailCard.tsx +2 -1
  330. package/lib/ocm/components/clusterDetail/AssistedInstallerExtraDetailCard.tsx +2 -1
  331. package/lib/ocm/components/clusterDetail/ClusterDetailStatusMessages.tsx +3 -17
  332. package/lib/ocm/components/clusterWizard/ClusterDetails.tsx +9 -16
  333. package/lib/ocm/components/clusterWizard/ClusterDetailsForm.tsx +18 -16
  334. package/lib/ocm/components/clusterWizard/ClusterWizardContext.tsx +5 -3
  335. package/lib/ocm/components/clusterWizard/ClusterWizardContextProvider.tsx +75 -54
  336. package/lib/ocm/components/clusters/ClusterPage.tsx +2 -1
  337. package/lib/ocm/components/featureSupportLevels/FeatureSupportLevelProvider.tsx +14 -3
  338. package/lib/ocm/components/featureSupportLevels/ReviewClusterFeatureSupportLevels.tsx +1 -8
  339. package/lib/ocm/components/featureSupportLevels/featureStateUtils.ts +18 -3
  340. package/lib/ocm/components/hosts/HostsDiscoveryTable.tsx +1 -0
  341. package/lib/ocm/hooks/index.ts +1 -0
  342. package/lib/ocm/hooks/useOpenshiftVersions.tsx +1 -15
  343. package/lib/ocm/hooks/useSupportLevelsAPI.ts +65 -5
  344. package/lib/ocm/hooks/useUISettings.ts +71 -0
  345. package/lib/ocm/services/ClusterDetailsService.ts +3 -1
  346. package/lib/ocm/services/ClustersService.ts +0 -10
  347. package/lib/ocm/services/Day2ClusterService.ts +17 -3
  348. package/lib/ocm/services/UISettingsService.ts +17 -0
  349. package/lib/ocm/services/index.ts +1 -0
  350. package/lib/ocm/services/types.ts +5 -0
  351. package/package.json +3 -3
  352. package/build/@types/common/sevices/DateAndTime.d.ts.map +0 -1
  353. package/build/cjs/common/sevices/DateAndTime.js.map +0 -1
  354. /package/build/@types/common/{sevices → services}/DateAndTime.d.ts +0 -0
  355. /package/build/cjs/common/{sevices → services}/DateAndTime.js +0 -0
  356. /package/lib/common/{sevices → services}/DateAndTime.tsx +0 -0
@@ -15,8 +15,8 @@ import {
15
15
  ClusterDetailsUpdateParams,
16
16
  ClustersService,
17
17
  ClusterCreateParamsWithStaticNetworking,
18
+ UISettingService,
18
19
  } from '../../services';
19
- import useClusterCustomManifests from '../../hooks/useClusterCustomManifests';
20
20
  import { Cluster, InfraEnv } from '@openshift-assisted/types/assisted-installer-service';
21
21
 
22
22
  type ClusterDetailsProps = {
@@ -33,10 +33,13 @@ const ClusterDetails = ({ cluster, infraEnv }: ClusterDetailsProps) => {
33
33
  const { usedClusterNames } = useUsedClusterNames(cluster?.id || '');
34
34
  const pullSecret = usePullSecret();
35
35
  const { error: errorOCPVersions, loading: loadingOCPVersions, versions } = useOpenshiftVersions();
36
- const { customManifests } = useClusterCustomManifests(cluster?.id || '', false);
37
36
 
38
37
  const handleClusterUpdate = React.useCallback(
39
- async (clusterId: Cluster['id'], params: ClusterDetailsUpdateParams) => {
38
+ async (
39
+ clusterId: Cluster['id'],
40
+ params: ClusterDetailsUpdateParams,
41
+ addCustomManifests: boolean,
42
+ ) => {
40
43
  clearAlerts();
41
44
 
42
45
  try {
@@ -45,6 +48,7 @@ const ClusterDetails = ({ cluster, infraEnv }: ClusterDetailsProps) => {
45
48
  cluster?.tags,
46
49
  params,
47
50
  );
51
+ await clusterWizardContext.updateUISettings({ addCustomManifests });
48
52
  dispatch(updateCluster(updatedCluster));
49
53
 
50
54
  canNextClusterDetails({ cluster: updatedCluster }) && clusterWizardContext.moveNext();
@@ -60,23 +64,13 @@ const ClusterDetails = ({ cluster, infraEnv }: ClusterDetailsProps) => {
60
64
  [clearAlerts, addAlert, dispatch, cluster?.tags, clusterWizardContext],
61
65
  );
62
66
 
63
- const handleCustomManifestsChange = React.useCallback(
64
- async (clusterId: string, addCustomManifests: boolean) => {
65
- const addCustomManifestsNew = customManifests ? customManifests.length === 0 : true;
66
- if (addCustomManifests && addCustomManifestsNew && clusterId) {
67
- await ClustersService.createDummyManifest(clusterId);
68
- }
69
- },
70
- [customManifests],
71
- );
72
-
73
67
  const handleClusterCreate = React.useCallback(
74
68
  async (params: ClusterCreateParamsWithStaticNetworking, addCustomManifests: boolean) => {
75
69
  clearAlerts();
76
70
  try {
77
71
  const cluster = await ClustersService.create(params);
78
72
  history.push(`${routeBasePath}/clusters/${cluster.id}`, ClusterWizardFlowStateNew);
79
- await handleCustomManifestsChange(cluster.id, addCustomManifests);
73
+ await UISettingService.update(cluster.id, { addCustomManifests });
80
74
  } catch (e) {
81
75
  handleApiError(e, () =>
82
76
  addAlert({ title: 'Failed to create new cluster', message: getApiErrorMessage(e) }),
@@ -86,7 +80,7 @@ const ClusterDetails = ({ cluster, infraEnv }: ClusterDetailsProps) => {
86
80
  }
87
81
  }
88
82
  },
89
- [clearAlerts, addAlert, dispatch, history, handleCustomManifestsChange],
83
+ [clearAlerts, history, addAlert, dispatch],
90
84
  );
91
85
 
92
86
  const navigation = <ClusterWizardNavigation cluster={cluster} />;
@@ -116,7 +110,6 @@ const ClusterDetails = ({ cluster, infraEnv }: ClusterDetailsProps) => {
116
110
  moveNext={() => clusterWizardContext.moveNext()}
117
111
  handleClusterUpdate={handleClusterUpdate}
118
112
  handleClusterCreate={handleClusterCreate}
119
- handleCustomManifestsChange={handleCustomManifestsChange}
120
113
  navigation={navigation}
121
114
  infraEnv={infraEnv}
122
115
  />
@@ -46,9 +46,6 @@ type ClusterDetailsFormProps = {
46
46
  handleClusterUpdate: (
47
47
  clusterId: Cluster['id'],
48
48
  params: ClusterDetailsUpdateParams,
49
- ) => Promise<void>;
50
- handleCustomManifestsChange: (
51
- clusterId: Cluster['id'],
52
49
  addCustomManifests: boolean,
53
50
  ) => Promise<void>;
54
51
  };
@@ -64,7 +61,6 @@ const ClusterDetailsForm = (props: ClusterDetailsFormProps) => {
64
61
  moveNext,
65
62
  handleClusterUpdate,
66
63
  handleClusterCreate,
67
- handleCustomManifestsChange,
68
64
  navigation,
69
65
  } = props;
70
66
 
@@ -73,6 +69,7 @@ const ClusterDetailsForm = (props: ClusterDetailsFormProps) => {
73
69
  const { isViewerMode } = useSelector(selectCurrentClusterPermissionsState);
74
70
  const featureSupportLevels = useNewFeatureSupportLevel();
75
71
  const { clearAlerts } = useAlerts();
72
+
76
73
  const handleSubmit = React.useCallback(
77
74
  async (values: OcmClusterDetailsValues) => {
78
75
  if (cluster) {
@@ -86,20 +83,13 @@ const ClusterDetailsForm = (props: ClusterDetailsFormProps) => {
86
83
  resetPlatform = 'baremetal';
87
84
  }
88
85
  const params = ClusterDetailsService.getClusterUpdateParams(values, resetPlatform);
89
- await handleClusterUpdate(cluster.id, params);
90
- await handleCustomManifestsChange(cluster.id, clusterWizardContext.addCustomManifests);
86
+ await handleClusterUpdate(cluster.id, params, values.addCustomManifest);
91
87
  } else {
92
88
  const params = ClusterDetailsService.getClusterCreateParams(values);
93
- await handleClusterCreate(params, clusterWizardContext.addCustomManifests);
89
+ await handleClusterCreate(params, values.addCustomManifest);
94
90
  }
95
91
  },
96
- [
97
- cluster,
98
- handleClusterCreate,
99
- handleClusterUpdate,
100
- handleCustomManifestsChange,
101
- clusterWizardContext.addCustomManifests,
102
- ],
92
+ [cluster, handleClusterCreate, handleClusterUpdate],
103
93
  );
104
94
 
105
95
  const handleOnNext = React.useCallback(
@@ -129,8 +119,17 @@ const ClusterDetailsForm = (props: ClusterDetailsFormProps) => {
129
119
  managedDomains,
130
120
  ocpVersions,
131
121
  urlSearchParams: search,
122
+ addCustomManifests: clusterWizardContext.customManifestsStep,
132
123
  }),
133
- [infraEnv, cluster, pullSecret, managedDomains, ocpVersions, search],
124
+ [
125
+ infraEnv,
126
+ cluster,
127
+ pullSecret,
128
+ managedDomains,
129
+ ocpVersions,
130
+ search,
131
+ clusterWizardContext.customManifestsStep,
132
+ ],
134
133
  );
135
134
 
136
135
  const { t } = useTranslation();
@@ -146,7 +145,10 @@ const ClusterDetailsForm = (props: ClusterDetailsFormProps) => {
146
145
  return (
147
146
  <Formik
148
147
  initialValues={initialValues}
149
- validate={getRichTextValidation(validationSchema)}
148
+ validate={(values) => {
149
+ clearAlerts();
150
+ return getRichTextValidation(validationSchema)(values);
151
+ }}
150
152
  onSubmit={handleSubmit}
151
153
  >
152
154
  {({ submitForm, isSubmitting, isValid, dirty, errors, touched }) => {
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { HostsNetworkConfigurationType } from '../../services';
2
+ import { HostsNetworkConfigurationType, UISettingsValues } from '../../services';
3
3
  import { StaticIpView } from '../clusterConfiguration/staticIp/data/dataTypes';
4
4
  import { ClusterWizardStepsType } from './wizardTransition';
5
5
 
@@ -11,10 +11,12 @@ export type ClusterWizardContextType = {
11
11
  wizardStepIds: ClusterWizardStepsType[];
12
12
  onUpdateStaticIpView(view: StaticIpView): void;
13
13
  onUpdateHostNetworkConfigType(type: HostsNetworkConfigurationType): void;
14
- setAddCustomManifests(addCustomManifest: boolean): void;
15
- addCustomManifests: boolean;
14
+ setCustomManifestsStep(addCustomManifest: boolean): void;
15
+ customManifestsStep: boolean;
16
16
  wizardPerPage: number;
17
17
  setWizardPerPage: (perPage: number) => void;
18
+ updateUISettings: (data: UISettingsValues) => Promise<void>;
19
+ uiSettings?: UISettingsValues;
18
20
  };
19
21
 
20
22
  export const ClusterWizardContext = React.createContext<ClusterWizardContextType | null>(null);
@@ -18,9 +18,9 @@ import {
18
18
  useAlerts,
19
19
  } from '../../../common';
20
20
  import useSetClusterPermissions from '../../hooks/useSetClusterPermissions';
21
- import useClusterCustomManifests from '../../hooks/useClusterCustomManifests';
22
- import { ListManifestsExtended } from '../clusterConfiguration/manifestsConfiguration/data/dataTypes';
23
21
  import { Cluster, InfraEnv } from '@openshift-assisted/types/assisted-installer-service';
22
+ import { useUISettings } from '../../hooks';
23
+ import { AlertVariant } from '@patternfly/react-core';
24
24
 
25
25
  const addStepToClusterWizard = (
26
26
  wizardStepIds: ClusterWizardStepsType[],
@@ -52,7 +52,7 @@ const removeStepFromClusterWizard = (
52
52
  const getWizardStepIds = (
53
53
  wizardStepIds: ClusterWizardStepsType[] | undefined,
54
54
  staticIpView?: StaticIpView | 'dhcp-selected',
55
- addCustomManifests?: boolean,
55
+ customManifestsStep?: boolean,
56
56
  isSingleClusterFeatureEnabled?: boolean,
57
57
  ): ClusterWizardStepsType[] => {
58
58
  let stepsCopy = wizardStepIds ? [...wizardStepIds] : [...defaultWizardSteps];
@@ -66,7 +66,7 @@ const getWizardStepIds = (
66
66
  stepsCopy = removeStepFromClusterWizard(stepsCopy, 'static-ip-network-wide-configurations', 2);
67
67
  }
68
68
 
69
- if (addCustomManifests) {
69
+ if (customManifestsStep) {
70
70
  stepsCopy = addStepToClusterWizard(stepsCopy, 'networking', ['custom-manifests']);
71
71
  } else {
72
72
  stepsCopy = removeStepFromClusterWizard(stepsCopy, 'custom-manifests', 1);
@@ -79,12 +79,6 @@ const getWizardStepIds = (
79
79
  return stepsCopy;
80
80
  };
81
81
 
82
- const validateIfCustomsManifestsNeedToBeFilled = (
83
- customManifests: ListManifestsExtended | undefined,
84
- ): boolean => {
85
- return (customManifests || []).some((customManifest) => customManifest.yamlContent === '');
86
- };
87
-
88
82
  const ClusterWizardContextProvider = ({
89
83
  children,
90
84
  cluster,
@@ -95,48 +89,71 @@ const ClusterWizardContextProvider = ({
95
89
  infraEnv?: InfraEnv;
96
90
  permissions?: AssistedInstallerOCMPermissionTypesListType;
97
91
  }>) => {
92
+ const isSingleClusterFeatureEnabled = useFeature('ASSISTED_INSTALLER_SINGLE_CLUSTER_FEATURE');
98
93
  const [currentStepId, setCurrentStepId] = React.useState<ClusterWizardStepsType>();
99
94
  const [wizardStepIds, setWizardStepIds] = React.useState<ClusterWizardStepsType[]>();
100
- const [addCustomManifests, setAddCustomManifests] = React.useState<boolean>(false);
95
+ const [wizardPerPage, setWizardPerPage] = React.useState(10);
96
+ const [customManifestsStep, setCustomManifestsStep] = React.useState<boolean>(false);
101
97
  const { state: locationState } = useLocation<ClusterWizardFlowStateType>();
102
- const { customManifests } = useClusterCustomManifests(cluster?.id || '', true);
98
+ const {
99
+ uiSettings,
100
+ updateUISettings,
101
+ loading: UISettingsLoading,
102
+ error: UISettingsError,
103
+ } = useUISettings(cluster?.id);
104
+ const { clearAlerts, addAlert, alerts } = useAlerts();
103
105
  const setClusterPermissions = useSetClusterPermissions();
104
- const isSingleClusterFeatureEnabled = useFeature('ASSISTED_INSTALLER_SINGLE_CLUSTER_FEATURE');
105
- const { clearAlerts } = useAlerts();
106
- const [wizardPerPage, setWizardPerPage] = React.useState(10);
107
106
 
108
107
  React.useEffect(() => {
109
- const staticIpInfo = infraEnv ? getStaticIpInfo(infraEnv) : undefined;
110
- const customManifestsStepNeedsToBeFilled =
111
- validateIfCustomsManifestsNeedToBeFilled(customManifests);
112
- const hasManifests = (customManifests || []).length > 0;
113
- const requiredStepId = getClusterWizardFirstStep(
114
- locationState,
115
- staticIpInfo,
116
- cluster?.status,
117
- cluster?.hosts,
118
- isSingleClusterFeatureEnabled,
119
- customManifestsStepNeedsToBeFilled,
120
- );
121
- const firstStepIds = getWizardStepIds(
122
- wizardStepIds,
123
- staticIpInfo?.view,
124
- hasManifests,
125
- isSingleClusterFeatureEnabled,
126
- );
127
- // Only move step if there is still none, or the user is at a forbidden step
128
- const shouldMoveStep =
129
- !currentStepId ||
130
- (customManifestsStepNeedsToBeFilled && isStepAfter(currentStepId, requiredStepId));
131
- if (shouldMoveStep) {
132
- setCurrentStepId(requiredStepId);
108
+ if (!UISettingsLoading) {
109
+ const staticIpInfo = infraEnv ? getStaticIpInfo(infraEnv) : undefined;
110
+ const customManifestsStepEnabled = !!uiSettings?.addCustomManifests;
111
+ const customManifestsStepNeedsToBeFilled = !!(
112
+ uiSettings?.addCustomManifests && !uiSettings?.customManifestsAdded
113
+ );
114
+
115
+ const requiredStepId = getClusterWizardFirstStep(
116
+ locationState,
117
+ staticIpInfo,
118
+ cluster?.status,
119
+ cluster?.hosts,
120
+ isSingleClusterFeatureEnabled,
121
+ customManifestsStepNeedsToBeFilled,
122
+ );
123
+
124
+ const firstStepIds = getWizardStepIds(
125
+ wizardStepIds,
126
+ staticIpInfo?.view,
127
+ customManifestsStepEnabled,
128
+ isSingleClusterFeatureEnabled,
129
+ );
130
+
131
+ // Only move step if there is still none, or the user is at a forbidden step
132
+ if (
133
+ !currentStepId ||
134
+ (customManifestsStepNeedsToBeFilled && isStepAfter(currentStepId, requiredStepId))
135
+ ) {
136
+ setCurrentStepId(requiredStepId);
137
+ }
138
+
139
+ setWizardStepIds(firstStepIds);
140
+ setClusterPermissions(cluster, permissions);
141
+ setCustomManifestsStep(!!uiSettings?.addCustomManifests);
142
+ }
143
+
144
+ if (
145
+ !!UISettingsError &&
146
+ !alerts.some((alert) => alert.title === "Couldn't retrieve UI settings")
147
+ ) {
148
+ addAlert({
149
+ title: "Couldn't retrieve UI settings",
150
+ message: UISettingsError,
151
+ variant: AlertVariant.warning,
152
+ });
133
153
  }
134
154
 
135
- setWizardStepIds(firstStepIds);
136
- setClusterPermissions(cluster, permissions);
137
- setAddCustomManifests(hasManifests);
138
155
  // eslint-disable-next-line react-hooks/exhaustive-deps
139
- }, [customManifests]);
156
+ }, [uiSettings, UISettingsLoading, UISettingsError]);
140
157
 
141
158
  const contextValue = React.useMemo<ClusterWizardContextType | null>(() => {
142
159
  if (!wizardStepIds || !currentStepId) {
@@ -152,7 +169,7 @@ const ClusterWizardContextProvider = ({
152
169
  const newStepIds = getWizardStepIds(
153
170
  wizardStepIds,
154
171
  staticIpInfo.view,
155
- addCustomManifests,
172
+ customManifestsStep,
156
173
  isSingleClusterFeatureEnabled,
157
174
  );
158
175
  setWizardStepIds(newStepIds);
@@ -165,8 +182,8 @@ const ClusterWizardContextProvider = ({
165
182
  setCurrentStepId(stepId);
166
183
  };
167
184
 
168
- const onSetAddCustomManifests = (addCustomManifest: boolean) => {
169
- setAddCustomManifests(addCustomManifest);
185
+ const onSetAddCustomManifestsStep = (addCustomManifest: boolean) => {
186
+ setCustomManifestsStep(addCustomManifest);
170
187
  setWizardStepIds(
171
188
  getWizardStepIds(
172
189
  wizardStepIds,
@@ -199,7 +216,7 @@ const ClusterWizardContextProvider = ({
199
216
  setCurrentStepId('static-ip-network-wide-configurations');
200
217
  }
201
218
  setWizardStepIds(
202
- getWizardStepIds(wizardStepIds, view, addCustomManifests, isSingleClusterFeatureEnabled),
219
+ getWizardStepIds(wizardStepIds, view, customManifestsStep, isSingleClusterFeatureEnabled),
203
220
  );
204
221
  },
205
222
  onUpdateHostNetworkConfigType(type: HostsNetworkConfigurationType): void {
@@ -208,7 +225,7 @@ const ClusterWizardContextProvider = ({
208
225
  getWizardStepIds(
209
226
  wizardStepIds,
210
227
  StaticIpView.FORM,
211
- addCustomManifests,
228
+ customManifestsStep,
212
229
  isSingleClusterFeatureEnabled,
213
230
  ),
214
231
  );
@@ -217,7 +234,7 @@ const ClusterWizardContextProvider = ({
217
234
  getWizardStepIds(
218
235
  wizardStepIds,
219
236
  'dhcp-selected',
220
- addCustomManifests,
237
+ customManifestsStep,
221
238
  isSingleClusterFeatureEnabled,
222
239
  ),
223
240
  );
@@ -226,25 +243,29 @@ const ClusterWizardContextProvider = ({
226
243
  wizardStepIds,
227
244
  currentStepId,
228
245
  setCurrentStepId: onSetCurrentStepId,
229
- addCustomManifests,
230
- setAddCustomManifests: onSetAddCustomManifests,
231
- customManifests,
246
+ customManifestsStep,
247
+ setCustomManifestsStep: onSetAddCustomManifestsStep,
232
248
  wizardPerPage,
233
249
  setWizardPerPage,
250
+ uiSettings,
251
+ updateUISettings,
234
252
  };
235
253
  }, [
236
254
  wizardStepIds,
237
255
  currentStepId,
238
256
  infraEnv,
239
- addCustomManifests,
240
- customManifests,
257
+ customManifestsStep,
241
258
  wizardPerPage,
242
259
  isSingleClusterFeatureEnabled,
243
260
  clearAlerts,
261
+ uiSettings,
262
+ updateUISettings,
244
263
  ]);
264
+
245
265
  if (!contextValue) {
246
266
  return null;
247
267
  }
268
+
248
269
  return (
249
270
  <>
250
271
  <ClusterWizardContext.Provider value={contextValue}>{children}</ClusterWizardContext.Provider>
@@ -171,8 +171,9 @@ const ClusterPageGeneric: React.FC<{ clusterId: string; showBreadcrumbs?: boolea
171
171
  <NewFeatureSupportLevelProvider
172
172
  loadingUi={<ClusterLoading />}
173
173
  cluster={cluster}
174
- cpuArchitecture={infraEnv.cpuArchitecture}
174
+ cpuArchitecture={infraEnv.cpuArchitecture as CpuArchitecture}
175
175
  openshiftVersion={cluster.openshiftVersion}
176
+ platformType={cluster.platform?.type}
176
177
  >
177
178
  {/* TODO(mlibra): Will be reworked within https://issues.redhat.com/browse/AGENT-522
178
179
  <RebootNodeZeroModal cluster={cluster} />
@@ -3,6 +3,7 @@ import {
3
3
  ActiveFeatureConfiguration,
4
4
  CpuArchitecture,
5
5
  FeatureId,
6
+ SupportedCpuArchitecture,
6
7
  getDefaultCpuArchitecture,
7
8
  } from '../../../common';
8
9
  import { useOpenshiftVersions, usePullSecret } from '../../hooks';
@@ -16,6 +17,7 @@ import {
16
17
  import useSupportLevelsAPI from '../../hooks/useSupportLevelsAPI';
17
18
  import {
18
19
  Cluster,
20
+ PlatformType,
19
21
  SupportLevel,
20
22
  SupportLevels,
21
23
  } from '@openshift-assisted/types/assisted-installer-service';
@@ -25,7 +27,8 @@ export type NewSupportLevelProviderProps = PropsWithChildren<{
25
27
  openshiftVersion?: string;
26
28
  loadingUi: React.ReactNode;
27
29
  cluster?: Cluster;
28
- cpuArchitecture?: string;
30
+ cpuArchitecture?: CpuArchitecture;
31
+ platformType?: PlatformType;
29
32
  }>;
30
33
 
31
34
  export const getFeatureSupported = (featureSupportLevels: SupportLevels, featureId: FeatureId) => {
@@ -38,6 +41,7 @@ export const NewFeatureSupportLevelProvider: React.FC<NewSupportLevelProviderPro
38
41
  loadingUi,
39
42
  cpuArchitecture,
40
43
  openshiftVersion,
44
+ platformType,
41
45
  }) => {
42
46
  const { loading: loadingOCPVersions } = useOpenshiftVersions();
43
47
  const pullSecret = usePullSecret();
@@ -50,7 +54,12 @@ export const NewFeatureSupportLevelProvider: React.FC<NewSupportLevelProviderPro
50
54
  pullSecret,
51
55
  cluster?.openshiftVersion,
52
56
  );
53
- const featureSupportLevels = useSupportLevelsAPI('features', openshiftVersion, cpuArchitecture);
57
+ const featureSupportLevels = useSupportLevelsAPI(
58
+ 'features',
59
+ openshiftVersion,
60
+ cpuArchitecture,
61
+ platformType,
62
+ );
54
63
 
55
64
  const supportLevelData = React.useMemo<NewFeatureSupportLevelMap>(() => {
56
65
  if (!featureSupportLevels) {
@@ -108,7 +117,8 @@ export const NewFeatureSupportLevelProvider: React.FC<NewSupportLevelProviderPro
108
117
  (
109
118
  featureId: FeatureId,
110
119
  supportLevelDataNew?: NewFeatureSupportLevelMap,
111
- cpuArchitecture?: string,
120
+ cpuArchitecture?: SupportedCpuArchitecture,
121
+ platformType?: PlatformType,
112
122
  ) => {
113
123
  const isSupported = isFeatureSupportedCallback(featureId, supportLevelDataNew);
114
124
  return getNewFeatureDisabledReason(
@@ -117,6 +127,7 @@ export const NewFeatureSupportLevelProvider: React.FC<NewSupportLevelProviderPro
117
127
  activeFeatureConfiguration,
118
128
  isSupported,
119
129
  cpuArchitecture,
130
+ platformType,
120
131
  );
121
132
  },
122
133
  [isFeatureSupportedCallback, cluster, activeFeatureConfiguration],
@@ -93,14 +93,7 @@ export const LimitedSupportedCluster = ({
93
93
  <>
94
94
  <InfoCircleIcon size="sm" color="var(--pf-global--info-color--100)" />
95
95
  &nbsp;Your cluster will be subject to support limitations because it includes:
96
- <TextList>
97
- {getPreviewFeatureList(clusterFeatureSupportLevels)}
98
- {clusterFeatureSupportLevels['CLUSTER_MANAGED_NETWORKING_WITH_VMS'] === 'unsupported' && (
99
- <TextListItem>
100
- Cluster-managed networking with some or all discovered hosts as virtual machines
101
- </TextListItem>
102
- )}
103
- </TextList>
96
+ <TextList>{getPreviewFeatureList(clusterFeatureSupportLevels)}</TextList>
104
97
  </>
105
98
  )}
106
99
  </TextContent>
@@ -7,7 +7,12 @@ import {
7
7
  SupportedCpuArchitecture,
8
8
  } from '../../../common';
9
9
  import { architectureData } from '../clusterConfiguration/CpuArchitectureDropdown';
10
- import { Cluster, SupportLevel } from '@openshift-assisted/types/assisted-installer-service';
10
+ import {
11
+ Cluster,
12
+ PlatformType,
13
+ SupportLevel,
14
+ } from '@openshift-assisted/types/assisted-installer-service';
15
+ import { ExternalPlatformLabels } from '../clusterConfiguration/platformIntegration/constants';
11
16
 
12
17
  const CNV_OPERATOR_LABEL = 'Openshift Virtualization';
13
18
  const LVMS_OPERATOR_LABEL = 'Logical Volume Manager Storage';
@@ -149,7 +154,8 @@ export const getNewFeatureDisabledReason = (
149
154
  cluster: Cluster | undefined,
150
155
  activeFeatureConfiguration: ActiveFeatureConfiguration,
151
156
  isSupported: boolean,
152
- cpuArchitecture?: string,
157
+ cpuArchitecture?: SupportedCpuArchitecture,
158
+ platformType?: PlatformType,
153
159
  ): string | undefined => {
154
160
  switch (featureId) {
155
161
  case 'SNO': {
@@ -171,7 +177,9 @@ export const getNewFeatureDisabledReason = (
171
177
  return getNetworkTypeSelectionDisabledReason(cluster);
172
178
  }
173
179
  case 'CLUSTER_MANAGED_NETWORKING': {
174
- return 'Cluster-managed networking is not supported for ARM architecture with this version of OpenShift.';
180
+ return `Cluster-managed networking is not supported when using ${
181
+ platformType ? ExternalPlatformLabels[platformType] : ''
182
+ }`;
175
183
  }
176
184
  case 'EXTERNAL_PLATFORM_OCI': {
177
185
  return getOciDisabledReason(cpuArchitecture, isSupported);
@@ -191,6 +199,13 @@ export const getNewFeatureDisabledReason = (
191
199
  return `Integration with vSphere is not available with the selected CPU architecture.`;
192
200
  }
193
201
  }
202
+ case 'USER_MANAGED_NETWORKING': {
203
+ if (!isSupported) {
204
+ return `User-Managed Networking is not supported when using ${
205
+ platformType ? ExternalPlatformLabels[platformType] : ''
206
+ }`;
207
+ }
208
+ }
194
209
  default: {
195
210
  return undefined;
196
211
  }
@@ -35,6 +35,7 @@ const HostRowDetailExpand = ({ obj: host }: ExpandComponentProps<Host>) => (
35
35
  key={host.id}
36
36
  host={host}
37
37
  AdditionalNTPSourcesDialogToggleComponent={AdditionalNTPSourcesDialogToggle}
38
+ hideStorage
38
39
  />
39
40
  );
40
41
 
@@ -4,3 +4,4 @@ export { default as useUsedClusterNames } from './useUsedClusterNames';
4
4
  export { default as useInfraEnvId } from './useInfraEnvId';
5
5
  export { default as usePullSecret } from './usePullSecret';
6
6
  export { default as useClusterPreflightRequirements } from './useClusterPreflightRequirements';
7
+ export { default as useUISettings } from './useUISettings';
@@ -3,17 +3,12 @@ import { CpuArchitecture, OpenshiftVersionOptionType } from '../../common';
3
3
  import { getApiErrorMessage, handleApiError } from '../api';
4
4
  import { SupportedOpenshiftVersionsAPI } from '../services/apis';
5
5
  import { getKeys } from '../../common/utils';
6
- import {
7
- Cluster,
8
- ImportClusterParams,
9
- OpenshiftVersion,
10
- } from '@openshift-assisted/types/assisted-installer-service';
6
+ import { Cluster, OpenshiftVersion } from '@openshift-assisted/types/assisted-installer-service';
11
7
 
12
8
  type OpenShiftVersion = Cluster['openshiftVersion'];
13
9
 
14
10
  type UseOpenshiftVersionsType = {
15
11
  versions: OpenshiftVersionOptionType[];
16
- normalizeClusterVersion: (version: OpenShiftVersion) => ImportClusterParams['openshiftVersion'];
17
12
  isSupportedOpenShiftVersion: (version: OpenShiftVersion) => boolean;
18
13
  getCpuArchitectures: (version: OpenShiftVersion) => CpuArchitecture[];
19
14
  error?: { title: string; message: string };
@@ -72,14 +67,6 @@ export default function useOpenshiftVersions(): UseOpenshiftVersionsType {
72
67
  }
73
68
  }, []);
74
69
 
75
- const normalizeClusterVersion = React.useCallback(
76
- (version: OpenShiftVersion) => {
77
- const matchingVersion = findVersionItemByVersion(version);
78
- return matchingVersion?.value || version;
79
- },
80
- [findVersionItemByVersion],
81
- );
82
-
83
70
  const isSupportedOpenShiftVersion = React.useCallback(
84
71
  (version: OpenShiftVersion) => {
85
72
  if (versions.length === 0) {
@@ -109,7 +96,6 @@ export default function useOpenshiftVersions(): UseOpenshiftVersionsType {
109
96
  error,
110
97
  loading: !error && versions.length === 0,
111
98
  versions,
112
- normalizeClusterVersion,
113
99
  isSupportedOpenShiftVersion,
114
100
  getCpuArchitectures,
115
101
  };