# `Puck.Sandbox.Runtime.Instance`
[🔗](https://github.com/bradleygolden/puck/blob/v0.2.25/lib/puck/sandbox/runtime/instance.ex#L1)

Struct representing a runtime sandbox instance.

This is a lightweight handle to an existing sandbox. The actual sandbox
state lives in the infrastructure (Docker container, Fly machine, etc.)
and should be queried via `Puck.Sandbox.Runtime.status/1`.

# `t`

```elixir
@type t() :: %Puck.Sandbox.Runtime.Instance{
  adapter: module(),
  config: map(),
  created_at: integer(),
  id: String.t(),
  metadata: map()
}
```

# `new`

Creates a new Instance struct with the given attributes.

## Examples

    iex> instance = Puck.Sandbox.Runtime.Instance.new(id: "abc123", adapter: Docker)
    iex> {instance.id, instance.adapter, instance.config, instance.metadata}
    {"abc123", Docker, %{}, %{}}

---

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