adk_artifact_gcs (erlang_adk v0.10.0)

View Source

Immutable, exactly-scoped artifact service backed by Google Cloud Storage-compatible object operations.

Logical scopes and names are never used as object-name components. Each is represented by a deterministic SHA-256 token and every loaded manifest is checked against the exact requested identity. A create-only reservation allocates a version, data is written create-only, and the create-only manifest is the publication point.

Summary

Functions

capabilities(Handle)

-spec capabilities(pid()) -> {ok, map()} | {error, term()}.

code_change(OldVersion, State, Extra)

delete(Handle, Scope, Name, Selector)

-spec delete(pid(), adk_artifact_service:scope(), binary(), adk_artifact_service:delete_selector()) ->
                ok | {error, term()}.

delete(Handle, Scope, Name, Selector, CallOptions)

format_status(Status)

get(Handle, Scope, Name, Selector)

get(Handle, Scope, Name, Selector, CallOptions)

get_range(Handle, Scope, Name, Selector, Range, CallOptions)

handle_call(Request, From, State)

handle_cast(Message, State)

handle_info(Message, State)

init(Prepared)

list(Handle, Scope)

-spec list(pid(), adk_artifact_service:scope()) ->
              {ok, [adk_artifact_service:artifact_meta()]} | {error, term()}.

list_names(Handle, Scope, Options)

-spec list_names(pid(), adk_artifact_service:scope(), map()) ->
                    {ok, adk_artifact_service:name_page()} | {error, term()}.

list_versions(Handle, Scope, Name, Options)

-spec list_versions(pid(), adk_artifact_service:scope(), binary(), map()) ->
                       {ok, adk_artifact_service:version_page()} | {error, term()}.

put(Handle, Scope, Name, Data, Options)

-spec put(pid(), adk_artifact_service:scope(), binary(), binary(), map()) ->
             {ok, adk_artifact_service:artifact_meta()} | {error, term()}.

put(Handle, Scope, Name, Data, Options, CallOptions)

start_download(Handle, Scope, Name, Selector, TransferOptions)

-spec start_download(pid(),
                     adk_artifact_service:scope(),
                     binary(),
                     adk_artifact_service:selector(),
                     map()) ->
                        {ok, adk_artifact_stream:stream(), map()} | {error, term()}.

start_link(Config)

-spec start_link(map()) -> {ok, pid()} | {error, term()}.

start_upload(Handle, Scope, Name, PutOptions, TransferOptions)

-spec start_upload(pid(), adk_artifact_service:scope(), binary(), map(), map()) ->
                      {ok, adk_artifact_stream:stream(), map()} | {error, term()}.

stop(Handle)

-spec stop(pid()) -> ok | {error, term()}.

terminate(Reason, State)