Packages
dagger
0.18.9
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/sdk_config.ex
# This file generated by `dagger_codegen`. Please DO NOT EDIT.
defmodule Dagger.SDKConfig do
@moduledoc """
The SDK config of the module.
"""
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 SDKConfig.
"""
@spec id(t()) :: {:ok, Dagger.SDKConfigID.t()} | {:error, term()}
def id(%__MODULE__{} = sdk_config) do
query_builder =
sdk_config.query_builder |> QB.select("id")
Client.execute(sdk_config.client, query_builder)
end
@doc """
Source of the SDK. Either a name of a builtin SDK or a module source ref string pointing to the SDK's implementation.
"""
@spec source(t()) :: {:ok, String.t()} | {:error, term()}
def source(%__MODULE__{} = sdk_config) do
query_builder =
sdk_config.query_builder |> QB.select("source")
Client.execute(sdk_config.client, query_builder)
end
end
defimpl Jason.Encoder, for: Dagger.SDKConfig do
def encode(sdk_config, opts) do
{:ok, id} = Dagger.SDKConfig.id(sdk_config)
Jason.Encode.string(id, opts)
end
end
defimpl Nestru.Decoder, for: Dagger.SDKConfig do
def decode_fields_hint(_struct, _context, id) do
{:ok, Dagger.Client.load_sdk_config_from_id(Dagger.Global.dag(), id)}
end
end