---
title: ProvisionedAgentd
description: "A provisioned agentd binary and how it got here: provision_agentd_report()'s answer."
---

```python
@final
class ProvisionedAgentd
```

A provisioned `agentd` binary and how it got here: `provision_agentd_report()`'s answer.

## Constructor

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

## Properties

### `data`

```python
data: bytes
```

The binary itself, an aarch64 ELF: the bytes to write into an image build context.

### `path`

```python
path: str
```

Where the binary is on disk: the cache entry, or the caller's own path.

### `sha256`

```python
sha256: str
```

The lowercase hex SHA-256 of `data`.

### `source`

```python
source: str
```

`"caller-supplied"`, `"cache"`, or `"fetched"`.

### `supplied_by`

```python
supplied_by: str | None
```

For a caller-supplied binary, `"argument"` (the `binary` parameter) or `"env"`
(`$MICROVM_AGENTD`); otherwise `None`.

### `verification`

```python
verification: str | None
```

How the bytes were proven, when fetched or when the cache entry was installed:
`"attestation"` (the release workflow's Sigstore attestation, provenance) or
`"checksum"` (the release's `SHA256SUMS`, integrity). `None` for a caller-supplied
binary.

### `version`

```python
version: str
```

The release version the binary was provisioned for, without a leading `v`.

## Special methods

### `__repr__`

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

Everything but the bytes, which stay out so a printed report is one line.

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