This PR aligns the use of terminology, renaming VM / virtual machine references to 'Instance' and also capitalising the terms Templates, Network, Snapshot, User, Account in CloudStack UI. “VM snapshots” moved under the “Compute” main menu, and renamed to “Instance Snapshots”. “Snapshots” (under Storage section) renamed to “Volume Snapshots”.
This commit is contained in:
vladimirpetrov 2023-11-03 14:48:40 +02:00 committed by GitHub
parent 6afffe1e17
commit 121531e2c3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 570 additions and 570 deletions

View File

@ -651,7 +651,7 @@
"label.level": "Level",
"label.limitcpuuse": "CPU Cap",
"label.link.domain.to.ldap": "Link Domain to LDAP",
"label.linklocalip": "Link Local IP Address",
"label.linklocalip": "Control IP Address",
"label.load.balancer": "Load Balancer",
"label.loadbalancerinstance": "Assigned VMs",
"label.loadbalancerrule": "Load balancing rule",

View File

@ -651,7 +651,7 @@
"label.level": "Level",
"label.limitcpuuse": "CPU Cap",
"label.link.domain.to.ldap": "Link Domain to LDAP",
"label.linklocalip": "Link Local IP Address",
"label.linklocalip": "Control IP Address",
"label.load.balancer": "Load Balancer",
"label.loadbalancerinstance": "Assigned VMs",
"label.loadbalancerrule": "Load balancing rule",

File diff suppressed because it is too large Load Diff

View File

@ -651,7 +651,7 @@
"label.level": "Szint",
"label.limitcpuuse": "CPU Cap",
"label.link.domain.to.ldap": "Link Domain to LDAP",
"label.linklocalip": "Link Local IP Address",
"label.linklocalip": "Control IP Address",
"label.load.balancer": "Terhel\u00e9seloszt\u00f3",
"label.loadbalancerinstance": "Hozz\u00e1rendelt VM-ek",
"label.loadbalancerrule": "Terhel\u00e9seloszt\u00f3 szab\u00e1ly",

View File

@ -651,7 +651,7 @@
"label.level": "Livello",
"label.limitcpuuse": "Limite CPU",
"label.link.domain.to.ldap": "Link Domain to LDAP",
"label.linklocalip": "Link Local IP Address",
"label.linklocalip": "Control IP Address",
"label.load.balancer": "Load Balancer",
"label.loadbalancerinstance": "Assigned VMs",
"label.loadbalancerrule": "Load balancing rule",

View File

@ -652,7 +652,7 @@
"label.level": "Level",
"label.limitcpuuse": "CPU Cap",
"label.link.domain.to.ldap": "link domein aan LDAP",
"label.linklocalip": "Link Local IP Adres",
"label.linklocalip": "Control IP Adres",
"label.load.balancer": "Load Balancer",
"label.loadbalancerinstance": "toegewezen VMs",
"label.loadbalancerrule": "load balancing regel",

View File

@ -651,7 +651,7 @@
"label.level": "Poziom",
"label.limitcpuuse": "CPU Cap",
"label.link.domain.to.ldap": "Link Domain to LDAP",
"label.linklocalip": "Link Local IP Address",
"label.linklocalip": "Control IP Address",
"label.load.balancer": "Load Balancer",
"label.loadbalancerinstance": "Assigned VMs",
"label.loadbalancerrule": "Load balancing rule",

View File

@ -928,7 +928,7 @@
"label.limitcpuuse": "Limite da CPU",
"label.limits": "Configurar limites",
"label.link.domain.to.ldap": "Link dom\u00ednio para LDAP",
"label.linklocalip": "Endere\u00e7o IP do link local",
"label.linklocalip": "Endere\u00e7o IP do Control",
"label.linux": "Linux",
"label.list.ciscoasa1000v": "ASA 1000v",
"label.list.ciscovnmc": "Cisco VNMC",

View File

@ -454,6 +454,77 @@ export default {
}
]
},
{
name: 'vmsnapshot',
title: 'label.vm.snapshots',
icon: 'camera-outlined',
docHelp: 'adminguide/storage.html#working-with-volume-snapshots',
permission: ['listVMSnapshot'],
resourceType: 'VMSnapshot',
columns: () => {
const fields = ['displayname', 'state', 'name', 'type', 'current', 'parentName', 'created']
if (['Admin', 'DomainAdmin'].includes(store.getters.userInfo.roletype)) {
fields.push('domain')
fields.push('account')
}
return fields
},
details: ['name', 'id', 'displayname', 'description', 'type', 'current', 'parentName', 'virtualmachineid', 'account', 'domain', 'created'],
searchFilters: ['name', 'domainid', 'account', 'tags'],
tabs: [
{
name: 'details',
component: shallowRef(defineAsyncComponent(() => import('@/components/view/DetailsTab.vue')))
},
{
name: 'comments',
component: shallowRef(defineAsyncComponent(() => import('@/components/view/AnnotationsTab.vue')))
}
],
actions: [
{
api: 'createSnapshotFromVMSnapshot',
icon: 'camera-outlined',
label: 'label.action.create.snapshot.from.vmsnapshot',
message: 'message.action.create.snapshot.from.vmsnapshot',
dataView: true,
popup: true,
show: (record) => { return (record.state === 'Ready' && record.hypervisor === 'KVM') },
component: shallowRef(defineAsyncComponent(() => import('@/views/storage/CreateSnapshotFromVMSnapshot.vue')))
},
{
api: 'revertToVMSnapshot',
icon: 'sync-outlined',
label: 'label.action.vmsnapshot.revert',
message: 'label.action.vmsnapshot.revert',
dataView: true,
show: (record) => { return record.state === 'Ready' },
args: ['vmsnapshotid'],
mapping: {
vmsnapshotid: {
value: (record) => { return record.id }
}
}
},
{
api: 'deleteVMSnapshot',
icon: 'delete-outlined',
label: 'label.action.vmsnapshot.delete',
message: 'message.action.vmsnapshot.delete',
dataView: true,
show: (record) => { return ['Ready', 'Expunging', 'Error'].includes(record.state) },
args: ['vmsnapshotid'],
mapping: {
vmsnapshotid: {
value: (record) => { return record.id }
}
},
groupAction: true,
popup: true,
groupMap: (selection) => { return selection.map(x => { return { vmsnapshotid: x } }) }
}
]
},
{
name: 'kubernetes',
title: 'label.kubernetes',

View File

@ -387,77 +387,6 @@ export default {
}
]
},
{
name: 'vmsnapshot',
title: 'label.vm.snapshots',
icon: 'camera-outlined',
docHelp: 'adminguide/storage.html#working-with-volume-snapshots',
permission: ['listVMSnapshot'],
resourceType: 'VMSnapshot',
columns: () => {
const fields = ['displayname', 'state', 'name', 'type', 'current', 'parentName', 'created']
if (['Admin', 'DomainAdmin'].includes(store.getters.userInfo.roletype)) {
fields.push('account')
fields.push('domain')
}
return fields
},
details: ['name', 'id', 'displayname', 'description', 'type', 'current', 'parentName', 'virtualmachineid', 'account', 'domain', 'created'],
searchFilters: ['name', 'domainid', 'account', 'tags'],
tabs: [
{
name: 'details',
component: shallowRef(defineAsyncComponent(() => import('@/components/view/DetailsTab.vue')))
},
{
name: 'comments',
component: shallowRef(defineAsyncComponent(() => import('@/components/view/AnnotationsTab.vue')))
}
],
actions: [
{
api: 'createSnapshotFromVMSnapshot',
icon: 'camera-outlined',
label: 'label.action.create.snapshot.from.vmsnapshot',
message: 'message.action.create.snapshot.from.vmsnapshot',
dataView: true,
popup: true,
show: (record) => { return (record.state === 'Ready' && record.hypervisor === 'KVM') },
component: shallowRef(defineAsyncComponent(() => import('@/views/storage/CreateSnapshotFromVMSnapshot.vue')))
},
{
api: 'revertToVMSnapshot',
icon: 'sync-outlined',
label: 'label.action.vmsnapshot.revert',
message: 'label.action.vmsnapshot.revert',
dataView: true,
show: (record) => { return record.state === 'Ready' },
args: ['vmsnapshotid'],
mapping: {
vmsnapshotid: {
value: (record) => { return record.id }
}
}
},
{
api: 'deleteVMSnapshot',
icon: 'delete-outlined',
label: 'label.action.vmsnapshot.delete',
message: 'message.action.vmsnapshot.delete',
dataView: true,
show: (record) => { return ['Ready', 'Expunging', 'Error'].includes(record.state) },
args: ['vmsnapshotid'],
mapping: {
vmsnapshotid: {
value: (record) => { return record.id }
}
},
groupAction: true,
popup: true,
groupMap: (selection) => { return selection.map(x => { return { vmsnapshotid: x } }) }
}
]
},
{
name: 'backup',
title: 'label.backup',