public NewVMApplianceWizard(Pool pool) : base(pool.Connection) { InitializeComponent(); xenTabPageRBAC = new RBACWarningPage(); xenTabPageVMs = new NewVMGroupVMsPage <VM_appliance>(); xenTabPageName = new NewVMApplianceNamePage(); xenTabPageFinish = new NewVMApplianceFinishPage(); xenTabPageVMOrderAndDelays = new NewVMApplianceVMOrderAndDelaysPage(); Pool = pool; xenTabPageVMs.Pool = pool; #region RBAC Warning Page Checks if (Pool.Connection.Session.IsLocalSuperuser || Helpers.GetMaster(Pool.Connection).external_auth_type == Auth.AUTH_TYPE_NONE) { //do nothing } else { RBACWarningPage.WizardPermissionCheck check = new RBACWarningPage.WizardPermissionCheck(Messages.RBAC_WARNING_VM_APPLIANCE); check.AddApiCheck("VM_appliance.async_create"); check.Blocking = true; xenTabPageRBAC.AddPermissionChecks(xenConnection, check); AddPage(xenTabPageRBAC, 0); } #endregion xenTabPageVMOrderAndDelays.Pool = pool; AddPages(xenTabPageName, xenTabPageVMs, xenTabPageVMOrderAndDelays, xenTabPageFinish); }
public ExportApplianceWizard(IXenConnection con, SelectedItemCollection selection) : base(con) { InitializeComponent(); m_pageExportAppliance = new ExportAppliancePage(); m_pageRbac = new RBACWarningPage(); m_pageExportSelectVMs = new ExportSelectVMsPage(); m_pageExportEula = new ExportEulaPage(); m_pageExportOptions = new ExportOptionsPage(); m_pageTvmIp = new TvmIpPage(); m_pageFinish = new ExportFinishPage(); m_selectedObject = selection.FirstAsXenObject; if (selection.Count == 1 && (m_selectedObject is VM || m_selectedObject is VM_appliance)) { m_pageExportAppliance.ApplianceFileName = m_selectedObject.Name(); } m_pageExportAppliance.OvfModeOnly = m_selectedObject is VM_appliance; m_pageTvmIp.IsExportMode = true; m_pageFinish.SummaryRetreiver = GetSummary; m_pageExportSelectVMs.SelectedItems = selection; AddPages(m_pageExportAppliance, m_pageExportSelectVMs, m_pageFinish); }
public ImportWizard(IXenConnection con, IXenObject xenObject, string filename, bool ovfModeOnly) : base(con) { InitializeComponent(); m_pageStorage = new ImportSelectStoragePage(); m_pageNetwork = new ImportSelectNetworkPage(); m_pageHost = new ImportSelectHostPage(); m_pageSecurity = new ImportSecurityPage(); m_pageEula = new ImportEulaPage(); m_pageOptions = new ImportOptionsPage(); m_pageFinish = new ImportFinishPage(); m_pageRbac = new RBACWarningPage(); m_pageTvmIp = new TvmIpPage(); m_pageVMconfig = new ImageVMConfigPage(); m_pageImportSource = new ImportSourcePage(); m_pageXvaStorage = new StoragePickerPage(); m_pageXvaNetwork = new NetworkPickerPage(); m_pageXvaHost = new GlobalSelectHost(); lunPerVdiMappingPage = new LunPerVdiImportPage { Connection = con }; m_selectedObject = xenObject; m_pageFinish.SummaryRetreiver = GetSummary; m_pageXvaStorage.ImportVmCompleted += m_pageXvaStorage_ImportVmCompleted; if (!string.IsNullOrEmpty(filename)) { m_pageImportSource.SetFileName(filename); } m_pageImportSource.OvfModeOnly = ovfModeOnly; AddPages(m_pageImportSource, m_pageHost, m_pageStorage, m_pageNetwork, m_pageFinish); }
protected void InitialiseWizard(IEnumerable <SelectedItem> selection) { CreateMappingsFromSelection(selection); UpdateWindowTitle(); m_pageDestination = new CrossPoolMigrateDestinationPage(hostPreSelection, VmsFromSelection(selection), wizardMode) { VmMappings = m_vmMappings, }; m_pageStorage = new CrossPoolMigrateStoragePage(); m_pageNetwork = new CrossPoolMigrateNetworkingPage(); m_pageTransferNetwork = new CrossPoolMigrateTransferNetworkPage(VmsFromSelection(selection)); m_pageFinish = new CrossPoolMigrateFinishPage(selection.Count(), wizardMode) { SummaryRetreiver = GetVMMappingSummary }; m_pageTargetRbac = new RBACWarningPage(); m_pageCopyMode = new CrossPoolMigrateCopyModePage(VmsFromSelection(selection)); m_pageIntraPoolCopy = new IntraPoolCopyPage(VmsFromSelection(selection)); if (wizardMode == WizardMode.Copy) { AddPages(m_pageCopyMode, m_pageIntraPoolCopy); } else { AddPages(m_pageDestination, m_pageStorage, m_pageFinish); } }
protected void InitialiseWizard(IEnumerable <SelectedItem> selection) { var vmsFromSelection = VmsFromSelection(selection); CreateMappingsFromSelection(selection); HasTemplatesOnly = vmsFromSelection != null && vmsFromSelection.All(vm => vm.is_a_template); UpdateWindowTitle(); m_pageDestination = CreateCrossPoolMigrateDestinationPage(selection); m_pageStorage = new CrossPoolMigrateStoragePage(wizardMode); m_pageNetwork = new CrossPoolMigrateNetworkingPage(HasTemplatesOnly, wizardMode); m_pageTransferNetwork = new CrossPoolMigrateTransferNetworkPage(vmsFromSelection, HasTemplatesOnly, wizardMode); m_pageFinish = new CrossPoolMigrateFinishPage(selection.Count(), wizardMode, HasTemplatesOnly) { SummaryRetreiver = GetVMMappingSummary }; m_pageTargetRbac = new RBACWarningPage(); m_pageCopyMode = new CrossPoolMigrateCopyModePage(vmsFromSelection); m_pageIntraPoolCopy = new IntraPoolCopyPage(vmsFromSelection); if (wizardMode == WizardMode.Copy) { AddPages(m_pageCopyMode, m_pageIntraPoolCopy); } else { AddPages(m_pageDestination, m_pageStorage, m_pageFinish); } }
private void InitialiseWizard(SelectedItemCollection selection) { var vmsFromSelection = new List <VM>(); foreach (var item in selection) { var vm = item.XenObject as VM; if (vm == null) { continue; } vmsFromSelection.Add(vm); m_vmMappings.Add(item.XenObject.opaque_ref, new VmMapping { VmNameLabel = item.XenObject.Name() }); } HasTemplatesOnly = vmsFromSelection.Count > 0 && vmsFromSelection.All(vm => vm.is_a_template); UpdateWindowTitle(); m_pageDestination = new CrossPoolMigrateDestinationPage(vmsFromSelection, wizardMode, GetSourceConnectionsForSelection(selection), _force) { VmMappings = m_vmMappings, Connection = selection.GetConnectionOfFirstItem() }; m_pageDestination.SetDefaultTarget(hostPreSelection); m_pageStorage = new CrossPoolMigrateStoragePage(wizardMode); m_pageNetwork = new CrossPoolMigrateNetworkingPage(HasTemplatesOnly, wizardMode); m_pageTransferNetwork = new CrossPoolMigrateTransferNetworkPage(vmsFromSelection, HasTemplatesOnly, wizardMode); m_pageFinish = new CrossPoolMigrateFinishPage(selection.Count(), wizardMode, HasTemplatesOnly) { SummaryRetreiver = GetVMMappingSummary }; m_pageTargetRbac = new RBACWarningPage(); m_pageCopyMode = new CrossPoolMigrateCopyModePage(vmsFromSelection); m_pageIntraPoolCopy = new IntraPoolCopyPage(vmsFromSelection); if (wizardMode == WizardMode.Copy) { AddPages(m_pageCopyMode, m_pageIntraPoolCopy); } else { AddPages(m_pageDestination, m_pageStorage, m_pageFinish); } }
public DRFailoverWizard(Pool pool, DRWizardType wizardType) : base(pool.Connection) { InitializeComponent(); RBACWarningPage = new RBACWarningPage(); DRFailoverWizardFirstPage = new DRFailoverWizardFirstPage(); DRFailoverWizardStoragePage1 = new DRFailoverWizardStoragePage(); DRFailoverWizardPrecheckPage1 = new DRFailoverWizardPrecheckPage(); DRFailoverWizardRecoverPage1 = new DRFailoverWizardRecoverPage(); DRFailoverWizardAppliancesPage1 = new DRFailoverWizardAppliancesPage(); DRFailoverWizardWelcomePage = new DRFailoverWizardWelcomePage(); DRFailoverWizardReportPage1 = new DRFailoverWizardReportPage(); Pool = pool; WizardType = wizardType; #region RBAC Warning Page Checks if (Pool.Connection.Session.IsLocalSuperuser || Helpers.GetMaster(Pool.Connection).external_auth_type == Auth.AUTH_TYPE_NONE) { } else { RBACWarningPage.WizardPermissionCheck check = new RBACWarningPage.WizardPermissionCheck(Messages.RBAC_DR_WIZARD_MESSAGE); check.AddApiCheck("DR_task.async_create"); check.Blocking = true; RBACWarningPage.AddPermissionChecks(xenConnection, check); AddPage(RBACWarningPage, 0); } #endregion DRFailoverWizardReportPage1.SummaryRetreiver = GetSummaryReport; DRFailoverWizardWelcomePage.WizardTypeChanged += DRFailoverWizardWelcomePage_WizardTypeChanged; DRFailoverWizardWelcomePage.SetWizardType(wizardType); DRFailoverWizardRecoverPage1.ReportStarted += DRFailoverWizardRecoverPage1_ReportStarted; DRFailoverWizardRecoverPage1.ReportLineGot += DRFailoverWizardRecoverPage1_ReportLineGot; DRFailoverWizardRecoverPage1.ReportActionResultGot += DRFailoverWizardRecoverPage1_ReportActionResultGot; DRFailoverWizardAppliancesPage1.Pool = pool; DRFailoverWizardPrecheckPage1.Pool = pool; DRFailoverWizardStoragePage1.NewDrTaskIntroduced += NewDrTaskIntroduced; DRFailoverWizardPrecheckPage1.NewDrTaskIntroduced += NewDrTaskIntroduced; DRFailoverWizardPrecheckPage1.SrIntroduced += DRFailoverWizardPrecheckPage1_SrIntroduced; AddPages(DRFailoverWizardWelcomePage, DRFailoverWizardFirstPage, DRFailoverWizardStoragePage1, DRFailoverWizardAppliancesPage1, DRFailoverWizardPrecheckPage1, DRFailoverWizardRecoverPage1, DRFailoverWizardReportPage1); }
public NewPolicyWizardSpecific(Pool pool) : base(pool) { this.Text = VMGroup <T> .VMPolicyWizardTitle; xenTabPagePolicy = new NewPolicyPolicyNamePage(VMGroup <T> .VMPolicyNamePageText, VMGroup <T> .VMPolicyNamePageTextMore, VMGroup <T> .VMPolicyNamePageTabName, VMGroup <T> .VMPolicyNamePageTabText, VMGroup <T> .VMPolicyNamePageNameFieldText); xenTabPageSnapshotType = new NewPolicySnapshotTypePageSpecific <T>(); xenTabPageVMsPage = new NewVMGroupVMsPage <T>(); xenTabPageFinish = new NewPolicyFinishPage(VMGroup <T> .VMPolicyFinishPageText, VMGroup <T> .VMPolicyFinishPageCheckboxText, VMGroup <T> .VMPolicyFinishPageTitle); xenTabPageRBAC = new RBACWarningPage(); xenTabPageVMsPage.Pool = pool; xenTabPageSnapshotFrequency = new NewPolicySnapshotFrequencyPage(); xenTabPageSnapshotFrequency.Pool = pool; #region RBAC Warning Page Checks if (Pool.Connection.Session.IsLocalSuperuser || Helpers.GetMaster(Pool.Connection).external_auth_type == Auth.AUTH_TYPE_NONE) { //do nothing } else { RBACWarningPage.WizardPermissionCheck check; check = new RBACWarningPage.WizardPermissionCheck(VMGroup <T> .VMPolicyRBACWarning); check.AddApiCheck(VMGroup <T> .VMPolicyRBACapiCheck); check.Blocking = true; xenTabPageRBAC.AddPermissionChecks(xenConnection, check); AddPage(xenTabPageRBAC, 0); } #endregion AddPages(xenTabPagePolicy, xenTabPageVMsPage); AddPage(xenTabPageSnapshotType); AddPages(xenTabPageSnapshotFrequency); if (VMGroup <T> .isVMPolicyVMPP) { xenTabPageArchive = new NewPolicyArchivePage(); xenTabPageArchive.Pool = pool; AddPage(xenTabPageArchive); xenTabPageEmail = new NewPolicyEmailPage(); xenTabPageEmail.Pool = pool; AddPages(xenTabPageEmail); } AddPages(xenTabPageFinish); }
public HAWizard(Pool pool) : base(pool.Connection) { InitializeComponent(); xenTabPageIntro = new Intro(); m_pageRbac = new RBACWarningPage(); xenTabPageAssignPriorities = new AssignPriorities(); xenTabPageChooseSR = new ChooseSR(); xenTabPageHaFinish = new HAFinishPage(); this.pool = pool; _rbacNeeded = !pool.Connection.Session.IsLocalSuperuser && Helpers.GetMaster(pool.Connection).external_auth_type != Auth.AUTH_TYPE_NONE; AddPage(xenTabPageIntro); if (_rbacNeeded) { var check = new RBACWarningPage.WizardPermissionCheck(Messages.RBAC_HA_ENABLE_WARNING) { Blocking = true }; check.AddApiCheckRange( "vm.set_ha_restart_priority", "vm.set_order", "vm.set_start_delay", "pool.sync_database", "pool.ha_compute_hypothetical_max_host_failures_to_tolerate", "pool.set_ha_host_failures_to_tolerate", "pool.enable_ha", "sr.assert_can_host_ha_statefile" ); m_pageRbac.AddPermissionChecks(xenConnection, check); AddPage(m_pageRbac); } AddPage(xenTabPageChooseSR); xenTabPageChooseSR.Pool = pool; AddPage(xenTabPageAssignPriorities); xenTabPageAssignPriorities.ProtectVmsByDefault = true; xenTabPageAssignPriorities.Connection = pool.Connection;//set the connection again after the page has been added AddPage(xenTabPageHaFinish); }
private void InitialiseWizard(IEnumerable <SelectedItem> selection) { Text = Messages.CPM_WIZARD_TITLE; CreateMappingsFromSelection(selection); m_pageDestination = new CrossPoolMigrateDestinationPage(hostPreSelection, VmsFromSelection(selection)) { VmMappings = m_vmMappings, }; m_pageStorage = new CrossPoolMigrateStoragePage(); m_pageNetwork = new CrossPoolMigrateNetworkingPage(); m_pageTransferNetwork = new CrossPoolMigrateTransferNetworkPage(VmsFromSelection(selection)); m_pageFinish = new CrossPoolMigrateFinishPage { SummaryRetreiver = GetVMMappingSummary }; m_pageTargetRbac = new RBACWarningPage(); AddPages(m_pageDestination, m_pageStorage, m_pageTransferNetwork, m_pageFinish); }
public RestoreWizard(IXenObject xenModelObject) { this.InitializeComponent(); this._Message = base.Text = string.Format(Messages.RESTORE_VM_TITLE, Helpers.GetName(xenModelObject.Connection)); this.page_SetStorage = new Page_SetStorage(xenModelObject); this.page_SelectVM = new Page_SelectVM(); this.page_JobSettings = new Page_JobSettings(xenModelObject); this.page_JobSchedule = new Page_JobSchedule(); this.page_VMSettings = new Page_VMSettings(); this.page_Complete = new Page_Complete(); this.page_RbacWarning = new RBACWarningPage(); this._xenModelObject = xenModelObject; this.backup_info_list = new Dictionary <string, string>(); this.vmCheckedList = new List <AgentParamDataModel>(); this.restoreDataModel = new RestoreDataModel(); this.restore_info_list = new List <BackupRestoreConfig.ResultInfo>(); this.restoreListInfo = new BackupRestoreConfig.RestoreListInfo(); this.restore_vdi_list = new Dictionary <string, string>(); #region RBAC Warning Page Checks if (this._xenModelObject.Connection.Session.IsLocalSuperuser || Helpers.GetMaster(this._xenModelObject.Connection).external_auth_type == Auth.AUTH_TYPE_NONE) { //page_RbacWarning.DisableStep = true; } else { // Check to see if they can even create a VM RBACWarningPage.WizardPermissionCheck createCheck = new RBACWarningPage.WizardPermissionCheck(Messages.RBAC_WARNING_VM_WIZARD_RESTORE); foreach (RbacMethod method in StaticRBACDependencies) { createCheck.AddApiCheck(method); } createCheck.Blocking = true; page_RbacWarning.AddPermissionChecks(this._xenModelObject.Connection, createCheck); AddPage(page_RbacWarning, 0); } #endregion base.AddPages(new XenTabPage[] { this.page_SetStorage, this.page_SelectVM, this.page_JobSettings, this.page_JobSchedule, this.page_VMSettings, this.page_Complete }); }
internal ReplicationWizard(IXenObject XenObject) { this.InitializeComponent(); this._xenModelObject = XenObject; this.repChoseVmPage = new ReplicationChoseVmPage(XenObject); this.repJobSettingPage = new ReplicationJobSettingPage(); this.synchronizationPage = new ReplicationSynchronizationPage(); this.schedulePage = new ReplicationSchedulePage(XenObject); this.vmSettingsPage = new ReplicationVMSettingsPage(); this.completePage = new ReplicationCompletePage(); this.page_RbacWarning = new RBACWarningPage(); #region RBAC Warning Page Checks if (this._xenModelObject.Connection.Session.IsLocalSuperuser || Helpers.GetMaster(this._xenModelObject.Connection).external_auth_type == Auth.AUTH_TYPE_NONE) { //page_RbacWarning.DisableStep = true; } else { // Check to see if they can even create a VM RBACWarningPage.WizardPermissionCheck createCheck = new RBACWarningPage.WizardPermissionCheck(Messages.RBAC_WARNING_VM_WIZARD_REPLICATION); foreach (RbacMethod method in StaticRBACDependencies) { createCheck.AddApiCheck(method); } createCheck.Blocking = true; page_RbacWarning.AddPermissionChecks(this._xenModelObject.Connection, createCheck); AddPage(page_RbacWarning, 0); } #endregion base.AddPage(this.repChoseVmPage); base.AddPage(this.repJobSettingPage); base.AddPage(this.synchronizationPage); base.AddPage(this.schedulePage); base.AddPage(this.vmSettingsPage); base.AddPage(this.completePage); this.m_text = string.Format(Messages.REPLICATION_VM_TITLE, Helpers.GetName(XenObject.Connection)); }
public NewPolicyWizard(Pool pool) : base(pool.Connection) { InitializeComponent(); Pool = pool; this.Text = Messages.VMSS_WIZARD_TITLE; xenTabPagePolicy = new NewPolicyPolicyNamePage(Messages.NEW_VMSS_PAGE_TEXT, Messages.NEW_VMSS_PAGE_TEXT_MORE, Messages.VMSS_NAME, Messages.VMSS_NAME_TITLE, Messages.VMSS_NAME_FIELD_TEXT); xenTabPageSnapshotType = new NewPolicySnapshotTypePage(); xenTabPageVMsPage = new NewVMGroupVMsPage <VMSS>(); xenTabPageFinish = new NewPolicyFinishPage(Messages.VMSS_FINISH_PAGE_TEXT, Messages.VMSS_FINISH_PAGE_CHECKBOX_TEXT, Messages.VMSS_FINISH_TITLE); xenTabPageRBAC = new RBACWarningPage(); xenTabPageVMsPage.Pool = pool; xenTabPageSnapshotFrequency = new NewPolicySnapshotFrequencyPage(); xenTabPageSnapshotFrequency.Pool = pool; #region RBAC Warning Page Checks if (Pool.Connection.Session.IsLocalSuperuser || Helpers.GetMaster(Pool.Connection).external_auth_type == Auth.AUTH_TYPE_NONE) { //do nothing } else { RBACWarningPage.WizardPermissionCheck check; check = new RBACWarningPage.WizardPermissionCheck(Messages.RBAC_WARNING_VMSS); check.AddApiCheck("VMSS.async_create"); check.Blocking = true; xenTabPageRBAC.AddPermissionChecks(xenConnection, check); AddPage(xenTabPageRBAC, 0); } #endregion AddPages(xenTabPagePolicy, xenTabPageVMsPage); AddPage(xenTabPageSnapshotType); AddPages(xenTabPageSnapshotFrequency); AddPages(xenTabPageFinish); }
public BackupWizard(IXenObject XenObject) { this._xenModelObject = XenObject; InitializeComponent(); base.Text = string.Format(Messages.BACKUP_VM_TITLE, HalsignHelpers.GetName(this._xenModelObject.Connection)); this.xenChoseVmBackupPage = new BackupChoseVmPage(XenObject); this.scheduleBackupPage = new BackupSchedulePage(); this.summaryBackupPage = new BackupSummaryPage(); this.optionsBackupPage = new BackupOptionsPage(); this.completeBackupPage = new BackupCompletePage(); this.page_RbacWarning = new RBACWarningPage(); #region RBAC Warning Page Checks if (this._xenModelObject.Connection.Session.IsLocalSuperuser || Helpers.GetMaster(this._xenModelObject.Connection).external_auth_type == Auth.AUTH_TYPE_NONE) { //page_RbacWarning.DisableStep = true; } else { // Check to see if they can even create a VM RBACWarningPage.WizardPermissionCheck createCheck = new RBACWarningPage.WizardPermissionCheck(Messages.RBAC_WARNING_VM_WIZARD_BACKUP); foreach (RbacMethod method in StaticRBACDependencies) { createCheck.AddApiCheck(method); } createCheck.Blocking = true; page_RbacWarning.AddPermissionChecks(this._xenModelObject.Connection, createCheck); AddPage(page_RbacWarning, 0); } #endregion base.AddPage(this.xenChoseVmBackupPage); base.AddPage(this.scheduleBackupPage); base.AddPage(this.optionsBackupPage); base.AddPage(this.summaryBackupPage); base.AddPage(this.completeBackupPage); }
public NewPolicyWizard(Pool pool) : base(pool.Connection) { InitializeComponent(); xenTabPagePolicy = new NewPolicyPolicyNamePage(); xenTabPageSnapshotType = new NewPolicySnapshotTypePage(); xenTabPageSnapshotFrequency = new NewPolicySnapshotFrequencyPage(); xenTabPageVMsPage = new NewVMGroupVMsPage <VMPP>(); xenTabPageArchive = new NewPolicyArchivePage(); xenTabPageEmail = new NewPolicyEmailPage(); xenTabPageFinish = new NewPolicyFinishPage(); xenTabPageRBAC = new RBACWarningPage(); Pool = pool; xenTabPageVMsPage.Pool = pool; xenTabPageEmail.Pool = pool; xenTabPageArchive.Pool = pool; xenTabPageSnapshotFrequency.Pool = pool; #region RBAC Warning Page Checks if (Pool.Connection.Session.IsLocalSuperuser || Helpers.GetMaster(Pool.Connection).external_auth_type == Auth.AUTH_TYPE_NONE) { //do nothing } else { RBACWarningPage.WizardPermissionCheck check = new RBACWarningPage.WizardPermissionCheck(Messages.RBAC_WARNING_VMPP); check.AddApiCheck("VMPP.async_create"); check.Blocking = true; xenTabPageRBAC.AddPermissionChecks(xenConnection, check); AddPage(xenTabPageRBAC, 0); } #endregion AddPages(xenTabPagePolicy, xenTabPageVMsPage, xenTabPageSnapshotType, xenTabPageSnapshotFrequency, xenTabPageArchive, xenTabPageEmail, xenTabPageFinish); }
internal NewSRWizard(IXenConnection connection, SR srToReattach, bool disasterRecoveryTask) : base(connection) { InitializeComponent(); xenTabPageSrName = new NewSrWizardNamePage(); xenTabPageCifsIso = new CIFS_ISO(); xenTabPageCifs = new CifsFrontend(); xenTabPageCslg = new CSLG(); xenTabPageVhdoNFS = new VHDoNFS(); xenTabPageNfsIso = new NFS_ISO(); xenTabPageNetApp = new NetApp(); xentabPageEqualLogic = new EqualLogic(); xenTabPageLvmoIscsi = new LVMoISCSI(); xenTabPageLvmoHba = new LVMoHBA(); xenTabPageLvmoFcoe = new LVMoFCoE(); xenTabPageLvmoHbaSummary = new LVMoHBASummary(); xenTabPageCslgSettings = new CslgSettings(); xenTabPageCslgLocation = new CslgLocation(); xenTabPageFilerDetails = new FilerDetails(); xenTabPageChooseSrType = new ChooseSrTypePage(); xenTabPageChooseSrProv = new ChooseSrProvisioningPage(); xenTabPageRbacWarning = new RBACWarningPage((srToReattach == null && !disasterRecoveryTask) ? Messages.RBAC_WARNING_PAGE_DESCRIPTION_SR_CREATE : Messages.RBAC_WARNING_PAGE_DESCRIPTION_SR_ATTACH); //do not use virtual members in constructor var format = (srToReattach == null && !disasterRecoveryTask) ? Messages.NEWSR_TEXT : Messages.NEWSR_TEXT_ATTACH; m_text = string.Format(format, Helpers.GetName(xenConnection)); _srToReattach = srToReattach; xenTabPageChooseSrType.SrToReattach = srToReattach; xenTabPageChooseSrType.DisasterRecoveryTask = disasterRecoveryTask; // Order the tab pages AddPage(xenTabPageChooseSrType); AddPage(xenTabPageSrName); AddPage(new XenTabPage { Text = Messages.NEWSR_LOCATION }); // RBAC warning page _rbac = (xenConnection != null && !xenConnection.Session.IsLocalSuperuser) && Helpers.GetMaster(xenConnection).external_auth_type != Auth.AUTH_TYPE_NONE; if (_rbac) { // if reattaching, add "Permission checks" page after "Name" page, otherwise as first page (Ref. CA-61525) if (_srToReattach != null) { AddAfterPage(xenTabPageSrName, xenTabPageRbacWarning); } else { AddPage(xenTabPageRbacWarning, 0); } ConfigureRbacPage(disasterRecoveryTask); } }
public NewVMWizard(IXenConnection connection, VM template, Host affinity) : base(connection) { InitializeComponent(); page_1_Template = new Page_Template(); page_1b_BiosLocking = new Page_CopyBiosStrings(); page_2_Name = new Page_Name(); page_3_InstallationMedia = new Page_InstallationMedia(); page_4_HomeServer = new Page_HomeServer(); page_5_CpuMem = new Page_CpuMem(); page_6_Storage = new Page_Storage(); page_7_Networking = new Page_Networking(); page_8_Finish = new Page_Finish(); page_RbacWarning = new RBACWarningPage(); page_Cloud = new Page_Cloud(); page_6b_LunPerVdi = new LunPerVdiNewVMMappingPage { Connection = xenConnection }; #region RBAC Warning Page Checks if (connection.Session.IsLocalSuperuser || Helpers.GetMaster(connection).external_auth_type == Auth.AUTH_TYPE_NONE) { //page_RbacWarning.DisableStep = true; } else { // Check to see if they can even create a VM RBACWarningPage.WizardPermissionCheck createCheck = new RBACWarningPage.WizardPermissionCheck(Messages.RBAC_WARNING_VM_WIZARD_BLOCK); foreach (RbacMethod method in CreateVMAction.StaticRBACDependencies) { createCheck.AddApiCheck(method); } createCheck.Blocking = true; // Check to see if they can set memory values RBACWarningPage.WizardPermissionCheck memCheck = new RBACWarningPage.WizardPermissionCheck(Messages.RBAC_WARNING_VM_WIZARD_MEM); memCheck.AddApiCheck("vm.set_memory_limits"); memCheck.WarningAction = new RBACWarningPage.PermissionCheckActionDelegate(delegate() { // no point letting them continue page_5_CpuMem.DisableMemoryControls(); }); // Check to see if they can set the VM's affinity RBACWarningPage.WizardPermissionCheck affinityCheck = new RBACWarningPage.WizardPermissionCheck(Messages.RBAC_WARNING_VM_WIZARD_AFFINITY); affinityCheck.ApiCallsToCheck.Add("vm.set_affinity"); affinityCheck.WarningAction = new RBACWarningPage.PermissionCheckActionDelegate(delegate() { page_4_HomeServer.DisableStep = true; BlockAffinitySelection = true; Program.Invoke(this, delegate { RefreshProgress(); }); }); page_RbacWarning.AddPermissionChecks(xenConnection, createCheck, affinityCheck, memCheck); AddPage(page_RbacWarning, 0); } #endregion page_8_Finish.SummaryRetreiver = GetSummary; AddPages(page_1_Template, page_2_Name, page_3_InstallationMedia, page_4_HomeServer, page_5_CpuMem, page_6_Storage, page_7_Networking, page_8_Finish); m_affinity = affinity; page_1_Template.SelectedTemplate = template; page_1b_BiosLocking.Affinity = affinity; page_3_InstallationMedia.Affinity = affinity; page_4_HomeServer.Affinity = affinity; page_6_Storage.Affinity = affinity; }