Packages
dagger
0.18.10
0.21.7
0.21.6
0.21.5
0.21.4
0.21.3
0.21.2
0.21.1
0.21.0
0.20.8
0.20.7
0.20.6
0.20.5
0.20.4
0.20.3
0.20.2
0.20.1
0.20.0
0.19.11
0.19.10
0.19.9
0.19.8
0.19.7
0.19.6
0.19.5
0.19.4
0.19.3
0.19.2
0.19.1
0.19.0
0.18.19
0.18.18
0.18.17
0.18.16
0.18.15
0.18.14
0.18.13
0.18.12
0.18.11
0.18.10
0.18.9
0.18.8
0.18.7
0.18.5
0.18.4
0.18.3
0.18.2
0.18.1
0.18.0
0.17.2
0.17.1
0.17.0
0.16.3
0.16.2
0.16.1
0.16.0
0.15.4
0.15.3
0.15.2
0.15.1
0.15.0
0.14.0
0.13.7
0.13.6
0.13.5
0.13.4
0.13.3
0.13.2
0.13.1
0.13.0
0.12.7
0.12.6
0.12.5
0.12.4
0.12.3
0.12.2
0.12.1
0.12.0
0.11.9
0.11.8
0.11.7
0.11.6
0.11.5
0.11.4
0.11.3
0.11.2
0.11.1
0.11.0
0.10.3
0.10.2
0.10.1
0.10.0
0.9.11
0.9.10
0.9.9
0.9.8
0.9.7
0.9.6
0.9.5
0.9.4
0.9.3
0.9.2
0.9.1
0.9.0
0.8.8
0.8.7
0.8.6
0.8.5
0.8.4
0.8.2
0.0.0
retired
Dagger SDK for Elixir
Current section
Files
Jump to
Current section
Files
lib/dagger/gen/engine.ex
# This file generated by `dagger_codegen`. Please DO NOT EDIT.
defmodule Dagger.Engine do
@moduledoc """
The Dagger engine configuration and state
"""
use Dagger.Core.Base, kind: :object, name: "Engine"
alias Dagger.Core.Client
alias Dagger.Core.QueryBuilder, as: QB
@derive Dagger.ID
defstruct [:query_builder, :client]
@type t() :: %__MODULE__{}
@doc """
A unique identifier for this Engine.
"""
@spec id(t()) :: {:ok, Dagger.EngineID.t()} | {:error, term()}
def id(%__MODULE__{} = engine) do
query_builder =
engine.query_builder |> QB.select("id")
Client.execute(engine.client, query_builder)
end
@doc """
The local (on-disk) cache for the Dagger engine
"""
@spec local_cache(t()) :: Dagger.EngineCache.t()
def local_cache(%__MODULE__{} = engine) do
query_builder =
engine.query_builder |> QB.select("localCache")
%Dagger.EngineCache{
query_builder: query_builder,
client: engine.client
}
end
end
defimpl Jason.Encoder, for: Dagger.Engine do
def encode(engine, opts) do
{:ok, id} = Dagger.Engine.id(engine)
Jason.Encode.string(id, opts)
end
end
defimpl Nestru.Decoder, for: Dagger.Engine do
def decode_fields_hint(_struct, _context, id) do
{:ok, Dagger.Client.load_engine_from_id(Dagger.Global.dag(), id)}
end
end