def migrate_keys(from_dict, to_dict, key_list):
    """Migrate keys from one component to another that are not in a list
    of predefined keys.

    Args:
         from_dict (dict): Component dictionary to migrate keys from.
         to_dict (dict): List of component dictionaries to migrate keys to.
         key_list (list): List of allowable keys for the original component.
             All keys in the original that are not in this list will be moved.

    """
    assert isinstance(to_dict, list)
    if len(to_dict) == 0:
        return
    klist = list(from_dict.keys())
    for k in klist:
        if k not in key_list:
            v = from_dict.pop(k)
            for d in to_dict:
                d.setdefault(k, v)
