in tasks/Node/src/tasks/AzureDtlCreateCustomImage/task.ts [33:78]
function getCustomImageProperties(sourceVmId: string, osType: string, linuxOsState: string, windowsOsState: string): DevTestLabsModels.CustomImagePropertiesFromVm {
const properties = Object.create(DevTestLabsMappers.CustomImagePropertiesFromVm);
properties.sourceVmId = sourceVmId;
switch (osType) {
case 'Linux':
const linuxOsInfo: DevTestLabsModels.LinuxOsInfo = Object.create(DevTestLabsMappers.LinuxOsInfo);
switch (linuxOsState) {
case ('NonDeprovisioned'):
linuxOsInfo.linuxOsState = "NonDeprovisioned";
break;
case ('DeprovisionRequested'):
linuxOsInfo.linuxOsState = "DeprovisionRequested";
break;
case ('DeprovisionApplied'):
linuxOsInfo.linuxOsState = "DeprovisionApplied";
break;
default:
throw `Invalid Linux OS State: ${linuxOsState ? linuxOsState : 'undefined'}. Expecting on of 'NonDeprovisioned' or 'DeprovisionRequested' or 'DeprovisionApplied'.`;
}
properties.linuxOsInfo = linuxOsInfo;
break;
case 'Windows':
const windowsOsInfo: DevTestLabsModels.WindowsOsInfo = Object.create(DevTestLabsMappers.WindowsOsInfo);
switch (windowsOsState) {
case ('SysprepRequested'):
windowsOsInfo.windowsOsState = "SysprepRequested";
break;
case ('NonSysprepped'):
windowsOsInfo.windowsOsState = "NonSysprepped";
break;
case ('SysprepApplied'):
windowsOsInfo.windowsOsState = "SysprepApplied";
break;
default:
throw `Invalid Windows OS State: ${windowsOsState ? windowsOsState : 'undefined'}. Expecting one of 'SysprepRequested' or 'NonSysprepped' or 'SysprepApplied'.`;
}
properties.windowsOsInfo = windowsOsInfo;
break;
default:
throw `Invalid OS Type: ${osType ? osType : 'undefined'}. Expecting one of 'Linux' or 'Windows'.`;
}
return properties;
}