I'm currently in the process of reading through Azure documentation and while it appears that incremental snapshots fundamentally behave the same as on other platforms (Specifically GCP/AWS) I am having difficulty finding a way to get or calculate the size of incremental snapshots.
An explanation of incremental snapshots and the implementation specific to Azure I reference below is found here (https://azure.microsoft.com/en-us/blog/announcing-general-availability-of-incremental-snapshots-of-managed-disks/)
This first diagram in under 'Examples of incremental snapshots' shows that Snapshot-2 is only 20GiB, but references 100GiB from Snapshot-1. I'm specifically trying to find a way to identify Snapshot-1's size as 100GiB and Snapshot-2's size as 20GiB. Using the compute/snapshots/get api (https://docs.microsoft.com/en-us/rest/api/compute/snapshots/get) I am only given the 'diskSizeGB' which the snapshot was based on and is not representative of the cost of that specific snapshot for billing.
In the case of the second diagram it shows an example where Snapshot-1 was deleted and the size was rolled into Snapshot-2. In this case the goal would be to have Snapshot-2 show a size of 120GiB and Snapshot-3 to return a size of 5Gib.
Google's snapshot/compute api provides this value readily and with AWS it is possible to calculate via the EPS direct APIs for Snapshots with ListSnapshotBlocks and ListChangedBlocks between two existing snapshots. Is there something comparable within Azure?