async function removeFailedResources()

in tasks/Node/src/tasks/AzureDtlCreateVM/task.ts [278:300]


async function removeFailedResources(armClient: ResourceManagementClient, labRgName: string, deploymentName: string, deleteLabVm: boolean, deleteDeployment: boolean): Promise<void> {
    try {
        // Delete the failed lab VM.
        if (deleteLabVm) {
            const resourceId: string = await deployutil.getDeploymentTargetResourceId(armClient, labRgName, deploymentName);
            if (resourceId) {
                console.log(`Removing previously created lab virtual machine with resource ID '${resourceId}'.`);
                await armClient.resources.deleteById(resourceId, '2018-10-15-preview');
            }
            else {
                console.log('Resource identifier is not available, will not attempt to remove corresponding resouce before retrying.');
            }
        }

        // Delete the failed deployment.
        if (deleteDeployment) {
            console.log(`Removing previously created deployment '${deploymentName}' in resource group '${labRgName}'.`);
            await armClient.deployments.deleteMethod(labRgName, deploymentName);
        }
    } catch (error) {
        tl.warning(`Unable to clean-up failed resources. Operation failed with error ${JSON.stringify(error)}`);
    }
}