There is an issue https://issues.apache.org/jira/browse/CLOUDSTACK-645 to add/remove a network on VM.
I would like to alter the interface proposed so we instead add methods to explicitly create/destroy a NIC and attach/detach it from a VM - the feature would then be directly analogous to the AWS Elastic Network Interface. I am a newcomer to CloudStack development, but I would be happy to take on some work in this area (write feature spec, implement API methods etc.) to build upon the work contributed by Marcus and team - from what I can see from CLOUDSTACK-645 much of the required functionality is already in place; I am just suggesting we expose it in a slightly different way... Regards Simon