#  Licensed to the Apache Software Foundation (ASF) under one or more
#  contributor license agreements.  See the NOTICE file distributed with
#  this work for additional information regarding copyright ownership.
#  The ASF licenses this file to You under the Apache License, Version 2.0
#  (the "License"); you may not use this file except in compliance with
#  the License.  You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#  See the License for the specific language governing permissions and
#  limitations under the License.
#

# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
"""Client and server classes corresponding to protobuf-defined services."""
import grpc

import custos.server.core.UserProfileService_pb2 as UserProfileService__pb2


class UserProfileServiceStub(object):
    """Missing associated documentation comment in .proto file."""

    def __init__(self, channel):
        """Constructor.

        Args:
            channel: A grpc.Channel.
        """
        self.createUserProfile = channel.unary_unary(
                '/org.apache.custos.user.profile.service.UserProfileService/createUserProfile',
                request_serializer=UserProfileService__pb2.UserProfileRequest.SerializeToString,
                response_deserializer=UserProfileService__pb2.UserProfile.FromString,
                )
        self.updateUserProfile = channel.unary_unary(
                '/org.apache.custos.user.profile.service.UserProfileService/updateUserProfile',
                request_serializer=UserProfileService__pb2.UserProfileRequest.SerializeToString,
                response_deserializer=UserProfileService__pb2.UserProfile.FromString,
                )
        self.getUserProfile = channel.unary_unary(
                '/org.apache.custos.user.profile.service.UserProfileService/getUserProfile',
                request_serializer=UserProfileService__pb2.UserProfileRequest.SerializeToString,
                response_deserializer=UserProfileService__pb2.UserProfile.FromString,
                )
        self.deleteUserProfile = channel.unary_unary(
                '/org.apache.custos.user.profile.service.UserProfileService/deleteUserProfile',
                request_serializer=UserProfileService__pb2.UserProfileRequest.SerializeToString,
                response_deserializer=UserProfileService__pb2.UserProfile.FromString,
                )
        self.getAllUserProfilesInTenant = channel.unary_unary(
                '/org.apache.custos.user.profile.service.UserProfileService/getAllUserProfilesInTenant',
                request_serializer=UserProfileService__pb2.UserProfileRequest.SerializeToString,
                response_deserializer=UserProfileService__pb2.GetAllUserProfilesResponse.FromString,
                )
        self.findUserProfilesByAttributes = channel.unary_unary(
                '/org.apache.custos.user.profile.service.UserProfileService/findUserProfilesByAttributes',
                request_serializer=UserProfileService__pb2.UserProfileRequest.SerializeToString,
                response_deserializer=UserProfileService__pb2.GetAllUserProfilesResponse.FromString,
                )
        self.createGroup = channel.unary_unary(
                '/org.apache.custos.user.profile.service.UserProfileService/createGroup',
                request_serializer=UserProfileService__pb2.GroupRequest.SerializeToString,
                response_deserializer=UserProfileService__pb2.Group.FromString,
                )
        self.updateGroup = channel.unary_unary(
                '/org.apache.custos.user.profile.service.UserProfileService/updateGroup',
                request_serializer=UserProfileService__pb2.GroupRequest.SerializeToString,
                response_deserializer=UserProfileService__pb2.Group.FromString,
                )
        self.deleteGroup = channel.unary_unary(
                '/org.apache.custos.user.profile.service.UserProfileService/deleteGroup',
                request_serializer=UserProfileService__pb2.GroupRequest.SerializeToString,
                response_deserializer=UserProfileService__pb2.Group.FromString,
                )
        self.getGroup = channel.unary_unary(
                '/org.apache.custos.user.profile.service.UserProfileService/getGroup',
                request_serializer=UserProfileService__pb2.GroupRequest.SerializeToString,
                response_deserializer=UserProfileService__pb2.Group.FromString,
                )
        self.getAllGroups = channel.unary_unary(
                '/org.apache.custos.user.profile.service.UserProfileService/getAllGroups',
                request_serializer=UserProfileService__pb2.GroupRequest.SerializeToString,
                response_deserializer=UserProfileService__pb2.GetAllGroupsResponse.FromString,
                )
        self.getUserProfileAuditTrails = channel.unary_unary(
                '/org.apache.custos.user.profile.service.UserProfileService/getUserProfileAuditTrails',
                request_serializer=UserProfileService__pb2.GetUpdateAuditTrailRequest.SerializeToString,
                response_deserializer=UserProfileService__pb2.GetUpdateAuditTrailResponse.FromString,
                )
        self.addUserToGroup = channel.unary_unary(
                '/org.apache.custos.user.profile.service.UserProfileService/addUserToGroup',
                request_serializer=UserProfileService__pb2.GroupMembership.SerializeToString,
                response_deserializer=UserProfileService__pb2.Status.FromString,
                )
        self.removeUserFromGroup = channel.unary_unary(
                '/org.apache.custos.user.profile.service.UserProfileService/removeUserFromGroup',
                request_serializer=UserProfileService__pb2.GroupMembership.SerializeToString,
                response_deserializer=UserProfileService__pb2.Status.FromString,
                )
        self.addChildGroupToParentGroup = channel.unary_unary(
                '/org.apache.custos.user.profile.service.UserProfileService/addChildGroupToParentGroup',
                request_serializer=UserProfileService__pb2.GroupToGroupMembership.SerializeToString,
                response_deserializer=UserProfileService__pb2.Status.FromString,
                )
        self.removeChildGroupFromParentGroup = channel.unary_unary(
                '/org.apache.custos.user.profile.service.UserProfileService/removeChildGroupFromParentGroup',
                request_serializer=UserProfileService__pb2.GroupToGroupMembership.SerializeToString,
                response_deserializer=UserProfileService__pb2.Status.FromString,
                )
        self.getAllGroupsOfUser = channel.unary_unary(
                '/org.apache.custos.user.profile.service.UserProfileService/getAllGroupsOfUser',
                request_serializer=UserProfileService__pb2.UserProfileRequest.SerializeToString,
                response_deserializer=UserProfileService__pb2.GetAllGroupsResponse.FromString,
                )
        self.getAllParentGroupsOfGroup = channel.unary_unary(
                '/org.apache.custos.user.profile.service.UserProfileService/getAllParentGroupsOfGroup',
                request_serializer=UserProfileService__pb2.GroupRequest.SerializeToString,
                response_deserializer=UserProfileService__pb2.GetAllGroupsResponse.FromString,
                )
        self.addUserGroupMembershipType = channel.unary_unary(
                '/org.apache.custos.user.profile.service.UserProfileService/addUserGroupMembershipType',
                request_serializer=UserProfileService__pb2.UserGroupMembershipTypeRequest.SerializeToString,
                response_deserializer=UserProfileService__pb2.Status.FromString,
                )
        self.removeUserGroupMembershipType = channel.unary_unary(
                '/org.apache.custos.user.profile.service.UserProfileService/removeUserGroupMembershipType',
                request_serializer=UserProfileService__pb2.UserGroupMembershipTypeRequest.SerializeToString,
                response_deserializer=UserProfileService__pb2.Status.FromString,
                )
        self.getAllChildUsers = channel.unary_unary(
                '/org.apache.custos.user.profile.service.UserProfileService/getAllChildUsers',
                request_serializer=UserProfileService__pb2.GroupRequest.SerializeToString,
                response_deserializer=UserProfileService__pb2.GetAllUserProfilesResponse.FromString,
                )
        self.getAllChildGroups = channel.unary_unary(
                '/org.apache.custos.user.profile.service.UserProfileService/getAllChildGroups',
                request_serializer=UserProfileService__pb2.GroupRequest.SerializeToString,
                response_deserializer=UserProfileService__pb2.GetAllGroupsResponse.FromString,
                )
        self.changeUserMembershipType = channel.unary_unary(
                '/org.apache.custos.user.profile.service.UserProfileService/changeUserMembershipType',
                request_serializer=UserProfileService__pb2.GroupMembership.SerializeToString,
                response_deserializer=UserProfileService__pb2.Status.FromString,
                )
        self.hasAccess = channel.unary_unary(
                '/org.apache.custos.user.profile.service.UserProfileService/hasAccess',
                request_serializer=UserProfileService__pb2.GroupMembership.SerializeToString,
                response_deserializer=UserProfileService__pb2.Status.FromString,
                )


class UserProfileServiceServicer(object):
    """Missing associated documentation comment in .proto file."""

    def createUserProfile(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def updateUserProfile(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def getUserProfile(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def deleteUserProfile(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def getAllUserProfilesInTenant(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def findUserProfilesByAttributes(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def createGroup(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def updateGroup(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def deleteGroup(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def getGroup(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def getAllGroups(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def getUserProfileAuditTrails(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def addUserToGroup(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def removeUserFromGroup(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def addChildGroupToParentGroup(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def removeChildGroupFromParentGroup(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def getAllGroupsOfUser(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def getAllParentGroupsOfGroup(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def addUserGroupMembershipType(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def removeUserGroupMembershipType(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def getAllChildUsers(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def getAllChildGroups(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def changeUserMembershipType(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def hasAccess(self, request, context):
        """Missing associated documentation comment in .proto file."""
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_UserProfileServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'createUserProfile': grpc.unary_unary_rpc_method_handler(
                    servicer.createUserProfile,
                    request_deserializer=UserProfileService__pb2.UserProfileRequest.FromString,
                    response_serializer=UserProfileService__pb2.UserProfile.SerializeToString,
            ),
            'updateUserProfile': grpc.unary_unary_rpc_method_handler(
                    servicer.updateUserProfile,
                    request_deserializer=UserProfileService__pb2.UserProfileRequest.FromString,
                    response_serializer=UserProfileService__pb2.UserProfile.SerializeToString,
            ),
            'getUserProfile': grpc.unary_unary_rpc_method_handler(
                    servicer.getUserProfile,
                    request_deserializer=UserProfileService__pb2.UserProfileRequest.FromString,
                    response_serializer=UserProfileService__pb2.UserProfile.SerializeToString,
            ),
            'deleteUserProfile': grpc.unary_unary_rpc_method_handler(
                    servicer.deleteUserProfile,
                    request_deserializer=UserProfileService__pb2.UserProfileRequest.FromString,
                    response_serializer=UserProfileService__pb2.UserProfile.SerializeToString,
            ),
            'getAllUserProfilesInTenant': grpc.unary_unary_rpc_method_handler(
                    servicer.getAllUserProfilesInTenant,
                    request_deserializer=UserProfileService__pb2.UserProfileRequest.FromString,
                    response_serializer=UserProfileService__pb2.GetAllUserProfilesResponse.SerializeToString,
            ),
            'findUserProfilesByAttributes': grpc.unary_unary_rpc_method_handler(
                    servicer.findUserProfilesByAttributes,
                    request_deserializer=UserProfileService__pb2.UserProfileRequest.FromString,
                    response_serializer=UserProfileService__pb2.GetAllUserProfilesResponse.SerializeToString,
            ),
            'createGroup': grpc.unary_unary_rpc_method_handler(
                    servicer.createGroup,
                    request_deserializer=UserProfileService__pb2.GroupRequest.FromString,
                    response_serializer=UserProfileService__pb2.Group.SerializeToString,
            ),
            'updateGroup': grpc.unary_unary_rpc_method_handler(
                    servicer.updateGroup,
                    request_deserializer=UserProfileService__pb2.GroupRequest.FromString,
                    response_serializer=UserProfileService__pb2.Group.SerializeToString,
            ),
            'deleteGroup': grpc.unary_unary_rpc_method_handler(
                    servicer.deleteGroup,
                    request_deserializer=UserProfileService__pb2.GroupRequest.FromString,
                    response_serializer=UserProfileService__pb2.Group.SerializeToString,
            ),
            'getGroup': grpc.unary_unary_rpc_method_handler(
                    servicer.getGroup,
                    request_deserializer=UserProfileService__pb2.GroupRequest.FromString,
                    response_serializer=UserProfileService__pb2.Group.SerializeToString,
            ),
            'getAllGroups': grpc.unary_unary_rpc_method_handler(
                    servicer.getAllGroups,
                    request_deserializer=UserProfileService__pb2.GroupRequest.FromString,
                    response_serializer=UserProfileService__pb2.GetAllGroupsResponse.SerializeToString,
            ),
            'getUserProfileAuditTrails': grpc.unary_unary_rpc_method_handler(
                    servicer.getUserProfileAuditTrails,
                    request_deserializer=UserProfileService__pb2.GetUpdateAuditTrailRequest.FromString,
                    response_serializer=UserProfileService__pb2.GetUpdateAuditTrailResponse.SerializeToString,
            ),
            'addUserToGroup': grpc.unary_unary_rpc_method_handler(
                    servicer.addUserToGroup,
                    request_deserializer=UserProfileService__pb2.GroupMembership.FromString,
                    response_serializer=UserProfileService__pb2.Status.SerializeToString,
            ),
            'removeUserFromGroup': grpc.unary_unary_rpc_method_handler(
                    servicer.removeUserFromGroup,
                    request_deserializer=UserProfileService__pb2.GroupMembership.FromString,
                    response_serializer=UserProfileService__pb2.Status.SerializeToString,
            ),
            'addChildGroupToParentGroup': grpc.unary_unary_rpc_method_handler(
                    servicer.addChildGroupToParentGroup,
                    request_deserializer=UserProfileService__pb2.GroupToGroupMembership.FromString,
                    response_serializer=UserProfileService__pb2.Status.SerializeToString,
            ),
            'removeChildGroupFromParentGroup': grpc.unary_unary_rpc_method_handler(
                    servicer.removeChildGroupFromParentGroup,
                    request_deserializer=UserProfileService__pb2.GroupToGroupMembership.FromString,
                    response_serializer=UserProfileService__pb2.Status.SerializeToString,
            ),
            'getAllGroupsOfUser': grpc.unary_unary_rpc_method_handler(
                    servicer.getAllGroupsOfUser,
                    request_deserializer=UserProfileService__pb2.UserProfileRequest.FromString,
                    response_serializer=UserProfileService__pb2.GetAllGroupsResponse.SerializeToString,
            ),
            'getAllParentGroupsOfGroup': grpc.unary_unary_rpc_method_handler(
                    servicer.getAllParentGroupsOfGroup,
                    request_deserializer=UserProfileService__pb2.GroupRequest.FromString,
                    response_serializer=UserProfileService__pb2.GetAllGroupsResponse.SerializeToString,
            ),
            'addUserGroupMembershipType': grpc.unary_unary_rpc_method_handler(
                    servicer.addUserGroupMembershipType,
                    request_deserializer=UserProfileService__pb2.UserGroupMembershipTypeRequest.FromString,
                    response_serializer=UserProfileService__pb2.Status.SerializeToString,
            ),
            'removeUserGroupMembershipType': grpc.unary_unary_rpc_method_handler(
                    servicer.removeUserGroupMembershipType,
                    request_deserializer=UserProfileService__pb2.UserGroupMembershipTypeRequest.FromString,
                    response_serializer=UserProfileService__pb2.Status.SerializeToString,
            ),
            'getAllChildUsers': grpc.unary_unary_rpc_method_handler(
                    servicer.getAllChildUsers,
                    request_deserializer=UserProfileService__pb2.GroupRequest.FromString,
                    response_serializer=UserProfileService__pb2.GetAllUserProfilesResponse.SerializeToString,
            ),
            'getAllChildGroups': grpc.unary_unary_rpc_method_handler(
                    servicer.getAllChildGroups,
                    request_deserializer=UserProfileService__pb2.GroupRequest.FromString,
                    response_serializer=UserProfileService__pb2.GetAllGroupsResponse.SerializeToString,
            ),
            'changeUserMembershipType': grpc.unary_unary_rpc_method_handler(
                    servicer.changeUserMembershipType,
                    request_deserializer=UserProfileService__pb2.GroupMembership.FromString,
                    response_serializer=UserProfileService__pb2.Status.SerializeToString,
            ),
            'hasAccess': grpc.unary_unary_rpc_method_handler(
                    servicer.hasAccess,
                    request_deserializer=UserProfileService__pb2.GroupMembership.FromString,
                    response_serializer=UserProfileService__pb2.Status.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'org.apache.custos.user.profile.service.UserProfileService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


 # This class is part of an EXPERIMENTAL API.
class UserProfileService(object):
    """Missing associated documentation comment in .proto file."""

    @staticmethod
    def createUserProfile(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/org.apache.custos.user.profile.service.UserProfileService/createUserProfile',
            UserProfileService__pb2.UserProfileRequest.SerializeToString,
            UserProfileService__pb2.UserProfile.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def updateUserProfile(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/org.apache.custos.user.profile.service.UserProfileService/updateUserProfile',
            UserProfileService__pb2.UserProfileRequest.SerializeToString,
            UserProfileService__pb2.UserProfile.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def getUserProfile(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/org.apache.custos.user.profile.service.UserProfileService/getUserProfile',
            UserProfileService__pb2.UserProfileRequest.SerializeToString,
            UserProfileService__pb2.UserProfile.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def deleteUserProfile(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/org.apache.custos.user.profile.service.UserProfileService/deleteUserProfile',
            UserProfileService__pb2.UserProfileRequest.SerializeToString,
            UserProfileService__pb2.UserProfile.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def getAllUserProfilesInTenant(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/org.apache.custos.user.profile.service.UserProfileService/getAllUserProfilesInTenant',
            UserProfileService__pb2.UserProfileRequest.SerializeToString,
            UserProfileService__pb2.GetAllUserProfilesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def findUserProfilesByAttributes(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/org.apache.custos.user.profile.service.UserProfileService/findUserProfilesByAttributes',
            UserProfileService__pb2.UserProfileRequest.SerializeToString,
            UserProfileService__pb2.GetAllUserProfilesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def createGroup(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/org.apache.custos.user.profile.service.UserProfileService/createGroup',
            UserProfileService__pb2.GroupRequest.SerializeToString,
            UserProfileService__pb2.Group.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def updateGroup(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/org.apache.custos.user.profile.service.UserProfileService/updateGroup',
            UserProfileService__pb2.GroupRequest.SerializeToString,
            UserProfileService__pb2.Group.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def deleteGroup(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/org.apache.custos.user.profile.service.UserProfileService/deleteGroup',
            UserProfileService__pb2.GroupRequest.SerializeToString,
            UserProfileService__pb2.Group.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def getGroup(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/org.apache.custos.user.profile.service.UserProfileService/getGroup',
            UserProfileService__pb2.GroupRequest.SerializeToString,
            UserProfileService__pb2.Group.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def getAllGroups(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/org.apache.custos.user.profile.service.UserProfileService/getAllGroups',
            UserProfileService__pb2.GroupRequest.SerializeToString,
            UserProfileService__pb2.GetAllGroupsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def getUserProfileAuditTrails(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/org.apache.custos.user.profile.service.UserProfileService/getUserProfileAuditTrails',
            UserProfileService__pb2.GetUpdateAuditTrailRequest.SerializeToString,
            UserProfileService__pb2.GetUpdateAuditTrailResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def addUserToGroup(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/org.apache.custos.user.profile.service.UserProfileService/addUserToGroup',
            UserProfileService__pb2.GroupMembership.SerializeToString,
            UserProfileService__pb2.Status.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def removeUserFromGroup(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/org.apache.custos.user.profile.service.UserProfileService/removeUserFromGroup',
            UserProfileService__pb2.GroupMembership.SerializeToString,
            UserProfileService__pb2.Status.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def addChildGroupToParentGroup(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/org.apache.custos.user.profile.service.UserProfileService/addChildGroupToParentGroup',
            UserProfileService__pb2.GroupToGroupMembership.SerializeToString,
            UserProfileService__pb2.Status.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def removeChildGroupFromParentGroup(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/org.apache.custos.user.profile.service.UserProfileService/removeChildGroupFromParentGroup',
            UserProfileService__pb2.GroupToGroupMembership.SerializeToString,
            UserProfileService__pb2.Status.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def getAllGroupsOfUser(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/org.apache.custos.user.profile.service.UserProfileService/getAllGroupsOfUser',
            UserProfileService__pb2.UserProfileRequest.SerializeToString,
            UserProfileService__pb2.GetAllGroupsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def getAllParentGroupsOfGroup(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/org.apache.custos.user.profile.service.UserProfileService/getAllParentGroupsOfGroup',
            UserProfileService__pb2.GroupRequest.SerializeToString,
            UserProfileService__pb2.GetAllGroupsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def addUserGroupMembershipType(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/org.apache.custos.user.profile.service.UserProfileService/addUserGroupMembershipType',
            UserProfileService__pb2.UserGroupMembershipTypeRequest.SerializeToString,
            UserProfileService__pb2.Status.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def removeUserGroupMembershipType(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/org.apache.custos.user.profile.service.UserProfileService/removeUserGroupMembershipType',
            UserProfileService__pb2.UserGroupMembershipTypeRequest.SerializeToString,
            UserProfileService__pb2.Status.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def getAllChildUsers(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/org.apache.custos.user.profile.service.UserProfileService/getAllChildUsers',
            UserProfileService__pb2.GroupRequest.SerializeToString,
            UserProfileService__pb2.GetAllUserProfilesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def getAllChildGroups(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/org.apache.custos.user.profile.service.UserProfileService/getAllChildGroups',
            UserProfileService__pb2.GroupRequest.SerializeToString,
            UserProfileService__pb2.GetAllGroupsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def changeUserMembershipType(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/org.apache.custos.user.profile.service.UserProfileService/changeUserMembershipType',
            UserProfileService__pb2.GroupMembership.SerializeToString,
            UserProfileService__pb2.Status.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def hasAccess(request,
            target,
            options=(),
            channel_credentials=None,
            call_credentials=None,
            insecure=False,
            compression=None,
            wait_for_ready=None,
            timeout=None,
            metadata=None):
        return grpc.experimental.unary_unary(request, target, '/org.apache.custos.user.profile.service.UserProfileService/hasAccess',
            UserProfileService__pb2.GroupMembership.SerializeToString,
            UserProfileService__pb2.Status.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
