A snapshot reports two independent fields: status describes the copy itself, and protectionStatus describes whether it’s protected. A snapshot is usable as a clone source only when it reports status: COMPLETED and protectionStatus: PROTECTED. Creating, protecting, unprotecting, and deleting a snapshot are asynchronous, and these fields tell you how the work ended.
Status
A new snapshot starts PENDING and moves to COMPLETED when the copy finishes, or to ERROR if creation fails. Deleting a COMPLETED or ERROR snapshot moves it to DELETING and then DELETED, or to ERROR if deletion fails.
| Status | Meaning | Billed |
|---|---|---|
PENDING | The platform is copying the volume’s data. | No |
COMPLETED | The copy is finished. | Yes |
ERROR | Creating or deleting the snapshot failed. statusReason says what failed. | No |
DELETING | The platform is removing the snapshot. | No |
DELETED | The snapshot is gone. | No |
While a snapshot is PENDING, progress reports PENDING and percentComplete shows how far the copy has got. progress is AVAILABLE once the data is fully copied, and UNAVAILABLE when no progress information exists.
When an operation fails
- A snapshot that couldn’t be created ends in
ERRORinstead ofCOMPLETED. There’s no usable snapshot behind it. Delete it and take a new one. - A snapshot that couldn’t be deleted stays in your list as
ERRORinstead of reachingDELETED. Its copy may still exist, and it still blocks deleting the volume it was taken from. Delete it again once the cause is resolved.
statusReason is null for every status except ERROR.
Protection status
The protectionStatus values are below. A new snapshot starts UNPROTECTED. Protecting moves it through PROTECTING to PROTECTED; unprotecting moves it through UNPROTECTING back to UNPROTECTED. If either change fails, it ends in FAILED, from which you can protect or unprotect it again.
| Value | Clone source | Deletable |
|---|---|---|
UNPROTECTED | No | Yes |
PROTECTING | No | No |
PROTECTED | Yes, if COMPLETED | No |
UNPROTECTING | No | No |
FAILED | No | No |
FAILED means the last protect or unprotect couldn’t be applied, so the snapshot’s real protection state is unknown. The platform treats it as neither protected nor unprotected. protectionStatusReason says why the change failed, and the snapshot’s data is unaffected. To settle the state, protect the snapshot again, or unprotect it, which is also the way to get it to a state you can delete.
Which status a protect or unprotect needs:
- Protect needs
status: COMPLETED. APENDINGsnapshot has no finished copy yet; aDELETING,DELETED, orERRORsnapshot has nothing to protect. - Unprotect works on a
COMPLETEDsnapshot and on anERRORsnapshot. Unprotecting anERRORsnapshot lets you delete it.
Asking for the protection state a snapshot already has succeeds and changes nothing. A refused protect or unprotect changes nothing about the snapshot.
Clone sources
A snapshot can be the source of a new volume, an image, or an instance’s volume launched from that image. Every one of those paths checks the same rule at the moment of use: status: COMPLETED and protectionStatus: PROTECTED. A snapshot that met the rule when an image was created but has since been unprotected or deleted no longer passes it.
Settled states
A COMPLETED snapshot stays usable as a clone source as long as it stays protected, and a DELETED snapshot stays gone. A deleted snapshot drops out of your snapshot list immediately. You can still look it up by its URN, with no time limit.