code: def _get_flavor_ref(self, flavor):
          
          flavor_obj = None
          if isinstance(flavor, CloudDatabaseFlavor):
              flavor_obj = flavor
          elif isinstance(flavor, int):
              # They passed an ID or a size
              try:
                  flavor_obj = self.get_flavor(flavor)
              except exc.NotFound:
                  # Must be either a size or bad ID, which will
                  # be handled below
                  pass
          if flavor_obj is None:
              # Try flavor name
              flavors = self.list_flavors()
              try:
                  flavor_obj = [flav for flav in flavors
                          if flav.name == flavor][0]
              except IndexError:
                  # No such name; try matching RAM
                  try:
                      flavor_obj = [flav for flav in flavors
                              if flav.ram == flavor][0]
                  except IndexError:
                      raise exc.FlavorNotFound("Could not determine flavor from "
                              "'%s'." % flavor)
          # OK, we have a Flavor object. Get the href
          href = [link["href"] for link in flavor_obj.links
                  if link["rel"] == "self"][0]
          return href
docs: Flavors are odd in that the API expects an href link, not an ID, as with
          nearly every other resource. This method takes either a
          CloudDatabaseFlavor object, a flavor ID, a RAM size, or a flavor name,
          and uses that to determine the appropriate href.