@openshift-assisted/ui-lib 2.7.12-cim → 2.8.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.
- package/@types/cim/components/Agent/AgentStatus.d.ts +15 -0
- package/@types/cim/components/Agent/AgentStatus.d.ts.map +1 -0
- package/@types/cim/components/Agent/AgentTable.d.ts +13 -0
- package/@types/cim/components/Agent/AgentTable.d.ts.map +1 -0
- package/@types/cim/components/Agent/AgentsSelectionHostCountAlerts.d.ts +9 -0
- package/@types/cim/components/Agent/AgentsSelectionHostCountAlerts.d.ts.map +1 -0
- package/@types/cim/components/Agent/AgentsSelectionHostCountLabelIcon.d.ts +3 -0
- package/@types/cim/components/Agent/AgentsSelectionHostCountLabelIcon.d.ts.map +1 -0
- package/@types/cim/components/Agent/AgentsSelectionTable.d.ts +17 -0
- package/@types/cim/components/Agent/AgentsSelectionTable.d.ts.map +1 -0
- package/@types/cim/components/Agent/AgentsSelectionUtils.d.ts +10 -0
- package/@types/cim/components/Agent/AgentsSelectionUtils.d.ts.map +1 -0
- package/@types/cim/components/Agent/BMCForm.d.ts +5 -0
- package/@types/cim/components/Agent/BMCForm.d.ts.map +1 -0
- package/@types/cim/components/Agent/BMHStatus.d.ts +8 -0
- package/@types/cim/components/Agent/BMHStatus.d.ts.map +1 -0
- package/@types/cim/components/Agent/MinimalHWRequirements.d.ts +16 -0
- package/@types/cim/components/Agent/MinimalHWRequirements.d.ts.map +1 -0
- package/@types/cim/components/Agent/NoAgentsAlert.d.ts +6 -0
- package/@types/cim/components/Agent/NoAgentsAlert.d.ts.map +1 -0
- package/@types/cim/components/Agent/index.d.ts +4 -0
- package/@types/cim/components/Agent/index.d.ts.map +1 -0
- package/@types/cim/components/Agent/tableUtils.d.ts +53 -0
- package/@types/cim/components/Agent/tableUtils.d.ts.map +1 -0
- package/@types/cim/components/Agent/types.d.ts +37 -0
- package/@types/cim/components/Agent/types.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/ACMClusterDeploymentDetailsStep.d.ts +18 -0
- package/@types/cim/components/ClusterDeployment/ACMClusterDeploymentDetailsStep.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/AdditionalNTPSourcesDialogToggle.d.ts +3 -0
- package/@types/cim/components/ClusterDeployment/AdditionalNTPSourcesDialogToggle.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/ArmCheckbox.d.ts +8 -0
- package/@types/cim/components/ClusterDeployment/ArmCheckbox.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentCreateProgress.d.ts +10 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentCreateProgress.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentCredentials.d.ts +14 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentCredentials.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentDetails.d.ts +14 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentDetails.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentDetailsForm.d.ts +13 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentDetailsForm.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.d.ts +18 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentDetailsTable.d.ts +11 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentDetailsTable.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentHostDiscoveryTable.d.ts +5 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentHostDiscoveryTable.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentHostSelectionStep.d.ts +15 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentHostSelectionStep.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscovery.d.ts +5 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscovery.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscoveryStep.d.ts +5 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscoveryStep.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentHostsNetworkTable.d.ts +11 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentHostsNetworkTable.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentHostsSelection.d.ts +5 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentHostsSelection.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentHostsSelectionAdvanced.d.ts +16 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentHostsSelectionAdvanced.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentHostsSelectionBasic.d.ts +9 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentHostsSelectionBasic.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentKubeconfigDownload.d.ts +11 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentKubeconfigDownload.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentNetworkingForm.d.ts +23 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentNetworkingForm.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentNetworkingStep.d.ts +5 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentNetworkingStep.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentProgress.d.ts +14 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentProgress.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentReviewStep.d.ts +14 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentReviewStep.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentValidationsOverview.d.ts +10 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentValidationsOverview.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentWizard.d.ts +5 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentWizard.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentWizardContext.d.ts +11 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentWizardContext.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentWizardFooter.d.ts +13 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentWizardFooter.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentWizardNavigation.d.ts +4 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentWizardNavigation.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentWizardStep.d.ts +7 -0
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentWizardStep.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/ClusterDetailsFormFields.d.ts +16 -0
- package/@types/cim/components/ClusterDeployment/ClusterDetailsFormFields.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/ClusterInstallationError.d.ts +8 -0
- package/@types/cim/components/ClusterDeployment/ClusterInstallationError.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/ClusterScaleUpAutoHostsSelection.d.ts +8 -0
- package/@types/cim/components/ClusterDeployment/ClusterScaleUpAutoHostsSelection.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/LabelsSelector.d.ts +14 -0
- package/@types/cim/components/ClusterDeployment/LabelsSelector.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/LocationsSelector.d.ts +7 -0
- package/@types/cim/components/ClusterDeployment/LocationsSelector.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/LogsDownloadButton.d.ts +12 -0
- package/@types/cim/components/ClusterDeployment/LogsDownloadButton.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/NetworkConfiguration.d.ts +10 -0
- package/@types/cim/components/ClusterDeployment/NetworkConfiguration.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/ScaleUpForm.d.ts +11 -0
- package/@types/cim/components/ClusterDeployment/ScaleUpForm.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/ShortCapacitySummary.d.ts +10 -0
- package/@types/cim/components/ClusterDeployment/ShortCapacitySummary.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/constants.d.ts +15 -0
- package/@types/cim/components/ClusterDeployment/constants.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/helpers.d.ts +24 -0
- package/@types/cim/components/ClusterDeployment/helpers.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/index.d.ts +18 -0
- package/@types/cim/components/ClusterDeployment/index.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/networkConfigurationValidation.d.ts +6 -0
- package/@types/cim/components/ClusterDeployment/networkConfigurationValidation.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/types.d.ts +177 -0
- package/@types/cim/components/ClusterDeployment/types.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/use-networking-formik.d.ts +40 -0
- package/@types/cim/components/ClusterDeployment/use-networking-formik.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/validationSchemas.d.ts +4 -0
- package/@types/cim/components/ClusterDeployment/validationSchemas.d.ts.map +1 -0
- package/@types/cim/components/ClusterDeployment/wizardTransition.d.ts +11 -0
- package/@types/cim/components/ClusterDeployment/wizardTransition.d.ts.map +1 -0
- package/@types/cim/components/Hypershift/DetailsPage/ClusterInstallationProgress.d.ts +22 -0
- package/@types/cim/components/Hypershift/DetailsPage/ClusterInstallationProgress.d.ts.map +1 -0
- package/@types/cim/components/Hypershift/DetailsPage/ConditionsTable.d.ts +12 -0
- package/@types/cim/components/Hypershift/DetailsPage/ConditionsTable.d.ts.map +1 -0
- package/@types/cim/components/Hypershift/DetailsPage/HostedClusterProgress.d.ts +8 -0
- package/@types/cim/components/Hypershift/DetailsPage/HostedClusterProgress.d.ts.map +1 -0
- package/@types/cim/components/Hypershift/DetailsPage/HypershiftKubeconfigDownload.d.ts +9 -0
- package/@types/cim/components/Hypershift/DetailsPage/HypershiftKubeconfigDownload.d.ts.map +1 -0
- package/@types/cim/components/Hypershift/DetailsPage/NodePoolStatus.d.ts +9 -0
- package/@types/cim/components/Hypershift/DetailsPage/NodePoolStatus.d.ts.map +1 -0
- package/@types/cim/components/Hypershift/DetailsPage/NodePoolsProgress.d.ts +19 -0
- package/@types/cim/components/Hypershift/DetailsPage/NodePoolsProgress.d.ts.map +1 -0
- package/@types/cim/components/Hypershift/DetailsPage/NodePoolsTable.d.ts +26 -0
- package/@types/cim/components/Hypershift/DetailsPage/NodePoolsTable.d.ts.map +1 -0
- package/@types/cim/components/Hypershift/DetailsPage/index.d.ts +3 -0
- package/@types/cim/components/Hypershift/DetailsPage/index.d.ts.map +1 -0
- package/@types/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsForm.d.ts +5 -0
- package/@types/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsForm.d.ts.map +1 -0
- package/@types/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsStep.d.ts +5 -0
- package/@types/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsStep.d.ts.map +1 -0
- package/@types/cim/components/Hypershift/HostedClusterWizard/DetailsStep/index.d.ts +2 -0
- package/@types/cim/components/Hypershift/HostedClusterWizard/DetailsStep/index.d.ts.map +1 -0
- package/@types/cim/components/Hypershift/HostedClusterWizard/DetailsStep/types.d.ts +36 -0
- package/@types/cim/components/Hypershift/HostedClusterWizard/DetailsStep/types.d.ts.map +1 -0
- package/@types/cim/components/Hypershift/HostedClusterWizard/HostsStep/HostsForm.d.ts +5 -0
- package/@types/cim/components/Hypershift/HostedClusterWizard/HostsStep/HostsForm.d.ts.map +1 -0
- package/@types/cim/components/Hypershift/HostedClusterWizard/HostsStep/HostsStep.d.ts +5 -0
- package/@types/cim/components/Hypershift/HostedClusterWizard/HostsStep/HostsStep.d.ts.map +1 -0
- package/@types/cim/components/Hypershift/HostedClusterWizard/HostsStep/NodePoolForm.d.ts +12 -0
- package/@types/cim/components/Hypershift/HostedClusterWizard/HostsStep/NodePoolForm.d.ts.map +1 -0
- package/@types/cim/components/Hypershift/HostedClusterWizard/HostsStep/index.d.ts +2 -0
- package/@types/cim/components/Hypershift/HostedClusterWizard/HostsStep/index.d.ts.map +1 -0
- package/@types/cim/components/Hypershift/HostedClusterWizard/HostsStep/types.d.ts +31 -0
- package/@types/cim/components/Hypershift/HostedClusterWizard/HostsStep/types.d.ts.map +1 -0
- package/@types/cim/components/Hypershift/HostedClusterWizard/NetworkStep/NetworkForm.d.ts +6 -0
- package/@types/cim/components/Hypershift/HostedClusterWizard/NetworkStep/NetworkForm.d.ts.map +1 -0
- package/@types/cim/components/Hypershift/HostedClusterWizard/NetworkStep/NetworkStep.d.ts +5 -0
- package/@types/cim/components/Hypershift/HostedClusterWizard/NetworkStep/NetworkStep.d.ts.map +1 -0
- package/@types/cim/components/Hypershift/HostedClusterWizard/NetworkStep/index.d.ts +3 -0
- package/@types/cim/components/Hypershift/HostedClusterWizard/NetworkStep/index.d.ts.map +1 -0
- package/@types/cim/components/Hypershift/HostedClusterWizard/NetworkStep/types.d.ts +24 -0
- package/@types/cim/components/Hypershift/HostedClusterWizard/NetworkStep/types.d.ts.map +1 -0
- package/@types/cim/components/Hypershift/HostedClusterWizard/index.d.ts +4 -0
- package/@types/cim/components/Hypershift/HostedClusterWizard/index.d.ts.map +1 -0
- package/@types/cim/components/Hypershift/forms/NodePoolAgentsForm.d.ts +11 -0
- package/@types/cim/components/Hypershift/forms/NodePoolAgentsForm.d.ts.map +1 -0
- package/@types/cim/components/Hypershift/hooks/useSupportedOCPVersions.d.ts +4 -0
- package/@types/cim/components/Hypershift/hooks/useSupportedOCPVersions.d.ts.map +1 -0
- package/@types/cim/components/Hypershift/hooks/useTemptiflySync.d.ts +7 -0
- package/@types/cim/components/Hypershift/hooks/useTemptiflySync.d.ts.map +1 -0
- package/@types/cim/components/Hypershift/index.d.ts +5 -0
- package/@types/cim/components/Hypershift/index.d.ts.map +1 -0
- package/@types/cim/components/Hypershift/modals/AddNodePoolModal.d.ts +13 -0
- package/@types/cim/components/Hypershift/modals/AddNodePoolModal.d.ts.map +1 -0
- package/@types/cim/components/Hypershift/modals/ManageHostsModal.d.ts +17 -0
- package/@types/cim/components/Hypershift/modals/ManageHostsModal.d.ts.map +1 -0
- package/@types/cim/components/Hypershift/modals/NodePoolForm.d.ts +19 -0
- package/@types/cim/components/Hypershift/modals/NodePoolForm.d.ts.map +1 -0
- package/@types/cim/components/Hypershift/modals/RemoveNodePoolModal.d.ts +9 -0
- package/@types/cim/components/Hypershift/modals/RemoveNodePoolModal.d.ts.map +1 -0
- package/@types/cim/components/Hypershift/types.d.ts +198 -0
- package/@types/cim/components/Hypershift/types.d.ts.map +1 -0
- package/@types/cim/components/Hypershift/utils/index.d.ts +4 -0
- package/@types/cim/components/Hypershift/utils/index.d.ts.map +1 -0
- package/@types/cim/components/Hypershift/utils/labels.d.ts +11 -0
- package/@types/cim/components/Hypershift/utils/labels.d.ts.map +1 -0
- package/@types/cim/components/Hypershift/utils/nodepool.d.ts +4 -0
- package/@types/cim/components/Hypershift/utils/nodepool.d.ts.map +1 -0
- package/@types/cim/components/Hypershift/utils/status.d.ts +11 -0
- package/@types/cim/components/Hypershift/utils/status.d.ts.map +1 -0
- package/@types/cim/components/InfraEnv/AddHostDropdown.d.ts +5 -0
- package/@types/cim/components/InfraEnv/AddHostDropdown.d.ts.map +1 -0
- package/@types/cim/components/InfraEnv/AgentAlerts.d.ts +10 -0
- package/@types/cim/components/InfraEnv/AgentAlerts.d.ts.map +1 -0
- package/@types/cim/components/InfraEnv/EnvironmentDetails.d.ts +19 -0
- package/@types/cim/components/InfraEnv/EnvironmentDetails.d.ts.map +1 -0
- package/@types/cim/components/InfraEnv/EnvironmentErrors.d.ts +10 -0
- package/@types/cim/components/InfraEnv/EnvironmentErrors.d.ts.map +1 -0
- package/@types/cim/components/InfraEnv/InfraEnvAgentTable.d.ts +5 -0
- package/@types/cim/components/InfraEnv/InfraEnvAgentTable.d.ts.map +1 -0
- package/@types/cim/components/InfraEnv/InfraEnvFormPage.d.ts +36 -0
- package/@types/cim/components/InfraEnv/InfraEnvFormPage.d.ts.map +1 -0
- package/@types/cim/components/InfraEnv/InfraEnvHostsTabAgentsWarning.d.ts +9 -0
- package/@types/cim/components/InfraEnv/InfraEnvHostsTabAgentsWarning.d.ts.map +1 -0
- package/@types/cim/components/InfraEnv/InfraTableToolbar.d.ts +18 -0
- package/@types/cim/components/InfraEnv/InfraTableToolbar.d.ts.map +1 -0
- package/@types/cim/components/InfraEnv/index.d.ts +9 -0
- package/@types/cim/components/InfraEnv/index.d.ts.map +1 -0
- package/@types/cim/components/InfraEnv/types.d.ts +13 -0
- package/@types/cim/components/InfraEnv/types.d.ts.map +1 -0
- package/@types/cim/components/InfraEnv/utils.d.ts +14 -0
- package/@types/cim/components/InfraEnv/utils.d.ts.map +1 -0
- package/@types/cim/components/YamlPreview/YamlPreview.d.ts +9 -0
- package/@types/cim/components/YamlPreview/YamlPreview.d.ts.map +1 -0
- package/@types/cim/components/YamlPreview/index.d.ts +3 -0
- package/@types/cim/components/YamlPreview/index.d.ts.map +1 -0
- package/@types/cim/components/YamlPreview/useYAMLPreview.d.ts +15 -0
- package/@types/cim/components/YamlPreview/useYAMLPreview.d.ts.map +1 -0
- package/@types/cim/components/common/InfoAndTroubleshootingNotification.d.ts +8 -0
- package/@types/cim/components/common/InfoAndTroubleshootingNotification.d.ts.map +1 -0
- package/@types/cim/components/common/ResourceAlerts.d.ts +8 -0
- package/@types/cim/components/common/ResourceAlerts.d.ts.map +1 -0
- package/@types/cim/components/common/SpecSyncErrAlert.d.ts +6 -0
- package/@types/cim/components/common/SpecSyncErrAlert.d.ts.map +1 -0
- package/@types/cim/components/common/ValidationsRunningAlert.d.ts +3 -0
- package/@types/cim/components/common/ValidationsRunningAlert.d.ts.map +1 -0
- package/@types/cim/components/common/constants.d.ts +11 -0
- package/@types/cim/components/common/constants.d.ts.map +1 -0
- package/@types/cim/components/common/index.d.ts +3 -0
- package/@types/cim/components/common/index.d.ts.map +1 -0
- package/@types/cim/components/featureSupportLevels/ACMFeatureSupportLevelProvider.d.ts +9 -0
- package/@types/cim/components/featureSupportLevels/ACMFeatureSupportLevelProvider.d.ts.map +1 -0
- package/@types/cim/components/featureSupportLevels/featureStateUtils.d.ts +6 -0
- package/@types/cim/components/featureSupportLevels/featureStateUtils.d.ts.map +1 -0
- package/@types/cim/components/featureSupportLevels/index.d.ts +2 -0
- package/@types/cim/components/featureSupportLevels/index.d.ts.map +1 -0
- package/@types/cim/components/helpers/agentClusterInstall.d.ts +4 -0
- package/@types/cim/components/helpers/agentClusterInstall.d.ts.map +1 -0
- package/@types/cim/components/helpers/agentStatus.d.ts +4 -0
- package/@types/cim/components/helpers/agentStatus.d.ts.map +1 -0
- package/@types/cim/components/helpers/agents.d.ts +16 -0
- package/@types/cim/components/helpers/agents.d.ts.map +1 -0
- package/@types/cim/components/helpers/clusterDeployment.d.ts +39 -0
- package/@types/cim/components/helpers/clusterDeployment.d.ts.map +1 -0
- package/@types/cim/components/helpers/conditions.d.ts +10 -0
- package/@types/cim/components/helpers/conditions.d.ts.map +1 -0
- package/@types/cim/components/helpers/index.d.ts +12 -0
- package/@types/cim/components/helpers/index.d.ts.map +1 -0
- package/@types/cim/components/helpers/labels.d.ts +4 -0
- package/@types/cim/components/helpers/labels.d.ts.map +1 -0
- package/@types/cim/components/helpers/network.d.ts +7 -0
- package/@types/cim/components/helpers/network.d.ts.map +1 -0
- package/@types/cim/components/helpers/proxy.d.ts +2 -0
- package/@types/cim/components/helpers/proxy.d.ts.map +1 -0
- package/@types/cim/components/helpers/status.d.ts +27 -0
- package/@types/cim/components/helpers/status.d.ts.map +1 -0
- package/@types/cim/components/helpers/storage.d.ts +2 -0
- package/@types/cim/components/helpers/storage.d.ts.map +1 -0
- package/@types/cim/components/helpers/toAssisted.d.ts +13 -0
- package/@types/cim/components/helpers/toAssisted.d.ts.map +1 -0
- package/@types/cim/components/helpers/units.d.ts +51 -0
- package/@types/cim/components/helpers/units.d.ts.map +1 -0
- package/@types/cim/components/helpers/versions.d.ts +8 -0
- package/@types/cim/components/helpers/versions.d.ts.map +1 -0
- package/@types/cim/components/index.d.ts +9 -0
- package/@types/cim/components/index.d.ts.map +1 -0
- package/@types/cim/components/modals/AddBmcHostModal.d.ts +5 -0
- package/@types/cim/components/modals/AddBmcHostModal.d.ts.map +1 -0
- package/@types/cim/components/modals/AddBmcHostYamlForm.d.ts +6 -0
- package/@types/cim/components/modals/AddBmcHostYamlForm.d.ts.map +1 -0
- package/@types/cim/components/modals/AddBmcHostYamlModal.d.ts +5 -0
- package/@types/cim/components/modals/AddBmcHostYamlModal.d.ts.map +1 -0
- package/@types/cim/components/modals/AddHostModal.d.ts +5 -0
- package/@types/cim/components/modals/AddHostModal.d.ts.map +1 -0
- package/@types/cim/components/modals/CimConfiguration/CimConfigDisconnectedAlert.d.ts +5 -0
- package/@types/cim/components/modals/CimConfiguration/CimConfigDisconnectedAlert.d.ts.map +1 -0
- package/@types/cim/components/modals/CimConfiguration/CimConfigProgressAlert.d.ts +5 -0
- package/@types/cim/components/modals/CimConfiguration/CimConfigProgressAlert.d.ts.map +1 -0
- package/@types/cim/components/modals/CimConfiguration/CimConfigurationForm.d.ts +5 -0
- package/@types/cim/components/modals/CimConfiguration/CimConfigurationForm.d.ts.map +1 -0
- package/@types/cim/components/modals/CimConfiguration/CimConfigurationModal.d.ts +5 -0
- package/@types/cim/components/modals/CimConfiguration/CimConfigurationModal.d.ts.map +1 -0
- package/@types/cim/components/modals/CimConfiguration/CimIsMissingAlert.d.ts +3 -0
- package/@types/cim/components/modals/CimConfiguration/CimIsMissingAlert.d.ts.map +1 -0
- package/@types/cim/components/modals/CimConfiguration/CimStorageMissingAlert.d.ts +6 -0
- package/@types/cim/components/modals/CimConfiguration/CimStorageMissingAlert.d.ts.map +1 -0
- package/@types/cim/components/modals/CimConfiguration/constants.d.ts +5 -0
- package/@types/cim/components/modals/CimConfiguration/constants.d.ts.map +1 -0
- package/@types/cim/components/modals/CimConfiguration/index.d.ts +7 -0
- package/@types/cim/components/modals/CimConfiguration/index.d.ts.map +1 -0
- package/@types/cim/components/modals/CimConfiguration/persist.d.ts +24 -0
- package/@types/cim/components/modals/CimConfiguration/persist.d.ts.map +1 -0
- package/@types/cim/components/modals/CimConfiguration/types.d.ts +44 -0
- package/@types/cim/components/modals/CimConfiguration/types.d.ts.map +1 -0
- package/@types/cim/components/modals/CimConfiguration/utils.d.ts +16 -0
- package/@types/cim/components/modals/CimConfiguration/utils.d.ts.map +1 -0
- package/@types/cim/components/modals/EditAgentModal.d.ts +5 -0
- package/@types/cim/components/modals/EditAgentModal.d.ts.map +1 -0
- package/@types/cim/components/modals/EditBMHModal.d.ts +5 -0
- package/@types/cim/components/modals/EditBMHModal.d.ts.map +1 -0
- package/@types/cim/components/modals/EditNtpSourcesModal.d.ts +12 -0
- package/@types/cim/components/modals/EditNtpSourcesModal.d.ts.map +1 -0
- package/@types/cim/components/modals/EditProxyModal.d.ts +5 -0
- package/@types/cim/components/modals/EditProxyModal.d.ts.map +1 -0
- package/@types/cim/components/modals/EditPullSecretModal.d.ts +20 -0
- package/@types/cim/components/modals/EditPullSecretModal.d.ts.map +1 -0
- package/@types/cim/components/modals/EditSSHKeyModal.d.ts +14 -0
- package/@types/cim/components/modals/EditSSHKeyModal.d.ts.map +1 -0
- package/@types/cim/components/modals/MassApproveAction.d.ts +9 -0
- package/@types/cim/components/modals/MassApproveAction.d.ts.map +1 -0
- package/@types/cim/components/modals/MassApproveAgentModal.d.ts +11 -0
- package/@types/cim/components/modals/MassApproveAgentModal.d.ts.map +1 -0
- package/@types/cim/components/modals/MassDeleteAgentModal.d.ts +14 -0
- package/@types/cim/components/modals/MassDeleteAgentModal.d.ts.map +1 -0
- package/@types/cim/components/modals/ScaleUpModal.d.ts +16 -0
- package/@types/cim/components/modals/ScaleUpModal.d.ts.map +1 -0
- package/@types/cim/components/modals/constants.d.ts +64 -0
- package/@types/cim/components/modals/constants.d.ts.map +1 -0
- package/@types/cim/components/modals/index.d.ts +12 -0
- package/@types/cim/components/modals/index.d.ts.map +1 -0
- package/@types/cim/components/modals/types.d.ts +54 -0
- package/@types/cim/components/modals/types.d.ts.map +1 -0
- package/@types/cim/components/modals/utils.d.ts +29 -0
- package/@types/cim/components/modals/utils.d.ts.map +1 -0
- package/@types/cim/config/constants.d.ts +15 -0
- package/@types/cim/config/constants.d.ts.map +1 -0
- package/@types/cim/index.d.ts +14 -0
- package/@types/cim/index.d.ts.map +1 -0
- package/@types/cim/types/fromOCP/index.d.ts +2 -0
- package/@types/cim/types/fromOCP/index.d.ts.map +1 -0
- package/@types/cim/types/fromOCP/k8sTypes.d.ts +47 -0
- package/@types/cim/types/fromOCP/k8sTypes.d.ts.map +1 -0
- package/@types/cim/types/index.d.ts +5 -0
- package/@types/cim/types/index.d.ts.map +1 -0
- package/@types/cim/types/k8s/agent-cluster-install.d.ts +72 -0
- package/@types/cim/types/k8s/agent-cluster-install.d.ts.map +1 -0
- package/@types/cim/types/k8s/agent-service-config.d.ts +24 -0
- package/@types/cim/types/k8s/agent-service-config.d.ts.map +1 -0
- package/@types/cim/types/k8s/agent.d.ts +57 -0
- package/@types/cim/types/k8s/agent.d.ts.map +1 -0
- package/@types/cim/types/k8s/bare-metal-host.d.ts +32 -0
- package/@types/cim/types/k8s/bare-metal-host.d.ts.map +1 -0
- package/@types/cim/types/k8s/cluster-deployment.d.ts +42 -0
- package/@types/cim/types/k8s/cluster-deployment.d.ts.map +1 -0
- package/@types/cim/types/k8s/cluster-image-set.d.ts +7 -0
- package/@types/cim/types/k8s/cluster-image-set.d.ts.map +1 -0
- package/@types/cim/types/k8s/cluster-version.d.ts +46 -0
- package/@types/cim/types/k8s/cluster-version.d.ts.map +1 -0
- package/@types/cim/types/k8s/index.d.ts +13 -0
- package/@types/cim/types/k8s/index.d.ts.map +1 -0
- package/@types/cim/types/k8s/infra-env-k8s-resource.d.ts +40 -0
- package/@types/cim/types/k8s/infra-env-k8s-resource.d.ts.map +1 -0
- package/@types/cim/types/k8s/infrastructure.d.ts +23 -0
- package/@types/cim/types/k8s/infrastructure.d.ts.map +1 -0
- package/@types/cim/types/k8s/nm-state.d.ts +11 -0
- package/@types/cim/types/k8s/nm-state.d.ts.map +1 -0
- package/@types/cim/types/k8s/shared.d.ts +14 -0
- package/@types/cim/types/k8s/shared.d.ts.map +1 -0
- package/@types/cim/types/k8s/storage-class.d.ts +9 -0
- package/@types/cim/types/k8s/storage-class.d.ts.map +1 -0
- package/@types/cim/types/metal3.d.ts +87 -0
- package/@types/cim/types/metal3.d.ts.map +1 -0
- package/@types/cim/types/resources.d.ts +45 -0
- package/@types/cim/types/resources.d.ts.map +1 -0
- package/@types/cim/utils.d.ts +3 -0
- package/@types/cim/utils.d.ts.map +1 -0
- package/@types/common/api/index.d.ts +3 -0
- package/@types/common/api/index.d.ts.map +1 -0
- package/@types/common/api/types.d.ts +2314 -0
- package/@types/common/api/types.d.ts.map +1 -0
- package/@types/common/api/utils.d.ts +3 -0
- package/@types/common/api/utils.d.ts.map +1 -0
- package/@types/common/components/AddHosts/AddHostsContext.d.ts +11 -0
- package/@types/common/components/AddHosts/AddHostsContext.d.ts.map +1 -0
- package/@types/common/components/AddHosts/index.d.ts +2 -0
- package/@types/common/components/AddHosts/index.d.ts.map +1 -0
- package/@types/common/components/AlertsContextProvider.d.ts +11 -0
- package/@types/common/components/AlertsContextProvider.d.ts.map +1 -0
- package/@types/common/components/ErrorHandling/ErrorMonitorContext.d.ts +13 -0
- package/@types/common/components/ErrorHandling/ErrorMonitorContext.d.ts.map +1 -0
- package/@types/common/components/ErrorHandling/WithErrorBoundary.d.ts +8 -0
- package/@types/common/components/ErrorHandling/WithErrorBoundary.d.ts.map +1 -0
- package/@types/common/components/clusterConfiguration/AdvancedNetworkFields.d.ts +7 -0
- package/@types/common/components/clusterConfiguration/AdvancedNetworkFields.d.ts.map +1 -0
- package/@types/common/components/clusterConfiguration/CertificateFields.d.ts +8 -0
- package/@types/common/components/clusterConfiguration/CertificateFields.d.ts.map +1 -0
- package/@types/common/components/clusterConfiguration/DiscoveryImageConfigForm.d.ts +18 -0
- package/@types/common/components/clusterConfiguration/DiscoveryImageConfigForm.d.ts.map +1 -0
- package/@types/common/components/clusterConfiguration/DiscoveryImageTypeControlGroup.d.ts +3 -0
- package/@types/common/components/clusterConfiguration/DiscoveryImageTypeControlGroup.d.ts.map +1 -0
- package/@types/common/components/clusterConfiguration/DiscoveryInstructions.d.ts +7 -0
- package/@types/common/components/clusterConfiguration/DiscoveryInstructions.d.ts.map +1 -0
- package/@types/common/components/clusterConfiguration/DiscoveryIpxeInstructions.d.ts +3 -0
- package/@types/common/components/clusterConfiguration/DiscoveryIpxeInstructions.d.ts.map +1 -0
- package/@types/common/components/clusterConfiguration/DiscoveryTroubleshootingModal.d.ts +14 -0
- package/@types/common/components/clusterConfiguration/DiscoveryTroubleshootingModal.d.ts.map +1 -0
- package/@types/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionControlGroup.d.ts +9 -0
- package/@types/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionControlGroup.d.ts.map +1 -0
- package/@types/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionMode.d.ts +7 -0
- package/@types/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionMode.d.ts.map +1 -0
- package/@types/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionValues.d.ts +12 -0
- package/@types/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionValues.d.ts.map +1 -0
- package/@types/common/components/clusterConfiguration/DiskEncryptionFields/TangServers.d.ts +4 -0
- package/@types/common/components/clusterConfiguration/DiskEncryptionFields/TangServers.d.ts.map +1 -0
- package/@types/common/components/clusterConfiguration/DownloadIpxeScript.d.ts +10 -0
- package/@types/common/components/clusterConfiguration/DownloadIpxeScript.d.ts.map +1 -0
- package/@types/common/components/clusterConfiguration/DownloadIso.d.ts +11 -0
- package/@types/common/components/clusterConfiguration/DownloadIso.d.ts.map +1 -0
- package/@types/common/components/clusterConfiguration/DownloadIsoModal.d.ts +8 -0
- package/@types/common/components/clusterConfiguration/DownloadIsoModal.d.ts.map +1 -0
- package/@types/common/components/clusterConfiguration/FormatDiskWarning.d.ts +6 -0
- package/@types/common/components/clusterConfiguration/FormatDiskWarning.d.ts.map +1 -0
- package/@types/common/components/clusterConfiguration/OpenShiftVersionSelect.d.ts +8 -0
- package/@types/common/components/clusterConfiguration/OpenShiftVersionSelect.d.ts.map +1 -0
- package/@types/common/components/clusterConfiguration/ProxyFields.d.ts +6 -0
- package/@types/common/components/clusterConfiguration/ProxyFields.d.ts.map +1 -0
- package/@types/common/components/clusterConfiguration/SNOControlGroup.d.ts +9 -0
- package/@types/common/components/clusterConfiguration/SNOControlGroup.d.ts.map +1 -0
- package/@types/common/components/clusterConfiguration/SNODisclaimer.d.ts +9 -0
- package/@types/common/components/clusterConfiguration/SNODisclaimer.d.ts.map +1 -0
- package/@types/common/components/clusterConfiguration/SecurityFields.d.ts +13 -0
- package/@types/common/components/clusterConfiguration/SecurityFields.d.ts.map +1 -0
- package/@types/common/components/clusterConfiguration/UploadSSH.d.ts +8 -0
- package/@types/common/components/clusterConfiguration/UploadSSH.d.ts.map +1 -0
- package/@types/common/components/clusterConfiguration/index.d.ts +14 -0
- package/@types/common/components/clusterConfiguration/index.d.ts.map +1 -0
- package/@types/common/components/clusterConfiguration/utils.d.ts +33 -0
- package/@types/common/components/clusterConfiguration/utils.d.ts.map +1 -0
- package/@types/common/components/clusterDetail/ClusterCredentials.d.ts +14 -0
- package/@types/common/components/clusterDetail/ClusterCredentials.d.ts.map +1 -0
- package/@types/common/components/clusterDetail/ClusterProgress.d.ts +10 -0
- package/@types/common/components/clusterDetail/ClusterProgress.d.ts.map +1 -0
- package/@types/common/components/clusterDetail/ClusterProgressItem.d.ts +7 -0
- package/@types/common/components/clusterDetail/ClusterProgressItem.d.ts.map +1 -0
- package/@types/common/components/clusterDetail/ClusterProgressItems.d.ts +12 -0
- package/@types/common/components/clusterDetail/ClusterProgressItems.d.ts.map +1 -0
- package/@types/common/components/clusterDetail/ClusterPropertiesList.d.ts +12 -0
- package/@types/common/components/clusterDetail/ClusterPropertiesList.d.ts.map +1 -0
- package/@types/common/components/clusterDetail/ConsoleModal.d.ts +21 -0
- package/@types/common/components/clusterDetail/ConsoleModal.d.ts.map +1 -0
- package/@types/common/components/clusterDetail/FinalizingProgress.d.ts +15 -0
- package/@types/common/components/clusterDetail/FinalizingProgress.d.ts.map +1 -0
- package/@types/common/components/clusterDetail/KubeconfigDownload.d.ts +12 -0
- package/@types/common/components/clusterDetail/KubeconfigDownload.d.ts.map +1 -0
- package/@types/common/components/clusterDetail/OperatorsProgressItem.d.ts +15 -0
- package/@types/common/components/clusterDetail/OperatorsProgressItem.d.ts.map +1 -0
- package/@types/common/components/clusterDetail/ProgressBarTexts.d.ts +8 -0
- package/@types/common/components/clusterDetail/ProgressBarTexts.d.ts.map +1 -0
- package/@types/common/components/clusterDetail/index.d.ts +5 -0
- package/@types/common/components/clusterDetail/index.d.ts.map +1 -0
- package/@types/common/components/clusterWizard/ClusterWizardStep.d.ts +9 -0
- package/@types/common/components/clusterWizard/ClusterWizardStep.d.ts.map +1 -0
- package/@types/common/components/clusterWizard/ClusterWizardStepHeader.d.ts +4 -0
- package/@types/common/components/clusterWizard/ClusterWizardStepHeader.d.ts.map +1 -0
- package/@types/common/components/clusterWizard/ClusterWizardStepValidationsAlert.d.ts +16 -0
- package/@types/common/components/clusterWizard/ClusterWizardStepValidationsAlert.d.ts.map +1 -0
- package/@types/common/components/clusterWizard/ReviewHostsInventory.d.ts +6 -0
- package/@types/common/components/clusterWizard/ReviewHostsInventory.d.ts.map +1 -0
- package/@types/common/components/clusterWizard/ReviewValidations.d.ts +4 -0
- package/@types/common/components/clusterWizard/ReviewValidations.d.ts.map +1 -0
- package/@types/common/components/clusterWizard/clusterDetailsValidation.d.ts +27 -0
- package/@types/common/components/clusterWizard/clusterDetailsValidation.d.ts.map +1 -0
- package/@types/common/components/clusterWizard/index.d.ts +9 -0
- package/@types/common/components/clusterWizard/index.d.ts.map +1 -0
- package/@types/common/components/clusterWizard/networkingSteps/AvailableSubnetsControl.d.ts +10 -0
- package/@types/common/components/clusterWizard/networkingSteps/AvailableSubnetsControl.d.ts.map +1 -0
- package/@types/common/components/clusterWizard/networkingSteps/ManagedNetworkingControlGroup.d.ts +7 -0
- package/@types/common/components/clusterWizard/networkingSteps/ManagedNetworkingControlGroup.d.ts.map +1 -0
- package/@types/common/components/clusterWizard/networkingSteps/NetworkTypeControlGroup.d.ts +6 -0
- package/@types/common/components/clusterWizard/networkingSteps/NetworkTypeControlGroup.d.ts.map +1 -0
- package/@types/common/components/clusterWizard/networkingSteps/UserManagedNetworkingTextContent.d.ts +6 -0
- package/@types/common/components/clusterWizard/networkingSteps/UserManagedNetworkingTextContent.d.ts.map +1 -0
- package/@types/common/components/clusterWizard/networkingSteps/VirtualIPControlGroup.d.ts +9 -0
- package/@types/common/components/clusterWizard/networkingSteps/VirtualIPControlGroup.d.ts.map +1 -0
- package/@types/common/components/clusterWizard/networkingSteps/index.d.ts +9 -0
- package/@types/common/components/clusterWizard/networkingSteps/index.d.ts.map +1 -0
- package/@types/common/components/clusterWizard/types.d.ts +59 -0
- package/@types/common/components/clusterWizard/types.d.ts.map +1 -0
- package/@types/common/components/clusterWizard/validationsInfoUtils.d.ts +36 -0
- package/@types/common/components/clusterWizard/validationsInfoUtils.d.ts.map +1 -0
- package/@types/common/components/clusters/PullSecret.d.ts +8 -0
- package/@types/common/components/clusters/PullSecret.d.ts.map +1 -0
- package/@types/common/components/clusters/index.d.ts +2 -0
- package/@types/common/components/clusters/index.d.ts.map +1 -0
- package/@types/common/components/constants.d.ts +3 -0
- package/@types/common/components/constants.d.ts.map +1 -0
- package/@types/common/components/featureSupportLevels/FeatureSupportLevelBadge.d.ts +9 -0
- package/@types/common/components/featureSupportLevels/FeatureSupportLevelBadge.d.ts.map +1 -0
- package/@types/common/components/featureSupportLevels/FeatureSupportLevelContext.d.ts +22 -0
- package/@types/common/components/featureSupportLevels/FeatureSupportLevelContext.d.ts.map +1 -0
- package/@types/common/components/featureSupportLevels/index.d.ts +3 -0
- package/@types/common/components/featureSupportLevels/index.d.ts.map +1 -0
- package/@types/common/components/fetching/EventListFetch.d.ts +3 -0
- package/@types/common/components/fetching/EventListFetch.d.ts.map +1 -0
- package/@types/common/components/fetching/index.d.ts +2 -0
- package/@types/common/components/fetching/index.d.ts.map +1 -0
- package/@types/common/components/hosts/AITable.d.ts +54 -0
- package/@types/common/components/hosts/AITable.d.ts.map +1 -0
- package/@types/common/components/hosts/AdditionalNTPSourcesDialog.d.ts +13 -0
- package/@types/common/components/hosts/AdditionalNTPSourcesDialog.d.ts.map +1 -0
- package/@types/common/components/hosts/DiskLimitations.d.ts +8 -0
- package/@types/common/components/hosts/DiskLimitations.d.ts.map +1 -0
- package/@types/common/components/hosts/DiskRole.d.ts +15 -0
- package/@types/common/components/hosts/DiskRole.d.ts.map +1 -0
- package/@types/common/components/hosts/EditHostForm.d.ts +14 -0
- package/@types/common/components/hosts/EditHostForm.d.ts.map +1 -0
- package/@types/common/components/hosts/EditHostModal.d.ts +11 -0
- package/@types/common/components/hosts/EditHostModal.d.ts.map +1 -0
- package/@types/common/components/hosts/FormatDiskCheckbox.d.ts +17 -0
- package/@types/common/components/hosts/FormatDiskCheckbox.d.ts.map +1 -0
- package/@types/common/components/hosts/HostProgress.d.ts +6 -0
- package/@types/common/components/hosts/HostProgress.d.ts.map +1 -0
- package/@types/common/components/hosts/HostPropertyValidationPopover.d.ts +13 -0
- package/@types/common/components/hosts/HostPropertyValidationPopover.d.ts.map +1 -0
- package/@types/common/components/hosts/HostRequirements.d.ts +16 -0
- package/@types/common/components/hosts/HostRequirements.d.ts.map +1 -0
- package/@types/common/components/hosts/HostRowDetail.d.ts +14 -0
- package/@types/common/components/hosts/HostRowDetail.d.ts.map +1 -0
- package/@types/common/components/hosts/HostStatus.d.ts +5 -0
- package/@types/common/components/hosts/HostStatus.d.ts.map +1 -0
- package/@types/common/components/hosts/HostToolbarActions.d.ts +11 -0
- package/@types/common/components/hosts/HostToolbarActions.d.ts.map +1 -0
- package/@types/common/components/hosts/HostValidationGroups.d.ts +21 -0
- package/@types/common/components/hosts/HostValidationGroups.d.ts.map +1 -0
- package/@types/common/components/hosts/Hostname.d.ts +14 -0
- package/@types/common/components/hosts/Hostname.d.ts.map +1 -0
- package/@types/common/components/hosts/HostsCount.d.ts +10 -0
- package/@types/common/components/hosts/HostsCount.d.ts.map +1 -0
- package/@types/common/components/hosts/HostsTable.d.ts +20 -0
- package/@types/common/components/hosts/HostsTable.d.ts.map +1 -0
- package/@types/common/components/hosts/HostsTableDetailContext.d.ts +12 -0
- package/@types/common/components/hosts/HostsTableDetailContext.d.ts.map +1 -0
- package/@types/common/components/hosts/MassChangeHostnameModal.d.ts +16 -0
- package/@types/common/components/hosts/MassChangeHostnameModal.d.ts.map +1 -0
- package/@types/common/components/hosts/MassDeleteHostModal.d.ts +13 -0
- package/@types/common/components/hosts/MassDeleteHostModal.d.ts.map +1 -0
- package/@types/common/components/hosts/NtpValidationStatus.d.ts +10 -0
- package/@types/common/components/hosts/NtpValidationStatus.d.ts.map +1 -0
- package/@types/common/components/hosts/OcpConsoleNodesSectionLink.d.ts +7 -0
- package/@types/common/components/hosts/OcpConsoleNodesSectionLink.d.ts.map +1 -0
- package/@types/common/components/hosts/RoleCell.d.ts +12 -0
- package/@types/common/components/hosts/RoleCell.d.ts.map +1 -0
- package/@types/common/components/hosts/RoleDropdown.d.ts +10 -0
- package/@types/common/components/hosts/RoleDropdown.d.ts.map +1 -0
- package/@types/common/components/hosts/TableToolbar.d.ts +19 -0
- package/@types/common/components/hosts/TableToolbar.d.ts.map +1 -0
- package/@types/common/components/hosts/VMRebootConfigurationInfo.d.ts +4 -0
- package/@types/common/components/hosts/VMRebootConfigurationInfo.d.ts.map +1 -0
- package/@types/common/components/hosts/hardwareInfo.d.ts +20 -0
- package/@types/common/components/hosts/hardwareInfo.d.ts.map +1 -0
- package/@types/common/components/hosts/index.d.ts +17 -0
- package/@types/common/components/hosts/index.d.ts.map +1 -0
- package/@types/common/components/hosts/status.d.ts +5 -0
- package/@types/common/components/hosts/status.d.ts.map +1 -0
- package/@types/common/components/hosts/tableUtils.d.ts +22 -0
- package/@types/common/components/hosts/tableUtils.d.ts.map +1 -0
- package/@types/common/components/hosts/types.d.ts +73 -0
- package/@types/common/components/hosts/types.d.ts.map +1 -0
- package/@types/common/components/hosts/usePagination.d.ts +10 -0
- package/@types/common/components/hosts/usePagination.d.ts.map +1 -0
- package/@types/common/components/hosts/utils.d.ts +39 -0
- package/@types/common/components/hosts/utils.d.ts.map +1 -0
- package/@types/common/components/index.d.ts +12 -0
- package/@types/common/components/index.d.ts.map +1 -0
- package/@types/common/components/newFeatureSupportLevels/FeatureSupportLevelBadge.d.ts +9 -0
- package/@types/common/components/newFeatureSupportLevels/FeatureSupportLevelBadge.d.ts.map +1 -0
- package/@types/common/components/newFeatureSupportLevels/FeatureSupportLevelContext.d.ts +22 -0
- package/@types/common/components/newFeatureSupportLevels/FeatureSupportLevelContext.d.ts.map +1 -0
- package/@types/common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge.d.ts +10 -0
- package/@types/common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge.d.ts.map +1 -0
- package/@types/common/components/newFeatureSupportLevels/NewFeatureSupportLevelContext.d.ts +24 -0
- package/@types/common/components/newFeatureSupportLevels/NewFeatureSupportLevelContext.d.ts.map +1 -0
- package/@types/common/components/newFeatureSupportLevels/index.d.ts +2 -0
- package/@types/common/components/newFeatureSupportLevels/index.d.ts.map +1 -0
- package/@types/common/components/newFeatureSupportLevels/utils.d.ts +6 -0
- package/@types/common/components/newFeatureSupportLevels/utils.d.ts.map +1 -0
- package/@types/common/components/storage/DisksTable.d.ts +14 -0
- package/@types/common/components/storage/DisksTable.d.ts.map +1 -0
- package/@types/common/components/storage/StorageDetail.d.ts +12 -0
- package/@types/common/components/storage/StorageDetail.d.ts.map +1 -0
- package/@types/common/components/storage/StorageTable.d.ts +12 -0
- package/@types/common/components/storage/StorageTable.d.ts.map +1 -0
- package/@types/common/components/storage/StorageUtils.d.ts +7 -0
- package/@types/common/components/storage/StorageUtils.d.ts.map +1 -0
- package/@types/common/components/ui/Alerts.d.ts +6 -0
- package/@types/common/components/ui/Alerts.d.ts.map +1 -0
- package/@types/common/components/ui/BorderedIcon/BorderedIcon.d.ts +11 -0
- package/@types/common/components/ui/BorderedIcon/BorderedIcon.d.ts.map +1 -0
- package/@types/common/components/ui/ClusterEventsToolbar.d.ts +18 -0
- package/@types/common/components/ui/ClusterEventsToolbar.d.ts.map +1 -0
- package/@types/common/components/ui/ConfirmationModal.d.ts +14 -0
- package/@types/common/components/ui/ConfirmationModal.d.ts.map +1 -0
- package/@types/common/components/ui/DetailList.d.ts +23 -0
- package/@types/common/components/ui/DetailList.d.ts.map +1 -0
- package/@types/common/components/ui/EventsList.d.ts +9 -0
- package/@types/common/components/ui/EventsList.d.ts.map +1 -0
- package/@types/common/components/ui/ExternalLink.d.ts +9 -0
- package/@types/common/components/ui/ExternalLink.d.ts.map +1 -0
- package/@types/common/components/ui/GridGap.d.ts +8 -0
- package/@types/common/components/ui/GridGap.d.ts.map +1 -0
- package/@types/common/components/ui/ModalProgress.d.ts +11 -0
- package/@types/common/components/ui/ModalProgress.d.ts.map +1 -0
- package/@types/common/components/ui/OpenShiftVersionDropdown.d.ts +17 -0
- package/@types/common/components/ui/OpenShiftVersionDropdown.d.ts.map +1 -0
- package/@types/common/components/ui/PopoverIcon.d.ts +16 -0
- package/@types/common/components/ui/PopoverIcon.d.ts.map +1 -0
- package/@types/common/components/ui/PreviewBadge.d.ts +15 -0
- package/@types/common/components/ui/PreviewBadge.d.ts.map +1 -0
- package/@types/common/components/ui/PrismCode.d.ts +30 -0
- package/@types/common/components/ui/PrismCode.d.ts.map +1 -0
- package/@types/common/components/ui/RenderIf.d.ts +7 -0
- package/@types/common/components/ui/RenderIf.d.ts.map +1 -0
- package/@types/common/components/ui/SectionTitle.d.ts +7 -0
- package/@types/common/components/ui/SectionTitle.d.ts.map +1 -0
- package/@types/common/components/ui/SimpleDropdown.d.ts +15 -0
- package/@types/common/components/ui/SimpleDropdown.d.ts.map +1 -0
- package/@types/common/components/ui/StaticTextField.d.ts +24 -0
- package/@types/common/components/ui/StaticTextField.d.ts.map +1 -0
- package/@types/common/components/ui/Toolbar/ToolbarButton.d.ts +5 -0
- package/@types/common/components/ui/Toolbar/ToolbarButton.d.ts.map +1 -0
- package/@types/common/components/ui/Toolbar/ToolbarProgress.d.ts +5 -0
- package/@types/common/components/ui/Toolbar/ToolbarProgress.d.ts.map +1 -0
- package/@types/common/components/ui/Toolbar/ToolbarSecondaryGroup.d.ts +4 -0
- package/@types/common/components/ui/Toolbar/ToolbarSecondaryGroup.d.ts.map +1 -0
- package/@types/common/components/ui/Toolbar/ToolbarText.d.ts +5 -0
- package/@types/common/components/ui/Toolbar/ToolbarText.d.ts.map +1 -0
- package/@types/common/components/ui/Toolbar/index.d.ts +5 -0
- package/@types/common/components/ui/Toolbar/index.d.ts.map +1 -0
- package/@types/common/components/ui/ViewClusterEventsButton.d.ts +9 -0
- package/@types/common/components/ui/ViewClusterEventsButton.d.ts.map +1 -0
- package/@types/common/components/ui/WizardFooter.d.ts +23 -0
- package/@types/common/components/ui/WizardFooter.d.ts.map +1 -0
- package/@types/common/components/ui/WizardNavItem.d.ts +8 -0
- package/@types/common/components/ui/WizardNavItem.d.ts.map +1 -0
- package/@types/common/components/ui/eventsModal.d.ts +30 -0
- package/@types/common/components/ui/eventsModal.d.ts.map +1 -0
- package/@types/common/components/ui/formik/AddButton.d.ts +8 -0
- package/@types/common/components/ui/formik/AddButton.d.ts.map +1 -0
- package/@types/common/components/ui/formik/AdditionalNTPSourcesField.d.ts +11 -0
- package/@types/common/components/ui/formik/AdditionalNTPSourcesField.d.ts.map +1 -0
- package/@types/common/components/ui/formik/AlertFormikError.d.ts +8 -0
- package/@types/common/components/ui/formik/AlertFormikError.d.ts.map +1 -0
- package/@types/common/components/ui/formik/CertificatesUploadField.d.ts +5 -0
- package/@types/common/components/ui/formik/CertificatesUploadField.d.ts.map +1 -0
- package/@types/common/components/ui/formik/CheckboxField.d.ts +5 -0
- package/@types/common/components/ui/formik/CheckboxField.d.ts.map +1 -0
- package/@types/common/components/ui/formik/CodeField.d.ts +4 -0
- package/@types/common/components/ui/formik/CodeField.d.ts.map +1 -0
- package/@types/common/components/ui/formik/FormikAutoSave.d.ts +8 -0
- package/@types/common/components/ui/formik/FormikAutoSave.d.ts.map +1 -0
- package/@types/common/components/ui/formik/HelperText.d.ts +12 -0
- package/@types/common/components/ui/formik/HelperText.d.ts.map +1 -0
- package/@types/common/components/ui/formik/InputField.d.ts +9 -0
- package/@types/common/components/ui/formik/InputField.d.ts.map +1 -0
- package/@types/common/components/ui/formik/LabelField.d.ts +14 -0
- package/@types/common/components/ui/formik/LabelField.d.ts.map +1 -0
- package/@types/common/components/ui/formik/MultiSelectField.d.ts +5 -0
- package/@types/common/components/ui/formik/MultiSelectField.d.ts.map +1 -0
- package/@types/common/components/ui/formik/NumberInputField.d.ts +5 -0
- package/@types/common/components/ui/formik/NumberInputField.d.ts.map +1 -0
- package/@types/common/components/ui/formik/PencilEditField.d.ts +9 -0
- package/@types/common/components/ui/formik/PencilEditField.d.ts.map +1 -0
- package/@types/common/components/ui/formik/PullSecretField.d.ts +13 -0
- package/@types/common/components/ui/formik/PullSecretField.d.ts.map +1 -0
- package/@types/common/components/ui/formik/RadioField.d.ts +4 -0
- package/@types/common/components/ui/formik/RadioField.d.ts.map +1 -0
- package/@types/common/components/ui/formik/RadioFieldWithTooltip.d.ts +8 -0
- package/@types/common/components/ui/formik/RadioFieldWithTooltip.d.ts.map +1 -0
- package/@types/common/components/ui/formik/RemovableField.d.ts +11 -0
- package/@types/common/components/ui/formik/RemovableField.d.ts.map +1 -0
- package/@types/common/components/ui/formik/RichInputField.d.ts +18 -0
- package/@types/common/components/ui/formik/RichInputField.d.ts.map +1 -0
- package/@types/common/components/ui/formik/SelectField.d.ts +5 -0
- package/@types/common/components/ui/formik/SelectField.d.ts.map +1 -0
- package/@types/common/components/ui/formik/SingleNodeCheckbox.d.ts +9 -0
- package/@types/common/components/ui/formik/SingleNodeCheckbox.d.ts.map +1 -0
- package/@types/common/components/ui/formik/SwitchField.d.ts +5 -0
- package/@types/common/components/ui/formik/SwitchField.d.ts.map +1 -0
- package/@types/common/components/ui/formik/TextAreaField.d.ts +5 -0
- package/@types/common/components/ui/formik/TextAreaField.d.ts.map +1 -0
- package/@types/common/components/ui/formik/TextAreaSecretField.d.ts +5 -0
- package/@types/common/components/ui/formik/TextAreaSecretField.d.ts.map +1 -0
- package/@types/common/components/ui/formik/UploadField.d.ts +5 -0
- package/@types/common/components/ui/formik/UploadField.d.ts.map +1 -0
- package/@types/common/components/ui/formik/constants.d.ts +58 -0
- package/@types/common/components/ui/formik/constants.d.ts.map +1 -0
- package/@types/common/components/ui/formik/index.d.ts +27 -0
- package/@types/common/components/ui/formik/index.d.ts.map +1 -0
- package/@types/common/components/ui/formik/types.d.ts +120 -0
- package/@types/common/components/ui/formik/types.d.ts.map +1 -0
- package/@types/common/components/ui/formik/utils.d.ts +27 -0
- package/@types/common/components/ui/formik/utils.d.ts.map +1 -0
- package/@types/common/components/ui/formik/validationSchemas.d.ts +40 -0
- package/@types/common/components/ui/formik/validationSchemas.d.ts.map +1 -0
- package/@types/common/components/ui/index.d.ts +23 -0
- package/@types/common/components/ui/index.d.ts.map +1 -0
- package/@types/common/components/ui/table/index.d.ts +3 -0
- package/@types/common/components/ui/table/index.d.ts.map +1 -0
- package/@types/common/components/ui/table/utils.d.ts +25 -0
- package/@types/common/components/ui/table/utils.d.ts.map +1 -0
- package/@types/common/components/ui/table/wrappable.d.ts +9 -0
- package/@types/common/components/ui/table/wrappable.d.ts.map +1 -0
- package/@types/common/components/ui/uiState/EmptyState.d.ts +12 -0
- package/@types/common/components/ui/uiState/EmptyState.d.ts.map +1 -0
- package/@types/common/components/ui/uiState/ErrorState.d.ts +15 -0
- package/@types/common/components/ui/uiState/ErrorState.d.ts.map +1 -0
- package/@types/common/components/ui/uiState/LoadingState.d.ts +9 -0
- package/@types/common/components/ui/uiState/LoadingState.d.ts.map +1 -0
- package/@types/common/components/ui/uiState/index.d.ts +4 -0
- package/@types/common/components/ui/uiState/index.d.ts.map +1 -0
- package/@types/common/components/ui/utils.d.ts +5 -0
- package/@types/common/components/ui/utils.d.ts.map +1 -0
- package/@types/common/config/constants.d.ts +223 -0
- package/@types/common/config/constants.d.ts.map +1 -0
- package/@types/common/config/index.d.ts +2 -0
- package/@types/common/config/index.d.ts.map +1 -0
- package/@types/common/features/featureGate.d.ts +25 -0
- package/@types/common/features/featureGate.d.ts.map +1 -0
- package/@types/common/features/index.d.ts +2 -0
- package/@types/common/features/index.d.ts.map +1 -0
- package/@types/common/hooks/index.d.ts +3 -0
- package/@types/common/hooks/index.d.ts.map +1 -0
- package/@types/common/hooks/use-translation-wrapper.d.ts +2 -0
- package/@types/common/hooks/use-translation-wrapper.d.ts.map +1 -0
- package/@types/common/hooks/useDeepCompareMemoize.d.ts +3 -0
- package/@types/common/hooks/useDeepCompareMemoize.d.ts.map +1 -0
- package/@types/common/hooks/useFieldErrorMsg.d.ts +9 -0
- package/@types/common/hooks/useFieldErrorMsg.d.ts.map +1 -0
- package/@types/common/hooks/useFormikHelpers.d.ts +7 -0
- package/@types/common/hooks/useFormikHelpers.d.ts.map +1 -0
- package/@types/common/hooks/useStateSafely.d.ts +4 -0
- package/@types/common/hooks/useStateSafely.d.ts.map +1 -0
- package/@types/common/index.d.ts +10 -0
- package/@types/common/index.d.ts.map +1 -0
- package/@types/common/reducers/alertsSlice.d.ts +19 -0
- package/@types/common/reducers/alertsSlice.d.ts.map +1 -0
- package/@types/common/reducers/dialogsSlice.d.ts +10 -0
- package/@types/common/reducers/dialogsSlice.d.ts.map +1 -0
- package/@types/common/reducers/index.d.ts +3 -0
- package/@types/common/reducers/index.d.ts.map +1 -0
- package/@types/common/selectors/clusterSelectors.d.ts +21 -0
- package/@types/common/selectors/clusterSelectors.d.ts.map +1 -0
- package/@types/common/selectors/index.d.ts +2 -0
- package/@types/common/selectors/index.d.ts.map +1 -0
- package/@types/common/sevices/DateAndTime.d.ts +3 -0
- package/@types/common/sevices/DateAndTime.d.ts.map +1 -0
- package/@types/common/types/clusters.d.ts +44 -0
- package/@types/common/types/clusters.d.ts.map +1 -0
- package/@types/common/types/cpuArchitecture.d.ts +24 -0
- package/@types/common/types/cpuArchitecture.d.ts.map +1 -0
- package/@types/common/types/errortype.d.ts +7 -0
- package/@types/common/types/errortype.d.ts.map +1 -0
- package/@types/common/types/events.d.ts +20 -0
- package/@types/common/types/events.d.ts.map +1 -0
- package/@types/common/types/featureSupportLevel.d.ts +23 -0
- package/@types/common/types/featureSupportLevel.d.ts.map +1 -0
- package/@types/common/types/generateIsoFields.d.ts +12 -0
- package/@types/common/types/generateIsoFields.d.ts.map +1 -0
- package/@types/common/types/hosts.d.ts +20 -0
- package/@types/common/types/hosts.d.ts.map +1 -0
- package/@types/common/types/index.d.ts +20 -0
- package/@types/common/types/index.d.ts.map +1 -0
- package/@types/common/types/typescriptExtensions.d.ts +10 -0
- package/@types/common/types/typescriptExtensions.d.ts.map +1 -0
- package/@types/common/types/versions.d.ts +11 -0
- package/@types/common/types/versions.d.ts.map +1 -0
- package/@types/common/utils.d.ts +4 -0
- package/@types/common/utils.d.ts.map +1 -0
- package/@types/index.d.ts +3 -0
- package/@types/index.d.ts.map +1 -0
- package/@types/ocm/api/axiosClient.d.ts +8 -0
- package/@types/ocm/api/axiosClient.d.ts.map +1 -0
- package/@types/ocm/api/axiosExtensions.d.ts +3 -0
- package/@types/ocm/api/axiosExtensions.d.ts.map +1 -0
- package/@types/ocm/api/index.d.ts +3 -0
- package/@types/ocm/api/index.d.ts.map +1 -0
- package/@types/ocm/api/types.d.ts +6 -0
- package/@types/ocm/api/types.d.ts.map +1 -0
- package/@types/ocm/api/utils.d.ts +12 -0
- package/@types/ocm/api/utils.d.ts.map +1 -0
- package/@types/ocm/components/AddHosts/AddHosts.d.ts +2 -0
- package/@types/ocm/components/AddHosts/AddHosts.d.ts.map +1 -0
- package/@types/ocm/components/AddHosts/InventoryAddHost.d.ts +7 -0
- package/@types/ocm/components/AddHosts/InventoryAddHost.d.ts.map +1 -0
- package/@types/ocm/components/AddHosts/day2Wizard/Day2ClusterDetails.d.ts +3 -0
- package/@types/ocm/components/AddHosts/day2Wizard/Day2ClusterDetails.d.ts.map +1 -0
- package/@types/ocm/components/AddHosts/day2Wizard/Day2DiscoveryImageModalButton.d.ts +6 -0
- package/@types/ocm/components/AddHosts/day2Wizard/Day2DiscoveryImageModalButton.d.ts.map +1 -0
- package/@types/ocm/components/AddHosts/day2Wizard/Day2DownloadISO.d.ts +3 -0
- package/@types/ocm/components/AddHosts/day2Wizard/Day2DownloadISO.d.ts.map +1 -0
- package/@types/ocm/components/AddHosts/day2Wizard/Day2GenerateISO.d.ts +3 -0
- package/@types/ocm/components/AddHosts/day2Wizard/Day2GenerateISO.d.ts.map +1 -0
- package/@types/ocm/components/AddHosts/day2Wizard/Day2StaticIP.d.ts +3 -0
- package/@types/ocm/components/AddHosts/day2Wizard/Day2StaticIP.d.ts.map +1 -0
- package/@types/ocm/components/AddHosts/day2Wizard/Day2StaticIpHostConfigurations.d.ts +3 -0
- package/@types/ocm/components/AddHosts/day2Wizard/Day2StaticIpHostConfigurations.d.ts.map +1 -0
- package/@types/ocm/components/AddHosts/day2Wizard/Day2Wizard.d.ts +3 -0
- package/@types/ocm/components/AddHosts/day2Wizard/Day2Wizard.d.ts.map +1 -0
- package/@types/ocm/components/AddHosts/day2Wizard/Day2WizardContext.d.ts +24 -0
- package/@types/ocm/components/AddHosts/day2Wizard/Day2WizardContext.d.ts.map +1 -0
- package/@types/ocm/components/AddHosts/day2Wizard/Day2WizardContextProvider.d.ts +9 -0
- package/@types/ocm/components/AddHosts/day2Wizard/Day2WizardContextProvider.d.ts.map +1 -0
- package/@types/ocm/components/AddHosts/day2Wizard/Day2WizardFooter.d.ts +9 -0
- package/@types/ocm/components/AddHosts/day2Wizard/Day2WizardFooter.d.ts.map +1 -0
- package/@types/ocm/components/AddHosts/day2Wizard/Day2WizardNav.d.ts +3 -0
- package/@types/ocm/components/AddHosts/day2Wizard/Day2WizardNav.d.ts.map +1 -0
- package/@types/ocm/components/AddHosts/day2Wizard/constants.d.ts +7 -0
- package/@types/ocm/components/AddHosts/day2Wizard/constants.d.ts.map +1 -0
- package/@types/ocm/components/AddHosts/index.d.ts +3 -0
- package/@types/ocm/components/AddHosts/index.d.ts.map +1 -0
- package/@types/ocm/components/AddHosts/types.d.ts +44 -0
- package/@types/ocm/components/AddHosts/types.d.ts.map +1 -0
- package/@types/ocm/components/HostsClusterDetailTab/HostsClusterDetailTab.d.ts +4 -0
- package/@types/ocm/components/HostsClusterDetailTab/HostsClusterDetailTab.d.ts.map +1 -0
- package/@types/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContent.d.ts +3 -0
- package/@types/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContent.d.ts.map +1 -0
- package/@types/ocm/components/HostsClusterDetailTab/index.d.ts +3 -0
- package/@types/ocm/components/HostsClusterDetailTab/index.d.ts.map +1 -0
- package/@types/ocm/components/HostsClusterDetailTab/types.d.ts +8 -0
- package/@types/ocm/components/HostsClusterDetailTab/types.d.ts.map +1 -0
- package/@types/ocm/components/HostsClusterDetailTab/utils.d.ts +9 -0
- package/@types/ocm/components/HostsClusterDetailTab/utils.d.ts.map +1 -0
- package/@types/ocm/components/Router.d.ts +9 -0
- package/@types/ocm/components/Router.d.ts.map +1 -0
- package/@types/ocm/components/SentryErrorMonitorContextProvider.d.ts +3 -0
- package/@types/ocm/components/SentryErrorMonitorContextProvider.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/ClusterDefaultConfigurationContext.d.ts +9 -0
- package/@types/ocm/components/clusterConfiguration/ClusterDefaultConfigurationContext.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/CpuArchitectureDropdown.d.ts +15 -0
- package/@types/ocm/components/clusterConfiguration/CpuArchitectureDropdown.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/CustomManifestCheckbox.d.ts +6 -0
- package/@types/ocm/components/clusterConfiguration/CustomManifestCheckbox.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/DiscoveryImageForm.d.ts +12 -0
- package/@types/ocm/components/clusterConfiguration/DiscoveryImageForm.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/DiscoveryImageModal.d.ts +12 -0
- package/@types/ocm/components/clusterConfiguration/DiscoveryImageModal.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/DiscoveryImageTypeDropdown.d.ts +11 -0
- package/@types/ocm/components/clusterConfiguration/DiscoveryImageTypeDropdown.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/HostInventory.d.ts +6 -0
- package/@types/ocm/components/clusterConfiguration/HostInventory.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/HostsNetworkConfigurationControlGroup.d.ts +5 -0
- package/@types/ocm/components/clusterConfiguration/HostsNetworkConfigurationControlGroup.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/InformationAndAlerts.d.ts +6 -0
- package/@types/ocm/components/clusterConfiguration/InformationAndAlerts.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.d.ts +16 -0
- package/@types/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/OcmClusterProgressItems.d.ts +11 -0
- package/@types/ocm/components/clusterConfiguration/OcmClusterProgressItems.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/OcmDiscoveryImageConfigForm.d.ts +28 -0
- package/@types/ocm/components/clusterConfiguration/OcmDiscoveryImageConfigForm.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/OcmOpenShiftVersion.d.ts +11 -0
- package/@types/ocm/components/clusterConfiguration/OcmOpenShiftVersion.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/OcmOpenShiftVersionSelect.d.ts +7 -0
- package/@types/ocm/components/clusterConfiguration/OcmOpenShiftVersionSelect.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/OcmOperatorProgressItem.d.ts +15 -0
- package/@types/ocm/components/clusterConfiguration/OcmOperatorProgressItem.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/OcmSNOControlGroup.d.ts +9 -0
- package/@types/ocm/components/clusterConfiguration/OcmSNOControlGroup.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/OcmSNODisclaimer.d.ts +9 -0
- package/@types/ocm/components/clusterConfiguration/OcmSNODisclaimer.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/OcmSingleNodeCheckbox.d.ts +11 -0
- package/@types/ocm/components/clusterConfiguration/OcmSingleNodeCheckbox.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/manifestsConfiguration/CustomManifestsPage.d.ts +7 -0
- package/@types/ocm/components/clusterConfiguration/manifestsConfiguration/CustomManifestsPage.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/manifestsConfiguration/DeleteCustomManifestModal.d.ts +7 -0
- package/@types/ocm/components/clusterConfiguration/manifestsConfiguration/DeleteCustomManifestModal.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/CollapsedManifest.d.ts +4 -0
- package/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/CollapsedManifest.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifest.d.ts +17 -0
- package/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifest.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifests.d.ts +7 -0
- package/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifests.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsArray.d.ts +7 -0
- package/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsArray.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsForm.d.ts +4 -0
- package/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsForm.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/ExpandedManifest.d.ts +4 -0
- package/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/ExpandedManifest.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/FolderDropdown.d.ts +6 -0
- package/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/FolderDropdown.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/customManifestsValidationSchema.d.ts +6 -0
- package/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/customManifestsValidationSchema.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/propTypes.d.ts +26 -0
- package/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/propTypes.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/utils.d.ts +9 -0
- package/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/utils.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/manifestsConfiguration/data/dataTypes.d.ts +16 -0
- package/@types/ocm/components/clusterConfiguration/manifestsConfiguration/data/dataTypes.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/networkConfiguration/AdvancedNetworkFields.d.ts +3 -0
- package/@types/ocm/components/clusterConfiguration/networkConfiguration/AdvancedNetworkFields.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/networkConfiguration/AvailableSubnetsControl.d.ts +9 -0
- package/@types/ocm/components/clusterConfiguration/networkConfiguration/AvailableSubnetsControl.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.d.ts +10 -0
- package/@types/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.d.ts +6 -0
- package/@types/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationTable.d.ts +4 -0
- package/@types/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationTable.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationTableBase.d.ts +19 -0
- package/@types/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationTableBase.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/networkConfiguration/StackTypeControl.d.ts +9 -0
- package/@types/ocm/components/clusterConfiguration/networkConfiguration/StackTypeControl.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/networkConfiguration/SubnetsDropdown.d.ts +9 -0
- package/@types/ocm/components/clusterConfiguration/networkConfiguration/SubnetsDropdown.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/networkConfiguration/UserManagedNetworkingTextContent.d.ts +5 -0
- package/@types/ocm/components/clusterConfiguration/networkConfiguration/UserManagedNetworkingTextContent.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/networkConfiguration/VirtualIPControlGroup.d.ts +8 -0
- package/@types/ocm/components/clusterConfiguration/networkConfiguration/VirtualIPControlGroup.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.d.ts +5 -0
- package/@types/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/operators/CnvCheckbox.d.ts +4 -0
- package/@types/ocm/components/clusterConfiguration/operators/CnvCheckbox.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/operators/CnvHostRequirements.d.ts +6 -0
- package/@types/ocm/components/clusterConfiguration/operators/CnvHostRequirements.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/operators/LvmCheckbox.d.ts +4 -0
- package/@types/ocm/components/clusterConfiguration/operators/LvmCheckbox.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/operators/LvmHostRequirements.d.ts +6 -0
- package/@types/ocm/components/clusterConfiguration/operators/LvmHostRequirements.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/operators/OdfCheckbox.d.ts +3 -0
- package/@types/ocm/components/clusterConfiguration/operators/OdfCheckbox.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/operators/utils.d.ts +7 -0
- package/@types/ocm/components/clusterConfiguration/operators/utils.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegration.d.ts +6 -0
- package/@types/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegration.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegrationNote.d.ts +6 -0
- package/@types/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegrationNote.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegrationVsphere.d.ts +3 -0
- package/@types/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegrationVsphere.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/review/ReviewClusterDetailTable.d.ts +5 -0
- package/@types/ocm/components/clusterConfiguration/review/ReviewClusterDetailTable.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/review/ReviewCustomManifestsTable.d.ts +5 -0
- package/@types/ocm/components/clusterConfiguration/review/ReviewCustomManifestsTable.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/review/ReviewNetworkingTable.d.ts +5 -0
- package/@types/ocm/components/clusterConfiguration/review/ReviewNetworkingTable.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/review/ReviewOperatorsTable.d.ts +5 -0
- package/@types/ocm/components/clusterConfiguration/review/ReviewOperatorsTable.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/review/ReviewPreflightChecks.d.ts +6 -0
- package/@types/ocm/components/clusterConfiguration/review/ReviewPreflightChecks.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/review/ReviewStep.d.ts +7 -0
- package/@types/ocm/components/clusterConfiguration/review/ReviewStep.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/review/ReviewSummary.d.ts +9 -0
- package/@types/ocm/components/clusterConfiguration/review/ReviewSummary.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/review/TableSummaryExpandable.d.ts +7 -0
- package/@types/ocm/components/clusterConfiguration/review/TableSummaryExpandable.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/review/index.d.ts +5 -0
- package/@types/ocm/components/clusterConfiguration/review/index.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/commonValidationSchemas.d.ts +12 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/commonValidationSchemas.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/components/CollapsedHost.d.ts +12 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/components/CollapsedHost.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/FormViewHosts.d.ts +4 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/FormViewHosts.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/FormViewHostsFields.d.ts +6 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/FormViewHostsFields.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/formViewHostsValidationSchema.d.ts +6 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/formViewHostsValidationSchema.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/components/FormViewNetworkWide/FormViewNetworkWide.d.ts +4 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/components/FormViewNetworkWide/FormViewNetworkWide.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/components/FormViewNetworkWide/FormViewNetworkWideFields.d.ts +7 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/components/FormViewNetworkWide/FormViewNetworkWideFields.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/components/FormViewNetworkWide/formViewNetworkWideValidationSchema.d.ts +14 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/components/FormViewNetworkWide/formViewNetworkWideValidationSchema.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/components/StaticIpForm.d.ts +4 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/components/StaticIpForm.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/components/StaticIpHostsArray.d.ts +20 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/components/StaticIpHostsArray.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/components/StaticIpPage.d.ts +5 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/components/StaticIpPage.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/components/StaticIpViewRadioGroup.d.ts +9 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/components/StaticIpViewRadioGroup.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/components/YamlView/MacIpMapping.d.ts +7 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/components/YamlView/MacIpMapping.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/components/YamlView/YamlView.d.ts +4 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/components/YamlView/YamlView.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/components/YamlView/YamlViewFields.d.ts +2 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/components/YamlView/YamlViewFields.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/components/YamlView/yamlViewValidationSchema.d.ts +4 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/components/YamlView/yamlViewValidationSchema.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/components/propTypes.d.ts +29 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/components/propTypes.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/data/dataTypes.d.ts +54 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/data/dataTypes.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/data/dummyData.d.ts +21 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/data/dummyData.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/data/emptyData.d.ts +10 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/data/emptyData.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/data/formDataFromInfraEnvField.d.ts +4 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/data/formDataFromInfraEnvField.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/data/formDataToInfraEnvField.d.ts +5 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/data/formDataToInfraEnvField.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/data/fromInfraEnv.d.ts +14 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/data/fromInfraEnv.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/data/machineNetwork.d.ts +3 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/data/machineNetwork.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/data/nmstateTypes.d.ts +61 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/data/nmstateTypes.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/data/nmstateYaml.d.ts +17 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/data/nmstateYaml.d.ts.map +1 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/data/protocolVersion.d.ts +9 -0
- package/@types/ocm/components/clusterConfiguration/staticIp/data/protocolVersion.d.ts.map +1 -0
- package/@types/ocm/components/clusterDetail/AssistedInstallerDetailCard.d.ts +9 -0
- package/@types/ocm/components/clusterDetail/AssistedInstallerDetailCard.d.ts.map +1 -0
- package/@types/ocm/components/clusterDetail/AssistedInstallerExtraDetailCard.d.ts +8 -0
- package/@types/ocm/components/clusterDetail/AssistedInstallerExtraDetailCard.d.ts.map +1 -0
- package/@types/ocm/components/clusterDetail/CancelInstallationModal.d.ts +4 -0
- package/@types/ocm/components/clusterDetail/CancelInstallationModal.d.ts.map +1 -0
- package/@types/ocm/components/clusterDetail/ClusterDetail.d.ts +8 -0
- package/@types/ocm/components/clusterDetail/ClusterDetail.d.ts.map +1 -0
- package/@types/ocm/components/clusterDetail/ClusterDetailStatusMessages.d.ts +8 -0
- package/@types/ocm/components/clusterDetail/ClusterDetailStatusMessages.d.ts.map +1 -0
- package/@types/ocm/components/clusterDetail/ClusterDetailStatusVarieties.d.ts +18 -0
- package/@types/ocm/components/clusterDetail/ClusterDetailStatusVarieties.d.ts.map +1 -0
- package/@types/ocm/components/clusterDetail/ClusterDetailsButtonGroup.d.ts +11 -0
- package/@types/ocm/components/clusterDetail/ClusterDetailsButtonGroup.d.ts.map +1 -0
- package/@types/ocm/components/clusterDetail/ClusterInstallationError.d.ts +9 -0
- package/@types/ocm/components/clusterDetail/ClusterInstallationError.d.ts.map +1 -0
- package/@types/ocm/components/clusterDetail/ClusterInstallationProgressCard.d.ts +7 -0
- package/@types/ocm/components/clusterDetail/ClusterInstallationProgressCard.d.ts.map +1 -0
- package/@types/ocm/components/clusterDetail/ClusterPollingErrorModal.d.ts +6 -0
- package/@types/ocm/components/clusterDetail/ClusterPollingErrorModal.d.ts.map +1 -0
- package/@types/ocm/components/clusterDetail/ClusterProperties.d.ts +12 -0
- package/@types/ocm/components/clusterDetail/ClusterProperties.d.ts.map +1 -0
- package/@types/ocm/components/clusterDetail/ClusterSummaryExpandable.d.ts +8 -0
- package/@types/ocm/components/clusterDetail/ClusterSummaryExpandable.d.ts.map +1 -0
- package/@types/ocm/components/clusterDetail/ClusterUpdateErrorModal.d.ts +3 -0
- package/@types/ocm/components/clusterDetail/ClusterUpdateErrorModal.d.ts.map +1 -0
- package/@types/ocm/components/clusterDetail/HostInventoryExpandable.d.ts +8 -0
- package/@types/ocm/components/clusterDetail/HostInventoryExpandable.d.ts.map +1 -0
- package/@types/ocm/components/clusterDetail/OpenShiftVersionDetail.d.ts +6 -0
- package/@types/ocm/components/clusterDetail/OpenShiftVersionDetail.d.ts.map +1 -0
- package/@types/ocm/components/clusterDetail/ProgressBarAlerts.d.ts +16 -0
- package/@types/ocm/components/clusterDetail/ProgressBarAlerts.d.ts.map +1 -0
- package/@types/ocm/components/clusterDetail/RebootNodeZeroModal.d.ts +7 -0
- package/@types/ocm/components/clusterDetail/RebootNodeZeroModal.d.ts.map +1 -0
- package/@types/ocm/components/clusterDetail/ResetClusterModal.d.ts +4 -0
- package/@types/ocm/components/clusterDetail/ResetClusterModal.d.ts.map +1 -0
- package/@types/ocm/components/clusterDetail/getProgressBarAlerts.d.ts +4 -0
- package/@types/ocm/components/clusterDetail/getProgressBarAlerts.d.ts.map +1 -0
- package/@types/ocm/components/clusterDetail/index.d.ts +6 -0
- package/@types/ocm/components/clusterDetail/index.d.ts.map +1 -0
- package/@types/ocm/components/clusterDetail/utils.d.ts +9 -0
- package/@types/ocm/components/clusterDetail/utils.d.ts.map +1 -0
- package/@types/ocm/components/clusterWizard/ClusterDetails.d.ts +8 -0
- package/@types/ocm/components/clusterWizard/ClusterDetails.d.ts.map +1 -0
- package/@types/ocm/components/clusterWizard/ClusterDetailsForm.d.ts +20 -0
- package/@types/ocm/components/clusterWizard/ClusterDetailsForm.d.ts.map +1 -0
- package/@types/ocm/components/clusterWizard/ClusterPlatformIntegrationHint.d.ts +9 -0
- package/@types/ocm/components/clusterWizard/ClusterPlatformIntegrationHint.d.ts.map +1 -0
- package/@types/ocm/components/clusterWizard/ClusterWizard.d.ts +9 -0
- package/@types/ocm/components/clusterWizard/ClusterWizard.d.ts.map +1 -0
- package/@types/ocm/components/clusterWizard/ClusterWizardContext.d.ts +19 -0
- package/@types/ocm/components/clusterWizard/ClusterWizardContext.d.ts.map +1 -0
- package/@types/ocm/components/clusterWizard/ClusterWizardContextProvider.d.ts +9 -0
- package/@types/ocm/components/clusterWizard/ClusterWizardContextProvider.d.ts.map +1 -0
- package/@types/ocm/components/clusterWizard/ClusterWizardFooter.d.ts +12 -0
- package/@types/ocm/components/clusterWizard/ClusterWizardFooter.d.ts.map +1 -0
- package/@types/ocm/components/clusterWizard/ClusterWizardNavigation.d.ts +6 -0
- package/@types/ocm/components/clusterWizard/ClusterWizardNavigation.d.ts.map +1 -0
- package/@types/ocm/components/clusterWizard/CustomManifestStep.d.ts +6 -0
- package/@types/ocm/components/clusterWizard/CustomManifestStep.d.ts.map +1 -0
- package/@types/ocm/components/clusterWizard/HostDiscovery.d.ts +6 -0
- package/@types/ocm/components/clusterWizard/HostDiscovery.d.ts.map +1 -0
- package/@types/ocm/components/clusterWizard/NewClusterWizard.d.ts +4 -0
- package/@types/ocm/components/clusterWizard/NewClusterWizard.d.ts.map +1 -0
- package/@types/ocm/components/clusterWizard/Operators.d.ts +7 -0
- package/@types/ocm/components/clusterWizard/Operators.d.ts.map +1 -0
- package/@types/ocm/components/clusterWizard/OperatorsStep.d.ts +3 -0
- package/@types/ocm/components/clusterWizard/OperatorsStep.d.ts.map +1 -0
- package/@types/ocm/components/clusterWizard/StaticIp.d.ts +8 -0
- package/@types/ocm/components/clusterWizard/StaticIp.d.ts.map +1 -0
- package/@types/ocm/components/clusterWizard/Storage.d.ts +6 -0
- package/@types/ocm/components/clusterWizard/Storage.d.ts.map +1 -0
- package/@types/ocm/components/clusterWizard/constants.d.ts +7 -0
- package/@types/ocm/components/clusterWizard/constants.d.ts.map +1 -0
- package/@types/ocm/components/clusterWizard/index.d.ts +4 -0
- package/@types/ocm/components/clusterWizard/index.d.ts.map +1 -0
- package/@types/ocm/components/clusterWizard/wizardTransition.d.ts +20 -0
- package/@types/ocm/components/clusterWizard/wizardTransition.d.ts.map +1 -0
- package/@types/ocm/components/clusters/ClusterBreadcrumbs.d.ts +5 -0
- package/@types/ocm/components/clusters/ClusterBreadcrumbs.d.ts.map +1 -0
- package/@types/ocm/components/clusters/ClusterLoading.d.ts +3 -0
- package/@types/ocm/components/clusters/ClusterLoading.d.ts.map +1 -0
- package/@types/ocm/components/clusters/ClusterPage.d.ts +11 -0
- package/@types/ocm/components/clusters/ClusterPage.d.ts.map +1 -0
- package/@types/ocm/components/clusters/ClusterPageErrors.d.ts +2 -0
- package/@types/ocm/components/clusters/ClusterPageErrors.d.ts.map +1 -0
- package/@types/ocm/components/clusters/ClusterStatus.d.ts +16 -0
- package/@types/ocm/components/clusters/ClusterStatus.d.ts.map +1 -0
- package/@types/ocm/components/clusters/ClusterToolbar.d.ts +8 -0
- package/@types/ocm/components/clusters/ClusterToolbar.d.ts.map +1 -0
- package/@types/ocm/components/clusters/Clusters.d.ts +5 -0
- package/@types/ocm/components/clusters/Clusters.d.ts.map +1 -0
- package/@types/ocm/components/clusters/ClustersListToolbar.d.ts +13 -0
- package/@types/ocm/components/clusters/ClustersListToolbar.d.ts.map +1 -0
- package/@types/ocm/components/clusters/ClustersTable.d.ts +9 -0
- package/@types/ocm/components/clusters/ClustersTable.d.ts.map +1 -0
- package/@types/ocm/components/clusters/DeleteClusterModal.d.ts +11 -0
- package/@types/ocm/components/clusters/DeleteClusterModal.d.ts.map +1 -0
- package/@types/ocm/components/clusters/NewClusterPage.d.ts +4 -0
- package/@types/ocm/components/clusters/NewClusterPage.d.ts.map +1 -0
- package/@types/ocm/components/clusters/clusterPolling.d.ts +9 -0
- package/@types/ocm/components/clusters/clusterPolling.d.ts.map +1 -0
- package/@types/ocm/components/clusters/index.d.ts +6 -0
- package/@types/ocm/components/clusters/index.d.ts.map +1 -0
- package/@types/ocm/components/clusters/utils.d.ts +12 -0
- package/@types/ocm/components/clusters/utils.d.ts.map +1 -0
- package/@types/ocm/components/featureSupportLevels/FeatureSupportLevelProvider.d.ts +12 -0
- package/@types/ocm/components/featureSupportLevels/FeatureSupportLevelProvider.d.ts.map +1 -0
- package/@types/ocm/components/featureSupportLevels/ReviewClusterFeatureSupportLevels.d.ts +26 -0
- package/@types/ocm/components/featureSupportLevels/ReviewClusterFeatureSupportLevels.d.ts.map +1 -0
- package/@types/ocm/components/featureSupportLevels/featureStateUtils.d.ts +7 -0
- package/@types/ocm/components/featureSupportLevels/featureStateUtils.d.ts.map +1 -0
- package/@types/ocm/components/featureSupportLevels/index.d.ts +3 -0
- package/@types/ocm/components/featureSupportLevels/index.d.ts.map +1 -0
- package/@types/ocm/components/fetching/fetchEvents.d.ts +3 -0
- package/@types/ocm/components/fetching/fetchEvents.d.ts.map +1 -0
- package/@types/ocm/components/hosts/AdditionaNTPSourceDialogToggle.d.ts +2 -0
- package/@types/ocm/components/hosts/AdditionaNTPSourceDialogToggle.d.ts.map +1 -0
- package/@types/ocm/components/hosts/ClusterHostsTable.d.ts +11 -0
- package/@types/ocm/components/hosts/ClusterHostsTable.d.ts.map +1 -0
- package/@types/ocm/components/hosts/DeleteHostModal.d.ts +9 -0
- package/@types/ocm/components/hosts/DeleteHostModal.d.ts.map +1 -0
- package/@types/ocm/components/hosts/HardwareStatus.d.ts +22 -0
- package/@types/ocm/components/hosts/HardwareStatus.d.ts.map +1 -0
- package/@types/ocm/components/hosts/HostRequirementsContent.d.ts +9 -0
- package/@types/ocm/components/hosts/HostRequirementsContent.d.ts.map +1 -0
- package/@types/ocm/components/hosts/HostsDiscoveryTable.d.ts +7 -0
- package/@types/ocm/components/hosts/HostsDiscoveryTable.d.ts.map +1 -0
- package/@types/ocm/components/hosts/HostsDiscoveryTroubleshootingInfoLinkWithModal.d.ts +7 -0
- package/@types/ocm/components/hosts/HostsDiscoveryTroubleshootingInfoLinkWithModal.d.ts.map +1 -0
- package/@types/ocm/components/hosts/HostsStorageTable.d.ts +9 -0
- package/@types/ocm/components/hosts/HostsStorageTable.d.ts.map +1 -0
- package/@types/ocm/components/hosts/HostsTableEmptyState.d.ts +6 -0
- package/@types/ocm/components/hosts/HostsTableEmptyState.d.ts.map +1 -0
- package/@types/ocm/components/hosts/ModalDialogsContext.d.ts +56 -0
- package/@types/ocm/components/hosts/ModalDialogsContext.d.ts.map +1 -0
- package/@types/ocm/components/hosts/NetworkingStatus.d.ts +5 -0
- package/@types/ocm/components/hosts/NetworkingStatus.d.ts.map +1 -0
- package/@types/ocm/components/hosts/OdfDisksManualFormattingHint.d.ts +3 -0
- package/@types/ocm/components/hosts/OdfDisksManualFormattingHint.d.ts.map +1 -0
- package/@types/ocm/components/hosts/ResetHostModal.d.ts +10 -0
- package/@types/ocm/components/hosts/ResetHostModal.d.ts.map +1 -0
- package/@types/ocm/components/hosts/StorageAlerts.d.ts +6 -0
- package/@types/ocm/components/hosts/StorageAlerts.d.ts.map +1 -0
- package/@types/ocm/components/hosts/UpdateDay2ApiVipDialogToggle.d.ts +3 -0
- package/@types/ocm/components/hosts/UpdateDay2ApiVipDialogToggle.d.ts.map +1 -0
- package/@types/ocm/components/hosts/UpdateDay2ApiVipForm.d.ts +12 -0
- package/@types/ocm/components/hosts/UpdateDay2ApiVipForm.d.ts.map +1 -0
- package/@types/ocm/components/hosts/UpdateDay2ApiVipModal.d.ts +8 -0
- package/@types/ocm/components/hosts/UpdateDay2ApiVipModal.d.ts.map +1 -0
- package/@types/ocm/components/hosts/VMRebootConfigurationLinkWithModal.d.ts +3 -0
- package/@types/ocm/components/hosts/VMRebootConfigurationLinkWithModal.d.ts.map +1 -0
- package/@types/ocm/components/hosts/use-hosts-table.d.ts +40 -0
- package/@types/ocm/components/hosts/use-hosts-table.d.ts.map +1 -0
- package/@types/ocm/components/hosts/utils.d.ts +5 -0
- package/@types/ocm/components/hosts/utils.d.ts.map +1 -0
- package/@types/ocm/components/index.d.ts +9 -0
- package/@types/ocm/components/index.d.ts.map +1 -0
- package/@types/ocm/components/newFeatureSupportLevels/NewFeatureSupportLevelProvider.d.ts +13 -0
- package/@types/ocm/components/newFeatureSupportLevels/NewFeatureSupportLevelProvider.d.ts.map +1 -0
- package/@types/ocm/components/newFeatureSupportLevels/ReviewClusterNewFeatureSupportLevels.d.ts +26 -0
- package/@types/ocm/components/newFeatureSupportLevels/ReviewClusterNewFeatureSupportLevels.d.ts.map +1 -0
- package/@types/ocm/components/newFeatureSupportLevels/index.d.ts +3 -0
- package/@types/ocm/components/newFeatureSupportLevels/index.d.ts.map +1 -0
- package/@types/ocm/components/newFeatureSupportLevels/newFeatureStateUtils.d.ts +7 -0
- package/@types/ocm/components/newFeatureSupportLevels/newFeatureStateUtils.d.ts.map +1 -0
- package/@types/ocm/components/ui/AssistedUILibVersion.d.ts +3 -0
- package/@types/ocm/components/ui/AssistedUILibVersion.d.ts.map +1 -0
- package/@types/ocm/components/ui/Buttons/BackButton.d.ts +9 -0
- package/@types/ocm/components/ui/Buttons/BackButton.d.ts.map +1 -0
- package/@types/ocm/components/ui/InfoLinkWithModal.d.ts +15 -0
- package/@types/ocm/components/ui/InfoLinkWithModal.d.ts.map +1 -0
- package/@types/ocm/components/ui/OcmFormFields.d.ts +25 -0
- package/@types/ocm/components/ui/OcmFormFields.d.ts.map +1 -0
- package/@types/ocm/components/ui/RedirectToCluster.d.ts +8 -0
- package/@types/ocm/components/ui/RedirectToCluster.d.ts.map +1 -0
- package/@types/ocm/components/ui/index.d.ts +2 -0
- package/@types/ocm/components/ui/index.d.ts.map +1 -0
- package/@types/ocm/config/constants.d.ts +8 -0
- package/@types/ocm/config/constants.d.ts.map +1 -0
- package/@types/ocm/config/index.d.ts +3 -0
- package/@types/ocm/config/index.d.ts.map +1 -0
- package/@types/ocm/config/routeBaseBath.d.ts +3 -0
- package/@types/ocm/config/routeBaseBath.d.ts.map +1 -0
- package/@types/ocm/hooks/index.d.ts +8 -0
- package/@types/ocm/hooks/index.d.ts.map +1 -0
- package/@types/ocm/hooks/useClusterCustomManifests.d.ts +10 -0
- package/@types/ocm/hooks/useClusterCustomManifests.d.ts.map +1 -0
- package/@types/ocm/hooks/useClusterPreflightRequirements.d.ts +8 -0
- package/@types/ocm/hooks/useClusterPreflightRequirements.d.ts.map +1 -0
- package/@types/ocm/hooks/useClusterSupportedPlatforms.d.ts +11 -0
- package/@types/ocm/hooks/useClusterSupportedPlatforms.d.ts.map +1 -0
- package/@types/ocm/hooks/useInfraEnv.d.ts +8 -0
- package/@types/ocm/hooks/useInfraEnv.d.ts.map +1 -0
- package/@types/ocm/hooks/useInfraEnvId.d.ts +6 -0
- package/@types/ocm/hooks/useInfraEnvId.d.ts.map +1 -0
- package/@types/ocm/hooks/useInfraEnvImageUrl.d.ts +10 -0
- package/@types/ocm/hooks/useInfraEnvImageUrl.d.ts.map +1 -0
- package/@types/ocm/hooks/useInfraEnvIpxeImageUrl.d.ts +10 -0
- package/@types/ocm/hooks/useInfraEnvIpxeImageUrl.d.ts.map +1 -0
- package/@types/ocm/hooks/useManagedDomains.d.ts +3 -0
- package/@types/ocm/hooks/useManagedDomains.d.ts.map +1 -0
- package/@types/ocm/hooks/useOpenshiftVersions.d.ts +16 -0
- package/@types/ocm/hooks/useOpenshiftVersions.d.ts.map +1 -0
- package/@types/ocm/hooks/usePullSecret.d.ts +2 -0
- package/@types/ocm/hooks/usePullSecret.d.ts.map +1 -0
- package/@types/ocm/hooks/useSetClusterPermissions.d.ts +3 -0
- package/@types/ocm/hooks/useSetClusterPermissions.d.ts.map +1 -0
- package/@types/ocm/hooks/useSupportLevelsAPI.d.ts +6 -0
- package/@types/ocm/hooks/useSupportLevelsAPI.d.ts.map +1 -0
- package/@types/ocm/hooks/useUsedClusterNames.d.ts +5 -0
- package/@types/ocm/hooks/useUsedClusterNames.d.ts.map +1 -0
- package/@types/ocm/index.d.ts +12 -0
- package/@types/ocm/index.d.ts.map +1 -0
- package/@types/ocm/reducers/clusters/clustersSlice.d.ts +27 -0
- package/@types/ocm/reducers/clusters/clustersSlice.d.ts.map +1 -0
- package/@types/ocm/reducers/clusters/currentClusterSlice.d.ts +139 -0
- package/@types/ocm/reducers/clusters/currentClusterSlice.d.ts.map +1 -0
- package/@types/ocm/reducers/clusters/index.d.ts +3 -0
- package/@types/ocm/reducers/clusters/index.d.ts.map +1 -0
- package/@types/ocm/selectors/clusters.d.ts +64 -0
- package/@types/ocm/selectors/clusters.d.ts.map +1 -0
- package/@types/ocm/selectors/currentCluster.d.ts +14 -0
- package/@types/ocm/selectors/currentCluster.d.ts.map +1 -0
- package/@types/ocm/selectors/index.d.ts +3 -0
- package/@types/ocm/selectors/index.d.ts.map +1 -0
- package/@types/ocm/sentry.d.ts +3 -0
- package/@types/ocm/sentry.d.ts.map +1 -0
- package/@types/ocm/services/ClusterDetailsService.d.ts +16 -0
- package/@types/ocm/services/ClusterDetailsService.d.ts.map +1 -0
- package/@types/ocm/services/ClustersService.d.ts +28 -0
- package/@types/ocm/services/ClustersService.d.ts.map +1 -0
- package/@types/ocm/services/CpuArchitectureService.d.ts +11 -0
- package/@types/ocm/services/CpuArchitectureService.d.ts.map +1 -0
- package/@types/ocm/services/Day2ClusterService.d.ts +21 -0
- package/@types/ocm/services/Day2ClusterService.d.ts.map +1 -0
- package/@types/ocm/services/DiscoveryImageFormService.d.ts +10 -0
- package/@types/ocm/services/DiscoveryImageFormService.d.ts.map +1 -0
- package/@types/ocm/services/DiskEncryptionService.d.ts +7 -0
- package/@types/ocm/services/DiskEncryptionService.d.ts.map +1 -0
- package/@types/ocm/services/HostDiscoveryService.d.ts +7 -0
- package/@types/ocm/services/HostDiscoveryService.d.ts.map +1 -0
- package/@types/ocm/services/HostsService.d.ts +21 -0
- package/@types/ocm/services/HostsService.d.ts.map +1 -0
- package/@types/ocm/services/InfraEnvIdsCacheService.d.ts +10 -0
- package/@types/ocm/services/InfraEnvIdsCacheService.d.ts.map +1 -0
- package/@types/ocm/services/InfraEnvsService.d.ts +15 -0
- package/@types/ocm/services/InfraEnvsService.d.ts.map +1 -0
- package/@types/ocm/services/OperatorsService.d.ts +12 -0
- package/@types/ocm/services/OperatorsService.d.ts.map +1 -0
- package/@types/ocm/services/apis/ClustersAPI.d.ts +41 -0
- package/@types/ocm/services/apis/ClustersAPI.d.ts.map +1 -0
- package/@types/ocm/services/apis/ComponentVersionsAPI.d.ts +7 -0
- package/@types/ocm/services/apis/ComponentVersionsAPI.d.ts.map +1 -0
- package/@types/ocm/services/apis/EventsAPI.d.ts +8 -0
- package/@types/ocm/services/apis/EventsAPI.d.ts.map +1 -0
- package/@types/ocm/services/apis/FeatureSupportLevelsAPI.d.ts +7 -0
- package/@types/ocm/services/apis/FeatureSupportLevelsAPI.d.ts.map +1 -0
- package/@types/ocm/services/apis/HostsAPI.d.ts +15 -0
- package/@types/ocm/services/apis/HostsAPI.d.ts.map +1 -0
- package/@types/ocm/services/apis/InfraEnvsAPI.d.ts +19 -0
- package/@types/ocm/services/apis/InfraEnvsAPI.d.ts.map +1 -0
- package/@types/ocm/services/apis/ManagedDomainsAPI.d.ts +7 -0
- package/@types/ocm/services/apis/ManagedDomainsAPI.d.ts.map +1 -0
- package/@types/ocm/services/apis/NewFeatureSupportLevelsAPI.d.ts +14 -0
- package/@types/ocm/services/apis/NewFeatureSupportLevelsAPI.d.ts.map +1 -0
- package/@types/ocm/services/apis/SupportedOpenshiftVersionsAPI.d.ts +7 -0
- package/@types/ocm/services/apis/SupportedOpenshiftVersionsAPI.d.ts.map +1 -0
- package/@types/ocm/services/apis/index.d.ts +9 -0
- package/@types/ocm/services/apis/index.d.ts.map +1 -0
- package/@types/ocm/services/apis/types.d.ts +14 -0
- package/@types/ocm/services/apis/types.d.ts.map +1 -0
- package/@types/ocm/services/index.d.ts +11 -0
- package/@types/ocm/services/index.d.ts.map +1 -0
- package/@types/ocm/services/types.d.ts +13 -0
- package/@types/ocm/services/types.d.ts.map +1 -0
- package/@types/ocm/store/hooks.d.ts +4 -0
- package/@types/ocm/store/hooks.d.ts.map +1 -0
- package/@types/ocm/store/index.d.ts +37 -0
- package/@types/ocm/store/index.d.ts.map +1 -0
- package/@types/ocm/store/slices/infraEnvs/selectors.d.ts +22 -0
- package/@types/ocm/store/slices/infraEnvs/selectors.d.ts.map +1 -0
- package/@types/ocm/store/slices/infraEnvs/slice.d.ts +4 -0
- package/@types/ocm/store/slices/infraEnvs/slice.d.ts.map +1 -0
- package/@types/ocm/store/slices/infraEnvs/thunks.d.ts +54 -0
- package/@types/ocm/store/slices/infraEnvs/thunks.d.ts.map +1 -0
- package/@types/ocm/types.d.ts +6 -0
- package/@types/ocm/types.d.ts.map +1 -0
- package/README.md +26 -85
- package/build/build.json +3 -0
- package/build/cim/components/Agent/AgentStatus.js +34 -0
- package/build/cim/components/Agent/AgentStatus.js.map +1 -0
- package/build/cim/components/Agent/AgentTable.js +38 -0
- package/build/cim/components/Agent/AgentTable.js.map +1 -0
- package/build/cim/components/Agent/AgentsSelectionHostCountAlerts.js +25 -0
- package/build/cim/components/Agent/AgentsSelectionHostCountAlerts.js.map +1 -0
- package/build/cim/components/Agent/AgentsSelectionHostCountLabelIcon.js +9 -0
- package/build/cim/components/Agent/AgentsSelectionHostCountLabelIcon.js.map +1 -0
- package/build/cim/components/Agent/AgentsSelectionTable.js +71 -0
- package/build/cim/components/Agent/AgentsSelectionTable.js.map +1 -0
- package/build/cim/components/Agent/AgentsSelectionUtils.js +25 -0
- package/build/cim/components/Agent/AgentsSelectionUtils.js.map +1 -0
- package/build/cim/components/Agent/BMCForm.js +168 -0
- package/build/cim/components/Agent/BMCForm.js.map +1 -0
- package/build/cim/components/Agent/BMHStatus.js +6 -0
- package/build/cim/components/Agent/BMHStatus.js.map +1 -0
- package/build/cim/components/Agent/MinimalHWRequirements.js +53 -0
- package/build/cim/components/Agent/MinimalHWRequirements.js.map +1 -0
- package/build/cim/components/Agent/NoAgentsAlert.js +24 -0
- package/build/cim/components/Agent/NoAgentsAlert.js.map +1 -0
- package/build/cim/components/Agent/index.js +4 -0
- package/build/cim/components/Agent/index.js.map +1 -0
- package/build/cim/components/Agent/tableUtils.js +423 -0
- package/build/cim/components/Agent/tableUtils.js.map +1 -0
- package/build/cim/components/Agent/types.js +2 -0
- package/build/cim/components/Agent/types.js.map +1 -0
- package/build/cim/components/ClusterDeployment/ACMClusterDeploymentDetailsStep.js +37 -0
- package/build/cim/components/ClusterDeployment/ACMClusterDeploymentDetailsStep.js.map +1 -0
- package/build/cim/components/ClusterDeployment/AdditionalNTPSourcesDialogToggle.js +8 -0
- package/build/cim/components/ClusterDeployment/AdditionalNTPSourcesDialogToggle.js.map +1 -0
- package/build/cim/components/ClusterDeployment/ArmCheckbox.js +41 -0
- package/build/cim/components/ClusterDeployment/ArmCheckbox.js.map +1 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentCreateProgress.js +28 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentCreateProgress.js.map +1 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentCredentials.js +51 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentCredentials.js.map +1 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentDetails.js +81 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentDetails.js.map +1 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentDetailsForm.js +20 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentDetailsForm.js.map +1 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.js +96 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.js.map +1 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentDetailsTable.js +35 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentDetailsTable.js.map +1 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentHostDiscoveryTable.js +87 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentHostDiscoveryTable.js.map +1 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentHostSelectionStep.js +210 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentHostSelectionStep.js.map +1 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscovery.js +66 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscovery.js.map +1 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscoveryStep.js +109 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscoveryStep.js.map +1 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentHostsNetworkTable.js +75 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentHostsNetworkTable.js.map +1 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentHostsSelection.js +41 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentHostsSelection.js.map +1 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentHostsSelectionAdvanced.js +47 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentHostsSelectionAdvanced.js.map +1 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentHostsSelectionBasic.js +36 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentHostsSelectionBasic.js.map +1 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentKubeconfigDownload.js +45 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentKubeconfigDownload.js.map +1 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentNetworkingForm.js +69 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentNetworkingForm.js.map +1 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentNetworkingStep.js +120 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentNetworkingStep.js.map +1 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentProgress.js +16 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentProgress.js.map +1 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentReviewStep.js +69 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentReviewStep.js.map +1 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentValidationsOverview.js +47 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentValidationsOverview.js.map +1 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentWizard.js +78 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentWizard.js.map +1 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentWizardContext.js +9 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentWizardContext.js.map +1 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentWizardFooter.js +58 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentWizardFooter.js.map +1 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentWizardNavigation.js +32 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentWizardNavigation.js.map +1 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentWizardStep.js +6 -0
- package/build/cim/components/ClusterDeployment/ClusterDeploymentWizardStep.js.map +1 -0
- package/build/cim/components/ClusterDeployment/ClusterDetailsFormFields.js +48 -0
- package/build/cim/components/ClusterDeployment/ClusterDetailsFormFields.js.map +1 -0
- package/build/cim/components/ClusterDeployment/ClusterInstallationError.js +21 -0
- package/build/cim/components/ClusterDeployment/ClusterInstallationError.js.map +1 -0
- package/build/cim/components/ClusterDeployment/ClusterScaleUpAutoHostsSelection.js +21 -0
- package/build/cim/components/ClusterDeployment/ClusterScaleUpAutoHostsSelection.js.map +1 -0
- package/build/cim/components/ClusterDeployment/LabelSelector.css +9 -0
- package/build/cim/components/ClusterDeployment/LabelsSelector.js +49 -0
- package/build/cim/components/ClusterDeployment/LabelsSelector.js.map +1 -0
- package/build/cim/components/ClusterDeployment/LocationsSelector.js +38 -0
- package/build/cim/components/ClusterDeployment/LocationsSelector.js.map +1 -0
- package/build/cim/components/ClusterDeployment/LogsDownloadButton.js +11 -0
- package/build/cim/components/ClusterDeployment/LogsDownloadButton.js.map +1 -0
- package/build/cim/components/ClusterDeployment/NetworkConfiguration.js +92 -0
- package/build/cim/components/ClusterDeployment/NetworkConfiguration.js.map +1 -0
- package/build/cim/components/ClusterDeployment/ScaleUpForm.js +32 -0
- package/build/cim/components/ClusterDeployment/ScaleUpForm.js.map +1 -0
- package/build/cim/components/ClusterDeployment/ShortCapacitySummary.js +27 -0
- package/build/cim/components/ClusterDeployment/ShortCapacitySummary.js.map +1 -0
- package/build/cim/components/ClusterDeployment/constants.js +16 -0
- package/build/cim/components/ClusterDeployment/constants.js.map +1 -0
- package/build/cim/components/ClusterDeployment/helpers.js +139 -0
- package/build/cim/components/ClusterDeployment/helpers.js.map +1 -0
- package/build/cim/components/ClusterDeployment/index.js +18 -0
- package/build/cim/components/ClusterDeployment/index.js.map +1 -0
- package/build/cim/components/ClusterDeployment/networkConfigurationValidation.js +45 -0
- package/build/cim/components/ClusterDeployment/networkConfigurationValidation.js.map +1 -0
- package/build/cim/components/ClusterDeployment/types.js +2 -0
- package/build/cim/components/ClusterDeployment/types.js.map +1 -0
- package/build/cim/components/ClusterDeployment/use-networking-formik.js +106 -0
- package/build/cim/components/ClusterDeployment/use-networking-formik.js.map +1 -0
- package/build/cim/components/ClusterDeployment/validationSchemas.js +12 -0
- package/build/cim/components/ClusterDeployment/validationSchemas.js.map +1 -0
- package/build/cim/components/ClusterDeployment/wizardTransition.js +94 -0
- package/build/cim/components/ClusterDeployment/wizardTransition.js.map +1 -0
- package/build/cim/components/Hypershift/DetailsPage/ClusterInstallationProgress.css +7 -0
- package/build/cim/components/Hypershift/DetailsPage/ClusterInstallationProgress.js +29 -0
- package/build/cim/components/Hypershift/DetailsPage/ClusterInstallationProgress.js.map +1 -0
- package/build/cim/components/Hypershift/DetailsPage/ConditionsTable.css +3 -0
- package/build/cim/components/Hypershift/DetailsPage/ConditionsTable.js +44 -0
- package/build/cim/components/Hypershift/DetailsPage/ConditionsTable.js.map +1 -0
- package/build/cim/components/Hypershift/DetailsPage/HostedClusterProgress.js +33 -0
- package/build/cim/components/Hypershift/DetailsPage/HostedClusterProgress.js.map +1 -0
- package/build/cim/components/Hypershift/DetailsPage/HypershiftKubeconfigDownload.js +41 -0
- package/build/cim/components/Hypershift/DetailsPage/HypershiftKubeconfigDownload.js.map +1 -0
- package/build/cim/components/Hypershift/DetailsPage/NodePoolStatus.js +30 -0
- package/build/cim/components/Hypershift/DetailsPage/NodePoolStatus.js.map +1 -0
- package/build/cim/components/Hypershift/DetailsPage/NodePoolsProgress.js +64 -0
- package/build/cim/components/Hypershift/DetailsPage/NodePoolsProgress.js.map +1 -0
- package/build/cim/components/Hypershift/DetailsPage/NodePoolsTable.css +3 -0
- package/build/cim/components/Hypershift/DetailsPage/NodePoolsTable.js +144 -0
- package/build/cim/components/Hypershift/DetailsPage/NodePoolsTable.js.map +1 -0
- package/build/cim/components/Hypershift/DetailsPage/index.js +3 -0
- package/build/cim/components/Hypershift/DetailsPage/index.js.map +1 -0
- package/build/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsForm.js +25 -0
- package/build/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsForm.js.map +1 -0
- package/build/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsStep.js +36 -0
- package/build/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsStep.js.map +1 -0
- package/build/cim/components/Hypershift/HostedClusterWizard/DetailsStep/index.js +2 -0
- package/build/cim/components/Hypershift/HostedClusterWizard/DetailsStep/index.js.map +1 -0
- package/build/cim/components/Hypershift/HostedClusterWizard/DetailsStep/types.js +2 -0
- package/build/cim/components/Hypershift/HostedClusterWizard/DetailsStep/types.js.map +1 -0
- package/build/cim/components/Hypershift/HostedClusterWizard/HostsStep/HostsForm.js +54 -0
- package/build/cim/components/Hypershift/HostedClusterWizard/HostsStep/HostsForm.js.map +1 -0
- package/build/cim/components/Hypershift/HostedClusterWizard/HostsStep/HostsStep.js +57 -0
- package/build/cim/components/Hypershift/HostedClusterWizard/HostsStep/HostsStep.js.map +1 -0
- package/build/cim/components/Hypershift/HostedClusterWizard/HostsStep/NodePoolForm.css +15 -0
- package/build/cim/components/Hypershift/HostedClusterWizard/HostsStep/NodePoolForm.js +69 -0
- package/build/cim/components/Hypershift/HostedClusterWizard/HostsStep/NodePoolForm.js.map +1 -0
- package/build/cim/components/Hypershift/HostedClusterWizard/HostsStep/index.js +2 -0
- package/build/cim/components/Hypershift/HostedClusterWizard/HostsStep/index.js.map +1 -0
- package/build/cim/components/Hypershift/HostedClusterWizard/HostsStep/types.js +2 -0
- package/build/cim/components/Hypershift/HostedClusterWizard/HostsStep/types.js.map +1 -0
- package/build/cim/components/Hypershift/HostedClusterWizard/NetworkStep/NetworkForm.css +7 -0
- package/build/cim/components/Hypershift/HostedClusterWizard/NetworkStep/NetworkForm.js +31 -0
- package/build/cim/components/Hypershift/HostedClusterWizard/NetworkStep/NetworkForm.js.map +1 -0
- package/build/cim/components/Hypershift/HostedClusterWizard/NetworkStep/NetworkStep.js +32 -0
- package/build/cim/components/Hypershift/HostedClusterWizard/NetworkStep/NetworkStep.js.map +1 -0
- package/build/cim/components/Hypershift/HostedClusterWizard/NetworkStep/index.js +3 -0
- package/build/cim/components/Hypershift/HostedClusterWizard/NetworkStep/index.js.map +1 -0
- package/build/cim/components/Hypershift/HostedClusterWizard/NetworkStep/types.js +2 -0
- package/build/cim/components/Hypershift/HostedClusterWizard/NetworkStep/types.js.map +1 -0
- package/build/cim/components/Hypershift/HostedClusterWizard/index.js +4 -0
- package/build/cim/components/Hypershift/HostedClusterWizard/index.js.map +1 -0
- package/build/cim/components/Hypershift/forms/NodePoolAgentsForm.js +18 -0
- package/build/cim/components/Hypershift/forms/NodePoolAgentsForm.js.map +1 -0
- package/build/cim/components/Hypershift/hooks/useSupportedOCPVersions.js +23 -0
- package/build/cim/components/Hypershift/hooks/useSupportedOCPVersions.js.map +1 -0
- package/build/cim/components/Hypershift/hooks/useTemptiflySync.js +14 -0
- package/build/cim/components/Hypershift/hooks/useTemptiflySync.js.map +1 -0
- package/build/cim/components/Hypershift/index.js +5 -0
- package/build/cim/components/Hypershift/index.js.map +1 -0
- package/build/cim/components/Hypershift/modals/AddNodePoolModal.js +81 -0
- package/build/cim/components/Hypershift/modals/AddNodePoolModal.js.map +1 -0
- package/build/cim/components/Hypershift/modals/ManageHostsModal.js +66 -0
- package/build/cim/components/Hypershift/modals/ManageHostsModal.js.map +1 -0
- package/build/cim/components/Hypershift/modals/NodePoolForm.js +47 -0
- package/build/cim/components/Hypershift/modals/NodePoolForm.js.map +1 -0
- package/build/cim/components/Hypershift/modals/RemoveNodePoolModal.js +46 -0
- package/build/cim/components/Hypershift/modals/RemoveNodePoolModal.js.map +1 -0
- package/build/cim/components/Hypershift/types.js +2 -0
- package/build/cim/components/Hypershift/types.js.map +1 -0
- package/build/cim/components/Hypershift/utils/index.js +4 -0
- package/build/cim/components/Hypershift/utils/index.js.map +1 -0
- package/build/cim/components/Hypershift/utils/labels.js +9 -0
- package/build/cim/components/Hypershift/utils/labels.js.map +1 -0
- package/build/cim/components/Hypershift/utils/nodepool.js +21 -0
- package/build/cim/components/Hypershift/utils/nodepool.js.map +1 -0
- package/build/cim/components/Hypershift/utils/status.js +51 -0
- package/build/cim/components/Hypershift/utils/status.js.map +1 -0
- package/build/cim/components/InfraEnv/AddHostDropdown.css +4 -0
- package/build/cim/components/InfraEnv/AddHostDropdown.js +42 -0
- package/build/cim/components/InfraEnv/AddHostDropdown.js.map +1 -0
- package/build/cim/components/InfraEnv/AgentAlerts.js +17 -0
- package/build/cim/components/InfraEnv/AgentAlerts.js.map +1 -0
- package/build/cim/components/InfraEnv/EnvironmentDetails.js +135 -0
- package/build/cim/components/InfraEnv/EnvironmentDetails.js.map +1 -0
- package/build/cim/components/InfraEnv/EnvironmentErrors.js +18 -0
- package/build/cim/components/InfraEnv/EnvironmentErrors.js.map +1 -0
- package/build/cim/components/InfraEnv/InfraEnvAgentTable.js +119 -0
- package/build/cim/components/InfraEnv/InfraEnvAgentTable.js.map +1 -0
- package/build/cim/components/InfraEnv/InfraEnvFormPage.js +137 -0
- package/build/cim/components/InfraEnv/InfraEnvFormPage.js.map +1 -0
- package/build/cim/components/InfraEnv/InfraEnvHostsTabAgentsWarning.js +38 -0
- package/build/cim/components/InfraEnv/InfraEnvHostsTabAgentsWarning.js.map +1 -0
- package/build/cim/components/InfraEnv/InfraTableToolbar.js +72 -0
- package/build/cim/components/InfraEnv/InfraTableToolbar.js.map +1 -0
- package/build/cim/components/InfraEnv/index.js +9 -0
- package/build/cim/components/InfraEnv/index.js.map +1 -0
- package/build/cim/components/InfraEnv/infra-env.css +7 -0
- package/build/cim/components/InfraEnv/types.js +2 -0
- package/build/cim/components/InfraEnv/types.js.map +1 -0
- package/build/cim/components/InfraEnv/utils.js +109 -0
- package/build/cim/components/InfraEnv/utils.js.map +1 -0
- package/build/cim/components/YamlPreview/YamlPreview.js +52 -0
- package/build/cim/components/YamlPreview/YamlPreview.js.map +1 -0
- package/build/cim/components/YamlPreview/index.js +3 -0
- package/build/cim/components/YamlPreview/index.js.map +1 -0
- package/build/cim/components/YamlPreview/useYAMLPreview.js +75 -0
- package/build/cim/components/YamlPreview/useYAMLPreview.js.map +1 -0
- package/build/cim/components/common/InfoAndTroubleshootingNotification.js +18 -0
- package/build/cim/components/common/InfoAndTroubleshootingNotification.js.map +1 -0
- package/build/cim/components/common/ResourceAlerts.css +9 -0
- package/build/cim/components/common/ResourceAlerts.js +18 -0
- package/build/cim/components/common/ResourceAlerts.js.map +1 -0
- package/build/cim/components/common/SpecSyncErrAlert.js +10 -0
- package/build/cim/components/common/SpecSyncErrAlert.js.map +1 -0
- package/build/cim/components/common/ValidationsRunningAlert.js +9 -0
- package/build/cim/components/common/ValidationsRunningAlert.js.map +1 -0
- package/build/cim/components/common/constants.js +11 -0
- package/build/cim/components/common/constants.js.map +1 -0
- package/build/cim/components/common/index.js +3 -0
- package/build/cim/components/common/index.js.map +1 -0
- package/build/cim/components/featureSupportLevels/ACMFeatureSupportLevelProvider.js +79 -0
- package/build/cim/components/featureSupportLevels/ACMFeatureSupportLevelProvider.js.map +1 -0
- package/build/cim/components/featureSupportLevels/featureStateUtils.js +40 -0
- package/build/cim/components/featureSupportLevels/featureStateUtils.js.map +1 -0
- package/build/cim/components/featureSupportLevels/index.js +2 -0
- package/build/cim/components/featureSupportLevels/index.js.map +1 -0
- package/build/cim/components/helpers/agentClusterInstall.js +17 -0
- package/build/cim/components/helpers/agentClusterInstall.js.map +1 -0
- package/build/cim/components/helpers/agentStatus.js +55 -0
- package/build/cim/components/helpers/agentStatus.js.map +1 -0
- package/build/cim/components/helpers/agents.js +23 -0
- package/build/cim/components/helpers/agents.js.map +1 -0
- package/build/cim/components/helpers/clusterDeployment.js +161 -0
- package/build/cim/components/helpers/clusterDeployment.js.map +1 -0
- package/build/cim/components/helpers/conditions.js +20 -0
- package/build/cim/components/helpers/conditions.js.map +1 -0
- package/build/cim/components/helpers/index.js +12 -0
- package/build/cim/components/helpers/index.js.map +1 -0
- package/build/cim/components/helpers/labels.js +14 -0
- package/build/cim/components/helpers/labels.js.map +1 -0
- package/build/cim/components/helpers/network.js +28 -0
- package/build/cim/components/helpers/network.js.map +1 -0
- package/build/cim/components/helpers/proxy.js +6 -0
- package/build/cim/components/helpers/proxy.js.map +1 -0
- package/build/cim/components/helpers/status.js +123 -0
- package/build/cim/components/helpers/status.js.map +1 -0
- package/build/cim/components/helpers/storage.js +12 -0
- package/build/cim/components/helpers/storage.js.map +1 -0
- package/build/cim/components/helpers/toAssisted.js +138 -0
- package/build/cim/components/helpers/toAssisted.js.map +1 -0
- package/build/cim/components/helpers/units.js +358 -0
- package/build/cim/components/helpers/units.js.map +1 -0
- package/build/cim/components/helpers/versions.js +56 -0
- package/build/cim/components/helpers/versions.js.map +1 -0
- package/build/cim/components/index.js +9 -0
- package/build/cim/components/index.js.map +1 -0
- package/build/cim/components/modals/AddBmcHostModal.js +15 -0
- package/build/cim/components/modals/AddBmcHostModal.js.map +1 -0
- package/build/cim/components/modals/AddBmcHostYamlForm.css +5 -0
- package/build/cim/components/modals/AddBmcHostYamlForm.js +148 -0
- package/build/cim/components/modals/AddBmcHostYamlForm.js.map +1 -0
- package/build/cim/components/modals/AddBmcHostYamlModal.js +13 -0
- package/build/cim/components/modals/AddBmcHostYamlModal.js.map +1 -0
- package/build/cim/components/modals/AddHostModal.js +59 -0
- package/build/cim/components/modals/AddHostModal.js.map +1 -0
- package/build/cim/components/modals/CimConfiguration/CimConfigDisconnectedAlert.js +15 -0
- package/build/cim/components/modals/CimConfiguration/CimConfigDisconnectedAlert.js.map +1 -0
- package/build/cim/components/modals/CimConfiguration/CimConfigProgressAlert.js +56 -0
- package/build/cim/components/modals/CimConfiguration/CimConfigProgressAlert.js.map +1 -0
- package/build/cim/components/modals/CimConfiguration/CimConfigurationForm.css +23 -0
- package/build/cim/components/modals/CimConfiguration/CimConfigurationForm.js +64 -0
- package/build/cim/components/modals/CimConfiguration/CimConfigurationForm.js.map +1 -0
- package/build/cim/components/modals/CimConfiguration/CimConfigurationModal.css +3 -0
- package/build/cim/components/modals/CimConfiguration/CimConfigurationModal.js +150 -0
- package/build/cim/components/modals/CimConfiguration/CimConfigurationModal.js.map +1 -0
- package/build/cim/components/modals/CimConfiguration/CimIsMissingAlert.js +8 -0
- package/build/cim/components/modals/CimConfiguration/CimIsMissingAlert.js.map +1 -0
- package/build/cim/components/modals/CimConfiguration/CimStorageMissingAlert.js +19 -0
- package/build/cim/components/modals/CimConfiguration/CimStorageMissingAlert.js.map +1 -0
- package/build/cim/components/modals/CimConfiguration/constants.js +5 -0
- package/build/cim/components/modals/CimConfiguration/constants.js.map +1 -0
- package/build/cim/components/modals/CimConfiguration/index.js +7 -0
- package/build/cim/components/modals/CimConfiguration/index.js.map +1 -0
- package/build/cim/components/modals/CimConfiguration/persist.js +320 -0
- package/build/cim/components/modals/CimConfiguration/persist.js.map +1 -0
- package/build/cim/components/modals/CimConfiguration/types.js +2 -0
- package/build/cim/components/modals/CimConfiguration/types.js.map +1 -0
- package/build/cim/components/modals/CimConfiguration/utils.js +29 -0
- package/build/cim/components/modals/CimConfiguration/utils.js.map +1 -0
- package/build/cim/components/modals/EditAgentModal.js +31 -0
- package/build/cim/components/modals/EditAgentModal.js.map +1 -0
- package/build/cim/components/modals/EditBMHModal.js +48 -0
- package/build/cim/components/modals/EditBMHModal.js.map +1 -0
- package/build/cim/components/modals/EditNtpSourcesModal.js +52 -0
- package/build/cim/components/modals/EditNtpSourcesModal.js.map +1 -0
- package/build/cim/components/modals/EditProxyModal.js +64 -0
- package/build/cim/components/modals/EditProxyModal.js.map +1 -0
- package/build/cim/components/modals/EditPullSecretModal.js +91 -0
- package/build/cim/components/modals/EditPullSecretModal.js.map +1 -0
- package/build/cim/components/modals/EditSSHKeyModal.js +51 -0
- package/build/cim/components/modals/EditSSHKeyModal.js.map +1 -0
- package/build/cim/components/modals/MassApproveAction.js +12 -0
- package/build/cim/components/modals/MassApproveAction.js.map +1 -0
- package/build/cim/components/modals/MassApproveAgentModal.js +112 -0
- package/build/cim/components/modals/MassApproveAgentModal.js.map +1 -0
- package/build/cim/components/modals/MassDeleteAgentModal.js +107 -0
- package/build/cim/components/modals/MassDeleteAgentModal.js.map +1 -0
- package/build/cim/components/modals/ScaleUpModal.js +91 -0
- package/build/cim/components/modals/ScaleUpModal.js.map +1 -0
- package/build/cim/components/modals/constants.js +64 -0
- package/build/cim/components/modals/constants.js.map +1 -0
- package/build/cim/components/modals/index.js +12 -0
- package/build/cim/components/modals/index.js.map +1 -0
- package/build/cim/components/modals/types.js +2 -0
- package/build/cim/components/modals/types.js.map +1 -0
- package/build/cim/components/modals/utils.js +60 -0
- package/build/cim/components/modals/utils.js.map +1 -0
- package/build/cim/config/constants.js +269 -0
- package/build/cim/config/constants.js.map +1 -0
- package/build/cim/index.js +16 -0
- package/build/cim/index.js.map +1 -0
- package/build/cim/types/fromOCP/index.js +2 -0
- package/build/cim/types/fromOCP/index.js.map +1 -0
- package/build/cim/types/fromOCP/k8sTypes.js +2 -0
- package/build/cim/types/fromOCP/k8sTypes.js.map +1 -0
- package/build/cim/types/index.js +5 -0
- package/build/cim/types/index.js.map +1 -0
- package/build/cim/types/k8s/agent-cluster-install.js +2 -0
- package/build/cim/types/k8s/agent-cluster-install.js.map +1 -0
- package/build/cim/types/k8s/agent-service-config.js +2 -0
- package/build/cim/types/k8s/agent-service-config.js.map +1 -0
- package/build/cim/types/k8s/agent.js +2 -0
- package/build/cim/types/k8s/agent.js.map +1 -0
- package/build/cim/types/k8s/bare-metal-host.js +2 -0
- package/build/cim/types/k8s/bare-metal-host.js.map +1 -0
- package/build/cim/types/k8s/cluster-deployment.js +2 -0
- package/build/cim/types/k8s/cluster-deployment.js.map +1 -0
- package/build/cim/types/k8s/cluster-image-set.js +2 -0
- package/build/cim/types/k8s/cluster-image-set.js.map +1 -0
- package/build/cim/types/k8s/cluster-version.js +10 -0
- package/build/cim/types/k8s/cluster-version.js.map +1 -0
- package/build/cim/types/k8s/index.js +13 -0
- package/build/cim/types/k8s/index.js.map +1 -0
- package/build/cim/types/k8s/infra-env-k8s-resource.js +2 -0
- package/build/cim/types/k8s/infra-env-k8s-resource.js.map +1 -0
- package/build/cim/types/k8s/infrastructure.js +2 -0
- package/build/cim/types/k8s/infrastructure.js.map +1 -0
- package/build/cim/types/k8s/nm-state.js +2 -0
- package/build/cim/types/k8s/nm-state.js.map +1 -0
- package/build/cim/types/k8s/shared.js +2 -0
- package/build/cim/types/k8s/shared.js.map +1 -0
- package/build/cim/types/k8s/storage-class.js +2 -0
- package/build/cim/types/k8s/storage-class.js.map +1 -0
- package/build/cim/types/metal3.js +2 -0
- package/build/cim/types/metal3.js.map +1 -0
- package/build/cim/types/resources.js +6 -0
- package/build/cim/types/resources.js.map +1 -0
- package/build/cim/utils.js +4 -0
- package/build/cim/utils.js.map +1 -0
- package/build/common/api/index.js +3 -0
- package/build/common/api/index.js.map +1 -0
- package/build/common/api/types.js +2 -0
- package/build/common/api/types.js.map +1 -0
- package/build/common/api/utils.js +19 -0
- package/build/common/api/utils.js.map +1 -0
- package/build/common/components/AddHosts/AddHostsContext.js +4 -0
- package/build/common/components/AddHosts/AddHostsContext.js.map +1 -0
- package/build/common/components/AddHosts/index.js +2 -0
- package/build/common/components/AddHosts/index.js.map +1 -0
- package/build/common/components/AlertsContextProvider.js +25 -0
- package/build/common/components/AlertsContextProvider.js.map +1 -0
- package/build/common/components/ErrorHandling/ErrorMonitorContext.js +13 -0
- package/build/common/components/ErrorHandling/ErrorMonitorContext.js.map +1 -0
- package/build/common/components/ErrorHandling/WithErrorBoundary.js +32 -0
- package/build/common/components/ErrorHandling/WithErrorBoundary.js.map +1 -0
- package/build/common/components/clusterConfiguration/AdvancedNetworkFields.js +25 -0
- package/build/common/components/clusterConfiguration/AdvancedNetworkFields.js.map +1 -0
- package/build/common/components/clusterConfiguration/CertificateFields.css +3 -0
- package/build/common/components/clusterConfiguration/CertificateFields.js +37 -0
- package/build/common/components/clusterConfiguration/CertificateFields.js.map +1 -0
- package/build/common/components/clusterConfiguration/DiscoveryImageConfigForm.js +62 -0
- package/build/common/components/clusterConfiguration/DiscoveryImageConfigForm.js.map +1 -0
- package/build/common/components/clusterConfiguration/DiscoveryImageTypeControlGroup.js +19 -0
- package/build/common/components/clusterConfiguration/DiscoveryImageTypeControlGroup.js.map +1 -0
- package/build/common/components/clusterConfiguration/DiscoveryInstructions.js +18 -0
- package/build/common/components/clusterConfiguration/DiscoveryInstructions.js.map +1 -0
- package/build/common/components/clusterConfiguration/DiscoveryIpxeInstructions.js +15 -0
- package/build/common/components/clusterConfiguration/DiscoveryIpxeInstructions.js.map +1 -0
- package/build/common/components/clusterConfiguration/DiscoveryTroubleshootingModal.js +118 -0
- package/build/common/components/clusterConfiguration/DiscoveryTroubleshootingModal.js.map +1 -0
- package/build/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionControlGroup.js +67 -0
- package/build/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionControlGroup.js.map +1 -0
- package/build/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionMode.js +52 -0
- package/build/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionMode.js.map +1 -0
- package/build/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionValues.js +2 -0
- package/build/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionValues.js.map +1 -0
- package/build/common/components/clusterConfiguration/DiskEncryptionFields/TangServers.js +21 -0
- package/build/common/components/clusterConfiguration/DiskEncryptionFields/TangServers.js.map +1 -0
- package/build/common/components/clusterConfiguration/DownloadIpxeScript.js +28 -0
- package/build/common/components/clusterConfiguration/DownloadIpxeScript.js.map +1 -0
- package/build/common/components/clusterConfiguration/DownloadIso.js +32 -0
- package/build/common/components/clusterConfiguration/DownloadIso.js.map +1 -0
- package/build/common/components/clusterConfiguration/DownloadIsoModal.js +23 -0
- package/build/common/components/clusterConfiguration/DownloadIsoModal.js.map +1 -0
- package/build/common/components/clusterConfiguration/FormatDiskWarning.js +13 -0
- package/build/common/components/clusterConfiguration/FormatDiskWarning.js.map +1 -0
- package/build/common/components/clusterConfiguration/OpenShiftVersionSelect.js +49 -0
- package/build/common/components/clusterConfiguration/OpenShiftVersionSelect.js.map +1 -0
- package/build/common/components/clusterConfiguration/ProxyFields.css +3 -0
- package/build/common/components/clusterConfiguration/ProxyFields.js +53 -0
- package/build/common/components/clusterConfiguration/ProxyFields.js.map +1 -0
- package/build/common/components/clusterConfiguration/SNOControlGroup.js +17 -0
- package/build/common/components/clusterConfiguration/SNOControlGroup.js.map +1 -0
- package/build/common/components/clusterConfiguration/SNODisclaimer.js +28 -0
- package/build/common/components/clusterConfiguration/SNODisclaimer.js.map +1 -0
- package/build/common/components/clusterConfiguration/SecurityFields.js +42 -0
- package/build/common/components/clusterConfiguration/SecurityFields.js.map +1 -0
- package/build/common/components/clusterConfiguration/UploadSSH.js +20 -0
- package/build/common/components/clusterConfiguration/UploadSSH.js.map +1 -0
- package/build/common/components/clusterConfiguration/index.js +14 -0
- package/build/common/components/clusterConfiguration/index.js.map +1 -0
- package/build/common/components/clusterConfiguration/utils.js +171 -0
- package/build/common/components/clusterConfiguration/utils.js.map +1 -0
- package/build/common/components/clusterDetail/ClusterCredentials.js +42 -0
- package/build/common/components/clusterDetail/ClusterCredentials.js.map +1 -0
- package/build/common/components/clusterDetail/ClusterProgress.css +3 -0
- package/build/common/components/clusterDetail/ClusterProgress.js +53 -0
- package/build/common/components/clusterDetail/ClusterProgress.js.map +1 -0
- package/build/common/components/clusterDetail/ClusterProgressItem.js +10 -0
- package/build/common/components/clusterDetail/ClusterProgressItem.js.map +1 -0
- package/build/common/components/clusterDetail/ClusterProgressItems.js +29 -0
- package/build/common/components/clusterDetail/ClusterProgressItems.js.map +1 -0
- package/build/common/components/clusterDetail/ClusterPropertiesList.js +15 -0
- package/build/common/components/clusterDetail/ClusterPropertiesList.js.map +1 -0
- package/build/common/components/clusterDetail/ConsoleModal.js +77 -0
- package/build/common/components/clusterDetail/ConsoleModal.js.map +1 -0
- package/build/common/components/clusterDetail/FinalizingProgress.js +60 -0
- package/build/common/components/clusterDetail/FinalizingProgress.js.map +1 -0
- package/build/common/components/clusterDetail/KubeconfigDownload.js +54 -0
- package/build/common/components/clusterDetail/KubeconfigDownload.js.map +1 -0
- package/build/common/components/clusterDetail/OperatorsProgressItem.css +4 -0
- package/build/common/components/clusterDetail/OperatorsProgressItem.js +84 -0
- package/build/common/components/clusterDetail/OperatorsProgressItem.js.map +1 -0
- package/build/common/components/clusterDetail/ProgressBarTexts.js +55 -0
- package/build/common/components/clusterDetail/ProgressBarTexts.js.map +1 -0
- package/build/common/components/clusterDetail/index.js +5 -0
- package/build/common/components/clusterDetail/index.js.map +1 -0
- package/build/common/components/clusterWizard/ClusterWizardStep.css +31 -0
- package/build/common/components/clusterWizard/ClusterWizardStep.js +16 -0
- package/build/common/components/clusterWizard/ClusterWizardStep.js.map +1 -0
- package/build/common/components/clusterWizard/ClusterWizardStepHeader.js +6 -0
- package/build/common/components/clusterWizard/ClusterWizardStepHeader.js.map +1 -0
- package/build/common/components/clusterWizard/ClusterWizardStepValidationsAlert.js +39 -0
- package/build/common/components/clusterWizard/ClusterWizardStepValidationsAlert.js.map +1 -0
- package/build/common/components/clusterWizard/ReviewHostsInventory.js +43 -0
- package/build/common/components/clusterWizard/ReviewHostsInventory.js.map +1 -0
- package/build/common/components/clusterWizard/ReviewValidations.js +115 -0
- package/build/common/components/clusterWizard/ReviewValidations.js.map +1 -0
- package/build/common/components/clusterWizard/clusterDetailsValidation.js +90 -0
- package/build/common/components/clusterWizard/clusterDetailsValidation.js.map +1 -0
- package/build/common/components/clusterWizard/index.js +9 -0
- package/build/common/components/clusterWizard/index.js.map +1 -0
- package/build/common/components/clusterWizard/networkingSteps/AvailableSubnetsControl.js +57 -0
- package/build/common/components/clusterWizard/networkingSteps/AvailableSubnetsControl.js.map +1 -0
- package/build/common/components/clusterWizard/networkingSteps/ManagedNetworkingControlGroup.js +23 -0
- package/build/common/components/clusterWizard/networkingSteps/ManagedNetworkingControlGroup.js.map +1 -0
- package/build/common/components/clusterWizard/networkingSteps/NetworkTypeControlGroup.js +28 -0
- package/build/common/components/clusterWizard/networkingSteps/NetworkTypeControlGroup.js.map +1 -0
- package/build/common/components/clusterWizard/networkingSteps/UserManagedNetworkingTextContent.js +24 -0
- package/build/common/components/clusterWizard/networkingSteps/UserManagedNetworkingTextContent.js.map +1 -0
- package/build/common/components/clusterWizard/networkingSteps/VirtualIPControlGroup.js +57 -0
- package/build/common/components/clusterWizard/networkingSteps/VirtualIPControlGroup.js.map +1 -0
- package/build/common/components/clusterWizard/networkingSteps/index.js +5 -0
- package/build/common/components/clusterWizard/networkingSteps/index.js.map +1 -0
- package/build/common/components/clusterWizard/types.js +2 -0
- package/build/common/components/clusterWizard/types.js.map +1 -0
- package/build/common/components/clusterWizard/validationsInfoUtils.js +150 -0
- package/build/common/components/clusterWizard/validationsInfoUtils.js.map +1 -0
- package/build/common/components/clusters/PullSecret.js +29 -0
- package/build/common/components/clusters/PullSecret.js.map +1 -0
- package/build/common/components/clusters/index.js +2 -0
- package/build/common/components/clusters/index.js.map +1 -0
- package/build/common/components/constants.js +7 -0
- package/build/common/components/constants.js.map +1 -0
- package/build/common/components/featureSupportLevels/FeatureSupportLevelBadge.js +22 -0
- package/build/common/components/featureSupportLevels/FeatureSupportLevelBadge.js.map +1 -0
- package/build/common/components/featureSupportLevels/FeatureSupportLevelContext.js +15 -0
- package/build/common/components/featureSupportLevels/FeatureSupportLevelContext.js.map +1 -0
- package/build/common/components/featureSupportLevels/index.js +3 -0
- package/build/common/components/featureSupportLevels/index.js.map +1 -0
- package/build/common/components/fetching/EventListFetch.js +103 -0
- package/build/common/components/fetching/EventListFetch.js.map +1 -0
- package/build/common/components/fetching/index.js +2 -0
- package/build/common/components/fetching/index.js.map +1 -0
- package/build/common/components/hosts/AITable.js +183 -0
- package/build/common/components/hosts/AITable.js.map +1 -0
- package/build/common/components/hosts/AdditionalNTPSourcesDialog.js +44 -0
- package/build/common/components/hosts/AdditionalNTPSourcesDialog.js.map +1 -0
- package/build/common/components/hosts/DiskLimitations.js +22 -0
- package/build/common/components/hosts/DiskLimitations.js.map +1 -0
- package/build/common/components/hosts/DiskRole.js +49 -0
- package/build/common/components/hosts/DiskRole.js.map +1 -0
- package/build/common/components/hosts/EditHostForm.js +70 -0
- package/build/common/components/hosts/EditHostForm.js.map +1 -0
- package/build/common/components/hosts/EditHostModal.js +7 -0
- package/build/common/components/hosts/EditHostModal.js.map +1 -0
- package/build/common/components/hosts/FormatDiskCheckbox.js +45 -0
- package/build/common/components/hosts/FormatDiskCheckbox.js.map +1 -0
- package/build/common/components/hosts/HostProgress.js +25 -0
- package/build/common/components/hosts/HostProgress.js.map +1 -0
- package/build/common/components/hosts/HostPropertyValidationPopover.js +40 -0
- package/build/common/components/hosts/HostPropertyValidationPopover.js.map +1 -0
- package/build/common/components/hosts/HostRequirements.js +37 -0
- package/build/common/components/hosts/HostRequirements.js.map +1 -0
- package/build/common/components/hosts/HostRowDetail.js +95 -0
- package/build/common/components/hosts/HostRowDetail.js.map +1 -0
- package/build/common/components/hosts/HostStatus.js +149 -0
- package/build/common/components/hosts/HostStatus.js.map +1 -0
- package/build/common/components/hosts/HostToolbarActions.js +5 -0
- package/build/common/components/hosts/HostToolbarActions.js.map +1 -0
- package/build/common/components/hosts/HostValidationGroups.css +4 -0
- package/build/common/components/hosts/HostValidationGroups.js +135 -0
- package/build/common/components/hosts/HostValidationGroups.js.map +1 -0
- package/build/common/components/hosts/Hostname.js +31 -0
- package/build/common/components/hosts/Hostname.js.map +1 -0
- package/build/common/components/hosts/HostsCount.js +25 -0
- package/build/common/components/hosts/HostsCount.js.map +1 -0
- package/build/common/components/hosts/HostsTable.css +15 -0
- package/build/common/components/hosts/HostsTable.js +35 -0
- package/build/common/components/hosts/HostsTable.js.map +1 -0
- package/build/common/components/hosts/HostsTableDetailContext.js +19 -0
- package/build/common/components/hosts/HostsTableDetailContext.js.map +1 -0
- package/build/common/components/hosts/MassChangeHostnameModal.css +16 -0
- package/build/common/components/hosts/MassChangeHostnameModal.js +156 -0
- package/build/common/components/hosts/MassChangeHostnameModal.js.map +1 -0
- package/build/common/components/hosts/MassDeleteHostModal.js +51 -0
- package/build/common/components/hosts/MassDeleteHostModal.js.map +1 -0
- package/build/common/components/hosts/NtpValidationStatus.js +25 -0
- package/build/common/components/hosts/NtpValidationStatus.js.map +1 -0
- package/build/common/components/hosts/OcpConsoleNodesSectionLink.js +17 -0
- package/build/common/components/hosts/OcpConsoleNodesSectionLink.js.map +1 -0
- package/build/common/components/hosts/RoleCell.js +5 -0
- package/build/common/components/hosts/RoleCell.js.map +1 -0
- package/build/common/components/hosts/RoleDropdown.js +32 -0
- package/build/common/components/hosts/RoleDropdown.js.map +1 -0
- package/build/common/components/hosts/TableToolbar.css +11 -0
- package/build/common/components/hosts/TableToolbar.js +60 -0
- package/build/common/components/hosts/TableToolbar.js.map +1 -0
- package/build/common/components/hosts/VMRebootConfigurationInfo.js +31 -0
- package/build/common/components/hosts/VMRebootConfigurationInfo.js.map +1 -0
- package/build/common/components/hosts/hardwareInfo.js +58 -0
- package/build/common/components/hosts/hardwareInfo.js.map +1 -0
- package/build/common/components/hosts/index.js +17 -0
- package/build/common/components/hosts/index.js.map +1 -0
- package/build/common/components/hosts/status.js +235 -0
- package/build/common/components/hosts/status.js.map +1 -0
- package/build/common/components/hosts/tableUtils.js +389 -0
- package/build/common/components/hosts/tableUtils.js.map +1 -0
- package/build/common/components/hosts/types.js +2 -0
- package/build/common/components/hosts/types.js.map +1 -0
- package/build/common/components/hosts/usePagination.js +29 -0
- package/build/common/components/hosts/usePagination.js.map +1 -0
- package/build/common/components/hosts/utils.js +172 -0
- package/build/common/components/hosts/utils.js.map +1 -0
- package/build/common/components/index.js +12 -0
- package/build/common/components/index.js.map +1 -0
- package/build/common/components/newFeatureSupportLevels/FeatureSupportLevelBadge.js +20 -0
- package/build/common/components/newFeatureSupportLevels/FeatureSupportLevelBadge.js.map +1 -0
- package/build/common/components/newFeatureSupportLevels/FeatureSupportLevelContext.js +15 -0
- package/build/common/components/newFeatureSupportLevels/FeatureSupportLevelContext.js.map +1 -0
- package/build/common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge.js +12 -0
- package/build/common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge.js.map +1 -0
- package/build/common/components/newFeatureSupportLevels/NewFeatureSupportLevelContext.js +15 -0
- package/build/common/components/newFeatureSupportLevels/NewFeatureSupportLevelContext.js.map +1 -0
- package/build/common/components/newFeatureSupportLevels/index.js +2 -0
- package/build/common/components/newFeatureSupportLevels/index.js.map +1 -0
- package/build/common/components/newFeatureSupportLevels/utils.js +42 -0
- package/build/common/components/newFeatureSupportLevels/utils.js.map +1 -0
- package/build/common/components/storage/DisksTable.js +65 -0
- package/build/common/components/storage/DisksTable.js.map +1 -0
- package/build/common/components/storage/StorageDetail.js +15 -0
- package/build/common/components/storage/StorageDetail.js.map +1 -0
- package/build/common/components/storage/StorageTable.js +20 -0
- package/build/common/components/storage/StorageTable.js.map +1 -0
- package/build/common/components/storage/StorageUtils.js +71 -0
- package/build/common/components/storage/StorageUtils.js.map +1 -0
- package/build/common/components/ui/Alerts.js +15 -0
- package/build/common/components/ui/Alerts.js.map +1 -0
- package/build/common/components/ui/BorderedIcon/BorderedIcon.js +43 -0
- package/build/common/components/ui/BorderedIcon/BorderedIcon.js.map +1 -0
- package/build/common/components/ui/ClusterEventsToolbar.js +130 -0
- package/build/common/components/ui/ClusterEventsToolbar.js.map +1 -0
- package/build/common/components/ui/ConfirmationModal.js +12 -0
- package/build/common/components/ui/ConfirmationModal.js.map +1 -0
- package/build/common/components/ui/DetailList.css +12 -0
- package/build/common/components/ui/DetailList.js +18 -0
- package/build/common/components/ui/DetailList.js.map +1 -0
- package/build/common/components/ui/EventsList.js +63 -0
- package/build/common/components/ui/EventsList.js.map +1 -0
- package/build/common/components/ui/EventsModal.css +8 -0
- package/build/common/components/ui/ExternalLink.js +9 -0
- package/build/common/components/ui/ExternalLink.js.map +1 -0
- package/build/common/components/ui/GridGap.js +8 -0
- package/build/common/components/ui/GridGap.js.map +1 -0
- package/build/common/components/ui/ModalProgress.js +13 -0
- package/build/common/components/ui/ModalProgress.js.map +1 -0
- package/build/common/components/ui/OpenShiftVersionDropdown.js +54 -0
- package/build/common/components/ui/OpenShiftVersionDropdown.js.map +1 -0
- package/build/common/components/ui/PopoverIcon.js +23 -0
- package/build/common/components/ui/PopoverIcon.js.map +1 -0
- package/build/common/components/ui/PreviewBadge.js +42 -0
- package/build/common/components/ui/PreviewBadge.js.map +1 -0
- package/build/common/components/ui/PrismCode.css +4 -0
- package/build/common/components/ui/PrismCode.js +32 -0
- package/build/common/components/ui/PrismCode.js.map +1 -0
- package/build/common/components/ui/RenderIf.js +3 -0
- package/build/common/components/ui/RenderIf.js.map +1 -0
- package/build/common/components/ui/SectionTitle.js +7 -0
- package/build/common/components/ui/SectionTitle.js.map +1 -0
- package/build/common/components/ui/SimpleDropdown.css +6 -0
- package/build/common/components/ui/SimpleDropdown.js +15 -0
- package/build/common/components/ui/SimpleDropdown.js.map +1 -0
- package/build/common/components/ui/StaticTextField.js +39 -0
- package/build/common/components/ui/StaticTextField.js.map +1 -0
- package/build/common/components/ui/Toolbar/ToolbarButton.js +20 -0
- package/build/common/components/ui/Toolbar/ToolbarButton.js.map +1 -0
- package/build/common/components/ui/Toolbar/ToolbarProgress.js +7 -0
- package/build/common/components/ui/Toolbar/ToolbarProgress.js.map +1 -0
- package/build/common/components/ui/Toolbar/ToolbarSecondaryGroup.js +5 -0
- package/build/common/components/ui/Toolbar/ToolbarSecondaryGroup.js.map +1 -0
- package/build/common/components/ui/Toolbar/ToolbarText.js +6 -0
- package/build/common/components/ui/Toolbar/ToolbarText.js.map +1 -0
- package/build/common/components/ui/Toolbar/index.js +5 -0
- package/build/common/components/ui/Toolbar/index.js.map +1 -0
- package/build/common/components/ui/ViewClusterEventsButton.js +11 -0
- package/build/common/components/ui/ViewClusterEventsButton.js.map +1 -0
- package/build/common/components/ui/WizardFooter.js +29 -0
- package/build/common/components/ui/WizardFooter.js.map +1 -0
- package/build/common/components/ui/WizardNavItem.js +30 -0
- package/build/common/components/ui/WizardNavItem.js.map +1 -0
- package/build/common/components/ui/eventsModal.js +43 -0
- package/build/common/components/ui/eventsModal.js.map +1 -0
- package/build/common/components/ui/formik/AddButton.js +20 -0
- package/build/common/components/ui/formik/AddButton.js.map +1 -0
- package/build/common/components/ui/formik/AdditionalNTPSourcesField.js +16 -0
- package/build/common/components/ui/formik/AdditionalNTPSourcesField.js.map +1 -0
- package/build/common/components/ui/formik/AlertFormikError.js +12 -0
- package/build/common/components/ui/formik/AlertFormikError.js.map +1 -0
- package/build/common/components/ui/formik/CertificatesUploadField.js +65 -0
- package/build/common/components/ui/formik/CertificatesUploadField.js.map +1 -0
- package/build/common/components/ui/formik/CheckboxField.js +34 -0
- package/build/common/components/ui/formik/CheckboxField.js.map +1 -0
- package/build/common/components/ui/formik/CodeField.js +47 -0
- package/build/common/components/ui/formik/CodeField.js.map +1 -0
- package/build/common/components/ui/formik/FormikAutoSave.js +60 -0
- package/build/common/components/ui/formik/FormikAutoSave.js.map +1 -0
- package/build/common/components/ui/formik/HelperText.js +9 -0
- package/build/common/components/ui/formik/HelperText.js.map +1 -0
- package/build/common/components/ui/formik/InputField.js +46 -0
- package/build/common/components/ui/formik/InputField.js.map +1 -0
- package/build/common/components/ui/formik/LabelField.css +38 -0
- package/build/common/components/ui/formik/LabelField.js +58 -0
- package/build/common/components/ui/formik/LabelField.js.map +1 -0
- package/build/common/components/ui/formik/MultiSelectField.js +84 -0
- package/build/common/components/ui/formik/MultiSelectField.js.map +1 -0
- package/build/common/components/ui/formik/NumberInputField.js +55 -0
- package/build/common/components/ui/formik/NumberInputField.js.map +1 -0
- package/build/common/components/ui/formik/PencilEditField.css +3 -0
- package/build/common/components/ui/formik/PencilEditField.js +26 -0
- package/build/common/components/ui/formik/PencilEditField.js.map +1 -0
- package/build/common/components/ui/formik/PullSecretField.js +46 -0
- package/build/common/components/ui/formik/PullSecretField.js.map +1 -0
- package/build/common/components/ui/formik/RadioField.js +30 -0
- package/build/common/components/ui/formik/RadioField.js.map +1 -0
- package/build/common/components/ui/formik/RadioFieldWithTooltip.js +21 -0
- package/build/common/components/ui/formik/RadioFieldWithTooltip.js.map +1 -0
- package/build/common/components/ui/formik/RemovableField.css +9 -0
- package/build/common/components/ui/formik/RemovableField.js +24 -0
- package/build/common/components/ui/formik/RemovableField.js.map +1 -0
- package/build/common/components/ui/formik/RichInputField.css +18 -0
- package/build/common/components/ui/formik/RichInputField.js +60 -0
- package/build/common/components/ui/formik/RichInputField.js.map +1 -0
- package/build/common/components/ui/formik/SelectField.js +39 -0
- package/build/common/components/ui/formik/SelectField.js.map +1 -0
- package/build/common/components/ui/formik/SingleNodeCheckbox.js +53 -0
- package/build/common/components/ui/formik/SingleNodeCheckbox.js.map +1 -0
- package/build/common/components/ui/formik/SwitchField.js +41 -0
- package/build/common/components/ui/formik/SwitchField.js.map +1 -0
- package/build/common/components/ui/formik/TextAreaField.js +39 -0
- package/build/common/components/ui/formik/TextAreaField.js.map +1 -0
- package/build/common/components/ui/formik/TextAreaSecretField.js +27 -0
- package/build/common/components/ui/formik/TextAreaSecretField.js.map +1 -0
- package/build/common/components/ui/formik/UploadField.js +38 -0
- package/build/common/components/ui/formik/UploadField.js.map +1 -0
- package/build/common/components/ui/formik/constants.js +57 -0
- package/build/common/components/ui/formik/constants.js.map +1 -0
- package/build/common/components/ui/formik/index.js +27 -0
- package/build/common/components/ui/formik/index.js.map +1 -0
- package/build/common/components/ui/formik/types.js +2 -0
- package/build/common/components/ui/formik/types.js.map +1 -0
- package/build/common/components/ui/formik/utils.js +107 -0
- package/build/common/components/ui/formik/utils.js.map +1 -0
- package/build/common/components/ui/formik/validationSchemas.js +423 -0
- package/build/common/components/ui/formik/validationSchemas.js.map +1 -0
- package/build/common/components/ui/index.js +23 -0
- package/build/common/components/ui/index.js.map +1 -0
- package/build/common/components/ui/table/index.js +3 -0
- package/build/common/components/ui/table/index.js.map +1 -0
- package/build/common/components/ui/table/utils.js +45 -0
- package/build/common/components/ui/table/utils.js.map +1 -0
- package/build/common/components/ui/table/wrappable.css +3 -0
- package/build/common/components/ui/table/wrappable.js +20 -0
- package/build/common/components/ui/table/wrappable.js.map +1 -0
- package/build/common/components/ui/uiState/EmptyState.js +12 -0
- package/build/common/components/ui/uiState/EmptyState.js.map +1 -0
- package/build/common/components/ui/uiState/ErrorState.js +24 -0
- package/build/common/components/ui/uiState/ErrorState.js.map +1 -0
- package/build/common/components/ui/uiState/LoadingState.js +10 -0
- package/build/common/components/ui/uiState/LoadingState.js.map +1 -0
- package/build/common/components/ui/uiState/index.js +4 -0
- package/build/common/components/ui/uiState/index.js.map +1 -0
- package/build/common/components/ui/utils.js +19 -0
- package/build/common/components/ui/utils.js.map +1 -0
- package/build/common/config/constants.js +280 -0
- package/build/common/config/constants.js.map +1 -0
- package/build/common/config/index.js +2 -0
- package/build/common/config/index.js.map +1 -0
- package/build/common/features/featureGate.js +39 -0
- package/build/common/features/featureGate.js.map +1 -0
- package/build/common/features/index.js +2 -0
- package/build/common/features/index.js.map +1 -0
- package/build/common/hooks/index.js +3 -0
- package/build/common/hooks/index.js.map +1 -0
- package/build/common/hooks/use-translation-wrapper.js +6 -0
- package/build/common/hooks/use-translation-wrapper.js.map +1 -0
- package/build/common/hooks/useDeepCompareMemoize.js +11 -0
- package/build/common/hooks/useDeepCompareMemoize.js.map +1 -0
- package/build/common/hooks/useFieldErrorMsg.js +31 -0
- package/build/common/hooks/useFieldErrorMsg.js.map +1 -0
- package/build/common/hooks/useFormikHelpers.js +21 -0
- package/build/common/hooks/useFormikHelpers.js.map +1 -0
- package/build/common/hooks/useStateSafely.js +19 -0
- package/build/common/hooks/useStateSafely.js.map +1 -0
- package/build/common/index.js +10 -0
- package/build/common/index.js.map +1 -0
- package/build/common/reducers/alertsSlice.js +17 -0
- package/build/common/reducers/alertsSlice.js.map +1 -0
- package/build/common/reducers/dialogsSlice.js +17 -0
- package/build/common/reducers/dialogsSlice.js.map +1 -0
- package/build/common/reducers/index.js +3 -0
- package/build/common/reducers/index.js.map +1 -0
- package/build/common/selectors/clusterSelectors.js +69 -0
- package/build/common/selectors/clusterSelectors.js.map +1 -0
- package/build/common/selectors/index.js +2 -0
- package/build/common/selectors/index.js.map +1 -0
- package/build/common/sevices/DateAndTime.js +15 -0
- package/build/common/sevices/DateAndTime.js.map +1 -0
- package/build/common/styles.css +4 -0
- package/build/common/types/clusters.js +3 -0
- package/build/common/types/clusters.js.map +1 -0
- package/build/common/types/cpuArchitecture.js +67 -0
- package/build/common/types/cpuArchitecture.js.map +1 -0
- package/build/common/types/errortype.js +2 -0
- package/build/common/types/errortype.js.map +1 -0
- package/build/common/types/events.js +2 -0
- package/build/common/types/events.js.map +1 -0
- package/build/common/types/featureSupportLevel.js +4 -0
- package/build/common/types/featureSupportLevel.js.map +1 -0
- package/build/common/types/generateIsoFields.js +2 -0
- package/build/common/types/generateIsoFields.js.map +1 -0
- package/build/common/types/hosts.js +2 -0
- package/build/common/types/hosts.js.map +1 -0
- package/build/common/types/index.js +18 -0
- package/build/common/types/index.js.map +1 -0
- package/build/common/types/typescriptExtensions.js +9 -0
- package/build/common/types/typescriptExtensions.js.map +1 -0
- package/build/common/types/versions.js +2 -0
- package/build/common/types/versions.js.map +1 -0
- package/build/common/utils.js +15 -0
- package/build/common/utils.js.map +1 -0
- package/build/index.js +3 -0
- package/build/index.js.map +1 -0
- package/build/ocm/api/axiosClient.js +37 -0
- package/build/ocm/api/axiosClient.js.map +1 -0
- package/build/ocm/api/axiosExtensions.js +6 -0
- package/build/ocm/api/axiosExtensions.js.map +1 -0
- package/build/ocm/api/index.js +3 -0
- package/build/ocm/api/index.js.map +1 -0
- package/build/ocm/api/types.js +9 -0
- package/build/ocm/api/types.js.map +1 -0
- package/build/ocm/api/utils.js +76 -0
- package/build/ocm/api/utils.js.map +1 -0
- package/build/ocm/components/AddHosts/AddHosts.js +71 -0
- package/build/ocm/components/AddHosts/AddHosts.js.map +1 -0
- package/build/ocm/components/AddHosts/InventoryAddHost.js +29 -0
- package/build/ocm/components/AddHosts/InventoryAddHost.js.map +1 -0
- package/build/ocm/components/AddHosts/day2Wizard/Day2ClusterDetails.js +100 -0
- package/build/ocm/components/AddHosts/day2Wizard/Day2ClusterDetails.js.map +1 -0
- package/build/ocm/components/AddHosts/day2Wizard/Day2DiscoveryImageModalButton.js +12 -0
- package/build/ocm/components/AddHosts/day2Wizard/Day2DiscoveryImageModalButton.js.map +1 -0
- package/build/ocm/components/AddHosts/day2Wizard/Day2DownloadISO.js +25 -0
- package/build/ocm/components/AddHosts/day2Wizard/Day2DownloadISO.js.map +1 -0
- package/build/ocm/components/AddHosts/day2Wizard/Day2GenerateISO.js +50 -0
- package/build/ocm/components/AddHosts/day2Wizard/Day2GenerateISO.js.map +1 -0
- package/build/ocm/components/AddHosts/day2Wizard/Day2StaticIP.js +125 -0
- package/build/ocm/components/AddHosts/day2Wizard/Day2StaticIP.js.map +1 -0
- package/build/ocm/components/AddHosts/day2Wizard/Day2StaticIpHostConfigurations.js +21 -0
- package/build/ocm/components/AddHosts/day2Wizard/Day2StaticIpHostConfigurations.js.map +1 -0
- package/build/ocm/components/AddHosts/day2Wizard/Day2Wizard.js +41 -0
- package/build/ocm/components/AddHosts/day2Wizard/Day2Wizard.js.map +1 -0
- package/build/ocm/components/AddHosts/day2Wizard/Day2WizardContext.js +11 -0
- package/build/ocm/components/AddHosts/day2Wizard/Day2WizardContext.js.map +1 -0
- package/build/ocm/components/AddHosts/day2Wizard/Day2WizardContextProvider.js +82 -0
- package/build/ocm/components/AddHosts/day2Wizard/Day2WizardContextProvider.js.map +1 -0
- package/build/ocm/components/AddHosts/day2Wizard/Day2WizardFooter.js +19 -0
- package/build/ocm/components/AddHosts/day2Wizard/Day2WizardFooter.js.map +1 -0
- package/build/ocm/components/AddHosts/day2Wizard/Day2WizardNav.js +43 -0
- package/build/ocm/components/AddHosts/day2Wizard/Day2WizardNav.js.map +1 -0
- package/build/ocm/components/AddHosts/day2Wizard/constants.js +18 -0
- package/build/ocm/components/AddHosts/day2Wizard/constants.js.map +1 -0
- package/build/ocm/components/AddHosts/index.js +3 -0
- package/build/ocm/components/AddHosts/index.js.map +1 -0
- package/build/ocm/components/AddHosts/types.js +2 -0
- package/build/ocm/components/AddHosts/types.js.map +1 -0
- package/build/ocm/components/HostsClusterDetailTab/HostsClusterDetailTab.js +13 -0
- package/build/ocm/components/HostsClusterDetailTab/HostsClusterDetailTab.js.map +1 -0
- package/build/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContent.js +160 -0
- package/build/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContent.js.map +1 -0
- package/build/ocm/components/HostsClusterDetailTab/index.js +4 -0
- package/build/ocm/components/HostsClusterDetailTab/index.js.map +1 -0
- package/build/ocm/components/HostsClusterDetailTab/types.js +2 -0
- package/build/ocm/components/HostsClusterDetailTab/types.js.map +1 -0
- package/build/ocm/components/HostsClusterDetailTab/utils.js +41 -0
- package/build/ocm/components/HostsClusterDetailTab/utils.js.map +1 -0
- package/build/ocm/components/Router.js +19 -0
- package/build/ocm/components/Router.js.map +1 -0
- package/build/ocm/components/SentryErrorMonitorContextProvider.js +17 -0
- package/build/ocm/components/SentryErrorMonitorContextProvider.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/ClusterDefaultConfigurationContext.js +76 -0
- package/build/ocm/components/clusterConfiguration/ClusterDefaultConfigurationContext.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/CpuArchitectureDropdown.js +75 -0
- package/build/ocm/components/clusterConfiguration/CpuArchitectureDropdown.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/CustomManifestCheckbox.js +83 -0
- package/build/ocm/components/clusterConfiguration/CustomManifestCheckbox.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/DiscoveryImageForm.js +68 -0
- package/build/ocm/components/clusterConfiguration/DiscoveryImageForm.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/DiscoveryImageModal.js +66 -0
- package/build/ocm/components/clusterConfiguration/DiscoveryImageModal.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/DiscoveryImageTypeDropdown.js +39 -0
- package/build/ocm/components/clusterConfiguration/DiscoveryImageTypeDropdown.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/HostInventory.js +49 -0
- package/build/ocm/components/clusterConfiguration/HostInventory.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/HostsNetworkConfigurationControlGroup.js +29 -0
- package/build/ocm/components/clusterConfiguration/HostsNetworkConfigurationControlGroup.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/InformationAndAlerts.js +20 -0
- package/build/ocm/components/clusterConfiguration/InformationAndAlerts.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.js +60 -0
- package/build/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/OcmClusterProgressItems.js +27 -0
- package/build/ocm/components/clusterConfiguration/OcmClusterProgressItems.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/OcmDiscoveryImageConfigForm.js +69 -0
- package/build/ocm/components/clusterConfiguration/OcmDiscoveryImageConfigForm.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/OcmOpenShiftVersion.js +16 -0
- package/build/ocm/components/clusterConfiguration/OcmOpenShiftVersion.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/OcmOpenShiftVersionSelect.js +51 -0
- package/build/ocm/components/clusterConfiguration/OcmOpenShiftVersionSelect.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/OcmOperatorProgressItem.js +85 -0
- package/build/ocm/components/clusterConfiguration/OcmOperatorProgressItem.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/OcmOperatorsProgressItem.css +4 -0
- package/build/ocm/components/clusterConfiguration/OcmSNOControlGroup.js +19 -0
- package/build/ocm/components/clusterConfiguration/OcmSNOControlGroup.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/OcmSNODisclaimer.js +28 -0
- package/build/ocm/components/clusterConfiguration/OcmSNODisclaimer.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/OcmSingleNodeCheckbox.js +57 -0
- package/build/ocm/components/clusterConfiguration/OcmSingleNodeCheckbox.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/manifestsConfiguration/CustomManifestsPage.js +16 -0
- package/build/ocm/components/clusterConfiguration/manifestsConfiguration/CustomManifestsPage.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/manifestsConfiguration/DeleteCustomManifestModal.js +10 -0
- package/build/ocm/components/clusterConfiguration/manifestsConfiguration/DeleteCustomManifestModal.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/manifestsConfiguration/components/CollapsedManifest.js +21 -0
- package/build/ocm/components/clusterConfiguration/manifestsConfiguration/components/CollapsedManifest.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifest.js +32 -0
- package/build/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifest.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifests.js +24 -0
- package/build/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifests.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsArray.js +105 -0
- package/build/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsArray.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsForm.js +119 -0
- package/build/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsForm.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/manifestsConfiguration/components/ExpandedManifest.js +27 -0
- package/build/ocm/components/clusterConfiguration/manifestsConfiguration/components/ExpandedManifest.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/manifestsConfiguration/components/FolderDropdown.js +36 -0
- package/build/ocm/components/clusterConfiguration/manifestsConfiguration/components/FolderDropdown.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/manifestsConfiguration/components/customManifestsValidationSchema.js +40 -0
- package/build/ocm/components/clusterConfiguration/manifestsConfiguration/components/customManifestsValidationSchema.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/manifestsConfiguration/components/propTypes.js +2 -0
- package/build/ocm/components/clusterConfiguration/manifestsConfiguration/components/propTypes.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/manifestsConfiguration/components/utils.js +41 -0
- package/build/ocm/components/clusterConfiguration/manifestsConfiguration/components/utils.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/manifestsConfiguration/data/dataTypes.js +2 -0
- package/build/ocm/components/clusterConfiguration/manifestsConfiguration/data/dataTypes.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/networkConfiguration/AdvancedNetworkFields.js +46 -0
- package/build/ocm/components/clusterConfiguration/networkConfiguration/AdvancedNetworkFields.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/networkConfiguration/AvailableSubnetsControl.js +44 -0
- package/build/ocm/components/clusterConfiguration/networkConfiguration/AvailableSubnetsControl.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.js +148 -0
- package/build/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.js +150 -0
- package/build/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationTable.js +26 -0
- package/build/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationTable.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationTableBase.js +42 -0
- package/build/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationTableBase.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/networkConfiguration/StackTypeControl.js +116 -0
- package/build/ocm/components/clusterConfiguration/networkConfiguration/StackTypeControl.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/networkConfiguration/SubnetsDropdown.js +52 -0
- package/build/ocm/components/clusterConfiguration/networkConfiguration/SubnetsDropdown.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/networkConfiguration/UserManagedNetworkingTextContent.js +20 -0
- package/build/ocm/components/clusterConfiguration/networkConfiguration/UserManagedNetworkingTextContent.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/networkConfiguration/VirtualIPControlGroup.js +67 -0
- package/build/ocm/components/clusterConfiguration/networkConfiguration/VirtualIPControlGroup.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.js +60 -0
- package/build/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/operators/CnvCheckbox.js +43 -0
- package/build/ocm/components/clusterConfiguration/operators/CnvCheckbox.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/operators/CnvHostRequirements.js +51 -0
- package/build/ocm/components/clusterConfiguration/operators/CnvHostRequirements.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/operators/LvmCheckbox.js +54 -0
- package/build/ocm/components/clusterConfiguration/operators/LvmCheckbox.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/operators/LvmHostRequirements.js +30 -0
- package/build/ocm/components/clusterConfiguration/operators/LvmHostRequirements.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/operators/OdfCheckbox.js +32 -0
- package/build/ocm/components/clusterConfiguration/operators/OdfCheckbox.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/operators/utils.js +9 -0
- package/build/ocm/components/clusterConfiguration/operators/utils.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegration.js +34 -0
- package/build/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegration.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegrationNote.js +16 -0
- package/build/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegrationNote.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegrationVsphere.js +19 -0
- package/build/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegrationVsphere.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/review/ReviewCluster.css +29 -0
- package/build/ocm/components/clusterConfiguration/review/ReviewClusterDetailTable.js +76 -0
- package/build/ocm/components/clusterConfiguration/review/ReviewClusterDetailTable.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/review/ReviewCustomManifestsTable.js +26 -0
- package/build/ocm/components/clusterConfiguration/review/ReviewCustomManifestsTable.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/review/ReviewNetworkingTable.js +131 -0
- package/build/ocm/components/clusterConfiguration/review/ReviewNetworkingTable.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/review/ReviewOperatorsTable.js +25 -0
- package/build/ocm/components/clusterConfiguration/review/ReviewOperatorsTable.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/review/ReviewPreflightChecks.js +76 -0
- package/build/ocm/components/clusterConfiguration/review/ReviewPreflightChecks.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/review/ReviewStep.js +58 -0
- package/build/ocm/components/clusterConfiguration/review/ReviewStep.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/review/ReviewSummary.js +35 -0
- package/build/ocm/components/clusterConfiguration/review/ReviewSummary.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/review/TableSummaryExpandable.js +9 -0
- package/build/ocm/components/clusterConfiguration/review/TableSummaryExpandable.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/review/index.js +5 -0
- package/build/ocm/components/clusterConfiguration/review/index.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/staticIp/commonValidationSchemas.js +145 -0
- package/build/ocm/components/clusterConfiguration/staticIp/commonValidationSchemas.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/staticIp/components/CollapsedHost.js +20 -0
- package/build/ocm/components/clusterConfiguration/staticIp/components/CollapsedHost.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/FormViewHosts.js +39 -0
- package/build/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/FormViewHosts.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/FormViewHostsFields.js +40 -0
- package/build/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/FormViewHostsFields.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/formViewHostsValidationSchema.js +36 -0
- package/build/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/formViewHostsValidationSchema.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/staticIp/components/FormViewNetworkWide/FormViewNetworkWide.js +40 -0
- package/build/ocm/components/clusterConfiguration/staticIp/components/FormViewNetworkWide/FormViewNetworkWide.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/staticIp/components/FormViewNetworkWide/FormViewNetworkWideFields.js +103 -0
- package/build/ocm/components/clusterConfiguration/staticIp/components/FormViewNetworkWide/FormViewNetworkWideFields.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/staticIp/components/FormViewNetworkWide/formViewNetworkWideValidationSchema.js +78 -0
- package/build/ocm/components/clusterConfiguration/staticIp/components/FormViewNetworkWide/formViewNetworkWideValidationSchema.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/staticIp/components/StaticIpForm.js +82 -0
- package/build/ocm/components/clusterConfiguration/staticIp/components/StaticIpForm.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/staticIp/components/StaticIpHostsArray.js +118 -0
- package/build/ocm/components/clusterConfiguration/staticIp/components/StaticIpHostsArray.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/staticIp/components/StaticIpPage.js +61 -0
- package/build/ocm/components/clusterConfiguration/staticIp/components/StaticIpPage.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/staticIp/components/StaticIpViewRadioGroup.js +43 -0
- package/build/ocm/components/clusterConfiguration/staticIp/components/StaticIpViewRadioGroup.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/staticIp/components/YamlView/MacIpMapping.js +28 -0
- package/build/ocm/components/clusterConfiguration/staticIp/components/YamlView/MacIpMapping.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/staticIp/components/YamlView/YamlView.js +26 -0
- package/build/ocm/components/clusterConfiguration/staticIp/components/YamlView/YamlView.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/staticIp/components/YamlView/YamlViewFields.js +57 -0
- package/build/ocm/components/clusterConfiguration/staticIp/components/YamlView/YamlViewFields.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/staticIp/components/YamlView/yamlViewValidationSchema.js +47 -0
- package/build/ocm/components/clusterConfiguration/staticIp/components/YamlView/yamlViewValidationSchema.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/staticIp/components/propTypes.js +2 -0
- package/build/ocm/components/clusterConfiguration/staticIp/components/propTypes.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/staticIp/components/staticIp.css +29 -0
- package/build/ocm/components/clusterConfiguration/staticIp/data/dataTypes.js +11 -0
- package/build/ocm/components/clusterConfiguration/staticIp/data/dataTypes.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/staticIp/data/dummyData.js +50 -0
- package/build/ocm/components/clusterConfiguration/staticIp/data/dummyData.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/staticIp/data/emptyData.js +46 -0
- package/build/ocm/components/clusterConfiguration/staticIp/data/emptyData.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/staticIp/data/formDataFromInfraEnvField.js +134 -0
- package/build/ocm/components/clusterConfiguration/staticIp/data/formDataFromInfraEnvField.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/staticIp/data/formDataToInfraEnvField.js +125 -0
- package/build/ocm/components/clusterConfiguration/staticIp/data/formDataToInfraEnvField.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/staticIp/data/fromInfraEnv.js +71 -0
- package/build/ocm/components/clusterConfiguration/staticIp/data/fromInfraEnv.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/staticIp/data/machineNetwork.js +4 -0
- package/build/ocm/components/clusterConfiguration/staticIp/data/machineNetwork.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/staticIp/data/nmstateTypes.js +12 -0
- package/build/ocm/components/clusterConfiguration/staticIp/data/nmstateTypes.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/staticIp/data/nmstateYaml.js +83 -0
- package/build/ocm/components/clusterConfiguration/staticIp/data/nmstateYaml.js.map +1 -0
- package/build/ocm/components/clusterConfiguration/staticIp/data/protocolVersion.js +32 -0
- package/build/ocm/components/clusterConfiguration/staticIp/data/protocolVersion.js.map +1 -0
- package/build/ocm/components/clusterDetail/AssistedInstallerDetailCard.js +69 -0
- package/build/ocm/components/clusterDetail/AssistedInstallerDetailCard.js.map +1 -0
- package/build/ocm/components/clusterDetail/AssistedInstallerExtraDetailCard.js +26 -0
- package/build/ocm/components/clusterDetail/AssistedInstallerExtraDetailCard.js.map +1 -0
- package/build/ocm/components/clusterDetail/CancelInstallationModal.js +61 -0
- package/build/ocm/components/clusterDetail/CancelInstallationModal.js.map +1 -0
- package/build/ocm/components/clusterDetail/ClusterDetail.js +73 -0
- package/build/ocm/components/clusterDetail/ClusterDetail.js.map +1 -0
- package/build/ocm/components/clusterDetail/ClusterDetailStatusMessages.js +47 -0
- package/build/ocm/components/clusterDetail/ClusterDetailStatusMessages.js.map +1 -0
- package/build/ocm/components/clusterDetail/ClusterDetailStatusVarieties.js +66 -0
- package/build/ocm/components/clusterDetail/ClusterDetailStatusVarieties.js.map +1 -0
- package/build/ocm/components/clusterDetail/ClusterDetailsButtonGroup.js +33 -0
- package/build/ocm/components/clusterDetail/ClusterDetailsButtonGroup.js.map +1 -0
- package/build/ocm/components/clusterDetail/ClusterInstallationError.js +24 -0
- package/build/ocm/components/clusterDetail/ClusterInstallationError.js.map +1 -0
- package/build/ocm/components/clusterDetail/ClusterInstallationProgressCard.js +33 -0
- package/build/ocm/components/clusterDetail/ClusterInstallationProgressCard.js.map +1 -0
- package/build/ocm/components/clusterDetail/ClusterPollingErrorModal.js +11 -0
- package/build/ocm/components/clusterDetail/ClusterPollingErrorModal.js.map +1 -0
- package/build/ocm/components/clusterDetail/ClusterProperties.js +74 -0
- package/build/ocm/components/clusterDetail/ClusterProperties.js.map +1 -0
- package/build/ocm/components/clusterDetail/ClusterSummaryExpandable.css +4 -0
- package/build/ocm/components/clusterDetail/ClusterSummaryExpandable.js +14 -0
- package/build/ocm/components/clusterDetail/ClusterSummaryExpandable.js.map +1 -0
- package/build/ocm/components/clusterDetail/ClusterUpdateErrorModal.js +7 -0
- package/build/ocm/components/clusterDetail/ClusterUpdateErrorModal.js.map +1 -0
- package/build/ocm/components/clusterDetail/HostInventoryExpandable.css +4 -0
- package/build/ocm/components/clusterDetail/HostInventoryExpandable.js +20 -0
- package/build/ocm/components/clusterDetail/HostInventoryExpandable.js.map +1 -0
- package/build/ocm/components/clusterDetail/OpenShiftVersionDetail.js +34 -0
- package/build/ocm/components/clusterDetail/OpenShiftVersionDetail.js.map +1 -0
- package/build/ocm/components/clusterDetail/ProgressBarAlerts.js +100 -0
- package/build/ocm/components/clusterDetail/ProgressBarAlerts.js.map +1 -0
- package/build/ocm/components/clusterDetail/RebootNodeZeroModal.css +7 -0
- package/build/ocm/components/clusterDetail/RebootNodeZeroModal.js +30 -0
- package/build/ocm/components/clusterDetail/RebootNodeZeroModal.js.map +1 -0
- package/build/ocm/components/clusterDetail/ResetClusterModal.js +88 -0
- package/build/ocm/components/clusterDetail/ResetClusterModal.js.map +1 -0
- package/build/ocm/components/clusterDetail/getProgressBarAlerts.js +42 -0
- package/build/ocm/components/clusterDetail/getProgressBarAlerts.js.map +1 -0
- package/build/ocm/components/clusterDetail/index.js +6 -0
- package/build/ocm/components/clusterDetail/index.js.map +1 -0
- package/build/ocm/components/clusterDetail/utils.js +81 -0
- package/build/ocm/components/clusterDetail/utils.js.map +1 -0
- package/build/ocm/components/clusterWizard/ClusterDetails.js +87 -0
- package/build/ocm/components/clusterWizard/ClusterDetails.js.map +1 -0
- package/build/ocm/components/clusterWizard/ClusterDetailsForm.js +89 -0
- package/build/ocm/components/clusterWizard/ClusterDetailsForm.js.map +1 -0
- package/build/ocm/components/clusterWizard/ClusterPlatformIntegrationHint.js +31 -0
- package/build/ocm/components/clusterWizard/ClusterPlatformIntegrationHint.js.map +1 -0
- package/build/ocm/components/clusterWizard/ClusterWizard.js +46 -0
- package/build/ocm/components/clusterWizard/ClusterWizard.js.map +1 -0
- package/build/ocm/components/clusterWizard/ClusterWizardContext.js +11 -0
- package/build/ocm/components/clusterWizard/ClusterWizardContext.js.map +1 -0
- package/build/ocm/components/clusterWizard/ClusterWizardContextProvider.js +148 -0
- package/build/ocm/components/clusterWizard/ClusterWizardContextProvider.js.map +1 -0
- package/build/ocm/components/clusterWizard/ClusterWizardFooter.js +49 -0
- package/build/ocm/components/clusterWizard/ClusterWizardFooter.js.map +1 -0
- package/build/ocm/components/clusterWizard/ClusterWizardNavigation.js +67 -0
- package/build/ocm/components/clusterWizard/ClusterWizardNavigation.js.map +1 -0
- package/build/ocm/components/clusterWizard/CustomManifestStep.js +38 -0
- package/build/ocm/components/clusterWizard/CustomManifestStep.js.map +1 -0
- package/build/ocm/components/clusterWizard/HostDiscovery.js +73 -0
- package/build/ocm/components/clusterWizard/HostDiscovery.js.map +1 -0
- package/build/ocm/components/clusterWizard/NewClusterWizard.js +9 -0
- package/build/ocm/components/clusterWizard/NewClusterWizard.js.map +1 -0
- package/build/ocm/components/clusterWizard/Operators.js +81 -0
- package/build/ocm/components/clusterWizard/Operators.js.map +1 -0
- package/build/ocm/components/clusterWizard/OperatorsStep.js +23 -0
- package/build/ocm/components/clusterWizard/OperatorsStep.js.map +1 -0
- package/build/ocm/components/clusterWizard/StaticIp.js +38 -0
- package/build/ocm/components/clusterWizard/StaticIp.js.map +1 -0
- package/build/ocm/components/clusterWizard/Storage.js +35 -0
- package/build/ocm/components/clusterWizard/Storage.js.map +1 -0
- package/build/ocm/components/clusterWizard/constants.js +25 -0
- package/build/ocm/components/clusterWizard/constants.js.map +1 -0
- package/build/ocm/components/clusterWizard/index.js +4 -0
- package/build/ocm/components/clusterWizard/index.js.map +1 -0
- package/build/ocm/components/clusterWizard/wizardTransition.js +184 -0
- package/build/ocm/components/clusterWizard/wizardTransition.js.map +1 -0
- package/build/ocm/components/clusters/ClusterBreadcrumbs.js +13 -0
- package/build/ocm/components/clusters/ClusterBreadcrumbs.js.map +1 -0
- package/build/ocm/components/clusters/ClusterLoading.js +7 -0
- package/build/ocm/components/clusters/ClusterLoading.js.map +1 -0
- package/build/ocm/components/clusters/ClusterPage.js +112 -0
- package/build/ocm/components/clusters/ClusterPage.js.map +1 -0
- package/build/ocm/components/clusters/ClusterPageErrors.js +8 -0
- package/build/ocm/components/clusters/ClusterPageErrors.js.map +1 -0
- package/build/ocm/components/clusters/ClusterStatus.js +53 -0
- package/build/ocm/components/clusters/ClusterStatus.js.map +1 -0
- package/build/ocm/components/clusters/ClusterToolbar.css +6 -0
- package/build/ocm/components/clusters/ClusterToolbar.js +10 -0
- package/build/ocm/components/clusters/ClusterToolbar.js.map +1 -0
- package/build/ocm/components/clusters/Clusters.js +79 -0
- package/build/ocm/components/clusters/Clusters.js.map +1 -0
- package/build/ocm/components/clusters/ClustersListToolbar.js +66 -0
- package/build/ocm/components/clusters/ClustersListToolbar.js.map +1 -0
- package/build/ocm/components/clusters/ClustersTable.js +129 -0
- package/build/ocm/components/clusters/ClustersTable.js.map +1 -0
- package/build/ocm/components/clusters/DeleteClusterModal.js +11 -0
- package/build/ocm/components/clusters/DeleteClusterModal.js.map +1 -0
- package/build/ocm/components/clusters/NewClusterPage.js +29 -0
- package/build/ocm/components/clusters/NewClusterPage.js.map +1 -0
- package/build/ocm/components/clusters/clusterPolling.js +46 -0
- package/build/ocm/components/clusters/clusterPolling.js.map +1 -0
- package/build/ocm/components/clusters/index.js +6 -0
- package/build/ocm/components/clusters/index.js.map +1 -0
- package/build/ocm/components/clusters/utils.js +35 -0
- package/build/ocm/components/clusters/utils.js.map +1 -0
- package/build/ocm/components/featureSupportLevels/FeatureSupportLevelProvider.js +111 -0
- package/build/ocm/components/featureSupportLevels/FeatureSupportLevelProvider.js.map +1 -0
- package/build/ocm/components/featureSupportLevels/ReviewClusterFeatureSupportLevels.js +113 -0
- package/build/ocm/components/featureSupportLevels/ReviewClusterFeatureSupportLevels.js.map +1 -0
- package/build/ocm/components/featureSupportLevels/featureStateUtils.js +136 -0
- package/build/ocm/components/featureSupportLevels/featureStateUtils.js.map +1 -0
- package/build/ocm/components/featureSupportLevels/index.js +3 -0
- package/build/ocm/components/featureSupportLevels/index.js.map +1 -0
- package/build/ocm/components/fetching/fetchEvents.js +23 -0
- package/build/ocm/components/fetching/fetchEvents.js.map +1 -0
- package/build/ocm/components/hosts/AdditionaNTPSourceDialogToggle.js +8 -0
- package/build/ocm/components/hosts/AdditionaNTPSourceDialogToggle.js.map +1 -0
- package/build/ocm/components/hosts/ClusterHostsTable.js +50 -0
- package/build/ocm/components/hosts/ClusterHostsTable.js.map +1 -0
- package/build/ocm/components/hosts/DeleteHostModal.js +11 -0
- package/build/ocm/components/hosts/DeleteHostModal.js.map +1 -0
- package/build/ocm/components/hosts/HardwareStatus.js +37 -0
- package/build/ocm/components/hosts/HardwareStatus.js.map +1 -0
- package/build/ocm/components/hosts/HostRequirementsContent.js +49 -0
- package/build/ocm/components/hosts/HostRequirementsContent.js.map +1 -0
- package/build/ocm/components/hosts/HostsDiscoveryTable.js +59 -0
- package/build/ocm/components/hosts/HostsDiscoveryTable.js.map +1 -0
- package/build/ocm/components/hosts/HostsDiscoveryTroubleshootingInfoLinkWithModal.js +10 -0
- package/build/ocm/components/hosts/HostsDiscoveryTroubleshootingInfoLinkWithModal.js.map +1 -0
- package/build/ocm/components/hosts/HostsStorageTable.js +59 -0
- package/build/ocm/components/hosts/HostsStorageTable.js.map +1 -0
- package/build/ocm/components/hosts/HostsTableEmptyState.js +12 -0
- package/build/ocm/components/hosts/HostsTableEmptyState.js.map +1 -0
- package/build/ocm/components/hosts/ModalDialogsContext.js +46 -0
- package/build/ocm/components/hosts/ModalDialogsContext.js.map +1 -0
- package/build/ocm/components/hosts/NetworkingStatus.js +15 -0
- package/build/ocm/components/hosts/NetworkingStatus.js.map +1 -0
- package/build/ocm/components/hosts/OdfDisksManualFormattingHint.js +10 -0
- package/build/ocm/components/hosts/OdfDisksManualFormattingHint.js.map +1 -0
- package/build/ocm/components/hosts/ResetHostModal.js +11 -0
- package/build/ocm/components/hosts/ResetHostModal.js.map +1 -0
- package/build/ocm/components/hosts/StorageAlerts.js +17 -0
- package/build/ocm/components/hosts/StorageAlerts.js.map +1 -0
- package/build/ocm/components/hosts/UpdateDay2ApiVipDialogToggle.js +13 -0
- package/build/ocm/components/hosts/UpdateDay2ApiVipDialogToggle.js.map +1 -0
- package/build/ocm/components/hosts/UpdateDay2ApiVipForm.js +57 -0
- package/build/ocm/components/hosts/UpdateDay2ApiVipForm.js.map +1 -0
- package/build/ocm/components/hosts/UpdateDay2ApiVipModal.js +21 -0
- package/build/ocm/components/hosts/UpdateDay2ApiVipModal.js.map +1 -0
- package/build/ocm/components/hosts/VMRebootConfigurationLinkWithModal.js +12 -0
- package/build/ocm/components/hosts/VMRebootConfigurationLinkWithModal.js.map +1 -0
- package/build/ocm/components/hosts/use-hosts-table.js +350 -0
- package/build/ocm/components/hosts/use-hosts-table.js.map +1 -0
- package/build/ocm/components/hosts/utils.js +60 -0
- package/build/ocm/components/hosts/utils.js.map +1 -0
- package/build/ocm/components/index.js +9 -0
- package/build/ocm/components/index.js.map +1 -0
- package/build/ocm/components/newFeatureSupportLevels/NewFeatureSupportLevelProvider.js +75 -0
- package/build/ocm/components/newFeatureSupportLevels/NewFeatureSupportLevelProvider.js.map +1 -0
- package/build/ocm/components/newFeatureSupportLevels/ReviewClusterNewFeatureSupportLevels.js +113 -0
- package/build/ocm/components/newFeatureSupportLevels/ReviewClusterNewFeatureSupportLevels.js.map +1 -0
- package/build/ocm/components/newFeatureSupportLevels/index.js +3 -0
- package/build/ocm/components/newFeatureSupportLevels/index.js.map +1 -0
- package/build/ocm/components/newFeatureSupportLevels/newFeatureStateUtils.js +129 -0
- package/build/ocm/components/newFeatureSupportLevels/newFeatureStateUtils.js.map +1 -0
- package/build/ocm/components/ui/AssistedUILibVersion.js +6 -0
- package/build/ocm/components/ui/AssistedUILibVersion.js.map +1 -0
- package/build/ocm/components/ui/Buttons/BackButton.js +5 -0
- package/build/ocm/components/ui/Buttons/BackButton.js.map +1 -0
- package/build/ocm/components/ui/InfoLinkWithModal.js +20 -0
- package/build/ocm/components/ui/InfoLinkWithModal.js.map +1 -0
- package/build/ocm/components/ui/OcmFormFields.js +33 -0
- package/build/ocm/components/ui/OcmFormFields.js.map +1 -0
- package/build/ocm/components/ui/RedirectToCluster.js +9 -0
- package/build/ocm/components/ui/RedirectToCluster.js.map +1 -0
- package/build/ocm/components/ui/index.js +2 -0
- package/build/ocm/components/ui/index.js.map +1 -0
- package/build/ocm/config/constants.js +20 -0
- package/build/ocm/config/constants.js.map +1 -0
- package/build/ocm/config/index.js +3 -0
- package/build/ocm/config/index.js.map +1 -0
- package/build/ocm/config/routeBaseBath.js +5 -0
- package/build/ocm/config/routeBaseBath.js.map +1 -0
- package/build/ocm/hooks/index.js +8 -0
- package/build/ocm/hooks/index.js.map +1 -0
- package/build/ocm/hooks/useClusterCustomManifests.js +92 -0
- package/build/ocm/hooks/useClusterCustomManifests.js.map +1 -0
- package/build/ocm/hooks/useClusterPreflightRequirements.js +43 -0
- package/build/ocm/hooks/useClusterPreflightRequirements.js.map +1 -0
- package/build/ocm/hooks/useClusterSupportedPlatforms.js +49 -0
- package/build/ocm/hooks/useClusterSupportedPlatforms.js.map +1 -0
- package/build/ocm/hooks/useInfraEnv.js +54 -0
- package/build/ocm/hooks/useInfraEnv.js.map +1 -0
- package/build/ocm/hooks/useInfraEnvId.js +35 -0
- package/build/ocm/hooks/useInfraEnvId.js.map +1 -0
- package/build/ocm/hooks/useInfraEnvImageUrl.js +33 -0
- package/build/ocm/hooks/useInfraEnvImageUrl.js.map +1 -0
- package/build/ocm/hooks/useInfraEnvIpxeImageUrl.js +35 -0
- package/build/ocm/hooks/useInfraEnvIpxeImageUrl.js.map +1 -0
- package/build/ocm/hooks/useManagedDomains.js +34 -0
- package/build/ocm/hooks/useManagedDomains.js.map +1 -0
- package/build/ocm/hooks/useOpenshiftVersions.js +86 -0
- package/build/ocm/hooks/useOpenshiftVersions.js.map +1 -0
- package/build/ocm/hooks/usePullSecret.js +42 -0
- package/build/ocm/hooks/usePullSecret.js.map +1 -0
- package/build/ocm/hooks/useSetClusterPermissions.js +18 -0
- package/build/ocm/hooks/useSetClusterPermissions.js.map +1 -0
- package/build/ocm/hooks/useSupportLevelsAPI.js +67 -0
- package/build/ocm/hooks/useSupportLevelsAPI.js.map +1 -0
- package/build/ocm/hooks/useUsedClusterNames.js +39 -0
- package/build/ocm/hooks/useUsedClusterNames.js.map +1 -0
- package/build/ocm/index.js +14 -0
- package/build/ocm/index.js.map +1 -0
- package/build/ocm/reducers/clusters/clustersSlice.js +44 -0
- package/build/ocm/reducers/clusters/clustersSlice.js.map +1 -0
- package/build/ocm/reducers/clusters/currentClusterSlice.js +89 -0
- package/build/ocm/reducers/clusters/currentClusterSlice.js.map +1 -0
- package/build/ocm/reducers/clusters/index.js +3 -0
- package/build/ocm/reducers/clusters/index.js.map +1 -0
- package/build/ocm/selectors/clusters.js +67 -0
- package/build/ocm/selectors/clusters.js.map +1 -0
- package/build/ocm/selectors/currentCluster.js +12 -0
- package/build/ocm/selectors/currentCluster.js.map +1 -0
- package/build/ocm/selectors/index.js +3 -0
- package/build/ocm/selectors/index.js.map +1 -0
- package/build/ocm/sentry.js +16 -0
- package/build/ocm/sentry.js.map +1 -0
- package/build/ocm/services/ClusterDetailsService.js +71 -0
- package/build/ocm/services/ClusterDetailsService.js.map +1 -0
- package/build/ocm/services/ClustersService.js +131 -0
- package/build/ocm/services/ClustersService.js.map +1 -0
- package/build/ocm/services/CpuArchitectureService.js +46 -0
- package/build/ocm/services/CpuArchitectureService.js.map +1 -0
- package/build/ocm/services/Day2ClusterService.js +119 -0
- package/build/ocm/services/Day2ClusterService.js.map +1 -0
- package/build/ocm/services/DiscoveryImageFormService.js +43 -0
- package/build/ocm/services/DiscoveryImageFormService.js.map +1 -0
- package/build/ocm/services/DiskEncryptionService.js +29 -0
- package/build/ocm/services/DiskEncryptionService.js.map +1 -0
- package/build/ocm/services/HostDiscoveryService.js +20 -0
- package/build/ocm/services/HostDiscoveryService.js.map +1 -0
- package/build/ocm/services/HostsService.js +73 -0
- package/build/ocm/services/HostsService.js.map +1 -0
- package/build/ocm/services/InfraEnvIdsCacheService.js +87 -0
- package/build/ocm/services/InfraEnvIdsCacheService.js.map +1 -0
- package/build/ocm/services/InfraEnvsService.js +118 -0
- package/build/ocm/services/InfraEnvsService.js.map +1 -0
- package/build/ocm/services/OperatorsService.js +45 -0
- package/build/ocm/services/OperatorsService.js.map +1 -0
- package/build/ocm/services/apis/ClustersAPI.js +136 -0
- package/build/ocm/services/apis/ClustersAPI.js.map +1 -0
- package/build/ocm/services/apis/ComponentVersionsAPI.js +11 -0
- package/build/ocm/services/apis/ComponentVersionsAPI.js.map +1 -0
- package/build/ocm/services/apis/EventsAPI.js +25 -0
- package/build/ocm/services/apis/EventsAPI.js.map +1 -0
- package/build/ocm/services/apis/FeatureSupportLevelsAPI.js +11 -0
- package/build/ocm/services/apis/FeatureSupportLevelsAPI.js.map +1 -0
- package/build/ocm/services/apis/HostsAPI.js +44 -0
- package/build/ocm/services/apis/HostsAPI.js.map +1 -0
- package/build/ocm/services/apis/InfraEnvsAPI.js +48 -0
- package/build/ocm/services/apis/InfraEnvsAPI.js.map +1 -0
- package/build/ocm/services/apis/ManagedDomainsAPI.js +11 -0
- package/build/ocm/services/apis/ManagedDomainsAPI.js.map +1 -0
- package/build/ocm/services/apis/NewFeatureSupportLevelsAPI.js +19 -0
- package/build/ocm/services/apis/NewFeatureSupportLevelsAPI.js.map +1 -0
- package/build/ocm/services/apis/SupportedOpenshiftVersionsAPI.js +11 -0
- package/build/ocm/services/apis/SupportedOpenshiftVersionsAPI.js.map +1 -0
- package/build/ocm/services/apis/index.js +9 -0
- package/build/ocm/services/apis/index.js.map +1 -0
- package/build/ocm/services/apis/types.js +2 -0
- package/build/ocm/services/apis/types.js.map +1 -0
- package/build/ocm/services/index.js +11 -0
- package/build/ocm/services/index.js.map +1 -0
- package/build/ocm/services/types.js +6 -0
- package/build/ocm/services/types.js.map +1 -0
- package/build/ocm/store/hooks.js +4 -0
- package/build/ocm/store/hooks.js.map +1 -0
- package/build/ocm/store/index.js +18 -0
- package/build/ocm/store/index.js.map +1 -0
- package/build/ocm/store/slices/infraEnvs/selectors.js +4 -0
- package/build/ocm/store/slices/infraEnvs/selectors.js.map +1 -0
- package/build/ocm/store/slices/infraEnvs/slice.js +12 -0
- package/build/ocm/store/slices/infraEnvs/slice.js.map +1 -0
- package/build/ocm/store/slices/infraEnvs/thunks.js +57 -0
- package/build/ocm/store/slices/infraEnvs/thunks.js.map +1 -0
- package/build/ocm/types.js +2 -0
- package/build/ocm/types.js.map +1 -0
- package/lib/@types/assets.d.ts +5 -0
- package/lib/@types/i18next.d.ts +13 -0
- package/lib/cim/components/Agent/AgentStatus.tsx +101 -0
- package/lib/cim/components/Agent/AgentTable.tsx +84 -0
- package/lib/cim/components/Agent/AgentsSelectionHostCountAlerts.tsx +60 -0
- package/lib/cim/components/Agent/AgentsSelectionHostCountLabelIcon.tsx +15 -0
- package/lib/cim/components/Agent/AgentsSelectionTable.tsx +148 -0
- package/lib/cim/components/Agent/AgentsSelectionUtils.ts +37 -0
- package/lib/cim/components/Agent/BMCForm.tsx +337 -0
- package/lib/cim/components/Agent/BMHStatus.tsx +27 -0
- package/lib/cim/components/Agent/MinimalHWRequirements.tsx +117 -0
- package/lib/cim/components/Agent/NoAgentsAlert.tsx +38 -0
- package/lib/cim/components/Agent/tableUtils.tsx +576 -0
- package/lib/cim/components/Agent/types.ts +37 -0
- package/lib/cim/components/ClusterDeployment/ACMClusterDeploymentDetailsStep.tsx +61 -0
- package/lib/cim/components/ClusterDeployment/AdditionalNTPSourcesDialogToggle.tsx +14 -0
- package/lib/cim/components/ClusterDeployment/ArmCheckbox.tsx +101 -0
- package/lib/cim/components/ClusterDeployment/ClusterDeploymentCreateProgress.tsx +79 -0
- package/lib/cim/components/ClusterDeployment/ClusterDeploymentCredentials.tsx +69 -0
- package/lib/cim/components/ClusterDeployment/ClusterDeploymentDetails.tsx +179 -0
- package/lib/cim/components/ClusterDeployment/ClusterDeploymentDetailsForm.tsx +54 -0
- package/lib/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.tsx +178 -0
- package/lib/cim/components/ClusterDeployment/ClusterDeploymentDetailsTable.tsx +72 -0
- package/lib/cim/components/ClusterDeployment/ClusterDeploymentHostDiscoveryTable.tsx +184 -0
- package/lib/cim/components/ClusterDeployment/ClusterDeploymentHostSelectionStep.tsx +344 -0
- package/lib/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscovery.tsx +157 -0
- package/lib/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscoveryStep.tsx +151 -0
- package/lib/cim/components/ClusterDeployment/ClusterDeploymentHostsNetworkTable.tsx +144 -0
- package/lib/cim/components/ClusterDeployment/ClusterDeploymentHostsSelection.tsx +102 -0
- package/lib/cim/components/ClusterDeployment/ClusterDeploymentHostsSelectionAdvanced.tsx +107 -0
- package/lib/cim/components/ClusterDeployment/ClusterDeploymentHostsSelectionBasic.tsx +79 -0
- package/lib/cim/components/ClusterDeployment/ClusterDeploymentKubeconfigDownload.tsx +53 -0
- package/lib/cim/components/ClusterDeployment/ClusterDeploymentNetworkingForm.tsx +185 -0
- package/lib/cim/components/ClusterDeployment/ClusterDeploymentNetworkingStep.tsx +213 -0
- package/lib/cim/components/ClusterDeployment/ClusterDeploymentProgress.tsx +46 -0
- package/lib/cim/components/ClusterDeployment/ClusterDeploymentReviewStep.tsx +175 -0
- package/lib/cim/components/ClusterDeployment/ClusterDeploymentValidationsOverview.tsx +107 -0
- package/lib/cim/components/ClusterDeployment/ClusterDeploymentWizard.tsx +179 -0
- package/lib/cim/components/ClusterDeployment/ClusterDeploymentWizardContext.tsx +20 -0
- package/lib/cim/components/ClusterDeployment/ClusterDeploymentWizardFooter.tsx +128 -0
- package/lib/cim/components/ClusterDeployment/ClusterDeploymentWizardNavigation.tsx +76 -0
- package/lib/cim/components/ClusterDeployment/ClusterDeploymentWizardStep.tsx +13 -0
- package/lib/cim/components/ClusterDeployment/ClusterDetailsFormFields.tsx +140 -0
- package/lib/cim/components/ClusterDeployment/ClusterInstallationError.tsx +54 -0
- package/lib/cim/components/ClusterDeployment/ClusterScaleUpAutoHostsSelection.tsx +49 -0
- package/lib/cim/components/ClusterDeployment/LabelSelector.css +9 -0
- package/lib/cim/components/ClusterDeployment/LabelsSelector.tsx +153 -0
- package/lib/cim/components/ClusterDeployment/LocationsSelector.tsx +76 -0
- package/lib/cim/components/ClusterDeployment/LogsDownloadButton.tsx +32 -0
- package/lib/cim/components/ClusterDeployment/NetworkConfiguration.tsx +163 -0
- package/lib/cim/components/ClusterDeployment/ScaleUpForm.tsx +71 -0
- package/lib/cim/components/ClusterDeployment/ShortCapacitySummary.tsx +39 -0
- package/lib/cim/components/ClusterDeployment/constants.ts +24 -0
- package/lib/cim/components/ClusterDeployment/helpers.ts +179 -0
- package/lib/cim/components/ClusterDeployment/index.ts +20 -0
- package/lib/cim/components/ClusterDeployment/networkConfigurationValidation.ts +82 -0
- package/lib/cim/components/ClusterDeployment/types.ts +235 -0
- package/lib/cim/components/ClusterDeployment/use-networking-formik.ts +148 -0
- package/lib/cim/components/ClusterDeployment/validationSchemas.ts +19 -0
- package/lib/cim/components/ClusterDeployment/wizardTransition.ts +142 -0
- package/lib/cim/components/Hypershift/DetailsPage/ClusterInstallationProgress.css +7 -0
- package/lib/cim/components/Hypershift/DetailsPage/ClusterInstallationProgress.tsx +50 -0
- package/lib/cim/components/Hypershift/DetailsPage/ConditionsTable.css +3 -0
- package/lib/cim/components/Hypershift/DetailsPage/ConditionsTable.tsx +89 -0
- package/lib/cim/components/Hypershift/DetailsPage/HostedClusterProgress.tsx +85 -0
- package/lib/cim/components/Hypershift/DetailsPage/HypershiftKubeconfigDownload.tsx +51 -0
- package/lib/cim/components/Hypershift/DetailsPage/NodePoolStatus.tsx +72 -0
- package/lib/cim/components/Hypershift/DetailsPage/NodePoolsProgress.tsx +118 -0
- package/lib/cim/components/Hypershift/DetailsPage/NodePoolsTable.css +3 -0
- package/lib/cim/components/Hypershift/DetailsPage/NodePoolsTable.tsx +276 -0
- package/lib/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsForm.tsx +47 -0
- package/lib/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsStep.tsx +79 -0
- package/lib/cim/components/Hypershift/HostedClusterWizard/DetailsStep/types.ts +38 -0
- package/lib/cim/components/Hypershift/HostedClusterWizard/HostsStep/HostsForm.tsx +111 -0
- package/lib/cim/components/Hypershift/HostedClusterWizard/HostsStep/HostsStep.tsx +104 -0
- package/lib/cim/components/Hypershift/HostedClusterWizard/HostsStep/NodePoolForm.css +15 -0
- package/lib/cim/components/Hypershift/HostedClusterWizard/HostsStep/NodePoolForm.tsx +146 -0
- package/lib/cim/components/Hypershift/HostedClusterWizard/HostsStep/types.ts +36 -0
- package/lib/cim/components/Hypershift/HostedClusterWizard/NetworkStep/NetworkForm.css +7 -0
- package/lib/cim/components/Hypershift/HostedClusterWizard/NetworkStep/NetworkForm.tsx +104 -0
- package/lib/cim/components/Hypershift/HostedClusterWizard/NetworkStep/NetworkStep.tsx +56 -0
- package/lib/cim/components/Hypershift/HostedClusterWizard/NetworkStep/types.ts +25 -0
- package/lib/cim/components/Hypershift/forms/NodePoolAgentsForm.tsx +55 -0
- package/lib/cim/components/Hypershift/hooks/useSupportedOCPVersions.ts +29 -0
- package/lib/cim/components/Hypershift/hooks/useTemptiflySync.ts +19 -0
- package/lib/cim/components/Hypershift/index.ts +5 -0
- package/lib/cim/components/Hypershift/modals/AddNodePoolModal.tsx +131 -0
- package/lib/cim/components/Hypershift/modals/ManageHostsModal.tsx +132 -0
- package/lib/cim/components/Hypershift/modals/NodePoolForm.tsx +113 -0
- package/lib/cim/components/Hypershift/modals/RemoveNodePoolModal.tsx +83 -0
- package/lib/cim/components/Hypershift/types.ts +190 -0
- package/lib/cim/components/Hypershift/utils/labels.ts +11 -0
- package/lib/cim/components/Hypershift/utils/nodepool.ts +31 -0
- package/lib/cim/components/Hypershift/utils/status.tsx +75 -0
- package/lib/cim/components/InfraEnv/AddHostDropdown.css +4 -0
- package/lib/cim/components/InfraEnv/AddHostDropdown.tsx +163 -0
- package/lib/cim/components/InfraEnv/AgentAlerts.tsx +46 -0
- package/lib/cim/components/InfraEnv/EnvironmentDetails.tsx +269 -0
- package/lib/cim/components/InfraEnv/EnvironmentErrors.tsx +56 -0
- package/lib/cim/components/InfraEnv/InfraEnvAgentTable.tsx +280 -0
- package/lib/cim/components/InfraEnv/InfraEnvFormPage.tsx +358 -0
- package/lib/cim/components/InfraEnv/InfraEnvHostsTabAgentsWarning.tsx +61 -0
- package/lib/cim/components/InfraEnv/InfraTableToolbar.tsx +159 -0
- package/lib/cim/components/InfraEnv/index.ts +9 -0
- package/lib/cim/components/InfraEnv/infra-env.css +7 -0
- package/lib/cim/components/InfraEnv/types.ts +13 -0
- package/lib/cim/components/InfraEnv/utils.ts +146 -0
- package/lib/cim/components/YamlPreview/YamlPreview.tsx +101 -0
- package/lib/cim/components/YamlPreview/useYAMLPreview.ts +106 -0
- package/lib/cim/components/common/InfoAndTroubleshootingNotification.tsx +56 -0
- package/lib/cim/components/common/ResourceAlerts.css +9 -0
- package/lib/cim/components/common/ResourceAlerts.tsx +51 -0
- package/lib/cim/components/common/SpecSyncErrAlert.tsx +15 -0
- package/lib/cim/components/common/ValidationsRunningAlert.tsx +18 -0
- package/lib/cim/components/common/constants.ts +21 -0
- package/lib/cim/components/featureSupportLevels/ACMFeatureSupportLevelProvider.tsx +138 -0
- package/lib/cim/components/featureSupportLevels/featureStateUtils.tsx +61 -0
- package/lib/cim/components/helpers/agentClusterInstall.ts +26 -0
- package/lib/cim/components/helpers/agentStatus.tsx +62 -0
- package/lib/cim/components/helpers/agents.ts +36 -0
- package/lib/cim/components/helpers/clusterDeployment.ts +238 -0
- package/lib/cim/components/helpers/conditions.ts +33 -0
- package/lib/cim/components/helpers/labels.ts +19 -0
- package/lib/cim/components/helpers/network.ts +41 -0
- package/lib/cim/components/helpers/proxy.ts +6 -0
- package/lib/cim/components/helpers/status.ts +204 -0
- package/lib/cim/components/helpers/storage.ts +14 -0
- package/lib/cim/components/helpers/toAssisted.ts +170 -0
- package/lib/cim/components/helpers/units.ts +461 -0
- package/lib/cim/components/helpers/versions.ts +82 -0
- package/lib/cim/components/modals/AddBmcHostModal.tsx +41 -0
- package/lib/cim/components/modals/AddBmcHostYamlForm.css +5 -0
- package/lib/cim/components/modals/AddBmcHostYamlForm.tsx +233 -0
- package/lib/cim/components/modals/AddBmcHostYamlModal.tsx +32 -0
- package/lib/cim/components/modals/AddHostModal.tsx +152 -0
- package/lib/cim/components/modals/CimConfiguration/CimConfigDisconnectedAlert.tsx +27 -0
- package/lib/cim/components/modals/CimConfiguration/CimConfigProgressAlert.tsx +118 -0
- package/lib/cim/components/modals/CimConfiguration/CimConfigurationForm.css +23 -0
- package/lib/cim/components/modals/CimConfiguration/CimConfigurationForm.tsx +252 -0
- package/lib/cim/components/modals/CimConfiguration/CimConfigurationModal.css +3 -0
- package/lib/cim/components/modals/CimConfiguration/CimConfigurationModal.tsx +241 -0
- package/lib/cim/components/modals/CimConfiguration/CimIsMissingAlert.tsx +15 -0
- package/lib/cim/components/modals/CimConfiguration/CimStorageMissingAlert.tsx +46 -0
- package/lib/cim/components/modals/CimConfiguration/constants.ts +5 -0
- package/lib/cim/components/modals/CimConfiguration/persist.ts +448 -0
- package/lib/cim/components/modals/CimConfiguration/types.ts +54 -0
- package/lib/cim/components/modals/CimConfiguration/utils.ts +64 -0
- package/lib/cim/components/modals/EditAgentModal.tsx +18 -0
- package/lib/cim/components/modals/EditBMHModal.tsx +81 -0
- package/lib/cim/components/modals/EditNtpSourcesModal.tsx +132 -0
- package/lib/cim/components/modals/EditProxyModal.tsx +117 -0
- package/lib/cim/components/modals/EditPullSecretModal.tsx +155 -0
- package/lib/cim/components/modals/EditSSHKeyModal.tsx +109 -0
- package/lib/cim/components/modals/MassApproveAction.tsx +27 -0
- package/lib/cim/components/modals/MassApproveAgentModal.tsx +175 -0
- package/lib/cim/components/modals/MassDeleteAgentModal.tsx +178 -0
- package/lib/cim/components/modals/ScaleUpModal.tsx +186 -0
- package/lib/cim/components/modals/constants.ts +69 -0
- package/lib/cim/components/modals/index.ts +11 -0
- package/lib/cim/components/modals/types.ts +73 -0
- package/lib/cim/components/modals/utils.ts +82 -0
- package/lib/cim/config/constants.ts +284 -0
- package/lib/cim/index.ts +17 -0
- package/lib/cim/types/fromOCP/k8sTypes.ts +45 -0
- package/lib/cim/types/k8s/agent-cluster-install.ts +84 -0
- package/lib/cim/types/k8s/agent-service-config.ts +25 -0
- package/lib/cim/types/k8s/agent.ts +68 -0
- package/lib/cim/types/k8s/bare-metal-host.ts +32 -0
- package/lib/cim/types/k8s/cluster-deployment.ts +66 -0
- package/lib/cim/types/k8s/cluster-image-set.ts +5 -0
- package/lib/cim/types/k8s/cluster-version.ts +48 -0
- package/lib/cim/types/k8s/infra-env-k8s-resource.ts +40 -0
- package/lib/cim/types/k8s/infrastructure.ts +23 -0
- package/lib/cim/types/k8s/nm-state.ts +12 -0
- package/lib/cim/types/k8s/shared.ts +14 -0
- package/lib/cim/types/k8s/storage-class.ts +9 -0
- package/lib/cim/types/metal3.ts +92 -0
- package/lib/cim/types/resources.ts +50 -0
- package/lib/cim/utils.ts +8 -0
- package/lib/common/api/swagger.yaml +7105 -0
- package/lib/common/api/types.ts +2553 -0
- package/lib/common/api/utils.ts +22 -0
- package/lib/common/components/AddHosts/AddHostsContext.tsx +23 -0
- package/lib/common/components/AlertsContextProvider.tsx +39 -0
- package/lib/common/components/ErrorHandling/ErrorMonitorContext.tsx +32 -0
- package/lib/common/components/ErrorHandling/WithErrorBoundary.tsx +47 -0
- package/lib/common/components/clusterConfiguration/AdvancedNetworkFields.tsx +63 -0
- package/lib/common/components/clusterConfiguration/CertificateFields.css +3 -0
- package/lib/common/components/clusterConfiguration/CertificateFields.tsx +80 -0
- package/lib/common/components/clusterConfiguration/DiscoveryImageConfigForm.tsx +158 -0
- package/lib/common/components/clusterConfiguration/DiscoveryImageTypeControlGroup.tsx +58 -0
- package/lib/common/components/clusterConfiguration/DiscoveryInstructions.tsx +49 -0
- package/lib/common/components/clusterConfiguration/DiscoveryIpxeInstructions.tsx +26 -0
- package/lib/common/components/clusterConfiguration/DiscoveryTroubleshootingModal.tsx +244 -0
- package/lib/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionControlGroup.tsx +137 -0
- package/lib/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionMode.tsx +109 -0
- package/lib/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionValues.ts +13 -0
- package/lib/common/components/clusterConfiguration/DiskEncryptionFields/TangServers.tsx +55 -0
- package/lib/common/components/clusterConfiguration/DownloadIpxeScript.tsx +100 -0
- package/lib/common/components/clusterConfiguration/DownloadIso.tsx +116 -0
- package/lib/common/components/clusterConfiguration/DownloadIsoModal.tsx +27 -0
- package/lib/common/components/clusterConfiguration/FormatDiskWarning.tsx +33 -0
- package/lib/common/components/clusterConfiguration/OpenShiftVersionSelect.tsx +82 -0
- package/lib/common/components/clusterConfiguration/ProxyFields.css +3 -0
- package/lib/common/components/clusterConfiguration/ProxyFields.tsx +130 -0
- package/lib/common/components/clusterConfiguration/SNOControlGroup.tsx +41 -0
- package/lib/common/components/clusterConfiguration/SNODisclaimer.tsx +79 -0
- package/lib/common/components/clusterConfiguration/SecurityFields.tsx +91 -0
- package/lib/common/components/clusterConfiguration/UploadSSH.tsx +44 -0
- package/lib/common/components/clusterConfiguration/index.ts +14 -0
- package/lib/common/components/clusterConfiguration/utils.ts +280 -0
- package/lib/common/components/clusterDetail/ClusterCredentials.tsx +109 -0
- package/lib/common/components/clusterDetail/ClusterProgress.css +3 -0
- package/lib/common/components/clusterDetail/ClusterProgress.tsx +105 -0
- package/lib/common/components/clusterDetail/ClusterProgressItem.tsx +22 -0
- package/lib/common/components/clusterDetail/ClusterProgressItems.tsx +65 -0
- package/lib/common/components/clusterDetail/ClusterPropertiesList.tsx +52 -0
- package/lib/common/components/clusterDetail/ConsoleModal.tsx +191 -0
- package/lib/common/components/clusterDetail/FinalizingProgress.tsx +118 -0
- package/lib/common/components/clusterDetail/KubeconfigDownload.tsx +84 -0
- package/lib/common/components/clusterDetail/OperatorsProgressItem.css +4 -0
- package/lib/common/components/clusterDetail/OperatorsProgressItem.tsx +135 -0
- package/lib/common/components/clusterDetail/ProgressBarTexts.tsx +86 -0
- package/lib/common/components/clusterWizard/ClusterWizardStep.css +31 -0
- package/lib/common/components/clusterWizard/ClusterWizardStep.tsx +29 -0
- package/lib/common/components/clusterWizard/ClusterWizardStepHeader.tsx +10 -0
- package/lib/common/components/clusterWizard/ClusterWizardStepValidationsAlert.tsx +123 -0
- package/lib/common/components/clusterWizard/ReviewHostsInventory.tsx +60 -0
- package/lib/common/components/clusterWizard/ReviewValidations.tsx +217 -0
- package/lib/common/components/clusterWizard/clusterDetailsValidation.ts +155 -0
- package/lib/common/components/clusterWizard/index.ts +9 -0
- package/lib/common/components/clusterWizard/networkingSteps/AvailableSubnetsControl.tsx +126 -0
- package/lib/common/components/clusterWizard/networkingSteps/ManagedNetworkingControlGroup.tsx +54 -0
- package/lib/common/components/clusterWizard/networkingSteps/NetworkTypeControlGroup.tsx +74 -0
- package/lib/common/components/clusterWizard/networkingSteps/UserManagedNetworkingTextContent.tsx +39 -0
- package/lib/common/components/clusterWizard/networkingSteps/VirtualIPControlGroup.tsx +171 -0
- package/lib/common/components/clusterWizard/types.ts +61 -0
- package/lib/common/components/clusterWizard/validationsInfoUtils.ts +289 -0
- package/lib/common/components/clusters/PullSecret.tsx +49 -0
- package/lib/common/components/constants.ts +7 -0
- package/lib/common/components/featureSupportLevels/FeatureSupportLevelBadge.tsx +36 -0
- package/lib/common/components/featureSupportLevels/FeatureSupportLevelContext.tsx +49 -0
- package/lib/common/components/fetching/EventListFetch.tsx +159 -0
- package/lib/common/components/hosts/AITable.tsx +353 -0
- package/lib/common/components/hosts/AdditionalNTPSourcesDialog.tsx +138 -0
- package/lib/common/components/hosts/DiskLimitations.tsx +68 -0
- package/lib/common/components/hosts/DiskRole.tsx +122 -0
- package/lib/common/components/hosts/EditHostForm.tsx +155 -0
- package/lib/common/components/hosts/EditHostModal.tsx +47 -0
- package/lib/common/components/hosts/FormatDiskCheckbox.tsx +109 -0
- package/lib/common/components/hosts/HostProgress.tsx +48 -0
- package/lib/common/components/hosts/HostPropertyValidationPopover.tsx +85 -0
- package/lib/common/components/hosts/HostRequirements.tsx +92 -0
- package/lib/common/components/hosts/HostRowDetail.tsx +224 -0
- package/lib/common/components/hosts/HostStatus.tsx +279 -0
- package/lib/common/components/hosts/HostToolbarActions.tsx +18 -0
- package/lib/common/components/hosts/HostValidationGroups.css +4 -0
- package/lib/common/components/hosts/HostValidationGroups.tsx +303 -0
- package/lib/common/components/hosts/Hostname.tsx +95 -0
- package/lib/common/components/hosts/HostsCount.tsx +53 -0
- package/lib/common/components/hosts/HostsTable.css +15 -0
- package/lib/common/components/hosts/HostsTable.tsx +79 -0
- package/lib/common/components/hosts/HostsTableDetailContext.tsx +44 -0
- package/lib/common/components/hosts/MassChangeHostnameModal.css +16 -0
- package/lib/common/components/hosts/MassChangeHostnameModal.tsx +344 -0
- package/lib/common/components/hosts/MassDeleteHostModal.tsx +98 -0
- package/lib/common/components/hosts/NtpValidationStatus.tsx +46 -0
- package/lib/common/components/hosts/OcpConsoleNodesSectionLink.tsx +28 -0
- package/lib/common/components/hosts/RoleCell.tsx +21 -0
- package/lib/common/components/hosts/RoleDropdown.tsx +40 -0
- package/lib/common/components/hosts/TableToolbar.css +11 -0
- package/lib/common/components/hosts/TableToolbar.tsx +144 -0
- package/lib/common/components/hosts/VMRebootConfigurationInfo.tsx +63 -0
- package/lib/common/components/hosts/hardwareInfo.ts +82 -0
- package/lib/common/components/hosts/index.ts +17 -0
- package/lib/common/components/hosts/status.tsx +266 -0
- package/lib/common/components/hosts/tableUtils.tsx +506 -0
- package/lib/common/components/hosts/types.ts +89 -0
- package/lib/common/components/hosts/usePagination.ts +42 -0
- package/lib/common/components/hosts/utils.ts +240 -0
- package/lib/common/components/newFeatureSupportLevels/FeatureSupportLevelBadge.tsx +34 -0
- package/lib/common/components/newFeatureSupportLevels/FeatureSupportLevelContext.tsx +44 -0
- package/lib/common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge.tsx +26 -0
- package/lib/common/components/newFeatureSupportLevels/NewFeatureSupportLevelContext.tsx +54 -0
- package/lib/common/components/newFeatureSupportLevels/index.ts +1 -0
- package/lib/common/components/newFeatureSupportLevels/utils.ts +53 -0
- package/lib/common/components/storage/DisksTable.tsx +136 -0
- package/lib/common/components/storage/StorageDetail.tsx +46 -0
- package/lib/common/components/storage/StorageTable.tsx +23 -0
- package/lib/common/components/storage/StorageUtils.tsx +89 -0
- package/lib/common/components/ui/Alerts.tsx +29 -0
- package/lib/common/components/ui/BorderedIcon/BorderedIcon.tsx +51 -0
- package/lib/common/components/ui/ClusterEventsToolbar.tsx +312 -0
- package/lib/common/components/ui/ConfirmationModal.tsx +51 -0
- package/lib/common/components/ui/DetailList.css +12 -0
- package/lib/common/components/ui/DetailList.tsx +101 -0
- package/lib/common/components/ui/EventsList.tsx +117 -0
- package/lib/common/components/ui/EventsModal.css +8 -0
- package/lib/common/components/ui/ExternalLink.tsx +15 -0
- package/lib/common/components/ui/GridGap.tsx +9 -0
- package/lib/common/components/ui/ModalProgress.tsx +44 -0
- package/lib/common/components/ui/OpenShiftVersionDropdown.tsx +134 -0
- package/lib/common/components/ui/PopoverIcon.tsx +42 -0
- package/lib/common/components/ui/PreviewBadge.tsx +100 -0
- package/lib/common/components/ui/PrismCode.css +4 -0
- package/lib/common/components/ui/PrismCode.tsx +69 -0
- package/lib/common/components/ui/RenderIf.tsx +8 -0
- package/lib/common/components/ui/SectionTitle.tsx +19 -0
- package/lib/common/components/ui/SimpleDropdown.css +6 -0
- package/lib/common/components/ui/SimpleDropdown.tsx +67 -0
- package/lib/common/components/ui/StaticTextField.tsx +79 -0
- package/lib/common/components/ui/Toolbar/ToolbarButton.tsx +10 -0
- package/lib/common/components/ui/Toolbar/ToolbarProgress.tsx +16 -0
- package/lib/common/components/ui/Toolbar/ToolbarSecondaryGroup.tsx +8 -0
- package/lib/common/components/ui/Toolbar/ToolbarText.tsx +11 -0
- package/lib/common/components/ui/ViewClusterEventsButton.tsx +31 -0
- package/lib/common/components/ui/WizardFooter.tsx +113 -0
- package/lib/common/components/ui/WizardNavItem.tsx +38 -0
- package/lib/common/components/ui/eventsModal.tsx +125 -0
- package/lib/common/components/ui/formik/AddButton.tsx +22 -0
- package/lib/common/components/ui/formik/AdditionalNTPSourcesField.tsx +41 -0
- package/lib/common/components/ui/formik/AlertFormikError.tsx +30 -0
- package/lib/common/components/ui/formik/CertificatesUploadField.tsx +140 -0
- package/lib/common/components/ui/formik/CheckboxField.tsx +57 -0
- package/lib/common/components/ui/formik/CodeField.tsx +98 -0
- package/lib/common/components/ui/formik/FormikAutoSave.tsx +63 -0
- package/lib/common/components/ui/formik/HelperText.tsx +23 -0
- package/lib/common/components/ui/formik/InputField.tsx +104 -0
- package/lib/common/components/ui/formik/LabelField.css +38 -0
- package/lib/common/components/ui/formik/LabelField.tsx +107 -0
- package/lib/common/components/ui/formik/MultiSelectField.tsx +149 -0
- package/lib/common/components/ui/formik/NumberInputField.tsx +111 -0
- package/lib/common/components/ui/formik/PencilEditField.css +3 -0
- package/lib/common/components/ui/formik/PencilEditField.tsx +65 -0
- package/lib/common/components/ui/formik/PullSecretField.tsx +83 -0
- package/lib/common/components/ui/formik/RadioField.tsx +35 -0
- package/lib/common/components/ui/formik/RadioFieldWithTooltip.tsx +19 -0
- package/lib/common/components/ui/formik/RemovableField.css +9 -0
- package/lib/common/components/ui/formik/RemovableField.tsx +47 -0
- package/lib/common/components/ui/formik/RichInputField.css +18 -0
- package/lib/common/components/ui/formik/RichInputField.tsx +167 -0
- package/lib/common/components/ui/formik/SelectField.tsx +72 -0
- package/lib/common/components/ui/formik/SingleNodeCheckbox.tsx +88 -0
- package/lib/common/components/ui/formik/SwitchField.tsx +78 -0
- package/lib/common/components/ui/formik/TextAreaField.tsx +72 -0
- package/lib/common/components/ui/formik/TextAreaSecretField.tsx +44 -0
- package/lib/common/components/ui/formik/UploadField.tsx +101 -0
- package/lib/common/components/ui/formik/constants.tsx +73 -0
- package/lib/common/components/ui/formik/index.tsx +27 -0
- package/lib/common/components/ui/formik/types.ts +139 -0
- package/lib/common/components/ui/formik/utils.ts +140 -0
- package/lib/common/components/ui/formik/validationSchemas.ts +672 -0
- package/lib/common/components/ui/index.ts +24 -0
- package/lib/common/components/ui/table/utils.ts +69 -0
- package/lib/common/components/ui/table/wrappable.css +3 -0
- package/lib/common/components/ui/table/wrappable.ts +29 -0
- package/lib/common/components/ui/uiState/EmptyState.tsx +41 -0
- package/lib/common/components/ui/uiState/ErrorState.tsx +69 -0
- package/lib/common/components/ui/uiState/LoadingState.tsx +30 -0
- package/lib/common/components/ui/utils.ts +20 -0
- package/lib/common/config/constants.ts +368 -0
- package/lib/common/features/featureGate.tsx +84 -0
- package/lib/common/hooks/use-translation-wrapper.ts +6 -0
- package/lib/common/hooks/useDeepCompareMemoize.ts +14 -0
- package/lib/common/hooks/useFieldErrorMsg.tsx +39 -0
- package/lib/common/hooks/useFormikHelpers.ts +30 -0
- package/lib/common/hooks/useStateSafely.ts +22 -0
- package/lib/common/index.ts +10 -0
- package/lib/common/reducers/alertsSlice.ts +32 -0
- package/lib/common/reducers/dialogsSlice.ts +23 -0
- package/lib/common/selectors/clusterSelectors.ts +128 -0
- package/lib/common/sevices/DateAndTime.tsx +15 -0
- package/lib/common/styles.css +4 -0
- package/lib/common/types/clusters.ts +70 -0
- package/lib/common/types/cpuArchitecture.ts +91 -0
- package/lib/common/types/errortype.ts +1 -0
- package/lib/common/types/events.ts +27 -0
- package/lib/common/types/featureSupportLevel.ts +29 -0
- package/lib/common/types/generateIsoFields.ts +13 -0
- package/lib/common/types/hosts.ts +25 -0
- package/lib/common/types/index.ts +21 -0
- package/lib/common/types/typescriptExtensions.ts +23 -0
- package/lib/common/types/versions.ts +12 -0
- package/lib/common/utils.ts +18 -0
- package/lib/ocm/api/axiosClient.ts +52 -0
- package/lib/ocm/api/axiosExtensions.ts +11 -0
- package/lib/ocm/api/types.ts +13 -0
- package/lib/ocm/api/utils.ts +86 -0
- package/lib/ocm/components/AddHosts/AddHosts.tsx +117 -0
- package/lib/ocm/components/AddHosts/InventoryAddHost.tsx +54 -0
- package/lib/ocm/components/AddHosts/day2Wizard/Day2ClusterDetails.tsx +151 -0
- package/lib/ocm/components/AddHosts/day2Wizard/Day2DiscoveryImageModalButton.tsx +23 -0
- package/lib/ocm/components/AddHosts/day2Wizard/Day2DownloadISO.tsx +48 -0
- package/lib/ocm/components/AddHosts/day2Wizard/Day2GenerateISO.tsx +58 -0
- package/lib/ocm/components/AddHosts/day2Wizard/Day2StaticIP.tsx +184 -0
- package/lib/ocm/components/AddHosts/day2Wizard/Day2StaticIpHostConfigurations.tsx +48 -0
- package/lib/ocm/components/AddHosts/day2Wizard/Day2Wizard.tsx +57 -0
- package/lib/ocm/components/AddHosts/day2Wizard/Day2WizardContext.tsx +33 -0
- package/lib/ocm/components/AddHosts/day2Wizard/Day2WizardContextProvider.tsx +106 -0
- package/lib/ocm/components/AddHosts/day2Wizard/Day2WizardFooter.tsx +48 -0
- package/lib/ocm/components/AddHosts/day2Wizard/Day2WizardNav.tsx +70 -0
- package/lib/ocm/components/AddHosts/day2Wizard/constants.tsx +27 -0
- package/lib/ocm/components/AddHosts/types.ts +62 -0
- package/lib/ocm/components/HostsClusterDetailTab/HostsClusterDetailTab.tsx +20 -0
- package/lib/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContent.tsx +221 -0
- package/lib/ocm/components/HostsClusterDetailTab/index.ts +3 -0
- package/lib/ocm/components/HostsClusterDetailTab/types.ts +8 -0
- package/lib/ocm/components/HostsClusterDetailTab/utils.ts +55 -0
- package/lib/ocm/components/Router.tsx +29 -0
- package/lib/ocm/components/SentryErrorMonitorContextProvider.tsx +27 -0
- package/lib/ocm/components/clusterConfiguration/ClusterDefaultConfigurationContext.tsx +92 -0
- package/lib/ocm/components/clusterConfiguration/CpuArchitectureDropdown.tsx +153 -0
- package/lib/ocm/components/clusterConfiguration/CustomManifestCheckbox.tsx +128 -0
- package/lib/ocm/components/clusterConfiguration/DiscoveryImageForm.tsx +108 -0
- package/lib/ocm/components/clusterConfiguration/DiscoveryImageModal.tsx +126 -0
- package/lib/ocm/components/clusterConfiguration/DiscoveryImageTypeDropdown.tsx +120 -0
- package/lib/ocm/components/clusterConfiguration/HostInventory.tsx +108 -0
- package/lib/ocm/components/clusterConfiguration/HostsNetworkConfigurationControlGroup.tsx +56 -0
- package/lib/ocm/components/clusterConfiguration/InformationAndAlerts.tsx +43 -0
- package/lib/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.tsx +194 -0
- package/lib/ocm/components/clusterConfiguration/OcmClusterProgressItems.tsx +67 -0
- package/lib/ocm/components/clusterConfiguration/OcmDiscoveryImageConfigForm.tsx +182 -0
- package/lib/ocm/components/clusterConfiguration/OcmOpenShiftVersion.tsx +38 -0
- package/lib/ocm/components/clusterConfiguration/OcmOpenShiftVersionSelect.tsx +89 -0
- package/lib/ocm/components/clusterConfiguration/OcmOperatorProgressItem.tsx +140 -0
- package/lib/ocm/components/clusterConfiguration/OcmOperatorsProgressItem.css +4 -0
- package/lib/ocm/components/clusterConfiguration/OcmSNOControlGroup.tsx +65 -0
- package/lib/ocm/components/clusterConfiguration/OcmSNODisclaimer.tsx +78 -0
- package/lib/ocm/components/clusterConfiguration/OcmSingleNodeCheckbox.tsx +97 -0
- package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/CustomManifestsPage.tsx +39 -0
- package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/DeleteCustomManifestModal.tsx +38 -0
- package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/CollapsedManifest.tsx +47 -0
- package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifest.tsx +98 -0
- package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifests.tsx +37 -0
- package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsArray.tsx +157 -0
- package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsForm.tsx +191 -0
- package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/ExpandedManifest.tsx +59 -0
- package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/FolderDropdown.tsx +93 -0
- package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/customManifestsValidationSchema.tsx +60 -0
- package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/propTypes.ts +28 -0
- package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/utils.tsx +49 -0
- package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/data/dataTypes.ts +20 -0
- package/lib/ocm/components/clusterConfiguration/networkConfiguration/AdvancedNetworkFields.tsx +136 -0
- package/lib/ocm/components/clusterConfiguration/networkConfiguration/AvailableSubnetsControl.tsx +105 -0
- package/lib/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.tsx +320 -0
- package/lib/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.tsx +246 -0
- package/lib/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationTable.tsx +27 -0
- package/lib/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationTableBase.tsx +120 -0
- package/lib/ocm/components/clusterConfiguration/networkConfiguration/StackTypeControl.tsx +227 -0
- package/lib/ocm/components/clusterConfiguration/networkConfiguration/SubnetsDropdown.tsx +100 -0
- package/lib/ocm/components/clusterConfiguration/networkConfiguration/UserManagedNetworkingTextContent.tsx +30 -0
- package/lib/ocm/components/clusterConfiguration/networkConfiguration/VirtualIPControlGroup.tsx +201 -0
- package/lib/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.ts +99 -0
- package/lib/ocm/components/clusterConfiguration/operators/CnvCheckbox.tsx +79 -0
- package/lib/ocm/components/clusterConfiguration/operators/CnvHostRequirements.tsx +61 -0
- package/lib/ocm/components/clusterConfiguration/operators/LvmCheckbox.tsx +105 -0
- package/lib/ocm/components/clusterConfiguration/operators/LvmHostRequirements.tsx +45 -0
- package/lib/ocm/components/clusterConfiguration/operators/OdfCheckbox.tsx +54 -0
- package/lib/ocm/components/clusterConfiguration/operators/utils.tsx +26 -0
- package/lib/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegration.tsx +72 -0
- package/lib/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegrationNote.tsx +26 -0
- package/lib/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegrationVsphere.tsx +24 -0
- package/lib/ocm/components/clusterConfiguration/review/ReviewCluster.css +29 -0
- package/lib/ocm/components/clusterConfiguration/review/ReviewClusterDetailTable.tsx +93 -0
- package/lib/ocm/components/clusterConfiguration/review/ReviewCustomManifestsTable.tsx +48 -0
- package/lib/ocm/components/clusterConfiguration/review/ReviewNetworkingTable.tsx +171 -0
- package/lib/ocm/components/clusterConfiguration/review/ReviewOperatorsTable.tsx +45 -0
- package/lib/ocm/components/clusterConfiguration/review/ReviewPreflightChecks.tsx +207 -0
- package/lib/ocm/components/clusterConfiguration/review/ReviewStep.tsx +78 -0
- package/lib/ocm/components/clusterConfiguration/review/ReviewSummary.tsx +90 -0
- package/lib/ocm/components/clusterConfiguration/review/TableSummaryExpandable.tsx +26 -0
- package/lib/ocm/components/clusterConfiguration/review/index.tsx +4 -0
- package/lib/ocm/components/clusterConfiguration/staticIp/commonValidationSchemas.tsx +193 -0
- package/lib/ocm/components/clusterConfiguration/staticIp/components/CollapsedHost.tsx +72 -0
- package/lib/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/FormViewHosts.tsx +43 -0
- package/lib/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/FormViewHostsFields.tsx +82 -0
- package/lib/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/formViewHostsValidationSchema.tsx +74 -0
- package/lib/ocm/components/clusterConfiguration/staticIp/components/FormViewNetworkWide/FormViewNetworkWide.tsx +43 -0
- package/lib/ocm/components/clusterConfiguration/staticIp/components/FormViewNetworkWide/FormViewNetworkWideFields.tsx +302 -0
- package/lib/ocm/components/clusterConfiguration/staticIp/components/FormViewNetworkWide/formViewNetworkWideValidationSchema.tsx +118 -0
- package/lib/ocm/components/clusterConfiguration/staticIp/components/StaticIpForm.tsx +105 -0
- package/lib/ocm/components/clusterConfiguration/staticIp/components/StaticIpHostsArray.tsx +291 -0
- package/lib/ocm/components/clusterConfiguration/staticIp/components/StaticIpPage.tsx +97 -0
- package/lib/ocm/components/clusterConfiguration/staticIp/components/StaticIpViewRadioGroup.tsx +105 -0
- package/lib/ocm/components/clusterConfiguration/staticIp/components/YamlView/MacIpMapping.tsx +104 -0
- package/lib/ocm/components/clusterConfiguration/staticIp/components/YamlView/YamlView.tsx +26 -0
- package/lib/ocm/components/clusterConfiguration/staticIp/components/YamlView/YamlViewFields.tsx +106 -0
- package/lib/ocm/components/clusterConfiguration/staticIp/components/YamlView/yamlViewValidationSchema.tsx +73 -0
- package/lib/ocm/components/clusterConfiguration/staticIp/components/propTypes.ts +33 -0
- package/lib/ocm/components/clusterConfiguration/staticIp/components/staticIp.css +29 -0
- package/lib/ocm/components/clusterConfiguration/staticIp/data/dataTypes.ts +61 -0
- package/lib/ocm/components/clusterConfiguration/staticIp/data/dummyData.ts +62 -0
- package/lib/ocm/components/clusterConfiguration/staticIp/data/emptyData.ts +61 -0
- package/lib/ocm/components/clusterConfiguration/staticIp/data/formDataFromInfraEnvField.ts +192 -0
- package/lib/ocm/components/clusterConfiguration/staticIp/data/formDataToInfraEnvField.ts +191 -0
- package/lib/ocm/components/clusterConfiguration/staticIp/data/fromInfraEnv.ts +89 -0
- package/lib/ocm/components/clusterConfiguration/staticIp/data/machineNetwork.ts +5 -0
- package/lib/ocm/components/clusterConfiguration/staticIp/data/nmstateTypes.ts +81 -0
- package/lib/ocm/components/clusterConfiguration/staticIp/data/nmstateYaml.ts +132 -0
- package/lib/ocm/components/clusterConfiguration/staticIp/data/protocolVersion.ts +44 -0
- package/lib/ocm/components/clusterDetail/AssistedInstallerDetailCard.tsx +158 -0
- package/lib/ocm/components/clusterDetail/AssistedInstallerExtraDetailCard.tsx +59 -0
- package/lib/ocm/components/clusterDetail/CancelInstallationModal.tsx +92 -0
- package/lib/ocm/components/clusterDetail/ClusterDetail.tsx +135 -0
- package/lib/ocm/components/clusterDetail/ClusterDetailStatusMessages.tsx +100 -0
- package/lib/ocm/components/clusterDetail/ClusterDetailStatusVarieties.tsx +109 -0
- package/lib/ocm/components/clusterDetail/ClusterDetailsButtonGroup.tsx +103 -0
- package/lib/ocm/components/clusterDetail/ClusterInstallationError.tsx +79 -0
- package/lib/ocm/components/clusterDetail/ClusterInstallationProgressCard.tsx +74 -0
- package/lib/ocm/components/clusterDetail/ClusterPollingErrorModal.tsx +38 -0
- package/lib/ocm/components/clusterDetail/ClusterProperties.tsx +174 -0
- package/lib/ocm/components/clusterDetail/ClusterSummaryExpandable.css +4 -0
- package/lib/ocm/components/clusterDetail/ClusterSummaryExpandable.tsx +30 -0
- package/lib/ocm/components/clusterDetail/ClusterUpdateErrorModal.tsx +25 -0
- package/lib/ocm/components/clusterDetail/HostInventoryExpandable.css +4 -0
- package/lib/ocm/components/clusterDetail/HostInventoryExpandable.tsx +46 -0
- package/lib/ocm/components/clusterDetail/OpenShiftVersionDetail.tsx +47 -0
- package/lib/ocm/components/clusterDetail/ProgressBarAlerts.tsx +218 -0
- package/lib/ocm/components/clusterDetail/RebootNodeZeroModal.css +7 -0
- package/lib/ocm/components/clusterDetail/RebootNodeZeroModal.tsx +68 -0
- package/lib/ocm/components/clusterDetail/ResetClusterModal.tsx +132 -0
- package/lib/ocm/components/clusterDetail/getProgressBarAlerts.tsx +102 -0
- package/lib/ocm/components/clusterDetail/utils.tsx +101 -0
- package/lib/ocm/components/clusterWizard/ClusterDetails.tsx +127 -0
- package/lib/ocm/components/clusterWizard/ClusterDetailsForm.tsx +185 -0
- package/lib/ocm/components/clusterWizard/ClusterPlatformIntegrationHint.tsx +63 -0
- package/lib/ocm/components/clusterWizard/ClusterWizard.tsx +57 -0
- package/lib/ocm/components/clusterWizard/ClusterWizardContext.tsx +28 -0
- package/lib/ocm/components/clusterWizard/ClusterWizardContextProvider.tsx +227 -0
- package/lib/ocm/components/clusterWizard/ClusterWizardFooter.tsx +120 -0
- package/lib/ocm/components/clusterWizard/ClusterWizardNavigation.tsx +105 -0
- package/lib/ocm/components/clusterWizard/CustomManifestStep.tsx +63 -0
- package/lib/ocm/components/clusterWizard/HostDiscovery.tsx +109 -0
- package/lib/ocm/components/clusterWizard/NewClusterWizard.tsx +13 -0
- package/lib/ocm/components/clusterWizard/Operators.tsx +130 -0
- package/lib/ocm/components/clusterWizard/OperatorsStep.tsx +37 -0
- package/lib/ocm/components/clusterWizard/StaticIp.tsx +69 -0
- package/lib/ocm/components/clusterWizard/Storage.tsx +71 -0
- package/lib/ocm/components/clusterWizard/constants.ts +28 -0
- package/lib/ocm/components/clusterWizard/index.ts +3 -0
- package/lib/ocm/components/clusterWizard/wizardTransition.ts +256 -0
- package/lib/ocm/components/clusters/ClusterBreadcrumbs.tsx +32 -0
- package/lib/ocm/components/clusters/ClusterLoading.tsx +11 -0
- package/lib/ocm/components/clusters/ClusterPage.tsx +195 -0
- package/lib/ocm/components/clusters/ClusterPageErrors.tsx +14 -0
- package/lib/ocm/components/clusters/ClusterStatus.tsx +72 -0
- package/lib/ocm/components/clusters/ClusterToolbar.css +6 -0
- package/lib/ocm/components/clusters/ClusterToolbar.tsx +20 -0
- package/lib/ocm/components/clusters/Clusters.tsx +140 -0
- package/lib/ocm/components/clusters/ClustersListToolbar.tsx +177 -0
- package/lib/ocm/components/clusters/ClustersTable.tsx +225 -0
- package/lib/ocm/components/clusters/DeleteClusterModal.tsx +45 -0
- package/lib/ocm/components/clusters/NewClusterPage.tsx +53 -0
- package/lib/ocm/components/clusters/clusterPolling.ts +64 -0
- package/lib/ocm/components/clusters/index.ts +6 -0
- package/lib/ocm/components/clusters/utils.ts +58 -0
- package/lib/ocm/components/featureSupportLevels/FeatureSupportLevelProvider.tsx +196 -0
- package/lib/ocm/components/featureSupportLevels/ReviewClusterFeatureSupportLevels.tsx +192 -0
- package/lib/ocm/components/featureSupportLevels/featureStateUtils.ts +185 -0
- package/lib/ocm/components/fetching/fetchEvents.ts +18 -0
- package/lib/ocm/components/hosts/AdditionaNTPSourceDialogToggle.tsx +11 -0
- package/lib/ocm/components/hosts/ClusterHostsTable.tsx +109 -0
- package/lib/ocm/components/hosts/DeleteHostModal.tsx +35 -0
- package/lib/ocm/components/hosts/HardwareStatus.tsx +92 -0
- package/lib/ocm/components/hosts/HostRequirementsContent.tsx +77 -0
- package/lib/ocm/components/hosts/HostsDiscoveryTable.tsx +125 -0
- package/lib/ocm/components/hosts/HostsDiscoveryTroubleshootingInfoLinkWithModal.tsx +29 -0
- package/lib/ocm/components/hosts/HostsStorageTable.tsx +105 -0
- package/lib/ocm/components/hosts/HostsTableEmptyState.tsx +24 -0
- package/lib/ocm/components/hosts/ModalDialogsContext.tsx +139 -0
- package/lib/ocm/components/hosts/NetworkingStatus.tsx +43 -0
- package/lib/ocm/components/hosts/OdfDisksManualFormattingHint.tsx +26 -0
- package/lib/ocm/components/hosts/ResetHostModal.tsx +35 -0
- package/lib/ocm/components/hosts/StorageAlerts.tsx +32 -0
- package/lib/ocm/components/hosts/UpdateDay2ApiVipDialogToggle.tsx +24 -0
- package/lib/ocm/components/hosts/UpdateDay2ApiVipForm.tsx +112 -0
- package/lib/ocm/components/hosts/UpdateDay2ApiVipModal.tsx +26 -0
- package/lib/ocm/components/hosts/VMRebootConfigurationLinkWithModal.tsx +23 -0
- package/lib/ocm/components/hosts/use-hosts-table.tsx +588 -0
- package/lib/ocm/components/hosts/utils.ts +68 -0
- package/lib/ocm/components/index.ts +8 -0
- package/lib/ocm/components/newFeatureSupportLevels/NewFeatureSupportLevelProvider.tsx +147 -0
- package/lib/ocm/components/newFeatureSupportLevels/ReviewClusterNewFeatureSupportLevels.tsx +186 -0
- package/lib/ocm/components/newFeatureSupportLevels/index.ts +2 -0
- package/lib/ocm/components/newFeatureSupportLevels/newFeatureStateUtils.ts +174 -0
- package/lib/ocm/components/ui/AssistedUILibVersion.tsx +11 -0
- package/lib/ocm/components/ui/Buttons/BackButton.tsx +16 -0
- package/lib/ocm/components/ui/InfoLinkWithModal.tsx +66 -0
- package/lib/ocm/components/ui/OcmFormFields.tsx +72 -0
- package/lib/ocm/components/ui/RedirectToCluster.tsx +14 -0
- package/lib/ocm/config/constants.ts +43 -0
- package/lib/ocm/config/routeBaseBath.ts +5 -0
- package/lib/ocm/hooks/useClusterCustomManifests.ts +94 -0
- package/lib/ocm/hooks/useClusterPreflightRequirements.ts +41 -0
- package/lib/ocm/hooks/useClusterSupportedPlatforms.ts +70 -0
- package/lib/ocm/hooks/useInfraEnv.ts +58 -0
- package/lib/ocm/hooks/useInfraEnvId.ts +28 -0
- package/lib/ocm/hooks/useInfraEnvImageUrl.ts +36 -0
- package/lib/ocm/hooks/useInfraEnvIpxeImageUrl.ts +38 -0
- package/lib/ocm/hooks/useManagedDomains.ts +29 -0
- package/lib/ocm/hooks/useOpenshiftVersions.tsx +117 -0
- package/lib/ocm/hooks/usePullSecret.ts +36 -0
- package/lib/ocm/hooks/useSetClusterPermissions.ts +23 -0
- package/lib/ocm/hooks/useSupportLevelsAPI.ts +89 -0
- package/lib/ocm/hooks/useUsedClusterNames.ts +34 -0
- package/lib/ocm/index.ts +16 -0
- package/lib/ocm/reducers/clusters/clustersSlice.ts +64 -0
- package/lib/ocm/reducers/clusters/currentClusterSlice.ts +157 -0
- package/lib/ocm/selectors/clusters.tsx +108 -0
- package/lib/ocm/selectors/currentCluster.ts +17 -0
- package/lib/ocm/sentry.ts +18 -0
- package/lib/ocm/services/ClusterDetailsService.ts +94 -0
- package/lib/ocm/services/ClustersService.ts +155 -0
- package/lib/ocm/services/CpuArchitectureService.ts +62 -0
- package/lib/ocm/services/Day2ClusterService.ts +155 -0
- package/lib/ocm/services/DiscoveryImageFormService.ts +55 -0
- package/lib/ocm/services/DiskEncryptionService.ts +36 -0
- package/lib/ocm/services/HostDiscoveryService.ts +36 -0
- package/lib/ocm/services/HostsService.ts +92 -0
- package/lib/ocm/services/InfraEnvIdsCacheService.ts +114 -0
- package/lib/ocm/services/InfraEnvsService.ts +131 -0
- package/lib/ocm/services/OperatorsService.tsx +63 -0
- package/lib/ocm/services/apis/ClustersAPI.ts +245 -0
- package/lib/ocm/services/apis/ComponentVersionsAPI.ts +14 -0
- package/lib/ocm/services/apis/EventsAPI.ts +43 -0
- package/lib/ocm/services/apis/FeatureSupportLevelsAPI.ts +14 -0
- package/lib/ocm/services/apis/HostsAPI.ts +63 -0
- package/lib/ocm/services/apis/InfraEnvsAPI.ts +72 -0
- package/lib/ocm/services/apis/ManagedDomainsAPI.tsx +14 -0
- package/lib/ocm/services/apis/NewFeatureSupportLevelsAPI.ts +38 -0
- package/lib/ocm/services/apis/SupportedOpenshiftVersionsAPI.ts +14 -0
- package/lib/ocm/services/apis/types.ts +15 -0
- package/lib/ocm/services/types.ts +24 -0
- package/lib/ocm/store/hooks.ts +5 -0
- package/lib/ocm/store/index.ts +23 -0
- package/lib/ocm/store/slices/infraEnvs/selectors.ts +10 -0
- package/lib/ocm/store/slices/infraEnvs/slice.ts +14 -0
- package/lib/ocm/store/slices/infraEnvs/thunks.ts +61 -0
- package/lib/ocm/types.ts +3 -0
- package/package.json +98 -112
- package/LICENSE +0 -202
- package/dist/cim/index.css +0 -2
- package/dist/cim/index.css.map +0 -7
- package/dist/cim/index.js +0 -25
- package/dist/cim/index.js.map +0 -7
- package/dist/index.css +0 -2
- package/dist/index.css.map +0 -7
- package/dist/index.js +0 -37
- package/dist/index.js.map +0 -7
- package/dist/locales/en/translation.json +0 -763
- package/dist/locales/ja/translation.json +0 -763
- package/dist/locales/ko/translation.json +0 -763
- package/dist/locales/zh/translation.json +0 -763
- package/dist/ocm/index.css +0 -2
- package/dist/ocm/index.css.map +0 -7
- package/dist/ocm/index.js +0 -34
- package/dist/ocm/index.js.map +0 -7
- package/dist/src/cim/components/Agent/AgentStatus.d.ts +0 -14
- package/dist/src/cim/components/Agent/AgentTable.d.ts +0 -12
- package/dist/src/cim/components/Agent/AgentsSelectionHostCountAlerts.d.ts +0 -8
- package/dist/src/cim/components/Agent/AgentsSelectionHostCountLabelIcon.d.ts +0 -2
- package/dist/src/cim/components/Agent/AgentsSelectionTable.d.ts +0 -16
- package/dist/src/cim/components/Agent/AgentsSelectionUtils.d.ts +0 -7
- package/dist/src/cim/components/Agent/BMCForm.d.ts +0 -4
- package/dist/src/cim/components/Agent/BMHStatus.d.ts +0 -7
- package/dist/src/cim/components/Agent/MinimalHWRequirements.d.ts +0 -15
- package/dist/src/cim/components/Agent/NoAgentsAlert.d.ts +0 -5
- package/dist/src/cim/components/Agent/tableUtils.d.ts +0 -51
- package/dist/src/cim/components/Agent/types.d.ts +0 -36
- package/dist/src/cim/components/ClusterDeployment/ACMClusterDeploymentDetailsStep.d.ts +0 -23
- package/dist/src/cim/components/ClusterDeployment/AdditionalNTPSourcesDialogToggle.d.ts +0 -2
- package/dist/src/cim/components/ClusterDeployment/ArmCheckbox.d.ts +0 -7
- package/dist/src/cim/components/ClusterDeployment/ClusterDeploymentCreateProgress.d.ts +0 -9
- package/dist/src/cim/components/ClusterDeployment/ClusterDeploymentCredentials.d.ts +0 -13
- package/dist/src/cim/components/ClusterDeployment/ClusterDeploymentDetails.d.ts +0 -13
- package/dist/src/cim/components/ClusterDeployment/ClusterDeploymentDetailsForm.d.ts +0 -13
- package/dist/src/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.d.ts +0 -19
- package/dist/src/cim/components/ClusterDeployment/ClusterDeploymentDetailsTable.d.ts +0 -10
- package/dist/src/cim/components/ClusterDeployment/ClusterDeploymentHostDiscoveryTable.d.ts +0 -4
- package/dist/src/cim/components/ClusterDeployment/ClusterDeploymentHostSelectionStep.d.ts +0 -14
- package/dist/src/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscovery.d.ts +0 -4
- package/dist/src/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscoveryStep.d.ts +0 -4
- package/dist/src/cim/components/ClusterDeployment/ClusterDeploymentHostsNetworkTable.d.ts +0 -10
- package/dist/src/cim/components/ClusterDeployment/ClusterDeploymentHostsSelection.d.ts +0 -4
- package/dist/src/cim/components/ClusterDeployment/ClusterDeploymentHostsSelectionAdvanced.d.ts +0 -15
- package/dist/src/cim/components/ClusterDeployment/ClusterDeploymentHostsSelectionBasic.d.ts +0 -8
- package/dist/src/cim/components/ClusterDeployment/ClusterDeploymentKubeconfigDownload.d.ts +0 -10
- package/dist/src/cim/components/ClusterDeployment/ClusterDeploymentNetworkingForm.d.ts +0 -20
- package/dist/src/cim/components/ClusterDeployment/ClusterDeploymentNetworkingStep.d.ts +0 -4
- package/dist/src/cim/components/ClusterDeployment/ClusterDeploymentProgress.d.ts +0 -13
- package/dist/src/cim/components/ClusterDeployment/ClusterDeploymentReviewStep.d.ts +0 -13
- package/dist/src/cim/components/ClusterDeployment/ClusterDeploymentValidationsOverview.d.ts +0 -9
- package/dist/src/cim/components/ClusterDeployment/ClusterDeploymentWizard.d.ts +0 -4
- package/dist/src/cim/components/ClusterDeployment/ClusterDeploymentWizardContext.d.ts +0 -10
- package/dist/src/cim/components/ClusterDeployment/ClusterDeploymentWizardFooter.d.ts +0 -12
- package/dist/src/cim/components/ClusterDeployment/ClusterDeploymentWizardNavigation.d.ts +0 -3
- package/dist/src/cim/components/ClusterDeployment/ClusterDeploymentWizardStep.d.ts +0 -6
- package/dist/src/cim/components/ClusterDeployment/ClusterDetailsFormFields.d.ts +0 -16
- package/dist/src/cim/components/ClusterDeployment/ClusterInstallationError.d.ts +0 -7
- package/dist/src/cim/components/ClusterDeployment/ClusterScaleUpAutoHostsSelection.d.ts +0 -7
- package/dist/src/cim/components/ClusterDeployment/LabelsSelector.d.ts +0 -13
- package/dist/src/cim/components/ClusterDeployment/LocationsSelector.d.ts +0 -6
- package/dist/src/cim/components/ClusterDeployment/LogsDownloadButton.d.ts +0 -11
- package/dist/src/cim/components/ClusterDeployment/NetworkConfiguration.d.ts +0 -9
- package/dist/src/cim/components/ClusterDeployment/ScaleUpForm.d.ts +0 -9
- package/dist/src/cim/components/ClusterDeployment/ShortCapacitySummary.d.ts +0 -9
- package/dist/src/cim/components/ClusterDeployment/constants.d.ts +0 -14
- package/dist/src/cim/components/ClusterDeployment/helpers.d.ts +0 -23
- package/dist/src/cim/components/ClusterDeployment/index.d.ts +0 -17
- package/dist/src/cim/components/ClusterDeployment/networkConfigurationValidation.d.ts +0 -5
- package/dist/src/cim/components/ClusterDeployment/types.d.ts +0 -174
- package/dist/src/cim/components/ClusterDeployment/use-networking-formik.d.ts +0 -39
- package/dist/src/cim/components/ClusterDeployment/validationSchemas.d.ts +0 -3
- package/dist/src/cim/components/ClusterDeployment/wizardTransition.d.ts +0 -10
- package/dist/src/cim/components/Hypershift/DetailsPage/ClusterInstallationProgress.d.ts +0 -21
- package/dist/src/cim/components/Hypershift/DetailsPage/ConditionsTable.d.ts +0 -11
- package/dist/src/cim/components/Hypershift/DetailsPage/HostedClusterProgress.d.ts +0 -7
- package/dist/src/cim/components/Hypershift/DetailsPage/HypershiftKubeconfigDownload.d.ts +0 -8
- package/dist/src/cim/components/Hypershift/DetailsPage/NodePoolStatus.d.ts +0 -8
- package/dist/src/cim/components/Hypershift/DetailsPage/NodePoolsProgress.d.ts +0 -18
- package/dist/src/cim/components/Hypershift/DetailsPage/NodePoolsTable.d.ts +0 -25
- package/dist/src/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsForm.d.ts +0 -4
- package/dist/src/cim/components/Hypershift/HostedClusterWizard/DetailsStep/DetailsStep.d.ts +0 -4
- package/dist/src/cim/components/Hypershift/HostedClusterWizard/DetailsStep/types.d.ts +0 -35
- package/dist/src/cim/components/Hypershift/HostedClusterWizard/HostsStep/HostsForm.d.ts +0 -4
- package/dist/src/cim/components/Hypershift/HostedClusterWizard/HostsStep/HostsStep.d.ts +0 -4
- package/dist/src/cim/components/Hypershift/HostedClusterWizard/HostsStep/NodePoolForm.d.ts +0 -11
- package/dist/src/cim/components/Hypershift/HostedClusterWizard/HostsStep/types.d.ts +0 -30
- package/dist/src/cim/components/Hypershift/HostedClusterWizard/NetworkStep/NetworkForm.d.ts +0 -5
- package/dist/src/cim/components/Hypershift/HostedClusterWizard/NetworkStep/NetworkStep.d.ts +0 -4
- package/dist/src/cim/components/Hypershift/HostedClusterWizard/NetworkStep/types.d.ts +0 -22
- package/dist/src/cim/components/Hypershift/forms/NodePoolAgentsForm.d.ts +0 -10
- package/dist/src/cim/components/Hypershift/hooks/useSupportedOCPVersions.d.ts +0 -3
- package/dist/src/cim/components/Hypershift/hooks/useTemptiflySync.d.ts +0 -6
- package/dist/src/cim/components/Hypershift/index.d.ts +0 -4
- package/dist/src/cim/components/Hypershift/modals/AddNodePoolModal.d.ts +0 -12
- package/dist/src/cim/components/Hypershift/modals/ManageHostsModal.d.ts +0 -16
- package/dist/src/cim/components/Hypershift/modals/NodePoolForm.d.ts +0 -18
- package/dist/src/cim/components/Hypershift/modals/RemoveNodePoolModal.d.ts +0 -8
- package/dist/src/cim/components/Hypershift/types.d.ts +0 -195
- package/dist/src/cim/components/Hypershift/utils/labels.d.ts +0 -10
- package/dist/src/cim/components/Hypershift/utils/nodepool.d.ts +0 -3
- package/dist/src/cim/components/Hypershift/utils/status.d.ts +0 -10
- package/dist/src/cim/components/InfraEnv/AddHostDropdown.d.ts +0 -4
- package/dist/src/cim/components/InfraEnv/AgentAlerts.d.ts +0 -9
- package/dist/src/cim/components/InfraEnv/EnvironmentDetails.d.ts +0 -16
- package/dist/src/cim/components/InfraEnv/EnvironmentErrors.d.ts +0 -9
- package/dist/src/cim/components/InfraEnv/InfraEnvAgentTable.d.ts +0 -4
- package/dist/src/cim/components/InfraEnv/InfraEnvFormPage.d.ts +0 -31
- package/dist/src/cim/components/InfraEnv/InfraEnvHostsTabAgentsWarning.d.ts +0 -8
- package/dist/src/cim/components/InfraEnv/InfraTableToolbar.d.ts +0 -16
- package/dist/src/cim/components/InfraEnv/index.d.ts +0 -8
- package/dist/src/cim/components/InfraEnv/types.d.ts +0 -12
- package/dist/src/cim/components/InfraEnv/utils.d.ts +0 -13
- package/dist/src/cim/components/YamlPreview/YamlPreview.d.ts +0 -8
- package/dist/src/cim/components/YamlPreview/useYAMLPreview.d.ts +0 -14
- package/dist/src/cim/components/common/InfoAndTroubleshootingNotification.d.ts +0 -7
- package/dist/src/cim/components/common/ResourceAlerts.d.ts +0 -7
- package/dist/src/cim/components/common/SpecSyncErrAlert.d.ts +0 -5
- package/dist/src/cim/components/common/ValidationsRunningAlert.d.ts +0 -2
- package/dist/src/cim/components/common/constants.d.ts +0 -10
- package/dist/src/cim/components/featureSupportLevels/ACMFeatureSupportLevelProvider.d.ts +0 -8
- package/dist/src/cim/components/featureSupportLevels/featureStateUtils.d.ts +0 -4
- package/dist/src/cim/components/helpers/agentClusterInstall.d.ts +0 -3
- package/dist/src/cim/components/helpers/agentStatus.d.ts +0 -3
- package/dist/src/cim/components/helpers/agents.d.ts +0 -15
- package/dist/src/cim/components/helpers/clusterDeployment.d.ts +0 -38
- package/dist/src/cim/components/helpers/conditions.d.ts +0 -9
- package/dist/src/cim/components/helpers/labels.d.ts +0 -3
- package/dist/src/cim/components/helpers/network.d.ts +0 -6
- package/dist/src/cim/components/helpers/proxy.d.ts +0 -1
- package/dist/src/cim/components/helpers/status.d.ts +0 -26
- package/dist/src/cim/components/helpers/storage.d.ts +0 -1
- package/dist/src/cim/components/helpers/toAssisted.d.ts +0 -12
- package/dist/src/cim/components/helpers/units.d.ts +0 -50
- package/dist/src/cim/components/helpers/versions.d.ts +0 -7
- package/dist/src/cim/components/modals/AddBmcHostModal.d.ts +0 -4
- package/dist/src/cim/components/modals/AddBmcHostYamlForm.d.ts +0 -5
- package/dist/src/cim/components/modals/AddBmcHostYamlModal.d.ts +0 -4
- package/dist/src/cim/components/modals/AddHostModal.d.ts +0 -4
- package/dist/src/cim/components/modals/CimConfiguration/CimConfigDisconnectedAlert.d.ts +0 -4
- package/dist/src/cim/components/modals/CimConfiguration/CimConfigProgressAlert.d.ts +0 -4
- package/dist/src/cim/components/modals/CimConfiguration/CimConfigurationForm.d.ts +0 -4
- package/dist/src/cim/components/modals/CimConfiguration/CimConfigurationModal.d.ts +0 -4
- package/dist/src/cim/components/modals/CimConfiguration/CimIsMissingAlert.d.ts +0 -2
- package/dist/src/cim/components/modals/CimConfiguration/CimStorageMissingAlert.d.ts +0 -5
- package/dist/src/cim/components/modals/CimConfiguration/constants.d.ts +0 -4
- package/dist/src/cim/components/modals/CimConfiguration/persist.d.ts +0 -23
- package/dist/src/cim/components/modals/CimConfiguration/types.d.ts +0 -43
- package/dist/src/cim/components/modals/CimConfiguration/utils.d.ts +0 -15
- package/dist/src/cim/components/modals/EditAgentModal.d.ts +0 -4
- package/dist/src/cim/components/modals/EditBMHModal.d.ts +0 -4
- package/dist/src/cim/components/modals/EditNtpSourcesModal.d.ts +0 -11
- package/dist/src/cim/components/modals/EditPullSecretModal.d.ts +0 -19
- package/dist/src/cim/components/modals/EditSSHKeyModal.d.ts +0 -13
- package/dist/src/cim/components/modals/MassApproveAction.d.ts +0 -8
- package/dist/src/cim/components/modals/MassApproveAgentModal.d.ts +0 -10
- package/dist/src/cim/components/modals/MassDeleteAgentModal.d.ts +0 -13
- package/dist/src/cim/components/modals/ScaleUpModal.d.ts +0 -13
- package/dist/src/cim/components/modals/constants.d.ts +0 -63
- package/dist/src/cim/components/modals/index.d.ts +0 -10
- package/dist/src/cim/components/modals/types.d.ts +0 -45
- package/dist/src/cim/components/modals/utils.d.ts +0 -28
- package/dist/src/cim/config/constants.d.ts +0 -9
- package/dist/src/cim/index.d.ts +0 -13
- package/dist/src/cim/types/fromOCP/k8sTypes.d.ts +0 -46
- package/dist/src/cim/types/k8s/agent-cluster-install.d.ts +0 -68
- package/dist/src/cim/types/k8s/agent-service-config.d.ts +0 -23
- package/dist/src/cim/types/k8s/agent.d.ts +0 -48
- package/dist/src/cim/types/k8s/bare-metal-host.d.ts +0 -31
- package/dist/src/cim/types/k8s/cluster-deployment.d.ts +0 -41
- package/dist/src/cim/types/k8s/cluster-image-set.d.ts +0 -6
- package/dist/src/cim/types/k8s/cluster-version.d.ts +0 -45
- package/dist/src/cim/types/k8s/infra-env-k8s-resource.d.ts +0 -36
- package/dist/src/cim/types/k8s/infrastructure.d.ts +0 -22
- package/dist/src/cim/types/k8s/nm-state.d.ts +0 -10
- package/dist/src/cim/types/k8s/shared.d.ts +0 -13
- package/dist/src/cim/types/k8s/storage-class.d.ts +0 -8
- package/dist/src/cim/types/metal3.d.ts +0 -86
- package/dist/src/cim/types/resources.d.ts +0 -44
- package/dist/src/cim/utils.d.ts +0 -2
- package/dist/src/common/api/types.d.ts +0 -2241
- package/dist/src/common/api/utils.d.ts +0 -2
- package/dist/src/common/components/AddHosts/AddHostsContext.d.ts +0 -9
- package/dist/src/common/components/AlertsContextProvider.d.ts +0 -10
- package/dist/src/common/components/ErrorHandling/ErrorMonitorContext.d.ts +0 -12
- package/dist/src/common/components/ErrorHandling/WithErrorBoundary.d.ts +0 -5
- package/dist/src/common/components/clusterConfiguration/AdvancedNetworkFields.d.ts +0 -7
- package/dist/src/common/components/clusterConfiguration/DiscoveryImageConfigForm.d.ts +0 -16
- package/dist/src/common/components/clusterConfiguration/DiscoveryImageCpuArchitectureControlGroup.d.ts +0 -8
- package/dist/src/common/components/clusterConfiguration/DiscoveryImageTypeControlGroup.d.ts +0 -2
- package/dist/src/common/components/clusterConfiguration/DiscoveryInstructions.d.ts +0 -6
- package/dist/src/common/components/clusterConfiguration/DiscoveryTroubleshootingModal.d.ts +0 -13
- package/dist/src/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionControlGroup.d.ts +0 -8
- package/dist/src/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionMode.d.ts +0 -6
- package/dist/src/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionValues.d.ts +0 -11
- package/dist/src/common/components/clusterConfiguration/DiskEncryptionFields/TangServers.d.ts +0 -3
- package/dist/src/common/components/clusterConfiguration/DownloadIso.d.ts +0 -10
- package/dist/src/common/components/clusterConfiguration/DownloadIsoModal.d.ts +0 -7
- package/dist/src/common/components/clusterConfiguration/FormatDiskWarning.d.ts +0 -5
- package/dist/src/common/components/clusterConfiguration/OpenShiftVersionSelect.d.ts +0 -7
- package/dist/src/common/components/clusterConfiguration/ProxyFields.d.ts +0 -5
- package/dist/src/common/components/clusterConfiguration/SNOControlGroup.d.ts +0 -8
- package/dist/src/common/components/clusterConfiguration/SNODisclaimer.d.ts +0 -8
- package/dist/src/common/components/clusterConfiguration/SecurityFields.d.ts +0 -12
- package/dist/src/common/components/clusterConfiguration/UploadSSH.d.ts +0 -6
- package/dist/src/common/components/clusterConfiguration/index.d.ts +0 -13
- package/dist/src/common/components/clusterConfiguration/utils.d.ts +0 -20
- package/dist/src/common/components/clusterDetail/ClusterCredentials.d.ts +0 -12
- package/dist/src/common/components/clusterDetail/ClusterProgress.d.ts +0 -9
- package/dist/src/common/components/clusterDetail/ClusterProgressItem.d.ts +0 -6
- package/dist/src/common/components/clusterDetail/ClusterProgressItems.d.ts +0 -11
- package/dist/src/common/components/clusterDetail/ClusterPropertiesList.d.ts +0 -11
- package/dist/src/common/components/clusterDetail/ConsoleModal.d.ts +0 -20
- package/dist/src/common/components/clusterDetail/FinalizingProgress.d.ts +0 -14
- package/dist/src/common/components/clusterDetail/KubeconfigDownload.d.ts +0 -10
- package/dist/src/common/components/clusterDetail/OperatorsProgressItem.d.ts +0 -13
- package/dist/src/common/components/clusterDetail/ProgressBarTexts.d.ts +0 -7
- package/dist/src/common/components/clusterWizard/ClusterWizardStep.d.ts +0 -8
- package/dist/src/common/components/clusterWizard/ClusterWizardStepHeader.d.ts +0 -3
- package/dist/src/common/components/clusterWizard/ClusterWizardStepValidationsAlert.d.ts +0 -15
- package/dist/src/common/components/clusterWizard/ReviewHostsInventory.d.ts +0 -6
- package/dist/src/common/components/clusterWizard/ReviewValidations.d.ts +0 -3
- package/dist/src/common/components/clusterWizard/clusterDetailsValidation.d.ts +0 -24
- package/dist/src/common/components/clusterWizard/index.d.ts +0 -8
- package/dist/src/common/components/clusterWizard/networkingSteps/AvailableSubnetsControl.d.ts +0 -9
- package/dist/src/common/components/clusterWizard/networkingSteps/ManagedNetworkingControlGroup.d.ts +0 -5
- package/dist/src/common/components/clusterWizard/networkingSteps/NetworkTypeControlGroup.d.ts +0 -5
- package/dist/src/common/components/clusterWizard/networkingSteps/UserManagedNetworkingTextContent.d.ts +0 -4
- package/dist/src/common/components/clusterWizard/networkingSteps/VirtualIPControlGroup.d.ts +0 -8
- package/dist/src/common/components/clusterWizard/types.d.ts +0 -62
- package/dist/src/common/components/clusterWizard/validationsInfoUtils.d.ts +0 -35
- package/dist/src/common/components/clusters/PullSecret.d.ts +0 -7
- package/dist/src/common/components/constants.d.ts +0 -2
- package/dist/src/common/components/featureSupportLevels/FeatureSupportLevelBadge.d.ts +0 -8
- package/dist/src/common/components/featureSupportLevels/FeatureSupportLevelContext.d.ts +0 -15
- package/dist/src/common/components/featureSupportLevels/utils.d.ts +0 -5
- package/dist/src/common/components/fetching/EventListFetch.d.ts +0 -3
- package/dist/src/common/components/hosts/AITable.d.ts +0 -51
- package/dist/src/common/components/hosts/AdditionalNTPSourcesDialog.d.ts +0 -12
- package/dist/src/common/components/hosts/DiskLimitations.d.ts +0 -7
- package/dist/src/common/components/hosts/DiskRole.d.ts +0 -14
- package/dist/src/common/components/hosts/EditHostForm.d.ts +0 -13
- package/dist/src/common/components/hosts/EditHostModal.d.ts +0 -15
- package/dist/src/common/components/hosts/FormatDiskCheckbox.d.ts +0 -16
- package/dist/src/common/components/hosts/HostProgress.d.ts +0 -5
- package/dist/src/common/components/hosts/HostPropertyValidationPopover.d.ts +0 -12
- package/dist/src/common/components/hosts/HostRequirements.d.ts +0 -15
- package/dist/src/common/components/hosts/HostRowDetail.d.ts +0 -13
- package/dist/src/common/components/hosts/HostStatus.d.ts +0 -4
- package/dist/src/common/components/hosts/HostToolbarActions.d.ts +0 -10
- package/dist/src/common/components/hosts/HostValidationGroups.d.ts +0 -20
- package/dist/src/common/components/hosts/Hostname.d.ts +0 -13
- package/dist/src/common/components/hosts/HostsCount.d.ts +0 -9
- package/dist/src/common/components/hosts/HostsTable.d.ts +0 -19
- package/dist/src/common/components/hosts/HostsTableDetailContext.d.ts +0 -11
- package/dist/src/common/components/hosts/MassChangeHostnameModal.d.ts +0 -14
- package/dist/src/common/components/hosts/MassDeleteHostModal.d.ts +0 -10
- package/dist/src/common/components/hosts/NtpValidationStatus.d.ts +0 -9
- package/dist/src/common/components/hosts/OcpConsoleNodesSectionLink.d.ts +0 -6
- package/dist/src/common/components/hosts/RoleCell.d.ts +0 -13
- package/dist/src/common/components/hosts/RoleDropdown.d.ts +0 -11
- package/dist/src/common/components/hosts/TableToolbar.d.ts +0 -18
- package/dist/src/common/components/hosts/VMRebootConfigurationInfo.d.ts +0 -3
- package/dist/src/common/components/hosts/hardwareInfo.d.ts +0 -19
- package/dist/src/common/components/hosts/index.d.ts +0 -16
- package/dist/src/common/components/hosts/status.d.ts +0 -3
- package/dist/src/common/components/hosts/tableUtils.d.ts +0 -22
- package/dist/src/common/components/hosts/types.d.ts +0 -72
- package/dist/src/common/components/hosts/usePagination.d.ts +0 -9
- package/dist/src/common/components/hosts/utils.d.ts +0 -36
- package/dist/src/common/components/storage/DisksTable.d.ts +0 -13
- package/dist/src/common/components/storage/StorageDetail.d.ts +0 -11
- package/dist/src/common/components/storage/StorageTable.d.ts +0 -11
- package/dist/src/common/components/storage/StorageUtils.d.ts +0 -6
- package/dist/src/common/components/ui/Alerts.d.ts +0 -5
- package/dist/src/common/components/ui/BorderedIcon/BorderedIcon.d.ts +0 -10
- package/dist/src/common/components/ui/ClusterEventsList.d.ts +0 -9
- package/dist/src/common/components/ui/ClusterEventsToolbar.d.ts +0 -12
- package/dist/src/common/components/ui/ConfirmationModal.d.ts +0 -13
- package/dist/src/common/components/ui/DetailList.d.ts +0 -21
- package/dist/src/common/components/ui/EventsList.d.ts +0 -8
- package/dist/src/common/components/ui/ExternalLink.d.ts +0 -8
- package/dist/src/common/components/ui/GridGap.d.ts +0 -7
- package/dist/src/common/components/ui/ModalProgress.d.ts +0 -10
- package/dist/src/common/components/ui/OpenShiftVersionDropown.d.ts +0 -17
- package/dist/src/common/components/ui/PopoverIcon.d.ts +0 -14
- package/dist/src/common/components/ui/PreviewBadge.d.ts +0 -14
- package/dist/src/common/components/ui/PrismCode.d.ts +0 -11
- package/dist/src/common/components/ui/RenderIf.d.ts +0 -6
- package/dist/src/common/components/ui/SectionTitle.d.ts +0 -6
- package/dist/src/common/components/ui/SimpleDropdown.d.ts +0 -15
- package/dist/src/common/components/ui/StaticTextField.d.ts +0 -23
- package/dist/src/common/components/ui/Toolbar/ToolbarButton.d.ts +0 -4
- package/dist/src/common/components/ui/Toolbar/ToolbarProgress.d.ts +0 -4
- package/dist/src/common/components/ui/Toolbar/ToolbarSecondaryGroup.d.ts +0 -3
- package/dist/src/common/components/ui/Toolbar/ToolbarText.d.ts +0 -4
- package/dist/src/common/components/ui/ViewClusterEventsButton.d.ts +0 -8
- package/dist/src/common/components/ui/WizardFooter.d.ts +0 -22
- package/dist/src/common/components/ui/WizardNavItem.d.ts +0 -7
- package/dist/src/common/components/ui/eventsModal.d.ts +0 -29
- package/dist/src/common/components/ui/formik/AddButton.d.ts +0 -7
- package/dist/src/common/components/ui/formik/AdditionalNTPSourcesField.d.ts +0 -10
- package/dist/src/common/components/ui/formik/CheckboxField.d.ts +0 -4
- package/dist/src/common/components/ui/formik/CodeField.d.ts +0 -3
- package/dist/src/common/components/ui/formik/FormikAutoSave.d.ts +0 -7
- package/dist/src/common/components/ui/formik/HelperText.d.ts +0 -11
- package/dist/src/common/components/ui/formik/InputField.d.ts +0 -8
- package/dist/src/common/components/ui/formik/LabelField.d.ts +0 -13
- package/dist/src/common/components/ui/formik/MultiSelectField.d.ts +0 -4
- package/dist/src/common/components/ui/formik/NumberInputField.d.ts +0 -4
- package/dist/src/common/components/ui/formik/PencilEditField.d.ts +0 -8
- package/dist/src/common/components/ui/formik/PullSecretField.d.ts +0 -12
- package/dist/src/common/components/ui/formik/RadioField.d.ts +0 -3
- package/dist/src/common/components/ui/formik/RadioFieldWithTooltip.d.ts +0 -7
- package/dist/src/common/components/ui/formik/RemovableField.d.ts +0 -10
- package/dist/src/common/components/ui/formik/RichInputField.d.ts +0 -17
- package/dist/src/common/components/ui/formik/SelectField.d.ts +0 -4
- package/dist/src/common/components/ui/formik/SingleNodeCheckbox.d.ts +0 -8
- package/dist/src/common/components/ui/formik/SwitchField.d.ts +0 -4
- package/dist/src/common/components/ui/formik/TextAreaField.d.ts +0 -4
- package/dist/src/common/components/ui/formik/TextAreaSecretField.d.ts +0 -4
- package/dist/src/common/components/ui/formik/UploadField.d.ts +0 -4
- package/dist/src/common/components/ui/formik/constants.d.ts +0 -50
- package/dist/src/common/components/ui/formik/index.d.ts +0 -25
- package/dist/src/common/components/ui/formik/types.d.ts +0 -117
- package/dist/src/common/components/ui/formik/utils.d.ts +0 -24
- package/dist/src/common/components/ui/formik/validationSchemas.d.ts +0 -33
- package/dist/src/common/components/ui/index.d.ts +0 -23
- package/dist/src/common/components/ui/table/utils.d.ts +0 -17
- package/dist/src/common/components/ui/table/wrappable.d.ts +0 -8
- package/dist/src/common/components/ui/uiState/EmptyState.d.ts +0 -11
- package/dist/src/common/components/ui/uiState/ErrorState.d.ts +0 -14
- package/dist/src/common/components/ui/uiState/LoadingState.d.ts +0 -8
- package/dist/src/common/components/ui/utils.d.ts +0 -2
- package/dist/src/common/config/constants.d.ts +0 -204
- package/dist/src/common/features/featureGate.d.ts +0 -25
- package/dist/src/common/hacks.d.ts +0 -1
- package/dist/src/common/hooks/use-translation-wrapper.d.ts +0 -1
- package/dist/src/common/hooks/useDeepCompareMemoize.d.ts +0 -2
- package/dist/src/common/hooks/useFieldErrorMsg.d.ts +0 -8
- package/dist/src/common/hooks/useFormikHelpers.d.ts +0 -6
- package/dist/src/common/hooks/useStateSafely.d.ts +0 -3
- package/dist/src/common/index.d.ts +0 -10
- package/dist/src/common/reducers/alertsSlice.d.ts +0 -18
- package/dist/src/common/reducers/dialogsSlice.d.ts +0 -9
- package/dist/src/common/selectors/clusterSelectors.d.ts +0 -28
- package/dist/src/common/sevices/DateAndTime.d.ts +0 -2
- package/dist/src/common/types/clusters.d.ts +0 -53
- package/dist/src/common/types/events.d.ts +0 -22
- package/dist/src/common/types/featureSupportLevel.d.ts +0 -23
- package/dist/src/common/types/hosts.d.ts +0 -19
- package/dist/src/common/types/index.d.ts +0 -16
- package/dist/src/common/types/proxyFields.d.ts +0 -7
- package/dist/src/common/types/typescriptExtensions.d.ts +0 -9
- package/dist/src/common/types/versions.d.ts +0 -10
- package/dist/src/common/utils.d.ts +0 -2
- package/dist/src/ocm/api/axiosClient.d.ts +0 -6
- package/dist/src/ocm/api/axiosExtensions.d.ts +0 -2
- package/dist/src/ocm/api/types.d.ts +0 -5
- package/dist/src/ocm/api/utils.d.ts +0 -8
- package/dist/src/ocm/components/AddHosts/AddHosts.d.ts +0 -1
- package/dist/src/ocm/components/AddHosts/InventoryAddHost.d.ts +0 -5
- package/dist/src/ocm/components/AddHosts/day2Wizard/Day2ClusterDetails.d.ts +0 -2
- package/dist/src/ocm/components/AddHosts/day2Wizard/Day2DiscoveryImageModalButton.d.ts +0 -5
- package/dist/src/ocm/components/AddHosts/day2Wizard/Day2DownloadISO.d.ts +0 -2
- package/dist/src/ocm/components/AddHosts/day2Wizard/Day2GenerateISO.d.ts +0 -2
- package/dist/src/ocm/components/AddHosts/day2Wizard/Day2StaticIP.d.ts +0 -2
- package/dist/src/ocm/components/AddHosts/day2Wizard/Day2StaticIpHostConfigurations.d.ts +0 -2
- package/dist/src/ocm/components/AddHosts/day2Wizard/Day2Wizard.d.ts +0 -2
- package/dist/src/ocm/components/AddHosts/day2Wizard/Day2WizardContext.d.ts +0 -21
- package/dist/src/ocm/components/AddHosts/day2Wizard/Day2WizardContextProvider.d.ts +0 -8
- package/dist/src/ocm/components/AddHosts/day2Wizard/Day2WizardNav.d.ts +0 -2
- package/dist/src/ocm/components/AddHosts/day2Wizard/constants.d.ts +0 -6
- package/dist/src/ocm/components/AddHosts/types.d.ts +0 -46
- package/dist/src/ocm/components/HostsClusterDetailTab/HostsClusterDetailTab.d.ts +0 -3
- package/dist/src/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContent.d.ts +0 -2
- package/dist/src/ocm/components/HostsClusterDetailTab/index.d.ts +0 -2
- package/dist/src/ocm/components/HostsClusterDetailTab/types.d.ts +0 -6
- package/dist/src/ocm/components/HostsClusterDetailTab/utils.d.ts +0 -4
- package/dist/src/ocm/components/Router.d.ts +0 -8
- package/dist/src/ocm/components/SentryErrorMonitorContextProvider.d.ts +0 -2
- package/dist/src/ocm/components/SingleCluster.d.ts +0 -2
- package/dist/src/ocm/components/clusterConfiguration/ArmCheckbox.d.ts +0 -7
- package/dist/src/ocm/components/clusterConfiguration/ClusterDefaultConfigurationContext.d.ts +0 -8
- package/dist/src/ocm/components/clusterConfiguration/DiscoveryImageForm.d.ts +0 -9
- package/dist/src/ocm/components/clusterConfiguration/DiscoveryImageModal.d.ts +0 -11
- package/dist/src/ocm/components/clusterConfiguration/DiscoveryImageSummary.d.ts +0 -11
- package/dist/src/ocm/components/clusterConfiguration/HostInventory.d.ts +0 -5
- package/dist/src/ocm/components/clusterConfiguration/HostsNetworkConfigurationControlGroup.d.ts +0 -4
- package/dist/src/ocm/components/clusterConfiguration/InformationAndAlerts.d.ts +0 -5
- package/dist/src/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.d.ts +0 -13
- package/dist/src/ocm/components/clusterConfiguration/OcmOpenShiftVersionSelect.d.ts +0 -7
- package/dist/src/ocm/components/clusterConfiguration/ReviewCluster.d.ts +0 -6
- package/dist/src/ocm/components/clusterConfiguration/ReviewStep.d.ts +0 -6
- package/dist/src/ocm/components/clusterConfiguration/networkConfiguration/AdvancedNetworkFields.d.ts +0 -2
- package/dist/src/ocm/components/clusterConfiguration/networkConfiguration/AvailableSubnetsControl.d.ts +0 -8
- package/dist/src/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.d.ts +0 -9
- package/dist/src/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.d.ts +0 -5
- package/dist/src/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationTable.d.ts +0 -3
- package/dist/src/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationTableBase.d.ts +0 -18
- package/dist/src/ocm/components/clusterConfiguration/networkConfiguration/StackTypeControl.d.ts +0 -8
- package/dist/src/ocm/components/clusterConfiguration/networkConfiguration/VirtualIPControlGroup.d.ts +0 -6
- package/dist/src/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.d.ts +0 -4
- package/dist/src/ocm/components/clusterConfiguration/operators/CnvCheckbox.d.ts +0 -3
- package/dist/src/ocm/components/clusterConfiguration/operators/CnvHostRequirements.d.ts +0 -5
- package/dist/src/ocm/components/clusterConfiguration/operators/LvmCheckbox.d.ts +0 -3
- package/dist/src/ocm/components/clusterConfiguration/operators/LvmHostRequirements.d.ts +0 -5
- package/dist/src/ocm/components/clusterConfiguration/operators/OdfCheckbox.d.ts +0 -4
- package/dist/src/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegration.d.ts +0 -5
- package/dist/src/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegrationVsphere.d.ts +0 -2
- package/dist/src/ocm/components/clusterConfiguration/staticIp/commonValidationSchemas.d.ts +0 -11
- package/dist/src/ocm/components/clusterConfiguration/staticIp/components/CollapsedHost.d.ts +0 -11
- package/dist/src/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/FormViewHosts.d.ts +0 -3
- package/dist/src/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/FormViewHostsFields.d.ts +0 -5
- package/dist/src/ocm/components/clusterConfiguration/staticIp/components/FormViewHosts/formViewHostsValidationSchema.d.ts +0 -5
- package/dist/src/ocm/components/clusterConfiguration/staticIp/components/FormViewNetworkWide/FormViewNetworkWide.d.ts +0 -3
- package/dist/src/ocm/components/clusterConfiguration/staticIp/components/FormViewNetworkWide/FormViewNetworkWideFields.d.ts +0 -6
- package/dist/src/ocm/components/clusterConfiguration/staticIp/components/FormViewNetworkWide/formViewNetworkWideValidationSchema.d.ts +0 -13
- package/dist/src/ocm/components/clusterConfiguration/staticIp/components/StaticIpForm.d.ts +0 -3
- package/dist/src/ocm/components/clusterConfiguration/staticIp/components/StaticIpHostsArray.d.ts +0 -19
- package/dist/src/ocm/components/clusterConfiguration/staticIp/components/StaticIpPage.d.ts +0 -4
- package/dist/src/ocm/components/clusterConfiguration/staticIp/components/StaticIpViewRadioGroup.d.ts +0 -8
- package/dist/src/ocm/components/clusterConfiguration/staticIp/components/YamlView/MacIpMapping.d.ts +0 -6
- package/dist/src/ocm/components/clusterConfiguration/staticIp/components/YamlView/YamlView.d.ts +0 -3
- package/dist/src/ocm/components/clusterConfiguration/staticIp/components/YamlView/YamlViewFields.d.ts +0 -1
- package/dist/src/ocm/components/clusterConfiguration/staticIp/components/YamlView/yamlViewValidationSchema.d.ts +0 -3
- package/dist/src/ocm/components/clusterConfiguration/staticIp/components/propTypes.d.ts +0 -28
- package/dist/src/ocm/components/clusterConfiguration/staticIp/data/dataTypes.d.ts +0 -53
- package/dist/src/ocm/components/clusterConfiguration/staticIp/data/dummyData.d.ts +0 -20
- package/dist/src/ocm/components/clusterConfiguration/staticIp/data/emptyData.d.ts +0 -9
- package/dist/src/ocm/components/clusterConfiguration/staticIp/data/formDataFromInfraEnvField.d.ts +0 -3
- package/dist/src/ocm/components/clusterConfiguration/staticIp/data/formDataToInfraEnvField.d.ts +0 -4
- package/dist/src/ocm/components/clusterConfiguration/staticIp/data/fromInfraEnv.d.ts +0 -13
- package/dist/src/ocm/components/clusterConfiguration/staticIp/data/machineNetwork.d.ts +0 -2
- package/dist/src/ocm/components/clusterConfiguration/staticIp/data/nmstateTypes.d.ts +0 -60
- package/dist/src/ocm/components/clusterConfiguration/staticIp/data/nmstateYaml.d.ts +0 -16
- package/dist/src/ocm/components/clusterConfiguration/staticIp/data/protocolVersion.d.ts +0 -8
- package/dist/src/ocm/components/clusterDetail/AssistedInstallerDetailCard.d.ts +0 -8
- package/dist/src/ocm/components/clusterDetail/AssistedInstallerExtraDetailCard.d.ts +0 -7
- package/dist/src/ocm/components/clusterDetail/CancelInstallationModal.d.ts +0 -3
- package/dist/src/ocm/components/clusterDetail/ClusterDetail.d.ts +0 -7
- package/dist/src/ocm/components/clusterDetail/ClusterDetailStatusMessages.d.ts +0 -8
- package/dist/src/ocm/components/clusterDetail/ClusterDetailStatusVarieties.d.ts +0 -18
- package/dist/src/ocm/components/clusterDetail/ClusterDetailsButtonGroup.d.ts +0 -7
- package/dist/src/ocm/components/clusterDetail/ClusterInstallationProgressCard.d.ts +0 -6
- package/dist/src/ocm/components/clusterDetail/ClusterPollingErrorModal.d.ts +0 -2
- package/dist/src/ocm/components/clusterDetail/ClusterProperties.d.ts +0 -7
- package/dist/src/ocm/components/clusterDetail/OpenShiftVersionDetail.d.ts +0 -5
- package/dist/src/ocm/components/clusterDetail/ProgressBarAlerts.d.ts +0 -15
- package/dist/src/ocm/components/clusterDetail/ResetClusterModal.d.ts +0 -3
- package/dist/src/ocm/components/clusterDetail/getProgressBarAlerts.d.ts +0 -3
- package/dist/src/ocm/components/clusterDetail/utils.d.ts +0 -7
- package/dist/src/ocm/components/clusterWizard/ClusterDetails.d.ts +0 -8
- package/dist/src/ocm/components/clusterWizard/ClusterDetailsForm.d.ts +0 -17
- package/dist/src/ocm/components/clusterWizard/ClusterPlatformIntegrationHint.d.ts +0 -8
- package/dist/src/ocm/components/clusterWizard/ClusterWizard.d.ts +0 -8
- package/dist/src/ocm/components/clusterWizard/ClusterWizardContext.d.ts +0 -16
- package/dist/src/ocm/components/clusterWizard/ClusterWizardContextProvider.d.ts +0 -8
- package/dist/src/ocm/components/clusterWizard/ClusterWizardFooter.d.ts +0 -11
- package/dist/src/ocm/components/clusterWizard/ClusterWizardNavigation.d.ts +0 -5
- package/dist/src/ocm/components/clusterWizard/HostDiscovery.d.ts +0 -5
- package/dist/src/ocm/components/clusterWizard/NewClusterWizard.d.ts +0 -3
- package/dist/src/ocm/components/clusterWizard/Operators.d.ts +0 -6
- package/dist/src/ocm/components/clusterWizard/OperatorsStep.d.ts +0 -2
- package/dist/src/ocm/components/clusterWizard/StaticIp.d.ts +0 -7
- package/dist/src/ocm/components/clusterWizard/Storage.d.ts +0 -5
- package/dist/src/ocm/components/clusterWizard/constants.d.ts +0 -6
- package/dist/src/ocm/components/clusterWizard/index.d.ts +0 -1
- package/dist/src/ocm/components/clusterWizard/wizardTransition.d.ts +0 -19
- package/dist/src/ocm/components/clusters/ClusterBreadcrumbs.d.ts +0 -7
- package/dist/src/ocm/components/clusters/ClusterLoading.d.ts +0 -2
- package/dist/src/ocm/components/clusters/ClusterPage.d.ts +0 -7
- package/dist/src/ocm/components/clusters/ClusterPageErrors.d.ts +0 -2
- package/dist/src/ocm/components/clusters/ClusterStatus.d.ts +0 -15
- package/dist/src/ocm/components/clusters/ClusterToolbar.d.ts +0 -7
- package/dist/src/ocm/components/clusters/Clusters.d.ts +0 -4
- package/dist/src/ocm/components/clusters/ClustersListToolbar.d.ts +0 -12
- package/dist/src/ocm/components/clusters/ClustersTable.d.ts +0 -8
- package/dist/src/ocm/components/clusters/DeleteClusterModal.d.ts +0 -8
- package/dist/src/ocm/components/clusters/NewClusterPage.d.ts +0 -2
- package/dist/src/ocm/components/clusters/clusterPolling.d.ts +0 -17
- package/dist/src/ocm/components/clusters/index.d.ts +0 -5
- package/dist/src/ocm/components/clusters/utils.d.ts +0 -11
- package/dist/src/ocm/components/featureSupportLevels/FeatureSupportLevelProvider.d.ts +0 -11
- package/dist/src/ocm/components/featureSupportLevels/ReviewClusterFeatureSupportLevels.d.ts +0 -13
- package/dist/src/ocm/components/featureSupportLevels/featureStateUtils.d.ts +0 -6
- package/dist/src/ocm/components/fetching/fetchEvents.d.ts +0 -2
- package/dist/src/ocm/components/hosts/AdditionaNTPSourceDialogToggle.d.ts +0 -1
- package/dist/src/ocm/components/hosts/ClusterHostsTable.d.ts +0 -9
- package/dist/src/ocm/components/hosts/DeleteHostModal.d.ts +0 -8
- package/dist/src/ocm/components/hosts/HardwareStatus.d.ts +0 -21
- package/dist/src/ocm/components/hosts/HostRequirementsContent.d.ts +0 -8
- package/dist/src/ocm/components/hosts/HostsDiscoveryTable.d.ts +0 -6
- package/dist/src/ocm/components/hosts/HostsDiscoveryTroubleshootingInfoLinkWithModal.d.ts +0 -5
- package/dist/src/ocm/components/hosts/HostsStorageTable.d.ts +0 -7
- package/dist/src/ocm/components/hosts/HostsTableEmptyState.d.ts +0 -5
- package/dist/src/ocm/components/hosts/ModalDialogsContext.d.ts +0 -53
- package/dist/src/ocm/components/hosts/NetworkingStatus.d.ts +0 -4
- package/dist/src/ocm/components/hosts/OdfDisksManualFormattingHint.d.ts +0 -2
- package/dist/src/ocm/components/hosts/ResetHostModal.d.ts +0 -9
- package/dist/src/ocm/components/hosts/StorageAlerts.d.ts +0 -5
- package/dist/src/ocm/components/hosts/UpdateDay2ApiVipDialogToggle.d.ts +0 -2
- package/dist/src/ocm/components/hosts/UpdateDay2ApiVipForm.d.ts +0 -11
- package/dist/src/ocm/components/hosts/UpdateDay2ApiVipModal.d.ts +0 -7
- package/dist/src/ocm/components/hosts/use-hosts-table.d.ts +0 -39
- package/dist/src/ocm/components/hosts/utils.d.ts +0 -4
- package/dist/src/ocm/components/index.d.ts +0 -7
- package/dist/src/ocm/components/ui/AssistedUILibVersion.d.ts +0 -2
- package/dist/src/ocm/components/ui/InfoLinkWithModal.d.ts +0 -11
- package/dist/src/ocm/components/ui/OcmFormFields.d.ts +0 -22
- package/dist/src/ocm/config/constants.d.ts +0 -8
- package/dist/src/ocm/config/routeBaseBath.d.ts +0 -2
- package/dist/src/ocm/hooks/useClusterPreflightRequirements.d.ts +0 -7
- package/dist/src/ocm/hooks/useClusterSupportedPlatforms.d.ts +0 -10
- package/dist/src/ocm/hooks/useInfraEnv.d.ts +0 -7
- package/dist/src/ocm/hooks/useInfraEnvId.d.ts +0 -5
- package/dist/src/ocm/hooks/useInfraEnvImageUrl.d.ts +0 -9
- package/dist/src/ocm/hooks/useManagedDomains.d.ts +0 -2
- package/dist/src/ocm/hooks/useOpenshiftVersions.d.ts +0 -15
- package/dist/src/ocm/hooks/usePullSecret.d.ts +0 -1
- package/dist/src/ocm/hooks/useSetClusterPermissions.d.ts +0 -2
- package/dist/src/ocm/hooks/useUsedClusterNames.d.ts +0 -4
- package/dist/src/ocm/index.d.ts +0 -11
- package/dist/src/ocm/reducers/clusters/clustersSlice.d.ts +0 -25
- package/dist/src/ocm/reducers/clusters/currentClusterSlice.d.ts +0 -130
- package/dist/src/ocm/selectors/clusters.d.ts +0 -61
- package/dist/src/ocm/selectors/currentCluster.d.ts +0 -13
- package/dist/src/ocm/sentry.d.ts +0 -2
- package/dist/src/ocm/services/ClusterDetailsService.d.ts +0 -14
- package/dist/src/ocm/services/ClustersService.d.ts +0 -16
- package/dist/src/ocm/services/CpuArchitectureService.d.ts +0 -14
- package/dist/src/ocm/services/Day2ClusterService.d.ts +0 -87
- package/dist/src/ocm/services/DiscoveryImageFormService.d.ts +0 -9
- package/dist/src/ocm/services/DiskEncryptionService.d.ts +0 -6
- package/dist/src/ocm/services/HostDiscoveryService.d.ts +0 -6
- package/dist/src/ocm/services/HostsService.d.ts +0 -20
- package/dist/src/ocm/services/InfraEnvIdsCacheService.d.ts +0 -9
- package/dist/src/ocm/services/InfraEnvsService.d.ts +0 -13
- package/dist/src/ocm/services/OperatorsService.d.ts +0 -11
- package/dist/src/ocm/services/apis/ClustersAPI.d.ts +0 -35
- package/dist/src/ocm/services/apis/ComponentVersionsAPI.d.ts +0 -6
- package/dist/src/ocm/services/apis/EventsAPI.d.ts +0 -7
- package/dist/src/ocm/services/apis/FeatureSupportLevelsAPI.d.ts +0 -6
- package/dist/src/ocm/services/apis/HostsAPI.d.ts +0 -14
- package/dist/src/ocm/services/apis/InfraEnvsAPI.d.ts +0 -17
- package/dist/src/ocm/services/apis/ManagedDomainsAPI.d.ts +0 -6
- package/dist/src/ocm/services/apis/SupportedOpenshiftVersionsAPI.d.ts +0 -6
- package/dist/src/ocm/services/apis/types.d.ts +0 -13
- package/dist/src/ocm/services/types.d.ts +0 -11
- package/dist/src/ocm/store/index.d.ts +0 -36
- package/dist/src/ocm/store/slices/infraEnvs/slice.d.ts +0 -3
- package/dist/src/ocm/types.d.ts +0 -5
- /package/{dist/src/cim/components/Agent/index.d.ts → lib/cim/components/Agent/index.ts} +0 -0
- /package/{dist/src/cim/components/Hypershift/DetailsPage/index.d.ts → lib/cim/components/Hypershift/DetailsPage/index.ts} +0 -0
- /package/{dist/src/cim/components/Hypershift/HostedClusterWizard/DetailsStep/index.d.ts → lib/cim/components/Hypershift/HostedClusterWizard/DetailsStep/index.ts} +0 -0
- /package/{dist/src/cim/components/Hypershift/HostedClusterWizard/HostsStep/index.d.ts → lib/cim/components/Hypershift/HostedClusterWizard/HostsStep/index.ts} +0 -0
- /package/{dist/src/cim/components/Hypershift/HostedClusterWizard/NetworkStep/index.d.ts → lib/cim/components/Hypershift/HostedClusterWizard/NetworkStep/index.ts} +0 -0
- /package/{dist/src/cim/components/Hypershift/HostedClusterWizard/index.d.ts → lib/cim/components/Hypershift/HostedClusterWizard/index.ts} +0 -0
- /package/{dist/src/cim/components/Hypershift/utils/index.d.ts → lib/cim/components/Hypershift/utils/index.ts} +0 -0
- /package/{dist/src/cim/components/YamlPreview/index.d.ts → lib/cim/components/YamlPreview/index.ts} +0 -0
- /package/{dist/src/cim/components/common/index.d.ts → lib/cim/components/common/index.ts} +0 -0
- /package/{dist/src/cim/components/featureSupportLevels/index.d.ts → lib/cim/components/featureSupportLevels/index.ts} +0 -0
- /package/{dist/src/cim/components/helpers/index.d.ts → lib/cim/components/helpers/index.ts} +0 -0
- /package/{dist/src/cim/components/index.d.ts → lib/cim/components/index.ts} +0 -0
- /package/{dist/src/cim/components/modals/CimConfiguration/index.d.ts → lib/cim/components/modals/CimConfiguration/index.ts} +0 -0
- /package/{dist/src/cim/types/fromOCP/index.d.ts → lib/cim/types/fromOCP/index.ts} +0 -0
- /package/{dist/src/cim/types/index.d.ts → lib/cim/types/index.ts} +0 -0
- /package/{dist/src/cim/types/k8s/index.d.ts → lib/cim/types/k8s/index.ts} +0 -0
- /package/{dist/src/common/api/index.d.ts → lib/common/api/index.ts} +0 -0
- /package/{dist/src/common/components/AddHosts/index.d.ts → lib/common/components/AddHosts/index.ts} +0 -0
- /package/{dist/src/common/components/clusterDetail/index.d.ts → lib/common/components/clusterDetail/index.ts} +0 -0
- /package/{dist/src/common/components/clusterWizard/networkingSteps/index.d.ts → lib/common/components/clusterWizard/networkingSteps/index.ts} +0 -0
- /package/{dist/src/common/components/clusters/index.d.ts → lib/common/components/clusters/index.ts} +0 -0
- /package/{dist/src/common/components/featureSupportLevels/index.d.ts → lib/common/components/featureSupportLevels/index.ts} +0 -0
- /package/{dist/src/common/components/fetching/index.d.ts → lib/common/components/fetching/index.ts} +0 -0
- /package/{dist/src/common/components/index.d.ts → lib/common/components/index.ts} +0 -0
- /package/{dist/src/common/components/ui/Toolbar/index.d.ts → lib/common/components/ui/Toolbar/index.tsx} +0 -0
- /package/{dist/src/common/components/ui/table/index.d.ts → lib/common/components/ui/table/index.ts} +0 -0
- /package/{dist/src/common/components/ui/uiState/index.d.ts → lib/common/components/ui/uiState/index.ts} +0 -0
- /package/{dist/src/common/config/index.d.ts → lib/common/config/index.ts} +0 -0
- /package/{dist/src/common/features/index.d.ts → lib/common/features/index.ts} +0 -0
- /package/{dist/src/common/hooks/index.d.ts → lib/common/hooks/index.ts} +0 -0
- /package/{dist/src/common/reducers/index.d.ts → lib/common/reducers/index.ts} +0 -0
- /package/{dist/src/common/selectors/index.d.ts → lib/common/selectors/index.ts} +0 -0
- /package/{dist/src/index.d.ts → lib/index.ts} +0 -0
- /package/{dist/src/ocm/api/index.d.ts → lib/ocm/api/index.ts} +0 -0
- /package/{dist/src/ocm/components/AddHosts/index.d.ts → lib/ocm/components/AddHosts/index.ts} +0 -0
- /package/{dist/src/ocm/components/clusterDetail/index.d.ts → lib/ocm/components/clusterDetail/index.ts} +0 -0
- /package/{dist/src/ocm/components/featureSupportLevels/index.d.ts → lib/ocm/components/featureSupportLevels/index.ts} +0 -0
- /package/{dist/src/ocm/components/ui/index.d.ts → lib/ocm/components/ui/index.ts} +0 -0
- /package/{dist/src/ocm/config/index.d.ts → lib/ocm/config/index.ts} +0 -0
- /package/{dist/src/ocm/hooks/index.d.ts → lib/ocm/hooks/index.ts} +0 -0
- /package/{dist/src/ocm/reducers/clusters/index.d.ts → lib/ocm/reducers/clusters/index.ts} +0 -0
- /package/{dist/src/ocm/selectors/index.d.ts → lib/ocm/selectors/index.ts} +0 -0
- /package/{dist/src/ocm/services/apis/index.d.ts → lib/ocm/services/apis/index.ts} +0 -0
- /package/{dist/src/ocm/services/index.d.ts → lib/ocm/services/index.ts} +0 -0
package/dist/cim/index.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
var Xb=Object.create;var Qn=Object.defineProperty;var Jb=Object.getOwnPropertyDescriptor;var Zb=Object.getOwnPropertyNames;var Qb=Object.getPrototypeOf,ev=Object.prototype.hasOwnProperty;var Du=e=>Qn(e,"__esModule",{value:!0});var tv=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ov=(e,t)=>{Du(e);for(var o in t)Qn(e,o,{get:t[o],enumerable:!0})},rv=(e,t,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Zb(t))!ev.call(e,r)&&r!=="default"&&Qn(e,r,{get:()=>t[r],enumerable:!(o=Jb(t,r))||o.enumerable});return e},sv=e=>rv(Du(Qn(e!=null?Xb(Qb(e)):{},"default",e&&e.__esModule&&"default"in e?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);var Zf=tv((MJ,zi)=>{var Df,Nf,Hf,Vf,Rf,Mf,Lf,_f,Of,Ki,vc,Bf,Kf,Gf,Cs,zf,Uf,Wf,qf,$f,Yf,jf,Xf,Jf,Gi;(function(e){var t=typeof global=="object"?global:typeof self=="object"?self:typeof this=="object"?this:{};typeof define=="function"&&define.amd?define("tslib",["exports"],function(r){e(o(t,o(r)))}):typeof zi=="object"&&typeof zi.exports=="object"?e(o(t,o(zi.exports))):e(o(t));function o(r,s){return r!==t&&(typeof Object.create=="function"?Object.defineProperty(r,"__esModule",{value:!0}):r.__esModule=!0),function(n,i){return r[n]=s?s(n,i):i}}})(function(e){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,s){r.__proto__=s}||function(r,s){for(var n in s)Object.prototype.hasOwnProperty.call(s,n)&&(r[n]=s[n])};Df=function(r,s){if(typeof s!="function"&&s!==null)throw new TypeError("Class extends value "+String(s)+" is not a constructor or null");t(r,s);function n(){this.constructor=r}r.prototype=s===null?Object.create(s):(n.prototype=s.prototype,new n)},Nf=Object.assign||function(r){for(var s,n=1,i=arguments.length;n<i;n++){s=arguments[n];for(var a in s)Object.prototype.hasOwnProperty.call(s,a)&&(r[a]=s[a])}return r},Hf=function(r,s){var n={};for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&s.indexOf(i)<0&&(n[i]=r[i]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,i=Object.getOwnPropertySymbols(r);a<i.length;a++)s.indexOf(i[a])<0&&Object.prototype.propertyIsEnumerable.call(r,i[a])&&(n[i[a]]=r[i[a]]);return n},Vf=function(r,s,n,i){var a=arguments.length,l=a<3?s:i===null?i=Object.getOwnPropertyDescriptor(s,n):i,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")l=Reflect.decorate(r,s,n,i);else for(var p=r.length-1;p>=0;p--)(c=r[p])&&(l=(a<3?c(l):a>3?c(s,n,l):c(s,n))||l);return a>3&&l&&Object.defineProperty(s,n,l),l},Rf=function(r,s){return function(n,i){s(n,i,r)}},Mf=function(r,s){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(r,s)},Lf=function(r,s,n,i){function a(l){return l instanceof n?l:new n(function(c){c(l)})}return new(n||(n=Promise))(function(l,c){function p(f){try{m(i.next(f))}catch(g){c(g)}}function u(f){try{m(i.throw(f))}catch(g){c(g)}}function m(f){f.done?l(f.value):a(f.value).then(p,u)}m((i=i.apply(r,s||[])).next())})},_f=function(r,s){var n={label:0,sent:function(){if(l[0]&1)throw l[1];return l[1]},trys:[],ops:[]},i,a,l,c;return c={next:p(0),throw:p(1),return:p(2)},typeof Symbol=="function"&&(c[Symbol.iterator]=function(){return this}),c;function p(m){return function(f){return u([m,f])}}function u(m){if(i)throw new TypeError("Generator is already executing.");for(;n;)try{if(i=1,a&&(l=m[0]&2?a.return:m[0]?a.throw||((l=a.return)&&l.call(a),0):a.next)&&!(l=l.call(a,m[1])).done)return l;switch(a=0,l&&(m=[m[0]&2,l.value]),m[0]){case 0:case 1:l=m;break;case 4:return n.label++,{value:m[1],done:!1};case 5:n.label++,a=m[1],m=[0];continue;case 7:m=n.ops.pop(),n.trys.pop();continue;default:if(l=n.trys,!(l=l.length>0&&l[l.length-1])&&(m[0]===6||m[0]===2)){n=0;continue}if(m[0]===3&&(!l||m[1]>l[0]&&m[1]<l[3])){n.label=m[1];break}if(m[0]===6&&n.label<l[1]){n.label=l[1],l=m;break}if(l&&n.label<l[2]){n.label=l[2],n.ops.push(m);break}l[2]&&n.ops.pop(),n.trys.pop();continue}m=s.call(r,n)}catch(f){m=[6,f],a=0}finally{i=l=0}if(m[0]&5)throw m[1];return{value:m[0]?m[1]:void 0,done:!0}}},Of=function(r,s){for(var n in r)n!=="default"&&!Object.prototype.hasOwnProperty.call(s,n)&&Gi(s,r,n)},Gi=Object.create?function(r,s,n,i){i===void 0&&(i=n);var a=Object.getOwnPropertyDescriptor(s,n);(!a||("get"in a?!s.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return s[n]}}),Object.defineProperty(r,i,a)}:function(r,s,n,i){i===void 0&&(i=n),r[i]=s[n]},Ki=function(r){var s=typeof Symbol=="function"&&Symbol.iterator,n=s&&r[s],i=0;if(n)return n.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&i>=r.length&&(r=void 0),{value:r&&r[i++],done:!r}}};throw new TypeError(s?"Object is not iterable.":"Symbol.iterator is not defined.")},vc=function(r,s){var n=typeof Symbol=="function"&&r[Symbol.iterator];if(!n)return r;var i=n.call(r),a,l=[],c;try{for(;(s===void 0||s-- >0)&&!(a=i.next()).done;)l.push(a.value)}catch(p){c={error:p}}finally{try{a&&!a.done&&(n=i.return)&&n.call(i)}finally{if(c)throw c.error}}return l},Bf=function(){for(var r=[],s=0;s<arguments.length;s++)r=r.concat(vc(arguments[s]));return r},Kf=function(){for(var r=0,s=0,n=arguments.length;s<n;s++)r+=arguments[s].length;for(var i=Array(r),a=0,s=0;s<n;s++)for(var l=arguments[s],c=0,p=l.length;c<p;c++,a++)i[a]=l[c];return i},Gf=function(r,s,n){if(n||arguments.length===2)for(var i=0,a=s.length,l;i<a;i++)(l||!(i in s))&&(l||(l=Array.prototype.slice.call(s,0,i)),l[i]=s[i]);return r.concat(l||Array.prototype.slice.call(s))},Cs=function(r){return this instanceof Cs?(this.v=r,this):new Cs(r)},zf=function(r,s,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=n.apply(r,s||[]),a,l=[];return a={},c("next"),c("throw"),c("return"),a[Symbol.asyncIterator]=function(){return this},a;function c(C){i[C]&&(a[C]=function(h){return new Promise(function(S,v){l.push([C,h,S,v])>1||p(C,h)})})}function p(C,h){try{u(i[C](h))}catch(S){g(l[0][3],S)}}function u(C){C.value instanceof Cs?Promise.resolve(C.value.v).then(m,f):g(l[0][2],C)}function m(C){p("next",C)}function f(C){p("throw",C)}function g(C,h){C(h),l.shift(),l.length&&p(l[0][0],l[0][1])}},Uf=function(r){var s,n;return s={},i("next"),i("throw",function(a){throw a}),i("return"),s[Symbol.iterator]=function(){return this},s;function i(a,l){s[a]=r[a]?function(c){return(n=!n)?{value:Cs(r[a](c)),done:a==="return"}:l?l(c):c}:l}},Wf=function(r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var s=r[Symbol.asyncIterator],n;return s?s.call(r):(r=typeof Ki=="function"?Ki(r):r[Symbol.iterator](),n={},i("next"),i("throw"),i("return"),n[Symbol.asyncIterator]=function(){return this},n);function i(l){n[l]=r[l]&&function(c){return new Promise(function(p,u){c=r[l](c),a(p,u,c.done,c.value)})}}function a(l,c,p,u){Promise.resolve(u).then(function(m){l({value:m,done:p})},c)}},qf=function(r,s){return Object.defineProperty?Object.defineProperty(r,"raw",{value:s}):r.raw=s,r};var o=Object.create?function(r,s){Object.defineProperty(r,"default",{enumerable:!0,value:s})}:function(r,s){r.default=s};$f=function(r){if(r&&r.__esModule)return r;var s={};if(r!=null)for(var n in r)n!=="default"&&Object.prototype.hasOwnProperty.call(r,n)&&Gi(s,r,n);return o(s,r),s},Yf=function(r){return r&&r.__esModule?r:{default:r}},jf=function(r,s,n,i){if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a getter");if(typeof s=="function"?r!==s||!i:!s.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?i:n==="a"?i.call(r):i?i.value:s.get(r)},Xf=function(r,s,n,i,a){if(i==="m")throw new TypeError("Private method is not writable");if(i==="a"&&!a)throw new TypeError("Private accessor was defined without a setter");if(typeof s=="function"?r!==s||!a:!s.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return i==="a"?a.call(r,n):a?a.value=n:s.set(r,n),n},Jf=function(r,s){if(s===null||typeof s!="object"&&typeof s!="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof r=="function"?s===r:r.has(s)},e("__extends",Df),e("__assign",Nf),e("__rest",Hf),e("__decorate",Vf),e("__param",Rf),e("__metadata",Mf),e("__awaiter",Lf),e("__generator",_f),e("__exportStar",Of),e("__createBinding",Gi),e("__values",Ki),e("__read",vc),e("__spread",Bf),e("__spreadArrays",Kf),e("__spreadArray",Gf),e("__await",Cs),e("__asyncGenerator",zf),e("__asyncDelegator",Uf),e("__asyncValues",Wf),e("__makeTemplateObject",qf),e("__importStar",$f),e("__importDefault",Yf),e("__classPrivateFieldGet",jf),e("__classPrivateFieldSet",Xf),e("__classPrivateFieldIn",Jf)})});var Nu;(function(i){i.Available="Available",i.Failing="Failing",i.Progressing="Progressing",i.RetrievedUpdates="RetrievedUpdates",i.Invalid="Invalid",i.Upgradeable="Upgradeable"})(Nu||(Nu={}));var ml=e=>({apiVersion:e.apiVersion||"",kind:e.kind||"",metadata:e.metadata});import Hu from"lodash/defaults";import nv from"lodash/findIndex";import iv from"lodash/isPlainObject";import av from"lodash/isString";import lv from"lodash/toNumber";var dl={numeric:{units:["","k","m","b"],space:!1,divisor:1e3},decimalBytes:{units:["B","KB","MB","GB","TB","PB","EB"],space:!0,divisor:1e3},decimalBytesWithoutB:{units:["","k","M","G","T","P","E"],space:!0,divisor:1e3},binaryBytes:{units:["B","KiB","MiB","GiB","TiB","PiB"],space:!0,divisor:1024},binaryBytesWithoutB:{units:["i","Ki","Mi","Gi","Ti","Pi","Ei"],space:!0,divisor:1024},SI:{units:["","k","M","G","T","P","E"],space:!1,divisor:1e3},decimalBytesPerSec:{units:["Bps","KBps","MBps","GBps","TBps","PBps","EBps"],space:!0,divisor:1e3},packetsPerSec:{units:["pps","kpps"],space:!0,divisor:1e3},seconds:{units:["ns","\u03BCs","ms","s"],space:!0,divisor:1e3}},Vu=e=>{let t=dl[e];return iv(t)?t:{units:[],space:!1,divisor:1e3}},Ru=(e,t,o,r,s)=>{let n=r?t.indexOf(r):0,i=t.slice(n);if(s||s===""){let l=i.indexOf(s);if(l!==-1)return{value:e/o**l,unit:s}}let a=i.shift();for(;e>=o&&i.length>0;)e=e/o,a=i.shift();return{value:e,unit:a}},cv=(e,t,o)=>{let r={value:0,unit:void 0};if(typeof e!="string")return r;let s=t.slice().reverse(),n=-1,i=nv(s,function(c){let p=e.indexOf(c);return p>-1?(n=p,!0):!1});if(i<=0)return r;s=s.slice(i),e=e.substring(0,n);let a=lv(e),l=s.shift();for(;s.length>0;)a=a*o,l=s.shift();return{value:a,unit:l}},Mu=e=>e<1?3:e<100?2:1,Lu=(e,t)=>{let o=Mu(e),{locales:r,...s}=Hu(t,{maximumFractionDigits:o});return(!isFinite(e)||e===0)&&(e=0),Intl.NumberFormat(r,s).format(e)},ei=(e,t=10)=>{if(!isFinite(e))return 0;let o=Math.pow(10,t||Mu(e));return Math.round(e*o)/o},Bo=(e,t,o=!1,r,s)=>{let n=Vu(t);isFinite(e)||(e=0);let i=Ru(e,n.units,n.divisor,r,s);return o&&(i.value=ei(i.value),i=Ru(i.value,n.units,n.divisor,i.unit,s)),{string:`${Lu(i.value)}${n.space?" ":""}${i.unit||""}`,unit:i.unit,value:i.value}},fl=(e,t)=>{let o=Vu(t);return cv(e,o.units,o.divisor)},pv=(e,t)=>{let{locales:o,...r}=Hu({style:"percent"},t,{maximumFractionDigits:1});return Intl.NumberFormat(o,r).format(e)},w1=(e,t,o)=>Bo(e,"binaryBytesWithoutB",!0,t,o),D1=(e,t,o)=>Bo(e,"binaryBytes",!0,t,o),N1=(e,t,o)=>Bo(e,"decimalBytes",!0,t,o),H1=(e,t,o)=>Bo(e,"decimalBytesPerSec",!0,t,o),V1=(e,t,o)=>Bo(e,"packetsPerSec",!0,t,o),R1=(e,t,o)=>Bo(e,"numeric",!0,t,o),M1=(e,t,o)=>Bo(e,"SI",!0,t,o),L1=(e,t,o)=>Bo(e,"seconds",!0,t,o),_1=e=>{let t=e<1?ei(e*1e3):e,o=e<1?"m":"";return{string:`${Lu(t)}${o}`,unit:o,value:t}},O1=e=>((!isFinite(e)||e===0)&&(e=0),{string:pv(e/100),unit:"%",value:ei(e,1)}),gl=e=>{if(!(e===null||e.length===0)&&e.search(/\s/g)!==-1)return"white space is not allowed"},Xr=e=>{if(e<0)return"must be positive";if(!isFinite(e))return"must be a number"},uv=new Set(["m",""]),mv=(e="")=>{if(!uv.has(e))return`unrecongnized unit: ${e}`},dv=new Set(["E","P","T","G","M","k","Pi","Ti","Gi","Mi","Ki"]),fv=(e="")=>{if(!dv.has(e))return`unrecongnized unit: ${e}`},gv=new Set(["s","m","h","d","M","y"]),hv=(e="")=>{if(!gv.has(e))return`unrecongnized unit: ${e}`},B1={round:ei,humanize:Bo,dehumanize:fl},ti={split:e=>{let t=e.search(/([a-zA-Z]+)/g),o,r;return t===-1?o=e:(o=e.slice(0,t),r=e.slice(t)),[parseFloat(o),r]},CPU:(e="")=>{if(!e)return;let t=gl(e);if(t)return t;let[o,r]=ti.split(e),s=parseFloat(o||"");return r?Xr(s)||mv(r):Xr(s)},time:(e="")=>{if(!e)return;let t=gl(e);if(t)return t;let[o,r]=ti.split(e),s=parseFloat(o||"");return r?Xr(s)||hv(r):"number and unit required"},memory:(e="")=>{if(!e)return;let t=gl(e);if(t)return t;let[o,r]=ti.split(e),s=parseFloat(o||"");return r?Xr(s)||fv(r):Xr(parseFloat(e))}},_u=e=>{if(!av(e))return null;let[t,o]=ti.split(e),r=parseFloat(t||"");return Xr(r)?null:o?o==="m"?r/1e3:dl.binaryBytesWithoutB.units.includes(o)?fl(e,"binaryBytesWithoutB").value:dl.decimalBytesWithoutB.units.includes(o)?fl(e,"decimalBytesWithoutB").value:null:r},K1=e=>{let t=Number(e);return Number.isFinite(t)?t*1e3**3:0},hl=(e,t)=>Intl.NumberFormat(void 0,{minimumFractionDigits:t,maximumFractionDigits:t}).format(e),G1=e=>{let t=e/1024/1024;return hl(t,1)},z1=e=>{let t=e/1024/1024/1024;return hl(t,2)},U1=e=>hl(e,3);import Bu from"lodash/values";import Cv from"lodash/keys";import Ku from"lodash/reduce";import yv from"lodash/camelCase";var te=e=>{let t;if(e)try{let o=e.replace(/"([\w-]+)":/g,(r,s)=>`"${yv(s)}":`);t=JSON.parse(o)}catch(o){console.error("Failed to parse api string",o,e)}else console.info("Empty api string received.");return t},Ou=(e="")=>e.replace(/^(http|https):\/\//,"");var Gu=({validationId:e,hostGroup:t,clusterGroup:o},r)=>Cv(r).find(n=>{let{cluster:i,host:a}=r[n];return i.validationIds.includes(e)||a.validationIds.includes(e)||o&&i.groups.includes(o)||t&&a.groups.includes(t)}),Sv=(e,t)=>{let o=Bu(e).flat().filter(r=>r&&t.includes(r.id));return o.length===t.length&&o.every(r=>r?.status==="disabled"||r?.status==="success")},bv=(e,t,o)=>t.every(r=>e[r]?.every(s=>s.status==="disabled"||s.status==="success"||o.includes(s.id))),yl=(e,t)=>{let o=Bu(e).flat().filter(r=>r&&t.includes(r.id));return o.length===t.length&&o.every(r=>r?.status==="disabled"||r?.status==="success")},vv=(e,t,o)=>t.every(r=>e[r]?.every(s=>s.status==="disabled"||s.status==="success"||o.includes(s.id))),Cl=(e,t,o)=>{let{groups:r,validationIds:s}=o[t].host;return Ku(e,(n,i,a)=>{if(r.includes(a))return n[a]=i,n;let l=(i||[]).filter(c=>s.includes(c.id));return l.length&&(n[a]=l),n},{})},Sl=(e,t,o)=>{let{status:r}=o;if(["insufficient","pending-for-input"].includes(r)){let{softValidationIds:s}=t[e],n=(typeof o.validationsInfo=="string"?te(o.validationsInfo):o.validationsInfo)||{},{groups:i,validationIds:a}=t[e].host;return vv(n,i,s)&&yl(n,a)?"known":r}return r},zu=(e,t,o)=>{let{groups:r,validationIds:s}=o[t].cluster;return Ku(e,(n,i,a)=>{if(r.includes(a))return n[a]=i,n;let l=(i||[]).filter(c=>s.includes(c.id));return l.length&&(n[a]=l),n},{})},oi=(e,t,o,r=[])=>{let{status:s}=o;if(["insufficient","pending-for-input"].includes(s)){let n=(typeof o.validationsInfo=="string"?te(o.validationsInfo):o.validationsInfo)||{},{groups:i,validationIds:a}=t[e].cluster,{softValidationIds:l}=t[e],{allowedStatuses:c}=t[e].host;return r.every(u=>c.length===0||c.includes(Sl(e,t,u)))&&bv(n,i,l)&&Sv(n,a)?"ready":s}return s},Uu=e=>Object.keys(e).reduce((t,o)=>[...t,...e[o].softValidationIds],[]),Iv=e=>Object.keys(e).reduce((t,o)=>{let r=e[o].filter(s=>s.status==="failure");return[...t,...r]},[]),Wu=(e,t,o)=>{let r=Cl(e,t,o),s=Iv(r).map(n=>n.id);if(!s.length)return!1;for(let n of s)if(!o[t].softValidationIds.includes(n))return!1;return!0};var Tv={cluster:{groups:[],validationIds:["pull-secret-set","dns-domain-defined"]},host:{allowedStatuses:[],groups:[],validationIds:[]},softValidationIds:[]},qu={cluster:{groups:[],validationIds:["sufficient-masters-count","odf-requirements-satisfied","lso-requirements-satisfied","cnv-requirements-satisfied"]},host:{allowedStatuses:["known","known-unbound","disabled"],groups:["hardware"],validationIds:["connected","odf-requirements-satisfied","lso-requirements-satisfied","cnv-requirements-satisfied"]},softValidationIds:[]},xv={cluster:{groups:["network"],validationIds:[]},host:{allowedStatuses:["known","disabled"],groups:["network"],validationIds:[]},softValidationIds:["ntp-synced","container-images-available"]},kv={cluster:{groups:[],validationIds:["all-hosts-are-ready-to-install"]},host:{allowedStatuses:["known","disabled"],groups:[],validationIds:[]},softValidationIds:[]},to={"cluster-details":Tv,"hosts-discovery":qu,"hosts-selection":qu,networking:xv,review:kv},$u=Uu(to),ri=(e,t,o)=>{let r=e?.status?.debugInfo?.state,s=e?.status?.validationsInfo,n=t.reduce((i,a)=>{let l=a.status?.debugInfo?.state;return l&&i.push({status:l,validationsInfo:a.status?.validationsInfo}),i},[]);return r?oi(o,to,{status:r,validationsInfo:s||{}},n)==="ready":!1},Yu=(e,t)=>ri(e,t,"hosts-selection"),ju=(e,t)=>ri(e,t,"hosts-discovery"),Xu=(e,t)=>ri(e,t,"networking"),Ju=(e,t)=>ri(e,t,"review");import{createElement as ah}from"react";import{ConnectedIcon as CN,ExclamationCircleIcon as SN}from"@patternfly/react-icons";import{global_danger_color_100 as bN}from"@patternfly/react-tokens";import Av from"react";window.Fragment=Av.Fragment;import Pv from"lodash/isString";var U=e=>e instanceof Error?e.message:Pv(e)?e:"Unexpected error",Zu=e=>Array(e+1).join((Math.random().toString(36)+"00000000000000000").slice(2,18)).slice(0,e);import{createElement as dr,forwardRef as $v}from"react";import{useField as Kv}from"formik";import{FormGroup as Gv,HelperTextItem as zv,Split as Uv,SplitItem as om,TextInput as Wv}from"@patternfly/react-core";import{Address4 as Ev}from"ip-address";import Fv from"lodash/set";import wv from"lodash/groupBy";import Dv from"lodash/pickBy";var M=(e,t,o)=>(o=o?`${o}-`:"",`form-${t}-${e.replace(/\./g,"-")}-${o}field`),Fr=e=>e.split(`
|
|
2
|
-
`).map(t=>t.trim()).filter(Boolean).join(`
|
|
3
|
-
`),po=e=>e.split(",").map(t=>t.trim()).filter(Boolean).join(","),Qu=(e,t)=>Object.keys(e).filter(o=>t[o]),si=e=>e.find(t=>t.default)?.value||e[0]?.value||"",em=e=>e.reduce((o,r)=>{let s=r.split("=");return o[s[0]]=s[1],o},{}),Nv=e=>e.reduce((t,{path:o,message:r})=>({...t,[o]:(t[o]||[]).concat(r)}),{}),dq=e=>{let t=Dv(wv(e),o=>o.length>1);return Object.keys(t)},Ut=e=>async t=>{try{await e.validate(t,{abortEarly:!1})}catch(o){let{inner:r}=o;if(!r||r.length===0)return{};let s=[],n=[];r.forEach(l=>{/\.|\[/.test(l.path)?n.push(l):s.push(l)});let i=Nv(s);if(n.length===0)return i;let a={};return n.forEach(l=>{Fv(a,l.path,[l.message])}),{...i,...a}}},fq=(e,t)=>`${e}[${t}]`,gq=(e,t)=>`${e}.${t}`,tm=e=>!!e?.every(t=>t.cidr&&Ev.isValid(t.cidr)),hq=(e={})=>{let t=[];for(let o in e)t.push(`${o}=${e[o]}`);return t};import Hv from"react";import{css as Vv}from"@patternfly/react-styles";var Rv=({fieldId:e,children:t,isError:o=!1})=>Hv.createElement("div",{className:Vv("pf-c-form__helper-text",{"pf-m-error":o}),id:`${e}-helper`,"aria-live":"polite"},t),K=Rv;import{useEffect as Bv,useState as Ov}from"react";import{useField as Mv}from"formik";var Lv=e=>Array.isArray(e)?e.join(". "):e,_v=({name:e,inputError:t,validate:o})=>{let[r,{error:s}]=Mv({name:e,validate:o}),[n,i]=Ov(!1);Bv(()=>{r.value&&i(r.value)},[r.value,i]);let a=r.value||!r.value&&n;return Lv((a?s:"")||t)},Jr=_v;var qv=$v(({label:e,labelIcon:t,helperText:o,isRequired:r,onChange:s,validate:n,idPostfix:i,children:a,noDefaultOnChange:l,inputError:c,description:p,labelInfo:u,showErrorMessage:m=!0,...f},g)=>{let[C]=Kv({name:f.name,validate:n}),h=M(f.name,"input",i),S=Jr({name:f.name,inputError:c,validate:n}),v=!S;return dr(Gv,{fieldId:h,label:e,helperText:typeof o=="string"?o:dr(K,{fieldId:h},o),helperTextInvalid:m?S:void 0,validated:v?"default":"error",isRequired:r,labelIcon:t,labelInfo:u},p&&dr(K,{fieldId:h},dr(zv,{variant:"indeterminate"},p)),dr(Uv,null,dr(om,{isFilled:!0},dr(Wv,{...C,...f,ref:g,id:h,validated:v?"default":"error",isRequired:r,"aria-describedby":`${h}-helper`,onChange:(y,b)=>{f.isDisabled||(!l&&C.onChange(b),s&&s(b))}})),dr(om,null,a)))}),X=qv;import{createElement as bl}from"react";import{useField as Yv}from"formik";import{Checkbox as jv,FormGroup as Xv}from"@patternfly/react-core";var Jv=({label:e,helperText:t,onChange:o,validate:r,idPostfix:s,...n})=>{let[i,{touched:a,error:l}]=Yv({name:n.name,validate:r}),c=M(n.name,"checkbox",s),p=!(a&&l);return bl(Xv,{fieldId:c,helperTextInvalid:p?"":l,validated:p?"default":"error"},bl(jv,{...i,...n,id:c,label:e,"aria-describedby":`${c}-helper`,description:typeof t=="string"?t:bl(K,{fieldId:c},t),isValid:p,isChecked:i.value,onChange:(m,f)=>{i.onChange(f),o&&o(m,f)}}))},Dt=Jv;import{createElement as ni}from"react";import{useField as Zv}from"formik";import{FormGroup as Qv,TextArea as eI}from"@patternfly/react-core";var tI=({label:e,helperText:t,getErrorText:o,isRequired:r,children:s,idPostfix:n,labelIcon:i,groupClassName:a,...l})=>{let[c,{touched:p,error:u}]=Zv(l.name),m=M(l.name,"input",n),f=!(p&&u),C=(()=>!f&&u?o?o(u):u:"")(),{isDisabled:h,...S}=l;return ni(Qv,{fieldId:m,label:e,helperText:typeof t=="string"?t:ni(K,{fieldId:m},t),helperTextInvalid:typeof C=="string"?C:ni(K,{fieldId:m,isError:!0},C),validated:f?"default":"error",isRequired:r,labelIcon:i,className:a},s,ni(eI,{...c,...S,id:m,style:{resize:"vertical"},validated:f?"default":"error",isRequired:r,"aria-describedby":`${m}-helper`,onChange:(v,y)=>c.onChange(y),disabled:h}))},Ko=tI;import{createElement as ii}from"react";import{useField as oI}from"formik";import{FormGroup as rI,FormSelect as sI,FormSelectOption as nI}from"@patternfly/react-core";var iI=({label:e,options:t,helperText:o,isRequired:r,onChange:s,getHelperText:n,idPostfix:i,labelIcon:a,callFormikOnChange:l=!0,...c})=>{let[p,{touched:u,error:m}]=oI(c.name),f=M(c.name,"input",i),g=!(u&&m),C=g?"":m,h=n?n(p.value):o;return ii(rI,{fieldId:f,label:e,helperText:typeof h=="string"?h:ii(K,{fieldId:f},h),helperTextInvalid:C,validated:g?"default":"error",isRequired:r,labelIcon:a},ii(sI,{...p,...c,id:f,validated:g?"default":"error",isRequired:r,"aria-describedby":`${f}-helper`,onChange:(S,v)=>{l&&p.onChange(v),s&&s(v)}},t.map((S,v)=>ii(nI,{key:S.id||v,...S}))))},wr=iI;import Zr from"react";import{useField as lI}from"formik";import cI from"fuse.js";import{FormGroup as pI,Select as uI,SelectOption as mI,SelectVariant as dI}from"@patternfly/react-core";import{useTranslation as aI}from"react-i18next";function d(){return aI(process.env.TRANSLATION_NAMESPACE)}var fI=({label:e,options:t,helperText:o,placeholderText:r,isRequired:s,onChange:n,getHelperText:i,idPostfix:a,labelIcon:l,...c})=>{let[p,u]=Zr.useState(!1),[m,{touched:f,error:g},{setValue:C}]=lI(c.name),h=M(c.name,"multiinput",a),S=!(f&&g),v=S?"":g,y=i?i(m.value):o,b=P=>u(P),I=()=>{C([]),n&&n([]),u(!1)},T=(P,R)=>{let ee=m.value,O=R.value||R,_;ee.includes(O)?_=ee.filter(w=>w!==O):_=[...m.value,O],C(_),n&&n(_)},x=m.value.map(P=>{let R=t.find(ee=>ee.value===P);return R?{value:R.value,toString:()=>R.displayName,compareTo:ee=>ee.value===P}:P}),k=t.filter(P=>!(m.value||[]).includes(P.value)).map(P=>Zr.createElement(mI,{key:P.id,id:P.id,value:P.value},P.displayName)),A=new cI(t,{ignoreLocation:!0,keys:["displayName"]}),{t:H}=d();return Zr.createElement(pI,{fieldId:h,label:e,helperText:typeof y=="string"?y:Zr.createElement(K,{fieldId:h},y),helperTextInvalid:v,validated:S?"default":"error",isRequired:s,labelIcon:l},Zr.createElement(uI,{...m,...c,id:h,variant:dI.typeaheadMulti,typeAheadAriaLabel:H("ai:Select a state"),validated:S?"default":"error","aria-describedby":`${h}-helper`,isCreatable:!1,placeholderText:r,isOpen:p,onToggle:b,onSelect:T,onClear:I,selections:x,onFilter:(P,R)=>{if(!R||R==="")return k;let ee=A.search(R).map(O=>O.item.id);return Zr.Children.toArray(k).filter(({props:O})=>ee.includes(O.id))}},k))},Bs=fI;import{createElement as ai}from"react";import{FormGroup as gI,Button as rm}from"@patternfly/react-core";var hI=({isSet:e,isEdit:t,helperTextHidden:o,onToggle:r,idPostfix:s,...n})=>{let{label:i,name:a}=n,l=M(a,"input",s);return t?ai(Ko,{...n},e&&ai(rm,{onClick:()=>r(!0),variant:"link"},"Keep existing value")):ai(gI,{fieldId:l,label:i,helperText:o,isRequired:n.isRequired},ai(rm,{onClick:()=>r(!1),variant:"link"},"Change"))},yI=hI;import{createElement as li,useState as sm}from"react";import{useField as CI}from"formik";import{FormGroup as SI,FileUpload as bI}from"@patternfly/react-core";var vI=({label:e,labelIcon:t,helperText:o,getErrorText:r,isRequired:s,children:n,idPostfix:i,isDisabled:a,name:l,onBlur:c,allowEdittingUploadedText:p=!0,dropzoneProps:u,transformValue:m})=>{let{t:f}=d(),[g,C]=sm(),[h,S]=sm(!1),[v,{touched:y,error:b},I]=CI(l),T=M(l,"input",i),x=!((y||g)&&b),A=(()=>!x&&b?r?r(b):b:"")();return li(SI,{fieldId:T,label:e,helperText:typeof o=="string"?o:li(K,{fieldId:T},o),helperTextInvalid:typeof A=="string"?A:li(K,{fieldId:T,isError:!0},A),validated:x?"default":"error",isRequired:s,labelIcon:t},n,li(bI,{filenamePlaceholder:f("ai:Drag a file here or browse to upload"),browseButtonText:f("ai:Browse..."),clearButtonText:f("ai:Clear"),id:v.name,style:{resize:"vertical"},validated:x?"default":"error",isRequired:s,"aria-describedby":`${T}-helper`,type:"text",value:v.value,filename:g,onChange:(H,P)=>{C(P),I.setTouched(!0),m&&typeof H=="string"?I.setValue(m(H)):I.setValue(H)},onBlur:H=>{v.onBlur(H),c&&c(H)},onReadStarted:()=>S(!0),onReadFinished:()=>S(!1),isLoading:h,disabled:a,dropzoneProps:{...u,onDropRejected:u?.onDropRejected&&u?.onDropRejected(I)},allowEditingUploadedText:p}))},vl=vI;import{createElement as Gs}from"react";import{useField as II}from"formik";import{FormGroup as TI,Switch as nm,Tooltip as xI}from"@patternfly/react-core";var kI=({label:e,helperText:t,isRequired:o,onChange:r,onChangeCustomOverride:s,getHelperText:n,idPostfix:i,labelIcon:a,tooltipProps:l,switchOuiaId:c,...p})=>{let[u,{touched:m,error:f}]=II(p.name),g=M(p.name,"input",i),C=!(m&&f),h=C?"":f,S=n?n(u.value):t,v={...u,id:g,label:e,isDisabled:p.isDisabled,isChecked:Boolean(u.value),hasCheckIcon:Boolean(u.value),ouiaId:c,onChange:(y,b)=>{s?s(y,b):(u.onChange(b),r&&r(y,b))}};return Gs(TI,{fieldId:g,helperText:typeof S=="string"?S:Gs(K,{fieldId:g},S),helperTextInvalid:h,validated:C?"default":"error",isRequired:o,labelIcon:a},l?Gs(xI,{...l},Gs(nm,{...v})):Gs(nm,{...v}))},Ks=kI;import Go from"react";import{shallowEqual as im}from"react-redux";import am from"lodash/debounce";import{useFormikContext as lm}from"formik";var AI=(e=1e3)=>{let[t,o]=Go.useState([]),{values:r,isSubmitting:s,submitForm:n}=lm(),i=Go.useRef(r),a=Go.useRef(am(async l=>{await n(),o(c=>c.filter(p=>p>l))},e));return Go.useEffect(()=>{if(!im(i.current,r)&&!s){let l=Date.now();o(c=>(c.push(l),c)),a.current(l)}s||(i.current=r)},[r,s,o]),Go.useEffect(()=>{let l=a.current;return()=>l.cancel()},[]),!!t.length},PI=({debounce:e=1e3})=>{let{values:t,dirty:o,isSubmitting:r,submitForm:s}=lm(),n=Go.useRef(t),i=Go.useRef(am(s,e));return Go.useEffect(()=>{!im(n.current,t)&&o&&!r&&i.current(),r||(n.current=t)},[t,o,r]),Go.useEffect(()=>{let a=i.current;return()=>a.cancel()},[]),null},Il=PI;import ce from"react";import{ExternalLinkAltIcon as Pm}from"@patternfly/react-icons";var cm="https://access.redhat.com/support/policy/updates/openshift#dates",pm="https://docs.openshift.com/container-platform/4.7/installing/installing_bare_metal/installing-bare-metal.html#installation-network-user-infra_installing-bare-metal",Tl="https://console.redhat.com/openshift/install/pull-secret",um=Tl;var mm=()=>"https://issues.redhat.com/secure/CreateIssue!default.jspa?pid=12332330&issuetype=1&components=12370775";var dm="https://access.redhat.com/support/offerings/techpreview";var fm=e=>`${e}/k8s/cluster/nodes`;var gm="https://www.redhat.com/sysadmin/configure-ssh-keygen";var hm="https://docs.openshift.com/container-platform/4.11/installing/installing_platform_agnostic/installing-platform-agnostic.html#installation-approve-csrs_installing-platform-agnostic";var N$=10*1e3,ym=10*1e3,Qr=e=>[{value:"auto-assign",label:e("ai:Auto-assign"),description:e("ai:A role will be chosen automatically based on detected hardware and network latency.")},{value:"master",label:e("ai:Control plane node"),description:e("ai:Runs the control plane components of OpenShift, including the API server.")},{value:"worker",label:e("ai:Worker"),description:e("ai:Runs application workloads. Connect at least 5 hosts to enable dedicated workers.")}],Cm=e=>({"pending-for-input":e("ai:Draft"),insufficient:e("ai:Draft"),ready:e("ai:Draft"),"preparing-for-installation":e("ai:Preparing for installation"),installing:e("ai:Installing"),"installing-pending-user-action":e("ai:Installing (pending action)"),finalizing:e("ai:Finalizing"),cancelled:e("ai:Installation cancelled"),error:e("ai:Error"),installed:e("ai:Installed"),"adding-hosts":e("ai:Adding hosts")}),Sm=e=>({name:e("ai:Cluster name"),baseDnsDomain:e("ai:Base domain"),clusterNetworkCidr:e("ai:Cluster network CIDR"),clusterNetworkHostPrefix:e("ai:Cluster network host prefix"),serviceNetworkCidr:e("ai:Service network CIDR"),apiVip:e("ai:API IP"),ingressVip:e("ai:Ingress IP"),pullSecret:e("ai:Pull secret"),sshPublicKey:e("ai:SSH public key"),SNODisclaimer:e("ai:Single Node OpenShift disclaimer"),diskEncryptionTangServers:e("ai:Tang servers' URLs or thumbprints"),selectedHostIds:e("ai:Hosts selection"),httpProxy:e("ai:HTTP proxy"),httpsProxy:e("ai:HTTPS proxy"),noProxy:e("ai:No proxy"),machineNetworks:e("ai:Machine networks"),clusterNetworks:e("ai:Cluster networks"),serviceNetworks:e("ai:Service networks")}),bm=e=>({hardware:e("ai:Hardware"),network:e("ai:Network"),operators:e("ai:Operators"),infrastructure:e("ai:Infrastructure")}),es=e=>({"compatible-with-cluster-platform":e("ai:Compatible with cluster platform"),"has-default-route":e("ai:Default route to host"),"sufficient-network-latency-requirement-for-role":e("ai:Network latency"),"sufficient-packet-loss-requirement-for-role":e("ai:Packet loss"),"has-inventory":e("ai:Hardware information"),"has-min-cpu-cores":e("ai:Minimum CPU cores"),"has-min-memory":e("ai:Minimum Memory"),"has-min-valid-disks":e("ai:Minimum disks of required size"),"has-cpu-cores-for-role":e("ai:Minimum CPU cores for selected role"),"has-memory-for-role":e("ai:Minimum memory for selected role"),"hostname-unique":e("ai:Unique hostname"),"hostname-valid":e("ai:Valid hostname"),connected:e("ai:Connected"),"media-connected":e("ai:Media Connected"),"machine-cidr-defined":e("ai:Machine CIDR"),"belongs-to-machine-cidr":e("ai:Belongs to machine CIDR"),"ignition-downloadable":e("ai:Ignition file downloadable"),"belongs-to-majority-group":e("ai:Belongs to majority connected group"),"valid-platform-network-settings":e("ai:Platform network settings"),"ntp-synced":e("ai:NTP synchronization"),"container-images-available":e("ai:Container images availability"),"lso-requirements-satisfied":e("ai:LSO requirements"),"ocs-requirements-satisfied":e("ai:OCS requirements"),"odf-requirements-satisfied":e("ai:ODF requirements"),"lvm-requirements-satisfied":e("ai:LVM requirements"),"cnv-requirements-satisfied":e("ai:CNV requirements"),"disk-encryption-requirements-satisfied":e("ai:Disk encryption requirements"),"sufficient-installation-disk-speed":e("ai:Installation disk speed"),"api-domain-name-resolved-correctly":e("ai:API domain name resolution"),"api-int-domain-name-resolved-correctly":e("ai:API internal domain name resolution"),"apps-domain-name-resolved-correctly":e("ai:Application ingress domain name resolution"),"dns-wildcard-not-configured":e("ai:DNS wildcard not configured"),"non-overlapping-subnets":e("ai:Non overlapping subnets"),"vsphere-disk-uuid-enabled":e("ai:Vsphere disk uuid enabled"),"compatible-agent":e("ai:Agent compatibility"),"no-skip-installation-disk":e("ai:No skip installation disk"),"no-skip-missing-disk":e("ai:No skip missing disk"),"service-has-sufficient-spoke-kube-api-access":e("ai:Service has sufficient spoke kube api access")}),zs=e=>({"compatible-with-cluster-platform":"","has-default-route":"","sufficient-network-latency-requirement-for-role":"","sufficient-packet-loss-requirement-for-role":"","has-inventory":"","has-min-cpu-cores":"","has-min-memory":"","has-min-valid-disks":"","has-cpu-cores-for-role":"","has-memory-for-role":"","hostname-unique":"","hostname-valid":"",connected:"","media-connected":"","machine-cidr-defined":"","belongs-to-machine-cidr":"","ignition-downloadable":"","belongs-to-majority-group":"","valid-platform-network-settings":"","ntp-synced":e("ai:Please manually fix host's NTP configuration or provide additional NTP sources."),"container-images-available":"","lso-requirements-satisfied":"","ocs-requirements-satisfied":"","odf-requirements-satisfied":"","lvm-requirements-satisfied":"","cnv-requirements-satisfied":"","disk-encryption-requirements-satisfied":"","sufficient-installation-disk-speed":"","api-domain-name-resolved-correctly":"","api-int-domain-name-resolved-correctly":"","apps-domain-name-resolved-correctly":"","dns-wildcard-not-configured":"","non-overlapping-subnets":"","vsphere-disk-uuid-enabled":"","compatible-agent":"","no-skip-installation-disk":"","no-skip-missing-disk":"","service-has-sufficient-spoke-kube-api-access":""}),vm=e=>({"network-type-valid":e("ai:Valid network type"),"machine-cidr-defined":e("ai:Machine CIDR"),"cluster-cidr-defined":e("ai:Cluster CIDR"),"service-cidr-defined":e("ai:Service CIDR"),"no-cidrs-overlapping":e("ai:No overlapping CIDR"),"networks-same-address-families":e("ai:Networks same address families"),"network-prefix-valid":e("ai:Valid network prefix"),"machine-cidr-equals-to-calculated-cidr":e("ai:Machine CIDR conforms expected"),"api-vip-defined":e("ai:API IP"),"api-vip-valid":e("ai:API IP validity"),"ingress-vip-defined":e("ai:Ingress IP"),"ingress-vip-valid":e("ai:Ingress IP validity"),"all-hosts-are-ready-to-install":e("ai:All hosts are ready to install"),"sufficient-masters-count":e("ai:Control plane nodes count"),"dns-domain-defined":e("ai:DNS domain"),"pull-secret-set":e("ai:Pull secret"),"ntp-server-configured":e("ai:NTP server"),"lso-requirements-satisfied":e("ai:LSO requirements"),"ocs-requirements-satisfied":e("ai:OCS requirements"),"odf-requirements-satisfied":e("ai:ODF requirements"),"lvm-requirements-satisfied":e("ai:LVM requirements"),"cnv-requirements-satisfied":e("ai:CNV requirements")}),Im=e=>({configuration:e("ai:General configuration"),hostsData:e("ai:Hosts"),"hosts-data":e("ai:Hosts"),network:e("ai:Networking"),operators:e("ai:Operators")}),Tm={clusterNetworkCidr:"10.128.0.0/14",clusterNetworkHostPrefix:23,serviceNetworkCidr:"172.30.0.0/16"};var xm=["info","warning","error","critical"],ci="0001-01-01T00:00:00.000Z",km=1e3*60*60*24,Re="NO_SUBNET_SET",ts="OVNKubernetes",pi="OpenShiftSDN";var xl={IPv6:128,IPv4:25},ui=e=>({none:e("ai:None"),install:e("ai:Installation disk")}),EI="cnv",FI="lso",wI="odf",DI="lvm",NI="cvo",HI="console",Am=e=>({[HI]:e("ai:OpenShift Console"),[NI]:e("ai:OpenShift Cluster Version Operator"),[FI]:e("ai:OpenShift Local Storage"),[wI]:e("ai:OpenShift Data Foundation"),[DI]:e("ai:OpenShift Data Foundation Logical Volume Manager"),[EI]:e("ai:OpenShift Virtualization")}),mi="https://docs.openshift.com/container-platform/latest/scalability_and_performance/ztp-deploying-disconnected.html#ztp-configuring-a-static-ip_ztp-deploying-disconnected";import kl from"react";import VI from"classnames";import{Button as RI,Popover as MI}from"@patternfly/react-core";import{OutlinedQuestionCircleIcon as LI}from"@patternfly/react-icons";var _I=({component:e,variant:t="plain",IconComponent:o=LI,noVerticalAlign:r=!1,buttonClassName:s,buttonOuiaId:n,...i})=>kl.createElement(MI,{...i},kl.createElement(RI,{component:e,variant:t,onClick:a=>a.preventDefault(),className:VI("pf-c-form__group-label-help","pf-u-p-0",s),ouiaId:n},kl.createElement(o,{noVerticalAlign:r}))),Y=_I;import{Trans as Em}from"react-i18next";var Al=({isOcm:e})=>{let{t}=d();return ce.createElement(Y,{noVerticalAlign:!0,bodyContent:ce.createElement(ce.Fragment,null,ce.createElement(Em,{t},"ai:Pull secrets are used to download OpenShift Container Platform components and connect clusters to a Red Hat account."," "),e?ce.createElement(wm,null):ce.createElement(ce.Fragment,null,ce.createElement(Em,{t},"ai:Pull secrets can be found in")," ",ce.createElement(Fm,null)))})},Fm=()=>{let{t:e}=d();return ce.createElement("a",{href:Tl,target:"_blank",rel:"noopener noreferrer"},e("ai:OpenShift Cluster Manager")," ",ce.createElement(Pm,null))},wm=()=>{let{t:e}=d();return ce.createElement("a",{href:um,target:"_blank",rel:"noopener noreferrer"},e("ai:Learn more about pull secrets and view examples")," ",ce.createElement(Pm,null),".")},Dm=({isOcm:e})=>{let{t}=d();return e?ce.createElement(wm,null):ce.createElement(ce.Fragment,null,t("ai:A Red Hat account's pull secret can be found in "),"\xA0",ce.createElement(Fm,null))},OI=({isOcm:e})=>{let{t}=d();return ce.createElement(Ko,{name:"pullSecret",label:t("ai:Pull secret"),labelIcon:e?void 0:ce.createElement(Al,{isOcm:e}),getErrorText:o=>ce.createElement(ce.Fragment,null,o," ",ce.createElement(Dm,{isOcm:e})),helperText:ce.createElement(Dm,{isOcm:e}),rows:10,isRequired:!0})},fr=OI;import BI from"react";import{useField as KI}from"formik";import{Radio as GI}from"@patternfly/react-core";var zI=({callFormikOnChange:e=!0,name:t,value:o,onChange:r,...s})=>{let[n]=KI({name:t,value:o,type:"radio"}),i=M(t,"radio",n.value);return BI.createElement(GI,{...n,...s,id:i,isChecked:!!n.checked,onChange:(a,l)=>{r?.(a,l),e&&n.onChange(l)}})},pe=zI;import{Fragment as iT,createElement as os,useCallback as sT,useEffect as nT,useRef as rT}from"react";import{useField as JI,useFormikContext as ZI}from"formik";import{Checkbox as QI,FormGroup as eT,Tooltip as tT}from"@patternfly/react-core";import Pl from"react";var oY={ASSISTED_INSTALLER_SNO_FEATURE:!0,ASSISTED_INSTALLER_OCS_FEATURE:!1,ASSISTED_INSTALLER_ODF_FEATURE:!1,ASSISTED_INSTALLER_CNV_FEATURE:!1,ASSISTED_INSTALLER_NETWORK_TYPE_SELECTION_FEATURE:!1,ASSISTED_INSTALLER_PLATFORM_INTEGRATION_FEATURE:!1},rY={ASSISTED_INSTALLER_SNO_FEATURE:!1,ASSISTED_INSTALLER_OCS_FEATURE:!1,ASSISTED_INSTALLER_ODF_FEATURE:!1,ASSISTED_INSTALLER_CNV_FEATURE:!1,ASSISTED_INSTALLER_NETWORK_TYPE_SELECTION_FEATURE:!1,ASSISTED_INSTALLER_PLATFORM_INTEGRATION_FEATURE:!1},sY={ASSISTED_INSTALLER_SNO_FEATURE:!0,ASSISTED_INSTALLER_OCS_FEATURE:!0,ASSISTED_INSTALLER_ODF_FEATURE:!0,ASSISTED_INSTALLER_CNV_FEATURE:!0,ASSISTED_INSTALLER_NETWORK_TYPE_SELECTION_FEATURE:!0,ASSISTED_INSTALLER_PLATFORM_INTEGRATION_FEATURE:!0},Nm=Pl.createContext({isFeatureEnabled:()=>!1}),nY=({features:e,children:t})=>{let o={ASSISTED_INSTALLER_OCS_FEATURE:!1,ASSISTED_INSTALLER_ODF_FEATURE:!1,ASSISTED_INSTALLER_CNV_FEATURE:!1,...e},r=s=>!!o[s];return Pl.createElement(Nm.Provider,{value:{isFeatureEnabled:r}},t)},di=e=>{let{isFeatureEnabled:t}=Pl.useContext(Nm);return t(e)};import Dl from"react";var Ae;(function(s){s.x86="x86_64",s.ARM="arm64",s.DAY1_CLUSTER_USES_MULTI="multi",s.USE_DAY1_ARCHITECTURE="cluster-day1-cpu-architecture"})(Ae||(Ae={}));var Hm;(function(r){r.x86="amd64",r.ARM="arm64",r.MULTI="multi"})(Hm||(Hm={}));var cY=[Ae.x86,Ae.ARM],Vm=["vsphere","nutanix"],pY=["baremetal","none"];var Rm=e=>e==="dev-preview"||e==="tech-preview";function Mm(e){return typeof e=="object"&&e!==null}function Lm(e,t){return t in e}var _m;(function(n){n.LOADING="LOADING",n.RELOADING="RELOADING",n.ERROR="ERROR",n.EMPTY="EMPTY",n.LOADED="LOADED"})(_m||(_m={}));import oo from"react";import{Label as $I,Popover as YI}from"@patternfly/react-core";import{InfoCircleIcon as jI}from"@patternfly/react-icons";import Om from"react";import{Text as UI}from"@patternfly/react-core";import{ExternalLinkAltIcon as WI}from"@patternfly/react-icons";var qI=({href:e,children:t,onClick:o})=>Om.createElement(UI,{component:"a",href:e,onClick:o,target:"_blank",rel:"noopener noreferrer"},t||e," ",Om.createElement(WI,{color:"rgb(0, 123, 186)"})),lt=qI;var Us;(function(r){r[r.default=0]="default",r[r.inline=1]="inline",r[r.inlineRight=2]="inlineRight"})(Us||(Us={}));var Bm=({position:e=1,className:t="pf-u-ml-md",text:o,popoverText:r,externalLink:s,testId:n})=>{let i=t,{t:a}=d();switch(e){case 2:i+=" pf-u-float-right";break;case 1:i+=" pf-u-display-inline";break}let l=oo.createElement(oo.Fragment,null,oo.createElement("div",{style:{marginBottom:"var(--pf-global--spacer--sm)"}},r),s&&oo.createElement(oo.Fragment,null,oo.createElement(lt,{href:s},a("ai:Learn more"))));return oo.createElement(YI,{bodyContent:l,position:"top"},oo.createElement($I,{style:{cursor:"pointer"},color:"orange",onClick:c=>c.preventDefault(),icon:oo.createElement(jI,{color:"var(--pf-c-label__content--Color)"}),className:i,"data-testid":`${n}`},o))},El=e=>{let{t}=d();return oo.createElement(Bm,{text:t("ai:Developer Preview"),popoverText:t("ai:Developer preview features are not intended to be used in production environments. The clusters deployed with the developer preview features are considered to be development clusters and are not supported through the Red Hat Customer Portal case management system."),...e})};El.displayName="DeveloperPreview";var Fl=e=>{let{t}=d();return oo.createElement(Bm,{text:t("ai:Technology Preview"),popoverText:t("ai:Technology preview features provide early access to upcoming product innovations, enabling you to test functionality and provide feedback during the development process."),externalLink:dm,...e})};Fl.displayName="TechnologyPreview";import wl from"react";var Km=wl.createContext(null),Gm=({value:e,children:t})=>wl.createElement(Km.Provider,{value:e},t),uo=()=>{let e=wl.useContext(Km),{t}=d();if(!e)throw new Error(t("ai:useFeatureSupportLevel must be used within FeatureSupportLevelContextProvider."));return e};var XI=({featureId:e,openshiftVersion:t})=>{let o=uo(),r=Dl.useMemo(()=>{if(!!t)return o.getFeatureSupportLevel(t,e)},[t,e,o]);if(!Rm(r))return null;let s=`${e}-support-level`;return r==="tech-preview"?Dl.createElement(Fl,{testId:s}):Dl.createElement(El,{testId:s})},Dr=XI;var oT=({versions:e,validate:t,idPostfix:o,...r})=>{let{values:{openshiftVersion:s}}=ZI(),n=di("ASSISTED_INSTALLER_SNO_FEATURE"),[i,a,l]=JI({name:r.name,validate:t}),c=uo(),p=rT(s),u=M(r.name,"input",o),{t:m}=d(),{value:f}=a,{setValue:g}=l,C=!!e.find(v=>c.isFeatureSupported(v.value,"SNO")),h=sT(v=>g(v?"None":"Full"),[g]),S=c.getFeatureDisabledReason(s,"SNO",m);return nT(()=>{p.current!==s&&!c.isFeatureSupported(s,"SNO")&&h(!1),p.current=s},[s,h,c]),n&&C?os(eT,{isInline:!0,fieldId:u},os(tT,{hidden:!S,content:S},os(QI,{...i,...r,id:u,label:os(iT,null,m("ai:Install single node OpenShift (SNO)"),"\xA0",os(Dr,{featureId:"SNO",openshiftVersion:s})),"aria-describedby":`${u}-helper`,description:os(K,{fieldId:u},m("ai:SNO enables you to install OpenShift using only one host.")),isChecked:f==="None",onChange:h,className:"with-tooltip"}))):null},Nl=oT;import{createElement as rs,forwardRef as mT}from"react";import{useField as aT}from"formik";import{FormGroup as lT,NumberInput as cT,Split as pT,SplitItem as zm}from"@patternfly/react-core";var uT=mT(({label:e,labelIcon:t,helperText:o,isRequired:r,validate:s,idPostfix:n,minValue:i=0,maxValue:a,children:l,formatValue:c,onChange:p,...u},m)=>{let[f,{touched:g,error:C},{setValue:h}]=aT({name:u.name,validate:s}),S=M(u.name,"numberinput",n),v=!(g&&C),y=v?"":C,b=k=>{let A=k<i?i:k;A=a&&A>a?a:A,A=c?c(A):A,h(A),p?.(A)},I=()=>{b(f.value+1)},T=()=>{b(f.value-1)},x=k=>{let A=k.target.value;b(isNaN(A)?0:Number(A))};return rs(lT,{fieldId:S,label:e,helperText:typeof o=="string"?o:rs(K,{fieldId:S},o),helperTextInvalid:y,validated:v?"default":"error",isRequired:r,labelIcon:t},rs(pT,null,rs(zm,{isFilled:!0},rs(cT,{...u,value:f.value,onMinus:T,onChange:x,onPlus:I,min:i,max:a,ref:m,id:S,"aria-describedby":`${S}-helper`})),rs(zm,null,l)))}),zo=uT;import{Fragment as ST,createElement as ss,useEffect as CT,useState as Um}from"react";import{useField as dT}from"formik";import{FormGroup as fT,HelperTextItem as gT}from"@patternfly/react-core";import{CodeEditor as hT}from"@patternfly/react-code-editor";var yT=({label:e,labelIcon:t,helperText:o,isRequired:r,validate:s,idPostfix:n,language:i,name:a,description:l,isDisabled:c})=>{let[p,,{setValue:u,setTouched:m}]=dT({name:a,validate:s}),f=M(a,"input",n),[g,C]=Um(),[h,S]=Um(),v=Jr({name:a,validate:s});return CT(()=>{if(!!h)return g&&g.dispose(),C(h.onDidChangeModelContent(()=>{m(!0),u(h.getModel()?.getValue(),!0)})),()=>{g&&g.dispose()}},[h]),ss(ST,null,ss(fT,{fieldId:f,label:e,helperText:typeof o=="string"?o:ss(K,{fieldId:f},o),helperTextInvalid:v,validated:!v?"default":"error",isRequired:r,labelIcon:t},l&&ss(K,{fieldId:f},ss(gT,{variant:"indeterminate"},l)),ss(hT,{code:p.value,isUploadEnabled:!c,isDownloadEnabled:!0,isCopyEnabled:!0,isLanguageLabelVisible:!0,height:"400px",language:i,onEditorDidMount:b=>S(b)})))},Hl=yT;import{createElement as gt,forwardRef as KT,useState as GT}from"react";import{useField as bT}from"formik";import vT from"classnames";import{FormGroup as IT,HelperTextItem as TT,TextInput as xT,HelperText as kT,Popover as AT,PopoverPosition as PT,InputGroup as ET,Button as FT}from"@patternfly/react-core";import{CheckCircleIcon as wT,CheckIcon as DT,ExclamationCircleIcon as NT,InfoCircleIcon as HT,TimesIcon as VT}from"@patternfly/react-icons";import{global_palette_green_500 as RT}from"@patternfly/react-tokens/dist/js/global_palette_green_500";import{global_danger_color_100 as MT}from"@patternfly/react-tokens/dist/js/global_danger_color_100";import{global_palette_blue_300 as LT}from"@patternfly/react-tokens/dist/js/global_palette_blue_300";var _T=(e,t,o)=>{if(t){if(o?.includes(e))return{variant:"error",icon:gt(VT,null)}}else return{variant:"indeterminate"};return{variant:"success",icon:gt(DT,null)}},OT=({value:e,error:t,richValidationMessages:o})=>gt(kT,{component:"ul",className:"rich-input__rules"},Object.keys(o).map(r=>{let s=_T(o[r],e,t);return gt(TT,{key:r,isDynamic:!0,component:"li",...s},o[r])})),BT=KT(({label:e,labelIcon:t,helperText:o,isRequired:r,onChange:s,validate:n,idPostfix:i,noDefaultOnChange:a,richValidationMessages:l,...c},p)=>{let[u,m]=GT(!1),[f,{error:g,value:C,touched:h},{setTouched:S}]=bT({name:c.name,validate:n}),v=M(c.name,"input",i),y=!h||!g?.length;return gt(IT,{fieldId:v,label:e,helperText:typeof o=="string"?o:gt(K,{fieldId:v},o),validated:y?"default":"error",isRequired:r,labelIcon:t},gt(ET,{className:vT("rich-input__group",{"rich_input__group--invalid":!y})},gt(xT,{...f,...c,ref:p,id:v,isRequired:r,"aria-describedby":`${v}-helper`,onChange:(b,I)=>{!u&&m(!0),!a&&f.onChange(I),S(!0,!1),s&&s(I)},className:"rich-input__text",onBlur:()=>m(!1)}),gt(AT,{isVisible:u,shouldClose:()=>m(!1),shouldOpen:()=>m(!0),"aria-label":"validation popover",position:PT.top,bodyContent:gt(OT,{value:C,error:g,richValidationMessages:l})},gt(FT,{variant:"plain","aria-label":"Validation"},y?C?gt(wT,{color:RT.value}):gt(HT,{color:LT.value}):gt(NT,{color:MT.value})))))}),Wt=BT;import{useField as zT}from"formik";import{createElement as WT}from"react";var UT=({name:e,label:t,isRequired:o,isDisabled:r,helperText:s})=>{let[n,,{setValue:i,setTouched:a}]=zT(e);return WT(Ko,{name:e,label:t,helperText:s,onBlur:()=>{n.value&&(i(po(n.value)),a(!0))},spellCheck:!1,isRequired:o,isDisabled:r})},Ws=UT;import Vl from"react";import{Button as qT,ButtonVariant as $T,Tooltip as YT}from"@patternfly/react-core";import{MinusCircleIcon as jT}from"@patternfly/react-icons";import XT from"classnames";var JT=1500,ZT=({onRemove:e,hideRemoveButton:t=!0,children:o,className:r,removeButtonDataTestId:s,...n})=>Vl.createElement(YT,{hidden:t,exitDelay:JT,flipBehavior:["right","bottom"],position:"right-start",distance:0,content:Vl.createElement(qT,{variant:$T.plain,onClick:e,"data-testid":s},Vl.createElement(jT,{size:"sm"})),className:XT("ai-remove-button__tooltip ",r),...n},o),QT=ZT;import{Button as ex,ButtonVariant as tx}from"@patternfly/react-core";import{PlusCircleIcon as ox}from"@patternfly/react-icons";import Wm from"react";var rx=({onAdd:e,variant:t=tx.link,children:o,...r})=>Wm.createElement(ex,{icon:Wm.createElement(ox,null),onClick:e,variant:t,...r},o),sx=rx;import{useField as nx}from"formik";import{Fragment as $m,createElement as Uo,useEffect as ux,useRef as px,useState as mx}from"react";import{PencilAltIcon as ix}from"@patternfly/react-icons";import{Split as ax,SplitItem as qm}from"@patternfly/react-core";var lx=({name:e,isRequired:t,onBlur:o,showErrorMessage:r})=>{let s=px();return ux(()=>s?.current?.focus(),[]),Uo(X,{name:e,isRequired:t,onBlur:o,ref:s,showErrorMessage:r})},cx=({name:e,isRequired:t,showErrorMessage:o})=>{let[r,s]=mx(!1),[n]=nx({name:e}),i=Jr({name:e});return Uo($m,null,r?Uo(lx,{name:e,isRequired:t,onBlur:()=>s(!1),showErrorMessage:o}):Uo($m,null,Uo(ax,null,Uo(qm,{className:"ai-pencil-field__text"},n.value),Uo(qm,null,Uo(ix,{onClick:()=>s(!0)})))),Uo("div",{className:"pf-c-form__helper-text pf-m-error"},i))},Rl=cx;import{overlap as Tx}from"cidr-tools";import{Address4 as Bl,Address6 as Kl}from"ip-address";import xi from"is-cidr";import{isInSubnet as xx}from"is-in-subnet";import{array as Js,lazy as zx,mixed as Gx,number as Pi,object as zl,string as ie}from"yup";import{Address4 as bi,Address6 as Nr}from"ip-address";import fi from"lodash/fp/head";var gi=({machineNetworks:e,machineNetworkCidr:t})=>fi(e)?.cidr??t,hi=({clusterNetworks:e,clusterNetworkCidr:t})=>fi(e)?.cidr??t,yi=({clusterNetworks:e,clusterNetworkHostPrefix:t})=>fi(e)?.hostPrefix??t,Ci=({serviceNetworks:e,serviceNetworkCidr:t})=>fi(e)?.cidr??t,dx=e=>e||[],Ym=e=>dx(e?.monitoredOperators).filter(t=>t.operatorType==="olm");var qs=({highAvailabilityMode:e})=>e==="None";var jm=({cpuArchitecture:e})=>e===Ae.ARM,fx=e=>e.hosts?e.hosts.length<5:!0,gx=e=>e.schedulableMastersForcedTrue===void 0?fx(e):e.schedulableMastersForcedTrue,Xm=e=>gx(e)?!0:e.schedulableMasters||!1,Jm=({platform:e})=>Vm.includes(e?.type??"none");import hx from"filesize.js";import yx from"fuse.js";var ue="-",Zm="ODD";var T2=(e,t)=>["pending-for-input","insufficient","ready","adding-hosts"].includes(e)&&["disabled","disabled-unbound"].includes(t),x2=(e,t)=>["pending-for-input","insufficient","ready","adding-hosts"].includes(e)&&["discovering","discovering-unbound","disconnected","disconnected-unbound","known","known-unbound","insufficient","insufficient-unbound","pending-for-input"].includes(t),k2=(e,t)=>["pending-for-input","insufficient","ready","adding-hosts"].includes(e)&&["discovering","discovering-unbound","known","known-unbound","disconnected","disconnected-unbound","disabled","disabled-unbound","insufficient","insufficient-unbound","resetting","resetting-pending-user-input","resetting-pending-user-action","installing-pending-user-action","pending-for-input","added-to-existing-cluster","error"].includes(t),A2=(e,t)=>["adding-hosts"].includes(e)&&["error","installing-pending-user-action"].includes(t),Qm=(e,t)=>["pending-for-input","insufficient","ready","adding-hosts"].includes(e)&&["discovering","discovering-unbound","known","known-unbound","disconnected","disconnected-unbound","disabled","disabled-unbound","insufficient","insufficient-unbound","pending-for-input"].includes(t),P2=(e,t,o)=>Qm(e,t)&&!o,E2=e=>["insufficient","adding-hosts","ready","pending-for-input"].includes(e),F2=Qm,ed=e=>["installing","finalizing","error","cancelled","installed","adding-hosts"].includes(e),w2=(e,t)=>e.kind==="AddHostsCluster"&&e.status==="adding-hosts"&&t==="known",$s=e=>e.progressStages||[],Ml=e=>e.progress?.currentStage?e.progress:{currentStage:"Starting installation",progressInfo:void 0,installationPercentage:void 0},Si=e=>{let t=$s(e),o=Ml(e);return Math.round((o?.installationPercentage||0)/100*t.length)},td=e=>["discovering","discovering-unbound","known","known-unbound","disconnected","disconnected-unbound","insufficient","insufficient-unbound","pending-for-input"].includes(e),od=(e,t,o)=>{let r=`${Qr(t).find(s=>s.value===e.role)?.label||Qr(t)[0].label}`;return o&&e.role==="master"&&(r=t("ai:Control plane node, Worker")),`${r}${e.bootstrap?" (bootstrap)":""}`},Cx=e=>!!e.logsCollectedAt&&e.logsCollectedAt!==ci,D2=e=>e.controllerLogsCollectedAt!==ci||!!(e.hosts||[]).find(t=>Cx(t)),rd=e=>e.readyHostCount||0,Ll=e=>e.enabledHostCount||0,_l=e=>e.totalHostCount||0,ns=(e=[])=>e.filter(t=>t.status!=="disabled"),We=(e,t)=>e.requestedHostname||t.hostname||"",sd=(e,t)=>{let o=ue,{systemVendor:r}=e;return r!==void 0&&(r.virtual?o=t("ai:Virtual machine"):o=t("ai:Bare metal")),o},ct=(...e)=>hx.call(null,...e).toUpperCase().replace(/I/,"i"),Me=e=>{let{inventory:t=""}=e;return te(t)||{}},nd=(e,t)=>{if(!t)return e;let o=e.map(s=>{let{inventory:n=""}=s,i=te(n)||{};return{hostname:We(s,i),host:s}});return new yx(o,{ignoreLocation:!0,keys:["hostname"]}).search(t).map(({item:s})=>s.host)},Sx=e=>Object.keys(e).reduce((t,o)=>{let r=e[o].filter(s=>s.status==="failure");return[...t,...r]},[]),bx=e=>{let t=Sx(e).map(o=>o.id);if(!t.length)return!1;for(let o of t)if(!["ntp-synced","container-images-available"].includes(o))return!1;return!0};var Hr=e=>bi.isValid(e)?new bi(e):Nr.isValid(e)?new Nr(e):null,vx=e=>{if(e){let t=e.startAddress().correctForm(),o=e.endAddress().correctForm();return`(${t} - ${o})`}return""},Ix=e=>e?`${e.address} ${vx(e)}`:"",is=e=>{let t=e.hosts?.reduce((o,r)=>{let s=te(r.inventory)||{};return o={...o,[r.id]:We(r,s)},o},{})||{};return e.hostNetworks?.map(o=>({subnet:o.cidr||"",hostIDs:o.hostIds?.map(r=>t[r]||r)||[],humanized:Ix(Hr(o.cidr))}))||[]},id=e=>e?Hr(e)?.address:Re,U2=(e,t)=>{let o=t.map(r=>r.cidr);return e.length===t.length&&e.every(r=>o.includes(r.cidr))},W2=(e,t)=>e.length===t.length&&e.every(o=>t.find(r=>r.cidr===o.cidr&&r.hostPrefix===o.hostPrefix)),ad=(e,t,o)=>hi(e)!==t.clusterNetworkCidr||yi(e)!==t.clusterNetworkHostPrefix||Ci(e)!==t.serviceNetworkCidr||Boolean(e.networkType)&&e.networkType!==o,ld=(e,t=!1)=>!(e||t),Ys=(e,t=!1)=>e||t?ts:pi,q2=e=>e.some(t=>bi.isValid(t.subnet))&&e.some(t=>Nr.isValid(t.subnet)),Ol=e=>e&&e.length>1&&bi.isValid(e[0].cidr||"")&&Nr.isValid(e[1].cidr||""),$2=({machineNetworks:e,clusterNetworks:t,serviceNetworks:o})=>Ol(e)&&Ol(t)&&Ol(o),vi=({clusterNetworkCidr:e,machineNetworkCidr:t,serviceNetworkCidr:o})=>Nr.isValid(e||"")||Nr.isValid(t||"")||Nr.isValid(o||""),Y2=e=>({usePlatformIntegration:Jm(e),schedulableMasters:Xm(e)}),j2=()=>({nodeLabeling:""});function X2(e,t=["configuration","hosts-data","network","operators"]){let o={};return Object.keys(e).forEach(r=>{t.includes(r)&&(o[r]=e[r])}),o}function cd(e,t=["failure","pending","error"]){let o={};return Object.entries(e).forEach(([r,s=[]])=>{let n=s.filter(i=>t.includes(i.status));n.length&&(o[r]=n)}),o}var Nt=e=>({INVALID_LENGTH_OCM:e("ai:1-54 characters"),INVALID_LENGTH_ACM:e("ai:2-54 characters"),INVALID_VALUE_OCM:as(e).INVALID_VALUE,INVALID_VALUE_ACM:e("ai:Use lowercase alphanumeric characters or hyphen (-)"),INVALID_START_END:e("ai:Start and end with a lowercase letter or a number."),NOT_UNIQUE:e("ai:Must be unique")}),Z2=e=>({INVALID_LENGTH:Nt(e).INVALID_LENGTH_OCM,INVALID_VALUE:Nt(e).INVALID_VALUE_OCM,INVALID_START_END:Nt(e).INVALID_START_END}),Q2=e=>({INVALID_LENGTH:Nt(e).INVALID_LENGTH_OCM,INVALID_VALUE:Nt(e).INVALID_VALUE_OCM,INVALID_START_END:Nt(e).INVALID_START_END,NOT_UNIQUE:Nt(e).NOT_UNIQUE}),pd=e=>({INVALID_LENGTH:Nt(e).INVALID_LENGTH_ACM,INVALID_VALUE:Nt(e).INVALID_VALUE_ACM,INVALID_START_END:Nt(e).INVALID_START_END,NOT_UNIQUE:Nt(e).NOT_UNIQUE}),as=e=>({INVALID_LENGTH:e("ai:1-253 characters"),NOT_UNIQUE:e("ai:Must be unique"),INVALID_VALUE:e("ai:Use lowercase alphanumeric characters, dot (.) or hyphen (-)"),INVALID_START_END:e("ai:Must start and end with an lowercase alphanumeric character"),INVALID_FORMAT:e("ai:Number of characters between dots (.) must be 1-63")}),mo=e=>({...as(e),LOCALHOST_ERR:e('ai:Do not use forbidden words, for example: "localhost".')}),Ii=e=>({INVALID_LENGTH:e("ai:1-63 characters"),INVALID_VALUE:e("ai:Use alphanumeric characters, dot (.), underscore (_) or hyphen (-)"),INVALID_START_END:e("ai:Must start and end with an alphanumeric character")}),ud=e=>({INVALID_VALUE:e("ai:The Value is not valid BMC address, supported protocols are redfish-virtualmedia or idrac-virtualmedia.")}),Ti=["localhost","localhost.localdomain","localhost4","localhost4.localdomain4","localhost6","localhost6.localdomain6"];var md=/^[a-zA-Z0-9]+$/,dd=/^[a-z0-9](.*[a-z0-9])?$/,kx=/^[a-z0-9-.]*$/,Ax=/^[a-z0-9](.*[a-z0-9])?$/,Px=/^[.-a-z0-9]?(([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*)*)[.-a-z0-9]?$/,Ex=/^[a-z0-9-]*$/,Fx=/^(ssh-rsa|ssh-ed25519|ecdsa-[-a-z0-9]*) AAAA[0-9A-Za-z+/]+[=]{0,3}( .+)?$/,fd=/^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$/,wx=/^([a-zA-Z0-9_]{1}[a-zA-Z0-9_-]{0,62}){1}(\.[a-zA-Z0-9_]{1}[a-zA-Z0-9_-]{0,62})*[._]?$/,Dx="0.0.0.0",Nx="0000:0000:0000:0000:0000:0000:0000:0000",Hx=/^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$/,Vx=/^[^.]{1,63}(?:[.][^.]{1,63})*$/,Rx=/^((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,Mx=/^[a-zA-Z0-9-._]*$/,ki=(e,t,o="",r,s=!1)=>{let n=Nt(e);return ie().required("Required").matches(s?Px:Ex,{message:s?n.INVALID_VALUE_OCM:n.INVALID_VALUE_ACM,excludeEmptyString:!0}).matches(Ax,{message:n.INVALID_START_END,excludeEmptyString:!0}).min(s?1:2,s?n.INVALID_LENGTH_OCM:n.INVALID_LENGTH_ACM).max(54,s?n.INVALID_LENGTH_OCM:n.INVALID_LENGTH_ACM).when("useRedHatDnsService",{is:!0,then:ie().test("is-name-unique",n.NOT_UNIQUE,i=>{let a=`${i}.${o}`;return!i||!t.includes(a)}),otherwise:ie().test("is-name-unique",n.NOT_UNIQUE,i=>r?!i||!t.includes(i):!0)})},qt=ie().test("ssh-public-key",'SSH public key must consist of "[TYPE] key [[EMAIL]]", supported types are: ssh-rsa, ssh-ed25519, ecdsa-[VARIANT]. A single key can be provided only.',e=>e?!!Fr(e).match(Fx):!0),gr=ie().test("is-well-formed-json","Invalid pull secret format. You must use your Red Hat account's pull secret.",e=>{let t=!0;if(!e)return t;try{let o=JSON.parse(e);return o.constructor.name==="Object"&&!!o?.auths&&o.auths.constructor.name==="Object"}catch{return!t}}),gd=ie().test("ip-validation","Not a valid IP address",e=>Bl.isValid(e)||Kl.isValid(e)),Ai=ie().matches(Hx,{message:'Value "${value}" is not valid MAC address.',excludeEmptyString:!0}),Lx=(e,{machineNetworks:t,hostSubnet:o})=>ie().test("vip-validation","IP Address is outside of selected subnet",function(r){if(!r)return!0;try{gd.validateSync(r)}catch(n){return this.createError({message:U(n)})}let s=[];if(t){let n=t?.map(i=>i.cidr);s.push(...e.filter(i=>n?.includes(i.subnet)))}else{let n=e.find(i=>i.subnet===o);n&&s.push(n)}for(let n of s)if(n?.subnet)if(n.hostIDs.length){if(xx(r,n.subnet))return!0}else return!0;return!1}),_x=({ingressVip:e,apiVip:t})=>ie().test("vip-uniqueness-validation","The Ingress and API IP addresses cannot be the same.",o=>o?e!==t:!0),Ox=(e,t)=>ie().test("required-once-set",t||"The value is required.",o=>o||!e),js=ie().when(["managedNetworkingType"],{is:"clusterManaged",then:ie().notOneOf([Re],"Host subnet must be selected.")}),ls=(e,t,o)=>Gx().when(["vipDhcpAllocation","managedNetworkingType"],{is:(r,s)=>!r&&s!=="userManaged",then:Ox(o,"Required. Please provide an IP address").concat(Lx(e,t)).concat(_x(t)).when("hostSubnet",{is:r=>r!==Re,then:ie().required("Required. Please provide an IP address")})}),ro=e=>ie().required("A value is required.").test("valid-ip-address","Invalid IP address block. Expected value is a network expressed in CIDR notation (IP/netmask). For example: 123.123.123.0/24, 2055:d7a::/116",(t="")=>xi.v4(t)||xi.v6(t)).test("valid-netmask",`IPv4 netmask must be between 1-25 and include at least 128 addresses.
|
|
4
|
-
IPv6 netmask must be between 8-128 and include at least 256 addresses.`,(t="")=>{let o=parseInt(t.split("/")[1]);return xi.v4(t)&&0<o&&o<26||xi.v6(t)&&7<o&&o<129}).test("cidr-is-not-unspecified","The specified CIDR is invalid because its resulting routing prefix matches the unspecified address.",(t="")=>{let o=Hr(t);if(o===null)return!1;let r=o.startAddress().address;return r!==Dx&&r!==Nx}).test("valid-cidr-base-address",({value:t})=>`${t} is not a valid CIDR`,(t="")=>{let o=Hr(t);if(o===null)return!1;let r=o.startAddress().parsedAddress;return o.parsedAddress.every((i,a)=>i===r[a])}).test("cidrs-can-not-overlap","Provided CIDRs can not overlap.",t=>{try{if(t&&e&&e.length>0)return!Tx(t,e)}catch{return!1}return!0}),Xs=ie().test("dns-name-label-length","Single label of the DNS name can not be longer than 63 characters.",(e="")=>e.split(".").every(t=>t.length<=63)).matches(fd,{message:'Value "${value}" is not valid DNS name. Example: basedomain.example.com',excludeEmptyString:!0}),Vr=e=>{let t="The host prefix is required.",o="The host prefix is a number between 1 and 32 for IPv4 and between 8 and 128 for IPv6.",r=(e||"").split("/")[1];if(!r)return Pi().required(t).min(1,o).max(32,o);let s=parseInt(r);isNaN(s)&&(s=1);let n="The host prefix is a number between size of the cluster network CIDR range",i=`${n} (${s}) and 25.`,a=`${n} (8) and 128.`;return Kl.isValid(e||"")?Pi().required(t).min(8,a).max(128,a):Bl.isValid(e||"")?Pi().required(t).min(s,i).max(25,i):Pi().required(t)},hr=(e,t,o)=>{let r=as(e);return ie().min(1,r.INVALID_LENGTH).max(253,r.INVALID_LENGTH).test(r.INVALID_START_END,r.INVALID_START_END,s=>{let n=s?.trim();return n?!!n[0].match(dd)&&(n[n.length-1]?!!n[n.length-1].match(dd):!0):!0}).matches(Vx,r.INVALID_FORMAT).matches(kx,{message:r.INVALID_VALUE,excludeEmptyString:!0}).test(r.NOT_UNIQUE,r.NOT_UNIQUE,s=>!s||s===o?!0:!t.find(n=>n===s)).notOneOf(Ti,mo(e).LOCALHOST_ERR)},Bx="Provide a valid HTTP URL.",$t=(e,t)=>ie().test("http-proxy-no-empty-validation","At least one of the HTTP or HTTPS proxy URLs is required.",o=>!e.enableProxy||o||e[t]).test("http-proxy-validation",Bx,o=>{if(!o)return!0;try{return new URL(o).protocol==="http:"}catch{return!1}}),Kx=e=>!e||e!=="",Gl=(e,t=fd)=>{if(!e||e.match(t))return!0;try{gd.validateSync(e)}catch{return!1}return!0},yr=ie().test("no-proxy-validation","Provide a comma separated list of valid DNS names or IP addresses.",e=>{if(!e||e==="*")return!0;let t=po(e).split(",").map(o=>o.charAt(0)==="."?o.substring(1):o);return t.every(Kx)&&t.every(o=>Gl(o,wx))}),hd=ie().test("ntp-source-validation","Provide a comma separated list of valid DNS names or IP addresses.",e=>e?po(e).split(",").every(t=>Gl(t)):!0),yd=ie().test("day2-api-vip","Provide a valid DNS name or IP Address",e=>e?Gl(e):!0),Cd=e=>{let t=ud(e);return ie().matches(Rx,{message:t.INVALID_VALUE,excludeEmptyString:!0})},Sd=e=>{let t=Ii(e);return ie().min(1,t.INVALID_LENGTH).max(63,t.INVALID_LENGTH).test(t.INVALID_START_END,t.INVALID_START_END,o=>{let r=o?.trim();return r?!!r[0].match(md)&&(r[r.length-1]?!!r[r.length-1].match(md):!0):!0}).matches(Mx,{message:t.INVALID_VALUE,excludeEmptyString:!0})},u6=Js().of(zl({cidr:js,clusterId:ie()})),m6=Js().of(zx(e=>zl({cidr:ro(void 0),hostPrefix:Vr(e.cidr),clusterId:ie()}))),d6=Js().of(zl({cidr:ro(void 0),clusterId:ie()})),f6=e=>Js().max(2,`Maximum number of ${e} subnets in dual stack is 2.`).test("dual-stack-ipv4","First network has to be IPv4 subnet.",t=>t[0].cidr&&Bl.isValid(t[0].cidr)).test("dual-stack-ipv6","Second network has to be IPv6 subnet.",t=>t[1].cidr&&Kl.isValid(t[1].cidr)),g6=Js().test("single-stack","All network subnets must be IPv4.",e=>tm(e));import{createElement as cs,useState as Yx}from"react";import{useField as Ux}from"formik";import{FormGroup as Wx,Label as qx}from"@patternfly/react-core";import $x from"react-tagsinput";var Ul=({value:e,onClose:t})=>cs(qx,{className:"label-field__value",variant:"outline",onClose:t},e),bd=({label:e,labelIcon:t,helperText:o,isRequired:r,onChange:s,validate:n,idPostfix:i,...a})=>{let{t:l}=d(),[c,p]=Yx(""),[u,{touched:m,error:f},{setValue:g,setTouched:C}]=Ux({name:a.name,validate:n}),h=M(a.name,"input",i),S=!(m&&f);return cs(Wx,{fieldId:h,label:e,helperText:typeof o=="string"?o:cs(K,{fieldId:h},o),helperTextInvalid:S?"":f,validated:S?"default":"error",isRequired:r,labelIcon:t},l("ai:Enter key=value and then press 'enter' or 'space' or use a ',' to input the label."),cs("div",{className:"co-search-input pf-c-form-control"},cs($x,{...u,onChange:y=>{g(y),p(""),s&&s(y),!m&&C(!0)},addKeys:[13,32,188],renderTag:({tag:y,key:b,onRemove:I,getTagDisplayValue:T})=>cs(Ul,{key:b,onClose:()=>I(b),value:T(y)}),addOnBlur:!0,inputProps:{autoFocus:!1,className:"label-field__input",placeholder:u.value?.length?"":"app=frontend",spellCheck:"false",id:"tags-input",value:c,onChange:y=>p(y.target.value),["data-test"]:"tags-input"}})))};import ps from"react";import{Title as jx,EmptyState as Xx,EmptyStateBody as Jx,Bullseye as Zx,EmptyStateIcon as Qx,EmptyStateSecondaryActions as ek}from"@patternfly/react-core";import{SearchIcon as tk}from"@patternfly/react-icons";var ok=({title:e="No results found",content:t,icon:o=tk,primaryAction:r,secondaryActions:s})=>ps.createElement(Zx,null,ps.createElement(Xx,null,ps.createElement(Qx,{icon:o}),ps.createElement(jx,{headingLevel:"h2"},e),t&&ps.createElement(Jx,null,t),r,s&&ps.createElement(ek,null,s))),qe=ok;import fo from"react";import{Title as rk,EmptyState as sk,EmptyStateBody as nk,Bullseye as ik,EmptyStateIcon as ak,EmptyStateVariant as lk,Button as ck,ButtonVariant as pk,EmptyStateSecondaryActions as uk}from"@patternfly/react-core";import{ExclamationCircleIcon as mk}from"@patternfly/react-icons";import{global_danger_color_200 as dk}from"@patternfly/react-tokens";var fk=({fetchData:e})=>{let{t}=d();return fo.createElement(fo.Fragment,null,t("ai:There was an error retrieving data. Check your connection and")," ",e?fo.createElement(ck,{onClick:e,variant:pk.link,isInline:!0},t("ai:try again")):t("ai:try again"),".")},gk=({title:e="Error loading data",content:t,fetchData:o,icon:r=mk,iconColor:s=dk.value,variant:n=lk.small,primaryAction:i,actions:a})=>fo.createElement(ik,null,fo.createElement(sk,{variant:n},fo.createElement(ak,{icon:r,color:s}),fo.createElement(rk,{headingLevel:"h2"},e),fo.createElement(nk,null,t||fo.createElement(fk,{fetchData:o})),i,a&&fo.createElement(uk,null,a))),Rr=gk;import Zs from"react";import{EmptyState as hk,EmptyStateBody as yk,Bullseye as Ck,EmptyStateVariant as Sk,Spinner as bk,EmptyStateSecondaryActions as vk}from"@patternfly/react-core";var Ik=({content:e,primaryAction:t,secondaryActions:o})=>Zs.createElement(Ck,null,Zs.createElement(hk,{variant:Sk.small},Zs.createElement(bk,{size:"xl"}),e&&Zs.createElement(yk,null,e),t,o&&Zs.createElement(vk,null,o))),pt=Ik;import vd from"react";import{Button as Tk,ToolbarItem as xk}from"@patternfly/react-core";var kk=({...e})=>vd.createElement(xk,null,vd.createElement(Tk,{...e})),Ei=kk;import Id from"react";import{ToolbarItem as Ak,Text as Pk}from"@patternfly/react-core";var Ek=e=>Id.createElement(Ak,null,Id.createElement(Pk,{...e})),Fk=Ek;import Wl from"react";import{ToolbarGroup as wk,ToolbarItem as Dk,Progress as Nk,ProgressSize as Hk}from"@patternfly/react-core";var Vk=({style:e,size:t=Hk.sm})=>Wl.createElement(wk,{style:{flexGrow:1}},Wl.createElement(Dk,{style:{flexGrow:1}},Wl.createElement(Nk,{style:{...e,gridGap:0},size:t}))),Rk=Vk;import Mk from"react";import{ToolbarGroup as Lk}from"@patternfly/react-core";var _k=({children:e})=>Mk.createElement(Lk,{alignment:{md:"alignRight"}},e),Ok=_k;import{createElement as ms,useEffect as Uk}from"react";import{useField as Bk}from"formik";import{FormGroup as Kk,TextContent as Gk,Text as zk}from"@patternfly/react-core";var Td=({label:e,name:t,children:o,helperText:r,helperTextInvalid:s,isRequired:n,isValid:i=!0})=>{let a=M(t,"static");return ms(Kk,{fieldId:a,label:e,helperText:typeof r=="string"?r:ms(K,{fieldId:a},r),helperTextInvalid:s,validated:i?"default":"error",isRequired:n},o)},ql=({value:e,...t})=>{let[,,o]=Bk({name:t.name});return Uk(()=>{o.setValue(e)},[e]),ms(Td,{...t})},us=({children:e,...t})=>{let o=M(t.name,"static");return ms(Td,{...t},ms(Gk,null,ms(zk,{component:"p",id:o,"aria-describedby":`${o}-helper`},e)))};import{createElement as $e}from"react";import{ActionList as MA,ActionListItem as nn,Button as Zl,ButtonVariant as Ql,Spinner as LA,SplitItem as _A,Stack as OA,StackItem as ec,Text as BA,TextVariants as KA}from"@patternfly/react-core";import Vd from"react";import{ButtonVariant as HA}from"@patternfly/react-core";import ht from"react";import{Button as kA,Modal as AA,ButtonVariant as PA,ModalVariant as EA,ModalBoxBody as FA}from"@patternfly/react-core";import{ExclamationTriangleIcon as wA}from"@patternfly/react-icons";import{global_warning_color_100 as DA}from"@patternfly/react-tokens";import sn,{useEffect as xA,useState as Xl}from"react";import Ht from"react";import{Label as Yk}from"@patternfly/react-core";import{TableVariant as jk,Table as Xk,TableBody as Jk,breakWord as Zk}from"@patternfly/react-table";import{InfoCircleIcon as Qk,ExclamationTriangleIcon as eA,ExclamationCircleIcon as tA,SearchIcon as oA}from"@patternfly/react-icons";var ut=e=>e?new Date(e).toLocaleString():ue,G4=e=>e?new Date(e).toLocaleTimeString():ue;import Wk from"lodash/upperFirst";import qk from"lodash/endsWith";import{SortByDirection as $k}from"@patternfly/react-table";var xd=(e,t)=>[{heightAuto:!0,cells:[{props:{colSpan:t},title:e}]}],kd=(e,t)=>(o,r)=>{let s=e.direction===$k.asc?1:-1,n=t(o,e.index),i=t(r,e.index),a=typeof n=="string"?n:n?.sortableValue,l=typeof i=="string"?i:i?.sortableValue;return typeof a=="string"||typeof l=="string"?(a=a||"",a.localeCompare(l)*s):(a=a||0,l=l||0,(a-l)*s)},so=e=>`${Wk(e)}${qk(e,".")||e===""?"":"."}`,Ad=e=>({title:ut(e),sortableValue:e?new Date(e).getTime():0});var e3=()=>({className:"pf-m-break-word"}),Pd=()=>({className:"pf-m-fit-content"}),t3=()=>({className:"pf-m-nowrap"}),o3=()=>({className:"pf-m-truncate"}),r3=()=>({className:"pf-m-wrap"}),Ed=()=>({className:"table-no-padding"});var rA=({rowData:e})=>e?.props?.event.sortableTime+e?.props?.event.message,sA=e=>{switch(e){case"info":return"blue";case"warning":return"orange";case"error":return"red";case"critical":return"purple"}},nA=e=>{switch(e){case"info":return Ht.createElement(Qk,null);case"warning":return Ht.createElement(eA,null);case"error":case"critical":return Ht.createElement(tA,null)}},iA=({events:e,className:t})=>{let{t:o}=d();if(e.length===0)return Ht.createElement(qe,{icon:oA,title:o("ai:No events found"),content:o("ai:There are no events found.")});let s=e.map(n=>({...n,sortableTime:new Date(n.eventTime).getTime()})).sort((n,i)=>i.sortableTime-n.sortableTime).map(n=>({cells:[{title:Ht.createElement("strong",null,ut(n.eventTime))},{title:Ht.createElement(Ht.Fragment,null,n.severity!=="info"&&Ht.createElement(Ht.Fragment,null,Ht.createElement(Yk,{color:sA(n.severity),icon:nA(n.severity)},n.severity)," "),n.message)}],props:{event:n}}));return Ht.createElement("div",{className:t},Ht.createElement(Xk,{rows:s,cells:[{title:o("ai:Time"),cellTransforms:[Pd,Ed]},{title:o("ai:Message"),cellTransforms:[Zk]}],variant:jk.compact,"aria-label":o("ai:Events table"),borders:!1},Ht.createElement(Jk,{rowKey:rA})))},Qs=iA;import Cr from"react";import{Button as SA,ButtonVariant as bA}from"@patternfly/react-core";import{SearchIcon as vA}from"@patternfly/react-icons";import ae from"react";import Fd from"lodash/capitalize";import{Toolbar as aA,ToolbarItem as lA,ToolbarContent as cA,ToolbarFilter as wd,Button as pA,ButtonVariant as uA,InputGroup as mA,Select as Dd,SelectOption as en,TextInput as dA,Badge as fA}from"@patternfly/react-core";import{SearchIcon as gA,FilterIcon as hA}from"@patternfly/react-icons";var Nd=({text:e})=>ae.createElement(ae.Fragment,null,ae.createElement(hA,null)," ",e),tn="select-all-actions",on="cluster-level-action",rn="deleted-hosts-action",$l=e=>(e||[]).map(t=>{let o=te(t.inventory)||{},r=t.requestedHostname;return o.hostname!==t.requestedHostname&&(r+=` (${o.hostname})`),{hostname:r,id:t.id}}),Fi=e=>({fulltext:"",hosts:$l(e.hosts).map(t=>t.id),severity:[],clusterLevel:!0,orphanedHosts:!0,selectAll:!0}),yA=(e,t)=>t.filter(o=>o.severity===e).length,CA=({filters:e,setFilters:t,cluster:o,events:r})=>{let[s,n]=ae.useState(!1),[i,a]=ae.useState(!1),l=ae.useMemo(()=>$l(o.hosts),[o.hosts]),c=()=>{t(Fi(o))},p=(b,I,T)=>{let x=(H,P,R,ee)=>({...ee,[H]:P?[...ee[H],R]:ee[H].filter(O=>O!==R)}),k=(H,P)=>({...P,selectAll:b==="severity"?P.selectAll:P.hosts.length===H&&P.orphanedHosts&&P.clusterLevel}),A=x(b,I,T,e);A=k(o.hosts?.length||0,A),t(A)},u=()=>n(!s),m=(b,I)=>{let T=b.target.checked;switch(I){case tn:t(T?{...e,hosts:$l(o.hosts).map(x=>x.id),clusterLevel:!0,orphanedHosts:!0,selectAll:!0}:{...e,clusterLevel:!1,orphanedHosts:!1,selectAll:!1,hosts:[]});break;case rn:t({...e,orphanedHosts:T,selectAll:T&&e.clusterLevel&&e.hosts.length===o.hosts?.length});break;case on:t({...e,clusterLevel:T,selectAll:T&&e.orphanedHosts&&e.hosts.length===o.hosts?.length});break;default:p("hosts",T,I)}},f=()=>a(!i),g=(b,I)=>{p("severity",b.target.checked,I)},C=b=>{t({...e,fulltext:b})},h=(b,I)=>{if(b){let T=I.key||I;t({...e,[b]:e[b].filter(x=>x!==T)})}else c()},S=b=>{t({...e,[b]:[]})},v=()=>{let b=e.clusterLevel?[...e.hosts,on]:e.hosts;return b=e.orphanedHosts?[...b,rn]:b,b=e.selectAll?[...b,tn]:b,b},{t:y}=d();return ae.createElement(aA,{id:"clusters-events-toolbar",className:"pf-m-toggle-group-container",collapseListedFiltersBreakpoint:"xl",clearAllFilters:c},ae.createElement(cA,null,ae.createElement(wd,{categoryName:"hosts"},ae.createElement(Dd,{variant:"checkbox","aria-label":"hosts",onToggle:u,onSelect:m,selections:v(),customBadgeText:e.hosts?.length||0,isOpen:s,placeholderText:ae.createElement(Nd,{text:"Hosts"}),isDisabled:l.length===0},[ae.createElement(en,{inputId:`checkbox-${tn}`,key:tn,value:tn},y("ai:Select All")),ae.createElement(en,{inputId:`checkbox-${on}`,key:on,value:on},y("ai:Cluster-level events")),ae.createElement(en,{inputId:`checkbox-${rn}`,key:rn,value:rn},y("ai:Deleted hosts")),...l.map(b=>ae.createElement(en,{key:b.id,value:b.id},b.hostname))])),ae.createElement(wd,{chips:e.severity.map(b=>({key:b,node:Fd(b)})),deleteChip:h,deleteChipGroup:S,categoryName:"severity"},ae.createElement(Dd,{variant:"checkbox","aria-label":"Severity",onToggle:f,onSelect:g,selections:e.severity,isOpen:i,placeholderText:ae.createElement(Nd,{text:"Severity"})},xm.map(b=>ae.createElement(en,{"data-testid":`${b}-filter-option`,key:b,value:b},Fd(b)," ",ae.createElement(fA,{isRead:!0},yA(b,r)))))),ae.createElement(lA,null,ae.createElement(mA,null,ae.createElement(dA,{name:"search-text",id:"search-text",type:"search","aria-label":"text to be searched",onChange:C,value:e.fulltext,placeholder:y("ai:Filter by text")}),ae.createElement(pA,{variant:uA.control,"aria-label":"search text button"},ae.createElement(gA,null))))))},Yl=CA;var IA=(e,t=[],o)=>t.filter(r=>e.severity.length===0||e.severity.includes(r.severity)).filter(r=>!r.hostId||e.hosts.includes(r.hostId)||e.orphanedHosts&&!(o||[]).find(s=>s.id===r.hostId)).filter(r=>r.hostId||e.clusterLevel).filter(r=>!e.fulltext||(r.message||"").toLowerCase().includes(e.fulltext.toLowerCase())),TA=({events:e,cluster:t,className:o})=>{let[r,s]=Cr.useState(()=>Fi(t)),n=Cr.useMemo(()=>IA(r,e,t.hosts),[r,e,t.hosts]),{t:i}=d();return Cr.createElement(Cr.Fragment,null,Cr.createElement(Yl,{filters:r,setFilters:s,cluster:t,events:e}),n.length===0&&e.length>0?Cr.createElement(qe,{icon:vA,title:i("ai:No matching events"),content:i("ai:There are no events that match the current filters. Adjust or clear the filters to view events."),primaryAction:Cr.createElement(SA,{variant:bA.primary,onClick:()=>s(Fi(t)),id:"empty-state-cluster-events-clear-filters-button","data-ouia-id":"button-clear-events-filter"},i("ai:Clear filters"))}):Cr.createElement(Qs,{events:n,className:o}))},jl=TA;var Hd=({onFetchEvents:e,...t})=>{let[o,r]=Xl(),[s,n]=Xl(0),[i,a]=Xl(""),{cluster:l,hostId:c,entityKind:p,className:u}=t;xA(()=>{let f;return e({clusterId:l.id,hostId:c},g=>{r(g),a(""),f=setTimeout(()=>n(Date.now()),ym)},a),()=>clearTimeout(f)},[s,l.id,c,e]);let m=sn.useCallback(()=>{n(Date.now())},[n]);return i?sn.createElement(Rr,{title:i,fetchData:m}):o?p==="cluster"?sn.createElement(jl,{events:o,cluster:l,className:u}):sn.createElement(Qs,{events:o,className:u}):sn.createElement(pt,null)};import{Trans as NA}from"react-i18next";var wi=({ButtonComponent:e=Ei,onFetchEvents:t,onClick:o,hostId:r,cluster:s,entityKind:n,children:i,title:a,fallbackEventsURL:l,...c})=>{let[p,u]=ht.useState(!1),m=()=>u(!1);return ht.createElement(ht.Fragment,null,ht.createElement(e,{...c,onClick:o||(()=>u(!0))},i||a),ht.createElement(Jl,{title:a,isOpen:p,onClose:m,hostId:r,cluster:s,entityKind:n,onFetchEvents:t,fallbackEventsURL:l}))},Jl=({onFetchEvents:e,hostId:t,cluster:o,entityKind:r,onClose:s,isOpen:n,title:i,fallbackEventsURL:a})=>{let{t:l}=d();return ht.createElement(AA,{title:i,isOpen:n,"aria-label":l("ai:Displays events"),hasNoBodyWrapper:!0,actions:[ht.createElement(kA,{key:"close",variant:PA.primary,onClick:s},l("ai:Close"))],onClose:s,variant:EA.large,className:"events-modal"},ht.createElement(FA,{className:"events-modal__body"},a?ht.createElement(Rr,{title:l("ai:Could not load events"),content:ht.createElement(ht.Fragment,null,ht.createElement(NA,{t:l},"ai:Could not load events from the standard location. You can check the events in the ",ht.createElement(lt,{href:a},"raw format"),".")),icon:wA,iconColor:DA.value}):ht.createElement(Hd,{hostId:t,cluster:o,entityKind:r,onFetchEvents:e,className:"events-modal__event-list"})))};import{MonitoringIcon as VA}from"@patternfly/react-icons";var RA=({cluster:e,onFetchEvents:t})=>Vd.createElement(wi,{id:"cluster-events-button",entityKind:"cluster",icon:Vd.createElement(VA,null),cluster:e,title:"Cluster Events",variant:HA.secondary,onFetchEvents:t},"View Cluster Events"),Rd=RA;var Md=({alerts:e,errors:t,onNext:o,onBack:r,onCancel:s,isNextDisabled:n,isBackDisabled:i,leftExtraActions:a,isSubmitting:l,submittingText:c,nextButtonText:p,cluster:u,onFetchEvents:m})=>{let{t:f}=d();return c=c||f("ai:Saving changes..."),$e(OA,{hasGutter:!0},e&&$e(ec,null,e),t&&$e(ec,null,t),$e(ec,null,$e(MA,{"data-testid":"wizard-step-actions"},a,o&&$e(nn,null,$e(Zl,{variant:Ql.primary,name:"next",onClick:o,isDisabled:n},p||f("ai:Next"))),r&&$e(nn,null,$e(Zl,{variant:Ql.secondary,name:"back",onClick:r,isDisabled:i},f("ai:Back"))),$e(nn,null,$e(Zl,{variant:Ql.link,name:"cancel",onClick:s,isDisabled:!1},f("ai:Cancel"))),l&&$e(nn,null,$e(BA,{component:KA.small},$e(LA,{size:"sm"})," ",c)),$e(_A,{isFilled:!0}),u&&m&&$e(nn,null,$e(Rd,{cluster:u,onFetchEvents:m})))))};import Ld from"react";var no=({condition:e=!1,children:t})=>e?Ld.createElement(Ld.Fragment,null,t):null;import ds from"react";import{DropdownItem as GA,DropdownToggle as zA,Dropdown as UA}from"@patternfly/react-core";import{CaretDownIcon as WA}from"@patternfly/react-icons";var _d=({current:e,defaultValue:t,items:o,setValue:r,isDisabled:s,idPrefix:n,position:i,menuAppendTo:a})=>{let[l,c]=ds.useState(!1),p=o.map(({value:f,label:g,description:C})=>ds.createElement(GA,{key:f,id:f,description:C},g)),u=ds.useCallback(f=>{r(f?.currentTarget.id),c(!1)},[r,c]),m=ds.useMemo(()=>ds.createElement(zA,{onToggle:f=>c(!s&&f),toggleIndicator:WA,isDisabled:s,id:n?`${n}-dropdown-toggle-items`:void 0,className:"role-dropdown"},e||t),[c,e,s,t,n]);return ds.createElement(UA,{onSelect:u,dropdownItems:p,toggle:m,isOpen:l,isPlain:!0,id:n?`${n}-dropdown-toggle`:void 0,position:i,menuAppendTo:a})};import go from"react";import{TextContent as qA,TextList as Od,TextListVariants as Bd,TextListItem as Di,TextListItemVariants as Ni,Text as $A}from"@patternfly/react-core";var ho=({children:e,title:t,titleComponent:o="h2"})=>go.createElement(qA,null,t&&go.createElement($A,{component:o},t),go.createElement(Od,{component:Bd.dl,className:"detail-list"},e)),$=({title:e,value:t="",idPrefix:o,testId:r,isHidden:s=!1,classNameValue:n})=>s?null:go.createElement(go.Fragment,null,go.createElement(Di,{component:Ni.dt,id:o?`${o}-title`:void 0,"data-testid":r?`${r}-title`:void 0},e),go.createElement(Di,{component:Ni.dd,id:o?`${o}-value`:void 0,"data-testid":r?`${r}-value`:void 0,className:n},Array.isArray(t)?go.createElement(Od,{component:Bd.dl},t.map((i,a)=>[go.createElement(Di,{"data-testid":r?`${r}-title-${a}`:void 0,key:i.title,component:Ni.dt},i.title),go.createElement(Di,{"data-testid":r?`${r}-value-${a}`:void 0,key:`dd-${i.title}`,component:Ni.dd},i.value)])):t));import Hi from"react";import{WizardNavItem as YA}from"@patternfly/react-core";import{ExclamationCircleIcon as jA}from"@patternfly/react-icons";import{global_danger_color_100 as XA}from"@patternfly/react-tokens";var JA=(e,t,o,r)=>!o&&!r&&!t()?Hi.createElement(Hi.Fragment,null,e,Hi.createElement(jA,{className:"wizard-nav-item-warning-icon",color:XA.value,size:"sm"})):e,ZA=({isValid:e=()=>!0,children:t,...o})=>{let{content:r,isDisabled:s,isCurrent:n}=o;return Hi.createElement(YA,{...o,content:JA(r,e,s,n)},t)},Wo=ZA;import tc from"react";import{AlertGroup as cP,AlertActionCloseButton as pP,Alert as uP}from"@patternfly/react-core";import Mr from"react";var Gd={};ov(Gd,{alertsSlice:()=>Vi,dialogsSlice:()=>sP});import{v4 as QA}from"uuid";import{createSlice as eP}from"@reduxjs/toolkit";import{AlertVariant as tP}from"@patternfly/react-core";var Kd=[],Vi=eP({initialState:Kd,name:"alerts",reducers:{addAlert:(e,t)=>[{key:QA(),variant:tP.danger,...t.payload},...e],removeAlert:(e,t)=>e.filter(o=>o.key!==t.payload),clearAlerts:()=>Kd}});import{createSlice as oP}from"@reduxjs/toolkit";var rP={},sP=oP({initialState:rP,name:"alerts",reducers:{openDialog:(e,t)=>(e[t.payload.dialogId]=t.payload.data||{},e),closeDialog:(e,t)=>(e[t.payload.dialogId]=void 0,e)}});var{addAlert:nP,removeAlert:iP,clearAlerts:aP}=Vi.actions,lP=Vi.reducer,zd=Mr.createContext(null),Ud=({children:e})=>{let[t,o]=Mr.useReducer(lP,[]),r={alerts:t,addAlert:Mr.useCallback(s=>o(nP(s)),[]),removeAlert:Mr.useCallback(s=>o(iP(s)),[]),clearAlerts:Mr.useCallback(()=>o(aP()),[])};return Mr.createElement(zd.Provider,{value:r},e)},yt=()=>{let e=Mr.useContext(zd),{t}=d();if(!e)throw new Error(t("ai:useAlerts must be used within AlertsContextProvider"));return e};var mP=({className:e})=>{let{alerts:t,removeAlert:o}=yt(),r=s=>o(s.key);return t.length?tc.createElement(cP,{className:e},t.map(s=>tc.createElement(uP,{actionClose:tc.createElement(pP,{onClose:()=>r(s)}),isInline:!0,...s},s.message))):null},oc=mP;import an from"react";import dP,{defaultProps as fP}from"prism-react-renderer";import{Text as gP,TextVariants as hP,ClipboardCopy as yP,clipboardCopyFunc as CP}from"@patternfly/react-core";import SP from"prism-react-renderer/themes/github";var bP=({code:e,language:t="bash",theme:o=SP,copiable:r=!1})=>an.createElement(dP,{...fP,code:e,language:t,theme:o},({className:s,style:n,tokens:i,getLineProps:a,getTokenProps:l})=>an.createElement(gP,{component:hP.pre,className:s,style:n},r&&an.createElement(yP,{isReadOnly:!0,variant:"inline-compact",onCopy:c=>CP(c,e),style:{float:"right",background:"inherit"}}),i.map((c,p)=>an.createElement("div",{key:p,...a({line:c,key:p})},c.map((u,m)=>an.createElement("span",{key:m,...l({token:u,key:m})})))))),Ye=bP;import vP from"react";var IP=e=>vP.createElement("div",{...e,className:"pf-c-form"}),rc=IP;import{createElement as ln}from"react";import{Alert as TP,AlertVariant as xP,Progress as kP,ProgressMeasureLocation as AP,Stack as PP,StackItem as Wd}from"@patternfly/react-core";var EP=({error:e,progress:t})=>{let{t:o}=d();return ln(PP,{hasGutter:!0},e&&ln(Wd,null,ln(TP,{variant:xP.danger,title:e.title,isInline:!0},e.message)),t!==null&&ln(Wd,null,ln(kP,{value:t,measureLocation:AP.outside,"aria-label":o("ai:Progress")})))},Lr=EP;import{createElement as sc}from"react";import{Modal as FP,Button as qd,ModalVariant as wP}from"@patternfly/react-core";var DP=({title:e,titleIconVariant:t,content:o,confirmationButtonText:r="Yes",confirmationButtonVariant:s="danger",onClose:n,onConfirm:i})=>{let{t:a}=d();return sc(FP,{title:e,titleIconVariant:t,isOpen:!0,onClose:n,variant:wP.small,actions:[sc(qd,{"data-testid":"confirm-modal-submit",key:"confirm",variant:s,onClick:i},r),sc(qd,{key:"cancel",variant:"link",onClick:n},a("ai:Cancel"))]},o)},NP=DP;import $d from"react";import{Text as HP,TextContent as VP}from"@patternfly/react-core";var RP=({children:e})=>$d.createElement(VP,null,$d.createElement(HP,{component:"h2"},e)),io=RP;import Ri from"react";import{WizardBody as MP}from"@patternfly/react-core";import{css as Yd}from"@patternfly/react-styles";import jd from"@patternfly/react-styles/css/components/Wizard/wizard";var LP=({navigation:e,footer:t,children:o})=>Ri.createElement("div",{className:Yd(jd.wizardOuterWrap,"cluster-wizard-step")},Ri.createElement("div",{className:Yd(jd.wizardInnerWrap)},e,Ri.createElement(MP,{"aria-labelledby":"step-id",hasNoBodyPadding:!1},o)),t&&Ri.createElement("div",{className:"pf-c-wizard__footer cluster-wizard-step__footer"},t)),nc=LP;import _P from"lodash/values";import Ct from"react";import{Alert as Xd,AlertGroup as OP,AlertVariant as Jd,Flex as BP,FlexItem as ic,List as KP,ListItem as GP}from"@patternfly/react-core";var zP=({currentStepId:e,clusterStatus:t,validationsInfo:o,hosts:r,wizardStepsValidationsMap:s,children:n})=>{let{failedClusterValidations:i,failedHostnameValidations:a}=Ct.useMemo(()=>{let p=zu(o||{},e,s),u=_P(p).flat(),m=r.some(f=>{let g=typeof f.validationsInfo=="string"?te(f.validationsInfo):f.validationsInfo;return!yl(g||{},["hostname-valid","hostname-unique"])});return{failedClusterValidations:u.filter(f=>f?.status==="failure"),failedHostnameValidations:m}},[o,e,s,r]),l=oi(e,s,{status:t,validationsInfo:o||{}},r)==="ready",{t:c}=d();return Ct.createElement(Ct.Fragment,null,!o&&Ct.createElement(Xd,{variant:Jd.info,title:"Cluster validations are initializing.",isInline:!0},c("ai:Please hold on till background checks are started.")),!l&&Ct.createElement(OP,null,n,Ct.createElement(Xd,{variant:Jd.warning,title:"Cluster is not ready yet.",isInline:!0},Ct.createElement(BP,{spaceItems:{default:"spaceItemsSm"},direction:{default:"column"}},!!i.length&&Ct.createElement(Ct.Fragment,null,Ct.createElement(ic,null,c("ai:The following requirements must be met:")),Ct.createElement(ic,null,Ct.createElement(KP,null,i.filter(Boolean).map(p=>Ct.createElement(GP,{key:p.id},p.message))))),a&&Ct.createElement(ic,null,c("ai:The cluster is not ready yet. Some hosts have an ineligible name. To change the hostname, click on it."))))))},ac=zP;import{Table as uw,TableBody as mw,TableVariant as dw}from"@patternfly/react-table";import{createElement as Tg,useMemo as gw}from"react";import W,{Fragment as qP}from"react";import{Alert as Li,AlertGroup as $P,AlertVariant as tf,Level as YP,LevelItem as of}from"@patternfly/react-core";import{global_warning_color_100 as jP,global_success_color_100 as XP}from"@patternfly/react-tokens";import{PendingIcon as JP,CheckCircleIcon as ZP,ExclamationTriangleIcon as QP}from"@patternfly/react-icons";import Yt from"react";import{Button as lc,ButtonVariant as cc,Flex as Zd,FlexItem as Mi,Popover as UP}from"@patternfly/react-core";import{ExclamationTriangleIcon as Qd}from"@patternfly/react-icons";import{global_warning_color_100 as ef}from"@patternfly/react-tokens";var WP=({host:e,inventory:t={},onEditHostname:o,title:r,className:s,hosts:n,readonly:i=!1})=>{let a=r||We(e,t)||ue,l=a!=="localhost",p=(n?!n.find(f=>{let g=te(f.inventory||"")||{};return f.id!==e.id&&We(f,g)===a}):!0)&&l,u=Yt.createElement(Zd,{alignItems:{default:"alignItemsCenter"}},o&&!p&&Yt.createElement(Mi,{className:"pf-u-mr-xs"},Yt.createElement(Qd,{color:ef.value})),Yt.createElement(Mi,null,a)),{t:m}=d();return!i&&o?p?Yt.createElement(lc,{variant:cc.link,isInline:!0,onClick:o,className:s},u):Yt.createElement(UP,{headerContent:Yt.createElement(Zd,{alignItems:{default:"alignItemsCenter"}},Yt.createElement(Mi,{className:"pf-u-mr-xs"},Yt.createElement(Qd,{color:ef.value})),Yt.createElement(Mi,null,m("ai:Hostname is not valid"))),bodyContent:m(l?"ai:Hostname is not unique":"ai:Hostname can not be localhost"),footerContent:Yt.createElement(lc,{variant:cc.link,isInline:!0,className:s,onClick:o},m("ai:Change hostname")),minWidth:"30rem",maxWidth:"50rem",hideOnOutsideClick:!0,zIndex:300},Yt.createElement(lc,{variant:cc.link,isInline:!0,className:s},u)):u},_r=WP;var rf=({validations:e,variant:t,title:o,actionLinks:r=[]})=>{let{t:s}=d();return W.createElement(Li,{title:o,variant:t,actionLinks:r,isInline:!0},W.createElement("ul",null,e.map(n=>W.createElement("li",{key:n.id},W.createElement("strong",null,es(s)[n.id]||n.id,":"),"\xA0",so(n.message)," ",n.status==="failure"&&zs(s)[n.id]))))},eE=({onEditHostname:e,host:t,hostnameValidations:o,variant:r})=>{let{t:s}=d(),n=[W.createElement(_r,{key:"change-hostname",title:s("ai:Change hostname"),onEditHostname:e,host:t})],i=s("ai:Illegal hostname");return o.length===1?W.createElement(Li,{title:i,variant:r,actionLinks:n,isInline:!0},so(o[0].message)):W.createElement(rf,{title:i,validations:o,variant:r,actionLinks:n})},tE=({AdditionalNTPSourcesDialogToggleComponent:e,variant:t,validation:o})=>{let r=[W.createElement(e,{key:"add-ntp-sources"})],{t:s}=d();return W.createElement(Li,{title:s("ai:NTP synchronization failure"),variant:t,actionLinks:r,isInline:!0},so(o.message)," ",zs(s)[o.id])},oE=({UpdateDay2ApiVipDialogToggleComponent:e,variant:t,validation:o})=>{let r=[W.createElement(e,{key:"update-api-vip"})],{t:s}=d();return W.createElement(Li,{title:s("ai:API connectivity failure"),variant:t,actionLinks:r,isInline:!0},so(o.message))},sf=({validations:e,title:t,variant:o,onEditHostname:r,AdditionalNTPSourcesDialogToggleComponent:s,UpdateDay2ApiVipDialogToggleComponent:n,host:i})=>{if(!e.length)return null;let a={["hostname-unique"]:void 0,["hostname-valid"]:void 0,["ntp-synced"]:void 0,["ignition-downloadable"]:void 0},l=[],c=[];for(let u of e)u.id in a&&u.status==="failure"?a[u.id]=u:c.push(u);let p=[];return a["hostname-unique"]&&p.push(a["hostname-unique"]),a["hostname-valid"]&&p.push(a["hostname-valid"]),p.length>0&&r&&l.push(W.createElement(eE,{hostnameValidations:p,variant:o,onEditHostname:r,host:i,key:"hostname-alert"})),a["ignition-downloadable"]&&n&&l.push(W.createElement(oE,{UpdateDay2ApiVipDialogToggleComponent:n,validation:a["ignition-downloadable"],variant:o,key:"ignition-downloadable-alert"})),a["ntp-synced"]&&s&&l.push(W.createElement(tE,{AdditionalNTPSourcesDialogToggleComponent:s,validation:a["ntp-synced"],variant:o,key:"ntp-sync-alert"})),c.length>0&&l.push(W.createElement(rf,{validations:c,variant:o,title:t,key:"insufficient-alert"})),W.createElement($P,null,l)},nf=({validationsInfo:e,...t})=>{let{t:o}=d();return W.createElement(W.Fragment,null,Object.keys(e).map(r=>{let s=bm(o)[r],n=e[r].filter(l=>l.status==="pending"),i=e[r].filter(l=>l.status==="failure"||l.status==="error");return W.createElement(qP,{key:r},W.createElement(YP,{className:"host-validation-groups__validation-group"},W.createElement(of,null,W.createElement("strong",null,s)),W.createElement(of,null,(()=>i.length?W.createElement(W.Fragment,null,o("ai:Failed")," ",W.createElement(QP,{color:jP.value})):n.length?W.createElement(W.Fragment,null,o("ai:Pending input")," ",W.createElement(JP,null)):W.createElement(W.Fragment,null,o("ai:Ready")," ",W.createElement(ZP,{color:XP.value})))())),!i.length&&W.createElement(sf,{variant:tf.info,title:o("ai:Pending validations:"),validations:n,...t}),W.createElement(sf,{variant:tf.warning,title:o("ai:Failed validations:"),validations:i,...t}))}))};import af from"react";import uE from"react";import{useCallback as rE,useEffect as sE,useRef as nE,useState as iE}from"react";var aE=e=>{let t=nE(!1);sE(()=>(t.current=!0,()=>{t.current=!1}),[]);let[o,r]=iE(e),s=rE(n=>{t.current&&r(n)},[]);return[o,s]},fs=aE;import{useRef as pE}from"react";import lE from"lodash/isEqual";var cE=e=>{let t=pE(e);return lE(e,t.current)||(t.current=e),t.current},pc=cE;var mE=({host:e,onEditRole:t,current:o,position:r})=>{let[s,n]=fs(!1),i=async l=>{n(!0);try{await t(l)}finally{n(!1)}},{t:a}=d();return uE.createElement(_d,{defaultValue:Qr(a)[0].value,current:o,items:Qr(a),setValue:i,isDisabled:s,idPrefix:`role-${e.requestedHostname}`,position:r,menuAppendTo:()=>document.body})},uc=mE;var dE=({host:e,role:t,readonly:o=!1,onEditRole:r,position:s})=>!o&&r?af.createElement(uc,{host:e,onEditRole:r,current:t,position:s}):af.createElement("span",null,t),mc=dE;import Vt from"react";import{Popover as fE,Level as dc,LevelItem as gs}from"@patternfly/react-core";var gE=({cluster:e,inParenthesis:t=!1,valueId:o="hosts-count"})=>{let{t:r}=d(),s=Vt.createElement(Vt.Fragment,null,"readyHostCount"in e&&Vt.createElement(dc,null,Vt.createElement(gs,null,r("ai:Ready for the installation")),Vt.createElement(gs,null,rd(e))),"enabledHostCount"in e&&Vt.createElement(dc,null,Vt.createElement(gs,null,r("ai:Enabled for the installation")),Vt.createElement(gs,null,Ll(e))),Vt.createElement(dc,null,Vt.createElement(gs,null,r("ai:All discovered")),Vt.createElement(gs,null,_l(e)))),n="enabledHostCount"in e?Ll(e):_l(e);return Vt.createElement(fE,{headerContent:r("ai:Hosts in the cluster"),bodyContent:s},Vt.createElement("a",{id:o},t&&"(",n,t&&")"))},lf=gE;import N from"react";import{Popover as PE,Button as EE,Text as pn,TextContent as hs,FlexItem as _i,Flex as df,Stack as FE,StackItem as wE}from"@patternfly/react-core";import DE from"human-date";import hE from"react";import{Progress as yE,ProgressVariant as cf,ProgressMeasureLocation as pf,ProgressSize as CE}from"@patternfly/react-core";var SE=e=>{switch(e){case"cancelled":case"error":return cf.danger;case"installed":return cf.success;default:return}},bE=e=>e==="installed"?pf.none:pf.top,vE=({host:e})=>{let{status:t}=e,o=$s(e),{currentStage:r,progressInfo:s}=Ml(e),n=Si(e),i=`${r}${s?`: ${s}`:" "}`;return hE.createElement(yE,{title:i,value:n,min:1,max:o.length,label:`Step ${n} of ${o.length}`,valueText:`Step ${n} of ${o.length}: ${i}`,variant:SE(t),measureLocation:bE(t),size:CE.sm})},cn=vE;import fc from"react";import{ExternalLinkAltIcon as TE}from"@patternfly/react-icons";import{Button as xE,ButtonVariant as kE}from"@patternfly/react-core";import IE from"react";var uf=IE.createContext({});var AE=({id:e,title:t="OpenShift console"})=>{let{ocpConsoleUrl:o}=fc.useContext(uf)||{};return o?fc.createElement(xE,{variant:kE.link,onClick:()=>window.open(fm(o),"_blank","noopener noreferrer"),id:e},t," ",fc.createElement(TE,null)):null},mf=AE;import{UnknownIcon as NE}from"@patternfly/react-icons";var HE=(e,t)=>{let o=$s(e),r=Si(e);return t.withProgress?`${t.title} ${r}/${o.length}`:t.title},VE=({details:e,autoCSR:t,additionalPopoverContent:o,...r})=>{let{host:s}=r,{status:n,statusInfo:i}=s,{t:a}=d();return["installing-in-progress"].includes(n)?N.createElement(hs,null,N.createElement(cn,{host:s})):["error","cancelled","installing-pending-user-action"].includes(n)?N.createElement(hs,null,N.createElement(pn,null,e,N.createElement("br",null),so(i)),N.createElement(cn,{host:s})):["installed"].includes(n)?N.createElement(hs,null,N.createElement(pn,null,e),N.createElement(cn,{host:s})):["added-to-existing-cluster"].includes(n)?N.createElement(hs,null,N.createElement(pn,null,e),!t&&N.createElement(N.Fragment,null,N.createElement("br",null),a("ai:To finish adding nodes to the cluster, approve the join request inside OpenShift Console's Nodes section."),N.createElement("br",null),a("ai:It may take a few minutes for the join request to appear."),N.createElement("br",null),a("ai:If you prefer using the CLI, follow the instructions in"),"\xA0",N.createElement(lt,{href:hm},a("ai:How to approve nodes using the CLI"))),N.createElement(cn,{host:s})):["preparing-for-installation","preparing-successful","installing","unbinding-pending-user-action","binding","unbinding","reclaiming","reclaiming-rebooting"].includes(n)?N.createElement(hs,null,N.createElement(pn,null,e)):N.createElement(FE,{hasGutter:!0},o,N.createElement(wE,null,e&&N.createElement(hs,null,N.createElement(pn,null,e)),N.createElement(nf,{...r})))},RE=({host:e})=>{let{progress:t,statusUpdatedAt:o}=e,{t:r}=d();if(e.status==="added-to-existing-cluster")return N.createElement(mf,{id:`host-status-detail-link-to-ocp-nodes-${e.requestedHostname||e.id}`});let s;return e.status==="installing-in-progress"?t?.stageUpdatedAt&&t.stageUpdatedAt!==t.stageStartedAt?s=r("ai:Step started at {{startedAt}}, updated {{updatedAt}}",{startedAt:ut(t.stageStartedAt),updatedAt:DE.relativeTime(t.stageUpdatedAt)}):s=r("ai:Step started at {{startedAt}}",{startedAt:ut(t?.stageStartedAt||o)}):o&&(s=r("ai:Status updated at {{humanizedDataTime}}",{humanizedDataTime:ut(o)})),N.createElement(N.Fragment,null,!!s&&N.createElement("small",null,s))},ff=e=>N.createElement(PE,{headerContent:N.createElement("div",null,e.title),bodyContent:N.createElement(VE,{...e}),footerContent:N.createElement(RE,{host:e.host}),minWidth:"30rem",maxWidth:"50rem",hideOnOutsideClick:e.hideOnOutsideClick,zIndex:e.zIndex||300},N.createElement(EE,{variant:"link",isInline:!0,isSmall:e.isSmall},e.children)),ME=({host:e,validationsInfo:t,status:o,onEditHostname:r,AdditionalNTPSourcesDialogToggleComponent:s,UpdateDay2ApiVipDialogToggleComponent:n,children:i,zIndex:a,autoCSR:l,additionalPopoverContent:c})=>{let[p,u]=N.useState(!1),m=N.useCallback(()=>{u(!p),r?.()},[p,r]),{title:f,icon:g,sublabel:C,details:h,noPopover:S}=o,v=HE(e,o),y={hideOnOutsideClick:!p,host:e,onEditHostname:m,AdditionalNTPSourcesDialogToggleComponent:s,title:f,validationsInfo:t,details:h,UpdateDay2ApiVipDialogToggleComponent:n,zIndex:a,autoCSR:l,additionalPopoverContent:c};return N.createElement(df,{alignItems:{default:"alignItemsCenter"},spaceItems:{default:"spaceItemsXs"}},N.createElement(_i,null,g||N.createElement(NE,null)),N.createElement(df,{direction:{default:"column"},spaceItems:{default:"spaceItemsXs"}},!i&&!C&&!S?N.createElement(ff,{...y},v):N.createElement(_i,null,v),i&&N.createElement(_i,null,i),C&&N.createElement(_i,{className:"pf-u-font-size-xs",style:{marginTop:"calc(-1 * var(--pf-l-flex--spacer--xs))"}},N.createElement(ff,{...y},C))))},Oi=ME;import Sf from"react";import{Modal as $E,ModalVariant as YE}from"@patternfly/react-core";import St from"react";import{object as qE}from"yup";import{Button as gf,ButtonVariant as LE,ButtonType as _E,Form as OE,ModalBoxBody as BE,ModalBoxFooter as KE,AlertVariant as hf,Alert as yf,AlertActionCloseButton as GE}from"@patternfly/react-core";import{Formik as zE}from"formik";var UE=(e,t,o=[])=>qE().shape({hostname:hr(e,o,t.hostname)}),WE=({host:e,inventory:t,usedHostnames:o,onCancel:r,onSave:s,onFormSaveError:n})=>{let i=St.useRef();St.useEffect(()=>{i.current?.focus(),i.current?.select()},[]);let{requestedHostname:a}=e,{hostname:l}=t,c={hostId:e.id,hostname:a||""},{t:p}=d();return St.createElement(zE,{validateOnMount:!0,initialValues:c,initialStatus:{error:null},validate:Ut(UE(p,c,o)),onSubmit:async(u,m)=>{if(u.hostname===c.hostname){r();return}try{await s(u),r()}catch(f){let g=n&&n(f)||p("ai:Host update failed.");m.setStatus({error:{title:p("ai:Failed to update host"),message:g}})}}},({handleSubmit:u,status:m,setStatus:f,isSubmitting:g,isValid:C,dirty:h})=>St.createElement(OE,{onSubmit:u},St.createElement(BE,null,St.createElement(rc,null,m.error&&St.createElement(yf,{variant:hf.danger,title:m.error.title,actionClose:St.createElement(GE,{onClose:()=>f({error:null})}),isInline:!0},m.error.message),St.createElement(yf,{variant:hf.info,title:p("ai:This name will replace the original discovered hostname."),isInline:!0}),St.createElement(us,{name:"discoveredHostname",label:"Discovered hostname"},l||""),St.createElement(Wt,{label:p("ai:New hostname"),name:"hostname",ref:i,isRequired:!0,isDisabled:!td(e.status),richValidationMessages:mo(p)}))),St.createElement(KE,null,St.createElement(gf,{key:"submit",type:_E.submit,isDisabled:g||!C||!h},p("ai:Change")),St.createElement(gf,{key:"cancel",variant:LE.link,onClick:r},p("ai:Cancel")))))},Cf=WE;var jE=({isOpen:e,host:t,inventory:o,usedHostnames:r,onClose:s,onSave:n,onFormSaveError:i})=>t&&o?Sf.createElement($E,{"aria-label":"Change hostname dialog",title:"Change hostname",isOpen:e,onClose:s,variant:YE.small,hasNoBodyWrapper:!0},Sf.createElement(Cf,{host:t,inventory:o,usedHostnames:r,onCancel:s,onSave:n,onFormSaveError:i})):null,gc=jE;import{List as XE,ListItem as Bi,TextContent as JE}from"@patternfly/react-core";import{Fragment as vf,createElement as yo}from"react";var hc=e=>ct((e?.ramMib||16*1024)*1024*1024,2,"iec"),bf=({master:e,worker:t,sno:o,isSNOCluster:r})=>{let s=hc(e),n=hc(t),i=hc(o),{t:a}=d();return yo(XE,null,!r&&yo(vf,null,yo(Bi,null,a("ai:Control plane nodes: At least {{master_cpu_cores}} CPU cores, {{master_ram}} RAM, {{master_disksize}} GB disk size for every control plane node.",{master_cpu_cores:e?.cpuCores||4,master_ram:s,master_disksize:e?.diskSizeGb||120})),yo(Bi,null,a("ai:Workers: At least {{worker_cpu_cores}} CPU cores, {{worker_ram}} RAM, {{worker_disksize}} GB disk size for each worker ",{worker_cpu_cores:t?.cpuCores||2,worker_ram:n,worker_disksize:t?.diskSizeGb||12}))),(r===!0||r===void 0)&&yo(vf,null,yo(Bi,null,a("ai:SNO: One host is required with at least {{sno_cpu_cores}} CPU cores, {{snoRam}} of RAM, and {{sno_disksize}} GB of disk size storage.",{sno_cpu_cores:o?.cpuCores||4,snoRam:i,sno_disksize:o?.diskSizeGb||120}))),yo(Bi,null,a("ai:Also note that each host's disk write speed should meet the minimum requirements to run OpenShift. "),yo(lt,{href:"https://access.redhat.com/solutions/4885641"},a("ai:Learn more"))))},ZE=e=>yo(JE,null,yo(bf,{...e})),yc=ZE;import je from"react";import{Button as QE,ButtonVariant as eF,Popover as tF,Text as ys,TextContent as oF,TextVariants as un}from"@patternfly/react-core";import{InfoCircleIcon as rF}from"@patternfly/react-icons";import{Trans as sF}from"react-i18next";var nF=()=>{let{t:e}=d();return je.createElement(oF,null,je.createElement(ys,{component:un.p},e("ai:Your libvirt virtual machines should be configured to restart automatically after a reboot. You can check this by running:")),je.createElement(Ye,{code:"virsh dumpxml <name> | grep on_reboot"}),je.createElement(ys,{component:un.p},e("ai:And verify that this is the output:")),je.createElement(Ye,{code:"<on_reboot>restart</on_reboot>"}),je.createElement(ys,{component:un.p},e("ai:If not, please start your VMs with the following configuration:")),je.createElement(Ye,{code:"--events on_reboot=restart"}),je.createElement(ys,{component:un.p},je.createElement(sF,{t:e,components:{code:je.createElement("code",null)},i18nKey:"ai:When using <code>{{executionCommand}}</code>, please run:",values:{executionCommand:"virt-install"}})),je.createElement(Ye,{code:"virt-install --wait -1 <rest of the command>"}),je.createElement(ys,{component:un.p},e("ai:Otherwise, the VMs will not be able to reboot during the installation process.")))},iF=()=>{let{t:e}=d();return je.createElement(ys,{component:"p"},je.createElement(tF,{bodyContent:je.createElement(nF,null),minWidth:"35rem"},je.createElement(QE,{variant:eF.link,isInline:!0},je.createElement(rF,{size:"sm"}),"\xA0",e("ai:Check your VM reboot configuration"))))},Cc=iF;import{createElement as ot,useCallback as Ef,useEffect as gF,useState as Pf}from"react";import{Dropdown as If,DropdownItem as Tf,DropdownToggle as xf,DropdownToggleCheckbox as aF,Pagination as lF,Split as cF,SplitItem as kf,Toolbar as pF,ToolbarContent as uF,ToolbarItem as Af,Tooltip as mF}from"@patternfly/react-core";import{CaretDownIcon as dF}from"@patternfly/react-icons";var fF=({itemIDs:e,selectedIDs:t,setSelectedIDs:o,actions:r,showPagination:s,clearAllFilters:n,children:i,...a})=>{let[l,c]=Pf(!1),[p,u]=Pf(!1),m=Ef(()=>u(!p),[p]),f=Ef(()=>c(!l),[l]);gF(()=>{t.every(b=>e.includes(b))||o(t.filter(b=>e.includes(b)))},[t,e,o]);let g=!1;t.length&&(g=t.length===e.length&&e.every(b=>t.includes(b))?!0:null);let C=g===!1,h=ot(If,{onSelect:f,toggle:ot(xf,{onToggle:f,toggleIndicator:dF,isDisabled:C},"Actions"),isOpen:l,dropdownItems:r}),S=()=>o(e),v=()=>o([]),{t:y}=d();return ot(cF,{hasGutter:!0},ot(kf,{isFilled:!0},ot(pF,{className:"table-toolbar",clearAllFilters:n},ot(uF,{className:"table-toolbar__content"},ot(Af,null,ot(If,{onSelect:m,toggle:ot(xf,{splitButtonItems:[ot(aF,{id:"select-checkbox",key:"select-checkbox","aria-label":y("ai:Select all"),onChange:b=>b?S():v(),isChecked:g},t.length," ",y("ai:selected"))],onToggle:m}),isOpen:p,dropdownItems:[ot(Tf,{key:"select-all",onClick:S},y("ai:Select all")),ot(Tf,{key:"select-none",onClick:v},y("ai:Select none"))]})),i,ot(Af,null,C?ot(mF,{content:"Select one or more hosts"},h):h)))),s&&ot(kf,null,ot(lF,{itemCount:e.length,...a,isCompact:!0})))},mn=fF;import{createElement as wf}from"react";import{DropdownItem as Ff}from"@patternfly/react-core";var Sc=({onChangeHostname:e})=>wf(Ff,{onClick:e},"Change hostname"),bc=({onDeleteHost:e})=>wf(Ff,{onClick:e},"Delete");import{createElement as q,useCallback as jF,useEffect as YF,useRef as mg,useState as XF}from"react";import{Button as kc,ButtonType as EF,ButtonVariant as FF,Form as wF,HelperText as DF,HelperTextItem as NF,Modal as HF,ModalBoxBody as VF,ModalBoxFooter as RF,Popover as MF,Split as LF,SplitItem as Ac,Stack as _F,StackItem as Yi}from"@patternfly/react-core";import{Formik as OF,useFormikContext as BF}from"formik";import{object as $F}from"yup";import{global_palette_blue_300 as KF}from"@patternfly/react-tokens/dist/js/global_palette_blue_300";import{InfoCircleIcon as GF}from"@patternfly/react-icons";import SF from"axios";import bF from"axios-case-converter";var Qf=sv(Zf()),{__extends:LJ,__assign:Ui,__rest:_J,__decorate:OJ,__param:BJ,__metadata:KJ,__awaiter:GJ,__generator:zJ,__exportStar:UJ,__createBinding:WJ,__values:qJ,__read:$J,__spread:YJ,__spreadArrays:jJ,__spreadArray:XJ,__await:JJ,__asyncGenerator:ZJ,__asyncDelegator:QJ,__asyncValues:eZ,__makeTemplateObject:tZ,__importStar:oZ,__importDefault:rZ,__classPrivateFieldGet:sZ,__classPrivateFieldSet:nZ,__classPrivateFieldIn:iZ}=Qf.default;function eg(e){return e.toLowerCase()}var hF=[/([a-z0-9])([A-Z])/g,/([A-Z])([A-Z][a-z])/g],yF=/[^A-Z0-9]+/gi;function tg(e,t){t===void 0&&(t={});for(var o=t.splitRegexp,r=o===void 0?hF:o,s=t.stripRegexp,n=s===void 0?yF:s,i=t.transform,a=i===void 0?eg:i,l=t.delimiter,c=l===void 0?" ":l,p=og(og(e,r,"$1\0$2"),n,"\0"),u=0,m=p.length;p.charAt(u)==="\0";)u++;for(;p.charAt(m-1)==="\0";)m--;return p.slice(u,m).split("\0").map(a).join(c)}function og(e,t,o){return t instanceof RegExp?e.replace(t,o):t.reduce(function(r,s){return r.replace(s,o)},e)}function Ic(e,t){var o=e.charAt(0),r=e.substr(1).toLowerCase();return t>0&&o>="0"&&o<="9"?"_"+o+r:""+o.toUpperCase()+r}function rg(e,t){return t===void 0&&(t={}),tg(e,Ui({delimiter:"",transform:Ic},t))}function CF(e,t){return t===0?e.toLowerCase():Ic(e,t)}function sg(e,t){return t===void 0&&(t={}),rg(e,Ui({transform:CF},t))}var vF={caseFunctions:{camel:e=>sg(e,{stripRegexp:/[^A-Z0-9.-]+/gi})}},IF=()=>{let e=SF.create();return e.interceptors.request.use(t=>({...t,url:`${process.env.REACT_APP_API_ROOT}${t.url}`})),bF(e,vF)},he=IF(),Wi;import kF from"axios";import{Severity as AF}from"@sentry/browser";import PF from"lodash/pick";import{Severity as ng,captureException as xF,captureMessage as TF}from"@sentry/browser";var qi=(e,t,o=ng.Error)=>{Wi?(t&&TF(t,o),xF(e)):o===ng.Error?console.error(t,e):console.warn(t,e)};function Tc(e){return Mm(e)&&Lm(e,"isAxiosError")&&e.isAxiosError===!0}var xc=e=>Tc(e)?typeof e.response?.data=="object":!1;var ig=(e,t)=>{if(kF.isCancel(e))qi(e,"Request canceled",AF.Info);else if(xc(e)){let o=`URL: ${JSON.stringify(e.config.url,null,1)}
|
|
5
|
-
`;o+=`Method: ${JSON.stringify(e.config.method,null,1)}
|
|
6
|
-
`,e.response?(o+=`Status: ${e.response.status}
|
|
7
|
-
`,o+=`Response: ${JSON.stringify(PF(e.response.data,["code","message","reason"]),null,1)}
|
|
8
|
-
`):e.request&&(o+=`Status Code: ${JSON.stringify(e.request.__sentry_xhr__.status_code,null,1)}`),qi(e,o)}else qi(e);if(t)return t(e)},$i=e=>xc(e)?e.response?.data?.message||e.response?.data.reason||e.message:U(e);var ag=e=>{let t=Me(e);return We(e,t)||""},lg=(e,t)=>t.hostname.replace(/{{n+}}/g,`${e+1}`),cg=(e,t,o)=>{let r=0;return t.map(s=>{let[n,i]=o(s),a={newHostname:n?lg(r,e):void 0,reason:n?void 0:i};return n&&r++,a})},pg={hostname:""},zF=(e,t,o)=>$F().shape({hostname:hr(o,t,e.hostname).required(o("ai:Required field"))}),ug=(e,t)=>(e={...e||{},hostname:(e?.hostname||[]).concat(t)},e),UF=(e,t,o,r,s)=>async n=>{let i=cg(n,e,r).filter(c=>!c.reason).map(({newHostname:c})=>c),a=t.reduce((c,p)=>(e.find(u=>u.id===p.id)||c.push(ag(p)),c),[]),l=await Ut(o)({...n,hostname:i[0]||""});return(i.some(c=>a.includes(c||""))||new Set(i).size!==i.length)&&(l=ug(l,mo(s).NOT_UNIQUE)),i.some(c=>Ti.includes(c||""))&&(l=ug(l,mo(s).LOCALHOST_ERR)),l},WF=({selectedHosts:e,isOpen:t,patchingHost:o,onClose:r,canChangeHostname:s})=>{let{values:n,handleSubmit:i,isSubmitting:a,status:l,isValid:c}=BF(),p=mg(),u=mg(e);YF(()=>{t&&p.current?.focus()},[t]),jF(()=>{a||(u.current=e)},[e,a]);let m=u.current,f=cg(n,m,s),{t:g}=d();return q(wF,{onSubmit:i},q(VF,null,q(_F,{hasGutter:!0},q(Yi,null,q("div",null,g("ai:Rename hostnames using the custom template:")),q("div",null,q("strong",null,"{{n}}")," ",g("ai:to add a number."))),q(Yi,null,q(Wt,{name:"hostname",ref:p,isRequired:!0,richValidationMessages:mo(g)}),q(DF,null,q(NF,{variant:"indeterminate"},g("ai:For example: host-{{n}}",{interpolation:{suffix:"###",prefix:"###"}})))),q(Yi,null,g("ai:Preview"),q("div",{className:"hostname-preview"},m.map((C,h)=>{let{newHostname:S,reason:v}=f[h];return q(LF,{key:C.id||h,hasGutter:!0},q(Ac,{className:"hostname-column"},q("div",{className:"hostname-column__text"},q("strong",null,ag(C)))),q(Ac,null,q("div",null,q("strong",null,">"))),q(Ac,{isFilled:!0},v?q(MF,{"aria-label":g("ai:Cannot change hostname popover"),headerContent:q("div",null,g("ai:Hostname cannot be changed")),bodyContent:q("div",null,v)},q(kc,{variant:"link",icon:q(GF,{color:KF.value}),isInline:!0},g("ai:Not changeable"))):S||g("ai:New hostname will appear here...")))}))),q(Yi,null,q(Lr,{error:l?.error,progress:a?100*(o+1)/m.length:null})))),q(RF,null,q(kc,{key:"submit",type:EF.submit,isDisabled:a||!c},g("ai:Change")),q(kc,{onClick:r,variant:FF.secondary,isDisabled:a},g("ai:Cancel"))))},qF=({isOpen:e,onClose:t,selectedHostIDs:o,hosts:r,onChangeHostname:s,canChangeHostname:n})=>{let[i,a]=XF(0),l=r.filter(p=>o.includes(p.id)),{t:c}=d();return q(HF,{"aria-label":c("ai:Change hostnames dialog"),title:c("ai:Change hostnames"),isOpen:e,onClose:t,hasNoBodyWrapper:!0,id:"mass-change-hostname-modal",variant:"small"},q(OF,{initialValues:pg,validate:UF(l,r,zF(pg,[],c),n,c),onSubmit:async(p,u)=>{let m=0;try{for(let f of l){a(m);let g=lg(m,p);await s(f,g),m++}t()}catch(f){u.setStatus({error:{title:c("ai:Failed to update host"),message:$i(f)}})}}},q(WF,{isOpen:e,selectedHosts:l,patchingHost:i,onClose:t,canChangeHostname:n})))},dn=qF;import{createElement as Co,useState as gg}from"react";import{Button as dg,ButtonVariant as fg,Modal as JF,ModalBoxBody as ZF,ModalBoxFooter as QF,Stack as ew,StackItem as Pc}from"@patternfly/react-core";var tw=({isOpen:e,onClose:t,onDelete:o,hosts:r,children:s})=>{let[n,i]=gg(null),[a,l]=gg(),{t:c}=d(),p=async()=>{l(void 0);let u=0;try{for(let m of r)i(100*(u+1)/r.length),await o(m);i(null),t()}catch(m){l({title:c("ai:Failed to delete host"),message:U(m)}),i(null)}};return Co(JF,{"aria-label":c("ai:Delete hosts dialog"),title:c("ai:Delete hosts"),isOpen:e,onClose:t,hasNoBodyWrapper:!0,id:"mass-delete-modal",variant:"medium",titleIconVariant:"warning"},Co(ZF,null,Co(ew,{hasGutter:!0},Co(Pc,null,c("ai:You are deleting multiple resources. All resources listed below will be deleted if you continue. This action cannot be undone.")),Co(Pc,null,s),Co(Pc,null,Co(Lr,{error:a,progress:n})))),Co(QF,null,Co(dg,{onClick:p,isDisabled:n!==null,variant:fg.danger},c("ai:Delete hosts")),Co(dg,{onClick:t,variant:fg.secondary,isDisabled:n!==null},c("ai:Cancel"))))},Ec=tw;import{createElement as se}from"react";import{AddCircleOIcon as ow,BanIcon as Fc,CheckCircleIcon as hg,ConnectedIcon as yg,DisconnectedIcon as Cg,ExclamationCircleIcon as rw,ExclamationTriangleIcon as ji,InProgressIcon as qo,LinkIcon as sw,PendingIcon as nw,PlusIcon as iw}from"@patternfly/react-icons";import{global_danger_color_100 as aw,global_warning_color_100 as Xi,global_success_color_100 as Sg,chart_color_blue_300 as lw}from"@patternfly/react-tokens";var wc=Object.freeze({"unbinding-pending-user-action":{key:"unbinding-pending-user-action",title:"Removing from cluster",category:"Discovery related",icon:se(qo,null),details:"This host is being removed from the cluster. To finish, reboot the host with the infrastructure environment ISO."},reclaiming:{key:"reclaiming",title:"Returning to the infrastructure environment",category:"Discovery related",icon:se(qo,null),details:"This host is being removed from the cluster."},"reclaiming-rebooting":{key:"reclaiming-rebooting",title:"Rebooting while returning to the infrastructure environment",category:"Discovery related",icon:se(qo,null),details:"This host is being rebooted to be available for reuse in another cluster."},"preparing-failed":{key:"preparing-failed",title:"Preparing step failed",category:"Installation related",details:"Preparing step failed"},unbinding:{key:"unbinding",title:"Removing from cluster",category:"Discovery related",icon:se(qo,null),details:"This host is being removed from the cluster."},"disabled-unbound":{key:"disabled-unbound",title:"Disabled",category:"Discovery related",icon:se(Fc,null),details:"This host was manually removed from a cluster and can not be included in another one. Enable this host to make it available again."},"disconnected-unbound":{key:"disconnected-unbound",title:"Disconnected",category:"Discovery related",icon:se(Cg,null),details:"Ensure the host is running, responsive, and is able to contact the installer."},"discovering-unbound":{key:"discovering-unbound",title:"Discovering",category:"Discovery related",icon:se(yg,null),details:"This host is transmitting its hardware and networking information to the installer. Please wait while this information is received."},"insufficient-unbound":{key:"insufficient-unbound",title:"Insufficient",category:"Discovery related",icon:se(ji,{color:Xi.value}),details:"This host does not meet the minimum hardware or networking requirements and can not be included in the cluster."},"known-unbound":{key:"known-unbound",title:"Available",category:"Discovery related",icon:se(iw,{color:lw.value}),details:"This host meets the minimum hardware and networking requirements and can be included in the cluster."},binding:{key:"binding",title:"Binding",category:"Discovery related",icon:se(sw,null),details:"This host is being added to the cluster."},discovering:{key:"discovering",title:"Discovering",category:"Discovery related",icon:se(yg,null),details:"This host is transmitting its hardware and networking information to the installer. Please wait while this information is received."},"pending-for-input":{key:"pending-for-input",title:"Pending input",category:"Discovery related",icon:se(nw,null)},known:{key:"known",title:"Ready",category:"Discovery related",icon:se(hg,{color:Sg.value}),details:"This host meets the minimum hardware and networking requirements and will be included in the cluster."},disconnected:{key:"disconnected",title:"Disconnected",category:"Discovery related",icon:se(Cg,null),details:"This host has lost its connection to the installer and will not be included in the cluster unless connectivity is restored."},insufficient:{key:"insufficient",title:"Insufficient",category:"Discovery related",icon:se(ji,{color:Xi.value}),details:"This host does not meet the minimum hardware or networking requirements and will not be included in the cluster."},disabled:{key:"disabled",title:"Disabled",category:"Discovery related",icon:se(Fc,null),details:"This host was manually disabled and will not be included in the cluster. Enable this host to include it again."},"preparing-for-installation":{key:"preparing-for-installation",title:"Preparing for installation",category:"Installation related",icon:se(qo,null)},"preparing-successful":{key:"preparing-successful",title:"Preparing step successful",category:"Installation related",icon:se(qo,null)},installing:{key:"installing",title:"Starting installation",category:"Installation related",icon:se(qo,null)},"installing-in-progress":{key:"installing-in-progress",title:"Installing",category:"Installation related",icon:se(qo,null),withProgress:!0},"installing-pending-user-action":{key:"installing-pending-user-action",title:"Pending user action",category:"Installation related",icon:se(ji,{color:Xi.value}),details:"This host is pending user action"},installed:{key:"installed",title:"Installed",category:"Installation related",icon:se(hg,{color:Sg.value}),details:"This host completed its installation successfully."},cancelled:{key:"cancelled",title:"Installation cancelled",category:"Installation related",icon:se(Fc,null),details:"This host installation has been cancelled.",withProgress:!0},error:{key:"error",title:"Error",category:"Installation related",icon:se(rw,{color:aw.value}),details:"This host failed its installation.",withProgress:!0},resetting:{key:"resetting",title:"Resetting",category:"Installation related",icon:se(qo,null),details:"This host is resetting the installation."},"resetting-pending-user-action":{key:"resetting-pending-user-action",title:"Reboot required",category:"Installation related",icon:se(ji,{color:Xi.value}),details:"Host already booted from disk during previous installation. To finish resetting the installation please boot the host into Discovery ISO."},"added-to-existing-cluster":{key:"added-to-existing-cluster",title:"Installed",category:"Installation related",icon:se(ow,null),details:"This host completed its installation successfully."}});import cw from"humanize-plus";var bg=e=>e.memory?.physicalBytes||0,vg=e=>e.disks?.filter(t=>t.driveType!==Zm).reduce((t,o)=>t+(o.sizeBytes||0),0)||0,pw=e=>cw.formatNumber(e.cpu?.frequency||0),Ig=e=>({cores:e.cpu?.count||0,memory:bg(e),disks:vg(e)}),Dc={title:ue,sortableValue:0},$o=e=>{let t=Dc,o=Dc,r=Dc,s=ue;if(e.cpu?.count){let a=e.cpu?.flags?.includes("ht")?" (hyper-threaded)":"";s=`${e.cpu?.count} cores${a} at ${pw(e)} MHz`,t={title:e.cpu?.count.toString(),sortableValue:e.cpu?.count}}let n=bg(e);n&&(o={title:ct(n,2,"iec"),sortableValue:n});let i=vg(e);return i&&(r={title:ct(i,2,"si"),sortableValue:i}),{serialNumber:e.systemVendor?.serialNumber||ue,cores:t,cpuSpeed:s,memory:o,disk:r}};var fw=({hosts:e=[]})=>{let t=gw(()=>{let o=ns(e).reduce((r,s)=>{r.count++;let n=te(s.inventory);if(n){let i=Ig(n);r.cores+=i.cores,r.memory+=i.memory,r.fs+=i.disks}return r},{count:0,cores:0,memory:0,fs:0});return[{cells:["Hosts",o.count]},{cells:["Cores",o.cores]},{cells:["Memory",ct(o.memory,2,"iec")]},{cells:["Storage",ct(o.fs,2,"si")]}]},[e]);return Tg(uw,{rows:t,cells:["",""],variant:dw.compact,borders:!1,"aria-label":"Cluster summary table",className:"review-hosts-table"},Tg(mw,null))},Nc=fw;import ye from"react";import hw from"lodash/values";import{Button as yw,ButtonVariant as Cw}from"@patternfly/react-core";import{CheckCircleIcon as Sw,ExclamationCircleIcon as bw,ExclamationTriangleIcon as vw}from"@patternfly/react-icons";import{global_success_color_100 as Iw,global_danger_color_100 as Tw,global_warning_color_100 as xw}from"@patternfly/react-tokens";import{Trans as kw}from"react-i18next";var xg=()=>{let{t:e}=d();return ye.createElement(ye.Fragment,null,ye.createElement(Sw,{color:Iw.value})," ",e("ai:All validations passed"))},Aw=({id:e,count:t})=>{let{t:o}=d();return ye.createElement("div",{id:e},o("ai:There is still {{count}} pending validation",{count:t}))},Pw=({step:e,setCurrentStepId:t,wizardStepNames:o})=>ye.createElement(yw,{variant:Cw.link,onClick:()=>t(e),isInline:!0},o[e]),kg=({validation:e,clusterGroup:t,hostGroup:o,severity:r="danger",setCurrentStepId:s,wizardStepNames:n,wizardStepsValidationsMap:i})=>{let{t:a}=d(),l=a("ai:{{check_failed}} check failed",{check_failed:es(a)[e.id]||vm(a)[e.id]||e.id}),c,p=Gu({validationId:e.id,clusterGroup:t,hostGroup:o},i);p==="review"?c=a("ai:Please wait till all validations are finished."):p?c=ye.createElement(ye.Fragment,null,ye.createElement(kw,{t:a},"ai:It can be fixed in the"," ",ye.createElement(Pw,{step:p,setCurrentStepId:s,wizardStepNames:n})," ","step.")):console.error("Unknown validation ID detected in the ",t||o," group:",JSON.stringify(e));let u;return r==="warning"?u=ye.createElement(vw,{color:xw.value}):u=ye.createElement(bw,{color:Tw.value,size:"sm"}),ye.createElement("div",{id:`failing-validation-${e.id}`},u," ",l,c?".":""," ",c)},Hc=({validationsInfo:e="",setCurrentStepId:t,wizardStepNames:o,wizardStepsValidationsMap:r})=>{let s=te(e)||{},n=[],i=0;return Object.keys(s).forEach(a=>{let l=c=>{c.status==="pending"&&i++,c.status==="failure"&&n.push(ye.createElement(kg,{key:c.id,validation:c,clusterGroup:a,setCurrentStepId:t,wizardStepNames:o,wizardStepsValidationsMap:r}))};s[a].forEach(l)}),i&&n.unshift(ye.createElement(Aw,{key:"pending-validations",id:"cluster-pending-validations",count:i})),n.length===0?ye.createElement(xg,null):ye.createElement(ye.Fragment,null,n)},Vc=({hosts:e=[],setCurrentStepId:t,wizardStepNames:o,allClusterWizardSoftValidationIds:r,wizardStepsValidationsMap:s})=>{let n={};ns(e).forEach(a=>{let l=te(a.validationsInfo)||{};Object.keys(l).forEach(c=>{let p=u=>{if(u.status==="failure"){let m=r.includes(u.id)?"warning":"danger";n[u.id]=n[u.id]||ye.createElement(kg,{key:u.id,validation:u,hostGroup:c,severity:m,setCurrentStepId:t,wizardStepNames:o,wizardStepsValidationsMap:s})}};l[c].forEach(p)})});let i=hw(n);return i.length===0?ye.createElement(xg,null):ye.createElement(ye.Fragment,null,i)};import{array as Fg,bool as Dw,boolean as ww,lazy as Fw,object as Rc,string as wg}from"yup";var Ag=()=>[{url:"",thumbprint:""}],Ew=e=>{if(!e)return Ag();let t=Ag();try{t=JSON.parse(e)}catch{console.warn("Tang Servers can not be parsed")}return t},Pg=({cluster:e,pullSecret:t,managedDomains:o,ocpVersions:r,baseDomain:s})=>{let{name:n="",highAvailabilityMode:i="Full",baseDnsDomain:a=s||"",openshiftVersion:l=si(r)}=e||{};return{name:n,highAvailabilityMode:i,openshiftVersion:l,pullSecret:t||"",baseDnsDomain:a,SNODisclaimer:i==="None",useRedHatDnsService:!!a&&o.map(c=>c.domain).includes(a),enableDiskEncryptionOnMasters:["all","masters"].includes(e?.diskEncryption?.enableOn??"none"),enableDiskEncryptionOnWorkers:["all","workers"].includes(e?.diskEncryption?.enableOn??"none"),diskEncryptionMode:e?.diskEncryption?.mode??"tpmv2",diskEncryptionTangServers:Ew(e?.diskEncryption?.tangServers),diskEncryption:e?.diskEncryption??{},cpuArchitecture:e?.cpuArchitecture||Ae.x86}},Eg=({usedClusterNames:e,featureSupportLevels:t,pullSecretSet:o,ocpVersions:r,validateUniqueName:s,isOcm:n,t:i})=>Fw(a=>{let l=()=>ki(i,e,a.baseDnsDomain,s,n);return o?Rc({name:l(),baseDnsDomain:Xs.required("Required")}):Rc({name:l(),baseDnsDomain:Xs.required("Required"),pullSecret:gr.required("Required."),SNODisclaimer:ww().when(["highAvailabilityMode","openshiftVersion"],{is:(c,p)=>{let u=(r||[]).find(m=>m.value===p);return c==="None"&&u&&t.getFeatureSupportLevel(u.value,"SNO")==="dev-preview"},then:Dw().oneOf([!0],i("ai:Confirm the Single Node OpenShift disclaimer to continue."))}),diskEncryptionTangServers:Fg().when("diskEncryptionMode",{is:c=>c==="tang",then:Fg().of(Rc().shape({url:wg().url(i('ai:Tang Server URL must be a valid URL starting with "http://" or "https://"')).required(i("ai:Required.")),thumbprint:wg().required(i("ai:Required."))}))})})});import So from"react";import{DescriptionList as Dg,DescriptionListDescription as Nw,DescriptionListGroup as Hw,DescriptionListTerm as Vw,Grid as Rw,GridItem as Ng}from"@patternfly/react-core";var Hg=({item:e})=>So.createElement(Hw,null,So.createElement(Vw,null,e.key),So.createElement(Nw,null,e.value||ue)),Mw=({leftItems:e,rightItems:t=[]})=>So.createElement(Rw,{hasGutter:!0},So.createElement(Ng,{span:t.length?6:12},So.createElement(Dg,null,e.map(o=>So.createElement(Hg,{key:o.key,item:o})))),t.length&&So.createElement(Ng,{span:6},So.createElement(Dg,null,t.map(o=>So.createElement(Hg,{key:o.key,item:o}))))),Mc=Mw;import bo from"react";import{Flex as Lw,FlexItem as Vg,Progress as _w,ProgressMeasureLocation as Rg,ProgressVariant as Mg}from"@patternfly/react-core";var Ow=e=>{switch(e){case"cancelled":case"error":return Mg.danger;case"installed":case"adding-hosts":return Mg.success;default:return}},Bw=e=>["installed","adding-hosts"].includes(e)?Rg.none:Rg.top,Kw=(e,t,o)=>e==="installed"||e==="adding-hosts"?o("ai:Installed on {{humanizedDataTime}}",{humanizedDataTime:ut(t)}):e==="error"?o("ai:Failed on {{humanizedDataTime}}",{humanizedDataTime:ut(t)}):e==="cancelled"?o("ai:Cancelled on {{humanizedDataTime}}",{humanizedDataTime:ut(t)}):Cm(o)[e]||e,Gw=({cluster:e,minimizedView:t=!1,totalPercentage:o})=>{let{status:r}=e,{t:s}=d();return bo.createElement(bo.Fragment,null,bo.createElement(ho,null,bo.createElement(Lw,{direction:{default:t?"row":"column"}},bo.createElement(Vg,null,bo.createElement($,{title:s("ai:Started on"),value:ut(e.installStartedAt),idPrefix:"cluster-progress-started-on"})),bo.createElement(Vg,null,bo.createElement($,{title:s("ai:Status"),value:Kw(e.status,e.installCompletedAt,s),idPrefix:"cluster-progress-status"})))),bo.createElement(no,{condition:!t},bo.createElement(_w,{value:o||0,label:`${o||0}%`,title:" ",measureLocation:Bw(r),variant:Ow(r),className:"cluster-progress-bar"})))},Lc=Gw;import Pe from"react";import{GridItem as Jw,ClipboardCopy as Zw,clipboardCopyFunc as Qw,Button as eD,Alert as tD}from"@patternfly/react-core";import Le from"react";import{Modal as zw,Button as _c,ButtonVariant as Lg,Text as Uw,ModalVariant as Ww,ExpandableSection as qw}from"@patternfly/react-core";import{InfoCircleIcon as $w}from"@patternfly/react-icons";var Yw=e=>e&&e.length>0?[...e.slice(1)].reduce((t,o)=>`${t}
|
|
9
|
-
${o}`,e[0]):"",_g=e=>{let{requiredList:t,...o}=e;return Le.createElement(qw,{...o},Le.createElement(Ye,{code:Yw(t),language:"markup",copiable:!0}))},jw=({cluster:e,consoleUrl:t})=>{let[o,r]=Le.useState(!0),s=()=>r(!o),[n="",i=""]=[e.apiVip,e.ingressVip],a=`${e.name}.${e.baseDnsDomain}`,l=`apps.${a}`,c=[`${n} api.${a}`,`${i} oauth-openshift.${l}`,`${i} ${Ou(t)}`,`${i} grafana-openshift-monitoring.${l}`,`${i} thanos-querier-openshift-monitoring.${l}`,`${i} prometheus-k8s-openshift-monitoring.${l}`,`${i} alertmanager-main-openshift-monitoring.${l}`],p=`*.${l}.`.length+2,u=[`api.${a}`.padEnd(p)+`A ${n}`,`*.${l}`.padEnd(p)+`A ${i}`],{t:m}=d();return Le.createElement(Le.Fragment,null,Le.createElement(Uw,{component:"p"},m("ai:In order to access the OpenShift Web Console, use external DNS server or local configuration to resolve its hostname. To do so, either:")),Le.createElement(_g,{toggleText:m("ai:Option 1: Add the following records to your DNS server (recommended)"),className:"pf-u-pb-md",isExpanded:o,onToggle:s,requiredList:u}),Le.createElement(_g,{toggleText:m("ai:Option 2: Update your local /etc/hosts or /etc/resolv.conf files"),className:"pf-u-pb-md",isExpanded:!o,onToggle:s,requiredList:c}))};var Og=({cluster:e,consoleUrl:t,idPrefix:o})=>{let[r,s]=Le.useState(!1),{t:n}=d();return Le.createElement(Le.Fragment,null,Le.createElement(_c,{variant:"link",icon:Le.createElement($w,null),iconPosition:"left",isInline:!0,onClick:()=>s(!0),"data-testid":`${o}-troubleshooting-hint-open`},n("ai:Not able to access the Web Console?")),Le.createElement(Xw,{closeModal:()=>s(!1),consoleUrl:t,cluster:e,isOpen:r}))},Xw=({closeModal:e,cluster:t,consoleUrl:o,isOpen:r})=>{let{t:s}=d(),n=[Le.createElement(_c,{type:"submit",key:"launch",variant:Lg.primary,onClick:()=>window.open(o,"_blank","noopener"),isDisabled:!o},s("ai:Launch OpenShift Console")),Le.createElement(_c,{variant:Lg.secondary,onClick:()=>e(),key:"close"},s("ai:Close"))];return Le.createElement(zw,{title:s("ai:OpenShift Web Console troubleshooting"),isOpen:r,onClose:e,actions:n,variant:Ww.large},Le.createElement(jw,{cluster:t,consoleUrl:o}))};import{ExternalLinkAltIcon as oD}from"@patternfly/react-icons";var rD=({cluster:e,credentials:t,error:o=!1,retry:r,idPrefix:s="cluster-creds",credentialsError:n=""})=>{let i,{t:a}=d();if(o)n.includes("403")?i=Pe.createElement(tD,{variant:"info",isInline:!0,title:"You do not have permission to view the cluster credentials"},"For more information, contact your organization administrator"):i=Pe.createElement(Rr,{title:a("ai:Failed to fetch cluster credentials."),fetchData:r});else if(!t)i=Pe.createElement(pt,null);else{if(!t.username&&!t.consoleUrl)return Pe.createElement(Pe.Fragment,null,"N/A");i=Pe.createElement(ho,null,t.consoleUrl&&Pe.createElement($,{title:a("ai:Web Console URL"),value:Pe.createElement(Pe.Fragment,null,Pe.createElement(eD,{variant:"link",icon:Pe.createElement(oD,null),iconPosition:"right",isInline:!0,onClick:()=>window.open(t.consoleUrl,"_blank","noopener"),"data-testid":`${s}-link-console-url`},t.consoleUrl),Pe.createElement("br",null),e.apiVip&&e.ingressVip&&Pe.createElement(Og,{consoleUrl:t.consoleUrl,cluster:e,idPrefix:s}))}),t.username&&Pe.createElement(Pe.Fragment,null,Pe.createElement($,{title:"Username",value:t.username}),Pe.createElement($,{title:a("ai:Password"),value:Pe.createElement(Zw,{isReadOnly:!0,onCopy:l=>Qw(l,t.password)},"\u2022\u2022\u2022\u2022\u2022")})))}return Pe.createElement(Jw,{span:12},i)},Oc=rD;import Bg from"react";import{saveAs as Kg}from"file-saver";import{Button as sD,ButtonVariant as nD}from"@patternfly/react-core";var Ji=new AbortController,oe={abortLastGetRequest(){Ji.abort(),Ji=new AbortController},makeBaseURI(e){return`/v2/clusters/${e||""}`},makeDownloadsBaseURI(e){return`${oe.makeBaseURI(e)}/downloads`},makeLogsBaseURI(e){return`${oe.makeBaseURI(e)}/logs`},makeDownloadsCredentialsBaseURI(e){return`${oe.makeDownloadsBaseURI(e)}/credentials`},makeDownloadsCredentialsPresignedBaseURI(e){return`${oe.makeDownloadsBaseURI(e)}/credentials-presigned`},makeDownloadsFilesPresignedBaseURI(e){return`${oe.makeDownloadsBaseURI(e)}/files-presigned`},makeSupportedPlatformsBaseURI(e){return`${oe.makeBaseURI(e)}/supported-platforms`},makeActionsBaseURI(e){return`${oe.makeBaseURI(e)}/actions`},downloadClusterCredentials(e,t){return he.get(`${oe.makeDownloadsCredentialsBaseURI(e)}?file_name=${t}`,{responseType:"blob",headers:{Accept:"application/octet-stream"}})},getPresignedForClusterCredentials({clusterId:e,fileName:t,hostId:o,logsType:r}){let s=`${r?`&logs_type=${r}`:""}${o?`&host_id=${o}`:""}`;return he.get(`${oe.makeDownloadsCredentialsPresignedBaseURI(e)}?file_name=${t}${s}`)},getPresignedForClusterFiles({clusterId:e,fileName:t,hostId:o,logsType:r}){let s=`${r?`&logs_type=${r}`:""}${o?`&host_id=${o}`:""}`;return he.get(`${oe.makeDownloadsFilesPresignedBaseURI(e)}?file_name=${t}${s}`)},list(){return he.get(`${oe.makeBaseURI()}`,{signal:Ji.signal})},get(e){return he.get(`${oe.makeBaseURI(e)}`,{signal:Ji.signal})},getSupportedPlatforms(e){return he.get(`${oe.makeSupportedPlatformsBaseURI(e)}`)},getPreflightRequirements(e){return he.get(`${oe.makeBaseURI(e)}/preflight-requirements`)},getDefaultConfig(){return he.get(`${oe.makeBaseURI()}/default-config`)},deregister(e){return he.delete(`${oe.makeBaseURI(e)}`)},register(e){return he.post(`${oe.makeBaseURI()}`,e)},update(e,t){return he.patch(`${oe.makeBaseURI(e)}`,t)},install(e){return he.post(`${oe.makeActionsBaseURI(e)}/install`)},cancel(e){return he.post(`${oe.makeActionsBaseURI(e)}/cancel`)},reset(e){return he.post(`${oe.makeActionsBaseURI(e)}/reset`)},registerAddHosts(e){return he.post(`${oe.makeBaseURI()}import`,e)},allowAddHosts(e){return he.post(`${oe.makeActionsBaseURI(e)}/allow-add-workers`)},downloadLogs(e,t){let o=`logs_type=${t?`host&host_id=${t}`:"all"}`;return he.get(`${oe.makeLogsBaseURI(e)}?${o}`,{responseType:"blob",headers:{Accept:"application/octet-stream"}})},getCredentials(e){return he.get(`${oe.makeBaseURI(e)}/credentials`)},listByOpenshiftId(e){return he.get(`${oe.makeBaseURI()}?openshift_cluster_id=${e||""}`)},listBySubscriptionIds(e){return he.get(`${oe.makeBaseURI()}?ams_subscription_ids=${e.toString()}`)}},Bc=oe;var iD=e=>{let t=e["content-disposition"]&&e["content-disposition"].match(/filename=".*"/);return t?t[0].slice(10,-1):"kubeconfig"},aD=({clusterId:e,status:t,id:o,handleDownload:r})=>{let{addAlert:s}=yt(),n=Bg.useCallback(async(a,l)=>{try{if(Wi){let{data:c}=await Bc.getPresignedForClusterCredentials({clusterId:a,fileName:"kubeconfig"});Kg(c.url)}else{let c=await Bc.downloadClusterCredentials(a,"kubeconfig"),p=iD(c.headers);Kg(c.data,p)}}catch(c){ig(c,p=>{s({title:l("ai:Could not download kubeconfig"),message:$i(p)})})}},[s]),{t:i}=d();return Bg.createElement(sD,{variant:nD.secondary,onClick:r||(()=>n(e,i)),isDisabled:!ed(t),id:o,"data-testid":o},"Download kubeconfig")},Kc=aD;import Qi from"react";import{useFormikContext as mD}from"formik";import bt from"react";import{Alert as lD,AlertVariant as Gg,List as cD,ListItem as Zi,Stack as pD,StackItem as zg}from"@patternfly/react-core";var uD=({snoSupportLevel:e,isDisabled:t=!1,snoExpansionSupported:o=!1})=>{let{t:r}=d();if(!["dev-preview","supported"].includes(e))return null;let s=e==="dev-preview",n=bt.createElement(bt.Fragment,null,bt.createElement(Zi,null,r("ai:Installing SNO will result in a non-highly available OpenShift deployment.")),!o&&bt.createElement(Zi,null,r("ai:Currently, adding additional machines to your cluster is not supported."))),i=bt.createElement(bt.Fragment,null,bt.createElement(Zi,null,r("ai:SNO is in a proof-of-concept stage and is not supported in any way.")),bt.createElement(Zi,null,r("ai:OpenShift in-place upgrades aren't expected to work with SNO. If an upgrade is needed, your system will need a redeployment.")));return bt.createElement(lD,{variant:s?Gg.warning:Gg.info,title:r("ai:Limitations for using Single Node OpenShift"),isInline:!0},bt.createElement(pD,{hasGutter:!0},bt.createElement(zg,null,bt.createElement(cD,null,n,s&&i)),s&&bt.createElement(zg,null,bt.createElement(Dt,{name:"SNODisclaimer",label:r("ai:I understand, accept, and agree to the limitations associated with using Single Node OpenShift."),isDisabled:t}))))},Gc=uD;var dD=({versions:e,highAvailabilityMode:t})=>{let{values:o}=mD(),r=uo(),s=r.getFeatureSupportLevel(o.openshiftVersion,"SNO"),n=r.isFeatureSupported(o.openshiftVersion,"SINGLE_NODE_EXPANSION"),i=r.isFeatureDisabled(o.openshiftVersion,"SNO");return Qi.createElement(Qi.Fragment,null,Qi.createElement(Nl,{name:"highAvailabilityMode",versions:e,isDisabled:i}),t==="None"&&s&&Qi.createElement(Gc,{isDisabled:i,snoSupportLevel:s,snoExpansionSupported:n}))},zc=dD;import mt from"react";import{ExclamationCircleIcon as hD,ExclamationTriangleIcon as Wg,ExternalLinkAltIcon as yD}from"@patternfly/react-icons";import{global_warning_color_100 as qg,global_danger_color_100 as CD}from"@patternfly/react-tokens";var fD="name-of-month DD, YYYY",gD={"4.8":"January 27, 2023","4.7":"August 24, 2022","4.6":"October 27, 2022"},ea={"dates format":fD,versions:gD};function Ug(e){let t=new Date(e),o=new Date;return Math.floor(Math.abs(o.valueOf()-t.valueOf())/km)}var $g=()=>{let{t:e}=d();return mt.createElement("a",{href:cm,target:"_blank",rel:"noopener noreferrer"},e("ai:Learn more")," ",mt.createElement(yD,null))},SD=e=>t=>{let{t:o}=d();if(!e.length)return mt.createElement(mt.Fragment,null,mt.createElement(hD,{color:CD.value,size:"sm"}),"\xA0 ",o("ai:No release image is available."));let r=null;return e.find(n=>n.value===t)?.supportLevel!=="production"?r=mt.createElement(mt.Fragment,null,mt.createElement(Wg,{color:qg.value,size:"sm"}),"\xA0",o("ai:Please note that this version is not production-ready."),"\xA0",mt.createElement($g,null)):t in ea.versions&&Ug(ea.versions[t])<=30&&(r=mt.createElement(mt.Fragment,null,mt.createElement(Wg,{color:qg.value,size:"sm"}),"\xA0",o("ai:Full support for this version ends on {{openshiftversion}} and won't be available as an installation option afterwards.",{openshiftversion:ea.versions[t]}),"\xA0",mt.createElement($g,null))),r},bD=({versions:e})=>{let t=mt.useMemo(()=>e.filter(r=>r.supportLevel!=="maintenance").map(r=>({label:r.label,value:r.value})),[e]),{t:o}=d();return mt.createElement(wr,{label:o("ai:OpenShift version"),name:"openshiftVersion",options:t,getHelperText:SD(e),isDisabled:e.length===0,isRequired:!0})},fn=bD;import{Fragment as wD,createElement as ta}from"react";import{useField as ED}from"formik";import{Fragment as PD,createElement as Yo,useEffect as AD,useState as kD}from"react";import{useFormikContext as vD}from"formik";import{Checkbox as ID,FormGroup as TD}from"@patternfly/react-core";var Wc=({fieldId:e="sshPublicKey"})=>{let{t}=d();return Yo(K,{fieldId:e},t("ai:Paste the content of a public ssh key you want to use to connect to the hosts into this field.")," ",Yo(lt,{href:gm},t("ai:Learn more")))},xD=({clusterSshKey:e,imageSshKey:t,isDisabled:o=!1})=>{let r=!!t&&(e===t||!e),[s,n]=kD(r),{values:i,setFieldValue:a,errors:l,touched:c}=vD(),p=l.sshPublicKey,u=()=>{i.sshPublicKey&&a("sshPublicKey",Fr(i.sshPublicKey))};AD(()=>{!o&&s&&a("sshPublicKey",t)},[s,t,a,o]);let m=M("shareDiscoverySshKey","checkbox"),{t:f}=d();return Yo(PD,null,Yo(TD,{fieldId:m,label:f("ai:Host SSH Public Key for troubleshooting after installation"),helperTextInvalid:p,validated:c&&p?"error":"default"},Yo(no,{condition:Boolean(t)},Yo(ID,{name:"shareDiscoverySshKey",id:m,label:f("ai:Use the same host discovery SSH key"),"aria-describedby":`${m}-helper`,isChecked:s,isDisabled:o,onChange:n})),Yo(no,{condition:!s},Yo(Ko,{name:"sshPublicKey",helperText:Yo(Wc,null),onBlur:u,isDisabled:o}))))},qc=xD;var FD=({isRequired:e})=>{let[{name:t,value:o},,{setValue:r}]=ED("sshPublicKey"),{t:s}=d();return ta(vl,{label:ta(wD,null,s("ai:SSH public key")," ",ta(Y,{bodyContent:s("ai:Provide an SSH key to be able to connect to the hosts for debugging purposes during the discovery process")})),name:t,helperText:ta(Wc,null),idPostfix:"discovery",onBlur:()=>o&&r(Fr(o)),dropzoneProps:{accept:".pub",maxSize:2048,onDropRejected:({setError:n})=>()=>n(s("ai:File not supported."))},transformValue:Fr,isRequired:e})},jo=FD;import ne from"react";import{useFormikContext as Yg}from"formik";import{Grid as DD}from"@patternfly/react-core";import{Trans as $c}from"react-i18next";var gn=()=>{let{setFieldValue:e,values:t}=Yg(),o=()=>{t.noProxy&&e("noProxy",po(t.noProxy))},{t:r}=d();return ne.createElement(DD,{hasGutter:!0},ne.createElement(X,{label:ne.createElement(ne.Fragment,null,r("ai:HTTP proxy URL")," ",ne.createElement(Y,{bodyContent:r("ai:The HTTP proxy URL that agents should use to access the discovery service.")})),name:"httpProxy",placeholder:"http://<user>:<password>@<ipaddr>:<port>",helperText:ne.createElement("div",null,ne.createElement($c,{t:r,components:{bold:ne.createElement("strong",null)},i18nKey:"ai:URL must start with <bold>http</bold>."}))}),ne.createElement(X,{label:ne.createElement(ne.Fragment,null,r("ai:HTTPS proxy URL")," ",ne.createElement(Y,{bodyContent:r("ai:Specify the HTTPS proxy that agents should use to access the discovery service. If you don't provide a value, your HTTP proxy URL will be used by default for both HTTP and HTTPS connections.")})),name:"httpsProxy",placeholder:"http://<user>:<password>@<ipaddr>:<port>",helperText:ne.createElement("div",null,ne.createElement($c,{t:r,components:{bold:ne.createElement("strong",null)},i18nKey:"ai:URL must start with <bold>http</bold> (https schemes are not currently supported)."}))}),ne.createElement(X,{label:ne.createElement(ne.Fragment,null,r("ai:No proxy domains")," ",ne.createElement(Y,{bodyContent:r("ai:Exclude destination domain names, IP addresses, or other network CIDRs from proxying by adding them to this comma-separated list.")})),name:"noProxy",placeholder:"one.domain.com,second.domain.com",helperText:ne.createElement("div",null,ne.createElement($c,{t:r,components:{bold:ne.createElement("strong",null)},i18nKey:"ai:Use a comma to separate each listed domain. Preface a domain with <bold>.</bold> to include its subdomains. Use <bold>*</bold> to bypass the proxy for all destinations."})),onBlur:o}))},ND=()=>{let{setFieldValue:e,values:t,initialValues:o}=Yg(),r=n=>{n?(e("httpProxy",o.httpProxy),e("httpsProxy",o.httpsProxy),e("noProxy",o.noProxy)):(e("httpProxy",""),e("httpsProxy",""),e("noProxy",""))},{t:s}=d();return ne.createElement(ne.Fragment,null,ne.createElement(Dt,{label:s("ai:Configure cluster-wide proxy settings"),name:"enableProxy",className:"ai-proxy-fields",helperText:ne.createElement("p",null,s("ai:If hosts are behind a firewall that requires the use of a proxy, provide additional information about the proxy.")),onChange:n=>r(n),body:t.enableProxy&&ne.createElement(gn,null)}))},Xo=ND;import sh from"react";import{Modal as tN,ModalVariant as oN}from"@patternfly/react-core";import me from"react";import{saveAs as XD}from"file-saver";import{Alert as th,Button as Zc,ButtonVariant as Qc,ClipboardCopy as oh,clipboardCopyFunc as rh,ModalBoxBody as JD,ModalBoxFooter as ZD,Stack as QD,StackItem as ep}from"@patternfly/react-core";import vo from"react";import{TextListItem as hn,OrderType as HD,Text as VD,TextContent as RD,TextList as MD}from"@patternfly/react-core";import{Trans as LD}from"react-i18next";var _D=({showAllInstructions:e=!1,isSNO:t=!1})=>{let{t:o}=d();return vo.createElement(RD,null,vo.createElement(VD,{component:"h3"},o("ai:Adding hosts instructions")),vo.createElement(MD,{component:"ol",type:HD.number,style:{marginLeft:0}},vo.createElement(hn,{hidden:!e},o("ai:Click the Add host button.",{count:+t})),vo.createElement(hn,{hidden:!e},o("ai:Configure the SSH key and proxy settings after the modal appears (optional).")),vo.createElement(hn,null,o("ai:Download the Discovery ISO (onto a USB drive, attach it to a virtual media, etc.) and use it to boot your hosts.")),vo.createElement(hn,null,vo.createElement(LD,{t:o,count:+t,components:{bold:vo.createElement("strong",null)},i18nKey:"ai:Keep the Discovery ISO media connected to the device throughout the installation process and set each host to boot <bold>only one time</bold> from this device. "})),vo.createElement(hn,null,o("ai:Booted hosts should appear in the host inventory table. This may take a few minutes."))))},yn=_D;import Ce from"react";import{lazy as YD,object as jD}from"yup";import{Button as Yc,Form as KD,ModalBoxBody as GD,ModalBoxFooter as zD,AlertVariant as Qg,Alert as jc,Stack as UD,StackItem as Xc}from"@patternfly/react-core";import{ExternalLinkAltIcon as WD}from"@patternfly/react-icons";import{Formik as qD}from"formik";import Io from"react";import{Stack as OD,StackItem as jg}from"@patternfly/react-core";var Xg="imageType",Jg=({text:e,popoverContent:t})=>Io.createElement(Io.Fragment,null,e," ",Io.createElement(Y,{component:"a",bodyContent:t,noVerticalAlign:!0})),BD=()=>{let{t:e}=d();return Io.createElement(OD,{hasGutter:!0},Io.createElement(jg,null,Io.createElement(pe,{name:Xg,id:"minimal-iso",value:"minimal-iso",label:Io.createElement(Jg,{text:e("ai:Minimal image file: Provision with virtual media"),popoverContent:e("ai:Recommended option. The generated discovery ISO will be smaller, but will need to download additional data during boot. This option is useful if ISO storage capacity is limited or if it's being served over a constrained network.")})})),Io.createElement(jg,null,Io.createElement(pe,{name:Xg,id:"full-iso",value:"full-iso",label:Io.createElement(Jg,{text:e("ai:Full image file: Provision with physical media"),popoverContent:e("ai:The generated discovery ISO will contain everything needed to boot.")})})))},Zg=BD;var Jc=()=>{let{t:e}=d();return Ce.createElement(jc,{title:e("ai:To use static network configuration, follow the steps listed in the documentation."),isInline:!0,variant:"info"},Ce.createElement(Yc,{variant:"link",icon:Ce.createElement(WD,null),iconPosition:"right",isInline:!0,onClick:()=>window.open(mi,"_blank","noopener")},e("ai:View documentation")))},$D=YD(e=>jD().shape({sshPublicKey:qt,httpProxy:$t(e,"httpsProxy"),httpsProxy:$t(e,"httpProxy"),noProxy:yr})),eh=({handleSubmit:e,onCancel:t,sshPublicKey:o,httpProxy:r,httpsProxy:s,noProxy:n,imageType:i,hideDiscoveryImageType:a,hasDHCP:l})=>{let c={sshPublicKey:o||"",httpProxy:r||"",httpsProxy:s||"",noProxy:n||"",enableProxy:!!(r||s||n),imageType:i||"minimal-iso"},{t:p}=d();return Ce.createElement(qD,{initialValues:c,initialStatus:{error:null},validationSchema:$D,onSubmit:e},({submitForm:u,isSubmitting:m,status:f})=>Ce.createElement(Ce.Fragment,null,Ce.createElement(GD,null,Ce.createElement(UD,{hasGutter:!0},Ce.createElement(Xc,null,Ce.createElement(jc,{variant:Qg.info,isInline:!0,title:p("ai:Generate a Discovery ISO in order to add hosts to the cluster.")})),l===!1&&Ce.createElement(Xc,null,Ce.createElement(Jc,null)),Ce.createElement(Xc,null,Ce.createElement(KD,null,f?.error&&Ce.createElement(jc,{variant:Qg.danger,title:f.error.title,isInline:!0},f.error.message),!a&&Ce.createElement(Zg,null),Ce.createElement(jo,null),Ce.createElement(Xo,null))))),Ce.createElement(zD,null,Ce.createElement(Yc,{onClick:u,isDisabled:m,isLoading:m},p(m?"ai:Generating":"ai:Generate Discovery ISO")),Ce.createElement(Yc,{key:"cancel",variant:"link",onClick:t},p("ai:Cancel")))))};var eN=({fileName:e="discovery.iso",downloadUrl:t,onClose:o,onReset:r,hasDHCP:s,isSNO:n=!1})=>{let i=`wget -O ${e} '${t||""}'`,{t:a}=d();return me.createElement(me.Fragment,null,me.createElement(JD,null,me.createElement(QD,{hasGutter:!0},me.createElement(ep,null,me.createElement(th,{isInline:!0,variant:"success",title:a("ai:Discovery ISO is ready to be downloaded")},me.createElement(me.Fragment,null,"\xA0",me.createElement(yn,{isSNO:n})))),s===!1&&me.createElement(ep,null,me.createElement(Jc,null)),me.createElement(ep,null,me.createElement(ho,null,me.createElement($,{title:a("ai:Discovery ISO URL"),value:me.createElement(oh,{isReadOnly:!0,onCopy:l=>rh(l,t)},t)}),me.createElement($,{title:a("ai:Command to download the ISO:"),value:me.createElement(oh,{isReadOnly:!0,onCopy:l=>rh(l,i)},i)})),me.createElement(th,{variant:"info",isInline:!0,title:`${a("ai:Never share your downloaded ISO with anyone else.")} ${a("ai:Forwarding it could put your credentials and personal data at risk.")}`})))),me.createElement(ZD,null,me.createElement(Zc,{variant:Qc.primary,onClick:()=>t&&XD(t),"data-testid":"download-iso-btn",isDisabled:!t},a("ai:Download Discovery ISO")),me.createElement(Zc,{variant:Qc.secondary,onClick:o,"data-testid":"close-iso-btn"},a("ai:Close")),r&&me.createElement(Zc,{variant:Qc.link,onClick:r,"data-testid":"edit-iso-btn"},a("ai:Edit ISO configuration"))))},Cn=eN;var rN=({isOpen:e,...t})=>{let{t:o}=d();return sh.createElement(tN,{"aria-label":o("ai:Download host discovery ISO dialog"),title:o("ai:Add host"),isOpen:e,onClose:t.onClose,variant:oN.small,hasNoBodyWrapper:!0,id:"download-discovery-iso-modal"},sh.createElement(Cn,{...t}))},sN=rN;import nN from"react";import{Alert as iN,AlertVariant as aN}from"@patternfly/react-core";var lN=({someDisksAreSkipFormatting:e})=>{let{t}=d();return nN.createElement(iN,{variant:aN.warning,isInline:!0,title:t(e?"ai:There may be issues with the boot order":"ai:All bootable disks will be formatted during installation. Make sure to backup any sensitive data.")},e?t("ai:You have opted out of formatting bootable disks on some hosts. To ensure the hosts reboot into the expected installation disk, manual user intervention may be required during OpenShift installation."):"")},tp=lN;import G from"react";import{Button as nh,Modal as cN,ButtonVariant as ih,ModalVariant as pN,TextContent as uN,Text as _e,TextVariants as Oe}from"@patternfly/react-core";import{InfoCircleIcon as mN}from"@patternfly/react-icons";import{Trans as dN}from"react-i18next";var fN=()=>{let{t:e}=d();return G.createElement(uN,null,G.createElement(_e,{component:Oe.p},e("ai:To troubleshoot host discovery issues, complete the following steps:")),G.createElement(_e,{component:Oe.h2},e("ai:Verify that your host machine is powered on")),G.createElement(_e,{component:Oe.p},e("ai:Note: Boot time depends on several factors such as your hardware and network configuration, and if you are booting from an ISO.")),G.createElement(_e,{component:Oe.h2},e("ai:If you used DHCP networking, verify that your DHCP server is enabled")),G.createElement(_e,{component:Oe.h2},e("ai:If you used static IP, bridges, and bonds networking, verify that your configurations are correct")),G.createElement(_e,{component:Oe.h2},e("ai:SSH into your machine")),G.createElement(_e,{component:Oe.p},e("ai:Verify that you can access your host machine using SSH, or a console such as BMC or virtual machine console. In the CLI, enter the following command:")),G.createElement(Ye,{code:"ssh -i <identity_file> core@<machine-ip>"}),G.createElement(_e,{component:Oe.p},e("ai:NOTE: Authentication is provided by the discovery ISO, therefore when you access your host using SSH, a password is not required. Optional -i parameter can be used to specify the private key that matches the public key provided when generating Discovery ISO.")),G.createElement(_e,{component:Oe.h2},e("ai:Verify that the discovery agent is running with the correct parameters")),G.createElement(Ye,{code:"ps -ef | grep agent"}),G.createElement(_e,{component:Oe.p},e("ai:The output displays the following:")),G.createElement(Ye,{code:`root 1786 1 0 08:03 ? 00:00:00 /usr/local/bin/agent --url https://api.openshift.com --cluster-id e4c85fbe-77c7-411e-b107-5120f615c4fb --agent-version registry.redhat.io/openshift4/assisted-installer-agent-rhel8:v4.6.0-17 --insecure=false
|
|
10
|
-
core 2362 2311 0 08:04 pts/0 00:00:00 grep --color=auto agent`}),G.createElement(_e,{component:Oe.h2},e("ai:Verify that the agent ran successfully")),G.createElement(_e,{component:Oe.p},e("ai:To verify that the agent ran successfully, check the logs:")),G.createElement(Ye,{code:"sudo journalctl -u agent.service"}),G.createElement(_e,{component:Oe.p},e("ai:In the following example, the errors indicate there is a network issue:")),G.createElement(Ye,{code:`Oct 15 11:26:35 localhost systemd[1]: agent.service: Service RestartSec=3s expired, scheduling restart.
|
|
11
|
-
Oct 15 11:26:35 localhost systemd[1]: agent.service: Scheduled restart job, restart counter is at 9.
|
|
12
|
-
Oct 15 11:26:35 localhost systemd[1]: Stopped agent.service.
|
|
13
|
-
Oct 15 11:26:35 localhost systemd[1]: Starting agent.service...
|
|
14
|
-
Oct 15 11:26:35 localhost podman[1834]: Trying to pull quay.io/ocpmetal/assisted-installer-agent:latest...
|
|
15
|
-
Oct 15 11:26:35 localhost podman[1834]: Get "https://quay.io/v2/": dial tcp: lookup quay.io on [::1]:53: read udp [::1]:58297->[::1]:53: read: connection refused
|
|
16
|
-
Oct 15 11:26:35 localhost podman[1834]: Error: unable to pull quay.io/ocpmetal/assisted-installer-agent:latest: unable to pull image: Error initializing source docker://quay.io/ocpmetal/assisted-installer-agent:latest: error pinging dock>
|
|
17
|
-
Oct 15 11:26:35 localhost systemd[1]: agent.service: Control process exited, code=exited status=125
|
|
18
|
-
Oct 15 11:26:35 localhost systemd[1]: agent.service: Failed with result 'exit-code'.
|
|
19
|
-
Oct 15 11:26:35 localhost systemd[1]: Failed to start agent.service.`}),G.createElement(_e,{component:Oe.p},G.createElement(dN,{t:e,components:{code:G.createElement("code",null)},i18nKey:"ai:Check the proxy settings and verify that the assisted installer service is connected to a network. You can use <code>nmcli</code> to get additional information about your network configuration."})),G.createElement(_e,{component:Oe.h2},e("ai:Check agent logs")),G.createElement(_e,{component:Oe.p},e("ai:To view detailed agent logs and communication use following command:")),G.createElement(Ye,{code:"sudo journalctl TAG=agent | less"}),G.createElement(_e,{component:Oe.h2},e("ai:Check assisted-installer logs")),G.createElement(Ye,{code:`sudo su
|
|
20
|
-
podman ps -a | grep assisted-installer
|
|
21
|
-
podman logs <container id>`}),G.createElement(_e,{component:Oe.h2},e("ai:Check bootkube logs")),G.createElement(Ye,{code:"sudo journalctl -u bootkube"}))},oa=({setDiscoveryHintModalOpen:e,isSNO:t=!1})=>{let{t:o}=d();return G.createElement(nh,{variant:ih.link,onClick:()=>e(!0),isInline:!0},G.createElement(mN,{size:"sm"}),"\xA0",o("ai:Host not showing up?",{count:+t}))},Sr=({setDiscoveryHintModalOpen:e,isOpen:t})=>{let o=G.useCallback(()=>e(!1),[e]),{t:r}=d();return G.createElement(cN,{title:r("ai:Troubleshooting Host Discovery Issues"),isOpen:t,actions:[G.createElement(nh,{key:"close",variant:ih.primary,onClick:o},r("ai:Close"))],onClose:o,variant:pN.large},G.createElement(fN,null))};import Jo from"react";import{Checkbox as gN}from"@patternfly/react-core";import{useFormikContext as hN}from"formik";var yN=({defaultPullSecret:e,isOcm:t=!1})=>{let[o,r]=Jo.useState(!e),{setFieldValue:s}=hN(),{t:n}=d();if(t){let i=()=>{o&&s("pullSecret",e),r(!o)};return Jo.createElement(Jo.Fragment,null,Jo.createElement(gN,{id:"checkbox-pull-secret",className:"pf-u-display-inline-flex","aria-label":n("ai:edit pull secret"),isChecked:o,onChange:i,label:Jo.createElement(Jo.Fragment,null,n("ai:Edit pull secret")," ",Jo.createElement(Al,{isOcm:t}))}),o&&Jo.createElement(fr,{isOcm:t}))}return Jo.createElement(fr,{isOcm:t})},Sn=yN;var To={"bmh-error":{key:"bmh-error",title:"Error",category:"Bare Metal Host related"},registering:{key:"registering",title:"Registering",category:"Bare Metal Host related"},provisioning:{key:"provisioning",title:"Provisioning",category:"Bare Metal Host related"},provisioned:{key:"provisioned",title:"Provisioned",category:"Bare Metal Host related"},deprovisioning:{key:"deprovisioning",title:"Deprovisioning",category:"Bare Metal Host related"},inspecting:{key:"inspecting",title:"Inspecting",category:"Bare Metal Host related"},pending:{key:"pending",title:"Pending",category:"Bare Metal Host related"}},Ee={...wc,discovered:{key:"discovered",title:"Discovered",icon:ah(CN,null),noPopover:!0,category:"Discovery related",details:"The host has been discovered and needs to be approved to before further use."},...To,specSyncErr:{key:"spec-sync-err",title:"Sync error",icon:ah(SN,{color:bN.value}),category:"Discovery related"}};var lh=(e,t)=>({...e,[t.type]:t}),jre=(e,t)=>{let r=(e?.status?.conditions||[]).reduce(lh,{}),{Validated:s,RequirementsMet:n,Completed:i,Stopped:a}=r;return!s||!n||!i||!a?["insufficient",t("ai:AgentClusterInstall conditions are missing.")]:a.status==="True"&&a.reason==="InstallationCancelled"?["cancelled",a.message]:a.status==="True"&&a.reason==="InstallationFailed"?["error",a.message]:i.status==="True"&&i.reason==="InstallationCompleted"?["installed",i.message]:i.status==="False"&&i.reason==="InstallationInProgress"?["installing",i.message]:s.status==="False"&&s.reason==="ValidationsFailing"?["insufficient",s.message]:s.status==="False"&&s.reason==="ValidationsUserPending"?["pending-for-input",s.message]:s.status==="False"&&s.reason==="ValidationsUnknown"?["insufficient",s.message]:n.status==="False"&&n.reason==="ClusterNotReady"?["insufficient",n.message]:n.status==="False"&&n.reason==="InsufficientAgents"?["insufficient",n.message]:n.status==="False"&&n.reason==="UnapprovedAgents"?["insufficient",n.message]:i.status==="False"&&i.reason==="UnapprovedAgents"?["insufficient",i.message]:(console.error("Unhandled conditions to cluster status mapping: ",r),["insufficient",t("ai:Unexpected AgentClusterInstall conditions.")])},Xe=e=>{let{state:t,stateInfo:o}=e?.status?.debugInfo||{};return[t||"insufficient",o||""]},Xre=e=>!!e&&["pending-for-input","insufficient","ready"].includes(Xe(e)[0]),Jre=(e,t)=>{let r=(e.status?.conditions||[]).reduce(lh,{}),{Installed:s,Connected:n,ReadyForInstallation:i}=r;return s?.status==="True"?["installed",s.message]:s?.status==="False"&&s.reason==="InstallationFailed"?["error",s.message]:s?.status==="False"&&s?.reason==="InstallationInProgress"?["installing",s?.message]:n?.status==="False"?["disconnected",n.message]:i?.status==="True"?["known",i.message]:i?.status==="False"&&i?.reason==="AgentIsNotApproved"?["pending-for-input",i.message]:i?.status==="False"&&i?.reason==="AgentNotReady"?["insufficient",i.message]:(console.error("Unhandled conditions to agent status mapping: ",r),["insufficient",t("ai:Unexpected Agent conditions.")])},vN=e=>e?.spec?.clusterDeploymentName?.name?"insufficient":"insufficient-unbound",ve=(e,t=!1)=>{let o=e.status?.conditions?.find(n=>n.type==="SpecSynced"&&n.status==="False"),r,s={};return o?r=Ee.specSyncErr:(r=Ee[e.status?.debugInfo?.state||vN(e)],s=e.status?.validationsInfo||{},!t&&!e.spec.approved&&(r=Ee.discovered)),{status:r,validationsInfo:s}},Zo=(e,t,o,r=!1)=>{let s=ve(e,r);if([Ee.discovered,Ee.specSyncErr].includes(s.status))return s;let n=Ee[Sl(t,to,{status:s.status.key,validationsInfo:s.validationsInfo})],i=Cl(s.validationsInfo,t,to);return n.sublabel=Wu(s.validationsInfo,t,to)?o("ai:Some validations failed"):void 0,{status:n,validationsInfo:i}},Qo=e=>{let t=To.pending;return e.status?.errorType?t=To["bmh-error"]:e.status?.provisioning?.state&&(t=To[e.status?.provisioning?.state]||To.pending),{state:t,errorMessage:e.status?.errorMessage}};import rp from"lodash/cloneDeep";var ch=(e,t)=>{if(!e?.length||!t?.status?.connectivityMajorityGroups)return[];let o=JSON.parse(t.status.connectivityMajorityGroups);return Object.keys(o).filter(r=>!["IPv4","IPv6"].includes(r)).map(r=>{let s=[];return o[r].forEach(n=>{let i=e.find(a=>a.metadata?.name===n);i?.metadata?.uid?s.push(i.metadata.uid):console.warn(`Can not find agent of ${n} name.`)}),{cidr:r,hostIds:s}})};var de="agentclusterinstalls.extensions.hive.openshift.io/location",bn="agentBareMetal-agentSelector-",vn="agentBareMetal-agentSelector/autoSelect",Or="NOLOCATION",dt="infraenvs.agent-install.openshift.io",Rt="agent-install.openshift.io/bmh",ph="agentBareMetal-generated-infraenv-ai-flow",uh="agentBareMetal-cpuArchitecture",ra=e=>`https://access.redhat.com/documentation/en-us/red_hat_advanced_cluster_management_for_kubernetes/${e}/html-single/clusters/index#enable-cim`,er="bmac.agent-install.openshift.io/hostname";var IN=["known","known-unbound","insufficient","pending-for-input","binding","unbinding","discovering","reclaiming","reclaiming-rebooting"],rse=(e=[],t)=>e.find(o=>o.metadata?.uid===t.id),xo=e=>e.filter(t=>{let{status:o}=ve(t);return IN.includes(o.key)}),mh=e=>e.spec.role||e.status?.role,dh=e=>e.status?.progress,br=e=>e?.metadata?.labels?.[dt],fh=e=>e?.spec?.clusterDeploymentName?.name;import VN from"lodash/isEqual";import RN from"lodash/pick";import{Alert as wN,AlertActionLink as yh,AlertVariant as DN}from"@patternfly/react-core";import ao from"react";import{Fragment as FN,createElement as Br,useState as EN}from"react";import{Button as gh,ButtonVariant as hh,Modal as TN,ModalVariant as xN}from"@patternfly/react-core";import{InfoCircleIcon as kN}from"@patternfly/react-icons";var AN=e=>{let t;try{t=JSON.parse(e.data?.HW_VALIDATOR_REQUIREMENTS||"[]").find(r=>r.version==="default")}catch{console.error("Failed to parse hw requirements config map"),t=void 0}return{master:{cpuCores:t?.master?.cpu_cores,ramMib:t?.master?.ram_mib,diskSizeGb:t?.master?.disk_size_gb},worker:{cpuCores:t?.worker?.cpu_cores,ramMib:t?.worker?.ram_mib,diskSizeGb:t?.worker?.disk_size_gb},sno:{cpuCores:t?.sno?.cpu_cores,ramMib:t?.sno?.ram_mib,diskSizeGb:t?.sno?.disk_size_gb}}},PN=({aiConfigMap:e,isSNOCluster:t})=>{let[o,r]=EN(!1),{t:s}=d();return Br(FN,null,Br(gh,{variant:hh.link,onClick:()=>r(!0),isInline:!0,className:"host-requirements-link"},Br(kN,{size:"sm"}),"\xA0",s("ai:Minimum hardware requirements")),Br(op,{isOpen:o,onClose:()=>r(!1),aiConfigMap:e,isSNOCluster:t}))},op=({isOpen:e,aiConfigMap:t,isSNOCluster:o,onClose:r})=>{let{t:s}=d();return Br(TN,{title:s("ai:Minimum hardware requirements"),isOpen:e,actions:[Br(gh,{key:"close",variant:hh.primary,onClick:r},s("ai:Close"))],onClose:r,variant:xN.medium},Br(yc,{...AN(t),isSNOCluster:o}))},sa=PN;var NN=({isSNO:e=!1,assistedServiceConfigMap:t})=>{let{t:o}=d(),[r,s]=ao.useState(!1),[n,i]=ao.useState(!1);return ao.createElement(ao.Fragment,null,ao.createElement(wN,{variant:DN.info,title:o("ai:Information & Troubleshooting"),actionLinks:ao.createElement(ao.Fragment,null,ao.createElement(yh,{onClick:()=>i(!0)},o("ai:Minimum hardware requirements")),ao.createElement(yh,{onClick:()=>s(!0)},o("ai:Host not showing up?",{count:+e}))),isInline:!0}),r&&ao.createElement(Sr,{isOpen:r,setDiscoveryHintModalOpen:s}),n&&ao.createElement(op,{isSNOCluster:e,aiConfigMap:t,isOpen:n,onClose:()=>i(!1)}))},HN=NN;var na=(e={})=>{let t=e[de]?.split(",")||[];return{labels:Object.keys(e).map(r=>{if(r.startsWith(bn))return`${r.substr(bn.length)}=${e[r]}`}).filter(Boolean),locations:t,autoSelect:!e[vn]||e[vn]==="true"}},Ase=(e,t)=>{let{agentLabels:o,locations:r,autoSelectHosts:s}=t,n=em(o||[]),i={...e?.metadata?.annotations||{}};return Object.keys(i).forEach(a=>{a.startsWith(bn)&&delete i[a]}),Object.keys(n).forEach(a=>{i[`${bn}${a}`]=n[a]}),delete i[vn],r.length?i[de]=r.join(","):delete i[de],s||(i[vn]="false"),i},Ch=({name:e,namespace:t,baseDnsDomain:o,annotations:r,pullSecretName:s})=>({apiVersion:"hive.openshift.io/v1",kind:"ClusterDeployment",metadata:{name:e,namespace:t,annotations:r},spec:{baseDomain:o,clusterInstallRef:{group:"extensions.hive.openshift.io",kind:"AgentClusterInstall",name:e,version:"v1beta1"},clusterName:e,platform:{agentBareMetal:{agentSelector:{}}},pullSecretRef:{name:s}}}),Sh=["adding-hosts","installed","finalizing"],bh=(e,t)=>e?.status?.webConsoleURL||(Sh.includes(Xe(t)[0])?`https://console-openshift-console.apps.${e?.spec?.clusterName}.${e?.spec?.baseDomain}`:void 0),Pse=(e,t)=>e?.status?.apiURL||(Sh.includes(Xe(t)[0])?`https://api.${e?.spec?.clusterName}.${e?.spec?.baseDomain}`:void 0),vh=(e,t)=>{let o=t.spec?.networking?.serviceNetwork,r=t.spec?.networking?.clusterNetwork;return{name:{key:"Name",value:e.metadata?.name},openshiftVersion:{key:"OpenShift version",value:e.status?.installVersion},clusterId:{key:"Cluster ID",value:e.metadata?.uid},baseDnsDomain:{key:"Base DNS domain",value:e.spec?.baseDomain},apiVip:{key:"API IP",value:t?.spec?.apiVIP},ingressVip:{key:"Ingress IP",value:t?.spec?.ingressVIP},clusterNetworkCidr:{key:(r?.length||0)>1?"Cluster network CIDRs":"Cluster network CIDR",value:r?.map(s=>s.cidr).join(", ")},clusterNetworkHostPrefix:{key:(r?.length||0)>1?"Cluster network host prefixes":"Cluster network host prefix",value:r?.map(s=>s.hostPrefix).join(", ")},serviceNetworkCidr:{key:(o?.length||0)>1?"Service network CIDRs":"Service network CIDR",value:o?.join(", ")},installedTimestamp:{key:"Installed at",value:ut(e.status?.installedTimestamp)}}},vr=(e,t)=>{let o;return t&&VN(t.spec?.clusterRef,RN(e.metadata,["name","namespace"]))?o=t.spec?.cpuArchitecture:o=e.metadata?.annotations?.[uh],o===Ae.ARM?Ae.ARM:Ae.x86};var tr=(e,t,o)=>{let r=[],s=e.map(i=>{let{status:a}=ve(i,!0),l=i.status?.debugInfo?.stateInfo||"",c=rp(i.status?.inventory||{});if(c.interfaces?.forEach(u=>{u.ipv4Addresses=rp(u.ipV4Addresses),u.ipv6Addresses=rp(u.ipV6Addresses)}),i.metadata?.labels?.[Rt]){let u=i.metadata?.labels?.[Rt];r.push(u);let m=t?.find(f=>f.metadata?.name===u&&f.metadata?.namespace===i.metadata?.namespace);m?.spec?.bmc?.address&&(c.bmcAddress=m.spec.bmc.address)}let p=dh(i);return{kind:"Host",id:i.metadata?.uid||"",href:"",status:a.key,statusInfo:l,role:mh(i),requestedHostname:i.spec.hostname||c.hostname,createdAt:i.metadata?.creationTimestamp,validationsInfo:JSON.stringify(i.status?.validationsInfo||{}),inventory:JSON.stringify(c),progress:p&&{currentStage:p.currentStage,installationPercentage:p.installationPercentage,progressInfo:p.progressInfo,stageStartedAt:p.stageStartTime,stageUpdatedAt:p.stageUpdateTime},progressStages:p?.progressStages,bootstrap:i.status?.bootstrap,installationDiskId:i.spec.installation_disk_id}}),n=o&&t?t?.filter(i=>i.metadata?.namespace===o.metadata?.namespace&&br(i)===o.metadata?.name&&i.metadata?.name?!r.includes(i.metadata.name):!0).map(i=>{let a={hostname:i.metadata?.annotations?.[er]||i.metadata?.name,bmcAddress:i.spec?.bmc?.address,systemVendor:{virtual:!1,productName:"Bare Metal Host"}};return{id:i.metadata?.uid||"",href:"bmc",kind:"Host",status:"known",statusInfo:"",inventory:JSON.stringify(a),requestedHostname:i.metadata?.annotations?.[er]||i.metadata?.name,role:void 0,createdAt:i.metadata?.creationTimestamp}}):[];return[...s,...n]},Je=({clusterDeployment:e,agentClusterInstall:t,agents:o=[],infraEnv:r})=>{let s=e.status?.installVersion,[n,i]=Xe(t);return{id:e.metadata?.uid||"",kind:"Cluster",href:"",name:e.spec?.clusterName,baseDnsDomain:e.spec?.baseDomain,openshiftVersion:s,apiVip:t?.status?.apiVIP||t?.spec?.apiVIP,ingressVip:t?.status?.ingressVIP||t?.spec?.apiVIP,highAvailabilityMode:t?.spec?.provisionRequirements?.controlPlaneAgents===1?"None":"Full",status:n,statusInfo:i,imageInfo:{sshPublicKey:t?.spec?.sshPublicKey},sshPublicKey:t?.spec?.sshPublicKey,clusterNetworkHostPrefix:t?.spec?.networking?.clusterNetwork?.[0]?.hostPrefix,clusterNetworkCidr:t?.spec?.networking?.clusterNetwork?.[0]?.cidr,serviceNetworkCidr:t?.spec?.networking?.serviceNetwork?.[0],machineNetworkCidr:t?.spec?.networking?.machineNetwork?.[0]?.cidr,monitoredOperators:[],vipDhcpAllocation:!1,userManagedNetworking:t?.spec?.provisionRequirements?.controlPlaneAgents===1,hostNetworks:ch(o,t),totalHostCount:o?.length,hosts:tr(o),installStartedAt:e.status?.installStartedTimestamp,installCompletedAt:e.status?.installedTimestamp,validationsInfo:JSON.stringify(t?.status?.validationsInfo||{}),cpuArchitecture:vr(e,r)}};var MN=["SpecSynced","Connected","Validated"],Mse=(e=[])=>{let t={},o=MN;return e.forEach(r=>{let s=r.status?.conditions?.filter(n=>o.includes(n.type)&&n.status==="False");s?.length&&(t[r.metadata?.name||"unknownname"]=s)}),t},Ih=(e={},t)=>e.status?.conditions?.filter(o=>(!t||t?.includes(o.type))&&o.status==="False")||[];import LN from"lodash/uniqBy";var In=(e="")=>{let t=/.+:(.*)-/gm.exec(e);if(t&&t[1])return t[1]};var or=e=>{let t=e.filter(r=>r.metadata?.labels?.visible!=="false").map(r=>{let s=In(r.spec?.releaseImage);return{label:`OpenShift ${s||r.metadata?.name}`,version:s||r.metadata?.name||"",value:r.metadata?.name,default:!1,supportLevel:"production"}}).sort((r,s)=>-1*r.label.localeCompare(s.label));return t.length&&(t[0].default=!0),LN(t,r=>r.version)},ia=(e,t)=>{let o=e.find(r=>r.metadata?.name===t?.spec?.imageSetRef?.name);return o?or([o])?.[0]?.version:t?.spec?.imageSetRef?.name},Ose=e=>e?.status?.history?.[0]?.version||e?.spec?.desiredUpdate?.version,Th=(e="")=>/[0-9].[0-9][0-9]?/g.exec(e)?.[0]||"";var Gse=(e=[])=>e.find(t=>t.key===de)?.values||[],zse=e=>e?.length?[{key:de,operator:"In",values:e}]:void 0;var lo=e=>e?.spec?.provisionRequirements?.controlPlaneAgents===1,xh=(e,t)=>{if(!t)return;let o=fh(t);if(!!o)return e.find(r=>!!r.metadata?.ownerReferences?.find(n=>n.kind==="ClusterDeployment"&&n.name===o))};var aa=(e,t)=>{if(!t)return e;let o=_u(t);return o?o/1024/1024/1024:e};import{Fragment as Rh,createElement as F,useEffect as HH,useState as Ss}from"react";import{Button as vH,DescriptionList as Vh,DescriptionListDescription as ko,DescriptionListGroup as Ao,DescriptionListTerm as Po,Grid as IH,GridItem as ip,Spinner as TH,Title as xH,TitleSizes as kH}from"@patternfly/react-core";import{CheckCircleIcon as AH,ExclamationTriangleIcon as PH,PencilAltIcon as EH}from"@patternfly/react-icons";import{global_palette_green_500 as FH}from"@patternfly/react-tokens/dist/js/global_palette_green_500";import{global_warning_color_100 as wH}from"@patternfly/react-tokens/dist/js/global_warning_color_100";import{Fragment as XN,createElement as Fe,useEffect as jN,useState as JN}from"react";import{object as YN}from"yup";import{Alert as sp,Button as kh,ButtonVariant as _N,Modal as ON,ModalBoxBody as BN,ModalBoxFooter as KN,ModalVariant as GN,Stack as Ah,StackItem as ca}from"@patternfly/react-core";import{Formik as zN,useFormikContext as UN}from"formik";var lne=(e,t)=>({apiVersion:"v1",kind:"Secret",data:{username:btoa(e.username),password:btoa(e.password)},metadata:{generateName:`bmc-${e.hostname.split(".").shift()}-`,namespace:t},type:"Opaque"}),cne=(e,t,o)=>({apiVersion:"metal3.io/v1alpha1",kind:"BareMetalHost",metadata:{name:e.name,namespace:t.metadata?.namespace,labels:{[dt]:t.metadata?.name||""},annotations:{"inspect.metal3.io":"disabled",[er]:e.hostname}},spec:{bmc:{address:e.bmcAddress,credentialsName:o.metadata?.name,disableCertificateVerification:!!e.disableCertificateVerification},bootMACAddress:e.bootMACAddress,description:"",online:!!e.online,automatedCleaningMode:"disabled"}}),la=(e,t,o)=>o(t&&e?"ai:The resource you are changing is already in use by hosts in the infrastructure environment. A change will require booting the hosts with a new discovery ISO file. Hosts will be rebooted automatically after the change is applied if using BMC.":t?"ai:The resource you are changing is already in use by hosts in the infrastructure environment. The hosts will be rebooted automatically after the change is applied.":e?"ai:The resource you are changing is already in use by hosts in the infrastructure environment. A change will require booting the hosts with a new discovery ISO file.":"ai:A change will require booting hosts with a new discovery ISO file.");var WN=e=>YN({pullSecret:gr.required(e("ai:Pull secret is a required field."))}),qN=({pullSecret:e,pullSecretError:t,pullSecretLoading:o,onClose:r,error:s,hasAgents:n,hasBMHs:i})=>{let{isSubmitting:a,isValid:l,submitForm:c,setFieldValue:p}=UN();jN(()=>{if(!o&&!t){let g=atob(e?.data?.[".dockerconfigjson"]||"");p("pullSecret",g),e||p("createSecret",!0)}},[e,o,t,p]);let{t:u}=d(),m=la(n,i,u),f=Fe(Ah,{hasGutter:!0},Fe(ca,null,Fe(sp,{isInline:!0,variant:"warning",title:m})),Fe(ca,null,Fe(fr,{isOcm:!1})));return o?f=Fe(pt,null):t&&(f=Fe(sp,{title:t,variant:"danger",isInline:!0})),Fe(XN,null,Fe(BN,null,Fe(Ah,{hasGutter:!0},Fe(ca,null,f)),s&&Fe(ca,null,Fe(sp,{title:s,variant:"danger",isInline:!0}))),Fe(KN,null,Fe(kh,{onClick:c,isDisabled:o||!!t||a||!l},u("ai:Save")),Fe(kh,{onClick:r,variant:_N.secondary},u("ai:Cancel"))))},$N=({isOpen:e,onClose:t,onSubmit:o,infraEnv:r,...s})=>{let[n,i]=JN(),{t:a}=d();return Fe(ON,{"aria-label":a("ai:Edit pull secret dialog"),title:a("ai:Edit pull secret"),isOpen:e,onClose:t,variant:GN.small,hasNoBodyWrapper:!0,id:"edit-pull-secret-modal"},Fe(zN,{initialValues:{pullSecret:void 0,createSecret:!1},validationSchema:WN(a),onSubmit:async l=>{try{await o(l,r),t()}catch(c){i(U(c))}},validateOnMount:!0},Fe(qN,{...s,onClose:t,error:n})))},Ph=$N;import{Fragment as cH,createElement as vt,useState as lH}from"react";import{object as aH}from"yup";import{Alert as Eh,Button as Fh,ButtonVariant as ZN,Modal as QN,ModalBoxBody as eH,ModalBoxFooter as tH,ModalVariant as oH,Stack as rH,StackItem as np}from"@patternfly/react-core";import{Formik as sH}from"formik";var nH=aH({sshPublicKey:qt.required("An SSH key is required to debug hosts as they register.")}),iH=({isOpen:e,onClose:t,infraEnv:o,onSubmit:r,hasAgents:s,hasBMHs:n})=>{let[i,a]=lH(),{t:l}=d(),c=la(s,n,l);return vt(QN,{"aria-label":l("ai:Edit SSH public key dialog"),title:l("ai:Edit SSH public key"),isOpen:e,onClose:t,variant:oH.small,hasNoBodyWrapper:!0,id:"edit-ssh-key-modal"},vt(sH,{initialValues:{sshPublicKey:o.spec?.sshAuthorizedKey||""},validationSchema:nH,onSubmit:async p=>{try{await r(p,o),t()}catch(u){a(u?.message||l("ai:An error occured"))}},validateOnMount:!0},({isSubmitting:p,isValid:u,submitForm:m})=>vt(cH,null,vt(eH,null,vt(rH,{hasGutter:!0},vt(np,null,vt(Eh,{isInline:!0,variant:"warning",title:c})),vt(np,null,vt(jo,null)),i&&vt(np,null,vt(Eh,{title:i,variant:"danger",isInline:!0})))),vt(tH,null,vt(Fh,{onClick:m,isDisabled:p||!u},l("ai:Save")),vt(Fh,{onClick:t,variant:ZN.secondary},l("ai:Cancel"))))))},wh=iH;import{Fragment as bH,createElement as we,useState as SH}from"react";import{Alert as pH,Button as Dh,ButtonVariant as uH,Form as mH,Modal as dH,ModalBoxBody as fH,ModalBoxFooter as gH,ModalVariant as hH,Stack as Nh,StackItem as Tn}from"@patternfly/react-core";import{Formik as yH}from"formik";var CH=({isOpen:e,onClose:t,onSubmit:o,infraEnv:r})=>{let[s,n]=SH(),{t:i}=d();return we(dH,{"aria-label":i("ai:Edit Ntp sources dialog"),title:i("ai:Edit NTP sources"),isOpen:e,onClose:t,variant:hH.small,hasNoBodyWrapper:!0,id:"edit-ntp-sources-modal"},we(yH,{initialValues:{enableNtpSources:r.spec?.additionalNTPSources?"additional":"auto",additionalNtpSources:r.spec?.additionalNTPSources?.join(",")||""},onSubmit:async a=>{try{await o(a,r),t()}catch(l){n(U(l))}},validateOnMount:!0},({isSubmitting:a,isValid:l,values:c,submitForm:p})=>we(bH,null,we(fH,null,we(mH,null,we(Nh,{hasGutter:!0},we(Tn,null,we(pe,{label:i("ai:Auto synchronized NTP (Network Time Protocol) sources"),value:"auto",name:"enableNtpSources"})),we(Tn,null,we(pe,{name:"enableNtpSources",value:"additional",description:we(Nh,{hasGutter:!0},we(Tn,null,i("ai:Configure your own NTP sources to sychronize the time between the hosts that will be added to this infrastructure environment.")),we(Tn,null,we(Ws,{name:"additionalNtpSources",isDisabled:c.enableNtpSources==="auto",helperText:i("ai:A comma separated list of IP or domain names of the NTP pools or servers.")}))),label:i("ai:Your own NTP (Network Time Protocol) sources")})),s&&we(Tn,null,we(pH,{variant:"danger",title:s}))))),we(gH,null,we(Dh,{onClick:p,isDisabled:a||!l},i("ai:Save")),we(Dh,{onClick:t,variant:uH.secondary},i("ai:Cancel"))))))},Hh=CH;var ap=({title:e,onEdit:t,isLoading:o,isWarning:r})=>{let s=F(AH,{color:FH.value});return o?s=F(TH,{isSVG:!0,size:"md"}):r&&(s=F(PH,{color:wH.value})),F("div",null,s,"\xA0",e,"\xA0",F(vH,{variant:"plain",onClick:t},F(EH,null)))},DH=({infraEnv:e,fetchSecret:t,onEditPullSecret:o,onEditSSHKey:r,onEditNtpSources:s,hasAgents:n,hasBMHs:i})=>{let[a,l]=Ss(!1),[c,p]=Ss(!1),[u,m]=Ss(!1),[f,g]=Ss(),[C,h]=Ss(),[S,v]=Ss(!0),y=e.metadata?.namespace??"",b=e.spec?.pullSecretRef?.name??"",{t:I}=d();return HH(()=>{(async()=>{try{if(y&&b){let x=await t(y,b);g(x)}}catch(x){g(void 0),x.code!==404&&h(x.message||I("ai:Could not fetch pull secret"))}finally{v(!1)}})()},[y,b,t,a,I]),F(Rh,null,F(IH,{hasGutter:!0},F(ip,{span:12},F(xH,{headingLevel:"h1",size:kH.lg},I("ai:Environment details"))),F(ip,{span:6},F(Vh,null,F(Ao,null,F(Po,null,I("ai:Infrastructure Environment name")),F(ko,null,e.metadata?.name)),F(Ao,null,F(Po,null,I("ai:Location")),F(ko,null,e.metadata?.labels?.[de]??I("ai:No location"))),F(Ao,null,F(Po,null,I("ai:Network type")),F(ko,null,e.metadata?.labels?.networkType==="static"?I("ai:Static IP, bridges and bonds"):I("ai:DHCP only"))),F(Ao,null,F(Po,null,I("ai:CPU architecture")),F(ko,null,e.spec?.cpuArchitecture??Ae.x86)),F(Ao,null,F(Po,null,I("ai:Labels")),F(ko,null,Object.keys(e.metadata?.labels||{}).map(T=>F(Ul,{key:T,value:`${T}=${e.metadata?.labels?.[T]}`})))),e.metadata?.creationTimestamp&&F(Ao,null,F(Po,null,I("ai:Created at")),F(ko,null,new Date(e.metadata.creationTimestamp).toString())))),F(ip,{span:6},F(Vh,null,e.spec?.proxy?.httpProxy&&F(Ao,null,F(Po,null,I("ai:HTTP Proxy URL")),F(ko,null,e.spec.proxy.httpProxy)),e.spec?.proxy?.httpsProxy&&F(Ao,null,F(Po,null,I("ai:HTTPS Proxy URL")),F(ko,null,e.spec.proxy.httpsProxy)),e.spec?.proxy?.noProxy&&F(Ao,null,F(Po,null,I("ai:No proxy domains")),F(ko,null,e.spec.proxy.noProxy)),F(Ao,null,F(Po,null,I("ai:Secret and keys")),F(ko,null,F(Rh,null,F(ap,{title:I("ai:Pull secret"),onEdit:()=>l(!0),isLoading:S,isWarning:!f}),F(ap,{title:I("ai:SSH public key"),onEdit:()=>p(!0),isWarning:!e.spec?.sshAuthorizedKey}),F(ap,{title:I("ai:NTP sources"),onEdit:()=>m(!0)}))))))),F(Ph,{isOpen:a,onClose:()=>l(!1),pullSecret:f,pullSecretError:C,pullSecretLoading:S,onSubmit:o,infraEnv:e,hasAgents:n,hasBMHs:i}),F(wh,{isOpen:c,onClose:()=>p(!1),infraEnv:e,onSubmit:r,hasAgents:n,hasBMHs:i}),F(Hh,{isOpen:u,onClose:()=>m(!1),infraEnv:e,onSubmit:s}))},NH=DH;import{Fragment as wO,createElement as Qe,useCallback as EO,useMemo as FO,useRef as PO,useState as Rn}from"react";import{Button as bO,DropdownItem as vO,Stack as IO,StackItem as AC}from"@patternfly/react-core";import TO from"lodash/noop";import{createElement as kn,useMemo as Zh,useState as Qh}from"react";import{sortable as xn,expandable as uV,breakWord as mV}from"@patternfly/react-table";import{Link as jh}from"react-router-dom";import{Button as _h,Popover as BH,Stack as KH,StackItem as ua}from"@patternfly/react-core";import{Fragment as zH,createElement as Mt}from"react";import"@patternfly/react-styles/css/utilities/Text/text.css";import Mh from"react";var pa=()=>{let{t:e}=d();return Mh.createElement(Mh.Fragment,null,e("ai:NTP sources can be edited in Host's Infrastructure environment. After updating the NTP sources, make sure to restart the host."))};import{Alert as VH}from"@patternfly/react-core";import{createElement as MH}from"react";var RH=()=>{let{t:e}=d();return MH(VH,{variant:"info",isInline:!0,title:e("ai:Validations are running. If they take more than 2 minutes, please attend to the alert below.")})},Kr=RH;import{Alert as LH}from"@patternfly/react-core";import{createElement as OH}from"react";var _H=({agent:e})=>{let{t}=d();return OH(LH,{variant:"danger",isInline:!0,title:t("ai:Host specification sync error")},e.status?.conditions?.find(o=>o.type==="SpecSynced")?.message)},Lh=_H;var GH=({agent:e,onApprove:t,onEditHostname:o,zIndex:r,wizardStepId:s,isDay2:n})=>{let[i]=tr([e]),a=o?()=>o(e):void 0,l=!e.spec.approved,c=We(i,e.status?.inventory||{}),{t:p}=d(),u=s?Zo(e,s,p):ve(e,!1),m=n&&Object.values(u.validationsInfo).some(f=>f.some(g=>["pending","error","failure"].includes(g.status)));return Mt(Oi,{host:i,onEditHostname:a,zIndex:r,AdditionalNTPSourcesDialogToggleComponent:pa,autoCSR:!0,additionalPopoverContent:u.status===Ee.specSyncErr?Mt(ua,null,Mt(Lh,{agent:e})):m?Mt(ua,null,Mt(Kr,null)):void 0,...u},l&&t&&Mt(BH,{"aria-label":p("ai:Approve host popover"),minWidth:"30rem",maxWidth:"50rem",headerContent:Mt("div",null,p("ai:Approve host to join infrastructure environment")),bodyContent:Mt(KH,{hasGutter:!0},Mt(ua,null,p("ai:Make sure that you expect and recognize the host before approving.")),Mt(ua,null,c&&Mt(zH,null,p("ai:Hostname: {{hostname}}",{hostname:c})))),footerContent:Mt(_h,{variant:"link",onClick:()=>t(e),isInline:!0},p("ai:Approve host"))},Mt(_h,{variant:"link",isInline:!0,className:"pf-u-font-size-xs"},p("ai:Approve host"))))},Gr=GH;import{breakWord as QH,expandable as eV,sortable as Ir}from"@patternfly/react-table";import{Fragment as zh,createElement as Xt}from"react";import{Address4 as Oh,Address6 as Bh}from"ip-address";import jt from"react";import{Button as UH,ButtonVariant as WH,Popover as qH}from"@patternfly/react-core";import{CheckCircleIcon as $H,ExclamationCircleIcon as YH,PendingIcon as jH}from"@patternfly/react-icons";import{global_danger_color_100 as XH,global_success_color_100 as JH}from"@patternfly/react-tokens";var lp=({validation:e,actions:t,children:o})=>{let{t:r}=d(),s=zs(r)[e.id];return jt.createElement(qH,{headerContent:jt.createElement("div",null,es(r)[e.id]),bodyContent:jt.createElement("div",null,so(e.message),e.status==="failure"&&s&&` ${s}`),footerContent:t,zIndex:300},jt.createElement(UH,{variant:WH.link,isInline:!0},o))},ZH=({validation:e,failureActions:t,pendingActions:o,children:r,showFailure:s=!0,showPending:n=!1,showSuccess:i=!1})=>{if(e){if(s&&e.status==="failure")return jt.createElement(lp,{validation:e,actions:t},jt.createElement(YH,{color:XH.value})," ",r);if(n&&e.status==="pending")return jt.createElement(lp,{validation:e,actions:o},jt.createElement(jH,null)," ",r);if(i&&e.status==="success")return jt.createElement(lp,{validation:e},jt.createElement($H,{color:JH.value})," ",r)}return jt.createElement(jt.Fragment,null,r)},bs=ZH;var tV=(e,t)=>e.find(o=>(o.ipv4Addresses||[]).reduce((n,i)=>(Oh.isValid(i)&&n.push(new Oh(i)),n),[]).find(n=>n.isInSubnet(t))?!0:(o.ipv6Addresses||[]).reduce((n,i)=>(Bh.isValid(i)&&n.push(new Bh(i)),n),[]).find(n=>n.isInSubnet(t))),rr=(e,t,o,r)=>({header:{title:e("ai:Hostname"),props:{id:"col-header-hostname"},transforms:[Ir],cellFormatters:[eV],cellTransforms:[QH]},cell:s=>{let n=Me(s),i=t?()=>t(s):void 0,a=We(s,n);return{title:Xt(_r,{host:s,inventory:n,onEditHostname:i,hosts:o,readonly:r?!r():!1}),props:{"data-testid":"host-name"},sortableValue:a||""}}}),Eo=(e,t,o,r,s)=>({header:{title:e("ai:Role"),props:{id:"col-header-role"},transforms:[Ir]},cell:n=>{let i=o?c=>o(n,c):void 0,a=t?.(n),l=od(n,e,r);return{title:Xt(mc,{host:n,readonly:!a,role:l,onEditRole:i,position:s}),props:{"data-testid":"host-role"},sortableValue:l}}});var ma={header:{title:"Discovered on",props:{id:"col-header-discoveredat"},transforms:[Ir]},cell:e=>{let{createdAt:t}=e,o=Ad(t);return{title:o.title,props:{"data-testid":"host-discovered-time"},sortableValue:o.sortableValue}}},Kh=e=>({header:{title:e("ai:CPU Architecture"),props:{id:"col-header-cpuarchitecture"},transforms:[Ir]},cell:t=>{let o=Me(t);return{title:o.cpu?.architecture,props:{"data-testid":"host-cpu-architecture"},sortableValue:o.cpu?.architecture}}}),Fo={header:{title:"CPU Cores",props:{id:"col-header-cpucores"},transforms:[Ir]},cell:e=>{let t=Me(e),{cores:o}=$o(t),s=(te(e.validationsInfo)||{})?.hardware?.find(n=>n.id==="has-cpu-cores-for-role");return{title:Xt(bs,{validation:s},o.title),props:{"data-testid":"host-cpu-cores"},sortableValue:o.sortableValue}}},wo={header:{title:"Memory",props:{id:"col-header-memory"},transforms:[Ir]},cell:e=>{let t=Me(e),{memory:o}=$o(t),s=(te(e.validationsInfo)||{})?.hardware?.find(n=>n.id==="has-memory-for-role");return{title:Xt(bs,{validation:s},o.title),props:{"data-testid":"host-memory"},sortableValue:o.sortableValue}}},Do={header:{title:"Total storage",props:{id:"col-header-disk"},transforms:[Ir]},cell:e=>{let t=Me(e),{disk:o}=$o(t),s=(te(e.validationsInfo)||{})?.hardware?.find(n=>n.id==="has-min-valid-disks");return{title:Xt(bs,{validation:s},o.title),props:{"data-testid":"host-disks"},sortableValue:o.sortableValue}}};var cp=e=>({header:{title:"Active NIC",transforms:[Ir]},cell:t=>{let r=Me(t).interfaces||[],s=gi(e),n=s?Hr(s):null,i=n?tV(r,n):null;return{title:i?.name||ue,props:{"data-testid":"nic-name"},sortableValue:i?.name||ue}}});var da=({title:e,description:t,disabled:o})=>Xt(zh,null,e,o&&Xt(zh,null,Xt("br",null),t)),Gh=({onInstallHost:e,canInstallHost:t,onEditHost:o,canEditHost:r,onHostEnable:s,canEnable:n,onHostDisable:i,canDisable:a,onHostReset:l,canReset:c,onViewHostEvents:p,onDownloadHostLogs:u,canDownloadHostLogs:m,onDeleteHost:f,canDelete:g,onEditBMH:C,canEditBMH:h,canUnbindHost:S,onUnbindHost:v})=>y=>{let b=[];if(y){let I=Me(y),T=We(y,I);if(e&&t?.(y)&&b.push({title:"Install host",id:`button-install-host-${T}`,onClick:()=>e(y)}),o&&r){let x=r(y);if(typeof x=="boolean")x&&b.push({title:"Change hostname",id:`button-edit-host-${T}`,onClick:()=>o(y)});else{let[k,A]=x;b.push({title:Xt(da,{disabled:!k,description:A,title:"Change hostname"}),id:`button-edit-host-${T}`,onClick:()=>o(y),isDisabled:!k})}}if(s&&n?.(y)&&b.push({title:"Enable in cluster",id:`button-enable-in-cluster-${T}`,onClick:()=>s(y)}),i&&a?.(y)&&b.push({title:"Disable in cluster",id:`button-disable-in-cluster-${T}`,onClick:()=>i(y)}),l&&c?.(y)&&b.push({title:"Reset host",id:`button-reset-host-${T}`,onClick:()=>l(y)}),p&&b.push({title:"View host events",id:`button-view-host-events-${T}`,onClick:()=>p(y)}),u&&m?.(y)&&b.push({title:"Download host logs",id:`button-download-host-installation-logs-${T}`,onClick:()=>u(y)}),f&&g){let x=g(y);if(typeof x=="boolean")x&&b.push({title:"Delete host",id:`button-delete-host-${T}`,onClick:()=>f(y)});else{let[k,A]=x;b.push({title:Xt(da,{disabled:!k,description:A,title:"Delete host"}),id:`button-delete-host-${T}`,onClick:()=>f(y),isDisabled:!k})}}if(C&&y.href==="bmc"&&h){let[x,k]=h(y);b.push({title:Xt(da,{disabled:!x,description:k,title:"Edit BMC"}),id:`button-edit-bmh-host-${T}`,onClick:()=>C(y),isDisabled:!x})}if(v&&S){let[x,k]=S(y);b.push({title:Xt(da,{disabled:!x,description:k,title:"Remove from the cluster"}),id:`button-unbind-host-${T}`,onClick:()=>v(y),isDisabled:!x})}}return b};import oV from"lodash/mapKeys";import rV from"lodash/camelCase";import sV from"lodash/uniq";var Uh=(e="open-cluster-management")=>`/api/v1/namespaces/${e}/services/https:assisted-service:8090/proxy`;var nae=e=>{let[t]=Xe(e);return e?.status?.validationsInfo&&(["insufficient","pending-for-input"].includes(t)||t==="ready"&&e.spec?.holdInstallation)},Wh=e=>{let[t]=Xe(e);return["installed","adding-hosts"].includes(t)},qh=e=>{let[t]=Xe(e);return["preparing-for-installation","installing","installing-pending-user-action","finalizing","installed","error","cancelled","adding-hosts"].includes(t)},$h=e=>{let[t]=Xe(e);return!e?.spec?.holdInstallation&&["insufficient","ready"].includes(t)?!0:["preparing-for-installation","installing","finalizing","installing-pending-user-action"].includes(t)},Yh=e=>{let[t]=Xe(e);return["ready","error","preparing-for-installation","installing","finalizing","installed","adding-hosts","cancelled","installing-pending-user-action"].includes(t)},iae=e=>{let[t]=Xe(e);return["error","cancelled"].includes(t)},nV=e=>e.map(t=>oV(t,(o,r)=>rV(r))),iV=(e,t)=>{if(t?.status?.debugInfo?.eventsURL){let o=new URL(t.status?.debugInfo?.eventsURL);return`${Uh(e)}${o.pathname}${o.search}`}return null},aae=(e,t,o)=>async(r,s,n)=>{let i=iV(t,o);if(!i){n("Cannot determine events URL");return}try{let a=await e(i),l=nV(a);s(l)}catch(a){n(U(a))}},vs=e=>!e?.spec?.platform?.agentBareMetal?.agentSelector?.matchLabels?.[ph],fa=(e,t)=>br(t)===e?.metadata?.name&&t?.metadata?.namespace===e?.metadata?.namespace,ga=(e,t,o)=>e.spec?.clusterDeploymentName?.name===t&&e.spec?.clusterDeploymentName?.namespace===o,ha=(e=[],t=[])=>{let o=e.map(r=>r.spec?.hostname||r.status?.inventory?.hostname);return t.forEach(r=>{let s=r.metadata?.annotations?.[er];s&&o.push(s)}),sV(o.filter(Boolean))},ya=e=>e?{span:12}:{span:12,lg:10,xl:9,xl2:7};import{Button as aV,Popover as lV}from"@patternfly/react-core";import{Fragment as pV,createElement as pp}from"react";var cV=({bmhStatus:e})=>e.errorMessage?pp(lV,{headerContent:"Error",bodyContent:e.errorMessage,minWidth:"30rem",maxWidth:"50rem",hideOnOutsideClick:!0,zIndex:300},pp(aV,{variant:"link",isInline:!0},e.state.title)):pp(pV,null,e.state.title),Ca=cV;import Sa from"lodash/noop";var ba=(e,t,o,r,s,n)=>({header:{title:"Hostname",props:{id:"col-header-hostname"},transforms:[xn],cellFormatters:[uV],cellTransforms:[mV]},cell:i=>{let a=Me(i),l=r?()=>r(i):void 0,c=We(i,a),p=!0;return t.find(m=>m.metadata?.uid===i.id)?p=s?!s(i):!1:o.find(f=>f.metadata?.uid===i.id)&&n&&(p=!n(i)),{title:kn(_r,{host:i,inventory:a,onEditHostname:l,hosts:e,readonly:p}),props:{"data-testid":"host-name"},sortableValue:c||""}}}),va=(e,t,o)=>({header:{title:o("ai:Discovery type"),props:{id:"col-header-discovery-type"},transforms:[xn]},cell:r=>{let s=e.find(i=>i.metadata?.uid===r.id),n=o("ai:Unknown");return s?n=s?.metadata?.labels?.hasOwnProperty(Rt)?"BMC":"Discovery ISO":t.find(a=>a.metadata?.uid===r.id)&&(n="BMC"),{title:n,props:{"data-testid":"discovery-type"},sortableValue:n}}}),Lt=({agents:e,bareMetalHosts:t,onEditHostname:o,onApprove:r,wizardStepId:s,t:n,isDay2:i})=>({header:{title:"Status",props:{id:"col-header-infraenvstatus"},transforms:[xn]},cell:a=>{let l=e.find(m=>m.metadata?.uid===a.id),c=t?.find(m=>m.metadata?.uid===a.id),p,u="--";return l?u=kn(Gr,{agent:l,onApprove:r,onEditHostname:o?()=>o(l):void 0,wizardStepId:s,isDay2:i}):c&&(p=Qo(c),u=kn(Ca,{bmhStatus:p})),{title:u,props:{"data-testid":"host-status"},sortableValue:l?s?Zo(l,s,n).status.title:ve(l).status.title:p?.state.title||""}}}),Xh=(e,t,o,r)=>({header:{title:r("ai:Cluster"),props:{id:"col-header-cluster"},transforms:[xn]},cell:s=>{let n=e.find(a=>a.metadata?.uid===s.id),i;if(n?.spec?.clusterDeploymentName)if(n.metadata?.annotations?.agentMachineRefNamespace){let c=t.find(p=>p.status?.agentRef?.name===n.metadata?.name&&p.status?.agentRef?.namespace===n.metadata?.namespace)?.metadata?.annotations?.["hypershift.openshift.io/nodePool"];if(c){let p=c.split("/")[0],u=n.spec.clusterDeploymentName.name;i=o({name:u,namespace:p})}}else i=o(n.spec.clusterDeploymentName);return{title:i?kn(jh,{to:i},n?.spec?.clusterDeploymentName?.name):"--",props:{"data-testid":"cluster"},sortableValue:n?.spec?.clusterDeploymentName?.name??"--"}}}),Is=(e,t)=>({header:{title:t("ai:Infrastructure env"),props:{id:"col-header-infraenv"},transforms:[xn]},cell:o=>{let r=e.find(i=>i.metadata?.uid===o.id),s=br(r);return{title:s?kn(jh,{to:`/multicloud/infrastructure/environments/details/${r.metadata?.namespace}/${s}/overview`},s):"N/A",props:{"data-testid":"infra-env"},sortableValue:s}}}),Ia=(e,t)=>{let o=[To.deprovisioning.key,To.pending.key,To.registering.key].includes(Qo(e).state.key);return[o,o?void 0:t("ai:Bare metal host cannot be edited. Remove this host and add it again if a change is needed.")]},Ta=(e,t)=>{let o=ve(e).status.category!=="Installation related";return[o,o?void 0:t("ai:Hostname cannot be edited while host is either installed or being installed.")]},xa=(e,t,o)=>r=>{let s=e.find(i=>i.metadata?.uid===r.id);if(s)return Ta(s,o);let n=t.find(i=>i.metadata?.uid===r.id);return n?Ia(n,o):[!0,void 0]},dV=(e,t,o)=>{if(!t?.spec.clusterDeploymentName?.name)return[!1,o("ai:The agent is not bound to a cluster.")];let{status:r}=ve(t);if(["preparing-for-installation","installing","installing-in-progress","installing-pending-user-action","resetting-pending-user-action"].includes(r.key))return[!1,o("ai:It is not possible to remove a host which is being installed.")];if(["installed","error","cancelled"].includes(r.key)&&(t.status?.role==="master"||t.status?.role==="bootstrap"))return[!1,o("ai:It is not possible to remove control plane node from an installed cluster.")];if(e){let s=xh(e,t);if(s&&$h(s))return[!1,o("ai:It is not possible to remove a node from a cluster during installation.")]}return[!0,void 0]},fV=(e,t)=>{let o=ve(e).status.category!=="Installation related";return[o,o?void 0:t("ai:Host cannot be deleted while host is either installed or being installed.")]},It=({agents:e,bmhs:t,infraEnv:o,agentClusterInstalls:r},s)=>{let{onEditHost:n,onDeleteHost:i,onEditRole:a,onSelect:l,onEditBMH:c,onUnbindHost:p,onSetInstallationDiskId:u}=s||{},{t:m}=d(),[f,g]=Zh(()=>[tr(e,t,o),{onEditHost:n?h=>{let S=e.find(y=>y.metadata?.uid===h.id);if(S)return n(S);let v=t?.find(y=>y.metadata?.uid===h.id);return v&&c?c(v):Sa}:void 0,canEditHost:h=>{let S=e.find(v=>v.metadata?.uid===h.id);return S?Ta(S,m):!1},onDeleteHost:i?h=>{let S=e.find(y=>y.metadata?.uid===h.id),v=t?.find(y=>y.metadata?.uid===h.id);return i(S,v)}:void 0,canDelete:h=>{let S=e.find(y=>y.metadata?.uid===h.id),v=t?.find(y=>y.metadata?.uid===h.id);return S?fV(S,m):v?[!0,void 0]:[!1,m("ai:Host not found")]},onEditRole:a?(h,S)=>{let v=e.find(y=>y.metadata?.uid===h.id);return v?a(v,S):Promise.resolve(v)}:void 0,canEditRole:()=>!!a,onDiskRole:u?(h,S)=>{let v=e.find(y=>y.metadata?.uid===h);return v&&S?u(v,S):Promise.resolve(v)}:void 0,canEditDisks:()=>!!u,onSelect:l?(h,S)=>{let v=e.find(y=>y.metadata?.uid===h.id);return v?l(v,S):Sa}:void 0,onEditBMH:c?h=>{let S=t?.find(v=>v.metadata?.uid===h.id);return S?c(S):Sa}:void 0,canEditBMH:h=>{let S=t?.find(v=>v.metadata?.uid===h.id);return S?Ia(S,m):[!1,m("ai:Bare metal host not found")]},onUnbindHost:p?h=>{let S=e.find(v=>v.metadata?.uid===h.id);return S?p(S):Sa}:void 0,canUnbindHost:h=>{let S=e.find(y=>y.metadata?.uid===h.id);return S?dV(r,S,m):t?.find(y=>y.metadata?.uid===h.id)?[!1,m("ai:Bare metal host cannot be removed from cluster.")]:[!1,m("ai:Host not found")]}}],[e,t,o,n,i,a,u,l,c,p,m,r]),C=Zh(()=>Gh(g),[g]);return[f,g,C]},gV=(e,t,o,r)=>{if(!r?.length)return e;let s=Object.keys(Ee).filter(n=>r.includes(Ee[n].title));return e.filter(n=>{let i=t.find(l=>l.metadata?.uid===n.id);if(!i){let l=o.find(p=>p.metadata?.uid===n.id);if(!l)return!1;let c=Qo(l);return s.includes(c.state.key)}let{status:a}=ve(i);return s.includes(a.key)})},hV=(e,t,o,r,s)=>{let n=nd(e,r);return gV(n,t,o,s)},Jh=({agents:e,bmhs:t,hosts:o})=>{let[r,s]=Qh(),[n,i]=Qh([]),a=Object.keys(Ee).reduce((c,p)=>(c[Ee[p].title]=0,c),{});o.forEach(c=>{let p=e.find(m=>m.metadata?.uid===c.id),u=t.find(m=>m.metadata?.uid===c.id);if(p){let{status:m}=ve(p);a[m.title]++}else if(u){let{state:m}=Qo(u);a[m.title]++}});let l=hV(o,e,t,r,n);return{statusCount:a,hostnameFilter:r,setHostnameFilter:s,statusFilter:n,setStatusFilter:i,filteredHosts:l}};import{createElement as Ea,useMemo as BR}from"react";import{ConnectedIcon as LR}from"@patternfly/react-icons";import j from"react";import{Checkbox as ey,Pagination as yV,PaginationVariant as CV}from"@patternfly/react-core";import{Table as SV,TableHeader as bV,TableBody as vV,SortByDirection as IV,RowWrapper as TV,InnerScrollContainer as xV}from"@patternfly/react-table";import kV from"lodash/xor";import AV from"classnames";var PV=({rowData:e})=>e?.key,ty=j.memo(({rows:e,cells:t,onCollapse:o,className:r,sortBy:s,onSort:n,rowWrapper:i,testId:a,actionResolver:l})=>{let c=j.useCallback(u=>l?.(u.obj),[l]),p={canCollapseAll:!1};return j.createElement(xV,null,j.createElement(SV,{rows:e,cells:t,onCollapse:o,"aria-label":"Hosts table",className:AV(r,"hosts-table"),sortBy:s,onSort:n,rowWrapper:i,"data-testid":a,actionResolver:l?c:void 0,...p},j.createElement(bV,null),j.createElement(vV,{rowKey:PV})))});ty.displayName="tableMemo";var EV=(e,t)=>e&&t?2:e||t?1:0,FV=e=>j.createElement(TV,{...e,"data-testid":`host-row-${Number(e.rowProps?.rowIndex)}`}),up=j.createContext({selectedIDs:[],allIDs:[]}),wV=({onSelect:e,id:t})=>{let{selectedIDs:o}=j.useContext(up),r=o?.includes(t);return j.createElement(ey,{id:`select-${t}`,onChange:()=>e(!r),isChecked:r})},DV=({onSelect:e})=>{let{allIDs:t,selectedIDs:o}=j.useContext(up),r=kV(t,o).length===0;return t.length?j.createElement(ey,{id:"select-all",onChange:()=>e(!r),isChecked:r}):j.createElement("div",null)},NV=({data:e,testId:t="hosts-table",className:o,content:r,ExpandComponent:s,getDataId:n,actionResolver:i,onSelect:a,children:l,selectedIDs:c,setSelectedIDs:p,perPage:u,page:m,onSetPage:f,onPerPageSelect:g,showPagination:C,perPageOptions:h,canSelectAll:S})=>{let v=j.useMemo(()=>e.map(n),[e,n]);j.useEffect(()=>{if(c&&p){let _=[];c.forEach(w=>{e.find(B=>n(B)===w)||_.push(w)}),_.length&&p(c.filter(w=>!_.includes(w)))}},[e,p,c,n]);let[y,b]=j.useState({}),[I,T]=j.useState({index:EV(!!a,!!s),direction:IV.asc}),x=j.useRef(e);x.current!==e&&(x.current=e);let k=j.useCallback(_=>{p?.(_?x.current.map(n):[])},[p,n]),[A,H]=j.useMemo(()=>{let _=r;a&&(_=[{header:{title:S?j.createElement(DV,{onSelect:k}):"",cellFormatters:[],props:{style:{width:"30px"}}},cell:V=>{let B=n(V),ge=`select-${B}`;return{title:j.createElement(wV,{id:B,onSelect:ke=>a(V,ke)}),props:{"data-testid":ge}}}},...r]);let w=_.map(V=>V.header);return[_,w]},[r,a,n,k,S]),P=j.useMemo(()=>{let _=(e||[]).map(w=>{let V=n(w),B=A.filter(ke=>!!ke.cell).map(ke=>ke.cell?.(w));return{isOpen:!!y[V],cells:B,key:`${V}-master`,obj:w,id:V}}).sort(kd(I,(w,V=1)=>s?w.cells?.[V-1]:w.cells?.[V])).slice((m-1)*u,m*u);return s&&(_=_.reduce((w,V,B)=>(w.push(V),s&&w.push({fullWidth:!0,cells:[{title:V.isOpen?j.createElement(s,{obj:V.obj}):void 0}],key:`${V.id||""}-detail`,parent:B*2}),w),[])),_},[A,s,n,e,y,I,m,u]),R=j.useMemo(()=>P.length?P:xd(l,H.length),[P,H,l]),ee=j.useCallback((_,w)=>{let V=P[w].id;V&&b(Object.assign({},y,{[V]:!y[V]}))},[P,y]),O=j.useCallback((_,w,V)=>{b({}),T({index:w,direction:V})},[]);return j.createElement(j.Fragment,null,j.createElement(up.Provider,{value:{selectedIDs:c,allIDs:v}},j.createElement(ty,{rows:R,cells:H,onCollapse:s?ee:void 0,className:o,sortBy:I,onSort:O,rowWrapper:FV,"data-testid":t,actionResolver:i})),C&&j.createElement(yV,{variant:CV.bottom,itemCount:v.length,perPage:u,onPerPageSelect:g,page:m,onSetPage:f,perPageOptions:h}))},oy=NV;import J from"react";import{Grid as PR,GridItem as dy}from"@patternfly/react-core";import{Table as ER,TableHeader as FR,TableBody as wR,TableVariant as DR,RowWrapper as NR}from"@patternfly/react-table";import ry from"react";var HV=(e,t)=>{switch(t){case"failure":return e("ai:Unreachable");case"success":return e("ai:Synced");default:return e("ai:Not available")}},VV=({validationsInfo:e,AdditionalNTPSourcesDialogToggleComponent:t})=>{let o=e.network?.find(n=>n.id==="ntp-synced"),r=[];t&&r.push(ry.createElement(t,{key:"add-ntp-sources"}));let{t:s}=d();return ry.createElement(bs,{validation:o,failureActions:r,pendingActions:r,showSuccess:!0,showPending:!0},HV(s,o?.status))},sy=VV;import Aa from"react";import{Grid as xR,GridItem as kR}from"@patternfly/react-core";import Tt from"react";import{TextContent as rR,Text as sR,TextVariants as nR,Popover as iR}from"@patternfly/react-core";import{Table as aR,TableHeader as lR,TableBody as cR,TableVariant as pR,RowWrapper as uR}from"@patternfly/react-table";import Tr from"react";import{Dropdown as RV,DropdownItem as MV,DropdownToggle as LV}from"@patternfly/react-core";import{CaretDownIcon as _V}from"@patternfly/react-icons";var ny=(e,t,o)=>e.id===t?ui(o).install:ui(o).none,OV=({host:e,disk:t,installationDiskId:o,isEditable:r,onDiskRole:s})=>{let{t:n}=d(),i=ny(t,o,n);return r&&t.id!==o&&s?Tr.createElement(BV,{host:e,disk:t,installationDiskId:o,onDiskRole:s}):Tr.createElement(Tr.Fragment,null,i)},BV=({host:e,disk:t,installationDiskId:o,onDiskRole:r})=>{let[s,n]=fs(!1),[i,a]=fs(!1),{t:l}=d(),c=[Tr.createElement(MV,{key:"install",id:"install",isDisabled:!t.installationEligibility?.eligible,description:!t.installationEligibility?.eligible&&l("ai:Disk is not eligible for installation")},ui(l).install)],p=Tr.useCallback(f=>{(async()=>{f?.currentTarget.id&&(a(!0),await r(e.id,t.id,f.currentTarget.id),a(!1)),n(!1)})()},[n,a,r,e.id,t.id]),u=ny(t,o,l),m=Tr.useMemo(()=>Tr.createElement(LV,{onToggle:f=>n(f),toggleIndicator:_V,isDisabled:i,className:"pf-c-button pf-m-link pf-m-inline"},u),[n,u,i]);return Tr.createElement(RV,{onSelect:p,dropdownItems:c,toggle:m,isOpen:s,isPlain:!0})},iy=OV;import sr from"react";import{Alert as KV,AlertVariant as GV,Button as zV,ButtonVariant as UV,List as WV,ListItem as qV,Popover as $V}from"@patternfly/react-core";var YV=({disk:e})=>{if(!e.installationEligibility?.eligible){let t=e.installationEligibility?.notEligibleReasons?.length||0;return sr.createElement($V,{headerContent:sr.createElement("div",null,"Disk limitations"),bodyContent:sr.createElement(jV,{...e.installationEligibility}),minWidth:"30rem",maxWidth:"50rem"},sr.createElement(zV,{variant:UV.link,isInline:!0},t))}return null},ay=YV,jV=({eligible:e,notEligibleReasons:t})=>{let o=[],{t:r}=d();return e||o.push(sr.createElement(KV,{key:"install-eligibility",variant:GV.warning,title:r("ai:Disk is not eligible for installation"),isInline:!0},t&&sr.createElement(WV,null,t.map(s=>sr.createElement(qV,{key:s},s))))),sr.createElement(sr.Fragment,null,o)};import{ExclamationTriangleIcon as mR}from"@patternfly/react-icons";import{global_warning_color_100 as dR}from"@patternfly/react-tokens/dist/js/global_warning_color_100";import ly from"react";import{Checkbox as XV,Tooltip as JV}from"@patternfly/react-core";var ka=(e,t)=>e===t,An=(e,t)=>po(e.skipFormattingDisks?e.skipFormattingDisks:"").split(",").filter(o=>o===t).length>0,cy=(e,t)=>po(e.disksToBeFormatted?e.disksToBeFormatted:"").split(",").filter(o=>o===t).length>0,ZV=(e,t,o)=>ka(t,o)?An(e,t):!1,QV=(e,t,o)=>(ka(t,o)||cy(e,t))&&!An(e,t),eR=(e,t,o)=>ka(t,o)?!ZV(e,t,o):!cy(e,t),tR=(e,t,o,r)=>{r&&r(e,t,o)},oR=({host:e,diskId:t,installationDiskId:o,index:r,updateDiskSkipFormatting:s})=>ly.createElement(JV,{hidden:!ka(t,o),content:"Installation disks are always being formatted"},ly.createElement(XV,{id:`select-formatted-${e.id}-${r}`,isChecked:QV(e,t,o),isDisabled:eR(e,t,o),onChange:n=>tR(n,e.id,t,s)})),py=oR;var fR=[{title:"Name"},{title:"Role"},{title:"Limitations"},{title:"Format?"},{title:"Drive type"},{title:"Size"},{title:"Serial"},{title:"Model"},{title:"WWN"}],gR=({rowData:e})=>e?.key,hR=e=>Tt.createElement(uR,{...e,"data-testid":`disk-row-${e.row?.key||""}`}),yR=()=>Tt.createElement(rR,null,Tt.createElement(sR,{component:nR.p},"This bootable disk will skip formatting")),CR=({canEditDisks:e,host:t,disks:o,installationDiskId:r,testId:s,onDiskRole:n,updateDiskSkipFormatting:i})=>{let a=!!e?.(t),l=[...o].sort((c,p)=>c.name?.localeCompare(p.name||"")||0).map((c,p)=>({cells:[{title:Tt.createElement(Tt.Fragment,null,An(t,c.id)&&Tt.createElement(iR,{bodyContent:Tt.createElement(yR,null),minWidth:"20rem",maxWidth:"30rem"},Tt.createElement(mR,{color:dR.value,size:"sm"}))," ",c.bootable?`${c.name||""} (bootable)`:c.name),props:{"data-testid":"disk-name"}},{title:Tt.createElement(iy,{host:t,disk:c,installationDiskId:r,isEditable:a,onDiskRole:n}),props:{"data-testid":"disk-role"}},{title:Tt.createElement(ay,{disk:c}),props:{"data-testid":"disk-limitations"}},{title:Tt.createElement(py,{host:t,diskId:c.id,installationDiskId:r,index:p,updateDiskSkipFormatting:i}),props:{"data-testid":"disk-formatted"}},{title:c.driveType,props:{"data-testid":"drive-type"}},{title:ct(c.sizeBytes||0,2,"si"),props:{"data-testid":"disk-size"}},{title:c.serial,props:{"data-testid":"disk-serial"}},{title:c.model,props:{"data-testid":"disk-model"}},{title:c.wwn,props:{"data-testid":"disk-wwn"}}],key:c.path}));return Tt.createElement(aR,{"data-testid":s,rows:l,cells:fR,variant:pR.compact,"aria-label":"Host's disks table",borders:!1,rowWrapper:hR},Tt.createElement(lR,null),Tt.createElement(cR,{rowKey:gR}))},uy=CR;import mp from"react";import{TextContent as SR,Text as bR,TextVariants as vR,GridItem as IR}from"@patternfly/react-core";var TR=({title:e,testId:t})=>mp.createElement(IR,null,mp.createElement(SR,null,mp.createElement(bR,{"data-testid":t,component:vR.h3},e))),Pn=TR;var AR=({host:e,canEditDisks:t,onDiskRole:o,updateDiskSkipFormatting:r})=>{let n=Me(e).disks||[];return Aa.createElement(xR,{hasGutter:!0},Aa.createElement(Pn,{testId:"disks-section",title:`${n.length} Disk${n.length===1?"":"s"}`}),Aa.createElement(kR,null,Aa.createElement(uy,{testId:"disks-table",canEditDisks:t,host:e,disks:n,installationDiskId:e.installationDiskId,onDiskRole:o,updateDiskSkipFormatting:r})))},my=AR;var dp=({children:e})=>J.createElement(dy,{span:4},J.createElement(ho,null,e)),HR=[{title:"Name"},{title:"MAC address"},{title:"IPv4 address"},{title:"IPv6 address"},{title:"Speed"}],VR=({rowData:e})=>e?.name?.title,RR=e=>J.createElement(NR,{...e,"data-testid":`nic-row:${e.row?.key}`}),MR=({interfaces:e,testId:t})=>{let o=e.sort((s,n)=>s.name?.localeCompare(n.name||"")||0).map(s=>({cells:[{title:s.name,props:{"data-testid":"nic-name"}},{title:s.macAddress,props:{"data-testid":"nic-mac"}},{title:(s.ipv4Addresses||[]).join(", "),props:{"data-testid":"nic-ipv4"}},{title:(s.ipv6Addresses||[]).join(", "),props:{"data-testid":"nic-ipv6"}},{title:s.speedMbps&&s.speedMbps>0?`${s.speedMbps} Mbps`:"N/A",props:{"data-testid":"nic-speed"}}],key:s.name})),{t:r}=d();return J.createElement(ER,{"data-testid":t,rows:o,cells:HR,variant:DR.compact,"aria-label":r("ai:Host's network interfaces table"),borders:!1,rowWrapper:RR},J.createElement(FR,null),J.createElement(wR,{rowKey:VR}))},Ts=({host:e,canEditDisks:t,onDiskRole:o,AdditionalNTPSourcesDialogToggleComponent:r,hideNTPStatus:s=!1,updateDiskSkipFormatting:n})=>{let{t:i}=d(),{id:a,validationsInfo:l}=e,c=Me(e),p=J.useMemo(()=>te(l)||{},[l]),u=$o(c),m=c.interfaces||[],f=c.bmcAddress;c.bmcV6address&&(f=f?`${f}, ${c.bmcV6address}`:c.bmcV6address),f=f||ue;let g=sd(c,i),C=J.useMemo(()=>J.createElement(sy,{AdditionalNTPSourcesDialogToggleComponent:r,validationsInfo:p}),[r,p]);return J.createElement(PR,{hasGutter:!0},J.createElement(Pn,{testId:"host-details-section",title:"Host details"}),J.createElement(dp,null,J.createElement($,{testId:"uuid",title:"UUID",value:a}),J.createElement($,{testId:"manufacturer",title:i("ai:Manufacturer"),value:c.systemVendor?.manufacturer||ue}),J.createElement($,{testId:"product",title:i("ai:Product"),value:c.systemVendor?.productName||ue}),J.createElement($,{testId:"serial-number",title:"Serial number",value:u.serialNumber})),J.createElement(dp,null,J.createElement($,{testId:"memory-capacity",title:i("ai:Memory capacity"),value:u.memory.title}),J.createElement($,{testId:"cpu-model",title:i("ai:CPU model name"),value:c.cpu?.modelName||ue}),J.createElement($,{testId:"cpu-cores-and-clock",title:i("ai:CPU cores and clock speed"),value:u.cpuSpeed}),J.createElement($,{testId:"cpu-arch",title:i("ai:CPU architecture"),value:c.cpu?.architecture||ue})),J.createElement(dp,null,J.createElement($,{testId:"hw-type",title:"Hardware type",value:g}),J.createElement($,{testId:"bmc-address",title:"BMC address",value:f}),J.createElement($,{testId:"boot-mode",title:i("ai:Boot mode"),value:c.boot?.currentBootMode||ue}),c.boot?.pxeInterface&&J.createElement($,{testId:"pxe-interface",title:i("ai:PXE interface"),value:c.boot?.pxeInterface}),J.createElement($,{isHidden:s,testId:"ntp-status",title:i("ai:NTP status"),value:C})),J.createElement(my,{host:e,onDiskRole:o,canEditDisks:t,updateDiskSkipFormatting:n}),J.createElement(Pn,{testId:"nics-section",title:`${m.length} NIC${m.length===1?"":"s"}`}),J.createElement(dy,null,J.createElement(MR,{interfaces:m,testId:"nics-table"})))};var _R=e=>e.id,Pa=({setDiscoveryHintModalOpen:e,isSNO:t=!1})=>{let{t:o}=d();return Ea(qe,{icon:LR,title:o("ai:Waiting for host...",{count:+t}),content:o("ai:Hosts may take a few minutes to appear here after booting."),secondaryActions:e&&[Ea(oa,{key:"hosts-not-showing",isSNO:t,setDiscoveryHintModalOpen:e})]})},No=({obj:e})=>Ea(Ts,{key:e.id,host:e}),OR=({hosts:e,skipDisabled:t,...o})=>{let r=BR(()=>(e||[]).filter(s=>!t||s.status!=="disabled"),[e,t]);return Ea(oy,{getDataId:_R,data:r,...o})},rt=OR;import{createElement as GR}from"react";var KR=({agent:e,onSave:t,...o})=>{let[r]=e?tr([e]):[];return GR(gc,{host:r,inventory:e?.status?.inventory,...o,onSave:async({hostname:s})=>e&&t(e,s)})},En=KR;import{createElement as kr,useState as nM}from"react";import{EmptyState as JR,EmptyStateBody as ZR,EmptyStateIcon as QR,Modal as eM,ModalVariant as tM,Spinner as oM}from"@patternfly/react-core";import{Fragment as yy,createElement as ks}from"react";import xr from"react";import{Alert as zR,AlertVariant as UR,TextContent as WR,TextList as qR,TextListItem as fy,TextListItemVariants as gy,TextListVariants as $R}from"@patternfly/react-core";var hy=({title:e,conditions:t})=>t.length?xr.createElement(zR,{title:e,variant:UR.danger,isInline:!0,className:"cim-resource-alerts cim-resource-alerts--noul"},xr.createElement(WR,null,xr.createElement(qR,{component:$R.ul},t.map(o=>{let[r,...s]=o.message.split(/:|\.,/);return xr.createElement(xr.Fragment,{key:r},xr.createElement(fy,{component:gy.li},xr.createElement("strong",null,r)),s.map(n=>xr.createElement(fy,{key:n,component:gy.li},n)))})))):null;import{Alert as YR,AlertVariant as jR,ModalBoxBody as XR}from"@patternfly/react-core";var xs=({infraEnv:e,docVersion:t,children:o,inModal:r})=>{let s=Ih(e,void 0),{t:n}=d();if(e.status&&!s.length)return ks(yy,null,o);let i=ks(yy,null,!e.status&&ks(YR,{title:n("ai:Central infrastructure management is not running"),variant:jR.warning,isInline:!0,className:"cim-resource-alerts",actionLinks:ks("a",{href:ra(t),target:"_blank",rel:"noopener noreferrer"},n("ai:Open documentation"))},n("ai:It seems the Central infrastructure management is not configured which will prevent its features to be used. Please refer to the documentation for the first time setup steps.")),ks(hy,{title:n("ai:Failing infrastructure environment"),conditions:s}));return r?ks(XR,null,i):i};var rM=({isOpen:e,onClose:t,infraEnv:o,agentClusterInstall:r,onSaveISOParams:s,docVersion:n})=>{let i=o.metadata?.labels?.networkType!=="static",a=o.spec?.sshAuthorizedKey||r?.spec?.sshPublicKey,{httpProxy:l,httpsProxy:c,noProxy:p}=o.spec?.proxy||{},m=!!a||!!l||!!c||!!p?"iso-download":"iso-config",[f,g]=nM(m),{t:C}=d(),h=async(S,v)=>{try{await s(S),g("iso-download")}catch(y){v.setStatus({error:{title:C("ai:Failed to download the discovery Image"),message:y}})}};return kr(eM,{"aria-label":C("ai:Add host dialog"),title:C("ai:Add host"),isOpen:e,onClose:t,variant:tM.small,hasNoBodyWrapper:!0,id:"add-host-modal"},kr(xs,{infraEnv:o,docVersion:n,inModal:!0},f==="iso-config"&&kr(eh,{onCancel:t,handleSubmit:h,hideDiscoveryImageType:!0,imageType:"full-iso",sshPublicKey:a,httpProxy:l,httpsProxy:c,noProxy:p,hasDHCP:i}),f==="iso-download"&&kr(sM,{onClose:t,infraEnv:o,onReset:()=>g("iso-config"),hasDHCP:i})))},sM=({infraEnv:e,onClose:t,onReset:o,hasDHCP:r})=>{let{t:s}=d();return e.status?.isoDownloadURL?kr(Cn,{onClose:t,downloadUrl:e.status.isoDownloadURL,onReset:o,hasDHCP:r}):kr(JR,null,kr(QR,{icon:oM}),kr(ZR,null,s("ai:Generating discovery ISO")))},fp=rM;import{createElement as Cp,useEffect as LM,useState as vy}from"react";import{Modal as VM,ModalVariant as RM}from"@patternfly/react-core";import{Fragment as hp,createElement as z,useMemo as HM,useState as NM}from"react";import{dump as DM,load as FM}from"js-yaml";import{Alert as iM,AlertActionCloseButton as aM,AlertVariant as lM,Button as gp,ButtonVariant as cM,Form as pM,FormGroup as uM,Grid as mM,GridItem as As,ModalBoxBody as dM,ModalBoxFooter as fM,Text as Cy,TextInputTypes as gM,TextVariants as Sy}from"@patternfly/react-core";import{Formik as hM,FieldArray as yM,useField as CM,useFormikContext as SM}from"formik";import{array as wM,object as by,string as Ps}from"yup";import{Language as bM}from"@patternfly/react-code-editor";import{MinusCircleIcon as vM,PlusCircleIcon as IM}from"@patternfly/react-icons";var TM=()=>{let[e,{touched:t,error:o}]=CM({name:"macMapping"}),{errors:r}=SM(),s=M("macMapping","input"),n=!(t&&o),{t:i}=d();return z(uM,{fieldId:s,label:i("ai:MAC to interface name mapping"),validated:n?"default":"error"},z(yM,{name:"macMapping",render:({push:a,remove:l})=>z(mM,{hasGutter:!0},z(As,{span:5},z(Cy,{component:Sy.small},"MAC address")),z(As,{span:5},z(Cy,{component:Sy.small},"NIC")),e.value.map((c,p)=>{let u=`macMapping[${p}].macAddress`,m=`macMapping[${p}].name`;return z(hp,{key:p},z(As,{span:5},z(X,{name:u,inputError:r[u]?.[0]})),z(As,{span:5},z(X,{name:m,inputError:r[m]?.[0]})),p!==0&&z(As,{span:2},z(vM,{onClick:()=>l(p)})))}),z(As,{span:6},z(gp,{icon:z(IM,null),onClick:()=>a({macAddress:"",name:""}),variant:"link",isInline:!0},i("ai:Add more"))))}))},xM=(e,t)=>{let o=FM(e.nmState);return{apiVersion:"agent-install.openshift.io/v1beta1",kind:"NMStateConfig",metadata:{generateName:`${t.metadata?.name}-`,namespace:t.metadata?.namespace,labels:{[Rt]:e.name,[dt]:t?.metadata?.name||""}},spec:{config:o,interfaces:e.macMapping.filter(s=>s.macAddress.length&&s.name.length)}}},kM=(e,t,o)=>by({name:Ps().required(o("ai:Required field")),hostname:hr(o,e,t),bmcAddress:Cd(o).required(o("ai:Required field")),username:Ps().required(o("ai:Required field")),password:Ps().required(o("ai:Required field")),bootMACAddress:Ai,nmState:Ps(),macMapping:wM().of(by().shape({macAddress:Ai.when(["name"],{is:r=>!!r,then:Ai.required(o("ai:MAC has to be specified"))}),name:Ps().when(["macAddress"],{is:r=>!!r,then:Ps().required(o("ai:Name has to be specified"))})},[["name","macAddress"]]))}),AM={name:"",hostname:"",bmcAddress:"",username:"",password:"",bootMACAddress:"",disableCertificateVerification:!0,online:!1,nmState:"",macMapping:[{macAddress:"",name:""}]},PM=(e,t,o,r)=>r?{name:e?.metadata?.name||"",hostname:e?.metadata?.annotations?.[er]||"",bmcAddress:e?.spec?.bmc?.address||"",username:o?.data?.username?atob(o.data.username):"",password:o?.data?.password?atob(o.data.password):"",bootMACAddress:e?.spec?.bootMACAddress||"",disableCertificateVerification:!!e?.spec?.bmc?.disableCertificateVerification,online:!!e?.spec?.online,nmState:t?DM(t?.spec?.config):"",macMapping:t?.spec?.interfaces||[{macAddress:"",name:""}]}:AM,EM=({onCreateBMH:e,onClose:t,hasDHCP:o,infraEnv:r,bmh:s,nmState:n,secret:i,isEdit:a,usedHostnames:l})=>{let[c,p]=NM(),u=async C=>{try{p(void 0);let h=C.nmState?xM(C,r):void 0;await e(C,h),t()}catch(h){p(U(h))}},{t:m}=d(),{initValues:f,validationSchema:g}=HM(()=>{let C=PM(s,n,i,a),h=kM(l,C.hostname,m);return{initValues:C,validationSchema:h}},[l,s,n,i,a,m]);return z(hM,{initialValues:f,isInitialValid:!1,validate:Ut(g),onSubmit:u},({isSubmitting:C,isValid:h,submitForm:S})=>z(hp,null,z(dM,null,z(pM,{id:"add-bmc-form"},z(X,{label:m("ai:Name"),name:"name",placeholder:m("ai:Enter the name for the Host"),isRequired:!0,isDisabled:a}),z(Wt,{label:m("ai:Hostname"),name:"hostname",placeholder:m("ai:Enter the hostname for the Host"),richValidationMessages:mo(m),isRequired:!0}),z(X,{label:m("ai:Baseboard Management Controller Address"),name:"bmcAddress",placeholder:m("ai:Enter an address"),isRequired:!0}),z(X,{label:m("ai:Boot NIC MAC Address"),name:"bootMACAddress",placeholder:m("ai:Enter an address"),description:m("ai:The MAC address of the host's network connected NIC that wll be used to provision the host.")}),z(X,{label:m("ai:Username"),name:"username",placeholder:m("ai:Enter a username for the BMC"),isRequired:!0}),z(X,{type:gM.password,label:m("ai:Password"),name:"password",placeholder:m("ai:Enter a password for the BMC"),isRequired:!0}),!o&&z(hp,null,z(Hl,{label:m("ai:NMState"),name:"nmState",language:bM.yaml,description:m("ai:Upload a YAML file in NMstate format that includes your network configuration (static IPs, bonds, etc.).")}),z(TM,null))),c&&z(iM,{title:m("ai:Failed to add host"),variant:lM.danger,isInline:!0,actionClose:z(aM,{onClose:()=>p(void 0)})},c)),z(fM,null,z(gp,{onClick:S,isDisabled:C||!h},m(a?"ai:Submit":"ai:Create")),z(gp,{onClick:t,variant:cM.secondary},"Cancel"))))},Fn=EM;var MM=({isOpen:e,onClose:t,onEdit:o,infraEnv:r,bmh:s,nmStates:n,fetchSecret:i,usedHostnames:a})=>{let[l,c]=vy(),[p,u]=vy(!0),m=r.metadata?.labels?.networkType!=="static",f=s?.metadata?.name,g=s?.metadata?.namespace,C=s?.spec?.bmc?.credentialsName,h=n.find(v=>v.metadata?.labels?.[Rt]===f),{t:S}=d();return LM(()=>{c(void 0);let v=async()=>{if(C&&g)try{let y=await i(g,C);c(y)}catch(y){console.error(S("ai:Could not get secret"),y)}u(!1)};g&&f&&(u(!0),v())},[f,g,i,C,m,S]),Cp(VM,{"aria-label":S("ai:Edit BMH dialog"),title:S("ai:Edit BMH"),isOpen:e,onClose:t,variant:RM.small,hasNoBodyWrapper:!0,id:"edit-bmh-modal"},p?Cp(pt,null):Cp(Fn,{isEdit:!0,onCreateBMH:o({bmh:s,secret:l,nmState:h}),onClose:t,hasDHCP:m,infraEnv:r,bmh:s,secret:l,nmState:h,usedHostnames:a}))},yp=MM;import Ie from"react";import{array as Ma,lazy as ML,number as _L,object as LL}from"yup";import{Modal as TL,ModalBoxBody as xL,ModalBoxFooter as kL,Button as zy,ButtonVariant as AL,Alert as PL,AlertVariant as EL,AlertActionCloseButton as FL,Stack as wL,StackItem as Uy}from"@patternfly/react-core";import{Formik as DL}from"formik";import Bt from"react";import{useFormikContext as CL}from"formik";import{Flex as SL,FlexItem as Ky,Form as bL,FormGroup as vL}from"@patternfly/react-core";import eL from"lodash/isMatch";import{useFormikContext as tL}from"formik";import Ot from"react";import oL from"react-measure";import{Alert as rL,AlertVariant as sL,Grid as nL,GridItem as vp}from"@patternfly/react-core";import co from"react";import _M from"lodash/countBy";import{Trans as Iy}from"react-i18next";var OM=()=>{let{t:e}=d();return co.createElement(Y,{position:"right",bodyContent:co.createElement(co.Fragment,null,e("ai:Select one or multiple locations to choose the hosts from."),co.createElement("br",null),co.createElement(Iy,{t:e,components:{bold:co.createElement("strong",null)},i18nKey:"ai:Keep the field empty to match <bold>any</bold> location."}),co.createElement("br",null),co.createElement(Iy,{t:e,components:{bold:co.createElement("strong",null)},i18nKey:"ai:Set <bold>{{agent_location_label_key}}</bold> label in Agent resource to specify it's location.",values:{agent_location_label_key:de}}))})},BM=(e,t)=>e===0?t("ai:(no hosts available)"):e===1?t("ai:(1 host available)"):t("ai:({{size}} hosts available)",{size:e}),KM=({agents:e})=>{let t=_M(e,({metadata:s})=>s?.labels?.[de]||Or),{t:o}=d(),r=Object.keys(t).map(s=>({isLastOptionBeforeFooter:n=>n===t.length,id:s,value:s,displayName:`${s===Or?o("ai:No location"):s} ${BM(t[s],o)}`}));return co.createElement(Bs,{idPostfix:"locations",name:"locations",label:o("ai:Host locations"),labelIcon:co.createElement(OM,null),placeholderText:o("ai:Type or select location(s)"),helperText:o("ai:Select one or more locations to view hosts"),options:r})},Es=KM;import _t from"react";import GM from"lodash/flatten";import{Dropdown as zM,DropdownItem as Ty,DropdownToggle as UM,Label as xy,LabelGroup as WM,Split as qM,SplitItem as ky}from"@patternfly/react-core";import{useField as $M}from"formik";var Ay=[dt,de],Py=(e,t)=>Array.from(new Set(GM(e.map(o=>Object.keys(o.metadata?.labels||{}).filter(r=>!t?.includes(r)).map(r=>`${r}=${o.metadata?.labels?.[r]||""}`))))).map(o=>({id:o,value:o,displayName:o})),YM=({agents:e,labelKeysFilter:t,name:o="agentLabels",label:r})=>{let{t:s}=d(),n=Py(e,t);return _t.createElement(Bs,{idPostfix:"agentLabels",name:o,label:r||s("ai:Labels matching hosts"),placeholderText:"app=frontend",helperText:s("ai:Provide as many labels as you can to narrow the list to relevant hosts only."),options:n})},Ey=YM,Fy=({agents:e,labelKeysFilter:t,name:o="agentLabels",label:r})=>{let{t:s}=d(),[n,i]=_t.useState(!1),[a,,{setValue:l}]=$M(o),p=Py(e,t).filter(f=>!(a.value||[]).map(({key:g,value:C})=>`${g}=${C}`).includes(f.value)),u=p.length?p.map(f=>_t.createElement(Ty,{key:f.id,id:f.id,onClick:()=>{let g=f.value.split("=",2);l([...a.value,{key:g[0],value:g[1]}])}},f.displayName)):[_t.createElement(Ty,{key:"no-option",isDisabled:!0},s("ai:No label available"))],m=r||s("ai:Filter hosts by existing labels");return _t.createElement(qM,{hasGutter:!0,className:"pf-c-label-group pf-m-category ai-split-filter-hosts"},_t.createElement(ky,null,a.value.length?_t.createElement(WM,{categoryName:m,className:"ai-group-label-selector"},a.value.map(({key:f,value:g})=>_t.createElement(xy,{key:f,onClose:()=>l(a.value.filter(C=>C.key!==f)),isTruncated:!0},`${f}=${g}`))):_t.createElement("span",{className:"pf-c-label-group__label"},m)),_t.createElement(ky,null,_t.createElement(zM,{onSelect:()=>i(!1),toggle:_t.createElement(UM,{toggleIndicator:null,onToggle:i,style:{padding:0}},_t.createElement(xy,{color:"blue",variant:"outline",className:"pf-m-overflow"},s("ai:Add label"))),isOpen:n,isPlain:!0,dropdownItems:u,menuAppendTo:()=>document.body})))};import nr from"react";import{useField as ZM}from"formik";import{useMemo as XM,useState as wy}from"react";var jM=[{title:"10",value:10},{title:"20",value:20}],st=e=>{let[t,o]=wy(10),[r,s]=wy(1),{onSetPage:n,onPerPageSelect:i}=XM(()=>({onSetPage:(l,c)=>s(c),onPerPageSelect:(l,c)=>o(c)}),[]);return{showPagination:e>10,perPage:t,page:r,onSetPage:n,onPerPageSelect:i,perPageOptions:jM}};import{useField as JM}from"formik";import{useCallback as Dy,useRef as wa}from"react";var Fa=e=>{let[{value:t},,{setValue:o,setTouched:r}]=JM(e),s=wa(t);s.current=t;let n=wa(o);n.current=o;let i=wa(r);i.current=r;let a=Dy((p,u)=>{n.current(p,u)},[]),l=Dy((p,u)=>i.current(p,u),[]),c=wa(t);return c.current=t,{setValue:a,setTouched:l,valueRef:c}};import Sp from"react";var Ny=Sp.createContext(void 0),Da=({canEditDisks:e,onDiskRole:t,updateDiskSkipFormatting:o,children:r})=>{let s={canEditDisks:e,onDiskRole:t,updateDiskSkipFormatting:o};return Sp.createElement(Ny.Provider,{value:s},r)},Hy=()=>{let e=Sp.useContext(Ny);if(e===void 0)throw new Error("useHostTableDetailContext must be used within a HostsTableDetailContextProvider");return e};function bp({obj:e}){let{onDiskRole:t,canEditDisks:o}=Hy();return nr.createElement(Ts,{key:e.id,host:e,onDiskRole:t,canEditDisks:o})}var QM=({matchingAgents:e,onEditRole:t,width:o,onEditHost:r,onHostSelect:s,onSetInstallationDiskId:n})=>{let{t:i}=d(),[{value:a}]=ZM("selectedHostIds"),l=nr.useRef(a);l.current=a;let{setValue:c,setTouched:p}=Fa("selectedHostIds"),u=nr.useCallback(y=>{c(y,!0),p(!0,!1)},[c,p]);nr.useEffect(()=>{let y=e.map(I=>I.metadata?.uid),b=a.filter(I=>y.includes(I));b.length!==a.length&&u(b)},[e,u,a]);let m=nr.useCallback((y,b)=>{let I=b?[...l.current,y.metadata?.uid||""]:l.current.filter(T=>T!==y.metadata?.uid);u(I),s?.()},[u,s]),[f,g,C]=It({agents:e},{onSelect:m,onEditRole:t,onEditHost:r,onSetInstallationDiskId:n}),h=o&&o>700,S=nr.useMemo(()=>[ba(f,e,[],g.onEditHost,g.canEditHostname),...h?[Is(e,i)]:[],Lt({agents:e,wizardStepId:"hosts-selection",t:i}),Eo(i,g.canEditRole,g.onEditRole,void 0,void 0),...h?[Fo,wo,Do]:[]],[e,g.canEditRole,g.onEditRole,h,f,g.onEditHost,g.canEditHostname,i]),v=st(f.length);return nr.createElement(Da,{canEditDisks:g.canEditDisks,onDiskRole:g.onDiskRole},nr.createElement(rt,{hosts:f,content:S,selectedIDs:a,actionResolver:C,ExpandComponent:g.onDiskRole?bp:No,...g,...v},nr.createElement(qe,{title:i("ai:No hosts found"),content:i("ai:No host matches provided labels/locations")})))},Vy=QM;var iL=({availableAgents:e,onEditRole:t,onSetInstallationDiskId:o,onEditHost:r,onHostSelect:s,cpuArchitecture:n})=>{let{t:i}=d(),{values:a}=tL(),{locations:l,agentLabels:c}=a,p=Ot.useMemo(()=>e.filter(u=>{let m=c.reduce((C,h)=>{let S=h.split("=");return C[S[0]]=S[1],C},{}),f=l.length?l.includes(u.metadata?.labels?.[de]||Or):!0,g=u.metadata?.labels?eL(u.metadata?.labels,m):!0;return f&&g}),[e,l,c]);return Ot.createElement(Ot.Fragment,null,Ot.createElement(nL,{hasGutter:!0},Ot.createElement(vp,null,Ot.createElement(Es,{agents:e})),Ot.createElement(vp,null,Ot.createElement(Ey,{agents:p,name:"agentLabels",labelKeysFilter:Ay})),n&&Ot.createElement(rL,{variant:sL.info,title:i("ai:Displaying only hosts with {{cpuArchitecture}} architecture in the table.",{cpuArchitecture:n}),isInline:!0}),Ot.createElement(vp,null,Ot.createElement(oL,{bounds:!0},({measureRef:u,contentRect:m})=>Ot.createElement("div",{ref:u},Ot.createElement(Vy,{matchingAgents:p,onEditRole:t,onSetInstallationDiskId:o,width:m.bounds?.width,onEditHost:r,onHostSelect:s}))))))},Na=iL;import ir from"react";import{Grid as hL,GridItem as Oy}from"@patternfly/react-core";import wn from"react";import{Alert as My,AlertGroup as cL,AlertVariant as Ly}from"@patternfly/react-core";import aL from"react";var Ry=(e,t)=>{let o=e.reduce((r,s)=>(r.cpus+=s.status?.inventory.cpu?.count||0,r.memory+=s.status?.inventory.memory?.usableBytes||0,r),{cpus:0,memory:0});return t("ai:{{cpus}} CPUs | {{memory}} Memory",{cpus:o.cpus,memory:ct(o.memory,2,"iec")})},lL=({selectedAgents:e})=>{let{t}=d();return aL.createElement("div",null,t("ai:Total compute"),": ",Ry(e,t))},Ip=lL;var pL=(e,t)=>{switch(e){case 0:return t("ai:No host is selected.")}return t("ai:Only {{hostsSelected}} host is selected.",{count:e,hostsSelected:e})},uL=({matchingAgentsCount:e,selectedAgents:t,targetHostCount:o})=>{let r=t.length,{t:s}=d();return wn.createElement(cL,null,r===o&&wn.createElement(My,{variant:Ly.success,title:s("ai:{{selectedAgentsCount}} host selected out of {{matchingAgentsCount}} matching.",{count:r,selectedAgentsCount:r,matchingAgentsCount:e}),isInline:!0},wn.createElement(Ip,{selectedAgents:t})),r<o&&wn.createElement(My,{variant:Ly.warning,title:pL(r,s),isInline:!0},wn.createElement(Ip,{selectedAgents:t})))},Ha=uL;import mL from"react";var dL=()=>{let{t:e}=d();return mL.createElement(Y,{position:"right",bodyContent:e("ai:Total count of hosts to be included in the cluster.")})},Va=dL;import _y from"react";import{useFormikContext as fL}from"formik";import gL from"lodash/isEqual";var Ra=e=>{let{setFieldValue:t,values:o}=fL(),{hostCount:r,locations:s,autoSelectedHostIds:n}=o,[i,a]=_y.useMemo(()=>{let l=e.filter(p=>{let u=p.metadata?.labels?.[de]||Or;return s.length?s.includes(u):!0}),c=l.filter(p=>n.includes(p.metadata?.uid||""));return[l,c]},[e,s,n]);return _y.useEffect(()=>{let l=i.map(c=>c.metadata?.uid).splice(0,r);gL(l,n)||setTimeout(()=>t("autoSelectedHostIds",l,!0))},[i,t,n,r]),{matchingAgents:i,selectedAgents:a,hostCount:r}};var yL=({availableAgents:e})=>{let{matchingAgents:t,selectedAgents:o,hostCount:r}=Ra(e),{t:s}=d();return ir.createElement(ir.Fragment,null,ir.createElement(hL,{hasGutter:!0},ir.createElement(Oy,{span:12,lg:10,xl:9,xl2:7},ir.createElement(zo,{label:s("ai:Number of hosts"),labelIcon:ir.createElement(Va,null),idPostfix:"hostcount",name:"hostCount",minValue:1,maxValue:t.length,isRequired:!0})),ir.createElement(Oy,{span:12,lg:10,xl:9,xl2:7},ir.createElement(Es,{agents:e}))),ir.createElement(Ha,{matchingAgentsCount:t.length,selectedAgents:o,targetHostCount:r}))},By=yL;var IL=({agents:e,onEditHost:t})=>{let{values:o}=CL(),{autoSelectHosts:r}=o,s=Bt.useMemo(()=>xo(e).filter(i=>!(i.spec?.clusterDeploymentName?.name||i.spec?.clusterDeploymentName?.namespace)&&i.status?.inventory.cpu?.architecture===o.cpuArchitecture),[e,o.cpuArchitecture]),{t:n}=d();return Bt.createElement(bL,null,Bt.createElement(Ks,{name:"autoSelectHosts",label:n("ai:Auto-select hosts")}),Bt.createElement(vL,{fieldId:"cpuArchitecture",label:n("ai:CPU architecture")},Bt.createElement(SL,{justifyContent:{default:"justifyContentFlexStart"}},Bt.createElement(Ky,null,Bt.createElement(pe,{name:"cpuArchitecture",id:"x86_64",value:"x86_64",label:n("ai:x86_64")})),Bt.createElement(Ky,null,Bt.createElement(pe,{name:"cpuArchitecture",id:"arm64",value:"arm64",label:Bt.createElement(Bt.Fragment,null,n("ai:arm64"),"\xA0")})))),r&&Bt.createElement(By,{availableAgents:s}),!r&&Bt.createElement(Na,{availableAgents:s,onEditHost:t}))},Gy=IL;var NL=(e,t)=>t.filter(o=>e.includes(o.metadata?.uid||"")&&!(o.spec?.clusterDeploymentName?.name||o.spec?.clusterDeploymentName?.namespace)),HL=e=>ML(t=>LL().shape({hostCount:_L().min(1).max(e),autoSelectedHostIds:t.autoSelectHosts?Ma().min(1).max(e):Ma(),selectedHostIds:t.autoSelectHosts?Ma():Ma().min(1).max(e)})),VL=({isOpen:e,onClose:t,addHostsToCluster:o,clusterDeployment:r,agents:s,onChangeHostname:n})=>{let[i,a]=Ie.useState(),[l,c]=Ie.useState(),{t:p}=d(),u=()=>{let C=na(r?.metadata?.annotations);return{autoSelectHosts:C.autoSelect,hostCount:1,agentLabels:C.labels,locations:C.locations,cpuArchitecture:vr(r),selectedHostIds:[],autoSelectedHostIds:[]}},m=Ie.useMemo(()=>HL(s.length),[s.length]),f=async C=>{let{autoSelectHosts:h,autoSelectedHostIds:S,selectedHostIds:v}=C;try{c(void 0);let y=NL(h?S:v,s);await o(y),t()}catch(y){c(U(y))}},g=s.filter(C=>C.spec.clusterDeploymentName?.name===r.metadata?.name&&C.spec.clusterDeploymentName?.namespace===r.metadata?.namespace);return Ie.createElement(Ie.Fragment,null,Ie.createElement(TL,{"aria-label":p("ai:Add worker host dialog"),title:p("ai:Add worker hosts"),isOpen:e,onClose:t,hasNoBodyWrapper:!0,id:"scale-up-modal"},Ie.createElement(DL,{initialValues:u(),validationSchema:m,onSubmit:f,validateOnMount:!0},({isSubmitting:C,isValid:h,submitForm:S})=>Ie.createElement(Ie.Fragment,null,Ie.createElement(xL,null,Ie.createElement(wL,{hasGutter:!0},Ie.createElement(Uy,null,Ie.createElement(Gy,{agents:s,onEditHost:a})),l&&Ie.createElement(Uy,null,Ie.createElement(PL,{title:p("ai:Failed to add hosts to the cluster"),variant:EL.danger,actionClose:Ie.createElement(FL,{onClose:()=>c(void 0)}),isInline:!0},l)))),Ie.createElement(kL,null,Ie.createElement(zy,{onClick:S,isDisabled:C||!h},p("ai:Submit")),Ie.createElement(zy,{onClick:t,variant:AL.secondary},p("ai:Cancel")))))),i&&Ie.createElement(En,{agent:i,isOpen:!0,onClose:()=>a(void 0),onSave:n,usedHostnames:ha(g)}))},RL=VL;import{Fragment as YL,createElement as Ze,useMemo as jL,useState as Yy}from"react";import{Alert as OL,Button as Wy,ButtonVariant as BL,Modal as KL,ModalBoxBody as GL,ModalBoxFooter as zL,Stack as UL,StackItem as Tp}from"@patternfly/react-core";import{sortable as qy}from"@patternfly/react-table";var $y=({agent:e,children:t})=>Ze("div",{className:e?.spec.approved?"pf-u-color-200":void 0},t),WL=(e,t)=>({header:{title:t("ai:Hostname"),props:{id:"col-header-hostname"},transforms:[qy]},cell:o=>{let r=e.find(n=>n.metadata?.uid===o.id),s=r?.spec.hostname||r?.status?.inventory.hostname;return{title:Ze($y,{agent:r},s),props:{"data-testid":"hostname"},sortableValue:s}}}),qL=(e,t)=>({header:{title:t("ai:Status"),props:{id:"col-header-status"},transforms:[qy]},cell:o=>{let r=e.find(i=>i.metadata?.uid===o.id),s=r?.spec.approved?t("ai:Already approved"):Ee.discovered.title,n=Ee.discovered.icon;return{title:Ze($y,{agent:r},r?.spec.approved?s:Ze(YL,null,n," ",s)),props:{"data-testid":"status"},sortableValue:s}}}),$L=({agents:e,onApprove:t,isOpen:o,onClose:r})=>{let[s,n]=Yy(null),[i,a]=Yy(),{t:l}=d(),c=async()=>{a(void 0);let f=0;try{for(let g of e)g.spec.approved||(n(100*(f+1)/e.length),await t(g)),f++;n(null),r()}catch(g){a({title:l("ai:An error occured while approving agents"),message:U(g)}),n(null)}},{content:p,hosts:u}=jL(()=>({content:[WL(e,l),qL(e,l)],hosts:tr(e)}),[e,l]),m=st(u.length);return Ze(KL,{"aria-label":l("ai:Approve hosts dialog"),title:l("ai:Approve hosts to join infrastructure environment"),isOpen:o,onClose:r,hasNoBodyWrapper:!0,id:"mass-approve-modal",variant:"medium"},Ze(GL,null,Ze(UL,{hasGutter:!0},Ze(Tp,null,Ze(OL,{isInline:!0,variant:"info",title:l("ai:You are approving multiple hosts. All hosts listed below will be approved to join the infrastructure environment if you continue. Make sure that you expect and recognize the hosts before approving.")})),Ze(Tp,null,Ze(rt,{hosts:u,content:p,...m},Ze("div",null,l("ai:No hosts selected")))),Ze(Tp,null,Ze(Lr,{error:i,progress:s})))),Ze(zL,null,Ze(Wy,{onClick:c,isDisabled:s!==null},l("ai:Approve all hosts")),Ze(Wy,{onClick:r,variant:BL.secondary,isDisabled:s!==null},l("ai:Cancel"))))},Dn=$L;import{createElement as nt,useMemo as i_}from"react";import{Button as XL,Flex as JL,FlexItem as jy,Popover as ZL}from"@patternfly/react-core";import{InfoCircleIcon as QL}from"@patternfly/react-icons";import{Link as e_}from"react-router-dom";import{sortable as Xy}from"@patternfly/react-table";import{global_palette_blue_300 as t_}from"@patternfly/react-tokens/dist/js/global_palette_blue_300";var o_=(e,t)=>({header:{title:t("ai:Hostname"),props:{id:"col-header-hostname"},transforms:[Xy]},cell:o=>{let r=Me(o),s=We(o,r),n=e.find(i=>i.metadata?.uid===o.id)?.spec?.clusterDeploymentName?.name;return{title:nt("div",{className:n?"pf-u-color-200":void 0},s),props:{"data-testid":"hostname"},sortableValue:s}}}),r_=(e,t,o)=>({header:{title:o("ai:Status"),props:{id:"col-header-status"},transforms:[Xy]},cell:r=>{let s=e.find(c=>c.metadata?.uid===r.id),n=s?.spec.clusterDeploymentName?.name,i=t?.find(c=>c.metadata?.uid===r.id),a,l="--";return s?l=n?nt(JL,null,nt(jy,null,nt(Gr,{agent:s,zIndex:7e3})),nt(jy,{align:{default:"alignRight"}},nt(ZL,{"aria-label":o("ai:Cluster popover"),headerContent:nt("div",null,o("ai:Cannot be deleted")),bodyContent:nt("div",null,o("ai:Hosts that are bound to a cluster cannot be deleted. Remove the host from the cluster and try again.")),footerContent:nt(e_,{to:`/multicloud/infrastructure/clusters/details/${n}/`},o("ai:Go to cluster {{clusterName}}",{clusterName:n}))},nt(XL,{variant:"link",icon:nt(QL,{color:t_.value})},o("ai:Cannot be deleted"))))):nt(Gr,{agent:s}):i&&(a=Qo(i),l=nt(Ca,{bmhStatus:a})),{title:l,props:{"data-testid":"host-status"},sortableValue:s?ve(s).status.title:a?.state.title||""}}}),s_=(e,t,o)=>[o_(e,o),r_(e,t,o)],n_=({isOpen:e,onClose:t,onDelete:o,agents:r,bmhs:s,infraEnv:n,nmStates:i})=>{let[a]=It({agents:r,bmhs:s,infraEnv:n}),l=async m=>{let f=r.find(h=>h.metadata?.uid===m.id),g=f?.metadata?.labels?.[Rt],C;if(f?g&&(C=s.find(h=>h?.metadata?.name===g&&f.metadata?.namespace===h.metadata?.namespace)):C=s.find(h=>h.metadata?.uid===m.id),!f?.spec?.clusterDeploymentName?.name)return o(f,C,i)},{t:c}=d(),p=i_(()=>s_(r,s,c),[r,s,c]),u=st(a.length);return nt(Ec,{hosts:a,isOpen:e,onClose:t,onDelete:l},nt(rt,{hosts:a,content:p,...u},nt("div",null,c("ai:No hosts selected"))))},xp=n_;import{createElement as Ap}from"react";import{Modal as a_,ModalVariant as l_}from"@patternfly/react-core";var c_=({isOpen:e,onClose:t,infraEnv:o,onCreateBMH:r,usedHostnames:s,docVersion:n})=>{let i=o.metadata?.labels?.networkType!=="static",{t:a}=d();return Ap(a_,{"aria-label":a("ai:Add BMC host dialog"),title:a("ai:Add host using Baseboard Management Controller (BMC)"),isOpen:e,onClose:t,variant:l_.medium,hasNoBodyWrapper:!0,id:"add-host-modal"},Ap(xs,{infraEnv:o,docVersion:n,inModal:!0},Ap(Fn,{onCreateBMH:r,onClose:t,hasDHCP:i,infraEnv:o,usedHostnames:s})))},kp=c_;import{createElement as Fp}from"react";import{Modal as I_,ModalVariant as T_}from"@patternfly/react-core";import{Fragment as iC,createElement as re,useState as ws}from"react";import{Alert as eC,AlertActionCloseButton as tC,AlertVariant as oC,Button as La,ButtonVariant as Pp,EmptyState as p_,EmptyStateBody as u_,EmptyStateIcon as m_,EmptyStateVariant as d_,ModalBoxBody as f_,ModalBoxFooter as g_,Spinner as h_,Stack as rC,StackItem as Fs,Title as y_}from"@patternfly/react-core";import{ErrorCircleOIcon as C_,UploadIcon as S_}from"@patternfly/react-icons";import sC from"js-yaml";import{saveAs as b_}from"file-saver";var Jy={apiVersion:"v1",data:{username:"<<base64 of the username>>",password:"<<base64 of the password>>"},kind:"Secret",metadata:{name:"<<name of credentials. Should be unique>>",namespace:"<<name of namespace - usually the same as the name of the infra env>>"},type:"Opaque"},Zy={apiVersion:"metal3.io/v1alpha1",kind:"BareMetalHost",metadata:{annotations:{"bmac.agent-install.openshift.io/hostname":"<<hostname of the host>>","inspect.metal3.io":"disabled"},labels:{"infraenvs.agent-install.openshift.io":"<<the name of the infra env in which this host will be>>"},name:"<<the name of the BareMetalHost CR>>",namespace:"<<name of namespace - usually the same as the name of the infra env>>"},spec:{automatedCleaningMode:"disabled",bmc:{address:"<<Baseboard Management Controller Address>>",credentialsName:"<<the name of the secret containing the credentials (defined in line 7)>>",disableCertificateVerification:!0},bootMACAddress:"<<The MAC address of the host's network connected NIC that wll be used to provision the host.>>",online:!1}},Qy={apiVersion:"metal3.io/v1alpha1",kind:"BareMetalHost",metadata:{annotations:{"bmac.agent-install.openshift.io/hostname":"<<hostname of the host>>","inspect.metal3.io":"disabled"},labels:{"infraenvs.agent-install.openshift.io":"<<the name of the infra env in which this host will be>>"},name:"<<the name of the BareMetalHost CR>>",namespace:"<<name of namespace - usually the same as the name of the infra env>>"},spec:{automatedCleaningMode:"disabled",bmc:{address:"<<Baseboard Management Controller Address>>",credentialsName:"<<the name of the secret containing the credentials (defined in line 7)>>",disableCertificateVerification:!0},bootMACAddress:"<<The MAC address of the host's network connected NIC that wll be used to provision the host.>>",online:!1}};var v_=({onClose:e,onCreateBmcByYaml:t})=>{let[o,r]=ws(),[s,n]=ws(),[i,a]=ws(!0),[l,c]=ws(!1),[p,u]=ws(),[m,f]=ws(),{t:g}=d(),C=()=>{let y=[Jy,Zy,Qy].map(I=>sC.dump(I)).join(`---
|
|
22
|
-
`),b=new Blob([y],{type:"text/plain;charset=utf-8"});b_(b,"bmc_hosts_template.yaml")},h=()=>{let y=document.createElement("input");y.setAttribute("id","importBMAsYaml"),y.type="file",y.accept=".yaml",y.style.visibility="hidden",document.querySelector("body")?.appendChild(y),y.onchange=I=>{c(!0),y.remove();let x=I.target.files[0],k=12582912;if(x.size>k)a(!1),r(x.name),n(g("ai:The file is too big. Upload a file up to 12 MiB.")),u(void 0);else{let A=new FileReader;A.readAsText(x,"UTF-8"),A.onload=H=>{let P=H.target?.result;if(P&&typeof P=="string")try{let R=sC.loadAll(P);r(x.name),n(void 0),u(R)}catch{r(x.name),n(g("ai:File is not structured correctly. Use the template to use the right file structure.")),u(void 0)}else u(void 0),r(x.name),n(g("ai:File is not structured correctly. Use the template to use the right file structure."));a(!1)}}},y.click()},S=()=>{n(void 0),f(void 0),r(void 0),a(!0),c(!1)},v=async()=>{try{c(!1),f(void 0),p!==void 0&&await t(p),e()}catch(y){f(U(y))}};return re(iC,null,re(f_,null,re(rC,{hasGutter:!0},re(Fs,null,re(p_,{variant:d_.large},re(m_,{icon:S_}),re(y_,{headingLevel:"h4",size:"lg"},g("ai:Upload a YAML file")),re(u_,null,re("p",null,g("ai:Upload a YAML file with BareMetalHost and Secret resource definitions. Use the provided template as a reference.")),re(rC,{hasGutter:!0},re(Fs,null,re(La,{variant:Pp.link,onClick:C},g("ai:Download template"))),i&&re(Fs,null,re(La,{variant:Pp.secondary,onClick:()=>{try{h()}catch(y){f(U(y))}},isDisabled:l},l?re(iC,null,g("ai:Opening file")," ",re(h_,{size:"sm"})):g("ai:Open file"))),o&&re(Fs,null,o,"\xA0",re(C_,{onClick:S})))))),m&&re(Fs,null,re(eC,{title:g("ai:Failed to add host by YAML"),variant:oC.danger,isInline:!0,actionClose:re(tC,{onClose:()=>f(void 0)})},g("ai:The YAML file might not be formatted correctly. Use the template to format and try again."),re("br",null),g("ai:Received error:"),"\xA0",m)),s&&re(Fs,null,re(eC,{title:g("ai:The file cannot be uploaded"),variant:oC.danger,isInline:!0,actionClose:re(tC,null)},s)))),re(g_,null,re(La,{onClick:()=>{v()},isDisabled:!o||!!s},g("ai:Upload")),re(La,{onClick:e,variant:Pp.secondary},g("ai:Cancel"))))},nC=v_;var x_=({isOpen:e,onClose:t,onCreateBmcByYaml:o,infraEnv:r,docVersion:s})=>{let{t:n}=d();return Fp(I_,{"aria-label":n("ai:Add host dialog"),title:n("ai:Add hosts by uploading YAML (BMC)"),variant:T_.medium,isOpen:e,onClose:t,hasNoBodyWrapper:!0},Fp(xs,{infraEnv:r,docVersion:s,inModal:!0},Fp(nC,{onClose:t,onCreateBmcByYaml:o})))},Ep=x_;import{Fragment as F_,createElement as Nn}from"react";import{useHistory as k_}from"react-router-dom";import{Alert as A_,AlertActionLink as aC,AlertVariant as P_}from"@patternfly/react-core";import{ExternalLinkAltIcon as E_}from"@patternfly/react-icons";var rde=({docStorageUrl:e,storageOperatorUrl:t})=>{let{t:o}=d(),r=k_(),s=Nn(F_,null,o("ai:Learn more about storage class"),"\xA0\xA0",Nn(E_,null)),n=[Nn(aC,{key:"install-storage-operator",onClick:()=>r.push(t)},o("ai:Install storage operator")),Nn(aC,{key:"storage-class",onClick:()=>window.open(e,"_blank")},s)];return Nn(A_,{title:o("ai:Must have a storage class"),variant:P_.warning,isInline:!0,actionLinks:n},o("ai:You'll first need to have a storage operator in order to create the storage class. If you don't have one installed, we recommend OpenShift Data Foundation operator, but you may use any."))};import{createElement as zr,useEffect as M_,useState as R_}from"react";import{useHistory as w_}from"react-router-dom";import{Alert as Dp,AlertVariant as Np,Button as D_,ButtonVariant as N_,AlertActionCloseButton as H_}from"@patternfly/react-core";import{ExternalLinkAltIcon as V_}from"@patternfly/react-icons";function Ds(e,t){return e.find(o=>o.type===t)}var lC=1,cC=1,pC=10,uC=3*60*1e3;var wp="cim-config-configuring-started-at",cde=({agentServiceConfig:e})=>!!e,mC=({agentServiceConfig:e})=>Ds(e?.status?.conditions||[],"DeploymentsHealthy")?.status==="True",_a=({agentServiceConfig:e})=>{if(!e)return!1;let t=Ds(e?.status?.conditions||[],"DeploymentsHealthy"),o=Date.now(),r=new Date(window.localStorage.getItem(wp)||0),s=o-r.valueOf()<uC;return!t||t.status==="Unknown"||t.status==="False"&&s},pde=({storageClasses:e})=>!!e&&e.length>0;var Hp="cim-config-progress-alert",dC=()=>{window.localStorage.setItem(Hp,"")},Sde=({agentServiceConfig:e,assistedServiceDeploymentUrl:t})=>{let{t:o}=d(),r=w_(),[s,n]=R_(!0);if(M_(()=>{n(window.localStorage.getItem(Hp)==="closed")},void 0),!e)return null;if(mC({agentServiceConfig:e})){if(s)return null;let p=()=>{window.localStorage.setItem(Hp,"closed"),n(!0)};return zr(Dp,{variant:Np.success,isInline:!0,title:o("ai:Host inventory configured successfully."),actionClose:zr(H_,{onClose:p})})}let i=zr(D_,{variant:N_.link,isInline:!0,key:"assisted-service-deployment",onClick:()=>r.push(t)},o("ai:Troubleshoot in the assisted service deployment")," ",zr(V_,null));if(_a({agentServiceConfig:e})){let p=[i];return zr(Dp,{variant:Np.info,isInline:!0,title:o("ai:Configuration may take a few minutes."),actionLinks:p},o("ai:If the configuration is taking longer than 3 minutes, you'll need to troubleshoot."))}let a=Ds(e.status?.conditions||[],"DeploymentsHealthy"),l=Ds(e.status?.conditions||[],"ReconcileCompleted"),c=[i];return zr(Dp,{title:o("ai:Configuration is hanging for a long time."),variant:Np.danger,isInline:!0,actionLinks:c},o("ai:Last observed condition:")," ",a?.message||l?.message,zr("br",null),o("ai:You can either wait or investigate. A common issue can be misconfigured storage. Once you fix the issue, you can delete AgentServiceConfig to try again."))};import{createElement as Ar,useEffect as Q_,useState as Ho}from"react";import{Alert as bC,AlertVariant as vC,Button as Lp,ButtonVariant as _p,Modal as J_,ModalVariant as Z_}from"@patternfly/react-core";import{createElement as L}from"react";import{Trans as fC}from"react-i18next";import{Flex as L_,FlexItem as Vp,Form as __,FormGroup as Oa,Popover as Hn,Checkbox as O_,TextInput as Rp}from"@patternfly/react-core";import{ExternalLinkAltIcon as gC,HelpIcon as Vn}from"@patternfly/react-icons";var hC=({docConfigUrl:e,docConfigAwsUrl:t,isEdit:o,isInProgressPeriod:r,dbVolSize:s,dbVolSizeValidation:n,setDbVolSize:i,fsVolSize:a,fsVolSizeValidation:l,setFsVolSize:c,imgVolSize:p,imgVolSizeValidation:u,setImgVolSize:m,configureLoadBalancer:f,configureLoadBalancerInitial:g,setConfigureLoadBalancer:C})=>{let{t:h}=d(),S=(y,b)=>{let I=parseFloat(y);return isNaN(I)?b:I},v=L(Hn,{bodyContent:h("ai:If you're running your hub cluster of Amazon Web Services and want to enable the CIM service, we recommend you to configure your load balancer if it is not already configured. Learn more about enabling CIM on AWS."),footerContent:L("a",{href:t,target:"_blank",rel:"noreferrer"},L(fC,{t:h},"ai:Learn more about enabling CIM on AWS ",L(gC,null)))},L("button",{type:"button","aria-label":h("ai:More info for load balancer on Amazon web services"),"aria-describedby":"cim-config-form-aws-title",onClick:y=>y.preventDefault(),className:"pf-c-form__group-label-help"},L(Vn,{noVerticalAlign:!0})));return L(__,null,L(Oa,{fieldId:"cim-config-form-storage-title",label:h("ai:Storage sizes"),className:"cim-config-form-title",labelIcon:L(Hn,{bodyContent:h("ai:The storage sizes will be used to store different files and data for cluster creation."),footerContent:L("a",{href:e,target:"_blank",rel:"noreferrer"},L(fC,{t:h},"ai:Learn more about storage sizes. ",L(gC,null)))},L("button",{type:"button","aria-label":h("ai:More info for configure storage sizes"),"aria-describedby":"cim-config-form-storage-title",onClick:y=>y.preventDefault(),className:"pf-c-form__group-label-help"},L(Vn,{noVerticalAlign:!0})))},h("ai:If there are many clusters, use higher values for the storage fields.")),L(L_,{justifyContent:{default:"justifyContentSpaceBetween"}},L(Vp,null,L(Oa,{label:h("ai:Database storage"),fieldId:"cim-config-form-storage-db",labelIcon:L(Hn,{bodyContent:h("ai:Specify how much storage is allocated for storing files such as database tables and database views for the clusters. Recommended is 10Gi or more. The value can not be updated later.")},L("button",{type:"button","aria-label":h("ai:More info for database storage"),"aria-describedby":"cim-config-form-storage-db",onClick:y=>y.preventDefault(),className:"pf-c-form__group-label-help"},L(Vn,{noVerticalAlign:!0}))),helperTextInvalid:n,validated:n?"error":"default",isRequired:!0},L("span",{className:"cim-config-form-volume"},L(Rp,{isRequired:!0,isDisabled:o,type:"number",id:"cim-config-form-storage-db",name:"cim-config-form-storage-db",value:s,onChange:y=>i(S(y,1)),min:0})," ","Gi"))),L(Vp,null,L(Oa,{label:h("ai:System storage"),fieldId:"cim-config-form-storage-sys",labelIcon:L(Hn,{bodyContent:h('ai:Specify how much storage is allocated for storing logs, manifests and "kubeconfig" files for the clusters. Recommended is 100Gi or more. The value can not be updated later.')},L("button",{type:"button","aria-label":h("ai:More info for system storage"),"aria-describedby":"cim-config-form-storage-sys",onClick:y=>y.preventDefault(),className:"pf-c-form__group-label-help"},L(Vn,{noVerticalAlign:!0}))),helperTextInvalid:l,validated:l?"error":"default",isRequired:!0},L("span",{className:"cim-config-form-volume"},L(Rp,{isRequired:!0,isDisabled:o,type:"number",id:"cim-config-form-storage-sys",name:"cim-config-form-storage-sys",value:a,onChange:y=>c(S(y,1)),min:0})," ","Gi"))),L(Vp,null,L(Oa,{label:h("ai:Image storage"),fieldId:"cim-config-form-storage-img",labelIcon:L(Hn,{bodyContent:h("ai:Specify how much storage to allocate for the images of the clusters. There must be 1G of image storage for each instance of Red Hat Enterprise Linux CoreOS that is running. Recommended is 50Gi or more. The value can not be updated later.")},L("button",{type:"button","aria-label":h("ai:More info for image storage"),"aria-describedby":"cim-config-form-storage-img",onClick:y=>y.preventDefault(),className:"pf-c-form__group-label-help"},L(Vn,{noVerticalAlign:!0}))),helperTextInvalid:u,validated:u?"error":"default",isRequired:!0},L("span",{className:"cim-config-form-volume"},L(Rp,{isRequired:!0,isDisabled:o,type:"number",id:"cim-config-form-storage-img",name:"cim-config-form-storage-img",value:p,onChange:y=>m(S(y,10)),min:0})," ","Gi")))),L(O_,{label:L("span",{className:"cim-config-form-aws-label"},h("ai:Configure load balancer on Amazon Web Services for me."),"\xA0",v),id:"cim-config-form-aws",className:"cim-config-form-aws",name:"aws-loadbalancer-checkbox",isChecked:f,isDisabled:r||o&&g,onChange:C}))};import{AlertVariant as B_}from"@patternfly/react-core";var yC="assisted-image-service-multicluster-engine",K_=async(e,t,o)=>{let r;try{r=await o({kind:"Route",apiVersion:"route.openshift.io/v1"})}catch{console.error("Failed to read all routes: ",r),t({title:e("ai:Failed to save configuration"),message:e("ai:Can not query routes.")});return}let s=r?.find(n=>n.metadata?.name==="assisted-image-service");if(!s?.spec?.host){t({title:e("ai:Failed to save configuration"),message:e("ai:Can not find host of the assisted-image-service route")});return}return s},G_=(e,t,o)=>{let r=`${yC}.`,s=o.spec?.host||"",n=s.substring(s.indexOf(r)+r.length),i=n.substring(n.indexOf(".")+1);return i||(console.error("Can not find domain in assistedImageServiceRoute: ",o),t({title:e("ai:Can not find cluster domain.")})),i},z_=async(e,t,o,r,s)=>{let n=`${yC}.nlb-apps.${s}`,i=r.metadata?.labels||{};i["router-type"]="nlb";let a=[{op:"replace",path:"/spec/host",value:n},{op:r.metadata?.labels?"replace":"add",path:"/metadata/labels",value:i}];try{await o(ml(r),a)}catch(l){return console.error("Failed to patch assisted-image-service route: ",l,a),t({title:e("ai:Failed to patch assisted-image-service route for new domain.")}),!1}return!0},Mp=async e=>{try{return await e({apiVersion:"operator.openshift.io/v1",kind:"IngressController",metadata:{name:"ingress-controller-with-nlb",namespace:"openshift-ingress-operator"}}),!0}catch{return!1}},U_=async(e,t,o,r)=>{let s={apiVersion:"operator.openshift.io/v1",kind:"IngressController",metadata:{name:"ingress-controller-with-nlb",namespace:"openshift-ingress-operator"},spec:{domain:`nlb-apps.${r}`,routeSelector:{matchLabels:{"router-type":"nlb"}},endpointPublishingStrategy:{type:"LoadBalancerService",loadBalancer:{scope:"External",providerParameters:{type:"AWS",aws:{type:"NLB"}}}}}};try{return await o(s),!0}catch(n){console.error("Create IngressController error: ",n),t({title:e("ai:Failed to create IngressController")})}return!1},W_=async({t:e,setError:t,patchResource:o,getResource:r})=>{try{let s=await r({kind:"Provisioning",apiVersion:"metal3.io/v1alpha1",metadata:{name:"provisioning-configuration"}}),n=[{op:s.spec?.watchAllNamespaces?"replace":"add",path:"/spec/watchAllNamespaces",value:!0}];await o(ml(s),n)}catch(s){console.error("Failed to patch provisioning-configuration: ",s),t({title:e("ai:Failed to configure provisioning to enable registering hosts via BMC."),message:U(s),variant:B_.warning})}},q_=async({t:e,setError:t,createResource:o,dbVolSizeGiB:r,fsVolSizeGiB:s,imgVolSizeGiB:n})=>{try{let i={apiVersion:"agent-install.openshift.io/v1beta1",kind:"AgentServiceConfig",metadata:{name:"agent"},spec:{databaseStorage:{accessModes:["ReadWriteOnce"],resources:{requests:{storage:`${r}Gi`}}},filesystemStorage:{accessModes:["ReadWriteOnce"],resources:{requests:{storage:`${s}Gi`}}},imageStorage:{accessModes:["ReadWriteOnce"],resources:{requests:{storage:`${n}Gi`}}}}};return await o(i),!0}catch(i){return console.error("Failed to create AgentServiceConfig: ",i),t({title:e("ai:Failed to create AgentServiceConfig"),message:U(i)}),!1}},CC=async({t:e,setError:t,createResource:o,getResource:r,listResources:s,patchResource:n,agentServiceConfig:i,platform:a,dbVolSizeGiB:l,fsVolSizeGiB:c,imgVolSizeGiB:p,configureLoadBalancer:u})=>{if(["none","baremetal","openstack","vsphere"].includes(a.toLocaleLowerCase())&&await W_({t:e,setError:t,patchResource:n,getResource:r}),i)console.log("The AgentServiceConfig recently can not be patched. Delete and create instead.");else if(!await q_({t:e,setError:t,createResource:o,dbVolSizeGiB:l,fsVolSizeGiB:c,imgVolSizeGiB:p}))return!1;if(window.localStorage.setItem(wp,new Date().toISOString()),u){if(await Mp(r))return console.log("IngressController already present, we do not patch it."),!0;let m=await K_(e,t,s);if(!m)return!1;let f=G_(e,t,m);if(!f||!await U_(e,t,o,f)||!await z_(e,t,n,m,f))return!1}return!0};import{createElement as Ba}from"react";import{Alert as $_,AlertVariant as Y_}from"@patternfly/react-core";import{ExternalLinkAltIcon as j_}from"@patternfly/react-icons";import{Trans as X_}from"react-i18next";var SC=({docDisconnectedUrl:e})=>{let{t}=d();return Ba($_,{title:Ba(X_,{t},"ai:To configure for disconnected environments,"," ",Ba("a",{href:e,target:"_blank",rel:"noreferrer"},"view documentation ",Ba(j_,null))),variant:Y_.info,isInline:!0})};var afe=({isOpen:e,onClose:t,agentServiceConfig:o,platform:r,docDisconnectedUrl:s,docConfigUrl:n,docConfigAwsUrl:i,getResource:a,listResources:l,patchResource:c,createResource:p})=>{let{t:u}=d(),[m,f]=Ho(),[g,C]=Ho(!1),[h,S]=Ho(()=>aa(10,o?.spec?.databaseStorage?.resources?.requests?.storage)),[v,y]=Ho(),[b,I]=Ho(()=>aa(100,o?.spec?.filesystemStorage?.resources?.requests?.storage)),[T,x]=Ho(),[k,A]=Ho(()=>aa(50,o?.spec?.imageStorage?.resources?.requests?.storage)),[H,P]=Ho(),[R,ee]=Ho(r==="AWS"),[O,_]=Ho(!0),w=Ft=>{Ft<lC?y(u("ai:Minimal value is 1Gi")):y(void 0),S(Ft)},V=Ft=>{Ft<cC?x(u("ai:Minimal value is 1Gi")):x(void 0),I(Ft)},B=Ft=>{Ft<pC?P(u("ai:Minimal value is 10Gi")):P(void 0),A(Ft)},ge=!!o;Q_(()=>{(async()=>{if(r==="AWS"&&(!ge||await Mp(a))){ee(!0),_(!0);return}ee(!1),_(!1)})()},[r]);let ke={dbVolSize:h,dbVolSizeValidation:v,setDbVolSize:w,fsVolSize:b,fsVolSizeValidation:T,setFsVolSize:V,imgVolSize:k,imgVolSizeValidation:H,setImgVolSize:B,configureLoadBalancer:R,configureLoadBalancerInitial:O,setConfigureLoadBalancer:ee},pl=()=>{(async()=>{C(!0),f(void 0),dC(),await CC({t:u,setError:f,getResource:a,listResources:l,patchResource:c,createResource:p,agentServiceConfig:o,platform:r,dbVolSizeGiB:h,fsVolSizeGiB:b,imgVolSizeGiB:k,configureLoadBalancer:R})&&t(),_(R),C(!1)})()},jr=!!m?.title,_s=!ge||!O,jn=!!(g||v||T||H||ge&&O===R),ul=_a({agentServiceConfig:o}),Os;return _s?Os=[Ar(Lp,{key:"configure",variant:_p.primary,isDisabled:jn,onClick:pl},u("ai:Configure")),Ar(Lp,{key:"cancel",variant:_p.link,onClick:t},u("ai:Cancel"))]:Os=[Ar(Lp,{key:"close",variant:_p.primary,onClick:t},u("ai:Close"))],Ar(J_,{"aria-label":u("ai:Configure host inventory settings"),title:u("ai:Configure host inventory settings"),isOpen:e,onClose:t,actions:Os,variant:Z_.medium,id:"cim-config-modal",className:"cim-config-modal"},u("ai:Configuring the host inventory settings will enable the Central Infrastructure Management."),jr&&Ar(bC,{title:m.title,variant:m.variant||vC.danger,isInline:!0},m.message),Ar(SC,{docDisconnectedUrl:s}),Ar(hC,{isEdit:ge,isInProgressPeriod:ul,onClose:t,docConfigUrl:n,docConfigAwsUrl:i,...ke}),_s&&Ar(bC,{variant:vC.warning,title:u("ai:Storage sizes cannot be changed once you configure."),isInline:!0}))};import{createElement as oO}from"react";import{Alert as eO,AlertVariant as tO}from"@patternfly/react-core";var mfe=()=>{let{t:e}=d();return oO(eO,{isInline:!0,variant:tO.warning,title:e("ai:Can not manage hosts until Central Infrastructure Management is set up.")})};import{createElement as nO}from"react";import{DropdownItem as rO}from"@patternfly/react-core";var sO=({onApprove:e,selectedAgents:t})=>{let{t:o}=d(),r=t.every(s=>s.spec.approved)?o("ai:All selected hosts are already approved."):void 0;return nO(rO,{onClick:e,isDisabled:!!r,description:r},o("ai:Approve"))},Ka=sO;import{Badge as iO,Grid as aO,GridItem as lO,SearchInput as cO,Select as pO,SelectGroup as uO,SelectOption as mO,SelectVariant as dO,Split as fO,SplitItem as IC,ToolbarFilter as gO,ToolbarItem as TC}from"@patternfly/react-core";import{FilterIcon as hO}from"@patternfly/react-icons";import{createElement as ft,useMemo as kC,useState as SO}from"react";var yO=e=>{let t={};return Object.keys(e).sort((r,s)=>e[r].title.localeCompare(e[s].title)).forEach(r=>{let{category:s,title:n}=e[r];t[s]?t[s][n]?t[s][n].push(r):t[s]={...t[s],[n]:[r]}:t[s]={[n]:[r]}}),t},CO=({setSelectedHostIDs:e,massActions:t,hosts:o,statusFilter:r,statusCount:s,hostnameFilter:n,setHostnameFilter:i,setStatusFilter:a,selectedHostIDs:l,...c})=>{let[p,u]=SO(!1),m=kC(()=>yO(Ee),[]),{t:f}=d(),g=kC(()=>o.map(C=>C.id),[o]);return ft(mn,{selectedIDs:l||[],itemIDs:g,setSelectedIDs:e,actions:t,clearAllFilters:()=>a([]),...c},ft(TC,null,ft(cO,{placeholder:f("ai:Find by hostname"),value:n,onChange:i,onClear:()=>i(void 0)})),ft(TC,null,ft(gO,{chips:r,deleteChip:(C,h)=>a(r?.filter(S=>S!==h)),deleteChipGroup:()=>a([]),categoryName:"Status"},ft(pO,{variant:dO.checkbox,"aria-label":f("ai:Status"),onToggle:u,onSelect:(C,h)=>{if(C.target.checked){let S=r?[...r,h]:[h];a(S)}else a(r?.filter(S=>S!==h))},selections:r,isOpen:p,placeholderText:f("ai:Status"),toggleIcon:ft(hO,null)},[ft(aO,{key:"statuses",hasGutter:!0,className:"table-toolbar__dropdown"},Object.keys(m).map(C=>ft(lO,{key:C,span:4},ft(uO,{label:C},Object.keys(m[C]).map(h=>ft(mO,{key:h,value:h,isChecked:r?.includes(h)},ft(fO,{hasGutter:!0},ft(IC,null,h),ft(IC,null,ft(iO,{isRead:!0},s[h]||0)))))))))]))))},xC=CO;var xO=({onClearFilters:e})=>{let{t}=d();return Qe(qe,{title:t("ai:No results found"),content:t("ai:No results match the filter criteria. Clear filters to show results."),secondaryActions:[Qe(bO,{key:"clear-filters",variant:"link",onClick:e},t("ai:Clear all filters"))]})},kO=({agents:e,agentMachines:t,getClusterDeploymentLink:o,bareMetalHosts:r,infraEnv:s,nmStates:n,onChangeHostname:i,onChangeBMHHostname:a,onMassDeleteHost:l,agentClusterInstalls:c,onApprove:p,onDeleteHost:u,onEditBMH:m,onEditHost:f,onUnbindHost:g})=>{let[C,h]=Rn(!1),[S,v]=Rn(!1),[y,b]=Rn(!1),[I,T]=Rn(!1),[x,k]=Rn([]),A=PO(x);A.current=x;let H=EO((wt,Xn)=>{k(Xn?[...A.current,wt.id]:A.current.filter(Jn=>Jn!==wt.id))},[]),[P,R,ee]=It({agents:e,bmhs:r,infraEnv:s,agentClusterInstalls:c},{onApprove:p,onDeleteHost:u,onEditBMH:m,onEditHost:f,onUnbindHost:g}),{t:O}=d(),{statusCount:_,hostnameFilter:w,setHostnameFilter:V,setStatusFilter:B,statusFilter:ge,filteredHosts:ke}=Jh({agents:e,bmhs:r,hosts:P}),pl=FO(()=>[ba(ke,e,r,R.onEditHost,R.canEditHostname,R.canEditBMH),va(e,r,O),Lt({agents:e,bareMetalHosts:r,onEditHostname:f,onApprove:p,t:O}),Xh(e,t,o,O),ma,Fo,wo,Do].filter(Boolean),[ke,e,t,f,p,o,R,r,O]),jr=e.filter(wt=>x.includes(wt.metadata?.uid||"")),_s=r.filter(wt=>x.includes(wt.metadata?.uid||"")),jn=_s.some(wt=>Ia(wt,O)[0])||jr.some(wt=>Ta(wt,O)[0]),ul=[Qe(vO,{key:"hostname",onClick:()=>v(!S),isDisabled:!jn,description:jn?void 0:O("ai:Hostname cannot be changed for selected hosts.")},"Change hostname"),Qe(Ka,{key:"approve",onApprove:()=>b(!y),selectedAgents:jr}),Qe(bc,{key:"delete",onDeleteHost:()=>T(!I)})],Os=async(wt,Xn)=>{let Jn=e.find(Zn=>Zn.metadata?.uid===wt.id);if(Jn)return i(Jn,Xn);{let Zn=r.find(jb=>jb.metadata?.uid===wt.id);return Zn?a(Zn,Xn):TO}},Ft=st(ke.length);return Qe(wO,null,Qe(IO,{hasGutter:!0},Qe(AC,null,Qe(xC,{hosts:ke,setSelectedHostIDs:k,massActions:ul,statusCount:_,hostnameFilter:w,statusFilter:ge,setStatusFilter:B,selectedHostIDs:x,setHostnameFilter:V,...Ft})),Qe(AC,null,Qe(rt,{hosts:ke,content:pl,actionResolver:ee,selectedIDs:x,setSelectedIDs:k,onSelect:H,ExpandComponent:No,...Ft},P.length!==ke.length?Qe(xO,{onClearFilters:()=>{V(void 0),B([])}}):Qe(Pa,{setDiscoveryHintModalOpen:h})))),C&&Qe(Sr,{isOpen:C,setDiscoveryHintModalOpen:h}),S&&Qe(dn,{isOpen:S,hosts:ke,selectedHostIDs:x,onChangeHostname:Os,onClose:()=>v(!1),canChangeHostname:xa(e,r,O)}),I&&Qe(xp,{isOpen:I,agents:jr,bmhs:_s,infraEnv:s,nmStates:n,onDelete:l,onClose:()=>T(!1)}),y&&Qe(Dn,{isOpen:y,agents:jr,onApprove:p,onClose:()=>b(!1)}))},AO=kO;import{createElement as PC}from"react";import{ExclamationTriangleIcon as DO}from"@patternfly/react-icons";import{global_warning_color_100 as NO}from"@patternfly/react-tokens";import{Tooltip as HO}from"@patternfly/react-core";var VO=({infraAgents:e,infraBMHs:t})=>{let{t:o}=d(),r=e.reduce((p,u)=>{let m=u.metadata?.labels?.[Rt];return m&&p.push(m),p},[]),s=t.filter(p=>r.includes(p.metadata?.name||"")),n=e.map(p=>ve(p,!0).status),i=s.map(p=>Qo(p).state),a=[...n,...i],l=["bmh-error","preparing-failed","disconnected-unbound","disconnected","insufficient-unbound","insufficient","cancelled","error"],c=a.filter(({key:p})=>l.includes(p)).length;return c?PC(HO,{content:o("ai:{{count}} host has problems",{count:c})},PC(DO,{color:NO.value,className:"infra-env-hosts-tab-title__icon"})):null},RO=VO;import{Fragment as BO,createElement as Op}from"react";import{Alert as MO,AlertVariant as LO}from"@patternfly/react-core";var _O=({infraEnv:e,bareMetalHosts:t,docVersion:o})=>{let r=e&&t?.filter(n=>n.metadata?.namespace===e.metadata?.namespace&&br(n)===e.metadata?.name),{t:s}=d();return Op(BO,null,r?.some(n=>!n.status)&&Op(MO,{title:s("ai:Metal3 operator is not configured"),variant:LO.warning,isInline:!0,className:"cim-resource-alerts",actionLinks:Op("a",{href:ra(o),target:"_blank",rel:"noopener noreferrer"},s("ai:Open documentation"))},s("ai:It seems the Metal3 operator is missing configuration which will prevent it to find bare metal hosts in this namespace. Please refer to the documentation for the first time setup steps.")))},OO=_O;import{Dropdown as KO,DropdownGroup as GO,DropdownItem as Bp,DropdownSeparator as zO,DropdownToggle as UO,Split as WO,SplitItem as EC}from"@patternfly/react-core";import{Fragment as wC,createElement as et,useState as FC}from"react";var qO=({infraEnv:e,agentClusterInstall:t,onSaveISOParams:o,usedHostnames:r,onCreateBMH:s,docVersion:n,onCreateBmcByYaml:i,isBMPlatform:a})=>{let[l,c]=FC(void 0),[p,u]=FC(!1),{t:m}=d();return et(wC,null,et(KO,{id:"infraenv-actions",toggle:et(UO,{id:"dropdown-basic",onToggle:u,toggleVariant:"primary"},m("ai:Add hosts")),isOpen:p,dropdownItems:[et(Bp,{key:"discovery-iso",onClick:()=>{u(!1),c("iso")},description:m("ai:Discover hosts by booting a discovery image")},m("ai:With Discovery ISO")),et(zO,{key:"separator"}),et(GO,{id:"discovery-bmc",key:"discovery-bmc",className:"ai-discovery-bmc__group",label:et(WO,{hasGutter:!0},et(EC,null,m("ai:Baseboard Management Controller (BMC)")),et(EC,null,!a&&et(wC,null," ",et(Y,{noVerticalAlign:!0,bodyContent:et("p",null,m("ai:To enable the host's baseboard management controller (BMC) on the hub cluster, deploy the hub cluster on vSphere, BareMetal, OpenStack, or platform-agnostic (none type)."))}))))},et(Bp,{key:"with-credentials",onClick:()=>{u(!1),c("bmc")},description:m("ai:Discover a single host via Baseboard Management Controller"),isDisabled:!a},m("ai:With BMC form")),et(Bp,{key:"upload-yaml",onClick:()=>{u(!1),c("yaml")},description:m("ai:Discover multiple hosts by providing yaml with Bare Metal Host definitions"),isDisabled:!a},m("ai:By uploading a YAML")))],position:"right"}),l==="iso"&&et(fp,{infraEnv:e,agentClusterInstall:t,isOpen:!0,onClose:()=>c(void 0),onSaveISOParams:o,docVersion:n}),l==="bmc"&&et(kp,{infraEnv:e,isOpen:!0,onClose:()=>c(void 0),onCreateBMH:s,usedHostnames:r,docVersion:n}),l==="yaml"&&et(Ep,{infraEnv:e,isOpen:!0,onClose:()=>c(void 0),onCreateBmcByYaml:i,docVersion:n}))},Kp=qO;import{Fragment as Ga,createElement as E,useEffect as cB,useState as pB}from"react";import{array as aB,lazy as nB,object as iB,string as lB}from"yup";import{Alert as $O,AlertActionCloseButton as YO,AlertVariant as jO,Button as Gp,Flex as DC,FlexItem as Ns,Form as XO,FormGroup as NC,Grid as HC,GridItem as VC,Spinner as JO,Stack as zp,StackItem as Ur,Title as ZO,TitleSizes as QO}from"@patternfly/react-core";import{Formik as eB,useFormikContext as tB}from"formik";import{ExternalLinkAltIcon as oB}from"@patternfly/react-icons";var rB=(e,t)=>nB(o=>iB().shape({name:hr(t,e),location:Sd(t).required(t("ai:Location is a required field.")),pullSecret:gr.required(t("ai:Pull secret is a required field.")),sshPublicKey:qt,httpProxy:$t(o,"httpsProxy"),httpsProxy:$t(o,"httpProxy"),noProxy:yr,labels:aB().of(lB()).test("label-equals-validation","Label selector needs to be in a `key=value` form",r=>r.every(s=>s.split("=").length===2)),additionalNtpSources:hd})),sB={name:"",location:"",pullSecret:"",sshPublicKey:"",httpProxy:"",httpsProxy:"",noProxy:"",enableProxy:!1,labels:[],networkType:"dhcp",cpuArchitecture:Ae.x86,enableNtpSources:!1,additionalNtpSources:""},RC=({onValuesChanged:e})=>{let{values:t}=tB(),{t:o}=d();return cB(()=>e?.(t),[e,t]),E(zp,{hasGutter:!0},E(Ur,null,o("ai:Infrastructure environments are used by clusters. Create an infrastructure environment to add resources to your cluster.")),E(Ur,null,E(XO,null,E(Wt,{label:o("ai:Name"),name:"name",isRequired:!0,richValidationMessages:as(o),placeholder:o("ai:Enter infrastructure environment name")}),E(NC,{fieldId:"network-type",label:o("ai:Network type"),labelIcon:E(Y,{noVerticalAlign:!0,bodyContent:E(Ga,null,o("ai:This will determine for the infrastructure environment which kind of hosts would be able to be added. If the hosts that you want to add are using DHCP server, select this option, else, select the static IP."))})},E(DC,{justifyContent:{default:"justifyContentFlexStart"}},E(Ns,null,E(pe,{name:"networkType",id:"dhcp",value:"dhcp",label:o("ai:DHCP only")})),E(Ns,{spacer:{default:"spacer4xl"}}),E(Ns,null,E(pe,{name:"networkType",id:"static-ip",value:"static",label:E(Ga,null,o("ai:Static IP, bridges and bonds"),"\xA0",E(Y,{noVerticalAlign:!0,bodyContent:E(zp,{hasGutter:!0},E(Ur,null,o("ai:To use static network configuration, follow the steps listed in the documentation.")),E(Ur,null,E(Gp,{variant:"link",icon:E(oB,null),iconPosition:"right",isInline:!0,onClick:()=>window.open(mi,"_blank","noopener")},o("ai:View documentation"))))}))})))),E(NC,{fieldId:"cpuArchitecture",label:o("ai:CPU architecture")},E(DC,{justifyContent:{default:"justifyContentFlexStart"}},E(Ns,null,E(pe,{name:"cpuArchitecture",id:"x86_64",value:"x86_64",label:o("ai:x86_64")})),E(Ns,{spacer:{default:"spacer4xl"}}),E(Ns,null,E(pe,{name:"cpuArchitecture",id:"arm64",value:"arm64",label:E(Ga,null,o("ai:arm64"),"\xA0")})))),E(Wt,{label:o("ai:Location"),name:"location",isRequired:!0,richValidationMessages:Ii(o),placeholder:o("ai:Enter geographic location for the environment"),helperText:o("ai:Used to describe hosts' physical location. Helps for quicker host selection during cluster creation.")}),E(bd,{label:o("ai:Labels"),name:"labels"}),E(fr,{isOcm:!1}),E(jo,null),E(Xo,null),E(Dt,{label:o("ai:Add your own NTP (Network Time Protocol) sources"),name:"enableNtpSources",helperText:E("p",null,o("ai:Configure your own NTP sources to synchronize the time between the hosts that will be added to this infrastructure environment.")),body:t.enableNtpSources&&E(HC,{hasGutter:!0},E(Ws,{name:"additionalNtpSources",helperText:o("ai:A comma separated list of IP or domain names of the NTP pools or servers.")}))}))))},_ge=({usedNames:e,onSubmit:t,onClose:o,onFinish:r,onValuesChanged:s,formRef:n})=>{let[i,a]=pB(),{t:l}=d();return E(eB,{initialValues:sB,initialStatus:{error:null},validate:Ut(rB(e,l)),onSubmit:async c=>{try{await t?.(c),r?.(c)}catch(p){a(U(p))}},innerRef:n},({isValid:c,isSubmitting:p,submitForm:u})=>E(zp,{hasGutter:!0},E(Ur,null,t&&o?E(HC,{hasGutter:!0,span:8},E(VC,null,E(ZO,{headingLevel:"h1",size:QO.xl},l("ai:Configure environment"))),E(VC,null,E(RC,{onValuesChanged:s}))):E("div",{className:"infra-env__form"},E(RC,{onValuesChanged:s}))),i&&E(Ur,null,E($O,{variant:jO.danger,actionClose:E(YO,{onClose:()=>a(void 0)}),title:l("ai:Error creating InfraEnv")},i)),t&&o&&E(Ur,null,E(Ga,null,E(Gp,{variant:"primary",type:"submit",isDisabled:!c||p,onClick:u},l("ai:Create")," ",p&&E(JO,{isSVG:!0,size:"md"})),E(Gp,{variant:"link",onClick:o,isDisabled:p},l("ai:Cancel"))))))};var MC=e=>e.labels.reduce((t,o)=>{let r=o.split("=");return t[r[0]]=r[1],t},{}),Gge=(e,t,o)=>Ch({name:o.name,namespace:t,baseDnsDomain:"",annotations:MC(o),pullSecretName:e}),zge=({clusterDeploymentName:e,namespace:t,values:o})=>{let r={apiVersion:"extensions.hive.openshift.io/v1beta1",kind:"AgentClusterInstall",metadata:{name:o.name,namespace:t},spec:{holdInstallation:!0,clusterDeploymentRef:e?{name:e,namespace:t}:{},networking:{clusterNetwork:[{cidr:"10.128.0.0/14",hostPrefix:23}],serviceNetwork:["172.30.0.0/16"]},provisionRequirements:{controlPlaneAgents:3},imageSetRef:{name:"openshift-v4.8.0"}}};return r.spec&&o.sshPublicKey&&(r.spec.sshPublicKey=o.sshPublicKey),r},Uge=(e,t)=>({kind:"Secret",apiVersion:"v1",metadata:{name:t.name,namespace:e},data:{".dockerconfigjson":btoa(t.pullSecret)},type:"kubernetes.io/dockerconfigjson"}),Wge=(e,t)=>{let o=MC(t);t.location&&(o[de]=o[de]||t.location);let r={apiVersion:"agent-install.openshift.io/v1beta1",kind:"InfraEnv",metadata:{name:t.name,namespace:e,labels:{[de]:t.location}},spec:{agentLabels:o,clusterRef:{name:t.name,namespace:e},pullSecretRef:{name:t.name},sshAuthorizedKey:t.sshPublicKey},status:{agentLabelSelector:{matchLabels:o}}};return r.spec&&t.enableProxy&&(r.spec.proxy={httpProxy:t.httpProxy,httpsProxy:t.httpsProxy,noProxy:t.noProxy}),r};import uB from"react";import{saveAs as mB}from"file-saver";import{Button as dB}from"@patternfly/react-core";var LC=({Component:e=dB,agentClusterInstall:t,id:o,variant:r})=>{let{t:s}=d(),n=t?.status?.debugInfo?.logsURL;return uB.createElement(e,{onClick:()=>n&&mB(n,"logs.tar"),isDisabled:!n,id:o,variant:r},s("ai:Download Installation Logs"))};import{lazy as gB,object as hB}from"yup";var fB=(e,t)=>{if(!qs(e)&&t==="userManaged")return Re;let o=gi(e);if(o)return id(o);if(t==="clusterManaged")return is(e)?.[0]?.subnet},_C=(e,t)=>{let o=e.userManagedNetworking?"userManaged":"clusterManaged",r=vi(e),s=qs(e);return{clusterNetworkCidr:hi(e)||t.clusterNetworkCidr,clusterNetworkHostPrefix:yi(e)||t.clusterNetworkHostPrefix,serviceNetworkCidr:Ci(e)||t.serviceNetworkCidr,apiVip:e.apiVip||"",ingressVip:e.ingressVip||"",sshPublicKey:e.sshPublicKey||"",hostSubnet:fB(e,o)||Re,vipDhcpAllocation:e.vipDhcpAllocation,managedNetworkingType:o,networkType:e.networkType||Ys(s,r)}},dhe=(e,t)=>gB(o=>hB().shape({clusterNetworkHostPrefix:Vr(o.clusterNetworkCidr),clusterNetworkCidr:ro(o.serviceNetworkCidr),serviceNetworkCidr:ro(o.clusterNetworkCidr),apiVip:ls(t,o,e.apiVip),ingressVip:ls(t,o,e.ingressVip),sshPublicKey:qt,hostSubnet:js}));import Vo from"react";import{Alert as yB,AlertActionLink as CB,AlertVariant as OC,DescriptionList as SB,DescriptionListDescription as bB,DescriptionListGroup as vB,DescriptionListTerm as IB,List as TB,ListItem as xB}from"@patternfly/react-core";function kB(e,t){switch(e){case"pending-for-input":case"insufficient":return t("ai:The cluster is not ready for installation.");default:return t("ai:Cluster configured and ready for installation.")}}function AB(e){switch(e){case"pending-for-input":case"insufficient":return OC.danger;default:return OC.success}}function PB(e,t){switch(e){case"pending-for-input":case"insufficient":return t("ai:Continue cluster configuration");default:return t("ai:Go to cluster configuration to start the installation")}}var EB=({validationsInfo:e,clusterStatus:t,onContinueClusterConfiguration:o})=>{let{t:r}=d(),[s]=t,n=kB(s,r),i=cd(e);return Vo.createElement(yB,{isExpandable:["pending-for-input","insufficient"].includes(s),isInline:!0,variant:AB(s),title:n,actionLinks:Vo.createElement(Vo.Fragment,null,Vo.createElement(CB,{onClick:o},PB(s,r)))},!!Object.entries(i).length&&Vo.createElement(SB,null,Object.entries(i).map(([a,l])=>Vo.createElement(vB,{key:a},Vo.createElement(IB,null,Im(r)[a]),Vo.createElement(bB,null,l&&Vo.createElement(TB,null,l.map(c=>Vo.createElement(xB,{key:c.id},c.message))))))))},FB=EB;import Z from"react";import{Button as LB,ButtonVariant as _B,Card as $p,CardBody as Yp,CardExpandableContent as jp,CardHeader as Xp,CardTitle as Jp,Stack as GC,StackItem as Mn}from"@patternfly/react-core";import za from"react";var wB=({clusterDeployment:e,agentClusterInstall:t,agents:o,consoleUrl:r,fetchSecret:s})=>{let[n,i]=za.useState(),[a,l]=za.useState(!1),c=Je({clusterDeployment:e,agentClusterInstall:t,agents:o}),p=t.spec?.clusterMetadata?.adminPasswordSecretRef?.name||e.spec?.clusterMetadata?.adminPasswordSecretRef?.name,u=e.metadata?.namespace,{t:m}=d();return za.useEffect(()=>{(async()=>{if(p&&u)try{let g=await s(p,u);i({username:atob(g?.data?.username||""),password:atob(g?.data?.password||""),consoleUrl:r})}catch(g){l(!0),console.error(m("ai:Failed to fetch adminPasswordSecret secret."),g)}})()},[p,u,s,r,m]),za.createElement(Oc,{cluster:c,credentials:n,error:a})},Up=wB;import{createElement as Wp,useMemo as KC}from"react";import{ConnectedIcon as DB}from"@patternfly/react-icons";var NB=()=>{let{t:e}=d();return Wp(qe,{icon:DB,title:e("ai:Waiting for hosts..."),content:e("ai:Hosts may take a few minutes to appear here after booting.")})},HB=({agents:e,agentClusterInstall:t})=>{let o=KC(()=>[t],[t]),[r,,s]=It({agents:e,agentClusterInstalls:o}),{t:n}=d(),i=KC(()=>[rr(n),Eo(n),Lt({agents:e,t:n}),Is(e,n),Fo,wo,Do],[e,n]),a=st(e.length);return Wp(rt,{hosts:r,content:i,actionResolver:s,ExpandComponent:No,...a},Wp(NB,null))},BC=HB;import VB from"react";import{saveAs as RB}from"file-saver";var MB=({clusterDeployment:e,agentClusterInstall:t,fetchSecret:o})=>{let[r]=Xe(t),{t:s}=d();return VB.createElement(Kc,{handleDownload:async()=>{let i=t.spec?.clusterMetadata?.adminKubeconfigSecretRef?.name||e.spec?.clusterMetadata?.adminKubeconfigSecretRef?.name,a=e.metadata?.namespace;if(i&&a)try{let c=(await o(i,a)).data?.kubeconfig;if(!c)throw new Error(s("ai:Kubeconfig is empty."));let p=new Blob([atob(c)],{type:"text/plain;charset=utf-8"});RB(p,"kubeconfig.yaml")}catch(l){console.error("Failed to fetch kubeconfig secret.",l)}},clusterId:e.metadata?.uid||"",status:r})},qp=MB;var OB=({clusterDeployment:e,agentClusterInstall:t,agents:o,fetchSecret:r,onFetchEvents:s})=>{let[n,i]=Z.useState(!0),[a,l]=Z.useState(!0),[c,p]=Z.useState(!0),u=o.filter(C=>C.spec.clusterDeploymentName?.name===e.metadata?.name&&C.spec.clusterDeploymentName?.namespace===e.metadata?.namespace),m=Je({clusterDeployment:e,agentClusterInstall:t,agents:u}),f=Z.useMemo(()=>vh(e,t),[e,t]),{t:g}=d();return Z.createElement(GC,{hasGutter:!0},qh(t)&&Z.createElement(Mn,null,Z.createElement($p,{id:"cluster-installation-progress-card",isExpanded:n},Z.createElement(Xp,{onExpand:()=>i(!n),toggleButtonProps:{id:"progress-card-toggle-button","aria-label":"Cluster installation process","aria-labelledby":"titleId progress-card-toggle-button","aria-expanded":n}},Z.createElement(Jp,{id:"titleId"},g("ai:Cluster installation process"))),Z.createElement(jp,null,Z.createElement(Yp,null,Z.createElement(GC,{hasGutter:!0},Wh(t)&&Z.createElement(Mn,null,Z.createElement(Up,{clusterDeployment:e,agentClusterInstall:t,agents:u,fetchSecret:r,consoleUrl:bh(e)})),Z.createElement(Mn,null,Z.createElement(qp,{clusterDeployment:e,agentClusterInstall:t,fetchSecret:r})," ",Z.createElement(wi,{id:"cluster-events-button",entityKind:"cluster",cluster:m,title:g("ai:Cluster Events"),variant:_B.link,style:{textAlign:"right"},onFetchEvents:s,ButtonComponent:LB},g("ai:View Cluster Events")))))))),Z.createElement(Mn,null,Z.createElement($p,{id:"cluster-inventory-card",isExpanded:a},Z.createElement(Xp,{onExpand:()=>l(!a),toggleButtonProps:{id:"inventory-card-toggle-button","aria-label":"Hosts inventory","aria-labelledby":"titleId inventory-card-toggle-button","aria-expanded":a}},Z.createElement(Jp,{id:"titleId"},g("ai:Hosts inventory"))),Z.createElement(jp,null,Z.createElement(Yp,null,Z.createElement(BC,{agents:u,agentClusterInstall:t}))))),Z.createElement(Mn,null,Z.createElement($p,{id:"cluster-details-card",isExpanded:c},Z.createElement(Xp,{onExpand:()=>p(!c),toggleButtonProps:{id:"details-card-toggle-button","aria-label":"Details","aria-labelledby":"titleId details-card-toggle-button","aria-expanded":c}},Z.createElement(Jp,{id:"titleId"},g("ai:Details"))),Z.createElement(jp,null,Z.createElement(Yp,null,Z.createElement(Mc,{leftItems:[f.name,f.openshiftVersion,f.clusterId,f.installedTimestamp,f.baseDnsDomain],rightItems:[f.apiVip,f.ingressVip,f.clusterNetworkCidr,f.clusterNetworkHostPrefix,f.serviceNetworkCidr]}))))))},BB=OB;import _n from"react";import{Grid as kK,GridItem as Ua}from"@patternfly/react-core";import Be from"react";import{CheckCircleIcon as YB,ExclamationCircleIcon as jB,InProgressIcon as XB}from"@patternfly/react-icons";import{global_danger_color_100 as JB}from"@patternfly/react-tokens/dist/esm/global_danger_color_100";import{global_success_color_100 as ZB}from"@patternfly/react-tokens/dist/esm/global_success_color_100";import Ln from"react";import{Stack as WB,StackItem as UC,TextContent as qB}from"@patternfly/react-core";import KB from"react";import{IconSize as ar}from"@patternfly/react-icons";var GB=e=>{switch(e){case ar.sm:return"0.3em";case ar.md:return"1.5em";case ar.lg:return"2em";case ar.xl:return"3em";default:return"1em"}},zB=e=>{switch(e){case ar.sm:return"-0.3em";case ar.md:return"-1.5em";case ar.lg:return"-2em";case ar.xl:return"-3em";default:return"-1em"}},UB=({children:e,iconSize:t=ar.sm})=>{let o={padding:`${GB(t)}`,borderRadius:"50%",border:"2px solid",borderColor:"#D2D2D2",boxSizing:"content-box",verticalAlign:`${zB(t)}`};return KB.cloneElement(e,{style:o})},zC=UB;var $B=({icon:e,children:t})=>Ln.createElement(WB,null,Ln.createElement(UC,null,Ln.createElement(zC,null,e)),Ln.createElement(UC,null,Ln.createElement(qB,null,t))),Pr=$B;var Zp=({hosts:e,hostRole:t})=>{let{t:o}=d(),r=t==="master"?o("ai:Control Plane",{count:e.length}):o("ai:Worker",{count:e.length});if(e.some(i=>["cancelled","error"].includes(i.status))){let i=e.filter(a=>a.status==="error").length;return Be.createElement(Pr,{icon:Be.createElement(jB,{color:JB.value})},Be.createElement(Be.Fragment,null,r,Be.createElement("br",null),Be.createElement("small",null,i,"/",t==="master"?o("ai:{{count}} control plane node failed",{count:e.length}):o("ai:{{count}} worker failed",{count:e.length}))))}let s=e.filter(i=>["installed","added-to-existing-cluster"].includes(i.status)),n=e.filter(i=>["preparing-for-installation","preparing-successful","pending-for-input","installing","installing-in-progress","installing-pending-user-action","resetting-pending-user-action","resetting"].includes(i.status));return n.length>0?Be.createElement(Pr,{icon:Be.createElement(XB,null)},Be.createElement(Be.Fragment,null,r,Be.createElement("br",null),Be.createElement("small",null,t==="master"?o("ai:Installing {{count}} control plane node",{count:n.length}):o("ai:Installing {{count}} worker",{count:n.length})))):Be.createElement(Pr,{icon:Be.createElement(YB,{color:ZB.value})},Be.createElement(Be.Fragment,null,r,Be.createElement("br",null),Be.createElement("small",null,t==="master"?o("ai:{{count}} control plane node installed",{count:s.length}):o("ai:{{count}} worker installed",{count:s.length}))))};import Te from"react";import{Button as WC,ButtonVariant as qC,Popover as QB,Text as eK,TextContent as tK}from"@patternfly/react-core";import{CheckCircleIcon as $C,ExclamationCircleIcon as oK,InProgressIcon as rK,PendingIcon as sK}from"@patternfly/react-icons";import{global_success_color_100 as YC}from"@patternfly/react-tokens/dist/esm/global_success_color_100";import{global_danger_color_100 as nK}from"@patternfly/react-tokens/dist/esm/global_danger_color_100";import iK from"lodash/capitalize";var aK=(e=[])=>e.length?e.filter(t=>t.operatorType==="builtin").every(t=>t.status==="available"):!1,lK=e=>{let t,o;if(aK(e.monitoredOperators))t=Te.createElement($C,{color:YC.value}),o="completed";else switch(e.status){case"finalizing":t=Te.createElement(rK,null),o="finalizing";break;case"error":case"cancelled":t=Te.createElement(oK,{color:nK.value}),o="failed";break;case"installed":case"adding-hosts":t=Te.createElement($C,{color:YC.value}),o="completed";break;default:t=Te.createElement(sK,null),o="pending"}return{finalizingIcon:t,initializationStatus:o}},jC=({cluster:e,onFetchEvents:t,fallbackEventsURL:o})=>{let[r,s]=Te.useState(!1),{finalizingIcon:n,initializationStatus:i}=lK(e),a=()=>s(!1),{t:l}=d();return Te.createElement(Te.Fragment,null,Te.createElement(Jl,{title:l("ai:Cluster Events"),isOpen:r,onClose:a,hostId:void 0,cluster:e,entityKind:"cluster",onFetchEvents:t,fallbackEventsURL:o}),Te.createElement(Pr,{icon:n},Te.createElement(Te.Fragment,null,["finalizing","pending"].includes(i)?Te.createElement(QB,{zIndex:300,headerContent:Te.createElement(Te.Fragment,null,l("ai:Initialization")),bodyContent:Te.createElement(tK,null,Te.createElement(eK,null,l("ai:This stage may take a while to finish. To view detailed information, click the events log link below."))),footerContent:Te.createElement(WC,{variant:qC.link,isInline:!0,onClick:()=>s(!0)},l("ai:Open Events Log"))},Te.createElement(WC,{variant:qC.link,isInline:!0},l("ai:Initialization"))):l("ai:Initialization"),Te.createElement("small",null,iK(i)))))};import xt from"react";import{Button as cK,ButtonVariant as pK,List as uK,ListItem as mK,Popover as dK}from"@patternfly/react-core";import{CheckCircleIcon as fK,ExclamationCircleIcon as gK,InProgressIcon as hK,PendingIcon as yK}from"@patternfly/react-icons";import{global_danger_color_100 as CK,global_success_color_100 as SK}from"@patternfly/react-tokens";import{pluralize as bK}from"humanize-plus";function XC(e){let t=e.map(o=>o.status||"pending");return t.includes("failed")?"failed":t.includes("progressing")?"progressing":t.includes("pending")?"pending":"available"}var JC=e=>`${e} ${bK(e,"operator")}`;function vK(e,t){let o=e.filter(n=>n.status==="failed").length,r=XC(e),s=JC(e.length);switch(r){case"available":return t("ai:{{operatorsCountString}} installed",{operatorsCountString:s});case"failed":return e.length>1?`${o}/${s} failed`:`${JC(o)} failed`;case"progressing":return t("ai:Installing {{operatorsCountString}}",{operatorsCountString:s});default:return t("ai:Pending - {{operatorsCountString}}",{operatorsCountString:s})}}function IK(e){switch(e){case"available":return xt.createElement(fK,{color:SK.value});case"failed":return xt.createElement(gK,{color:CK.value});case"progressing":return xt.createElement(hK,null);default:return xt.createElement(yK,null)}}var TK=({operators:e,children:t})=>{let{t:o}=d();return xt.createElement(dK,{headerContent:xt.createElement("div",null,o("ai:Operators")),bodyContent:xt.createElement(uK,{className:"operators-progress-item__operators-list"},e.map(r=>{let s=r.status??"pending";r.status==="available"&&(s="installed");let n=r.name&&Am(o)[r.name];return xt.createElement(mK,{key:r.name,title:r.statusInfo},n," ",s)})),minWidth:"30rem",maxWidth:"50rem"},t)},xK=({operators:e})=>{let{t}=d(),o=IK(XC(e)),r=vK(e,t);return xt.createElement(Pr,{icon:o},xt.createElement(xt.Fragment,null,xt.createElement(TK,{operators:e},xt.createElement(cK,{variant:pK.link,isInline:!0,"data-testid":"operators-progress-item"},t("ai:Operators"))),xt.createElement("small",null,r)))},ZC=xK;import kt from"react";var AK=({cluster:e,minimizedView:t=!1,onFetchEvents:o,fallbackEventsURL:r})=>{let s=ns(e.hosts),n=Ym(e),i=s.filter(l=>l.role&&l.role==="master"),a=s.filter(l=>l.role&&l.role==="worker");return kt.createElement(kt.Fragment,null,kt.createElement(no,{condition:!t},kt.createElement(kK,{hasGutter:!0},kt.createElement(Ua,{span:3},kt.createElement(Zp,{hosts:i,hostRole:"master"})),kt.createElement(no,{condition:a.length>0},kt.createElement(Ua,{span:3},kt.createElement(Zp,{hosts:a,hostRole:"worker"}))),kt.createElement(Ua,{span:3},kt.createElement(jC,{cluster:e,onFetchEvents:o,fallbackEventsURL:r})),kt.createElement(no,{condition:n.length>0},kt.createElement(Ua,{span:3},kt.createElement(ZC,{operators:n}))))))},QC=AK;import{Stack as PK,StackItem as eS}from"@patternfly/react-core";var EK=({clusterDeployment:e,agentClusterInstall:t,agents:o,onFetchEvents:r,fallbackEventsURL:s})=>{let n=Je({clusterDeployment:e,agentClusterInstall:t,agents:o});return _n.createElement(PK,{hasGutter:!0},_n.createElement(eS,null,_n.createElement(Lc,{totalPercentage:t.status?.progress?.totalPercentage||0,cluster:n})),_n.createElement(eS,null,_n.createElement(QC,{cluster:n,onFetchEvents:r,fallbackEventsURL:s})))},FK=EK;import{createElement as at,useState as HG}from"react";import FG from"classnames";import{Grid as wG,GridItem as $S}from"@patternfly/react-core";import wK from"react";var DK=wK.createContext({currentStepId:"cluster-details",setCurrentStepId:()=>{console.error("Tried to use ClusterDeploymentWizardContext but there was no provider rendered.")}}),it=DK;import Jt from"react";import{Formik as i0}from"formik";import{Grid as a0,GridItem as cS}from"@patternfly/react-core";import Ro from"react";import{Alert as NK,AlertGroup as HK,AlertVariant as VK}from"@patternfly/react-core";var RK=({currentStepId:e,clusterStatus:t,validationsInfo:o,hosts:r,children:s})=>Ro.createElement(HK,null,s,t&&Ro.createElement(ac,{currentStepId:e,clusterStatus:t,hosts:r,validationsInfo:o,wizardStepsValidationsMap:to},Ro.createElement(Kr,null))),MK=({agentClusterInstall:e,agents:t,showClusterErrors:o,children:r,onSyncError:s,isNextDisabled:n,...i})=>{let{alerts:a}=yt(),{currentStepId:l}=Ro.useContext(it),c=o?e?.status?.debugInfo?.state:void 0,p=o?e?.status?.validationsInfo:void 0,u=Ro.useMemo(()=>(t||[]).reduce((h,S)=>{let v=S.status?.debugInfo?.state;return v&&h.push({status:v,validationsInfo:S.status?.validationsInfo}),h},[]),[t]),m=e?.status?.conditions?.find(h=>h.type==="SpecSynced"&&h.status==="False")?.message,{t:f}=d();Ro.useEffect(()=>{m&&s&&s()},[m,s]);let g=a.length?Ro.createElement(oc,null):void 0,C=Ro.createElement(RK,{currentStepId:l,clusterStatus:c,validationsInfo:p,hosts:u},m&&Ro.createElement(NK,{variant:VK.danger,title:f("ai:An error occured"),isInline:!0},m),r);return Ro.createElement(Md,{alerts:g,errors:C,isNextDisabled:n||!!m,...i})},Mo=MK;import{createElement as oS}from"react";import lr from"react";import{WizardNav as LK}from"@patternfly/react-core";var Hs=e=>({"cluster-details":e("ai:Cluster details"),"hosts-selection":e("ai:Cluster hosts"),"hosts-discovery":e("ai:Cluster hosts"),networking:e("ai:Networking"),review:e("ai:Review and create")}),On=1024,Bn=3;var Wa=Object.keys(Hs),_K=()=>{let{currentStepId:e,setCurrentStepId:t,clusterDeployment:o}=lr.useContext(it),{t:r}=d(),s=Hs(r);return lr.createElement(LK,null,lr.createElement(Wo,{key:"installation-type",content:"Installation type",step:0,isDisabled:!0}),lr.createElement(Wo,{key:"cluster-details",content:s["cluster-details"],isCurrent:e==="cluster-details",isDisabled:!1,step:1,onNavItemClick:()=>t("cluster-details")}),lr.createElement(Wo,{key:"automation",content:"Automation",step:2,isDisabled:!0}),vs(o)?lr.createElement(Wo,{key:"hosts-selection",content:s["hosts-selection"],isDisabled:!Wa.slice(1).includes(e),isCurrent:e==="hosts-selection",step:2,onNavItemClick:()=>t("hosts-selection")}):lr.createElement(Wo,{key:"hosts-discovery",content:s["hosts-discovery"],isDisabled:!Wa.slice(1).includes(e),isCurrent:e==="hosts-discovery",step:2,onNavItemClick:()=>t("hosts-discovery")}),lr.createElement(Wo,{key:"networking",content:s.networking,isDisabled:!Wa.slice(2).includes(e),isCurrent:e==="networking",step:3,onNavItemClick:()=>t("networking")}),lr.createElement(Wo,{key:"review",content:s.review,isDisabled:!Wa.slice(3).includes(e),isCurrent:e==="review",step:4,onNavItemClick:()=>t("review")}))},tS=_K;var OK=e=>oS(nc,{navigation:oS(tS,null),...e}),Lo=OK;import{createElement as Kn,useMemo as n0}from"react";import{Alert as o0,Stack as r0,StackItem as lS}from"@patternfly/react-core";import{Fragment as QK,createElement as De,useEffect as t0,useRef as e0}from"react";import{Alert as sS,AlertVariant as nS,FlexItem as iS,Form as JK}from"@patternfly/react-core";import{useFormikContext as ZK}from"formik";import{Fragment as $K,createElement as cr,useCallback as jK,useEffect as XK,useRef as YK}from"react";import{Checkbox as BK,FormGroup as KK,Tooltip as GK}from"@patternfly/react-core";import{useField as zK,useFormikContext as UK}from"formik";var WK=({version:e})=>{let{t}=d();return cr($K,null,t("ai:Use arm64 CPU architecture")," ",cr(Y,{noVerticalAlign:!0,bodyContent:cr("p",null,t("ai:Check this option if you want to use the arm64 CPU architecture instead of the default x86_64 CPU architecture. Please note that some features will not be available."))}),cr(Dr,{featureId:"ARM64_ARCHITECTURE",openshiftVersion:e}))},qK=({versions:e})=>{let{t}=d(),{values:{openshiftVersion:o}}=UK(),[{name:r,value:s},,{setValue:n}]=zK("cpuArchitecture"),i=M(r,"input"),a=uo(),l=!!e.find(m=>a.isFeatureSupported(m.value,"ARM64_ARCHITECTURE")),c=YK(o),p=jK(m=>n(m?Ae.ARM:Ae.x86),[n]);if(XK(()=>{c.current!==o&&!a.isFeatureSupported(o,"ARM64_ARCHITECTURE")&&p(!1),c.current=o},[o,p,a]),!l)return null;let u=a.getFeatureDisabledReason(o,"ARM64_ARCHITECTURE");return cr(KK,{isInline:!0,fieldId:i},cr(GK,{hidden:!u,content:u},cr(BK,{id:i,name:r,isDisabled:a.isFeatureDisabled(o,"ARM64_ARCHITECTURE"),label:cr(WK,{version:o}),"aria-describedby":`${i}-helper`,description:cr(K,{fieldId:i},t("ai:Make sure all the hosts are using arm64 CPU architecture.")),isChecked:jm({cpuArchitecture:s}),onChange:p})))},rS=qK;var qa=({name:e,baseDnsDomain:t})=>{let{t:o}=d();return De(QK,null,o("ai:All DNS records must be subdomains of this base and include the cluster name. This cannot be changed after cluster installation. The full cluster address will be:")," ",De("br",null),De("strong",null,e||"[Cluster Name]",".",t||"[example.com]"))},aS=({isEditFlow:e,versions:t,defaultPullSecret:o,forceOpenshiftVersion:r,extensionAfter:s})=>{let{values:n}=ZK(),{name:i,baseDnsDomain:a,highAvailabilityMode:l}=n,c=e0();t0(()=>{c.current?.focus()},[]);let p=n.enableDiskEncryptionOnMasters||n.enableDiskEncryptionOnWorkers,{t:u}=d();return De(JK,{id:"wizard-cluster-details__form"},e?De(us,{name:"name",label:u("ai:Cluster name"),isRequired:!0},i):De(Wt,{ref:c,label:u("ai:Cluster name"),name:"name",placeholder:u("ai:Enter cluster name"),richValidationMessages:pd(u),isRequired:!0}),s?.name&&s.name,e?De(us,{name:"baseDnsDomain",label:u("ai:Base domain"),helperText:De(qa,{name:i,baseDnsDomain:a}),isRequired:!0},a):De(X,{label:u("ai:Base domain"),name:"baseDnsDomain",helperText:De(qa,{name:i,baseDnsDomain:a}),placeholder:"example.com",isRequired:!0}),r?De(us,{name:"openshiftVersion",label:"OpenShift version",isRequired:!0},u("ai:OpenShift")," ",r):De(fn,{versions:t}),De(zc,{versions:t,highAvailabilityMode:l}),De(rS,{versions:t}),s?.openshiftVersion&&s.openshiftVersion,!e&&De(Sn,{defaultPullSecret:o}),s?.pullSecret&&s.pullSecret,p&&n.diskEncryptionMode==="tpmv2"&&De(sS,{variant:nS.warning,isInline:!0,title:De(iS,null,u("ai:To use this encryption method, enable TPMv2 encryption in the BIOS of each selected host."))}),p&&n.diskEncryptionMode==="tang"&&De(sS,{variant:nS.warning,isInline:!0,title:De(iS,null,u("ai:The use of Tang encryption mode to encrypt your disks is only supported for bare metal or vSphere installations on user-provisioned infrastructure."))}))};var s0=({agentClusterInstall:e,clusterDeployment:t,clusterImages:o,pullSecret:r,extensionAfter:s})=>{let n=n0(()=>or(o),[o]),i=e?ia(o,e):void 0,a=!!t,{t:l}=d();return Kn(r0,{hasGutter:!0},a&&Kn(lS,null,Kn(o0,{isInline:!0,variant:"info",title:l("ai:Some details are not editable after the draft cluster was created.")})),Kn(lS,null,Kn(aS,{versions:n,isEditFlow:a,forceOpenshiftVersion:i,defaultPullSecret:r,extensionAfter:s})))},$a=s0;var Qp=({clusterDeployment:e,agentClusterInstall:t,agents:o,clusterImages:r,usedClusterNames:s,defaultBaseDomain:n,pullSecret:i,infraEnv:a})=>{let{t:l}=d(),c=uo(),p=or(r),u=Jt.useMemo(()=>e&&t?Je({clusterDeployment:e,agentClusterInstall:t,agents:o,infraEnv:a}):void 0,[t,e,o,a]),m=Jt.useMemo(()=>Pg({managedDomains:[],cluster:u,ocpVersions:p,baseDomain:n,pullSecret:i}),[]),f=Jt.useMemo(()=>Eg({usedClusterNames:s,featureSupportLevels:c,pullSecretSet:!0,ocpVersions:p,validateUniqueName:!0,t:l}),[s,p,c,l]);return[m,f]},l0=({clusterImages:e,clusterDeployment:t,agentClusterInstall:o,agents:r,usedClusterNames:s,onSaveDetails:n,onClose:i,pullSecret:a,isPreviewOpen:l,infraEnv:c})=>{let{addAlert:p}=yt(),{setCurrentStepId:u}=Jt.useContext(it),{t:m}=d(),[f,g]=Qp({clusterDeployment:t,agentClusterInstall:o,agents:r,clusterImages:e,usedClusterNames:s,infraEnv:c}),C=()=>vs(t)?u("hosts-selection"):u("hosts-discovery"),h=async S=>{try{await n(S),C()}catch(v){p({title:m("ai:Failed to save ClusterDeployment"),message:v})}};return Jt.createElement(i0,{initialValues:f,validate:Ut(g),onSubmit:h},({submitForm:S,isSubmitting:v,isValid:y,isValidating:b,dirty:I})=>{let x=Jt.createElement(Mo,{agentClusterInstall:o,isSubmitting:v,isNextDisabled:!y||b||v,onNext:()=>{I?S():C()},onCancel:i}),k=ya(l);return Jt.createElement(Lo,{footer:x},Jt.createElement(a0,{hasGutter:!0},Jt.createElement(cS,null,Jt.createElement(io,null,"Cluster Details")),Jt.createElement(cS,{...k},Jt.createElement($a,{agentClusterInstall:o,clusterDeployment:t,clusterImages:e,pullSecret:a}))))})},pS=l0;import Ne from"react";import{Formik as a8,useFormikContext as l8}from"formik";import{Alert as c8,AlertVariant as p8,Grid as u8,GridItem as TS}from"@patternfly/react-core";import{Fragment as bS,createElement as Q,useEffect as SS,useMemo as o8,useState as t8}from"react";import{Alert as z0,Form as U0,Grid as W0,GridItem as q0,Spinner as $0,Text as uu,TextContent as hS,TextVariants as Y0,Checkbox as j0,Split as X0,SplitItem as yS,Stack as J0,StackItem as Xa}from"@patternfly/react-core";import pr,{useEffect as lu}from"react";import{useFormikContext as V0}from"formik";import{Checkbox as R0,Grid as M0}from"@patternfly/react-core";import zn from"react";import{Grid as m0,TextInputTypes as d0}from"@patternfly/react-core";import{useFormikContext as f0}from"formik";import At from"react";import{Split as c0,SplitItem as eu,Tooltip as p0,FormGroup as u0}from"@patternfly/react-core";var Gn="networkType",uS=({isDisabled:e=!1,isSDNSelectable:t})=>{let{t:o}=d();return At.createElement(u0,{fieldId:Gn,label:"Network type"},At.createElement(c0,{hasGutter:!0},At.createElement(eu,null,At.createElement(p0,{hidden:t,content:o("ai:Software-Defined Networking (SDN) cannot be selected for SNO clusters or when IPv6 is detected.")},At.createElement(pe,{id:Gn,name:Gn,isDisabled:e||!t,value:pi,label:At.createElement(At.Fragment,null,o("ai:Software-Defined Networking (SDN)")," ",At.createElement(Y,{noVerticalAlign:!0,bodyContent:"The classic bullet-proof networking type"}))}))),At.createElement(eu,null),At.createElement(eu,null,At.createElement(pe,{id:Gn,name:Gn,isDisabled:e,value:ts,label:At.createElement(At.Fragment,null,o("ai:Open Virtual Networking (OVN)")," ",At.createElement(Y,{noVerticalAlign:!0,bodyContent:"The next generation networking type, select this when you're using new features and telco features"}))}))))};var g0=({isSDNSelectable:e,isClusterCIDRIPv6:t})=>{let o=di("ASSISTED_INSTALLER_NETWORK_TYPE_SELECTION_FEATURE"),{setFieldValue:r,values:s}=f0(),n=parseInt((s.clusterNetworkCidr||"").split("/")[1])||1,{t:i}=d(),a=c=>{isNaN(parseInt(c.target.value))&&r("clusterNetworkHostPrefix",n)},l=i(t?"ai:The subnet prefix length to assign to each individual node. For example, if Cluster Network Host Prefix is set to 116, then each node is assigned a /116 subnet out of the given cidr (clusterNetworkCIDR), which allows for 4,094 (2^(128 - 116) - 2) pod IPs addresses. If you are required to provide access to nodes from an external network, configure load balancers and routers to manage the traffic.":"ai:The subnet prefix length to assign to each individual node. For example, if Cluster Network Host Prefix is set to 23, then each node is assigned a /23 subnet out of the given cidr (clusterNetworkCIDR), which allows for 510 (2^(32 - 23) - 2) pod IPs addresses. If you are required to provide access to nodes from an external network, configure load balancers and routers to manage the traffic.");return zn.createElement(m0,{hasGutter:!0},zn.createElement(X,{name:"clusterNetworkCidr",label:i("ai:Cluster network CIDR"),helperText:i("ai:IP address block from which Pod IPs are allocated This block must not overlap with existing physical networks. These IP addresses are used for the Pod network, and if you need to access the Pods from an external network, configure load balancers and routers to manage the traffic."),isRequired:!0}),zn.createElement(X,{name:"clusterNetworkHostPrefix",label:i("ai:Cluster network host prefix"),type:d0.number,min:n,max:t?xl.IPv6:xl.IPv4,onBlur:c=>a(c),helperText:l,isRequired:!0}),zn.createElement(X,{name:"serviceNetworkCidr",label:i("ai:Service network CIDR"),helperText:i("ai:The IP address pool to use for service IP addresses. You can enter only one IP address pool. If you need to access the services from an external network, configure load balancers and routers to manage the traffic."),isRequired:!0}),o&&zn.createElement(uS,{isSDNSelectable:e}))},Ya=g0;import{Address6 as L0}from"ip-address";import Wr from"react";import{Alert as h0,AlertActionLink as y0,AlertVariant as C0,Popover as S0}from"@patternfly/react-core";var b0=({matchingSubnet:e,hosts:t})=>{let{t:o}=d(),r=t?.filter(n=>!["disabled","disconnected"].includes(n.status)&&!e.hostIDs.includes(n.requestedHostname||""))||[];if(r.length===0||!e.hostIDs.length)return null;let s=Wr.createElement(S0,{position:"right",bodyContent:Wr.createElement("ul",null,r.sort((n,i)=>n.requestedHostname?.localeCompare(i.requestedHostname||"")||0).map(n=>Wr.createElement("li",{key:n.id},n.requestedHostname||n.id))),minWidth:"30rem",maxWidth:"50rem"},Wr.createElement(y0,{id:"form-input-hostSubnet-field-helper-view-excluded"},o("ai:View {{count}} affected host",{count:r.length})));return Wr.createElement(h0,{title:o("ai:This subnet range is not available on all hosts"),variant:C0.warning,actionLinks:s,isInline:!0},o("ai:Hosts outside of this range will not be included in the new cluster."))},tu=({hostSubnets:e,hosts:t,isRequired:o=!1,isMultiNodeCluster:r})=>{let{t:s}=d(),n=a=>{let l=e.find(c=>c.subnet===a);if(l)return r&&Wr.createElement(b0,{matchingSubnet:l,hosts:t})},i=e.length;return Wr.createElement(wr,{name:"hostSubnet",label:s("ai:Available subnets"),options:e.length?[{label:s("ai:Please select a subnet. ({{hostSubnetLength}} available)",{hostSubnetLength:i}),value:Re,isDisabled:!0,id:"form-input-hostSubnet-field-option-no-subnet"},...e.sort((a,l)=>a.humanized.localeCompare(l.humanized)).map((a,l)=>({label:a.humanized,value:a.subnet,id:`form-input-hostSubnet-field-option-${l}`}))]:[{label:s("ai:No subnets are currently available"),value:Re}],getHelperText:n,isDisabled:!e.length,isRequired:o})};import _o from"react";import{List as v0,ListItem as ja,Text as I0,TextContent as T0}from"@patternfly/react-core";import{Trans as x0}from"react-i18next";var ou=({shouldDisplayLoadBalancersBullet:e=!1})=>{let{t}=d();return _o.createElement(T0,null,_o.createElement(I0,{component:"p"},_o.createElement(x0,{t},"ai:Please refer to the"," ",_o.createElement(lt,{href:pm},"OpenShift networking documentation")," ","to configure your cluster's networking, including:")),_o.createElement(v0,null,_o.createElement(ja,null,t("ai:DHCP or static IP Addresses")),_o.createElement(no,{condition:e},_o.createElement(ja,null,t("ai:Load balancers"))),_o.createElement(ja,null,t("ai:Network ports")),_o.createElement(ja,null,t("ai:DNS"))))};import su from"react";import{FormGroup as P0}from"@patternfly/react-core";import mS from"react";import{Tooltip as k0}from"@patternfly/react-core";var A0=({tooltipProps:e,...t})=>mS.createElement(k0,{...e},mS.createElement(pe,{...t})),ru=A0;var nu="managedNetworkingType",iu=({disabled:e=!1,tooltip:t})=>{let o={hidden:!t||!e,content:t,position:"top"},{t:r}=d();return su.createElement(P0,{label:r("ai:Network Management"),fieldId:M(nu,"radio"),isInline:!0},su.createElement(ru,{tooltipProps:o,name:nu,isDisabled:e,value:"clusterManaged",label:r("ai:Cluster-Managed Networking")}),su.createElement(ru,{tooltipProps:o,name:nu,isDisabled:e,value:"userManaged",label:r("ai:User-Managed Networking")}))};import fe from"react";import{useFormikContext as E0}from"formik";import{Spinner as F0,Alert as w0,AlertVariant as D0}from"@patternfly/react-core";var dS=({vipName:e,cluster:t,validationErrorMessage:o})=>{let{vipDhcpAllocation:r,machineNetworkCidr:s}=t,{t:n}=d();return r&&t[e]?t[e]:r&&o?fe.createElement(w0,{variant:D0.danger,title:n("ai:The DHCP server failed to allocate the IP"),isInline:!0},o):r&&s?fe.createElement(fe.Fragment,null,fe.createElement(F0,{size:"md"}),fe.createElement("i",null,n("ai:This IP is being allocated by the DHCP server"))):n("ai:<i>This IP will be allocated by the DHCP server</i>")},N0=(e,t,o,r)=>r?o&&t?e("ai:This IP was allocated by the DHCP server."):"":e("ai:Make sure that the VIP is unique and not used by any other device on your network."),H0=(e,t)=>{let o=te(t)||{},r=[e("ai:VIP IP allocation from DHCP server has been timed out"),e("ai:IP allocation from the DHCP server timed out.")];return(o.network||[]).reduce((s,n)=>(["api-vip-defined","ingress-vip-defined"].includes(n.id)&&(s[n.id]=n.status==="failure"&&r.find(i=>n.message.match(i))?n.message:void 0),s),{})},au=({cluster:e,hostSubnets:t,isVipDhcpAllocationDisabled:o})=>{let{values:r}=E0(),{t:s}=d(),n=N0(s,e.apiVip,e.vipDhcpAllocation,r.vipDhcpAllocation),i=s("ai:Provide an endpoint for users, both human and machine, to interact with and configure the platform. If needed, contact your IT manager for more information. {{vipHelperSufix}}",{vipHelperSuffix:n}),a=s("ai:Provide an endpoint for application traffic flowing in from outside the cluster. If needed, contact your IT manager for more information. {{vipHelperSufix}}",{vipHelperSuffix:n}),{"api-vip-defined":l,"ingress-vip-defined":c}=fe.useMemo(()=>H0(s,e.validationsInfo),[s,e.validationsInfo]);return fe.createElement(fe.Fragment,null,!o&&fe.createElement(Dt,{label:fe.createElement(fe.Fragment,null,s("ai:Allocate IPs via DHCP server"),fe.createElement(Dr,{featureId:"VIP_AUTO_ALLOC",openshiftVersion:e.openshiftVersion})),name:"vipDhcpAllocation"}),r.vipDhcpAllocation?fe.createElement(fe.Fragment,null,fe.createElement(ql,{label:s("ai:API IP"),name:"apiVip",helperText:i,value:e.apiVip||"",isValid:!l,isRequired:!0},fe.createElement(dS,{vipName:"apiVip",cluster:e,validationErrorMessage:l})),fe.createElement(ql,{label:s("ai:Ingress IP"),name:"ingressVip",helperText:a,value:e.ingressVip||"",isValid:!c,isRequired:!0},fe.createElement(dS,{vipName:"ingressVip",cluster:e,validationErrorMessage:c}))):fe.createElement(fe.Fragment,null,fe.createElement(X,{label:s("ai:API IP"),name:"apiVip",helperText:i,isRequired:!0,isDisabled:!t.length||r.hostSubnet===Re}),fe.createElement(X,{name:"ingressVip",label:s("ai:Ingress IP"),helperText:a,isRequired:!0,isDisabled:!t.length||r.hostSubnet===Re})))};var _0=({cluster:e,hostSubnets:t,isVipDhcpAllocationDisabled:o,defaultNetworkSettings:r,hideManagedNetworking:s,children:n})=>{let{t:i}=d(),{setFieldValue:a,values:l,touched:c,validateField:p}=V0(),u=!qs(e),m=L0.isValid(l.clusterNetworkCidr||""),{isIPv6:f,defaultNetworkType:g,isSDNSelectable:C}=pr.useMemo(()=>{let I=vi({machineNetworkCidr:e.machineNetworkCidr,clusterNetworkCidr:l.clusterNetworkCidr,serviceNetworkCidr:l.serviceNetworkCidr});return{isIPv6:I,defaultNetworkType:Ys(!u,I),isSDNSelectable:ld(!u,I)}},[u,l.clusterNetworkCidr,e.machineNetworkCidr,l.serviceNetworkCidr]),[h,S]=pr.useState(ad(e,r,g)),v=I=>{S(I),I||(a("clusterNetworkCidr",r.clusterNetworkCidr),a("serviceNetworkCidr",r.serviceNetworkCidr),a("clusterNetworkHostPrefix",r.clusterNetworkHostPrefix),a("networkType",g))},y=l.managedNetworkingType==="userManaged",b=t[0]?.subnet;return lu(()=>{y&&u?l.hostSubnet!==Re&&a("hostSubnet",Re,!1):l.hostSubnet===Re&&b&&a("hostSubnet",b,!1)},[y,u,l.hostSubnet,a,b]),lu(()=>{e.networkType?C||a("networkType",ts):a("networkType",Ys(!u,f))},[f,u,a]),lu(()=>{if(y){let I=!!c.hostSubnet;a("vipDhcpAllocation",!1),a("ingressVip","",I),a("apiVip","",I)}else!l.vipDhcpAllocation&&c.hostSubnet&&(p("ingressVip"),p("apiVip"))},[c.hostSubnet,u,y,a,l.vipDhcpAllocation,p]),pr.createElement(M0,{hasGutter:!0},!s&&pr.createElement(iu,{disabled:!!e.openshiftVersion}),y&&pr.createElement(ou,{shouldDisplayLoadBalancersBullet:u}),n,!(u&&y)&&pr.createElement(tu,{hostSubnets:t,hosts:e.hosts||[],isRequired:!y,isMultiNodeCluster:u}),!y&&pr.createElement(au,{cluster:e,hostSubnets:t,isVipDhcpAllocationDisabled:o}),pr.createElement(R0,{id:"useAdvancedNetworking",label:i("ai:Use advanced networking"),description:i("ai:Configure advanced networking properties (e.g. CIDR ranges)."),isChecked:h,onChange:v,body:h&&pr.createElement(Ya,{isSDNSelectable:C,isClusterCIDRIPv6:m})}))},cu=_0;import{createElement as pu,memo as G0,useMemo as gS}from"react";import{ConnectedIcon as O0}from"@patternfly/react-icons";var B0=({obj:e})=>pu(Ts,{host:e,AdditionalNTPSourcesDialogToggleComponent:pa}),K0=G0(({clusterDeployment:e,agentClusterInstall:t,agents:o,onEditHost:r,onEditRole:s})=>{let{t:n}=d(),i=gS(()=>Je({clusterDeployment:e,agentClusterInstall:t,agents:o}),[e,t,o]),[a,l,c]=It({agents:o},{onEditHost:r,onEditRole:s}),p=lo(t),u=gS(()=>p?[rr(n,l.onEditHost,a),Lt({agents:o,onEditHostname:r,wizardStepId:"networking",t:n}),cp(i)]:[rr(n,l.onEditHost,a),Eo(n,l.canEditRole,l.onEditRole),Lt({agents:o,onEditHostname:r,wizardStepId:"networking",t:n}),cp(i)],[p,r,a,o,l,i,n]),m=st(a.length);return pu(rt,{testId:"networking-host-table",hosts:a,ExpandComponent:B0,content:u,actionResolver:c,...m},pu(qe,{icon:O0,title:n("ai:Waiting for hosts..."),content:n("ai:Hosts may take a few minutes to appear here after booting.")}))}),fS=K0;import{useFormikContext as Z0}from"formik";import{Trans as Q0}from"react-i18next";var mu=Tm,e8=({clusterDeployment:e,agentClusterInstall:t,agents:o,onValuesChanged:r,infraEnvWithProxy:s,sameProxies:n,infraEnvsError:i,infraEnvsLoading:a,isPreviewOpen:l,onEditHost:c,onEditRole:p})=>{let{values:u,touched:m,setFieldValue:f,setFieldTouched:g}=Z0();SS(()=>r?.(u),[r,u]);let[C,h]=t8(!1),S=Je({clusterDeployment:e,agentClusterInstall:t,agents:o}),v=o8(()=>is(S),[S]),{t:y}=d();SS(()=>{!!s&&!m.enableProxy&&(f("enableProxy",!0,!1),n&&(f("httpProxy",s.spec?.proxy?.httpProxy,!1),f("httpsProxy",s.spec?.proxy?.httpsProxy,!1),f("noProxy",s.spec?.proxy?.noProxy,!1)))},[s,n,f,m.enableProxy,g]);let b=Q(Xo,null);s&&(n?b=Q(bS,null,Q(j0,{id:"edit-proxy",label:y("ai:Edit cluster-wide proxy settings"),onChange:h,isChecked:C,body:C&&Q(gn,null)})):b=Q(bS,null,Q(hS,null,Q(uu,{component:"h2"},y("ai:Cluster-wide proxy")),Q(uu,{component:Y0.p},Q(Q0,{t:y,components:{bold:Q("strong",null)},i18nKey:"ai:The hosts you selected are using different proxy settings. Configure a proxy that will be applied for these hosts. <bold>Configure at least one of the proxy settings below.</bold>"}))),Q(gn,null)));let I=ya(l);return Q(U0,null,Q(J0,{hasGutter:!0},Q(Xa,null,Q(W0,{hasGutter:!0},Q(q0,{...I},Q(cu,{cluster:S,hostSubnets:v,isVipDhcpAllocationDisabled:!0,defaultNetworkSettings:mu,hideManagedNetworking:!0})))),Q(Xa,null,i?Q(z0,{title:i,variant:"danger",isInline:!0}):a?Q(X0,{hasGutter:!0},Q(yS,null,Q($0,{isSVG:!0,size:"md"})),Q(yS,null,y("ai:Loading proxy configuration"))):b),Q(Xa,null,Q(qc,{clusterSshKey:S.sshPublicKey})),Q(Xa,null,Q(hS,null,Q(uu,{component:"h2"},y("ai:Host inventory"))),Q(fS,{clusterDeployment:e,agentClusterInstall:t,agents:o,onEditHost:c,onEditRole:p}))))},CS=e8;import Un from"react";import{lazy as n8,object as i8}from"yup";var r8=e=>{let t=e.find(o=>o.spec?.proxy?.httpProxy||o.spec?.proxy?.httpsProxy||o.spec?.proxy?.noProxy);return{infraEnvWithProxy:t,sameProxies:e.every(o=>o.spec?.proxy?.httpProxy===t?.spec?.proxy?.httpProxy&&o.spec?.proxy?.httpsProxy===t?.spec?.proxy?.httpsProxy&&o.spec?.proxy?.noProxy===t?.spec?.proxy?.noProxy)}},s8=(e,t)=>n8(o=>i8().shape({clusterNetworkHostPrefix:Vr(o.clusterNetworkCidr),clusterNetworkCidr:ro(o.serviceNetworkCidr),serviceNetworkCidr:ro(o.clusterNetworkCidr),apiVip:ls(t,o,e.apiVip),ingressVip:ls(t,o,e.ingressVip),sshPublicKey:qt,hostSubnet:js,httpProxy:$t(o,"httpsProxy"),httpsProxy:$t(o,"httpProxy"),noProxy:yr})),vS=({clusterDeployment:e,agentClusterInstall:t,agents:o})=>{let r=Un.useMemo(()=>{let n=Je({clusterDeployment:e,agentClusterInstall:t,agents:o});return{..._C(n,mu),enableProxy:!1,editProxy:!1}},[]),s=Un.useMemo(()=>{let n=Je({clusterDeployment:e,agentClusterInstall:t,agents:o}),i=is(n);return s8(r,i)},[r,e,t,o]);return{initialValues:r,validationSchema:s}},IS=({agents:e,fetchInfraEnv:t})=>{let[o,r]=Un.useState(),[s,n]=Un.useState(),{infraEnvWithProxy:i,sameProxies:a}=r8(o||[]),l=e.map(u=>({name:u.metadata?.labels?.[dt],namespace:u.metadata?.namespace})).filter(u=>u.name&&u.namespace).sort(),c=pc(l),{t:p}=d();return Un.useEffect(()=>{(async()=>{r(void 0),n(void 0);let m=c.map(f=>t(f.name,f.namespace));try{let f=await Promise.all(m);r(f)}catch(f){n(f.message||p("ai:Could not fetch infra environments"))}})()},[c,t,r,n,p]),{infraEnvWithProxy:i,sameProxies:a,infraEnvsError:s,infraEnvsLoading:!o}};var m8=({clusterDeployment:e,agentClusterInstall:t,agents:o,onClose:r,fetchInfraEnv:s,onEditHost:n,onEditRole:i,isPreviewOpen:a})=>{let[l,c]=Ne.useState(!1),[p,u]=Ne.useState(!1),[m,f]=Ne.useState(!1),{infraEnvWithProxy:g,infraEnvsError:C,infraEnvsLoading:h,sameProxies:S}=IS({fetchInfraEnv:s,agents:o}),{isValid:v,isValidating:y,isSubmitting:b,validateForm:I,setTouched:T,errors:x,touched:k,values:A}=l8(),{setCurrentStepId:H}=Ne.useContext(it),P=Xu(t,o),R=()=>vs(e)?H("hosts-selection"):H("hosts-discovery"),ee=async()=>{if(!l){let B=await I();if(T(Object.keys(B).reduce((ge,ke)=>(ge[ke]=!0,ge),{})),c(!0),Object.keys(B).length)return}f(!0)};Ne.useEffect(()=>{f(!1),u(!1)},[A.apiVip,A.ingressVip]),Ne.useEffect(()=>{m&&(u(!0),P&&H("review"))},[m,P,H]);let O=Ne.useCallback(()=>f(!1),[]),_=Qu(x,k),{t:w}=d(),V=Ne.createElement(Mo,{agentClusterInstall:t,agents:o,isSubmitting:b,isNextDisabled:m||b||(l?!v||y:!1),showClusterErrors:!_.length&&p,onBack:R,onNext:ee,onCancel:r,nextButtonText:"Next",onSyncError:O},l&&!!_.length&&Ne.createElement(c8,{variant:p8.danger,title:w("ai:Provided cluster configuration is not valid"),isInline:!0},w("ai:The following fields are invalid or missing"),":"," ",_.map(B=>Sm(w)[B]||B).join(", "),"."));return Ne.createElement(Lo,{footer:V},Ne.createElement(u8,{hasGutter:!0},Ne.createElement(TS,null,Ne.createElement(io,null,w("ai:Networking"))),Ne.createElement(TS,null,Ne.createElement(CS,{clusterDeployment:e,agentClusterInstall:t,agents:o,sameProxies:S,infraEnvsError:C,infraEnvWithProxy:g,infraEnvsLoading:h,onEditHost:n,onEditRole:i,isPreviewOpen:a}))),Ne.createElement(Il,null))},d8=({clusterDeployment:e,agentClusterInstall:t,agents:o,onSaveNetworking:r,...s})=>{let{addAlert:n}=yt(),i=e?.metadata?.name,a=e?.metadata?.namespace,l=Ne.useMemo(()=>o.filter(f=>ga(f,i,a)),[o,i,a]),{initialValues:c,validationSchema:p}=vS({clusterDeployment:e,agentClusterInstall:t,agents:l}),{t:u}=d();return Ne.createElement(a8,{initialValues:c,validationSchema:p,onSubmit:async f=>{try{await r(f)}catch(g){n({title:u("ai:Failed to save ClusterDeployment"),message:g instanceof Error?g.message:void 0})}}},Ne.createElement(m8,{...s,agents:l,clusterDeployment:e,agentClusterInstall:t}))},xS=d8;import Se from"react";import{array as Wn,boolean as W8,lazy as G8,number as U8,object as z8}from"yup";import{Formik as w8,useFormikContext as D8}from"formik";import{Alert as N8,AlertVariant as H8,Grid as V8,GridItem as wS}from"@patternfly/react-core";import Qt from"react";import{useFormikContext as x8}from"formik";import{Grid as k8,GridItem as fu,TextContent as A8,Form as P8}from"@patternfly/react-core";import Zt from"react";import{Grid as f8,GridItem as du}from"@patternfly/react-core";import{useFormikContext as g8}from"formik";var h8=({isSNOCluster:e,availableAgents:t})=>{let{setFieldValue:o}=g8(),{matchingAgents:r,selectedAgents:s,hostCount:n}=Ra(t),{t:i}=d();return Zt.useEffect(()=>{n===3&&o("useMastersAsWorkers",!0)},[n,o]),Zt.createElement(Zt.Fragment,null,Zt.createElement(f8,{hasGutter:!0},Zt.createElement(du,null,Zt.createElement(zo,{label:i("ai:Number of hosts"),labelIcon:Zt.createElement(Va,null),idPostfix:"hostcount",name:"hostCount",isRequired:!0,minValue:e?1:Bn,maxValue:e?1:On,isDisabled:e,formatValue:a=>a===4?n>=4?3:5:a})),Zt.createElement(du,null,Zt.createElement(Dt,{idPostfix:"mastersasworkers",name:"useMastersAsWorkers",label:i("ai:Run workloads on control plane hosts"),isDisabled:n<5})),Zt.createElement(du,null,Zt.createElement(Es,{agents:t}))),Zt.createElement(Ha,{matchingAgentsCount:r.length,selectedAgents:s,targetHostCount:n}))},kS=h8;import qr from"react";import{Alert as y8,AlertVariant as C8,List as S8,ListComponent as b8,ListItem as AS}from"@patternfly/react-core";import{Link as v8}from"react-router-dom";import{Trans as I8}from"react-i18next";var T8=({cpuArchitecture:e})=>{let{t}=d();return qr.createElement(y8,{variant:C8.warning,title:t("ai:No available hosts with {{cpuArchitecture}} architecture were found",{cpuArchitecture:e}),isInline:!0},t("ai:The cluster can not be installed yet because there are no available hosts with {{cpuArchitecture}} architecture found. To continue:",{cpuArchitecture:e}),qr.createElement("br",null),qr.createElement(S8,{component:b8.ol},qr.createElement(AS,null,qr.createElement(I8,{t,cpuArchitecture:e},"ai:Add hosts with ",{cpuArchitecture:e}," architecture to an"," ",qr.createElement(v8,{to:"/multicloud/infrastructure/environments"},"infrastructure environment"))),qr.createElement(AS,null,t("ai:Continue configuration by editing this cluster and utilize the newly added hosts"))))},PS=T8;var E8=({agentClusterInstall:e,clusterDeployment:t,agents:o,aiConfigMap:r,onEditRole:s,onAutoSelectChange:n,onHostSelect:i,onSetInstallationDiskId:a})=>{let{values:l}=x8(),{autoSelectHosts:c}=l,p=lo(e),u=t?.metadata?.name,m=t?.metadata?.namespace,f=vr(t),g=Qt.useMemo(()=>xo(o).filter(h=>h.spec.clusterDeploymentName?.name===u&&h.spec.clusterDeploymentName?.namespace===m||!h.spec.clusterDeploymentName?.name&&!h.spec.clusterDeploymentName?.namespace&&h.status?.inventory.cpu?.architecture===f),[o,m,u,f]),{t:C}=d();return Qt.createElement(k8,{hasGutter:!0},Qt.createElement(fu,null,Qt.createElement(A8,null,C(p?"ai:Exactly 1 host is required, capable of functioning both as control plane and worker node.":"ai:At least 3 hosts are required, capable of functioning as control plane nodes."))),r&&Qt.createElement(fu,null,Qt.createElement(sa,{aiConfigMap:r,isSNOCluster:p})),Qt.createElement(fu,null,g.length?Qt.createElement(P8,null,Qt.createElement(Ks,{name:"autoSelectHosts",label:C("ai:Auto-select hosts"),onChange:n}),c&&Qt.createElement(kS,{availableAgents:g,isSNOCluster:p}),!c&&Qt.createElement(Na,{availableAgents:g,onEditRole:s,onHostSelect:i,onSetInstallationDiskId:a,cpuArchitecture:f})):Qt.createElement(PS,{cpuArchitecture:f})))},ES=E8;import{number as F8}from"yup";var FS=e=>F8().min(Bn,e("ai:A cluster can have {{HOSTS_MIN_COUNT}} hosts at minimum.",{HOSTS_MIN_COUNT:Bn})).max(On,e("ai:Maximum hosts count {{HOSTS_MAX_COUNT}} reached.",{HOSTS_MAX_COUNT:On})).test("not-four",e("ai:A cluster needs 2 or more worker nodes."),t=>t!==4).required(e("ai:Required field"));var R8=({agents:e,clusterDeployment:t,agentClusterInstall:o})=>{let r=lo(o),s=t?.metadata?.name,n=t?.metadata?.namespace,i=(o?.spec?.provisionRequirements?.controlPlaneAgents||0)+(o?.spec?.provisionRequirements?.workerAgents||0);r?i=1:i===2||i===0?i=3:i===4&&(i=5);let a=na(t?.metadata?.annotations),l=e.filter(p=>p.spec?.clusterDeploymentName?.name===s&&p.spec?.clusterDeploymentName?.namespace===n).map(p=>p.metadata?.uid);return{autoSelectHosts:a.autoSelect,hostCount:i,useMastersAsWorkers:i===1||i===3,agentLabels:a?.labels||[],locations:a?.locations||[],selectedHostIds:l,autoSelectedHostIds:l}},M8=e=>e===4?5:3,L8=(e,t)=>{let o=lo(e),r=({min:s})=>{let n=t("ai:Please select at least {{min}} hosts for the cluster",{min:s});return s===5?`${n} ${t("ai:or select just 3 hosts instead.")}`:`${n}.`};return G8(s=>z8().shape({hostCount:o?U8():FS(t),useMastersAsWorkers:W8().required(t("ai:Required field")),autoSelectedHostIds:s.autoSelectHosts?Wn().min(s.hostCount).max(s.hostCount):Wn(),selectedHostIds:s.autoSelectHosts?Wn():o?Wn().min(1,t("ai:Please select one host for the cluster.")).max(1,t("ai:Please select one host for the cluster.")):Wn().min(M8(s.selectedHostIds.length),r)}))},_8=({agents:e,clusterDeployment:t,agentClusterInstall:o,t:r})=>{let s=Se.useMemo(()=>R8({agents:e,clusterDeployment:t,agentClusterInstall:o}),[o,e,t]),n=Se.useMemo(()=>L8(o,r),[o,r]);return[s,n]},O8=(e,t)=>{let o=t.autoSelectHosts?t.autoSelectedHostIds:t.selectedHostIds;return e.filter(r=>o.includes(r.metadata?.uid||""))},B8=({agents:e,agentClusterInstall:t,onClose:o,clusterDeployment:r,aiConfigMap:s,onEditRole:n,onSetInstallationDiskId:i})=>{let{setCurrentStepId:a}=Se.useContext(it),[l,c]=Se.useState(!1),{values:p,isValid:u,isValidating:m,isSubmitting:f,touched:g,errors:C,validateForm:h,setTouched:S,submitForm:v,setSubmitting:y}=D8(),[b,I]=Se.useState(!1),[T,x]=Se.useState(!1),k=O8(e,p),{t:A}=d(),H=Se.useCallback(async(V,B)=>{I(!1),c(!1),y(!0);let ge=await n?.(V,B);return y(!1),ge},[n,y]),P=Se.useCallback(()=>{I(!1),c(!1),x(!1)},[]),R=Se.useCallback(()=>{I(!1),c(!1)},[]),ee=async()=>{if(!T){x(!0);let V=await h();if(S(Object.keys(V).reduce((B,ge)=>(B[ge]=!0,B),{})),Object.keys(V).length)return}v(),I(!0)};Se.useEffect(()=>{b&&!f&&(k.map(B=>Zo(B,"hosts-selection",A).status.key).some(B=>["disconnected","disabled","error","insufficient","cancelled"].includes(B))?I(!1):!!k.length&&k.every(B=>Zo(B,"hosts-selection",A).status.key==="known")&&(c(!0),Yu(t,k)&&a("networking")))},[b,k,t,a,f,A]);let O;f?O=A("ai:Saving changes..."):b&&!l&&(O=A("ai:Binding hosts..."));let _=Se.useCallback(()=>I(!1),[]),w=Se.createElement(Mo,{agentClusterInstall:t,agents:k,isSubmitting:!!O,submittingText:O,isNextDisabled:b||f||(T?!u||m:!1),onNext:ee,onBack:()=>a("cluster-details"),onCancel:o,showClusterErrors:l,onSyncError:_},T&&C.selectedHostIds&&g.selectedHostIds&&Se.createElement(N8,{variant:H8.danger,title:A("ai:Provided cluster configuration is not valid"),isInline:!0},C.selectedHostIds));return Se.createElement(Lo,{footer:w},Se.createElement(V8,{hasGutter:!0},Se.createElement(wS,null,Se.createElement(io,null,A("ai:Cluster hosts"))),Se.createElement(wS,null,Se.createElement(ES,{agentClusterInstall:t,agents:e,clusterDeployment:r,aiConfigMap:s,onEditRole:H,onSetInstallationDiskId:i,onAutoSelectChange:P,onHostSelect:R}))))},K8=({onSaveHostsSelection:e,...t})=>{let{t:o}=d(),{addAlert:r}=yt(),{agents:s,clusterDeployment:n,agentClusterInstall:i}=t,[a,l]=_8({agents:s,clusterDeployment:n,agentClusterInstall:i,t:o});return Se.createElement(w8,{initialValues:a,validationSchema:l,onSubmit:async(p,{setSubmitting:u})=>{try{await e(p)}catch(m){r({title:o("ai:Failed to save host selection."),message:m.message})}finally{u(!1)}}},Se.createElement(B8,{...t}))},DS=K8;import He from"react";import eG from"lodash/uniq";import{Grid as tG,GridItem as MS,Alert as oG,AlertVariant as rG,List as sG,ListItem as nG}from"@patternfly/react-core";import le from"react";import{Grid as J8,GridItem as Za,TextContent as VS,Text as gu}from"@patternfly/react-core";import Z8 from"react-measure";import{Fragment as X8,createElement as Kt,useMemo as j8,useState as Ja}from"react";import q8 from"lodash/noop";import{Stack as $8,StackItem as NS}from"@patternfly/react-core";var Y8=({agents:e,bareMetalHosts:t,infraEnv:o,onApprove:r,onChangeHostname:s,onChangeBMHHostname:n,onEditRole:i,onSetInstallationDiskId:a,onEditHost:l,onEditBMH:c,onDeleteHost:p,width:u})=>{let[m,f]=Ja(!1),[g,C]=Ja(!1),[h,S]=Ja(!1),[v,y]=Ja([]),{t:b}=d(),I=(w,V)=>{y(V?[...v,w.id]:v.filter(B=>B!==w.id))},[T,x,k]=It({agents:e,bmhs:t,infraEnv:o},{onEditHost:l,onEditRole:i,onEditBMH:c,onDeleteHost:p,onSetInstallationDiskId:a}),A=u&&u>700,H=j8(()=>[rr(b,x.onEditHost),...A?[va(e,t,b)]:[],Lt({agents:e,bareMetalHosts:t,onEditHostname:l,onApprove:r,wizardStepId:"hosts-discovery",t:b}),Eo(b,x.canEditRole,x.onEditRole),...A?[ma,Fo,wo,Do]:[]],[e,x,t,r,l,A,b]),P=e.filter(w=>v.includes(w.metadata?.uid||"")),R=[Kt(Sc,{key:"hostname",onChangeHostname:()=>C(!g)}),Kt(Ka,{key:"approve",onApprove:()=>S(!h),selectedAgents:P})],ee=async(w,V)=>{let B=e.find(ge=>ge.metadata?.uid===w.id);if(B)return s(B,V);{let ge=t.find(ke=>ke.metadata?.uid===w.id);return ge?n(ge,V):q8}},O=st(T.length),_=T.map(w=>w.id);return Kt(X8,null,Kt($8,{hasGutter:!0},Kt(NS,null,Kt(mn,{selectedIDs:v,itemIDs:_,setSelectedIDs:y,actions:R,...O})),Kt(NS,null,Kt(Da,{canEditDisks:x.canEditDisks,onDiskRole:x.onDiskRole},Kt(rt,{hosts:T,content:H,actionResolver:k,selectedIDs:v,setSelectedIDs:y,onSelect:I,ExpandComponent:x.onDiskRole?bp:No,...O},Kt(Pa,{setDiscoveryHintModalOpen:f}))))),m&&Kt(Sr,{isOpen:m,setDiscoveryHintModalOpen:f}),g&&Kt(dn,{isOpen:g,hosts:T,selectedHostIDs:v,onChangeHostname:ee,onClose:()=>C(!1),canChangeHostname:xa(e,t,b)}),h&&Kt(Dn,{isOpen:h,agents:P,onApprove:r,onClose:()=>S(!1)}))},HS=Y8;var Q8=({agentClusterInstall:e,agents:t,bareMetalHosts:o,aiConfigMap:r,infraEnv:s,infraNMStates:n,usedHostnames:i,onSaveAgent:a,onEditRole:l,onSetInstallationDiskId:c,onSaveBMH:p,fetchSecret:u,onChangeBMHHostname:m,onApproveAgent:f,onDeleteHost:g,onFormSaveError:C,...h})=>{let[S,v]=le.useState(!1),[y,b]=le.useState(),[I,T]=le.useState(),x=!0,k=lo(e),{t:A}=d();return le.createElement(J8,{hasGutter:!0},le.createElement(Za,null,le.createElement(VS,null,le.createElement(yn,{showAllInstructions:!0}))),le.createElement(Kp,{infraEnv:s,agentClusterInstall:e,usedHostnames:i,...h}),le.createElement(Za,null,le.createElement(VS,null,le.createElement(gu,{component:"h3"},A("ai:Information and warnings")),r&&le.createElement(gu,{component:"p"},le.createElement(sa,{aiConfigMap:r,isSNOCluster:k})),le.createElement(gu,{component:"p"},le.createElement(oa,{setDiscoveryHintModalOpen:v})),x&&le.createElement(Cc,null))),le.createElement(Za,null,le.createElement(tp,null)),le.createElement(Za,null,le.createElement(Z8,{bounds:!0},({measureRef:H,contentRect:P})=>le.createElement("div",{ref:H},le.createElement(HS,{agents:t,bareMetalHosts:o,infraEnv:s,onEditHost:T,onEditRole:l,onSetInstallationDiskId:c,onEditBMH:b,onChangeHostname:a,onChangeBMHHostname:m,onApprove:f,width:P.bounds?.width,onDeleteHost:g}))),le.createElement(yp,{infraEnv:s,bmh:y,nmStates:n,isOpen:!!y,onClose:()=>b(void 0),onEdit:p,fetchSecret:u,usedHostnames:i||[]}),le.createElement(En,{isOpen:!!I,onClose:()=>T(void 0),usedHostnames:i,onFormSaveError:C,agent:I,onSave:a})),le.createElement(Sr,{isOpen:S,setDiscoveryHintModalOpen:v}))},RS=Q8;var iG=({agentClusterInstall:e,agents:t,infraEnv:o,onSaveHostsDiscovery:r,onClose:s,...n})=>{let{t:i}=d(),{setCurrentStepId:a}=He.useContext(it),[l,c]=He.useState(!1),[p,u]=He.useState(!1),[m,f]=He.useState(!1),g=He.useMemo(()=>t.filter(T=>fa(o,T)),[t,o]),C=He.useMemo(()=>ha(g),[g]),h=[];lo(e)?g.length>1&&h.push(i("ai:Single node cluster cannot contain more than 1 host.")):(g.length===4||g.length<3)&&h.push(i("ai:Cluster must have 3 or 5 and more hosts.")),g.some(T=>!T.spec.approved)&&h.push(i("ai:All hosts must be approved.")),C.some(T=>T==="localhost")&&h.push(i("ai:Hostname localhost is forbidden.")),eG(C).length!==C.length&&h.push(i("ai:Hostnames must be unique."));let S=g.map(T=>Zo(T,"hosts-discovery",i).status.key).some(T=>["disconnected","disabled","error","insufficient","cancelled"].includes(T));S&&h.push(i("ai:Some hosts are not ready."));let v=async()=>{!m&&(f(!0),h.length)||(await r(),u(!0))};He.useEffect(()=>{u(!1),c(!1)},[g.length]),He.useEffect(()=>{p&&(S?u(!1):(c(!0),ju(e,g)&&a("networking")))},[p,g,e,a,S]);let y=p&&!l?i("ai:Saving changes..."):void 0,b=He.useCallback(()=>u(!1),[]),I=He.createElement(Mo,{agentClusterInstall:e,agents:g,isSubmitting:!!y,submittingText:y,isNextDisabled:p||(m?!!h.length:!1),onNext:v,onBack:()=>a("cluster-details"),showClusterErrors:l,onSyncError:b,onCancel:s},m&&!!h.length&&He.createElement(oG,{variant:rG.danger,title:i("ai:Provided cluster configuration is not valid"),isInline:!0},He.createElement(sG,null,h.map(T=>He.createElement(nG,{key:T},T)))));return He.createElement(Lo,{footer:I},He.createElement(tG,{hasGutter:!0},He.createElement(MS,null,He.createElement(io,null,i("ai:Cluster hosts"))),He.createElement(MS,null,He.createElement(RS,{agentClusterInstall:e,agents:g,infraEnv:o,usedHostnames:C,...n}))))},LS=iG;import ur from"react";var _S={supportLevels:[{features:[{featureId:"VIP_AUTO_ALLOC",supportLevel:"dev-preview"},{featureId:"SNO",supportLevel:"unsupported"},{featureId:"ARM64_ARCHITECTURE",supportLevel:"unsupported"},{featureId:"ARM64_ARCHITECTURE_WITH_CLUSTER_MANAGED_NETWORKING",supportLevel:"unsupported"},{featureId:"SINGLE_NODE_EXPANSION",supportLevel:"unsupported"},{featureId:"LVM",supportLevel:"unsupported"},{featureId:"DUAL_STACK_NETWORKING",supportLevel:"unsupported"},{featureId:"MULTIARCH_RELEASE_IMAGE",supportLevel:"unsupported"},{featureId:"NUTANIX_INTEGRATION",supportLevel:"unsupported"}],openshiftVersion:"4.6"},{features:[{featureId:"DUAL_STACK_NETWORKING",supportLevel:"unsupported"},{featureId:"MULTIARCH_RELEASE_IMAGE",supportLevel:"unsupported"},{featureId:"NUTANIX_INTEGRATION",supportLevel:"unsupported"}],openshiftVersion:"4.7"},{features:[{featureId:"DUAL_STACK_NETWORKING",supportLevel:"supported"},{featureId:"VIP_AUTO_ALLOC",supportLevel:"dev-preview"},{featureId:"SNO",supportLevel:"dev-preview"},{featureId:"ARM64_ARCHITECTURE",supportLevel:"unsupported"},{featureId:"ARM64_ARCHITECTURE_WITH_CLUSTER_MANAGED_NETWORKING",supportLevel:"unsupported"},{featureId:"SINGLE_NODE_EXPANSION",supportLevel:"unsupported"},{featureId:"LVM",supportLevel:"unsupported"},{featureId:"MULTIARCH_RELEASE_IMAGE",supportLevel:"unsupported"},{featureId:"NUTANIX_INTEGRATION",supportLevel:"unsupported"}],openshiftVersion:"4.8"},{features:[{featureId:"SNO",supportLevel:"supported"},{featureId:"DUAL_STACK_NETWORKING",supportLevel:"supported"},{featureId:"VIP_AUTO_ALLOC",supportLevel:"dev-preview"},{featureId:"ARM64_ARCHITECTURE",supportLevel:"unsupported"},{featureId:"ARM64_ARCHITECTURE_WITH_CLUSTER_MANAGED_NETWORKING",supportLevel:"unsupported"},{featureId:"SINGLE_NODE_EXPANSION",supportLevel:"unsupported"},{featureId:"LVM",supportLevel:"unsupported"},{featureId:"MULTIARCH_RELEASE_IMAGE",supportLevel:"unsupported"},{featureId:"NUTANIX_INTEGRATION",supportLevel:"unsupported"}],openshiftVersion:"4.9"},{features:[{featureId:"SNO",supportLevel:"supported"},{featureId:"ARM64_ARCHITECTURE",supportLevel:"supported"},{featureId:"DUAL_STACK_NETWORKING",supportLevel:"supported"},{featureId:"VIP_AUTO_ALLOC",supportLevel:"dev-preview"},{featureId:"ARM64_ARCHITECTURE_WITH_CLUSTER_MANAGED_NETWORKING",supportLevel:"unsupported"},{featureId:"SINGLE_NODE_EXPANSION",supportLevel:"unsupported"},{featureId:"LVM",supportLevel:"unsupported"},{featureId:"MULTIARCH_RELEASE_IMAGE",supportLevel:"unsupported"},{featureId:"NUTANIX_INTEGRATION",supportLevel:"unsupported"}],openshiftVersion:"4.10"},{features:[{featureId:"SNO",supportLevel:"supported"},{featureId:"ARM64_ARCHITECTURE",supportLevel:"supported"},{featureId:"ARM64_ARCHITECTURE_WITH_CLUSTER_MANAGED_NETWORKING",supportLevel:"supported"},{featureId:"SINGLE_NODE_EXPANSION",supportLevel:"supported"},{featureId:"DUAL_STACK_NETWORKING",supportLevel:"supported"},{featureId:"MULTIARCH_RELEASE_IMAGE",supportLevel:"tech-preview"},{featureId:"VIP_AUTO_ALLOC",supportLevel:"dev-preview"},{featureId:"LVM",supportLevel:"dev-preview"},{featureId:"NUTANIX_INTEGRATION",supportLevel:"dev-preview"}],openshiftVersion:"4.11"},{features:[{featureId:"SNO",supportLevel:"supported"},{featureId:"ARM64_ARCHITECTURE",supportLevel:"supported"},{featureId:"ARM64_ARCHITECTURE_WITH_CLUSTER_MANAGED_NETWORKING",supportLevel:"supported"},{featureId:"SINGLE_NODE_EXPANSION",supportLevel:"supported"},{featureId:"LVM",supportLevel:"supported"},{featureId:"DUAL_STACK_NETWORKING",supportLevel:"supported"},{featureId:"NUTANIX_INTEGRATION",supportLevel:"supported"},{featureId:"MULTIARCH_RELEASE_IMAGE",supportLevel:"tech-preview"},{featureId:"VIP_AUTO_ALLOC",supportLevel:"dev-preview"}],openshiftVersion:"4.12"}]};var OS=e=>e("ai:This option is not editable after the draft cluster is created"),aG=(e,t,o)=>{if(e)return OS(o);if(!t)return o("ai:Single-Node OpenShift is not supported in this OpenShift version")},lG=(e,t,o,r,s)=>{if(e)return OS(s);if(!r)return s("ai:arm64 is not supported in this OpenShift version")},BS=(e,t,o,r,s,n)=>{switch(e){case"SNO":return aG(t,s,n);case"ARM64_ARCHITECTURE":return lG(t,o,r,s,n);default:return}},KS=e=>e!=="unsupported";var cG=()=>{try{let e={};return _S.supportLevels.forEach(t=>{let o={};t.features.forEach(s=>{o[s.featureId]=s.supportLevel}),e[t.openshiftVersion]=o}),e}catch(e){return console.error(e),{}}},pG=({children:e,clusterImages:t,isEditClusterFlow:o=!1})=>{let{t:r}=d(),s=ur.useMemo(()=>cG(),[]),n=or(t),i=ur.useCallback(f=>{let g=t.find(h=>h.metadata?.name===f),C=In(g?.spec?.releaseImage)||g?.metadata?.name||"";return Th(C)},[t]),a=ur.useCallback(f=>{let g=i(f);return g?s[g]:{}},[s,i]),l=ur.useCallback((f,g)=>{let C=a(f);return C?C[g]:void 0},[a]),c=ur.useCallback((f,g)=>{let C=l(f,g);return KS(C)},[l]),p=ur.useCallback((f,g)=>{let C=c(f,g);return BS(g,o,f,n,C,r)},[c,r,n,o]),u=ur.useCallback((f,g)=>!!p(f,g),[p]),m=ur.useMemo(()=>({getVersionSupportLevelsMap:a,getFeatureSupportLevel:l,isFeatureDisabled:u,getFeatureDisabledReason:p,isFeatureSupported:c}),[a,l,u,p,c]);return ur.createElement(Gm,{value:m},e)},hu=pG;import{Grid as uG,GridItem as GS}from"@patternfly/react-core";import{createElement as Ke,useContext as dG,useMemo as US,useState as fG}from"react";var mG=({agentClusterInstall:e,agents:t,onClose:o,onFinish:r,clusterDeployment:s,clusterImages:n,infraEnv:i})=>{let{addAlert:a,clearAlerts:l}=yt(),{setCurrentStepId:c}=dG(it),[p,u]=fG(!1),m=()=>c("networking"),f=s.metadata?.name,g=s.metadata?.namespace,C=vr(s,i),h=US(()=>t.filter(x=>ga(x,f,g)),[t,f,g]),S=Ju(e,h),{t:v}=d(),b=Ke(Mo,{agentClusterInstall:e,agents:h,isSubmitting:p,isNextDisabled:p||!S,onBack:m,onNext:async()=>{l(),u(!0);try{await r()}catch(x){a({title:x.message||v("ai:An error occured while starting installation.")})}finally{u(!1)}},onCancel:o,nextButtonText:v("ai:Install cluster")}),I=ia(n,e),T=US(()=>Je({clusterDeployment:s,agentClusterInstall:e,agents:h}),[s,e,h]);return Ke(Lo,{footer:b},Ke(uG,{hasGutter:!0},Ke(GS,null,Ke(io,null,"Review and create")),Ke(GS,null,Ke(ho,null,Ke($,{title:v("ai:Cluster address"),value:`${s.metadata?.name}.${s.spec?.baseDomain}`,testId:"cluster-address"}),Ke($,{title:v("ai:OpenShift version"),value:I,testId:"openshift-version"}),Ke($,{title:v("ai:CPU architecture"),value:C,testId:"cpu-architecture"}),Ke($,{title:v("ai:API IP"),value:e.spec?.apiVIP,testId:"api-vip"}),Ke($,{title:v("ai:Ingress IP"),value:e.spec?.ingressVIP,testId:"ingress-vip"}),Ke($,{title:v("ai:Cluster summary"),testId:"cluster-summary",value:Ke(Nc,{hosts:T.hosts})}),Ke($,{title:v("ai:Cluster validations"),value:Ke(Hc,{validationsInfo:T.validationsInfo,setCurrentStepId:c,wizardStepNames:Hs(v),wizardStepsValidationsMap:to}),testId:"cluster-validations"}),Ke($,{title:v("ai:Host validations"),value:Ke(Vc,{hosts:T.hosts,setCurrentStepId:c,wizardStepNames:Hs(v),allClusterWizardSoftValidationIds:$u,wizardStepsValidationsMap:to}),testId:"host-validations"})))))},zS=mG;import{createElement as Pt,useCallback as qS}from"react";import gG from"react-monaco-editor";import hG from"react-measure";import{Alert as yG,AlertActionCloseButton as CG,ClipboardCopyButton as SG,Stack as bG,StackItem as WS}from"@patternfly/react-core";var vG={readOnly:!0,scrollBeyondLastLine:!1},IG={base:"vs",inherit:!0,rules:[{background:"e0e0e0"},{token:"number",foreground:"000000"},{token:"type",foreground:"000000"},{token:"string",foreground:"000000"},{token:"keyword",foreground:"0451a5"}],colors:{"editor.background":"#e0e0e0","editorGutter.background":"#e0e0e0","editorLineNumber.activeForeground":"#000000","editorLineNumber.foreground":"#000000"}},TG=({children:e,code:t,setPreviewOpen:o,loading:r})=>{let s=qS(a=>{a.layout(),a.focus()},[]),n=qS(a=>{a.editor.defineTheme("acm-console",IG)},[]),{t:i}=d();return r?Pt(pt,{content:"Loading resources"}):Pt(bG,null,Pt(WS,null,Pt("div",null,Pt(yG,{isInline:!0,title:i("ai:The resource has been saved and the YAML is now read only."),variant:"info",actionClose:Pt(CG,{onClose:()=>o(!1)})}),Pt("div",{className:"readonly-editor-bar"},Pt("div",null,e),Pt(SG,{variant:"plain",id:"copy",textId:"copy",onClick:()=>navigator.clipboard.writeText(t)},Pt("div",null))))),Pt(WS,{isFilled:!0},Pt(hG,{bounds:!0},({measureRef:a,contentRect:l})=>Pt("div",{ref:a,style:{height:"100%"}},!!l.bounds?.height&&Pt(gG,{language:"yaml",theme:"acm-console",height:l.bounds?.height,value:t,options:vG,editorDidMount:s,editorWillMount:n})))))},yu=TG;import xG from"lodash/cloneDeep";import{useEffect as PG,useMemo as EG,useState as Qa}from"react";import{dump as AG}from"js-yaml";var kG=e=>{if(!e)return;let t=xG(e);return delete t.status,t.metadata={name:t.metadata?.name,namespace:t.metadata?.namespace,labels:t.metadata?.labels},AG(t)},Cu=({clusterDeployment:e,agentClusterInstall:t,fetchSecret:o,fetchManagedClusters:r,fetchKlusterletAddonConfig:s})=>{let[n,i]=Qa(!0),[a,l]=Qa(),[c,p]=Qa(),[u,m]=Qa(),f=e.metadata?.name,g=e.metadata?.namespace,C=e.spec?.pullSecretRef?.name;return PG(()=>{(async()=>{let v=await Promise.allSettled([o(g||"",C||""),r(),s()]),[y,b,I]=v;y.status==="fulfilled"&&l(y.value),b.status==="fulfilled"&&p(b.value.find(T=>T.metadata?.labels?.name===f)),I.status==="fulfilled"&&m(I.value.find(T=>T.spec.clusterName===f&&T.spec.clusterNamespace===g)),i(!1)})()},[o,g,f,C,r,s]),{code:EG(()=>[e,t,a,c,u].map(kG).filter(S=>!!S).join(`
|
|
23
|
-
---
|
|
24
|
-
`),[e,t,a,c,u]),loadingResources:n}};var DG=({className:e,onSaveDetails:t,onSaveNetworking:o,onSaveHostsSelection:r,onClose:s,onFinish:n,hostActions:i,usedClusterNames:a,fetchSecret:l,clusterDeployment:c,agentClusterInstall:p,agents:u,clusterImages:m,aiConfigMap:f,infraEnv:g,fetchInfraEnv:C,initialStep:h,isPreviewOpen:S,setPreviewOpen:v,fetchManagedClusters:y,fetchKlusterletAddonConfig:b,onSaveISOParams:I,onCreateBMH:T,...x})=>{let[k,A]=HG(h||"cluster-details"),H=g,{code:P,loadingResources:R}=Cu({agentClusterInstall:p,clusterDeployment:c,fetchSecret:l,fetchManagedClusters:y,fetchKlusterletAddonConfig:b}),ee=()=>{switch(c?k:"cluster-details"){case"hosts-selection":return p?.metadata?.name?at(DS,{clusterDeployment:c,agentClusterInstall:p,onClose:s,onSaveHostsSelection:r,agents:u,aiConfigMap:f,onEditRole:i.onEditRole,onSetInstallationDiskId:i.onSetInstallationDiskId}):at(pt,null);case"hosts-discovery":return H?I&&T?at(LS,{clusterDeployment:c,agentClusterInstall:p,agents:u,bareMetalHosts:[],aiConfigMap:f,infraEnv:g,fetchSecret:l,onClose:s,onChangeBMHHostname:(_,w)=>(console.log("onChangeBMHHostname is not implemented: ",w),Promise.resolve(_)),onEditRole:i.onEditRole,onSetInstallationDiskId:i.onSetInstallationDiskId,onDeleteHost:i.onDeleteHost,onSaveISOParams:I,onCreateBMH:T,...x}):at(pt,null):at(pt,null);case"networking":return at(xS,{clusterDeployment:c,agentClusterInstall:p,agents:u,onSaveNetworking:o,onClose:s,onEditHost:i.onEditHost,onEditRole:i.onEditRole,fetchInfraEnv:C,isPreviewOpen:S});case"review":return at(zS,{onFinish:n,clusterDeployment:c,agentClusterInstall:p,agents:u,onClose:s,clusterImages:m,infraEnv:g});case"cluster-details":default:return at(pS,{clusterImages:m,usedClusterNames:a,clusterDeployment:c,agentClusterInstall:p,agents:u,onSaveDetails:t,onClose:s,isPreviewOpen:S,infraEnv:g})}};return at(wG,{style:{height:"100%"}},at($S,{span:S?7:12},at(Ud,null,at(hu,{clusterImages:m,isEditClusterFlow:!0},at(it.Provider,{value:{currentStepId:k,setCurrentStepId:A,clusterDeployment:c}},at("div",{className:FG("pf-c-wizard",e)},ee()))))),S&&at($S,{span:5},at(yu,{code:P,setPreviewOpen:v,loading:R},`${c.metadata?.name||""} cluster`)))},NG=DG;import Vs from"react";import{GridItem as VG,Alert as RG,AlertVariant as MG,AlertActionLink as YS}from"@patternfly/react-core";var jS=e=>`cluster-install-error-${e}`,LG=({agentClusterInstall:e})=>{let[t,o]=Xe(e),{t:r}=d(),s=r(t==="cancelled"?"ai:Cluster installation was cancelled":"ai:Cluster installation failed");return Vs.createElement(VG,null,Vs.createElement(RG,{variant:MG.danger,title:s,actionLinks:Vs.createElement(Vs.Fragment,null,Vs.createElement(LC,{id:jS("button-download-installation-logs"),Component:YS,agentClusterInstall:e}),Vs.createElement(YS,{onClick:()=>window.open(mm(),"_blank"),id:jS("button-report-bug")},r("ai:Report a bug"))),isInline:!0},so(o)))},_G=LG;import{Formik as OG,useFormikContext as BG}from"formik";import KG from"lodash/noop";import{createElement as Su,useEffect as XS,useRef as WG}from"react";var GG=({onValuesChanged:e,clusterDeployment:t,agentClusterInstall:o,clusterImages:r,pullSecret:s,extensionAfter:n})=>{let{values:i}=BG(),a=WG(!0);return XS(()=>e(i,a.current),[e,i]),XS(()=>{a.current=!1},[]),Su($a,{clusterDeployment:t,agentClusterInstall:o,clusterImages:r,pullSecret:s,extensionAfter:n})},zG=({clusterDeployment:e,agentClusterInstall:t,clusterImages:o,formRef:r,onValuesChanged:s,usedClusterNames:n,agents:i,defaultBaseDomain:a,pullSecret:l,extensionAfter:c})=>{let[p,u]=Qp({clusterDeployment:e,agentClusterInstall:t,clusterImages:o,usedClusterNames:n,agents:i,defaultBaseDomain:a,pullSecret:l});return Su(OG,{initialValues:p,validate:Ut(u),innerRef:r,onSubmit:KG},Su(GG,{clusterDeployment:e,agentClusterInstall:t,onValuesChanged:s,clusterImages:o,pullSecret:l,extensionAfter:c}))},UG=zG;import{Fragment as tb,createElement as Ge}from"react";import{CheckCircleIcon as qG}from"@patternfly/react-icons";import{global_palette_green_500 as $G}from"@patternfly/react-tokens/dist/js/global_palette_green_500";import{Bullseye as YG,Button as JS,EmptyState as jG,EmptyStateBody as ZS,EmptyStateIcon as QS,EmptyStateSecondaryActions as XG,Spinner as JG,Title as eb}from"@patternfly/react-core";var ZG=e=>Ge(qG,{...e,color:$G.value}),QG=({agentClusterInstall:e,toDetails:t,toListView:o})=>{let{t:r}=d();return Ge(YG,null,Ge(jG,null,Yh(e)?Ge(tb,null,Ge(QS,{icon:ZG}),Ge(eb,{headingLevel:"h4",size:"lg"},r("ai:Cluster is ready for installation")),Ge(ZS,null,Ge("div",null,r("ai:This cluster has been created and is ready to begin installation.")),Ge("div",null,r("ai:To see the status of the installation see the details page.")))):Ge(tb,null,Ge(QS,{icon:JG}),Ge(eb,{headingLevel:"h4",size:"lg"},r("ai:Preparing cluster installation")),Ge(ZS,null,Ge("div",null,r("ai:This cluster is in the process of getting ready to start installation.")),Ge("div",null,r("ai:If you exit this flow you can see its status in the list view or details page.")))),Ge(XG,null,Ge(JS,{variant:"primary",onClick:t},r("ai:See cluster details")),Ge(JS,{variant:"link",onClick:o},r("ai:Go to cluster list")))))},ez=QG;import{createElement as bu,useMemo as ob}from"react";import{ConnectedIcon as tz}from"@patternfly/react-icons";var oz=()=>{let{t:e}=d();return bu(qe,{icon:tz,title:e("ai:Waiting for hosts..."),content:e("ai:Hosts may take a few minutes to appear here after booting.")})},rz=({agents:e,agentClusterInstall:t,className:o,onUnbindHost:r})=>{let{t:s}=d(),n=ob(()=>[t],[t]),[i,a,l]=It({agents:e,agentClusterInstalls:n},{onUnbindHost:r}),c=ob(()=>[rr(s,a.onEditHost),Eo(s),Lt({agents:e,t:s}),Is(e,s),Kh(s),Fo,wo,Do],[e,a,s]),p=st(e.length);return bu(rt,{hosts:i,content:c,actionResolver:l,className:o,ExpandComponent:No,...p},bu(oz,null))},sz=rz;import{Formik as mz}from"formik";import dz from"lodash/noop";import{createElement as ab,useMemo as ib}from"react";import{object as yz}from"yup";import{useMemo as iz}from"react";var nz=e=>e.find(t=>t.metadata?.labels?.["hypershift.openshift.io/supported-versions"]==="true"),rb=(e,t)=>iz(()=>{let o=or(e),r=t?.data?.["supported-versions"];if(r)try{let s=JSON.parse(r).versions;return o.filter(n=>s.find(i=>n.version.startsWith(i)))}catch(s){console.error("Could not parse supported versions config map value.",U(s))}return o},[e,t]);import{Form as az}from"@patternfly/react-core";import{useFormikContext as lz}from"formik";import{createElement as Ms,useEffect as uz,useRef as pz}from"react";import{useEffect as vu,useRef as sb}from"react";var Rs=({values:e,onValuesChanged:t})=>{let o=sb(!0);vu(()=>t(e,o.current),[t,e]),vu(()=>{o.current=!1},[]);let r=sb();vu(()=>{r.current?.focus()},[])};var cz=({onValuesChanged:e,extensionAfter:t,ocpVersions:o})=>{let{values:r}=lz();Rs({values:r,onValuesChanged:e});let s=pz();uz(()=>{s.current?.focus()},[]);let{t:n}=d();return Ms(az,null,Ms(X,{ref:s,label:n("ai:Cluster name"),name:"name",placeholder:n("ai:Enter cluster name"),isRequired:!0}),t?.name&&t.name,Ms(X,{label:n("ai:Base domain"),name:"baseDnsDomain",helperText:Ms(qa,{name:r.name,baseDnsDomain:r.baseDnsDomain}),placeholder:"example.com",isRequired:!0}),Ms(fn,{versions:o}),Ms(Sn,null))},nb=cz;var fz=({ocpVersions:e,usedClusterNames:t,initPullSecret:o="",initBaseDomain:r=""})=>{let{t:s}=d(),n=ib(()=>({name:"",openshiftVersion:si(e),pullSecret:o,baseDnsDomain:r}),[]),i=ib(()=>yz({name:ki(s,t),baseDnsDomain:Xs.required("Required"),pullSecret:gr.required("Required.")}),[t,s]);return[n,i]},gz=({usedClusterNames:e,clusterImages:t,onValuesChanged:o,extensionAfter:r,formRef:s,initBaseDomain:n,initPullSecret:i,supportedVersionsCM:a})=>{let l=rb(t,a),[c,p]=fz({ocpVersions:l,usedClusterNames:e,initPullSecret:i,initBaseDomain:n});return ab(mz,{initialValues:c,validationSchema:p,innerRef:s,onSubmit:dz},ab(nb,{onValuesChanged:o,ocpVersions:l,extensionAfter:r}))},hz=gz;import{createElement as qn}from"react";import{array as Qz,lazy as Zz,number as eU,object as gb,string as ol}from"yup";import{Formik as qz}from"formik";import $z from"lodash/noop";import{Stack as Yz,StackItem as fb}from"@patternfly/react-core";import{Fragment as Wz,createElement as Et}from"react";import{FieldArray as Lz,useFormikContext as _z}from"formik";import{PlusCircleIcon as Oz}from"@patternfly/react-icons";import{Alert as Bz,Button as Kz,Form as Gz,Grid as zz,GridItem as tl}from"@patternfly/react-core";import{Button as vz,Divider as Iz,ExpandableSectionToggle as Tz,Flex as xz,FlexItem as Iu,Label as kz,Level as Az,LevelItem as cb,Split as Pz,SplitItem as pb,Stack as Ez,StackItem as ub}from"@patternfly/react-core";import{Fragment as Mz,createElement as be,useEffect as Rz,useMemo as Vz,useState as Hz}from"react";import{TrashIcon as Fz}from"@patternfly/react-icons";import wz from"lodash/isMatch";import{useFormikContext as Dz}from"formik";import{Grid as Cz,GridItem as lb}from"@patternfly/react-core";import{Fragment as bz,createElement as $r}from"react";var Sz=({agents:e,labelName:t,countName:o,maxAgents:r,isEdit:s})=>{let{t:n}=d();return $r(Cz,{hasGutter:!0},!s&&$r(lb,null,$r(Fy,{agents:e,name:t})),$r(lb,null,$r(zo,{label:n("ai:Number of hosts"),idPostfix:"count",name:o,isRequired:!0,minValue:0,maxValue:r,helperText:$r(bz,null,n("ai:Maximum availability {{maxAgents}}",{maxAgents:r})," ",$r(Y,{bodyContent:n("ai:Maximum availability is based on the number of hosts available in a given namespace. The number changes dynamically depending on the filtering labels added above.")}))})))},el=Sz;var Nz=({infraEnvs:e,agents:t,index:o,onRemove:r})=>{let{t:s}=d(),{values:n}=Dz(),{setValue:i}=Fa(`nodePools[${o}].count`),[a,l]=Hz(!0),c=Vz(()=>{let h=e.find(S=>S.metadata?.namespace===n.agentNamespace);return t.filter(S=>fa(h,S))},[e,t,n.agentNamespace]),{agentLabels:p}=n.nodePools[o],u=xo(c),m=u.filter(h=>{let S=p.reduce((v,{key:y,value:b})=>(v[y]=b,v),{});return wz(h.metadata?.labels||{},S)&&!h.spec.clusterDeploymentName?.name&&!h.spec.clusterDeploymentName?.namespace}),f=0;for(let h=0;h<o;h++)f+=n.nodePools[h].count;let g=Math.max(0,Math.min(m.length,u.length-f)),C=n.nodePools[o].count;return Rz(()=>{C>g&&i(g)},[g,i,C]),be(Ez,{hasGutter:!0},be(ub,null,be(Az,{hasGutter:!0},be(cb,null,be(xz,{alignItems:{default:"alignItemsCenter"},spaceItems:{default:"spaceItemsMd"},flexWrap:{default:"wrap"}},be(Iu,null,be(Pz,{className:"ai-node-pool__header"},be(pb,null,be(Tz,{className:"ai-node-pool__expandable-button",isExpanded:a,onToggle:l})),be(pb,null,be(Rl,{name:`nodePools.${o}.name`,isRequired:!0,showErrorMessage:!1})))),!a&&be(Mz,null,be(Iu,null,be(Iz,{isVertical:!0})),be(Iu,null,be(kz,{variant:"outline"},s("ai:{{count}} filtering label",{count:n.nodePools[o].agentLabels.length})))))),o!==0&&be(cb,null,be(vz,{variant:"link",icon:be(Fz,null),onClick:r})))),a&&be(ub,{className:"ai-node-pool__section"},be(el,{agents:c,countName:`nodePools.${o}.count`,labelName:`nodePools.${o}.agentLabels`,maxAgents:g})))},mb=Nz;var Uz=({onValuesChanged:e,infraEnvs:t,agents:o,clusterName:r,initReleaseImage:s})=>{let{values:n}=_z();Rs({values:n,onValuesChanged:e});let{t:i}=d(),a=t.length?t.map(c=>({label:c.metadata?.namespace||"",value:c.metadata?.namespace||""})):[{label:i("ai:No namespace with hosts is available"),value:"NOT_AVAILABLE"}],l=n.nodePools.reduce((c,p)=>(c+=p.count,c),0);return Et(Gz,null,Et(zz,{hasGutter:!0},Et(tl,null,Et(wr,{label:i("ai:Namespace"),name:"agentNamespace",options:a,isRequired:!0,isDisabled:!t.length,labelIcon:Et(Y,{position:"right",bodyContent:i("ai:Choose a namespace from your existing host inventory in order to select hosts for your node pools. The namespace will be composed of 1 or more infrastructure environments. After the cluster is created, a host will become a worker node.")})})),l===0&&Et(tl,null,Et(Bz,{isInline:!0,variant:"warning",title:i("ai:The cluster has 0 hosts. No workloads will be able to run.")})),Et(Lz,{name:"nodePools"},({remove:c,push:p})=>Et(Wz,null,n.nodePools.map((u,m)=>Et(tl,{key:m},Et(mb,{index:m,agents:o,infraEnvs:t,onRemove:()=>c(m)}))),Et(tl,null,Et(Kz,{variant:"link",icon:Et(Oz,null),iconPosition:"right",onClick:()=>{let u=`nodepool-${r}-${Zu(5)}`;p({name:u,count:1,agentLabels:[],releaseImage:s,clusterName:r})}},i("ai:Add Nodepool")))))))},db=Uz;var jz=(e,t,o)=>Zz(r=>gb().shape({agentNamespace:ol().required(o("ai:Required field")),nodePools:Qz().of(gb().shape({name:ol().required(o("ai:Required field")).test(o("ai:Must be unique"),o("ai:Must be unique"),s=>s?r.nodePools.filter(({name:n})=>n===s).length===1&&!t.some(({metadata:n})=>n?.name===s&&n?.namespace===e):!0),clusterName:ol().required(o("ai:Required field")),count:eU(),releaseImage:ol().required(o("ai:Required field"))}).required(o("ai:Required field")))})),Xz=({formRef:e,onValuesChanged:t,infraEnvs:o,agents:r,clusterName:s,initInfraEnv:n,initNodePools:i,initReleaseImage:a,nodePools:l})=>{let{t:c}=d(),p=xo(r),u=o.filter(m=>p.some(f=>f.metadata?.labels?.[dt]===m.metadata?.name&&f.metadata?.namespace===m.metadata?.namespace&&!f.spec.clusterDeploymentName));return qn(Yz,{hasGutter:!0},qn(fb,null,c("ai:Define the quantity of worker nodes and nodepools to create for your cluster. Additional worker nodes and nodepools can be added after the cluster is created.")),qn(fb,null,qn(qz,{initialValues:{agentNamespace:n||u[0]?.metadata?.namespace||"",nodePools:i||[{name:`nodepool-${s}-1`,count:1,agentLabels:[],releaseImage:a,clusterName:s}]},validationSchema:jz(s,l,c),innerRef:e,onSubmit:$z},qn(db,{onValuesChanged:t,infraEnvs:u,agents:r,clusterName:s,initReleaseImage:a}))))},Jz=Xz;import{createElement as Cb}from"react";import{Formik as iU}from"formik";import aU from"lodash/noop";import{lazy as uU,number as dU,object as mU,string as Tu}from"yup";import{createElement as ze}from"react";import{Form as tU,FormGroup as oU,Grid as hb,GridItem as rl}from"@patternfly/react-core";import{useFormikContext as rU}from"formik";import{Address6 as sU}from"ip-address";var nU=({onValuesChanged:e})=>{let{values:t}=rU();Rs({values:t,onValuesChanged:e});let o=sU.isValid(t.clusterNetworkCidr||""),{t:r}=d();return ze(tU,null,ze(oU,{label:r("ai:API server publishing strategy")},ze(hb,{hasGutter:!0},ze(rl,null,ze(pe,{name:"apiPublishingStrategy",label:"LoadBalancer",value:"LoadBalancer",description:r("ai:Exposes the service externally using a cloud provider's load balancer")})),ze(rl,null,ze(pe,{name:"apiPublishingStrategy",label:"NodePort",value:"NodePort",className:"ai-nodeport-fields",description:r("ai:Exposes the service on each node's IP at a static port"),body:t.apiPublishingStrategy==="NodePort"&&ze(hb,{hasGutter:!0},ze(rl,null,ze(X,{isRequired:!0,name:"nodePortAddress",label:r("ai:Host address"),labelIcon:ze(Y,{position:"right",bodyContent:r("ai:Address is the host/ip that the NodePort service is exposed over.")})})),ze(rl,null,ze(zo,{label:r("ai:Host port"),idPostfix:"nodePortPort",name:"nodePortPort",minValue:0,maxValue:65535,labelIcon:ze(Y,{position:"right",bodyContent:r("ai:Port of the NodePort service. If set to 0, the port is dynamically assigned when the service is created.")})})))})))),ze(Dt,{name:"isAdvanced",label:r("ai:Use advanced networking"),className:"ai-advanced-fields",body:t.isAdvanced&&ze(Ya,{isSDNSelectable:!1,isClusterCIDRIPv6:o}),helperText:r("ai:Configure advanced networking properties (e.g. CIDR ranges).")}),ze(Xo,null),ze(jo,{isRequired:!0}))},yb=nU;var lU=e=>uU(t=>mU().shape({sshPublicKey:qt.required(e("ai:Required field")),clusterNetworkCidr:t.isAdvanced?ro(t.serviceNetworkCidr):Tu(),serviceNetworkCidr:t.isAdvanced?ro(t.clusterNetworkCidr):Tu(),clusterNetworkHostPrefix:t.isAdvanced?Vr(t.clusterNetworkCidr):dU(),httpProxy:$t(t,"httpsProxy"),httpsProxy:$t(t,"httpProxy"),noProxy:yr,nodePortAddress:t.apiPublishingStrategy==="NodePort"?yd.required(e("ai:Required field")):Tu()})),cU=({formRef:e,onValuesChanged:t,initialValues:o})=>{let{t:r}=d();return Cb(iU,{initialValues:o,validationSchema:lU(r),innerRef:e,onSubmit:aU},Cb(yb,{onValuesChanged:t}))},pU=cU;import{Fragment as AW,createElement as D,useState as cl}from"react";import{Link as gW}from"react-router-dom";import{Button as hW,Label as yW,Popover as CW,Stack as SW,StackItem as zb}from"@patternfly/react-core";import{PlusCircleIcon as bW}from"@patternfly/react-icons";import{breakWord as tEe,expandable as oEe,sortable as rEe,TableComposable as vW,Tbody as IW,Td as tt,Th as mr,Thead as TW,Tr as Eu}from"@patternfly/react-table";import xW from"classnames";import{Alert as xU,Button as Ib,Modal as kU,ModalBoxBody as AU,ModalBoxFooter as PU,ModalVariant as EU,Spinner as FU,Stack as wU,StackItem as Tb}from"@patternfly/react-core";import{Formik as DU}from"formik";import{Fragment as VU,createElement as Gt,useState as HU}from"react";import{createElement as xe}from"react";import{DescriptionList as xu,DescriptionListDescription as ku,DescriptionListGroup as Au,DescriptionListTerm as Pu,Form as bU,Grid as vU,GridItem as il}from"@patternfly/react-core";import{useFormikContext as IU}from"formik";var Sb=e=>Object.keys(e).map(t=>({key:t,value:e[t]})),sl=e=>e.reduce((t,o)=>(t[o.key]=o.value,t),{});var fU="cluster.x-k8s.io/cluster-name",gU="cluster.x-k8s.io/cloned-from-name",Ls=(e,t,o,r)=>{let s=o.filter(n=>n.metadata?.namespace===`${r.metadata?.namespace||""}-${r.metadata?.name||""}`&&n.metadata?.labels?.[fU]===r.metadata?.name&&n.metadata?.annotations?.[gU]===e.metadata?.name&&n.status?.agentRef?.name&&n.status?.agentRef?.namespace).reduce((n,i)=>(n[i.status?.agentRef?.name||""]=i.status?.agentRef?.namespace,n),{});return t.filter(n=>s[n.metadata?.name||""]===n.metadata?.namespace)};import{CheckCircleIcon as hU,ExclamationCircleIcon as bb,InProgressIcon as vb}from"@patternfly/react-icons";import $n from"react";import{global_palette_green_500 as yU,global_danger_color_100 as CU,global_warning_color_100 as SU}from"@patternfly/react-tokens";var nl=(e,t,o)=>{if(!t.length&&e.spec.replicas)return{type:"pending",icon:$n.createElement(vb,null),text:o("ai:Pending host assignment")};let r=t.map(i=>ve(i));return r.some(({status:i})=>i.key==="error")?{type:"error",icon:$n.createElement(bb,{color:CU.value}),text:o("ai:Error")}:r.some(({status:i})=>["pending-for-input","insufficient","insufficient-unbound","disconnected-unbound","disconnected"].includes(i.key))?{type:"warning",icon:$n.createElement(bb,{color:SU.value}),text:o("ai:Warning")}:e.status?.conditions?.find(({type:i})=>i==="Ready")?.status==="True"?{type:"ok",icon:$n.createElement(hU,{color:yU.value}),text:o("ai:Ready")}:{type:"pending",icon:$n.createElement(vb,null),text:o("ai:Not ready")}};var TU=({agents:e,nodePool:t,hostedCluster:o,agentMachines:r})=>{let{t:s}=d(),{values:n}=IU(),i=!!t&&!!r,a=0,l=xo(e).filter(p=>n.agentLabels.every(({key:u,value:m})=>p.metadata?.labels?.[u]===m)&&!p.spec.clusterDeploymentName),c=In(o.spec.release.image);if(i){let p=Ls(t,e,r,o);a=p.length+l.filter(u=>!p.find(m=>m.metadata?.uid===u.metadata?.uid)).length}else a+=l.length;return xe(bU,null,xe(vU,{hasGutter:!0},xe(il,null,xe(xu,{isHorizontal:!0},xe(Au,null,xe(Pu,null,s("ai:Host namespace")),xe(ku,null,o.spec.platform.agent?.agentNamespace)))),xe(il,null,t?xe(xu,{isHorizontal:!0},xe(Au,null,xe(Pu,null,s("ai:Nodepool")),xe(ku,null,t.metadata?.name))):xe(X,{name:"nodePoolName",isRequired:!0,label:s("ai:Nodepool name")})),xe(il,null,xe(el,{agents:e,countName:"count",labelName:"agentLabels",maxAgents:a,isEdit:i})),xe(il,null,xe(xu,{isHorizontal:!0},xe(Au,null,xe(Pu,null,s("ai:OpenShift version")),xe(ku,null,c))))))},al=TU;var NU=({onClose:e,nodePool:t,hostedCluster:o,agents:r,onSubmit:s,agentMachines:n})=>{let{t:i}=d(),[a,l]=HU(),c=r.filter(u=>u.metadata?.namespace===o.spec.platform.agent?.agentNamespace),p=async u=>{l(void 0);let m=[];u.count!==t.spec.replicas&&m.push({op:"replace",value:u.count,path:"/spec/replicas"}),m.push({op:"replace",value:sl(u.agentLabels),path:"/spec/platform/agent/agentLabelSelector/matchLabels"});try{await s(t,m),e()}catch(f){l(U(f))}};return Gt(kU,{"aria-label":"Manage hosts dialog",title:i("ai:Manage hosts"),isOpen:!0,onClose:e,variant:EU.medium,hasNoBodyWrapper:!0},Gt(DU,{initialValues:{nodePoolName:t.metadata?.name||"",agentLabels:Sb(t.spec.platform?.agent?.agentLabelSelector?.matchLabels||{}),count:t.spec.replicas},isInitialValid:!1,onSubmit:p},({isSubmitting:u,isValid:m,submitForm:f})=>Gt(VU,null,Gt(AU,null,Gt(wU,{hasGutter:!0},Gt(Tb,null,Gt(al,{agents:c,agentMachines:n,nodePool:t,hostedCluster:o})),a&&Gt(Tb,null,Gt(xU,{variant:"danger",title:a,isInline:!0})))),Gt(PU,null,Gt(Ib,{onClick:f,isDisabled:!m||u,icon:u?Gt(FU,{size:"md"}):void 0},i("ai:Update")),Gt(Ib,{variant:"link",onClick:e},i("ai:Cancel"))))))},xb=NU;import{Fragment as WU,createElement as zt,useState as UU}from"react";import{Alert as RU,Button as kb,Modal as MU,ModalBoxBody as LU,ModalBoxFooter as _U,ModalVariant as OU,Spinner as BU,Stack as KU,StackItem as Ab}from"@patternfly/react-core";import{Formik as GU}from"formik";var zU=({onSubmit:e,onClose:t,agents:o,hostedCluster:r,agentsNamespace:s})=>{let{t:n}=d(),[i,a]=UU(),l=o.filter(p=>p.metadata?.namespace===s),c=async p=>{a(void 0);let u={apiVersion:"hypershift.openshift.io/v1alpha1",kind:"NodePool",metadata:{name:p.nodePoolName,namespace:r.metadata?.namespace},spec:{clusterName:r.metadata?.name||"",replicas:p.count,management:{autoRepair:!1,upgradeType:"InPlace"},platform:{type:"Agent",agent:{agentLabelSelector:{matchLabels:sl(p.agentLabels)}}},release:{image:r.spec.release.image}}};try{await e(u),t()}catch(m){a(U(m))}};return zt(MU,{"aria-label":"add node pool dialog",title:n("ai:Add Nodepool"),isOpen:!0,onClose:t,variant:OU.medium,hasNoBodyWrapper:!0},zt(GU,{initialValues:{nodePoolName:`nodepool-${r.metadata?.name||""}-${Math.floor(Math.random()*100)}`,agentLabels:[],count:1},onSubmit:c},({isSubmitting:p,isValid:u,submitForm:m})=>zt(WU,null,zt(LU,null,zt(KU,{hasGutter:!0},zt(Ab,null,zt(al,{agents:l,hostedCluster:r})),i&&zt(Ab,null,zt(RU,{variant:"danger",isInline:!0,title:i})))),zt(_U,null,zt(kb,{onClick:m,isDisabled:!u||p,icon:p?zt(BU,{size:"md"}):void 0},n("ai:Create")),zt(kb,{variant:"link",onClick:t},n("ai:Cancel"))))))},Pb=zU;import{createElement as Oo,useState as Db}from"react";import{Alert as qU,Button as Eb,Modal as $U,ModalBoxBody as YU,ModalBoxFooter as jU,ModalVariant as XU,Spinner as JU,Stack as ZU,StackItem as Fb}from"@patternfly/react-core";var QU=({onClose:e,onRemove:t,nodePool:o})=>{let{t:r}=d(),[s,n]=Db(!1),[i,a]=Db();return Oo($U,{"aria-label":"remove node pool dialog",title:r("ai:Remove nodepool"),isOpen:!0,onClose:e,variant:XU.small,hasNoBodyWrapper:!0,titleIconVariant:"warning"},Oo(YU,null,Oo(ZU,{hasGutter:!0},Oo(Fb,null,r("ai:Removing {{name}} will remove the association with {{count}} host. These hosts will become available for other nodepools.",{name:o.metadata?.name||"",count:o.spec.replicas})),i&&Oo(Fb,null,Oo(qU,{variant:"danger",isInline:!0,title:i})))),Oo(jU,null,Oo(Eb,{onClick:()=>{(async()=>{try{a(void 0),n(!0),await t(o),e()}catch(c){a(U(c))}finally{n(!1)}})()},isDisabled:s,variant:"danger",icon:s?Oo(JU,{size:"md"}):void 0},r("ai:Remove")),Oo(Eb,{variant:"link",onClick:e},r("ai:Cancel"))))},wb=QU;import{Alert as Ob,Button as pW,Flex as uW,FlexItem as Bb,Popover as mW,Stack as dW,StackItem as Yn}from"@patternfly/react-core";import{Fragment as Gb,createElement as Ve}from"react";import{Flex as eW,FlexItem as Nb}from"@patternfly/react-core";import{CheckCircleIcon as Hb,ExclamationCircleIcon as tW,InProgressIcon as Vb,UnknownIcon as oW}from"@patternfly/react-icons";import{TableComposable as rW,Tbody as sW,Td as Rb,Th as Mb,Thead as nW,Tr as Lb}from"@patternfly/react-table";import{global_palette_green_500 as _b,global_danger_color_100 as iW}from"@patternfly/react-tokens";import{createElement as Ue}from"react";var aW=["Progressing"],lW=["Degraded"],cW=({conditions:e,isDone:t})=>{let{t:o}=d();return Ue(rW,{variant:"compact"},Ue(nW,null,Ue(Lb,null,Ue(Mb,{width:25},o("ai:Condition")),Ue(Mb,null,o("ai:Message")))),Ue(sW,null,e?.filter(({type:r})=>!aW.includes(r)).map(r=>{let s=Ue(oW,null),{okStatus:n,nokStatus:i}=lW.includes(r.type)?{okStatus:"False",nokStatus:"True"}:{okStatus:"True",nokStatus:"False"};return r.type.endsWith("Progressing")?s=r.status===n?Ue(Vb,null):Ue(Hb,{color:_b.value}):r.status===n?s=Ue(Hb,{color:_b.value}):r.status===i&&(s=t?Ue(tW,{color:iW.value,size:"sm"}):Ue(Vb,null)),Ue(Lb,{key:r.type,className:"ai-conditions-table__no-border"},Ue(Rb,null,Ue(eW,{alignItems:{default:"alignItemsCenter"},spaceItems:{default:"spaceItemsXs"}},Ue(Nb,null,s),Ue(Nb,null,r.type))),Ue(Rb,{span:8},r.message))})))},ll=cW;var fW=({nodePool:e,agents:t})=>{let{t:o}=d(),r=nl(e,t,o);return Ve(uW,{alignItems:{default:"alignItemsCenter"},spaceItems:{default:"spaceItemsXs"}},Ve(Bb,null,r.icon),Ve(Bb,null,Ve(mW,{"aria-label":"node pool status",headerContent:Ve("div",null,o("ai:Nodepool conditions")),hasAutoWidth:!0,showClose:!1,bodyContent:Ve(dW,{hasGutter:!0},r.type==="error"&&Ve(Gb,null,Ve(Yn,null,Ve(Kr,null)),Ve(Yn,null,Ve(Ob,{variant:"danger",isInline:!0,title:o("ai:Some hosts are in an error state.")}))),r.type==="warning"&&Ve(Gb,null,Ve(Yn,null,Ve(Kr,null)),Ve(Yn,null,Ve(Ob,{variant:"warning",isInline:!0,title:o("ai:Some hosts are in a warning state.")}))),Ve(Yn,null,Ve(ll,{conditions:e.status?.conditions,isDone:!0})))},Ve(pW,{variant:"link",isInline:!0},r.text))))},Kb=fW;var kW=({nodePools:e,agents:t,onRemoveNodePool:o,onUpdateNodePool:r,hostedCluster:s,onAddNodePool:n,agentMachines:i,supportedVersionsCM:a})=>{let{t:l}=d(),[c,p]=cl(),[u,m]=cl(!1),[f,g]=cl(),[C,h]=cl([]),S=e.find(y=>y.metadata?.uid===c),v=e.find(y=>y.metadata?.uid===f);return D(AW,null,D(SW,{hasGutter:!0},D(zb,null,D(vW,{variant:"compact"},D(TW,null,D(Eu,null,D(mr,null),D(mr,null,l("ai:Nodepool")),D(mr,null,l("ai:Hostname")),D(mr,null,l("ai:Status")),D(mr,null,l("ai:Infrastructure env")),D(mr,null,l("ai:CPU cores")),D(mr,null,l("ai:Memory")),D(mr,null,l("ai:Total storage")),D(mr,null))),D(IW,null,e.reduce((y,b)=>{let I=Ls(b,t,i,s),T=C.some(k=>k===b.metadata?.uid),x=I.reduce((k,A)=>{let{memory:H,cores:P,disk:R}=$o(A.status?.inventory||{});return k.memory+=+H.sortableValue,k.cores+=+P.sortableValue,k.disk+=+R.sortableValue,k},{memory:0,cores:0,disk:0});return y.push(D(Eu,{key:b.metadata?.uid,className:T?"ai-nodepools-table__no-border":void 0},D(tt,{expand:I.length?{isExpanded:T,rowIndex:0,onToggle:()=>h(T?C.filter(k=>k!==b.metadata?.uid):[...C,b.metadata?.uid||""])}:void 0}),D(tt,null,b.metadata?.name),D(tt,null,D(CW,{"aria-label":"node pool hosts",hasAutoWidth:!0,bodyContent:l("ai:{{agents}} of {{count}} host requested is available",{agents:I.length,count:b.spec.replicas})},D(yW,{variant:"outline"},l("ai:{{count}} host requested",{count:b.spec.replicas})))),D(tt,null,D(Kb,{nodePool:b,agents:I})),D(tt,null,"-"),D(tt,null,I.length?x.cores:"-"),D(tt,null,I.length?ct(x.memory,2,"iec"):"-"),D(tt,null,I.length?ct(x.disk,2,"si"):"-"),D(tt,{actions:{items:[{title:l("ai:Manage hosts"),onClick:()=>p(b.metadata?.uid)},{title:l("ai:Remove Nodepool"),onClick:()=>g(b.metadata?.uid)}]}}))),C.find(k=>k===b.metadata?.uid)&&I.forEach((k,A)=>{let{memory:H,cores:P,disk:R}=$o(k.status?.inventory||{});y.push(D(Eu,{key:k.metadata?.uid,className:xW({"ai-nodepools-table__no-border":A<I.length-1})},D(tt,null),D(tt,null),D(tt,null,k.spec.hostname||k.status?.inventory.hostname),D(tt,null,D(Gr,{agent:k,isDay2:!0})),D(tt,null,D(gW,{to:`/multicloud/infrastructure/environments/details/${k.metadata?.namespace||""}/${k.metadata?.labels?.[dt]||""}`},k.metadata?.labels?.[dt])),D(tt,null,P.title),D(tt,null,H.title),D(tt,null,R.title)))}),y},[])))),D(zb,null,D(hW,{variant:"link",icon:D(bW,null),iconPosition:"right",onClick:()=>m(!0)},l("ai:Add Nodepool")))),S&&D(xb,{hostedCluster:s,agents:t,nodePool:S,onClose:()=>p(void 0),onSubmit:r,agentMachines:i}),u&&D(Pb,{onClose:()=>m(!1),onSubmit:n,agentsNamespace:s.spec.platform.agent?.agentNamespace||"",agents:t,hostedCluster:s,supportedVersionsCM:a}),v&&D(wb,{onClose:()=>g(void 0),onRemove:o,nodePool:v}))},Fu=kW;import{createElement as Yr}from"react";import{ProgressStepper as ZW,Stack as QW,StackItem as Yb}from"@patternfly/react-core";import PW from"react";import{saveAs as EW}from"file-saver";import{Button as FW,ButtonVariant as wW}from"@patternfly/react-core";var DW=({hostedCluster:e,fetchSecret:t})=>{let{t:o}=d(),r=async()=>{let s=e.status?.kubeconfig?.name,n=e.metadata?.namespace;if(s&&n)try{let a=(await t(s,n)).data?.kubeconfig;if(!a)throw new Error("Kubeconfig is empty.");let l=new Blob([atob(a)],{type:"text/plain;charset=utf-8"});EW(l,"kubeconfig.yaml")}catch(i){console.error("Failed to fetch kubeconfig secret.",i)}};return PW.createElement(FW,{variant:wW.secondary,onClick:r,isDisabled:!e.status?.kubeconfig?.name},o("ai:Download kubeconfig"))},Ub=DW;import{Fragment as GW,createElement as eo,useState as KW}from"react";import{ExpandableSectionToggle as NW,ProgressStep as HW,Spinner as VW,Stack as RW,StackItem as wu}from"@patternfly/react-core";import{global_palette_green_500 as MW,global_danger_color_100 as LW}from"@patternfly/react-tokens";import{CheckCircleIcon as _W,ExclamationCircleIcon as OW}from"@patternfly/react-icons";var BW=({hostedCluster:e,launchToOCP:t})=>{let{t:o}=d(),[r,s]=KW(!0),n=e.status?.conditions?.find(l=>l.type==="Available"),i=e.status?.conditions?.find(l=>l.type==="Progressing"),a=eo(VW,{size:"md"});return i?.status==="False"&&(a=n?.status==="True"?eo(_W,{color:MW.value}):eo(OW,{color:LW.value,size:"sm"})),eo(HW,{icon:a},eo(RW,{hasGutter:!0},eo(wu,null,eo(NW,{isExpanded:r,onToggle:s,className:"ai-progress-item__header"},o("ai:Control plane"))),r&&eo(GW,null,eo(wu,{className:"ai-progress-item__body"},eo(ll,{conditions:e.status?.conditions,isDone:i?.status==="False"})),eo(wu,{className:"ai-progress-item__body"},eo(lt,{onClick:()=>t(`k8s/ns/${e.metadata?.namespace||""}-${e.metadata?.name||""}/pods`,!0)},o("ai:Control plane pods"))))))},Wb=BW;import{createElement as Er,useState as JW}from"react";import{ExpandableSectionToggle as zW,ProgressStep as UW,Spinner as WW,Stack as qW,StackItem as qb}from"@patternfly/react-core";import{global_palette_green_500 as $W}from"@patternfly/react-tokens";import{CheckCircleIcon as YW}from"@patternfly/react-icons";var jW=(e,t,o,r,s)=>{let n=o.reduce((a,l)=>{let c=Ls(l,r,e,t),p=nl(l,c,s);return a[l.metadata?.uid||""]={agents:c,status:p},a},{}),i={type:"ok",icon:Er(YW,{color:$W.value})};for(let a in n){let{status:l}=n[a];if(l.type==="error"){i.type="error",i.icon=l.icon;break}l.type==="warning"&&(i.type="warning",i.icon=l.icon),l.type==="pending"&&i.type!=="warning"&&(i.type="pending",i.icon=Er(WW,{size:"md"}))}return i.icon},XW=({nodePools:e,agentMachines:t,hostedCluster:o,agents:r,...s})=>{let{t:n}=d(),[i,a]=JW(!0);return Er(UW,{icon:jW(t,o,e,r,n)},Er(qW,{hasGutter:!0},Er(qb,null,Er(zW,{isExpanded:i,onToggle:a,className:"ai-progress-item__header"},n("ai:Cluster nodepools"))),i&&Er(qb,{className:"ai-progress-item__body"},Er(Fu,{nodePools:e,agents:r,hostedCluster:o,agentMachines:t,...s}))))},$b=XW;var e1=({hostedCluster:e,fetchSecret:t,launchToOCP:o,...r})=>Yr(QW,{hasGutter:!0},Yr(Yb,null,Yr(ZW,{isVertical:!0},Yr(Wb,{hostedCluster:e,launchToOCP:o}),Yr($b,{hostedCluster:e,...r}))),Yr(Yb,null,Yr(Ub,{hostedCluster:e,fetchSecret:t}))),t1=e1;export{UG as ACMClusterDeploymentDetailsStep,hu as ACMFeatureSupportLevelProvider,oY as ACM_ENABLED_FEATURES,vn as AGENT_AUTO_SELECT_ANNOTATION_KEY,Rt as AGENT_BMH_NAME_LABEL_KEY,de as AGENT_LOCATION_LABEL_KEY,Or as AGENT_NOLOCATION_VALUE,bn as AGENT_SELECTOR,kp as AddBmcHostModal,Ep as AddBmcHostYamlModal,sx as AddButton,Kp as AddHostDropdown,fp as AddHostModal,pa as AdditionalNTPSourcesDialogToggle,Ws as AdditionalNTPSourcesField,OO as AgentAlerts,sz as AgentTable,oc as Alerts,Ud as AlertsContextProvider,Fn as BMCForm,er as BMH_HOSTNAME_ANNOTATION,uh as CPU_ARCHITECTURE_ANNOTATION_KEY,Sc as ChangeHostnameAction,Dt as CheckboxField,Sde as CimConfigProgressAlert,afe as CimConfigurationModal,mfe as CimIsMissingAlert,rde as CimStorageMissingAlert,Oc as ClusterCredentials,ez as ClusterDeploymentCreateProgress,Up as ClusterDeploymentCredentials,BB as ClusterDeploymentDetails,qp as ClusterDeploymentKubeconfigDownload,FK as ClusterDeploymentProgress,FB as ClusterDeploymentValidationsOverview,NG as ClusterDeploymentWizard,jl as ClusterEventsList,Yl as ClusterEventsToolbar,_G as ClusterInstallationError,t1 as ClusterInstallationProgress,Lc as ClusterProgress,Mc as ClusterPropertiesList,Nu as ClusterVersionConditionType,Hl as CodeField,NP as ConfirmationModal,Ae as CpuArchitecture,bc as DeleteHostAction,$ as DetailItem,ho as DetailList,El as DeveloperPreview,eh as DiscoveryImageConfigForm,yn as DiscoveryInstructions,Sr as DiscoveryTroubleshootingModal,fN as DiscoveryTroubleshootingModalContent,Cn as DownloadIso,sN as DownloadIsoModal,En as EditAgentModal,yp as EditBMHModal,gc as EditHostModal,qe as EmptyState,NH as EnvironmentDetails,xs as EnvironmentErrors,Rr as ErrorState,Qs as EventsList,Jl as EventsModal,wi as EventsModalButton,lt as ExternalLink,Ti as FORBIDDEN_HOSTNAMES,Nm as FeatureGateContext,nY as FeatureGateContextProvider,tp as FormatDiskWarning,Il as FormikAutoSave,ql as FormikStaticField,rc as GridGap,K as HelperText,yc as HostRequirements,bf as HostRequirementsList,Oi as HostStatus,nf as HostValidationGroups,hz as HostedClusterDetailsStep,Jz as HostedClusterHostsStep,pU as HostedClusterNetworkStep,_r as Hostname,lf as HostsCount,oa as HostsNotShowingLink,dt as INFRAENV_AGENTINSTALL_LABEL_KEY,ph as INFRAENV_GENERATED_AI_FLOW,g6 as IPv4ValidationSchema,HN as InfoAndTroubleshootingNotification,AO as InfraEnvAgentTable,_ge as InfraEnvFormPage,RO as InfraEnvHostsTabAgentsWarning,X as InputField,Kc as KubeconfigDownload,wp as LOCAL_STORAGE_ID_LAST_UPDATE_TIMESTAMP,bd as LabelField,Ul as LabelValue,pt as LoadingState,LC as LogsDownloadButton,Dn as MassApproveAgentModal,dn as MassChangeHostnameModal,xp as MassDeleteAgentModal,Ec as MassDeleteHostModal,Lr as ModalProgress,Bs as MultiSelectField,cu as NetworkConfiguration,Fu as NodePoolsTable,pY as NonPlatformIntegrations,zo as NumberInputField,Hm as OcmCpuArchitecture,fn as OpenShiftVersionSelect,Rl as PencilEditField,Y as PopoverIcon,Us as PreviewBadgePosition,Ye as PrismCode,Xo as ProxyFields,gn as ProxyInputFields,fr as PullSecretField,Al as PullSecretInfo,MN as REQUIRED_AGENT_CONDITION_TYPES,pe as RadioField,Gd as Reducers,QT as RemovableField,no as RenderIf,_m as ResourceUIState,Wt as RichInputField,mc as RoleCell,uc as RoleDropdown,rY as SINGLE_CLUSTER_ENABLED_FEATURES,zc as SNOControlGroup,Gc as SNODisclaimer,sY as STANDALONE_DEPLOYMENT_ENABLED_FEATURES,RL as ScaleUpModal,qc as SecurityFields,wr as SelectField,_d as SimpleDropdown,Nl as SingleNodeCheckbox,Td as StaticField,Jc as StaticIPInfo,us as StaticTextField,cY as SupportedCpuArchitectures,Vm as SupportedPlatformIntegrations,Ks as SwitchField,mn as TableToolbar,Fl as TechnologyPreview,Ko as TextAreaField,yI as TextAreaSecretField,Ei as ToolbarButton,Ok as ToolbarSecondaryGroup,Fk as ToolbarText,Rk as ToolbarrProgress,vl as UploadField,jo as UploadSSH,Cc as VMRebootConfigurationInfo,Md as WizardFooter,Wo as WizardNavItem,pd as acmClusterNameValidationMessages,$u as allClusterWizardSoftValidationIds,tm as allSubnetsIPv4,bx as areOnlySoftValidationsFailing,ud as bmcAddressValidationMessages,Cd as bmcAddressValidationSchema,e3 as breakWord,q2 as canBeDualStack,k2 as canDelete,x2 as canDisable,D2 as canDownloadClusterLogs,Cx as canDownloadHostLogs,ed as canDownloadKubeconfig,F2 as canEditDisks,Qm as canEditHost,E2 as canEditHostname,P2 as canEditRole,T2 as canEnable,td as canHostnameBeChanged,w2 as canInstallHost,ju as canNextFromHostDiscoveryStep,Yu as canNextFromHostSelectionStep,Xu as canNextFromNetworkingStep,Ju as canNextFromReviewStep,A2 as canReset,ld as canSelectNetworkTypeSDN,Nt as clusterNameValidationMessages,W2 as clusterNetworksEqual,m6 as clusterNetworksValidationSchema,ml as convertOCPtoCIMResourceHeader,_u as convertToBaseValue,yd as day2ApiVipValidationSchema,Xs as dnsNameValidationSchema,f6 as dualStackValidationSchema,ct as fileSize,nd as filterByHostname,X2 as filterValidationsInfoByGroup,cd as filterValidationsInfoByStatus,Pd as fitContent,z1 as formatBytesAsGiB,G1 as formatBytesAsMiB,U1 as formatCores,nV as formatEventsData,hl as formatToFractionalDigits,Je as getAICluster,tr as getAIHosts,zge as getAgentClusterInstall,xh as getAgentClusterInstallOfAgent,zse as getAgentLocationMatchExpression,dh as getAgentProgress,mh as getAgentRole,na as getAgentSelectorFieldsFromAnnotations,ve as getAgentStatus,Jre as getAgentStatusFromConditions,xo as getAgentsForSelection,ha as getAgentsHostsNames,Ase as getAnnotationsFromAgentSelector,Qo as getBMHStatus,cne as getBareMetalHost,lne as getBareMetalHostCredentialsSecret,Pse as getClusterApiUrl,vr as getClusterDeploymentCpuArchitecture,Gge as getClusterDeploymentForInfraEnv,Ch as getClusterDeploymentResource,fh as getClusterNameOfAgent,vh as getClusterProperties,Xe as getClusterStatus,jre as getClusterStatusFromConditions,xd as getColSpanRow,bh as getConsoleUrl,Ose as getCurrentClusterVersion,Ad as getDateTimeCell,Ys as getDefaultNetworkType,si as getDefaultOpenShiftVersion,dq as getDuplicates,Ll as getEnabledHostCount,ns as getEnabledHosts,Mse as getFailingAgentConditions,Sx as getFailingHostValidations,Ih as getFailingResourceConditions,M as getFieldId,fq as getFormikArrayItemFieldName,Qu as getFormikErrorFields,gq as getFormikObjectItemFieldName,ya as getGridSpans,sd as getHardwareTypeText,Y2 as getHostDiscoveryInitialValues,ch as getHostNetworks,Ml as getHostProgress,Si as getHostProgressStageNumber,$s as getHostProgressStages,od as getHostRole,is as getHostSubnets,We as getHostname,ut as getHumanizedDateTime,Ix as getHumanizedSubnet,vx as getHumanizedSubnetRange,G4 as getHumanizedTime,Wge as getInfraEnv,ra as getInfraEnvDocs,br as getInfraEnvNameOfAgent,Me as getInventory,lo as getIsSNOCluster,MC as getLabels,Gse as getLocationsFromMatchExpressions,Th as getMajorMinorVersion,dhe as getNetworkConfigurationValidationSchema,_C as getNetworkInitialValues,or as getOCPVersions,aae as getOnFetchEventsHandler,rd as getReadyHostCount,Ut as getRichTextValidation,Uge as getSecret,ia as getSelectedVersion,j2 as getStorageInitialValues,aa as getStorageSizeGiB,Hr as getSubnet,id as getSubnetFromMachineNetworkCidr,nz as getSupportedCM,Ry as getTotalCompute,_l as getTotalHostCount,Vu as getType,In as getVersionFromReleaseImage,la as getWarningMessage,Zo as getWizardStepAgentStatus,Lm as hasProp,Vr as hostPrefixValidationSchema,wc as hostStatus,js as hostSubnetValidationSchema,rse as hostToAgent,mo as hostnameValidationMessages,$t as httpProxyValidationSchema,D1 as humanizeBinaryBytes,w1 as humanizeBinaryBytesWithoutB,_1 as humanizeCpuCores,N1 as humanizeDecimalBytes,H1 as humanizeDecimalBytesPerSec,R1 as humanizeNumber,M1 as humanizeNumberSI,V1 as humanizePacketsPerSec,O1 as humanizePercentage,L1 as humanizeSeconds,ro as ipBlockValidationSchema,gd as ipValidationSchema,ad as isAdvNetworkConf,ga as isAgentOfCluster,fa as isAgentOfInfraEnv,_a as isCIMConfigProgressing,mC as isCIMConfigured,cde as isCIMEnabled,vs as isCIMFlow,Xre as isDraft,$2 as isDualStack,$h as isInstallationInProgress,Yh as isInstallationReady,Mm as isNonNullObject,Rm as isPreviewSupportLevel,pde as isStorageConfigured,vi as isSubnetInIPv6,hq as labelsToArray,Ii as locationValidationMessages,Sd as locationValidationSchema,Ai as macAddressValidationSchema,u6 as machineNetworksValidationSchema,as as nameValidationMessages,ki as nameValidationSchema,Ed as noPadding,yr as noProxyValidationSchema,t3 as nowrap,hd as ntpSourceValidationSchema,Z2 as ocmClusterNameValidationMessages,em as parseStringLabels,gr as pullSecretValidationSchema,Ou as removeProtocolFromURL,dC as resetCimConfigProgressAlertSuccessStatus,hr as richNameValidationSchema,kd as rowSorter,K1 as secondsToNanoSeconds,d6 as serviceNetworkValidationSchema,U2 as serviceNetworksEqual,Wh as shouldShowClusterCredentials,nae as shouldShowClusterDeploymentValidationOverview,iae as shouldShowClusterInstallationError,qh as shouldShowClusterInstallationProgress,qt as sshPublicKeyValidationSchema,te as stringToJSON,so as toSentence,po as trimCommaSeparatedList,Fr as trimSshPublicKey,o3 as truncate,Q2 as uniqueOcmClusterNameValidationMessages,B1 as units,yt as useAlerts,di as useFeature,AI as useFormikAutoSave,ti as validate,Lx as vipRangeValidationSchema,ls as vipValidationSchema,to as wizardStepsValidationsMap,r3 as wrappable};
|
|
25
|
-
//# sourceMappingURL=index.js.map
|