Interface ServerResponsibility

  • All Superinterfaces:
    ServerPermissionsRestrictor
    All Known Subinterfaces:
    ServerResponsibilityEx
    All Known Implementing Classes:
    ServerResponsibilityImpl

    public interface ServerResponsibility
    extends ServerPermissionsRestrictor
    This interface (as a spring bean) is used to understand current server responsibilities. In case of multi-nodes setup, secondary nodes should only have a limited scope of responsibilities. Generally, secondary node is not able to write to database (except certain predefined tables) and cannot modify data directory. Also, this node cannot make external network connections.
    If your plugin requires any of those privileges, you can use IOGuard to make this action ignoring the defaults. Be aware of the consequences.
    Since:
    2018.1
    • Method Detail

      • canCleanup

        boolean canCleanup()
        Returns:
        true if the server should perform cleanup
      • canManageAgents

        boolean canManageAgents()
        Returns:
        true if the server should manage agents (register, unregister, etc...)
      • canManageServerConfiguration

        boolean canManageServerConfiguration()
        Returns:
        true if the server can manage global server settings (licenses, authentication settings, roles, etc)
        Since:
        2020.2
      • canManageProjectsConfiguration

        boolean canManageProjectsConfiguration()
        Returns:
        true if the server can manage/change projects configuration
        Since:
        2020.2
      • canWriteToConfigDirectory

        boolean canWriteToConfigDirectory()
        Returns:
        true if this node can modify files under the <Data directory>/config directory
        Since:
        2020.2
      • canManageBuilds

        boolean canManageBuilds()
        Returns:
        true if the server should manage builds (start, stop, finish, delete)
      • canQueueBuilds

        boolean canQueueBuilds()
        Returns:
        true if the server can create build promotions and add they to queue
      • isResponsibleForBuild

        boolean isResponsibleForBuild​(@NotNull
                                      SBuild build)
        Returns:
        true if the server should perform some background activities related to the specified build.
      • canCheckForChanges

        boolean canCheckForChanges()
        Returns:
        true if the server should checking for changes
      • canManageUsers

        boolean canManageUsers()
        Returns:
        true if the server should manage users (create, delete, change properties)
      • canManageInvestigations

        boolean canManageInvestigations()
      • canManageClouds

        boolean canManageClouds()
        Returns:
        true if server should manage clouds (i.e. regularly update list of instances from hypervisor, start/stop new instances, etc.)
      • canReportUsageStatistics

        boolean canReportUsageStatistics()
      • canSendNotifications

        boolean canSendNotifications()
      • canWriteToAudit

        boolean canWriteToAudit()
      • canProcessUserDataModificationRequests

        boolean canProcessUserDataModificationRequests()
        If this responsibility is enabled then server user interface allows users to perform various data modification requests, like builds triggering, queue reordering, editing of the settings, etc.
        Returns:
        see above
        Since:
        2020.2