# `Dagger.FunctionCall`
[🔗](https://github.com/dagger/dagger/blob/v0.21.7/sdk/elixir/lib/dagger/gen/function_call.ex#L2)

An active function call.

# `t`

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

# `id`

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

A unique identifier for this FunctionCall.

# `input_args`

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

The argument values the function is being invoked with.

# `name`

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

The name of the function being called.

# `parent`

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

The value of the parent object of the function being called. If the function is top-level to the module, this is always an empty object.

# `parent_name`

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

The name of the parent object of the function being called. If the function is top-level to the module, this is the name of the module.

# `return_error`

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

Return an error from the function.

# `return_value`

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

Set the return value of the function call to the provided value.

---

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