Package com.collabnet.ce.soap60.webservices.scm

# Interface IScmAppSoap

All Known Implementing Classes:
  `ScmAppSoap`, `ScmAppSoapMockStub`, `ScmAppSoapStub`

public interface IScmAppSoap

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `addExternalSystem(String sessionId, String adapterType, String title, String description, SoapNamedValues adapterTypeParameters)`
  Adds an external system of the given adapter type with its title, description and respective list of parameters.
  `RepositorySoapDO`
  `createRepository(String sessionId, String projectId, String externalSystemId, String repositoryDirectory, String title, String description, boolean idRequiredOnCommit, boolean hideMonitoringDetails, String comment)`
  Creates a new repository in the given SCM server.
  `Repository2SoapDO`
  `createRepository2(String sessionId, String projectId, String externalSystemId, String repositoryDirectory, String title, String description, boolean idRequiredOnCommit, boolean hideMonitoringDetails, String comment, RepositoryParameter2SoapDO[] params)`
  Creates a new repository in the given SCM server.
  `void`
  `deleteRepository(String sessionId, String repositoryId)`
  Delete the repository with specified ID.
  `String`
  `getAuthorizedKeys(String sessionId)`
  Get all authorized keys for calling user.
  `String`
  `getAuthorizedKeysForUser(String sessionId, String username)`
  Get all authorized keys for a user with a given username.
  `CommitSoapDO`
  `getCommitData(String sessionId, String commitId)`
  Deprecated.
  from 7.0.0.1 in favour of getCommitData2() that returns Commit2SoapDO
  `Commit2SoapDO`
  `getCommitData2(String sessionId, String commitId)`
  Returns data associated with a specific commit.
  `String`
  `getCommitId(String sessionId, String revision, String externalSystemId, String repoPath)`
  Returns a commit Id corresponding to an commit version.
  `CommitSoapList`
  `getCommitList(String sessionId, String repositoryId, SoapFilter[] filters)`
  Lists the commits on a given repository.
  `ExternalSystemSoapDO`
  `getExternalSystem(String sessionId, String systemId)`
  Returns information associated with an external system integrated with TeamForge.
  `ExternalSystemSoapList`
  `getExternalSystemList(String sessionId)`
  Gets a list of external scm systems integrated with TeamForge.
  `ExternalSystem2SoapList`
  `getExternalSystemList2(String sessionId)`
  Gets a list of external scm systems integrated with TeamForge.
  `ReplicableScmExternalSystemSoapList`
  `getReplicableScmExternalSystemList(String sessionId)`
  Deprecated.
  since 8.1 as this call does not return replicable Git external systems.
  `ReplicableScmExternalSystemSoapList`
  `getReplicableScmExternalSystemList2(String sessionId, String adapterName)`
  Lists the replicable external systems for all adapter types or for a given adapter type.
  `ReplicaDataSoapDO`
  `getReplicaData(String sessionId, String replicaId)`
  For a given replica server id get the replica server data.
  `ReplicaServerSoapList`
  `getReplicaListForExternalSystem(String sessionId, String externalSystemId, boolean approvedOnly)`
  Returns list of replicas for given external system id.
  `ReplicaRepositorySoapList`
  `getReplicaRepositoryList(String sessionId, String replicaId)`
  Lists repositories of the specified replica.
  `ReplicatedRepositorySoapList`
  `getReplicatedRepositoryList(String sessionId, String masterRepositoryId)`
  Lists replicated repositories of the specified SCM master.
  `Repository2SoapDO`
  `getRepository2Data(String sessionId, String externalSystemId, String repositoryDirectory)`
  Returns data associated with a specific repository.
  `Repository2SoapDO`
  `getRepository2DataById(String sessionId, String repositoryId)`
  Returns data associated with a specific repository
  `RepositorySoapDO`
  `getRepositoryData(String sessionId, String externalSystemId, String repositoryDirectory)`
  Returns data associated with a specific repository.
  `RepositorySoapDO`
  `getRepositoryDataById(String sessionId, String repositoryId)`
  Returns data associated with a specific repository
  `RepositorySoapList`
  `getRepositoryList(String sessionId, String projectId)`
  Lists the repositories within a given project
  `RepositorySoapList`
  `getRepositoryListForExternalSystem(String sessionId, String externalSystemId, String userName)`
  Lists the repositories on a given external system
  `String[]`
  `getScmAdapterNames(String sessionId)`
  Returns a string array containing the known list of supported SCM adapters on the server.
  `SoapNamedValues`
  `getScmAdapterParameterNamesWithType(String sessionId, String adapterName)`
  Returns the SCM adapter parameter names with their corresponding type.
  `String`
  `getSCMCheckoutCommand(String sessionId, String repositoryId, String userName)`
  Returns the command needed to check out a specific repository.
  `CheckoutCommandSoapList`
  `getSCMCheckoutCommands(String sessionId, String repositoryId)`
  Returns the list of commands that might be used to check out a specific repository.
  `CheckoutCommandSoapList`
  `getSCMCheckoutCommandsForReplica(String sessionId, String repositoryId, String replicaId)`
  Returns the list of commands that might be used to check out a repository's replica.
  `RepositorySoapDO`
  `moveRepository(String sessionId, String repositoryId, String projectId)`
  Moves the repository from its current project to the one specified.
  `void`
  `removeRepositoryFromReplica(String sessionId, String repositoryId, String replicaId)`
  Remove process of replicating of a given repository on a given replica.
  `void`
  `replicateRepository(String sessionId, String repositoryId, String replicaId)`
  Initiates the process of replicating of a given repository on a given replica.
  `void`
  `setAuthorizedKeys(String sessionId, String authorizedKeys)`
  Set authorized keys for calling user.
  `void`
  `setAuthorizedKeys(String sessionId, String username, String authorizedKeys)`
  Deprecated.
  from 7.2.0.0 in favour of setAuthorizedKeysForUser() which does the same.
  `void`
  `setAuthorizedKeysForUser(String sessionId, String username, String authorizedKeys)`
  Set authorized keys for given user.
  `void`
  `setExternalSystemData(String sessionId, ExternalSystemSoapDO systemData)`
  Updates information associated with an external system integrated with TeamForge.
  `void`
  `setReplicaData(String sessionId, ReplicaDataSoapDO replica)`
  Sets replica server data.
  `void`
  `setRepositoryData(String sessionId, Repository2SoapDO repository)`
  Sets the repository data

- ## Method Details

  - ### getRepositoryList

    RepositorySoapList getRepositoryList(String sessionId, String projectId) throws RemoteException
    Lists the repositories within a given project
    Parameters:
      `sessionId` - User session id.
      `projectId` - The project id.
    Returns:
      List of SCM repositories within the specified project.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - when the specified project id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `SystemFault` - when an unexpected system error occurs.
      `RemoteException`
    Since:
      4.1

  - ### getRepositoryListForExternalSystem

    RepositorySoapList getRepositoryListForExternalSystem(String sessionId, String externalSystemId, String userName) throws RemoteException
    Lists the repositories on a given external system
    Parameters:
      `sessionId` - User session id. Must be site admin.
      `externalSystemId` - The external system (SCM adapter) id.
      `userName` - Name of the user.
    Returns:
      List of repositories on a given external system
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - when the specified external system id is not valid
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `SystemFault` - when an unexpected system error occurs.
      `IllegalArgumentFault` - when any of the parameters is null/empty
      `RemoteException`
    Since:
      6.2

  - ### getCommitList

    CommitSoapList getCommitList(String sessionId, String repositoryId, SoapFilter[] filters) throws RemoteException
    Lists the commits on a given repository.
    Parameters:
      `sessionId` - User session id.
      `repositoryId` - The repository id.
      `filters` - Array of filters to apply (null to return unfiltered list).
    Returns:
      List of SCM commits on the specified repository.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - when the specified repository id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `SystemFault` - when an unexpected system error occurs.
      `InvalidFilterFault` - If the filters are not valid.
      `RemoteException`
    Since:
      4.1

  - ### getCommitData

    @Deprecated CommitSoapDO getCommitData(String sessionId, String commitId) throws RemoteException
    Deprecated.
    from 7.0.0.1 in favour of getCommitData2() that returns Commit2SoapDO
    Returns data associated with a specific commit.
    Parameters:
      `sessionId` - User session id.
      `commitId` - The commit id.
    Returns:
      Commit data.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - when the specified commit id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `SystemFault` - when an unexpected system error occurs.
      `RemoteException`
    Since:
      4.1

  - ### getCommitData2

    Commit2SoapDO getCommitData2(String sessionId, String commitId) throws RemoteException
    Returns data associated with a specific commit.
    Parameters:
      `sessionId` - User session id.
      `commitId` - The commit id.
    Returns:
      Commit data
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - when the specified commit id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `SystemFault` - when an unexpected system error occurs.
      `RemoteException`
    Since:
      7.0.0.1

  - ### getRepositoryData

    RepositorySoapDO getRepositoryData(String sessionId, String externalSystemId, String repositoryDirectory) throws RemoteException
    Returns data associated with a specific repository.
    Parameters:
      `sessionId` - User session id.
      `externalSystemId` - The id of the external system that the repository is located on
      `repositoryDirectory` - The directory on the external system that the repository is located in
    Returns:
      Repository Data
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - when the specified repository id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `SystemFault` - when an unexpected system error occurs.
      `RemoteException`
    Since:
      4.2SP1

  - ### getRepository2Data

    Repository2SoapDO getRepository2Data(String sessionId, String externalSystemId, String repositoryDirectory) throws RemoteException
    Returns data associated with a specific repository.
    Parameters:
      `sessionId` - User session id.
      `externalSystemId` - The id of the external system that the repository is located on
      `repositoryDirectory` - The directory on the external system that the repository is located in
    Returns:
      Repository Data
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - when the specified repository id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `SystemFault` - when an unexpected system error occurs.
      `RemoteException`
    Since:
      7.0

  - ### getRepositoryDataById

    RepositorySoapDO getRepositoryDataById(String sessionId, String repositoryId) throws RemoteException
    Returns data associated with a specific repository
    Parameters:
      `sessionId` - User session id.
      `repositoryId` - The id of the repository
    Returns:
      Repository Data
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - when the specified repository id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `SystemFault` - when an unexpected system error occurs.
      `RemoteException`
    Since:
      4.2SP1 (renamed from getRepositoryData2 in 6.1)

  - ### getRepository2DataById

    Repository2SoapDO getRepository2DataById(String sessionId, String repositoryId) throws RemoteException
    Returns data associated with a specific repository
    Parameters:
      `sessionId` - User session id.
      `repositoryId` - The id of the repository
    Returns:
      Repository Data
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - when the specified repository id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `SystemFault` - when an unexpected system error occurs.
      `RemoteException`
    Since:
      7.0

  - ### setRepositoryData

    void setRepositoryData(String sessionId, Repository2SoapDO repository) throws RemoteException
    Sets the repository data
    Parameters:
      `sessionId` - User session id.
      `repository` - The repository data
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - when the specified repository id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `SystemFault` - when an unexpected system error occurs.
      `RemoteException`
    Since:
      7.0

  - ### getReplicaData

    ReplicaDataSoapDO getReplicaData(String sessionId, String replicaId) throws RemoteException
    For a given replica server id get the replica server data.
    Parameters:
      `sessionId` - the user session
      `replicaId` - the replica server id
    Returns:
      the replica server data
    Throws:
      `InvalidSessionFault`
      `PermissionDeniedFault`
      `SystemFault`
      `NoSuchObjectFault`
      `RemoteException`

  - ### setReplicaData

    void setReplicaData(String sessionId, ReplicaDataSoapDO replica) throws RemoteException
    Sets replica server data.
    Parameters:
      `sessionId` - user session id
      `replica` - the replica server data to be set
    Throws:
      `InvalidSessionFault`
      `PermissionDeniedFault`
      `SystemFault`
      `NoSuchObjectFault`
      `VersionMismatchFault`
      `RemoteException`

  - ### getSCMCheckoutCommand

    String getSCMCheckoutCommand(String sessionId, String repositoryId, String userName) throws RemoteException
    Returns the command needed to check out a specific repository.
    Parameters:
      `sessionId` - User session id.
      `repositoryId` - The id of the repository
      `userName` - User name.
    Returns:
      command to check out the repository
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - when the specified repository id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `SystemFault` - when an unexpected system error occurs.
      `RemoteException`
    Since:
      5.3

  - ### getSCMCheckoutCommands

    CheckoutCommandSoapList getSCMCheckoutCommands(String sessionId, String repositoryId) throws RemoteException
    Returns the list of commands that might be used to check out a specific repository.
    Parameters:
      `sessionId` - User session id.
      `repositoryId` - The id of the repository
    Returns:
      protocol to checkout command tuples
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - when the specified repository id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `SystemFault` - when an unexpected system error occurs.
      `RemoteException`
    Since:
      8.1

  - ### getSCMCheckoutCommandsForReplica

    CheckoutCommandSoapList getSCMCheckoutCommandsForReplica(String sessionId, String repositoryId, String replicaId) throws RemoteException
    Returns the list of commands that might be used to check out a repository's replica.
    Parameters:
      `sessionId` - User session id.
      `repositoryId` - The id of the repository
      `replicaId` - The id of the replica to which checkout command should point
    Returns:
      protocol to checkout command tuples
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - when the specified repository id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `SystemFault` - when an unexpected system error occurs.
      `RemoteException`
    Since:
      8.1

  - ### createRepository

    RepositorySoapDO createRepository(String sessionId, String projectId, String externalSystemId, String repositoryDirectory, String title, String description, boolean idRequiredOnCommit, boolean hideMonitoringDetails, String comment) throws RemoteException
    Creates a new repository in the given SCM server.
    Parameters:
      `sessionId` - User session id.
      `projectId` - The project that will host the new repository
      `externalSystemId` - The id of the external system on which the new repository will be created
      `repositoryDirectory` - The directory on the external system for the new repository
      `title` - The name of the new repository
      `description` - The description for the new repository
      `idRequiredOnCommit` - Whether an artifact ID is required for commits to this repository
      `hideMonitoringDetails` - Controls whether monitoring messages for commit include full details
      `comment` - The comment for documenting the creation of the repository
    Returns:
      Repository Data
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - when the specified repository id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `SystemFault` - when an unexpected system error occurs.
      `RemoteException`
    Since:
      4.2SP1

  - ### createRepository2

    Repository2SoapDO createRepository2(String sessionId, String projectId, String externalSystemId, String repositoryDirectory, String title, String description, boolean idRequiredOnCommit, boolean hideMonitoringDetails, String comment, RepositoryParameter2SoapDO[] params) throws RemoteException
    Creates a new repository in the given SCM server.
    Parameters:
      `sessionId` - User session id.
      `projectId` - The project that will host the new repository
      `externalSystemId` - The id of the external system on which the new repository will be created
      `repositoryDirectory` - The directory on the external system for the new repository
      `title` - The name of the new repository
      `description` - The description for the new repository
      `idRequiredOnCommit` - Whether an artifact ID is required for commits to this repository
      `hideMonitoringDetails` - Controls whether monitoring messages for commit include full details
      `comment` - The comment for documenting the creation of the repository
      `params` - The repository parameter
    Returns:
      Repository Data
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - when the specified repository id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `SystemFault` - when an unexpected system error occurs.
      `RemoteException`
    Since:
      7.0

  - ### deleteRepository

    void deleteRepository(String sessionId, String repositoryId) throws RemoteException
    Delete the repository with specified ID.
    Parameters:
      `sessionId` - The user's SOAP session id
      `repositoryId` - The id of the repository to be deleted
    Throws:
      `InvalidSessionFault` - If the user's session is invalid
      `PermissionDeniedFault` - If the user doesn't have proper permissions to delete the repository
      `SystemFault` - All other faults
      `NoSuchObjectFault` - If repository id doesn't exist
      `RemoteException`
    Since:
      8.0

  - ### moveRepository

    RepositorySoapDO moveRepository(String sessionId, String repositoryId, String projectId) throws RemoteException
    Moves the repository from its current project to the one specified.
    Parameters:
      `sessionId` - The user's SOAP session id
      `repositoryId` - The id of the repository to move
      `projectId` - The id of the project to move the repository to
    Returns:
      RepositorySoapDO The repository object post-move
    Throws:
      `InvalidSessionFault` - If the user's session is invalid
      `NoSuchObjectFault` - If either the repository id or project id doesn't exist
      `ObjectAlreadyExistsFault` - If the destination project is the same as the current project
      `PermissionDeniedFault` - If the user doesn't have proper permissions on either the repository or the project
      `SystemFault` - All other faults
      `RemoteException`
    Since:
      5.4

  - ### getScmAdapterNames

    String[] getScmAdapterNames(String sessionId) throws RemoteException
    Returns a string array containing the known list of supported SCM adapters on the server.
    Parameters:
      `sessionId` - The user's SOAP session id
    Returns:
      String[] The known SCM adapter names
    Throws:
      `InvalidSessionFault` - If the session is invalid
      `PermissionDeniedFault` - If the user is not a site administrator
      `SystemFault` - If anything else goes wrong
      `RemoteException`
    Since:
      5.4

  - ### getScmAdapterParameterNamesWithType

    SoapNamedValues getScmAdapterParameterNamesWithType(String sessionId, String adapterName) throws RemoteException
    Returns the SCM adapter parameter names with their corresponding type.
    Parameters:
      `sessionId` - The user's SOAP session id
      `adapterName` - The SCM adapter's name
    Returns:
      SoapNamedValues The named values with type for the SCM adapter parameters
    Throws:
      `InvalidSessionFault` - If the session is invalid
      `NoSuchObjectFault` - If the adapter name is not available
      `PermissionDeniedFault` - If the user is not a site administrator
      `SystemFault` - If anything else goes wrong
      `RemoteException`
    Since:
      5.4

  - ### addExternalSystem

    String addExternalSystem(String sessionId, String adapterType, String title, String description, SoapNamedValues adapterTypeParameters) throws RemoteException
    Adds an external system of the given adapter type with its title, description and respective list of parameters.
    Parameters:
      `sessionId` - is the user session id.
      `adapterType` - is be the adapter type created, which is one value of the call "getScmAdapterNames()".
      `title` - is the title of the external system.
      `description` - is the description of the external system.
      `adapterTypeParameters` - is the list of parameters of names and associated values for the given adapter type.
    Returns:
      The GUID of the newly added external system.
    Throws:
      `InvalidSessionFault` - When the specified session id is invalid.
      `NoSuchObjectFault` - If the adapter does not exist internally.
      `PermissionDeniedFault` - When the user has insufficient privileges.
      `SystemFault` - When wrong parameters are provided or an unexpected system error occurs.
      `RemoteException`
    Since:
      5.4

  - ### getExternalSystem

    ExternalSystemSoapDO getExternalSystem(String sessionId, String systemId) throws RemoteException
    Returns information associated with an external system integrated with TeamForge.
    Parameters:
      `sessionId` - the user session id.
      `systemId` - The GUID of the external system.
    Returns:
      the external system data.
    Throws:
      `InvalidSessionFault` - When the specified session id is invalid.
      `NoSuchObjectFault` - If the external system does not exist internally.
      `PermissionDeniedFault` - When the user has insufficient privileges.
      `SystemFault` - When wrong parameters are provided or an unexpected system error occurs.
      `RemoteException`
    Since:
      7.1

  - ### getExternalSystemList

    ExternalSystemSoapList getExternalSystemList(String sessionId) throws RemoteException
    Gets a list of external scm systems integrated with TeamForge.
    Parameters:
      `sessionId` - the user session id.
    Returns:
      the external system list.
    Throws:
      `InvalidSessionFault` - When the specified session id is invalid.
      `PermissionDeniedFault` - When the user has insufficient privileges.
      `SystemFault` - When wrong parameters are provided or an unexpected system error occurs.
      `RemoteException`
    Since:
      8.0

  - ### getExternalSystemList2

    ExternalSystem2SoapList getExternalSystemList2(String sessionId) throws RemoteException
    Gets a list of external scm systems integrated with TeamForge.
    Parameters:
      `sessionId` - the user session id.
    Returns:
      the external system list.
    Throws:
      `InvalidSessionFault` - When the specified session id is invalid.
      `PermissionDeniedFault` - When the user has insufficient privileges.
      `SystemFault` - When wrong parameters are provided or an unexpected system error occurs.
      `RemoteException`
    Since:
      18.2

  - ### setExternalSystemData

    void setExternalSystemData(String sessionId, ExternalSystemSoapDO systemData) throws RemoteException
    Updates information associated with an external system integrated with TeamForge.
    Parameters:
      `sessionId` - the user session id.
      `systemData` - the external system data to be updated
    Throws:
      `NoSuchObjectFault` - If the external system does not exist internally.
      `SystemFault` - When wrong parameters are provided or an unexpected system error occurs.
      `InvalidSessionFault` - When the specified session id is invalid.
      `PermissionDeniedFault` - When the user has insufficient privileges.
      `InvalidOperationFault` - When an attempt is made to set different adapterName or adapterCatrogory.
      `RemoteException`
    Since:
      7.1

  - ### getCommitId

    String getCommitId(String sessionId, String revision, String externalSystemId, String repoPath) throws RemoteException
    Returns a commit Id corresponding to an commit version.
    Parameters:
      `sessionId` - User session id.
      `revision` - The Revision Number
      `externalSystemId` - External system id.
      `repoPath` - Repository path.
    Returns:
      The commit Id
    Throws:
      `InvalidSessionFault` - when the session is invalid (expired / time out)
      `PermissionDeniedFault` - when the user does not have read access.
      `SystemFault` - when an unexpected system error occurs.
      `NoSuchObjectFault` - when the specified repository id is invalid.
      `RemoteException`
    Since:
      6.0

  - ### getReplicableScmExternalSystemList

    @Deprecated ReplicableScmExternalSystemSoapList getReplicableScmExternalSystemList(String sessionId) throws RemoteException
    Deprecated.
    since 8.1 as this call does not return replicable Git external systems.
    Lists the replicable external systems. That is, the list of SvnEdge external systems that supports replication.
    Parameters:
      `sessionId` - User session id.
    Returns:
      List of the replicable external systems
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `SystemFault` - when an unexpected system error occurs.
      `RemoteException`
    Since:
      6.1

  - ### getReplicableScmExternalSystemList2

    ReplicableScmExternalSystemSoapList getReplicableScmExternalSystemList2(String sessionId, String adapterName) throws RemoteException
    Lists the replicable external systems for all adapter types or for a given adapter type.
    Parameters:
      `sessionId` - User session id.
      `adapterName` - the adapter name or `null` to list replicable systems for all adapters.
    Returns:
      List of the replicable external systems.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `SystemFault` - when an unexpected system error occurs.
      `RemoteException`
    Since:
      8.1

  - ### getReplicatedRepositoryList

    ReplicatedRepositorySoapList getReplicatedRepositoryList(String sessionId, String masterRepositoryId) throws RemoteException
    Lists replicated repositories of the specified SCM master.
    Parameters:
      `sessionId` - the session key
      `masterRepositoryId` - the repository Id for which to find replicas
    Returns:
      a list of ReplicatedRepository
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - when the specified master repository id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges.
      `SystemFault` - when an unexpected system error occurs.
      `RemoteException`
    Since:
      6.1

  - ### getReplicaListForExternalSystem

    ReplicaServerSoapList getReplicaListForExternalSystem(String sessionId, String externalSystemId, boolean approvedOnly) throws RemoteException
    Returns list of replicas for given external system id.
    Parameters:
      `sessionId` - the user session id.
      `externalSystemId` - The GUID of the external system.
      `approvedOnly` - The GUID of the external system.
    Returns:
      replicas list.
    Throws:
      `IllegalArgumentFault` - When wrong parameters are provided.
      `InvalidSessionFault` - When the specified session id is invalid.
      `RemoteException`
    Since:
      8.1

  - ### getReplicaRepositoryList

    ReplicaRepositorySoapList getReplicaRepositoryList(String sessionId, String replicaId) throws RemoteException
    Lists repositories of the specified replica.
    Parameters:
      `sessionId` - the session key
      `replicaId` - the replica Id for which to find repositories
    Returns:
      a list of ReplicatedRepository
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - when the specified replica id is invalid.
      `RemoteException`
    Since:
      8.1

  - ### replicateRepository

    void replicateRepository(String sessionId, String repositoryId, String replicaId) throws RemoteException
    Initiates the process of replicating of a given repository on a given replica.
    Parameters:
      `sessionId` - the session key
      `repositoryId` - the id of the given repository
      `replicaId` - the id of the given replica
    Throws:
      `IllegalArgumentFault` - when the repositoryId or replicaId are null or empty
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - when the specified master repository or replica are not valid
      `SystemFault` - if replica command creation fails
      `PermissionDeniedFault` - if the user has no permission
      `RemoteException`
    Since:
      8.1

  - ### removeRepositoryFromReplica

    void removeRepositoryFromReplica(String sessionId, String repositoryId, String replicaId) throws RemoteException
    Remove process of replicating of a given repository on a given replica.
    Parameters:
      `sessionId` - the session key
      `repositoryId` - the id of the given repository
      `replicaId` - the id of the given replica
    Throws:
      `IllegalArgumentFault` - when the repositoryId or replicaId are null or empty
      `InvalidSessionFault` - when the specified session id is invalid.
      `NoSuchObjectFault` - when the specified master repository or replica are not valid
      `SystemFault` - if replica command creation fails
      `PermissionDeniedFault` - if the user has no permission
      `RemoteException`
    Since:
      8.1

  - ### getAuthorizedKeysForUser

    String getAuthorizedKeysForUser(String sessionId, String username) throws RemoteException
    Get all authorized keys for a user with a given username.
    Parameters:
      `sessionId` - the session key
      `username` - name of the user
    Returns:
      Authorized keys, separated by '\n' character.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `PermissionDeniedFault` - when the user has insufficient privileges (the sessionId is not of a site admin).
      `SystemFault` - when an unexpected system error occurs.
      `RemoteException`
    Since:
      6.2

  - ### getAuthorizedKeys

    String getAuthorizedKeys(String sessionId) throws RemoteException
    Get all authorized keys for calling user.
    Parameters:
      `sessionId` - the session key
    Returns:
      Authorized keys, separated by '\n' character. Returns empty string if the user has no keys.
    Throws:
      `InvalidSessionFault` - when the specified session id is invalid.
      `SystemFault` - when an unexpected system error occurs.
      `RemoteException`
    Since:
      6.2

  - ### setAuthorizedKeys

    void setAuthorizedKeys(String sessionId, String authorizedKeys) throws RemoteException
    Set authorized keys for calling user. Note: overwrites previous keys, if any.
    Parameters:
      `sessionId` - the session key
      `authorizedKeys` - the string containing authorized keys, separated by '\n' character.
    Since:
      6.2

  - ### setAuthorizedKeysForUser

    void setAuthorizedKeysForUser(String sessionId, String username, String authorizedKeys) throws RemoteException
    Set authorized keys for given user.
    Parameters:
      `sessionId` - the session key
      `username` - username for whom the authorized keys to be set
      `authorizedKeys` - the string containing authorized keys, separated by '\n' character.
    Throws:
      `RemoteException` - when username is invalid
    Since:
      7.2

  - ### setAuthorizedKeys

    @Deprecated void setAuthorizedKeys(String sessionId, String username, String authorizedKeys) throws RemoteException
    Deprecated.
    from 7.2.0.0 in favour of setAuthorizedKeysForUser() which does the same.
    Set authorized keys for given user.
    Parameters:
      `sessionId` - the session key
      `username` - username for whom the authorized keys to be set
      `authorizedKeys` - the string containing authorized keys, separated by '\n' character.
    Since:
      6.2