Interface CapabilitySetManager

All Superinterfaces:
RemotedCapabilitySetManager
All Known Implementing Classes:
CapabilitySetManagerImpl

public interface CapabilitySetManager extends RemotedCapabilitySetManager
  • Method Details

    • getSharedRemoteCapabilitySet

      CapabilitySet getSharedRemoteCapabilitySet()
      Gets the remotely shared capabilities
      Returns:
      CapabilitySet
    • saveCapabilitySet

      void saveCapabilitySet(@NotNull @NotNull CapabilitySet capabilitySet)
      Saves a capability set
      Parameters:
      capabilitySet -
    • createAgentCapabilitySet

      @NotNull @NotNull CapabilitySet createAgentCapabilitySet(@NotNull @NotNull LocalAgentDefinition pipelineDefinition)
      Create an agent scope capability set for local agents
      Parameters:
      pipelineDefinition -
      Returns:
    • createAgentCapabilitySet

      @NotNull @NotNull CapabilitySet createAgentCapabilitySet(@NotNull @NotNull RemoteAgentDefinition pipelineDefinition)
      Create an agent scope capability set for remote agents
      Parameters:
      pipelineDefinition -
      Returns:
    • getCombinedCapabilitySet

      @NotNull @NotNull ReadOnlyCapabilitySet getCombinedCapabilitySet(@NotNull @NotNull CapabilitySet agentCapabilitySet)
      Gets a combined "effective" capabilitySet given an agent's capabilitySet. Will retrieve the shared capabilitySet for the agent based on the CapabilityScope. The agent capabilitySet will override capabilities in the CapabilityScope.SHARED capabilities if there's a precise key match.
      Parameters:
      agentCapabilitySet -
      Returns:
    • getCombinedCapabilitySet

      ReadOnlyCapabilitySet getCombinedCapabilitySet(@NotNull @NotNull CapabilitySet agentCapabilitySet, @Nullable @Nullable CapabilitySet sharedCapabilitySet)
      Gets a combined "effective" capabilitySet given an agent's capability set and a shared capability set The agent capabilitySet will override capabilities in the CapabilityScope.SHARED capabilities if there's a precise key match.
    • getSystemCapabilityKeys

      @NotNull @NotNull Collection<String> getSystemCapabilityKeys(@NotNull @NotNull String type, boolean isElasticEnabled)
      Returns a list of Capability Keys that match the given type
      Parameters:
      type - eg "builder" or "jdk"
      Returns:
      list of capability keys eg. "system.builder.mvn2.Maven 2"
    • getSystemCapabilities

      @NotNull @NotNull Collection<Capability> getSystemCapabilities(@NotNull @NotNull String type)
      Collection of Capability which have keys prefixed with system.{type} Used to identify Bamboo system capabilities for Builders / JDKs.
      Parameters:
      type -
      Returns:
    • getSystemCapabilitiesByKey

      @NotNull @NotNull Collection<Capability> getSystemCapabilitiesByKey(@NotNull @NotNull String key)
      Collection of Capability which have the specified key
      Parameters:
      key -
      Returns:
    • findUniqueCapabilityKeys

      @NotNull @NotNull List<String> findUniqueCapabilityKeys()
      Finds all the distinct capability keys
      Returns:
    • getPipelineDefinition

      @Nullable @Nullable PipelineDefinition getPipelineDefinition(@NotNull @NotNull CapabilitySet capabilitySet)
    • getElasticImage

      @Nullable @Nullable ElasticImageConfiguration getElasticImage(@NotNull @NotNull CapabilitySet capabilitySet)