blob: 6fa33e3ed31b0e5dcd47475a51e2ee7659248a51 [file] [log] [blame]
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
export default {
name: 'config',
title: 'label.configuration',
icon: 'setting-outlined',
permission: ['listConfigurations', 'listInfrastructure'],
children: [
{
name: 'globalsetting',
title: 'label.global.settings',
icon: 'setting-outlined',
docHelp: 'adminguide/index.html#tuning',
permission: ['listConfigurations'],
listView: true,
popup: true,
component: () => import('@/views/setting/ConfigurationTab.vue')
},
{
name: 'ldapsetting',
title: 'label.ldap.configuration',
icon: 'team-outlined',
docHelp: 'adminguide/accounts.html#using-an-ldap-server-for-user-authentication',
permission: ['listLdapConfigurations'],
columns: ['hostname', 'port', 'domainid'],
details: ['hostname', 'port', 'domainid'],
actions: [
{
api: 'addLdapConfiguration',
icon: 'plus-outlined',
label: 'label.configure.ldap',
listView: true,
args: [
'hostname', 'port', 'domainid'
]
},
{
api: 'deleteLdapConfiguration',
icon: 'delete-outlined',
label: 'label.remove.ldap',
message: 'message.remove.ldap',
dataView: true,
args: ['hostname', 'port', 'domainid'],
mapping: {
hostname: {
value: (record) => { return record.hostname }
},
port: {
value: (record) => { return record.port }
},
domainid: {
value: (record) => { return record.domainid }
}
}
}
]
},
{
name: 'oauthsetting',
title: 'label.oauth.configuration',
icon: 'login-outlined',
docHelp: 'adminguide/accounts.html#using-an-ldap-server-for-user-authentication',
permission: ['listOauthProvider'],
columns: ['provider', 'enabled', 'description', 'clientid', 'secretkey', 'redirecturi'],
details: ['provider', 'description', 'enabled', 'clientid', 'secretkey', 'redirecturi'],
actions: [
{
api: 'registerOauthProvider',
icon: 'plus-outlined',
label: 'label.register.oauth',
listView: true,
dataView: false,
args: [
'provider', 'description', 'clientid', 'redirecturi', 'secretkey'
],
mapping: {
provider: {
options: ['google', 'github']
}
}
},
{
api: 'updateOauthProvider',
icon: 'edit-outlined',
label: 'label.edit',
dataView: true,
popup: true,
args: ['description', 'clientid', 'redirecturi', 'secretkey', 'enabled']
},
{
api: 'deleteOauthProvider',
icon: 'delete-outlined',
label: 'label.action.delete.oauth.provider',
message: 'message.action.delete.guest.os',
dataView: true,
popup: true
}
]
},
{
name: 'hypervisorcapability',
title: 'label.hypervisor.capabilities',
icon: 'database-outlined',
docHelp: 'adminguide/hosts.html?highlight=Hypervisor%20capabilities#hypervisor-capabilities',
permission: ['listHypervisorCapabilities'],
columns: ['hypervisor', 'hypervisorversion', 'maxguestslimit', 'maxhostspercluster'],
details: ['hypervisor', 'hypervisorversion', 'maxguestslimit', 'maxdatavolumeslimit', 'maxhostspercluster', 'securitygroupenabled', 'storagemotionenabled'],
actions: [
{
api: 'updateHypervisorCapabilities',
icon: 'edit-outlined',
label: 'label.edit',
dataView: true,
args: ['maxguestslimit']
}
]
},
{
name: 'guestos',
title: 'label.guest.os',
docHelp: 'adminguide/guest_os.html#guest-os',
icon: 'laptop-outlined',
permission: ['listOsTypes', 'listOsCategories'],
columns: ['name', 'oscategoryname', 'isuserdefined'],
details: ['name', 'oscategoryname', 'isuserdefined'],
related: [{
name: 'guestoshypervisormapping',
title: 'label.guest.os.hypervisor.mappings',
param: 'ostypeid'
}],
actions: [
{
api: 'addGuestOs',
icon: 'plus-outlined',
label: 'label.add.guest.os',
listView: true,
dataView: false,
args: ['osdisplayname', 'oscategoryid'],
mapping: {
oscategoryid: {
api: 'listOsCategories',
params: (record) => { return { oscategoryid: record.id } }
}
}
},
{
api: 'updateGuestOs',
icon: 'edit-outlined',
label: 'label.edit',
dataView: true,
popup: true,
args: ['osdisplayname']
},
{
api: 'addGuestOsMapping',
icon: 'link-outlined',
label: 'label.add.guest.os.hypervisor.mapping',
dataView: true,
popup: true,
args: ['ostypeid', 'hypervisor', 'hypervisorversion', 'osnameforhypervisor', 'osmappingcheckenabled', 'forced'],
mapping: {
ostypeid: {
value: (record) => { return record.id }
}
}
},
{
api: 'removeGuestOs',
icon: 'delete-outlined',
label: 'label.action.delete.guest.os',
message: 'message.action.delete.guest.os',
dataView: true,
popup: true
}
]
},
{
name: 'guestoshypervisormapping',
title: 'label.guest.os.hypervisor.mappings',
docHelp: 'adminguide/guest_os.html#guest-os-hypervisor-mapping',
icon: 'api-outlined',
permission: ['listGuestOsMapping'],
columns: ['hypervisor', 'hypervisorversion', 'osdisplayname', 'osnameforhypervisor'],
details: ['hypervisor', 'hypervisorversion', 'osdisplayname', 'osnameforhypervisor', 'isuserdefined'],
filters: ['all', 'kvm', 'vmware', 'xenserver', 'lxc', 'ovm3'],
searchFilters: ['osdisplayname', 'osnameforhypervisor', 'hypervisor', 'hypervisorversion'],
actions: [
{
api: 'addGuestOsMapping',
icon: 'plus-outlined',
label: 'label.add.guest.os.hypervisor.mapping',
listView: true,
dataView: false,
args: ['ostypeid', 'hypervisor', 'hypervisorversion', 'osnameforhypervisor', 'osmappingcheckenabled', 'forced']
},
{
api: 'updateGuestOsMapping',
icon: 'edit-outlined',
label: 'label.edit',
dataView: true,
popup: true,
args: ['osnameforhypervisor', 'osmappingcheckenabled']
},
{
api: 'removeGuestOsMapping',
icon: 'delete-outlined',
label: 'label.action.delete.guest.os.hypervisor.mapping',
message: 'message.action.delete.guest.os.hypervisor.mapping',
dataView: true,
popup: true
}
]
}
]
}