Snapshot Management
Snapshot Management
Create a Snapshot from an Instance
You can create a snapshot from a running instance to save its current state.
- Python
- TypeScript
- CLI
from morphcloud.api import MorphCloudClient
client = MorphCloudClient()
instance_id = "instance_your_instance_id" # Replace with a valid instance ID
instance = client.instances.get(instance_id=instance_id)
# Create a snapshot
snapshot = instance.snapshot()
print(f"Snapshot ID: {snapshot.id}")
import { MorphCloudClient } from 'morphcloud';
const client = new MorphCloudClient();
async function createSnapshot() {
const instance_id = "instance_your_instance_id"; // Replace with a valid instance ID
const instance = await client.instances.get({ instance_id: instance_id });
// Create a snapshot
const snapshot = await instance.snapshot();
console.log(`Snapshot ID: ${snapshot.id}`);
}
createSnapshot();
# Create a snapshot from an instance
morphcloud instance snapshot instance_your_instance_id
List Snapshots
You can get a list of all snapshots you've created.
- Python
- TypeScript
- CLI
from morphcloud.api import MorphCloudClient
client = MorphCloudClient()
snapshots = client.snapshots.list()
for snapshot in snapshots:
print(f"ID: {snapshot.id}, Created At: {snapshot.created}")
import { MorphCloudClient } from 'morphcloud';
const client = new MorphCloudClient();
async function listSnapshots() {
const snapshots = await client.snapshots.list();
snapshots.forEach(snapshot => {
console.log(`ID: ${snapshot.id}, Created At: ${snapshot.created}`);
});
}
listSnapshots();
# List all snapshots
morphcloud snapshot list
Get Snapshot Details
You can retrieve detailed information about a specific snapshot.
- Python
- TypeScript
- CLI
from morphcloud.api import MorphCloudClient
client = MorphCloudClient()
snapshot_id = "snapshot_your_snapshot_id" # Replace with a valid snapshot ID
snapshot = client.snapshots.get(snapshot_id=snapshot_id)
print(f"Snapshot ID: {snapshot.id}")
print(f"Created At: {snapshot.created}")
print(f"Metadata: {snapshot.metadata}")
import { MorphCloudClient } from 'morphcloud';
const client = new MorphCloudClient();
async function getSnapshotDetails() {
const snapshot_id = "snapshot_your_snapshot_id"; // Replace with a valid snapshot ID
const snapshot = await client.snapshots.get({ snapshot_id: snapshot_id });
console.log(`Snapshot ID: ${snapshot.id}`);
console.log(`Created At: ${snapshot.created}`);
console.log(`Metadata: ${JSON.stringify(snapshot.metadata)}`);
}
getSnapshotDetails();
# Get snapshot details
morphcloud snapshot get snapshot_your_snapshot_id
Set Snapshot Metadata
You can add metadata to snapshots for organization and search purposes.
- Python
- TypeScript
- CLI
from morphcloud.api import MorphCloudClient
client = MorphCloudClient()
snapshot_id = "snapshot_your_snapshot_id" # Replace with a valid snapshot ID
snapshot = client.snapshots.get(snapshot_id=snapshot_id)
# Set metadata
snapshot.set_metadata({"environment": "production", "version": "1.0.0"})
print(f"Snapshot '{snapshot_id}' metadata updated: {snapshot.metadata}")
import { MorphCloudClient } from 'morphcloud';
const client = new MorphCloudClient();
async function setSnapshotMetadata() {
const snapshot_id = "snapshot_your_snapshot_id"; // Replace with a valid snapshot ID
const snapshot = await client.snapshots.get({ snapshot_id: snapshot_id });
// Set metadata
await snapshot.setMetadata({ environment: "production", version: "1.0.0" });
console.log(`Snapshot '${snapshot_id}' metadata updated: ${JSON.stringify(snapshot.metadata)}`);
}
setSnapshotMetadata();
# Set snapshot metadata
morphcloud snapshot set-metadata snapshot_your_snapshot_id --metadata '{"environment":"production","version":"1.0.0"}'
Delete a Snapshot
When you no longer need a snapshot, you can delete it.
- Python
- TypeScript
- CLI
from morphcloud.api import MorphCloudClient
client = MorphCloudClient()
snapshot_id = "snapshot_your_snapshot_id" # Replace with a valid snapshot ID
snapshot = client.snapshots.get(snapshot_id=snapshot_id)
snapshot.delete()
print(f"Snapshot {snapshot_id} has been deleted")
import { MorphCloudClient } from 'morphcloud';
const client = new MorphCloudClient();
async function deleteSnapshot() {
const snapshot_id = "snapshot_your_snapshot_id"; // Replace with a valid snapshot ID
const snapshot = await client.snapshots.get({ snapshot_id: snapshot_id });
await snapshot.delete();
console.log(`Snapshot ${snapshot_id} has been deleted`);
}
deleteSnapshot();
# Delete a snapshot
morphcloud snapshot delete snapshot_your_snapshot_id