Interface CapabilitySetManager

    • Method Detail

      • 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: