Add support for URL based volumes.

If the API looks ok, I will add it to the other API files.

thanks
--brendan
Do any of these need to be public?