Interface RemoteAgentManager

All Superinterfaces:
RemotedRemoteAgentManager
All Known Implementing Classes:
RemoteAgentManagerImpl

public interface RemoteAgentManager extends RemotedRemoteAgentManager
Manages the interactions with remote agents
  • Method Details

    • registerAgent

      @NotNull @NotNull PipelineDefinition registerAgent(@NotNull @NotNull PipelineDefinition remoteAgentDefinition) throws BambooLicenseException
      Initial setup / verification of the agent. This method may perform checking of whether the remote agent matches the current version on the server / updates etc
      Parameters:
      remoteAgentDefinition - - id may be -1 if the build is new
      Returns:
      RemoteAgentDefinition with the id filled
      Throws:
      BambooLicenseException
    • updateRemoteAgentStatus

      AgentHeartBeatInfo updateRemoteAgentStatus(@NotNull @NotNull Long agentId, @Nullable @Nullable UUID uuid, @NotNull @NotNull AgentStatus status, @NotNull @NotNull SystemInfo systemInfo)
      Updates the BuildAgent's status representing a remote agent on the local server.
      Parameters:
      agentId - ID of the agent
      uuid - UUID of the agent
      status - agent status
      systemInfo - agent system info
      Returns:
      current heart beat info
    • checkOfflineAgents

      void checkOfflineAgents()
      Runs a check for offline remote agents.
    • bootstrapping

      void bootstrapping(String agentHostName)

      Notifies the RemoteAgentManager that a remote agent has commenced bootstrapping.

      Parameters:
      agentHostName - The host name or IP address of the host on which the remote agent is running. null if unknown.

    • bootstrappingEphemeral

      void bootstrappingEphemeral(String agentHostName)

      Notifies the RemoteAgentManager that an ephemeral agent has commenced bootstrapping.

      Parameters:
      agentHostName - The host name or IP address of the host on which the remote agent is running. null if unknown.

      Since:
      9.3
    • bootstrappingElastic

      void bootstrappingElastic(String agentHostName, @Nullable @Nullable String instanceId)

      Notifies the RemoteAgentManager that an elastic agent has commenced bootstrapping.

      Parameters:
      agentHostName - The host name or IP address of the host on which the remote agent is running. null if unknown.

      instanceId - the instance the elastic agent is loading on
    • getRemoteAgentLog

      List<String> getRemoteAgentLog()
    • setRemoteAgentFunctionEnabled

      void setRemoteAgentFunctionEnabled(boolean remoteAgentFunctionEnabled) throws Exception

      Controls whether the remote agent functionality of Bamboo is enabled.

      Parameters:
      remoteAgentFunctionEnabled - true if remote agent functionality should be enabled; false otherwise.
      Throws:
      Exception - on any error
    • isRemoteAgentFunctionEnabled

      boolean isRemoteAgentFunctionEnabled()
      Checks whether the remote agent functionality is currently enabled.
      Returns:
      true, if remote agent functionality is enabled, false otherwise
    • stopRemoteAgent

      void stopRemoteAgent(@NotNull @NotNull BuildAgent agent)
    • addRemoteAgentLogEntry

      void addRemoteAgentLogEntry(String logEntry)
    • start

      void start() throws Exception
      Throws:
      Exception
    • stopConnectors

      void stopConnectors() throws Exception
      Throws:
      Exception