list-clouds is a lovely feature, but I think we have overcooked lxd, maas and manual.
maas is a type not a cloud. I would expect MAAS clouds to show up in list-clouds only if they have been defined in clouds.yaml, and then they would show up in their name. At some stage I would expect the ability to have MAAS clouds with multiple regions (think canonical/london and canonical/boston). But I definitely don't expect a 'generic' maas cloud to be in list-clouds until I define them, and then they are named local:foo
lxd is also a type of cloud. I think we can have a pre-defined lxd cloud called localhost though, with a single default region 'localhost'. So this would show up as type lxd, cloud localhost, region localhost. In future I expect we can define lxd clouds called foo, with regions corresponding to hosts that share the same lxd API credentials (each host being a 'region'). That would let me make a multi-region cloud out of a small set of servers and test / demo multi-region deployments that way.
manual is NOT a cloud and shouldn't be in the list. If we really want a reference to it, then we could add text like this after the listing:
Unsupported cloud types can still be used with the manual provider in Juju, see URL.
Fix against master: https:/ /github. com/juju/ juju/pull/ 5134
I have not explicitly called out manual as a cloud type as there are other cloud types that juju defines but they do not have public or built-in clouds.
Maybe we consider having a list-cloud-type command or have a flag for list-clouds that lists all cloud types that have not come up as types in cloud-list?...