package org.ovirt.engine.core.common.action; import java.util.HashMap; import javax.xml.bind.annotation.XmlType; import org.ovirt.engine.core.common.businessentities.ActionGroup; @XmlType(name = "VdcActionType") public enum VdcActionType { Unknown(0), // Vm Commands AddVm(1, ActionGroup.CREATE_VM), AddVmFromTemplate(2, ActionGroup.CREATE_VM), AddVmFromScratch(3, ActionGroup.CREATE_VM), RemoveVm(4, ActionGroup.DELETE_VM), UpdateVm(5, ActionGroup.EDIT_VM_PROPERTIES), StopVm(7, ActionGroup.VM_BASIC_OPERATIONS), ShutdownVm(8, ActionGroup.VM_BASIC_OPERATIONS), ChangeDisk(9, ActionGroup.CHANGE_VM_CD), PauseVm(10), HibernateVm(11, ActionGroup.VM_BASIC_OPERATIONS), RunVm(12, ActionGroup.VM_BASIC_OPERATIONS), RunVmOnce(13, ActionGroup.VM_BASIC_OPERATIONS), MigrateVm(14, ActionGroup.MIGRATE_VM), InternalMigrateVm(15), MigrateVmToServer(16, ActionGroup.MIGRATE_VM), VmLogon(18, ActionGroup.CONNECT_TO_VM), VmLogoff(19), VmLock(20), SetVmTicket(22, ActionGroup.CONNECT_TO_VM), ExportVm(23, ActionGroup.IMPORT_EXPORT_VM), ExportVmTemplate(24, ActionGroup.IMPORT_EXPORT_VM), RestoreStatelessVm(25), RunVmOnPowerClient(26), RunVmOnDedicatedVds(27), AddVmInterface(28, ActionGroup.CONFIGURE_VM_NETWORK), RemoveVmInterface(29, ActionGroup.CONFIGURE_VM_NETWORK), UpdateVmInterface(30, ActionGroup.CONFIGURE_VM_NETWORK), AddDiskToVm(31, ActionGroup.CONFIGURE_VM_STORAGE), RemoveDisksFromVm(32, ActionGroup.CONFIGURE_VM_STORAGE), MoveVm(33, ActionGroup.MOVE_VM), UpdateVmDisk(34, ActionGroup.CONFIGURE_VM_STORAGE), ChangeFloppy(35), ImportVm(36, ActionGroup.IMPORT_EXPORT_VM), RemoveVmFromImportExport(37, ActionGroup.IMPORT_EXPORT_VM), RemoveVmTemplateFromImportExport(38, ActionGroup.IMPORT_EXPORT_VM), ImportVmTemplate(39, ActionGroup.IMPORT_EXPORT_VM), ChangeVMCluster(40, ActionGroup.EDIT_VM_PROPERTIES), CancelMigrateVm(41, ActionGroup.MIGRATE_VM), // powerclient 4.2 PowerClientMigrateOnConnectCheck(50), SetDedicatedVm(51), // VdsCommands AddVds(101, ActionGroup.CREATE_HOST), UpdateVds(102, ActionGroup.EDIT_HOST_CONFIGURATION), RemoveVds(103, ActionGroup.DELETE_HOST), RestartVds(104, ActionGroup.MANIPUTLATE_HOST), VdsNotRespondingTreatment(105), MaintananceVds(106), MaintananceNumberOfVdss(107, ActionGroup.MANIPUTLATE_HOST), ActivateVds(108, ActionGroup.MANIPUTLATE_HOST), InstallVds(109), ClearNonResponsiveVdsVms(110), ShutdownVds(111), ApproveVds(112, ActionGroup.CREATE_HOST), HandleVdsCpuFlagsOrClusterChanged(114), InitVdsOnUp(115), SetNonOperationalVds(117), AddVdsSpmId(119), RemoveVdsSpmId(120), // Fencing (including RestartVds above) StartVds(121, ActionGroup.MANIPUTLATE_HOST), StopVds(122, ActionGroup.MANIPUTLATE_HOST), HandleVdsVersion(124), ChangeVDSCluster(125, ActionGroup.EDIT_HOST_CONFIGURATION), // Network UpdateNetworkToVdsInterface(149, ActionGroup.CONFIGURE_HOST_NETWORK), AttachNetworkToVdsInterface(150, ActionGroup.CONFIGURE_HOST_NETWORK), DetachNetworkFromVdsInterface(151, ActionGroup.CONFIGURE_HOST_NETWORK), AddBond(152, ActionGroup.CONFIGURE_HOST_NETWORK), RemoveBond(153, ActionGroup.CONFIGURE_HOST_NETWORK), AddNetwork(154, ActionGroup.CONFIGURE_STORAGE_POOL_NETWORK), RemoveNetwork(155, ActionGroup.CONFIGURE_STORAGE_POOL_NETWORK), UpdateNetwork(156, ActionGroup.CONFIGURE_STORAGE_POOL_NETWORK), CommitNetworkChanges(157, ActionGroup.CONFIGURE_HOST_NETWORK), SetupNetworks(158, ActionGroup.CONFIGURE_HOST_NETWORK), // VmTemplatesCommand AddVmTemplate(201, ActionGroup.CREATE_TEMPLATE), UpdateVmTemplate(202, ActionGroup.EDIT_TEMPLATE_PROPERTIES), RemoveVmTemplate(203, ActionGroup.DELETE_TEMPLATE), MoveOrCopyTemplate(226, ActionGroup.COPY_TEMPLATE), AddVmTemplateInterface(220, ActionGroup.CONFIGURE_TEMPLATE_NETWORK), RemoveVmTemplateInterface(221, ActionGroup.CONFIGURE_TEMPLATE_NETWORK), UpdateVmTemplateInterface(222, ActionGroup.CONFIGURE_TEMPLATE_NETWORK), // ImagesCommands TryBackToSnapshot(204), RestoreFromSnapshot(205), CreateAllSnapshotsFromVm(206, ActionGroup.MANIPULATE_VM_SNAPSHOTS), CreateSnapshot(207), CreateSnapshotFromTemplate(208), CreateImageTemplate(209), MergeSnapshot(210, ActionGroup.MANIPULATE_VM_SNAPSHOTS), RemoveImage(211), RemoveAllVmImages(212), AddImageFromScratch(213), AddImageFromImport(214), RemoveTemplateSnapshot(215), RemoveAllVmTemplateImageTemplates(216), AddImagesFromImport(217), AddTemplateImagesFromImport(218), AddVmTemplateFromImport(219), TryBackToAllSnapshotsOfVm(223, ActionGroup.MANIPULATE_VM_SNAPSHOTS), RestoreAllSnapshots(224, ActionGroup.MANIPULATE_VM_SNAPSHOTS), MoveOrCopyImageGroup(225), MergeSnapshotSingleDisk(227), MoveMultipleImageGroups(228), CreateCloneOfTemplate(229), // VmPoolCommands AddVmPool(301), UpdateUserVm(303), AddVmPoolWithVms(304, ActionGroup.CREATE_VM_POOL), UpdateVmPoolWithVms(305, ActionGroup.EDIT_VM_POOL_CONFIGURATION), AddVmAndAttachToPool(306), RemoveVmPool(307, ActionGroup.DELETE_VM_POOL), AttachUserToVmFromPool(310), DetachUserFromVmFromPool(312), AddVmToPool(313), RemoveVmFromPool(314, ActionGroup.EDIT_VM_POOL_CONFIGURATION), // TODO: old implementation of TimeLeasedPools // AttachUserToTimeLeasedPool(315), // DetachUserFromTimeLeasedPool(316), // UpdateUserToTimeLeasedPool(317), AttachUserToVmFromPoolAndRun(318, ActionGroup.VM_POOL_BASIC_OPERATIONS), // UserAndGroupsCommands SetUserRole(405), LoginUser(406), AutoLogin(407), LogoutUser(408), RemoveUser(409, ActionGroup.MANIPULATE_USERS), SetAdGroupRole(410), // TODO: old implementation of TimeLeasedPools // AttachAdGroupTimeLeasedPool(412), // UpdateAdGroupTimeLeasedPool(413), // DetachAdGroupFromTimeLeasedPool(414), RemoveAdGroup(415, ActionGroup.MANIPULATE_USERS), ChangeUserPassword(416), CreateComputerAccount(417), LoginAdminUser(418), AddUser(419, ActionGroup.MANIPULATE_USERS), // Tags AddTag(501), RemoveTag(502), UpdateTag(503), MoveTag(504), AttachUserToTag(505), DetachUserFromTag(506), AttachUserGroupToTag(507), DetachUserGroupFromTag(508), AttachVmsToTag(509), DetachVmFromTag(510), AttachVdsToTag(511), DetachVdsFromTag(512), UpdateTagsVmMapDefaultDisplayType(515), // bookmarks AddBookmark(701), RemoveBookmark(702), UpdateBookmark(703), // vdsGroups AddVdsGroup(704, ActionGroup.CREATE_CLUSTER), UpdateVdsGroup(705, ActionGroup.EDIT_CLUSTER_CONFIGURATION), RemoveVdsGroup(706, ActionGroup.DELETE_CLUSTER), AttachNetworkToVdsGroup(708, ActionGroup.CONFIGURE_CLUSTER_NETWORK), DetachNetworkToVdsGroup(709, ActionGroup.CONFIGURE_CLUSTER_NETWORK), UpdateDisplayToVdsGroup(710, ActionGroup.EDIT_CLUSTER_CONFIGURATION), /** * 4.0 */ MigrateIrsSnapshotsToVdc(707), /** * MultiLevelAdministration */ AddPermission(800, ActionGroup.MANIPULATE_PERMISSIONS), RemovePermission(801, ActionGroup.MANIPULATE_PERMISSIONS), UpdateRole(803, ActionGroup.MANIPULATE_ROLES), RemoveRole(804, ActionGroup.MANIPULATE_ROLES), AttachActionGroupsToRole(805, ActionGroup.MANIPULATE_ROLES), DetachActionGroupsFromRole(806, ActionGroup.MANIPULATE_ROLES), AddRoleWithActionGroups(809, ActionGroup.MANIPULATE_ROLES), AddSelfPermission(810), AddSystemPermission(811, ActionGroup.MANIPULATE_PERMISSIONS), /** * Storages handling */ AddLocalStorageDomain(916, ActionGroup.CREATE_STORAGE_DOMAIN), AddNFSStorageDomain(902, ActionGroup.CREATE_STORAGE_DOMAIN), UpdateStorageDomain(903, ActionGroup.EDIT_STORAGE_DOMAIN_CONFIGURATION), RemoveStorageDomain(904, ActionGroup.DELETE_STORAGE_DOMAIN), ForceRemoveStorageDomain(905, ActionGroup.DELETE_STORAGE_DOMAIN), AttachStorageDomainToPool(906, ActionGroup.MANIPULATE_STORAGE_DOMAIN), DetachStorageDomainFromPool(907, ActionGroup.MANIPULATE_STORAGE_DOMAIN), ActivateStorageDomain(908, ActionGroup.MANIPULATE_STORAGE_DOMAIN), DeactivateStorageDomain(909, ActionGroup.MANIPULATE_STORAGE_DOMAIN), AddSANStorageDomain(910, ActionGroup.CREATE_STORAGE_DOMAIN), ExtendSANStorageDomain(911, ActionGroup.EDIT_STORAGE_DOMAIN_CONFIGURATION), ReconstructMasterDomain(913), HandleFailedStorageDomain(914), RecoveryStoragePool(915, ActionGroup.CREATE_STORAGE_POOL), AddEmptyStoragePool(950, ActionGroup.CREATE_STORAGE_POOL), AddStoragePoolWithStorages(951, ActionGroup.CREATE_STORAGE_POOL), RemoveStoragePool(957, ActionGroup.DELETE_STORAGE_POOL), UpdateStoragePool(958, ActionGroup.EDIT_STORAGE_POOL_CONFIGURATION), FenceVdsManualy(959, ActionGroup.MANIPUTLATE_HOST), AddExistingNFSStorageDomain(960, ActionGroup.CREATE_STORAGE_DOMAIN), AddExistingSANStorageDomain(961, ActionGroup.CREATE_STORAGE_DOMAIN), AddStorageServerConnection(1000, ActionGroup.CREATE_STORAGE_DOMAIN), RemoveStorageServerConnection(1002, ActionGroup.CREATE_STORAGE_DOMAIN), ConnectHostToStoragePoolServers(1004), DisconnectHostFromStoragePoolServers(1005), ConnectStorageToVds(1006, ActionGroup.CREATE_STORAGE_DOMAIN), SetStoragePoolStatus(1007), ConnectAllHostsToLun(1008), // Event Notification AddEventSubscription(1100), RemoveEventSubscription(1101), // UI User Tabs DataCenters(1200), Clusters(1201), Hosts(1202), Storage(1203), VirtualMachines(1204), Pools(1205), Templates(1206), Users(1207), Events(1208), Monitor(1209), // Config SetConfigurationValue(1300, ActionGroup.CONFIGURE_ENGINE), // Gluster Volumes CreateGlusterVolume(1400, ActionGroup.GLUSTER_CREATE_VOLUME), AddBricksToGlusterVolume(1401, ActionGroup.GLUSTER_VOLUME_OPERATIONS), StartGlusterVolume(1402, ActionGroup.GLUSTER_VOLUME_OPERATIONS), StopGlusterVolume(1403, ActionGroup.GLUSTER_VOLUME_OPERATIONS), RebalanceGlusterVolumeStart(1404, ActionGroup.GLUSTER_VOLUME_OPERATIONS), RebalanceGlusterVolumeStop(1405, ActionGroup.GLUSTER_VOLUME_OPERATIONS), ListGlusterVolumes(1406), ListGlusterBricks(1407), DeleteGlusterVolume(1408, ActionGroup.GLUSTER_DELETE_VOLUME); private int intValue; private ActionGroup actionGroup; private static java.util.HashMap<Integer, VdcActionType> mappings = new HashMap<Integer, VdcActionType>(); static { for (VdcActionType action : values()) { mappings.put(action.getValue(), action); } } private VdcActionType(int value) { this(value, null); } private VdcActionType(int value, ActionGroup actionGroupValue) { intValue = value; actionGroup = actionGroupValue; } public int getValue() { return intValue; } public ActionGroup getActionGroup() { return actionGroup; } public static VdcActionType forValue(int value) { return mappings.get(value); } }