diff --git a/salt/states/boto_lambda.py b/salt/states/boto_lambda.py
index <HASH>..<HASH> 100644
--- a/salt/states/boto_lambda.py
+++ b/salt/states/boto_lambda.py
@@ -508,6 +508,13 @@ def _function_code_present(
     )["function"]
     update = False
     if ZipFile:
+        if '://' in ZipFile:  # Looks like a remote URL to me...
+            dlZipFile = __salt__['cp.cache_file'](path=ZipFile)
+            if dlZipFile is False:
+                ret['result'] = False
+                ret['comment'] = 'Failed to cache ZipFile `{0}`.'.format(ZipFile)
+                return ret
+            ZipFile = dlZipFile
         size = os.path.getsize(ZipFile)
         if size == func["CodeSize"]:
             sha = hashlib.sha256()
INFRA-<I> - allow boto_lambda.function_present() to support remote URLs for ZipFile param