@openshift-assisted/ui-lib 2.17.1-cim → 2.17.3-cim

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) hide show
  1. package/build/@types/cim/components/ClusterDeployment/clusterDetails/ClusterDeploymentDetailsForm.d.ts.map +1 -1
  2. package/build/@types/cim/components/ClusterDeployment/clusterDetails/ClusterDetailsFormFields.d.ts +0 -1
  3. package/build/@types/cim/components/ClusterDeployment/clusterDetails/ClusterDetailsFormFields.d.ts.map +1 -1
  4. package/build/@types/cim/components/ClusterDeployment/hostSelection/ClusterDeploymentHostSelectionStep.d.ts.map +1 -1
  5. package/build/@types/cim/components/ClusterDeployment/use-networking-formik.d.ts.map +1 -1
  6. package/build/@types/cim/components/Hypershift/HostedClusterWizard/HostsStep/HostsStep.d.ts.map +1 -1
  7. package/build/@types/cim/components/InfraEnv/InfraEnvFormPage.d.ts.map +1 -1
  8. package/build/@types/cim/components/helpers/versions.d.ts +1 -1
  9. package/build/@types/cim/components/helpers/versions.d.ts.map +1 -1
  10. package/build/@types/cim/components/modals/CimConfiguration/CimConfigurationModal.d.ts.map +1 -1
  11. package/build/@types/cim/components/modals/EditProxyModal.d.ts.map +1 -1
  12. package/build/@types/cim/components/modals/EditSSHKeyModal.d.ts.map +1 -1
  13. package/build/@types/common/components/clusterConfiguration/DiscoveryImageConfigForm.d.ts.map +1 -1
  14. package/build/@types/common/components/clusterWizard/clusterDetailsValidation.d.ts.map +1 -1
  15. package/build/@types/common/components/hosts/AdditionalNTPSourcesDialog.d.ts.map +1 -1
  16. package/build/@types/common/components/hosts/EditHostForm.d.ts.map +1 -1
  17. package/build/@types/common/components/hosts/MassChangeHostnameModal.d.ts.map +1 -1
  18. package/build/@types/common/components/ui/formik/index.d.ts +0 -2
  19. package/build/@types/common/components/ui/formik/index.d.ts.map +1 -1
  20. package/build/@types/common/index.d.ts +1 -0
  21. package/build/@types/common/index.d.ts.map +1 -1
  22. package/build/@types/common/utils.d.ts +2 -2
  23. package/build/@types/common/utils.d.ts.map +1 -1
  24. package/build/@types/common/validationSchemas/addressValidation.d.ts +18 -0
  25. package/build/@types/common/validationSchemas/addressValidation.d.ts.map +1 -0
  26. package/build/@types/common/validationSchemas/clusterDetailsValidation.d.ts +8 -0
  27. package/build/@types/common/validationSchemas/clusterDetailsValidation.d.ts.map +1 -0
  28. package/build/@types/common/{components/ui/formik → validationSchemas}/constants.d.ts +1 -3
  29. package/build/@types/common/validationSchemas/constants.d.ts.map +1 -0
  30. package/build/@types/common/validationSchemas/hostnameValidation.d.ts +4 -0
  31. package/build/@types/common/validationSchemas/hostnameValidation.d.ts.map +1 -0
  32. package/build/@types/common/validationSchemas/index.d.ts +11 -0
  33. package/build/@types/common/validationSchemas/index.d.ts.map +1 -0
  34. package/build/@types/common/validationSchemas/networkingValidation.d.ts +18 -0
  35. package/build/@types/common/validationSchemas/networkingValidation.d.ts.map +1 -0
  36. package/build/@types/common/validationSchemas/ntpValidation.d.ts +4 -0
  37. package/build/@types/common/validationSchemas/ntpValidation.d.ts.map +1 -0
  38. package/build/@types/common/validationSchemas/proxyValidation.d.ts +11 -0
  39. package/build/@types/common/validationSchemas/proxyValidation.d.ts.map +1 -0
  40. package/build/@types/common/validationSchemas/pullSecretValidation.d.ts +4 -0
  41. package/build/@types/common/validationSchemas/pullSecretValidation.d.ts.map +1 -0
  42. package/build/@types/common/validationSchemas/regexes.d.ts +14 -0
  43. package/build/@types/common/validationSchemas/regexes.d.ts.map +1 -0
  44. package/build/@types/common/validationSchemas/sshValidation.d.ts +5 -0
  45. package/build/@types/common/validationSchemas/sshValidation.d.ts.map +1 -0
  46. package/build/@types/common/validationSchemas/utils.d.ts +7 -0
  47. package/build/@types/common/validationSchemas/utils.d.ts.map +1 -0
  48. package/build/@types/ocm/components/clusterConfiguration/OcmDiscoveryImageConfigForm.d.ts.map +1 -1
  49. package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifests.d.ts.map +1 -1
  50. package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/customManifestsValidationSchema.d.ts +2 -1
  51. package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/customManifestsValidationSchema.d.ts.map +1 -1
  52. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.d.ts.map +1 -1
  53. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.d.ts +2 -1
  54. package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.d.ts.map +1 -1
  55. package/build/@types/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/FormViewHosts.d.ts.map +1 -1
  56. package/build/@types/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/formViewHostsValidationSchema.d.ts +2 -1
  57. package/build/@types/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/formViewHostsValidationSchema.d.ts.map +1 -1
  58. package/build/@types/ocm/components/clusterConfiguration/staticIp/components/YamlView/YamlView.d.ts.map +1 -1
  59. package/build/@types/ocm/components/clusterConfiguration/staticIp/components/YamlView/yamlViewValidationSchema.d.ts +2 -1
  60. package/build/@types/ocm/components/clusterConfiguration/staticIp/components/YamlView/yamlViewValidationSchema.d.ts.map +1 -1
  61. package/build/@types/ocm/components/clusterWizard/disconnected/OptionalConfigurationsStep.d.ts.map +1 -1
  62. package/build/@types/ocm/components/hosts/UpdateDay2ApiVipForm.d.ts.map +1 -1
  63. package/build/cjs/cim/components/Agent/BMCForm.js +3 -3
  64. package/build/cjs/cim/components/Agent/BMCForm.js.map +1 -1
  65. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/ClusterDeploymentDetailsForm.js +9 -15
  66. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/ClusterDeploymentDetailsForm.js.map +1 -1
  67. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/ClusterDetailsFormFields.js +8 -6
  68. package/build/cjs/cim/components/ClusterDeployment/clusterDetails/ClusterDetailsFormFields.js.map +1 -1
  69. package/build/cjs/cim/components/ClusterDeployment/hostSelection/ClusterDeploymentHostSelectionStep.js +1 -3
  70. package/build/cjs/cim/components/ClusterDeployment/hostSelection/ClusterDeploymentHostSelectionStep.js.map +1 -1
  71. package/build/cjs/cim/components/ClusterDeployment/use-networking-formik.js +16 -15
  72. package/build/cjs/cim/components/ClusterDeployment/use-networking-formik.js.map +1 -1
  73. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsStep.js +2 -2
  74. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsStep.js.map +1 -1
  75. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/HostsStep/HostsStep.js +2 -11
  76. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/HostsStep/HostsStep.js.map +1 -1
  77. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/NetworkStep/NetworkStep.js +8 -8
  78. package/build/cjs/cim/components/Hypershift/HostedClusterWizard/NetworkStep/NetworkStep.js.map +1 -1
  79. package/build/cjs/cim/components/InfraEnv/InfraEnvFormPage.js +8 -6
  80. package/build/cjs/cim/components/InfraEnv/InfraEnvFormPage.js.map +1 -1
  81. package/build/cjs/cim/components/helpers/versions.js +42 -27
  82. package/build/cjs/cim/components/helpers/versions.js.map +1 -1
  83. package/build/cjs/cim/components/modals/CimConfiguration/CimConfigurationModal.js +9 -3
  84. package/build/cjs/cim/components/modals/CimConfiguration/CimConfigurationModal.js.map +1 -1
  85. package/build/cjs/cim/components/modals/EditProxyModal.js +5 -3
  86. package/build/cjs/cim/components/modals/EditProxyModal.js.map +1 -1
  87. package/build/cjs/cim/components/modals/EditPullSecretModal.js +1 -1
  88. package/build/cjs/cim/components/modals/EditPullSecretModal.js.map +1 -1
  89. package/build/cjs/cim/components/modals/EditSSHKeyModal.js +3 -3
  90. package/build/cjs/cim/components/modals/EditSSHKeyModal.js.map +1 -1
  91. package/build/cjs/common/components/clusterConfiguration/DiscoveryImageConfigForm.js +7 -6
  92. package/build/cjs/common/components/clusterConfiguration/DiscoveryImageConfigForm.js.map +1 -1
  93. package/build/cjs/common/components/clusterWizard/clusterDetailsValidation.js +8 -8
  94. package/build/cjs/common/components/clusterWizard/clusterDetailsValidation.js.map +1 -1
  95. package/build/cjs/common/components/hosts/AdditionalNTPSourcesDialog.js +2 -1
  96. package/build/cjs/common/components/hosts/AdditionalNTPSourcesDialog.js.map +1 -1
  97. package/build/cjs/common/components/hosts/EditHostForm.js +3 -2
  98. package/build/cjs/common/components/hosts/EditHostForm.js.map +1 -1
  99. package/build/cjs/common/components/hosts/MassChangeHostnameModal.js +6 -5
  100. package/build/cjs/common/components/hosts/MassChangeHostnameModal.js.map +1 -1
  101. package/build/cjs/common/components/ui/formik/index.js +0 -2
  102. package/build/cjs/common/components/ui/formik/index.js.map +1 -1
  103. package/build/cjs/common/config/docs_links.js +1 -1
  104. package/build/cjs/common/index.js +1 -0
  105. package/build/cjs/common/index.js.map +1 -1
  106. package/build/cjs/common/utils.js +5 -3
  107. package/build/cjs/common/utils.js.map +1 -1
  108. package/build/cjs/common/validationSchemas/addressValidation.js +246 -0
  109. package/build/cjs/common/validationSchemas/addressValidation.js.map +1 -0
  110. package/build/cjs/common/validationSchemas/clusterDetailsValidation.js +104 -0
  111. package/build/cjs/common/validationSchemas/clusterDetailsValidation.js.map +1 -0
  112. package/build/cjs/common/{components/ui/formik → validationSchemas}/constants.js +3 -5
  113. package/build/cjs/common/validationSchemas/constants.js.map +1 -0
  114. package/build/cjs/common/validationSchemas/hostnameValidation.js +36 -0
  115. package/build/cjs/common/validationSchemas/hostnameValidation.js.map +1 -0
  116. package/build/cjs/common/validationSchemas/index.js +17 -0
  117. package/build/cjs/common/validationSchemas/index.js.map +1 -0
  118. package/build/cjs/common/validationSchemas/networkingValidation.js +74 -0
  119. package/build/cjs/common/validationSchemas/networkingValidation.js.map +1 -0
  120. package/build/cjs/common/validationSchemas/ntpValidation.js +25 -0
  121. package/build/cjs/common/validationSchemas/ntpValidation.js.map +1 -0
  122. package/build/cjs/common/validationSchemas/proxyValidation.js +43 -0
  123. package/build/cjs/common/validationSchemas/proxyValidation.js.map +1 -0
  124. package/build/cjs/common/validationSchemas/pullSecretValidation.js +21 -0
  125. package/build/cjs/common/validationSchemas/pullSecretValidation.js.map +1 -0
  126. package/build/cjs/common/validationSchemas/regexes.js +17 -0
  127. package/build/cjs/common/validationSchemas/regexes.js.map +1 -0
  128. package/build/cjs/common/validationSchemas/sshValidation.js +32 -0
  129. package/build/cjs/common/validationSchemas/sshValidation.js.map +1 -0
  130. package/build/cjs/common/validationSchemas/utils.js +40 -0
  131. package/build/cjs/common/validationSchemas/utils.js.map +1 -0
  132. package/build/cjs/ocm/components/clusterConfiguration/OcmDiscoveryImageConfigForm.js +7 -6
  133. package/build/cjs/ocm/components/clusterConfiguration/OcmDiscoveryImageConfigForm.js.map +1 -1
  134. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifests.js +4 -2
  135. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifests.js.map +1 -1
  136. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/customManifestsValidationSchema.js +7 -6
  137. package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/customManifestsValidationSchema.js.map +1 -1
  138. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.js +2 -1
  139. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.js.map +1 -1
  140. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.js +11 -11
  141. package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.js.map +1 -1
  142. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/FormViewHosts.js +3 -1
  143. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/FormViewHosts.js.map +1 -1
  144. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/formViewHostsValidationSchema.js +6 -6
  145. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/formViewHostsValidationSchema.js.map +1 -1
  146. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/YamlView/YamlView.js +3 -1
  147. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/YamlView/YamlView.js.map +1 -1
  148. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/YamlView/yamlViewValidationSchema.js +12 -12
  149. package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/YamlView/yamlViewValidationSchema.js.map +1 -1
  150. package/build/cjs/ocm/components/clusterWizard/disconnected/OptionalConfigurationsStep.js +4 -3
  151. package/build/cjs/ocm/components/clusterWizard/disconnected/OptionalConfigurationsStep.js.map +1 -1
  152. package/build/cjs/ocm/components/hosts/UpdateDay2ApiVipForm.js +2 -1
  153. package/build/cjs/ocm/components/hosts/UpdateDay2ApiVipForm.js.map +1 -1
  154. package/lib/cim/components/Agent/BMCForm.tsx +3 -3
  155. package/lib/cim/components/ClusterDeployment/clusterDetails/ClusterDeploymentDetailsForm.tsx +8 -18
  156. package/lib/cim/components/ClusterDeployment/clusterDetails/ClusterDetailsFormFields.tsx +7 -10
  157. package/lib/cim/components/ClusterDeployment/hostSelection/ClusterDeploymentHostSelectionStep.tsx +1 -3
  158. package/lib/cim/components/ClusterDeployment/use-networking-formik.ts +19 -15
  159. package/lib/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsStep.tsx +2 -2
  160. package/lib/cim/components/Hypershift/HostedClusterWizard/HostsStep/HostsStep.tsx +2 -13
  161. package/lib/cim/components/Hypershift/HostedClusterWizard/NetworkStep/NetworkStep.tsx +8 -8
  162. package/lib/cim/components/InfraEnv/InfraEnvFormPage.tsx +8 -6
  163. package/lib/cim/components/helpers/versions.ts +51 -34
  164. package/lib/cim/components/modals/CimConfiguration/CimConfigurationModal.tsx +9 -3
  165. package/lib/cim/components/modals/EditProxyModal.tsx +6 -3
  166. package/lib/cim/components/modals/EditPullSecretModal.tsx +1 -1
  167. package/lib/cim/components/modals/EditSSHKeyModal.tsx +8 -6
  168. package/lib/common/components/clusterConfiguration/DiscoveryImageConfigForm.tsx +9 -8
  169. package/lib/common/components/clusterWizard/clusterDetailsValidation.ts +21 -11
  170. package/lib/common/components/hosts/AdditionalNTPSourcesDialog.tsx +3 -6
  171. package/lib/common/components/hosts/EditHostForm.tsx +2 -8
  172. package/lib/common/components/hosts/MassChangeHostnameModal.tsx +4 -6
  173. package/lib/common/components/ui/formik/index.tsx +0 -2
  174. package/lib/common/config/docs_links.ts +1 -1
  175. package/lib/common/index.ts +2 -0
  176. package/lib/common/utils.ts +5 -7
  177. package/lib/common/{components/ui/formik → validationSchemas}/_validationSchemas.test.ts +51 -39
  178. package/lib/common/validationSchemas/addressValidation.tsx +349 -0
  179. package/lib/common/validationSchemas/clusterDetailsValidation.tsx +168 -0
  180. package/lib/common/{components/ui/formik → validationSchemas}/constants.tsx +3 -6
  181. package/lib/common/validationSchemas/hostnameValidation.tsx +46 -0
  182. package/lib/common/validationSchemas/index.tsx +11 -0
  183. package/lib/common/validationSchemas/networkingValidation.tsx +113 -0
  184. package/lib/common/validationSchemas/ntpValidation.tsx +30 -0
  185. package/lib/common/validationSchemas/proxyValidation.tsx +67 -0
  186. package/lib/common/validationSchemas/pullSecretValidation.tsx +24 -0
  187. package/lib/common/validationSchemas/regexes.tsx +22 -0
  188. package/lib/common/validationSchemas/sshValidation.tsx +46 -0
  189. package/lib/common/validationSchemas/utils.tsx +36 -0
  190. package/lib/ocm/components/clusterConfiguration/OcmDiscoveryImageConfigForm.tsx +17 -15
  191. package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifests.tsx +4 -2
  192. package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/customManifestsValidationSchema.tsx +31 -31
  193. package/lib/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.tsx +9 -2
  194. package/lib/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.ts +14 -16
  195. package/lib/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/FormViewHosts.tsx +3 -1
  196. package/lib/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/formViewHostsValidationSchema.tsx +11 -6
  197. package/lib/ocm/components/clusterConfiguration/staticIp/components/YamlView/YamlView.tsx +5 -1
  198. package/lib/ocm/components/clusterConfiguration/staticIp/components/YamlView/yamlViewValidationSchema.tsx +33 -28
  199. package/lib/ocm/components/clusterWizard/disconnected/OptionalConfigurationsStep.tsx +5 -3
  200. package/lib/ocm/components/hosts/UpdateDay2ApiVipForm.tsx +3 -7
  201. package/package.json +3 -3
  202. package/build/@types/common/components/ui/formik/constants.d.ts.map +0 -1
  203. package/build/@types/common/components/ui/formik/validationSchemas.d.ts +0 -50
  204. package/build/@types/common/components/ui/formik/validationSchemas.d.ts.map +0 -1
  205. package/build/cjs/common/components/ui/formik/constants.js.map +0 -1
  206. package/build/cjs/common/components/ui/formik/validationSchemas.js +0 -553
  207. package/build/cjs/common/components/ui/formik/validationSchemas.js.map +0 -1
  208. package/lib/common/components/ui/formik/validationSchemas.ts +0 -803
@@ -1 +1 @@
1
- {"version":3,"file":"yamlViewValidationSchema.js","sourceRoot":"","sources":["../../../../../../../../lib/ocm/components/clusterConfiguration/staticIp/components/YamlView/yamlViewValidationSchema.tsx"],"names":[],"mappings":";;;;AAAA,iDAA2B;AAC3B,qDAAwF;AAExF,2EAGuC;AACvC,0DAKwC;AAMxC,MAAM,WAAW,GAAG,qBAAqB,CAAC;AAE1C,MAAM,2BAA2B,GAAG,GAAG,CAAC,MAAM,EAAE;KAC7C,QAAQ,CAAC,WAAW,CAAC;KACrB,IAAI,CAAC,iBAAiB,EAAE,6BAAqB,EAAE,wBAAgB,CAAC;KAChE,IAAI,CAAC,gBAAgB,EAAE,mCAA2B,EAAE,wBAAgB,CAAC,CAAC;AAEzE,MAAM,kBAAkB,GAA+C,CACrE,MAAsB,EACZ,EAAE;IACZ,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE;QAC/B,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB,SAAS;SACV;QACD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,eAAe,EAAE;YAC1C,IAAI,OAAO,CAAC,UAAU,EAAE;gBACtB,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;aAC1C;SACF;KACF;IACD,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,8BAA8B,GAA+C,CACjF,MAAsB,EACtB,OAAwB,EACxB,EAAE;IACF,MAAM,yBAAyB,GAC7B,OAAO,CAAC,MAAsD,CAAC;IACjE,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CACnC,CAAC,WAAW,EAAE,EAAE,CACd,WAAW,CAAC,eAAe;QAC3B,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC,CACtE,CAAC;IACF,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE;QAChD,OAAO,SAAS,CAAC;KAClB;IACD,OAAO,WAAW,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;QACrD,OAAO,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,+BAA+B,GAAG,GAAG,CAAC,KAAK,EAAmB,CAAC,EAAE,CACrE,GAAG,CAAC,MAAM,CAAC;IACT,UAAU,EAAE,mCAA0B;SACnC,QAAQ,CAAC,WAAW,CAAC;SACrB,MAAM,CAAC,IAAA,mDAAyB,EAAC,kBAAkB,CAAC,CAAC;IACxD,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE;SACzB,QAAQ,CAAC,WAAW,CAAC;SACrB,MAAM,CAAC,IAAA,mDAAyB,EAAC,8BAA8B,CAAC,CAAC;SACjE,GAAG,CAAC,EAAE,EAAE,+CAA+C,CAAC;SACxD,OAAO,CAAC,OAAO,EAAE,wCAAwC,CAAC;CAC9D,CAAC,CACH,CAAC;AAEW,QAAA,wBAAwB,GAAG,GAAG,CAAC,MAAM,CAAC;IACjD,KAAK,EAAE,GAAG,CAAC,KAAK,EAA2B,CAAC,EAAE,CAC5C,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC;QACjB,WAAW,EAAE,2BAA2B;QACxC,eAAe,EAAE,+BAA+B;KACjD,CAAC,CACH;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"yamlViewValidationSchema.js","sourceRoot":"","sources":["../../../../../../../../lib/ocm/components/clusterConfiguration/staticIp/components/YamlView/yamlViewValidationSchema.tsx"],"names":[],"mappings":";;;;AAAA,iDAA2B;AAC3B,qDAIkC;AAElC,2EAGuC;AACvC,0DAIwC;AAOxC,MAAM,2BAA2B,GAAG,CAAC,CAAY,EAAE,EAAE,CACnD,GAAG,CAAC,MAAM,EAAE;KACT,QAAQ,CAAC,gBAAgB,CAAC;KAC1B,IAAI,CAAC,iBAAiB,EAAE,IAAA,6BAAqB,EAAC,CAAC,CAAC,EAAE,wBAAgB,CAAC;KACnE,IAAI,CAAC,gBAAgB,EAAE,IAAA,oCAA2B,EAAC,CAAC,CAAC,EAAE,wBAAgB,CAAC,CAAC;AAE9E,MAAM,kBAAkB,GAA+C,CACrE,MAAsB,EACZ,EAAE;IACZ,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE;QAC/B,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB,SAAS;SACV;QACD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,eAAe,EAAE;YAC1C,IAAI,OAAO,CAAC,UAAU,EAAE;gBACtB,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;aAC1C;SACF;KACF;IACD,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,8BAA8B,GAA+C,CACjF,MAAsB,EACtB,OAAwB,EACxB,EAAE;IACF,MAAM,yBAAyB,GAC7B,OAAO,CAAC,MAAsD,CAAC;IACjE,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CACnC,CAAC,WAAW,EAAE,EAAE,CACd,WAAW,CAAC,eAAe;QAC3B,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC,CACtE,CAAC;IACF,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE;QAChD,OAAO,SAAS,CAAC;KAClB;IACD,OAAO,WAAW,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;QACrD,OAAO,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,+BAA+B,GAAG,CAAC,CAAY,EAAE,EAAE,CACvD,GAAG,CAAC,KAAK,EAAmB,CAAC,EAAE,CAC7B,GAAG,CAAC,MAAM,CAAC;IACT,UAAU,EAAE,IAAA,mCAA0B,EAAC,CAAC,CAAC;SACtC,QAAQ,CAAC,gBAAgB,CAAC;SAC1B,MAAM,CAAC,IAAA,mDAAyB,EAAC,kBAAkB,CAAC,CAAC;IACxD,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE;SACzB,QAAQ,CAAC,gBAAgB,CAAC;SAC1B,MAAM,CAAC,IAAA,mDAAyB,EAAC,8BAA8B,CAAC,CAAC;SACjE,GAAG,CAAC,EAAE,EAAE,+CAA+C,CAAC;SACxD,OAAO,CAAC,OAAO,EAAE,wCAAwC,CAAC;CAC9D,CAAC,CACH,CAAC;AAEG,MAAM,wBAAwB,GAAG,CAAC,CAAY,EAAE,EAAE,CACvD,GAAG,CAAC,MAAM,CAAC;IACT,KAAK,EAAE,GAAG,CAAC,KAAK,EAA2B,CAAC,EAAE,CAC5C,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC;QACjB,WAAW,EAAE,2BAA2B,CAAC,CAAC,CAAC;QAC3C,eAAe,EAAE,+BAA+B,CAAC,CAAC,CAAC;KACpD,CAAC,CACH;CACF,CAAC,CAAC;AARQ,QAAA,wBAAwB,4BAQhC"}
@@ -30,6 +30,7 @@ const PullSecretSync = ({ pullSecret }) => {
30
30
  return null;
31
31
  };
32
32
  const OptionalConfigurationsStep = () => {
33
+ const { t } = (0, common_1.useTranslation)();
33
34
  const pullSecret = (0, usePullSecret_1.default)() || '';
34
35
  const { clusterId } = (0, react_router_dom_v5_compat_1.useParams)();
35
36
  const [cluster, setCluster] = React.useState(null);
@@ -58,9 +59,9 @@ const OptionalConfigurationsStep = () => {
58
59
  void fetchCluster();
59
60
  }, [clusterId, addAlert]);
60
61
  const validationSchema = React.useMemo(() => Yup.object().shape({
61
- sshPublicKey: common_1.sshPublicKeyValidationSchema,
62
- pullSecret: common_1.pullSecretValidationSchema,
63
- }), []);
62
+ sshPublicKey: (0, common_1.sshPublicKeyValidationSchema)(t),
63
+ pullSecret: (0, common_1.pullSecretValidationSchema)(t),
64
+ }), [t]);
64
65
  const initialValues = {
65
66
  sshPublicKey: '',
66
67
  pullSecret: pullSecret,
@@ -1 +1 @@
1
- {"version":3,"file":"OptionalConfigurationsStep.js","sourceRoot":"","sources":["../../../../../../lib/ocm/components/clusterWizard/disconnected/OptionalConfigurationsStep.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OptionalConfigurationsStep.js","sourceRoot":"","sources":["../../../../../../lib/ocm/components/clusterWizard/disconnected/OptionalConfigurationsStep.tsx"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ const react_core_1 = require("@patternfly/react-core");
7
7
  const formik_1 = require("formik");
8
8
  const ui_1 = require("../../../common/components/ui");
9
9
  const GridGap_1 = tslib_1.__importDefault(require("../../../common/components/ui/GridGap"));
10
+ const common_1 = require("../../../common");
10
11
  const use_translation_wrapper_1 = require("../../../common/hooks/use-translation-wrapper");
11
12
  const UpdateDay2ApiVipForm = ({ onUpdateDay2ApiVip, onClose, currentApiVip: originApiVip, }) => {
12
13
  const { t } = (0, use_translation_wrapper_1.useTranslation)();
@@ -20,7 +21,7 @@ const UpdateDay2ApiVipForm = ({ onUpdateDay2ApiVip, onClose, currentApiVip: orig
20
21
  apiVip: originApiVip,
21
22
  };
22
23
  const validationSchema = react_1.default.useMemo(() => Yup.object().shape({
23
- apiVip: ui_1.day2ApiVipValidationSchema.required(t('ai:Required field')),
24
+ apiVip: (0, common_1.day2ApiVipValidationSchema)(t).required(t('ai:Required field')),
24
25
  }), [t]);
25
26
  return (react_1.default.createElement(formik_1.Formik, { initialValues: initialValues, validationSchema: validationSchema, initialStatus: { error: null }, onSubmit: (values, formikHelpers) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
26
27
  if (values.apiVip) {
@@ -1 +1 @@
1
- {"version":3,"file":"UpdateDay2ApiVipForm.js","sourceRoot":"","sources":["../../../../../lib/ocm/components/hosts/UpdateDay2ApiVipForm.tsx"],"names":[],"mappings":";;;AAAA,0DAA0B;AAC1B,iDAA2B;AAC3B,uDAOgC;AAChC,mCAAgC;AAChC,sDAIuC;AACvC,4FAA4D;AAE5D,2FAA+E;AAY/E,MAAM,oBAAoB,GAAwC,CAAC,EACjE,kBAAkB,EAClB,OAAO,EACP,aAAa,EAAE,YAAY,GAC5B,EAAE,EAAE;IACH,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,wCAAc,GAAE,CAAC;IAE/B,MAAM,cAAc,GAAG,eAAK,CAAC,MAAM,EAAoB,CAAC;IACxD,eAAK,CAAC,SAAS,CAAC,GAAG,EAAE;;QACnB,MAAA,cAAc,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;QAChC,MAAA,cAAc,CAAC,OAAO,0CAAE,MAAM,EAAE,CAAC;IACnC,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,aAAa,GAAG;QACpB,MAAM,EAAE,YAAY;KACrB,CAAC;IACF,MAAM,gBAAgB,GAAG,eAAK,CAAC,OAAO,CACpC,GAAG,EAAE,CACH,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC;QACjB,MAAM,EAAE,+BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;KACpE,CAAC,EACJ,CAAC,CAAC,CAAC,CACJ,CAAC;IAEF,OAAO,CACL,8BAAC,eAAM,IACL,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,gBAAgB,EAClC,aAAa,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAC9B,QAAQ,EAAE,CAAO,MAAM,EAAE,aAAa,EAAE,EAAE;YACxC,IAAI,MAAM,CAAC,MAAM,EAAE;gBACjB,MAAM,OAAO,GAAG,CAAC,OAAe,EAAE,EAAE;oBAClC,MAAM,KAAK,GAAoB;wBAC7B,KAAK,EAAE;4BACL,KAAK,EAAE,yBAAyB;4BAChC,OAAO;yBACR;qBACF,CAAC;oBACF,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBACjC,CAAC,CAAC;gBACF,MAAM,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBACjD,OAAO,EAAE,CAAC;aACX;QACH,CAAC,CAAA,IAEA,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;QACrE,OAAO,CACL,8BAAC,iBAAI,IAAC,QAAQ,EAAE,YAAY;YAC1B,8BAAC,sBAAS;gBACR,8BAAC,iBAAO;oBACN,8BAAC,qBAAgB,IACf,MAAM,EAAE,MAAyB,EACjC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,GACzC;oBAEF,8BAAC,eAAU,IACT,KAAK,EAAC,gDAAgD,EACtD,IAAI,EAAC,QAAQ,EACb,GAAG,EAAE,cAAc,EACnB,UAAU,SACV,CACM,CACA;YACZ,8BAAC,wBAAW;gBACV,8BAAC,mBAAM,IACL,GAAG,EAAC,QAAQ,EACZ,IAAI,EAAE,uBAAU,CAAC,MAAM,EACvB,UAAU,EAAE,YAAY,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,aAGvC;gBACT,8BAAC,mBAAM,IAAC,GAAG,EAAC,QAAQ,EAAC,OAAO,EAAE,0BAAa,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,aAEzD,CACG,CACT,CACR,CAAC;IACJ,CAAC,CACM,CACV,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"UpdateDay2ApiVipForm.js","sourceRoot":"","sources":["../../../../../lib/ocm/components/hosts/UpdateDay2ApiVipForm.tsx"],"names":[],"mappings":";;;AAAA,0DAA0B;AAC1B,iDAA2B;AAC3B,uDAOgC;AAChC,mCAAgC;AAChC,sDAA6E;AAC7E,4FAA4D;AAC5D,4CAA8E;AAC9E,2FAA+E;AAY/E,MAAM,oBAAoB,GAAwC,CAAC,EACjE,kBAAkB,EAClB,OAAO,EACP,aAAa,EAAE,YAAY,GAC5B,EAAE,EAAE;IACH,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,wCAAc,GAAE,CAAC;IAE/B,MAAM,cAAc,GAAG,eAAK,CAAC,MAAM,EAAoB,CAAC;IACxD,eAAK,CAAC,SAAS,CAAC,GAAG,EAAE;;QACnB,MAAA,cAAc,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;QAChC,MAAA,cAAc,CAAC,OAAO,0CAAE,MAAM,EAAE,CAAC;IACnC,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,aAAa,GAAG;QACpB,MAAM,EAAE,YAAY;KACrB,CAAC;IACF,MAAM,gBAAgB,GAAG,eAAK,CAAC,OAAO,CACpC,GAAG,EAAE,CACH,GAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC;QACjB,MAAM,EAAE,IAAA,mCAA0B,EAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;KACvE,CAAC,EACJ,CAAC,CAAC,CAAC,CACJ,CAAC;IAEF,OAAO,CACL,8BAAC,eAAM,IACL,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,gBAAgB,EAClC,aAAa,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAC9B,QAAQ,EAAE,CAAO,MAAM,EAAE,aAAa,EAAE,EAAE;YACxC,IAAI,MAAM,CAAC,MAAM,EAAE;gBACjB,MAAM,OAAO,GAAG,CAAC,OAAe,EAAE,EAAE;oBAClC,MAAM,KAAK,GAAoB;wBAC7B,KAAK,EAAE;4BACL,KAAK,EAAE,yBAAyB;4BAChC,OAAO;yBACR;qBACF,CAAC;oBACF,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBACjC,CAAC,CAAC;gBACF,MAAM,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBACjD,OAAO,EAAE,CAAC;aACX;QACH,CAAC,CAAA,IAEA,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;QACrE,OAAO,CACL,8BAAC,iBAAI,IAAC,QAAQ,EAAE,YAAY;YAC1B,8BAAC,sBAAS;gBACR,8BAAC,iBAAO;oBACN,8BAAC,qBAAgB,IACf,MAAM,EAAE,MAAyB,EACjC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,GACzC;oBAEF,8BAAC,eAAU,IACT,KAAK,EAAC,gDAAgD,EACtD,IAAI,EAAC,QAAQ,EACb,GAAG,EAAE,cAAc,EACnB,UAAU,SACV,CACM,CACA;YACZ,8BAAC,wBAAW;gBACV,8BAAC,mBAAM,IACL,GAAG,EAAC,QAAQ,EACZ,IAAI,EAAE,uBAAU,CAAC,MAAM,EACvB,UAAU,EAAE,YAAY,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,aAGvC;gBACT,8BAAC,mBAAM,IAAC,GAAG,EAAC,QAAQ,EAAC,OAAO,EAAE,0BAAa,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,aAEzD,CACG,CACT,CACR,CAAC;IACJ,CAAC,CACM,CACV,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,oBAAoB,CAAC"}
@@ -151,14 +151,14 @@ const getValidationSchema = (usedHostnames: string[], origHostname: string, t: T
151
151
  bmcAddress: bmcAddressValidationSchema(t),
152
152
  username: Yup.string().required(t('ai:Required field')),
153
153
  password: Yup.string().required(t('ai:Required field')),
154
- bootMACAddress: macAddressValidationSchema,
154
+ bootMACAddress: macAddressValidationSchema(t),
155
155
  nmState: Yup.string(),
156
156
  macMapping: Yup.array().of(
157
157
  Yup.object().shape(
158
158
  {
159
- macAddress: macAddressValidationSchema.when('name', {
159
+ macAddress: macAddressValidationSchema(t).when('name', {
160
160
  is: (name: string) => !!name,
161
- then: () => macAddressValidationSchema.required(t('ai:MAC has to be specified')),
161
+ then: (schema) => schema.required(t('ai:MAC has to be specified')),
162
162
  }),
163
163
  name: Yup.string().when('macAddress', {
164
164
  is: (name: string) => !!name,
@@ -14,7 +14,7 @@ import {
14
14
  OsImage,
15
15
  } from '../../../types';
16
16
  import { ClusterImageSetK8sResource } from '../../../types/k8s/cluster-image-set';
17
- import { getOCPVersions, getSelectedVersion } from '../../helpers';
17
+ import { getOCPVersions } from '../../helpers';
18
18
  import { useTranslation } from '../../../../common/hooks/use-translation-wrapper';
19
19
  import {
20
20
  ClusterDetailsFormFields,
@@ -46,17 +46,14 @@ export const ClusterDeploymentDetailsFormWrapper = ({
46
46
  }) => {
47
47
  const { activeStep, goToPrevStep, goToNextStep, close } = useWizardContext();
48
48
  const { syncError } = React.useContext(ClusterDeploymentWizardContext);
49
- const { submitForm, isSubmitting, isValid, isValidating, dirty } =
50
- useFormikContext<ClusterDetailsValues>();
49
+ const { isSubmitting, isValid, isValidating } = useFormikContext<ClusterDetailsValues>();
51
50
  const { t } = useTranslation();
52
51
 
52
+ // ClusterDeploymentDetailsFormWrapper is exclusively used by ClusterDeploymentWizard (edit flow).
53
+ // No form submission needed here—just navigate to the next step.
53
54
  const handleOnNext = React.useCallback(() => {
54
- if (dirty) {
55
- void submitForm();
56
- } else {
57
- void goToNextStep();
58
- }
59
- }, [dirty, goToNextStep, submitForm]);
55
+ void goToNextStep();
56
+ }, [goToNextStep]);
60
57
 
61
58
  const footer = React.useMemo(
62
59
  () => (
@@ -93,7 +90,6 @@ export const ClusterDeploymentDetailsFormWrapper = ({
93
90
  };
94
91
 
95
92
  export const ClusterDeploymentDetailsForm: React.FC<ClusterDeploymentDetailsFormProps> = ({
96
- agentClusterInstall,
97
93
  clusterDeployment,
98
94
  clusterImages,
99
95
  extensionAfter,
@@ -111,18 +107,13 @@ export const ClusterDeploymentDetailsForm: React.FC<ClusterDeploymentDetailsForm
111
107
  [clusterImages, isNutanix, osImages],
112
108
  );
113
109
 
114
- const forceOpenshiftVersion = agentClusterInstall
115
- ? getSelectedVersion(clusterImages, agentClusterInstall)
116
- : undefined;
117
110
  const isEditFlow = !!clusterDeployment;
118
111
 
119
112
  const { values } = useFormikContext<ClusterDetailsValues>();
120
113
 
121
114
  const [cpuArchitectures, allowHighlyAvailable] = React.useMemo(() => {
122
115
  const cpuArchitectures = [CpuArchitecture.x86, CpuArchitecture.ARM, CpuArchitecture.s390x];
123
- const version = allVersions.find(
124
- (ver) => ver.value === values.openshiftVersion || ver.version === forceOpenshiftVersion,
125
- );
116
+ const version = allVersions.find((ver) => ver.value === values.openshiftVersion);
126
117
  const isMulti = version?.cpuArchitectures?.[0] === CpuArchitecture.MULTI;
127
118
 
128
119
  const highlyAvailableSupported = toNumber(version?.version?.split('.')?.[1]) >= 18;
@@ -130,7 +121,7 @@ export const ClusterDeploymentDetailsForm: React.FC<ClusterDeploymentDetailsForm
130
121
  (isMulti ? cpuArchitectures : version?.cpuArchitectures) as SupportedCpuArchitecture[],
131
122
  highlyAvailableSupported && !isMulti,
132
123
  ];
133
- }, [allVersions, forceOpenshiftVersion, values.openshiftVersion]);
124
+ }, [allVersions, values.openshiftVersion]);
134
125
 
135
126
  return (
136
127
  <>
@@ -148,7 +139,6 @@ export const ClusterDeploymentDetailsForm: React.FC<ClusterDeploymentDetailsForm
148
139
  versions={versions}
149
140
  allVersions={allVersions}
150
141
  isEditFlow={isEditFlow}
151
- forceOpenshiftVersion={forceOpenshiftVersion}
152
142
  extensionAfter={extensionAfter}
153
143
  isNutanix={isNutanix}
154
144
  cpuArchitectures={cpuArchitectures}
@@ -3,6 +3,7 @@ import { Form } from '@patternfly/react-core';
3
3
  import { useFormikContext } from 'formik';
4
4
 
5
5
  import {
6
+ acmClusterNameValidationMessages,
6
7
  ExternalPlatformsDropdown,
7
8
  isMajorMinorVersionEqualOrGreater,
8
9
  OpenShiftVersionDropdown,
@@ -11,11 +12,7 @@ import {
11
12
  import { StaticTextField } from '../../../../common/components/ui/StaticTextField';
12
13
  import { PullSecret } from '../../../../common/components/clusters';
13
14
  import { OpenshiftVersionOptionType, SupportedCpuArchitecture } from '../../../../common/types';
14
- import {
15
- InputField,
16
- RichInputField,
17
- acmClusterNameValidationMessages,
18
- } from '../../../../common/components/ui/formik';
15
+ import { InputField, RichInputField } from '../../../../common/components/ui/formik';
19
16
  import { ClusterDetailsValues } from '../../../../common/components/clusterWizard/types';
20
17
  import { useTranslation } from '../../../../common/hooks/use-translation-wrapper';
21
18
  import CpuArchitectureDropdown from '../../common/CpuArchitectureDropdown';
@@ -24,7 +21,6 @@ import { getNetworkType } from '../../helpers';
24
21
 
25
22
  export type ClusterDetailsFormFieldsProps = {
26
23
  isEditFlow: boolean;
27
- forceOpenshiftVersion?: string;
28
24
  extensionAfter?: { [key: string]: React.ReactElement };
29
25
  versions: OpenshiftVersionOptionType[];
30
26
  allVersions: OpenshiftVersionOptionType[];
@@ -55,7 +51,6 @@ export const ClusterDetailsFormFields: React.FC<ClusterDetailsFormFieldsProps> =
55
51
  isEditFlow,
56
52
  versions,
57
53
  allVersions,
58
- forceOpenshiftVersion,
59
54
  extensionAfter,
60
55
  isNutanix,
61
56
  cpuArchitectures,
@@ -68,7 +63,7 @@ export const ClusterDetailsFormFields: React.FC<ClusterDetailsFormFieldsProps> =
68
63
  const { name, baseDnsDomain } = values;
69
64
 
70
65
  React.useEffect(() => {
71
- if (!versions.length && !values.openshiftVersion) {
66
+ if (!versions.length && !values.openshiftVersion && !isEditFlow) {
72
67
  const fallbackOpenShiftVersion = allVersions.find((version) => version.default);
73
68
  setFieldValue('customOpenshiftSelect', fallbackOpenShiftVersion?.value);
74
69
  setFieldValue('openshiftVersion', fallbackOpenShiftVersion?.value);
@@ -143,9 +138,11 @@ export const ClusterDetailsFormFields: React.FC<ClusterDetailsFormFieldsProps> =
143
138
  isRequired
144
139
  />
145
140
  )}
146
- {forceOpenshiftVersion ? (
141
+ {isEditFlow ? (
147
142
  <StaticTextField name="openshiftVersion" label="OpenShift version" isRequired>
148
- {t('ai:OpenShift')} {forceOpenshiftVersion}
143
+ {t('ai:OpenShift')}{' '}
144
+ {allVersions.find((v) => v.value === values.openshiftVersion)?.version ||
145
+ values.openshiftVersion}
149
146
  </StaticTextField>
150
147
  ) : (
151
148
  <>
@@ -96,9 +96,7 @@ const getValidationSchema = (agentClusterInstall: AgentClusterInstallK8sResource
96
96
  selectedHostIds: values.autoSelectHosts
97
97
  ? Yup.array(Yup.string())
98
98
  : isSNOCluster
99
- ? Yup.array(Yup.string())
100
- .min(1, t('ai:Please select one host for the cluster.'))
101
- .max(1, t('ai:Please select one host for the cluster.')) // TODO(jtomasek): replace this with Yup.array().length() after updating Yup
99
+ ? Yup.array(Yup.string()).length(1, t('ai:Please select one host for the cluster.'))
102
100
  : Yup.array(Yup.string()).min(3, t('ai:Please select at least 3 hosts for the cluster.')),
103
101
  });
104
102
  });
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import * as Yup from 'yup';
3
+ import { TFunction } from 'i18next';
3
4
 
4
5
  import { INFRAENV_AGENTINSTALL_LABEL_KEY } from '../common';
5
6
  import { getHostSubnets } from '../../../common/components/clusterConfiguration/utils';
@@ -47,32 +48,33 @@ const getInfraEnvProxy = (infraEnvs: InfraEnvK8sResource[]) => {
47
48
  const getNetworkConfigurationValidationSchema = (
48
49
  initialValues: ClusterDeploymentNetworkingValues,
49
50
  hostSubnets: HostSubnets,
51
+ t: TFunction,
50
52
  openshiftVersion?: string,
51
53
  ) =>
52
54
  Yup.lazy((values: ClusterDeploymentNetworkingValues) =>
53
55
  Yup.object<ClusterDeploymentNetworkingValues>().shape({
54
- clusterNetworks: clusterNetworksValidationSchema.when('stackType', {
56
+ clusterNetworks: clusterNetworksValidationSchema(t).when('stackType', {
55
57
  is: (stackType: NetworkConfigurationValues['stackType']) => stackType === IPV4_STACK,
56
- then: () => clusterNetworksValidationSchema.concat(IPv4ValidationSchema),
58
+ then: () => clusterNetworksValidationSchema(t).concat(IPv4ValidationSchema),
57
59
  otherwise: () =>
58
- clusterNetworksValidationSchema.concat(
59
- dualStackValidationSchema('cluster network', openshiftVersion),
60
+ clusterNetworksValidationSchema(t).concat(
61
+ dualStackValidationSchema(t('ai:cluster network'), t, openshiftVersion),
60
62
  ),
61
63
  }),
62
- serviceNetworks: serviceNetworkValidationSchema.when('stackType', {
64
+ serviceNetworks: serviceNetworkValidationSchema(t).when('stackType', {
63
65
  is: (stackType: NetworkConfigurationValues['stackType']) => stackType === IPV4_STACK,
64
- then: () => serviceNetworkValidationSchema.concat(IPv4ValidationSchema),
66
+ then: () => serviceNetworkValidationSchema(t).concat(IPv4ValidationSchema),
65
67
  otherwise: () =>
66
- serviceNetworkValidationSchema.concat(
67
- dualStackValidationSchema('service network', openshiftVersion),
68
+ serviceNetworkValidationSchema(t).concat(
69
+ dualStackValidationSchema(t('ai:service network'), t, openshiftVersion),
68
70
  ),
69
71
  }),
70
- apiVips: vipArrayValidationSchema(hostSubnets, values),
71
- ingressVips: vipArrayValidationSchema(hostSubnets, values),
72
- sshPublicKey: sshPublicKeyListValidationSchema,
73
- httpProxy: httpProxyValidationSchema({ values, pairValueName: 'httpsProxy' }),
74
- httpsProxy: httpProxyValidationSchema({ values, pairValueName: 'httpProxy' }), // share the schema, httpS is currently not supported
75
- noProxy: noProxyValidationSchema,
72
+ apiVips: vipArrayValidationSchema(hostSubnets, values, t),
73
+ ingressVips: vipArrayValidationSchema(hostSubnets, values, t),
74
+ sshPublicKey: sshPublicKeyListValidationSchema(t),
75
+ httpProxy: httpProxyValidationSchema({ values, pairValueName: 'httpsProxy', t }),
76
+ httpsProxy: httpProxyValidationSchema({ values, pairValueName: 'httpProxy', t }), // share the schema, httpS is currently not supported
77
+ noProxy: noProxyValidationSchema(t),
76
78
  }),
77
79
  );
78
80
 
@@ -87,6 +89,7 @@ export const useNetworkingFormik = ({
87
89
  agentClusterInstall,
88
90
  agents,
89
91
  }: UseNetworkingFormikArgs) => {
92
+ const { t } = useTranslation();
90
93
  const initialValues = React.useMemo(
91
94
  () => {
92
95
  const cluster = getAICluster({
@@ -112,9 +115,10 @@ export const useNetworkingFormik = ({
112
115
  return getNetworkConfigurationValidationSchema(
113
116
  initialValues,
114
117
  hostSubnets,
118
+ t,
115
119
  cluster.openshiftVersion,
116
120
  );
117
- }, [initialValues, clusterDeployment, agentClusterInstall, agents]);
121
+ }, [clusterDeployment, agentClusterInstall, agents, t, initialValues]);
118
122
 
119
123
  return {
120
124
  initialValues,
@@ -34,8 +34,8 @@ const useDetailsFormik: UseDetailsFormik = ({
34
34
  () =>
35
35
  Yup.object({
36
36
  name: nameValidationSchema(t, usedClusterNames),
37
- baseDnsDomain: dnsNameValidationSchema.required('Required'),
38
- pullSecret: pullSecretValidationSchema.required('Required.'),
37
+ baseDnsDomain: dnsNameValidationSchema(t).required(t('ai:Required field')),
38
+ pullSecret: pullSecretValidationSchema(t).required(t('ai:Required field')),
39
39
  }),
40
40
  [usedClusterNames, t],
41
41
  );
@@ -6,8 +6,6 @@ import { Stack, StackItem } from '@patternfly/react-core';
6
6
  import HostsForm from './HostsForm';
7
7
  import { HostsStepProps, HostsFormValues, NodePoolFormValue } from './types';
8
8
  import { useTranslation } from '../../../../../common/hooks/use-translation-wrapper';
9
- import { getAgentsForSelection } from '../../../helpers';
10
- import { INFRAENV_AGENTINSTALL_LABEL_KEY } from '../../../common';
11
9
  import { TFunction } from 'i18next';
12
10
  import { NodePoolK8sResource } from '../../types';
13
11
 
@@ -61,16 +59,7 @@ const HostsStep: React.FC<HostsStepProps> = ({
61
59
  olmCatalogPlacement,
62
60
  }) => {
63
61
  const { t } = useTranslation();
64
- const availableAgents = getAgentsForSelection(agents);
65
62
 
66
- const infraEnvsWithAgents = infraEnvs.filter((ie) =>
67
- availableAgents.some(
68
- (a) =>
69
- a.metadata?.labels?.[INFRAENV_AGENTINSTALL_LABEL_KEY] === ie.metadata?.name &&
70
- a.metadata?.namespace === ie.metadata?.namespace &&
71
- !a.spec.clusterDeploymentName,
72
- ),
73
- );
74
63
  return (
75
64
  <Stack hasGutter>
76
65
  <StackItem>
@@ -84,7 +73,7 @@ const HostsStep: React.FC<HostsStepProps> = ({
84
73
  controllerAvailabilityPolicy: controllerAvailabilityPolicy || 'HighlyAvailable',
85
74
  infrastructureAvailabilityPolicy: infrastructureAvailabilityPolicy || 'HighlyAvailable',
86
75
  olmCatalogPlacement: olmCatalogPlacement || 'management',
87
- agentNamespace: initInfraEnv || infraEnvsWithAgents[0]?.metadata?.namespace || '',
76
+ agentNamespace: initInfraEnv || infraEnvs[0]?.metadata?.namespace || '',
88
77
  nodePools: initNodePools || [
89
78
  {
90
79
  nodePoolName: `nodepool-${clusterName}-1`,
@@ -106,7 +95,7 @@ const HostsStep: React.FC<HostsStepProps> = ({
106
95
  >
107
96
  <HostsForm
108
97
  onValuesChanged={onValuesChanged}
109
- infraEnvs={infraEnvsWithAgents}
98
+ infraEnvs={infraEnvs}
110
99
  agents={agents}
111
100
  clusterName={clusterName}
112
101
  initReleaseImage={initReleaseImage}
@@ -18,22 +18,22 @@ import { useTranslation } from '../../../../../common/hooks/use-translation-wrap
18
18
  const getValidationSchema = (t: TFunction) =>
19
19
  Yup.lazy((values: NetworkFormValues) =>
20
20
  Yup.object<NetworkFormValues>().shape({
21
- sshPublicKey: sshPublicKeyValidationSchema.required(t('ai:Required field')),
21
+ sshPublicKey: sshPublicKeyValidationSchema(t).required(t('ai:Required field')),
22
22
  clusterNetworkCidr: values.isAdvanced
23
- ? ipBlockValidationSchema(values.serviceNetworkCidr)
23
+ ? ipBlockValidationSchema(values.serviceNetworkCidr, t)
24
24
  : Yup.string(),
25
25
  serviceNetworkCidr: values.isAdvanced
26
- ? ipBlockValidationSchema(values.clusterNetworkCidr)
26
+ ? ipBlockValidationSchema(values.clusterNetworkCidr, t)
27
27
  : Yup.string(),
28
28
  clusterNetworkHostPrefix: values.isAdvanced
29
- ? hostPrefixValidationSchema(values.clusterNetworkCidr)
29
+ ? hostPrefixValidationSchema(values.clusterNetworkCidr, t)
30
30
  : Yup.number(),
31
- httpProxy: httpProxyValidationSchema({ values, pairValueName: 'httpsProxy' }),
32
- httpsProxy: httpProxyValidationSchema({ values, pairValueName: 'httpProxy' }), // share the schema, httpS is currently not supported
33
- noProxy: noProxyValidationSchema,
31
+ httpProxy: httpProxyValidationSchema({ values, pairValueName: 'httpsProxy', t }),
32
+ httpsProxy: httpProxyValidationSchema({ values, pairValueName: 'httpProxy', t }), // share the schema, httpS is currently not supported
33
+ noProxy: noProxyValidationSchema(t),
34
34
  nodePortAddress:
35
35
  values.apiPublishingStrategy === 'NodePort'
36
- ? day2ApiVipValidationSchema.required(t('ai:Required field'))
36
+ ? day2ApiVipValidationSchema(t).required(t('ai:Required field'))
37
37
  : Yup.string(),
38
38
  }),
39
39
  );
@@ -76,32 +76,34 @@ const validationSchema = (usedNames: string[], t: TFunction) =>
76
76
  Yup.lazy((values: EnvironmentStepFormValues) =>
77
77
  Yup.object<EnvironmentStepFormValues>().shape({
78
78
  name: richNameValidationSchema(t, usedNames),
79
- location: locationValidationSchema(t).required(t('ai:Location is a required field.')),
80
- pullSecret: pullSecretValidationSchema.required(t('ai:Pull secret is a required field.')),
81
- sshPublicKey: sshPublicKeyValidationSchema,
79
+ location: locationValidationSchema(t),
80
+ pullSecret: pullSecretValidationSchema(t).required(t('ai:Required field')),
81
+ sshPublicKey: sshPublicKeyValidationSchema(t),
82
82
  httpProxy: httpProxyValidationSchema({
83
83
  values,
84
84
  pairValueName: 'httpsProxy',
85
85
  allowEmpty: true,
86
+ t,
86
87
  }),
87
88
  httpsProxy: httpProxyValidationSchema({
88
89
  values,
89
90
  pairValueName: 'httpProxy',
90
91
  allowEmpty: true,
92
+ t,
91
93
  }), // share the schema, httpS is currently not supported
92
- noProxy: noProxyValidationSchema,
94
+ noProxy: noProxyValidationSchema(t),
93
95
  labels: Yup.array()
94
96
  .of(Yup.string())
95
97
  .test(
96
98
  'label-equals-validation',
97
- 'Label selector needs to be in a `key=value` form',
99
+ t('ai:Label needs to be in a `key=value` form'),
98
100
  (values) =>
99
101
  (values as string[]).every((value) => {
100
102
  const parts = value.split('=');
101
103
  return parts.length === 2;
102
104
  }),
103
105
  ),
104
- additionalNtpSources: ntpSourceValidationSchema,
106
+ additionalNtpSources: ntpSourceValidationSchema(t),
105
107
  }),
106
108
  );
107
109
 
@@ -61,48 +61,65 @@ export const isValidImageSet = (
61
61
  );
62
62
  };
63
63
 
64
+ // Extracts major.minor version, strips any non-numeric prefix (e.g., "img4.18.55" → "4.18")
65
+ const extractMajorMinor = (version: string): string => {
66
+ const versionWithoutPrefix = version.replace(/^[^\d]*/, '');
67
+ return versionWithoutPrefix.split('.').slice(0, 2).join('.');
68
+ };
69
+
70
+ // Converts a ClusterImageSet to an OpenshiftVersionOptionType
71
+ const toVersionOption = (
72
+ clusterImageSet: ClusterImageSetK8sResource,
73
+ ): OpenshiftVersionOptionType => {
74
+ const version =
75
+ getVersionFromReleaseImage(clusterImageSet.spec?.releaseImage) ||
76
+ clusterImageSet.metadata?.name ||
77
+ '';
78
+ const cpuArch = getCPUArchFromReleaseImage(clusterImageSet.spec?.releaseImage);
79
+ return {
80
+ label: `OpenShift ${version}`,
81
+ version,
82
+ value: clusterImageSet.metadata?.name as string,
83
+ default: false,
84
+ // (rawagner) ACM does not have the warning so changing to 'production'
85
+ // supportLevel : getSupportLevelFromChannel(clusterImageSet.metadata?.labels?.channel)
86
+ supportLevel: 'production',
87
+ cpuArchitectures: cpuArch ? [cpuArch as CpuArchitecture] : undefined,
88
+ };
89
+ };
90
+
91
+ /**
92
+ * In case there are osImages specified on the AgentServiceConfig, we want to limit
93
+ * the availability in the dropdown to only versions that are listed there.
94
+ * Otherwise the installation fails.
95
+ */
96
+ const hasMatchingOsImage = (
97
+ version: OpenshiftVersionOptionType,
98
+ osImageVersions: (string | undefined)[],
99
+ ): boolean => {
100
+ if (!osImageVersions.length) return true;
101
+ return osImageVersions.includes(extractMajorMinor(version.version));
102
+ };
103
+
64
104
  export const getOCPVersions = (
65
105
  clusterImageSets: ClusterImageSetK8sResource[],
66
- isNutanix?: boolean | undefined,
106
+ isNutanix?: boolean,
67
107
  osImages?: OsImage[],
68
108
  extended?: boolean,
69
109
  ): OpenshiftVersionOptionType[] => {
70
- const ocpImageVersions = Array.from(
71
- new Set(osImages?.map((osImage) => osImage.openshiftVersion)),
72
- );
110
+ const architectures = isNutanix ? supportedNutanixPlatforms : undefined;
111
+ const osImageVersions = [...new Set(osImages?.map((img) => img.openshiftVersion))];
73
112
 
74
113
  const versions = clusterImageSets
75
- .filter((clusterImageSet) =>
76
- isValidImageSet(clusterImageSet, isNutanix ? supportedNutanixPlatforms : undefined, extended),
77
- )
78
- .map((clusterImageSet): OpenshiftVersionOptionType => {
79
- const version = getVersionFromReleaseImage(clusterImageSet.spec?.releaseImage);
80
- const cpuArch = getCPUArchFromReleaseImage(clusterImageSet.spec?.releaseImage);
81
- return {
82
- label: `OpenShift ${version ? version : (clusterImageSet.metadata?.name as string)}`,
83
- version: version || clusterImageSet.metadata?.name || '',
84
- value: clusterImageSet.metadata?.name as string,
85
- default: false,
86
- // (rawagner) ACM does not have the warning so changing to 'production'
87
- supportLevel: 'production', // getSupportLevelFromChannel(clusterImageSet.metadata?.labels?.channel),
88
- cpuArchitectures: cpuArch ? [cpuArch as CpuArchitecture] : undefined,
89
- };
90
- })
91
- .filter((ocpVersion) => {
92
- const ver = ocpVersion.version.split('.').slice(0, 2).join('.');
93
- return !!ocpImageVersions.length ? ocpImageVersions.includes(ver) : true;
94
- })
95
- .sort(
96
- (versionA, versionB) => /* descending */ -1 * versionA.label.localeCompare(versionB.label),
97
- );
98
-
99
- if (versions.length) {
100
- // make sure that the pre-selected one is the first-one after sorting
101
- versions[0].default = true;
102
- }
114
+ .filter((clusterImageSet) => isValidImageSet(clusterImageSet, architectures, extended))
115
+ .map(toVersionOption)
116
+ .filter((v) => hasMatchingOsImage(v, osImageVersions))
117
+ .sort((a, b) => b.label.localeCompare(a.label));
118
+
119
+ // Mark first version as the default selection
120
+ versions[0] && (versions[0].default = true);
103
121
 
104
- const deduped = uniqBy(versions, (v) => v.version);
105
- return deduped;
122
+ return uniqBy(versions, (v) => v.version);
106
123
  };
107
124
 
108
125
  export const getSelectedVersion = (
@@ -100,9 +100,15 @@ export const CimConfigurationModal: React.FC<CimConfigurationModalProps> = ({
100
100
  };
101
101
 
102
102
  const validationSchema = Yup.object<CimConfigurationValues>({
103
- dbVolSize: Yup.number().min(MIN_DB_VOL_SIZE, t('ai:Minimal value is 1Gi')).required(),
104
- fsVolSize: Yup.number().min(MIN_FS_VOL_SIZE, t('ai:Minimal value is 1Gi')).required(),
105
- imgVolSize: Yup.number().min(MIN_IMG_VOL_SIZE, t('ai:Minimal value is 10Gi')).required(),
103
+ dbVolSize: Yup.number()
104
+ .min(MIN_DB_VOL_SIZE, t('ai:Minimal value is 1Gi'))
105
+ .required(t('ai:Required field')),
106
+ fsVolSize: Yup.number()
107
+ .min(MIN_FS_VOL_SIZE, t('ai:Minimal value is 1Gi'))
108
+ .required(t('ai:Required field')),
109
+ imgVolSize: Yup.number()
110
+ .min(MIN_IMG_VOL_SIZE, t('ai:Minimal value is 10Gi'))
111
+ .required(t('ai:Required field')),
106
112
  configureLoadBalancer: Yup.boolean(),
107
113
  ciscoIntersightURL: Yup.string().when('addCiscoIntersightUrl', {
108
114
  is: true,
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import * as Yup from 'yup';
3
+ import { TFunction } from 'i18next';
3
4
  import {
4
5
  Alert,
5
6
  Button,
@@ -25,20 +26,22 @@ import {
25
26
  import { getErrorMessage } from '../../../common/utils';
26
27
  import { getWarningMessage } from './utils';
27
28
 
28
- const validationSchema = () =>
29
+ const validationSchema = (t: TFunction) =>
29
30
  Yup.lazy((values: ProxyFieldsType) =>
30
31
  Yup.object<ProxyFieldsType>().shape({
31
32
  httpProxy: httpProxyValidationSchema({
32
33
  values,
33
34
  pairValueName: 'httpsProxy',
34
35
  allowEmpty: true,
36
+ t,
35
37
  }),
36
38
  httpsProxy: httpProxyValidationSchema({
37
39
  values,
38
40
  pairValueName: 'httpProxy',
39
41
  allowEmpty: true,
42
+ t,
40
43
  }),
41
- noProxy: noProxyValidationSchema,
44
+ noProxy: noProxyValidationSchema(t),
42
45
  }),
43
46
  );
44
47
 
@@ -91,7 +94,7 @@ const EditProxyModal: React.FC<EditProxyModalProps> = ({
91
94
  noProxy: infraEnv.spec?.proxy?.noProxy,
92
95
  enableProxy,
93
96
  }}
94
- validationSchema={validationSchema}
97
+ validationSchema={validationSchema(t)}
95
98
  onSubmit={async (values: ProxyFieldsType) => {
96
99
  setError(undefined);
97
100
  try {
@@ -23,7 +23,7 @@ import { useTranslation } from '../../../common/hooks/use-translation-wrapper';
23
23
 
24
24
  const validationSchema = (t: TFunction) =>
25
25
  Yup.object({
26
- pullSecret: pullSecretValidationSchema.required(t('ai:Pull secret is a required field.')),
26
+ pullSecret: pullSecretValidationSchema(t).required(t('ai:Pull secret is a required field.')),
27
27
  });
28
28
 
29
29
  type EditPullSecretFormProps = {