RPC API documentation v17.2.0

Back to Documentation Version:  General How to use RPC Managers AttributesManagerAuditMessagesManagerAuthzResolverCabinetManagerConfigManagerConsentsManagerDatabaseManagerExtSourcesManagerFacilitiesManagerGroupsManagerIntegrationManagerMembersManagerNotificationManagerOwnersManagerRTMessagesManagerRegistrarManagerResourcesManagerSearcherSecurityTeamsManagerServicesManagerTasksManagerUsersManagerVosManager

Searcher

This method get Map of Attributes with searching values and try to find all facilities, which have specific attributes in format. Better information about format below. When there are more than 1 attribute in Map, it means all must be true "looking for all of them" (AND) when attribute is type String, so value is string and we are looking for total match (Partial is not supported now, will be supported later by symbol *) when attribute is type Integer, so value is integer in String and we are looking for total match when attribute is type List, so value is String and we are looking for at least one total or partial matching element when attribute is type Map so value is String in format "key=value" and we are looking total match of both or if is it "key" so we are looking for total match of key IMPORTANT: In map there is not allowed char '=' in key. First char '=' is delimiter in MAP item key=value!!! if no such facility exists, returns empty list

Parameter nameData typeDescription
attributesWithSearchingValuesmapof attributes names
Thrown exceptionDescription
InternalErrorExceptionWhen unspecified error occur. See exception param message for explanation.
PrivilegeExceptionWhen caller is not allowed to call this method. Result may vary based on caller identity and provided parameter values.
RpcExceptionWrong usage of API (wrong url, missing param etc.). See exception params message and type for explanation.
Return typeDescription
listof facilities that have attributes with specific values (behaviour above)

Example URL

https://[hostname]/krb/rpc/json/searcher/getFacilities

Example params

{ "attributesWithSearchingValues" : {...} }

Example response

{ ... TODO ... }

This method get Map of user Attributes with searching values and try to find all members, which have specific attributes in format for specific VO. Better information about format below. When there are more than 1 attribute in Map, it means all must be true "looking for all of them" (AND) if principal has no rights for operation, throw exception if principal has no rights for some attribute on specific user, do not return this user if attributesWithSearchingValues is null or empty, return all members from vo if principal has rights for this operation when attribute is type String, so value is string and we are looking for total match (Partial is not supported now, will be supported later by symbol *) when attribute is type Integer, so value is integer in String and we are looking for total match when attribute is type List, so value is String and we are looking for at least one total or partial matching element when attribute is type Map so value is String in format "key=value" and we are looking total match of both or if is it "key" so we are looking for total match of key IMPORTANT: In map there is not allowed char '=' in key. First char '=' is delimiter in MAP item key=value!!! if no user exist, return empty list of users if attributeWithSearchingValues is empty, return allUsers

Parameter nameData typeDescription
userAttributesWithSearchingValuesMap<String,String>map of attributes names with values
voVO
Thrown exceptionDescription
InternalErrorExceptionWhen unspecified error occur. See exception param message for explanation.
PrivilegeExceptionWhen caller is not allowed to call this method. Result may vary based on caller identity and provided parameter values.
RpcExceptionWrong usage of API (wrong url, missing param etc.). See exception params message and type for explanation.
Return typeDescription
List<Member>list of members who have attributes with specific values (behaviour above)

Example URL

https://[hostname]/krb/rpc/json/searcher/getMembersByUserAttributes

Example params

{ "userAttributesWithSearchingValues" : {...} , "vo" : {...} }

Example response

[ { "id" : 12 , "userId" : 34 , "voId" : 42 , "sourceGroupId" : null , "membershipType" : "DIRECT" , "status" : "VALID" , "sponsored" : false , "beanName" : "Member" } , {...} , {...} ]

This method get Map of Attributes with searching values and try to find all resources, which have specific attributes in format. Better information about format below. When there are more than 1 attribute in Map, it means all must be true "looking for all of them" (AND) when attribute is type String, so value is string and we are looking for exact match when attribute is type Integer, so value is integer in String and we are looking for total match when attribute is type List, so value is String and we are looking for at least one total or partial matching element when attribute is type Map so value is String in format "key=value" and we are looking total match of both or if is it "key" so we are looking for total match of key IMPORTANT: In map there is not allowed char '=' in key. First char '=' is delimiter in MAP item key=value!!! if no such resource exists, returns empty list

Parameter nameData typeDescription
attributesWithSearchingValuesmapof attributes names
Thrown exceptionDescription
InternalErrorExceptionWhen unspecified error occur. See exception param message for explanation.
PrivilegeExceptionWhen caller is not allowed to call this method. Result may vary based on caller identity and provided parameter values.
RpcExceptionWrong usage of API (wrong url, missing param etc.). See exception params message and type for explanation.
Return typeDescription
listof resources that have attributes with specific values (behaviour above)

Example URL

https://[hostname]/krb/rpc/json/searcher/getResources

Example params

{ "attributesWithSearchingValues" : {...} }

Example response

{ ... TODO ... }

This method get Map of Attributes with searching values and try to find all resources, which have specific attributes in format. Better information about format below. When there are more than 1 attribute in Map, it means all must be true "looking for all of them" (AND) when attribute is type String, so value is string and we are looking for exact or partial match based by parameter 'allowPartialMatchForString' when attribute is type Integer, so value is integer in String and we are looking for total match when attribute is type List, so value is String and we are looking for at least one total or partial matching element when attribute is type Map so value is String in format "key=value" and we are looking total match of both or if is it "key" so we are looking for total match of key IMPORTANT: In map there is not allowed char '=' in key. First char '=' is delimiter in MAP item key=value!!! if no such resource exists, returns empty list

Parameter nameData typeDescription
attributesWithSearchingValuesmapof attributes names
allowPartialMatchForStringiftrue, we are looking for partial match, if false, we are looking only for exact match (only for STRING type attributes)
Thrown exceptionDescription
InternalErrorExceptionWhen unspecified error occur. See exception param message for explanation.
PrivilegeExceptionWhen caller is not allowed to call this method. Result may vary based on caller identity and provided parameter values.
RpcExceptionWrong usage of API (wrong url, missing param etc.). See exception params message and type for explanation.
Return typeDescription
listof resources that have attributes with specific values (behaviour above)

Example URL

https://[hostname]/krb/rpc/json/searcher/getResources

Example params

{ "attributesWithSearchingValues" : {...} , "allowPartialMatchForString" : {...} }

Example response

{ ... TODO ... }

This method get Map of Attributes with searching values and try to find all users, which have specific attributes in format. Better information about format below. When there are more than 1 attribute in Map, it means all must be true "looking for all of them" (AND) when attribute is type String, so value is string and we are looking for total match (Partial is not supported now, will be supported later by symbol *) when attribute is type Integer, so value is integer in String and we are looking for total match when attribute is type List, so value is String and we are looking for at least one total or partial matching element when attribute is type Map so value is String in format "key=value" and we are looking total match of both or if is it "key" so we are looking for total match of key IMPORTANT: In map there is not allowed char '=' in key. First char '=' is delimiter in MAP item key=value!!! if no user exist, return empty list of users if attributeWithSearchingValues is empty, return allUsers

Parameter nameData typeDescription
attributesWithSearchingValuesMap<String,String>map of attributes names with values
Thrown exceptionDescription
InternalErrorExceptionWhen unspecified error occur. See exception param message for explanation.
PrivilegeExceptionWhen caller is not allowed to call this method. Result may vary based on caller identity and provided parameter values.
RpcExceptionWrong usage of API (wrong url, missing param etc.). See exception params message and type for explanation.
Return typeDescription
List<User>list of users who have attributes with specific values (behaviour above)

Example URL

https://[hostname]/krb/rpc/json/searcher/getUsers

Example params

{ "attributesWithSearchingValues" : {...} }

Example response

[ { "firstName" : "Some" , "lastName" : "Body" , "middleName" : null , "titleBefore" : "Mgr." , "titleAfter" : null , "serviceUser" : false , "sponsoredUser" : false , "specificUser" : false , "majorSpecificType" : "NORMAL" , "id" : 34 , "uuid" : "5e5a02dd-f991-4706-a428-69c3ea6c5ce8" , "beanName" : "User" } , {...} , {...} ]