Packages
dagger
0.15.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/host.ex
# This file generated by `dagger_codegen`. Please DO NOT EDIT.
defmodule Dagger.Host do
@moduledoc "Information about the host environment."
alias Dagger.Core.Client
alias Dagger.Core.QueryBuilder, as: QB
@derive Dagger.ID
defstruct [:query_builder, :client]
@type t() :: %__MODULE__{}
@doc "Accesses a directory on the host."
@spec directory(t(), String.t(), [{:exclude, [String.t()]}, {:include, [String.t()]}]) ::
Dagger.Directory.t()
def directory(%__MODULE__{} = host, path, optional_args \\ []) do
query_builder =
host.query_builder
|> QB.select("directory")
|> QB.put_arg("path", path)
|> QB.maybe_put_arg("exclude", optional_args[:exclude])
|> QB.maybe_put_arg("include", optional_args[:include])
%Dagger.Directory{
query_builder: query_builder,
client: host.client
}
end
@doc "Accesses a file on the host."
@spec file(t(), String.t()) :: Dagger.File.t()
def file(%__MODULE__{} = host, path) do
query_builder =
host.query_builder |> QB.select("file") |> QB.put_arg("path", path)
%Dagger.File{
query_builder: query_builder,
client: host.client
}
end
@doc "A unique identifier for this Host."
@spec id(t()) :: {:ok, Dagger.HostID.t()} | {:error, term()}
def id(%__MODULE__{} = host) do
query_builder =
host.query_builder |> QB.select("id")
Client.execute(host.client, query_builder)
end
@doc "Creates a service that forwards traffic to a specified address via the host."
@spec service(t(), [Dagger.PortForward.t()], [{:host, String.t() | nil}]) :: Dagger.Service.t()
def service(%__MODULE__{} = host, ports, optional_args \\ []) do
query_builder =
host.query_builder
|> QB.select("service")
|> QB.put_arg("ports", ports)
|> QB.maybe_put_arg("host", optional_args[:host])
%Dagger.Service{
query_builder: query_builder,
client: host.client
}
end
@doc """
Sets a secret given a user-defined name and the file path on the host, and returns the secret.
The file is limited to a size of 512000 bytes.
"""
@spec set_secret_file(t(), String.t(), String.t()) :: Dagger.Secret.t()
def set_secret_file(%__MODULE__{} = host, name, path) do
query_builder =
host.query_builder
|> QB.select("setSecretFile")
|> QB.put_arg("name", name)
|> QB.put_arg("path", path)
%Dagger.Secret{
query_builder: query_builder,
client: host.client
}
end
@doc "Creates a tunnel that forwards traffic from the host to a service."
@spec tunnel(t(), Dagger.Service.t(), [
{:ports, [Dagger.PortForward.t()]},
{:native, boolean() | nil}
]) :: Dagger.Service.t()
def tunnel(%__MODULE__{} = host, service, optional_args \\ []) do
query_builder =
host.query_builder
|> QB.select("tunnel")
|> QB.put_arg("service", Dagger.ID.id!(service))
|> QB.maybe_put_arg("ports", optional_args[:ports])
|> QB.maybe_put_arg("native", optional_args[:native])
%Dagger.Service{
query_builder: query_builder,
client: host.client
}
end
@doc "Accesses a Unix socket on the host."
@spec unix_socket(t(), String.t()) :: Dagger.Socket.t()
def unix_socket(%__MODULE__{} = host, path) do
query_builder =
host.query_builder |> QB.select("unixSocket") |> QB.put_arg("path", path)
%Dagger.Socket{
query_builder: query_builder,
client: host.client
}
end
end