docs: def populate_from_local(self, sa, container, path, mode, cache_control):
          # type: (StorageEntity, blobxfer.operations.azure.StorageAccount
          #        str, str, blobxfer.models.azure.StorageModes, str) -> None
          """Populate properties from local
          :param StorageEntity self: this
          :param blobxfer.operations.azure.StorageAccount sa: storage account
          :param str container: container
          :param str path: full path to file
          :param blobxfer.models.azure.StorageModes mode: storage mode
          :param str cache_control: cache control
          """
          self._can_create_containers = sa.can_create_containers
          self._container = container
          self._name = path
          self._mode = mode
          self._cache_control = cache_control
          self._from_local = True
          if mode == StorageModes.Append:
              self._client = sa.append_blob_client
          elif mode == StorageModes.Block:
              self._client = sa.block_blob_client
          elif mode == StorageModes.File:
              self._client = sa.file_client
          elif mode == StorageModes.Page:
              self._client = sa.page_blob_client
          elif mode == StorageModes.Auto:
              name = self.name.lower()
              if name.endswith('.vhd') or name.endswith('.vhdx'):
                  self._client = sa.page_blob_client
                  self._mode = StorageModes.Page
              else:
                  self._client = sa.block_blob_client
                  self._mode = StorageModes.Block