Packages
dagger
0.20.2
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/check_group.ex
# This file generated by `dagger_codegen`. Please DO NOT EDIT.
defmodule Dagger.CheckGroup do
@moduledoc """
Dagger.CheckGroup
"""
use Dagger.Core.Base, kind: :object, name: "CheckGroup"
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 CheckGroup.
"""
@spec id(t()) :: {:ok, Dagger.CheckGroupID.t()} | {:error, term()}
def id(%__MODULE__{} = check_group) do
query_builder =
check_group.query_builder |> QB.select("id")
Client.execute(check_group.client, query_builder)
end
@doc """
Return a list of individual checks and their details
"""
@spec list(t()) :: {:ok, [Dagger.Check.t()]} | {:error, term()}
def list(%__MODULE__{} = check_group) do
query_builder =
check_group.query_builder |> QB.select("list") |> QB.select("id")
with {:ok, items} <- Client.execute(check_group.client, query_builder) do
{:ok,
for %{"id" => id} <- items do
%Dagger.Check{
query_builder:
QB.query()
|> QB.select("loadCheckFromID")
|> QB.put_arg("id", id),
client: check_group.client
}
end}
end
end
@doc """
Generate a markdown report
"""
@spec report(t()) :: Dagger.File.t()
def report(%__MODULE__{} = check_group) do
query_builder =
check_group.query_builder |> QB.select("report")
%Dagger.File{
query_builder: query_builder,
client: check_group.client
}
end
@doc """
Execute all selected checks
"""
@spec run(t()) :: Dagger.CheckGroup.t()
def run(%__MODULE__{} = check_group) do
query_builder =
check_group.query_builder |> QB.select("run")
%Dagger.CheckGroup{
query_builder: query_builder,
client: check_group.client
}
end
end
defimpl Jason.Encoder, for: Dagger.CheckGroup do
def encode(check_group, opts) do
{:ok, id} = Dagger.CheckGroup.id(check_group)
Jason.Encode.string(id, opts)
end
end
defimpl Nestru.Decoder, for: Dagger.CheckGroup do
def decode_fields_hint(_struct, _context, id) do
{:ok, Dagger.Client.load_check_group_from_id(Dagger.Global.dag(), id)}
end
end