apps/docs/src/content/docs/en/ruby-sdk/snapshot.mdx
SnapshotService class for Daytona SDK.
def initialize(snapshots_api:, object_storage_api:, default_region_id:, otel_state:)
Parameters:
snapshots_api DaytonaApiClient:SnapshotsApi - The snapshots API clientobject_storage_api DaytonaApiClient:ObjectStorageApi - The object storage API clientdefault_region_id String, nil - Default region ID for snapshot creationotel_state Daytona:OtelState, nil -Returns:
SnapshotService - a new instance of SnapshotServicedef list(page:, limit:)
List all Snapshots.
Parameters:
page Integer, Nil -limit Integer, Nil -Returns:
Daytona:PaginatedResource - Paginated list of all SnapshotsRaises:
Daytona:Sdk:Error -Examples:
daytona = Daytona::Daytona.new
response = daytona.snapshot.list(page: 1, limit: 10)
snapshots.items.each { |snapshot| puts "#{snapshot.name} (#{snapshot.image_name})" }
def delete(snapshot)
Delete a Snapshot.
Parameters:
snapshot Daytona:Snapshot - Snapshot to deleteReturns:
voidExamples:
daytona = Daytona::Daytona.new
snapshot = daytona.snapshot.get("demo")
daytona.snapshot.delete(snapshot)
puts "Snapshot deleted"
def get(name)
Get a Snapshot by name.
Parameters:
name String - Name of the Snapshot to getReturns:
Daytona:Snapshot - The Snapshot objectExamples:
daytona = Daytona::Daytona.new
snapshot = daytona.snapshot.get("demo")
puts "#{snapshot.name} (#{snapshot.image_name})"
def create(params, on_logs:)
Creates and registers a new snapshot from the given Image definition.
Parameters:
params Daytona:CreateSnapshotParams - Parameters for snapshot creationon_logs Proc, Nil - Callback proc handling snapshot creation logsReturns:
Daytona:Snapshot - The created snapshotExamples:
image = Image.debianSlim('3.12').pipInstall('numpy')
params = CreateSnapshotParams.new(name: 'my-snapshot', image: image)
snapshot = daytona.snapshot.create(params) do |chunk|
print chunk
end
def activate(snapshot)
Activate a snapshot
Parameters:
snapshot Daytona:Snapshot - The snapshot instanceReturns:
Daytona:Snapshot