Class GovernanceRolesRESTServices
java.lang.Object
org.odpi.openmetadata.accessservices.governanceprogram.server.GovernanceRolesRESTServices
The GovernanceRolesRESTServices provides the server-side implementation of the GovernanceRolesInterface
from the Open Metadata Access Service (OMAS). This interface provides the ability to governance roles and
link/unlink them to individuals.
-
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.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
-
GovernanceRolesRESTServices
public GovernanceRolesRESTServices()Default constructor
-
-
Method Details
-
createGovernanceRole
public GUIDResponse createGovernanceRole(String serverName, String userId, GovernanceRoleRequestBody requestBody) Create the governance role.- 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
public VoidResponse updateGovernanceRole(String serverName, String userId, String governanceRoleGUID, boolean isMergeUpdate, GovernanceRoleRequestBody requestBody) Update selected fields for the governance role.- Parameters:
serverName
- name of server instance to calluserId
- the name of the calling userisMergeUpdate
- are unspecified properties unchanged (true) or replaced with null?governanceRoleGUID
- unique identifier (guid) of the governance role.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
public VoidResponse 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.- 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
public VoidResponse unlinkRoleFromResponsibility(String serverName, String userId, String governanceRoleGUID, String responsibilityGUID, 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
- external source 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
public VoidResponse 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.- 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
public VoidResponse unlinkRoleFromResource(String serverName, String userId, String governanceRoleGUID, String resourceGUID, 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
- external source 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
public VoidResponse deleteGovernanceRole(String serverName, String userId, String governanceRoleGUID, ExternalSourceRequestBody requestBody) Remove the requested governance role.- Parameters:
serverName
- name of server instance to calluserId
- the name of the calling user.governanceRoleGUID
- unique identifier (guid) of the governance role.requestBody
- external source request body- Returns:
- void response or UnrecognizedGUIDException the unique identifier of the governance role is either null or invalid or InvalidParameterException the appointmentId or governance domain is either null or invalid or PropertyServerException the server is not available or UserNotAuthorizedException the calling user is not authorized to issue the call.
-
getGovernanceRoleByGUID
public GovernanceRoleResponse getGovernanceRoleByGUID(String serverName, String userId, String governanceRoleGUID) Retrieve a governance role description by unique guid.- Parameters:
serverName
- name of server instance to calluserId
- the name of the calling user.governanceRoleGUID
- unique identifier (guid) of the governance role.- Returns:
- governance role object or UnrecognizedGUIDException 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
public GovernanceRoleHistoryResponse 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.- Parameters:
serverName
- name of server instance to calluserId
- the name of the calling user.governanceRoleGUID
- unique identifier (guid) of the governance role.- Returns:
- governance role object or UnrecognizedGUIDException 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
public GovernanceRolesResponse getGovernanceRoleByRoleId(String serverName, String userId, 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 user.roleId
- the unique identifier of the governance role.- Returns:
- governance role object or InvalidParameterException the governanceRoleGUID or governance domain 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
public GovernanceRolesResponse getGovernanceRolesByDomainId(String serverName, String userId, int domainIdentifier, int startFrom, 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 means 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.
-
getGovernanceRolesByTitle
public GovernanceRolesResponse getGovernanceRolesByTitle(String serverName, String userId, String title, int startFrom, 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 PropertyServerException the server is not available or UserNotAuthorizedException the calling user is not authorized to issue the call.
-
getCurrentGovernanceRoleAppointments
public GovernanceRoleAppointeesResponse getCurrentGovernanceRoleAppointments(String serverName, String userId, int domainIdentifier, int startFrom, 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 user.domainIdentifier
- identifier of domain - 0 means allstartFrom
- 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
public GUIDResponse appointGovernanceRole(String serverName, String userId, String governanceRoleGUID, String profileGUID, 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- 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
public VoidResponse relieveGovernanceRole(String serverName, String userId, String governanceRoleGUID, String appointmentGUID, String profileGUID, AppointmentRequestBody requestBody) Unlink a person from a governance role appointment.- 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.appointmentGUID
- unique identifier (guid) of the appointment relationship- 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.
-