Spectre.Stack.Ref (Spectre v0.3.0)

Copy Markdown View Source

Logical reference to one capability or runtime resource in a resolved Stack.

A Ref carries version and definition fences, but never the process, client, connection, or secret used to implement the capability.

Summary

Functions

Returns the stable key used to fence a runtime child binding.

Validates that a Ref contains only immutable logical data.

Types

kind()

@type kind() :: :package | :contract | :service | :operation | :action | :resource

t()

@type t() :: %Spectre.Stack.Ref{
  id: term(),
  installation: term(),
  installation_digest: String.t(),
  kind: kind(),
  package: term(),
  stack: module(),
  stack_digest: String.t(),
  version: String.t()
}

Functions

key(ref)

@spec key(t()) :: tuple()

Returns the stable key used to fence a runtime child binding.

valid?(ref)

@spec valid?(term()) :: boolean()

Validates that a Ref contains only immutable logical data.