If you look under
/home/david/.platformio/packages/framework-mbed/platformio/variants, you will see that there is a folder for each of the supported boards. These folders are generated by platformio.
If you follow the instructions in the
README.txt, you should be able to regenerate all of these folders (haven't tried it myself). It seems that you will first need to enter details of your board into
/home/david/.platformio/packages/framework-mbed/targets.json. I think that this file lists all the boards officially supported by mbed.
Assuming that this approach works, be aware that your manual changes may get overwritten when platformio updates its mbed package. Is there any reason why you don't want to just specify the disco_f407vg if that works fine?