aboutsummaryrefslogtreecommitdiffstats
path: root/lib/private/Files/ObjectStore
diff options
context:
space:
mode:
authorFrançois Ménabé <francois.menabe@gmail.com>2023-01-05 16:06:56 +0100
committerFrançois Ménabé <francois.menabe@unistra.fr>2023-01-12 14:58:27 +0100
commitcf9bdc02749b1627f6cf556959952bafebb9f503 (patch)
tree332a456ef91da59a681c7d54693a35c0578bd06d /lib/private/Files/ObjectStore
parentfc096ae9db18e3d62ad616588462edccd2d82f26 (diff)
downloadnextcloud-server-cf9bdc02749b1627f6cf556959952bafebb9f503.tar.gz
nextcloud-server-cf9bdc02749b1627f6cf556959952bafebb9f503.zip
Manage s3 storage class in objectstore
Signed-off-by: François Ménabé <francois.menabe@gmail.com>
Diffstat (limited to 'lib/private/Files/ObjectStore')
-rw-r--r--lib/private/Files/ObjectStore/S3ConnectionTrait.php4
-rw-r--r--lib/private/Files/ObjectStore/S3ObjectTrait.php4
2 files changed, 7 insertions, 1 deletions
diff --git a/lib/private/Files/ObjectStore/S3ConnectionTrait.php b/lib/private/Files/ObjectStore/S3ConnectionTrait.php
index bdda1f8bee8..09fdffe01bd 100644
--- a/lib/private/Files/ObjectStore/S3ConnectionTrait.php
+++ b/lib/private/Files/ObjectStore/S3ConnectionTrait.php
@@ -62,6 +62,9 @@ trait S3ConnectionTrait {
/** @var string */
protected $proxy;
+ /** @var string */
+ protected $storageClass;
+
/** @var int */
protected $uploadPartSize;
@@ -81,6 +84,7 @@ trait S3ConnectionTrait {
$this->bucket = $params['bucket'];
$this->proxy = $params['proxy'] ?? false;
$this->timeout = $params['timeout'] ?? 15;
+ $this->storageClass = !empty($params['storageClass']) ? $params['storageClass'] : 'STANDARD';
$this->uploadPartSize = $params['uploadPartSize'] ?? 524288000;
$this->putSizeLimit = $params['putSizeLimit'] ?? 104857600;
$params['region'] = empty($params['region']) ? 'eu-west-1' : $params['region'];
diff --git a/lib/private/Files/ObjectStore/S3ObjectTrait.php b/lib/private/Files/ObjectStore/S3ObjectTrait.php
index e6a2cf21cd0..33b9f6f7fed 100644
--- a/lib/private/Files/ObjectStore/S3ObjectTrait.php
+++ b/lib/private/Files/ObjectStore/S3ObjectTrait.php
@@ -105,6 +105,7 @@ trait S3ObjectTrait {
'Body' => $stream,
'ACL' => 'private',
'ContentType' => $mimetype,
+ 'StorageClass' => $this->storageClass,
]);
}
@@ -123,7 +124,8 @@ trait S3ObjectTrait {
'key' => $urn,
'part_size' => $this->uploadPartSize,
'params' => [
- 'ContentType' => $mimetype
+ 'ContentType' => $mimetype,
+ 'StorageClass' => $this->storageClass,
],
]);