add support for conserve mode
diff --git a/server/src/main/java/com/cloud/network/vpc/VpcManagerImpl.java b/server/src/main/java/com/cloud/network/vpc/VpcManagerImpl.java
index bcf2c61..f46b946 100644
--- a/server/src/main/java/com/cloud/network/vpc/VpcManagerImpl.java
+++ b/server/src/main/java/com/cloud/network/vpc/VpcManagerImpl.java
@@ -1079,6 +1079,11 @@
                 ConfigurationManagerImpl.setField(cmd, "specifyAsNumber", sourceOffering.isSpecifyAsNumber());
             }
 
+            Boolean conserveModeFieldValue = getRawFieldValue(cmd, "conserveMode", Boolean.class);
+            if (conserveModeFieldValue == null) {
+                ConfigurationManagerImpl.setField(cmd, "conserveMode", sourceOffering.isConserveMode());
+            }
+
             if (cmd.getInternetProtocol() == null) {
                 String internetProtocol = vpcOfferingDetailsDao.getDetail(sourceOffering.getId(), ApiConstants.INTERNET_PROTOCOL);
                 if (internetProtocol != null) {
diff --git a/ui/src/views/offering/CloneVpcOffering.vue b/ui/src/views/offering/CloneVpcOffering.vue
index ab83d7d..67ea308 100644
--- a/ui/src/views/offering/CloneVpcOffering.vue
+++ b/ui/src/views/offering/CloneVpcOffering.vue
@@ -212,6 +212,12 @@
             </a-select-option>
           </a-select>
         </a-form-item>
+        <a-form-item name="conservemode" ref="conservemode">
+          <template #label>
+            <tooltip-label :title="$t('label.conservemode')" :tooltip="apiParams.conservemode.description"/>
+          </template>
+          <a-switch v-model:checked="form.conservemode" />
+        </a-form-item>
         <a-form-item name="ispublic" ref="ispublic" :label="$t('label.ispublic')" v-if="isAdmin()">
           <a-switch v-model:checked="form.ispublic" @change="val => { isPublic = val }" />
         </a-form-item>
@@ -308,7 +314,6 @@
     return {
       selectedDomains: [],
       selectedZones: [],
-      isConserveMode: true,
       internetProtocolValue: 'ipv4',
       domains: [],
       domainLoading: false,
@@ -856,6 +861,10 @@
           params.enable = values.enable
         }
 
+        if (values.conservemode !== undefined) {
+          params.conservemode = values.conservemode
+        }
+
         this.loading = true
         postAPI('cloneVPCOffering', params).then(json => {
           this.$message.success(`${this.$t('message.success.clone.vpc.offering')} ${values.name}`)