There is really something I want to understand: why do you want to have something 100% generic, that works for ALL cloud systems? It doesn't make sense to force something that just cannot work on the long term. In the code I'm running, I put those things at the level of the Image, not in some config sub section, definitly not in the contextualization options. Simply because an image is for a running pod and only one. If I want another running pod with a different cloudDriver using the same options, I'd copy the section, change what is needed, and that's it. I don't think it makes any sense to try to enforce absolute generality. It's a fun idea, but really not going to work: If I decide to create my cloud system were I don't allow ssh connections because I develop my own connection protocol, the ssh_key will never be a good option.