Class GovernanceOfficerResource
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 Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddGovernanceDefinitionToElement
(String serverName, String urlMarker, String elementGUID, String definitionGUID, NewRelationshipRequestBody requestBody) Link a governance definition to an element using the GovernedBy relationship.attachSupportingDefinition
(String serverName, String urlMarker, String governanceDefinitionOneGUID, String relationshipTypeName, String governanceDefinitionTwoGUID, NewRelationshipRequestBody requestBody) Attach a supporting governance definition.certifyElement
(String serverName, String urlMarker, String elementGUID, String certificationTypeGUID, NewRelationshipRequestBody requestBody) Link an element to a certification type and include details of the certification in the relationship properties.createGovernanceDefinition
(String serverName, String urlMarker, NewElementRequestBody requestBody) Create a governance definition.createGovernanceDefinitionFromTemplate
(String serverName, String urlMarker, TemplateRequestBody requestBody) Create a new metadata element to represent a governance definition using an existing metadata element as a template.decertifyElement
(String serverName, String urlMarker, String certificationGUID, DeleteRequestBody requestBody) Remove the certification for an element.deleteGovernanceDefinition
(String serverName, String urlMarker, String governanceDefinitionGUID, DeleteRequestBody requestBody) Delete a governance definition.detachDesignFromImplementation
(String serverName, String urlMarker, String designGUID, String implementationGUID, DeleteRequestBody requestBody) Detach a design object such as a solution component or governance definition from its implementation.detachGovernanceResults
(String serverName, String urlMarker, String governanceMetricGUID, String dataSourceGUID, DeleteRequestBody requestBody) Detach a governance metric from an asset that represents the data store where the measurements are located.detachImplementationResource
(String serverName, String urlMarker, String designGUID, String implementationResourceGUID, DeleteRequestBody requestBody) Detach a design object such as a solution component or governance definition from one of its implementation resources.detachPeerDefinitions
(String serverName, String urlMarker, String governanceDefinitionOneGUID, String relationshipTypeName, String governanceDefinitionTwoGUID, DeleteRequestBody requestBody) Detach a governance definition from one of its peers.detachSupportingDefinition
(String serverName, String urlMarker, String governanceDefinitionOneGUID, String relationshipTypeName, String governanceDefinitionTwoGUID, DeleteRequestBody requestBody) Detach a governance definition from a supporting governance definition.findGovernanceDefinitions
(String serverName, String urlMarker, SearchStringRequestBody requestBody) Retrieve the list of governance definition metadata elements that contain the search string.getGovernanceDefinitionByGUID
(String serverName, String urlMarker, String governanceDefinitionGUID, GetRequestBody requestBody) Return the properties of a specific governance definition.getGovernanceDefinitionsByName
(String serverName, String urlMarker, FilterRequestBody requestBody) Returns the list of governance definitions with a particular name.licenseElement
(String serverName, String urlMarker, String elementGUID, String licenseTypeGUID, NewRelationshipRequestBody requestBody) Link an element to a license type and include details of the license in the relationship properties.linkDesignToImplementation
(String serverName, String urlMarker, String designGUID, String implementationGUID, NewRelationshipRequestBody requestBody) Attach a design object such as a solution component or governance definition to its implementation via the ImplementedBy relationship.linkGovernanceResults
(String serverName, String urlMarker, String governanceMetricGUID, String dataSourceGUID, NewRelationshipRequestBody requestBody) Attach a governance metric to an asset that represents the data store where the measurements are located.linkImplementationResource
(String serverName, String urlMarker, String designGUID, String implementationResourceGUID, NewRelationshipRequestBody requestBody) Attach a design object such as a solution component or governance definition to one of its implementation resources via the ImplementationResource relationship.linkPeerDefinitions
(String serverName, String urlMarker, String governanceDefinitionOneGUID, String relationshipTypeName, String governanceDefinitionTwoGUID, NewRelationshipRequestBody requestBody) Attach two peer governance definitions.removeGovernanceDefinitionFromElement
(String serverName, String urlMarker, String elementGUID, String definitionGUID, DeleteRequestBody requestBody) Remove the GovernedBy relationship between a governance definition and an element.unlicenseElement
(String serverName, String urlMarker, String licenseGUID, DeleteRequestBody requestBody) Remove the license for an element.updateCertification
(String serverName, String urlMarker, String certificationGUID, UpdateRelationshipRequestBody requestBody) Update the properties of a certification.updateGovernanceDefinition
(String serverName, String urlMarker, String governanceDefinitionGUID, UpdateElementRequestBody requestBody) Update the properties of a governance definition.updateLicense
(String serverName, String urlMarker, String licenseGUID, UpdateRelationshipRequestBody requestBody) Update the properties of a license.
-
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 markerrequestBody
- 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 userurlMarker
- view service URL markerrequestBody
- 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 markergovernanceDefinitionGUID
- 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 serverurlMarker
- view service URL markergovernanceDefinitionOneGUID
- unique identifier of the first governance definitiongovernanceDefinitionTwoGUID
- unique identifier of the second governance definitionrelationshipTypeName
- name of the relationship to userequestBody
- 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 serverurlMarker
- view service URL markergovernanceDefinitionOneGUID
- unique identifier of the first governance definitiongovernanceDefinitionTwoGUID
- unique identifier of the second governance definitionrelationshipTypeName
- name of the relationship to userequestBody
- 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 serverurlMarker
- view service URL markergovernanceDefinitionOneGUID
- unique identifier of the first governance definitiongovernanceDefinitionTwoGUID
- unique identifier of the second governance definitionrelationshipTypeName
- name of the relationship to userequestBody
- 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 serverurlMarker
- view service URL markergovernanceDefinitionOneGUID
- unique identifier of the first governance definitiongovernanceDefinitionTwoGUID
- unique identifier of the second governance definitionrelationshipTypeName
- name of the relationship to userequestBody
- 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 tourlMarker
- view service URL markerelementGUID
- unique identifier of the metadata element to linkdefinitionGUID
- identifier of the governance definition to linkrequestBody
- 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 tourlMarker
- view service URL markerelementGUID
- unique identifier of the metadata element to updatedefinitionGUID
- identifier of the governance definition to linkrequestBody
- 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 tourlMarker
- view service URL markergovernanceMetricGUID
- unique identifier of the metricdataSourceGUID
- unique identifier of the assetrequestBody
- 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 tourlMarker
- view service URL markergovernanceMetricGUID
- unique identifier of the metricdataSourceGUID
- unique identifier of the assetrequestBody
- 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 tourlMarker
- view service URL markerelementGUID
- unique identifier of the element being licensedlicenseTypeGUID
- unique identifier for the license typerequestBody
- 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 tourlMarker
- view service URL markerlicenseGUID
- unique identifier for the license relationshiprequestBody
- 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 tourlMarker
- view service URL markerlicenseGUID
- unique identifier for the license relationshiprequestBody
- 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 tourlMarker
- view service URL markerelementGUID
- unique identifier of the element being certifiedcertificationTypeGUID
- unique identifier for the certification typerequestBody
- 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 tourlMarker
- view service URL markercertificationGUID
- unique identifier for the certification relationshiprequestBody
- 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 tourlMarker
- view service URL markercertificationGUID
- unique identifier for the certification relationshiprequestBody
- 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 serverurlMarker
- view service URL markergovernanceDefinitionGUID
- unique identifier of the element to deleterequestBody
- 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 tourlMarker
- view service URL markerrequestBody
- 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 tourlMarker
- view service URL markerrequestBody
- 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 tourlMarker
- view service URL markergovernanceDefinitionGUID
- unique identifier of the required elementrequestBody
- 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 serverurlMarker
- view service URL markerdesignGUID
- unique identifier of the governance definition, solution component etcimplementationGUID
- unique identifier of the implementationrequestBody
- 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 serverurlMarker
- view service URL markerdesignGUID
- unique identifier of the governance definition, solution component etcimplementationGUID
- unique identifier of the implementationrequestBody
- 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 serverurlMarker
- view service URL markerdesignGUID
- unique identifier of the design objectimplementationResourceGUID
- unique identifier of the implementation resourcerequestBody
- 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 serverurlMarker
- view service URL markerdesignGUID
- unique identifier of the design objectimplementationResourceGUID
- unique identifier of the implementation resourcerequestBody
- 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.
-