java.lang.Object
org.odpi.openmetadata.viewservices.governanceofficer.server.spring.GovernanceOfficerResource

@RestController @RequestMapping("/servers/{serverName}/api/open-metadata/{urlMarker}") public class GovernanceOfficerResource extends Object
The GovernanceOfficerResource provides part of the server-side implementation of the Governance Officer OMVS. =
  • Constructor Details

    • GovernanceOfficerResource

      public GovernanceOfficerResource()
      Default constructor
  • Method Details

    • createGovernanceDefinition

      @PostMapping(path="/governance-definitions") public GUIDResponse createGovernanceDefinition(@PathVariable String serverName, @PathVariable String urlMarker, @RequestBody(required=false) NewElementRequestBody requestBody)
      Create a governance definition.
      Parameters:
      serverName - name of called server.
      urlMarker - view service URL marker
      requestBody - properties for the governance definition.
      Returns:
      unique identifier of the newly created element InvalidParameterException one of the parameters is invalid. PropertyServerException there is a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • createGovernanceDefinitionFromTemplate

      @PostMapping(path="/governance-definitions/from-template") public GUIDResponse createGovernanceDefinitionFromTemplate(@PathVariable String serverName, @PathVariable String urlMarker, @RequestBody(required=false) TemplateRequestBody requestBody)
      Create a new metadata element to represent a governance definition using an existing metadata element as a template. The template defines additional classifications and relationships that should be added to the new element.
      Parameters:
      serverName - calling user
      urlMarker - view service URL marker
      requestBody - properties that override the template
      Returns:
      unique identifier of the new metadata element 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)
    • updateGovernanceDefinition

      @PostMapping(path="/governance-definitions/{governanceDefinitionGUID}/update") public VoidResponse updateGovernanceDefinition(@PathVariable String serverName, @PathVariable String urlMarker, @PathVariable String governanceDefinitionGUID, @RequestBody(required=false) UpdateElementRequestBody requestBody)
      Update the properties of a governance definition.
      Parameters:
      serverName - name of called server.
      urlMarker - view service URL marker
      governanceDefinitionGUID - unique identifier of the governance definition (returned from create)
      requestBody - properties for the new element.
      Returns:
      void or InvalidParameterException one of the parameters is invalid. PropertyServerException there is a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • linkPeerDefinitions

      @PostMapping(path="/governance-definitions/{governanceDefinitionOneGUID}/peer-definitions/{relationshipTypeName}/{governanceDefinitionTwoGUID}/attach") public VoidResponse linkPeerDefinitions(@PathVariable String serverName, @PathVariable String urlMarker, @PathVariable String governanceDefinitionOneGUID, @PathVariable String relationshipTypeName, @PathVariable String governanceDefinitionTwoGUID, @RequestBody(required=false) NewRelationshipRequestBody requestBody)
      Attach two peer governance definitions.
      Parameters:
      serverName - name of called server
      urlMarker - view service URL marker
      governanceDefinitionOneGUID - unique identifier of the first governance definition
      governanceDefinitionTwoGUID - unique identifier of the second governance definition
      relationshipTypeName - name of the relationship to use
      requestBody - description of the relationship.
      Returns:
      void or InvalidParameterException one of the parameters is null or invalid. PropertyServerException there is a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • detachPeerDefinitions

      @PostMapping(path="/governance-definitions/{governanceDefinitionOneGUID}/peer-definitions/{relationshipTypeName}/{governanceDefinitionTwoGUID}/detach") public VoidResponse detachPeerDefinitions(@PathVariable String serverName, @PathVariable String urlMarker, @PathVariable String governanceDefinitionOneGUID, @PathVariable String relationshipTypeName, @PathVariable String governanceDefinitionTwoGUID, @RequestBody(required=false) DeleteRequestBody requestBody)
      Detach a governance definition from one of its peers.
      Parameters:
      serverName - name of called server
      urlMarker - view service URL marker
      governanceDefinitionOneGUID - unique identifier of the first governance definition
      governanceDefinitionTwoGUID - unique identifier of the second governance definition
      relationshipTypeName - name of the relationship to use
      requestBody - description of the relationship.
      Returns:
      void or InvalidParameterException one of the parameters is null or invalid. PropertyServerException there is a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • attachSupportingDefinition

      @PostMapping(path="/governance-definitions/{governanceDefinitionOneGUID}/supporting-definitions/{relationshipTypeName}/{governanceDefinitionTwoGUID}/attach") public VoidResponse attachSupportingDefinition(@PathVariable String serverName, @PathVariable String urlMarker, @PathVariable String governanceDefinitionOneGUID, @PathVariable String relationshipTypeName, @PathVariable String governanceDefinitionTwoGUID, @RequestBody(required=false) NewRelationshipRequestBody requestBody)
      Attach a supporting governance definition.
      Parameters:
      serverName - name of called server
      urlMarker - view service URL marker
      governanceDefinitionOneGUID - unique identifier of the first governance definition
      governanceDefinitionTwoGUID - unique identifier of the second governance definition
      relationshipTypeName - name of the relationship to use
      requestBody - description of the relationship.
      Returns:
      void or InvalidParameterException one of the parameters is null or invalid. PropertyServerException there is a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • detachSupportingDefinition

      @PostMapping(path="/governance-definitions/{governanceDefinitionOneGUID}/supporting-definitions/{relationshipTypeName}/{governanceDefinitionTwoGUID}/detach") public VoidResponse detachSupportingDefinition(@PathVariable String serverName, @PathVariable String urlMarker, @PathVariable String governanceDefinitionOneGUID, @PathVariable String relationshipTypeName, @PathVariable String governanceDefinitionTwoGUID, @RequestBody(required=false) DeleteRequestBody requestBody)
      Detach a governance definition from a supporting governance definition.
      Parameters:
      serverName - name of called server
      urlMarker - view service URL marker
      governanceDefinitionOneGUID - unique identifier of the first governance definition
      governanceDefinitionTwoGUID - unique identifier of the second governance definition
      relationshipTypeName - name of the relationship to use
      requestBody - description of the relationship.
      Returns:
      void or InvalidParameterException one of the parameters is null or invalid. PropertyServerException there is a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • addGovernanceDefinitionToElement

      @PostMapping(path="/elements/{elementGUID}/governed-by/definition/{definitionGUID}") public VoidResponse addGovernanceDefinitionToElement(@PathVariable String serverName, @PathVariable String urlMarker, @PathVariable String elementGUID, @PathVariable String definitionGUID, @RequestBody(required=false) NewRelationshipRequestBody requestBody)
      Link a governance definition to an element using the GovernedBy relationship.
      Parameters:
      serverName - name of the server instance to connect to
      urlMarker - view service URL marker
      elementGUID - unique identifier of the metadata element to link
      definitionGUID - identifier of the governance definition to link
      requestBody - properties for relationship request
      Returns:
      void or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
    • removeGovernanceDefinitionFromElement

      @PostMapping(path="/elements/{elementGUID}/governed-by/definition/{definitionGUID}/remove") public VoidResponse removeGovernanceDefinitionFromElement(@PathVariable String serverName, @PathVariable String urlMarker, @PathVariable String elementGUID, @PathVariable String definitionGUID, @RequestBody(required=false) DeleteRequestBody requestBody)
      Remove the GovernedBy relationship between a governance definition and an element.
      Parameters:
      serverName - name of the server instance to connect to
      urlMarker - view service URL marker
      elementGUID - unique identifier of the metadata element to update
      definitionGUID - identifier of the governance definition to link
      requestBody - properties for relationship request
      Returns:
      void or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
    • linkGovernanceResults

      @PostMapping(path="/governance-metrics/{governanceMetricGUID}/measurements/{dataSourceGUID}") public VoidResponse linkGovernanceResults(@PathVariable String serverName, @PathVariable String urlMarker, @PathVariable String governanceMetricGUID, @PathVariable String dataSourceGUID, @RequestBody(required=false) NewRelationshipRequestBody requestBody)
      Attach a governance metric to an asset that represents the data store where the measurements are located.
      Parameters:
      serverName - name of the server instance to connect to
      urlMarker - view service URL marker
      governanceMetricGUID - unique identifier of the metric
      dataSourceGUID - unique identifier of the asset
      requestBody - properties for relationship request
      Returns:
      void or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
    • detachGovernanceResults

      @PostMapping(path="/governance-metrics/{governanceMetricGUID}/measurements/{dataSourceGUID}/remove") public VoidResponse detachGovernanceResults(@PathVariable String serverName, @PathVariable String urlMarker, @PathVariable String governanceMetricGUID, @PathVariable String dataSourceGUID, @RequestBody(required=false) DeleteRequestBody requestBody)
      Detach a governance metric from an asset that represents the data store where the measurements are located.
      Parameters:
      serverName - name of the server instance to connect to
      urlMarker - view service URL marker
      governanceMetricGUID - unique identifier of the metric
      dataSourceGUID - unique identifier of the asset
      requestBody - properties for relationship request
      Returns:
      void or InvalidParameterException full path or userId is null or PropertyServerException problem accessing property server or UserNotAuthorizedException security access problem
    • licenseElement

      @PostMapping(path="/elements/{elementGUID}/license-types/{licenseTypeGUID}/license") public GUIDResponse licenseElement(@PathVariable String serverName, @PathVariable String urlMarker, @PathVariable String elementGUID, @PathVariable String licenseTypeGUID, @RequestBody NewRelationshipRequestBody requestBody)
      Link an element to a license type and include details of the license in the relationship properties.
      Parameters:
      serverName - name of the server instance to connect to
      urlMarker - view service URL marker
      elementGUID - unique identifier of the element being licensed
      licenseTypeGUID - unique identifier for the license type
      requestBody - the properties of the license
      Returns:
      guid or InvalidParameterException one of the properties is invalid PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
    • updateLicense

      @PostMapping(path="/licenses/{licenseGUID}/update") public VoidResponse updateLicense(@PathVariable String serverName, @PathVariable String urlMarker, @PathVariable String licenseGUID, @RequestBody UpdateRelationshipRequestBody requestBody)
      Update the properties of a license. Remember to include the licenseId in the properties if the element has multiple licenses for the same license type.
      Parameters:
      serverName - name of the server instance to connect to
      urlMarker - view service URL marker
      licenseGUID - unique identifier for the license relationship
      requestBody - the properties of the license
      Returns:
      void or InvalidParameterException one of the properties is invalid PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
    • unlicenseElement

      @PostMapping(path="/licenses/{licenseGUID}/delete") public VoidResponse unlicenseElement(@PathVariable String serverName, @PathVariable String urlMarker, @PathVariable String licenseGUID, @RequestBody DeleteRequestBody requestBody)
      Remove the license for an element.
      Parameters:
      serverName - name of the server instance to connect to
      urlMarker - view service URL marker
      licenseGUID - unique identifier for the license relationship
      requestBody - external source information.
      Returns:
      void or InvalidParameterException one of the properties is invalid PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
    • certifyElement

      @PostMapping(path="/elements/{elementGUID}/certification-types/{certificationTypeGUID}/certify") public GUIDResponse certifyElement(@PathVariable String serverName, @PathVariable String urlMarker, @PathVariable String elementGUID, @PathVariable String certificationTypeGUID, @RequestBody NewRelationshipRequestBody requestBody)
      Link an element to a certification type and include details of the certification in the relationship properties.
      Parameters:
      serverName - name of the server instance to connect to
      urlMarker - view service URL marker
      elementGUID - unique identifier of the element being certified
      certificationTypeGUID - unique identifier for the certification type
      requestBody - the properties of the certification
      Returns:
      guid or InvalidParameterException one of the properties is invalid PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
    • updateCertification

      @PostMapping(path="/certifications/{certificationGUID}/update") public VoidResponse updateCertification(@PathVariable String serverName, @PathVariable String urlMarker, @PathVariable String certificationGUID, @RequestBody UpdateRelationshipRequestBody requestBody)
      Update the properties of a certification. Remember to include the certificationId in the properties if the element has multiple certifications for the same certification type.
      Parameters:
      serverName - name of the server instance to connect to
      urlMarker - view service URL marker
      certificationGUID - unique identifier for the certification relationship
      requestBody - the properties of the certification
      Returns:
      void or InvalidParameterException one of the properties is invalid PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
    • decertifyElement

      @PostMapping(path="/certifications/{certificationGUID}/delete") public VoidResponse decertifyElement(@PathVariable String serverName, @PathVariable String urlMarker, @PathVariable String certificationGUID, @RequestBody DeleteRequestBody requestBody)
      Remove the certification for an element.
      Parameters:
      serverName - name of the server instance to connect to
      urlMarker - view service URL marker
      certificationGUID - unique identifier for the certification relationship
      requestBody - external source information.
      Returns:
      void or InvalidParameterException one of the properties is invalid PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
    • deleteGovernanceDefinition

      @PostMapping(path="/governance-definitions/{governanceDefinitionGUID}/delete") public VoidResponse deleteGovernanceDefinition(@PathVariable String serverName, @PathVariable String urlMarker, @PathVariable String governanceDefinitionGUID, @RequestBody(required=false) DeleteRequestBody requestBody)
      Delete a governance definition.
      Parameters:
      serverName - name of called server
      urlMarker - view service URL marker
      governanceDefinitionGUID - unique identifier of the element to delete
      requestBody - description of the relationship.
      Returns:
      void or InvalidParameterException one of the parameters is null or invalid. PropertyServerException there is a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • getGovernanceDefinitionsByName

      @PostMapping(path="/governance-definitions/by-name") public OpenMetadataRootElementsResponse getGovernanceDefinitionsByName(@PathVariable String serverName, @PathVariable String urlMarker, @RequestBody(required=false) FilterRequestBody requestBody)
      Returns the list of governance definitions with a particular name.
      Parameters:
      serverName - name of the service to route the request to
      urlMarker - view service URL marker
      requestBody - string to find in the properties
      Returns:
      list of matching metadata elements or 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)
    • findGovernanceDefinitions

      @PostMapping(path="/governance-definitions/by-search-string") public OpenMetadataRootElementsResponse findGovernanceDefinitions(@PathVariable String serverName, @PathVariable String urlMarker, @RequestBody(required=false) SearchStringRequestBody requestBody)
      Retrieve the list of governance definition metadata elements that contain the search string.
      Parameters:
      serverName - name of the service to route the request to
      urlMarker - view service URL marker
      requestBody - string to find in the properties
      Returns:
      list of matching metadata elements or 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)
    • getGovernanceDefinitionByGUID

      @PostMapping(path="/governance-definitions/{governanceDefinitionGUID}/retrieve") public OpenMetadataRootElementResponse getGovernanceDefinitionByGUID(@PathVariable String serverName, @PathVariable String urlMarker, @PathVariable String governanceDefinitionGUID, @RequestBody(required=false) GetRequestBody requestBody)
      Return the properties of a specific governance definition.
      Parameters:
      serverName - name of the service to route the request to
      urlMarker - view service URL marker
      governanceDefinitionGUID - unique identifier of the required element
      requestBody - string to find in the properties
      Returns:
      list of matching metadata elements or 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)
    • linkDesignToImplementation

      @PostMapping(path="/designs/{designGUID}/implementations/{implementationGUID}/attach") public VoidResponse linkDesignToImplementation(@PathVariable String serverName, @PathVariable String urlMarker, @PathVariable String designGUID, @PathVariable String implementationGUID, @RequestBody(required=false) NewRelationshipRequestBody requestBody)
      Attach a design object such as a solution component or governance definition to its implementation via the ImplementedBy relationship. Request body is optional.
      Parameters:
      serverName - name of called server
      urlMarker - view service URL marker
      designGUID - unique identifier of the governance definition, solution component etc
      implementationGUID - unique identifier of the implementation
      requestBody - description of the relationship.
      Returns:
      void or InvalidParameterException one of the parameters is null or invalid. PropertyServerException there is a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • detachDesignFromImplementation

      @PostMapping(path="/designs/{designGUID}/implementations/{implementationGUID}/detach") public VoidResponse detachDesignFromImplementation(@PathVariable String serverName, @PathVariable String urlMarker, @PathVariable String designGUID, @PathVariable String implementationGUID, @RequestBody(required=false) DeleteRequestBody requestBody)
      Detach a design object such as a solution component or governance definition from its implementation. Request body is optional.
      Parameters:
      serverName - name of called server
      urlMarker - view service URL marker
      designGUID - unique identifier of the governance definition, solution component etc
      implementationGUID - unique identifier of the implementation
      requestBody - description of the relationship.
      Returns:
      void or InvalidParameterException one of the parameters is null or invalid. PropertyServerException there is a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • linkImplementationResource

      @PostMapping(path="/designs/{designGUID}/implementation-resources/{implementationResourceGUID}/attach") public VoidResponse linkImplementationResource(@PathVariable String serverName, @PathVariable String urlMarker, @PathVariable String designGUID, @PathVariable String implementationResourceGUID, @RequestBody(required=false) NewRelationshipRequestBody requestBody)
      Attach a design object such as a solution component or governance definition to one of its implementation resources via the ImplementationResource relationship. Request body is optional.
      Parameters:
      serverName - name of called server
      urlMarker - view service URL marker
      designGUID - unique identifier of the design object
      implementationResourceGUID - unique identifier of the implementation resource
      requestBody - description of the relationship.
      Returns:
      void or InvalidParameterException one of the parameters is null or invalid. PropertyServerException there is a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.
    • detachImplementationResource

      @PostMapping(path="/designs/{designGUID}/implementation-resources/{implementationResourceGUID}/detach") public VoidResponse detachImplementationResource(@PathVariable String serverName, @PathVariable String urlMarker, @PathVariable String designGUID, @PathVariable String implementationResourceGUID, @RequestBody(required=false) DeleteRequestBody requestBody)
      Detach a design object such as a solution component or governance definition from one of its implementation resources. Request body is optional.
      Parameters:
      serverName - name of called server
      urlMarker - view service URL marker
      designGUID - unique identifier of the design object
      implementationResourceGUID - unique identifier of the implementation resource
      requestBody - description of the relationship.
      Returns:
      void or InvalidParameterException one of the parameters is null or invalid. PropertyServerException there is a problem retrieving information from the property server(s). UserNotAuthorizedException the requesting user is not authorized to issue this request.