Packages
dagger
0.21.1
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/function_arg.ex
# This file generated by `dagger_codegen`. Please DO NOT EDIT.
defmodule Dagger.FunctionArg do
@moduledoc """
An argument accepted by a function.
This is a specification for an argument at function definition time, not an argument passed at function call time.
"""
use Dagger.Core.Base, kind: :object, name: "FunctionArg"
alias Dagger.Core.Client
alias Dagger.Core.QueryBuilder, as: QB
@derive Dagger.ID
defstruct [:query_builder, :client]
@type t() :: %__MODULE__{}
@doc """
Only applies to arguments of type Container. If the argument is not set, load it from the given address (e.g. alpine:latest)
"""
@spec default_address(t()) :: {:ok, String.t()} | {:error, term()}
def default_address(%__MODULE__{} = function_arg) do
query_builder =
function_arg.query_builder |> QB.select("defaultAddress")
Client.execute(function_arg.client, query_builder)
end
@doc """
Only applies to arguments of type File or Directory. If the argument is not set, load it from the given path in the context directory
"""
@spec default_path(t()) :: {:ok, String.t()} | {:error, term()}
def default_path(%__MODULE__{} = function_arg) do
query_builder =
function_arg.query_builder |> QB.select("defaultPath")
Client.execute(function_arg.client, query_builder)
end
@doc """
A default value to use for this argument when not explicitly set by the caller, if any.
"""
@spec default_value(t()) :: {:ok, Dagger.JSON.t()} | {:error, term()}
def default_value(%__MODULE__{} = function_arg) do
query_builder =
function_arg.query_builder |> QB.select("defaultValue")
Client.execute(function_arg.client, query_builder)
end
@doc """
The reason this function is deprecated, if any.
"""
@spec deprecated(t()) :: {:ok, String.t() | nil} | {:error, term()}
def deprecated(%__MODULE__{} = function_arg) do
query_builder =
function_arg.query_builder |> QB.select("deprecated")
Client.execute(function_arg.client, query_builder)
end
@doc """
A doc string for the argument, if any.
"""
@spec description(t()) :: {:ok, String.t()} | {:error, term()}
def description(%__MODULE__{} = function_arg) do
query_builder =
function_arg.query_builder |> QB.select("description")
Client.execute(function_arg.client, query_builder)
end
@doc """
A unique identifier for this FunctionArg.
"""
@spec id(t()) :: {:ok, String.t()} | {:error, term()}
def id(%__MODULE__{} = function_arg) do
query_builder =
function_arg.query_builder |> QB.select("id")
Client.execute(function_arg.client, query_builder)
end
@doc """
Only applies to arguments of type Directory. The ignore patterns are applied to the input directory, and matching entries are filtered out, in a cache-efficient manner.
"""
@spec ignore(t()) :: {:ok, [String.t()]} | {:error, term()}
def ignore(%__MODULE__{} = function_arg) do
query_builder =
function_arg.query_builder |> QB.select("ignore")
Client.execute(function_arg.client, query_builder)
end
@doc """
The name of the argument in lowerCamelCase format.
"""
@spec name(t()) :: {:ok, String.t()} | {:error, term()}
def name(%__MODULE__{} = function_arg) do
query_builder =
function_arg.query_builder |> QB.select("name")
Client.execute(function_arg.client, query_builder)
end
@doc """
The location of this arg declaration.
"""
@spec source_map(t()) :: Dagger.SourceMap.t() | nil
def source_map(%__MODULE__{} = function_arg) do
query_builder =
function_arg.query_builder |> QB.select("sourceMap")
%Dagger.SourceMap{
query_builder: query_builder,
client: function_arg.client
}
end
@doc """
The type of the argument.
"""
@spec type_def(t()) :: Dagger.TypeDef.t()
def type_def(%__MODULE__{} = function_arg) do
query_builder =
function_arg.query_builder |> QB.select("typeDef")
%Dagger.TypeDef{
query_builder: query_builder,
client: function_arg.client
}
end
end
defimpl Jason.Encoder, for: Dagger.FunctionArg do
def encode(function_arg, opts) do
{:ok, id} = Dagger.FunctionArg.id(function_arg)
Jason.Encode.string(id, opts)
end
end
defimpl Nestru.Decoder, for: Dagger.FunctionArg do
def decode_fields_hint(_struct, _context, id) do
alias Dagger.Core.QueryBuilder, as: QB
dag = Dagger.Global.dag()
{:ok,
%Dagger.FunctionArg{
query_builder:
dag.query_builder
|> QB.select("node")
|> QB.put_arg("id", id)
|> QB.inline_fragment("FunctionArg"),
client: dag.client
}}
end
end