diff options
author | Thomas Citharel <tcit@tcit.fr> | 2022-09-01 17:28:18 +0200 |
---|---|---|
committer | John Molakvoæ <skjnldsv@users.noreply.github.com> | 2024-01-18 12:34:30 +0100 |
commit | dd510dfe70782fba38d068e9180fe95cf9bf5a5a (patch) | |
tree | 0949769a9b5a111373a03022984ad07c1f415966 /lib/private/Files/ObjectStore/S3.php | |
parent | 1334055ab8d07f2a02806dc68235413b72903218 (diff) | |
download | nextcloud-server-instance-quota.tar.gz nextcloud-server-instance-quota.zip |
Allow to mesure free space in object storages, based on used size and quotainstance-quota
If the object storage backend doesn't return quota or used bytes
information, use a config override for the quota and count the size used
in Nextcloud instead.
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
Diffstat (limited to 'lib/private/Files/ObjectStore/S3.php')
-rw-r--r-- | lib/private/Files/ObjectStore/S3.php | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/private/Files/ObjectStore/S3.php b/lib/private/Files/ObjectStore/S3.php index b1cd89388ae..d4e207f9002 100644 --- a/lib/private/Files/ObjectStore/S3.php +++ b/lib/private/Files/ObjectStore/S3.php @@ -25,6 +25,7 @@ namespace OC\Files\ObjectStore; use Aws\Result; use Exception; +use OCP\Files\FileInfo; use OCP\Files\ObjectStore\IObjectStore; use OCP\Files\ObjectStore\IObjectStoreMultiPartUpload; @@ -110,4 +111,16 @@ class S3 implements IObjectStore, IObjectStoreMultiPartUpload { 'UploadId' => $uploadId ]); } + + public function bytesUsed(): int { + // The only way to get the bytes used is by listing every object + // in the bucket and sum their size + return FileInfo::SPACE_UNKNOWN; + } + + public function bytesQuota(): int { + // The quota is not obtainable through the S3 API, only through the + // specific Amazon Service Quotas API + return FileInfo::SPACE_UNLIMITED; + } } |