Normandy.Coordination.Orchestration (normandy v2.2.0)

View Source

The types shared by the orchestrators (Normandy.Coordination.SequentialOrchestrator and Normandy.Coordination.ParallelOrchestrator): an agent, an agent spec and the result shape. Its functions are internal to the orchestrators and not part of the public API.

Summary

Types

A bare agent config (id "agent_<index>") or a spec.

Outputs keyed by agent id, or an Normandy.OrchestrationError carrying results and errors.

An agent with its id and optional :input and :transform.

Types

agent()

@type agent() :: Normandy.Agents.BaseAgentConfig.t() | spec()

A bare agent config (id "agent_<index>") or a spec.

result()

@type result() ::
  {:ok, %{required(String.t()) => term()}}
  | {:error, Normandy.OrchestrationError.t()}

Outputs keyed by agent id, or an Normandy.OrchestrationError carrying results and errors.

spec()

@type spec() :: %{
  :id => String.t(),
  :agent => Normandy.Agents.BaseAgentConfig.t(),
  optional(:input) => term(),
  optional(:transform) => (term() -> term())
}

An agent with its id and optional :input and :transform.