async function ensureVmExists()

in tasks/Node/src/tasks/AzureDtlDeleteVM/task.ts [10:29]


async function ensureVmExists(dtlClient: DevTestLabsClient, labVmId: string): Promise<void> {
    const labName: string = resutil.getLabResourceName(labVmId, 'labs');
    const labRgName: string = resutil.getLabResourceName(labVmId, 'resourcegroups');
    const vmName: string = resutil.getLabResourceName(labVmId, 'virtualmachines');

    console.log(`Determining if VM '${vmName}' exists in Lab '${labName}' under Resource Group '${labRgName}'.`);

    const labVms = await dtlClient.virtualMachines.list(labRgName, labName);

    const vmExists = labVms && labVms.some((vm) => vm && vm.name && equalsIgnoreCase(vm.name, vmName));

    const message: string = `Lab VM '${vmName}' ${vmExists ? 'exists' : 'does not exist'}.`;

    if (vmExists) {
        console.log(message);
    }
    else {
        throw message;
    }
}