diff --git a/frontend/packages/vsphere-plugin/src/components/VSphereConnectionForm.tsx b/frontend/packages/vsphere-plugin/src/components/VSphereConnectionForm.tsx index 5e0bd8c0aaa..762dc40a571 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 8148af25f3c..6f32036ed38 100644 --- a/frontend/packages/vsphere-plugin/src/components/VSphereConnectionModal.tsx +++ b/frontend/packages/vsphere-plugin/src/components/VSphereConnectionModal.tsx @@ -123,7 +123,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 965835b76b0..90b2eb84173 100644 --- a/frontend/packages/vsphere-plugin/src/components/persist.ts +++ b/frontend/packages/vsphere-plugin/src/components/persist.ts @@ -509,7 +509,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,