Packages
dagger
0.10.3
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/current_module.ex
# This file generated by `mix dagger.gen`. Please DO NOT EDIT.
defmodule Dagger.CurrentModule do
@moduledoc "Reflective module API provided to functions at runtime."
use Dagger.Core.QueryBuilder
@type t() :: %__MODULE__{}
defstruct [:selection, :client]
(
@doc "A unique identifier for this CurrentModule."
@spec id(t()) :: {:ok, Dagger.CurrentModuleID.t()} | {:error, term()}
def id(%__MODULE__{} = current_module) do
selection = select(current_module.selection, "id")
execute(selection, current_module.client)
end
)
(
@doc "The name of the module being executed in"
@spec name(t()) :: {:ok, Dagger.String.t()} | {:error, term()}
def name(%__MODULE__{} = current_module) do
selection = select(current_module.selection, "name")
execute(selection, current_module.client)
end
)
(
@doc "The directory containing the module's source code loaded into the engine (plus any generated code that may have been created)."
@spec source(t()) :: Dagger.Directory.t()
def source(%__MODULE__{} = current_module) do
selection = select(current_module.selection, "source")
%Dagger.Directory{selection: selection, client: current_module.client}
end
)
(
@doc "Load a directory from the module's scratch working directory, including any changes that may have been made to it during module function execution.\n\n## Required Arguments\n\n* `path` - Location of the directory to access (e.g., \".\").\n\n## Optional Arguments\n\n* `exclude` - Exclude artifacts that match the given pattern (e.g., [\"node_modules/\", \".git*\"]).\n* `include` - Include only artifacts that match the given pattern (e.g., [\"app/\", \"package.*\"])."
@spec workdir(t(), Dagger.String.t(), keyword()) :: Dagger.Directory.t()
def workdir(%__MODULE__{} = current_module, path, optional_args \\ []) do
selection = select(current_module.selection, "workdir")
selection = arg(selection, "path", path)
selection =
if is_nil(optional_args[:exclude]) do
selection
else
arg(selection, "exclude", optional_args[:exclude])
end
selection =
if is_nil(optional_args[:include]) do
selection
else
arg(selection, "include", optional_args[:include])
end
%Dagger.Directory{selection: selection, client: current_module.client}
end
)
(
@doc "Load a file from the module's scratch working directory, including any changes that may have been made to it during module function execution.Load a file from the module's scratch working directory, including any changes that may have been made to it during module function execution.\n\n## Required Arguments\n\n* `path` - Location of the file to retrieve (e.g., \"README.md\")."
@spec workdir_file(t(), Dagger.String.t()) :: Dagger.File.t()
def workdir_file(%__MODULE__{} = current_module, path) do
selection = select(current_module.selection, "workdirFile")
selection = arg(selection, "path", path)
%Dagger.File{selection: selection, client: current_module.client}
end
)
end