code: def cache_file(source):
      '''
      Wrapper for cp.cache_file which raises an error if the file was unable to
      be cached.
  
      CLI Example:
  
      .. code-block:: bash
  
          salt myminion container_resource.cache_file salt://foo/bar/baz.txt
      '''
      try:
          # Don't just use cp.cache_file for this. Docker has its own code to
          # pull down images from the web.
          if source.startswith('salt://'):
              cached_source = __salt__['cp.cache_file'](source)
              if not cached_source:
                  raise CommandExecutionError(
                      'Unable to cache {0}'.format(source)
                  )
              return cached_source
      except AttributeError:
          raise SaltInvocationError('Invalid source file {0}'.format(source))
      return sourcf cache_file(source):
      '''
      Wrapper for cp.cache_file which raises an error if the file was unable to
      be cached.
  
      CLI Example:
  
      .. code-block:: bash
  
          salt myminion container_resource.cache_file salt://foo/bar/baz.txt
      '''
      try:
          # Don't just use cp.cache_file for this. Docker has its own code to
          # pull down images from the web.
          if source.startswith('salt://'):
              cached_source = __salt__['cp.cache_file'](source)
              if not cached_source:
                  raise CommandExecutionError(
                      'Unable to cache {0}'.format(source)
                  )
              return cached_source
      except AttributeError:
          raise SaltInvocationError('Invalid source file {0}'.format(source))
      return source
docs: Wrapper for cp.cache_file which raises an error if the file was unable to
      be cached.
  
      CLI Example:
  
      .. code-block:: bash
  
          salt myminion container_resource.cache_file salt://foo/bar/baz.txt