It looks like `password` and `ssh` argument are mutually exclusive the way it's currently implemented. It would be good to document that and throw if both arguments are provided.