ExStorageService.Cluster.Node (ex_storage_service v0.6.4)

Copy Markdown View Source

Persistent control-plane identity for one configured cluster member.

Records change only when node control state changes or a new generation starts. They are not heartbeat records.

Summary

Types

t()

@type t() :: %ExStorageService.Cluster.Node{
  capacity: pos_integer() | nil,
  draining: boolean(),
  enabled: boolean(),
  erlang_endpoint: node(),
  generation: pos_integer(),
  internal_endpoint: String.t() | nil,
  node_id: String.t(),
  role: :data | :metadata,
  schema: 2,
  updated_at: DateTime.t() | String.t() | integer(),
  zone: String.t() | nil
}

Functions

cast(node)

@spec cast(term()) :: {:ok, t()} | {:error, :invalid_cluster_node}

eligible?(node)

@spec eligible?(t()) :: boolean()

from_config(config, opts \\ [])

@spec from_config(
  ExStorageService.InstanceConfig.t(),
  keyword()
) :: t()