#  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.IamAdminService_pb2 as IamAdminService__pb2
from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2


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

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

        Args:
            channel: A grpc.Channel.
        """
        self.setUPTenant = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/setUPTenant',
                request_serializer=IamAdminService__pb2.SetUpTenantRequest.SerializeToString,
                response_deserializer=IamAdminService__pb2.SetUpTenantResponse.FromString,
                )
        self.updateTenant = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/updateTenant',
                request_serializer=IamAdminService__pb2.SetUpTenantRequest.SerializeToString,
                response_deserializer=IamAdminService__pb2.SetUpTenantResponse.FromString,
                )
        self.deleteTenant = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/deleteTenant',
                request_serializer=IamAdminService__pb2.DeleteTenantRequest.SerializeToString,
                response_deserializer=google_dot_protobuf_dot_empty__pb2.Empty.FromString,
                )
        self.configureFederatedIDP = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/configureFederatedIDP',
                request_serializer=IamAdminService__pb2.ConfigureFederateIDPRequest.SerializeToString,
                response_deserializer=IamAdminService__pb2.FederateIDPResponse.FromString,
                )
        self.addRolesToTenant = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/addRolesToTenant',
                request_serializer=IamAdminService__pb2.AddRolesRequest.SerializeToString,
                response_deserializer=IamAdminService__pb2.AllRoles.FromString,
                )
        self.addProtocolMapper = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/addProtocolMapper',
                request_serializer=IamAdminService__pb2.AddProtocolMapperRequest.SerializeToString,
                response_deserializer=IamAdminService__pb2.OperationStatus.FromString,
                )
        self.getRolesOfTenant = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/getRolesOfTenant',
                request_serializer=IamAdminService__pb2.GetRolesRequest.SerializeToString,
                response_deserializer=IamAdminService__pb2.AllRoles.FromString,
                )
        self.deleteRole = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/deleteRole',
                request_serializer=IamAdminService__pb2.DeleteRoleRequest.SerializeToString,
                response_deserializer=IamAdminService__pb2.OperationStatus.FromString,
                )
        self.isUsernameAvailable = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/isUsernameAvailable',
                request_serializer=IamAdminService__pb2.UserSearchRequest.SerializeToString,
                response_deserializer=IamAdminService__pb2.OperationStatus.FromString,
                )
        self.registerUser = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/registerUser',
                request_serializer=IamAdminService__pb2.RegisterUserRequest.SerializeToString,
                response_deserializer=IamAdminService__pb2.RegisterUserResponse.FromString,
                )
        self.enableUser = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/enableUser',
                request_serializer=IamAdminService__pb2.UserSearchRequest.SerializeToString,
                response_deserializer=IamAdminService__pb2.UserRepresentation.FromString,
                )
        self.disableUser = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/disableUser',
                request_serializer=IamAdminService__pb2.UserSearchRequest.SerializeToString,
                response_deserializer=IamAdminService__pb2.UserRepresentation.FromString,
                )
        self.isUserEnabled = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/isUserEnabled',
                request_serializer=IamAdminService__pb2.UserSearchRequest.SerializeToString,
                response_deserializer=IamAdminService__pb2.OperationStatus.FromString,
                )
        self.isUserExist = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/isUserExist',
                request_serializer=IamAdminService__pb2.UserSearchRequest.SerializeToString,
                response_deserializer=IamAdminService__pb2.CheckingResponse.FromString,
                )
        self.getUser = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/getUser',
                request_serializer=IamAdminService__pb2.UserSearchRequest.SerializeToString,
                response_deserializer=IamAdminService__pb2.UserRepresentation.FromString,
                )
        self.findUsers = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/findUsers',
                request_serializer=IamAdminService__pb2.FindUsersRequest.SerializeToString,
                response_deserializer=IamAdminService__pb2.FindUsersResponse.FromString,
                )
        self.resetPassword = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/resetPassword',
                request_serializer=IamAdminService__pb2.ResetUserPassword.SerializeToString,
                response_deserializer=IamAdminService__pb2.OperationStatus.FromString,
                )
        self.grantAdminPrivilege = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/grantAdminPrivilege',
                request_serializer=IamAdminService__pb2.UserSearchRequest.SerializeToString,
                response_deserializer=IamAdminService__pb2.OperationStatus.FromString,
                )
        self.removeAdminPrivilege = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/removeAdminPrivilege',
                request_serializer=IamAdminService__pb2.UserSearchRequest.SerializeToString,
                response_deserializer=IamAdminService__pb2.OperationStatus.FromString,
                )
        self.registerAndEnableUsers = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/registerAndEnableUsers',
                request_serializer=IamAdminService__pb2.RegisterUsersRequest.SerializeToString,
                response_deserializer=IamAdminService__pb2.RegisterUsersResponse.FromString,
                )
        self.addUserAttributes = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/addUserAttributes',
                request_serializer=IamAdminService__pb2.AddUserAttributesRequest.SerializeToString,
                response_deserializer=IamAdminService__pb2.OperationStatus.FromString,
                )
        self.deleteUserAttributes = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/deleteUserAttributes',
                request_serializer=IamAdminService__pb2.DeleteUserAttributeRequest.SerializeToString,
                response_deserializer=IamAdminService__pb2.OperationStatus.FromString,
                )
        self.addRolesToUsers = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/addRolesToUsers',
                request_serializer=IamAdminService__pb2.AddUserRolesRequest.SerializeToString,
                response_deserializer=IamAdminService__pb2.OperationStatus.FromString,
                )
        self.deleteUser = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/deleteUser',
                request_serializer=IamAdminService__pb2.UserSearchRequest.SerializeToString,
                response_deserializer=IamAdminService__pb2.OperationStatus.FromString,
                )
        self.deleteRolesFromUser = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/deleteRolesFromUser',
                request_serializer=IamAdminService__pb2.DeleteUserRolesRequest.SerializeToString,
                response_deserializer=IamAdminService__pb2.OperationStatus.FromString,
                )
        self.updateUserProfile = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/updateUserProfile',
                request_serializer=IamAdminService__pb2.UpdateUserProfileRequest.SerializeToString,
                response_deserializer=IamAdminService__pb2.OperationStatus.FromString,
                )
        self.getOperationMetadata = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/getOperationMetadata',
                request_serializer=IamAdminService__pb2.GetOperationsMetadataRequest.SerializeToString,
                response_deserializer=IamAdminService__pb2.GetOperationsMetadataResponse.FromString,
                )
        self.configureEventPersistence = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/configureEventPersistence',
                request_serializer=IamAdminService__pb2.EventPersistenceRequest.SerializeToString,
                response_deserializer=IamAdminService__pb2.OperationStatus.FromString,
                )
        self.createGroups = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/createGroups',
                request_serializer=IamAdminService__pb2.GroupsRequest.SerializeToString,
                response_deserializer=IamAdminService__pb2.GroupsResponse.FromString,
                )
        self.updateGroup = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/updateGroup',
                request_serializer=IamAdminService__pb2.GroupRequest.SerializeToString,
                response_deserializer=IamAdminService__pb2.GroupRepresentation.FromString,
                )
        self.deleteGroup = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/deleteGroup',
                request_serializer=IamAdminService__pb2.GroupRequest.SerializeToString,
                response_deserializer=IamAdminService__pb2.OperationStatus.FromString,
                )
        self.findGroup = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/findGroup',
                request_serializer=IamAdminService__pb2.GroupRequest.SerializeToString,
                response_deserializer=IamAdminService__pb2.GroupRepresentation.FromString,
                )
        self.getAllGroups = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/getAllGroups',
                request_serializer=IamAdminService__pb2.GroupRequest.SerializeToString,
                response_deserializer=IamAdminService__pb2.GroupsResponse.FromString,
                )
        self.addUserToGroup = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/addUserToGroup',
                request_serializer=IamAdminService__pb2.UserGroupMappingRequest.SerializeToString,
                response_deserializer=IamAdminService__pb2.OperationStatus.FromString,
                )
        self.removeUserFromGroup = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/removeUserFromGroup',
                request_serializer=IamAdminService__pb2.UserGroupMappingRequest.SerializeToString,
                response_deserializer=IamAdminService__pb2.OperationStatus.FromString,
                )
        self.createAgentClient = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/createAgentClient',
                request_serializer=IamAdminService__pb2.AgentClientMetadata.SerializeToString,
                response_deserializer=IamAdminService__pb2.SetUpTenantResponse.FromString,
                )
        self.configureAgentClient = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/configureAgentClient',
                request_serializer=IamAdminService__pb2.AgentClientMetadata.SerializeToString,
                response_deserializer=IamAdminService__pb2.OperationStatus.FromString,
                )
        self.isAgentNameAvailable = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/isAgentNameAvailable',
                request_serializer=IamAdminService__pb2.UserSearchRequest.SerializeToString,
                response_deserializer=IamAdminService__pb2.OperationStatus.FromString,
                )
        self.registerAndEnableAgent = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/registerAndEnableAgent',
                request_serializer=IamAdminService__pb2.RegisterUserRequest.SerializeToString,
                response_deserializer=IamAdminService__pb2.RegisterUserResponse.FromString,
                )
        self.deleteAgent = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/deleteAgent',
                request_serializer=IamAdminService__pb2.UserSearchRequest.SerializeToString,
                response_deserializer=IamAdminService__pb2.OperationStatus.FromString,
                )
        self.getAgent = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/getAgent',
                request_serializer=IamAdminService__pb2.UserSearchRequest.SerializeToString,
                response_deserializer=IamAdminService__pb2.Agent.FromString,
                )
        self.disableAgent = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/disableAgent',
                request_serializer=IamAdminService__pb2.UserSearchRequest.SerializeToString,
                response_deserializer=IamAdminService__pb2.OperationStatus.FromString,
                )
        self.enableAgent = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/enableAgent',
                request_serializer=IamAdminService__pb2.UserSearchRequest.SerializeToString,
                response_deserializer=IamAdminService__pb2.OperationStatus.FromString,
                )
        self.addAgentAttributes = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/addAgentAttributes',
                request_serializer=IamAdminService__pb2.AddUserAttributesRequest.SerializeToString,
                response_deserializer=IamAdminService__pb2.OperationStatus.FromString,
                )
        self.deleteAgentAttributes = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/deleteAgentAttributes',
                request_serializer=IamAdminService__pb2.DeleteUserAttributeRequest.SerializeToString,
                response_deserializer=IamAdminService__pb2.OperationStatus.FromString,
                )
        self.addRolesToAgent = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/addRolesToAgent',
                request_serializer=IamAdminService__pb2.AddUserRolesRequest.SerializeToString,
                response_deserializer=IamAdminService__pb2.OperationStatus.FromString,
                )
        self.deleteAgentRoles = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/deleteAgentRoles',
                request_serializer=IamAdminService__pb2.DeleteUserRolesRequest.SerializeToString,
                response_deserializer=IamAdminService__pb2.OperationStatus.FromString,
                )
        self.getAllResources = channel.unary_unary(
                '/org.apache.custos.iam.service.IamAdminService/getAllResources',
                request_serializer=IamAdminService__pb2.GetAllResources.SerializeToString,
                response_deserializer=IamAdminService__pb2.GetAllResourcesResponse.FromString,
                )


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

    def setUPTenant(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 updateTenant(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 deleteTenant(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 configureFederatedIDP(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 addRolesToTenant(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 addProtocolMapper(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 getRolesOfTenant(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 deleteRole(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 isUsernameAvailable(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 registerUser(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 enableUser(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 disableUser(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 isUserEnabled(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 isUserExist(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 getUser(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 findUsers(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 resetPassword(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 grantAdminPrivilege(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 removeAdminPrivilege(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 registerAndEnableUsers(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 addUserAttributes(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 deleteUserAttributes(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 addRolesToUsers(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 deleteUser(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 deleteRolesFromUser(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 getOperationMetadata(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 configureEventPersistence(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 createGroups(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 findGroup(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 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 createAgentClient(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 configureAgentClient(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 isAgentNameAvailable(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 registerAndEnableAgent(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 deleteAgent(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 getAgent(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 disableAgent(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 enableAgent(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 addAgentAttributes(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 deleteAgentAttributes(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 addRolesToAgent(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 deleteAgentRoles(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 getAllResources(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_IamAdminServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'setUPTenant': grpc.unary_unary_rpc_method_handler(
                    servicer.setUPTenant,
                    request_deserializer=IamAdminService__pb2.SetUpTenantRequest.FromString,
                    response_serializer=IamAdminService__pb2.SetUpTenantResponse.SerializeToString,
            ),
            'updateTenant': grpc.unary_unary_rpc_method_handler(
                    servicer.updateTenant,
                    request_deserializer=IamAdminService__pb2.SetUpTenantRequest.FromString,
                    response_serializer=IamAdminService__pb2.SetUpTenantResponse.SerializeToString,
            ),
            'deleteTenant': grpc.unary_unary_rpc_method_handler(
                    servicer.deleteTenant,
                    request_deserializer=IamAdminService__pb2.DeleteTenantRequest.FromString,
                    response_serializer=google_dot_protobuf_dot_empty__pb2.Empty.SerializeToString,
            ),
            'configureFederatedIDP': grpc.unary_unary_rpc_method_handler(
                    servicer.configureFederatedIDP,
                    request_deserializer=IamAdminService__pb2.ConfigureFederateIDPRequest.FromString,
                    response_serializer=IamAdminService__pb2.FederateIDPResponse.SerializeToString,
            ),
            'addRolesToTenant': grpc.unary_unary_rpc_method_handler(
                    servicer.addRolesToTenant,
                    request_deserializer=IamAdminService__pb2.AddRolesRequest.FromString,
                    response_serializer=IamAdminService__pb2.AllRoles.SerializeToString,
            ),
            'addProtocolMapper': grpc.unary_unary_rpc_method_handler(
                    servicer.addProtocolMapper,
                    request_deserializer=IamAdminService__pb2.AddProtocolMapperRequest.FromString,
                    response_serializer=IamAdminService__pb2.OperationStatus.SerializeToString,
            ),
            'getRolesOfTenant': grpc.unary_unary_rpc_method_handler(
                    servicer.getRolesOfTenant,
                    request_deserializer=IamAdminService__pb2.GetRolesRequest.FromString,
                    response_serializer=IamAdminService__pb2.AllRoles.SerializeToString,
            ),
            'deleteRole': grpc.unary_unary_rpc_method_handler(
                    servicer.deleteRole,
                    request_deserializer=IamAdminService__pb2.DeleteRoleRequest.FromString,
                    response_serializer=IamAdminService__pb2.OperationStatus.SerializeToString,
            ),
            'isUsernameAvailable': grpc.unary_unary_rpc_method_handler(
                    servicer.isUsernameAvailable,
                    request_deserializer=IamAdminService__pb2.UserSearchRequest.FromString,
                    response_serializer=IamAdminService__pb2.OperationStatus.SerializeToString,
            ),
            'registerUser': grpc.unary_unary_rpc_method_handler(
                    servicer.registerUser,
                    request_deserializer=IamAdminService__pb2.RegisterUserRequest.FromString,
                    response_serializer=IamAdminService__pb2.RegisterUserResponse.SerializeToString,
            ),
            'enableUser': grpc.unary_unary_rpc_method_handler(
                    servicer.enableUser,
                    request_deserializer=IamAdminService__pb2.UserSearchRequest.FromString,
                    response_serializer=IamAdminService__pb2.UserRepresentation.SerializeToString,
            ),
            'disableUser': grpc.unary_unary_rpc_method_handler(
                    servicer.disableUser,
                    request_deserializer=IamAdminService__pb2.UserSearchRequest.FromString,
                    response_serializer=IamAdminService__pb2.UserRepresentation.SerializeToString,
            ),
            'isUserEnabled': grpc.unary_unary_rpc_method_handler(
                    servicer.isUserEnabled,
                    request_deserializer=IamAdminService__pb2.UserSearchRequest.FromString,
                    response_serializer=IamAdminService__pb2.OperationStatus.SerializeToString,
            ),
            'isUserExist': grpc.unary_unary_rpc_method_handler(
                    servicer.isUserExist,
                    request_deserializer=IamAdminService__pb2.UserSearchRequest.FromString,
                    response_serializer=IamAdminService__pb2.CheckingResponse.SerializeToString,
            ),
            'getUser': grpc.unary_unary_rpc_method_handler(
                    servicer.getUser,
                    request_deserializer=IamAdminService__pb2.UserSearchRequest.FromString,
                    response_serializer=IamAdminService__pb2.UserRepresentation.SerializeToString,
            ),
            'findUsers': grpc.unary_unary_rpc_method_handler(
                    servicer.findUsers,
                    request_deserializer=IamAdminService__pb2.FindUsersRequest.FromString,
                    response_serializer=IamAdminService__pb2.FindUsersResponse.SerializeToString,
            ),
            'resetPassword': grpc.unary_unary_rpc_method_handler(
                    servicer.resetPassword,
                    request_deserializer=IamAdminService__pb2.ResetUserPassword.FromString,
                    response_serializer=IamAdminService__pb2.OperationStatus.SerializeToString,
            ),
            'grantAdminPrivilege': grpc.unary_unary_rpc_method_handler(
                    servicer.grantAdminPrivilege,
                    request_deserializer=IamAdminService__pb2.UserSearchRequest.FromString,
                    response_serializer=IamAdminService__pb2.OperationStatus.SerializeToString,
            ),
            'removeAdminPrivilege': grpc.unary_unary_rpc_method_handler(
                    servicer.removeAdminPrivilege,
                    request_deserializer=IamAdminService__pb2.UserSearchRequest.FromString,
                    response_serializer=IamAdminService__pb2.OperationStatus.SerializeToString,
            ),
            'registerAndEnableUsers': grpc.unary_unary_rpc_method_handler(
                    servicer.registerAndEnableUsers,
                    request_deserializer=IamAdminService__pb2.RegisterUsersRequest.FromString,
                    response_serializer=IamAdminService__pb2.RegisterUsersResponse.SerializeToString,
            ),
            'addUserAttributes': grpc.unary_unary_rpc_method_handler(
                    servicer.addUserAttributes,
                    request_deserializer=IamAdminService__pb2.AddUserAttributesRequest.FromString,
                    response_serializer=IamAdminService__pb2.OperationStatus.SerializeToString,
            ),
            'deleteUserAttributes': grpc.unary_unary_rpc_method_handler(
                    servicer.deleteUserAttributes,
                    request_deserializer=IamAdminService__pb2.DeleteUserAttributeRequest.FromString,
                    response_serializer=IamAdminService__pb2.OperationStatus.SerializeToString,
            ),
            'addRolesToUsers': grpc.unary_unary_rpc_method_handler(
                    servicer.addRolesToUsers,
                    request_deserializer=IamAdminService__pb2.AddUserRolesRequest.FromString,
                    response_serializer=IamAdminService__pb2.OperationStatus.SerializeToString,
            ),
            'deleteUser': grpc.unary_unary_rpc_method_handler(
                    servicer.deleteUser,
                    request_deserializer=IamAdminService__pb2.UserSearchRequest.FromString,
                    response_serializer=IamAdminService__pb2.OperationStatus.SerializeToString,
            ),
            'deleteRolesFromUser': grpc.unary_unary_rpc_method_handler(
                    servicer.deleteRolesFromUser,
                    request_deserializer=IamAdminService__pb2.DeleteUserRolesRequest.FromString,
                    response_serializer=IamAdminService__pb2.OperationStatus.SerializeToString,
            ),
            'updateUserProfile': grpc.unary_unary_rpc_method_handler(
                    servicer.updateUserProfile,
                    request_deserializer=IamAdminService__pb2.UpdateUserProfileRequest.FromString,
                    response_serializer=IamAdminService__pb2.OperationStatus.SerializeToString,
            ),
            'getOperationMetadata': grpc.unary_unary_rpc_method_handler(
                    servicer.getOperationMetadata,
                    request_deserializer=IamAdminService__pb2.GetOperationsMetadataRequest.FromString,
                    response_serializer=IamAdminService__pb2.GetOperationsMetadataResponse.SerializeToString,
            ),
            'configureEventPersistence': grpc.unary_unary_rpc_method_handler(
                    servicer.configureEventPersistence,
                    request_deserializer=IamAdminService__pb2.EventPersistenceRequest.FromString,
                    response_serializer=IamAdminService__pb2.OperationStatus.SerializeToString,
            ),
            'createGroups': grpc.unary_unary_rpc_method_handler(
                    servicer.createGroups,
                    request_deserializer=IamAdminService__pb2.GroupsRequest.FromString,
                    response_serializer=IamAdminService__pb2.GroupsResponse.SerializeToString,
            ),
            'updateGroup': grpc.unary_unary_rpc_method_handler(
                    servicer.updateGroup,
                    request_deserializer=IamAdminService__pb2.GroupRequest.FromString,
                    response_serializer=IamAdminService__pb2.GroupRepresentation.SerializeToString,
            ),
            'deleteGroup': grpc.unary_unary_rpc_method_handler(
                    servicer.deleteGroup,
                    request_deserializer=IamAdminService__pb2.GroupRequest.FromString,
                    response_serializer=IamAdminService__pb2.OperationStatus.SerializeToString,
            ),
            'findGroup': grpc.unary_unary_rpc_method_handler(
                    servicer.findGroup,
                    request_deserializer=IamAdminService__pb2.GroupRequest.FromString,
                    response_serializer=IamAdminService__pb2.GroupRepresentation.SerializeToString,
            ),
            'getAllGroups': grpc.unary_unary_rpc_method_handler(
                    servicer.getAllGroups,
                    request_deserializer=IamAdminService__pb2.GroupRequest.FromString,
                    response_serializer=IamAdminService__pb2.GroupsResponse.SerializeToString,
            ),
            'addUserToGroup': grpc.unary_unary_rpc_method_handler(
                    servicer.addUserToGroup,
                    request_deserializer=IamAdminService__pb2.UserGroupMappingRequest.FromString,
                    response_serializer=IamAdminService__pb2.OperationStatus.SerializeToString,
            ),
            'removeUserFromGroup': grpc.unary_unary_rpc_method_handler(
                    servicer.removeUserFromGroup,
                    request_deserializer=IamAdminService__pb2.UserGroupMappingRequest.FromString,
                    response_serializer=IamAdminService__pb2.OperationStatus.SerializeToString,
            ),
            'createAgentClient': grpc.unary_unary_rpc_method_handler(
                    servicer.createAgentClient,
                    request_deserializer=IamAdminService__pb2.AgentClientMetadata.FromString,
                    response_serializer=IamAdminService__pb2.SetUpTenantResponse.SerializeToString,
            ),
            'configureAgentClient': grpc.unary_unary_rpc_method_handler(
                    servicer.configureAgentClient,
                    request_deserializer=IamAdminService__pb2.AgentClientMetadata.FromString,
                    response_serializer=IamAdminService__pb2.OperationStatus.SerializeToString,
            ),
            'isAgentNameAvailable': grpc.unary_unary_rpc_method_handler(
                    servicer.isAgentNameAvailable,
                    request_deserializer=IamAdminService__pb2.UserSearchRequest.FromString,
                    response_serializer=IamAdminService__pb2.OperationStatus.SerializeToString,
            ),
            'registerAndEnableAgent': grpc.unary_unary_rpc_method_handler(
                    servicer.registerAndEnableAgent,
                    request_deserializer=IamAdminService__pb2.RegisterUserRequest.FromString,
                    response_serializer=IamAdminService__pb2.RegisterUserResponse.SerializeToString,
            ),
            'deleteAgent': grpc.unary_unary_rpc_method_handler(
                    servicer.deleteAgent,
                    request_deserializer=IamAdminService__pb2.UserSearchRequest.FromString,
                    response_serializer=IamAdminService__pb2.OperationStatus.SerializeToString,
            ),
            'getAgent': grpc.unary_unary_rpc_method_handler(
                    servicer.getAgent,
                    request_deserializer=IamAdminService__pb2.UserSearchRequest.FromString,
                    response_serializer=IamAdminService__pb2.Agent.SerializeToString,
            ),
            'disableAgent': grpc.unary_unary_rpc_method_handler(
                    servicer.disableAgent,
                    request_deserializer=IamAdminService__pb2.UserSearchRequest.FromString,
                    response_serializer=IamAdminService__pb2.OperationStatus.SerializeToString,
            ),
            'enableAgent': grpc.unary_unary_rpc_method_handler(
                    servicer.enableAgent,
                    request_deserializer=IamAdminService__pb2.UserSearchRequest.FromString,
                    response_serializer=IamAdminService__pb2.OperationStatus.SerializeToString,
            ),
            'addAgentAttributes': grpc.unary_unary_rpc_method_handler(
                    servicer.addAgentAttributes,
                    request_deserializer=IamAdminService__pb2.AddUserAttributesRequest.FromString,
                    response_serializer=IamAdminService__pb2.OperationStatus.SerializeToString,
            ),
            'deleteAgentAttributes': grpc.unary_unary_rpc_method_handler(
                    servicer.deleteAgentAttributes,
                    request_deserializer=IamAdminService__pb2.DeleteUserAttributeRequest.FromString,
                    response_serializer=IamAdminService__pb2.OperationStatus.SerializeToString,
            ),
            'addRolesToAgent': grpc.unary_unary_rpc_method_handler(
                    servicer.addRolesToAgent,
                    request_deserializer=IamAdminService__pb2.AddUserRolesRequest.FromString,
                    response_serializer=IamAdminService__pb2.OperationStatus.SerializeToString,
            ),
            'deleteAgentRoles': grpc.unary_unary_rpc_method_handler(
                    servicer.deleteAgentRoles,
                    request_deserializer=IamAdminService__pb2.DeleteUserRolesRequest.FromString,
                    response_serializer=IamAdminService__pb2.OperationStatus.SerializeToString,
            ),
            'getAllResources': grpc.unary_unary_rpc_method_handler(
                    servicer.getAllResources,
                    request_deserializer=IamAdminService__pb2.GetAllResources.FromString,
                    response_serializer=IamAdminService__pb2.GetAllResourcesResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'org.apache.custos.iam.service.IamAdminService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


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

    @staticmethod
    def setUPTenant(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.iam.service.IamAdminService/setUPTenant',
            IamAdminService__pb2.SetUpTenantRequest.SerializeToString,
            IamAdminService__pb2.SetUpTenantResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def updateTenant(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.iam.service.IamAdminService/updateTenant',
            IamAdminService__pb2.SetUpTenantRequest.SerializeToString,
            IamAdminService__pb2.SetUpTenantResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def deleteTenant(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.iam.service.IamAdminService/deleteTenant',
            IamAdminService__pb2.DeleteTenantRequest.SerializeToString,
            google_dot_protobuf_dot_empty__pb2.Empty.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def configureFederatedIDP(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.iam.service.IamAdminService/configureFederatedIDP',
            IamAdminService__pb2.ConfigureFederateIDPRequest.SerializeToString,
            IamAdminService__pb2.FederateIDPResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def addRolesToTenant(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.iam.service.IamAdminService/addRolesToTenant',
            IamAdminService__pb2.AddRolesRequest.SerializeToString,
            IamAdminService__pb2.AllRoles.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def addProtocolMapper(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.iam.service.IamAdminService/addProtocolMapper',
            IamAdminService__pb2.AddProtocolMapperRequest.SerializeToString,
            IamAdminService__pb2.OperationStatus.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def getRolesOfTenant(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.iam.service.IamAdminService/getRolesOfTenant',
            IamAdminService__pb2.GetRolesRequest.SerializeToString,
            IamAdminService__pb2.AllRoles.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def deleteRole(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.iam.service.IamAdminService/deleteRole',
            IamAdminService__pb2.DeleteRoleRequest.SerializeToString,
            IamAdminService__pb2.OperationStatus.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def isUsernameAvailable(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.iam.service.IamAdminService/isUsernameAvailable',
            IamAdminService__pb2.UserSearchRequest.SerializeToString,
            IamAdminService__pb2.OperationStatus.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def registerUser(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.iam.service.IamAdminService/registerUser',
            IamAdminService__pb2.RegisterUserRequest.SerializeToString,
            IamAdminService__pb2.RegisterUserResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def enableUser(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.iam.service.IamAdminService/enableUser',
            IamAdminService__pb2.UserSearchRequest.SerializeToString,
            IamAdminService__pb2.UserRepresentation.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def disableUser(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.iam.service.IamAdminService/disableUser',
            IamAdminService__pb2.UserSearchRequest.SerializeToString,
            IamAdminService__pb2.UserRepresentation.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def isUserEnabled(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.iam.service.IamAdminService/isUserEnabled',
            IamAdminService__pb2.UserSearchRequest.SerializeToString,
            IamAdminService__pb2.OperationStatus.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def isUserExist(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.iam.service.IamAdminService/isUserExist',
            IamAdminService__pb2.UserSearchRequest.SerializeToString,
            IamAdminService__pb2.CheckingResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def getUser(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.iam.service.IamAdminService/getUser',
            IamAdminService__pb2.UserSearchRequest.SerializeToString,
            IamAdminService__pb2.UserRepresentation.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def findUsers(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.iam.service.IamAdminService/findUsers',
            IamAdminService__pb2.FindUsersRequest.SerializeToString,
            IamAdminService__pb2.FindUsersResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def resetPassword(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.iam.service.IamAdminService/resetPassword',
            IamAdminService__pb2.ResetUserPassword.SerializeToString,
            IamAdminService__pb2.OperationStatus.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def grantAdminPrivilege(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.iam.service.IamAdminService/grantAdminPrivilege',
            IamAdminService__pb2.UserSearchRequest.SerializeToString,
            IamAdminService__pb2.OperationStatus.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def removeAdminPrivilege(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.iam.service.IamAdminService/removeAdminPrivilege',
            IamAdminService__pb2.UserSearchRequest.SerializeToString,
            IamAdminService__pb2.OperationStatus.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def registerAndEnableUsers(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.iam.service.IamAdminService/registerAndEnableUsers',
            IamAdminService__pb2.RegisterUsersRequest.SerializeToString,
            IamAdminService__pb2.RegisterUsersResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def addUserAttributes(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.iam.service.IamAdminService/addUserAttributes',
            IamAdminService__pb2.AddUserAttributesRequest.SerializeToString,
            IamAdminService__pb2.OperationStatus.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def deleteUserAttributes(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.iam.service.IamAdminService/deleteUserAttributes',
            IamAdminService__pb2.DeleteUserAttributeRequest.SerializeToString,
            IamAdminService__pb2.OperationStatus.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def addRolesToUsers(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.iam.service.IamAdminService/addRolesToUsers',
            IamAdminService__pb2.AddUserRolesRequest.SerializeToString,
            IamAdminService__pb2.OperationStatus.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def deleteUser(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.iam.service.IamAdminService/deleteUser',
            IamAdminService__pb2.UserSearchRequest.SerializeToString,
            IamAdminService__pb2.OperationStatus.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def deleteRolesFromUser(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.iam.service.IamAdminService/deleteRolesFromUser',
            IamAdminService__pb2.DeleteUserRolesRequest.SerializeToString,
            IamAdminService__pb2.OperationStatus.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.iam.service.IamAdminService/updateUserProfile',
            IamAdminService__pb2.UpdateUserProfileRequest.SerializeToString,
            IamAdminService__pb2.OperationStatus.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def getOperationMetadata(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.iam.service.IamAdminService/getOperationMetadata',
            IamAdminService__pb2.GetOperationsMetadataRequest.SerializeToString,
            IamAdminService__pb2.GetOperationsMetadataResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def configureEventPersistence(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.iam.service.IamAdminService/configureEventPersistence',
            IamAdminService__pb2.EventPersistenceRequest.SerializeToString,
            IamAdminService__pb2.OperationStatus.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def createGroups(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.iam.service.IamAdminService/createGroups',
            IamAdminService__pb2.GroupsRequest.SerializeToString,
            IamAdminService__pb2.GroupsResponse.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.iam.service.IamAdminService/updateGroup',
            IamAdminService__pb2.GroupRequest.SerializeToString,
            IamAdminService__pb2.GroupRepresentation.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.iam.service.IamAdminService/deleteGroup',
            IamAdminService__pb2.GroupRequest.SerializeToString,
            IamAdminService__pb2.OperationStatus.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def findGroup(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.iam.service.IamAdminService/findGroup',
            IamAdminService__pb2.GroupRequest.SerializeToString,
            IamAdminService__pb2.GroupRepresentation.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.iam.service.IamAdminService/getAllGroups',
            IamAdminService__pb2.GroupRequest.SerializeToString,
            IamAdminService__pb2.GroupsResponse.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.iam.service.IamAdminService/addUserToGroup',
            IamAdminService__pb2.UserGroupMappingRequest.SerializeToString,
            IamAdminService__pb2.OperationStatus.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.iam.service.IamAdminService/removeUserFromGroup',
            IamAdminService__pb2.UserGroupMappingRequest.SerializeToString,
            IamAdminService__pb2.OperationStatus.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def createAgentClient(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.iam.service.IamAdminService/createAgentClient',
            IamAdminService__pb2.AgentClientMetadata.SerializeToString,
            IamAdminService__pb2.SetUpTenantResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def configureAgentClient(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.iam.service.IamAdminService/configureAgentClient',
            IamAdminService__pb2.AgentClientMetadata.SerializeToString,
            IamAdminService__pb2.OperationStatus.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def isAgentNameAvailable(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.iam.service.IamAdminService/isAgentNameAvailable',
            IamAdminService__pb2.UserSearchRequest.SerializeToString,
            IamAdminService__pb2.OperationStatus.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def registerAndEnableAgent(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.iam.service.IamAdminService/registerAndEnableAgent',
            IamAdminService__pb2.RegisterUserRequest.SerializeToString,
            IamAdminService__pb2.RegisterUserResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def deleteAgent(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.iam.service.IamAdminService/deleteAgent',
            IamAdminService__pb2.UserSearchRequest.SerializeToString,
            IamAdminService__pb2.OperationStatus.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def getAgent(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.iam.service.IamAdminService/getAgent',
            IamAdminService__pb2.UserSearchRequest.SerializeToString,
            IamAdminService__pb2.Agent.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def disableAgent(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.iam.service.IamAdminService/disableAgent',
            IamAdminService__pb2.UserSearchRequest.SerializeToString,
            IamAdminService__pb2.OperationStatus.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def enableAgent(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.iam.service.IamAdminService/enableAgent',
            IamAdminService__pb2.UserSearchRequest.SerializeToString,
            IamAdminService__pb2.OperationStatus.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def addAgentAttributes(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.iam.service.IamAdminService/addAgentAttributes',
            IamAdminService__pb2.AddUserAttributesRequest.SerializeToString,
            IamAdminService__pb2.OperationStatus.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def deleteAgentAttributes(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.iam.service.IamAdminService/deleteAgentAttributes',
            IamAdminService__pb2.DeleteUserAttributeRequest.SerializeToString,
            IamAdminService__pb2.OperationStatus.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def addRolesToAgent(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.iam.service.IamAdminService/addRolesToAgent',
            IamAdminService__pb2.AddUserRolesRequest.SerializeToString,
            IamAdminService__pb2.OperationStatus.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def deleteAgentRoles(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.iam.service.IamAdminService/deleteAgentRoles',
            IamAdminService__pb2.DeleteUserRolesRequest.SerializeToString,
            IamAdminService__pb2.OperationStatus.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def getAllResources(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.iam.service.IamAdminService/getAllResources',
            IamAdminService__pb2.GetAllResources.SerializeToString,
            IamAdminService__pb2.GetAllResourcesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
