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}`)