Packages
dagger
0.14.0
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.
"""
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 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 "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, Dagger.FunctionArgID.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()
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