diff --git a/ui/public/locales/en.json b/ui/public/locales/en.json
index 8f2c9fa6d15..393a9067c71 100644
--- a/ui/public/locales/en.json
+++ b/ui/public/locales/en.json
@@ -398,6 +398,7 @@
"label.backup.offering.assign": "Assign Instance to backup offering",
"label.backup.offering.remove": "Remove Instance from backup offering",
"label.backup.offerings": "Backup offerings",
+"label.backup.repository": "Backup Repository",
"label.backup.restore": "Restore Instance backup",
"label.backupofferingid": "Backup offering",
"label.backupofferingname": "Backup offering",
diff --git a/ui/src/components/view/ListResourceTable.vue b/ui/src/components/view/ListResourceTable.vue
index a7e805b5443..001c81aa043 100644
--- a/ui/src/components/view/ListResourceTable.vue
+++ b/ui/src/components/view/ListResourceTable.vue
@@ -50,6 +50,10 @@
{{ $toLocaleDate(text) }}
+
+ {{ parseFloat(text / (1024.0 * 1024.0 * 1024.0)).toFixed(2) }} GB
+
+
{{ text }}
diff --git a/ui/src/components/view/ListView.vue b/ui/src/components/view/ListView.vue
index 2a379b5bf52..11035b95d68 100644
--- a/ui/src/components/view/ListView.vue
+++ b/ui/src/components/view/ListView.vue
@@ -174,7 +174,7 @@
{{ text }}
{{ text }}
-
+
{{ text }}
diff --git a/ui/src/config/section/config.js b/ui/src/config/section/config.js
index 8f792e51ac9..9c21f62027a 100644
--- a/ui/src/config/section/config.js
+++ b/ui/src/config/section/config.js
@@ -131,6 +131,27 @@ export default {
}
]
},
+ {
+ name: 'backuprepository',
+ title: 'label.backup.repository',
+ icon: 'inbox-outlined',
+ docHelp: 'adminguide/backup_and_recovery.html',
+ permission: ['listBackupRepositories'],
+ searchFilters: ['zoneid'],
+ columns: ['name', 'type', 'address', 'provider', 'zoneid'],
+ details: ['name', 'type', 'address', 'provider', 'zoneid'],
+ actions: [
+ {
+ api: 'addBackupRepository',
+ icon: 'plus-outlined',
+ label: 'label.backup.repository.add',
+ listView: true,
+ args: [
+ 'name', 'provider', 'address', 'opts', 'zoneid'
+ ]
+ }
+ ]
+ },
{
name: 'hypervisorcapability',
title: 'label.hypervisor.capabilities',
diff --git a/ui/src/config/section/storage.js b/ui/src/config/section/storage.js
index 28c451105a1..7a83d1b3801 100644
--- a/ui/src/config/section/storage.js
+++ b/ui/src/config/section/storage.js
@@ -412,7 +412,7 @@ export default {
title: 'label.backup',
icon: 'cloud-upload-outlined',
permission: ['listBackups'],
- columns: [{ name: (record) => { return record.virtualmachinename } }, 'status', 'virtualmachinename', 'type', 'created', 'account', 'domain', 'zone'],
+ columns: [{ name: (record) => { return record.virtualmachinename } }, 'status', 'size', 'virtualsize', 'type', 'created', 'account', 'domain', 'zone'],
details: ['virtualmachinename', 'id', 'type', 'externalid', 'size', 'virtualsize', 'volumes', 'backupofferingname', 'zone', 'account', 'domain', 'created'],
actions: [
{
diff --git a/ui/src/views/compute/InstanceTab.vue b/ui/src/views/compute/InstanceTab.vue
index 5f08145a4ce..33fa92bf80c 100644
--- a/ui/src/views/compute/InstanceTab.vue
+++ b/ui/src/views/compute/InstanceTab.vue
@@ -113,8 +113,8 @@
apiName="listBackups"
:resource="resource"
:params="{virtualmachineid: dataResource.id}"
- :columns="['id', 'status', 'type', 'created']"
- :routerlinks="(record) => { return { id: '/backup/' + record.id } }"
+ :columns="['created', 'status', 'type', 'size', 'virtualsize']"
+ :routerlinks="(record) => { return { created: '/backup/' + record.id } }"
:showSearch="false"/>