@
SILdoc(`Destroy snapshots. They must all be in the same pool. Snapshots that do not exist will be silently ignored.
If defer is not set, and a snapshot has user holds or clones, the destroy operation will fail and none of the snapshots will be destroyed. If defer is set, and a snapshot has user holds or clones, it will be marked for deferred destruction, and will be destroyed when the last hold or clone is removed/destroyed. The operation succeeds if all snapshots were destroyed (or marked for later destruction if defer is set) or didnt exist to begin with.
Params:
string[] snapshotNames: a list of names of snapshots to be destroyed.
bool defer: whether to mark busy snapshots for deferred destruction rather than immediately failing.
Errors:
SnapshotDestructionFailure: if one or more snapshots could not be created.
note:
SnapshotDestructionFailure is a compound exception that provides at least one detailed error object in SnapshotDestructionFailure.errors list. Typical error is SnapshotIsCloned if defer is False. The snapshot names are validated quite loosely and invalid names are typically ignored as nonexisiting snapshots. A snapshot name referring to a filesystem that doesnt exist is ignored. However, non-existent pool name causes PoolNotFound.
`)