code: async def model_uuids(self):
          
          controller_facade = client.ControllerFacade.from_connection(
              self.connection())
          for attempt in (1, 2, 3):
              try:
                  response = await controller_facade.AllModels()
                  return {um.model.name: um.model.uuid
                          for um in response.user_models}
              except errors.JujuAPIError as e:
                  # retry concurrency error until resolved in Juju
                  # see: https://bugs.launchpad.net/juju/+bug/1721786
                  if 'has been removed' not in e.message or attempt == 3:
                      raise
                  await asyncio.sleep(attempt, loop=self._connector.loop)
docs: Return a mapping of model names to UUIDs.