aboutsummaryrefslogtreecommitdiffstats
path: root/lib/private/Files/ObjectStore/S3ConfigTrait.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/private/Files/ObjectStore/S3ConfigTrait.php')
-rw-r--r--lib/private/Files/ObjectStore/S3ConfigTrait.php41
1 files changed, 41 insertions, 0 deletions
diff --git a/lib/private/Files/ObjectStore/S3ConfigTrait.php b/lib/private/Files/ObjectStore/S3ConfigTrait.php
new file mode 100644
index 00000000000..5b086db8f77
--- /dev/null
+++ b/lib/private/Files/ObjectStore/S3ConfigTrait.php
@@ -0,0 +1,41 @@
+<?php
+
+declare(strict_types=1);
+/**
+ * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+namespace OC\Files\ObjectStore;
+
+/**
+ * Shared configuration between ConnectionTrait and ObjectTrait to ensure both to be in sync
+ */
+trait S3ConfigTrait {
+ protected array $params;
+
+ protected string $bucket;
+
+ /** Maximum number of concurrent multipart uploads */
+ protected int $concurrency;
+
+ /** Timeout, in seconds, for the connection to S3 server, not for the
+ * request. */
+ protected float $connectTimeout;
+
+ protected int $timeout;
+
+ protected string|false $proxy;
+
+ protected string $storageClass;
+
+ /** @var int Part size in bytes (float is added for 32bit support) */
+ protected int|float $uploadPartSize;
+
+ /** @var int Limit on PUT in bytes (float is added for 32bit support) */
+ private int|float $putSizeLimit;
+
+ /** @var int Limit on COPY in bytes (float is added for 32bit support) */
+ private int|float $copySizeLimit;
+
+ private bool $useMultipartCopy = true;
+}