Skip to content

Commit f28b655

Browse files
committed
add create backup offering support to the GUI
1 parent 013f862 commit f28b655

5 files changed

Lines changed: 333 additions & 2 deletions

File tree

ui/public/locales/en.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -395,6 +395,8 @@
395395
"label.allocatedonly": "Allocated",
396396
"label.allocationstate": "Allocation state",
397397
"label.allow": "Allow",
398+
"label.allowextractfile": "Allow extract file",
399+
"label.allowquickrestore": "Allow quick restore",
398400
"label.allowedroletypes": "Allowed Role Types",
399401
"label.allow.duplicate.macaddresses": "Allow duplicate MAC addresses",
400402
"label.allowuserdrivenbackups": "Allow User driven backups",
@@ -462,6 +464,7 @@
462464
"label.backups": "Backups",
463465
"label.backup.attach.restore": "Restore and attach backup volume",
464466
"label.backup.configure.schedule": "Configure Backup Schedule",
467+
"label.backupchainsize": "Backup chain size",
465468
"label.backup.offering.assign": "Assign Instance to backup offering",
466469
"label.backup.offering.remove": "Remove Instance from backup offering",
467470
"label.backup.offerings": "Backup Offerings",
@@ -609,7 +612,9 @@
609612
"label.community": "Community",
610613
"label.complete": "Complete",
611614
"label.completed": "Completed",
615+
"label.compress": "Compress",
612616
"label.compressionstatus": "Compression status",
617+
"label.compressionlibrary": "Compression library",
613618
"label.compute": "Compute",
614619
"label.compute.offerings": "Compute Offerings",
615620
"label.compute.offering.for.sharedfs.instance": "Compute Offering for Instance",
@@ -696,6 +701,7 @@
696701
"label.create.account": "Create Account",
697702
"label.create.asnrange": "Create AS Range",
698703
"label.create.backup": "Start Backup",
704+
"label.create.backup.offering": "Create Backup Offering",
699705
"label.create.extension": "Create Extension",
700706
"label.create.sharedfs": "Create Shared FileSystem",
701707
"label.create.network": "Create new Network",
@@ -2725,8 +2731,10 @@
27252731
"label.utilization": "Utilization",
27262732
"label.uuid": "ID",
27272733
"label.value": "Value",
2734+
"label.validate": "Validate",
27282735
"label.validationformat": "Validation Format",
27292736
"label.validationstatus": "Validation status",
2737+
"label.validationsteps": "Validation steps",
27302738
"label.valueoptions": "Values Options",
27312739
"label.vcenter": "VMware datacenter vCenter",
27322740
"label.vcenter.datacenter": "vCenter datacenter",

ui/public/locales/pt_BR.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -434,6 +434,7 @@
434434
"label.backup.storage": "Armazenamento de backup",
435435
"label.backupstoragelimit": "Limite de armazenamento de backup (GiB)",
436436
"label.backup.configure.schedule": "Configurar Agendamento de Backup",
437+
"label.backupchainsize": "Tamanho da cadeia de backup",
437438
"label.backup.offering.assign": "Atribuir VM a oferta de backup",
438439
"label.backup.offering.remove": "Remover VM de oferta de backup",
439440
"label.backup.offerings": "Ofertas de backup",
@@ -549,7 +550,9 @@
549550
"label.communities": "Comunidades",
550551
"label.community": "Comunidade",
551552
"label.complete": "Complete",
553+
"label.compress": "Comprimir",
552554
"label.compressionstatus": "Estado de compress\u00e3o",
555+
"label.compressionlibrary": "Biblioteca de compress\u00e3o",
553556
"label.compute": "Computa\u00e7\u00e3o",
554557
"label.compute.offerings": "Oferta de computa\u00e7\u00e3o",
555558
"label.compute.offering.for.sharedfs.instance": "Oferta de computa\u00e7\u00e3o para Inst\u00e2ncia",
@@ -627,6 +630,7 @@
627630
"label.create.account": "Criar conta",
628631
"label.create.asnrange": "Criar faixa de número AS",
629632
"label.create.backup": "Iniciar backup",
633+
"label.create.backup.offering": "Criar oferta de backup",
630634
"label.create.bucket": "Criar Bucket",
631635
"label.create.instance": "Criar inst\u00e2ncia na nuvem",
632636
"label.create.instance.from.backup": "Criar nova inst\u00e2ncia a partir de backup",
@@ -2471,7 +2475,9 @@
24712475
"label.utilization": "Utiliza\u00e7\u00e3o",
24722476
"label.uuid": "ID",
24732477
"label.value": "Valor",
2478+
"label.validate": "Validar",
24742479
"label.validationstatus": "Estado de valida\u00E7\u00E3o",
2480+
"label.validationsteps": "Passos de valida\u00E7\u00E3o",
24752481
"label.vcenter": "vcenter",
24762482
"label.vcenter.datacenter": "Datacenter vCenter",
24772483
"label.vcenter.datastore": "Datastore vCenter",

ui/src/components/view/DetailsTab.vue

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,19 @@
207207
</div>
208208
</div>
209209
</a-list-item>
210+
<div v-else-if="item === 'backupofferingdetails'">
211+
<a-list-item
212+
v-for="(value, key) in dataResource[item]"
213+
:key="key">
214+
<div>
215+
<strong>{{ $t('label.' + String(key).toLowerCase()) }}</strong>
216+
<br/>
217+
<div>
218+
{{ value }}
219+
</div>
220+
</div>
221+
</a-list-item>
222+
</div>
210223
<external-configuration-details
211224
v-else-if="item === 'externaldetails' && (['host', 'computeoffering'].includes($route.meta.name) || (['cluster'].includes($route.meta.name) && dataResource.extensionid))"
212225
:resource="dataResource" />
@@ -270,7 +283,7 @@ export default {
270283
},
271284
computed: {
272285
customDisplayItems () {
273-
var items = ['ip4routes', 'ip6routes', 'privatemtu', 'publicmtu', 'provider', 'details', 'parameters']
286+
var items = ['ip4routes', 'ip6routes', 'privatemtu', 'publicmtu', 'provider', 'details', 'parameters', 'backupofferingdetails']
274287
if (this.$route.meta.name === 'webhookdeliveries') {
275288
items.push('startdate')
276289
items.push('enddate')

ui/src/config/section/offering.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -367,7 +367,7 @@ export default {
367367
permission: ['listBackupOfferings'],
368368
searchFilters: ['zoneid', 'domainid'],
369369
columns: ['name', 'description', 'domain', 'zonename'],
370-
details: ['name', 'id', 'description', 'externalid', 'domain', 'zone', 'allowuserdrivenbackups', 'created'],
370+
details: ['name', 'id', 'description', 'externalid', 'domain', 'zone', 'allowuserdrivenbackups', 'created', 'backupofferingdetails'],
371371
related: [{
372372
name: 'vm',
373373
title: 'label.instances',
@@ -393,6 +393,13 @@ export default {
393393
listView: true,
394394
popup: true,
395395
component: shallowRef(defineAsyncComponent(() => import('@/views/offering/ImportBackupOffering.vue')))
396+
}, {
397+
api: 'createBackupOffering',
398+
icon: 'plus-outlined',
399+
label: 'label.create.backup.offering',
400+
listView: true,
401+
popup: true,
402+
component: shallowRef(defineAsyncComponent(() => import('@/views/offering/CreateBackupOffering.vue')))
396403
}, {
397404
api: 'updateBackupOffering',
398405
icon: 'edit-outlined',

0 commit comments

Comments
 (0)