# `Dagger.Address`
[🔗](https://github.com/dagger/dagger/blob/v0.20.8/sdk/elixir/lib/dagger/gen/address.ex#L2)

A standardized address to load containers, directories, secrets, and other object types. Address format depends on the type, and is validated at type selection.

# `t`

```elixir
@type t() :: %Dagger.Address{client: term(), query_builder: term()}
```

# `container`

```elixir
@spec container(t()) :: Dagger.Container.t()
```

Load a container from the address.

# `directory`

```elixir
@spec directory(t(),
  exclude: [String.t()],
  include: [String.t()],
  gitignore: boolean() | nil,
  no_cache: boolean() | nil
) :: Dagger.Directory.t()
```

Load a directory from the address.

# `file`

```elixir
@spec file(t(),
  exclude: [String.t()],
  include: [String.t()],
  gitignore: boolean() | nil,
  no_cache: boolean() | nil
) :: Dagger.File.t()
```

Load a file from the address.

# `git_ref`

```elixir
@spec git_ref(t()) :: Dagger.GitRef.t()
```

Load a git ref (branch, tag or commit) from the address.

# `git_repository`

```elixir
@spec git_repository(t()) :: Dagger.GitRepository.t()
```

Load a git repository from the address.

# `id`

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

A unique identifier for this Address.

# `secret`

```elixir
@spec secret(t()) :: Dagger.Secret.t()
```

Load a secret from the address.

# `service`

```elixir
@spec service(t()) :: Dagger.Service.t()
```

Load a service from the address.

# `socket`

```elixir
@spec socket(t()) :: Dagger.Socket.t()
```

Load a local socket from the address.

# `value`

```elixir
@spec value(t()) :: {:ok, String.t()} | {:error, term()}
```

The address value

---

*Consult [api-reference.md](api-reference.md) for complete listing*
