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

from mgmt.v1alpha1 import user_account_pb2 as mgmt_dot_v1alpha1_dot_user__account__pb2


class UserAccountServiceStub(object):
    """Service that manages users, accounts, and billing
    """

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

        Args:
            channel: A grpc.Channel.
        """
        self.GetUser = channel.unary_unary(
                '/mgmt.v1alpha1.UserAccountService/GetUser',
                request_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.GetUserRequest.SerializeToString,
                response_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.GetUserResponse.FromString,
                _registered_method=True)
        self.SetUser = channel.unary_unary(
                '/mgmt.v1alpha1.UserAccountService/SetUser',
                request_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.SetUserRequest.SerializeToString,
                response_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.SetUserResponse.FromString,
                _registered_method=True)
        self.GetUserAccounts = channel.unary_unary(
                '/mgmt.v1alpha1.UserAccountService/GetUserAccounts',
                request_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.GetUserAccountsRequest.SerializeToString,
                response_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.GetUserAccountsResponse.FromString,
                _registered_method=True)
        self.SetPersonalAccount = channel.unary_unary(
                '/mgmt.v1alpha1.UserAccountService/SetPersonalAccount',
                request_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.SetPersonalAccountRequest.SerializeToString,
                response_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.SetPersonalAccountResponse.FromString,
                _registered_method=True)
        self.ConvertPersonalToTeamAccount = channel.unary_unary(
                '/mgmt.v1alpha1.UserAccountService/ConvertPersonalToTeamAccount',
                request_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.ConvertPersonalToTeamAccountRequest.SerializeToString,
                response_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.ConvertPersonalToTeamAccountResponse.FromString,
                _registered_method=True)
        self.CreateTeamAccount = channel.unary_unary(
                '/mgmt.v1alpha1.UserAccountService/CreateTeamAccount',
                request_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.CreateTeamAccountRequest.SerializeToString,
                response_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.CreateTeamAccountResponse.FromString,
                _registered_method=True)
        self.IsUserInAccount = channel.unary_unary(
                '/mgmt.v1alpha1.UserAccountService/IsUserInAccount',
                request_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.IsUserInAccountRequest.SerializeToString,
                response_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.IsUserInAccountResponse.FromString,
                _registered_method=True)
        self.GetAccountTemporalConfig = channel.unary_unary(
                '/mgmt.v1alpha1.UserAccountService/GetAccountTemporalConfig',
                request_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.GetAccountTemporalConfigRequest.SerializeToString,
                response_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.GetAccountTemporalConfigResponse.FromString,
                _registered_method=True)
        self.SetAccountTemporalConfig = channel.unary_unary(
                '/mgmt.v1alpha1.UserAccountService/SetAccountTemporalConfig',
                request_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.SetAccountTemporalConfigRequest.SerializeToString,
                response_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.SetAccountTemporalConfigResponse.FromString,
                _registered_method=True)
        self.GetTeamAccountMembers = channel.unary_unary(
                '/mgmt.v1alpha1.UserAccountService/GetTeamAccountMembers',
                request_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.GetTeamAccountMembersRequest.SerializeToString,
                response_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.GetTeamAccountMembersResponse.FromString,
                _registered_method=True)
        self.RemoveTeamAccountMember = channel.unary_unary(
                '/mgmt.v1alpha1.UserAccountService/RemoveTeamAccountMember',
                request_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.RemoveTeamAccountMemberRequest.SerializeToString,
                response_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.RemoveTeamAccountMemberResponse.FromString,
                _registered_method=True)
        self.InviteUserToTeamAccount = channel.unary_unary(
                '/mgmt.v1alpha1.UserAccountService/InviteUserToTeamAccount',
                request_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.InviteUserToTeamAccountRequest.SerializeToString,
                response_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.InviteUserToTeamAccountResponse.FromString,
                _registered_method=True)
        self.GetTeamAccountInvites = channel.unary_unary(
                '/mgmt.v1alpha1.UserAccountService/GetTeamAccountInvites',
                request_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.GetTeamAccountInvitesRequest.SerializeToString,
                response_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.GetTeamAccountInvitesResponse.FromString,
                _registered_method=True)
        self.RemoveTeamAccountInvite = channel.unary_unary(
                '/mgmt.v1alpha1.UserAccountService/RemoveTeamAccountInvite',
                request_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.RemoveTeamAccountInviteRequest.SerializeToString,
                response_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.RemoveTeamAccountInviteResponse.FromString,
                _registered_method=True)
        self.AcceptTeamAccountInvite = channel.unary_unary(
                '/mgmt.v1alpha1.UserAccountService/AcceptTeamAccountInvite',
                request_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.AcceptTeamAccountInviteRequest.SerializeToString,
                response_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.AcceptTeamAccountInviteResponse.FromString,
                _registered_method=True)
        self.GetSystemInformation = channel.unary_unary(
                '/mgmt.v1alpha1.UserAccountService/GetSystemInformation',
                request_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.GetSystemInformationRequest.SerializeToString,
                response_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.GetSystemInformationResponse.FromString,
                _registered_method=True)
        self.GetAccountOnboardingConfig = channel.unary_unary(
                '/mgmt.v1alpha1.UserAccountService/GetAccountOnboardingConfig',
                request_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.GetAccountOnboardingConfigRequest.SerializeToString,
                response_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.GetAccountOnboardingConfigResponse.FromString,
                _registered_method=True)
        self.SetAccountOnboardingConfig = channel.unary_unary(
                '/mgmt.v1alpha1.UserAccountService/SetAccountOnboardingConfig',
                request_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.SetAccountOnboardingConfigRequest.SerializeToString,
                response_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.SetAccountOnboardingConfigResponse.FromString,
                _registered_method=True)
        self.GetAccountStatus = channel.unary_unary(
                '/mgmt.v1alpha1.UserAccountService/GetAccountStatus',
                request_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.GetAccountStatusRequest.SerializeToString,
                response_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.GetAccountStatusResponse.FromString,
                _registered_method=True)
        self.IsAccountStatusValid = channel.unary_unary(
                '/mgmt.v1alpha1.UserAccountService/IsAccountStatusValid',
                request_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.IsAccountStatusValidRequest.SerializeToString,
                response_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.IsAccountStatusValidResponse.FromString,
                _registered_method=True)
        self.GetAccountBillingCheckoutSession = channel.unary_unary(
                '/mgmt.v1alpha1.UserAccountService/GetAccountBillingCheckoutSession',
                request_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.GetAccountBillingCheckoutSessionRequest.SerializeToString,
                response_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.GetAccountBillingCheckoutSessionResponse.FromString,
                _registered_method=True)
        self.GetAccountBillingPortalSession = channel.unary_unary(
                '/mgmt.v1alpha1.UserAccountService/GetAccountBillingPortalSession',
                request_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.GetAccountBillingPortalSessionRequest.SerializeToString,
                response_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.GetAccountBillingPortalSessionResponse.FromString,
                _registered_method=True)
        self.GetBillingAccounts = channel.unary_unary(
                '/mgmt.v1alpha1.UserAccountService/GetBillingAccounts',
                request_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.GetBillingAccountsRequest.SerializeToString,
                response_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.GetBillingAccountsResponse.FromString,
                _registered_method=True)
        self.SetBillingMeterEvent = channel.unary_unary(
                '/mgmt.v1alpha1.UserAccountService/SetBillingMeterEvent',
                request_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.SetBillingMeterEventRequest.SerializeToString,
                response_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.SetBillingMeterEventResponse.FromString,
                _registered_method=True)
        self.SetUserRole = channel.unary_unary(
                '/mgmt.v1alpha1.UserAccountService/SetUserRole',
                request_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.SetUserRoleRequest.SerializeToString,
                response_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.SetUserRoleResponse.FromString,
                _registered_method=True)
        self.HasPermission = channel.unary_unary(
                '/mgmt.v1alpha1.UserAccountService/HasPermission',
                request_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.HasPermissionRequest.SerializeToString,
                response_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.HasPermissionResponse.FromString,
                _registered_method=True)
        self.HasPermissions = channel.unary_unary(
                '/mgmt.v1alpha1.UserAccountService/HasPermissions',
                request_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.HasPermissionsRequest.SerializeToString,
                response_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.HasPermissionsResponse.FromString,
                _registered_method=True)


class UserAccountServiceServicer(object):
    """Service that manages users, accounts, and billing
    """

    def GetUser(self, request, context):
        """Retrieves the current user.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SetUser(self, request, context):
        """Sets the current user.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetUserAccounts(self, request, context):
        """Retrieves the list of accounts that the user belongs to.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SetPersonalAccount(self, request, context):
        """Sets the current personal account.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def ConvertPersonalToTeamAccount(self, request, context):
        """Convert a personal account to a team account retaining all of the jobs and connections. This will also create a new empty personal account.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

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

    def IsUserInAccount(self, request, context):
        """Checks if the user is in the account.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetAccountTemporalConfig(self, request, context):
        """Retrieves the temporal config for the account.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SetAccountTemporalConfig(self, request, context):
        """Sets the temporal config for the account.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetTeamAccountMembers(self, request, context):
        """Retrieves the list of members in the team account.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def RemoveTeamAccountMember(self, request, context):
        """Removes a member from the team account.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def InviteUserToTeamAccount(self, request, context):
        """Invites a user to the team account.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetTeamAccountInvites(self, request, context):
        """Retrieves the list of invites for the team account.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def RemoveTeamAccountInvite(self, request, context):
        """Removes an invite from the team account.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def AcceptTeamAccountInvite(self, request, context):
        """Accepts an invite to the team account.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetSystemInformation(self, request, context):
        """Retrieves the system information.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetAccountOnboardingConfig(self, request, context):
        """Retrieves the onboarding config for the account.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SetAccountOnboardingConfig(self, request, context):
        """Sets the onboarding config for the account.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetAccountStatus(self, request, context):
        """Returns different metrics on the account status for the active billing period
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def IsAccountStatusValid(self, request, context):
        """Distils the account status down to whether not it is in a valid state.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetAccountBillingCheckoutSession(self, request, context):
        """Returns a new checkout session for the account to subscribe
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetAccountBillingPortalSession(self, request, context):
        """Returns a new billing portal session if the account has a billing customer id
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def GetBillingAccounts(self, request, context):
        """Returns user accounts that have a billing id.
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SetBillingMeterEvent(self, request, context):
        """Sends a new metered event to the billing system
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def SetUserRole(self, request, context):
        """Sets the users role
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def HasPermission(self, request, context):
        """Checks if the user has the given permission
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')

    def HasPermissions(self, request, context):
        """Bulk check if a user has the given permissions
        """
        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
        context.set_details('Method not implemented!')
        raise NotImplementedError('Method not implemented!')


def add_UserAccountServiceServicer_to_server(servicer, server):
    rpc_method_handlers = {
            'GetUser': grpc.unary_unary_rpc_method_handler(
                    servicer.GetUser,
                    request_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.GetUserRequest.FromString,
                    response_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.GetUserResponse.SerializeToString,
            ),
            'SetUser': grpc.unary_unary_rpc_method_handler(
                    servicer.SetUser,
                    request_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.SetUserRequest.FromString,
                    response_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.SetUserResponse.SerializeToString,
            ),
            'GetUserAccounts': grpc.unary_unary_rpc_method_handler(
                    servicer.GetUserAccounts,
                    request_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.GetUserAccountsRequest.FromString,
                    response_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.GetUserAccountsResponse.SerializeToString,
            ),
            'SetPersonalAccount': grpc.unary_unary_rpc_method_handler(
                    servicer.SetPersonalAccount,
                    request_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.SetPersonalAccountRequest.FromString,
                    response_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.SetPersonalAccountResponse.SerializeToString,
            ),
            'ConvertPersonalToTeamAccount': grpc.unary_unary_rpc_method_handler(
                    servicer.ConvertPersonalToTeamAccount,
                    request_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.ConvertPersonalToTeamAccountRequest.FromString,
                    response_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.ConvertPersonalToTeamAccountResponse.SerializeToString,
            ),
            'CreateTeamAccount': grpc.unary_unary_rpc_method_handler(
                    servicer.CreateTeamAccount,
                    request_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.CreateTeamAccountRequest.FromString,
                    response_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.CreateTeamAccountResponse.SerializeToString,
            ),
            'IsUserInAccount': grpc.unary_unary_rpc_method_handler(
                    servicer.IsUserInAccount,
                    request_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.IsUserInAccountRequest.FromString,
                    response_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.IsUserInAccountResponse.SerializeToString,
            ),
            'GetAccountTemporalConfig': grpc.unary_unary_rpc_method_handler(
                    servicer.GetAccountTemporalConfig,
                    request_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.GetAccountTemporalConfigRequest.FromString,
                    response_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.GetAccountTemporalConfigResponse.SerializeToString,
            ),
            'SetAccountTemporalConfig': grpc.unary_unary_rpc_method_handler(
                    servicer.SetAccountTemporalConfig,
                    request_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.SetAccountTemporalConfigRequest.FromString,
                    response_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.SetAccountTemporalConfigResponse.SerializeToString,
            ),
            'GetTeamAccountMembers': grpc.unary_unary_rpc_method_handler(
                    servicer.GetTeamAccountMembers,
                    request_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.GetTeamAccountMembersRequest.FromString,
                    response_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.GetTeamAccountMembersResponse.SerializeToString,
            ),
            'RemoveTeamAccountMember': grpc.unary_unary_rpc_method_handler(
                    servicer.RemoveTeamAccountMember,
                    request_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.RemoveTeamAccountMemberRequest.FromString,
                    response_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.RemoveTeamAccountMemberResponse.SerializeToString,
            ),
            'InviteUserToTeamAccount': grpc.unary_unary_rpc_method_handler(
                    servicer.InviteUserToTeamAccount,
                    request_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.InviteUserToTeamAccountRequest.FromString,
                    response_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.InviteUserToTeamAccountResponse.SerializeToString,
            ),
            'GetTeamAccountInvites': grpc.unary_unary_rpc_method_handler(
                    servicer.GetTeamAccountInvites,
                    request_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.GetTeamAccountInvitesRequest.FromString,
                    response_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.GetTeamAccountInvitesResponse.SerializeToString,
            ),
            'RemoveTeamAccountInvite': grpc.unary_unary_rpc_method_handler(
                    servicer.RemoveTeamAccountInvite,
                    request_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.RemoveTeamAccountInviteRequest.FromString,
                    response_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.RemoveTeamAccountInviteResponse.SerializeToString,
            ),
            'AcceptTeamAccountInvite': grpc.unary_unary_rpc_method_handler(
                    servicer.AcceptTeamAccountInvite,
                    request_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.AcceptTeamAccountInviteRequest.FromString,
                    response_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.AcceptTeamAccountInviteResponse.SerializeToString,
            ),
            'GetSystemInformation': grpc.unary_unary_rpc_method_handler(
                    servicer.GetSystemInformation,
                    request_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.GetSystemInformationRequest.FromString,
                    response_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.GetSystemInformationResponse.SerializeToString,
            ),
            'GetAccountOnboardingConfig': grpc.unary_unary_rpc_method_handler(
                    servicer.GetAccountOnboardingConfig,
                    request_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.GetAccountOnboardingConfigRequest.FromString,
                    response_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.GetAccountOnboardingConfigResponse.SerializeToString,
            ),
            'SetAccountOnboardingConfig': grpc.unary_unary_rpc_method_handler(
                    servicer.SetAccountOnboardingConfig,
                    request_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.SetAccountOnboardingConfigRequest.FromString,
                    response_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.SetAccountOnboardingConfigResponse.SerializeToString,
            ),
            'GetAccountStatus': grpc.unary_unary_rpc_method_handler(
                    servicer.GetAccountStatus,
                    request_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.GetAccountStatusRequest.FromString,
                    response_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.GetAccountStatusResponse.SerializeToString,
            ),
            'IsAccountStatusValid': grpc.unary_unary_rpc_method_handler(
                    servicer.IsAccountStatusValid,
                    request_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.IsAccountStatusValidRequest.FromString,
                    response_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.IsAccountStatusValidResponse.SerializeToString,
            ),
            'GetAccountBillingCheckoutSession': grpc.unary_unary_rpc_method_handler(
                    servicer.GetAccountBillingCheckoutSession,
                    request_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.GetAccountBillingCheckoutSessionRequest.FromString,
                    response_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.GetAccountBillingCheckoutSessionResponse.SerializeToString,
            ),
            'GetAccountBillingPortalSession': grpc.unary_unary_rpc_method_handler(
                    servicer.GetAccountBillingPortalSession,
                    request_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.GetAccountBillingPortalSessionRequest.FromString,
                    response_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.GetAccountBillingPortalSessionResponse.SerializeToString,
            ),
            'GetBillingAccounts': grpc.unary_unary_rpc_method_handler(
                    servicer.GetBillingAccounts,
                    request_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.GetBillingAccountsRequest.FromString,
                    response_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.GetBillingAccountsResponse.SerializeToString,
            ),
            'SetBillingMeterEvent': grpc.unary_unary_rpc_method_handler(
                    servicer.SetBillingMeterEvent,
                    request_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.SetBillingMeterEventRequest.FromString,
                    response_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.SetBillingMeterEventResponse.SerializeToString,
            ),
            'SetUserRole': grpc.unary_unary_rpc_method_handler(
                    servicer.SetUserRole,
                    request_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.SetUserRoleRequest.FromString,
                    response_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.SetUserRoleResponse.SerializeToString,
            ),
            'HasPermission': grpc.unary_unary_rpc_method_handler(
                    servicer.HasPermission,
                    request_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.HasPermissionRequest.FromString,
                    response_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.HasPermissionResponse.SerializeToString,
            ),
            'HasPermissions': grpc.unary_unary_rpc_method_handler(
                    servicer.HasPermissions,
                    request_deserializer=mgmt_dot_v1alpha1_dot_user__account__pb2.HasPermissionsRequest.FromString,
                    response_serializer=mgmt_dot_v1alpha1_dot_user__account__pb2.HasPermissionsResponse.SerializeToString,
            ),
    }
    generic_handler = grpc.method_handlers_generic_handler(
            'mgmt.v1alpha1.UserAccountService', rpc_method_handlers)
    server.add_generic_rpc_handlers((generic_handler,))
    server.add_registered_method_handlers('mgmt.v1alpha1.UserAccountService', rpc_method_handlers)


 # This class is part of an EXPERIMENTAL API.
class UserAccountService(object):
    """Service that manages users, accounts, and billing
    """

    @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,
            '/mgmt.v1alpha1.UserAccountService/GetUser',
            mgmt_dot_v1alpha1_dot_user__account__pb2.GetUserRequest.SerializeToString,
            mgmt_dot_v1alpha1_dot_user__account__pb2.GetUserResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def SetUser(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,
            '/mgmt.v1alpha1.UserAccountService/SetUser',
            mgmt_dot_v1alpha1_dot_user__account__pb2.SetUserRequest.SerializeToString,
            mgmt_dot_v1alpha1_dot_user__account__pb2.SetUserResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetUserAccounts(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,
            '/mgmt.v1alpha1.UserAccountService/GetUserAccounts',
            mgmt_dot_v1alpha1_dot_user__account__pb2.GetUserAccountsRequest.SerializeToString,
            mgmt_dot_v1alpha1_dot_user__account__pb2.GetUserAccountsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def SetPersonalAccount(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,
            '/mgmt.v1alpha1.UserAccountService/SetPersonalAccount',
            mgmt_dot_v1alpha1_dot_user__account__pb2.SetPersonalAccountRequest.SerializeToString,
            mgmt_dot_v1alpha1_dot_user__account__pb2.SetPersonalAccountResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def ConvertPersonalToTeamAccount(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,
            '/mgmt.v1alpha1.UserAccountService/ConvertPersonalToTeamAccount',
            mgmt_dot_v1alpha1_dot_user__account__pb2.ConvertPersonalToTeamAccountRequest.SerializeToString,
            mgmt_dot_v1alpha1_dot_user__account__pb2.ConvertPersonalToTeamAccountResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def CreateTeamAccount(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,
            '/mgmt.v1alpha1.UserAccountService/CreateTeamAccount',
            mgmt_dot_v1alpha1_dot_user__account__pb2.CreateTeamAccountRequest.SerializeToString,
            mgmt_dot_v1alpha1_dot_user__account__pb2.CreateTeamAccountResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def IsUserInAccount(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,
            '/mgmt.v1alpha1.UserAccountService/IsUserInAccount',
            mgmt_dot_v1alpha1_dot_user__account__pb2.IsUserInAccountRequest.SerializeToString,
            mgmt_dot_v1alpha1_dot_user__account__pb2.IsUserInAccountResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetAccountTemporalConfig(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,
            '/mgmt.v1alpha1.UserAccountService/GetAccountTemporalConfig',
            mgmt_dot_v1alpha1_dot_user__account__pb2.GetAccountTemporalConfigRequest.SerializeToString,
            mgmt_dot_v1alpha1_dot_user__account__pb2.GetAccountTemporalConfigResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def SetAccountTemporalConfig(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,
            '/mgmt.v1alpha1.UserAccountService/SetAccountTemporalConfig',
            mgmt_dot_v1alpha1_dot_user__account__pb2.SetAccountTemporalConfigRequest.SerializeToString,
            mgmt_dot_v1alpha1_dot_user__account__pb2.SetAccountTemporalConfigResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetTeamAccountMembers(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,
            '/mgmt.v1alpha1.UserAccountService/GetTeamAccountMembers',
            mgmt_dot_v1alpha1_dot_user__account__pb2.GetTeamAccountMembersRequest.SerializeToString,
            mgmt_dot_v1alpha1_dot_user__account__pb2.GetTeamAccountMembersResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def RemoveTeamAccountMember(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,
            '/mgmt.v1alpha1.UserAccountService/RemoveTeamAccountMember',
            mgmt_dot_v1alpha1_dot_user__account__pb2.RemoveTeamAccountMemberRequest.SerializeToString,
            mgmt_dot_v1alpha1_dot_user__account__pb2.RemoveTeamAccountMemberResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def InviteUserToTeamAccount(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,
            '/mgmt.v1alpha1.UserAccountService/InviteUserToTeamAccount',
            mgmt_dot_v1alpha1_dot_user__account__pb2.InviteUserToTeamAccountRequest.SerializeToString,
            mgmt_dot_v1alpha1_dot_user__account__pb2.InviteUserToTeamAccountResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetTeamAccountInvites(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,
            '/mgmt.v1alpha1.UserAccountService/GetTeamAccountInvites',
            mgmt_dot_v1alpha1_dot_user__account__pb2.GetTeamAccountInvitesRequest.SerializeToString,
            mgmt_dot_v1alpha1_dot_user__account__pb2.GetTeamAccountInvitesResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def RemoveTeamAccountInvite(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,
            '/mgmt.v1alpha1.UserAccountService/RemoveTeamAccountInvite',
            mgmt_dot_v1alpha1_dot_user__account__pb2.RemoveTeamAccountInviteRequest.SerializeToString,
            mgmt_dot_v1alpha1_dot_user__account__pb2.RemoveTeamAccountInviteResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def AcceptTeamAccountInvite(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,
            '/mgmt.v1alpha1.UserAccountService/AcceptTeamAccountInvite',
            mgmt_dot_v1alpha1_dot_user__account__pb2.AcceptTeamAccountInviteRequest.SerializeToString,
            mgmt_dot_v1alpha1_dot_user__account__pb2.AcceptTeamAccountInviteResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetSystemInformation(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,
            '/mgmt.v1alpha1.UserAccountService/GetSystemInformation',
            mgmt_dot_v1alpha1_dot_user__account__pb2.GetSystemInformationRequest.SerializeToString,
            mgmt_dot_v1alpha1_dot_user__account__pb2.GetSystemInformationResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetAccountOnboardingConfig(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,
            '/mgmt.v1alpha1.UserAccountService/GetAccountOnboardingConfig',
            mgmt_dot_v1alpha1_dot_user__account__pb2.GetAccountOnboardingConfigRequest.SerializeToString,
            mgmt_dot_v1alpha1_dot_user__account__pb2.GetAccountOnboardingConfigResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def SetAccountOnboardingConfig(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,
            '/mgmt.v1alpha1.UserAccountService/SetAccountOnboardingConfig',
            mgmt_dot_v1alpha1_dot_user__account__pb2.SetAccountOnboardingConfigRequest.SerializeToString,
            mgmt_dot_v1alpha1_dot_user__account__pb2.SetAccountOnboardingConfigResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetAccountStatus(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,
            '/mgmt.v1alpha1.UserAccountService/GetAccountStatus',
            mgmt_dot_v1alpha1_dot_user__account__pb2.GetAccountStatusRequest.SerializeToString,
            mgmt_dot_v1alpha1_dot_user__account__pb2.GetAccountStatusResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def IsAccountStatusValid(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,
            '/mgmt.v1alpha1.UserAccountService/IsAccountStatusValid',
            mgmt_dot_v1alpha1_dot_user__account__pb2.IsAccountStatusValidRequest.SerializeToString,
            mgmt_dot_v1alpha1_dot_user__account__pb2.IsAccountStatusValidResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetAccountBillingCheckoutSession(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,
            '/mgmt.v1alpha1.UserAccountService/GetAccountBillingCheckoutSession',
            mgmt_dot_v1alpha1_dot_user__account__pb2.GetAccountBillingCheckoutSessionRequest.SerializeToString,
            mgmt_dot_v1alpha1_dot_user__account__pb2.GetAccountBillingCheckoutSessionResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetAccountBillingPortalSession(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,
            '/mgmt.v1alpha1.UserAccountService/GetAccountBillingPortalSession',
            mgmt_dot_v1alpha1_dot_user__account__pb2.GetAccountBillingPortalSessionRequest.SerializeToString,
            mgmt_dot_v1alpha1_dot_user__account__pb2.GetAccountBillingPortalSessionResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def GetBillingAccounts(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,
            '/mgmt.v1alpha1.UserAccountService/GetBillingAccounts',
            mgmt_dot_v1alpha1_dot_user__account__pb2.GetBillingAccountsRequest.SerializeToString,
            mgmt_dot_v1alpha1_dot_user__account__pb2.GetBillingAccountsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def SetBillingMeterEvent(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,
            '/mgmt.v1alpha1.UserAccountService/SetBillingMeterEvent',
            mgmt_dot_v1alpha1_dot_user__account__pb2.SetBillingMeterEventRequest.SerializeToString,
            mgmt_dot_v1alpha1_dot_user__account__pb2.SetBillingMeterEventResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def SetUserRole(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,
            '/mgmt.v1alpha1.UserAccountService/SetUserRole',
            mgmt_dot_v1alpha1_dot_user__account__pb2.SetUserRoleRequest.SerializeToString,
            mgmt_dot_v1alpha1_dot_user__account__pb2.SetUserRoleResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def HasPermission(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,
            '/mgmt.v1alpha1.UserAccountService/HasPermission',
            mgmt_dot_v1alpha1_dot_user__account__pb2.HasPermissionRequest.SerializeToString,
            mgmt_dot_v1alpha1_dot_user__account__pb2.HasPermissionResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)

    @staticmethod
    def HasPermissions(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,
            '/mgmt.v1alpha1.UserAccountService/HasPermissions',
            mgmt_dot_v1alpha1_dot_user__account__pb2.HasPermissionsRequest.SerializeToString,
            mgmt_dot_v1alpha1_dot_user__account__pb2.HasPermissionsResponse.FromString,
            options,
            channel_credentials,
            insecure,
            call_credentials,
            compression,
            wait_for_ready,
            timeout,
            metadata,
            _registered_method=True)
