---
title: ImageVersion
description: "One image version as ListMicrovmImageVersions or UpdateMicrovmImageVersion reads it back: its build state, whether RunMicrovm launches it, and what it was built with."
---

```python
@final
class ImageVersion
```

One image version as `ListMicrovmImageVersions` or `UpdateMicrovmImageVersion` reads it
back: its build state, whether `RunMicrovm` launches it, and what it was built with.

## Constructor

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

## Properties

### `additional_os_capabilities`

```python
additional_os_capabilities: list[str] | None
```

### `base_image_arn`

```python
base_image_arn: str
```

### `base_image_version`

```python
base_image_version: str | None
```

The base version the build used, as the service spells it (`"1.0"` where the managed
base lists `"1"`). A record of the build, not a value to pass back as a pin.

### `build_role_arn`

```python
build_role_arn: str
```

### `code_artifact_uri`

```python
code_artifact_uri: str
```

`codeArtifact.uri`: the artifact the version was built from.

### `created_at`

```python
created_at: float
```

Unix seconds.

### `description`

```python
description: str | None
```

### `egress_network_connectors`

```python
egress_network_connectors: list[str] | None
```

### `environment_variables`

```python
environment_variables: dict[str, str] | None
```

### `image_arn`

```python
image_arn: str
```

### `image_version`

```python
image_version: str
```

### `is_active`

```python
is_active: bool
```

Whether `RunMicrovm` launches this version.

### `minimum_memory_mib`

```python
minimum_memory_mib: int | None
```

`resources[0].minimumMemoryInMiB`, the list's one member: the size class the version
was built for, and the only place a built image reports it.

### `state`

```python
state: str
```

The version's build state, as the service spells it.

### `state_reason`

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

Why the version is in this state, when the service said. A failed build's reason is on
its build (`list_image_builds`), and this one is usually absent.

### `status`

```python
status: str
```

`"ACTIVE"` (`RunMicrovm` launches it) or `"INACTIVE"` (it refuses; running VMs keep
running).

### `tags`

```python
tags: dict[str, str] | None
```

### `updated_at`

```python
updated_at: float | None
```

Unix seconds, when the service reported it.

## 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.