Dagger.Directory (dagger v0.18.4)

View Source

A directory.

Summary

Functions

Converts this directory to a local git repository

Load the directory as a Dagger module source

Load the directory as a Dagger module source

Return the difference between this directory and an another directory. The difference is encoded as a directory.

Return the directory's digest. The format of the digest is not guaranteed to be stable between releases of Dagger. It is guaranteed to be stable between invocations of the same Dagger engine.

Retrieves a directory at the given path.

Use Dockerfile compatibility to build a container from this directory. Only use this function for Dockerfile compatibility. Otherwise use the native Container type directly, it is feature-complete and supports all Dockerfile features.

Returns a list of files and directories at the given path.

Writes the contents of the directory to a path on the host.

Retrieve a file at the given path.

Return a snapshot with some paths included or excluded

Returns a list of files and directories that matche the given pattern.

A unique identifier for this Directory.

Returns the name of the directory.

Force evaluation in the engine.

Opens an interactive terminal in new container with this directory mounted inside.

Return a snapshot with a directory added

Retrieves this directory plus the contents of the given file copied to the given path.

Retrieves this directory plus the contents of the given files copied to the given path.

Retrieves this directory plus a new directory created at the given path.

Return a snapshot with a new file added

Retrieves this directory with all file/dir timestamps set to the given time.

Return a snapshot with a subdirectory removed

Return a snapshot with a file removed

Return a snapshot with files removed

Types

t()

@type t() :: %Dagger.Directory{client: term(), query_builder: term()}

Functions

as_git(directory)

@spec as_git(t()) :: Dagger.GitRepository.t()

Converts this directory to a local git repository

as_module(directory, optional_args \\ [])

@spec as_module(t(), [{:source_root_path, String.t() | nil}]) :: Dagger.Module.t()

Load the directory as a Dagger module source

as_module_source(directory, optional_args \\ [])

@spec as_module_source(t(), [{:source_root_path, String.t() | nil}]) ::
  Dagger.ModuleSource.t()

Load the directory as a Dagger module source

diff(directory, other)

@spec diff(t(), t()) :: t()

Return the difference between this directory and an another directory. The difference is encoded as a directory.

digest(directory)

@spec digest(t()) :: {:ok, String.t()} | {:error, term()}

Return the directory's digest. The format of the digest is not guaranteed to be stable between releases of Dagger. It is guaranteed to be stable between invocations of the same Dagger engine.

directory(directory, path)

@spec directory(t(), String.t()) :: t()

Retrieves a directory at the given path.

docker_build(directory, optional_args \\ [])

@spec docker_build(t(),
  platform: Dagger.Platform.t() | nil,
  dockerfile: String.t() | nil,
  target: String.t() | nil,
  build_args: [Dagger.BuildArg.t()],
  secrets: [Dagger.SecretID.t()],
  no_init: boolean() | nil
) :: Dagger.Container.t()

Use Dockerfile compatibility to build a container from this directory. Only use this function for Dockerfile compatibility. Otherwise use the native Container type directly, it is feature-complete and supports all Dockerfile features.

entries(directory, optional_args \\ [])

@spec entries(t(), [{:path, String.t() | nil}]) ::
  {:ok, [String.t()]} | {:error, term()}

Returns a list of files and directories at the given path.

export(directory, path, optional_args \\ [])

@spec export(t(), String.t(), [{:wipe, boolean() | nil}]) ::
  {:ok, String.t()} | {:error, term()}

Writes the contents of the directory to a path on the host.

file(directory, path)

@spec file(t(), String.t()) :: Dagger.File.t()

Retrieve a file at the given path.

filter(directory, optional_args \\ [])

@spec filter(t(), exclude: [String.t()], include: [String.t()]) :: t()

Return a snapshot with some paths included or excluded

glob(directory, pattern)

@spec glob(t(), String.t()) :: {:ok, [String.t()]} | {:error, term()}

Returns a list of files and directories that matche the given pattern.

id(directory)

@spec id(t()) :: {:ok, Dagger.DirectoryID.t()} | {:error, term()}

A unique identifier for this Directory.

name(directory)

@spec name(t()) :: {:ok, String.t()} | {:error, term()}

Returns the name of the directory.

sync(directory)

@spec sync(t()) :: {:ok, t()} | {:error, term()}

Force evaluation in the engine.

terminal(directory, optional_args \\ [])

@spec terminal(t(),
  cmd: [String.t()],
  experimental_privileged_nesting: boolean() | nil,
  insecure_root_capabilities: boolean() | nil,
  container: Dagger.ContainerID.t() | nil
) :: t()

Opens an interactive terminal in new container with this directory mounted inside.

with_directory(directory_, path, directory, optional_args \\ [])

@spec with_directory(t(), String.t(), t(),
  exclude: [String.t()],
  include: [String.t()]
) :: t()

Return a snapshot with a directory added

with_file(directory, path, source, optional_args \\ [])

@spec with_file(t(), String.t(), Dagger.File.t(), [{:permissions, integer() | nil}]) ::
  t()

Retrieves this directory plus the contents of the given file copied to the given path.

with_files(directory, path, sources, optional_args \\ [])

@spec with_files(t(), String.t(), [Dagger.FileID.t()], [
  {:permissions, integer() | nil}
]) :: t()

Retrieves this directory plus the contents of the given files copied to the given path.

with_new_directory(directory, path, optional_args \\ [])

@spec with_new_directory(t(), String.t(), [{:permissions, integer() | nil}]) :: t()

Retrieves this directory plus a new directory created at the given path.

with_new_file(directory, path, contents, optional_args \\ [])

@spec with_new_file(t(), String.t(), String.t(), [{:permissions, integer() | nil}]) ::
  t()

Return a snapshot with a new file added

with_timestamps(directory, timestamp)

@spec with_timestamps(t(), integer()) :: t()

Retrieves this directory with all file/dir timestamps set to the given time.

without_directory(directory, path)

@spec without_directory(t(), String.t()) :: t()

Return a snapshot with a subdirectory removed

without_file(directory, path)

@spec without_file(t(), String.t()) :: t()

Return a snapshot with a file removed

without_files(directory, paths)

@spec without_files(t(), [String.t()]) :: t()

Return a snapshot with files removed