@openshift-assisted/ui-lib 2.14.1-cim → 2.14.2-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 (160) hide show
  1. package/build/@types/cim/components/ClusterDeployment/ACMClusterDeploymentDetailsStep.d.ts +2 -3
  2. package/build/@types/cim/components/ClusterDeployment/ACMClusterDeploymentDetailsStep.d.ts.map +1 -1
  3. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentDetailsForm.d.ts +3 -0
  4. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentDetailsForm.d.ts.map +1 -1
  5. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.d.ts.map +1 -1
  6. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentHostDiscoveryTable.d.ts.map +1 -1
  7. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentHostSelectionStep.d.ts.map +1 -1
  8. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscovery.d.ts.map +1 -1
  9. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscoveryStep.d.ts +1 -1
  10. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscoveryStep.d.ts.map +1 -1
  11. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentNetworkingStep.d.ts +15 -2
  12. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentNetworkingStep.d.ts.map +1 -1
  13. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentReviewStep.d.ts +1 -2
  14. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentReviewStep.d.ts.map +1 -1
  15. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentWizard.d.ts +1 -2
  16. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentWizard.d.ts.map +1 -1
  17. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentWizardContext.d.ts +8 -7
  18. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentWizardContext.d.ts.map +1 -1
  19. package/build/@types/cim/components/ClusterDeployment/components/ClusterDeploymentHostsSelectionAdvanced.d.ts +17 -0
  20. package/build/@types/cim/components/ClusterDeployment/components/ClusterDeploymentHostsSelectionAdvanced.d.ts.map +1 -0
  21. package/build/@types/cim/components/ClusterDeployment/components/ClusterScaleUpAutoHostsSelection.d.ts +8 -0
  22. package/build/@types/cim/components/ClusterDeployment/components/ClusterScaleUpAutoHostsSelection.d.ts.map +1 -0
  23. package/build/@types/cim/components/ClusterDeployment/components/ValidationSection.d.ts +16 -0
  24. package/build/@types/cim/components/ClusterDeployment/components/ValidationSection.d.ts.map +1 -0
  25. package/build/@types/cim/components/ClusterDeployment/constants.d.ts +2 -0
  26. package/build/@types/cim/components/ClusterDeployment/constants.d.ts.map +1 -1
  27. package/build/@types/cim/components/ClusterDeployment/index.d.ts +1 -2
  28. package/build/@types/cim/components/ClusterDeployment/index.d.ts.map +1 -1
  29. package/build/@types/cim/components/ClusterDeployment/networkConfigurationValidation.d.ts +1 -11
  30. package/build/@types/cim/components/ClusterDeployment/networkConfigurationValidation.d.ts.map +1 -1
  31. package/build/@types/cim/components/ClusterDeployment/types.d.ts +7 -9
  32. package/build/@types/cim/components/ClusterDeployment/types.d.ts.map +1 -1
  33. package/build/@types/cim/components/ClusterDeployment/use-networking-formik.d.ts +8 -2
  34. package/build/@types/cim/components/ClusterDeployment/use-networking-formik.d.ts.map +1 -1
  35. package/build/@types/cim/components/Hypershift/DetailsPage/HypershiftKubeconfigDownload.d.ts.map +1 -1
  36. package/build/@types/cim/components/Hypershift/types.d.ts +6 -3
  37. package/build/@types/cim/components/Hypershift/types.d.ts.map +1 -1
  38. package/build/@types/cim/components/InfraEnv/InfraEnvAgentTable.d.ts.map +1 -1
  39. package/build/@types/cim/components/helpers/agents.d.ts +3 -0
  40. package/build/@types/cim/components/helpers/agents.d.ts.map +1 -1
  41. package/build/@types/cim/components/helpers/toAssisted.d.ts.map +1 -1
  42. package/build/@types/cim/components/modals/EditAgentModal.d.ts.map +1 -1
  43. package/build/@types/cim/components/modals/ScaleUpModal.d.ts +3 -0
  44. package/build/@types/cim/components/modals/ScaleUpModal.d.ts.map +1 -1
  45. package/build/@types/common/components/clusterWizard/networkingSteps/AvailableSubnetsControl.d.ts.map +1 -1
  46. package/build/@types/common/components/hosts/EditHostForm.d.ts.map +1 -1
  47. package/build/@types/common/components/ui/formik/validationSchemas.d.ts.map +1 -1
  48. package/build/cjs/cim/components/ClusterDeployment/ACMClusterDeploymentDetailsStep.js +9 -7
  49. package/build/cjs/cim/components/ClusterDeployment/ACMClusterDeploymentDetailsStep.js.map +1 -1
  50. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentDetailsForm.js +26 -1
  51. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentDetailsForm.js.map +1 -1
  52. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.js +13 -29
  53. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.js.map +1 -1
  54. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentHostDiscoveryTable.js +2 -12
  55. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentHostDiscoveryTable.js.map +1 -1
  56. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentHostSelectionStep.js +50 -26
  57. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentHostSelectionStep.js.map +1 -1
  58. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscovery.js +3 -3
  59. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscovery.js.map +1 -1
  60. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscoveryStep.js +39 -21
  61. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscoveryStep.js.map +1 -1
  62. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentNetworkingStep.js +58 -27
  63. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentNetworkingStep.js.map +1 -1
  64. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentReviewStep.js +24 -24
  65. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentReviewStep.js.map +1 -1
  66. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentWizard.js +26 -42
  67. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentWizard.js.map +1 -1
  68. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentWizardContext.js +12 -8
  69. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentWizardContext.js.map +1 -1
  70. package/build/cjs/cim/components/ClusterDeployment/NetworkConfiguration.js +5 -5
  71. package/build/cjs/cim/components/ClusterDeployment/NetworkConfiguration.js.map +1 -1
  72. package/build/cjs/cim/components/ClusterDeployment/components/ClusterDeploymentHostsSelectionAdvanced.js +50 -0
  73. package/build/cjs/cim/components/ClusterDeployment/components/ClusterDeploymentHostsSelectionAdvanced.js.map +1 -0
  74. package/build/cjs/cim/components/ClusterDeployment/components/ClusterScaleUpAutoHostsSelection.js +24 -0
  75. package/build/cjs/cim/components/ClusterDeployment/components/ClusterScaleUpAutoHostsSelection.js.map +1 -0
  76. package/build/cjs/cim/components/ClusterDeployment/components/ValidationSection.js +17 -0
  77. package/build/cjs/cim/components/ClusterDeployment/components/ValidationSection.js.map +1 -0
  78. package/build/cjs/cim/components/ClusterDeployment/constants.js +2 -0
  79. package/build/cjs/cim/components/ClusterDeployment/constants.js.map +1 -1
  80. package/build/cjs/cim/components/ClusterDeployment/index.js +2 -5
  81. package/build/cjs/cim/components/ClusterDeployment/index.js.map +1 -1
  82. package/build/cjs/cim/components/ClusterDeployment/networkConfigurationValidation.js +1 -14
  83. package/build/cjs/cim/components/ClusterDeployment/networkConfigurationValidation.js.map +1 -1
  84. package/build/cjs/cim/components/ClusterDeployment/use-networking-formik.js +2 -2
  85. package/build/cjs/cim/components/ClusterDeployment/use-networking-formik.js.map +1 -1
  86. package/build/cjs/cim/components/Hypershift/DetailsPage/HypershiftKubeconfigDownload.js +6 -4
  87. package/build/cjs/cim/components/Hypershift/DetailsPage/HypershiftKubeconfigDownload.js.map +1 -1
  88. package/build/cjs/cim/components/InfraEnv/InfraEnvAgentTable.js +2 -12
  89. package/build/cjs/cim/components/InfraEnv/InfraEnvAgentTable.js.map +1 -1
  90. package/build/cjs/cim/components/helpers/agents.js +19 -1
  91. package/build/cjs/cim/components/helpers/agents.js.map +1 -1
  92. package/build/cjs/cim/components/helpers/toAssisted.js +25 -23
  93. package/build/cjs/cim/components/helpers/toAssisted.js.map +1 -1
  94. package/build/cjs/cim/components/modals/EditAgentModal.js +2 -2
  95. package/build/cjs/cim/components/modals/EditAgentModal.js.map +1 -1
  96. package/build/cjs/cim/components/modals/ScaleUpModal.js +3 -2
  97. package/build/cjs/cim/components/modals/ScaleUpModal.js.map +1 -1
  98. package/build/cjs/common/components/clusterWizard/networkingSteps/AvailableSubnetsControl.js +14 -18
  99. package/build/cjs/common/components/clusterWizard/networkingSteps/AvailableSubnetsControl.js.map +1 -1
  100. package/build/cjs/common/components/clusterWizard/networkingSteps/VirtualIPControlGroup.js +4 -4
  101. package/build/cjs/common/components/clusterWizard/networkingSteps/VirtualIPControlGroup.js.map +1 -1
  102. package/build/cjs/common/components/hosts/EditHostForm.js +3 -3
  103. package/build/cjs/common/components/hosts/EditHostForm.js.map +1 -1
  104. package/build/cjs/common/components/ui/formik/validationSchemas.js +18 -15
  105. package/build/cjs/common/components/ui/formik/validationSchemas.js.map +1 -1
  106. package/build/cjs/common/config/constants.js +1 -1
  107. package/build/cjs/common/config/constants.js.map +1 -1
  108. package/lib/cim/components/ClusterDeployment/ACMClusterDeploymentDetailsStep.tsx +11 -9
  109. package/lib/cim/components/ClusterDeployment/ClusterDeploymentDetailsForm.tsx +63 -3
  110. package/lib/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.tsx +25 -53
  111. package/lib/cim/components/ClusterDeployment/ClusterDeploymentHostDiscoveryTable.tsx +7 -16
  112. package/lib/cim/components/ClusterDeployment/ClusterDeploymentHostSelectionStep.tsx +102 -59
  113. package/lib/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscovery.tsx +16 -10
  114. package/lib/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscoveryStep.tsx +84 -48
  115. package/lib/cim/components/ClusterDeployment/ClusterDeploymentNetworkingStep.tsx +106 -54
  116. package/lib/cim/components/ClusterDeployment/ClusterDeploymentReviewStep.tsx +96 -85
  117. package/lib/cim/components/ClusterDeployment/ClusterDeploymentWizard.tsx +109 -119
  118. package/lib/cim/components/ClusterDeployment/ClusterDeploymentWizardContext.tsx +27 -14
  119. package/lib/cim/components/ClusterDeployment/NetworkConfiguration.tsx +5 -5
  120. package/lib/cim/components/ClusterDeployment/components/ClusterDeploymentHostsSelectionAdvanced.tsx +107 -0
  121. package/lib/cim/components/ClusterDeployment/components/ClusterScaleUpAutoHostsSelection.tsx +49 -0
  122. package/lib/cim/components/ClusterDeployment/components/ValidationSection.tsx +41 -0
  123. package/lib/cim/components/ClusterDeployment/constants.ts +3 -1
  124. package/lib/cim/components/ClusterDeployment/index.ts +1 -3
  125. package/lib/cim/components/ClusterDeployment/networkConfigurationValidation.ts +1 -26
  126. package/lib/cim/components/ClusterDeployment/types.ts +7 -10
  127. package/lib/cim/components/ClusterDeployment/use-networking-formik.ts +3 -3
  128. package/lib/cim/components/Hypershift/DetailsPage/HypershiftKubeconfigDownload.tsx +4 -2
  129. package/lib/cim/components/Hypershift/types.ts +6 -3
  130. package/lib/cim/components/InfraEnv/InfraEnvAgentTable.tsx +7 -16
  131. package/lib/cim/components/helpers/agents.ts +30 -1
  132. package/lib/cim/components/helpers/toAssisted.ts +12 -8
  133. package/lib/cim/components/modals/EditAgentModal.tsx +2 -1
  134. package/lib/cim/components/modals/ScaleUpModal.tsx +12 -2
  135. package/lib/common/components/clusterWizard/networkingSteps/AvailableSubnetsControl.tsx +50 -61
  136. package/lib/common/components/clusterWizard/networkingSteps/VirtualIPControlGroup.tsx +4 -4
  137. package/lib/common/components/hosts/EditHostForm.tsx +16 -6
  138. package/lib/common/components/ui/formik/validationSchemas.ts +13 -10
  139. package/lib/common/config/constants.ts +1 -1
  140. package/package.json +4 -3
  141. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentCreateProgress.d.ts +0 -10
  142. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentCreateProgress.d.ts.map +0 -1
  143. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentWizardFooter.d.ts +0 -13
  144. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentWizardFooter.d.ts.map +0 -1
  145. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentWizardNavigation.d.ts +0 -4
  146. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentWizardNavigation.d.ts.map +0 -1
  147. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentWizardStep.d.ts +0 -7
  148. package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentWizardStep.d.ts.map +0 -1
  149. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentCreateProgress.js +0 -31
  150. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentCreateProgress.js.map +0 -1
  151. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentWizardFooter.js +0 -50
  152. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentWizardFooter.js.map +0 -1
  153. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentWizardNavigation.js +0 -35
  154. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentWizardNavigation.js.map +0 -1
  155. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentWizardStep.js +0 -9
  156. package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentWizardStep.js.map +0 -1
  157. package/lib/cim/components/ClusterDeployment/ClusterDeploymentCreateProgress.tsx +0 -79
  158. package/lib/cim/components/ClusterDeployment/ClusterDeploymentWizardFooter.tsx +0 -128
  159. package/lib/cim/components/ClusterDeployment/ClusterDeploymentWizardNavigation.tsx +0 -81
  160. package/lib/cim/components/ClusterDeployment/ClusterDeploymentWizardStep.tsx +0 -13
@@ -17,14 +17,13 @@ import { BMCFormProps } from '../Agent/types';
17
17
  import { AgentMachineK8sResource } from '../Hypershift/types';
18
18
  import { AddHostDropdownProps, ProvisioningConfigResult } from '../InfraEnv/types';
19
19
  import { AddHostModalProps, EditBMHModalProps, UploadActionModalProps } from '../modals/types';
20
+ import { Host } from '@openshift-assisted/types/assisted-installer-service';
20
21
 
21
22
  export type EditAgentModalProps = {
22
- agent: AgentK8sResource | undefined;
23
- isOpen: boolean;
23
+ agent: AgentK8sResource;
24
24
  usedHostnames: string[] | undefined;
25
25
  onClose: () => void;
26
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
27
- onSave: (agent: AgentK8sResource, hostname: string) => Promise<any>;
26
+ onSave: (host: Host, hostname: string) => Promise<unknown>;
28
27
  };
29
28
 
30
29
  export type AgentTableActions = {
@@ -85,7 +84,6 @@ export type ScaleUpFormValues = Omit<
85
84
 
86
85
  export type ClusterDeploymentDetailsStepProps = ClusterDeploymentDetailsProps & {
87
86
  onSaveDetails: (values: ClusterDeploymentDetailsValues) => Promise<unknown>;
88
- onClose: () => void;
89
87
  isPreviewOpen: boolean;
90
88
  isNutanix: boolean;
91
89
  };
@@ -98,7 +96,6 @@ export type ClusterDeploymentDetailsNetworkingProps = Pick<
98
96
  agentClusterInstall: AgentClusterInstallK8sResource;
99
97
  agents: AgentK8sResource[];
100
98
  onSaveNetworking: (values: ClusterDeploymentNetworkingValues) => Promise<string | void>;
101
- onClose: () => void;
102
99
  fetchInfraEnv: (name: string, namespace: string) => Promise<InfraEnvK8sResource>;
103
100
  isPreviewOpen: boolean;
104
101
  isNutanix: boolean;
@@ -115,7 +112,6 @@ export type ClusterDeploymentHostSelectionStepProps = Omit<
115
112
  'onHostSelect' | 'onAutoSelectChange'
116
113
  > & {
117
114
  onSaveHostsSelection: (values: ClusterDeploymentHostsSelectionValues) => Promise<string | void>;
118
- onClose: () => void;
119
115
  };
120
116
 
121
117
  export type ClusterDeploymentHostsDiscoveryStepProps = Omit<
@@ -123,7 +119,6 @@ export type ClusterDeploymentHostsDiscoveryStepProps = Omit<
123
119
  'usedHostnames'
124
120
  > & {
125
121
  onSaveHostsDiscovery: () => Promise<void>;
126
- onClose: () => void;
127
122
  };
128
123
 
129
124
  export type ClusterDeploymentWizardProps = {
@@ -146,6 +141,7 @@ export type ClusterDeploymentWizardProps = {
146
141
  clusterDeployment: ClusterDeploymentK8sResource;
147
142
  agentClusterInstall: AgentClusterInstallK8sResource;
148
143
  agents: AgentK8sResource[];
144
+ bareMetalHosts: BareMetalHostK8sResource[];
149
145
  aiConfigMap?: ConfigMapK8sResource;
150
146
  infraEnv?: InfraEnvK8sResource;
151
147
  infraNMStates: NMStateK8sResource[];
@@ -155,7 +151,8 @@ export type ClusterDeploymentWizardProps = {
155
151
  setPreviewOpen: (open: boolean) => void;
156
152
  fetchManagedClusters: () => Promise<K8sResourceCommon[]>;
157
153
  fetchKlusterletAddonConfig: () => Promise<K8sResourceCommon[]>;
158
- onSaveAgent: EditAgentModalProps['onSave'];
154
+ onChangeHostname: ClusterDeploymentHostsDiscoveryStepProps['onChangeHostname'];
155
+ onChangeBMHHostname: ClusterDeploymentHostsDiscoveryStepProps['onChangeBMHHostname'];
159
156
  onSaveBMH: EditBMHModalProps['onEdit'];
160
157
  onSaveISOParams?: AddHostModalProps['onSaveISOParams'];
161
158
  onSaveHostsDiscovery: ClusterDeploymentHostsDiscoveryStepProps['onSaveHostsDiscovery'];
@@ -225,7 +222,7 @@ export type ClusterDeploymentHostsDiscoveryProps = AddHostDropdownProps & {
225
222
  aiConfigMap?: ConfigMapK8sResource;
226
223
  infraNMStates: NMStateK8sResource[];
227
224
 
228
- onSaveAgent: EditAgentModalProps['onSave'];
225
+ onChangeHostname: InfraEnvAgentTableProps['onChangeHostname'];
229
226
  onEditRole: ClusterDeploymentHostDiscoveryTableProps['onEditRole'];
230
227
  onSetInstallationDiskId: AgentTableActions['onSetInstallationDiskId'];
231
228
  onSaveBMH: EditBMHModalProps['onEdit'];
@@ -17,7 +17,7 @@ import {
17
17
  HostSubnets,
18
18
  hostPrefixValidationSchema,
19
19
  ipBlockValidationSchema,
20
- vipValidationSchema,
20
+ vipArrayValidationSchema,
21
21
  sshPublicKeyValidationSchema,
22
22
  hostSubnetValidationSchema,
23
23
  httpProxyValidationSchema,
@@ -50,8 +50,8 @@ const getNetworkConfigurationValidationSchema = (
50
50
  clusterNetworkHostPrefix: hostPrefixValidationSchema(values.clusterNetworkCidr),
51
51
  clusterNetworkCidr: ipBlockValidationSchema(values.serviceNetworkCidr),
52
52
  serviceNetworkCidr: ipBlockValidationSchema(values.clusterNetworkCidr),
53
- apiVip: vipValidationSchema(hostSubnets, values, initialValues.apiVip),
54
- ingressVip: vipValidationSchema(hostSubnets, values, initialValues.ingressVip),
53
+ apiVips: vipArrayValidationSchema(hostSubnets, values, initialValues.apiVips),
54
+ ingressVips: vipArrayValidationSchema(hostSubnets, values, initialValues.ingressVips),
55
55
  sshPublicKey: sshPublicKeyValidationSchema,
56
56
  hostSubnet: hostSubnetValidationSchema,
57
57
  httpProxy: httpProxyValidationSchema({ values, pairValueName: 'httpsProxy' }),
@@ -15,8 +15,10 @@ const HypershiftKubeconfigDownload = ({
15
15
  fetchSecret,
16
16
  }: HypershiftKubeconfigDownloadProps) => {
17
17
  const { t } = useTranslation();
18
+ const kubeconfigSecretName = hostedCluster.status?.customkubeconfig
19
+ ? hostedCluster.status.customkubeconfig?.name
20
+ : hostedCluster.status?.kubeconfig?.name;
18
21
  const handleKubeconfigDownload = async () => {
19
- const kubeconfigSecretName = hostedCluster.status?.kubeconfig?.name;
20
22
  const kubeconfigSecretNamespace = hostedCluster.metadata?.namespace;
21
23
 
22
24
  if (kubeconfigSecretName && kubeconfigSecretNamespace) {
@@ -41,7 +43,7 @@ const HypershiftKubeconfigDownload = ({
41
43
  variant={ButtonVariant.secondary}
42
44
  // eslint-disable-next-line @typescript-eslint/no-misused-promises
43
45
  onClick={handleKubeconfigDownload}
44
- isDisabled={!hostedCluster.status?.kubeconfig?.name}
46
+ isDisabled={!kubeconfigSecretName}
45
47
  >
46
48
  {t('ai:Download kubeconfig')}
47
49
  </Button>
@@ -133,11 +133,11 @@ export type HostedClusterK8sResource = K8sResourceCommon & {
133
133
  endpointAccess: 'Public';
134
134
  kubeCloudControllerCreds: { name?: string };
135
135
  nodePoolManagementCreds: { name?: string };
136
- region: 'us-west-2';
136
+ region: string;
137
137
  resourceTags: [
138
138
  {
139
- key: 'kubernetes.io/cluster/feng-hs-scale-74zxh';
140
- value: 'owned';
139
+ key: string;
140
+ value: string;
141
141
  },
142
142
  ];
143
143
  };
@@ -157,6 +157,9 @@ export type HostedClusterK8sResource = K8sResourceCommon & {
157
157
  kubeconfig?: {
158
158
  name: string;
159
159
  };
160
+ customkubeconfig?: {
161
+ name: string;
162
+ };
160
163
  kubeadminPassword?: {
161
164
  name: string;
162
165
  };
@@ -1,7 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { Button, Stack, StackItem } from '@patternfly/react-core';
3
3
  import { DropdownItem } from '@patternfly/react-core/deprecated';
4
- import noop from 'lodash-es/noop.js';
5
4
 
6
5
  import { Host } from '@openshift-assisted/types/assisted-installer-service';
7
6
  import {
@@ -33,12 +32,12 @@ import {
33
32
  } from '../../../common';
34
33
  import { InfraEnvAgentTableProps } from '../ClusterDeployment/types';
35
34
  import { MassApproveAgentModal, MassDeleteAgentModal } from '../modals';
36
- import { MassChangeHostnameModalProps } from '../../../common/components/hosts/MassChangeHostnameModal';
37
35
  import MassApproveAction from '../modals/MassApproveAction';
38
36
  import { usePagination } from '../../../common/components/hosts/usePagination';
39
37
  import InfraTableToolbar from './InfraTableToolbar';
40
38
  import { useTranslation } from '../../../common/hooks/use-translation-wrapper';
41
39
  import { agentStatus, bmhStatus } from '../helpers/agentStatus';
40
+ import { onAgentChangeHostname } from '../helpers';
42
41
 
43
42
  type NoFilterMatchStateProps = {
44
43
  onClearFilters: VoidFunction;
@@ -205,19 +204,6 @@ const InfraEnvAgentTable: React.FC<InfraEnvAgentTableProps> = ({
205
204
  <DeleteHostAction key="delete" onDeleteHost={() => setMassDeleteOpen(!isMassDeleteOpen)} />,
206
205
  ];
207
206
 
208
- const onAgentChangeHostname: MassChangeHostnameModalProps['onChangeHostname'] = async (
209
- host,
210
- hostname,
211
- ) => {
212
- const agent = agents.find((a) => a.metadata?.uid === host.id);
213
- if (agent) {
214
- return onChangeHostname(agent, hostname);
215
- } else {
216
- const bmh = bareMetalHosts.find((bmh) => bmh.metadata?.uid === host.id);
217
- return bmh ? onChangeBMHHostname(bmh, hostname) : noop;
218
- }
219
- };
220
-
221
207
  const paginationProps = usePagination(hosts.length);
222
208
 
223
209
  return (
@@ -272,7 +258,12 @@ const InfraEnvAgentTable: React.FC<InfraEnvAgentTableProps> = ({
272
258
  isOpen={isMassChangeHostOpen}
273
259
  hosts={hosts}
274
260
  selectedHostIDs={selectedHostIDs}
275
- onChangeHostname={onAgentChangeHostname}
261
+ onChangeHostname={onAgentChangeHostname(
262
+ agents,
263
+ bareMetalHosts,
264
+ onChangeHostname,
265
+ onChangeBMHHostname,
266
+ )}
276
267
  onClose={() => setMassChangeHostOpen(false)}
277
268
  canChangeHostname={canChangeHostname(agents, agentStatuses, bareMetalHosts, t)}
278
269
  />
@@ -1,7 +1,7 @@
1
1
  import { AgentStatus, getAgentStatusKey } from './status';
2
2
  import { Host } from '@openshift-assisted/types/assisted-installer-service';
3
3
  import { AgentK8sResource, BareMetalHostK8sResource } from '../../types';
4
- import { INFRAENV_AGENTINSTALL_LABEL_KEY } from '../common/constants';
4
+ import { AGENT_BMH_NAME_LABEL_KEY, INFRAENV_AGENTINSTALL_LABEL_KEY } from '../common/constants';
5
5
 
6
6
  const AGENT_FOR_SELECTION_STATUSES: AgentStatus[] = [
7
7
  'known',
@@ -33,3 +33,32 @@ export const getInfraEnvNameOfAgent = (resource?: AgentK8sResource | BareMetalHo
33
33
 
34
34
  export const getClusterNameOfAgent = (agent?: AgentK8sResource) =>
35
35
  agent?.spec?.clusterDeploymentName?.name;
36
+
37
+ type OnAgentChangeHostname<A = AgentK8sResource, B = BareMetalHostK8sResource> = (
38
+ agents: A[],
39
+ bmhs: B[],
40
+ onChangeHostname: (agent: A, hostname: string) => Promise<unknown>,
41
+ onChangeBMHHostname: (bmh: B, hostname: string) => Promise<unknown>,
42
+ ) => (host: Host, hostname: string) => Promise<unknown>;
43
+
44
+ export const onAgentChangeHostname: OnAgentChangeHostname<
45
+ AgentK8sResource,
46
+ BareMetalHostK8sResource
47
+ > = (agents, bmhs, onChangeHostname, onChangeBMHHostname) => (host, hostname) => {
48
+ const agent = agents.find((a) => a.metadata?.uid === host.id);
49
+ let bmh: BareMetalHostK8sResource | undefined;
50
+ if (agent) {
51
+ const bmhName = agent.metadata?.labels?.[AGENT_BMH_NAME_LABEL_KEY];
52
+ if (!bmhName) {
53
+ return onChangeHostname(agent, hostname);
54
+ }
55
+ // If Agent is backed by BMH, we need to update hostname on BMH
56
+ bmh = bmhs.find(
57
+ (bmh) =>
58
+ bmh.metadata?.namespace === agent.metadata?.namespace && bmh.metadata?.name === bmhName,
59
+ );
60
+ } else {
61
+ bmh = bmhs.find((bmh) => bmh.metadata?.uid === host.id);
62
+ }
63
+ return bmh ? onChangeBMHHostname(bmh, hostname) : Promise.resolve(undefined);
64
+ };
@@ -135,14 +135,18 @@ export const getAICluster = ({
135
135
  name: clusterDeployment.spec?.clusterName,
136
136
  baseDnsDomain: clusterDeployment.spec?.baseDomain,
137
137
  openshiftVersion: installVersion,
138
- apiVips: [
139
- {
140
- ip: agentClusterInstall?.status?.apiVIP || agentClusterInstall?.spec?.apiVIP,
141
- },
142
- ],
143
- ingressVips: [
144
- { ip: agentClusterInstall?.status?.ingressVIP || agentClusterInstall?.spec?.apiVIP },
145
- ],
138
+ apiVips:
139
+ agentClusterInstall?.status?.apiVIP || agentClusterInstall?.spec?.apiVIP
140
+ ? [
141
+ {
142
+ ip: agentClusterInstall?.status?.apiVIP || agentClusterInstall?.spec?.apiVIP,
143
+ },
144
+ ]
145
+ : [],
146
+ ingressVips:
147
+ agentClusterInstall?.status?.ingressVIP || agentClusterInstall?.spec?.ingressVIP
148
+ ? [{ ip: agentClusterInstall?.status?.ingressVIP || agentClusterInstall?.spec?.ingressVIP }]
149
+ : [],
146
150
  highAvailabilityMode:
147
151
  agentClusterInstall?.spec?.provisionRequirements?.controlPlaneAgents === 1 ? 'None' : 'Full',
148
152
  status,
@@ -7,11 +7,12 @@ const EditAgentModal: React.FC<EditAgentModalProps> = ({ agent, onSave, ...rest
7
7
  const [host] = agent ? getAIHosts([agent]) : [];
8
8
  return (
9
9
  <EditHostModal
10
+ isOpen
10
11
  host={host}
11
12
  inventory={agent?.status?.inventory}
12
13
  {...rest}
13
14
  onSave={async ({ hostname }) => {
14
- agent && (await onSave(agent, hostname));
15
+ agent && (await onSave(host, hostname));
15
16
  rest.onClose();
16
17
  }}
17
18
  />
@@ -25,6 +25,8 @@ import EditAgentModal from './EditAgentModal';
25
25
  import { getAgentsHostsNames } from '../ClusterDeployment/helpers';
26
26
  import { getErrorMessage } from '../../../common/utils';
27
27
  import { useTranslation } from '../../../common/hooks/use-translation-wrapper';
28
+ import { onAgentChangeHostname } from '../helpers';
29
+ import { BareMetalHostK8sResource } from '../../types';
28
30
 
29
31
  const getAgentsToAdd = (
30
32
  selectedHostIds: ScaleUpFormValues['selectedHostIds'] | ScaleUpFormValues['autoSelectedHostIds'],
@@ -56,7 +58,9 @@ type ScaleUpModalProps = {
56
58
  addHostsToCluster: (agentsToAdd: AgentK8sResource[]) => Promise<void>;
57
59
  clusterDeployment: ClusterDeploymentK8sResource;
58
60
  agents: AgentK8sResource[];
61
+ bareMetalHosts: BareMetalHostK8sResource[];
59
62
  onChangeHostname: (agent: AgentK8sResource, hostname: string) => Promise<AgentK8sResource>;
63
+ onChangeBMHHostname: (bmh: BareMetalHostK8sResource, hostname: string) => Promise<unknown>;
60
64
  onSetInstallationDiskId: AgentTableActions['onSetInstallationDiskId'];
61
65
  isNutanix: boolean;
62
66
  };
@@ -67,7 +71,9 @@ const ScaleUpModal: React.FC<ScaleUpModalProps> = ({
67
71
  addHostsToCluster,
68
72
  clusterDeployment,
69
73
  agents,
74
+ bareMetalHosts,
70
75
  onChangeHostname,
76
+ onChangeBMHHostname,
71
77
  onSetInstallationDiskId,
72
78
  isNutanix,
73
79
  }) => {
@@ -176,9 +182,13 @@ const ScaleUpModal: React.FC<ScaleUpModalProps> = ({
176
182
  {editAgent && (
177
183
  <EditAgentModal
178
184
  agent={editAgent}
179
- isOpen
180
185
  onClose={() => setEditAgent(undefined)}
181
- onSave={onChangeHostname}
186
+ onSave={onAgentChangeHostname(
187
+ agents,
188
+ bareMetalHosts,
189
+ onChangeHostname,
190
+ onChangeBMHHostname,
191
+ )}
182
192
  usedHostnames={getAgentsHostsNames(clusterAgents)}
183
193
  />
184
194
  )}
@@ -1,68 +1,11 @@
1
1
  import React from 'react';
2
2
  import { Alert, AlertActionLink, AlertVariant, Popover } from '@patternfly/react-core';
3
- import { HostSubnet, HostSubnets } from '../../../types/clusters';
4
- import { Cluster, Host } from '@openshift-assisted/types/assisted-installer-service';
3
+ import { HostSubnets } from '../../../types/clusters';
4
+ import { Host } from '@openshift-assisted/types/assisted-installer-service';
5
5
  import { SelectField } from '../../ui';
6
6
  import { NO_SUBNET_SET } from '../../../config';
7
7
  import { useTranslation } from '../../../hooks/use-translation-wrapper';
8
8
 
9
- interface SubnetHelperTextProps {
10
- matchingSubnet: HostSubnet;
11
- hosts: Cluster['hosts'];
12
- }
13
-
14
- const SubnetHelperText = ({ matchingSubnet, hosts }: SubnetHelperTextProps) => {
15
- const { t } = useTranslation();
16
- const excludedHosts =
17
- hosts?.filter(
18
- (host) =>
19
- !['disabled', 'disconnected'].includes(host.status) &&
20
- !matchingSubnet.hostIDs.includes(host.requestedHostname || ''),
21
- ) || [];
22
-
23
- // Workaround for bug in CIM backend. hostIDs are empty
24
- if (excludedHosts.length === 0 || !matchingSubnet.hostIDs.length) {
25
- return null;
26
- }
27
-
28
- const actionLinks = (
29
- <Popover
30
- position="right"
31
- bodyContent={
32
- <ul>
33
- {excludedHosts
34
- .sort(
35
- (hostA, hostB) =>
36
- hostA.requestedHostname?.localeCompare(hostB.requestedHostname || '') || 0,
37
- )
38
- .map((host) => (
39
- <li key={host.id}>{host.requestedHostname || host.id}</li>
40
- ))}
41
- </ul>
42
- }
43
- minWidth="30rem"
44
- maxWidth="50rem"
45
- >
46
- <AlertActionLink id="form-input-hostSubnet-field-helper-view-excluded">
47
- {t('ai:View {{count}} affected host', {
48
- count: excludedHosts.length,
49
- })}
50
- </AlertActionLink>
51
- </Popover>
52
- );
53
-
54
- return (
55
- <Alert
56
- title={t('ai:This subnet range is not available on all hosts')}
57
- variant={AlertVariant.warning}
58
- actionLinks={actionLinks}
59
- isInline
60
- >
61
- {t('ai:Hosts outside of this range will not be included in the new cluster.')}
62
- </Alert>
63
- );
64
- };
65
-
66
9
  export interface AvailableSubnetsControlProps {
67
10
  hostSubnets: HostSubnets;
68
11
  hosts: Host[];
@@ -79,14 +22,60 @@ export const AvailableSubnetsControl = ({
79
22
  const { t } = useTranslation();
80
23
  const getHelperText = (value: string) => {
81
24
  const matchingSubnet = hostSubnets.find((hn) => hn.subnet === value);
82
- if (matchingSubnet) {
25
+ if (matchingSubnet && isMultiNodeCluster) {
26
+ const excludedHosts =
27
+ hosts?.filter(
28
+ (host) =>
29
+ !['disabled', 'disconnected'].includes(host.status) &&
30
+ !matchingSubnet.hostIDs.includes(host.requestedHostname || ''),
31
+ ) || [];
32
+
33
+ // Workaround for bug in CIM backend. hostIDs are empty
34
+ if (excludedHosts.length === 0 || !matchingSubnet.hostIDs.length) {
35
+ return undefined;
36
+ }
37
+
38
+ const actionLinks = (
39
+ <Popover
40
+ position="right"
41
+ bodyContent={
42
+ <ul>
43
+ {excludedHosts
44
+ .sort(
45
+ (hostA, hostB) =>
46
+ hostA.requestedHostname?.localeCompare(hostB.requestedHostname || '') || 0,
47
+ )
48
+ .map((host) => (
49
+ <li key={host.id}>{host.requestedHostname || host.id}</li>
50
+ ))}
51
+ </ul>
52
+ }
53
+ minWidth="30rem"
54
+ maxWidth="50rem"
55
+ >
56
+ <AlertActionLink id="form-input-hostSubnet-field-helper-view-excluded">
57
+ {t('ai:View {{count}} affected host', {
58
+ count: excludedHosts.length,
59
+ })}
60
+ </AlertActionLink>
61
+ </Popover>
62
+ );
63
+
83
64
  return (
84
- isMultiNodeCluster && <SubnetHelperText matchingSubnet={matchingSubnet} hosts={hosts} />
65
+ <Alert
66
+ title={t('ai:This subnet range is not available on all hosts')}
67
+ variant={AlertVariant.warning}
68
+ actionLinks={actionLinks}
69
+ isInline
70
+ >
71
+ {t('ai:Hosts outside of this range will not be included in the new cluster.')}
72
+ </Alert>
85
73
  );
86
74
  }
87
75
 
88
76
  return undefined;
89
77
  };
78
+
90
79
  const hostSubnetLength = hostSubnets.length;
91
80
  return (
92
81
  <SelectField
@@ -122,7 +122,7 @@ export const VirtualIPControlGroup = ({
122
122
  <>
123
123
  <FormikStaticField
124
124
  label={t('ai:API IP')}
125
- name="apiVip"
125
+ name="apiVips.0.ip"
126
126
  helperText={apiVipHelperText}
127
127
  value={selectApiVip(cluster)}
128
128
  isValid={!apiVipFailedValidationMessage}
@@ -136,7 +136,7 @@ export const VirtualIPControlGroup = ({
136
136
  </FormikStaticField>
137
137
  <FormikStaticField
138
138
  label={t('ai:Ingress IP')}
139
- name="ingressVip"
139
+ name="ingressVips.0.ip"
140
140
  helperText={ingressVipHelperText}
141
141
  value={selectIngressVip(cluster)}
142
142
  isValid={!ingressVipFailedValidationMessage}
@@ -153,13 +153,13 @@ export const VirtualIPControlGroup = ({
153
153
  <>
154
154
  <InputField
155
155
  label={t('ai:API IP')}
156
- name="apiVip"
156
+ name="apiVips.0.ip"
157
157
  helperText={apiVipHelperText}
158
158
  isRequired
159
159
  isDisabled={!hostSubnets.length || values.hostSubnet === NO_SUBNET_SET}
160
160
  />
161
161
  <InputField
162
- name="ingressVip"
162
+ name="ingressVips.0.ip"
163
163
  label={t('ai:Ingress IP')}
164
164
  helperText={ingressVipHelperText}
165
165
  isRequired
@@ -56,6 +56,7 @@ const EditHostForm = ({
56
56
  onHostSaveError,
57
57
  getEditErrorMessage,
58
58
  }: EditHostFormProps) => {
59
+ const { t } = useTranslation();
59
60
  const hostnameInputRef = React.useRef<HTMLInputElement>();
60
61
  const [isSaveInProgress, setIsSaveInProgress] = React.useState<boolean>(false);
61
62
 
@@ -71,7 +72,7 @@ const EditHostForm = ({
71
72
  hostId: host.id,
72
73
  hostname: requestedHostname || '',
73
74
  };
74
- const { t } = useTranslation();
75
+
75
76
  return (
76
77
  <Formik
77
78
  validateOnMount
@@ -110,11 +111,19 @@ const EditHostForm = ({
110
111
  status={status as StatusErrorType}
111
112
  onClose={() => setStatus({ error: null })}
112
113
  />
113
- <Alert
114
- variant={AlertVariant.info}
115
- title={t('ai:This name will replace the original discovered hostname.')}
116
- isInline
117
- />
114
+ {canHostnameBeChanged(host.status) ? (
115
+ <Alert
116
+ variant={AlertVariant.info}
117
+ title={t('ai:This name will replace the original discovered hostname.')}
118
+ isInline
119
+ />
120
+ ) : (
121
+ <Alert
122
+ variant={AlertVariant.warning}
123
+ title={t('ai:The hostname cannot be changed.')}
124
+ isInline
125
+ />
126
+ )}
118
127
  <StaticTextField name="discoveredHostname" label={t('ai:Discovered hostname')}>
119
128
  {hostname || ''}
120
129
  </StaticTextField>
@@ -134,6 +143,7 @@ const EditHostForm = ({
134
143
  data-testid="change-hostname-form__button-change"
135
144
  type={ButtonType.submit}
136
145
  isDisabled={isSubmitting || !isValid || !dirty}
146
+ isLoading={isSubmitting}
137
147
  >
138
148
  {t('ai:Change')}
139
149
  </Button>
@@ -3,6 +3,8 @@ import { Address4, Address6 } from 'ip-address';
3
3
  import isCIDR from 'is-cidr';
4
4
  import { isInSubnet } from 'is-in-subnet';
5
5
  import * as Yup from 'yup';
6
+ import { head } from 'lodash-es';
7
+ import parseUrl from 'parse-url';
6
8
 
7
9
  import { TFunction } from 'i18next';
8
10
  import {
@@ -27,7 +29,6 @@ import {
27
29
  } from './constants';
28
30
  import { allSubnetsIPv4, getAddress, trimCommaSeparatedList, trimSshPublicKey } from './utils';
29
31
  import { selectApiVip, selectIngressVip } from '../../../selectors';
30
- import { head } from 'lodash-es';
31
32
  import { ClusterDetailsValues } from '../../clusterWizard/types';
32
33
 
33
34
  const ALPHANUMERIC_REGEX = /^[a-zA-Z0-9]+$/;
@@ -45,10 +46,6 @@ const IP_V4_ZERO = '0.0.0.0';
45
46
  const IP_V6_ZERO = '0000:0000:0000:0000:0000:0000:0000:0000';
46
47
  const MAC_REGEX = /^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$/;
47
48
  const HOST_NAME_REGEX = /^[^.]{1,63}(?:[.][^.]{1,63})*$/;
48
-
49
- // Source of information: https://github.com/metal3-io/baremetal-operator/blob/main/docs/api.md#baremetalhost-spec
50
- const BMC_REGEX =
51
- /^((redfish-virtualmedia|idrac-virtualmedia)(\+https?)?:(\/\/([a-z0-9\-._~%!$&'()*+,;=]+@)?([a-z0-9\-._~%]+|\[[a-f0-9:.]+\]|\[v[a-f0-9][a-z0-9\-._~%!$&'()*+,;=:]+\])(:[0-9]+)?(\/[a-z0-9\-._~%!$&'()*+,;=:@]+)*\/?|(\/?[a-z0-9\-._~%!$&'()*+,;=:@]+(\/[a-z0-9\-._~%!$&'()*+,;=:@]+)*\/?)?)|([a-z0-9\-._~%!$&'()*+,;=@]+(\/[a-z0-9\-._~%!$&'()*+,;=:@]+)*\/?|(\/[a-z0-9\-._~%!$&'()*+,;=:@]+)+\/?))(\?[a-z0-9\-._~%!$&'()*+,;=:@/?]*)?(#[a-z0-9\-._~%!$&'()*+,;=:@/?]*)?$/i;
52
49
  const LOCATION_CHARS_REGEX = /^[a-zA-Z0-9-._]*$/;
53
50
 
54
51
  export const nameValidationSchema = (
@@ -318,7 +315,7 @@ export const vipArrayValidationSchema = <T extends Yup.Maybe<Yup.AnyObject>>(
318
315
  values: NetworkConfigurationValues,
319
316
  initialValues?: ApiVip[] | IngressVip[],
320
317
  ) =>
321
- (values.apiVips?.length && values.managedNetworkingType === 'clusterManaged'
318
+ (values.managedNetworkingType === 'clusterManaged'
322
319
  ? Yup.array<T>().of(
323
320
  Yup.object({
324
321
  clusterId: Yup.string(),
@@ -643,10 +640,16 @@ export const day2ApiVipValidationSchema = Yup.string().test(
643
640
  export const bmcAddressValidationSchema = (t: TFunction) => {
644
641
  const bmcAddressValidationMessagesList = bmcAddressValidationMessages(t);
645
642
 
646
- return Yup.string().required().matches(BMC_REGEX, {
647
- message: bmcAddressValidationMessagesList.INVALID_VALUE,
648
- excludeEmptyString: true,
649
- });
643
+ return Yup.string()
644
+ .required()
645
+ .test('valid-bmc-address', bmcAddressValidationMessagesList.INVALID_VALUE, (val) => {
646
+ try {
647
+ const url = parseUrl(val);
648
+ return ['redfish-virtualmedia', 'idrac-virtualmedia'].includes(url.protocol as string);
649
+ } catch (error) {
650
+ return false;
651
+ }
652
+ });
650
653
  };
651
654
  export const locationValidationSchema = (t: TFunction) => {
652
655
  const locationValidationMessagesList = locationValidationMessages(t);
@@ -33,7 +33,7 @@ export const hostRoles = (t: TFunction): HostRole[] => [
33
33
  },
34
34
  {
35
35
  value: 'worker',
36
- label: t('ai:Worker'),
36
+ label: t('ai:Worker', { count: 1 }),
37
37
  description: t(
38
38
  'ai:Runs application workloads. Connect at least 5 hosts to enable dedicated workers.',
39
39
  ),
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "dependencies": {
3
- "@openshift-assisted/locales": "2.14.1-cim",
4
- "@openshift-assisted/types": "2.14.1-cim",
3
+ "@openshift-assisted/locales": "2.14.2-cim",
4
+ "@openshift-assisted/types": "2.14.2-cim",
5
5
  "@openshift-console/dynamic-plugin-sdk": "0.0.3",
6
6
  "@patternfly/patternfly": "5.2.0",
7
7
  "@patternfly/react-code-editor": "5.2.0",
@@ -25,6 +25,7 @@
25
25
  "is-in-subnet": "^4",
26
26
  "js-yaml": "^4.1.0",
27
27
  "lodash-es": "^4.17.21",
28
+ "parse-url": "^9.2.0",
28
29
  "prism-react-renderer": "^1.1.1",
29
30
  "react-error-boundary": "^3.1.4",
30
31
  "react-measure": "^2.5.2",
@@ -139,5 +140,5 @@
139
140
  ]
140
141
  }
141
142
  },
142
- "version": "2.14.1-cim"
143
+ "version": "2.14.2-cim"
143
144
  }
@@ -1,10 +0,0 @@
1
- import * as React from 'react';
2
- import { AgentClusterInstallK8sResource } from '../../types';
3
- type ClusterDeploymentCreateProgressProps = {
4
- agentClusterInstall: AgentClusterInstallK8sResource;
5
- toDetails: VoidFunction;
6
- toListView: VoidFunction;
7
- };
8
- declare const ClusterDeploymentCreateProgress: React.FC<ClusterDeploymentCreateProgressProps>;
9
- export default ClusterDeploymentCreateProgress;
10
- //# sourceMappingURL=ClusterDeploymentCreateProgress.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ClusterDeploymentCreateProgress.d.ts","sourceRoot":"","sources":["../../../../../lib/cim/components/ClusterDeployment/ClusterDeploymentCreateProgress.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAc/B,OAAO,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAC;AAO7D,KAAK,oCAAoC,GAAG;IAC1C,mBAAmB,EAAE,8BAA8B,CAAC;IACpD,SAAS,EAAE,YAAY,CAAC;IACxB,UAAU,EAAE,YAAY,CAAC;CAC1B,CAAC;AAEF,QAAA,MAAM,+BAA+B,EAAE,KAAK,CAAC,EAAE,CAAC,oCAAoC,CAiDnF,CAAC;AAEF,eAAe,+BAA+B,CAAC"}