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

Dagger.Generator

# `t`

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

# `changes`

```elixir
@spec changes(t()) :: Dagger.Changeset.t()
```

The generated changeset from the last run

# `completed`

```elixir
@spec completed(t()) :: {:ok, boolean()} | {:error, term()}
```

Whether the generator complete

# `description`

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

Return the description of the generator

# `empty?`

```elixir
@spec empty?(t()) :: {:ok, boolean()} | {:error, term()}
```

Whether changeset from the last generator run is empty or not

# `id`

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

A unique identifier for this Generator.

# `name`

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

Return the fully qualified name of the generator

# `original_module`

```elixir
@spec original_module(t()) :: Dagger.Module.t()
```

The original module in which the generator has been defined

# `path`

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

The path of the generator within its module

# `run`

```elixir
@spec run(t()) :: t()
```

Execute the generator

---

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