Interface DatastoreTypeProvider.SnapshotFacet.SnapshotServerFacet

Enclosing interface:
DatastoreTypeProvider.SnapshotFacet

public static interface DatastoreTypeProvider.SnapshotFacet.SnapshotServerFacet
This is a more refined Snapshot facet that is used for Compute Servers. This is used to create and revert snapshots. Sometimes snapshots have to be part of a server as a whole and cannot be per volume. This allows for that implementation style. NOTE: For VME/MVM Cluster types, this is the facet you want to implement.
Since:
1.1.18
  • Method Details

    • createSnapshot

      ServiceResponse<Snapshot> createSnapshot(ComputeServer server, Boolean forBackup, Boolean forExport)
      Creates volume snapshots of all volumes associated with a server. If the server volume is of type 'cdrom', it is best to not snapshot these as ISO formats are not typically worth snapshotting A lot of backup providers may use this to create snapshots for exportability or backup purposes. In those scenarios, it is important to create exportPath information on the SnapshotFile so the morphd agent can fetch the snapshot and store it in the backup provider.
      Parameters:
      server - the server to create snapshots for (typically a vm). Host can be acquired via ComputeServer.getParentServer()
      forBackup - whether this snapshot is for backup purposes
      forExport - whether this snapshot is for export purposes (like an image import)
      Returns:
      the success state and a copy of the snapshot
    • revertSnapshot

      ServiceResponse<Snapshot> revertSnapshot(ComputeServer server, Snapshot snapshot)
      Reverts a server to a snapshot. This is used to revert a server to a previous state. MVM/VME will automatically ensure the server is powered off during this operation and powered back on to desired user state after this operation is complete. NOTE: These snapshots are typically volume based and not vm state based.
      Parameters:
      server - the server to revert the snapshot on
      snapshot - the snapshot to revert to
      Returns:
      the success state and a copy of the snapshot
    • removeSnapshot

      ServiceResponse removeSnapshot(ComputeServer server, Snapshot snapshot)
      Removes a snapshot from a server. This is used to remove a snapshot from a server. Sometimes, this means snapshots have to be consolidated or flattened depending on the implementation.
      Parameters:
      server - the server to remove the snapshot from
      snapshot - the snapshot to remove
      Returns:
      the success state of the removal