diff --git a/pkg/harvester/edit/harvesterhci.io.virtualmachineimage.vue b/pkg/harvester/edit/harvesterhci.io.virtualmachineimage.vue index 984e42c9..5256ef6a 100644 --- a/pkg/harvester/edit/harvesterhci.io.virtualmachineimage.vue +++ b/pkg/harvester/edit/harvesterhci.io.virtualmachineimage.vue @@ -245,6 +245,8 @@ export default { async saveImage(buttonCb) { this.value.spec.displayName = (this.value.spec.displayName || '').trim(); + if (this.isEdit) return await this.handleEditImage(buttonCb); + if (this.value.spec.sourceType === UPLOAD && this.isCreate) { try { this.value.spec.url = ''; @@ -269,6 +271,23 @@ export default { } }, + async handleEditImage(buttonCb) { + try { + const data = [{ + op: 'replace', path: '/metadata/labels', value: this.value.metadata.labels + }, { + op: 'replace', path: '/metadata/annotations', value: this.value.metadata.annotations + }]; + + await this.value.patch(data); + buttonCb(true); + this.done(); + } catch (e) { + this.errors = exceptionToErrorsArray(e); + buttonCb(false); + } + }, + setImageLabels(str) { const suffixName = str?.split('/')?.pop() || str;