Lazy Loading a URI in remote_file

We just upgraded to 11.4.0 and ran into the problem with remote_file validating
the “source” parameter as a valid URI.

Our problem is we are trying to lazy load that URI and remote_file sees the
object as a delayed evaluator, thus errors out at compile

We need this to use fog storage to get S3 artifacts, and the lazy loading
allows us to make the temporary uri time to live much shorter.

I can alway go back and fork the chef code, but I would rather know how other
people are handling this problem.

How do you lazy load a URI value to the remote_file source parameter?