# `GcpCompute.Disk`
[🔗](https://github.com/nyo16/gcp_compute/blob/v0.3.0/lib/gcp_compute/disk.ex#L1)

Parsed `disks` entry of an instance.

# `t`

```elixir
@type t() :: %GcpCompute.Disk{
  auto_delete: boolean() | nil,
  boot: boolean() | nil,
  device_name: String.t() | nil,
  raw: map(),
  size_gb: integer() | nil,
  source: String.t() | nil,
  type: String.t() | nil
}
```

# `from_json`

```elixir
@spec from_json(map()) :: t()
```

Parse one decoded JSON disk map.

# `list`

```elixir
@spec list(term()) :: [t()]
```

Parse a list of decoded JSON `disks`.

Total: a `nil`, an object, or any other non-list degrades to `[]`, and
non-map entries are skipped, rather than raising two modules away from the
response that caused it. The complete original body is always retained in
`GcpCompute.Instance`'s `:raw`.

---

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