# `Opsmaru.Incus.Operation`
[🔗](https://github.com/upmaru/opsmaru-incus/blob/v0.1.0/lib/opsmaru/incus/operation.ex#L1)

Native accepted operation bound to the originating backend and host identity.
Poll/wait keep native identity and metadata. Local timeout/stream close never
imply cancellation. Cancellation first checks authoritative `may_cancel` and
issues at most one native DELETE. No application task/persistence is created.

# `add_handler`

Native AddHandler on an explicit listener bound to the same backend and
identity. The operation is refreshed first: a successful final operation
returns `{:ok, nil}` and a failed one its native failure, as natively;
otherwise `callback` receives each decoded `Operation` event for this
operation's ID. The caller owns the listener's lifetime.

# `cancel`

# `completed?`

# `data`

# `from_response`

# `get`

Return the current immutable native snapshot without querying Incus.

# `poll`

# `raw`

Explicit native RawOperation request, retaining ETag and accepted identity without waiting.

# `refresh`

Refresh the native snapshot on its originating client, retaining identity and ETag.

# `remove_handler`

Native RemoveHandler for a target registered by `add_handler/3`.

# `successful?`

# `wait`

# `wait_with_context`

Bound a local wait to an explicit request context; cancellation never sends a backend DELETE.

# `websocket`

---

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