Class 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 SecruityGroupManagementInterface. 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 Detail

      • SecurityGroupResource

        public SecurityGroupResource()
        Default constructor
    • Method Detail

      • 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 server
        userId - calling user
        requestBody - 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:
        userId - calling user
        securityGroupGUID - unique identifier of the definition to update
        isMergeUpdate - 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 server
        userId - calling user
        securityGroupGUID - unique identifier of the definition to remove
        requestBody - 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 server
        userId - calling user
        distinguishedName - unique name of the security group
        startFrom - where to start from in the list of definitions
        pageSize - 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 server
        userId - calling user
        securityGroupGUID - unique name of the security group
        startFrom - where to start from in the list of definitions
        pageSize - 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 server
        userId - calling user
        requestBody - value to search for
        startFrom - where to start from in the list of definition results
        pageSize - 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 server
        userId - calling user
        securityGroupGUID - 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