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/cloud.ex
# This file generated by `dagger_codegen`. Please DO NOT EDIT.
defmodule Dagger.Cloud do
@moduledoc """
Dagger Cloud configuration and state
"""
use Dagger.Core.Base, kind: :object, name: "Cloud"
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 Cloud.
"""
@spec id(t()) :: {:ok, Dagger.CloudID.t()} | {:error, term()}
def id(%__MODULE__{} = cloud) do
query_builder =
cloud.query_builder |> QB.select("id")
Client.execute(cloud.client, query_builder)
end
@doc """
The trace URL for the current session
"""
@spec trace_url(t()) :: {:ok, String.t()} | {:error, term()}
def trace_url(%__MODULE__{} = cloud) do
query_builder =
cloud.query_builder |> QB.select("traceURL")
Client.execute(cloud.client, query_builder)
end
end
defimpl Jason.Encoder, for: Dagger.Cloud do
def encode(cloud, opts) do
{:ok, id} = Dagger.Cloud.id(cloud)
Jason.Encode.string(id, opts)
end
end
defimpl Nestru.Decoder, for: Dagger.Cloud do
def decode_fields_hint(_struct, _context, id) do
{:ok, Dagger.Client.load_cloud_from_id(Dagger.Global.dag(), id)}
end
end