Class GovernanceDefinitionsResource


  • @RestController
    @RequestMapping("/servers/{serverName}/open-metadata/access-services/governance-program/users/{userId}")
    public class GovernanceDefinitionsResource
    extends Object
    GovernanceDefinitionsResource sets up the governance definitions that are part of an organization governance. Each governance definition describes a decision.
    • Constructor Detail

      • GovernanceDefinitionsResource

        public GovernanceDefinitionsResource()
        Default constructor
    • Method Detail

      • createGovernanceDefinition

        @PostMapping(path="/governance-definitions")
        public GUIDResponse createGovernanceDefinition​(@PathVariable
                                                       String serverName,
                                                       @PathVariable
                                                       String userId,
                                                       @RequestBody
                                                       GovernanceDefinitionRequestBody requestBody)
        Create a new governance definition. The type of the definition is located in the properties.
        Parameters:
        serverName - name of the server instance to connect to
        userId - calling user
        requestBody - properties of the definition and initial status
        Returns:
        unique identifier of the definition or InvalidParameterException typeName, documentIdentifier or userId is null; documentIdentifier is not unique; typeName is not valid PropertyServerException problem accessing the metadata service UserNotAuthorizedException security access problem
      • updateGovernanceDefinition

        @PostMapping(path="/governance-definitions/{definitionGUID}/update")
        public VoidResponse updateGovernanceDefinition​(@PathVariable
                                                       String serverName,
                                                       @PathVariable
                                                       String userId,
                                                       @PathVariable
                                                       String definitionGUID,
                                                       @RequestParam
                                                       boolean isMergeUpdate,
                                                       @RequestBody
                                                       GovernanceDefinitionRequestBody requestBody)
        Update an existing governance definition.
        Parameters:
        serverName - name of the server instance to connect to
        userId - calling user
        definitionGUID - unique identifier of the definition to update
        isMergeUpdate - are unspecified properties unchanged (true) or removed?
        requestBody - properties to update
        Returns:
        void or InvalidParameterException guid, documentIdentifier or userId is null; documentIdentifier is not unique; guid is not known PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
      • setGovernanceDefinitionStatus

        @PostMapping(path="/governance-definitions/{definitionGUID}/update-status")
        public VoidResponse setGovernanceDefinitionStatus​(@PathVariable
                                                          String serverName,
                                                          @PathVariable
                                                          String userId,
                                                          @PathVariable
                                                          String definitionGUID,
                                                          @RequestBody
                                                          GovernanceStatusRequestBody requestBody)
        Update the status of a governance definition
        Parameters:
        serverName - name of the server instance to connect to
        userId - calling user
        definitionGUID - unique identifier
        requestBody - new status
        Returns:
        void or InvalidParameterException guid, documentIdentifier or userId is null; documentIdentifier is not unique; guid is not known PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
      • deleteGovernanceDefinition

        @PostMapping(path="/governance-definitions/{definitionGUID}/delete")
        public VoidResponse deleteGovernanceDefinition​(@PathVariable
                                                       String serverName,
                                                       @PathVariable
                                                       String userId,
                                                       @PathVariable
                                                       String definitionGUID,
                                                       @RequestBody
                                                       ExternalSourceRequestBody requestBody)
        Delete a specific governance definition.
        Parameters:
        serverName - name of the server instance to connect to
        userId - calling user
        definitionGUID - unique identifier of the definition to remove
        requestBody - external source request body
        Returns:
        void or InvalidParameterException guid, documentIdentifier or userId is null; documentIdentifier is not unique; guid is not known PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
      • linkPeerDefinitions

        @PostMapping(path="/governance-definitions/{definitionOneGUID}/peers/{definitionTwoGUID}/link")
        public VoidResponse linkPeerDefinitions​(@PathVariable
                                                String serverName,
                                                @PathVariable
                                                String userId,
                                                @PathVariable
                                                String definitionOneGUID,
                                                @PathVariable
                                                String definitionTwoGUID,
                                                @RequestBody
                                                RelationshipRequestBody requestBody)
        Link two related governance definitions together. The governance definitions are of the same type as follows:
        • A relationship of type GovernanceDriverLink is between two GovernanceDriver definitions
        • A relationship of type GovernancePolicyLink is between two GovernancePolicy definitions
        • A relationship of type GovernanceControl is between two GovernanceControl definitions
        If the link already exists the description is updated.
        Parameters:
        serverName - name of the server instance to connect to
        userId - calling user
        definitionOneGUID - unique identifier of the first definition
        definitionTwoGUID - unique identifier of the second definition
        requestBody - description of their relationship
        Returns:
        void or InvalidParameterException guid, documentIdentifier or userId is null; documentIdentifier is not unique; guid is not known PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
      • unlinkPeerDefinitions

        @PostMapping(path="/governance-definitions/{definitionOneGUID}/peers/{definitionTwoGUID}/unlink")
        public VoidResponse unlinkPeerDefinitions​(@PathVariable
                                                  String serverName,
                                                  @PathVariable
                                                  String userId,
                                                  @PathVariable
                                                  String definitionOneGUID,
                                                  @PathVariable
                                                  String definitionTwoGUID,
                                                  @RequestBody
                                                  RelationshipRequestBody requestBody)
        Remove the link between two definitions.
        Parameters:
        serverName - name of the server instance to connect to
        userId - calling user
        definitionOneGUID - unique identifier of the first definition
        definitionTwoGUID - unique identifier of the second definition
        requestBody - the name of the relationship to delete
        Returns:
        void or InvalidParameterException guid, documentIdentifier or userId is null; documentIdentifier is not unique; guid is not known PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
      • setupSupportingDefinition

        @PostMapping(path="/governance-definitions/{definitionGUID}/supporting-definitions/{supportingDefinitionGUID}/link")
        public VoidResponse setupSupportingDefinition​(@PathVariable
                                                      String serverName,
                                                      @PathVariable
                                                      String userId,
                                                      @PathVariable
                                                      String definitionGUID,
                                                      @PathVariable
                                                      String supportingDefinitionGUID,
                                                      @RequestBody
                                                      RelationshipRequestBody requestBody)
        Create a link to show that a governance definition supports the requirements of another governance definition. This supporting relationship is between definitions of different types as follows:
        • A relationship of type GovernanceResponse is between a GovernanceDriver and a GovernancePolicy
        • A relationship of type GovernanceImplementation is between a GovernancePolicy and a GovernanceControl
        If the link already exists the rationale is updated.
        Parameters:
        serverName - name of the server instance to connect to
        userId - calling user
        definitionGUID - unique identifier of the governance definition
        supportingDefinitionGUID - unique identifier of the supporting governance definition
        requestBody - description of how the supporting definition provides support
        Returns:
        void or InvalidParameterException guid, documentIdentifier or userId is null; documentIdentifier is not unique; guid is not known PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
      • clearSupportingDefinition

        @PostMapping(path="/governance-definitions/{definitionGUID}/supporting-definitions/{supportingDefinitionGUID}/unlink")
        public VoidResponse clearSupportingDefinition​(@PathVariable
                                                      String serverName,
                                                      @PathVariable
                                                      String userId,
                                                      @PathVariable
                                                      String definitionGUID,
                                                      @PathVariable
                                                      String supportingDefinitionGUID,
                                                      @RequestBody
                                                      RelationshipRequestBody requestBody)
        Remove the supporting link between two governance definitions.
        Parameters:
        serverName - name of the server instance to connect to
        userId - calling user
        definitionGUID - unique identifier of the governance definition
        supportingDefinitionGUID - unique identifier of the supporting governance definition
        requestBody - the name of the relationship to delete
        Returns:
        void or InvalidParameterException guid, documentIdentifier or userId is null; documentIdentifier is not unique; guid is not known PropertyServerException problem accessing property server UserNotAuthorizedException security access problem