code: def _try_resolve_sam_resource_id_refs(self, input, supported_resource_id_refs):
          
          if not self._is_intrinsic_dict(input):
              return input
  
          function_type = list(input.keys())[0]
          return self.supported_intrinsics[function_type].resolve_resource_id_refs(input, supported_resource_id_refs)
docs: Try to resolve SAM resource id references on the given template. If the given object looks like one of the
          supported intrinsics, it calls the appropriate resolution on it. If not, this method returns the original input
          unmodified.
  
          :param dict input: Dictionary that may represent an intrinsic function
          :param dict supported_resource_id_refs: Dictionary that maps old logical ids to new ones.
          :return: Modified input dictionary with id references resolved