mirror of
				https://github.com/apache/cloudstack.git
				synced 2025-10-26 08:42:29 +01:00 
			
		
		
		
	config: fix all actions in infra
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
This commit is contained in:
		
							parent
							
								
									b903d20d84
								
							
						
					
					
						commit
						1feed9b3c8
					
				| @ -2,8 +2,8 @@ export default { | |||||||
|   name: 'cluster', |   name: 'cluster', | ||||||
|   title: 'Clusters', |   title: 'Clusters', | ||||||
|   icon: 'cluster', |   icon: 'cluster', | ||||||
|   permission: [ 'listClusters', 'listClustersMetrics' ], |   permission: [ 'listClustersMetrics', 'listClusters' ], | ||||||
|   columns: [ 'name', 'allocationstate', 'clustertype', 'hypervisortype', 'podname', 'zonename' ], |   columns: [ 'name', 'state', 'clustertype', 'hypervisortype', 'hosts', 'cpuused', 'cpumaxdeviation', 'cpuallocated', 'cputotal', 'memoryused', 'memorymaxdeviation', 'memoryallocated', 'memorytotal', 'podname', 'zonename' ], | ||||||
|   details: [ 'name', 'id', 'allocationstate', 'clustertype', 'hypervisortype', 'podname', 'zonename' ], |   details: [ 'name', 'id', 'allocationstate', 'clustertype', 'hypervisortype', 'podname', 'zonename' ], | ||||||
|   actions: [ |   actions: [ | ||||||
|     { |     { | ||||||
| @ -11,122 +11,110 @@ export default { | |||||||
|       icon: 'plus', |       icon: 'plus', | ||||||
|       label: 'label.add.cluster', |       label: 'label.add.cluster', | ||||||
|       listView: true, |       listView: true, | ||||||
|       args: [ |       args: ['zoneid', 'hypervisor', 'podid', 'clustername'] | ||||||
|         'zoneId', 'hypervisor', 'clustertype', 'podId', 'clustername' |  | ||||||
|       ] |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'updateCluster', |       api: 'updateCluster', | ||||||
|       icon: 'enable', |       icon: 'pause-circle', | ||||||
|       label: 'label.action.enable.cluster', |       label: 'label.action.enable.cluster', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       hidden: (record) => { return record.allocationstate === 'Disabled' }, |       args: ['id'], | ||||||
|       args: [ |       defaultArgs: { allocationstate: 'Disabled' }, | ||||||
|         'id' |       show: (record) => { return record.allocationstate === 'Enabled' } | ||||||
|       ], |  | ||||||
|       defaultArgs: { allocationstate: 'Enabled' } |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'updateCluster', |       api: 'updateCluster', | ||||||
|       icon: 'disable', |       icon: 'play-circle', | ||||||
|       label: 'label.action.disable.cluster', |       label: 'label.action.disable.cluster', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       hidden: (record) => { return record.allocationstate === 'Enabled' }, |       args: [ 'id' ], | ||||||
|       args: [ |       defaultArgs: { allocationstate: 'Enabled' }, | ||||||
|         'id' |       show: (record) => { return record.allocationstate === 'Disabled' } | ||||||
|       ], |  | ||||||
|       defaultArgs: { allocationstate: 'Disabled' } |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'dedicateCluster', |       api: 'dedicateCluster', | ||||||
|       icon: 'dedicate', |       icon: 'user-add', | ||||||
|       label: 'label.dedicate.cluster', |       label: 'label.dedicate.cluster', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       hidden: (record) => { return record.domainid === null }, |       args: ['clusterid', 'domainid', 'account'], | ||||||
|       args: [ |       show: (record) => { return !record.domainid } | ||||||
|         'clusterId', 'domainId', 'account' |  | ||||||
|       ] |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'releaseDedicatedCluster', |       api: 'releaseDedicatedCluster', | ||||||
|       icon: 'release', |       icon: 'user-delete', | ||||||
|       label: 'label.release.dedicated.cluster', |       label: 'label.release.dedicated.cluster', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       hidden: (record) => { return record.domainid !== null }, |       args: ['clusterid'], | ||||||
|       args: [ |       show: (record) => { return record.domainid } | ||||||
|         'clusterid' |  | ||||||
|       ] |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'updateCluster', |       api: 'updateCluster', | ||||||
|       icon: 'managed', |       icon: 'plus-square', | ||||||
|       label: 'label.add.zone', |       label: 'Manage Cluster', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       hidden: (record) => { return record.state !== 'Enabled' && record.state !== 'Disabled' }, |       args: ['id'], | ||||||
|       args: [ |       defaultArgs: { managedstate: 'Managed' }, | ||||||
|         'id' |       show: (record) => { return record.clustertype === 'CloudManaged' && ['PrepareUnmanaged', 'Unmanaged'].includes(record.state) } | ||||||
|       ], |  | ||||||
|       defaultArgs: { managedstate: 'Managed' } |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'updateCluster', |       api: 'updateCluster', | ||||||
|       icon: 'unmanaged', |       icon: 'minus-square', | ||||||
|       label: 'label.add.zone', |       label: 'Unmanage Cluster', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       hidden: (record) => { return record.state === 'Enabled' || record.state === 'Disabled' }, |       args: ['id'], | ||||||
|       args: [ |       defaultArgs: { managedstate: 'Unmanaged' }, | ||||||
|         'id' |       show: (record) => { return record.clustertype === 'CloudManaged' && record.state === 'Enabled' } | ||||||
|       ], |  | ||||||
|       defaultArgs: { managedstate: 'Unmanaged' } |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       api: 'disableOutOfBandManagementForCluster', |  | ||||||
|       icon: 'disableband', |  | ||||||
|       label: 'label.outofbandmanagement.disable', |  | ||||||
|       dataView: true, |  | ||||||
|       hidden: (record) => { return !(record.resourcedetails && record.resourcedetails.outOfBandManagementEnabled && record.resourcedetails.outOfBandManagementEnabled === 'false') }, |  | ||||||
|       args: [ |  | ||||||
|         'clusterid' |  | ||||||
|       ] |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'enableOutOfBandManagementForCluster', |       api: 'enableOutOfBandManagementForCluster', | ||||||
|       icon: 'enableband', |       icon: 'plus-circle', | ||||||
|       label: 'label.outofbandmanagement.enable', |       label: 'label.outofbandmanagement.enable', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       hidden: (record) => { return record.resourcedetails && record.resourcedetails.outOfBandManagementEnabled && record.resourcedetails.outOfBandManagementEnabled === 'false' }, |       args: ['clusterid'], | ||||||
|       args: [ |       show: (record) => { | ||||||
|         'clusterid' |         return !record.resourcedetails || !record.resourcedetails.outOfBandManagementEnabled || | ||||||
|       ] |           record.resourcedetails.outOfBandManagementEnabled === 'false' | ||||||
|  |       } | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'disableHAForCluster', |       api: 'disableOutOfBandManagementForCluster', | ||||||
|       icon: 'disableha', |       icon: 'minus-circle', | ||||||
|       label: 'label.ha.disable', |       label: 'label.outofbandmanagement.disable', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       hidden: (record) => { return !(record.resourcedetails && record.resourcedetails.resourceHAEnabled && record.resourcedetails.resourceHAEnabled === 'false') }, |       args: ['clusterid'], | ||||||
|       args: [ |       show: (record) => { | ||||||
|         'clusterid' |         return record.resourcedetails && record.resourcedetails.outOfBandManagementEnabled && | ||||||
|       ] |           record.resourcedetails.outOfBandManagementEnabled === 'true' | ||||||
|  |       } | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'enableHAForCluster', |       api: 'enableHAForCluster', | ||||||
|       icon: 'enableha', |       icon: 'eye', | ||||||
|       label: 'label.ha.enable', |       label: 'label.ha.enable', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       hidden: (record) => { return record.resourcedetails && record.resourcedetails.resourceHAEnabled && record.resourcedetails.resourceHAEnabled === 'false' }, |       args: ['clusterid'], | ||||||
|       args: [ |       show: (record) => { | ||||||
|         'clusterid' |         return !record.resourcedetails || !record.resourcedetails.resourceHAEnabled || | ||||||
|       ] |           record.resourcedetails.resourceHAEnabled === 'false' | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       api: 'disableHAForCluster', | ||||||
|  |       icon: 'eye-invisible', | ||||||
|  |       label: 'label.ha.disable', | ||||||
|  |       dataView: true, | ||||||
|  |       args: ['clusterid'], | ||||||
|  |       show: (record) => { | ||||||
|  |         return record.resourcedetails && record.resourcedetails.resourceHAEnabled && | ||||||
|  |           record.resourcedetails.resourceHAEnabled === 'true' | ||||||
|  |       } | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'deleteCluster', |       api: 'deleteCluster', | ||||||
|       icon: 'delete', |       icon: 'delete', | ||||||
|       label: 'label.action.delete.cluster', |       label: 'label.action.delete.cluster', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       args: [ |       args: ['id'] | ||||||
|         'id' |  | ||||||
|       ] |  | ||||||
|     } |     } | ||||||
|   ] |   ] | ||||||
| } | } | ||||||
|  | |||||||
| @ -2,10 +2,10 @@ export default { | |||||||
|   name: 'host', |   name: 'host', | ||||||
|   title: 'Hosts', |   title: 'Hosts', | ||||||
|   icon: 'desktop', |   icon: 'desktop', | ||||||
|   permission: [ 'listHosts', 'listHostsMetrics' ], |   permission: [ 'listHostsMetrics', 'listHosts' ], | ||||||
|   resourceType: 'Host', |   resourceType: 'Host', | ||||||
|   params: { 'type': 'routing' }, |   params: { 'type': 'routing' }, | ||||||
|   columns: [ 'name', 'state', 'resourcestate', 'ipaddress', 'hypervisor', 'hypervisorversion', 'clustername', 'zonename' ], |   columns: [ 'name', 'state', 'resourcestate', 'powerstate', 'ipaddress', 'hypervisor', 'instances', 'cpunumber', 'cputotalghz', 'cpuusedghz', 'cpuallocatedghz', 'memorytotalgb', 'memoryusedgb', 'memoryallocatedgb', 'networkread', 'networkwrite', 'clustername', 'zonename' ], | ||||||
|   details: [ 'name', 'id', 'resourcestate', 'ipaddress', 'hypervisor', 'hypervisorversion', 'version', 'type', 'oscategoryname', 'hosttags', 'clustername', 'podname', 'zonename', 'created' ], |   details: [ 'name', 'id', 'resourcestate', 'ipaddress', 'hypervisor', 'hypervisorversion', 'version', 'type', 'oscategoryname', 'hosttags', 'clustername', 'podname', 'zonename', 'created' ], | ||||||
|   actions: [ |   actions: [ | ||||||
|     { |     { | ||||||
| @ -13,180 +13,168 @@ export default { | |||||||
|       icon: 'plus', |       icon: 'plus', | ||||||
|       label: 'label.add.host', |       label: 'label.add.host', | ||||||
|       listView: true, |       listView: true, | ||||||
|       args: [ |       args: ['zoneid', 'podid', 'clusterid', 'hypervisor', 'username', 'password', 'url', 'hosttags'] | ||||||
|         'zoneid', 'podid', 'clusterid', 'hypervisor', 'hosttags', 'username', 'password', 'url' |  | ||||||
|       ] |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'updateHost', |       api: 'updateHost', | ||||||
|       icon: 'edit', |       icon: 'edit', | ||||||
|       label: 'label.edit', |       label: 'label.edit', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       args: [ |       args: ['id', 'hosttags', 'oscategoryid'] | ||||||
|         'id', 'hosttags', 'annotation' |  | ||||||
|       ] |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       api: 'dedicateHost', |  | ||||||
|       icon: 'dedicate', |  | ||||||
|       label: 'label.dedicate.host', |  | ||||||
|       dataView: true, |  | ||||||
|       hidden: (record) => { return record.domainid === null }, |  | ||||||
|       args: [ |  | ||||||
|         'hostId', 'domainId', 'account' |  | ||||||
|       ] |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       api: 'releaseDedicatedHost', |  | ||||||
|       icon: 'release', |  | ||||||
|       label: 'label.release.dedicated.host', |  | ||||||
|       dataView: true, |  | ||||||
|       hidden: (record) => { return record.domainid !== null }, |  | ||||||
|       args: [ |  | ||||||
|         'hostid' |  | ||||||
|       ] |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'provisionCertificate', |       api: 'provisionCertificate', | ||||||
|       icon: 'kvmcertificate', |       icon: 'safety-certificate', | ||||||
|       label: 'label.action.secure.host', |       label: 'label.action.secure.host', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       hidden: (record) => { return record.hypervisor === 'KVM' }, |       args: ['hostid'], | ||||||
|       args: [ |       show: (record) => { return record.hypervisor === 'KVM' } | ||||||
|         'hostid' |  | ||||||
|       ] |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       api: 'prepareHostForMaintenance', |  | ||||||
|       icon: 'enablemaintenance', |  | ||||||
|       label: 'label.action.enable.maintenance.mode', |  | ||||||
|       dataView: true, |  | ||||||
|       hidden: (record) => { return record.resourcestate === 'Enabled' }, |  | ||||||
|       args: [ |  | ||||||
|         'id' |  | ||||||
|       ] |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       api: 'cancelHostMaintenance', |  | ||||||
|       icon: 'cancelmaintenance', |  | ||||||
|       label: 'label.action.cancel.maintenance.mode', |  | ||||||
|       dataView: true, |  | ||||||
|       hidden: (record) => { return record.resourcestate === 'Maintenance' || record.resourcestate === 'ErrorInMaintenance' || record.resourcestate === 'PrepareForMaintenance' }, |  | ||||||
|       args: [ |  | ||||||
|         'id' |  | ||||||
|       ] |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'reconnectHost', |       api: 'reconnectHost', | ||||||
|       icon: 'reconnect', |       icon: 'forward', | ||||||
|       label: 'label.action.force.reconnect', |       label: 'label.action.force.reconnect', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       hidden: (record) => { return record.state !== 'Disconnected' }, |       args: ['id'], | ||||||
|       args: [ |       show: (record) => { return ['Disconnected', 'Up'].includes(record.state) } | ||||||
|         'id' |  | ||||||
|       ] |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'updateHost', |       api: 'updateHost', | ||||||
|       icon: 'enable', |       icon: 'pause-circle', | ||||||
|       label: 'label.enable.host', |       label: 'Disable Host', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       hidden: (record) => { return record.allocationstate === 'Enabled' }, |       args: ['id'], | ||||||
|       args: [ 'id' ], |       defaultArgs: { allocationstate: 'Disable' }, | ||||||
|       defaultArgs: { allocationstate: 'Disabled' } |       show: (record) => { return record.resourcestate === 'Enabled' } | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'updateHost', |       api: 'updateHost', | ||||||
|       icon: 'disable', |       icon: 'play-circle', | ||||||
|       label: 'label.disable.host', |       label: 'Enable Host', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       hidden: (record) => { return record.allocationstate === 'Disabled' }, |  | ||||||
|       args: [ 'id' ], |       args: [ 'id' ], | ||||||
|       defaultArgs: { allocationstate: 'Enabled' } |       defaultArgs: { allocationstate: 'Enable' }, | ||||||
|  |       show: (record) => { return record.resourcestate === 'Disabled' } | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'configureHAForHost', |       api: 'dedicateHost', | ||||||
|       icon: 'configureha', |       icon: 'user-add', | ||||||
|       label: 'label.ha.configure', |       label: 'label.dedicate.host', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       args: [ |       args: ['hostid', 'domainid', 'account'], | ||||||
|         'provider', 'tags', 'hostid' |       show: (record) => { return !record.domainid } | ||||||
|       ] |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'enableHAForHost', |       api: 'releaseDedicatedHost', | ||||||
|       icon: 'enableha', |       icon: 'user-delete', | ||||||
|       label: 'label.ha.enable', |       label: 'label.release.dedicated.host', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       hidden: (record) => { return !(record.hostha && record.hostha.haenable) }, |       args: ['hostid'], | ||||||
|       args: [ |       show: (record) => { return record.domainid } | ||||||
|         'hostid' |  | ||||||
|       ] |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'disableHAForHost', |       api: 'prepareHostForMaintenance', | ||||||
|       icon: 'disableha', |       icon: 'plus-square', | ||||||
|       label: 'label.ha.disable', |       label: 'label.action.enable.maintenance.mode', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       hidden: (record) => { return record.hostha && record.hostha.haenable }, |       args: ['id'], | ||||||
|       args: [ |       show: (record) => { return record.resourcestate === 'Enabled' } | ||||||
|         'hostid' |     }, | ||||||
|       ] |     { | ||||||
|  |       api: 'cancelHostMaintenance', | ||||||
|  |       icon: 'minus-square', | ||||||
|  |       label: 'label.action.cancel.maintenance.mode', | ||||||
|  |       dataView: true, | ||||||
|  |       args: ['id'], | ||||||
|  |       show: (record) => { return record.resourcestate === 'Maintenance' || record.resourcestate === 'ErrorInMaintenance' || record.resourcestate === 'PrepareForMaintenance' } | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'configureOutOfBandManagement', |       api: 'configureOutOfBandManagement', | ||||||
|       icon: 'plus', |       icon: 'setting', | ||||||
|       label: 'label.outofbandmanagement.configure', |       label: 'label.outofbandmanagement.configure', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       args: [ |       args: ['hostid', 'address', 'port', 'username', 'password', 'driver'] | ||||||
|         'address', 'port', 'username', 'password', 'driver', 'tags', 'hostid' |  | ||||||
|       ] |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'enableOutOfBandManagementForHost', |       api: 'enableOutOfBandManagementForHost', | ||||||
|       icon: 'enableband', |       icon: 'plus-circle', | ||||||
|       label: 'label.outofbandmanagement.enable', |       label: 'label.outofbandmanagement.enable', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       args: [ |       args: ['hostid'], | ||||||
|         'hostid' |       show: (record) => { | ||||||
|       ] |         return !record.resourcedetails || !record.resourcedetails.outOfBandManagementEnabled || | ||||||
|  |           record.resourcedetails.outOfBandManagementEnabled === 'false' | ||||||
|  |       } | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'disableOutOfBandManagementForHost', |       api: 'disableOutOfBandManagementForHost', | ||||||
|       icon: 'disableband', |       icon: 'minus-circle', | ||||||
|       label: 'label.outofbandmanagement.disable', |       label: 'label.outofbandmanagement.disable', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       args: [ |       args: ['hostid'], | ||||||
|         'hostid' |       show: (record) => { | ||||||
|       ] |         return record.resourcedetails && record.resourcedetails.outOfBandManagementEnabled && | ||||||
|  |           record.resourcedetails.outOfBandManagementEnabled === 'true' | ||||||
|  |       } | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'issueOutOfBandManagementPowerAction', |       api: 'issueOutOfBandManagementPowerAction', | ||||||
|       icon: 'issuepowerband', |       icon: 'login', | ||||||
|       label: 'label.outofbandmanagement.action.issue', |       label: 'label.outofbandmanagement.action.issue', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       args: [ |       args: ['hostid', 'action'], | ||||||
|         'action', 'tags', 'hostid' |       show: (record) => { | ||||||
|       ] |         return record.resourcedetails && record.resourcedetails.outOfBandManagementEnabled && | ||||||
|  |           record.resourcedetails.outOfBandManagementEnabled === 'true' | ||||||
|  |       } | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'changeOutOfBandManagementPassword', |       api: 'changeOutOfBandManagementPassword', | ||||||
|       icon: 'changebandpassword', |       icon: 'key', | ||||||
|       label: 'label.outofbandmanagement.changepassword', |       label: 'label.outofbandmanagement.changepassword', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       args: [ |       args: ['hostid', 'password'], | ||||||
|         'password', 'reenterpassword', 'tags', 'hostid' |       show: (record) => { | ||||||
|       ] |         return record.resourcedetails && record.resourcedetails.outOfBandManagementEnabled && | ||||||
|  |           record.resourcedetails.outOfBandManagementEnabled === 'true' | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       api: 'configureHAForHost', | ||||||
|  |       icon: 'tool', | ||||||
|  |       label: 'label.ha.configure', | ||||||
|  |       dataView: true, | ||||||
|  |       args: ['hostid', 'provider'] | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       api: 'enableHAForHost', | ||||||
|  |       icon: 'eye', | ||||||
|  |       label: 'label.ha.enable', | ||||||
|  |       dataView: true, | ||||||
|  |       args: ['hostid'], | ||||||
|  |       show: (record) => { | ||||||
|  |         return !record.resourcedetails || !record.resourcedetails.resourceHAEnabled || | ||||||
|  |           record.resourcedetails.resourceHAEnabled === 'false' | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       api: 'disableHAForHost', | ||||||
|  |       icon: 'eye-invisible', | ||||||
|  |       label: 'label.ha.disable', | ||||||
|  |       dataView: true, | ||||||
|  |       args: ['hostid'], | ||||||
|  |       show: (record) => { | ||||||
|  |         return record.resourcedetails && record.resourcedetails.resourceHAEnabled && | ||||||
|  |           record.resourcedetails.resourceHAEnabled === 'true' | ||||||
|  |       } | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'deleteHost', |       api: 'deleteHost', | ||||||
|       icon: 'delete', |       icon: 'delete', | ||||||
|       label: 'label.action.delete.host', |       label: 'Remove Host', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       hidden: (record) => { return !(record.resourcestate === 'Maintenance' || record.resourcestate !== 'Disabled' || record.state === 'Down' || record.state === 'Alert' || record.state === 'Disconnected') }, |       args: ['id', 'forced'], | ||||||
|       args: [ |       show: (record) => { return ['Maintenance', 'Disabled', 'Down', 'Alert', 'Disconnected'].includes(record.resourcestate) } | ||||||
|         'id', 'forced' |  | ||||||
|       ] |  | ||||||
|     } |     } | ||||||
|   ] |   ] | ||||||
| } | } | ||||||
|  | |||||||
| @ -11,60 +11,46 @@ export default { | |||||||
|       icon: 'plus', |       icon: 'plus', | ||||||
|       label: 'label.add.pod', |       label: 'label.add.pod', | ||||||
|       listView: true, |       listView: true, | ||||||
|       popup: true, |       args: ['zoneid', 'name', 'gateway', 'netmask', 'startip', 'endip'] | ||||||
|       args: [ |  | ||||||
|         'zoneid', 'name', 'gateway', 'netmask', 'startip', 'endip' |  | ||||||
|       ] |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'updatePod', |       api: 'updatePod', | ||||||
|       icon: 'edit', |       icon: 'edit', | ||||||
|       label: 'label.edit', |       label: 'label.edit', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       args: [ |       args: ['id', 'name', 'netmask', 'gateway'] | ||||||
|         'id', 'name', 'netmask', 'gateway' |  | ||||||
|       ] |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'dedicatePod', |       api: 'dedicatePod', | ||||||
|       icon: 'dedicate', |       icon: 'user-add', | ||||||
|       label: 'label.dedicate.pod', |       label: 'label.dedicate.pod', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       hidden: (record) => { return record.domainid !== null }, |       args: ['podid', 'domainid', 'account'], | ||||||
|       args: [ |       show: (record) => { return !record.domainid } | ||||||
|         'podId', 'domainid', 'account' |  | ||||||
|       ] |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'releaseDedicatedPod', |       api: 'releaseDedicatedPod', | ||||||
|       icon: 'release', |       icon: 'user-delete', | ||||||
|       label: 'label.release.dedicated.pod', |       label: 'label.release.dedicated.pod', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       hidden: (record) => { return record.domainid === null }, |       args: ['podid'], | ||||||
|       args: [ |       show: (record) => { return record.domainid } | ||||||
|         'podid' |  | ||||||
|       ] |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'updatePod', |       api: 'updatePod', | ||||||
|       icon: 'enable', |       icon: 'play-circle', | ||||||
|       label: 'label.action.enable.pod', |       label: 'label.action.enable.pod', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       hidden: (record) => { return record.allocationstate === 'Enabled' }, |       args: ['id'], | ||||||
|       args: [ |       show: (record) => { return record.allocationstate === 'Disabled' } | ||||||
|         'id' |  | ||||||
|       ], |  | ||||||
|       defaultArgs: { allocationstate: 'Enabled' } |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'updatePod', |       api: 'updatePod', | ||||||
|       icon: 'disable', |       icon: 'pause-circle', | ||||||
|       label: 'label.action.disable.pod', |       label: 'label.action.disable.pod', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       hidden: (record) => { return record.allocationstate === 'Disabled' }, |       args: ['id'], | ||||||
|       args: [ |       show: (record) => { return record.allocationstate === 'Enabled' }, | ||||||
|         'id' |  | ||||||
|       ], |  | ||||||
|       defaultArgs: { allocationstate: 'Disabled' } |       defaultArgs: { allocationstate: 'Disabled' } | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
| @ -72,9 +58,7 @@ export default { | |||||||
|       icon: 'delete', |       icon: 'delete', | ||||||
|       label: 'label.action.delete.pod', |       label: 'label.action.delete.pod', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       args: [ |       args: ['id'] | ||||||
|         'id' |  | ||||||
|       ] |  | ||||||
|     } |     } | ||||||
|   ] |   ] | ||||||
| } | } | ||||||
|  | |||||||
| @ -2,8 +2,8 @@ export default { | |||||||
|   name: 'storagepool', |   name: 'storagepool', | ||||||
|   title: 'Primary Storage', |   title: 'Primary Storage', | ||||||
|   icon: 'database', |   icon: 'database', | ||||||
|   permission: [ 'listStoragePools', 'listStoragePoolsMetrics' ], |   permission: [ 'listStoragePoolsMetrics', 'listStoragePools' ], | ||||||
|   columns: [ 'name', 'state', 'ipaddress', 'type', 'path', 'scope', 'clustername', 'zonename' ], |   columns: [ 'name', 'state', 'ipaddress', 'type', 'path', 'scope', 'disksizeusedgb', 'disksizetotalgb', 'disksizeallocatedgb', 'disksizeunallocatedgb', 'clustername', 'zonename' ], | ||||||
|   details: [ 'name', 'id', 'ipaddress', 'type', 'scope', 'path', 'provider', 'hypervisor', 'overprovisionfactor', 'disksizetotal', 'disksizeallocated', 'disksizeused', 'clustername', 'podname', 'zonename', 'created' ], |   details: [ 'name', 'id', 'ipaddress', 'type', 'scope', 'path', 'provider', 'hypervisor', 'overprovisionfactor', 'disksizetotal', 'disksizeallocated', 'disksizeused', 'clustername', 'podname', 'zonename', 'created' ], | ||||||
|   actions: [ |   actions: [ | ||||||
|     { |     { | ||||||
| @ -11,48 +11,38 @@ export default { | |||||||
|       icon: 'plus', |       icon: 'plus', | ||||||
|       label: 'label.add.primary.storage', |       label: 'label.add.primary.storage', | ||||||
|       listView: true, |       listView: true, | ||||||
|       args: [ |       args: ['scope', 'zoneid', 'podid', 'clusterid', 'name', 'provider', 'managed', 'capacityBytes', 'capacityIops', 'url', 'tags'] | ||||||
|         'scope', 'zoneid', 'podid', 'clusterid', 'name', 'provider', 'managed', 'capacityBytes', 'capacityIops', 'url', 'tags' |  | ||||||
|       ] |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'updateStoragePool', |       api: 'updateStoragePool', | ||||||
|       icon: 'edit', |       icon: 'edit', | ||||||
|       label: 'label.edit', |       label: 'label.edit', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       args: [ |       args: ['id', 'tags', 'capacitybytes', 'capacityiops'] | ||||||
|         'id', 'tags', 'capacitybytes', 'capacityiops' |  | ||||||
|       ] |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'enableStorageMaintenance', |       api: 'enableStorageMaintenance', | ||||||
|       icon: 'enablemaintenance', |       icon: 'plus-square', | ||||||
|       label: 'label.action.enable.maintenance.mode', |       label: 'label.action.enable.maintenance.mode', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       hidden: (record) => { return !(record.state === 'Up' || record.state === 'Connecting' || record.state === 'Down' || record.state === 'ErrorInMaintenance') }, |       args: ['id'], | ||||||
|       args: [ |       show: (record) => { return ['Up', 'Connecting', 'Down', 'ErrorInMaintenance'].includes(record.state) } | ||||||
|         'id' |  | ||||||
|       ] |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'cancelStorageMaintenance', |       api: 'cancelStorageMaintenance', | ||||||
|       icon: 'cancelmaintenance', |       icon: 'minus-square', | ||||||
|       label: 'label.action.cancel.maintenance.mode', |       label: 'label.action.cancel.maintenance.mode', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       hidden: (record) => { return !(record.state === 'ErrorInMaintenance' || record.state === 'PrepareForMaintenance' || record.state === 'Maintenance') }, |       args: ['id'], | ||||||
|       args: [ |       show: (record) => { return ['Maintenance', 'PrepareForMaintenance', 'ErrorInMaintenance'].includes(record.state) } | ||||||
|         'id' |  | ||||||
|       ] |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'deleteStoragePool', |       api: 'deleteStoragePool', | ||||||
|       icon: 'delete', |       icon: 'delete', | ||||||
|       label: 'label.action.delete.primary.storage', |       label: 'label.action.delete.primary.storage', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       hidden: (record) => { return !(record.state === 'Down' || record.state === 'Alert' || record.state === 'Maintenance' || record.state === 'Disconnected') }, |       args: ['id', 'forced'], | ||||||
|       args: [ |       show: (record) => { return !(record.state === 'Down' || record.state === 'Alert' || record.state === 'Maintenance' || record.state === 'Disconnected') } | ||||||
|         'id', 'forced' |  | ||||||
|       ] |  | ||||||
|     } |     } | ||||||
|   ] |   ] | ||||||
| } | } | ||||||
|  | |||||||
| @ -8,84 +8,68 @@ export default { | |||||||
|   actions: [ |   actions: [ | ||||||
|     { |     { | ||||||
|       api: 'startRouter', |       api: 'startRouter', | ||||||
|       icon: 'startvm', |       icon: 'caret-right', | ||||||
|       label: 'label.action.start.router', |       label: 'label.action.start.router', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       hidden: (record) => { return record.state !== 'Stopped' }, |       args: ['id'], | ||||||
|       args: [ |       show: (record) => { return record.state === 'Stopped' } | ||||||
|         'id' |  | ||||||
|       ] |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'stopRouter', |       api: 'stopRouter', | ||||||
|       icon: 'stopvm', |       icon: 'stop', | ||||||
|       label: 'label.action.stop.router', |       label: 'label.action.stop.router', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       hidden: (record) => { return record.state !== 'Running' }, |       args: ['id', 'forced'], | ||||||
|       args: [ |       show: (record) => { return record.state === 'Running' } | ||||||
|         'id', 'forced' |  | ||||||
|       ] |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       api: 'scaleSystemVm', |  | ||||||
|       icon: 'scalevm', |  | ||||||
|       label: 'label.change.service.offering', |  | ||||||
|       dataView: true, |  | ||||||
|       hidden: (record) => { return !(record.state === 'Stopped' || record.hypervisor === 'VMWare') }, |  | ||||||
|       args: [ |  | ||||||
|         'id', 'serviceofferingid' |  | ||||||
|       ] |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'rebootRouter', |       api: 'rebootRouter', | ||||||
|       icon: 'rebootvm', |       icon: 'sync', | ||||||
|       label: 'label.action.reboot.router', |       label: 'label.action.reboot.router', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       hidden: (record) => { return record.state !== 'Running' }, |       args: ['id'], | ||||||
|       args: [ |       hidden: (record) => { return record.state === 'Running' } | ||||||
|         'id' |  | ||||||
|       ] |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'migrateSystemVm', |       api: 'scaleSystemVm', | ||||||
|       icon: 'migratevm', |       icon: 'arrows-alt', | ||||||
|       label: 'label.action.migrate.router', |       label: 'label.change.service.offering', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       hidden: (record) => { return record.state !== 'Running' }, |       args: ['id', 'serviceofferingid'], | ||||||
|       args: [ |       show: (record) => { return record.state === 'Stopped' || record.hypervisor === 'VMWare' } | ||||||
|         'hostid', 'virtualmachineid' |  | ||||||
|       ] |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'upgradeRouterTemplate', |       api: 'upgradeRouterTemplate', | ||||||
|       icon: 'upgraderouter', |       icon: 'fullscreen', | ||||||
|       label: 'label.upgrade.router.newer.template', |       label: 'label.upgrade.router.newer.template', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       groupAction: true, |       groupAction: true, | ||||||
|       hidden: (record) => { return record.requiresupgrade }, |       args: ['id'], | ||||||
|       args: [ |       show: (record) => { return record.requiresupgrade } | ||||||
|         'id' |     }, | ||||||
|       ] |     { | ||||||
|  |       api: 'migrateSystemVm', | ||||||
|  |       icon: 'drag', | ||||||
|  |       label: 'label.action.migrate.router', | ||||||
|  |       dataView: true, | ||||||
|  |       args: ['virtualmachineid', 'hostid'], | ||||||
|  |       show: (record) => { return record.state === 'Running' } | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'runDiagnostics', |       api: 'runDiagnostics', | ||||||
|       icon: 'diagnostics', |       icon: 'reconciliation', | ||||||
|       label: 'label.action.run.diagnostics', |       label: 'label.action.run.diagnostics', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       hidden: (record) => { return record.state !== 'Running' }, |       args: ['targetid', 'type', 'ipaddress', 'params'], | ||||||
|       args: [ |       show: (record) => { return record.state === 'Running' } | ||||||
|         'targetid', 'ipaddress', 'type', 'params' |  | ||||||
|       ] |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'destroyRouter', |       api: 'destroyRouter', | ||||||
|       icon: 'delete', |       icon: 'delete', | ||||||
|       label: 'label.destroy.router', |       label: 'label.destroy.router', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       hidden: (record) => { return record.state !== 'Running' && record.state !== 'Stopped' }, |       args: ['id'], | ||||||
|       args: [ |       show: (record) => { return ['Running', 'Error', 'Stopped'].includes(record.state) } | ||||||
|         'id' |  | ||||||
|       ] |  | ||||||
|     } |     } | ||||||
|   ] |   ] | ||||||
| } | } | ||||||
|  | |||||||
| @ -11,18 +11,14 @@ export default { | |||||||
|       icon: 'plus', |       icon: 'plus', | ||||||
|       label: 'label.add.secondary.storage', |       label: 'label.add.secondary.storage', | ||||||
|       listView: true, |       listView: true, | ||||||
|       args: [ |       args: ['name', 'provider', 'zoneid', 'url', 'details'] | ||||||
|         'name', 'provider', 'zoneid', 'url' |  | ||||||
|       ] |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'deleteImageStore', |       api: 'deleteImageStore', | ||||||
|       icon: 'delete', |       icon: 'delete', | ||||||
|       label: 'label.action.delete.primary.storage', |       label: 'label.action.delete.secondary.storage', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       args: [ |       args: ['id'] | ||||||
|         'id' |  | ||||||
|       ] |  | ||||||
|     } |     } | ||||||
|   ] |   ] | ||||||
| } | } | ||||||
|  | |||||||
| @ -8,73 +8,59 @@ export default { | |||||||
|   actions: [ |   actions: [ | ||||||
|     { |     { | ||||||
|       api: 'startSystemVm', |       api: 'startSystemVm', | ||||||
|       icon: 'startvm', |       icon: 'caret-right', | ||||||
|       label: 'label.action.start.systemvm', |       label: 'label.action.start.systemvm', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       hidden: (record) => { return record.state !== 'Stopped' }, |       args: ['id'], | ||||||
|       args: [ |       show: (record) => { return record.state === 'Stopped' } | ||||||
|         'id' |  | ||||||
|       ] |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'stopSystemVm', |       api: 'stopSystemVm', | ||||||
|       icon: 'stopvm', |       icon: 'stop', | ||||||
|       label: 'label.action.stop.systemvm', |       label: 'label.action.stop.systemvm', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       hidden: (record) => { return record.state !== 'Running' }, |       args: ['id'], | ||||||
|       args: [ |       show: (record) => { return record.state === 'Running' } | ||||||
|         'id' |  | ||||||
|       ] |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'rebootSystemVm', |       api: 'rebootSystemVm', | ||||||
|       icon: 'rebootvm', |       icon: 'sync', | ||||||
|       label: 'label.action.reboot.systemvm', |       label: 'label.action.reboot.systemvm', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       hidden: (record) => { return record.state !== 'Running' }, |       args: ['id'], | ||||||
|       args: [ |       show: (record) => { return record.state === 'Running' } | ||||||
|         'id' |  | ||||||
|       ] |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'scaleSystemVm', |       api: 'scaleSystemVm', | ||||||
|       icon: 'scalevm', |       icon: 'arrows-alt', | ||||||
|       label: 'label.change.service.offering', |       label: 'label.change.service.offering', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       hidden: (record) => { return !(record.state === 'Stopped' || record.hypervisor === 'VMWare') }, |       args: ['id', 'serviceofferingid'], | ||||||
|       args: [ |       show: (record) => { return record.hypervisor === 'VMWare' || record.state === 'Stopped' } | ||||||
|         'id', 'serviceofferingid' |  | ||||||
|       ] |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'migrateSystemVm', |       api: 'migrateSystemVm', | ||||||
|       icon: 'migratevm', |       icon: 'drag', | ||||||
|       label: 'label.action.migrate.systemvm', |       label: 'label.action.migrate.systemvm', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       hidden: (record) => { return record.state !== 'Running' }, |       args: ['virtualmachineid', 'hostid'], | ||||||
|       args: [ |       show: (record) => { return record.state === 'Running' } | ||||||
|         'hostid', 'virtualmachineid' |  | ||||||
|       ] |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'runDiagnostics', |       api: 'runDiagnostics', | ||||||
|       icon: 'diagnostics', |       icon: 'reconciliation', | ||||||
|       label: 'label.action.run.diagnostics', |       label: 'label.action.run.diagnostics', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       hidden: (record) => { return record.state !== 'Running' }, |       args: ['targetid', 'type', 'ipaddress', 'params'], | ||||||
|       args: [ |       show: (record) => { return record.state === 'Running' } | ||||||
|         'targetid', 'ipaddress', 'type', 'params' |  | ||||||
|       ] |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'destroySystemVm', |       api: 'destroySystemVm', | ||||||
|       icon: 'delete', |       icon: 'delete', | ||||||
|       label: 'label.action.destroy.systemvm', |       label: 'label.action.destroy.systemvm', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       hidden: (record) => { return record.state !== 'Running' && record.state !== 'Error' && record.state !== 'Stopped' }, |       args: ['id'], | ||||||
|       args: [ |       show: (record) => { return ['Running', 'Error', 'Stopped'].includes(record.state) } | ||||||
|         'id' |  | ||||||
|       ] |  | ||||||
|     } |     } | ||||||
|   ] |   ] | ||||||
| } | } | ||||||
|  | |||||||
| @ -2,8 +2,8 @@ export default { | |||||||
|   name: 'zone', |   name: 'zone', | ||||||
|   title: 'Zones', |   title: 'Zones', | ||||||
|   icon: 'global', |   icon: 'global', | ||||||
|   permission: [ 'listZones', 'listZonesMetrics' ], |   permission: [ 'listZonesMetrics', 'listZones' ], | ||||||
|   columns: [ 'name', 'allocationstate', 'networktype', 'guestcidraddress' ], |   columns: [ 'name', 'state', 'networktype', 'clusters', 'cpuused', 'cpumaxdeviation', 'cpuallocated', 'cputotal', 'memoryused', 'memorymaxdeviation', 'memoryallocated', 'memorytotal' ], | ||||||
|   details: [ 'name', 'id', 'allocationstate', 'networktype', 'guestcidraddress', 'localstorageenabled', 'securitygroupsenabled', 'dns1', 'dns2', 'internaldns1', 'internaldns2' ], |   details: [ 'name', 'id', 'allocationstate', 'networktype', 'guestcidraddress', 'localstorageenabled', 'securitygroupsenabled', 'dns1', 'dns2', 'internaldns1', 'internaldns2' ], | ||||||
|   actions: [ |   actions: [ | ||||||
|     { |     { | ||||||
| @ -16,140 +16,128 @@ export default { | |||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'updateZone', |       api: 'updateZone', | ||||||
|       icon: 'enable', |       icon: 'edit', | ||||||
|       label: 'label.action.disable.zone', |       label: 'Edit Zone', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       hidden: (record) => { return record.allocationstate === 'Enabled' }, |       args: ['id', 'name', 'dns1', 'dns2', 'ip6dns1', 'ip6dns2', 'internaldns1', 'internaldns2', 'guestcidraddress', 'domain', 'localstorageenabled'], | ||||||
|       args: [ 'id' ], |       show: (record) => { return record.networktype === 'Advanced' } | ||||||
|       defaultArgs: { allocationstate: 'Disabled' } |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'updateZone', |       api: 'updateZone', | ||||||
|       icon: 'disable', |       icon: 'edit', | ||||||
|  |       label: 'Edit Zone', | ||||||
|  |       dataView: true, | ||||||
|  |       args: ['id', 'name', 'dns1', 'dns2', 'ip6dns1', 'ip6dns2', 'internaldns1', 'internaldns2', 'domain', 'localstorageenabled'], | ||||||
|  |       show: (record) => { return record.networktype === 'Basic' } | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       api: 'updateZone', | ||||||
|  |       icon: 'pause-circle', | ||||||
|  |       label: 'label.action.disable.zone', | ||||||
|  |       dataView: true, | ||||||
|  |       args: ['id'], | ||||||
|  |       defaultArgs: { allocationstate: 'Disabled' }, | ||||||
|  |       show: (record) => { return record.allocationstate === 'Enabled' } | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       api: 'updateZone', | ||||||
|  |       icon: 'play-circle', | ||||||
|       label: 'label.action.enable.zone', |       label: 'label.action.enable.zone', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       hidden: (record) => { return record.allocationstate === 'Disabled' }, |  | ||||||
|       args: [ 'id' ], |       args: [ 'id' ], | ||||||
|       defaultArgs: { allocationstate: 'Enabled' } |       defaultArgs: { allocationstate: 'Enabled' }, | ||||||
|  |       show: (record) => { return record.allocationstate === 'Disabled' } | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'dedicateZone', |       api: 'dedicateZone', | ||||||
|       icon: 'dedicate', |       icon: 'user-add', | ||||||
|       label: 'label.dedicate.zone', |       label: 'label.dedicate.zone', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       hidden: (record) => { return record.domainid !== null }, |       args: ['zoneid', 'domainid', 'account'], | ||||||
|       args: [ |       show: (record) => { return !record.domainid } | ||||||
|         'zoneId', 'domainid', 'account' |  | ||||||
|       ] |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'releaseDedicatedZone', |       api: 'releaseDedicatedZone', | ||||||
|       icon: 'release', |       icon: 'user-delete', | ||||||
|       label: 'label.release.dedicated.zone', |       label: 'label.release.dedicated.zone', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       hidden: (record) => { return record.domainid !== null }, |       args: ['zoneid'], | ||||||
|       args: [ |       show: (record) => { return record.domainid } | ||||||
|         'zoneid' |     }, | ||||||
|       ] |     { | ||||||
|  |       api: 'enableOutOfBandManagementForZone', | ||||||
|  |       icon: 'plus-circle', | ||||||
|  |       label: 'label.outofbandmanagement.enable', | ||||||
|  |       dataView: true, | ||||||
|  |       args: ['zoneid'], | ||||||
|  |       show: (record) => { | ||||||
|  |         return !record.resourcedetails || !record.resourcedetails.outOfBandManagementEnabled || | ||||||
|  |           record.resourcedetails.outOfBandManagementEnabled === 'false' | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       api: 'disableOutOfBandManagementForZone', | ||||||
|  |       icon: 'minus-circle', | ||||||
|  |       label: 'label.outofbandmanagement.disable', | ||||||
|  |       dataView: true, | ||||||
|  |       args: ['zoneid'], | ||||||
|  |       show: (record) => { | ||||||
|  |         return record.resourcedetails && record.resourcedetails.outOfBandManagementEnabled && | ||||||
|  |           record.resourcedetails.outOfBandManagementEnabled === 'true' | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       api: 'enableHAForZone', | ||||||
|  |       icon: 'eye', | ||||||
|  |       label: 'label.ha.enable', | ||||||
|  |       dataView: true, | ||||||
|  |       args: ['zoneid'], | ||||||
|  |       show: (record) => { | ||||||
|  |         return !record.resourcedetails || !record.resourcedetails.resourceHAEnabled || | ||||||
|  |           record.resourcedetails.resourceHAEnabled === 'false' | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       api: 'disableHAForZone', | ||||||
|  |       icon: 'eye-invisible', | ||||||
|  |       label: 'label.ha.disable', | ||||||
|  |       dataView: true, | ||||||
|  |       args: ['zoneid'], | ||||||
|  |       show: (record) => { | ||||||
|  |         return record.resourcedetails && record.resourcedetails.resourceHAEnabled && | ||||||
|  |           record.resourcedetails.resourceHAEnabled === 'true' | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       api: 'addVmwareDc', | ||||||
|  |       icon: 'block', | ||||||
|  |       label: 'label.add.vmware.datacenter', | ||||||
|  |       dataView: true, | ||||||
|  |       args: ['zoneid', 'name', 'vcenter', 'username', 'password'], | ||||||
|  |       show: (record) => { return !record.vmwaredcid } | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       api: 'updateVmwareDc', | ||||||
|  |       icon: 'block', | ||||||
|  |       label: 'label.update.vmware.datacenter', | ||||||
|  |       dataView: true, | ||||||
|  |       args: ['zoneid', 'name', 'vcenter', 'username', 'password', 'isrecursive'], | ||||||
|  |       show: (record) => { return record.vmwaredcid } | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       api: 'removeVmwareDc', | ||||||
|  |       icon: 'minus-square', | ||||||
|  |       label: 'label.remove.vmware.datacenter', | ||||||
|  |       dataView: true, | ||||||
|  |       args: ['zoneid'], | ||||||
|  |       show: (record) => { return record.vmwaredcid } | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       api: 'deleteZone', |       api: 'deleteZone', | ||||||
|       icon: 'delete', |       icon: 'delete', | ||||||
|       label: 'label.action.delete.zone', |       label: 'label.action.delete.zone', | ||||||
|       dataView: true, |       dataView: true, | ||||||
|       args: [ |       args: ['id'] | ||||||
|         'id' |  | ||||||
|       ] |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       api: 'updateZone', |  | ||||||
|       icon: 'disable', |  | ||||||
|       label: 'label.edit', |  | ||||||
|       dataView: true, |  | ||||||
|       hidden: (record) => { return record.networktype === 'Advanced' }, |  | ||||||
|       args: [ |  | ||||||
|         'id', 'name', 'dns1', 'dns2', 'ip6dns1', 'ip6dns2', 'guestcidraddress', 'internaldns1', 'internaldns2', 'domain', 'localstorageenabled' |  | ||||||
|       ] |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       api: 'updateZone', |  | ||||||
|       icon: 'disable', |  | ||||||
|       label: 'label.edit', |  | ||||||
|       dataView: true, |  | ||||||
|       hidden: (record) => { return record.networktype === 'Basic' }, |  | ||||||
|       args: [ |  | ||||||
|         'id', 'name', 'dns1', 'dns2', 'ip6dns1', 'ip6dns2', 'internaldns1', 'internaldns2', 'domain', 'localstorageenabled' |  | ||||||
|       ] |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       api: 'disableOutOfBandManagementForZone', |  | ||||||
|       icon: 'disableband', |  | ||||||
|       label: 'label.outofbandmanagement.disable', |  | ||||||
|       dataView: true, |  | ||||||
|       hidden: (record) => { return !(record.resourcedetails && record.resourcedetails.outOfBandManagementEnabled && record.resourcedetails.outOfBandManagementEnabled === 'false') }, |  | ||||||
|       args: [ |  | ||||||
|         'zoneid' |  | ||||||
|       ] |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       api: 'enableOutOfBandManagementForZone', |  | ||||||
|       icon: 'enableband', |  | ||||||
|       label: 'label.outofbandmanagement.enable', |  | ||||||
|       dataView: true, |  | ||||||
|       hidden: (record) => { return record.resourcedetails && record.resourcedetails.outOfBandManagementEnabled && record.resourcedetails.outOfBandManagementEnabled === 'false' }, |  | ||||||
|       args: [ |  | ||||||
|         'zoneid' |  | ||||||
|       ] |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       api: 'disableHAForZone', |  | ||||||
|       icon: 'disableha', |  | ||||||
|       label: 'label.ha.disable', |  | ||||||
|       dataView: true, |  | ||||||
|       hidden: (record) => { return !(record.resourcedetails && record.resourcedetails.resourceHAEnabled && record.resourcedetails.resourceHAEnabled === 'false') }, |  | ||||||
|       args: [ |  | ||||||
|         'zoneid' |  | ||||||
|       ] |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       api: 'enableHAForZone', |  | ||||||
|       icon: 'enableha', |  | ||||||
|       label: 'label.ha.enable', |  | ||||||
|       dataView: true, |  | ||||||
|       hidden: (record) => { return record.resourcedetails && record.resourcedetails.resourceHAEnabled && record.resourcedetails.resourceHAEnabled === 'false' }, |  | ||||||
|       args: [ |  | ||||||
|         'zoneid' |  | ||||||
|       ] |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       api: 'addVmwareDc', |  | ||||||
|       icon: 'addvmwdc', |  | ||||||
|       label: 'label.add.vmware.datacenter', |  | ||||||
|       dataView: true, |  | ||||||
|       hidden: (record) => { return record.vmwaredcId === null }, |  | ||||||
|       args: [ |  | ||||||
|         'zoneid', 'name', 'vcenter', 'username', 'password' |  | ||||||
|       ] |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       api: 'updateVmwareDc', |  | ||||||
|       icon: 'addvmwdc', |  | ||||||
|       label: 'label.update.vmware.datacenter', |  | ||||||
|       dataView: true, |  | ||||||
|       hidden: (record) => { return record.vmwaredcId !== null }, |  | ||||||
|       args: [ |  | ||||||
|         'zoneid', 'name', 'vcenter', 'username', 'password' |  | ||||||
|       ] |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       api: 'removeVmwareDc', |  | ||||||
|       icon: 'addvmwdc', |  | ||||||
|       label: 'label.remove.vmware.datacenter', |  | ||||||
|       dataView: true, |  | ||||||
|       hidden: (record) => { return record.vmwaredcId !== null }, |  | ||||||
|       args: [ |  | ||||||
|         'zoneid' |  | ||||||
|       ] |  | ||||||
|     } |     } | ||||||
|   ] |   ] | ||||||
| } | } | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user