diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 49a1dddfdeb57fb2338b2f141b5c0ed4bbaf7236..532b61a2e2f790f0ba7e308820205826d94b4c04 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -21,8 +21,11 @@ migrate:
   script: 
     - dotnet tool install dotnet-ef; echo "1"
     - dotnet tool update dotnet-ef
+    # List dependencies that will be used during build
+    - dotnet restore src --no-cache
+    - dotnet list src package
     # Create new database and migrate to latest state
-    - dotnet run -p .\src\Database.Actions -- --action-create --name $DB_NAME --source $DB_DATA_SOURCE --user $DB_USER_ID --pw $DB_PASSWORD
+    - dotnet run --project .\src\Database.Actions -- --action-create --name $DB_NAME --source $DB_DATA_SOURCE --user $DB_USER_ID --pw $DB_PASSWORD
     # Scaffold created database
     - dotnet ef dbcontext scaffold "Data Source=$DB_DATA_SOURCE;Integrated Security=False;User ID=$DB_USER_ID;Password=$DB_PASSWORD;Database=$DB_NAME" Microsoft.EntityFrameworkCore.SqlServer -o DataModel -c "Model" -f --no-onconfiguring --project "src\Scaffolding"
     # Remove the hardcoded Connection String inside \DataModel\Model.cs
diff --git a/src/Database.Tests/Database.Tests.csproj b/src/Database.Tests/Database.Tests.csproj
index a21a570ce100625917c4afbbb96643ec6ffba15f..960e65df2848f9ac8c5d443dd3082739b23667ef 100644
--- a/src/Database.Tests/Database.Tests.csproj
+++ b/src/Database.Tests/Database.Tests.csproj
@@ -19,4 +19,4 @@
 		<PackageReference Include="NUnit" Version="3.13.1" />
 		<PackageReference Include="NUnit3TestAdapter" Version="3.17.0" />
 	</ItemGroup>
-</Project>
\ No newline at end of file
+</Project>
diff --git a/src/Database/Models/GitlabResourceTypeModel.cs b/src/Database/Models/GitlabResourceTypeModel.cs
index 1e2e7798c49cdcdb81c822310c9307946ebec84d..5028096547780674a05dfe78f53f5e3702468934 100644
--- a/src/Database/Models/GitlabResourceTypeModel.cs
+++ b/src/Database/Models/GitlabResourceTypeModel.cs
@@ -25,11 +25,14 @@ namespace Coscine.Database.Models
 
         public Dictionary<string, string> GetResourceTypeOptions(Guid id)
         {
-            var dictionary = new Dictionary<string, string>();
             var resourceType = GetById(id);
-            dictionary.Add("token", resourceType.Token);
-            dictionary.Add("repositoryUrl", resourceType.RepositoryUrl);
-            dictionary.Add("repositoryNumber", resourceType.RepositoryNumber.ToString());
+            var dictionary = new Dictionary<string, string>
+            {
+                { "branchName", resourceType.Branch },
+                { "projectId", resourceType.GitlabProjectId.ToString() },
+                { "repositoryUrl", resourceType.RepoUrl },
+                { "accessToken", resourceType.ProjectAccessToken }
+            };
             return dictionary;
         }
     }
diff --git a/src/Database/Models/RDSResourceTypeModel.cs b/src/Database/Models/RDSResourceTypeModel.cs
index 18f66d12e8031f08c5e34301979a0e2b874dd64d..c0e9a1edec9187c830fab8df7ceb461939005248 100644
--- a/src/Database/Models/RDSResourceTypeModel.cs
+++ b/src/Database/Models/RDSResourceTypeModel.cs
@@ -31,8 +31,7 @@ namespace Coscine.Database.Models
                 { "accessKey", resourceType.AccessKey },
                 { "secretKey", resourceType.SecretKey },
                 { "bucketname", resourceType.BucketName },
-                { "endpoint", resourceType.Endpoint },
-                { "size", $"{resourceType.Size}" }
+                { "endpoint", resourceType.Endpoint }
             };
             return dictionary;
         }
diff --git a/src/Database/Models/RdsS3ResourceTypeModel.cs b/src/Database/Models/RdsS3ResourceTypeModel.cs
index 84dc0c8f2aa4400892d59ff3a3143400b2cc852e..5b774ef82343731145bdef89842911108bcc6370 100644
--- a/src/Database/Models/RdsS3ResourceTypeModel.cs
+++ b/src/Database/Models/RdsS3ResourceTypeModel.cs
@@ -34,8 +34,7 @@ namespace Coscine.Database.Models
                 { "accessKeyWrite", resourceType.AccessKeyWrite },
                 { "secretKeyWrite", resourceType.SecretKeyWrite },
                 { "bucketname", resourceType.BucketName },
-                { "endpoint", resourceType.Endpoint },
-                { "size", $"{resourceType.Size}" }
+                { "endpoint", resourceType.Endpoint }
             };
             return dictionary;
         }
diff --git a/src/Database/Models/RdsS3WormResourceTypeModel.cs b/src/Database/Models/RdsS3WormResourceTypeModel.cs
index ba61b9a18f05b4b8c6433b7b8ca03c5d6a533d00..3d710d1ae788cc79ec8170a7b588cb75222fd474 100644
--- a/src/Database/Models/RdsS3WormResourceTypeModel.cs
+++ b/src/Database/Models/RdsS3WormResourceTypeModel.cs
@@ -34,8 +34,7 @@ namespace Coscine.Database.Models
                 { "accessKeyWrite", resourceType.AccessKeyWrite },
                 { "secretKeyWrite", resourceType.SecretKeyWrite },
                 { "bucketname", resourceType.BucketName },
-                { "endpoint", resourceType.Endpoint },
-                { "size", $"{resourceType.Size}" }
+                { "endpoint", resourceType.Endpoint }
             };
             return dictionary;
         }
diff --git a/src/Database/Models/ResourceModel.cs b/src/Database/Models/ResourceModel.cs
index 18fa9e8fdf88a1d2df75931d078cedb348b17e43..2252a0b5cb6ea02eb3b8640c2564bf76b2670e76 100644
--- a/src/Database/Models/ResourceModel.cs
+++ b/src/Database/Models/ResourceModel.cs
@@ -283,7 +283,7 @@ namespace Coscine.Database.Models
             {
                 RDSResourceTypeModel rdsResourceTypeModel = new RDSResourceTypeModel();
                 var rdsResourceType = rdsResourceTypeModel.GetById(resource.ResourceTypeOptionId.Value);
-                resourceTypeOptionObject = new RDSResourceTypeObject(rdsResourceType.Id, rdsResourceType.BucketName, (int)rdsResourceType.Size);
+                resourceTypeOptionObject = new RDSResourceTypeObject(rdsResourceType.Id, rdsResourceType.BucketName, null);
             }
             else if (resource.Type.Type == "s3" && resource.ResourceTypeOptionId != null)
             {
@@ -295,7 +295,7 @@ namespace Coscine.Database.Models
             {
                 GitlabResourceTypeModel gitlabResourceTypeModel = new GitlabResourceTypeModel();
                 var gitlabResourceType = gitlabResourceTypeModel.GetById(resource.ResourceTypeOptionId.Value);
-                resourceTypeOptionObject = new GitlabResourceTypeObject(gitlabResourceType.Id, gitlabResourceType.RepositoryNumber, gitlabResourceType.RepositoryUrl, null);
+                resourceTypeOptionObject = new GitlabResourceTypeObject(gitlabResourceType.Id, gitlabResourceType.Branch, gitlabResourceType.GitlabProjectId, gitlabResourceType.RepoUrl, gitlabResourceType.ProjectAccessToken);
             }
             else if (resource.Type.Type == "linked" && resource.ResourceTypeOptionId != null)
             {
@@ -314,9 +314,9 @@ namespace Coscine.Database.Models
                     Endpoint = rdsS3ResourceType.Endpoint,
                     ReadAccessKey = rdsS3ResourceType.AccessKeyRead,
                     ReadSecretKey = rdsS3ResourceType.SecretKeyRead,
-                    Size = rdsS3ResourceType.Size,
                     WriteAccessKey = rdsS3ResourceType.AccessKeyWrite,
                     WriteSecretKey = rdsS3ResourceType.SecretKeyWrite,
+                    Size = null
                 };
             }
             else if (resource.Type.Type == "rdss3worm" && resource.ResourceTypeOptionId != null)
@@ -330,9 +330,9 @@ namespace Coscine.Database.Models
                     Endpoint = rdsS3WormResourceType.Endpoint,
                     ReadAccessKey = rdsS3WormResourceType.AccessKeyRead,
                     ReadSecretKey = rdsS3WormResourceType.SecretKeyRead,
-                    Size = rdsS3WormResourceType.Size,
                     WriteAccessKey = rdsS3WormResourceType.AccessKeyWrite,
                     WriteSecretKey = rdsS3WormResourceType.SecretKeyWrite,
+                    Size = null
                 };
             }
 
diff --git a/src/Database/ReturnObjects/GitlabResourceTypeObject.cs b/src/Database/ReturnObjects/GitlabResourceTypeObject.cs
index 84124235f819620f49814a45e7a25322a0562ac4..0356fe1166de03801283b6f06fcdd6bb222e0fc8 100644
--- a/src/Database/ReturnObjects/GitlabResourceTypeObject.cs
+++ b/src/Database/ReturnObjects/GitlabResourceTypeObject.cs
@@ -6,17 +6,18 @@ namespace Coscine.Database.ReturnObjects
     public class GitlabResourceTypeObject : ResourceTypeOptionObject
     {
         public Guid Id { get; set; }
+        public string BranchName { get; set; }
+        public int ProjectId { get; set; }
+        public Uri RepositoryUrl { get; set; }
+        public string AccessToken { get; set; }
 
-        public int RepositoryNumber { get; set; }
-        public string RepositoryUrl { get; set; }
-        public string Token { get; set; }
-
-        public GitlabResourceTypeObject(Guid id, int repositoryNumber, string repositoryUrl, string token)
+        public GitlabResourceTypeObject(Guid id, string branchName, int projectId, string repoUrl, string accessToken)
         {
             Id = id;
-            RepositoryNumber = repositoryNumber;
-            RepositoryUrl = repositoryUrl;
-            Token = token;
+            BranchName = branchName;
+            ProjectId = projectId;
+            RepositoryUrl = new Uri(repoUrl);
+            AccessToken = accessToken;
         }
     }
 }
diff --git a/src/Database/ReturnObjects/InvitationReturnObject.cs b/src/Database/ReturnObjects/InvitationReturnObject.cs
new file mode 100644
index 0000000000000000000000000000000000000000..ec68672e02aa90c7f75f719b60ece4f1345ec759
--- /dev/null
+++ b/src/Database/ReturnObjects/InvitationReturnObject.cs
@@ -0,0 +1,39 @@
+using System;
+
+namespace Coscine.Database.ReturnObjects;
+
+/// <summary>
+/// Return object for a project invitation.
+/// </summary>
+public class InvitationReturnObject
+{
+    /// <summary>
+    /// The invitation id.
+    /// </summary>
+    public Guid Id { get; set; }
+
+    /// <summary>
+    /// When the invite will expire.
+    /// </summary>
+    public DateTime Expiration { get; set; }
+
+    /// <summary>
+    /// Email of the invitee.
+    /// </summary>
+    public string UserMail { get; set; }
+
+    /// <summary>
+    /// Id of the issuer.
+    /// </summary>
+    public Guid Issuer { get; set; }
+
+    /// <summary>
+    /// Id of the project.
+    /// </summary>
+    public Guid ProjectId { get; set; }
+
+    /// <summary>
+    /// Id of the target Role.
+    /// </summary>
+    public Guid RoleId { get; set; }
+}
\ No newline at end of file
diff --git a/src/Database/ReturnObjects/ProjectQuotaExtendedReturnObject.cs b/src/Database/ReturnObjects/ProjectQuotaExtendedReturnObject.cs
new file mode 100644
index 0000000000000000000000000000000000000000..e4068f1e7be935eab635cdaa442f58f05e41074b
--- /dev/null
+++ b/src/Database/ReturnObjects/ProjectQuotaExtendedReturnObject.cs
@@ -0,0 +1,40 @@
+using System;
+using System.Collections.Generic;
+
+namespace Coscine.Database.ReturnObjects;
+
+/// <summary>
+/// Contains information about the quota of a project by resource type.
+/// </summary>
+public class ProjectQuotaExtendedReturnObject
+{
+    /// <summary>
+    /// Id of the resoure type.
+    /// </summary>
+    public Guid Id { get; set; }
+
+    /// <summary>
+    /// Display name of the resource type.
+    /// </summary>
+    public string Name { get; set; }
+
+    /// <summary>
+    /// How much space is reserved by resources in total [GiB]. Is equal to the sum of all resource quota reserved values.
+    /// </summary>
+    public QuotaDimObject TotalReserved { get; set; }
+
+    /// <summary>
+    /// How much space is currently allocated and is available to be taken by resources [GiB] (See Database, Table 'ProjectQuotas', Column 'Quota').
+    /// </summary>
+    public QuotaDimObject Allocated { get; set; }
+
+    /// <summary>
+    /// How much maximum space is possible to be taken by resources [GiB] (See Database, Table 'ProjectQuotas', Column 'MaxQuota').
+    /// </summary>
+    public QuotaDimObject Maximum { get; set; }
+
+    /// <summary>
+    /// Resources quota for all individual resources of a resource type in a selected project.
+    /// </summary>
+    public IEnumerable<ResourceQuotaReturnObject> ResourcesQuota { get; set; }
+}
\ No newline at end of file
diff --git a/src/Database/ReturnObjects/ProjectQuotaReturnObject.cs b/src/Database/ReturnObjects/ProjectQuotaReturnObject.cs
new file mode 100644
index 0000000000000000000000000000000000000000..dd9382fa63e77e98070a7d889ab5f11a711ce43c
--- /dev/null
+++ b/src/Database/ReturnObjects/ProjectQuotaReturnObject.cs
@@ -0,0 +1,35 @@
+using System;
+using System.Collections.Generic;
+
+namespace Coscine.Database.ReturnObjects;
+
+/// <summary>
+/// Contains information about the quota of a project by resource type.
+/// </summary>
+public class ProjectQuotaReturnObject
+{
+    /// <summary>
+    /// Id of the resoure type.
+    /// </summary>
+    public Guid Id { get; set; }
+
+    /// <summary>
+    /// Display name of the resource type.
+    /// </summary>
+    public string Name { get; set; }
+
+    /// <summary>
+    /// How much space is reserved by resources in total [GiB]. Is equal to the sum of all resource quota reserved values.
+    /// </summary>
+    public QuotaDimObject TotalReserved { get; set; }
+
+    /// <summary>
+    /// How much space is currently allocated and is available to be taken by resources [GiB] (See Database, Table 'ProjectQuotas', Column 'Quota').
+    /// </summary>
+    public QuotaDimObject Allocated { get; set; }
+
+    /// <summary>
+    /// How much maximum space is possible to be taken by resources [GiB] (See Database, Table 'ProjectQuotas', Column 'MaxQuota').
+    /// </summary>
+    public QuotaDimObject Maximum { get; set; }
+}
\ No newline at end of file
diff --git a/src/Database/ReturnObjects/QuotaDimObject.cs b/src/Database/ReturnObjects/QuotaDimObject.cs
new file mode 100644
index 0000000000000000000000000000000000000000..f610b15aa64c6d60bf6c74685b78bb0e03d55998
--- /dev/null
+++ b/src/Database/ReturnObjects/QuotaDimObject.cs
@@ -0,0 +1,8 @@
+namespace Coscine.Database.ReturnObjects;
+
+public class QuotaDimObject
+{
+    public float Value { get; set; }
+    public QuotaUnit Unit { get; set; }
+}
+
diff --git a/src/Database/ReturnObjects/QuotaUnit.cs b/src/Database/ReturnObjects/QuotaUnit.cs
new file mode 100644
index 0000000000000000000000000000000000000000..210ccc1a18b52621bd19731222f2f7eeedd39939
--- /dev/null
+++ b/src/Database/ReturnObjects/QuotaUnit.cs
@@ -0,0 +1,34 @@
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using System.ComponentModel;
+using System.Runtime.Serialization;
+
+namespace Coscine.Database.ReturnObjects;
+
+[JsonConverter(typeof(StringEnumConverter))]
+public enum QuotaUnit
+{
+    [Description("The byte is a unit of digital information in computing and telecommunications that most commonly consists of eight bits.")]
+    [EnumMember(Value = "https://qudt.org/vocab/unit/BYTE")]
+    BYTE,
+
+    [Description("The kibibyte is a multiple of the unit byte for digital information equivalent to 1024 bytes.")]
+    [EnumMember(Value = "https://qudt.org/vocab/unit/KibiBYTE")]
+    KibiBYTE,
+
+    [Description("The mebibyte is a multiple of the unit byte for digital information equivalent to 1024^2 or 2^20 bytes.")]
+    [EnumMember(Value = "https://qudt.org/vocab/unit/MebiBYTE")]
+    MebiBYTE,
+
+    [Description("The gibibyte is a multiple of the unit byte for digital information storage. The prefix gibi means 1024^3.")]
+    [EnumMember(Value = "https://qudt.org/vocab/unit/GibiBYTE")]
+    GibiBYTE,
+
+    [Description("The tebibyte is a multiple of the unit byte for digital information. The prefix tebi means 1024^4.")]
+    [EnumMember(Value = "https://qudt.org/vocab/unit/TebiBYTE")]
+    TebiBYTE,
+
+    [Description("The tebibyte is a multiple of the unit byte for digital information. The prefix tebi means 1024^5.")]
+    [EnumMember(Value = "https://qudt.org/vocab/unit/PebiBYTE")]
+    PebiBYTE,
+}
\ No newline at end of file
diff --git a/src/Database/ReturnObjects/RDSResourceTypeObject.cs b/src/Database/ReturnObjects/RDSResourceTypeObject.cs
index 5e6cfdd30efb0b08b827d21e7290cf8035f6a141..25aeeb9c8d4013e89aba877f9d82ed13437a2149 100644
--- a/src/Database/ReturnObjects/RDSResourceTypeObject.cs
+++ b/src/Database/ReturnObjects/RDSResourceTypeObject.cs
@@ -7,9 +7,9 @@ namespace Coscine.Database.ReturnObjects
     {
         public Guid Id { get; set; }
         public string BucketName { get; set; }
-        public int Size { get; set; }
+        public int? Size { get; set; }
 
-        public RDSResourceTypeObject(Guid id, string bucketName, int size)
+        public RDSResourceTypeObject(Guid id, string bucketName, int? size)
         {
             Id = id;
             BucketName = bucketName;
diff --git a/src/Database/ReturnObjects/RdsS3ResourceTypeObject.cs b/src/Database/ReturnObjects/RdsS3ResourceTypeObject.cs
index 300abbe6b3e0a964d100377e1b5d557a1973c934..22b16a5ca1c435af1c4cbd40868f9bc160d1bdb9 100644
--- a/src/Database/ReturnObjects/RdsS3ResourceTypeObject.cs
+++ b/src/Database/ReturnObjects/RdsS3ResourceTypeObject.cs
@@ -12,6 +12,6 @@ namespace Coscine.Database.ReturnObjects
 		public string WriteAccessKey { get; set; }
 		public string WriteSecretKey { get; set; }
 		public string Endpoint { get; set; }
-		public int Size { get; set; }
+		public int? Size { get; set; }
 	}
 }
\ No newline at end of file
diff --git a/src/Database/ReturnObjects/ResourceQuotaReturnObject.cs b/src/Database/ReturnObjects/ResourceQuotaReturnObject.cs
new file mode 100644
index 0000000000000000000000000000000000000000..10b2063ce430ca26639dd193311d0d7070e36179
--- /dev/null
+++ b/src/Database/ReturnObjects/ResourceQuotaReturnObject.cs
@@ -0,0 +1,30 @@
+using System;
+
+namespace Coscine.Database.ReturnObjects;
+
+/// <summary>
+/// Contains information about the quota of a resource.
+/// </summary>    
+public class ResourceQuotaReturnObject
+{
+    /// <summary>
+    /// Id of the resoure.
+    /// </summary>
+    public Guid Id { get; set; }
+    /// <summary>
+    /// Display name of the resource.
+    /// </summary>
+    public string Name { get; set; }
+    /// <summary>
+    /// How much space is used by all files in a resource [Bytes].
+    /// </summary>
+    public QuotaDimObject Used { get; set; }
+    /// <summary>
+    /// How much space is used by all files in a resource [%].
+    /// </summary>
+    public float UsedPercentage { get; set; }
+    /// <summary>
+    /// How much space is reserved and is available to be taken by the resource [GiB]. This number represents its capacity.
+    /// </summary>
+    public QuotaDimObject Reserved { get; set; }
+}
diff --git a/src/Scaffolding/DataModel/GitlabResourceType.cs b/src/Scaffolding/DataModel/GitlabResourceType.cs
index 3291a9b9b420794e08c70e1fe81c5150894f8d33..8840a2f310ae0c165b2103a5ac0c7ec64e1dcf69 100644
--- a/src/Scaffolding/DataModel/GitlabResourceType.cs
+++ b/src/Scaffolding/DataModel/GitlabResourceType.cs
@@ -10,8 +10,9 @@ namespace Coscine.Database.DataModel
     public partial class GitlabResourceType
     {
         public Guid Id { get; set; }
-        public int RepositoryNumber { get; set; }
-        public string RepositoryUrl { get; set; }
-        public string Token { get; set; }
+        public string Branch { get; set; }
+        public int GitlabProjectId { get; set; }
+        public string RepoUrl { get; set; }
+        public string ProjectAccessToken { get; set; }
     }
 }
diff --git a/src/Scaffolding/DataModel/Model.cs b/src/Scaffolding/DataModel/Model.cs
index 8459260266470b22f3c3fe04137514e78fe90c8a..66bc3ad147c69b5cd034c173c94d1b564af5e741 100644
--- a/src/Scaffolding/DataModel/Model.cs
+++ b/src/Scaffolding/DataModel/Model.cs
@@ -196,13 +196,17 @@ namespace Coscine.Database.DataModel
 
                 entity.Property(e => e.Id).HasDefaultValueSql("(newid())");
 
-                entity.Property(e => e.RepositoryUrl)
+                entity.Property(e => e.Branch)
                     .IsRequired()
-                    .HasMaxLength(500);
+                    .HasMaxLength(200);
+
+                entity.Property(e => e.ProjectAccessToken)
+                    .IsRequired()
+                    .HasMaxLength(200);
 
-                entity.Property(e => e.Token)
+                entity.Property(e => e.RepoUrl)
                     .IsRequired()
-                    .HasMaxLength(100);
+                    .HasMaxLength(200);
             });
 
             modelBuilder.Entity<Group>(entity =>
diff --git a/src/Scaffolding/DataModel/RdsS3resourceType.cs b/src/Scaffolding/DataModel/RdsS3resourceType.cs
index 6250906657462ace5352d34215efb22cd46976e4..d12f37f8729fba7a3183927fbf69df4beae39ad4 100644
--- a/src/Scaffolding/DataModel/RdsS3resourceType.cs
+++ b/src/Scaffolding/DataModel/RdsS3resourceType.cs
@@ -18,6 +18,5 @@ namespace Coscine.Database.DataModel
         public string AccessKeyWrite { get; set; }
         public string SecretKeyWrite { get; set; }
         public string Endpoint { get; set; }
-        public int Size { get; set; }
     }
 }
diff --git a/src/Scaffolding/DataModel/RdsS3wormResourceType.cs b/src/Scaffolding/DataModel/RdsS3wormResourceType.cs
index be2ba6dd5c808fc01c47f9eb68a579383f70566d..f1e983acc4138dcdbf529cd9a6681679222c67cd 100644
--- a/src/Scaffolding/DataModel/RdsS3wormResourceType.cs
+++ b/src/Scaffolding/DataModel/RdsS3wormResourceType.cs
@@ -18,6 +18,5 @@ namespace Coscine.Database.DataModel
         public string AccessKeyWrite { get; set; }
         public string SecretKeyWrite { get; set; }
         public string Endpoint { get; set; }
-        public int Size { get; set; }
     }
 }
diff --git a/src/Scaffolding/DataModel/RdsresourceType.cs b/src/Scaffolding/DataModel/RdsresourceType.cs
index 673987713bec53d79a4ad8e13467022dfd043359..158142d103d4043109542acfc3313b5ebe8d1eaf 100644
--- a/src/Scaffolding/DataModel/RdsresourceType.cs
+++ b/src/Scaffolding/DataModel/RdsresourceType.cs
@@ -11,7 +11,6 @@ namespace Coscine.Database.DataModel
     {
         public Guid Id { get; set; }
         public string BucketName { get; set; }
-        public int? Size { get; set; }
         public string AccessKey { get; set; }
         public string SecretKey { get; set; }
         public string Endpoint { get; set; }