Packages
dagger
0.18.19
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/secret.ex
# This file generated by `dagger_codegen`. Please DO NOT EDIT.
defmodule Dagger.Secret do
@moduledoc """
A reference to a secret value, which can be handled more safely than the value itself.
"""
use Dagger.Core.Base, kind: :object, name: "Secret"
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 Secret.
"""
@spec id(t()) :: {:ok, Dagger.SecretID.t()} | {:error, term()}
def id(%__MODULE__{} = secret) do
query_builder =
secret.query_builder |> QB.select("id")
Client.execute(secret.client, query_builder)
end
@doc """
The name of this secret.
"""
@spec name(t()) :: {:ok, String.t()} | {:error, term()}
def name(%__MODULE__{} = secret) do
query_builder =
secret.query_builder |> QB.select("name")
Client.execute(secret.client, query_builder)
end
@doc """
The value of this secret.
"""
@spec plaintext(t()) :: {:ok, String.t()} | {:error, term()}
def plaintext(%__MODULE__{} = secret) do
query_builder =
secret.query_builder |> QB.select("plaintext")
Client.execute(secret.client, query_builder)
end
@doc """
The URI of this secret.
"""
@spec uri(t()) :: {:ok, String.t()} | {:error, term()}
def uri(%__MODULE__{} = secret) do
query_builder =
secret.query_builder |> QB.select("uri")
Client.execute(secret.client, query_builder)
end
end
defimpl Jason.Encoder, for: Dagger.Secret do
def encode(secret, opts) do
{:ok, id} = Dagger.Secret.id(secret)
Jason.Encode.string(id, opts)
end
end
defimpl Nestru.Decoder, for: Dagger.Secret do
def decode_fields_hint(_struct, _context, id) do
{:ok, Dagger.Client.load_secret_from_id(Dagger.Global.dag(), id)}
end
end