---
title: ImageBuild
description: "One build of an image version: one per Graviton generation, so a version's builds differ in chipset_generation. get_image_build adds the snapshot sizes the listing lacks."
---

```python
@final
class ImageBuild
```

One build of an image version: one per Graviton generation, so a version's builds differ
in `chipset_generation`. `get_image_build` adds the snapshot sizes the listing lacks.

## Constructor

`ImageBuild` declares no `__new__` or `__init__`, so it is not constructed directly: an instance comes back from another call in this package.

## Properties

### `architecture`

```python
architecture: str
```

### `build_id`

```python
build_id: str
```

What `get_image_build` takes, and nothing else in the API mints one.

### `build_state`

```python
build_state: str
```

`buildState`, as the service spells it.

### `chipset`

```python
chipset: str
```

### `chipset_generation`

```python
chipset_generation: str
```

### `code_install_size_in_bytes`

```python
code_install_size_in_bytes: int | None
```

`snapshotBuild.codeInstallSizeInBytes`, from `get_image_build` only.

### `created_at`

```python
created_at: float
```

Unix seconds.

### `disk_snapshot_size_in_bytes`

```python
disk_snapshot_size_in_bytes: int | None
```

`snapshotBuild.diskSnapshotSizeInBytes`, from `get_image_build` only.

### `image_arn`

```python
image_arn: str
```

### `image_version`

```python
image_version: str
```

### `memory_snapshot_size_in_bytes`

```python
memory_snapshot_size_in_bytes: int | None
```

`snapshotBuild.memorySnapshotSizeInBytes`, from `get_image_build` only, and only when
the service reported it.

### `state_reason`

```python
state_reason: str | None
```

Why the build is in this state, when the service said: where a failed build's reason
lives.

## Special methods

### `__repr__`

```python
def __repr__() -> str
```

## Provenance

This page is generated from `bindings/microvms-py/microvms.pyi` by Griffe 2.3.0, run from `site/scripts/gen-reference.mjs` on every `pnpm run sync`, so an edit made here is overwritten by the next run.

To change the page, change the doc comment in the binding's Rust source, then regenerate the declarations with `mise run stubs`. `mise run stubs:check` fails when the committed file no longer matches the source.