Interface GovernanceExchangeInterface
- All Known Implementing Classes:
GovernanceExchangeClient
public interface GovernanceExchangeInterface
The GovernanceExchangeInterface enables the exchange of governance definitions between an external asset manager and open metadata.
It includes the exchanges of governance definitions such as GovernancePolicy and GovernanceRule as well as classifications
set up by the governance teams such as SubjectArea classification.
-
Method Summary
Modifier and TypeMethodDescriptionvoid
clearGovernanceDelegation
(String userId, String assetManagerGUID, String assetManagerName, String definitionGUID, String delegatedToDefinitionGUID) Remove the link between a governance definition and a governance definition that is delegated to (ie provides an implementation of).createGovernanceDefinition
(String userId, String assetManagerGUID, String assetManagerName, String typeName, ExternalIdentifierProperties externalIdentifierProperties, GovernanceDefinitionProperties definitionProperties) Create a new definition.void
deleteGovernanceDefinition
(String userId, String assetManagerGUID, String assetManagerName, String definitionGUID) Delete a specific governance definition.getGovernanceDefinitionByDocId
(String userId, String assetManagerGUID, String assetManagerName, String documentIdentifier) Retrieve the governance definition by its assigned unique document identifier.getGovernanceDefinitionByGUID
(String userId, String assetManagerGUID, String assetManagerName, String definitionGUID) Retrieve the governance definition by the unique identifier assigned by this service when it was created.void
linkDefinitions
(String userId, String assetManagerGUID, String assetManagerName, String definitionOneGUID, String definitionTwoGUID, String description) Link two related definitions together.void
setupGovernanceDelegation
(String userId, String assetManagerGUID, String assetManagerName, String definitionGUID, String delegatedToDefinitionGUID, String rationale) Create a link to show that a governance definition supports the requirements of one of the governance drivers.void
unlinkDefinitions
(String userId, String assetManagerGUID, String assetManagerName, String definitionOneGUID, String definitionTwoGUID) Remove the link between two definitions.void
updateGovernanceDefinition
(String userId, String assetManagerGUID, String assetManagerName, String definitionGUID, boolean isMergeUpdate, GovernanceDefinitionProperties definitionProperties) Update an existing definition.
-
Method Details
-
createGovernanceDefinition
String createGovernanceDefinition(String userId, String assetManagerGUID, String assetManagerName, String typeName, ExternalIdentifierProperties externalIdentifierProperties, GovernanceDefinitionProperties definitionProperties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Create a new definition.- Parameters:
userId
- calling userassetManagerGUID
- unique identifier of software capability representing the callerassetManagerName
- unique name of software capability representing the callerexternalIdentifierProperties
- optional properties used to define an external identifiertypeName
- type of definitiondefinitionProperties
- properties of the definition- Returns:
- unique identifier of the definition
- Throws:
InvalidParameterException
- typeName, documentIdentifier or userId is null; documentIdentifier is not unique; typeName is not validPropertyServerException
- problem accessing property serverUserNotAuthorizedException
- security access problem
-
updateGovernanceDefinition
void updateGovernanceDefinition(String userId, String assetManagerGUID, String assetManagerName, String definitionGUID, boolean isMergeUpdate, GovernanceDefinitionProperties definitionProperties) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Update an existing definition.- Parameters:
userId
- calling userassetManagerGUID
- unique identifier of software capability representing the callerassetManagerName
- unique name of software capability representing the callerdefinitionGUID
- unique identifier of the definition to updateisMergeUpdate
- are unspecified properties unchanged (true) or replaced with null?definitionProperties
- properties to update- Throws:
InvalidParameterException
- guid, documentIdentifier or userId is null; documentIdentifier is not unique; guid is not knownPropertyServerException
- problem accessing property serverUserNotAuthorizedException
- security access problem
-
deleteGovernanceDefinition
void deleteGovernanceDefinition(String userId, String assetManagerGUID, String assetManagerName, String definitionGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Delete a specific governance definition.- Parameters:
userId
- calling userassetManagerGUID
- unique identifier of software capability representing the callerassetManagerName
- unique name of software capability representing the callerdefinitionGUID
- unique identifier of the definition to remove- Throws:
InvalidParameterException
- guid is null or not knownPropertyServerException
- problem accessing property serverUserNotAuthorizedException
- security access problem
-
linkDefinitions
void linkDefinitions(String userId, String assetManagerGUID, String assetManagerName, String definitionOneGUID, String definitionTwoGUID, String description) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Link two related definitions together. If the link already exists the description is updated.- Parameters:
userId
- calling userassetManagerGUID
- unique identifier of software capability representing the callerassetManagerName
- unique name of software capability representing the callerdefinitionOneGUID
- unique identifier of the first definitiondefinitionTwoGUID
- unique identifier of the second definitiondescription
- description of their relationship- Throws:
InvalidParameterException
- one of the guids is null or not knownPropertyServerException
- problem accessing property serverUserNotAuthorizedException
- security access problem
-
unlinkDefinitions
void unlinkDefinitions(String userId, String assetManagerGUID, String assetManagerName, String definitionOneGUID, String definitionTwoGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Remove the link between two definitions.- Parameters:
userId
- calling userassetManagerGUID
- unique identifier of software capability representing the callerassetManagerName
- unique name of software capability representing the callerdefinitionOneGUID
- unique identifier of the first definitiondefinitionTwoGUID
- unique identifier of the second definition- Throws:
InvalidParameterException
- one of the guids is null or not knownPropertyServerException
- problem accessing property serverUserNotAuthorizedException
- security access problem
-
setupGovernanceDelegation
void setupGovernanceDelegation(String userId, String assetManagerGUID, String assetManagerName, String definitionGUID, String delegatedToDefinitionGUID, String rationale) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Create a link to show that a governance definition supports the requirements of one of the governance drivers. If the link already exists the rationale is updated.- Parameters:
userId
- calling userassetManagerGUID
- unique identifier of software capability representing the callerassetManagerName
- unique name of software capability representing the callerdefinitionGUID
- unique identifier of the governance definitiondelegatedToDefinitionGUID
- unique identifier of the governance definition that is delegated torationale
- description of how the delegation supports the definition- Throws:
InvalidParameterException
- one of the guids is null or not knownPropertyServerException
- problem accessing property serverUserNotAuthorizedException
- security access problem
-
clearGovernanceDelegation
void clearGovernanceDelegation(String userId, String assetManagerGUID, String assetManagerName, String definitionGUID, String delegatedToDefinitionGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Remove the link between a governance definition and a governance definition that is delegated to (ie provides an implementation of).- Parameters:
userId
- calling userassetManagerGUID
- unique identifier of software capability representing the callerassetManagerName
- unique name of software capability representing the callerdefinitionGUID
- unique identifier of the governance definitiondelegatedToDefinitionGUID
- unique identifier of the governance definition that is delegated to- Throws:
InvalidParameterException
- one of the guids is null or not knownPropertyServerException
- problem accessing property serverUserNotAuthorizedException
- security access problem
-
getGovernanceDefinitionByGUID
GovernanceDefinitionElement getGovernanceDefinitionByGUID(String userId, String assetManagerGUID, String assetManagerName, String definitionGUID) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the governance definition by the unique identifier assigned by this service when it was created.- Parameters:
userId
- calling userassetManagerGUID
- unique identifier of software capability representing the callerassetManagerName
- unique name of software capability representing the callerdefinitionGUID
- identifier of the governance definition to retrieve- Returns:
- properties of the matching definition
- Throws:
InvalidParameterException
- documentIdentifier or userId is null; guid is not recognizedPropertyServerException
- problem accessing property serverUserNotAuthorizedException
- security access problem
-
getGovernanceDefinitionByDocId
GovernanceDefinitionElement getGovernanceDefinitionByDocId(String userId, String assetManagerGUID, String assetManagerName, String documentIdentifier) throws InvalidParameterException, UserNotAuthorizedException, PropertyServerException Retrieve the governance definition by its assigned unique document identifier.- Parameters:
userId
- calling userassetManagerGUID
- unique identifier of software capability representing the callerassetManagerName
- unique name of software capability representing the callerdocumentIdentifier
- identifier to search for- Returns:
- properties of the matching definition
- Throws:
InvalidParameterException
- documentIdentifier or userId is null; documentIdentifier is not recognizedPropertyServerException
- problem accessing property serverUserNotAuthorizedException
- security access problem
-