---
title: TeardownReport
description: What a teardown did, and what it left behind.
---

What a teardown did, and what it left behind.

## Properties

### failures

```ts
failures: string[];
```

Every failure the teardown swallowed, in the order it hit them.

Kept because a teardown that never throws is a teardown whose failures are invisible
otherwise, and the first one is usually the cause of the rest.

***

### imageDeleted?

```ts
optional imageDeleted?: boolean;
```

Whether the image was deleted, or `null` when deletion was not asked for.

***

### leaked

```ts
leaked: boolean;
```

Whether anything a caller asked for was left behind.

***

### lifecycle?

```ts
optional lifecycle?: string;
```

The lifecycle state the sandbox ended in.

Commonly `"TERMINATING"` rather than `"TERMINATED"`: the default teardown does not
wait, so claiming TERMINATED would claim an observation nobody made. Pass
`waitForTerminated: true` to observe it.

***

### terminateAccepted

```ts
terminateAccepted: boolean;
```

Whether the terminate call was accepted.

***

### undeleted

```ts
undeleted: string[];
```

Identifiers of everything a caller asked to have deleted that still exists.

Identifiers rather than a boolean, because a leak nobody can name is a leak nobody can
clean up. Two things land here: a delete that was attempted and failed, and the build
**log group**, which this client cannot delete at all.

## Provenance

This page is generated from `bindings/microvms-js/index.d.ts` by TypeDoc 0.28.20 and typedoc-plugin-markdown 4.13.1, 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 dts`. `mise run dts:check` fails when the committed file no longer matches the source.