Interface GovernanceExchangeInterface


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

      • createGovernanceDefinition

        String createGovernanceDefinition​(String userId,
                                          String assetManagerGUID,
                                          String assetManagerName,
                                          String typeName,
                                          String definitionExternalIdentifier,
                                          String definitionExternalIdentifierName,
                                          String definitionExternalIdentifierUsage,
                                          String definitionExternalIdentifierSource,
                                          KeyPattern definitionExternalIdentifierKeyPattern,
                                          Map<String,​String> mappingProperties,
                                          GovernanceDefinitionProperties definitionProperties)
                                   throws InvalidParameterException,
                                          UserNotAuthorizedException,
                                          PropertyServerException
        Create a new definition.
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software server capability representing the caller
        assetManagerName - unique name of software server capability representing the caller
        definitionExternalIdentifier - unique identifier of the definition in the external asset manager
        definitionExternalIdentifierName - name of property for the external identifier in the external asset manager
        definitionExternalIdentifierUsage - optional usage description for the external identifier when calling the external asset manager
        definitionExternalIdentifierSource - component that issuing this request.
        definitionExternalIdentifierKeyPattern - pattern for the external identifier within the external asset manager (default is LOCAL_KEY)
        mappingProperties - additional properties to help with the mapping of the elements in the external asset manager and open metadata
        typeName - type of definition
        definitionProperties - 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 valid
        PropertyServerException - problem accessing property server
        UserNotAuthorizedException - 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 user
        assetManagerGUID - unique identifier of software server capability representing the caller
        assetManagerName - unique name of software server capability representing the caller
        definitionOneGUID - unique identifier of the first definition
        definitionTwoGUID - unique identifier of the second definition
        description - description of their relationship
        Throws:
        InvalidParameterException - one of the guids is null or not known
        PropertyServerException - problem accessing property server
        UserNotAuthorizedException - 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 user
        assetManagerGUID - unique identifier of software server capability representing the caller
        assetManagerName - unique name of software server capability representing the caller
        definitionGUID - unique identifier of the governance definition
        delegatedToDefinitionGUID - unique identifier of the governance definition that is delegated to
        rationale - description of how the delegation supports the definition
        Throws:
        InvalidParameterException - one of the guids is null or not known
        PropertyServerException - problem accessing property server
        UserNotAuthorizedException - 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 user
        assetManagerGUID - unique identifier of software server capability representing the caller
        assetManagerName - unique name of software server capability representing the caller
        definitionGUID - unique identifier of the governance definition
        delegatedToDefinitionGUID - unique identifier of the governance definition that is delegated to
        Throws:
        InvalidParameterException - one of the guids is null or not known
        PropertyServerException - problem accessing property server
        UserNotAuthorizedException - security access problem
      • addGovernanceDefinitionToElement

        void addGovernanceDefinitionToElement​(String userId,
                                              String assetManagerGUID,
                                              String assetManagerName,
                                              String definitionGUID,
                                              String elementGUID,
                                              String methodName)
                                       throws InvalidParameterException,
                                              UserNotAuthorizedException,
                                              PropertyServerException
        Link a governance definition to an element using the GovernedBy relationship.
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software server capability representing the caller
        assetManagerName - unique name of software server capability representing the caller
        definitionGUID - identifier of the governance definition to link
        elementGUID - unique identifier of the metadata element to link
        methodName - calling method
        Throws:
        InvalidParameterException - one of the parameters is invalid
        UserNotAuthorizedException - the user is not authorized to issue this request
        PropertyServerException - there is a problem reported in the open metadata server(s)
      • removeGovernanceDefinitionFromElement

        void removeGovernanceDefinitionFromElement​(String userId,
                                                   String assetManagerGUID,
                                                   String assetManagerName,
                                                   String definitionGUID,
                                                   String elementGUID,
                                                   String methodName)
                                            throws InvalidParameterException,
                                                   UserNotAuthorizedException,
                                                   PropertyServerException
        Remove the GovernedBy relationship between a governance definition and an element.
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software server capability representing the caller
        assetManagerName - unique name of software server capability representing the caller
        definitionGUID - identifier of the governance definition to link
        elementGUID - unique identifier of the metadata element to update
        methodName - calling method
        Throws:
        InvalidParameterException - one of the parameters is invalid
        UserNotAuthorizedException - the user is not authorized to issue this request
        PropertyServerException - there is a problem reported in the open metadata server(s)
      • addElementToSubjectArea

        void addElementToSubjectArea​(String userId,
                                     String assetManagerGUID,
                                     String assetManagerName,
                                     String elementGUID,
                                     String elementExternalIdentifier,
                                     String subjectAreaName,
                                     String methodName)
                              throws InvalidParameterException,
                                     UserNotAuthorizedException,
                                     PropertyServerException
        Classify the element to assert that it is part of a subject area definition.
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software server capability representing the caller
        assetManagerName - unique name of software server capability representing the caller
        elementGUID - unique identifier of the metadata element to update
        elementExternalIdentifier - unique identifier of the element in the external asset manager
        subjectAreaName - qualified name of subject area
        methodName - calling method
        Throws:
        InvalidParameterException - one of the parameters is invalid
        UserNotAuthorizedException - the user is not authorized to issue this request
        PropertyServerException - there is a problem reported in the open metadata server(s)
      • removeElementFromSubjectArea

        void removeElementFromSubjectArea​(String userId,
                                          String assetManagerGUID,
                                          String assetManagerName,
                                          String elementGUID,
                                          String externalElementIdentifier,
                                          String methodName)
                                   throws InvalidParameterException,
                                          UserNotAuthorizedException,
                                          PropertyServerException
        Remove the subject area designation from the identified element.
        Parameters:
        userId - calling user
        assetManagerGUID - unique identifier of software server capability representing the caller
        assetManagerName - unique name of software server capability representing the caller
        elementGUID - unique identifier of the metadata element to update
        externalElementIdentifier - unique identifier of the equivalent element in the external asset manager
        methodName - calling method
        Throws:
        InvalidParameterException - one of the parameters is invalid
        UserNotAuthorizedException - the user is not authorized to issue this request
        PropertyServerException - there is a problem reported in the open metadata server(s)