There are a lot of "it depends" that prevent anyone to give a sensible
answers.
Things you don't say:
- what cloud technology you are using
- how you would normally create VMs with that technology
- how you would normally clone a VM with that technology
Generic questions get generic answers, so here is my generic advice:
assuming you know how to do that manually:
- create a list of actions that you would do manually
- make one bundle agent for each action (each bundle should implement
exactly ONE action); if one of the bundles needs to "signal" a certain
condition to other bundles, make the relevant promises in that bundle
set global classes (e.g.: using the classes clause);
- make a "super" bundle agent that will call each of the bundles you
built at the previous step; if any of the sub-bundles should be called
only if a certain condition applies, set the appropriate class condition
for it.
Good luck
Ciao
-- bronto