diff --git a/frontend/packages/vsphere-plugin/src/components/VSphereConnectionForm.tsx b/frontend/packages/vsphere-plugin/src/components/VSphereConnectionForm.tsx index 1b18dbb5a6..991b8b7218 100644 --- a/frontend/packages/vsphere-plugin/src/components/VSphereConnectionForm.tsx +++ b/frontend/packages/vsphere-plugin/src/components/VSphereConnectionForm.tsx @@ -141,7 +141,6 @@ export const VSphereConnectionForm = () => { } /> } - isRequired fieldId="connection-folder" > diff --git a/frontend/packages/vsphere-plugin/src/components/VSphereConnectionModal.tsx b/frontend/packages/vsphere-plugin/src/components/VSphereConnectionModal.tsx index 1e8696e390..6bd57be48d 100644 --- a/frontend/packages/vsphere-plugin/src/components/VSphereConnectionModal.tsx +++ b/frontend/packages/vsphere-plugin/src/components/VSphereConnectionModal.tsx @@ -121,7 +121,6 @@ const validationSchema = Yup.lazy((values: ConnectionFormFormikValues) => ) .matches(datastoreRegex, `Must match regex ${datastoreRegex}`), folder: Yup.string() - .required('Virtual Machine Folder is required.') .test('Correct prefix', `Must start with /${values.datacenter}/vm/`, (value: string) => { if (!value || !values.datacenter) { return true; diff --git a/frontend/packages/vsphere-plugin/src/components/persist.ts b/frontend/packages/vsphere-plugin/src/components/persist.ts index 4b47866eeb..790210ec65 100644 --- a/frontend/packages/vsphere-plugin/src/components/persist.ts +++ b/frontend/packages/vsphere-plugin/src/components/persist.ts @@ -503,7 +503,12 @@ const getPersistInfrastructureOp = async ( if (values.network) { vCenterDomainCfg.topology.networks = [values.network]; } - vCenterDomainCfg.topology.folder = values.folder; + // Folder is optional, so we need to handle the case where it's unset + if (values.folder) { + vCenterDomainCfg.topology.folder = values.folder; + } else { + delete vCenterDomainCfg.topology.folder; + } vCenterDomainCfg.topology.resourcePool = getInfrastructureResourcePoolPath( values,