':param destination:
:param message_id:
:param consent:
:param extensions:
:param sign:
:param name_id:
:param new_id:
:param encrypted_id:
:param new_encrypted_id:
:param terminate:
:return:'

def create_manage_name_id_request(self, destination, message_id=0, consent=None, extensions=None, sign=False, name_id=None, new_id=None, encrypted_id=None, new_encrypted_id=None, terminate=None):

    kwargs = self.message_args(message_id)
    if name_id:
        kwargs['name_id'] = name_id
    elif encrypted_id:
        kwargs['encrypted_id'] = encrypted_id
    else:
        raise AttributeError('One    of    NameID    or    EncryptedNameID    has    to    be    provided')
    if new_id:
        kwargs['new_id'] = new_id
    elif new_encrypted_id:
        kwargs['new_encrypted_id'] = new_encrypted_id
    elif terminate:
        kwargs['terminate'] = terminate
    else:
        raise AttributeError('One    of    NewID,    NewEncryptedNameID    or    Terminate    has    to    be    provided')
    return self._message(ManageNameIDRequest, destination, consent=consent, extensions=extensions, sign=sign, **kwargs)
