Packages
dagger
0.18.4
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/binding.ex
# This file generated by `dagger_codegen`. Please DO NOT EDIT.
defmodule Dagger.Binding do
@moduledoc """
Dagger.Binding
"""
alias Dagger.Core.Client
alias Dagger.Core.QueryBuilder, as: QB
@derive Dagger.ID
defstruct [:query_builder, :client]
@type t() :: %__MODULE__{}
@doc """
Retrieve the binding value, as type CacheVolume
"""
@spec as_cache_volume(t()) :: Dagger.CacheVolume.t()
def as_cache_volume(%__MODULE__{} = binding) do
query_builder =
binding.query_builder |> QB.select("asCacheVolume")
%Dagger.CacheVolume{
query_builder: query_builder,
client: binding.client
}
end
@doc """
Retrieve the binding value, as type Container
"""
@spec as_container(t()) :: Dagger.Container.t()
def as_container(%__MODULE__{} = binding) do
query_builder =
binding.query_builder |> QB.select("asContainer")
%Dagger.Container{
query_builder: query_builder,
client: binding.client
}
end
@doc """
Retrieve the binding value, as type Directory
"""
@spec as_directory(t()) :: Dagger.Directory.t()
def as_directory(%__MODULE__{} = binding) do
query_builder =
binding.query_builder |> QB.select("asDirectory")
%Dagger.Directory{
query_builder: query_builder,
client: binding.client
}
end
@doc """
Retrieve the binding value, as type Env
"""
@spec as_env(t()) :: Dagger.Env.t()
def as_env(%__MODULE__{} = binding) do
query_builder =
binding.query_builder |> QB.select("asEnv")
%Dagger.Env{
query_builder: query_builder,
client: binding.client
}
end
@doc """
Retrieve the binding value, as type File
"""
@spec as_file(t()) :: Dagger.File.t()
def as_file(%__MODULE__{} = binding) do
query_builder =
binding.query_builder |> QB.select("asFile")
%Dagger.File{
query_builder: query_builder,
client: binding.client
}
end
@doc """
Retrieve the binding value, as type GitRef
"""
@spec as_git_ref(t()) :: Dagger.GitRef.t()
def as_git_ref(%__MODULE__{} = binding) do
query_builder =
binding.query_builder |> QB.select("asGitRef")
%Dagger.GitRef{
query_builder: query_builder,
client: binding.client
}
end
@doc """
Retrieve the binding value, as type GitRepository
"""
@spec as_git_repository(t()) :: Dagger.GitRepository.t()
def as_git_repository(%__MODULE__{} = binding) do
query_builder =
binding.query_builder |> QB.select("asGitRepository")
%Dagger.GitRepository{
query_builder: query_builder,
client: binding.client
}
end
@doc """
Retrieve the binding value, as type LLM
"""
@spec as_llm(t()) :: Dagger.LLM.t()
def as_llm(%__MODULE__{} = binding) do
query_builder =
binding.query_builder |> QB.select("asLLM")
%Dagger.LLM{
query_builder: query_builder,
client: binding.client
}
end
@doc """
Retrieve the binding value, as type Module
"""
@spec as_module(t()) :: Dagger.Module.t()
def as_module(%__MODULE__{} = binding) do
query_builder =
binding.query_builder |> QB.select("asModule")
%Dagger.Module{
query_builder: query_builder,
client: binding.client
}
end
@doc """
Retrieve the binding value, as type ModuleConfigClient
"""
@spec as_module_config_client(t()) :: Dagger.ModuleConfigClient.t()
def as_module_config_client(%__MODULE__{} = binding) do
query_builder =
binding.query_builder |> QB.select("asModuleConfigClient")
%Dagger.ModuleConfigClient{
query_builder: query_builder,
client: binding.client
}
end
@doc """
Retrieve the binding value, as type ModuleSource
"""
@spec as_module_source(t()) :: Dagger.ModuleSource.t()
def as_module_source(%__MODULE__{} = binding) do
query_builder =
binding.query_builder |> QB.select("asModuleSource")
%Dagger.ModuleSource{
query_builder: query_builder,
client: binding.client
}
end
@doc """
Retrieve the binding value, as type Secret
"""
@spec as_secret(t()) :: Dagger.Secret.t()
def as_secret(%__MODULE__{} = binding) do
query_builder =
binding.query_builder |> QB.select("asSecret")
%Dagger.Secret{
query_builder: query_builder,
client: binding.client
}
end
@doc """
Retrieve the binding value, as type Service
"""
@spec as_service(t()) :: Dagger.Service.t()
def as_service(%__MODULE__{} = binding) do
query_builder =
binding.query_builder |> QB.select("asService")
%Dagger.Service{
query_builder: query_builder,
client: binding.client
}
end
@doc """
Retrieve the binding value, as type Socket
"""
@spec as_socket(t()) :: Dagger.Socket.t()
def as_socket(%__MODULE__{} = binding) do
query_builder =
binding.query_builder |> QB.select("asSocket")
%Dagger.Socket{
query_builder: query_builder,
client: binding.client
}
end
@doc """
The binding's string value
"""
@spec as_string(t()) :: {:ok, String.t() | nil} | {:error, term()}
def as_string(%__MODULE__{} = binding) do
query_builder =
binding.query_builder |> QB.select("asString")
Client.execute(binding.client, query_builder)
end
@doc """
The digest of the binding value
"""
@spec digest(t()) :: {:ok, String.t()} | {:error, term()}
def digest(%__MODULE__{} = binding) do
query_builder =
binding.query_builder |> QB.select("digest")
Client.execute(binding.client, query_builder)
end
@doc """
A unique identifier for this Binding.
"""
@spec id(t()) :: {:ok, Dagger.BindingID.t()} | {:error, term()}
def id(%__MODULE__{} = binding) do
query_builder =
binding.query_builder |> QB.select("id")
Client.execute(binding.client, query_builder)
end
@doc """
Returns true if the binding is null
"""
@spec null?(t()) :: {:ok, boolean()} | {:error, term()}
def null?(%__MODULE__{} = binding) do
query_builder =
binding.query_builder |> QB.select("isNull")
Client.execute(binding.client, query_builder)
end
@doc """
The binding name
"""
@spec name(t()) :: {:ok, String.t()} | {:error, term()}
def name(%__MODULE__{} = binding) do
query_builder =
binding.query_builder |> QB.select("name")
Client.execute(binding.client, query_builder)
end
@doc """
The binding type
"""
@spec type_name(t()) :: {:ok, String.t()} | {:error, term()}
def type_name(%__MODULE__{} = binding) do
query_builder =
binding.query_builder |> QB.select("typeName")
Client.execute(binding.client, query_builder)
end
end
defimpl Jason.Encoder, for: Dagger.Binding do
def encode(binding, opts) do
{:ok, id} = Dagger.Binding.id(binding)
Jason.Encode.string(id, opts)
end
end
defimpl Nestru.Decoder, for: Dagger.Binding do
def decode_fields_hint(_struct, _context, id) do
{:ok, Dagger.Client.load_binding_from_id(Dagger.Global.dag(), id)}
end
end