mirror of https://github.com/apache/cloudstack.git
266 lines
8.6 KiB
JavaScript
266 lines
8.6 KiB
JavaScript
// 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: 'offering',
|
|
title: 'Offerings',
|
|
icon: 'shopping',
|
|
permission: ['listServiceOfferings'],
|
|
children: [
|
|
{
|
|
name: 'computeoffering',
|
|
title: 'Compute Offerings',
|
|
icon: 'cloud',
|
|
permission: ['listServiceOfferings'],
|
|
params: { isrecursive: 'true' },
|
|
columns: ['name', 'displaytext', 'cpunumber', 'cpuspeed', 'memory', 'tags', 'domain', 'zone', 'order'],
|
|
details: ['name', 'id', 'displaytext', 'offerha', 'provisioningtype', 'storagetype', 'iscustomized', 'limitcpuuse', 'cpunumber', 'cpuspeed', 'memory', 'tags', 'domain', 'zone', 'created'],
|
|
related: [{
|
|
name: 'vm',
|
|
title: 'Instances',
|
|
param: 'serviceofferingid'
|
|
}],
|
|
actions: [{
|
|
api: 'createServiceOffering',
|
|
icon: 'plus',
|
|
label: 'Add Offering',
|
|
listView: true,
|
|
popup: true,
|
|
component: () => import('@/views/offering/AddComputeOffering.vue')
|
|
}, {
|
|
api: 'updateServiceOffering',
|
|
icon: 'edit',
|
|
label: 'Edit Offering',
|
|
dataView: true,
|
|
args: ['name', 'displaytext']
|
|
}, {
|
|
api: 'updateServiceOffering',
|
|
icon: 'lock',
|
|
label: 'Update Offering Access',
|
|
dataView: true,
|
|
popup: true,
|
|
component: () => import('@/views/offering/UpdateOfferingAccess.vue')
|
|
}, {
|
|
api: 'deleteServiceOffering',
|
|
icon: 'delete',
|
|
label: 'Delete Offering',
|
|
dataView: true
|
|
}]
|
|
},
|
|
{
|
|
name: 'systemoffering',
|
|
title: 'System Offerings',
|
|
icon: 'setting',
|
|
permission: ['listServiceOfferings', 'listInfrastructure'],
|
|
params: { issystem: 'true', isrecursive: 'true' },
|
|
columns: ['name', 'systemvmtype', 'cpunumber', 'cpuspeed', 'memory', 'storagetype', 'tags', 'order'],
|
|
details: ['name', 'id', 'displaytext', 'systemvmtype', 'provisioningtype', 'storagetype', 'iscustomized', 'limitcpuuse', 'cpunumber', 'cpuspeed', 'memory', 'tags', 'domain', 'zone', 'created'],
|
|
actions: [{
|
|
api: 'createServiceOffering',
|
|
icon: 'plus',
|
|
label: 'Add Offering',
|
|
listView: true,
|
|
params: { issystem: 'true' },
|
|
popup: true,
|
|
component: () => import('@/views/offering/AddComputeOffering.vue')
|
|
}, {
|
|
api: 'updateServiceOffering',
|
|
icon: 'edit',
|
|
label: 'Edit Offering',
|
|
dataView: true,
|
|
params: { issystem: 'true' },
|
|
args: ['name', 'displaytext']
|
|
}, {
|
|
api: 'deleteServiceOffering',
|
|
icon: 'delete',
|
|
label: 'Delete Offering',
|
|
dataView: true,
|
|
params: { issystem: 'true' }
|
|
}]
|
|
},
|
|
{
|
|
name: 'diskoffering',
|
|
title: 'Disk Offerings',
|
|
icon: 'hdd',
|
|
permission: ['listDiskOfferings'],
|
|
params: { isrecursive: 'true' },
|
|
columns: ['name', 'displaytext', 'disksize', 'tags', 'domain', 'zone', 'order'],
|
|
details: ['name', 'id', 'displaytext', 'disksize', 'provisioningtype', 'storagetype', 'iscustomized', 'tags', 'domain', 'zone', 'created'],
|
|
related: [{
|
|
name: 'volume',
|
|
title: 'Volumes',
|
|
param: 'diskofferingid'
|
|
}],
|
|
actions: [{
|
|
api: 'createDiskOffering',
|
|
icon: 'plus',
|
|
label: 'Add Offering',
|
|
listView: true,
|
|
popup: true,
|
|
component: () => import('@/views/offering/AddDiskOffering.vue')
|
|
}, {
|
|
api: 'updateDiskOffering',
|
|
icon: 'edit',
|
|
label: 'Edit Offering',
|
|
dataView: true,
|
|
args: ['name', 'displaytext']
|
|
}, {
|
|
api: 'updateDiskOffering',
|
|
icon: 'lock',
|
|
label: 'Update Offering Access',
|
|
dataView: true,
|
|
popup: true,
|
|
component: () => import('@/views/offering/UpdateOfferingAccess.vue')
|
|
}, {
|
|
api: 'deleteDiskOffering',
|
|
icon: 'delete',
|
|
label: 'Delete Offering',
|
|
dataView: true
|
|
}]
|
|
},
|
|
{
|
|
name: 'networkoffering',
|
|
title: 'Network Offerings',
|
|
icon: 'wifi',
|
|
permission: ['listNetworkOfferings'],
|
|
params: { isrecursive: 'true' },
|
|
columns: ['name', 'state', 'guestiptype', 'traffictype', 'networkrate', 'tags', 'domain', 'zone', 'order'],
|
|
details: ['name', 'id', 'displaytext', 'guestiptype', 'traffictype', 'networkrate', 'ispersistent', 'egressdefaultpolicy', 'availability', 'conservemode', 'specifyvlan', 'specifyipranges', 'supportspublicaccess', 'supportsstrechedl2subnet', 'tags', 'service', 'domain', 'zone'],
|
|
actions: [{
|
|
api: 'createNetworkOffering',
|
|
icon: 'plus',
|
|
label: 'Add Offering',
|
|
listView: true,
|
|
popup: true,
|
|
component: () => import('@/views/offering/AddNetworkOffering.vue')
|
|
}, {
|
|
api: 'updateNetworkOffering',
|
|
icon: 'edit',
|
|
label: 'Edit Offering',
|
|
dataView: true,
|
|
args: ['name', 'displaytext', 'availability'],
|
|
mapping: {
|
|
availability: {
|
|
options: ['Optional', 'Required']
|
|
}
|
|
}
|
|
}, {
|
|
api: 'updateNetworkOffering',
|
|
icon: 'play-circle',
|
|
label: 'Enable Offering',
|
|
dataView: true,
|
|
show: (record) => { return record.state === 'Disabled' },
|
|
args: ['state'],
|
|
mapping: {
|
|
state: {
|
|
value: (record) => { return 'Enabled' }
|
|
}
|
|
}
|
|
}, {
|
|
api: 'updateNetworkOffering',
|
|
icon: 'pause-circle',
|
|
label: 'Disable Offering',
|
|
dataView: true,
|
|
show: (record) => { return record.state === 'Enabled' },
|
|
args: ['state'],
|
|
mapping: {
|
|
state: {
|
|
value: (record) => { return 'Disabled' }
|
|
}
|
|
}
|
|
}, {
|
|
api: 'updateNetworkOffering',
|
|
icon: 'lock',
|
|
label: 'Update Offering Access',
|
|
dataView: true,
|
|
popup: true,
|
|
component: () => import('@/views/offering/UpdateOfferingAccess.vue')
|
|
}, {
|
|
api: 'deleteNetworkOffering',
|
|
icon: 'delete',
|
|
label: 'Delete Offering',
|
|
dataView: true
|
|
}]
|
|
},
|
|
{
|
|
name: 'vpcoffering',
|
|
title: 'VPC Offerings',
|
|
icon: 'deployment-unit',
|
|
permission: ['listVPCOfferings'],
|
|
params: { isrecursive: 'true' },
|
|
resourceType: 'VpcOffering',
|
|
columns: ['name', 'state', 'displaytext', 'domain', 'zone', 'order'],
|
|
details: ['name', 'id', 'displaytext', 'distributedvpcrouter', 'tags', 'service', 'domain', 'zone', 'created'],
|
|
related: [{
|
|
name: 'vpc',
|
|
title: 'VPCs',
|
|
param: 'vpcofferingid'
|
|
}],
|
|
actions: [{
|
|
api: 'createVPCOffering',
|
|
icon: 'plus',
|
|
label: 'Add Offering',
|
|
listView: true,
|
|
popup: true,
|
|
component: () => import('@/views/offering/AddVpcOffering.vue')
|
|
}, {
|
|
api: 'updateVPCOffering',
|
|
icon: 'edit',
|
|
label: 'Edit Offering',
|
|
dataView: true,
|
|
args: ['name', 'displaytext']
|
|
}, {
|
|
api: 'updateVPCOffering',
|
|
icon: 'play-circle',
|
|
label: 'Enable Offering',
|
|
dataView: true,
|
|
show: (record) => { return record.state === 'Disabled' },
|
|
args: ['state'],
|
|
mapping: {
|
|
state: {
|
|
value: (record) => { return 'Enabled' }
|
|
}
|
|
}
|
|
}, {
|
|
api: 'updateVPCOffering',
|
|
icon: 'pause-circle',
|
|
label: 'Disable Offering',
|
|
dataView: true,
|
|
show: (record) => { return record.state === 'Enabled' },
|
|
args: ['state'],
|
|
mapping: {
|
|
state: {
|
|
value: (record) => { return 'Disabled' }
|
|
}
|
|
}
|
|
}, {
|
|
api: 'updateVPCOffering',
|
|
icon: 'lock',
|
|
label: 'Update Offering Access',
|
|
dataView: true,
|
|
popup: true,
|
|
component: () => import('@/views/offering/UpdateOfferingAccess.vue')
|
|
}, {
|
|
api: 'deleteVPCOffering',
|
|
icon: 'delete',
|
|
label: 'Delete Offering',
|
|
dataView: true
|
|
}]
|
|
}
|
|
]
|
|
}
|