9191 <a-textarea v-model:value =" form.userdata" >
9292 </a-textarea >
9393 </a-form-item >
94+ <a-form-item v-if =" extraConfigEnabled" >
95+ <template #label >
96+ <tooltip-label :title =" $t('label.extraconfig')" :tooltip =" $t('label.extraconfig.tooltip')" />
97+ </template >
98+ <a-textarea v-model:value =" form.extraconfig" />
99+ </a-form-item >
94100 <a-form-item ref =" securitygroupids" name =" securitygroupids" :label =" $t('label.security.groups')" v-if =" securityGroupsEnabled" >
95101 <a-select
96102 mode =" multiple"
@@ -179,6 +185,7 @@ export default {
179185 serviceOffering: {},
180186 template: {},
181187 userDataEnabled: false ,
188+ extraConfigEnabled: false ,
182189 securityGroupsEnabled: false ,
183190 loading: false ,
184191 securitygroups: {
@@ -224,7 +231,8 @@ export default {
224231 userdata: ' ' ,
225232 haenable: this .resource .haenable ,
226233 leaseduration: this .resource .leaseduration ,
227- leaseexpiryaction: this .resource .leaseexpiryaction
234+ leaseexpiryaction: this .resource .leaseexpiryaction ,
235+ extraconfig: ' '
228236 })
229237 this .rules = reactive ({
230238 leaseduration: [this .naturalNumberRule ]
@@ -239,6 +247,7 @@ export default {
239247 this .fetchServiceOfferingData ()
240248 this .fetchTemplateData ()
241249 this .fetchUserData ()
250+ this .fetchExtraConfigEnabled ()
242251 },
243252 fetchZoneDetails () {
244253 getAPI (' listZones' , {
@@ -371,6 +380,17 @@ export default {
371380 })
372381 })
373382 },
383+ fetchExtraConfigEnabled () {
384+ getAPI (' listConfigurations' , {
385+ accountid: this .$store .getters .userInfo .accountid ,
386+ name: ' enable.additional.vm.configuration'
387+ }).then (json => {
388+ const configResponse = json .listconfigurationsresponse .configuration || []
389+ this .extraConfigEnabled = configResponse[0 ]? .value === ' true'
390+ }).catch (error => {
391+ this .$notifyError (error)
392+ })
393+ },
374394 handleSubmit () {
375395 this .formRef .value .validate ().then (() => {
376396 const values = toRaw (this .form )
@@ -397,6 +417,9 @@ export default {
397417 if (values .userdata && values .userdata .length > 0 ) {
398418 params .userdata = this .$toBase64AndURIEncoded (values .userdata )
399419 }
420+ if (values .extraconfig && values .extraconfig .length > 0 ) {
421+ params .extraconfig = encodeURIComponent (values .extraconfig )
422+ }
400423 if (values .leaseduration !== undefined && (values .leaseduration === - 1 || values .leaseduration > 0 )) {
401424 params .leaseduration = values .leaseduration
402425 if (values .leaseexpiryaction !== undefined ) {
0 commit comments