Packages
dagger
0.9.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/host.ex
# This file generated by `mix dagger.gen`. Please DO NOT EDIT.
defmodule Dagger.Host do
@moduledoc "Information about the host execution environment."
use Dagger.QueryBuilder
@type t() :: %__MODULE__{}
defstruct [:selection, :client]
(
@doc "Accesses a directory on the host.\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 directory(t(), Dagger.String.t(), keyword()) :: Dagger.Directory.t()
def directory(%__MODULE__{} = host, path, optional_args \\ []) do
selection = select(host.selection, "directory")
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: host.client}
end
)
(
@doc "Accesses a file on the host.\n\n## Required Arguments\n\n* `path` - Location of the file to retrieve (e.g., \"README.md\")."
@spec file(t(), Dagger.String.t()) :: Dagger.File.t()
def file(%__MODULE__{} = host, path) do
selection = select(host.selection, "file")
selection = arg(selection, "path", path)
%Dagger.File{selection: selection, client: host.client}
end
)
(
@doc "Creates a service that forwards traffic to a specified address via the host.\n\n## Required Arguments\n\n* `ports` - Ports to expose via the service, forwarding through the host network.\n\nIf a port's frontend is unspecified or 0, it defaults to the same as the\nbackend port.\n\nAn empty set of ports is not valid; an error will be returned.\n\n## Optional Arguments\n\n* `host` - Upstream host to forward traffic to."
@spec service(t(), [Dagger.PortForward.t()], keyword()) :: Dagger.Service.t()
def service(%__MODULE__{} = host, ports, optional_args \\ []) do
selection = select(host.selection, "service")
selection = arg(selection, "ports", ports)
selection =
if is_nil(optional_args[:host]) do
selection
else
arg(selection, "host", optional_args[:host])
end
%Dagger.Service{selection: selection, client: host.client}
end
)
(
@doc "Sets a secret given a user-defined name and the file path on the host, and returns the secret.\nThe file is limited to a size of 512000 bytes.\n\n## Required Arguments\n\n* `name` - The user defined name for this secret.\n* `path` - Location of the file to set as a secret."
@spec set_secret_file(t(), Dagger.String.t(), Dagger.String.t()) :: Dagger.Secret.t()
def set_secret_file(%__MODULE__{} = host, name, path) do
selection = select(host.selection, "setSecretFile")
selection = arg(selection, "name", name)
selection = arg(selection, "path", path)
%Dagger.Secret{selection: selection, client: host.client}
end
)
(
@doc "Creates a tunnel that forwards traffic from the host to a service.\n\n## Required Arguments\n\n* `service` - Service to send traffic from the tunnel.\n\n## Optional Arguments\n\n* `native` - Map each service port to the same port on the host, as if the service were\nrunning natively.\n\nNote: enabling may result in port conflicts.\n* `ports` - Configure explicit port forwarding rules for the tunnel.\n\nIf a port's frontend is unspecified or 0, a random port will be chosen by\nthe host.\n\nIf no ports are given, all of the service's ports are forwarded. If native\nis true, each port maps to the same port on the host. If native is false,\neach port maps to a random port chosen by the host.\n\nIf ports are given and native is true, the ports are additive."
@spec tunnel(t(), Dagger.Service.t(), keyword()) :: Dagger.Service.t()
def tunnel(%__MODULE__{} = host, service, optional_args \\ []) do
selection = select(host.selection, "tunnel")
selection = arg(selection, "service", service)
selection =
if is_nil(optional_args[:native]) do
selection
else
arg(selection, "native", optional_args[:native])
end
selection =
if is_nil(optional_args[:ports]) do
selection
else
arg(selection, "ports", optional_args[:ports])
end
%Dagger.Service{selection: selection, client: host.client}
end
)
(
@doc "Accesses a Unix socket on the host.\n\n## Required Arguments\n\n* `path` - Location of the Unix socket (e.g., \"/var/run/docker.sock\")."
@spec unix_socket(t(), Dagger.String.t()) :: Dagger.Socket.t()
def unix_socket(%__MODULE__{} = host, path) do
selection = select(host.selection, "unixSocket")
selection = arg(selection, "path", path)
%Dagger.Socket{selection: selection, client: host.client}
end
)
end