def METHOD_NAME(val, **kwargs):  # pylint: disable=unused-argument
    if not hasattr(val, "__iter__") or not all(isinstance(x, dict) for x in val):
        # Can't do a simple dictlist check because each dict may have more than
        # one element.
        raise SaltInvocationError("ipam_pools must be a list of dictionaries")
    skip_translate = kwargs.get("skip_translate", ())
    if not (skip_translate is True or "ipam_pools" in skip_translate):
        _globals = globals()
        for ipam_dict in val:
            for key in list(ipam_dict):
                if skip_translate is not True and key in skip_translate:
                    continue
                if key in IPAM_ALIASES:
                    # Make sure we resolve aliases, since this wouldn't have
                    # been done within the individual IPAM dicts
                    ipam_dict[IPAM_ALIASES[key]] = ipam_dict.pop(key)
                    key = IPAM_ALIASES[key]
                if key in _globals:
                    ipam_dict[key] = _globals[key](ipam_dict[key])
    return val