49 lines
2.0 KiB
Plaintext
49 lines
2.0 KiB
Plaintext
##! The Management event API of cluster nodes. The API consists of request/
|
|
##! response event pairs, like elsewhere in the Management, Supervisor, and
|
|
##! Control frameworks.
|
|
|
|
@load policy/frameworks/management/types
|
|
|
|
module Management::Node::API;
|
|
|
|
export {
|
|
## Management agents send this event to every Zeek cluster node to run a
|
|
## "dispatch" -- a particular, pre-implemented action. This is the agent-node
|
|
## complement to :zeek:see:`Management::Agent::API::node_dispatch_request`.
|
|
##
|
|
## reqid: a request identifier string, echoed in the response event.
|
|
##
|
|
## action: the requested dispatch command, with any arguments.
|
|
##
|
|
## nodes: the cluster node names this dispatch targets. An empty set,
|
|
## supplied by default, means it applies to all nodes. Since nodes
|
|
## receive all dispatch requests, they can use any node names provided
|
|
## here to filter themselves out of responding.
|
|
global node_dispatch_request: event(reqid: string, action: vector of string,
|
|
nodes: set[string] &default=set());
|
|
|
|
## Response to a node_dispatch_request event. The nodes send this back
|
|
## to the agent. This is the agent-node equivalent of
|
|
## :zeek:see:`Management::Agent::API::node_dispatch_response`.
|
|
##
|
|
## reqid: the request identifier used in the request event.
|
|
##
|
|
## result: a :zeek:see:`Management::Result` record covering one Zeek
|
|
## cluster node managed by the agent. Upon success, the data field
|
|
## contains a value appropriate for the requested dispatch.
|
|
global node_dispatch_response: event(reqid: string, result: Management::Result);
|
|
|
|
|
|
# Notification events, node -> agent
|
|
|
|
## The cluster nodes send this event upon peering as a "check-in" to
|
|
## the agent, to indicate the node is now available to communicate
|
|
## with. It is an agent-level equivalent of :zeek:see:`Broker::peer_added`,
|
|
## and similar to :zeek:see:`Management::Agent::API::notify_agent_hello`
|
|
## for agents.
|
|
##
|
|
## node: the name of the node, as given in :zeek:see:`Cluster::node`.
|
|
##
|
|
global notify_node_hello: event(node: string);
|
|
}
|