ExDaytona.Api.Snapshots (ex_daytona v0.1.0)

Copy Markdown View Source

API calls for all endpoints tagged Snapshots.

Summary

Functions

activate_snapshot(connection, id, opts \\ [])

@spec activate_snapshot(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, nil} | {:ok, ExDaytona.Model.SnapshotDto.t()} | {:error, Tesla.Env.t()}

Activate a snapshot

Parameters

  • connection (ExDaytona.Connection): Connection to server
  • id (String.t): Snapshot ID
  • opts (keyword): Optional parameters
    • :"X-Daytona-Organization-ID" (String.t): Use with JWT to specify the organization ID

Returns

  • {:ok, ExDaytona.Model.SnapshotDto.t} on success
  • {:error, Tesla.Env.t} on failure

create_snapshot(connection, create_snapshot, opts \\ [])

@spec create_snapshot(
  Tesla.Env.client(),
  ExDaytona.Model.CreateSnapshot.t(),
  keyword()
) ::
  {:ok, nil} | {:ok, ExDaytona.Model.SnapshotDto.t()} | {:error, Tesla.Env.t()}

Create a new snapshot

Parameters

  • connection (ExDaytona.Connection): Connection to server
  • create_snapshot (CreateSnapshot):
  • opts (keyword): Optional parameters
    • :"X-Daytona-Organization-ID" (String.t): Use with JWT to specify the organization ID

Returns

  • {:ok, ExDaytona.Model.SnapshotDto.t} on success
  • {:error, Tesla.Env.t} on failure

deactivate_snapshot(connection, id, opts \\ [])

@spec deactivate_snapshot(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, nil} | {:error, Tesla.Env.t()}

Deactivate a snapshot

Parameters

  • connection (ExDaytona.Connection): Connection to server
  • id (String.t): Snapshot ID
  • opts (keyword): Optional parameters
    • :"X-Daytona-Organization-ID" (String.t): Use with JWT to specify the organization ID

Returns

  • {:ok, nil} on success
  • {:error, Tesla.Env.t} on failure

get_all_snapshots(connection, opts \\ [])

@spec get_all_snapshots(
  Tesla.Env.client(),
  keyword()
) :: {:ok, ExDaytona.Model.PaginatedSnapshots.t()} | {:error, Tesla.Env.t()}

List all snapshots

Parameters

  • connection (ExDaytona.Connection): Connection to server
  • opts (keyword): Optional parameters
    • :"X-Daytona-Organization-ID" (String.t): Use with JWT to specify the organization ID
    • :page (number()): Page number of the results
    • :limit (number()): Number of results per page
    • :name (String.t): Filter by partial name match
    • :sourceSandboxId (String.t): Filter by the ID of the sandbox the snapshot was created from
    • :sort (String.t): Field to sort by
    • :order (String.t): Direction to sort by

Returns

  • {:ok, ExDaytona.Model.PaginatedSnapshots.t} on success
  • {:error, Tesla.Env.t} on failure

get_snapshot(connection, id, opts \\ [])

@spec get_snapshot(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, nil} | {:ok, ExDaytona.Model.SnapshotDto.t()} | {:error, Tesla.Env.t()}

Get snapshot by ID or name

Parameters

  • connection (ExDaytona.Connection): Connection to server
  • id (String.t): Snapshot ID or name
  • opts (keyword): Optional parameters
    • :"X-Daytona-Organization-ID" (String.t): Use with JWT to specify the organization ID

Returns

  • {:ok, ExDaytona.Model.SnapshotDto.t} on success
  • {:error, Tesla.Env.t} on failure

get_snapshot_build_logs(connection, id, opts \\ [])

@spec get_snapshot_build_logs(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, nil} | {:error, Tesla.Env.t()}

Get snapshot build logs This endpoint is deprecated. Use getSnapshotBuildLogsUrl instead.

Parameters

  • connection (ExDaytona.Connection): Connection to server
  • id (String.t): Snapshot ID
  • opts (keyword): Optional parameters
    • :"X-Daytona-Organization-ID" (String.t): Use with JWT to specify the organization ID
    • :follow (boolean()): Whether to follow the logs stream

Returns

  • {:ok, nil} on success
  • {:error, Tesla.Env.t} on failure

get_snapshot_build_logs_url(connection, id, opts \\ [])

@spec get_snapshot_build_logs_url(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, ExDaytona.Model.Url.t()} | {:error, Tesla.Env.t()}

Get snapshot build logs URL

Parameters

  • connection (ExDaytona.Connection): Connection to server
  • id (String.t): Snapshot ID
  • opts (keyword): Optional parameters
    • :"X-Daytona-Organization-ID" (String.t): Use with JWT to specify the organization ID

Returns

  • {:ok, ExDaytona.Model.Url.t} on success
  • {:error, Tesla.Env.t} on failure

remove_snapshot(connection, id, opts \\ [])

@spec remove_snapshot(Tesla.Env.client(), String.t(), keyword()) ::
  {:ok, nil} | {:error, Tesla.Env.t()}

Delete snapshot

Parameters

  • connection (ExDaytona.Connection): Connection to server
  • id (String.t): Snapshot ID
  • opts (keyword): Optional parameters
    • :"X-Daytona-Organization-ID" (String.t): Use with JWT to specify the organization ID

Returns

  • {:ok, nil} on success
  • {:error, Tesla.Env.t} on failure