From e0a0bb4631e9c52c666981b061a7a1e588a6a76b Mon Sep 17 00:00:00 2001
From: Petar Hristov <hristov@itc.rwth-aachen.de>
Date: Wed, 5 Feb 2025 14:23:29 +0100
Subject: [PATCH] New: Maintenance mode for resources

---
 docs/ResourceAdminDto.md                      |  5 ++--
 docs/ResourceDto.md                           |  5 ++--
 docs/ResourceForUpdateDto.md                  |  1 +
 generate-api-client.sh                        |  3 ++-
 .../Model/ResourceAdminDtoTests.cs            |  9 +++++++
 .../Model/ResourceDtoTests.cs                 |  9 +++++++
 .../Model/ResourceForUpdateDtoTests.cs        |  9 +++++++
 .../Model/ResourceAdminDto.cs                 | 24 +++++++++++++------
 .../Model/ResourceDto.cs                      | 24 +++++++++++++------
 .../Model/ResourceForUpdateDto.cs             | 12 +++++++++-
 10 files changed, 81 insertions(+), 20 deletions(-)

diff --git a/docs/ResourceAdminDto.md b/docs/ResourceAdminDto.md
index 31f8e11..de99197 100644
--- a/docs/ResourceAdminDto.md
+++ b/docs/ResourceAdminDto.md
@@ -14,8 +14,8 @@ Name | Type | Description | Notes
 **Keywords** | **List&lt;string&gt;** | Keywords associated with the resource. | [optional] 
 **License** | [**LicenseDto**](LicenseDto.md) |  | [optional] 
 **UsageRights** | **string** | Usage rights associated with the resource. | [optional] 
-**MetadataLocalCopy** | **bool** | Setting for creating a local copy of the metadata. | [optional] 
-**MetadataExtraction** | **bool** | Setting for metadata extraction. | [optional] 
+**MetadataLocalCopy** | **bool** | Indicates whether a local copy of the metadata is available for the resource. | [optional] 
+**MetadataExtraction** | **bool** | Indicates whether metadata extraction is enabled for the resource. | [optional] 
 **ApplicationProfile** | [**ApplicationProfileMinimalDto**](ApplicationProfileMinimalDto.md) |  | 
 **FixedValues** | **Dictionary&lt;string, Dictionary&lt;string, List&lt;FixedValueForResourceManipulationDto&gt;&gt;&gt;** | Fixed values associated with resource manipulation.  This dictionary may contain multiple levels and is structured as follows:  Dictionary (Key: string) -&gt; Dictionary (Key: string) -&gt; List of FixedValueForResourceManipulationDto. | 
 **Disciplines** | [**List&lt;DisciplineDto&gt;**](DisciplineDto.md) | Disciplines associated with the resource. | 
@@ -23,6 +23,7 @@ Name | Type | Description | Notes
 **DateCreated** | **DateTime?** | Date when the resource was created. | [optional] 
 **Creator** | [**UserMinimalDto**](UserMinimalDto.md) |  | [optional] 
 **Archived** | **bool** | Indicates whether the resource is archived. | [optional] 
+**MaintenanceMode** | **bool** | Indicates whether the resource is in maintenance mode. | [optional] 
 **Projects** | [**List&lt;ProjectMinimalDto&gt;**](ProjectMinimalDto.md) | The projects associated with the resource. | [optional] 
 **Deleted** | **bool** | Indicates whether the resource is deleted. | 
 **ProjectResources** | [**List&lt;ProjectResourceMinimalDto&gt;**](ProjectResourceMinimalDto.md) | Collection of minimal project resource details associated with this resource. | 
diff --git a/docs/ResourceDto.md b/docs/ResourceDto.md
index 517f4a4..cfa0d87 100644
--- a/docs/ResourceDto.md
+++ b/docs/ResourceDto.md
@@ -14,8 +14,8 @@ Name | Type | Description | Notes
 **Keywords** | **List&lt;string&gt;** | Keywords associated with the resource. | [optional] 
 **License** | [**LicenseDto**](LicenseDto.md) |  | [optional] 
 **UsageRights** | **string** | Usage rights associated with the resource. | [optional] 
-**MetadataLocalCopy** | **bool** | Setting for creating a local copy of the metadata. | [optional] 
-**MetadataExtraction** | **bool** | Setting for metadata extraction. | [optional] 
+**MetadataLocalCopy** | **bool** | Indicates whether a local copy of the metadata is available for the resource. | [optional] 
+**MetadataExtraction** | **bool** | Indicates whether metadata extraction is enabled for the resource. | [optional] 
 **ApplicationProfile** | [**ApplicationProfileMinimalDto**](ApplicationProfileMinimalDto.md) |  | 
 **FixedValues** | **Dictionary&lt;string, Dictionary&lt;string, List&lt;FixedValueForResourceManipulationDto&gt;&gt;&gt;** | Fixed values associated with resource manipulation.  This dictionary may contain multiple levels and is structured as follows:  Dictionary (Key: string) -&gt; Dictionary (Key: string) -&gt; List of FixedValueForResourceManipulationDto. | 
 **Disciplines** | [**List&lt;DisciplineDto&gt;**](DisciplineDto.md) | Disciplines associated with the resource. | 
@@ -23,6 +23,7 @@ Name | Type | Description | Notes
 **DateCreated** | **DateTime?** | Date when the resource was created. | [optional] 
 **Creator** | [**UserMinimalDto**](UserMinimalDto.md) |  | [optional] 
 **Archived** | **bool** | Indicates whether the resource is archived. | [optional] 
+**MaintenanceMode** | **bool** | Indicates whether the resource is in maintenance mode. | [optional] 
 **Projects** | [**List&lt;ProjectMinimalDto&gt;**](ProjectMinimalDto.md) | The projects associated with the resource. | [optional] 
 
 [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
diff --git a/docs/ResourceForUpdateDto.md b/docs/ResourceForUpdateDto.md
index e2f5a2b..11d67e0 100644
--- a/docs/ResourceForUpdateDto.md
+++ b/docs/ResourceForUpdateDto.md
@@ -17,6 +17,7 @@ Name | Type | Description | Notes
 **Disciplines** | [**List&lt;DisciplineForResourceManipulationDto&gt;**](DisciplineForResourceManipulationDto.md) | The disciplines associated with the resource. | 
 **Archived** | **bool** | Indicates whether the resource is archived. | 
 **ResourceTypeOptions** | [**ResourceTypeOptionsForUpdateDto**](ResourceTypeOptionsForUpdateDto.md) |  | [optional] 
+**MaintenanceMode** | **bool?** | Indicates whether the resource is in maintenance mode. | [optional] 
 
 [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
 
diff --git a/generate-api-client.sh b/generate-api-client.sh
index db39a9f..e7f47a1 100644
--- a/generate-api-client.sh
+++ b/generate-api-client.sh
@@ -36,7 +36,8 @@ podman run --rm \
   --artifact-id "$ARTIFACT_ID" \
   --package-name "$PACKAGE_NAME" \
   --skip-validate-spec \
-  --server-variables=host=localhost:5000,basePath=coscine
+  --server-variables=host=localhost:5000,basePath=coscine \
+  --additional-properties=targetFramework=net8.0
 
 echo -e "${GREEN}API client generation complete.${NC}"
 
diff --git a/src/Coscine.ApiClient.Core.Test/Model/ResourceAdminDtoTests.cs b/src/Coscine.ApiClient.Core.Test/Model/ResourceAdminDtoTests.cs
index 89e50ae..e4ee998 100644
--- a/src/Coscine.ApiClient.Core.Test/Model/ResourceAdminDtoTests.cs
+++ b/src/Coscine.ApiClient.Core.Test/Model/ResourceAdminDtoTests.cs
@@ -217,6 +217,15 @@ namespace Coscine.ApiClient.Core.Test.Model
             // TODO unit test for the property 'Archived'
         }
 
+        /// <summary>
+        /// Test the property 'MaintenanceMode'
+        /// </summary>
+        [Fact]
+        public void MaintenanceModeTest()
+        {
+            // TODO unit test for the property 'MaintenanceMode'
+        }
+
         /// <summary>
         /// Test the property 'Projects'
         /// </summary>
diff --git a/src/Coscine.ApiClient.Core.Test/Model/ResourceDtoTests.cs b/src/Coscine.ApiClient.Core.Test/Model/ResourceDtoTests.cs
index cdee334..c79ff8e 100644
--- a/src/Coscine.ApiClient.Core.Test/Model/ResourceDtoTests.cs
+++ b/src/Coscine.ApiClient.Core.Test/Model/ResourceDtoTests.cs
@@ -217,6 +217,15 @@ namespace Coscine.ApiClient.Core.Test.Model
             // TODO unit test for the property 'Archived'
         }
 
+        /// <summary>
+        /// Test the property 'MaintenanceMode'
+        /// </summary>
+        [Fact]
+        public void MaintenanceModeTest()
+        {
+            // TODO unit test for the property 'MaintenanceMode'
+        }
+
         /// <summary>
         /// Test the property 'Projects'
         /// </summary>
diff --git a/src/Coscine.ApiClient.Core.Test/Model/ResourceForUpdateDtoTests.cs b/src/Coscine.ApiClient.Core.Test/Model/ResourceForUpdateDtoTests.cs
index b7d046d..960bd0a 100644
--- a/src/Coscine.ApiClient.Core.Test/Model/ResourceForUpdateDtoTests.cs
+++ b/src/Coscine.ApiClient.Core.Test/Model/ResourceForUpdateDtoTests.cs
@@ -162,5 +162,14 @@ namespace Coscine.ApiClient.Core.Test.Model
         {
             // TODO unit test for the property 'ResourceTypeOptions'
         }
+
+        /// <summary>
+        /// Test the property 'MaintenanceMode'
+        /// </summary>
+        [Fact]
+        public void MaintenanceModeTest()
+        {
+            // TODO unit test for the property 'MaintenanceMode'
+        }
     }
 }
diff --git a/src/Coscine.ApiClient.Core/Model/ResourceAdminDto.cs b/src/Coscine.ApiClient.Core/Model/ResourceAdminDto.cs
index 3cd7279..0ef34e9 100644
--- a/src/Coscine.ApiClient.Core/Model/ResourceAdminDto.cs
+++ b/src/Coscine.ApiClient.Core/Model/ResourceAdminDto.cs
@@ -49,8 +49,8 @@ namespace Coscine.ApiClient.Core.Model
         /// <param name="keywords">Keywords associated with the resource..</param>
         /// <param name="license">license.</param>
         /// <param name="usageRights">Usage rights associated with the resource..</param>
-        /// <param name="metadataLocalCopy">Setting for creating a local copy of the metadata..</param>
-        /// <param name="metadataExtraction">Setting for metadata extraction..</param>
+        /// <param name="metadataLocalCopy">Indicates whether a local copy of the metadata is available for the resource..</param>
+        /// <param name="metadataExtraction">Indicates whether metadata extraction is enabled for the resource..</param>
         /// <param name="applicationProfile">applicationProfile (required).</param>
         /// <param name="fixedValues">Fixed values associated with resource manipulation.  This dictionary may contain multiple levels and is structured as follows:  Dictionary (Key: string) -&gt; Dictionary (Key: string) -&gt; List of FixedValueForResourceManipulationDto. (required).</param>
         /// <param name="disciplines">Disciplines associated with the resource. (required).</param>
@@ -58,11 +58,12 @@ namespace Coscine.ApiClient.Core.Model
         /// <param name="dateCreated">Date when the resource was created..</param>
         /// <param name="creator">creator.</param>
         /// <param name="archived">Indicates whether the resource is archived..</param>
+        /// <param name="maintenanceMode">Indicates whether the resource is in maintenance mode..</param>
         /// <param name="projects">The projects associated with the resource..</param>
         /// <param name="deleted">Indicates whether the resource is deleted. (required).</param>
         /// <param name="projectResources">Collection of minimal project resource details associated with this resource. (required).</param>
         /// <param name="resourceQuota">resourceQuota.</param>
-        public ResourceAdminDto(Guid id = default(Guid), string pid = default(string), ResourceTypeDto type = default(ResourceTypeDto), string name = default(string), string displayName = default(string), string description = default(string), List<string> keywords = default(List<string>), LicenseDto license = default(LicenseDto), string usageRights = default(string), bool metadataLocalCopy = default(bool), bool metadataExtraction = default(bool), ApplicationProfileMinimalDto applicationProfile = default(ApplicationProfileMinimalDto), Dictionary<string, Dictionary<string, List<FixedValueForResourceManipulationDto>>> fixedValues = default(Dictionary<string, Dictionary<string, List<FixedValueForResourceManipulationDto>>>), List<DisciplineDto> disciplines = default(List<DisciplineDto>), VisibilityDto visibility = default(VisibilityDto), DateTime? dateCreated = default(DateTime?), UserMinimalDto creator = default(UserMinimalDto), bool archived = default(bool), List<ProjectMinimalDto> projects = default(List<ProjectMinimalDto>), bool deleted = default(bool), List<ProjectResourceMinimalDto> projectResources = default(List<ProjectResourceMinimalDto>), ResourceQuotaDto resourceQuota = default(ResourceQuotaDto))
+        public ResourceAdminDto(Guid id = default(Guid), string pid = default(string), ResourceTypeDto type = default(ResourceTypeDto), string name = default(string), string displayName = default(string), string description = default(string), List<string> keywords = default(List<string>), LicenseDto license = default(LicenseDto), string usageRights = default(string), bool metadataLocalCopy = default(bool), bool metadataExtraction = default(bool), ApplicationProfileMinimalDto applicationProfile = default(ApplicationProfileMinimalDto), Dictionary<string, Dictionary<string, List<FixedValueForResourceManipulationDto>>> fixedValues = default(Dictionary<string, Dictionary<string, List<FixedValueForResourceManipulationDto>>>), List<DisciplineDto> disciplines = default(List<DisciplineDto>), VisibilityDto visibility = default(VisibilityDto), DateTime? dateCreated = default(DateTime?), UserMinimalDto creator = default(UserMinimalDto), bool archived = default(bool), bool maintenanceMode = default(bool), List<ProjectMinimalDto> projects = default(List<ProjectMinimalDto>), bool deleted = default(bool), List<ProjectResourceMinimalDto> projectResources = default(List<ProjectResourceMinimalDto>), ResourceQuotaDto resourceQuota = default(ResourceQuotaDto))
         {
             // to ensure "pid" is required (not null)
             if (pid == null)
@@ -134,6 +135,7 @@ namespace Coscine.ApiClient.Core.Model
             this.DateCreated = dateCreated;
             this.Creator = creator;
             this.Archived = archived;
+            this.MaintenanceMode = maintenanceMode;
             this.Projects = projects;
             this.ResourceQuota = resourceQuota;
         }
@@ -200,16 +202,16 @@ namespace Coscine.ApiClient.Core.Model
         public string UsageRights { get; set; }
 
         /// <summary>
-        /// Setting for creating a local copy of the metadata.
+        /// Indicates whether a local copy of the metadata is available for the resource.
         /// </summary>
-        /// <value>Setting for creating a local copy of the metadata.</value>
+        /// <value>Indicates whether a local copy of the metadata is available for the resource.</value>
         [DataMember(Name = "metadataLocalCopy", EmitDefaultValue = true)]
         public bool MetadataLocalCopy { get; set; }
 
         /// <summary>
-        /// Setting for metadata extraction.
+        /// Indicates whether metadata extraction is enabled for the resource.
         /// </summary>
-        /// <value>Setting for metadata extraction.</value>
+        /// <value>Indicates whether metadata extraction is enabled for the resource.</value>
         [DataMember(Name = "metadataExtraction", EmitDefaultValue = true)]
         public bool MetadataExtraction { get; set; }
 
@@ -259,6 +261,13 @@ namespace Coscine.ApiClient.Core.Model
         [DataMember(Name = "archived", EmitDefaultValue = true)]
         public bool Archived { get; set; }
 
+        /// <summary>
+        /// Indicates whether the resource is in maintenance mode.
+        /// </summary>
+        /// <value>Indicates whether the resource is in maintenance mode.</value>
+        [DataMember(Name = "maintenanceMode", EmitDefaultValue = true)]
+        public bool MaintenanceMode { get; set; }
+
         /// <summary>
         /// The projects associated with the resource.
         /// </summary>
@@ -312,6 +321,7 @@ namespace Coscine.ApiClient.Core.Model
             sb.Append("  DateCreated: ").Append(DateCreated).Append("\n");
             sb.Append("  Creator: ").Append(Creator).Append("\n");
             sb.Append("  Archived: ").Append(Archived).Append("\n");
+            sb.Append("  MaintenanceMode: ").Append(MaintenanceMode).Append("\n");
             sb.Append("  Projects: ").Append(Projects).Append("\n");
             sb.Append("  Deleted: ").Append(Deleted).Append("\n");
             sb.Append("  ProjectResources: ").Append(ProjectResources).Append("\n");
diff --git a/src/Coscine.ApiClient.Core/Model/ResourceDto.cs b/src/Coscine.ApiClient.Core/Model/ResourceDto.cs
index 456e690..764dadd 100644
--- a/src/Coscine.ApiClient.Core/Model/ResourceDto.cs
+++ b/src/Coscine.ApiClient.Core/Model/ResourceDto.cs
@@ -49,8 +49,8 @@ namespace Coscine.ApiClient.Core.Model
         /// <param name="keywords">Keywords associated with the resource..</param>
         /// <param name="license">license.</param>
         /// <param name="usageRights">Usage rights associated with the resource..</param>
-        /// <param name="metadataLocalCopy">Setting for creating a local copy of the metadata..</param>
-        /// <param name="metadataExtraction">Setting for metadata extraction..</param>
+        /// <param name="metadataLocalCopy">Indicates whether a local copy of the metadata is available for the resource..</param>
+        /// <param name="metadataExtraction">Indicates whether metadata extraction is enabled for the resource..</param>
         /// <param name="applicationProfile">applicationProfile (required).</param>
         /// <param name="fixedValues">Fixed values associated with resource manipulation.  This dictionary may contain multiple levels and is structured as follows:  Dictionary (Key: string) -&gt; Dictionary (Key: string) -&gt; List of FixedValueForResourceManipulationDto. (required).</param>
         /// <param name="disciplines">Disciplines associated with the resource. (required).</param>
@@ -58,8 +58,9 @@ namespace Coscine.ApiClient.Core.Model
         /// <param name="dateCreated">Date when the resource was created..</param>
         /// <param name="creator">creator.</param>
         /// <param name="archived">Indicates whether the resource is archived..</param>
+        /// <param name="maintenanceMode">Indicates whether the resource is in maintenance mode..</param>
         /// <param name="projects">The projects associated with the resource..</param>
-        public ResourceDto(Guid id = default(Guid), string pid = default(string), ResourceTypeDto type = default(ResourceTypeDto), string name = default(string), string displayName = default(string), string description = default(string), List<string> keywords = default(List<string>), LicenseDto license = default(LicenseDto), string usageRights = default(string), bool metadataLocalCopy = default(bool), bool metadataExtraction = default(bool), ApplicationProfileMinimalDto applicationProfile = default(ApplicationProfileMinimalDto), Dictionary<string, Dictionary<string, List<FixedValueForResourceManipulationDto>>> fixedValues = default(Dictionary<string, Dictionary<string, List<FixedValueForResourceManipulationDto>>>), List<DisciplineDto> disciplines = default(List<DisciplineDto>), VisibilityDto visibility = default(VisibilityDto), DateTime? dateCreated = default(DateTime?), UserMinimalDto creator = default(UserMinimalDto), bool archived = default(bool), List<ProjectMinimalDto> projects = default(List<ProjectMinimalDto>))
+        public ResourceDto(Guid id = default(Guid), string pid = default(string), ResourceTypeDto type = default(ResourceTypeDto), string name = default(string), string displayName = default(string), string description = default(string), List<string> keywords = default(List<string>), LicenseDto license = default(LicenseDto), string usageRights = default(string), bool metadataLocalCopy = default(bool), bool metadataExtraction = default(bool), ApplicationProfileMinimalDto applicationProfile = default(ApplicationProfileMinimalDto), Dictionary<string, Dictionary<string, List<FixedValueForResourceManipulationDto>>> fixedValues = default(Dictionary<string, Dictionary<string, List<FixedValueForResourceManipulationDto>>>), List<DisciplineDto> disciplines = default(List<DisciplineDto>), VisibilityDto visibility = default(VisibilityDto), DateTime? dateCreated = default(DateTime?), UserMinimalDto creator = default(UserMinimalDto), bool archived = default(bool), bool maintenanceMode = default(bool), List<ProjectMinimalDto> projects = default(List<ProjectMinimalDto>))
         {
             // to ensure "pid" is required (not null)
             if (pid == null)
@@ -124,6 +125,7 @@ namespace Coscine.ApiClient.Core.Model
             this.DateCreated = dateCreated;
             this.Creator = creator;
             this.Archived = archived;
+            this.MaintenanceMode = maintenanceMode;
             this.Projects = projects;
         }
 
@@ -189,16 +191,16 @@ namespace Coscine.ApiClient.Core.Model
         public string UsageRights { get; set; }
 
         /// <summary>
-        /// Setting for creating a local copy of the metadata.
+        /// Indicates whether a local copy of the metadata is available for the resource.
         /// </summary>
-        /// <value>Setting for creating a local copy of the metadata.</value>
+        /// <value>Indicates whether a local copy of the metadata is available for the resource.</value>
         [DataMember(Name = "metadataLocalCopy", EmitDefaultValue = true)]
         public bool MetadataLocalCopy { get; set; }
 
         /// <summary>
-        /// Setting for metadata extraction.
+        /// Indicates whether metadata extraction is enabled for the resource.
         /// </summary>
-        /// <value>Setting for metadata extraction.</value>
+        /// <value>Indicates whether metadata extraction is enabled for the resource.</value>
         [DataMember(Name = "metadataExtraction", EmitDefaultValue = true)]
         public bool MetadataExtraction { get; set; }
 
@@ -248,6 +250,13 @@ namespace Coscine.ApiClient.Core.Model
         [DataMember(Name = "archived", EmitDefaultValue = true)]
         public bool Archived { get; set; }
 
+        /// <summary>
+        /// Indicates whether the resource is in maintenance mode.
+        /// </summary>
+        /// <value>Indicates whether the resource is in maintenance mode.</value>
+        [DataMember(Name = "maintenanceMode", EmitDefaultValue = true)]
+        public bool MaintenanceMode { get; set; }
+
         /// <summary>
         /// The projects associated with the resource.
         /// </summary>
@@ -281,6 +290,7 @@ namespace Coscine.ApiClient.Core.Model
             sb.Append("  DateCreated: ").Append(DateCreated).Append("\n");
             sb.Append("  Creator: ").Append(Creator).Append("\n");
             sb.Append("  Archived: ").Append(Archived).Append("\n");
+            sb.Append("  MaintenanceMode: ").Append(MaintenanceMode).Append("\n");
             sb.Append("  Projects: ").Append(Projects).Append("\n");
             sb.Append("}\n");
             return sb.ToString();
diff --git a/src/Coscine.ApiClient.Core/Model/ResourceForUpdateDto.cs b/src/Coscine.ApiClient.Core/Model/ResourceForUpdateDto.cs
index e229212..52146e2 100644
--- a/src/Coscine.ApiClient.Core/Model/ResourceForUpdateDto.cs
+++ b/src/Coscine.ApiClient.Core/Model/ResourceForUpdateDto.cs
@@ -52,7 +52,8 @@ namespace Coscine.ApiClient.Core.Model
         /// <param name="disciplines">The disciplines associated with the resource. (required).</param>
         /// <param name="archived">Indicates whether the resource is archived. (required).</param>
         /// <param name="resourceTypeOptions">resourceTypeOptions.</param>
-        public ResourceForUpdateDto(string name = default(string), string displayName = default(string), string description = default(string), List<string> keywords = default(List<string>), Dictionary<string, Dictionary<string, List<FixedValueForResourceManipulationDto>>> fixedValues = default(Dictionary<string, Dictionary<string, List<FixedValueForResourceManipulationDto>>>), LicenseForResourceManipulationDto license = default(LicenseForResourceManipulationDto), string usageRights = default(string), bool? metadataLocalCopy = default(bool?), VisibilityForResourceManipulationDto visibility = default(VisibilityForResourceManipulationDto), List<DisciplineForResourceManipulationDto> disciplines = default(List<DisciplineForResourceManipulationDto>), bool archived = default(bool), ResourceTypeOptionsForUpdateDto resourceTypeOptions = default(ResourceTypeOptionsForUpdateDto))
+        /// <param name="maintenanceMode">Indicates whether the resource is in maintenance mode..</param>
+        public ResourceForUpdateDto(string name = default(string), string displayName = default(string), string description = default(string), List<string> keywords = default(List<string>), Dictionary<string, Dictionary<string, List<FixedValueForResourceManipulationDto>>> fixedValues = default(Dictionary<string, Dictionary<string, List<FixedValueForResourceManipulationDto>>>), LicenseForResourceManipulationDto license = default(LicenseForResourceManipulationDto), string usageRights = default(string), bool? metadataLocalCopy = default(bool?), VisibilityForResourceManipulationDto visibility = default(VisibilityForResourceManipulationDto), List<DisciplineForResourceManipulationDto> disciplines = default(List<DisciplineForResourceManipulationDto>), bool archived = default(bool), ResourceTypeOptionsForUpdateDto resourceTypeOptions = default(ResourceTypeOptionsForUpdateDto), bool? maintenanceMode = default(bool?))
         {
             // to ensure "name" is required (not null)
             if (name == null)
@@ -86,6 +87,7 @@ namespace Coscine.ApiClient.Core.Model
             this.UsageRights = usageRights;
             this.MetadataLocalCopy = metadataLocalCopy;
             this.ResourceTypeOptions = resourceTypeOptions;
+            this.MaintenanceMode = maintenanceMode;
         }
 
         /// <summary>
@@ -169,6 +171,13 @@ namespace Coscine.ApiClient.Core.Model
         [DataMember(Name = "resourceTypeOptions", EmitDefaultValue = false)]
         public ResourceTypeOptionsForUpdateDto ResourceTypeOptions { get; set; }
 
+        /// <summary>
+        /// Indicates whether the resource is in maintenance mode.
+        /// </summary>
+        /// <value>Indicates whether the resource is in maintenance mode.</value>
+        [DataMember(Name = "maintenanceMode", EmitDefaultValue = true)]
+        public bool? MaintenanceMode { get; set; }
+
         /// <summary>
         /// Returns the string presentation of the object
         /// </summary>
@@ -189,6 +198,7 @@ namespace Coscine.ApiClient.Core.Model
             sb.Append("  Disciplines: ").Append(Disciplines).Append("\n");
             sb.Append("  Archived: ").Append(Archived).Append("\n");
             sb.Append("  ResourceTypeOptions: ").Append(ResourceTypeOptions).Append("\n");
+            sb.Append("  MaintenanceMode: ").Append(MaintenanceMode).Append("\n");
             sb.Append("}\n");
             return sb.ToString();
         }
-- 
GitLab