@@ -61,8 +61,25 @@ resources
6161| extend diskState = tostring(properties.diskState)
6262| extend diskBW = tostring(properties.diskMBpsReadWrite)
6363| extend diskIOPS = tostring(properties.diskIOPSReadWrite)
64- | extend createdDateTime = tostring(properties.timeCreated)
64+ | extend createdDateTime = properties.timeCreated
65+ | summarize arg_min(diskName, *) by diskName
66+ | join kind=leftouter (
67+ resources
68+ | where type =~ 'microsoft.compute/snapshots'
69+ | extend sourceDiskId = tolower(tostring(properties.creationData.sourceResourceId))
70+ | extend snapDiskSizeGB = toreal(properties.diskSizeGB)
71+ | extend isIncremental = tobool(properties.incremental)
72+ | summarize
73+ snapshotCount = count(),
74+ snapshotBilledCapacityGB = sumif(snapDiskSizeGB, isIncremental == false),
75+ snapshotProvisionedCapacityGB = sum(snapDiskSizeGB),
76+ incrementalSnapshotCount = countif(isIncremental == true)
77+ by sourceDiskId
78+ ) on $left.resourceId == $right.sourceDiskId
79+ | extend snapshotCount = coalesce(snapshotCount, 0)
80+ | extend snapshotBilledCapacityGB = coalesce(snapshotBilledCapacityGB, 0.0)
81+ | extend snapshotProvisionedCapacityGB = coalesce(snapshotProvisionedCapacityGB, 0.0)
82+ | extend incrementalSnapshotCount = coalesce(incrementalSnapshotCount, 0)
6583| project azureRegion, azureZone, subscriptionName, resourceGroup, resourceId, resourceName,
6684 diskName, diskType, osDisk, diskSize, diskBW, diskIOPS, diskState, managedBy, createdDateTime,
67- VmName, vnetName, subnetName, nicNames, vnetLookupStatus,
68- snapshotCount, incrementalSnapshotCount, snapshotBilledCapacityGB, snapshotProvisionedCapacityGB
85+ VmName, vnetName, snapshotCount, incrementalSnapshotCount, snapshotBilledCapacityGB, snapshotProvisionedCapacityGB
0 commit comments