We need to create many virtual machines and assign an static ip for each of them.
To do this,
1. we can use one dhcp server to assign ip for them, and bind the MAC to it's ip. But we got many many machines, so this is not easy to operate for admins.
2. we can just create the vm and then let the client to config the ip from within the operating system. But the client don't want to, and sometimes in fact they should not be authorized to do that.

Are there any way else to do this? I mean is there some API for that we can use? or just mount the vm image file and change the network configuration file?
If any API for that, can we change the config while the os in the vm is running?

Thanks, any help is appreciated.