9292 </a-textarea >
9393 </a-form-item >
9494 <a-form-item ref =" securitygroupids" name =" securitygroupids" :label =" $t('label.security.groups')" v-if =" securityGroupNetworkProviderUseThisVM" >
95+ <a-form-item v-if =" extraConfigEnabled" >
96+ <template #label >
97+ <tooltip-label :title =" $t('label.extraconfig')" :tooltip =" $t('label.extraconfig.tooltip')" />
98+ </template >
99+ <a-textarea v-model:value =" form.extraconfig" />
100+ </a-form-item >
101+ <a-form-item ref =" securitygroupids" name =" securitygroupids" :label =" $t('label.security.groups')" v-if =" securityGroupsEnabled" >
95102 <a-select
96103 mode =" multiple"
97104 v-model:value =" form.securitygroupids"
@@ -204,6 +211,19 @@ export default {
204211 }
205212 }
206213 },
214+ computed: {
215+ extraConfigEnabled () {
216+ return this .$store .getters .features .additionalconfigenabled
217+ },
218+ combinedExtraConfig () {
219+ if (! this .extraConfigEnabled || ! this .resource .details ) return ' '
220+ const configs = Object .keys (this .resource .details )
221+ .filter (key => key .startsWith (' extraconfig-' ))
222+ .map (key => this .resource .details [key] || ' ' )
223+ .filter (val => val .trim ())
224+ return configs .join (' \n\n ' )
225+ }
226+ },
207227 beforeCreate () {
208228 this .apiParams = this .$getApiParams (' updateVirtualMachine' )
209229 },
@@ -224,7 +244,8 @@ export default {
224244 userdata: ' ' ,
225245 haenable: this .resource .haenable ,
226246 leaseduration: this .resource .leaseduration ,
227- leaseexpiryaction: this .resource .leaseexpiryaction
247+ leaseexpiryaction: this .resource .leaseexpiryaction ,
248+ extraconfig: this .combinedExtraConfig
228249 })
229250 this .rules = reactive ({
230251 leaseduration: [this .naturalNumberRule ]
@@ -404,6 +425,9 @@ export default {
404425 if (values .leaseexpiryaction !== undefined ) {
405426 params .leaseexpiryaction = values .leaseexpiryaction
406427 }
428+ }
429+ if (values .extraconfig && values .extraconfig .length > 0 ) {
430+ params .extraconfig = encodeURIComponent (values .extraconfig )
407431 }
408432 this .loading = true
409433
0 commit comments