Class GovernanceRolesResource
java.lang.Object
org.odpi.openmetadata.accessservices.governanceprogram.server.spring.GovernanceRolesResource
@RestController
@RequestMapping("/servers/{serverName}/open-metadata/access-services/governance-program/users/{userId}")
public class GovernanceRolesResource
extends Object
The GovernanceRolesResource provides a Spring based server-side REST API
that supports the GovernanceRolesInterface. It delegates each request to the
GovernanceRolesRESTServices. This provides the server-side implementation of the Governance Program Open Metadata
Assess Service (OMAS) which is used to manage the full lifecycle of a governance program.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionappointGovernanceRole
(String serverName, String userId, String governanceRoleGUID, String profileGUID, AppointmentRequestBody requestBody) Link a person to a governance role.createGovernanceRole
(String serverName, String userId, GovernanceRoleRequestBody requestBody) Create the governance role appointment.deleteGovernanceRole
(String serverName, String userId, String governanceRoleGUID, ExternalSourceRequestBody requestBody) Remove the requested governance role.getCurrentGovernanceRoleAppointments
(String serverName, String userId, int domainIdentifier, int startFrom, int pageSize) Return all the governance roles and their incumbents (if any).getGovernanceRoleByGUID
(String serverName, String userId, String governanceRoleGUID) Retrieve a governance role description by unique guid.getGovernanceRoleByRoleId
(String serverName, String userId, String roleId) Retrieve the properties of a governance role using its unique name.getGovernanceRoleHistoryByGUID
(String serverName, String userId, String governanceRoleGUID) Retrieve a governance role description by unique guid along with the history of who has been appointed to the role.getGovernanceRolesByDomainId
(String serverName, String userId, int domainIdentifier, int startFrom, int pageSize) Return all the defined governance roles.getGovernanceRolesByTitle
(String serverName, String userId, String title, int startFrom, int pageSize) Retrieve all the governance roles for a particular title.linkRoleToResource
(String serverName, String userId, String governanceRoleGUID, String resourceGUID, RelationshipRequestBody requestBody) Link a governance role to the description of a resource that the role is responsible for.linkRoleToResponsibility
(String serverName, String userId, String governanceRoleGUID, String responsibilityGUID, RelationshipRequestBody requestBody) Link a governance role to a governance control that defines a governance responsibility that a person fulfils.relieveGovernanceRole
(String serverName, String userId, String governanceRoleGUID, String appointmentGUID, String profileGUID, AppointmentRequestBody requestBody) Unlink a person from a governance role appointment.unlinkRoleFromResource
(String serverName, String userId, String governanceRoleGUID, String resourceGUID, RelationshipRequestBody requestBody) Remove the link between a governance role and a resource.unlinkRoleFromResponsibility
(String serverName, String userId, String governanceRoleGUID, String responsibilityGUID, RelationshipRequestBody requestBody) Remove the link between a governance role and a governance responsibility.updateGovernanceRole
(String serverName, String userId, String governanceRoleGUID, boolean isMergeUpdate, GovernanceRoleRequestBody requestBody) Update selected fields for the governance role.
-
Constructor Details
-
GovernanceRolesResource
public GovernanceRolesResource()Default constructor
-
-
Method Details
-
createGovernanceRole
@PostMapping(path="/governance-roles") public GUIDResponse createGovernanceRole(@PathVariable String serverName, @PathVariable String userId, @RequestBody GovernanceRoleRequestBody requestBody) Create the governance role appointment.- Parameters:
serverName
- name of server instance to calluserId
- the name of the calling user.requestBody
- properties of the governance role.- Returns:
- Unique identifier (guid) of the governance role or InvalidParameterException the governance domain or appointment id is null or PropertyServerException the server is not available or UserNotAuthorizedException the calling user is not authorized to issue the call.
-
updateGovernanceRole
@PostMapping(path="/governance-roles/{governanceRoleGUID}") public VoidResponse updateGovernanceRole(@PathVariable String serverName, @PathVariable String userId, @PathVariable String governanceRoleGUID, @RequestParam boolean isMergeUpdate, @RequestBody GovernanceRoleRequestBody requestBody) Update selected fields for the governance role.- Parameters:
serverName
- name of server instance to calluserId
- the name of the calling user.governanceRoleGUID
- unique identifier (guid) of the governance role.isMergeUpdate
- are unspecified properties unchanged (true) or replaced with null?requestBody
- properties of the governance role- Returns:
- void response or UnrecognizedGUIDException the unique identifier of the governance role is either null or invalid or InvalidParameterException the title is null or the governanceDomain/appointmentId does not match the existing values associated with the governanceRoleGUID or PropertyServerException the server is not available or UserNotAuthorizedException the calling user is not authorized to issue the call.
-
linkRoleToResponsibility
@PostMapping(path="/governance-roles/{governanceRoleGUID}/governance-responsibility/{responsibilityGUID}/link") public VoidResponse linkRoleToResponsibility(@PathVariable String serverName, @PathVariable String userId, @PathVariable String governanceRoleGUID, @PathVariable String responsibilityGUID, @RequestBody(required=false) RelationshipRequestBody requestBody) Link a governance role to a governance control that defines a governance responsibility that a person fulfils.- Parameters:
serverName
- name of server instance to calluserId
- calling usergovernanceRoleGUID
- unique identifier of the governance roleresponsibilityGUID
- unique identifier of the governance responsibility controlrequestBody
- relationship request body- Returns:
- void or InvalidParameterException one of the guids is null or not known PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
-
unlinkRoleFromResponsibility
@PostMapping(path="/governance-roles/{governanceRoleGUID}/governance-responsibility/{responsibilityGUID}/unlink") public VoidResponse unlinkRoleFromResponsibility(@PathVariable String serverName, @PathVariable String userId, @PathVariable String governanceRoleGUID, @PathVariable String responsibilityGUID, @RequestBody(required=false) RelationshipRequestBody requestBody) Remove the link between a governance role and a governance responsibility.- Parameters:
serverName
- name of server instance to calluserId
- calling usergovernanceRoleGUID
- unique identifier of the governance roleresponsibilityGUID
- unique identifier of the governance responsibility controlrequestBody
- relationship request body- Returns:
- void or InvalidParameterException one of the guids is null or not known PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
-
linkRoleToResource
@PostMapping(path="/governance-roles/{governanceRoleGUID}/resource/{resourceGUID}/link") public VoidResponse linkRoleToResource(@PathVariable String serverName, @PathVariable String userId, @PathVariable String governanceRoleGUID, @PathVariable String resourceGUID, @RequestBody(required=false) RelationshipRequestBody requestBody) Link a governance role to the description of a resource that the role is responsible for.- Parameters:
serverName
- name of server instance to calluserId
- calling usergovernanceRoleGUID
- unique identifier of the governance roleresourceGUID
- unique identifier of the resource descriptionrequestBody
- relationship request body- Returns:
- void or InvalidParameterException one of the guids is null or not known PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
-
unlinkRoleFromResource
@PostMapping(path="/governance-roles/{governanceRoleGUID}/resource/{resourceGUID}/unlink") public VoidResponse unlinkRoleFromResource(@PathVariable String serverName, @PathVariable String userId, @PathVariable String governanceRoleGUID, @PathVariable String resourceGUID, @RequestBody(required=false) RelationshipRequestBody requestBody) Remove the link between a governance role and a resource.- Parameters:
serverName
- name of server instance to calluserId
- calling usergovernanceRoleGUID
- unique identifier of the governance roleresourceGUID
- unique identifier of the resource descriptionrequestBody
- relationship request body- Returns:
- void or InvalidParameterException one of the guids is null or not known PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
-
deleteGovernanceRole
@PostMapping(path="/governance-roles/{governanceRoleGUID}/delete") public VoidResponse deleteGovernanceRole(@PathVariable String serverName, @PathVariable String userId, @PathVariable String governanceRoleGUID, @RequestBody(required=false) ExternalSourceRequestBody requestBody) Remove the requested governance role.- Parameters:
serverName
- name of server instance to calluserId
- the name of the calling usergovernanceRoleGUID
- unique identifier (guid) of the governance rolerequestBody
- properties to verify this is the right governance role- Returns:
- void response or InvalidParameterException the governanceRoleGUID null or invalid or PropertyServerException the server is not available or UserNotAuthorizedException the calling user is not authorized to issue the call.
-
getGovernanceRoleByGUID
@GetMapping(path="/governance-roles/{governanceRoleGUID}") public GovernanceRoleResponse getGovernanceRoleByGUID(@PathVariable String serverName, @PathVariable String userId, @PathVariable String governanceRoleGUID) Retrieve a governance role description by unique guid.- Parameters:
serverName
- name of server instance to calluserId
- the name of the calling usergovernanceRoleGUID
- unique identifier (guid) of the governance role- Returns:
- governance role object or InvalidParameterException the unique identifier of the governance role is either null or invalid or PropertyServerException the server is not available or UserNotAuthorizedException the calling user is not authorized to issue the call.
-
getGovernanceRoleHistoryByGUID
@GetMapping(path="/governance-roles/{governanceRoleGUID}/history") public GovernanceRoleHistoryResponse getGovernanceRoleHistoryByGUID(@PathVariable String serverName, @PathVariable String userId, @PathVariable String governanceRoleGUID) Retrieve a governance role description by unique guid along with the history of who has been appointed to the role.- Parameters:
serverName
- name of server instance to calluserId
- the name of the calling usergovernanceRoleGUID
- unique identifier (guid) of the governance role- Returns:
- governance role object or InvalidParameterException the unique identifier of the governance role is either null or invalid or PropertyServerException the server is not available or UserNotAuthorizedException the calling user is not authorized to issue the call.
-
getGovernanceRoleByRoleId
@GetMapping(path="/governance-roles/by-role-id/{roleId}") public GovernanceRolesResponse getGovernanceRoleByRoleId(@PathVariable String serverName, @PathVariable String userId, @PathVariable String roleId) Retrieve the properties of a governance role using its unique name. The results are returned as a list since it is possible that two roles have the same identifier due to the distributed nature of the open metadata ecosystem. By returning all the search results here it is possible to manage the duplicates through this interface.- Parameters:
serverName
- name of server instance to calluserId
- the name of the calling userroleId
- the unique identifier (qualifiedName) of the governance role- Returns:
- governance role object or InvalidParameterException the guid is either null or invalid or PropertyServerException the server is not available or UserNotAuthorizedException the calling user is not authorized to issue the call.
-
getGovernanceRolesByDomainId
@GetMapping(path="/governance-roles/by-domain/{domainIdentifier}") public GovernanceRolesResponse getGovernanceRolesByDomainId(@PathVariable String serverName, @PathVariable String userId, @PathVariable int domainIdentifier, @RequestParam int startFrom, @RequestParam int pageSize) Return all the defined governance roles.- Parameters:
serverName
- name of server instance to calluserId
- the name of the calling user.domainIdentifier
- domain of interest - 0 is all domainsstartFrom
- where to start from in the list of definitionspageSize
- max number of results to return in one call- Returns:
- list of governance role objects or InvalidParameterException the guid is either null or invalid or PropertyServerException the server is not available or UserNotAuthorizedException the calling user is not authorized to issue the call.
-
getGovernanceRolesByTitle
@GetMapping(path="/governance-roles/by-title/{title}") public GovernanceRolesResponse getGovernanceRolesByTitle(@PathVariable String serverName, @PathVariable String userId, @PathVariable String title, @RequestParam int startFrom, @RequestParam int pageSize) Retrieve all the governance roles for a particular title. The title can include regEx wildcards.- Parameters:
serverName
- name of server instance to calluserId
- calling usertitle
- short description of the rolestartFrom
- where to start from in the list of definitionspageSize
- max number of results to return in one call- Returns:
- list of governance role objects or InvalidParameterException the title is either null or invalid or PropertyServerException the server is not available or UserNotAuthorizedException the calling user is not authorized to issue the call.
-
getCurrentGovernanceRoleAppointments
@GetMapping(path="/governance-roles/by-domain/{domainIdentifier}/current-appointments") public GovernanceRoleAppointeesResponse getCurrentGovernanceRoleAppointments(@PathVariable String serverName, @PathVariable String userId, @PathVariable int domainIdentifier, @RequestParam int startFrom, @RequestParam int pageSize) Return all the governance roles and their incumbents (if any).- Parameters:
serverName
- name of server instance to calluserId
- the name of the calling userdomainIdentifier
- domain of interest - 0 is all domainsstartFrom
- where to start from in the list of definitionspageSize
- max number of results to return in one call- Returns:
- list of governance role objects or PropertyServerException the server is not available or UserNotAuthorizedException the calling user is not authorized to issue the call.
-
appointGovernanceRole
@PostMapping(path="/governance-roles/{governanceRoleGUID}/appoint/{profileGUID}") public GUIDResponse appointGovernanceRole(@PathVariable String serverName, @PathVariable String userId, @PathVariable String governanceRoleGUID, @PathVariable String profileGUID, @RequestBody AppointmentRequestBody requestBody) Link a person to a governance role. Only one person may be appointed at any one time.- Parameters:
serverName
- name of server instance to calluserId
- the name of the calling user.governanceRoleGUID
- unique identifier (guid) of the governance role.profileGUID
- unique identifier of the actor profilerequestBody
- unique identifier for the profile and start date.- Returns:
- unique identifier (guid) of the appointment relationship or UnrecognizedGUIDException the unique identifier of the governance role or profile is either null or invalid or PropertyServerException the server is not available or UserNotAuthorizedException the calling user is not authorized to issue the call.
-
relieveGovernanceRole
@PostMapping(path="/governance-roles/{governanceRoleGUID}/relieve/{appointmentGUID}/{profileGUID}") public VoidResponse relieveGovernanceRole(@PathVariable String serverName, @PathVariable String userId, @PathVariable String governanceRoleGUID, @PathVariable String appointmentGUID, @PathVariable String profileGUID, @RequestBody AppointmentRequestBody requestBody) Unlink a person from a governance role appointment.- Parameters:
serverName
- name of server instance to calluserId
- the name of the calling usergovernanceRoleGUID
- unique identifier (guid) of the governance roleappointmentGUID
- unique identifier (guid) of the appointment relationshiprequestBody
- unique identifier for the profile and end date.- Returns:
- void response or UnrecognizedGUIDException the unique identifier of the governance role or profile is either null or invalid or InvalidParameterException the profile is not linked to this governance role or PropertyServerException the server is not available or UserNotAuthorizedException the calling user is not authorized to issue the call.
-