Opsmaru.Incus (opsmaru_incus v0.1.0)

Copy Markdown View Source

Explicit native Incus client, independent of application startup and SQL.

connect/2 performs discovery; constructing Connection/Context does no I/O. Every call checks the host binding/readiness. raw_query/5 retains native envelope metadata, error values and ETags; it is an explicit low-level call, not evidence of typed method parity. No mutations are automatically retried.

Summary

Functions

Invoke an implemented native method by its reference name; missing methods fail explicitly.

No-op for an immutable client with per-request connections; close separately owned channels explicitly.

Open a shared SFTP session matching the pinned GetInstanceFileSFTP.

List implemented native method names. This is not a full-parity claim.

Open the native NBD byte connection after checking the native extension.

Download a native ACL log to a bounded acknowledged binary sink.

Open the native SFTP byte connection; the caller supplies its SFTP implementation.

Open a shared volume SFTP session after its native extension check, like GetStoragePoolVolumeFileSFTP.

Open a native volume NBD byte channel, optionally requesting writable access.

Open a native volume SFTP byte channel; protocol handling remains caller-owned.

Return an independent client with an explicit local request context; no backend call or identity substitution.

Types

t()

@type t() :: %Opsmaru.Incus{connection: term(), context: term(), server: term()}

Functions

call(client, method, arguments \\ %{}, opts \\ [])

Invoke an implemented native method by its reference name; missing methods fail explicitly.

connect(connection, context)

connect(connection, context, list)

disconnect(incus)

No-op for an immutable client with per-request connections; close separately owned channels explicitly.

file_sftp(client, instance)

Open a shared SFTP session matching the pinned GetInstanceFileSFTP.

has_extension?(incus, extension)

member(client, member)

methods()

List implemented native method names. This is not a full-parity claim.

nbd(client, instance, opts \\ [])

Open the native NBD byte connection after checking the native extension.

network_acl_log(client, name, sink)

Download a native ACL log to a bounded acknowledged binary sink.

project(client, project)

raw_query(client, method, path)

raw_query(client, method, path, opts)

raw_query(connection, context, method, path, opts)

require_extension(client, extension)

sftp(client, instance)

Open the native SFTP byte connection; the caller supplies its SFTP implementation.

volume_file_sftp(client, pool, type, name)

Open a shared volume SFTP session after its native extension check, like GetStoragePoolVolumeFileSFTP.

volume_nbd(client, pool, type, name, opts \\ [])

Open a native volume NBD byte channel, optionally requesting writable access.

volume_sftp(client, pool, type, name)

Open a native volume SFTP byte channel; protocol handling remains caller-owned.

with_context(client, request_context)

Return an independent client with an explicit local request context; no backend call or identity substitution.