def METHOD_NAME(model_class, model_dict: Mapping[str, Any]):
    check.mapping_param(model_dict, "model_dict")
    expected_keys = set(model_class.attribute_map.keys())
    invalid_keys = set(model_dict).difference(expected_keys)
    if len(invalid_keys):
        raise Exception(f"Unexpected keys in model class {model_class.__name__}: {invalid_keys}")
    kwargs = {}
    for attr, attr_type in model_class.openapi_types.items():
        # e.g. config_map => configMap
        if attr in model_dict:
            value = model_dict[attr]
            kwargs[attr] = _k8s_parse_value(value, attr_type, attr)
    return model_class(**kwargs)