# `Dagger.EnumTypeDef`
[🔗](https://github.com/dagger/dagger/blob/v0.20.5/sdk/elixir/lib/dagger/gen/enum_type_def.ex#L2)

A definition of a custom enum defined in a Module.

# `t`

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

# `description`

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

A doc string for the enum, if any.

# `id`

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

A unique identifier for this EnumTypeDef.

# `members`

```elixir
@spec members(t()) :: {:ok, [Dagger.EnumValueTypeDef.t()]} | {:error, term()}
```

The members of the enum.

# `name`

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

The name of the enum.

# `source_map`

```elixir
@spec source_map(t()) :: Dagger.SourceMap.t() | nil
```

The location of this enum declaration.

# `source_module_name`

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

If this EnumTypeDef is associated with a Module, the name of the module. Unset otherwise.

# `values`

> This function is deprecated. use members instead
.

```elixir
@spec values(t()) :: {:ok, [Dagger.EnumValueTypeDef.t()]} | {:error, term()}
```

---

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