We are currently developing a plug-in to take a few actions when an agent is waiting authorization. I understand that we can register an agent registered listener and then change the status of the agent using REST API. For us to be able to make sure that we take care of all status change events for an agent, would like to understand the agent status transitions. While I did search through and found documents mentioning what the authorized, unauthorized, enabled and disabled mean, we do have a few questions with respect to other events like:
1. What does a "registered" event mean? - when is it generated? - we understand that it is generated for example when the TeamCity server is recycled. Are there other such instances when an agent is registered?
2. What do we really mean when an agent is "removed"?
3. Does the agent send a heartbeat to the server at regular intervals? If so, at what frequency? When does the agent status change to connected/disconnected?
Apart from the above quesitons, is there some documentation available describing the life cycle of an agent and is state/status transitions? If so, can you please point me to the same?