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/label.ex
# This file generated by `dagger_codegen`. Please DO NOT EDIT.
defmodule Dagger.Label do
@moduledoc """
A simple key value object that represents a label.
"""
use Dagger.Core.Base, kind: :object, name: "Label"
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 Label.
"""
@spec id(t()) :: {:ok, Dagger.LabelID.t()} | {:error, term()}
def id(%__MODULE__{} = label) do
query_builder =
label.query_builder |> QB.select("id")
Client.execute(label.client, query_builder)
end
@doc """
The label name.
"""
@spec name(t()) :: {:ok, String.t()} | {:error, term()}
def name(%__MODULE__{} = label) do
query_builder =
label.query_builder |> QB.select("name")
Client.execute(label.client, query_builder)
end
@doc """
The label value.
"""
@spec value(t()) :: {:ok, String.t()} | {:error, term()}
def value(%__MODULE__{} = label) do
query_builder =
label.query_builder |> QB.select("value")
Client.execute(label.client, query_builder)
end
end
defimpl Jason.Encoder, for: Dagger.Label do
def encode(label, opts) do
{:ok, id} = Dagger.Label.id(label)
Jason.Encode.string(id, opts)
end
end
defimpl Nestru.Decoder, for: Dagger.Label do
def decode_fields_hint(_struct, _context, id) do
{:ok, Dagger.Client.load_label_from_id(Dagger.Global.dag(), id)}
end
end