Class SecurityGroupResource
java.lang.Object
org.odpi.openmetadata.accessservices.communityprofile.server.spring.SecurityGroupResource
@RestController
@RequestMapping("/servers/{serverName}/open-metadata/access-services/community-profile/users/{userId}")
public class SecurityGroupResource
extends Object
The SecurityGroupResource provides a Spring based server-side REST API
that supports the SecurityGroupManagementInterface. It delegates each request to the
SecurityGroupRESTServices. This provides the server-side implementation of the Community Profile Open Metadata
Access Service (OMAS) which is used to manage information about people, roles and organizations.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptioncreateSecurityGroup
(String serverName, String userId, SecurityGroupProperties requestBody) Create a new security group.deleteSecurityGroup
(String serverName, String userId, String securityGroupGUID, NullRequestBody requestBody) Delete a specific security group.findSecurityGroups
(String serverName, String userId, int startFrom, int pageSize, SearchStringRequestBody requestBody) Return the list of security groups that match the search string - this can be a regular expression.getElementsGovernedBySecurityGroup
(String serverName, String userId, String securityGroupGUID, int startFrom, int pageSize) Return the elements that are governed by the supplied security group.getSecurityGroupByGUID
(String serverName, String userId, String securityGroupGUID) Return information about a specific actor profile.getSecurityGroupsForDistinguishedName
(String serverName, String userId, String distinguishedName, int startFrom, int pageSize) Return the list of security groups associated with a unique distinguishedName.updateSecurityGroup
(String serverName, String userId, String securityGroupGUID, boolean isMergeUpdate, SecurityGroupProperties requestBody) Update an existing security group.
-
Constructor Details
-
SecurityGroupResource
public SecurityGroupResource()Default constructor
-
-
Method Details
-
createSecurityGroup
@PostMapping("/security-groups") public GUIDResponse createSecurityGroup(@PathVariable String serverName, @PathVariable String userId, @RequestBody SecurityGroupProperties requestBody) Create a new security group. The type of the definition is located in the requestBody.- Parameters:
serverName
- called serveruserId
- calling userrequestBody
- requestBody of the definition- 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
-
updateSecurityGroup
@PostMapping("/security-groups/{securityGroupGUID}/update") public VoidResponse updateSecurityGroup(@PathVariable String serverName, @PathVariable String userId, @PathVariable String securityGroupGUID, @RequestParam boolean isMergeUpdate, @RequestBody SecurityGroupProperties requestBody) Update an existing security group.- Parameters:
serverName
- called serveruserId
- calling usersecurityGroupGUID
- unique identifier of the definition to updateisMergeUpdate
- 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
-
deleteSecurityGroup
@PostMapping("/security-groups/{securityGroupGUID}/delete") public VoidResponse deleteSecurityGroup(@PathVariable String serverName, @PathVariable String userId, @PathVariable String securityGroupGUID, @RequestBody(required=false) NullRequestBody requestBody) Delete a specific security group.- Parameters:
serverName
- called serveruserId
- calling usersecurityGroupGUID
- unique identifier of the definition to removerequestBody
- null request body- Returns:
- void or InvalidParameterException guid is null or not known PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
-
getSecurityGroupsForDistinguishedName
@GetMapping("/security-groups/for-distinguished-name/{distinguishedName}") public SecurityGroupsResponse getSecurityGroupsForDistinguishedName(@PathVariable String serverName, @PathVariable String userId, @PathVariable String distinguishedName, @RequestParam int startFrom, @RequestParam int pageSize) Return the list of security groups associated with a unique distinguishedName. In an ideal world, the should be only one.- Parameters:
serverName
- called serveruserId
- calling userdistinguishedName
- unique name of the security groupstartFrom
- where to start from in the list of definitionspageSize
- max number of results to return in one call- Returns:
- list of security groups or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the caller is not authorized to issue the request PropertyServerException the metadata service has problems
-
getElementsGovernedBySecurityGroup
@GetMapping("/security-groups/{securityGroupGUID}/governed-by/elements") public ElementStubsResponse getElementsGovernedBySecurityGroup(@PathVariable String serverName, @PathVariable String userId, @PathVariable String securityGroupGUID, @RequestParam int startFrom, @RequestParam int pageSize) Return the elements that are governed by the supplied security group.- Parameters:
serverName
- called serveruserId
- calling usersecurityGroupGUID
- unique name of the security groupstartFrom
- where to start from in the list of definitionspageSize
- max number of results to return in one call- Returns:
- list of headers for the associated elements or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the caller is not authorized to issue the request PropertyServerException the metadata service has problems
-
findSecurityGroups
@PostMapping("/security-groups/by-search-string") public SecurityGroupsResponse findSecurityGroups(@PathVariable String serverName, @PathVariable String userId, @RequestParam int startFrom, @RequestParam int pageSize, @RequestBody SearchStringRequestBody requestBody) Return the list of security groups that match the search string - this can be a regular expression.- Parameters:
serverName
- called serveruserId
- calling userrequestBody
- value to search forstartFrom
- where to start from in the list of definition resultspageSize
- max number of results to return in one call- Returns:
- list of security groups or InvalidParameterException one of the parameters is invalid UserNotAuthorizedException the caller is not authorized to issue the request PropertyServerException the metadata service has problems
-
getSecurityGroupByGUID
@GetMapping("/security-groups/{securityGroupGUID}") public SecurityGroupResponse getSecurityGroupByGUID(@PathVariable String serverName, @PathVariable String userId, @PathVariable String securityGroupGUID) Return information about a specific actor profile.- Parameters:
serverName
- called serveruserId
- calling usersecurityGroupGUID
- unique identifier for the actor profile- Returns:
- properties of the actor profile InvalidParameterException securityGroupGUID or userId is null PropertyServerException problem accessing property server UserNotAuthorizedException security access problem
-