win_disk_image: return all mount paths in return value (#44799)

This commit is contained in:
Jordan Borean 2018-08-30 16:25:45 +10:00 committed by GitHub
parent 78eb4724a0
commit 533656694e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 21 additions and 8 deletions

View file

@ -49,19 +49,21 @@ If($state -eq "present") {
If($di.Attached) { # only try to get the mount_path if the disk is attached (
If($di.StorageType -eq 1) { # ISO, we can get the mountpoint directly from Get-Volume
$drive_letter = ($di | Get-Volume).DriveLetter
$drive_letters = ($di | Get-Volume).DriveLetter
}
ElseIf($di.StorageType -in @(2,3)) { # VHD/VHDX, need Get-Disk + Get-Partition to discover mountpoint
# FUTURE: support multi-partition VHDs
$drive_letter = ($di | Get-Disk | Get-Partition)[0].DriveLetter
$drive_letters = ($di | Get-Disk | Get-Partition).DriveLetter
}
# remove any null entries (no drive letter)
$drive_letters = $drive_letters | Where-Object { $_ }
If(-not $drive_letter) {
If(-not $drive_letters) {
Fail-Json -message "Unable to retrieve drive letter from mounted image"
}
$result.mount_path = $drive_letter + ":\"
# mount_path is deprecated and will be removed in 2.11, use mount_paths which contains all the partitions instead
$result.mount_path = $drive_letters[0] + ":\"
$result.mount_paths = @($drive_letters | ForEach-Object { "$($_):\" })
}
}
ElseIf($state -eq "absent") {