code: def possible_target_profiles(nickname, server, all_profiles_dict,
                               org_vm, autonomous=True, output='path'):
      
      assert output in ['path', 'name']
      profiles_in_svr = get_profiles_in_svr(nickname, server,
                                            all_profiles_dict,
                                            org_vm)
      # list of possible autonomous profiles for testing
      possible_profiles = []
  
      for profile_inst in profiles_in_svr:
          profile_org_name = profile_name(org_vm, profile_inst, short=True)
          if autonomous:
              if all_profiles_dict[profile_org_name].type == 'autonomous':
                  possible_profiles.append(profile_inst)
          else:
              if not all_profiles_dict[profile_org_name].type == 'component':
                  possible_profiles.append(profile_inst)
  
      if output == 'path':
          possible_profiles = [inst.path for inst in possible_profiles]
      elif output == 'name':
          possible_profiles = [profile_name(org_vm, inst)
                               for inst in possible_profiles]
  
      return possible_profiles
docs: Get list of possible autonomous or component profiles based on the list
      of all profiles and the list of profiles in the defined server.
  
      Returns list of *paths or insts, or profile names depending on the value
      of the output parameter.