Forwwards storage requests to a remote storage.
Return True if the blob with the given instance/digest exists.
Return a file-like object containing the blob. Most implementations will read the entire file into memory and return a BytesIO object. Eventually this should be corrected to handle files which cannot fit into memory.
If the blob isn’t present in storage, return None.
The REAPI doesn’t have a deletion method, so we can’t support deletion for remote storage.
The REAPI doesn’t have a deletion method, so we can’t support bulk deletion for remote storage.
Return a file-like object to which a blob’s contents could be written.
Commit the write operation. write_session must be an object returned by begin_write.
The storage object is not responsible for verifying that the data written to the write_session actually matches the digest. The caller must do that.
Return a container containing the blobs not present in CAS.
Given a container of (digest, value) tuples, add all the blobs to CAS. Return a list of Status objects corresponding to the result of uploading each of the blobs.
Unlike in commit_write, the storage object will verify that each of the digests matches the provided data.