@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
@@ -6,27 +6,26 @@ import {
6
6
  FieldArrayRenderProps,
7
7
  Formik,
8
8
  FormikConfig,
9
- FormikErrors,
10
- FormikHelpers,
11
9
  useFormikContext,
12
10
  yupToFormErrors,
13
11
  } from 'formik';
14
12
  import isEqual from 'lodash-es/isEqual.js';
15
- import { ErrorState, LoadingState, useAlerts, useFormikAutoSave } from '../../../../../common';
16
- import { CustomManifestsFormProps } from './propTypes';
17
13
  import {
18
- CustomManifestValues,
19
- FormViewManifestFolder,
20
- ListManifestsExtended,
21
- ManifestExtended,
22
- ManifestFormData,
23
- } from '../data/dataTypes';
24
- import { getApiErrorMessage, handleApiError } from '../../../../api';
14
+ ErrorState,
15
+ LoadingState,
16
+ getApiErrorMessage,
17
+ handleApiError,
18
+ useAlerts,
19
+ useFormikAutoSave,
20
+ } from '../../../../../common';
21
+ import { CustomManifestsFormProps } from './propTypes';
22
+ import { CustomManifestValues, ManifestFormData } from '../data/dataTypes';
25
23
  import useClusterCustomManifests from '../../../../hooks/useClusterCustomManifests';
26
24
  import { ClustersService } from '../../../../services';
27
25
  import { CustomManifestsArray } from './CustomManifestsArray';
28
- import { getManifestFakeId } from './utils';
29
26
  import { selectCurrentClusterPermissionsState } from '../../../../store/slices/current-cluster/selectors';
27
+ import { useClusterWizardContext } from '../../../clusterWizard/ClusterWizardContext';
28
+ import { ClustersAPI } from '../../../../services/apis';
30
29
 
31
30
  const fieldName = 'manifests';
32
31
 
@@ -53,55 +52,12 @@ const AutosaveWithParentUpdate = ({
53
52
  return null;
54
53
  };
55
54
 
56
- const getManifestDetails = (
57
- updatedManifest: CustomManifestValues,
58
- ): {
59
- folderName: FormViewManifestFolder;
60
- fileName: string | undefined;
61
- } => {
62
- const existingFolderByFakeId = updatedManifest.fakeId?.substring(
63
- 0,
64
- updatedManifest.fakeId.indexOf('#'),
65
- );
66
- const existingFolder: FormViewManifestFolder =
67
- existingFolderByFakeId === 'manifests' || existingFolderByFakeId === 'openshift'
68
- ? existingFolderByFakeId
69
- : 'manifests';
70
- const existingFileName = updatedManifest.fakeId?.substring(
71
- updatedManifest.fakeId.indexOf('#') + 1,
55
+ const manifestUpdated = (manifest: CustomManifestValues, oldManifest: CustomManifestValues) => {
56
+ return (
57
+ oldManifest.filename !== manifest.filename ||
58
+ oldManifest.folder !== manifest.folder ||
59
+ oldManifest.manifestYaml !== manifest.manifestYaml
72
60
  );
73
-
74
- return {
75
- folderName: existingFolder,
76
- fileName: existingFileName,
77
- };
78
- };
79
-
80
- const handleApiErrorInForm = (
81
- manifests: CustomManifestValues[],
82
- manifestsThatExists: CustomManifestValues[],
83
- actions: FormikHelpers<ManifestFormData>,
84
- ) => {
85
- const errors: FormikErrors<ManifestFormData> = {};
86
- errors.manifests = [];
87
- manifests.forEach((manifest) => {
88
- (errors.manifests as FormikErrors<CustomManifestValues>[]).push({
89
- fakeId: manifest.fakeId,
90
- folder: '',
91
- filename: '',
92
- manifestYaml: '',
93
- });
94
- });
95
- errors.manifests.forEach((errorManifest) => {
96
- manifestsThatExists.forEach((updatedManifest) => {
97
- if ((errorManifest as CustomManifestValues).fakeId === updatedManifest.fakeId) {
98
- (errorManifest as CustomManifestValues).manifestYaml =
99
- 'Failed to update the existing manifest';
100
- }
101
- });
102
- });
103
-
104
- actions.setErrors(errors);
105
61
  };
106
62
 
107
63
  export const CustomManifestsForm = ({
@@ -115,142 +71,73 @@ export const CustomManifestsForm = ({
115
71
  const [initialValues, setInitialValues] = React.useState<ManifestFormData | undefined>();
116
72
  const { addAlert, clearAlerts } = useAlerts();
117
73
  const { customManifests, isLoading, error } = useClusterCustomManifests(cluster.id || '', true);
118
- const customManifestsLocalRef = React.useRef<ListManifestsExtended | undefined>();
74
+ const customManifestsLocalRef = React.useRef<CustomManifestValues[]>([]);
75
+ const { updateUISettings, uiSettings } = useClusterWizardContext();
119
76
 
120
77
  React.useEffect(() => {
121
- if (customManifests) {
122
- setInitialValues(getInitialValues(customManifests));
123
- customManifestsLocalRef.current = customManifests;
78
+ if (customManifests && !customManifestsLocalRef.current.length) {
79
+ const initValues = getInitialValues(customManifests);
80
+ setInitialValues(initValues);
81
+ customManifestsLocalRef.current = !!customManifests.length ? initValues.manifests : [];
124
82
  }
125
83
  }, [customManifests, getInitialValues]);
126
84
 
127
- const updateCustomManifestsLocal = React.useCallback(
128
- (updatedManifests: CustomManifestValues[], newValuesAdded: boolean) => {
129
- if (newValuesAdded) {
130
- updatedManifests.forEach((updatedManifest) => {
131
- const customManifest: ManifestExtended = {
132
- folder: updatedManifest.folder,
133
- fileName: updatedManifest.filename,
134
- yamlContent: updatedManifest.manifestYaml,
135
- };
136
- customManifestsLocalRef.current?.push(customManifest);
137
- });
138
- } else {
139
- customManifestsLocalRef.current?.forEach((customManifest) => {
140
- const updatedManifest: CustomManifestValues | undefined = updatedManifests.find(
141
- (updatedManifest) =>
142
- getManifestFakeId(
143
- customManifest.folder || 'manifests',
144
- customManifest.fileName || '',
145
- ) === updatedManifest.fakeId || '',
146
- );
147
-
148
- if (updatedManifest) {
149
- customManifest.folder = updatedManifest.folder;
150
- customManifest.fileName = updatedManifest.filename;
151
- customManifest.yamlContent = updatedManifest.manifestYaml;
152
- }
153
- });
154
- }
155
- },
156
- [customManifestsLocalRef],
157
- );
158
-
159
- const removeCustomManifestFromLocal = React.useCallback(
160
- (manifests: CustomManifestValues[]) => {
161
- if (customManifestsLocalRef.current) {
162
- const customManifestsLocalCopy = [...customManifestsLocalRef.current].filter(
163
- (customManifest) => {
164
- return !manifests.some((manifest) => {
165
- return (
166
- customManifest.folder === manifest.folder &&
167
- customManifest.fileName === manifest.filename &&
168
- customManifest.yamlContent === manifest.manifestYaml
169
- );
170
- });
171
- },
172
- );
173
- if (customManifestsLocalCopy.length > 0) {
174
- customManifestsLocalRef.current.splice(
175
- customManifestsLocalRef.current.findIndex(
176
- (manifest) =>
177
- manifest.folder === customManifestsLocalCopy[0].folder &&
178
- manifest.fileName === customManifestsLocalCopy[0].fileName,
179
- ),
180
- 1,
181
- );
182
- }
183
- }
184
- },
185
- [customManifestsLocalRef],
186
- );
187
-
188
85
  const handleSubmit: FormikConfig<ManifestFormData>['onSubmit'] = React.useCallback(
189
- async (values, actions) => {
190
- clearAlerts();
191
- actions.setSubmitting(true);
192
- const manifests = values.manifests;
193
- const manifestsModified = manifests.filter(
194
- (manifest) =>
195
- !customManifestsLocalRef.current?.some(
196
- (customManifest) =>
197
- customManifest.folder === manifest.folder &&
198
- customManifest.fileName === manifest.filename &&
199
- customManifest.yamlContent === manifest.manifestYaml,
200
- ),
201
- );
202
- if (cluster && manifestsModified.length > 0) {
203
- //See if manifests exists previously to make a patch or create a new one
204
- const manifestsThatExists = manifestsModified.filter((manifest) => manifest.fakeId !== '');
205
- const newManifestsToCreate = manifestsModified.filter((manifest) => manifest.fakeId === '');
206
- try {
207
- const manifestsRequests = manifestsThatExists.map((updatedManifest) => {
208
- const { folderName, fileName } = getManifestDetails(updatedManifest);
86
+ async ({ manifests }, actions) => {
87
+ if (manifests.length < customManifestsLocalRef.current.length) {
88
+ // submit was triggered by deleting a manifest
209
89
 
210
- const existingManifest: CustomManifestValues = {
211
- folder: folderName,
212
- filename: fileName || '',
213
- manifestYaml: '',
90
+ customManifestsLocalRef.current = manifests;
91
+ return;
92
+ } else {
93
+ clearAlerts();
94
+ actions.setSubmitting(true);
95
+
96
+ for (let index = 0; index < manifests.length; index++) {
97
+ try {
98
+ const manifest = manifests[index];
99
+ if (index >= (customManifestsLocalRef.current?.length || 0)) {
100
+ // manifest added
101
+ await ClustersAPI.createCustomManifest(
102
+ cluster.id,
103
+ ClustersService.transformFormViewManifest(manifest),
104
+ );
105
+ } else {
106
+ // manifest updated
107
+ const oldManifest = customManifestsLocalRef.current[index];
108
+
109
+ if (manifestUpdated(manifest, oldManifest)) {
110
+ await ClustersService.updateCustomManifest(oldManifest, manifest, cluster.id);
111
+ }
112
+ }
113
+ } catch (error) {
114
+ const errorArray = new Array(manifests.length).fill(undefined);
115
+ errorArray.splice(index, 1, { manifestYaml: 'Failed to save changes' });
116
+
117
+ const errors = {
118
+ manifests: errorArray,
214
119
  };
215
-
216
- return ClustersService.updateCustomManifest(
217
- existingManifest,
218
- updatedManifest,
219
- cluster?.id,
120
+ actions.setErrors(errors);
121
+
122
+ // handleApiErrorInForm(manifests, customManifestsLocalRef.current, actions);
123
+ handleApiError(error, () =>
124
+ addAlert({
125
+ title: 'Failed to update the custom manifests',
126
+ message: getApiErrorMessage(error),
127
+ }),
220
128
  );
221
- });
222
- await Promise.all(manifestsRequests);
223
- if (newManifestsToCreate.length > 0) {
224
- await ClustersService.createClusterManifests(newManifestsToCreate, cluster?.id);
225
- updateCustomManifestsLocal(newManifestsToCreate, true);
226
129
  }
130
+ }
227
131
 
228
- if (customManifestsLocalRef.current && manifestsThatExists.length > 0) {
229
- updateCustomManifestsLocal(manifestsThatExists, false);
230
- }
231
- } catch (e) {
232
- handleApiErrorInForm(manifests, manifestsThatExists, actions);
233
- handleApiError(e, () =>
234
- addAlert({
235
- title: 'Failed to update the custom manifests',
236
- message: getApiErrorMessage(e),
237
- }),
238
- );
239
- } finally {
240
- actions.setSubmitting(false);
132
+ customManifestsLocalRef.current = manifests;
133
+ if (!uiSettings?.customManifestsAdded) {
134
+ await updateUISettings({ customManifestsAdded: true });
241
135
  }
242
- } else {
243
- removeCustomManifestFromLocal(manifests);
136
+
137
+ actions.setSubmitting(false);
244
138
  }
245
139
  },
246
- [
247
- addAlert,
248
- clearAlerts,
249
- cluster,
250
- customManifestsLocalRef,
251
- updateCustomManifestsLocal,
252
- removeCustomManifestFromLocal,
253
- ],
140
+ [clearAlerts, uiSettings?.customManifestsAdded, cluster.id, addAlert, updateUISettings],
254
141
  );
255
142
 
256
143
  const onSubmit = isViewerMode ? () => Promise.resolve() : handleSubmit;
@@ -50,7 +50,7 @@ const ExpandedManifest = ({ fieldName, manifestIdx }: CustomManifestComponentPro
50
50
  )}.`}
51
51
  label={
52
52
  <>
53
- <span>File name</span>
53
+ <span>File name</span>{' '}
54
54
  <PopoverIcon
55
55
  bodyContent={
56
56
  'File name determines order of executing manifests during the installation. For example "manifest1.yaml" will be applied before "manifest2.yaml"'
@@ -8,25 +8,24 @@ export const getFormData = (manifests: ListManifestsExtended): ManifestFormData
8
8
  };
9
9
  };
10
10
 
11
- export const getEmptyFormViewManifest = (): CustomManifestValues => {
11
+ export const getEmptyManifest = (): CustomManifestValues => {
12
12
  return {
13
13
  folder: 'manifests',
14
14
  filename: '',
15
15
  manifestYaml: '',
16
- fakeId: '',
17
16
  };
18
17
  };
19
18
 
20
- export const getFormViewManifestValues = (manifests: ListManifestsExtended): ManifestFormData => {
21
- const formData = getFormData(manifests);
22
- if (!formData.manifests.length) {
23
- return { manifests: [getEmptyFormViewManifest()] };
19
+ export const getManifestValues = (manifests: ListManifestsExtended): ManifestFormData => {
20
+ if (!!manifests.length) {
21
+ return getFormData(manifests);
22
+ } else {
23
+ return getEmptyManifestsValues();
24
24
  }
25
- return { manifests: formData.manifests };
26
25
  };
27
26
 
28
- export const getEmptyFormViewManifestsValues = (): ManifestFormData => {
29
- return { manifests: [getEmptyFormViewManifest()] };
27
+ export const getEmptyManifestsValues = (): ManifestFormData => {
28
+ return { manifests: [getEmptyManifest()] };
30
29
  };
31
30
 
32
31
  export const getClusterCustomManifests = (
@@ -37,13 +36,8 @@ export const getClusterCustomManifests = (
37
36
  folder: manifest.folder || 'manifests',
38
37
  filename: manifest.fileName || '',
39
38
  manifestYaml: manifest.yamlContent || '',
40
- fakeId: getManifestFakeId(manifest.folder || 'manifests', manifest.fileName || ''),
41
39
  }));
42
40
  } else {
43
- return [getEmptyFormViewManifest()];
41
+ return [getEmptyManifest()];
44
42
  }
45
43
  };
46
-
47
- export const getManifestFakeId = (folder: string, fileName: string): string => {
48
- return `${folder}#${fileName}`;
49
- };
@@ -6,7 +6,6 @@ export type CustomManifestValues = {
6
6
  folder: FormViewManifestFolder;
7
7
  filename: string;
8
8
  manifestYaml: string;
9
- fakeId?: string;
10
9
  };
11
10
 
12
11
  export interface ManifestFormData {
@@ -1,12 +1,13 @@
1
1
  import React from 'react';
2
2
  import { useFormikContext } from 'formik';
3
3
  import { useSelector } from 'react-redux';
4
- import { Alert, AlertVariant, Grid, Tooltip } from '@patternfly/react-core';
4
+ import { Grid, Tooltip } from '@patternfly/react-core';
5
5
  import { VirtualIPControlGroup, VirtualIPControlGroupProps } from './VirtualIPControlGroup';
6
6
  import {
7
7
  canBeDualStack,
8
8
  canSelectNetworkTypeSDN,
9
9
  clusterNetworksEqual,
10
+ CpuArchitecture,
10
11
  DUAL_STACK,
11
12
  HostSubnets,
12
13
  isSNO,
@@ -27,12 +28,15 @@ import { OcmCheckbox } from '../../ui/OcmFormFields';
27
28
  import { NetworkTypeControlGroup } from '../../../../common/components/clusterWizard/networkingSteps/NetworkTypeControlGroup';
28
29
  import {
29
30
  NewFeatureSupportLevelData,
31
+ NewFeatureSupportLevelMap,
30
32
  useNewFeatureSupportLevel,
31
33
  } from '../../../../common/components/newFeatureSupportLevels';
32
34
  import {
33
35
  Cluster,
34
36
  ClusterDefaultConfig,
37
+ PlatformType,
35
38
  } from '@openshift-assisted/types/assisted-installer-service';
39
+ import useSupportLevelsAPI from '../../../hooks/useSupportLevelsAPI';
36
40
 
37
41
  export type NetworkConfigurationProps = VirtualIPControlGroupProps & {
38
42
  hostSubnets: HostSubnets;
@@ -74,15 +78,30 @@ const getManagedNetworkingDisabledReason = (
74
78
  }
75
79
  };
76
80
 
77
- const getUserManagedDisabledReason = (featureSupportLevelData: NewFeatureSupportLevelData) => {
78
- if (!featureSupportLevelData.isFeatureSupported('USER_MANAGED_NETWORKING')) {
79
- return featureSupportLevelData.getFeatureDisabledReason('USER_MANAGED_NETWORKING');
81
+ const getUserManagedDisabledReason = (
82
+ featureSupportLevelContext: NewFeatureSupportLevelData,
83
+ platformType?: PlatformType,
84
+ featureSupportLevelMap?: NewFeatureSupportLevelMap | null,
85
+ ) => {
86
+ if (!featureSupportLevelContext.isFeatureSupported('USER_MANAGED_NETWORKING')) {
87
+ return featureSupportLevelContext.getFeatureDisabledReason(
88
+ 'USER_MANAGED_NETWORKING',
89
+ featureSupportLevelMap ?? undefined,
90
+ undefined,
91
+ platformType,
92
+ );
80
93
  }
81
94
  };
82
95
 
83
- const getClusterManagedDisabledReason = (featureSupportLevelData: NewFeatureSupportLevelData) => {
84
- if (!featureSupportLevelData.isFeatureSupported('CLUSTER_MANAGED_NETWORKING')) {
85
- return featureSupportLevelData.getFeatureDisabledReason('CLUSTER_MANAGED_NETWORKING');
96
+ const getClusterManagedDisabledReason = (
97
+ featureSupportLevelContext: NewFeatureSupportLevelData,
98
+ featureSupportLevelMap?: NewFeatureSupportLevelMap | null,
99
+ ) => {
100
+ if (!featureSupportLevelContext.isFeatureSupported('CLUSTER_MANAGED_NETWORKING')) {
101
+ return featureSupportLevelContext.getFeatureDisabledReason(
102
+ 'CLUSTER_MANAGED_NETWORKING',
103
+ featureSupportLevelMap ?? undefined,
104
+ );
86
105
  }
87
106
  };
88
107
 
@@ -90,6 +109,8 @@ const getManagedNetworkingState = (
90
109
  isDualStack: boolean,
91
110
  isOracleCloudInfrastructure: boolean,
92
111
  featureSupportLevelData: NewFeatureSupportLevelData,
112
+ platformType?: PlatformType,
113
+ featureSupportLevelMap?: NewFeatureSupportLevelMap | null,
93
114
  ): {
94
115
  isDisabled: boolean;
95
116
  clusterManagedDisabledReason?: string;
@@ -100,8 +121,15 @@ const getManagedNetworkingState = (
100
121
  isOracleCloudInfrastructure,
101
122
  featureSupportLevelData,
102
123
  );
103
- const cmnReason = getClusterManagedDisabledReason(featureSupportLevelData);
104
- const umnReason = getUserManagedDisabledReason(featureSupportLevelData);
124
+ const cmnReason = getClusterManagedDisabledReason(
125
+ featureSupportLevelData,
126
+ featureSupportLevelMap,
127
+ );
128
+ const umnReason = getUserManagedDisabledReason(
129
+ featureSupportLevelData,
130
+ platformType,
131
+ featureSupportLevelMap,
132
+ );
105
133
 
106
134
  return {
107
135
  isDisabled: !!(cmnReason || umnReason || networkingReason),
@@ -116,7 +144,13 @@ const NetworkConfiguration = ({
116
144
  isVipDhcpAllocationDisabled,
117
145
  defaultNetworkSettings,
118
146
  }: NetworkConfigurationProps) => {
119
- const featureSupportLevelData = useNewFeatureSupportLevel();
147
+ const featureSupportLevelContext = useNewFeatureSupportLevel();
148
+ const featureSupportLevelData = useSupportLevelsAPI(
149
+ 'features',
150
+ cluster.openshiftVersion,
151
+ cluster.cpuArchitecture as CpuArchitecture,
152
+ cluster.platform?.type,
153
+ );
120
154
  const { isViewerMode } = useSelector(selectCurrentClusterPermissionsState);
121
155
  const { setFieldValue, values, validateField } = useFormikContext<NetworkConfigurationValues>();
122
156
 
@@ -194,9 +228,11 @@ const NetworkConfiguration = ({
194
228
  getManagedNetworkingState(
195
229
  isDualStack,
196
230
  cluster.platform?.type === 'oci',
231
+ featureSupportLevelContext,
232
+ cluster.platform?.type,
197
233
  featureSupportLevelData,
198
234
  ),
199
- [isDualStack, cluster.platform?.type, featureSupportLevelData],
235
+ [isDualStack, cluster.platform?.type, featureSupportLevelContext, featureSupportLevelData],
200
236
  );
201
237
 
202
238
  return (
@@ -214,19 +250,6 @@ const NetworkConfiguration = ({
214
250
  />
215
251
  )}
216
252
 
217
- {!isUserManagedNetworking &&
218
- !featureSupportLevelData.isFeatureSupported('CLUSTER_MANAGED_NETWORKING_WITH_VMS') && (
219
- <Alert
220
- title="Your cluster will be subject to support limitations"
221
- variant={AlertVariant.info}
222
- isInline={true}
223
- data-testid="networking-vms-alert"
224
- >
225
- Some or all of your discovered hosts are virtual machines, so selecting the
226
- cluster-managed networking option will limit your installed cluster's support.
227
- </Alert>
228
- )}
229
-
230
253
  {(isSNOCluster || !isUserManagedNetworking) && (
231
254
  <StackTypeControlGroup
232
255
  clusterId={cluster.id}
@@ -255,7 +278,7 @@ const NetworkConfiguration = ({
255
278
  <VirtualIPControlGroup
256
279
  cluster={cluster}
257
280
  isVipDhcpAllocationDisabled={isVipDhcpAllocationDisabled}
258
- supportLevel={featureSupportLevelData.getFeatureSupportLevel('VIP_AUTO_ALLOC')}
281
+ supportLevel={featureSupportLevelContext.getFeatureSupportLevel('VIP_AUTO_ALLOC')}
259
282
  />
260
283
  )}
261
284
 
@@ -12,7 +12,13 @@ import {
12
12
  } from '@patternfly/react-core';
13
13
  import { CaretDownIcon } from '@patternfly/react-icons';
14
14
  import { useField } from 'formik';
15
- import { CpuArchitecture, DeveloperPreview, FeatureId, getFieldId } from '../../../../common';
15
+ import {
16
+ CpuArchitecture,
17
+ DeveloperPreview,
18
+ FeatureId,
19
+ SupportedCpuArchitecture,
20
+ getFieldId,
21
+ } from '../../../../common';
16
22
  import { ExternalPlaformIds, ExternalPlatformLabels, ExternalPlatformLinks } from './constants';
17
23
  import { PlatformType } from '@openshift-assisted/types/assisted-installer-service';
18
24
  import {
@@ -20,6 +26,7 @@ import {
20
26
  NewFeatureSupportLevelMap,
21
27
  useNewFeatureSupportLevel,
22
28
  } from '../../../../common/components/newFeatureSupportLevels';
29
+ import { architectureData } from '../CpuArchitectureDropdown';
23
30
 
24
31
  const INPUT_NAME = 'platform';
25
32
  const fieldId = getFieldId(INPUT_NAME, 'input');
@@ -27,7 +34,7 @@ const fieldId = getFieldId(INPUT_NAME, 'input');
27
34
  type ExternalPlatformDropdownProps = {
28
35
  showOciOption: boolean;
29
36
  onChange: (selectedPlatform: PlatformType) => void;
30
- cpuArchitecture?: string;
37
+ cpuArchitecture?: SupportedCpuArchitecture;
31
38
  featureSupportLevelData: NewFeatureSupportLevelMap | null;
32
39
  isSNO: boolean;
33
40
  };
@@ -43,7 +50,7 @@ const getDisabledReasonForExternalPlatform = (
43
50
  newFeatureSupportLevelContext: NewFeatureSupportLevelData,
44
51
  platform: PlatformType,
45
52
  featureSupportLevelData?: NewFeatureSupportLevelMap | null,
46
- cpuArchitecture?: string,
53
+ cpuArchitecture?: SupportedCpuArchitecture,
47
54
  ): string | undefined => {
48
55
  if (!isSNO) {
49
56
  return newFeatureSupportLevelContext.getFeatureDisabledReason(
@@ -66,7 +73,7 @@ const getExternalPlatformTypes = (
66
73
  isSNO: boolean,
67
74
  newFeatureSupportLevelContext: NewFeatureSupportLevelData,
68
75
  featureSupportLevelData?: NewFeatureSupportLevelMap | null,
69
- cpuArchitecture?: string,
76
+ cpuArchitecture?: SupportedCpuArchitecture,
70
77
  ): Partial<{ [key in PlatformType]: ExternalPlatformInfo }> => {
71
78
  const platforms = ['none', 'nutanix', showOciOption && 'oci', 'vsphere'] as PlatformType[];
72
79
 
@@ -111,7 +118,7 @@ export const ExternalPlatformDropdown = ({
111
118
  >({});
112
119
 
113
120
  const tooltipDropdownDisabled = `Platform integration is not supported when ${
114
- cpuArchitecture || ''
121
+ cpuArchitecture ? architectureData[cpuArchitecture].label : ''
115
122
  } is selected`;
116
123
 
117
124
  const handleClick = (event: MouseEvent<HTMLButtonElement>, href: string) => {
@@ -142,8 +142,9 @@ const AssistedInstallerDetailCard = ({
142
142
  <NewFeatureSupportLevelProvider
143
143
  loadingUi={<LoadingCard />}
144
144
  cluster={cluster}
145
- cpuArchitecture={infraEnv.cpuArchitecture}
145
+ cpuArchitecture={infraEnv.cpuArchitecture as CpuArchitecture}
146
146
  openshiftVersion={cluster.openshiftVersion}
147
+ platformType={cluster.platform?.type}
147
148
  >
148
149
  {content}
149
150
  </NewFeatureSupportLevelProvider>
@@ -45,8 +45,9 @@ const AssistedInstallerExtraDetailCard: React.FC<AssistedInstallerExtraDetailCar
45
45
  <NewFeatureSupportLevelProvider
46
46
  loadingUi={<div />}
47
47
  cluster={cluster}
48
- cpuArchitecture={infraEnv?.cpuArchitecture}
48
+ cpuArchitecture={infraEnv?.cpuArchitecture as CpuArchitecture}
49
49
  openshiftVersion={cluster.openshiftVersion}
50
+ platformType={cluster.platform?.type}
50
51
  >
51
52
  <Grid className="pf-u-mt-md">
52
53
  <ClusterProperties cluster={cluster} externalMode />
@@ -10,11 +10,12 @@ import {
10
10
 
11
11
  import { useDefaultConfiguration } from '../clusterConfiguration/ClusterDefaultConfigurationContext';
12
12
  import { ExternalLinkAltIcon } from '@patternfly/react-icons';
13
- import { calculateClusterDateDiff } from '../../../common/sevices/DateAndTime';
13
+ import { calculateClusterDateDiff } from '../../../common/services/DateAndTime';
14
14
  import { isInOcm } from '../../api';
15
15
  import { ExternalPlatformLinks } from '../clusterConfiguration/platformIntegration/constants';
16
16
  import { useNewFeatureSupportLevel } from '../../../common/components/newFeatureSupportLevels';
17
17
  import { Cluster, PlatformType } from '@openshift-assisted/types/assisted-installer-service';
18
+ import PostInstallAlert from '../../../common/components/clusterDetail/PostInstallAlert';
18
19
 
19
20
  type ClusterDetailStatusMessagesProps = {
20
21
  cluster: Cluster;
@@ -76,22 +77,7 @@ const ClusterDetailStatusMessages = ({
76
77
  }
77
78
  />
78
79
  </RenderIf>
79
- <RenderIf condition={!!platformLink}>
80
- <Alert
81
- variant="warning"
82
- isInline
83
- data-testid="alert-modify-platform-config"
84
- title={
85
- <p>
86
- Modify your platform configuration to access your platform's features directly in
87
- OpenShift.{' '}
88
- <a href={platformLink} target="_blank" rel="noopener noreferrer">
89
- Learn more about configuration <i className="fas fa-external-link-alt" />
90
- </a>
91
- </p>
92
- }
93
- />
94
- </RenderIf>
80
+ {platformLink && <PostInstallAlert link={platformLink} />}
95
81
  </>
96
82
  );
97
83
  };