Find Snapshot Creation Date of a vCloud Director VM

Last month while working on a customer ticket, I came across a request from customer where he wanted to know snapshot creation date for one of his VM as he can not find this detail from vCD UI.

To confirm this, I logged into vCD and navigated to my test lab to see what are the information available.

On navigating through vCD I found that vCD only tells that whether or not snapshot exists for a vApp/VM.

You can see in below screenshot in top right corner that there is no option for selection snapshot creation date.

snap-1.PNG

On drilling down to VM level also, I did not found any option for checking snapshot creation date.

snap-2.PNG

After banging my head for 20 minutes or so, I decided to use API calls as many times I have found some info which is not visible in vCD GUI. And the trick worked for me. I was able to pull the snapshot creation date via API calls.

The steps for doing so is summarized as below:

For sake of security, I have replaced the original token code with ‘xxxxx’

1: Generate session key/Auth token

# curl -sik -H “Accept:application/*+xml;version=5.6” -u “admin@system” -X POST https://p15v3-vcd.vchs.vmware.com/api/sessions | grep auth
Enter host password for user ‘admin@system’:

The above query will return auth token which you can use in next queries

[code]

x-vcloud-authorization: XXXXXXXXXXXXXXXXXXX

[/code]

2: Get Otg UUID

Next is to grab the Org UUID by executing below command:

# curl -sik -H “Accept:application/*+xml;version=5.6” -H “x-vcloud-authorization: XXXXXXXXXXXXXXXXXXX” -X GET https://p15v3-vcd.vchs.vmware.com/api/org/ | grep bdd75fd4-a319-47d5-b4f2-77aad691488f

By executing above query, you will get href of your org.

<Org href=”https://au-south-1-15.vchs.vmware.com/api/compute/api/org/4f5feba5-bb82-456e-8898-95d4970f2624” name=”bdd75fd4-a319-47d5-b4f2-77aad691488f” type=”application/vnd.vmware.vcloud.org+xml”/>

3: Get Org VDC UUID

# curl -sik -H “Accept:application/*+xml;version=5.6” -H “x-vcloud-authorization: XXXXXXXXXXXXXXXXXXX” -X GET https://au-south-1-15.vchs.vmware.com/api/compute/api/org/4f5feba5-bb82-456e-8898-95d4970f2624 | grep vdc

The above query will return you a list of Org vDC’s (in case if you have more than one VDC)

<Link rel=”down” href=”https://au-south-1-15.vchs.vmware.com/api/compute/api/vdc/89ca1c69-0ea1-47f3-b3c1-e91608908966” name=”Manish-Lab-DontDel” type=”application/vnd.vmware.vcloud.vdc+xml”/>

<Link rel=”down” href=”https://au-south-1-15.vchs.vmware.com/api/compute/api/vdc/9b4158ea-65f7-4a14-9bf4-15caac87597b” name=”VCHS” type=”application/vnd.vmware.vcloud.vdc+xml”/>

<Link rel=”down” href=”https://au-south-1-15.vchs.vmware.com/api/compute/api/vdc/e89232de-3507-4b66-98d7-8ec25e99c826″ name=”vSphere-6.5-Lab-Manish” type=”application/vnd.vmware.vcloud.vdc+xml”/>

My VM exists in VDC ‘Manish-Lab-DontDel’ so I used the corresponding VDC href in my next query

4: Find VM UUID

# curl -sik -H “Accept:application/*+xml;version=5.6” -H “x-vcloud-authorization: XXXXXXXXXXXXXXXXXXX” -X GET https://au-south-1-15.vchs.vmware.com/api/compute/api/vdc/89ca1c69-0ea1-47f3-b3c1-e91608908966 | grep SQLSRV

<ResourceEntity href=”https://au-south-1-15.vchs.vmware.com/api/compute/api/vApp/vapp-cbec4a09-a42f-4f4f-8c73-05a9028d288d” name=”SQLSRV” type=”application/vnd.vmware.vcloud.vApp+xml”/>

5: Find Snapshot details

Now to get snapshot info, append /snapshotSection at the end of the url which you got in previous query

# curl -sik -H “Accept:application/*+xml;version=5.6” -H “x-vcloud-authorization: XXXXXXXXXXXXXXXXXXX” -X GET https://au-south-1-15.vchs.vmware.com/api/compute/api/vApp/vapp-cbec4a09-a42f-4f4f-8c73-05a9028d288d/snapshotSection

You will get an XML output which contains the snapshot creation date

snap-3