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

from cs3.app.provider.v1beta1 import provider_api_pb2 as cs3_dot_app_dot_provider_dot_v1beta1_dot_provider__api__pb2
from cs3.app.registry.v1beta1 import registry_api_pb2 as cs3_dot_app_dot_registry_dot_v1beta1_dot_registry__api__pb2
from cs3.auth.applications.v1beta1 import applications_api_pb2 as cs3_dot_auth_dot_applications_dot_v1beta1_dot_applications__api__pb2
from cs3.auth.registry.v1beta1 import registry_api_pb2 as cs3_dot_auth_dot_registry_dot_v1beta1_dot_registry__api__pb2
from cs3.gateway.v1beta1 import gateway_api_pb2 as cs3_dot_gateway_dot_v1beta1_dot_gateway__api__pb2
from cs3.identity.group.v1beta1 import group_api_pb2 as cs3_dot_identity_dot_group_dot_v1beta1_dot_group__api__pb2
from cs3.identity.user.v1beta1 import user_api_pb2 as cs3_dot_identity_dot_user_dot_v1beta1_dot_user__api__pb2
from cs3.ocm.core.v1beta1 import ocm_core_api_pb2 as cs3_dot_ocm_dot_core_dot_v1beta1_dot_ocm__core__api__pb2
from cs3.ocm.invite.v1beta1 import invite_api_pb2 as cs3_dot_ocm_dot_invite_dot_v1beta1_dot_invite__api__pb2
from cs3.ocm.provider.v1beta1 import provider_api_pb2 as cs3_dot_ocm_dot_provider_dot_v1beta1_dot_provider__api__pb2
from cs3.permissions.v1beta1 import permissions_api_pb2 as cs3_dot_permissions_dot_v1beta1_dot_permissions__api__pb2
from cs3.preferences.v1beta1 import preferences_api_pb2 as cs3_dot_preferences_dot_v1beta1_dot_preferences__api__pb2
from cs3.sharing.collaboration.v1beta1 import collaboration_api_pb2 as cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2
from cs3.sharing.link.v1beta1 import link_api_pb2 as cs3_dot_sharing_dot_link_dot_v1beta1_dot_link__api__pb2
from cs3.sharing.ocm.v1beta1 import ocm_api_pb2 as cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2
from cs3.storage.provider.v1beta1 import provider_api_pb2 as cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2
from cs3.storage.provider.v1beta1 import spaces_api_pb2 as cs3_dot_storage_dot_provider_dot_v1beta1_dot_spaces__api__pb2
from cs3.tx.v1beta1 import tx_api_pb2 as cs3_dot_tx_dot_v1beta1_dot_tx__api__pb2


class GatewayAPIStub(object):
    """Gateway API

    The Gateway API is the only API exposed directly to end-clients.
    It is a facade API that all clients should connect to.
    Other APIS like the StorageProviderAPI are internal APIS.

    The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
    NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and
    "OPTIONAL" in this document are to be interpreted as described in
    RFC 2119.

    The following are global requirements that apply to all methods:
    Any method MUST return CODE_OK on a succesful operation.
    Any method MAY return NOT_IMPLEMENTED.
    Any method MAY return INTERNAL.
    Any method MAY return UNKNOWN.
    Any method MAY return UNAUTHENTICATED.
    *****************************************************************/
    ************************ AUTH ******** **************************/
    *****************************************************************/
    """

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

        Args:
            channel: A grpc.Channel.
        """
        self.Authenticate = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/Authenticate',
                request_serializer=cs3_dot_gateway_dot_v1beta1_dot_gateway__api__pb2.AuthenticateRequest.SerializeToString,
                response_deserializer=cs3_dot_gateway_dot_v1beta1_dot_gateway__api__pb2.AuthenticateResponse.FromString,
                )
        self.WhoAmI = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/WhoAmI',
                request_serializer=cs3_dot_gateway_dot_v1beta1_dot_gateway__api__pb2.WhoAmIRequest.SerializeToString,
                response_deserializer=cs3_dot_gateway_dot_v1beta1_dot_gateway__api__pb2.WhoAmIResponse.FromString,
                )
        self.GenerateAppPassword = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/GenerateAppPassword',
                request_serializer=cs3_dot_auth_dot_applications_dot_v1beta1_dot_applications__api__pb2.GenerateAppPasswordRequest.SerializeToString,
                response_deserializer=cs3_dot_auth_dot_applications_dot_v1beta1_dot_applications__api__pb2.GenerateAppPasswordResponse.FromString,
                )
        self.ListAppPasswords = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/ListAppPasswords',
                request_serializer=cs3_dot_auth_dot_applications_dot_v1beta1_dot_applications__api__pb2.ListAppPasswordsRequest.SerializeToString,
                response_deserializer=cs3_dot_auth_dot_applications_dot_v1beta1_dot_applications__api__pb2.ListAppPasswordsResponse.FromString,
                )
        self.InvalidateAppPassword = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/InvalidateAppPassword',
                request_serializer=cs3_dot_auth_dot_applications_dot_v1beta1_dot_applications__api__pb2.InvalidateAppPasswordRequest.SerializeToString,
                response_deserializer=cs3_dot_auth_dot_applications_dot_v1beta1_dot_applications__api__pb2.InvalidateAppPasswordResponse.FromString,
                )
        self.GetAppPassword = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/GetAppPassword',
                request_serializer=cs3_dot_auth_dot_applications_dot_v1beta1_dot_applications__api__pb2.GetAppPasswordRequest.SerializeToString,
                response_deserializer=cs3_dot_auth_dot_applications_dot_v1beta1_dot_applications__api__pb2.GetAppPasswordResponse.FromString,
                )
        self.CreateContainer = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/CreateContainer',
                request_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.CreateContainerRequest.SerializeToString,
                response_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.CreateContainerResponse.FromString,
                )
        self.TouchFile = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/TouchFile',
                request_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.TouchFileRequest.SerializeToString,
                response_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.TouchFileResponse.FromString,
                )
        self.Delete = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/Delete',
                request_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.DeleteRequest.SerializeToString,
                response_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.DeleteResponse.FromString,
                )
        self.GetPath = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/GetPath',
                request_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.GetPathRequest.SerializeToString,
                response_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.GetPathResponse.FromString,
                )
        self.GetQuota = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/GetQuota',
                request_serializer=cs3_dot_gateway_dot_v1beta1_dot_gateway__api__pb2.GetQuotaRequest.SerializeToString,
                response_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.GetQuotaResponse.FromString,
                )
        self.InitiateFileDownload = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/InitiateFileDownload',
                request_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.InitiateFileDownloadRequest.SerializeToString,
                response_deserializer=cs3_dot_gateway_dot_v1beta1_dot_gateway__api__pb2.InitiateFileDownloadResponse.FromString,
                )
        self.InitiateFileUpload = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/InitiateFileUpload',
                request_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.InitiateFileUploadRequest.SerializeToString,
                response_deserializer=cs3_dot_gateway_dot_v1beta1_dot_gateway__api__pb2.InitiateFileUploadResponse.FromString,
                )
        self.ListContainerStream = channel.unary_stream(
                '/cs3.gateway.v1beta1.GatewayAPI/ListContainerStream',
                request_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.ListContainerStreamRequest.SerializeToString,
                response_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.ListContainerStreamResponse.FromString,
                )
        self.ListContainer = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/ListContainer',
                request_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.ListContainerRequest.SerializeToString,
                response_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.ListContainerResponse.FromString,
                )
        self.ListFileVersions = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/ListFileVersions',
                request_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.ListFileVersionsRequest.SerializeToString,
                response_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.ListFileVersionsResponse.FromString,
                )
        self.ListRecycleStream = channel.unary_stream(
                '/cs3.gateway.v1beta1.GatewayAPI/ListRecycleStream',
                request_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.ListRecycleStreamRequest.SerializeToString,
                response_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.ListRecycleStreamResponse.FromString,
                )
        self.ListRecycle = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/ListRecycle',
                request_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.ListRecycleRequest.SerializeToString,
                response_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.ListRecycleResponse.FromString,
                )
        self.Move = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/Move',
                request_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.MoveRequest.SerializeToString,
                response_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.MoveResponse.FromString,
                )
        self.PurgeRecycle = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/PurgeRecycle',
                request_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.PurgeRecycleRequest.SerializeToString,
                response_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.PurgeRecycleResponse.FromString,
                )
        self.RestoreFileVersion = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/RestoreFileVersion',
                request_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.RestoreFileVersionRequest.SerializeToString,
                response_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.RestoreFileVersionResponse.FromString,
                )
        self.RestoreRecycleItem = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/RestoreRecycleItem',
                request_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.RestoreRecycleItemRequest.SerializeToString,
                response_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.RestoreRecycleItemResponse.FromString,
                )
        self.Stat = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/Stat',
                request_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.StatRequest.SerializeToString,
                response_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.StatResponse.FromString,
                )
        self.CreateSymlink = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/CreateSymlink',
                request_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.CreateSymlinkRequest.SerializeToString,
                response_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.CreateSymlinkResponse.FromString,
                )
        self.SetArbitraryMetadata = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/SetArbitraryMetadata',
                request_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.SetArbitraryMetadataRequest.SerializeToString,
                response_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.SetArbitraryMetadataResponse.FromString,
                )
        self.UnsetArbitraryMetadata = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/UnsetArbitraryMetadata',
                request_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.UnsetArbitraryMetadataRequest.SerializeToString,
                response_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.UnsetArbitraryMetadataResponse.FromString,
                )
        self.SetLock = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/SetLock',
                request_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.SetLockRequest.SerializeToString,
                response_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.SetLockResponse.FromString,
                )
        self.GetLock = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/GetLock',
                request_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.GetLockRequest.SerializeToString,
                response_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.GetLockResponse.FromString,
                )
        self.RefreshLock = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/RefreshLock',
                request_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.RefreshLockRequest.SerializeToString,
                response_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.RefreshLockResponse.FromString,
                )
        self.Unlock = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/Unlock',
                request_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.UnlockRequest.SerializeToString,
                response_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.UnlockResponse.FromString,
                )
        self.CreateHome = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/CreateHome',
                request_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.CreateHomeRequest.SerializeToString,
                response_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.CreateHomeResponse.FromString,
                )
        self.CreateStorageSpace = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/CreateStorageSpace',
                request_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_spaces__api__pb2.CreateStorageSpaceRequest.SerializeToString,
                response_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_spaces__api__pb2.CreateStorageSpaceResponse.FromString,
                )
        self.ListStorageSpaces = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/ListStorageSpaces',
                request_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_spaces__api__pb2.ListStorageSpacesRequest.SerializeToString,
                response_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_spaces__api__pb2.ListStorageSpacesResponse.FromString,
                )
        self.UpdateStorageSpace = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/UpdateStorageSpace',
                request_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_spaces__api__pb2.UpdateStorageSpaceRequest.SerializeToString,
                response_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_spaces__api__pb2.UpdateStorageSpaceResponse.FromString,
                )
        self.DeleteStorageSpace = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/DeleteStorageSpace',
                request_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_spaces__api__pb2.DeleteStorageSpaceRequest.SerializeToString,
                response_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_spaces__api__pb2.DeleteStorageSpaceResponse.FromString,
                )
        self.OpenInApp = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/OpenInApp',
                request_serializer=cs3_dot_gateway_dot_v1beta1_dot_gateway__api__pb2.OpenInAppRequest.SerializeToString,
                response_deserializer=cs3_dot_app_dot_provider_dot_v1beta1_dot_provider__api__pb2.OpenInAppResponse.FromString,
                )
        self.CreateShare = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/CreateShare',
                request_serializer=cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.CreateShareRequest.SerializeToString,
                response_deserializer=cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.CreateShareResponse.FromString,
                )
        self.RemoveShare = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/RemoveShare',
                request_serializer=cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.RemoveShareRequest.SerializeToString,
                response_deserializer=cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.RemoveShareResponse.FromString,
                )
        self.GetShare = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/GetShare',
                request_serializer=cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.GetShareRequest.SerializeToString,
                response_deserializer=cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.GetShareResponse.FromString,
                )
        self.ListShares = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/ListShares',
                request_serializer=cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.ListSharesRequest.SerializeToString,
                response_deserializer=cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.ListSharesResponse.FromString,
                )
        self.ListExistingShares = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/ListExistingShares',
                request_serializer=cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.ListSharesRequest.SerializeToString,
                response_deserializer=cs3_dot_gateway_dot_v1beta1_dot_gateway__api__pb2.ListExistingSharesResponse.FromString,
                )
        self.UpdateShare = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/UpdateShare',
                request_serializer=cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.UpdateShareRequest.SerializeToString,
                response_deserializer=cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.UpdateShareResponse.FromString,
                )
        self.ListReceivedShares = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/ListReceivedShares',
                request_serializer=cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.ListReceivedSharesRequest.SerializeToString,
                response_deserializer=cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.ListReceivedSharesResponse.FromString,
                )
        self.ListExistingReceivedShares = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/ListExistingReceivedShares',
                request_serializer=cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.ListReceivedSharesRequest.SerializeToString,
                response_deserializer=cs3_dot_gateway_dot_v1beta1_dot_gateway__api__pb2.ListExistingReceivedSharesResponse.FromString,
                )
        self.UpdateReceivedShare = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/UpdateReceivedShare',
                request_serializer=cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.UpdateReceivedShareRequest.SerializeToString,
                response_deserializer=cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.UpdateReceivedShareResponse.FromString,
                )
        self.GetReceivedShare = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/GetReceivedShare',
                request_serializer=cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.GetReceivedShareRequest.SerializeToString,
                response_deserializer=cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.GetReceivedShareResponse.FromString,
                )
        self.SetKey = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/SetKey',
                request_serializer=cs3_dot_preferences_dot_v1beta1_dot_preferences__api__pb2.SetKeyRequest.SerializeToString,
                response_deserializer=cs3_dot_preferences_dot_v1beta1_dot_preferences__api__pb2.SetKeyResponse.FromString,
                )
        self.GetKey = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/GetKey',
                request_serializer=cs3_dot_preferences_dot_v1beta1_dot_preferences__api__pb2.GetKeyRequest.SerializeToString,
                response_deserializer=cs3_dot_preferences_dot_v1beta1_dot_preferences__api__pb2.GetKeyResponse.FromString,
                )
        self.CreatePublicShare = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/CreatePublicShare',
                request_serializer=cs3_dot_sharing_dot_link_dot_v1beta1_dot_link__api__pb2.CreatePublicShareRequest.SerializeToString,
                response_deserializer=cs3_dot_sharing_dot_link_dot_v1beta1_dot_link__api__pb2.CreatePublicShareResponse.FromString,
                )
        self.RemovePublicShare = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/RemovePublicShare',
                request_serializer=cs3_dot_sharing_dot_link_dot_v1beta1_dot_link__api__pb2.RemovePublicShareRequest.SerializeToString,
                response_deserializer=cs3_dot_sharing_dot_link_dot_v1beta1_dot_link__api__pb2.RemovePublicShareResponse.FromString,
                )
        self.GetPublicShare = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/GetPublicShare',
                request_serializer=cs3_dot_sharing_dot_link_dot_v1beta1_dot_link__api__pb2.GetPublicShareRequest.SerializeToString,
                response_deserializer=cs3_dot_sharing_dot_link_dot_v1beta1_dot_link__api__pb2.GetPublicShareResponse.FromString,
                )
        self.GetPublicShareByToken = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/GetPublicShareByToken',
                request_serializer=cs3_dot_sharing_dot_link_dot_v1beta1_dot_link__api__pb2.GetPublicShareByTokenRequest.SerializeToString,
                response_deserializer=cs3_dot_sharing_dot_link_dot_v1beta1_dot_link__api__pb2.GetPublicShareByTokenResponse.FromString,
                )
        self.ListPublicShares = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/ListPublicShares',
                request_serializer=cs3_dot_sharing_dot_link_dot_v1beta1_dot_link__api__pb2.ListPublicSharesRequest.SerializeToString,
                response_deserializer=cs3_dot_sharing_dot_link_dot_v1beta1_dot_link__api__pb2.ListPublicSharesResponse.FromString,
                )
        self.ListExistingPublicShares = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/ListExistingPublicShares',
                request_serializer=cs3_dot_sharing_dot_link_dot_v1beta1_dot_link__api__pb2.ListPublicSharesRequest.SerializeToString,
                response_deserializer=cs3_dot_gateway_dot_v1beta1_dot_gateway__api__pb2.ListExistingPublicSharesResponse.FromString,
                )
        self.UpdatePublicShare = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/UpdatePublicShare',
                request_serializer=cs3_dot_sharing_dot_link_dot_v1beta1_dot_link__api__pb2.UpdatePublicShareRequest.SerializeToString,
                response_deserializer=cs3_dot_sharing_dot_link_dot_v1beta1_dot_link__api__pb2.UpdatePublicShareResponse.FromString,
                )
        self.CreateOCMShare = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/CreateOCMShare',
                request_serializer=cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.CreateOCMShareRequest.SerializeToString,
                response_deserializer=cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.CreateOCMShareResponse.FromString,
                )
        self.RemoveOCMShare = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/RemoveOCMShare',
                request_serializer=cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.RemoveOCMShareRequest.SerializeToString,
                response_deserializer=cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.RemoveOCMShareResponse.FromString,
                )
        self.GetOCMShare = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/GetOCMShare',
                request_serializer=cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.GetOCMShareRequest.SerializeToString,
                response_deserializer=cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.GetOCMShareResponse.FromString,
                )
        self.GetOCMShareByToken = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/GetOCMShareByToken',
                request_serializer=cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.GetOCMShareByTokenRequest.SerializeToString,
                response_deserializer=cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.GetOCMShareByTokenResponse.FromString,
                )
        self.ListOCMShares = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/ListOCMShares',
                request_serializer=cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.ListOCMSharesRequest.SerializeToString,
                response_deserializer=cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.ListOCMSharesResponse.FromString,
                )
        self.UpdateOCMShare = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/UpdateOCMShare',
                request_serializer=cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.UpdateOCMShareRequest.SerializeToString,
                response_deserializer=cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.UpdateOCMShareResponse.FromString,
                )
        self.ListReceivedOCMShares = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/ListReceivedOCMShares',
                request_serializer=cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.ListReceivedOCMSharesRequest.SerializeToString,
                response_deserializer=cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.ListReceivedOCMSharesResponse.FromString,
                )
        self.UpdateReceivedOCMShare = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/UpdateReceivedOCMShare',
                request_serializer=cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.UpdateReceivedOCMShareRequest.SerializeToString,
                response_deserializer=cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.UpdateReceivedOCMShareResponse.FromString,
                )
        self.GetReceivedOCMShare = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/GetReceivedOCMShare',
                request_serializer=cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.GetReceivedOCMShareRequest.SerializeToString,
                response_deserializer=cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.GetReceivedOCMShareResponse.FromString,
                )
        self.GetAppProviders = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/GetAppProviders',
                request_serializer=cs3_dot_app_dot_registry_dot_v1beta1_dot_registry__api__pb2.GetAppProvidersRequest.SerializeToString,
                response_deserializer=cs3_dot_app_dot_registry_dot_v1beta1_dot_registry__api__pb2.GetAppProvidersResponse.FromString,
                )
        self.AddAppProvider = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/AddAppProvider',
                request_serializer=cs3_dot_app_dot_registry_dot_v1beta1_dot_registry__api__pb2.AddAppProviderRequest.SerializeToString,
                response_deserializer=cs3_dot_app_dot_registry_dot_v1beta1_dot_registry__api__pb2.AddAppProviderResponse.FromString,
                )
        self.ListAppProviders = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/ListAppProviders',
                request_serializer=cs3_dot_app_dot_registry_dot_v1beta1_dot_registry__api__pb2.ListAppProvidersRequest.SerializeToString,
                response_deserializer=cs3_dot_app_dot_registry_dot_v1beta1_dot_registry__api__pb2.ListAppProvidersResponse.FromString,
                )
        self.ListSupportedMimeTypes = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/ListSupportedMimeTypes',
                request_serializer=cs3_dot_app_dot_registry_dot_v1beta1_dot_registry__api__pb2.ListSupportedMimeTypesRequest.SerializeToString,
                response_deserializer=cs3_dot_app_dot_registry_dot_v1beta1_dot_registry__api__pb2.ListSupportedMimeTypesResponse.FromString,
                )
        self.GetDefaultAppProviderForMimeType = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/GetDefaultAppProviderForMimeType',
                request_serializer=cs3_dot_app_dot_registry_dot_v1beta1_dot_registry__api__pb2.GetDefaultAppProviderForMimeTypeRequest.SerializeToString,
                response_deserializer=cs3_dot_app_dot_registry_dot_v1beta1_dot_registry__api__pb2.GetDefaultAppProviderForMimeTypeResponse.FromString,
                )
        self.SetDefaultAppProviderForMimeType = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/SetDefaultAppProviderForMimeType',
                request_serializer=cs3_dot_app_dot_registry_dot_v1beta1_dot_registry__api__pb2.SetDefaultAppProviderForMimeTypeRequest.SerializeToString,
                response_deserializer=cs3_dot_app_dot_registry_dot_v1beta1_dot_registry__api__pb2.SetDefaultAppProviderForMimeTypeResponse.FromString,
                )
        self.GetUser = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/GetUser',
                request_serializer=cs3_dot_identity_dot_user_dot_v1beta1_dot_user__api__pb2.GetUserRequest.SerializeToString,
                response_deserializer=cs3_dot_identity_dot_user_dot_v1beta1_dot_user__api__pb2.GetUserResponse.FromString,
                )
        self.GetUserByClaim = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/GetUserByClaim',
                request_serializer=cs3_dot_identity_dot_user_dot_v1beta1_dot_user__api__pb2.GetUserByClaimRequest.SerializeToString,
                response_deserializer=cs3_dot_identity_dot_user_dot_v1beta1_dot_user__api__pb2.GetUserByClaimResponse.FromString,
                )
        self.GetUserGroups = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/GetUserGroups',
                request_serializer=cs3_dot_identity_dot_user_dot_v1beta1_dot_user__api__pb2.GetUserGroupsRequest.SerializeToString,
                response_deserializer=cs3_dot_identity_dot_user_dot_v1beta1_dot_user__api__pb2.GetUserGroupsResponse.FromString,
                )
        self.FindUsers = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/FindUsers',
                request_serializer=cs3_dot_identity_dot_user_dot_v1beta1_dot_user__api__pb2.FindUsersRequest.SerializeToString,
                response_deserializer=cs3_dot_identity_dot_user_dot_v1beta1_dot_user__api__pb2.FindUsersResponse.FromString,
                )
        self.GetGroup = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/GetGroup',
                request_serializer=cs3_dot_identity_dot_group_dot_v1beta1_dot_group__api__pb2.GetGroupRequest.SerializeToString,
                response_deserializer=cs3_dot_identity_dot_group_dot_v1beta1_dot_group__api__pb2.GetGroupResponse.FromString,
                )
        self.GetGroupByClaim = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/GetGroupByClaim',
                request_serializer=cs3_dot_identity_dot_group_dot_v1beta1_dot_group__api__pb2.GetGroupByClaimRequest.SerializeToString,
                response_deserializer=cs3_dot_identity_dot_group_dot_v1beta1_dot_group__api__pb2.GetGroupByClaimResponse.FromString,
                )
        self.GetMembers = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/GetMembers',
                request_serializer=cs3_dot_identity_dot_group_dot_v1beta1_dot_group__api__pb2.GetMembersRequest.SerializeToString,
                response_deserializer=cs3_dot_identity_dot_group_dot_v1beta1_dot_group__api__pb2.GetMembersResponse.FromString,
                )
        self.HasMember = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/HasMember',
                request_serializer=cs3_dot_identity_dot_group_dot_v1beta1_dot_group__api__pb2.HasMemberRequest.SerializeToString,
                response_deserializer=cs3_dot_identity_dot_group_dot_v1beta1_dot_group__api__pb2.HasMemberResponse.FromString,
                )
        self.FindGroups = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/FindGroups',
                request_serializer=cs3_dot_identity_dot_group_dot_v1beta1_dot_group__api__pb2.FindGroupsRequest.SerializeToString,
                response_deserializer=cs3_dot_identity_dot_group_dot_v1beta1_dot_group__api__pb2.FindGroupsResponse.FromString,
                )
        self.ListAuthProviders = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/ListAuthProviders',
                request_serializer=cs3_dot_auth_dot_registry_dot_v1beta1_dot_registry__api__pb2.ListAuthProvidersRequest.SerializeToString,
                response_deserializer=cs3_dot_gateway_dot_v1beta1_dot_gateway__api__pb2.ListAuthProvidersResponse.FromString,
                )
        self.GetHome = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/GetHome',
                request_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.GetHomeRequest.SerializeToString,
                response_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.GetHomeResponse.FromString,
                )
        self.GenerateInviteToken = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/GenerateInviteToken',
                request_serializer=cs3_dot_ocm_dot_invite_dot_v1beta1_dot_invite__api__pb2.GenerateInviteTokenRequest.SerializeToString,
                response_deserializer=cs3_dot_ocm_dot_invite_dot_v1beta1_dot_invite__api__pb2.GenerateInviteTokenResponse.FromString,
                )
        self.ListInviteTokens = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/ListInviteTokens',
                request_serializer=cs3_dot_ocm_dot_invite_dot_v1beta1_dot_invite__api__pb2.ListInviteTokensRequest.SerializeToString,
                response_deserializer=cs3_dot_ocm_dot_invite_dot_v1beta1_dot_invite__api__pb2.ListInviteTokensResponse.FromString,
                )
        self.ForwardInvite = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/ForwardInvite',
                request_serializer=cs3_dot_ocm_dot_invite_dot_v1beta1_dot_invite__api__pb2.ForwardInviteRequest.SerializeToString,
                response_deserializer=cs3_dot_ocm_dot_invite_dot_v1beta1_dot_invite__api__pb2.ForwardInviteResponse.FromString,
                )
        self.AcceptInvite = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/AcceptInvite',
                request_serializer=cs3_dot_ocm_dot_invite_dot_v1beta1_dot_invite__api__pb2.AcceptInviteRequest.SerializeToString,
                response_deserializer=cs3_dot_ocm_dot_invite_dot_v1beta1_dot_invite__api__pb2.AcceptInviteResponse.FromString,
                )
        self.GetAcceptedUser = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/GetAcceptedUser',
                request_serializer=cs3_dot_ocm_dot_invite_dot_v1beta1_dot_invite__api__pb2.GetAcceptedUserRequest.SerializeToString,
                response_deserializer=cs3_dot_ocm_dot_invite_dot_v1beta1_dot_invite__api__pb2.GetAcceptedUserResponse.FromString,
                )
        self.FindAcceptedUsers = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/FindAcceptedUsers',
                request_serializer=cs3_dot_ocm_dot_invite_dot_v1beta1_dot_invite__api__pb2.FindAcceptedUsersRequest.SerializeToString,
                response_deserializer=cs3_dot_ocm_dot_invite_dot_v1beta1_dot_invite__api__pb2.FindAcceptedUsersResponse.FromString,
                )
        self.DeleteAcceptedUser = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/DeleteAcceptedUser',
                request_serializer=cs3_dot_ocm_dot_invite_dot_v1beta1_dot_invite__api__pb2.DeleteAcceptedUserRequest.SerializeToString,
                response_deserializer=cs3_dot_ocm_dot_invite_dot_v1beta1_dot_invite__api__pb2.DeleteAcceptedUserResponse.FromString,
                )
        self.IsProviderAllowed = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/IsProviderAllowed',
                request_serializer=cs3_dot_ocm_dot_provider_dot_v1beta1_dot_provider__api__pb2.IsProviderAllowedRequest.SerializeToString,
                response_deserializer=cs3_dot_ocm_dot_provider_dot_v1beta1_dot_provider__api__pb2.IsProviderAllowedResponse.FromString,
                )
        self.GetInfoByDomain = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/GetInfoByDomain',
                request_serializer=cs3_dot_ocm_dot_provider_dot_v1beta1_dot_provider__api__pb2.GetInfoByDomainRequest.SerializeToString,
                response_deserializer=cs3_dot_ocm_dot_provider_dot_v1beta1_dot_provider__api__pb2.GetInfoByDomainResponse.FromString,
                )
        self.ListAllProviders = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/ListAllProviders',
                request_serializer=cs3_dot_ocm_dot_provider_dot_v1beta1_dot_provider__api__pb2.ListAllProvidersRequest.SerializeToString,
                response_deserializer=cs3_dot_ocm_dot_provider_dot_v1beta1_dot_provider__api__pb2.ListAllProvidersResponse.FromString,
                )
        self.CreateOCMCoreShare = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/CreateOCMCoreShare',
                request_serializer=cs3_dot_ocm_dot_core_dot_v1beta1_dot_ocm__core__api__pb2.CreateOCMCoreShareRequest.SerializeToString,
                response_deserializer=cs3_dot_ocm_dot_core_dot_v1beta1_dot_ocm__core__api__pb2.CreateOCMCoreShareResponse.FromString,
                )
        self.UpdateOCMCoreShare = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/UpdateOCMCoreShare',
                request_serializer=cs3_dot_ocm_dot_core_dot_v1beta1_dot_ocm__core__api__pb2.UpdateOCMCoreShareRequest.SerializeToString,
                response_deserializer=cs3_dot_ocm_dot_core_dot_v1beta1_dot_ocm__core__api__pb2.UpdateOCMCoreShareResponse.FromString,
                )
        self.DeleteOCMCoreShare = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/DeleteOCMCoreShare',
                request_serializer=cs3_dot_ocm_dot_core_dot_v1beta1_dot_ocm__core__api__pb2.DeleteOCMCoreShareRequest.SerializeToString,
                response_deserializer=cs3_dot_ocm_dot_core_dot_v1beta1_dot_ocm__core__api__pb2.DeleteOCMCoreShareResponse.FromString,
                )
        self.CreateTransfer = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/CreateTransfer',
                request_serializer=cs3_dot_tx_dot_v1beta1_dot_tx__api__pb2.CreateTransferRequest.SerializeToString,
                response_deserializer=cs3_dot_tx_dot_v1beta1_dot_tx__api__pb2.CreateTransferResponse.FromString,
                )
        self.GetTransferStatus = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/GetTransferStatus',
                request_serializer=cs3_dot_tx_dot_v1beta1_dot_tx__api__pb2.GetTransferStatusRequest.SerializeToString,
                response_deserializer=cs3_dot_tx_dot_v1beta1_dot_tx__api__pb2.GetTransferStatusResponse.FromString,
                )
        self.CancelTransfer = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/CancelTransfer',
                request_serializer=cs3_dot_tx_dot_v1beta1_dot_tx__api__pb2.CancelTransferRequest.SerializeToString,
                response_deserializer=cs3_dot_tx_dot_v1beta1_dot_tx__api__pb2.CancelTransferResponse.FromString,
                )
        self.ListTransfers = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/ListTransfers',
                request_serializer=cs3_dot_tx_dot_v1beta1_dot_tx__api__pb2.ListTransfersRequest.SerializeToString,
                response_deserializer=cs3_dot_tx_dot_v1beta1_dot_tx__api__pb2.ListTransfersResponse.FromString,
                )
        self.RetryTransfer = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/RetryTransfer',
                request_serializer=cs3_dot_tx_dot_v1beta1_dot_tx__api__pb2.RetryTransferRequest.SerializeToString,
                response_deserializer=cs3_dot_tx_dot_v1beta1_dot_tx__api__pb2.RetryTransferResponse.FromString,
                )
        self.CheckPermission = channel.unary_unary(
                '/cs3.gateway.v1beta1.GatewayAPI/CheckPermission',
                request_serializer=cs3_dot_permissions_dot_v1beta1_dot_permissions__api__pb2.CheckPermissionRequest.SerializeToString,
                response_deserializer=cs3_dot_permissions_dot_v1beta1_dot_permissions__api__pb2.CheckPermissionResponse.FromString,
                )


class GatewayAPIServicer(object):
    """Gateway API

    The Gateway API is the only API exposed directly to end-clients.
    It is a facade API that all clients should connect to.
    Other APIS like the StorageProviderAPI are internal APIS.

    The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
    NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and
    "OPTIONAL" in this document are to be interpreted as described in
    RFC 2119.

    The following are global requirements that apply to all methods:
    Any method MUST return CODE_OK on a succesful operation.
    Any method MAY return NOT_IMPLEMENTED.
    Any method MAY return INTERNAL.
    Any method MAY return UNKNOWN.
    Any method MAY return UNAUTHENTICATED.
    *****************************************************************/
    ************************ AUTH ******** **************************/
    *****************************************************************/
    """

    def Authenticate(self, request, context):
        """Authenticates a user.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def WhoAmI(self, request, context):
        """WhoAmI returns the information for a user.
        *****************************************************************/
        ********************** APPLICATIONS AUTH ************************/
        *****************************************************************/
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GenerateAppPassword(self, request, context):
        """GenerateAppPassword creates a password with specified scope to be used by
        third-party applications.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListAppPasswords(self, request, context):
        """ListAppPasswords lists the application passwords created by a user.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def InvalidateAppPassword(self, request, context):
        """InvalidateAppPassword invalidates a generated password.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetAppPassword(self, request, context):
        """GetAppPassword retrieves the password information by the combination of username and password.
        *****************************************************************/
        ************************ STORAGE PROVIDER ***********************/
        *****************************************************************/
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateContainer(self, request, context):
        """Creates a new resource of type container.
        MUST return CODE_FAILED_PRECONDITION if the container
        cannot be created at the specified reference.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def TouchFile(self, request, context):
        """Creates a new resource of type file.
        MUST return CODE_FAILED_PRECONDITION if the file
        cannot be created at the specified reference.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Delete(self, request, context):
        """Deletes a resource.
        If a resource specifies the non-empty container (directory, ...),
        then the entire directory is deleted recursively.
        If a resource specifies a reference or symlink type, only the reference is removed (not the target).
        MUST return CODE_NOT_FOUND if the reference does not exist.
        MUST return CODE_TOO_EARLY if some are not finished job over resource is still in process.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetPath(self, request, context):
        """Returns the path reference for
        the provided resource id reference.
        MUST return CODE_NOT_FOUND if the reference does not exist
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetQuota(self, request, context):
        """Returns the quota available under the provided
        reference.
        MUST return CODE_NOT_FOUND if the reference does not exist
        MUST return CODE_RESOURCE_EXHAUSTED on exceeded quota limits.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def InitiateFileDownload(self, request, context):
        """Initiates the download of a file using an
        out-of-band data transfer mechanism.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def InitiateFileUpload(self, request, context):
        """Initiates the upload of a file using an
        out-of-band data transfer mechanism.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListContainerStream(self, request, context):
        """Returns a stream of resource informations
        for the provided reference.
        MUST return CODE_NOT_FOUND if the reference does not exists.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListContainer(self, request, context):
        """Returns a list of resource information
        for the provided reference.
        MUST return CODE_NOT_FOUND if the reference does not exists.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListFileVersions(self, request, context):
        """Returns a list of the versions for a resource of
        type file at the provided reference.
        MUST return CODE_NOT_FOUND if the reference does not exist.
        MUST return CODE_OK and MUST return an empty list if no versions are available.
        TODO: What code if resource not of type file?
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListRecycleStream(self, request, context):
        """Returns a stream of recycle items for this storage provider.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListRecycle(self, request, context):
        """Returns a list of recycle items for this storage provider.
        MUST return CODE_OK and MUST return an empty list if no recycle items are available.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Move(self, request, context):
        """Moves a resource from one reference to another.
        MUST return CODE_NOT_FOUND if any of the references do not exist.
        MUST return CODE_FAILED_PRECONDITION if the source reference.
        MUST return CODE_TOO_EARLY if some are not finished job over resource is still in process.
        cannot be moved to the destination reference.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def PurgeRecycle(self, request, context):
        """Permanently removes a recycle item from the recycle.
        This operation is irrevocable.
        MUST return CODE_NOT_FOUND if the recycle item id does not exist.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def RestoreFileVersion(self, request, context):
        """Restores a file version for the provided reference.
        MUST return CODE_NOT_FOUND if the reference does not exist.
        MUST return CODE_NOT_FOUND if the version does not exist.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def RestoreRecycleItem(self, request, context):
        """Restores a recycle item from the recycle.
        MUST return CODE_NOT_FOUND if the recycle item id does not exist.
        MUST return CODE_FAILED_PRECONDITION if the restore_path is non-empty
        and the recycle item cannot be restored to the restore_path.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Stat(self, request, context):
        """Returns the resource information at the provided reference.
        MUST return CODE_NOT_FOUND if the reference does not exist.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateSymlink(self, request, context):
        """Creates a symlink to another resource.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SetArbitraryMetadata(self, request, context):
        """Sets arbitrary metadata into a storage resource.
        Arbitrary metadata is returned in a cs3.storage.provider.v1beta1.ResourceInfo.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UnsetArbitraryMetadata(self, request, context):
        """Unsets arbitrary metdata into a storage resource.
        Arbitrary metadata is returned in a cs3.storage.provider.v1beta1.ResourceInfo.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SetLock(self, request, context):
        """Locks a storage resource.
        MUST return CODE_NOT_FOUND if the reference does not exist.
        MUST return CODE_FAILED_PRECONDITION if the reference is already locked.
        In addition, the implementation MUST ensure atomicity when multiple users
        concurrently attempt to set a lock.
        The caller MUST have write permissions on the resource.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetLock(self, request, context):
        """Gets the lock metadata of a storage resource.
        MUST return CODE_NOT_FOUND if the reference does not exist or is not locked.
        The caller MUST have read permissions on the resource.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def RefreshLock(self, request, context):
        """Refreshes the lock metadata of a storage resource.
        MUST return CODE_NOT_FOUND if the reference does not exist.
        MUST return CODE_FAILED_PRECONDITION if the reference is not locked
        or if the caller does not hold the lock.
        The caller MUST have write permissions on the resource.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def Unlock(self, request, context):
        """Unlocks a storage resource.
        MUST return CODE_NOT_FOUND if the reference does not exist.
        MUST return CODE_FAILED_PRECONDITION if the reference is not locked
        or if the caller does not hold the lock.
        The caller MUST have write permissions on the resource.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateHome(self, request, context):
        """Creates the home directory for a user.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateStorageSpace(self, request, context):
        """Creates a storage space.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListStorageSpaces(self, request, context):
        """Lists storage spaces.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateStorageSpace(self, request, context):
        """Updates a storage space.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeleteStorageSpace(self, request, context):
        """Deletes a storage space.
        *****************************************************************/
        ************************ APP PROVIDER ********************/
        *****************************************************************/
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def OpenInApp(self, request, context):
        """Returns the App URL and all necessary info to open a resource in an online editor.
        MUST return CODE_NOT_FOUND if the resource does not exist.
        *****************************************************************/
        ************************ USER SHARE PROVIDER ********************/
        *****************************************************************/
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateShare(self, request, context):
        """Creates a new share.
        MUST return CODE_NOT_FOUND if the resource reference does not exist.
        MUST return CODE_LOCKED if the resource reference already locked.
        MUST return CODE_ALREADY_EXISTS if the share already exists for the 4-tuple consisting of
        (owner, shared_resource, grantee).
        New shares MUST be created in the state SHARE_STATE_PENDING.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def RemoveShare(self, request, context):
        """Removes a share.
        MUST return CODE_NOT_FOUND if the share reference does not exist.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetShare(self, request, context):
        """Gets share information for a single share.
        MUST return CODE_NOT_FOUND if the share reference does not exist.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListShares(self, request, context):
        """List the shares the authenticated principal has created,
        both as owner and creator. If a filter is specified, only
        shares satisfying the filter MUST be returned.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListExistingShares(self, request, context):
        """List all existing shares the authenticated principal has created,
        including their storage resource information.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateShare(self, request, context):
        """Updates a share.
        MUST return CODE_NOT_FOUND if the share reference does not exist.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListReceivedShares(self, request, context):
        """List all shares the authenticated principal has received.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListExistingReceivedShares(self, request, context):
        """List all existing shares the authenticated principal has received,
        including their storage resource information.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateReceivedShare(self, request, context):
        """Update the received share to change the share state or the display name.
        MUST return CODE_NOT_FOUND if the share reference does not exist.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetReceivedShare(self, request, context):
        """Get the information for the given received share reference.
        MUST return CODE_NOT_FOUND if the received share reference does not exist.
        *****************************************************************/
        ************************ PREFERENCES ***************************/
        *****************************************************************/
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SetKey(self, request, context):
        """Maps the key-value pair.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetKey(self, request, context):
        """Returns the value associated with the
        requested key.
        *****************************************************************/
        ************************ PUBLIC SHARE ***************************/
        *****************************************************************/
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreatePublicShare(self, request, context):
        """Creates a new share.
        MUST return CODE_NOT_FOUND if the resource reference does not exist.
        MUST return CODE_ALREADY_EXISTS if the share already exists for the 4-tuple consisting of
        (owner, shared_resource, grantee).
        New shares MUST be created in the state SHARE_STATE_PENDING.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def RemovePublicShare(self, request, context):
        """Removes a share.
        MUST return CODE_NOT_FOUND if the share reference does not exist.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetPublicShare(self, request, context):
        """Gets share information for a single share.
        MUST return CODE_NOT_FOUND if the share reference does not exist.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetPublicShareByToken(self, request, context):
        """Gets share information for a single share by its unlisted token.
        MUST return CODE_NOT_FOUND if the share does not exist.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListPublicShares(self, request, context):
        """List the shares the authenticated principal has created,
        both as owner and creator. If a filter is specified, only
        shares satisfying the filter MUST be returned.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListExistingPublicShares(self, request, context):
        """List all existing shares the authenticated principal has created,
        both as owner and creator, including their storage resource information.
        If a filter is specified, only shares satisfying the filter MUST be returned.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdatePublicShare(self, request, context):
        """Updates a share.
        MUST return CODE_NOT_FOUND if the share reference does not exist.
        *****************************************************************/
        ************************ OCM SHARE PROVIDER *********************/
        *****************************************************************/
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateOCMShare(self, request, context):
        """Creates a new ocm share.
        MUST return CODE_NOT_FOUND if the resource reference does not exist.
        MUST return CODE_ALREADY_EXISTS if the share already exists for the 4-tuple consisting of
        (owner, shared_resource, grantee).
        New shares MUST be created in the state SHARE_STATE_PENDING.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def RemoveOCMShare(self, request, context):
        """Removes a share.
        MUST return CODE_NOT_FOUND if the share reference does not exist.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetOCMShare(self, request, context):
        """Gets share information for a single share.
        MUST return CODE_NOT_FOUND if the share reference does not exist.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetOCMShareByToken(self, request, context):
        """Gets share information for a single share by its unlisted token.
        MUST return CODE_NOT_FOUND if the share does not exist.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListOCMShares(self, request, context):
        """List the shares the authenticated principal has created,
        both as owner and creator. If a filter is specified, only
        shares satisfying the filter MUST be returned.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateOCMShare(self, request, context):
        """Updates a share.
        MUST return CODE_NOT_FOUND if the share reference does not exist.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListReceivedOCMShares(self, request, context):
        """List all shares the authenticated principal has received.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateReceivedOCMShare(self, request, context):
        """Update the received share to change the share state or the display name.
        MUST return CODE_NOT_FOUND if the share reference does not exist.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetReceivedOCMShare(self, request, context):
        """Get the information for the given received share reference.
        MUST return CODE_NOT_FOUND if the received share reference does not exist.
        *****************************************************************/
        ************************ APP REGISTRY ****************************/
        *****************************************************************/
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetAppProviders(self, request, context):
        """Returns the app providers that are capable of handling this resource info.
        MUST return CODE_NOT_FOUND if no providers are available.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def AddAppProvider(self, request, context):
        """Registers a new app provider to the registry.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListAppProviders(self, request, context):
        """Returns a list of the available app providers known by this registry.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListSupportedMimeTypes(self, request, context):
        """Returns a list of the supported mime types along with the apps which they can opened with.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetDefaultAppProviderForMimeType(self, request, context):
        """Returns the default app provider which serves a specified mime type.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SetDefaultAppProviderForMimeType(self, request, context):
        """Sets the default app provider for a specified mime type.
        *****************************************************************/
        ************************ USER PROVIDER **************************/
        *****************************************************************/
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetUser(self, request, context):
        """Gets the information about a user by the user id.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetUserByClaim(self, request, context):
        """Gets the information about a user based on a specified claim.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetUserGroups(self, request, context):
        """Gets the groups of a user.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def FindUsers(self, request, context):
        """Finds users by any attribute of the user.
        TODO(labkode): to define the filters that make more sense.
        *****************************************************************/
        ************************ GROUP PROVIDER **************************/
        *****************************************************************/
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetGroup(self, request, context):
        """Gets the information about a group by the group id.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetGroupByClaim(self, request, context):
        """Gets the information about a group based on a specified claim.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetMembers(self, request, context):
        """Gets the members of a group.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def HasMember(self, request, context):
        """Tells if the group has a certain member.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def FindGroups(self, request, context):
        """TODO(labkode): to define the filters that make more sense.
        Finds groups whose names match the specified filter.
        *****************************************************************/
        ************************ AUTH REGISTRY  **************************/
        *****************************************************************/
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListAuthProviders(self, request, context):
        """Returns a list of the available auth providers known by this registry.
        ************************ STORAGE REGISTRY ** ********************/
        *****************************************************************/
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetHome(self, request, context):
        """Returns the home path for the given authenticated user.
        When a user has access to multiple storage providers, one of them is the home.
        *****************************************************************/
        ************************ OCM INVITE MANAGER *********************/
        *****************************************************************/
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GenerateInviteToken(self, request, context):
        """Generates a new token for the user with a validity of 24 hours.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListInviteTokens(self, request, context):
        """Lists the valid tokens generated by the user.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ForwardInvite(self, request, context):
        """Forwards a received invite to the sync'n'share system provider.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def AcceptInvite(self, request, context):
        """Completes an invitation acceptance.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetAcceptedUser(self, request, context):
        """Retrieves details about a remote user who has accepted an invite to share.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def FindAcceptedUsers(self, request, context):
        """Finds users who accepted invite tokens by their attributes.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeleteAcceptedUser(self, request, context):
        """Delete a previously accepted remote user, that is unfriend that user.
        *****************************************************************/
        ******************** OCM PROVIDER AUTHORIZER ********************/
        *****************************************************************/
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def IsProviderAllowed(self, request, context):
        """Check if a given system provider is registered in the mesh or not.
        MUST return CODE_UNAUTHENTICATED if the system is not registered
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetInfoByDomain(self, request, context):
        """Get the information of the provider identified by a specific domain.
        MUST return CODE_NOT_FOUND if the sync'n'share system provider does not exist.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListAllProviders(self, request, context):
        """Get the information of all the providers registered in the mesh.
        *****************************************************************/
        **************************** OCM CORE ***************************/
        *****************************************************************/
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateOCMCoreShare(self, request, context):
        """Creates a new OCM share.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def UpdateOCMCoreShare(self, request, context):
        """Updates an OCM share.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def DeleteOCMCoreShare(self, request, context):
        """Deletes an OCM share.
        *****************************************************************/
        ************************** FILE TRANSFER ************************/
        *****************************************************************/
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CreateTransfer(self, request, context):
        """Requests creation of a transfer.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetTransferStatus(self, request, context):
        """Requests a transfer status.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CancelTransfer(self, request, context):
        """Requests to cancel a transfer.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ListTransfers(self, request, context):
        """Requests a list of transfers received by the authenticated principle.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def RetryTransfer(self, request, context):
        """Requests retrying a transfer.
        *****************************************************************/
        ************************** Permissions **************************/
        *****************************************************************/
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def CheckPermission(self, request, context):
        """CheckPermission checks if a user or group has a certain permission.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_GatewayAPIServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'Authenticate': grpc.unary_unary_rpc_method_handler(
                    servicer.Authenticate,
                    request_deserializer=cs3_dot_gateway_dot_v1beta1_dot_gateway__api__pb2.AuthenticateRequest.FromString,
                    response_serializer=cs3_dot_gateway_dot_v1beta1_dot_gateway__api__pb2.AuthenticateResponse.SerializeToString,
            ),
            'WhoAmI': grpc.unary_unary_rpc_method_handler(
                    servicer.WhoAmI,
                    request_deserializer=cs3_dot_gateway_dot_v1beta1_dot_gateway__api__pb2.WhoAmIRequest.FromString,
                    response_serializer=cs3_dot_gateway_dot_v1beta1_dot_gateway__api__pb2.WhoAmIResponse.SerializeToString,
            ),
            'GenerateAppPassword': grpc.unary_unary_rpc_method_handler(
                    servicer.GenerateAppPassword,
                    request_deserializer=cs3_dot_auth_dot_applications_dot_v1beta1_dot_applications__api__pb2.GenerateAppPasswordRequest.FromString,
                    response_serializer=cs3_dot_auth_dot_applications_dot_v1beta1_dot_applications__api__pb2.GenerateAppPasswordResponse.SerializeToString,
            ),
            'ListAppPasswords': grpc.unary_unary_rpc_method_handler(
                    servicer.ListAppPasswords,
                    request_deserializer=cs3_dot_auth_dot_applications_dot_v1beta1_dot_applications__api__pb2.ListAppPasswordsRequest.FromString,
                    response_serializer=cs3_dot_auth_dot_applications_dot_v1beta1_dot_applications__api__pb2.ListAppPasswordsResponse.SerializeToString,
            ),
            'InvalidateAppPassword': grpc.unary_unary_rpc_method_handler(
                    servicer.InvalidateAppPassword,
                    request_deserializer=cs3_dot_auth_dot_applications_dot_v1beta1_dot_applications__api__pb2.InvalidateAppPasswordRequest.FromString,
                    response_serializer=cs3_dot_auth_dot_applications_dot_v1beta1_dot_applications__api__pb2.InvalidateAppPasswordResponse.SerializeToString,
            ),
            'GetAppPassword': grpc.unary_unary_rpc_method_handler(
                    servicer.GetAppPassword,
                    request_deserializer=cs3_dot_auth_dot_applications_dot_v1beta1_dot_applications__api__pb2.GetAppPasswordRequest.FromString,
                    response_serializer=cs3_dot_auth_dot_applications_dot_v1beta1_dot_applications__api__pb2.GetAppPasswordResponse.SerializeToString,
            ),
            'CreateContainer': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateContainer,
                    request_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.CreateContainerRequest.FromString,
                    response_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.CreateContainerResponse.SerializeToString,
            ),
            'TouchFile': grpc.unary_unary_rpc_method_handler(
                    servicer.TouchFile,
                    request_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.TouchFileRequest.FromString,
                    response_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.TouchFileResponse.SerializeToString,
            ),
            'Delete': grpc.unary_unary_rpc_method_handler(
                    servicer.Delete,
                    request_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.DeleteRequest.FromString,
                    response_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.DeleteResponse.SerializeToString,
            ),
            'GetPath': grpc.unary_unary_rpc_method_handler(
                    servicer.GetPath,
                    request_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.GetPathRequest.FromString,
                    response_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.GetPathResponse.SerializeToString,
            ),
            'GetQuota': grpc.unary_unary_rpc_method_handler(
                    servicer.GetQuota,
                    request_deserializer=cs3_dot_gateway_dot_v1beta1_dot_gateway__api__pb2.GetQuotaRequest.FromString,
                    response_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.GetQuotaResponse.SerializeToString,
            ),
            'InitiateFileDownload': grpc.unary_unary_rpc_method_handler(
                    servicer.InitiateFileDownload,
                    request_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.InitiateFileDownloadRequest.FromString,
                    response_serializer=cs3_dot_gateway_dot_v1beta1_dot_gateway__api__pb2.InitiateFileDownloadResponse.SerializeToString,
            ),
            'InitiateFileUpload': grpc.unary_unary_rpc_method_handler(
                    servicer.InitiateFileUpload,
                    request_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.InitiateFileUploadRequest.FromString,
                    response_serializer=cs3_dot_gateway_dot_v1beta1_dot_gateway__api__pb2.InitiateFileUploadResponse.SerializeToString,
            ),
            'ListContainerStream': grpc.unary_stream_rpc_method_handler(
                    servicer.ListContainerStream,
                    request_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.ListContainerStreamRequest.FromString,
                    response_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.ListContainerStreamResponse.SerializeToString,
            ),
            'ListContainer': grpc.unary_unary_rpc_method_handler(
                    servicer.ListContainer,
                    request_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.ListContainerRequest.FromString,
                    response_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.ListContainerResponse.SerializeToString,
            ),
            'ListFileVersions': grpc.unary_unary_rpc_method_handler(
                    servicer.ListFileVersions,
                    request_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.ListFileVersionsRequest.FromString,
                    response_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.ListFileVersionsResponse.SerializeToString,
            ),
            'ListRecycleStream': grpc.unary_stream_rpc_method_handler(
                    servicer.ListRecycleStream,
                    request_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.ListRecycleStreamRequest.FromString,
                    response_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.ListRecycleStreamResponse.SerializeToString,
            ),
            'ListRecycle': grpc.unary_unary_rpc_method_handler(
                    servicer.ListRecycle,
                    request_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.ListRecycleRequest.FromString,
                    response_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.ListRecycleResponse.SerializeToString,
            ),
            'Move': grpc.unary_unary_rpc_method_handler(
                    servicer.Move,
                    request_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.MoveRequest.FromString,
                    response_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.MoveResponse.SerializeToString,
            ),
            'PurgeRecycle': grpc.unary_unary_rpc_method_handler(
                    servicer.PurgeRecycle,
                    request_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.PurgeRecycleRequest.FromString,
                    response_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.PurgeRecycleResponse.SerializeToString,
            ),
            'RestoreFileVersion': grpc.unary_unary_rpc_method_handler(
                    servicer.RestoreFileVersion,
                    request_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.RestoreFileVersionRequest.FromString,
                    response_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.RestoreFileVersionResponse.SerializeToString,
            ),
            'RestoreRecycleItem': grpc.unary_unary_rpc_method_handler(
                    servicer.RestoreRecycleItem,
                    request_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.RestoreRecycleItemRequest.FromString,
                    response_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.RestoreRecycleItemResponse.SerializeToString,
            ),
            'Stat': grpc.unary_unary_rpc_method_handler(
                    servicer.Stat,
                    request_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.StatRequest.FromString,
                    response_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.StatResponse.SerializeToString,
            ),
            'CreateSymlink': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateSymlink,
                    request_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.CreateSymlinkRequest.FromString,
                    response_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.CreateSymlinkResponse.SerializeToString,
            ),
            'SetArbitraryMetadata': grpc.unary_unary_rpc_method_handler(
                    servicer.SetArbitraryMetadata,
                    request_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.SetArbitraryMetadataRequest.FromString,
                    response_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.SetArbitraryMetadataResponse.SerializeToString,
            ),
            'UnsetArbitraryMetadata': grpc.unary_unary_rpc_method_handler(
                    servicer.UnsetArbitraryMetadata,
                    request_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.UnsetArbitraryMetadataRequest.FromString,
                    response_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.UnsetArbitraryMetadataResponse.SerializeToString,
            ),
            'SetLock': grpc.unary_unary_rpc_method_handler(
                    servicer.SetLock,
                    request_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.SetLockRequest.FromString,
                    response_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.SetLockResponse.SerializeToString,
            ),
            'GetLock': grpc.unary_unary_rpc_method_handler(
                    servicer.GetLock,
                    request_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.GetLockRequest.FromString,
                    response_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.GetLockResponse.SerializeToString,
            ),
            'RefreshLock': grpc.unary_unary_rpc_method_handler(
                    servicer.RefreshLock,
                    request_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.RefreshLockRequest.FromString,
                    response_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.RefreshLockResponse.SerializeToString,
            ),
            'Unlock': grpc.unary_unary_rpc_method_handler(
                    servicer.Unlock,
                    request_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.UnlockRequest.FromString,
                    response_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.UnlockResponse.SerializeToString,
            ),
            'CreateHome': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateHome,
                    request_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.CreateHomeRequest.FromString,
                    response_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.CreateHomeResponse.SerializeToString,
            ),
            'CreateStorageSpace': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateStorageSpace,
                    request_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_spaces__api__pb2.CreateStorageSpaceRequest.FromString,
                    response_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_spaces__api__pb2.CreateStorageSpaceResponse.SerializeToString,
            ),
            'ListStorageSpaces': grpc.unary_unary_rpc_method_handler(
                    servicer.ListStorageSpaces,
                    request_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_spaces__api__pb2.ListStorageSpacesRequest.FromString,
                    response_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_spaces__api__pb2.ListStorageSpacesResponse.SerializeToString,
            ),
            'UpdateStorageSpace': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateStorageSpace,
                    request_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_spaces__api__pb2.UpdateStorageSpaceRequest.FromString,
                    response_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_spaces__api__pb2.UpdateStorageSpaceResponse.SerializeToString,
            ),
            'DeleteStorageSpace': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteStorageSpace,
                    request_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_spaces__api__pb2.DeleteStorageSpaceRequest.FromString,
                    response_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_spaces__api__pb2.DeleteStorageSpaceResponse.SerializeToString,
            ),
            'OpenInApp': grpc.unary_unary_rpc_method_handler(
                    servicer.OpenInApp,
                    request_deserializer=cs3_dot_gateway_dot_v1beta1_dot_gateway__api__pb2.OpenInAppRequest.FromString,
                    response_serializer=cs3_dot_app_dot_provider_dot_v1beta1_dot_provider__api__pb2.OpenInAppResponse.SerializeToString,
            ),
            'CreateShare': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateShare,
                    request_deserializer=cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.CreateShareRequest.FromString,
                    response_serializer=cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.CreateShareResponse.SerializeToString,
            ),
            'RemoveShare': grpc.unary_unary_rpc_method_handler(
                    servicer.RemoveShare,
                    request_deserializer=cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.RemoveShareRequest.FromString,
                    response_serializer=cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.RemoveShareResponse.SerializeToString,
            ),
            'GetShare': grpc.unary_unary_rpc_method_handler(
                    servicer.GetShare,
                    request_deserializer=cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.GetShareRequest.FromString,
                    response_serializer=cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.GetShareResponse.SerializeToString,
            ),
            'ListShares': grpc.unary_unary_rpc_method_handler(
                    servicer.ListShares,
                    request_deserializer=cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.ListSharesRequest.FromString,
                    response_serializer=cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.ListSharesResponse.SerializeToString,
            ),
            'ListExistingShares': grpc.unary_unary_rpc_method_handler(
                    servicer.ListExistingShares,
                    request_deserializer=cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.ListSharesRequest.FromString,
                    response_serializer=cs3_dot_gateway_dot_v1beta1_dot_gateway__api__pb2.ListExistingSharesResponse.SerializeToString,
            ),
            'UpdateShare': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateShare,
                    request_deserializer=cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.UpdateShareRequest.FromString,
                    response_serializer=cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.UpdateShareResponse.SerializeToString,
            ),
            'ListReceivedShares': grpc.unary_unary_rpc_method_handler(
                    servicer.ListReceivedShares,
                    request_deserializer=cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.ListReceivedSharesRequest.FromString,
                    response_serializer=cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.ListReceivedSharesResponse.SerializeToString,
            ),
            'ListExistingReceivedShares': grpc.unary_unary_rpc_method_handler(
                    servicer.ListExistingReceivedShares,
                    request_deserializer=cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.ListReceivedSharesRequest.FromString,
                    response_serializer=cs3_dot_gateway_dot_v1beta1_dot_gateway__api__pb2.ListExistingReceivedSharesResponse.SerializeToString,
            ),
            'UpdateReceivedShare': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateReceivedShare,
                    request_deserializer=cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.UpdateReceivedShareRequest.FromString,
                    response_serializer=cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.UpdateReceivedShareResponse.SerializeToString,
            ),
            'GetReceivedShare': grpc.unary_unary_rpc_method_handler(
                    servicer.GetReceivedShare,
                    request_deserializer=cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.GetReceivedShareRequest.FromString,
                    response_serializer=cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.GetReceivedShareResponse.SerializeToString,
            ),
            'SetKey': grpc.unary_unary_rpc_method_handler(
                    servicer.SetKey,
                    request_deserializer=cs3_dot_preferences_dot_v1beta1_dot_preferences__api__pb2.SetKeyRequest.FromString,
                    response_serializer=cs3_dot_preferences_dot_v1beta1_dot_preferences__api__pb2.SetKeyResponse.SerializeToString,
            ),
            'GetKey': grpc.unary_unary_rpc_method_handler(
                    servicer.GetKey,
                    request_deserializer=cs3_dot_preferences_dot_v1beta1_dot_preferences__api__pb2.GetKeyRequest.FromString,
                    response_serializer=cs3_dot_preferences_dot_v1beta1_dot_preferences__api__pb2.GetKeyResponse.SerializeToString,
            ),
            'CreatePublicShare': grpc.unary_unary_rpc_method_handler(
                    servicer.CreatePublicShare,
                    request_deserializer=cs3_dot_sharing_dot_link_dot_v1beta1_dot_link__api__pb2.CreatePublicShareRequest.FromString,
                    response_serializer=cs3_dot_sharing_dot_link_dot_v1beta1_dot_link__api__pb2.CreatePublicShareResponse.SerializeToString,
            ),
            'RemovePublicShare': grpc.unary_unary_rpc_method_handler(
                    servicer.RemovePublicShare,
                    request_deserializer=cs3_dot_sharing_dot_link_dot_v1beta1_dot_link__api__pb2.RemovePublicShareRequest.FromString,
                    response_serializer=cs3_dot_sharing_dot_link_dot_v1beta1_dot_link__api__pb2.RemovePublicShareResponse.SerializeToString,
            ),
            'GetPublicShare': grpc.unary_unary_rpc_method_handler(
                    servicer.GetPublicShare,
                    request_deserializer=cs3_dot_sharing_dot_link_dot_v1beta1_dot_link__api__pb2.GetPublicShareRequest.FromString,
                    response_serializer=cs3_dot_sharing_dot_link_dot_v1beta1_dot_link__api__pb2.GetPublicShareResponse.SerializeToString,
            ),
            'GetPublicShareByToken': grpc.unary_unary_rpc_method_handler(
                    servicer.GetPublicShareByToken,
                    request_deserializer=cs3_dot_sharing_dot_link_dot_v1beta1_dot_link__api__pb2.GetPublicShareByTokenRequest.FromString,
                    response_serializer=cs3_dot_sharing_dot_link_dot_v1beta1_dot_link__api__pb2.GetPublicShareByTokenResponse.SerializeToString,
            ),
            'ListPublicShares': grpc.unary_unary_rpc_method_handler(
                    servicer.ListPublicShares,
                    request_deserializer=cs3_dot_sharing_dot_link_dot_v1beta1_dot_link__api__pb2.ListPublicSharesRequest.FromString,
                    response_serializer=cs3_dot_sharing_dot_link_dot_v1beta1_dot_link__api__pb2.ListPublicSharesResponse.SerializeToString,
            ),
            'ListExistingPublicShares': grpc.unary_unary_rpc_method_handler(
                    servicer.ListExistingPublicShares,
                    request_deserializer=cs3_dot_sharing_dot_link_dot_v1beta1_dot_link__api__pb2.ListPublicSharesRequest.FromString,
                    response_serializer=cs3_dot_gateway_dot_v1beta1_dot_gateway__api__pb2.ListExistingPublicSharesResponse.SerializeToString,
            ),
            'UpdatePublicShare': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdatePublicShare,
                    request_deserializer=cs3_dot_sharing_dot_link_dot_v1beta1_dot_link__api__pb2.UpdatePublicShareRequest.FromString,
                    response_serializer=cs3_dot_sharing_dot_link_dot_v1beta1_dot_link__api__pb2.UpdatePublicShareResponse.SerializeToString,
            ),
            'CreateOCMShare': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateOCMShare,
                    request_deserializer=cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.CreateOCMShareRequest.FromString,
                    response_serializer=cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.CreateOCMShareResponse.SerializeToString,
            ),
            'RemoveOCMShare': grpc.unary_unary_rpc_method_handler(
                    servicer.RemoveOCMShare,
                    request_deserializer=cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.RemoveOCMShareRequest.FromString,
                    response_serializer=cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.RemoveOCMShareResponse.SerializeToString,
            ),
            'GetOCMShare': grpc.unary_unary_rpc_method_handler(
                    servicer.GetOCMShare,
                    request_deserializer=cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.GetOCMShareRequest.FromString,
                    response_serializer=cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.GetOCMShareResponse.SerializeToString,
            ),
            'GetOCMShareByToken': grpc.unary_unary_rpc_method_handler(
                    servicer.GetOCMShareByToken,
                    request_deserializer=cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.GetOCMShareByTokenRequest.FromString,
                    response_serializer=cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.GetOCMShareByTokenResponse.SerializeToString,
            ),
            'ListOCMShares': grpc.unary_unary_rpc_method_handler(
                    servicer.ListOCMShares,
                    request_deserializer=cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.ListOCMSharesRequest.FromString,
                    response_serializer=cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.ListOCMSharesResponse.SerializeToString,
            ),
            'UpdateOCMShare': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateOCMShare,
                    request_deserializer=cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.UpdateOCMShareRequest.FromString,
                    response_serializer=cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.UpdateOCMShareResponse.SerializeToString,
            ),
            'ListReceivedOCMShares': grpc.unary_unary_rpc_method_handler(
                    servicer.ListReceivedOCMShares,
                    request_deserializer=cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.ListReceivedOCMSharesRequest.FromString,
                    response_serializer=cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.ListReceivedOCMSharesResponse.SerializeToString,
            ),
            'UpdateReceivedOCMShare': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateReceivedOCMShare,
                    request_deserializer=cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.UpdateReceivedOCMShareRequest.FromString,
                    response_serializer=cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.UpdateReceivedOCMShareResponse.SerializeToString,
            ),
            'GetReceivedOCMShare': grpc.unary_unary_rpc_method_handler(
                    servicer.GetReceivedOCMShare,
                    request_deserializer=cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.GetReceivedOCMShareRequest.FromString,
                    response_serializer=cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.GetReceivedOCMShareResponse.SerializeToString,
            ),
            'GetAppProviders': grpc.unary_unary_rpc_method_handler(
                    servicer.GetAppProviders,
                    request_deserializer=cs3_dot_app_dot_registry_dot_v1beta1_dot_registry__api__pb2.GetAppProvidersRequest.FromString,
                    response_serializer=cs3_dot_app_dot_registry_dot_v1beta1_dot_registry__api__pb2.GetAppProvidersResponse.SerializeToString,
            ),
            'AddAppProvider': grpc.unary_unary_rpc_method_handler(
                    servicer.AddAppProvider,
                    request_deserializer=cs3_dot_app_dot_registry_dot_v1beta1_dot_registry__api__pb2.AddAppProviderRequest.FromString,
                    response_serializer=cs3_dot_app_dot_registry_dot_v1beta1_dot_registry__api__pb2.AddAppProviderResponse.SerializeToString,
            ),
            'ListAppProviders': grpc.unary_unary_rpc_method_handler(
                    servicer.ListAppProviders,
                    request_deserializer=cs3_dot_app_dot_registry_dot_v1beta1_dot_registry__api__pb2.ListAppProvidersRequest.FromString,
                    response_serializer=cs3_dot_app_dot_registry_dot_v1beta1_dot_registry__api__pb2.ListAppProvidersResponse.SerializeToString,
            ),
            'ListSupportedMimeTypes': grpc.unary_unary_rpc_method_handler(
                    servicer.ListSupportedMimeTypes,
                    request_deserializer=cs3_dot_app_dot_registry_dot_v1beta1_dot_registry__api__pb2.ListSupportedMimeTypesRequest.FromString,
                    response_serializer=cs3_dot_app_dot_registry_dot_v1beta1_dot_registry__api__pb2.ListSupportedMimeTypesResponse.SerializeToString,
            ),
            'GetDefaultAppProviderForMimeType': grpc.unary_unary_rpc_method_handler(
                    servicer.GetDefaultAppProviderForMimeType,
                    request_deserializer=cs3_dot_app_dot_registry_dot_v1beta1_dot_registry__api__pb2.GetDefaultAppProviderForMimeTypeRequest.FromString,
                    response_serializer=cs3_dot_app_dot_registry_dot_v1beta1_dot_registry__api__pb2.GetDefaultAppProviderForMimeTypeResponse.SerializeToString,
            ),
            'SetDefaultAppProviderForMimeType': grpc.unary_unary_rpc_method_handler(
                    servicer.SetDefaultAppProviderForMimeType,
                    request_deserializer=cs3_dot_app_dot_registry_dot_v1beta1_dot_registry__api__pb2.SetDefaultAppProviderForMimeTypeRequest.FromString,
                    response_serializer=cs3_dot_app_dot_registry_dot_v1beta1_dot_registry__api__pb2.SetDefaultAppProviderForMimeTypeResponse.SerializeToString,
            ),
            'GetUser': grpc.unary_unary_rpc_method_handler(
                    servicer.GetUser,
                    request_deserializer=cs3_dot_identity_dot_user_dot_v1beta1_dot_user__api__pb2.GetUserRequest.FromString,
                    response_serializer=cs3_dot_identity_dot_user_dot_v1beta1_dot_user__api__pb2.GetUserResponse.SerializeToString,
            ),
            'GetUserByClaim': grpc.unary_unary_rpc_method_handler(
                    servicer.GetUserByClaim,
                    request_deserializer=cs3_dot_identity_dot_user_dot_v1beta1_dot_user__api__pb2.GetUserByClaimRequest.FromString,
                    response_serializer=cs3_dot_identity_dot_user_dot_v1beta1_dot_user__api__pb2.GetUserByClaimResponse.SerializeToString,
            ),
            'GetUserGroups': grpc.unary_unary_rpc_method_handler(
                    servicer.GetUserGroups,
                    request_deserializer=cs3_dot_identity_dot_user_dot_v1beta1_dot_user__api__pb2.GetUserGroupsRequest.FromString,
                    response_serializer=cs3_dot_identity_dot_user_dot_v1beta1_dot_user__api__pb2.GetUserGroupsResponse.SerializeToString,
            ),
            'FindUsers': grpc.unary_unary_rpc_method_handler(
                    servicer.FindUsers,
                    request_deserializer=cs3_dot_identity_dot_user_dot_v1beta1_dot_user__api__pb2.FindUsersRequest.FromString,
                    response_serializer=cs3_dot_identity_dot_user_dot_v1beta1_dot_user__api__pb2.FindUsersResponse.SerializeToString,
            ),
            'GetGroup': grpc.unary_unary_rpc_method_handler(
                    servicer.GetGroup,
                    request_deserializer=cs3_dot_identity_dot_group_dot_v1beta1_dot_group__api__pb2.GetGroupRequest.FromString,
                    response_serializer=cs3_dot_identity_dot_group_dot_v1beta1_dot_group__api__pb2.GetGroupResponse.SerializeToString,
            ),
            'GetGroupByClaim': grpc.unary_unary_rpc_method_handler(
                    servicer.GetGroupByClaim,
                    request_deserializer=cs3_dot_identity_dot_group_dot_v1beta1_dot_group__api__pb2.GetGroupByClaimRequest.FromString,
                    response_serializer=cs3_dot_identity_dot_group_dot_v1beta1_dot_group__api__pb2.GetGroupByClaimResponse.SerializeToString,
            ),
            'GetMembers': grpc.unary_unary_rpc_method_handler(
                    servicer.GetMembers,
                    request_deserializer=cs3_dot_identity_dot_group_dot_v1beta1_dot_group__api__pb2.GetMembersRequest.FromString,
                    response_serializer=cs3_dot_identity_dot_group_dot_v1beta1_dot_group__api__pb2.GetMembersResponse.SerializeToString,
            ),
            'HasMember': grpc.unary_unary_rpc_method_handler(
                    servicer.HasMember,
                    request_deserializer=cs3_dot_identity_dot_group_dot_v1beta1_dot_group__api__pb2.HasMemberRequest.FromString,
                    response_serializer=cs3_dot_identity_dot_group_dot_v1beta1_dot_group__api__pb2.HasMemberResponse.SerializeToString,
            ),
            'FindGroups': grpc.unary_unary_rpc_method_handler(
                    servicer.FindGroups,
                    request_deserializer=cs3_dot_identity_dot_group_dot_v1beta1_dot_group__api__pb2.FindGroupsRequest.FromString,
                    response_serializer=cs3_dot_identity_dot_group_dot_v1beta1_dot_group__api__pb2.FindGroupsResponse.SerializeToString,
            ),
            'ListAuthProviders': grpc.unary_unary_rpc_method_handler(
                    servicer.ListAuthProviders,
                    request_deserializer=cs3_dot_auth_dot_registry_dot_v1beta1_dot_registry__api__pb2.ListAuthProvidersRequest.FromString,
                    response_serializer=cs3_dot_gateway_dot_v1beta1_dot_gateway__api__pb2.ListAuthProvidersResponse.SerializeToString,
            ),
            'GetHome': grpc.unary_unary_rpc_method_handler(
                    servicer.GetHome,
                    request_deserializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.GetHomeRequest.FromString,
                    response_serializer=cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.GetHomeResponse.SerializeToString,
            ),
            'GenerateInviteToken': grpc.unary_unary_rpc_method_handler(
                    servicer.GenerateInviteToken,
                    request_deserializer=cs3_dot_ocm_dot_invite_dot_v1beta1_dot_invite__api__pb2.GenerateInviteTokenRequest.FromString,
                    response_serializer=cs3_dot_ocm_dot_invite_dot_v1beta1_dot_invite__api__pb2.GenerateInviteTokenResponse.SerializeToString,
            ),
            'ListInviteTokens': grpc.unary_unary_rpc_method_handler(
                    servicer.ListInviteTokens,
                    request_deserializer=cs3_dot_ocm_dot_invite_dot_v1beta1_dot_invite__api__pb2.ListInviteTokensRequest.FromString,
                    response_serializer=cs3_dot_ocm_dot_invite_dot_v1beta1_dot_invite__api__pb2.ListInviteTokensResponse.SerializeToString,
            ),
            'ForwardInvite': grpc.unary_unary_rpc_method_handler(
                    servicer.ForwardInvite,
                    request_deserializer=cs3_dot_ocm_dot_invite_dot_v1beta1_dot_invite__api__pb2.ForwardInviteRequest.FromString,
                    response_serializer=cs3_dot_ocm_dot_invite_dot_v1beta1_dot_invite__api__pb2.ForwardInviteResponse.SerializeToString,
            ),
            'AcceptInvite': grpc.unary_unary_rpc_method_handler(
                    servicer.AcceptInvite,
                    request_deserializer=cs3_dot_ocm_dot_invite_dot_v1beta1_dot_invite__api__pb2.AcceptInviteRequest.FromString,
                    response_serializer=cs3_dot_ocm_dot_invite_dot_v1beta1_dot_invite__api__pb2.AcceptInviteResponse.SerializeToString,
            ),
            'GetAcceptedUser': grpc.unary_unary_rpc_method_handler(
                    servicer.GetAcceptedUser,
                    request_deserializer=cs3_dot_ocm_dot_invite_dot_v1beta1_dot_invite__api__pb2.GetAcceptedUserRequest.FromString,
                    response_serializer=cs3_dot_ocm_dot_invite_dot_v1beta1_dot_invite__api__pb2.GetAcceptedUserResponse.SerializeToString,
            ),
            'FindAcceptedUsers': grpc.unary_unary_rpc_method_handler(
                    servicer.FindAcceptedUsers,
                    request_deserializer=cs3_dot_ocm_dot_invite_dot_v1beta1_dot_invite__api__pb2.FindAcceptedUsersRequest.FromString,
                    response_serializer=cs3_dot_ocm_dot_invite_dot_v1beta1_dot_invite__api__pb2.FindAcceptedUsersResponse.SerializeToString,
            ),
            'DeleteAcceptedUser': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteAcceptedUser,
                    request_deserializer=cs3_dot_ocm_dot_invite_dot_v1beta1_dot_invite__api__pb2.DeleteAcceptedUserRequest.FromString,
                    response_serializer=cs3_dot_ocm_dot_invite_dot_v1beta1_dot_invite__api__pb2.DeleteAcceptedUserResponse.SerializeToString,
            ),
            'IsProviderAllowed': grpc.unary_unary_rpc_method_handler(
                    servicer.IsProviderAllowed,
                    request_deserializer=cs3_dot_ocm_dot_provider_dot_v1beta1_dot_provider__api__pb2.IsProviderAllowedRequest.FromString,
                    response_serializer=cs3_dot_ocm_dot_provider_dot_v1beta1_dot_provider__api__pb2.IsProviderAllowedResponse.SerializeToString,
            ),
            'GetInfoByDomain': grpc.unary_unary_rpc_method_handler(
                    servicer.GetInfoByDomain,
                    request_deserializer=cs3_dot_ocm_dot_provider_dot_v1beta1_dot_provider__api__pb2.GetInfoByDomainRequest.FromString,
                    response_serializer=cs3_dot_ocm_dot_provider_dot_v1beta1_dot_provider__api__pb2.GetInfoByDomainResponse.SerializeToString,
            ),
            'ListAllProviders': grpc.unary_unary_rpc_method_handler(
                    servicer.ListAllProviders,
                    request_deserializer=cs3_dot_ocm_dot_provider_dot_v1beta1_dot_provider__api__pb2.ListAllProvidersRequest.FromString,
                    response_serializer=cs3_dot_ocm_dot_provider_dot_v1beta1_dot_provider__api__pb2.ListAllProvidersResponse.SerializeToString,
            ),
            'CreateOCMCoreShare': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateOCMCoreShare,
                    request_deserializer=cs3_dot_ocm_dot_core_dot_v1beta1_dot_ocm__core__api__pb2.CreateOCMCoreShareRequest.FromString,
                    response_serializer=cs3_dot_ocm_dot_core_dot_v1beta1_dot_ocm__core__api__pb2.CreateOCMCoreShareResponse.SerializeToString,
            ),
            'UpdateOCMCoreShare': grpc.unary_unary_rpc_method_handler(
                    servicer.UpdateOCMCoreShare,
                    request_deserializer=cs3_dot_ocm_dot_core_dot_v1beta1_dot_ocm__core__api__pb2.UpdateOCMCoreShareRequest.FromString,
                    response_serializer=cs3_dot_ocm_dot_core_dot_v1beta1_dot_ocm__core__api__pb2.UpdateOCMCoreShareResponse.SerializeToString,
            ),
            'DeleteOCMCoreShare': grpc.unary_unary_rpc_method_handler(
                    servicer.DeleteOCMCoreShare,
                    request_deserializer=cs3_dot_ocm_dot_core_dot_v1beta1_dot_ocm__core__api__pb2.DeleteOCMCoreShareRequest.FromString,
                    response_serializer=cs3_dot_ocm_dot_core_dot_v1beta1_dot_ocm__core__api__pb2.DeleteOCMCoreShareResponse.SerializeToString,
            ),
            'CreateTransfer': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateTransfer,
                    request_deserializer=cs3_dot_tx_dot_v1beta1_dot_tx__api__pb2.CreateTransferRequest.FromString,
                    response_serializer=cs3_dot_tx_dot_v1beta1_dot_tx__api__pb2.CreateTransferResponse.SerializeToString,
            ),
            'GetTransferStatus': grpc.unary_unary_rpc_method_handler(
                    servicer.GetTransferStatus,
                    request_deserializer=cs3_dot_tx_dot_v1beta1_dot_tx__api__pb2.GetTransferStatusRequest.FromString,
                    response_serializer=cs3_dot_tx_dot_v1beta1_dot_tx__api__pb2.GetTransferStatusResponse.SerializeToString,
            ),
            'CancelTransfer': grpc.unary_unary_rpc_method_handler(
                    servicer.CancelTransfer,
                    request_deserializer=cs3_dot_tx_dot_v1beta1_dot_tx__api__pb2.CancelTransferRequest.FromString,
                    response_serializer=cs3_dot_tx_dot_v1beta1_dot_tx__api__pb2.CancelTransferResponse.SerializeToString,
            ),
            'ListTransfers': grpc.unary_unary_rpc_method_handler(
                    servicer.ListTransfers,
                    request_deserializer=cs3_dot_tx_dot_v1beta1_dot_tx__api__pb2.ListTransfersRequest.FromString,
                    response_serializer=cs3_dot_tx_dot_v1beta1_dot_tx__api__pb2.ListTransfersResponse.SerializeToString,
            ),
            'RetryTransfer': grpc.unary_unary_rpc_method_handler(
                    servicer.RetryTransfer,
                    request_deserializer=cs3_dot_tx_dot_v1beta1_dot_tx__api__pb2.RetryTransferRequest.FromString,
                    response_serializer=cs3_dot_tx_dot_v1beta1_dot_tx__api__pb2.RetryTransferResponse.SerializeToString,
            ),
            'CheckPermission': grpc.unary_unary_rpc_method_handler(
                    servicer.CheckPermission,
                    request_deserializer=cs3_dot_permissions_dot_v1beta1_dot_permissions__api__pb2.CheckPermissionRequest.FromString,
                    response_serializer=cs3_dot_permissions_dot_v1beta1_dot_permissions__api__pb2.CheckPermissionResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'cs3.gateway.v1beta1.GatewayAPI', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))


 # This class is part of an EXPERIMENTAL API.
class GatewayAPI(object):
    """Gateway API

    The Gateway API is the only API exposed directly to end-clients.
    It is a facade API that all clients should connect to.
    Other APIS like the StorageProviderAPI are internal APIS.

    The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
    NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and
    "OPTIONAL" in this document are to be interpreted as described in
    RFC 2119.

    The following are global requirements that apply to all methods:
    Any method MUST return CODE_OK on a succesful operation.
    Any method MAY return NOT_IMPLEMENTED.
    Any method MAY return INTERNAL.
    Any method MAY return UNKNOWN.
    Any method MAY return UNAUTHENTICATED.
    *****************************************************************/
    ************************ AUTH ******** **************************/
    *****************************************************************/
    """

    @staticmethod
    def Authenticate(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, '/cs3.gateway.v1beta1.GatewayAPI/Authenticate',
            cs3_dot_gateway_dot_v1beta1_dot_gateway__api__pb2.AuthenticateRequest.SerializeToString,
            cs3_dot_gateway_dot_v1beta1_dot_gateway__api__pb2.AuthenticateResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def WhoAmI(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, '/cs3.gateway.v1beta1.GatewayAPI/WhoAmI',
            cs3_dot_gateway_dot_v1beta1_dot_gateway__api__pb2.WhoAmIRequest.SerializeToString,
            cs3_dot_gateway_dot_v1beta1_dot_gateway__api__pb2.WhoAmIResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GenerateAppPassword(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, '/cs3.gateway.v1beta1.GatewayAPI/GenerateAppPassword',
            cs3_dot_auth_dot_applications_dot_v1beta1_dot_applications__api__pb2.GenerateAppPasswordRequest.SerializeToString,
            cs3_dot_auth_dot_applications_dot_v1beta1_dot_applications__api__pb2.GenerateAppPasswordResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListAppPasswords(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, '/cs3.gateway.v1beta1.GatewayAPI/ListAppPasswords',
            cs3_dot_auth_dot_applications_dot_v1beta1_dot_applications__api__pb2.ListAppPasswordsRequest.SerializeToString,
            cs3_dot_auth_dot_applications_dot_v1beta1_dot_applications__api__pb2.ListAppPasswordsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def InvalidateAppPassword(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, '/cs3.gateway.v1beta1.GatewayAPI/InvalidateAppPassword',
            cs3_dot_auth_dot_applications_dot_v1beta1_dot_applications__api__pb2.InvalidateAppPasswordRequest.SerializeToString,
            cs3_dot_auth_dot_applications_dot_v1beta1_dot_applications__api__pb2.InvalidateAppPasswordResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetAppPassword(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, '/cs3.gateway.v1beta1.GatewayAPI/GetAppPassword',
            cs3_dot_auth_dot_applications_dot_v1beta1_dot_applications__api__pb2.GetAppPasswordRequest.SerializeToString,
            cs3_dot_auth_dot_applications_dot_v1beta1_dot_applications__api__pb2.GetAppPasswordResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateContainer(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, '/cs3.gateway.v1beta1.GatewayAPI/CreateContainer',
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.CreateContainerRequest.SerializeToString,
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.CreateContainerResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def TouchFile(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, '/cs3.gateway.v1beta1.GatewayAPI/TouchFile',
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.TouchFileRequest.SerializeToString,
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.TouchFileResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Delete(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, '/cs3.gateway.v1beta1.GatewayAPI/Delete',
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.DeleteRequest.SerializeToString,
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.DeleteResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetPath(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, '/cs3.gateway.v1beta1.GatewayAPI/GetPath',
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.GetPathRequest.SerializeToString,
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.GetPathResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetQuota(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, '/cs3.gateway.v1beta1.GatewayAPI/GetQuota',
            cs3_dot_gateway_dot_v1beta1_dot_gateway__api__pb2.GetQuotaRequest.SerializeToString,
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.GetQuotaResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def InitiateFileDownload(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, '/cs3.gateway.v1beta1.GatewayAPI/InitiateFileDownload',
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.InitiateFileDownloadRequest.SerializeToString,
            cs3_dot_gateway_dot_v1beta1_dot_gateway__api__pb2.InitiateFileDownloadResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def InitiateFileUpload(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, '/cs3.gateway.v1beta1.GatewayAPI/InitiateFileUpload',
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.InitiateFileUploadRequest.SerializeToString,
            cs3_dot_gateway_dot_v1beta1_dot_gateway__api__pb2.InitiateFileUploadResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListContainerStream(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_stream(request, target, '/cs3.gateway.v1beta1.GatewayAPI/ListContainerStream',
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.ListContainerStreamRequest.SerializeToString,
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.ListContainerStreamResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListContainer(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, '/cs3.gateway.v1beta1.GatewayAPI/ListContainer',
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.ListContainerRequest.SerializeToString,
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.ListContainerResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListFileVersions(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, '/cs3.gateway.v1beta1.GatewayAPI/ListFileVersions',
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.ListFileVersionsRequest.SerializeToString,
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.ListFileVersionsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListRecycleStream(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_stream(request, target, '/cs3.gateway.v1beta1.GatewayAPI/ListRecycleStream',
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.ListRecycleStreamRequest.SerializeToString,
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.ListRecycleStreamResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListRecycle(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, '/cs3.gateway.v1beta1.GatewayAPI/ListRecycle',
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.ListRecycleRequest.SerializeToString,
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.ListRecycleResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Move(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, '/cs3.gateway.v1beta1.GatewayAPI/Move',
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.MoveRequest.SerializeToString,
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.MoveResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def PurgeRecycle(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, '/cs3.gateway.v1beta1.GatewayAPI/PurgeRecycle',
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.PurgeRecycleRequest.SerializeToString,
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.PurgeRecycleResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def RestoreFileVersion(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, '/cs3.gateway.v1beta1.GatewayAPI/RestoreFileVersion',
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.RestoreFileVersionRequest.SerializeToString,
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.RestoreFileVersionResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def RestoreRecycleItem(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, '/cs3.gateway.v1beta1.GatewayAPI/RestoreRecycleItem',
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.RestoreRecycleItemRequest.SerializeToString,
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.RestoreRecycleItemResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Stat(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, '/cs3.gateway.v1beta1.GatewayAPI/Stat',
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.StatRequest.SerializeToString,
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.StatResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateSymlink(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, '/cs3.gateway.v1beta1.GatewayAPI/CreateSymlink',
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.CreateSymlinkRequest.SerializeToString,
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.CreateSymlinkResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetArbitraryMetadata(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, '/cs3.gateway.v1beta1.GatewayAPI/SetArbitraryMetadata',
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.SetArbitraryMetadataRequest.SerializeToString,
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.SetArbitraryMetadataResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UnsetArbitraryMetadata(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, '/cs3.gateway.v1beta1.GatewayAPI/UnsetArbitraryMetadata',
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.UnsetArbitraryMetadataRequest.SerializeToString,
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.UnsetArbitraryMetadataResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetLock(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, '/cs3.gateway.v1beta1.GatewayAPI/SetLock',
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.SetLockRequest.SerializeToString,
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.SetLockResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetLock(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, '/cs3.gateway.v1beta1.GatewayAPI/GetLock',
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.GetLockRequest.SerializeToString,
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.GetLockResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def RefreshLock(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, '/cs3.gateway.v1beta1.GatewayAPI/RefreshLock',
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.RefreshLockRequest.SerializeToString,
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.RefreshLockResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def Unlock(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, '/cs3.gateway.v1beta1.GatewayAPI/Unlock',
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.UnlockRequest.SerializeToString,
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.UnlockResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateHome(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, '/cs3.gateway.v1beta1.GatewayAPI/CreateHome',
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.CreateHomeRequest.SerializeToString,
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.CreateHomeResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateStorageSpace(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, '/cs3.gateway.v1beta1.GatewayAPI/CreateStorageSpace',
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_spaces__api__pb2.CreateStorageSpaceRequest.SerializeToString,
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_spaces__api__pb2.CreateStorageSpaceResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListStorageSpaces(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, '/cs3.gateway.v1beta1.GatewayAPI/ListStorageSpaces',
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_spaces__api__pb2.ListStorageSpacesRequest.SerializeToString,
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_spaces__api__pb2.ListStorageSpacesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateStorageSpace(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, '/cs3.gateway.v1beta1.GatewayAPI/UpdateStorageSpace',
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_spaces__api__pb2.UpdateStorageSpaceRequest.SerializeToString,
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_spaces__api__pb2.UpdateStorageSpaceResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteStorageSpace(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, '/cs3.gateway.v1beta1.GatewayAPI/DeleteStorageSpace',
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_spaces__api__pb2.DeleteStorageSpaceRequest.SerializeToString,
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_spaces__api__pb2.DeleteStorageSpaceResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def OpenInApp(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, '/cs3.gateway.v1beta1.GatewayAPI/OpenInApp',
            cs3_dot_gateway_dot_v1beta1_dot_gateway__api__pb2.OpenInAppRequest.SerializeToString,
            cs3_dot_app_dot_provider_dot_v1beta1_dot_provider__api__pb2.OpenInAppResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateShare(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, '/cs3.gateway.v1beta1.GatewayAPI/CreateShare',
            cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.CreateShareRequest.SerializeToString,
            cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.CreateShareResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def RemoveShare(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, '/cs3.gateway.v1beta1.GatewayAPI/RemoveShare',
            cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.RemoveShareRequest.SerializeToString,
            cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.RemoveShareResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetShare(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, '/cs3.gateway.v1beta1.GatewayAPI/GetShare',
            cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.GetShareRequest.SerializeToString,
            cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.GetShareResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListShares(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, '/cs3.gateway.v1beta1.GatewayAPI/ListShares',
            cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.ListSharesRequest.SerializeToString,
            cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.ListSharesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListExistingShares(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, '/cs3.gateway.v1beta1.GatewayAPI/ListExistingShares',
            cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.ListSharesRequest.SerializeToString,
            cs3_dot_gateway_dot_v1beta1_dot_gateway__api__pb2.ListExistingSharesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateShare(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, '/cs3.gateway.v1beta1.GatewayAPI/UpdateShare',
            cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.UpdateShareRequest.SerializeToString,
            cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.UpdateShareResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListReceivedShares(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, '/cs3.gateway.v1beta1.GatewayAPI/ListReceivedShares',
            cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.ListReceivedSharesRequest.SerializeToString,
            cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.ListReceivedSharesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListExistingReceivedShares(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, '/cs3.gateway.v1beta1.GatewayAPI/ListExistingReceivedShares',
            cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.ListReceivedSharesRequest.SerializeToString,
            cs3_dot_gateway_dot_v1beta1_dot_gateway__api__pb2.ListExistingReceivedSharesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateReceivedShare(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, '/cs3.gateway.v1beta1.GatewayAPI/UpdateReceivedShare',
            cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.UpdateReceivedShareRequest.SerializeToString,
            cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.UpdateReceivedShareResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetReceivedShare(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, '/cs3.gateway.v1beta1.GatewayAPI/GetReceivedShare',
            cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.GetReceivedShareRequest.SerializeToString,
            cs3_dot_sharing_dot_collaboration_dot_v1beta1_dot_collaboration__api__pb2.GetReceivedShareResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetKey(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, '/cs3.gateway.v1beta1.GatewayAPI/SetKey',
            cs3_dot_preferences_dot_v1beta1_dot_preferences__api__pb2.SetKeyRequest.SerializeToString,
            cs3_dot_preferences_dot_v1beta1_dot_preferences__api__pb2.SetKeyResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetKey(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, '/cs3.gateway.v1beta1.GatewayAPI/GetKey',
            cs3_dot_preferences_dot_v1beta1_dot_preferences__api__pb2.GetKeyRequest.SerializeToString,
            cs3_dot_preferences_dot_v1beta1_dot_preferences__api__pb2.GetKeyResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreatePublicShare(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, '/cs3.gateway.v1beta1.GatewayAPI/CreatePublicShare',
            cs3_dot_sharing_dot_link_dot_v1beta1_dot_link__api__pb2.CreatePublicShareRequest.SerializeToString,
            cs3_dot_sharing_dot_link_dot_v1beta1_dot_link__api__pb2.CreatePublicShareResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def RemovePublicShare(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, '/cs3.gateway.v1beta1.GatewayAPI/RemovePublicShare',
            cs3_dot_sharing_dot_link_dot_v1beta1_dot_link__api__pb2.RemovePublicShareRequest.SerializeToString,
            cs3_dot_sharing_dot_link_dot_v1beta1_dot_link__api__pb2.RemovePublicShareResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetPublicShare(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, '/cs3.gateway.v1beta1.GatewayAPI/GetPublicShare',
            cs3_dot_sharing_dot_link_dot_v1beta1_dot_link__api__pb2.GetPublicShareRequest.SerializeToString,
            cs3_dot_sharing_dot_link_dot_v1beta1_dot_link__api__pb2.GetPublicShareResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetPublicShareByToken(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, '/cs3.gateway.v1beta1.GatewayAPI/GetPublicShareByToken',
            cs3_dot_sharing_dot_link_dot_v1beta1_dot_link__api__pb2.GetPublicShareByTokenRequest.SerializeToString,
            cs3_dot_sharing_dot_link_dot_v1beta1_dot_link__api__pb2.GetPublicShareByTokenResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListPublicShares(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, '/cs3.gateway.v1beta1.GatewayAPI/ListPublicShares',
            cs3_dot_sharing_dot_link_dot_v1beta1_dot_link__api__pb2.ListPublicSharesRequest.SerializeToString,
            cs3_dot_sharing_dot_link_dot_v1beta1_dot_link__api__pb2.ListPublicSharesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListExistingPublicShares(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, '/cs3.gateway.v1beta1.GatewayAPI/ListExistingPublicShares',
            cs3_dot_sharing_dot_link_dot_v1beta1_dot_link__api__pb2.ListPublicSharesRequest.SerializeToString,
            cs3_dot_gateway_dot_v1beta1_dot_gateway__api__pb2.ListExistingPublicSharesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdatePublicShare(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, '/cs3.gateway.v1beta1.GatewayAPI/UpdatePublicShare',
            cs3_dot_sharing_dot_link_dot_v1beta1_dot_link__api__pb2.UpdatePublicShareRequest.SerializeToString,
            cs3_dot_sharing_dot_link_dot_v1beta1_dot_link__api__pb2.UpdatePublicShareResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateOCMShare(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, '/cs3.gateway.v1beta1.GatewayAPI/CreateOCMShare',
            cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.CreateOCMShareRequest.SerializeToString,
            cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.CreateOCMShareResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def RemoveOCMShare(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, '/cs3.gateway.v1beta1.GatewayAPI/RemoveOCMShare',
            cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.RemoveOCMShareRequest.SerializeToString,
            cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.RemoveOCMShareResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetOCMShare(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, '/cs3.gateway.v1beta1.GatewayAPI/GetOCMShare',
            cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.GetOCMShareRequest.SerializeToString,
            cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.GetOCMShareResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetOCMShareByToken(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, '/cs3.gateway.v1beta1.GatewayAPI/GetOCMShareByToken',
            cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.GetOCMShareByTokenRequest.SerializeToString,
            cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.GetOCMShareByTokenResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListOCMShares(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, '/cs3.gateway.v1beta1.GatewayAPI/ListOCMShares',
            cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.ListOCMSharesRequest.SerializeToString,
            cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.ListOCMSharesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateOCMShare(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, '/cs3.gateway.v1beta1.GatewayAPI/UpdateOCMShare',
            cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.UpdateOCMShareRequest.SerializeToString,
            cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.UpdateOCMShareResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListReceivedOCMShares(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, '/cs3.gateway.v1beta1.GatewayAPI/ListReceivedOCMShares',
            cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.ListReceivedOCMSharesRequest.SerializeToString,
            cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.ListReceivedOCMSharesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateReceivedOCMShare(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, '/cs3.gateway.v1beta1.GatewayAPI/UpdateReceivedOCMShare',
            cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.UpdateReceivedOCMShareRequest.SerializeToString,
            cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.UpdateReceivedOCMShareResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetReceivedOCMShare(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, '/cs3.gateway.v1beta1.GatewayAPI/GetReceivedOCMShare',
            cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.GetReceivedOCMShareRequest.SerializeToString,
            cs3_dot_sharing_dot_ocm_dot_v1beta1_dot_ocm__api__pb2.GetReceivedOCMShareResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetAppProviders(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, '/cs3.gateway.v1beta1.GatewayAPI/GetAppProviders',
            cs3_dot_app_dot_registry_dot_v1beta1_dot_registry__api__pb2.GetAppProvidersRequest.SerializeToString,
            cs3_dot_app_dot_registry_dot_v1beta1_dot_registry__api__pb2.GetAppProvidersResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def AddAppProvider(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, '/cs3.gateway.v1beta1.GatewayAPI/AddAppProvider',
            cs3_dot_app_dot_registry_dot_v1beta1_dot_registry__api__pb2.AddAppProviderRequest.SerializeToString,
            cs3_dot_app_dot_registry_dot_v1beta1_dot_registry__api__pb2.AddAppProviderResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListAppProviders(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, '/cs3.gateway.v1beta1.GatewayAPI/ListAppProviders',
            cs3_dot_app_dot_registry_dot_v1beta1_dot_registry__api__pb2.ListAppProvidersRequest.SerializeToString,
            cs3_dot_app_dot_registry_dot_v1beta1_dot_registry__api__pb2.ListAppProvidersResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListSupportedMimeTypes(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, '/cs3.gateway.v1beta1.GatewayAPI/ListSupportedMimeTypes',
            cs3_dot_app_dot_registry_dot_v1beta1_dot_registry__api__pb2.ListSupportedMimeTypesRequest.SerializeToString,
            cs3_dot_app_dot_registry_dot_v1beta1_dot_registry__api__pb2.ListSupportedMimeTypesResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetDefaultAppProviderForMimeType(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, '/cs3.gateway.v1beta1.GatewayAPI/GetDefaultAppProviderForMimeType',
            cs3_dot_app_dot_registry_dot_v1beta1_dot_registry__api__pb2.GetDefaultAppProviderForMimeTypeRequest.SerializeToString,
            cs3_dot_app_dot_registry_dot_v1beta1_dot_registry__api__pb2.GetDefaultAppProviderForMimeTypeResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def SetDefaultAppProviderForMimeType(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, '/cs3.gateway.v1beta1.GatewayAPI/SetDefaultAppProviderForMimeType',
            cs3_dot_app_dot_registry_dot_v1beta1_dot_registry__api__pb2.SetDefaultAppProviderForMimeTypeRequest.SerializeToString,
            cs3_dot_app_dot_registry_dot_v1beta1_dot_registry__api__pb2.SetDefaultAppProviderForMimeTypeResponse.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, '/cs3.gateway.v1beta1.GatewayAPI/GetUser',
            cs3_dot_identity_dot_user_dot_v1beta1_dot_user__api__pb2.GetUserRequest.SerializeToString,
            cs3_dot_identity_dot_user_dot_v1beta1_dot_user__api__pb2.GetUserResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetUserByClaim(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, '/cs3.gateway.v1beta1.GatewayAPI/GetUserByClaim',
            cs3_dot_identity_dot_user_dot_v1beta1_dot_user__api__pb2.GetUserByClaimRequest.SerializeToString,
            cs3_dot_identity_dot_user_dot_v1beta1_dot_user__api__pb2.GetUserByClaimResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetUserGroups(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, '/cs3.gateway.v1beta1.GatewayAPI/GetUserGroups',
            cs3_dot_identity_dot_user_dot_v1beta1_dot_user__api__pb2.GetUserGroupsRequest.SerializeToString,
            cs3_dot_identity_dot_user_dot_v1beta1_dot_user__api__pb2.GetUserGroupsResponse.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, '/cs3.gateway.v1beta1.GatewayAPI/FindUsers',
            cs3_dot_identity_dot_user_dot_v1beta1_dot_user__api__pb2.FindUsersRequest.SerializeToString,
            cs3_dot_identity_dot_user_dot_v1beta1_dot_user__api__pb2.FindUsersResponse.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, '/cs3.gateway.v1beta1.GatewayAPI/GetGroup',
            cs3_dot_identity_dot_group_dot_v1beta1_dot_group__api__pb2.GetGroupRequest.SerializeToString,
            cs3_dot_identity_dot_group_dot_v1beta1_dot_group__api__pb2.GetGroupResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetGroupByClaim(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, '/cs3.gateway.v1beta1.GatewayAPI/GetGroupByClaim',
            cs3_dot_identity_dot_group_dot_v1beta1_dot_group__api__pb2.GetGroupByClaimRequest.SerializeToString,
            cs3_dot_identity_dot_group_dot_v1beta1_dot_group__api__pb2.GetGroupByClaimResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetMembers(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, '/cs3.gateway.v1beta1.GatewayAPI/GetMembers',
            cs3_dot_identity_dot_group_dot_v1beta1_dot_group__api__pb2.GetMembersRequest.SerializeToString,
            cs3_dot_identity_dot_group_dot_v1beta1_dot_group__api__pb2.GetMembersResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def HasMember(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, '/cs3.gateway.v1beta1.GatewayAPI/HasMember',
            cs3_dot_identity_dot_group_dot_v1beta1_dot_group__api__pb2.HasMemberRequest.SerializeToString,
            cs3_dot_identity_dot_group_dot_v1beta1_dot_group__api__pb2.HasMemberResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def FindGroups(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, '/cs3.gateway.v1beta1.GatewayAPI/FindGroups',
            cs3_dot_identity_dot_group_dot_v1beta1_dot_group__api__pb2.FindGroupsRequest.SerializeToString,
            cs3_dot_identity_dot_group_dot_v1beta1_dot_group__api__pb2.FindGroupsResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListAuthProviders(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, '/cs3.gateway.v1beta1.GatewayAPI/ListAuthProviders',
            cs3_dot_auth_dot_registry_dot_v1beta1_dot_registry__api__pb2.ListAuthProvidersRequest.SerializeToString,
            cs3_dot_gateway_dot_v1beta1_dot_gateway__api__pb2.ListAuthProvidersResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetHome(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, '/cs3.gateway.v1beta1.GatewayAPI/GetHome',
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.GetHomeRequest.SerializeToString,
            cs3_dot_storage_dot_provider_dot_v1beta1_dot_provider__api__pb2.GetHomeResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GenerateInviteToken(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, '/cs3.gateway.v1beta1.GatewayAPI/GenerateInviteToken',
            cs3_dot_ocm_dot_invite_dot_v1beta1_dot_invite__api__pb2.GenerateInviteTokenRequest.SerializeToString,
            cs3_dot_ocm_dot_invite_dot_v1beta1_dot_invite__api__pb2.GenerateInviteTokenResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListInviteTokens(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, '/cs3.gateway.v1beta1.GatewayAPI/ListInviteTokens',
            cs3_dot_ocm_dot_invite_dot_v1beta1_dot_invite__api__pb2.ListInviteTokensRequest.SerializeToString,
            cs3_dot_ocm_dot_invite_dot_v1beta1_dot_invite__api__pb2.ListInviteTokensResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ForwardInvite(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, '/cs3.gateway.v1beta1.GatewayAPI/ForwardInvite',
            cs3_dot_ocm_dot_invite_dot_v1beta1_dot_invite__api__pb2.ForwardInviteRequest.SerializeToString,
            cs3_dot_ocm_dot_invite_dot_v1beta1_dot_invite__api__pb2.ForwardInviteResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def AcceptInvite(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, '/cs3.gateway.v1beta1.GatewayAPI/AcceptInvite',
            cs3_dot_ocm_dot_invite_dot_v1beta1_dot_invite__api__pb2.AcceptInviteRequest.SerializeToString,
            cs3_dot_ocm_dot_invite_dot_v1beta1_dot_invite__api__pb2.AcceptInviteResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetAcceptedUser(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, '/cs3.gateway.v1beta1.GatewayAPI/GetAcceptedUser',
            cs3_dot_ocm_dot_invite_dot_v1beta1_dot_invite__api__pb2.GetAcceptedUserRequest.SerializeToString,
            cs3_dot_ocm_dot_invite_dot_v1beta1_dot_invite__api__pb2.GetAcceptedUserResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def FindAcceptedUsers(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, '/cs3.gateway.v1beta1.GatewayAPI/FindAcceptedUsers',
            cs3_dot_ocm_dot_invite_dot_v1beta1_dot_invite__api__pb2.FindAcceptedUsersRequest.SerializeToString,
            cs3_dot_ocm_dot_invite_dot_v1beta1_dot_invite__api__pb2.FindAcceptedUsersResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteAcceptedUser(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, '/cs3.gateway.v1beta1.GatewayAPI/DeleteAcceptedUser',
            cs3_dot_ocm_dot_invite_dot_v1beta1_dot_invite__api__pb2.DeleteAcceptedUserRequest.SerializeToString,
            cs3_dot_ocm_dot_invite_dot_v1beta1_dot_invite__api__pb2.DeleteAcceptedUserResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def IsProviderAllowed(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, '/cs3.gateway.v1beta1.GatewayAPI/IsProviderAllowed',
            cs3_dot_ocm_dot_provider_dot_v1beta1_dot_provider__api__pb2.IsProviderAllowedRequest.SerializeToString,
            cs3_dot_ocm_dot_provider_dot_v1beta1_dot_provider__api__pb2.IsProviderAllowedResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetInfoByDomain(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, '/cs3.gateway.v1beta1.GatewayAPI/GetInfoByDomain',
            cs3_dot_ocm_dot_provider_dot_v1beta1_dot_provider__api__pb2.GetInfoByDomainRequest.SerializeToString,
            cs3_dot_ocm_dot_provider_dot_v1beta1_dot_provider__api__pb2.GetInfoByDomainResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListAllProviders(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, '/cs3.gateway.v1beta1.GatewayAPI/ListAllProviders',
            cs3_dot_ocm_dot_provider_dot_v1beta1_dot_provider__api__pb2.ListAllProvidersRequest.SerializeToString,
            cs3_dot_ocm_dot_provider_dot_v1beta1_dot_provider__api__pb2.ListAllProvidersResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateOCMCoreShare(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, '/cs3.gateway.v1beta1.GatewayAPI/CreateOCMCoreShare',
            cs3_dot_ocm_dot_core_dot_v1beta1_dot_ocm__core__api__pb2.CreateOCMCoreShareRequest.SerializeToString,
            cs3_dot_ocm_dot_core_dot_v1beta1_dot_ocm__core__api__pb2.CreateOCMCoreShareResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def UpdateOCMCoreShare(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, '/cs3.gateway.v1beta1.GatewayAPI/UpdateOCMCoreShare',
            cs3_dot_ocm_dot_core_dot_v1beta1_dot_ocm__core__api__pb2.UpdateOCMCoreShareRequest.SerializeToString,
            cs3_dot_ocm_dot_core_dot_v1beta1_dot_ocm__core__api__pb2.UpdateOCMCoreShareResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def DeleteOCMCoreShare(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, '/cs3.gateway.v1beta1.GatewayAPI/DeleteOCMCoreShare',
            cs3_dot_ocm_dot_core_dot_v1beta1_dot_ocm__core__api__pb2.DeleteOCMCoreShareRequest.SerializeToString,
            cs3_dot_ocm_dot_core_dot_v1beta1_dot_ocm__core__api__pb2.DeleteOCMCoreShareResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CreateTransfer(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, '/cs3.gateway.v1beta1.GatewayAPI/CreateTransfer',
            cs3_dot_tx_dot_v1beta1_dot_tx__api__pb2.CreateTransferRequest.SerializeToString,
            cs3_dot_tx_dot_v1beta1_dot_tx__api__pb2.CreateTransferResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def GetTransferStatus(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, '/cs3.gateway.v1beta1.GatewayAPI/GetTransferStatus',
            cs3_dot_tx_dot_v1beta1_dot_tx__api__pb2.GetTransferStatusRequest.SerializeToString,
            cs3_dot_tx_dot_v1beta1_dot_tx__api__pb2.GetTransferStatusResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CancelTransfer(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, '/cs3.gateway.v1beta1.GatewayAPI/CancelTransfer',
            cs3_dot_tx_dot_v1beta1_dot_tx__api__pb2.CancelTransferRequest.SerializeToString,
            cs3_dot_tx_dot_v1beta1_dot_tx__api__pb2.CancelTransferResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def ListTransfers(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, '/cs3.gateway.v1beta1.GatewayAPI/ListTransfers',
            cs3_dot_tx_dot_v1beta1_dot_tx__api__pb2.ListTransfersRequest.SerializeToString,
            cs3_dot_tx_dot_v1beta1_dot_tx__api__pb2.ListTransfersResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def RetryTransfer(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, '/cs3.gateway.v1beta1.GatewayAPI/RetryTransfer',
            cs3_dot_tx_dot_v1beta1_dot_tx__api__pb2.RetryTransferRequest.SerializeToString,
            cs3_dot_tx_dot_v1beta1_dot_tx__api__pb2.RetryTransferResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)

    @staticmethod
    def CheckPermission(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, '/cs3.gateway.v1beta1.GatewayAPI/CheckPermission',
            cs3_dot_permissions_dot_v1beta1_dot_permissions__api__pb2.CheckPermissionRequest.SerializeToString,
            cs3_dot_permissions_dot_v1beta1_dot_permissions__api__pb2.CheckPermissionResponse.FromString,
            options, channel_credentials,
            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
