export async function getDeploymentTargetResourceId()

in tasks/Node/src/modules/task-utils/deployutil.ts [191:211]


export async function getDeploymentTargetResourceId(armClient: ResourceManagementClient, resourceGroupName: string, deploymentName: string): Promise<string> {
    let targetResourceId: string | undefined = undefined;

    const operations: DeploymentOperationsListResponse = await armClient.deploymentOperations.list(resourceGroupName, deploymentName);
    if (operations) {
        for (const op of operations) {
            if (op && op.properties && op.properties.targetResource && op.properties.targetResource.id) {
                targetResourceId = op.properties.targetResource.id;
                break;
            }
        }
    }

    if (!targetResourceId) {
        tl.warning(`Dumping resource group deployment operation details for deployment '${deploymentName}' in resource group '${resourceGroupName}':`);
        console.log(JSON.stringify(operations, null, 2));
        throw `Unable to extract the target resource from operations for deployment '${deploymentName}' in resource group '${resourceGroupName}'.`;
    }

    return targetResourceId;
}