@openshift-assisted/ui-lib 2.9.8-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 (257) hide show
  1. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.d.ts +6 -1
  2. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.d.ts.map +1 -1
  3. package/build/@types/cim/components/ClusterDeployment/ClusterDetailsFormFields.d.ts.map +1 -1
  4. package/build/@types/cim/components/helpers/versions.d.ts +1 -0
  5. package/build/@types/cim/components/helpers/versions.d.ts.map +1 -1
  6. package/build/@types/common/api/accounts-management-service/current-account-api.d.ts +6 -0
  7. package/build/@types/common/api/accounts-management-service/current-account-api.d.ts.map +1 -0
  8. package/build/@types/common/api/accounts-management-service/organizations-api.d.ts +6 -0
  9. package/build/@types/common/api/accounts-management-service/organizations-api.d.ts.map +1 -0
  10. package/build/@types/common/api/assisted-service/UISettingsAPI.d.ts +8 -0
  11. package/build/@types/common/api/assisted-service/UISettingsAPI.d.ts.map +1 -0
  12. package/build/@types/common/api/assisted-service/index.d.ts +1 -0
  13. package/build/@types/common/api/assisted-service/index.d.ts.map +1 -1
  14. package/build/@types/common/api/authorization-service/all-apis.d.ts +7 -0
  15. package/build/@types/common/api/authorization-service/all-apis.d.ts.map +1 -0
  16. package/build/@types/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionControlGroup.d.ts.map +1 -1
  17. package/build/@types/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionMode.d.ts +3 -1
  18. package/build/@types/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionMode.d.ts.map +1 -1
  19. package/build/@types/common/components/clusterConfiguration/DiskEncryptionFields/TangServers.d.ts +3 -1
  20. package/build/@types/common/components/clusterConfiguration/DiskEncryptionFields/TangServers.d.ts.map +1 -1
  21. package/build/@types/common/components/clusterConfiguration/OpenShiftVersionSelect.d.ts +2 -0
  22. package/build/@types/common/components/clusterConfiguration/OpenShiftVersionSelect.d.ts.map +1 -1
  23. package/build/@types/common/components/clusterDetail/PostInstallAlert.d.ts +6 -0
  24. package/build/@types/common/components/clusterDetail/PostInstallAlert.d.ts.map +1 -0
  25. package/build/@types/common/components/clusterDetail/index.d.ts +1 -0
  26. package/build/@types/common/components/clusterDetail/index.d.ts.map +1 -1
  27. package/build/@types/common/components/clusterWizard/ReviewValidations.d.ts.map +1 -1
  28. package/build/@types/common/components/ui/NoPermissionsError.d.ts +3 -0
  29. package/build/@types/common/components/ui/NoPermissionsError.d.ts.map +1 -0
  30. package/build/@types/common/components/ui/formik/InputField.d.ts.map +1 -1
  31. package/build/@types/common/components/ui/formik/RichInputField.d.ts.map +1 -1
  32. package/build/@types/common/components/ui/formik/types.d.ts +2 -2
  33. package/build/@types/common/components/ui/formik/types.d.ts.map +1 -1
  34. package/build/@types/common/components/ui/index.d.ts +1 -0
  35. package/build/@types/common/components/ui/index.d.ts.map +1 -1
  36. package/build/@types/common/config/constants.d.ts.map +1 -1
  37. package/build/@types/common/features/featureGate.d.ts +1 -1
  38. package/build/@types/common/features/featureGate.d.ts.map +1 -1
  39. package/build/@types/common/types/cpuArchitecture.d.ts +1 -1
  40. package/build/@types/common/types/cpuArchitecture.d.ts.map +1 -1
  41. package/build/@types/ocm/components/AddHosts/AddHosts.d.ts.map +1 -1
  42. package/build/@types/ocm/components/AddHosts/InventoryAddHost.d.ts +1 -2
  43. package/build/@types/ocm/components/AddHosts/InventoryAddHost.d.ts.map +1 -1
  44. package/build/@types/ocm/components/AddHosts/day2Wizard/Day2ClusterDetails.d.ts.map +1 -1
  45. package/build/@types/ocm/components/AddHosts/day2Wizard/Day2StaticIpHostConfigurations.d.ts +3 -1
  46. package/build/@types/ocm/components/AddHosts/day2Wizard/Day2StaticIpHostConfigurations.d.ts.map +1 -1
  47. package/build/@types/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContent.d.ts.map +1 -1
  48. package/build/@types/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContentErrors.d.ts +1 -4
  49. package/build/@types/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContentErrors.d.ts.map +1 -1
  50. package/build/@types/ocm/components/clusterConfiguration/CpuArchitectureDropdown.d.ts +3 -2
  51. package/build/@types/ocm/components/clusterConfiguration/CpuArchitectureDropdown.d.ts.map +1 -1
  52. package/build/@types/ocm/components/clusterConfiguration/CustomManifestCheckbox.d.ts.map +1 -1
  53. package/build/@types/ocm/components/clusterConfiguration/OcmBaseDomainField.d.ts +2 -1
  54. package/build/@types/ocm/components/clusterConfiguration/OcmBaseDomainField.d.ts.map +1 -1
  55. package/build/@types/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.d.ts.map +1 -1
  56. package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/CustomManifestsPage.d.ts +1 -1
  57. package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/CustomManifestsPage.d.ts.map +1 -1
  58. package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsForm.d.ts.map +1 -1
  59. package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/utils.d.ts +3 -4
  60. package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/utils.d.ts.map +1 -1
  61. package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/data/dataTypes.d.ts +0 -1
  62. package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/data/dataTypes.d.ts.map +1 -1
  63. package/build/@types/ocm/components/clusterDetail/ClusterDetailStatusMessages.d.ts.map +1 -1
  64. package/build/@types/ocm/components/clusterWizard/ClusterDetails.d.ts.map +1 -1
  65. package/build/@types/ocm/components/clusterWizard/ClusterDetailsForm.d.ts +1 -2
  66. package/build/@types/ocm/components/clusterWizard/ClusterDetailsForm.d.ts.map +1 -1
  67. package/build/@types/ocm/components/clusterWizard/ClusterWizardContext.d.ts +5 -3
  68. package/build/@types/ocm/components/clusterWizard/ClusterWizardContext.d.ts.map +1 -1
  69. package/build/@types/ocm/components/clusterWizard/ClusterWizardContextProvider.d.ts.map +1 -1
  70. package/build/@types/ocm/components/ui/OcmFormFields.d.ts +1 -1
  71. package/build/@types/ocm/hooks/index.d.ts +1 -0
  72. package/build/@types/ocm/hooks/index.d.ts.map +1 -1
  73. package/build/@types/ocm/hooks/useOpenshiftVersions.d.ts +1 -2
  74. package/build/@types/ocm/hooks/useOpenshiftVersions.d.ts.map +1 -1
  75. package/build/@types/ocm/hooks/useSupportLevelsAPI.d.ts +4 -4
  76. package/build/@types/ocm/hooks/useSupportLevelsAPI.d.ts.map +1 -1
  77. package/build/@types/ocm/hooks/useUISettings.d.ts +10 -0
  78. package/build/@types/ocm/hooks/useUISettings.d.ts.map +1 -0
  79. package/build/@types/ocm/services/ClusterDetailsService.d.ts +2 -1
  80. package/build/@types/ocm/services/ClusterDetailsService.d.ts.map +1 -1
  81. package/build/@types/ocm/services/ClustersService.d.ts +0 -1
  82. package/build/@types/ocm/services/ClustersService.d.ts.map +1 -1
  83. package/build/@types/ocm/services/Day2ClusterService.d.ts +3 -2
  84. package/build/@types/ocm/services/Day2ClusterService.d.ts.map +1 -1
  85. package/build/@types/ocm/services/UISettingsService.d.ts +8 -0
  86. package/build/@types/ocm/services/UISettingsService.d.ts.map +1 -0
  87. package/build/@types/ocm/services/index.d.ts +1 -0
  88. package/build/@types/ocm/services/index.d.ts.map +1 -1
  89. package/build/@types/ocm/services/types.d.ts +4 -0
  90. package/build/@types/ocm/services/types.d.ts.map +1 -1
  91. package/build/cjs/cim/components/Agent/BMCForm.js +3 -3
  92. package/build/cjs/cim/components/Agent/BMCForm.js.map +1 -1
  93. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.js +9 -5
  94. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.js.map +1 -1
  95. package/build/cjs/cim/components/ClusterDeployment/ClusterDetailsFormFields.js +6 -2
  96. package/build/cjs/cim/components/ClusterDeployment/ClusterDetailsFormFields.js.map +1 -1
  97. package/build/cjs/cim/components/helpers/versions.js +3 -1
  98. package/build/cjs/cim/components/helpers/versions.js.map +1 -1
  99. package/build/cjs/common/api/accounts-management-service/access-token-api.js +1 -1
  100. package/build/cjs/common/api/accounts-management-service/current-account-api.js +17 -0
  101. package/build/cjs/common/api/accounts-management-service/current-account-api.js.map +1 -0
  102. package/build/cjs/common/api/accounts-management-service/organizations-api.js +19 -0
  103. package/build/cjs/common/api/accounts-management-service/organizations-api.js.map +1 -0
  104. package/build/cjs/common/api/assisted-service/UISettingsAPI.js +21 -0
  105. package/build/cjs/common/api/assisted-service/UISettingsAPI.js.map +1 -0
  106. package/build/cjs/common/api/assisted-service/index.js +3 -1
  107. package/build/cjs/common/api/assisted-service/index.js.map +1 -1
  108. package/build/cjs/common/api/authorization-service/all-apis.js +23 -0
  109. package/build/cjs/common/api/authorization-service/all-apis.js.map +1 -0
  110. package/build/cjs/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionControlGroup.js +1 -1
  111. package/build/cjs/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionControlGroup.js.map +1 -1
  112. package/build/cjs/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionMode.js +6 -4
  113. package/build/cjs/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionMode.js.map +1 -1
  114. package/build/cjs/common/components/clusterConfiguration/DiskEncryptionFields/TangServers.js +5 -3
  115. package/build/cjs/common/components/clusterConfiguration/DiskEncryptionFields/TangServers.js.map +1 -1
  116. package/build/cjs/common/components/clusterConfiguration/OpenShiftVersionSelect.js +2 -2
  117. package/build/cjs/common/components/clusterConfiguration/OpenShiftVersionSelect.js.map +1 -1
  118. package/build/cjs/common/components/clusterDetail/PostInstallAlert.js +16 -0
  119. package/build/cjs/common/components/clusterDetail/PostInstallAlert.js.map +1 -0
  120. package/build/cjs/common/components/clusterDetail/index.js +3 -1
  121. package/build/cjs/common/components/clusterDetail/index.js.map +1 -1
  122. package/build/cjs/common/components/clusterWizard/ReviewValidations.js +3 -0
  123. package/build/cjs/common/components/clusterWizard/ReviewValidations.js.map +1 -1
  124. package/build/cjs/common/components/ui/NoPermissionsError.js +14 -0
  125. package/build/cjs/common/components/ui/NoPermissionsError.js.map +1 -0
  126. package/build/cjs/common/components/ui/formik/InputField.js +5 -5
  127. package/build/cjs/common/components/ui/formik/InputField.js.map +1 -1
  128. package/build/cjs/common/components/ui/formik/RichInputField.js +5 -2
  129. package/build/cjs/common/components/ui/formik/RichInputField.js.map +1 -1
  130. package/build/cjs/common/components/ui/formik/SelectField.js +1 -1
  131. package/build/cjs/common/components/ui/formik/SelectField.js.map +1 -1
  132. package/build/cjs/common/components/ui/index.js +3 -1
  133. package/build/cjs/common/components/ui/index.js.map +1 -1
  134. package/build/cjs/common/config/constants.js +1 -0
  135. package/build/cjs/common/config/constants.js.map +1 -1
  136. package/build/cjs/common/features/featureGate.js +1 -3
  137. package/build/cjs/common/features/featureGate.js.map +1 -1
  138. package/build/cjs/common/types/cpuArchitecture.js +5 -9
  139. package/build/cjs/common/types/cpuArchitecture.js.map +1 -1
  140. package/build/cjs/ocm/components/AddHosts/AddHosts.js +1 -2
  141. package/build/cjs/ocm/components/AddHosts/AddHosts.js.map +1 -1
  142. package/build/cjs/ocm/components/AddHosts/InventoryAddHost.js +2 -2
  143. package/build/cjs/ocm/components/AddHosts/InventoryAddHost.js.map +1 -1
  144. package/build/cjs/ocm/components/AddHosts/day2Wizard/Day2ClusterDetails.js +4 -4
  145. package/build/cjs/ocm/components/AddHosts/day2Wizard/Day2ClusterDetails.js.map +1 -1
  146. package/build/cjs/ocm/components/AddHosts/day2Wizard/Day2StaticIpHostConfigurations.js +7 -6
  147. package/build/cjs/ocm/components/AddHosts/day2Wizard/Day2StaticIpHostConfigurations.js.map +1 -1
  148. package/build/cjs/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContent.js +3 -20
  149. package/build/cjs/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContent.js.map +1 -1
  150. package/build/cjs/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContentErrors.js +1 -13
  151. package/build/cjs/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContentErrors.js.map +1 -1
  152. package/build/cjs/ocm/components/clusterConfiguration/CpuArchitectureDropdown.js +24 -3
  153. package/build/cjs/ocm/components/clusterConfiguration/CpuArchitectureDropdown.js.map +1 -1
  154. package/build/cjs/ocm/components/clusterConfiguration/CustomManifestCheckbox.js +22 -32
  155. package/build/cjs/ocm/components/clusterConfiguration/CustomManifestCheckbox.js.map +1 -1
  156. package/build/cjs/ocm/components/clusterConfiguration/OcmBaseDomainField.js +7 -5
  157. package/build/cjs/ocm/components/clusterConfiguration/OcmBaseDomainField.js.map +1 -1
  158. package/build/cjs/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.js +3 -4
  159. package/build/cjs/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.js.map +1 -1
  160. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/CustomManifestsPage.js +6 -12
  161. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/CustomManifestsPage.js.map +1 -1
  162. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifests.js +2 -2
  163. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifests.js.map +1 -1
  164. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsArray.js +1 -1
  165. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsArray.js.map +1 -1
  166. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsForm.js +49 -123
  167. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsForm.js.map +1 -1
  168. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/ExpandedManifest.js +1 -0
  169. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/ExpandedManifest.js.map +1 -1
  170. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/utils.js +14 -19
  171. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/utils.js.map +1 -1
  172. package/build/cjs/ocm/components/clusterDetail/ClusterDetailStatusMessages.js +2 -7
  173. package/build/cjs/ocm/components/clusterDetail/ClusterDetailStatusMessages.js.map +1 -1
  174. package/build/cjs/ocm/components/clusterWizard/ClusterDetails.js +5 -12
  175. package/build/cjs/ocm/components/clusterWizard/ClusterDetails.js.map +1 -1
  176. package/build/cjs/ocm/components/clusterWizard/ClusterDetailsForm.js +18 -13
  177. package/build/cjs/ocm/components/clusterWizard/ClusterDetailsForm.js.map +1 -1
  178. package/build/cjs/ocm/components/clusterWizard/ClusterWizardContext.js.map +1 -1
  179. package/build/cjs/ocm/components/clusterWizard/ClusterWizardContextProvider.js +45 -36
  180. package/build/cjs/ocm/components/clusterWizard/ClusterWizardContextProvider.js.map +1 -1
  181. package/build/cjs/ocm/hooks/index.js +3 -1
  182. package/build/cjs/ocm/hooks/index.js.map +1 -1
  183. package/build/cjs/ocm/hooks/useOpenshiftVersions.js +0 -5
  184. package/build/cjs/ocm/hooks/useOpenshiftVersions.js.map +1 -1
  185. package/build/cjs/ocm/hooks/useSupportLevelsAPI.js +34 -1
  186. package/build/cjs/ocm/hooks/useSupportLevelsAPI.js.map +1 -1
  187. package/build/cjs/ocm/hooks/useUISettings.js +62 -0
  188. package/build/cjs/ocm/hooks/useUISettings.js.map +1 -0
  189. package/build/cjs/ocm/services/ClusterDetailsService.js +2 -2
  190. package/build/cjs/ocm/services/ClusterDetailsService.js.map +1 -1
  191. package/build/cjs/ocm/services/ClustersService.js +0 -8
  192. package/build/cjs/ocm/services/ClustersService.js.map +1 -1
  193. package/build/cjs/ocm/services/Day2ClusterService.js +13 -4
  194. package/build/cjs/ocm/services/Day2ClusterService.js.map +1 -1
  195. package/build/cjs/ocm/services/UISettingsService.js +18 -0
  196. package/build/cjs/ocm/services/UISettingsService.js.map +1 -0
  197. package/build/cjs/ocm/services/index.js +3 -1
  198. package/build/cjs/ocm/services/index.js.map +1 -1
  199. package/lib/cim/components/Agent/BMCForm.tsx +3 -3
  200. package/lib/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.tsx +17 -5
  201. package/lib/cim/components/ClusterDeployment/ClusterDetailsFormFields.tsx +9 -2
  202. package/lib/cim/components/helpers/versions.ts +5 -0
  203. package/lib/common/api/accounts-management-service/access-token-api.ts +1 -1
  204. package/lib/common/api/accounts-management-service/current-account-api.ts +13 -0
  205. package/lib/common/api/accounts-management-service/organizations-api.ts +15 -0
  206. package/lib/common/api/assisted-service/UISettingsAPI.ts +24 -0
  207. package/lib/common/api/assisted-service/index.ts +1 -0
  208. package/lib/common/api/authorization-service/all-apis.ts +28 -0
  209. package/lib/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionControlGroup.tsx +5 -1
  210. package/lib/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionMode.tsx +27 -16
  211. package/lib/common/components/clusterConfiguration/DiskEncryptionFields/TangServers.tsx +27 -17
  212. package/lib/common/components/clusterConfiguration/OpenShiftVersionSelect.tsx +4 -1
  213. package/lib/common/components/clusterDetail/PostInstallAlert.tsx +29 -0
  214. package/lib/common/components/clusterDetail/index.ts +1 -0
  215. package/lib/common/components/clusterWizard/ReviewValidations.tsx +3 -0
  216. package/lib/common/components/ui/NoPermissionsError.tsx +19 -0
  217. package/lib/common/components/ui/formik/InputField.tsx +4 -5
  218. package/lib/common/components/ui/formik/RichInputField.tsx +6 -2
  219. package/lib/common/components/ui/formik/SelectField.tsx +1 -1
  220. package/lib/common/components/ui/formik/types.ts +2 -1
  221. package/lib/common/components/ui/index.ts +1 -0
  222. package/lib/common/config/constants.ts +1 -0
  223. package/lib/common/features/featureGate.tsx +0 -4
  224. package/lib/common/types/cpuArchitecture.ts +3 -8
  225. package/lib/ocm/components/AddHosts/AddHosts.tsx +1 -3
  226. package/lib/ocm/components/AddHosts/InventoryAddHost.tsx +2 -8
  227. package/lib/ocm/components/AddHosts/day2Wizard/Day2ClusterDetails.tsx +6 -11
  228. package/lib/ocm/components/AddHosts/day2Wizard/Day2StaticIpHostConfigurations.tsx +34 -19
  229. package/lib/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContent.tsx +4 -36
  230. package/lib/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContentErrors.tsx +1 -15
  231. package/lib/ocm/components/clusterConfiguration/CpuArchitectureDropdown.tsx +58 -3
  232. package/lib/ocm/components/clusterConfiguration/CustomManifestCheckbox.tsx +25 -32
  233. package/lib/ocm/components/clusterConfiguration/OcmBaseDomainField.tsx +23 -12
  234. package/lib/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.tsx +4 -5
  235. package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/CustomManifestsPage.tsx +20 -27
  236. package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifests.tsx +3 -3
  237. package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsArray.tsx +2 -2
  238. package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsForm.tsx +69 -182
  239. package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/ExpandedManifest.tsx +1 -1
  240. package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/utils.tsx +9 -15
  241. package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/data/dataTypes.ts +0 -1
  242. package/lib/ocm/components/clusterDetail/ClusterDetailStatusMessages.tsx +2 -16
  243. package/lib/ocm/components/clusterWizard/ClusterDetails.tsx +9 -16
  244. package/lib/ocm/components/clusterWizard/ClusterDetailsForm.tsx +18 -16
  245. package/lib/ocm/components/clusterWizard/ClusterWizardContext.tsx +5 -3
  246. package/lib/ocm/components/clusterWizard/ClusterWizardContextProvider.tsx +75 -54
  247. package/lib/ocm/hooks/index.ts +1 -0
  248. package/lib/ocm/hooks/useOpenshiftVersions.tsx +1 -15
  249. package/lib/ocm/hooks/useSupportLevelsAPI.ts +54 -2
  250. package/lib/ocm/hooks/useUISettings.ts +71 -0
  251. package/lib/ocm/services/ClusterDetailsService.ts +3 -1
  252. package/lib/ocm/services/ClustersService.ts +0 -10
  253. package/lib/ocm/services/Day2ClusterService.ts +17 -3
  254. package/lib/ocm/services/UISettingsService.ts +17 -0
  255. package/lib/ocm/services/index.ts +1 -0
  256. package/lib/ocm/services/types.ts +5 -0
  257. package/package.json +3 -3
@@ -8,18 +8,12 @@ import Day2DiscoveryImageModalButton from './day2Wizard/Day2DiscoveryImageModalB
8
8
  import Day2Wizard from './day2Wizard/Day2Wizard';
9
9
  import { Cluster } from '@openshift-assisted/types/assisted-installer-service';
10
10
 
11
- const InventoryAddHosts = ({
12
- cluster,
13
- canSelectCpuArch,
14
- }: {
15
- cluster?: Cluster;
16
- canSelectCpuArch?: boolean;
17
- }) => {
11
+ const InventoryAddHosts = ({ cluster }: { cluster?: Cluster }) => {
18
12
  if (!cluster) {
19
13
  return null;
20
14
  }
21
15
 
22
- const showArmOnlyAlert = !canSelectCpuArch && cluster.cpuArchitecture === CpuArchitecture.ARM;
16
+ const showArmOnlyAlert = cluster.cpuArchitecture === CpuArchitecture.ARM;
23
17
  return (
24
18
  <Stack hasGutter>
25
19
  <StackItem>
@@ -12,7 +12,6 @@ import {
12
12
  HOW_TO_KNOW_IF_CLUSTER_SUPPORTS_MULTIPLE_CPU_ARCHS,
13
13
  LoadingState,
14
14
  SupportedCpuArchitecture,
15
- useFeature,
16
15
  } from '../../../../common';
17
16
  import { HostsNetworkConfigurationType, InfraEnvsService } from '../../../services';
18
17
  import { useModalDialogsContext } from '../../hosts/ModalDialogsContext';
@@ -86,7 +85,6 @@ const Day2ClusterDetails = () => {
86
85
  const [initialValues, setInitialValues] = React.useState<Day2ClusterDetailValues | null>(null);
87
86
  const [isSubmitting, setSubmitting] = React.useState(false);
88
87
  const [isAlternativeCpuSelected, setIsAlternativeCpuSelected] = React.useState(false);
89
- const canSelectCpuArch = useFeature('ASSISTED_INSTALLER_MULTIARCH_SUPPORTED');
90
88
  const { getCpuArchitectures } = useOpenshiftVersions();
91
89
  const cpuArchitecturesByVersionImage = getCpuArchitectures(day2Cluster.openshiftVersion);
92
90
  const day1CpuArchitecture = mapClusterCpuArchToInfraEnvCpuArch(day2Cluster.cpuArchitecture);
@@ -94,13 +92,8 @@ const Day2ClusterDetails = () => {
94
92
  const pullSecret = usePullSecret();
95
93
 
96
94
  const cpuArchitectures = React.useMemo(
97
- () =>
98
- getSupportedCpuArchitectures(
99
- canSelectCpuArch,
100
- cpuArchitecturesByVersionImage,
101
- day1CpuArchitecture,
102
- ),
103
- [canSelectCpuArch, cpuArchitecturesByVersionImage, day1CpuArchitecture],
95
+ () => getSupportedCpuArchitectures(cpuArchitecturesByVersionImage, day1CpuArchitecture),
96
+ [cpuArchitecturesByVersionImage, day1CpuArchitecture],
104
97
  );
105
98
  React.useEffect(() => {
106
99
  const fetchAndSetInitialValues = async () => {
@@ -227,6 +220,7 @@ const Day2ClusterDetails = () => {
227
220
  day1CpuArchitecture={initialValues.cpuArchitecture}
228
221
  cpuArchitectures={cpuArchitectures}
229
222
  onChange={(value) => handleChangeCpuArchitectureDropdown(value, initialValues)}
223
+ platformType={day2Cluster.platform?.type}
230
224
  />
231
225
  </GridItem>
232
226
  {isAlternativeCpuSelected && (
@@ -246,9 +240,10 @@ const Day2ClusterDetails = () => {
246
240
  </Alert>
247
241
  </GridItem>
248
242
  )}
249
-
250
243
  <GridItem>
251
- <Day2HostStaticIpConfigurations />
244
+ <Day2HostStaticIpConfigurations
245
+ isDisabled={day2Cluster.platform?.type === 'oci'}
246
+ />
252
247
  </GridItem>
253
248
  </Grid>
254
249
  </Form>
@@ -1,13 +1,21 @@
1
1
  import React from 'react';
2
- import { Flex, FlexItem, FormGroup, TextContent, TextVariants, Text } from '@patternfly/react-core';
2
+ import {
3
+ Flex,
4
+ FlexItem,
5
+ FormGroup,
6
+ TextContent,
7
+ TextVariants,
8
+ Text,
9
+ Tooltip,
10
+ } from '@patternfly/react-core';
3
11
  import { useFormikContext } from 'formik';
4
12
  import { HostsNetworkConfigurationType } from '../../../services';
5
- import { getFieldId, RadioField } from '../../../../common';
13
+ import { RadioField, getFieldId } from '../../../../common';
6
14
  import { Day2ClusterDetailValues } from '../types';
7
15
 
8
16
  const GROUP_NAME = 'hostsNetworkConfigurationType';
9
17
 
10
- const Day2HostStaticIpConfigurations = () => {
18
+ const Day2HostStaticIpConfigurations = ({ isDisabled }: { isDisabled: boolean }) => {
11
19
  const { setFieldValue } = useFormikContext<Day2ClusterDetailValues>();
12
20
 
13
21
  const onChangeNetworkType = (event: React.ChangeEvent<HTMLInputElement>) => {
@@ -25,22 +33,29 @@ const Day2HostStaticIpConfigurations = () => {
25
33
  isInline
26
34
  onChange={onChangeNetworkType}
27
35
  >
28
- <Flex>
29
- <FlexItem key={HostsNetworkConfigurationType.DHCP}>
30
- <RadioField
31
- name={GROUP_NAME}
32
- value={HostsNetworkConfigurationType.DHCP}
33
- label="DHCP only"
34
- />
35
- </FlexItem>
36
- <FlexItem key={HostsNetworkConfigurationType.STATIC}>
37
- <RadioField
38
- name={GROUP_NAME}
39
- value={HostsNetworkConfigurationType.STATIC}
40
- label="Static IP, bridges, and bonds"
41
- />
42
- </FlexItem>
43
- </Flex>
36
+ <Tooltip
37
+ hidden={!isDisabled}
38
+ content="This cluster is using the Oracle cloud platform which allows only DHCP for the hosts' network configuration"
39
+ >
40
+ <Flex>
41
+ <FlexItem key={HostsNetworkConfigurationType.DHCP}>
42
+ <RadioField
43
+ name={GROUP_NAME}
44
+ value={HostsNetworkConfigurationType.DHCP}
45
+ label="DHCP only"
46
+ isDisabled={isDisabled}
47
+ />
48
+ </FlexItem>
49
+ <FlexItem key={HostsNetworkConfigurationType.STATIC}>
50
+ <RadioField
51
+ name={GROUP_NAME}
52
+ value={HostsNetworkConfigurationType.STATIC}
53
+ label="Static IP, bridges, and bonds"
54
+ isDisabled={isDisabled}
55
+ />
56
+ </FlexItem>
57
+ </Flex>
58
+ </Tooltip>
44
59
  </FormGroup>
45
60
  );
46
61
  };
@@ -7,7 +7,7 @@ import {
7
7
  LoadingState,
8
8
  POLLING_INTERVAL,
9
9
  } from '../../../common';
10
- import { useOpenshiftVersions, usePullSecret } from '../../hooks';
10
+ import { usePullSecret } from '../../hooks';
11
11
  import { Button, EmptyStateVariant } from '@patternfly/react-core';
12
12
  import Day2ClusterService, { getApiVipDnsName } from '../../services/Day2ClusterService';
13
13
  import { handleApiError } from '../../api';
@@ -19,7 +19,6 @@ import {
19
19
  AddHostsApiError,
20
20
  ReloadFailedError,
21
21
  UnableToAddHostsError,
22
- UnsupportedVersionError,
23
22
  } from './HostsClusterDetailTabContentErrors';
24
23
  import useInfraEnv from '../../hooks/useInfraEnv';
25
24
  import { mapOcmArchToCpuArchitecture } from '../../services/CpuArchitectureService';
@@ -32,13 +31,7 @@ export const HostsClusterDetailTabContent = ({
32
31
  const [error, setError] = React.useState<ReactNode>();
33
32
  const [day2Cluster, setDay2Cluster] = useStateSafely<Cluster | null>(null);
34
33
  const pullSecret = usePullSecret();
35
- const {
36
- getCpuArchitectures,
37
- normalizeClusterVersion,
38
- loading: areOpenshiftVersionsLoading,
39
- } = useOpenshiftVersions();
40
34
 
41
- const cpuArchitecturesByVersionImage = getCpuArchitectures(ocmCluster.openshift_version);
42
35
  const handleClickTryAgainLink = React.useCallback(() => {
43
36
  setError(undefined);
44
37
  setDay2Cluster(null);
@@ -65,18 +58,7 @@ export const HostsClusterDetailTabContent = ({
65
58
  setError(<UnableToAddHostsError onTryAgain={handleClickTryAgainLink} />);
66
59
  }
67
60
 
68
- if (!areOpenshiftVersionsLoading && !day2Cluster && pullSecret) {
69
- const normalizedVersion = normalizeClusterVersion(ocmCluster.openshift_version);
70
- if (!normalizedVersion) {
71
- setError(
72
- <UnsupportedVersionError
73
- version={ocmCluster.openshift_version}
74
- onTryAgain={handleClickTryAgainLink}
75
- />,
76
- );
77
- return;
78
- }
79
-
61
+ if (!day2Cluster && pullSecret) {
80
62
  const { apiVipDnsname, errorType } = getApiVipDnsName(ocmCluster);
81
63
  if (errorType) {
82
64
  const wrongUrlMessage =
@@ -102,11 +84,7 @@ export const HostsClusterDetailTabContent = ({
102
84
 
103
85
  const loadDay2Cluster = async () => {
104
86
  try {
105
- const day2Cluster = await Day2ClusterService.fetchCluster(
106
- ocmCluster,
107
- pullSecret,
108
- normalizedVersion,
109
- );
87
+ const day2Cluster = await Day2ClusterService.fetchCluster(ocmCluster, pullSecret);
110
88
 
111
89
  const aiCluster = Day2ClusterService.completeAiClusterWithOcmCluster(
112
90
  day2Cluster,
@@ -130,17 +108,7 @@ export const HostsClusterDetailTabContent = ({
130
108
 
131
109
  void loadDay2Cluster();
132
110
  }
133
- }, [
134
- ocmCluster,
135
- pullSecret,
136
- day2Cluster,
137
- setDay2Cluster,
138
- isVisible,
139
- normalizeClusterVersion,
140
- handleClickTryAgainLink,
141
- cpuArchitecturesByVersionImage,
142
- areOpenshiftVersionsLoading,
143
- ]);
111
+ }, [ocmCluster, pullSecret, day2Cluster, setDay2Cluster, isVisible, handleClickTryAgainLink]);
144
112
 
145
113
  const refreshCluster = React.useCallback(async () => {
146
114
  if (!day2Cluster?.id) {
@@ -19,20 +19,6 @@ const UnableToAddHostsError = ({ onTryAgain }: TryAgainProps) => {
19
19
  );
20
20
  };
21
21
 
22
- const UnsupportedVersionError = ({ version, onTryAgain }: { version: string } & TryAgainProps) => {
23
- return (
24
- <>
25
- Unsupported OpenShift cluster version: {version || 'N/A'}.
26
- <br />
27
- Check your connection and{' '}
28
- <Button variant={'link'} isInline onClick={onTryAgain}>
29
- try again
30
- </Button>
31
- .
32
- </>
33
- );
34
- };
35
-
36
22
  const ReloadFailedError = ({ onTryAgain }: TryAgainProps) => {
37
23
  return (
38
24
  <>
@@ -63,4 +49,4 @@ const AddHostsApiError = ({ isImport, onTryAgain }: { isImport: boolean } & TryA
63
49
  );
64
50
  };
65
51
 
66
- export { AddHostsApiError, UnsupportedVersionError, UnableToAddHostsError, ReloadFailedError };
52
+ export { AddHostsApiError, UnableToAddHostsError, ReloadFailedError };
@@ -1,9 +1,18 @@
1
1
  import React from 'react';
2
- import { Dropdown, DropdownItem, DropdownToggle, FormGroup } from '@patternfly/react-core';
2
+ import {
3
+ Dropdown,
4
+ DropdownItem,
5
+ DropdownToggle,
6
+ FormGroup,
7
+ Split,
8
+ SplitItem,
9
+ Tooltip,
10
+ } from '@patternfly/react-core';
3
11
  import { CaretDownIcon } from '@patternfly/react-icons';
4
12
  import { useField } from 'formik';
5
13
  import {
6
14
  CpuArchitecture,
15
+ FeatureId,
7
16
  getDefaultCpuArchitecture,
8
17
  getFieldId,
9
18
  SupportedCpuArchitecture,
@@ -11,7 +20,14 @@ import {
11
20
  import {
12
21
  ArchitectureSupportLevelId,
13
22
  Cluster,
23
+ PlatformType,
14
24
  } from '@openshift-assisted/types/assisted-installer-service';
25
+ import {
26
+ NewFeatureSupportLevelMap,
27
+ useNewFeatureSupportLevel,
28
+ } from '../../../common/components/newFeatureSupportLevels';
29
+ import useSupportLevelsAPI from '../../hooks/useSupportLevelsAPI';
30
+ import { ExternalPlaformIds, ExternalPlatformLabels } from './platformIntegration/constants';
15
31
 
16
32
  export type CpuArchitectureItem = {
17
33
  description: string;
@@ -57,6 +73,7 @@ type CpuArchitectureDropdownProps = {
57
73
  day1CpuArchitecture?: SupportedCpuArchitecture;
58
74
  cpuArchitectures: SupportedCpuArchitecture[];
59
75
  onChange?: (value: string) => void;
76
+ platformType?: PlatformType;
60
77
  };
61
78
 
62
79
  const CpuArchitectureDropdown = ({
@@ -64,7 +81,10 @@ const CpuArchitectureDropdown = ({
64
81
  day1CpuArchitecture,
65
82
  cpuArchitectures,
66
83
  onChange,
84
+ platformType,
67
85
  }: CpuArchitectureDropdownProps) => {
86
+ const newFeatureSupportLevelContext = useNewFeatureSupportLevel();
87
+
68
88
  const [field, { value: selectedCpuArchitecture }, { setValue }] =
69
89
  useField<SupportedCpuArchitecture>(INPUT_NAME);
70
90
 
@@ -75,21 +95,56 @@ const CpuArchitectureDropdown = ({
75
95
  day1CpuArchitecture ? architectureData[day1CpuArchitecture].label : CpuArchitecture.x86,
76
96
  );
77
97
 
98
+ const supportLevelDataForAllCpuArchs = useSupportLevelsAPI(
99
+ 'featureForAllCpus',
100
+ openshiftVersion,
101
+ undefined,
102
+ platformType,
103
+ cpuArchitectures,
104
+ );
105
+
78
106
  const enabledItems = React.useMemo(() => {
79
107
  if (cpuArchitectures !== undefined) {
80
108
  return cpuArchitectures.map((cpuArch) => {
109
+ let isCpuSupported = true;
110
+ if (supportLevelDataForAllCpuArchs) {
111
+ const featureSupportLevelData = supportLevelDataForAllCpuArchs[
112
+ cpuArch
113
+ ] as NewFeatureSupportLevelMap;
114
+ isCpuSupported = newFeatureSupportLevelContext.isFeatureSupported(
115
+ ExternalPlaformIds[platformType ? platformType : 'baremetal'] as FeatureId,
116
+ featureSupportLevelData ?? undefined,
117
+ );
118
+ }
119
+
120
+ const disabledReason = `This cluster is using the ${
121
+ platformType ? ExternalPlatformLabels[platformType] : ''
122
+ } platform which doesn't allow this CPU architecture.`;
81
123
  return (
82
124
  <DropdownItem
83
125
  key={cpuArch}
84
126
  id={cpuArch}
85
127
  description={cpuArch ? architectureData[cpuArch].description : ''}
128
+ isAriaDisabled={!isCpuSupported}
86
129
  >
87
- {cpuArch ? architectureData[cpuArch].label : ''}
130
+ <Split>
131
+ <SplitItem>
132
+ <Tooltip hidden={isCpuSupported} content={disabledReason} position="top">
133
+ <div>{cpuArch ? architectureData[cpuArch].label : ''}</div>
134
+ </Tooltip>
135
+ </SplitItem>
136
+ <SplitItem isFilled />
137
+ </Split>
88
138
  </DropdownItem>
89
139
  );
90
140
  });
91
141
  }
92
- }, [cpuArchitectures]);
142
+ }, [
143
+ cpuArchitectures,
144
+ supportLevelDataForAllCpuArchs,
145
+ newFeatureSupportLevelContext,
146
+ platformType,
147
+ ]);
93
148
 
94
149
  const onSelect = React.useCallback(
95
150
  (event?: React.SyntheticEvent<HTMLDivElement>) => {
@@ -5,8 +5,8 @@ import { getFieldId, HelperText, PopoverIcon } from '../../../common';
5
5
  import { OcmCheckbox } from '../ui/OcmFormFields';
6
6
  import { useClusterWizardContext } from '../clusterWizard/ClusterWizardContext';
7
7
  import DeleteCustomManifestModal from './manifestsConfiguration/DeleteCustomManifestModal';
8
- import useClusterCustomManifests from '../../hooks/useClusterCustomManifests';
9
8
  import { ClustersService } from '../../services';
9
+ import { ClustersAPI } from '../../services/apis';
10
10
 
11
11
  const Label = () => {
12
12
  return (
@@ -27,49 +27,42 @@ const Label = () => {
27
27
  type CustomManifestCheckboxProps = { clusterId: string; isDisabled: boolean };
28
28
 
29
29
  const CustomManifestCheckbox = ({ clusterId, isDisabled }: CustomManifestCheckboxProps) => {
30
- const [{ name }, , { setValue }] = useField('addCustomManifest');
30
+ const [{ name }, { value }, { setValue }] = useField<boolean>('addCustomManifest');
31
31
  const fieldId = getFieldId(name, 'input');
32
32
  const clusterWizardContext = useClusterWizardContext();
33
- const { customManifests } = useClusterCustomManifests(clusterId, false);
34
33
  const [isDeleteCustomManifestsOpen, setDeleteCustomManifestsOpen] = React.useState(false);
35
- const [manifestsRemoved, setManifestsRemoved] = React.useState(false);
36
- const cleanCustomManifests = React.useCallback(() => {
34
+
35
+ const cleanCustomManifests = React.useCallback(async () => {
36
+ const { data: manifests } = await ClustersAPI.getManifests(clusterId);
37
+ void ClustersService.removeClusterManifests(manifests, clusterId);
38
+
37
39
  setValue(false);
38
- clusterWizardContext.setAddCustomManifests(false);
40
+ clusterWizardContext.setCustomManifestsStep(false);
39
41
  setDeleteCustomManifestsOpen(false);
40
- setManifestsRemoved(true);
41
- //if cluster exists remove existing cluster manifests
42
- if (clusterId && customManifests) {
43
- void ClustersService.removeClusterManifests(customManifests, clusterId);
44
- }
45
- }, [clusterWizardContext, setValue, clusterId, customManifests]);
42
+ await clusterWizardContext.updateUISettings({
43
+ addCustomManifests: false,
44
+ customManifestsAdded: false,
45
+ });
46
+ }, [clusterWizardContext, setValue, clusterId]);
46
47
 
47
- const onChanged = React.useCallback(
48
+ const onChange = React.useCallback(
48
49
  (checked: boolean) => {
49
- if (!checked) {
50
- //For new clusters is not necessary to show the delete modal
51
- if (clusterId) setDeleteCustomManifestsOpen(true);
52
- else {
53
- cleanCustomManifests();
54
- }
55
- } else {
56
- setValue(checked);
57
- setManifestsRemoved(false);
58
- clusterWizardContext.setAddCustomManifests(checked);
50
+ if (!checked && clusterWizardContext.uiSettings?.customManifestsAdded) {
51
+ setDeleteCustomManifestsOpen(true);
59
52
  }
53
+
54
+ setValue(checked);
55
+ clusterWizardContext.setCustomManifestsStep(checked);
60
56
  },
61
- [setValue, clusterWizardContext, setDeleteCustomManifestsOpen, cleanCustomManifests, clusterId],
57
+ [setValue, clusterWizardContext, setDeleteCustomManifestsOpen],
62
58
  );
63
59
 
64
60
  const onClose = React.useCallback(() => {
65
61
  setValue(true);
66
- clusterWizardContext.setAddCustomManifests(true);
62
+ clusterWizardContext.setCustomManifestsStep(true);
67
63
  setDeleteCustomManifestsOpen(false);
68
- setManifestsRemoved(false);
69
64
  }, [clusterWizardContext, setValue]);
70
65
 
71
- const customManifestsActivated =
72
- clusterWizardContext.addCustomManifests || (customManifests && customManifests.length > 0);
73
66
  return (
74
67
  <>
75
68
  <FormGroup id={`form-control__${fieldId}`} isInline fieldId={fieldId}>
@@ -84,18 +77,18 @@ const CustomManifestCheckbox = ({ clusterId, isDisabled }: CustomManifestCheckbo
84
77
  the cluster.
85
78
  </HelperText>
86
79
  }
87
- onChange={(checked: boolean) => onChanged(checked)}
80
+ onChange={onChange}
88
81
  className="with-tooltip"
89
- isChecked={manifestsRemoved ? false : customManifestsActivated}
82
+ isChecked={value}
90
83
  isDisabled={isDisabled}
91
84
  />
92
85
  <DeleteCustomManifestModal
93
86
  isOpen={isDeleteCustomManifestsOpen}
94
87
  onClose={onClose}
95
- onDelete={() => cleanCustomManifests()}
88
+ onDelete={() => void cleanCustomManifests()}
96
89
  />
97
90
  </FormGroup>
98
- {customManifestsActivated && (
91
+ {value && (
99
92
  <Alert isInline variant="info" title={'This is an advanced configuration feature.'}>
100
93
  Custom manifests will be added to the wizard as a new step.
101
94
  </Alert>
@@ -1,10 +1,11 @@
1
1
  import React from 'react';
2
- import { Dropdown, DropdownItem, DropdownToggle, FormGroup } from '@patternfly/react-core';
2
+ import { Dropdown, DropdownItem, DropdownToggle, FormGroup, Tooltip } from '@patternfly/react-core';
3
3
  import { useField, useFormikContext } from 'formik';
4
4
  import { ClusterDetailsValues, HelperText, getFieldId } from '../../../common';
5
5
  import { CaretDownIcon } from '@patternfly/react-icons';
6
6
  import { OcmCheckboxField, OcmInputField } from '../ui/OcmFormFields';
7
7
  import { ManagedDomain } from '@openshift-assisted/types/assisted-installer-service';
8
+ import { clusterExistsReason } from '../featureSupportLevels/featureStateUtils';
8
9
 
9
10
  const INPUT_NAME = 'baseDnsDomain';
10
11
  const INPUT_LABEL = 'Base domain';
@@ -21,15 +22,22 @@ export const BaseDnsHelperText = ({
21
22
  baseDnsDomain?: string;
22
23
  }) => (
23
24
  <HelperText fieldId={fieldId}>
24
- All DNS records must be subdomains of this base and include the cluster name. This cannot be
25
- changed after cluster installation. The full cluster address will be: <br />
25
+ Enter the name of your local host [localhost] or [localhost.com]. This cannot be changed after
26
+ creation. All DNS records must include the cluster name and be subdomains of the base you enter.
27
+ The full cluster address will be: <br />
26
28
  <strong>
27
- {name || '[Cluster Name]'}.{baseDnsDomain || '[example.com]'}
29
+ {name || '[Cluster Name]'}.{baseDnsDomain || '[localhost.com]'}
28
30
  </strong>
29
31
  </HelperText>
30
32
  );
31
33
 
32
- export const OcmBaseDomainField = ({ managedDomains }: { managedDomains: ManagedDomain[] }) => {
34
+ export const OcmBaseDomainField = ({
35
+ managedDomains,
36
+ clusterExists,
37
+ }: {
38
+ managedDomains: ManagedDomain[];
39
+ clusterExists: boolean;
40
+ }) => {
33
41
  const [, { value }, { setValue }] = useField<string>(INPUT_NAME);
34
42
  const { values } = useFormikContext<ClusterDetailsValues>();
35
43
  const { name, baseDnsDomain, useRedHatDnsService } = values;
@@ -72,12 +80,15 @@ export const OcmBaseDomainField = ({ managedDomains }: { managedDomains: Managed
72
80
  return (
73
81
  <>
74
82
  {!!managedDomains.length && toggleRedHatDnsService && (
75
- <OcmCheckboxField
76
- name="useRedHatDnsService"
77
- label="Use a temporary 60-day domain"
78
- helperText="A base domain will be provided for temporary, non-production clusters."
79
- onChange={toggleRedHatDnsService}
80
- />
83
+ <Tooltip content={clusterExistsReason} hidden={!clusterExists}>
84
+ <OcmCheckboxField
85
+ name="useRedHatDnsService"
86
+ label="Use a temporary 60-day domain"
87
+ helperText="A base domain will be provided for temporary, non-production clusters."
88
+ onChange={toggleRedHatDnsService}
89
+ isDisabled={clusterExists}
90
+ />
91
+ </Tooltip>
81
92
  )}
82
93
  <FormGroup
83
94
  id={`form-control__${fieldId}`}
@@ -98,7 +109,7 @@ export const OcmBaseDomainField = ({ managedDomains }: { managedDomains: Managed
98
109
  ) : (
99
110
  <OcmInputField
100
111
  name={INPUT_NAME}
101
- placeholder="example.com"
112
+ placeholder="localhost.com"
102
113
  isDisabled={useRedHatDnsService}
103
114
  isRequired
104
115
  />
@@ -66,7 +66,6 @@ export const OcmClusterDetailsFormFields = ({
66
66
 
67
67
  const { t } = useTranslation();
68
68
  const isSingleClusterFeatureEnabled = useFeature('ASSISTED_INSTALLER_SINGLE_CLUSTER_FEATURE');
69
- const isMultiArchSupported = useFeature('ASSISTED_INSTALLER_MULTIARCH_SUPPORTED');
70
69
  const isOracleCloudPlatformIntegrationEnabled = useFeature('ASSISTED_INSTALLER_PLATFORM_OCI');
71
70
  const { openshiftVersion, platform } = values;
72
71
  const { getCpuArchitectures } = useOpenshiftVersions();
@@ -78,8 +77,8 @@ export const OcmClusterDetailsFormFields = ({
78
77
  values.cpuArchitecture as SupportedCpuArchitecture,
79
78
  );
80
79
  const cpuArchitectures = React.useMemo(
81
- () => getSupportedCpuArchitectures(isMultiArchSupported, cpuArchitecturesByVersionImage),
82
- [cpuArchitecturesByVersionImage, isMultiArchSupported],
80
+ () => getSupportedCpuArchitectures(cpuArchitecturesByVersionImage),
81
+ [cpuArchitecturesByVersionImage],
83
82
  );
84
83
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
85
84
  // @ts-ignore
@@ -96,7 +95,7 @@ export const OcmClusterDetailsFormFields = ({
96
95
  const isOracleSelected = selectedPlatform === 'oci';
97
96
  if (isOracleSelected) {
98
97
  setFieldValue('addCustomManifest', isOracleSelected, false);
99
- clusterWizardContext.setAddCustomManifests(isOracleSelected);
98
+ clusterWizardContext.setCustomManifestsStep(isOracleSelected);
100
99
  setFieldValue('hostsNetworkConfigurationType', HostsNetworkConfigurationType.DHCP);
101
100
  }
102
101
  },
@@ -130,7 +129,7 @@ export const OcmClusterDetailsFormFields = ({
130
129
  maxLength={CLUSTER_NAME_MAX_LENGTH}
131
130
  />
132
131
 
133
- <OcmBaseDomainField managedDomains={managedDomains} />
132
+ <OcmBaseDomainField managedDomains={managedDomains} clusterExists={clusterExists} />
134
133
 
135
134
  {/* TODO(mlibra): For single-cluster: We will probably change this to just a static text */}
136
135
  {forceOpenshiftVersion ? (
@@ -7,33 +7,26 @@ import { CustomManifestFormState } from './components/propTypes';
7
7
 
8
8
  export const CustomManifestsPage = ({
9
9
  cluster,
10
- onFormStateChange: onFormStateChangeParent,
10
+ onFormStateChange,
11
11
  }: {
12
12
  cluster: Cluster;
13
13
  onFormStateChange(formState: CustomManifestFormState): void;
14
- }) => {
15
- const onFormStateChange = (formState: CustomManifestFormState) => {
16
- const hasFilledData = !formState.isEmpty;
17
- hasFilledData && onFormStateChangeParent(formState);
18
- };
19
-
20
- return (
21
- <Grid hasGutter>
22
- <TextContent>
23
- <Text component={TextVariants.h2}>Custom manifests</Text>
24
- <Text component={TextVariants.small}>
25
- Upload additional manifests that will be applied at the install time for advanced
26
- configuration of the cluster.
27
- </Text>
28
- </TextContent>
29
- <Alert
30
- isInline
31
- variant="warning"
32
- title={
33
- 'No validation is performed for the custom manifest contents. Only include resources that are necessary for initial setup to reduce the chance of installation failures.'
34
- }
35
- />
36
- <CustomManifests cluster={cluster} onFormStateChange={onFormStateChange} />
37
- </Grid>
38
- );
39
- };
14
+ }) => (
15
+ <Grid hasGutter>
16
+ <TextContent>
17
+ <Text component={TextVariants.h2}>Custom manifests</Text>
18
+ <Text component={TextVariants.small}>
19
+ Upload additional manifests that will be applied at the install time for advanced
20
+ configuration of the cluster.
21
+ </Text>
22
+ </TextContent>
23
+ <Alert
24
+ isInline
25
+ variant="warning"
26
+ title={
27
+ 'No validation is performed for the custom manifest contents. Only include resources that are necessary for initial setup to reduce the chance of installation failures.'
28
+ }
29
+ />
30
+ <CustomManifests cluster={cluster} onFormStateChange={onFormStateChange} />
31
+ </Grid>
32
+ );
@@ -3,7 +3,7 @@ import { ListManifestsExtended } from '../data/dataTypes';
3
3
  import { CustomManifestsFormProps, CustomManifestFormState } from './propTypes';
4
4
  import { getFormViewManifestsValidationSchema } from './customManifestsValidationSchema';
5
5
  import { CustomManifestsForm } from './CustomManifestsForm';
6
- import { getEmptyFormViewManifestsValues, getFormViewManifestValues } from './utils';
6
+ import { getEmptyManifestsValues, getManifestValues } from './utils';
7
7
  import { Cluster } from '@openshift-assisted/types/assisted-installer-service';
8
8
 
9
9
  export const CustomManifests = ({
@@ -21,9 +21,9 @@ export const CustomManifests = ({
21
21
  validationSchema: getFormViewManifestsValidationSchema,
22
22
 
23
23
  getInitialValues: (customManifests: ListManifestsExtended) => {
24
- return getFormViewManifestValues(customManifests);
24
+ return getManifestValues(customManifests);
25
25
  },
26
- getEmptyValues: () => getEmptyFormViewManifestsValues(),
26
+ getEmptyValues: () => getEmptyManifestsValues(),
27
27
  showEmptyValues: true,
28
28
  cluster: cluster,
29
29
  });