code: def avail_locations(call=None):
      '''
      List all available locations
      '''
      if call == 'action':
          raise SaltCloudSystemExit(
              'The avail_locations function must be called with '
              '-f or --function, or with the --list-locations option'
          )
  
      ret = {}
      for key in JOYENT_LOCATIONS:
          ret[key] = {
              'name': key,
              'region': JOYENT_LOCATIONS[key]
          }
  
      # this can be enabled when the bug in the joyent get data centers call is
      # corrected, currently only the European dc (new api) returns the correct
      # values
      # ret = {}
      # rcode, datacenters = query(
      #     command='my/datacenters', location=DEFAULT_LOCATION, method='GET'
      # )
      # if rcode in VALID_RESPONSE_CODES and isinstance(datacenters, dict):
      #     for key in datacenters:
      #     ret[key] = {
      #         'name': key,
      #         'url': datacenters[key]
      #     }
      return ref avail_locations(call=None):
      '''
      List all available locations
      '''
      if call == 'action':
          raise SaltCloudSystemExit(
              'The avail_locations function must be called with '
              '-f or --function, or with the --list-locations option'
          )
  
      ret = {}
      for key in JOYENT_LOCATIONS:
          ret[key] = {
              'name': key,
              'region': JOYENT_LOCATIONS[key]
          }
  
      # this can be enabled when the bug in the joyent get data centers call is
      # corrected, currently only the European dc (new api) returns the correct
      # values
      # ret = {}
      # rcode, datacenters = query(
      #     command='my/datacenters', location=DEFAULT_LOCATION, method='GET'
      # )
      # if rcode in VALID_RESPONSE_CODES and isinstance(datacenters, dict):
      #     for key in datacenters:
      #     ret[key] = {
      #         'name': key,
      #         'url': datacenters[key]
      #     }
      return ret
docs: List all available locations