ReqManagedAgents.Client.Behaviour behaviour (ReqManagedAgents v0.1.0)

Copy Markdown View Source

Callback contract for the Managed Agents control plane, so consumers can swap in a mock client in tests. ReqManagedAgents.Client is the live implementation.

Summary

Types

result()

@type result() :: {:ok, map()} | {:error, term()}

Callbacks

archive_agent(t, t)

@callback archive_agent(ReqManagedAgents.Client.t(), String.t()) :: result()

archive_environment(t, t)

@callback archive_environment(ReqManagedAgents.Client.t(), String.t()) :: result()

archive_session(t, t)

@callback archive_session(ReqManagedAgents.Client.t(), String.t()) :: result()

attach_file_to_session(t, t, map)

@callback attach_file_to_session(ReqManagedAgents.Client.t(), String.t(), map()) ::
  result()

create_agent(t, map)

@callback create_agent(ReqManagedAgents.Client.t(), map()) :: result()

create_environment(t, map)

@callback create_environment(ReqManagedAgents.Client.t(), map()) :: result()

create_session(t, map)

@callback create_session(ReqManagedAgents.Client.t(), map()) :: result()

delete_session(t, t)

@callback delete_session(ReqManagedAgents.Client.t(), String.t()) :: result()

download_file(t, t)

@callback download_file(ReqManagedAgents.Client.t(), String.t()) ::
  {:ok, binary()} | {:error, term()}

get_agent(t, t)

@callback get_agent(ReqManagedAgents.Client.t(), String.t()) :: result()

get_environment(t, t)

@callback get_environment(ReqManagedAgents.Client.t(), String.t()) :: result()

get_session(t, t)

@callback get_session(ReqManagedAgents.Client.t(), String.t()) :: result()

list_agents(t, map)

@callback list_agents(ReqManagedAgents.Client.t(), map()) :: result()

list_all_events(t, t, map)

@callback list_all_events(ReqManagedAgents.Client.t(), String.t(), map()) ::
  {:ok, [map()]} | {:error, term()}

list_environments(t, map)

@callback list_environments(ReqManagedAgents.Client.t(), map()) :: result()

list_events(t, t, map)

@callback list_events(ReqManagedAgents.Client.t(), String.t(), map()) :: result()

list_sessions(t, map)

@callback list_sessions(ReqManagedAgents.Client.t(), map()) :: result()

send_event(t, t, map)

@callback send_event(ReqManagedAgents.Client.t(), String.t(), map()) :: result()

send_events(t, t, list)

@callback send_events(ReqManagedAgents.Client.t(), String.t(), [map()]) :: result()

update_agent(t, t, map)

@callback update_agent(ReqManagedAgents.Client.t(), String.t(), map()) :: result()

upload_file(t, map)

@callback upload_file(ReqManagedAgents.Client.t(), map()) :: result()