diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/VirtualizationServerProxy2012.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/VirtualizationServerProxy2012.cs index 0798c760..93f77397 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/VirtualizationServerProxy2012.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Client/VirtualizationServerProxy2012.cs @@ -11,6 +11,12 @@ // // This source code was auto-generated by wsdl, Version=2.0.50727.42. // + +using WebsitePanel.Providers; +using WebsitePanel.Providers.Common; +using WebsitePanel.Providers.ResultObjects; +using WebsitePanel.Providers.Virtualization; + namespace WebsitePanel.EnterpriseServer { using System.Xml.Serialization; using System.Web.Services; @@ -18,10 +24,7 @@ namespace WebsitePanel.EnterpriseServer { using System.Web.Services.Protocols; using System; using System.Diagnostics; - using WebsitePanel.Providers; - using WebsitePanel.Providers.Common; - using WebsitePanel.Providers.Virtualization; - using WebsitePanel.Providers.ResultObjects; + /// [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] @@ -141,6 +144,8 @@ namespace WebsitePanel.EnterpriseServer { private System.Threading.SendOrPostCallback SendVirtualMachineSummaryLetterOperationCompleted; + private System.Threading.SendOrPostCallback GetCertificatesOperationCompleted; + /// public esVirtualizationServer2012() { this.Url = "http://127.0.0.1:9012/esVirtualizationServer2012.asmx"; @@ -311,6 +316,9 @@ namespace WebsitePanel.EnterpriseServer { /// public event SendVirtualMachineSummaryLetterCompletedEventHandler SendVirtualMachineSummaryLetterCompleted; + /// + public event GetCertificatesCompletedEventHandler GetCertificatesCompleted; + /// [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetVirtualMachines", RequestNamespace="http://smbsaas/websitepanel/enterpriseserver", ResponseNamespace="http://smbsaas/websitepanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] public VirtualMachineMetaItemsPaged GetVirtualMachines(int packageId, string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, bool recursive) { @@ -3121,6 +3129,50 @@ namespace WebsitePanel.EnterpriseServer { } } + /// + [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/websitepanel/enterpriseserver/GetCertificates", RequestNamespace="http://smbsaas/websitepanel/enterpriseserver", ResponseNamespace="http://smbsaas/websitepanel/enterpriseserver", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] + public CertificateInfo[] GetCertificates(int serviceId, string remoteServer) { + object[] results = this.Invoke("GetCertificates", new object[] { + serviceId, + remoteServer}); + return ((CertificateInfo[])(results[0])); + } + + /// + public System.IAsyncResult BeginGetCertificates(int serviceId, string remoteServer, System.AsyncCallback callback, object asyncState) { + return this.BeginInvoke("GetCertificates", new object[] { + serviceId, + remoteServer}, callback, asyncState); + } + + /// + public CertificateInfo[] EndGetCertificates(System.IAsyncResult asyncResult) { + object[] results = this.EndInvoke(asyncResult); + return ((CertificateInfo[])(results[0])); + } + + /// + public void GetCertificatesAsync(int serviceId, string remoteServer) { + this.GetCertificatesAsync(serviceId, remoteServer, null); + } + + /// + public void GetCertificatesAsync(int serviceId, string remoteServer, object userState) { + if ((this.GetCertificatesOperationCompleted == null)) { + this.GetCertificatesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetCertificatesOperationCompleted); + } + this.InvokeAsync("GetCertificates", new object[] { + serviceId, + remoteServer}, this.GetCertificatesOperationCompleted, userState); + } + + private void OnGetCertificatesOperationCompleted(object arg) { + if ((this.GetCertificatesCompleted != null)) { + System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg)); + this.GetCertificatesCompleted(this, new GetCertificatesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState)); + } + } + /// public new void CancelAsync(object userState) { base.CancelAsync(userState); @@ -4556,4 +4608,30 @@ namespace WebsitePanel.EnterpriseServer { } } } + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + public delegate void GetCertificatesCompletedEventHandler(object sender, GetCertificatesCompletedEventArgs e); + + /// + [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class GetCertificatesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs { + + private object[] results; + + internal GetCertificatesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : + base(exception, cancelled, userState) { + this.results = results; + } + + /// + public CertificateInfo[] Result { + get { + this.RaiseExceptionIfNecessary(); + return ((CertificateInfo[])(this.results[0])); + } + } + } } diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/Virtualization2012/VirtualizationServerController2012.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/Virtualization2012/VirtualizationServerController2012.cs index 8f4402e7..5171fd45 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/Virtualization2012/VirtualizationServerController2012.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer.Code/Virtualization2012/VirtualizationServerController2012.cs @@ -42,6 +42,7 @@ using System.Net.Mail; using System.Diagnostics; using System.Linq; using System.Net; +using WebsitePanel.Providers.Virtualization2012; namespace WebsitePanel.EnterpriseServer { @@ -84,7 +85,7 @@ namespace WebsitePanel.EnterpriseServer public static VirtualMachine[] GetVirtualMachinesByServiceId(int serviceId) { // get proxy - VirtualizationServer vps = GetVirtualizationProxy(serviceId); + VirtualizationServer2012 vps = GetVirtualizationProxy(serviceId); // load details return vps.GetVirtualMachines(); @@ -166,7 +167,7 @@ namespace WebsitePanel.EnterpriseServer string path = settings["OsTemplatesPath"]; // get proxy - VirtualizationServer vs = GetVirtualizationProxy(serviceId); + VirtualizationServer2012 vs = GetVirtualizationProxy(serviceId); return vs.GetLibraryItems(path); } @@ -176,7 +177,7 @@ namespace WebsitePanel.EnterpriseServer public static int GetMaximumCpuCoresNumber(int packageId) { // get proxy - VirtualizationServer vs = GetVirtualizationProxyByPackageId(packageId); + VirtualizationServer2012 vs = GetVirtualizationProxyByPackageId(packageId); return vs.GetProcessorCoresNumber(); } @@ -619,7 +620,7 @@ namespace WebsitePanel.EnterpriseServer vm.ProvisioningStatus = VirtualMachineProvisioningStatus.Error; // load proxy - VirtualizationServer vs = GetVirtualizationProxy(vm.ServiceId); + VirtualizationServer2012 vs = GetVirtualizationProxy(vm.ServiceId); // load service settings StringDictionary settings = ServerController.GetServiceSettings(vm.ServiceId); @@ -1199,7 +1200,7 @@ namespace WebsitePanel.EnterpriseServer StringDictionary settings = ServerController.GetServiceSettings(serviceId); // load virtual machine info from service - VirtualizationServer vs = GetVirtualizationProxy(serviceId); + VirtualizationServer2012 vs = GetVirtualizationProxy(serviceId); VirtualMachine vm = vs.GetVirtualMachineEx(vmId); // set VM properties @@ -1461,7 +1462,7 @@ namespace WebsitePanel.EnterpriseServer JobResult result = null; // load proxy - VirtualizationServer vs = GetVirtualizationProxy(vm.ServiceId); + VirtualizationServer2012 vs = GetVirtualizationProxy(vm.ServiceId); try { @@ -1540,7 +1541,7 @@ namespace WebsitePanel.EnterpriseServer { // create switch // load proxy - VirtualizationServer vs = GetVirtualizationProxy(item.ServiceId); + VirtualizationServer2012 vs = GetVirtualizationProxy(item.ServiceId); // create switch VirtualSwitch sw = vs.CreateSwitch(name); @@ -1591,7 +1592,7 @@ namespace WebsitePanel.EnterpriseServer return null; // get proxy - VirtualizationServer vps = GetVirtualizationProxy(vm.ServiceId); + VirtualizationServer2012 vps = GetVirtualizationProxy(vm.ServiceId); // load jobs ConcreteJob[] jobs = vps.GetVirtualMachineJobs(vm.VirtualMachineId); @@ -1617,7 +1618,7 @@ namespace WebsitePanel.EnterpriseServer return null; // get proxy - VirtualizationServer vps = GetVirtualizationProxy(vm.ServiceId); + VirtualizationServer2012 vps = GetVirtualizationProxy(vm.ServiceId); // return thumbnail return vps.GetVirtualMachineThumbnailImage(vm.VirtualMachineId, size); @@ -1632,7 +1633,7 @@ namespace WebsitePanel.EnterpriseServer return null; // get proxy - VirtualizationServer vps = GetVirtualizationProxy(machine.ServiceId); + VirtualizationServer2012 vps = GetVirtualizationProxy(machine.ServiceId); // load details VirtualMachine vm = vps.GetVirtualMachine(machine.VirtualMachineId); @@ -1649,7 +1650,7 @@ namespace WebsitePanel.EnterpriseServer public static VirtualMachine GetVirtualMachineExtendedInfo(int serviceId, string vmId) { // get proxy - VirtualizationServer vps = GetVirtualizationProxy(serviceId); + VirtualizationServer2012 vps = GetVirtualizationProxy(serviceId); // load details return vps.GetVirtualMachineEx(vmId); @@ -1692,7 +1693,7 @@ namespace WebsitePanel.EnterpriseServer try { // get proxy - VirtualizationServer vs = GetVirtualizationProxy(vm.ServiceId); + VirtualizationServer2012 vs = GetVirtualizationProxy(vm.ServiceId); // update virtual machine name JobResult result = vs.RenameVirtualMachine(vm.VirtualMachineId, hostname); @@ -1812,7 +1813,7 @@ namespace WebsitePanel.EnterpriseServer TaskManager.WriteParameter("New state", state); // load proxy - VirtualizationServer vps = GetVirtualizationProxy(machine.ServiceId); + VirtualizationServer2012 vps = GetVirtualizationProxy(machine.ServiceId); try { @@ -1935,7 +1936,7 @@ namespace WebsitePanel.EnterpriseServer try { // get proxy - VirtualizationServer vs = GetVirtualizationProxy(vm.ServiceId); + VirtualizationServer2012 vs = GetVirtualizationProxy(vm.ServiceId); // change administrator password JobResult result = SendAdministratorPasswordKVP(itemId, password); @@ -2044,7 +2045,7 @@ namespace WebsitePanel.EnterpriseServer JobResult result = null; // get proxy - VirtualizationServer vs = GetVirtualizationProxy(vm.ServiceId); + VirtualizationServer2012 vs = GetVirtualizationProxy(vm.ServiceId); // stop VPS if required VirtualMachine vps = vs.GetVirtualMachine(vm.VirtualMachineId); @@ -2183,7 +2184,7 @@ namespace WebsitePanel.EnterpriseServer VirtualMachine vm = GetVirtualMachineByItemId(itemId); // get proxy - VirtualizationServer vs = GetVirtualizationProxy(vm.ServiceId); + VirtualizationServer2012 vs = GetVirtualizationProxy(vm.ServiceId); string isoPath = vs.GetInsertedDVD(vm.VirtualMachineId); if (String.IsNullOrEmpty(isoPath)) @@ -2212,7 +2213,7 @@ namespace WebsitePanel.EnterpriseServer string path = settings["DvdLibraryPath"]; // get proxy - VirtualizationServer vs = GetVirtualizationProxy(vm.ServiceId); + VirtualizationServer2012 vs = GetVirtualizationProxy(vm.ServiceId); return vs.GetLibraryItems(path); } @@ -2252,7 +2253,7 @@ namespace WebsitePanel.EnterpriseServer string fullPath = Path.Combine(libPath, isoPath); // get proxy - VirtualizationServer vs = GetVirtualizationProxy(vm.ServiceId); + VirtualizationServer2012 vs = GetVirtualizationProxy(vm.ServiceId); // insert DVD JobResult result = vs.InsertDVD(vm.VirtualMachineId, fullPath); @@ -2301,7 +2302,7 @@ namespace WebsitePanel.EnterpriseServer try { // get proxy - VirtualizationServer vs = GetVirtualizationProxy(vm.ServiceId); + VirtualizationServer2012 vs = GetVirtualizationProxy(vm.ServiceId); // insert DVD JobResult result = vs.EjectDVD(vm.VirtualMachineId); @@ -2332,7 +2333,7 @@ namespace WebsitePanel.EnterpriseServer return null; // get proxy - VirtualizationServer vs = GetVirtualizationProxy(vm.ServiceId); + VirtualizationServer2012 vs = GetVirtualizationProxy(vm.ServiceId); return vs.GetVirtualMachineSnapshots(vm.VirtualMachineId); } @@ -2344,7 +2345,7 @@ namespace WebsitePanel.EnterpriseServer return null; // get proxy - VirtualizationServer vs = GetVirtualizationProxy(vm.ServiceId); + VirtualizationServer2012 vs = GetVirtualizationProxy(vm.ServiceId); return vs.GetSnapshot(snaphostId); } @@ -2376,7 +2377,7 @@ namespace WebsitePanel.EnterpriseServer try { // get proxy - VirtualizationServer vs = GetVirtualizationProxy(vm.ServiceId); + VirtualizationServer2012 vs = GetVirtualizationProxy(vm.ServiceId); #region Check Quotas // check quotas @@ -2448,7 +2449,7 @@ namespace WebsitePanel.EnterpriseServer JobResult result = null; // get proxy - VirtualizationServer vs = GetVirtualizationProxy(vm.ServiceId); + VirtualizationServer2012 vs = GetVirtualizationProxy(vm.ServiceId); // check VM state VirtualMachine vps = vs.GetVirtualMachine(vm.VirtualMachineId); @@ -2512,7 +2513,7 @@ namespace WebsitePanel.EnterpriseServer try { // get proxy - VirtualizationServer vs = GetVirtualizationProxy(vm.ServiceId); + VirtualizationServer2012 vs = GetVirtualizationProxy(vm.ServiceId); // take snapshot JobResult result = vs.RenameSnapshot(vm.VirtualMachineId, snapshotId, newName); @@ -2561,7 +2562,7 @@ namespace WebsitePanel.EnterpriseServer try { // get proxy - VirtualizationServer vs = GetVirtualizationProxy(vm.ServiceId); + VirtualizationServer2012 vs = GetVirtualizationProxy(vm.ServiceId); // take snapshot JobResult result = vs.DeleteSnapshot(snapshotId); @@ -2617,7 +2618,7 @@ namespace WebsitePanel.EnterpriseServer try { // get proxy - VirtualizationServer vs = GetVirtualizationProxy(vm.ServiceId); + VirtualizationServer2012 vs = GetVirtualizationProxy(vm.ServiceId); // take snapshot JobResult result = vs.DeleteSnapshotSubtree(snapshotId); @@ -2653,7 +2654,7 @@ namespace WebsitePanel.EnterpriseServer return null; // get proxy - VirtualizationServer vs = GetVirtualizationProxy(vm.ServiceId); + VirtualizationServer2012 vs = GetVirtualizationProxy(vm.ServiceId); return vs.GetSnapshotThumbnailImage(snapshotId, size); } @@ -3328,7 +3329,7 @@ namespace WebsitePanel.EnterpriseServer #region Virtual Switches public static VirtualSwitch[] GetExternalSwitches(int serviceId, string computerName) { - VirtualizationServer vs = new VirtualizationServer(); + VirtualizationServer2012 vs = new VirtualizationServer2012(); ServiceProviderProxy.Init(vs, serviceId); return vs.GetExternalSwitches(computerName); } @@ -3363,7 +3364,7 @@ namespace WebsitePanel.EnterpriseServer try { // get proxy - VirtualizationServer vs = GetVirtualizationProxy(vm.ServiceId); + VirtualizationServer2012 vs = GetVirtualizationProxy(vm.ServiceId); // check VM state VirtualMachine vps = vs.GetVirtualMachine(vm.VirtualMachineId); @@ -3628,7 +3629,7 @@ namespace WebsitePanel.EnterpriseServer return serviceId; } - private static VirtualizationServer GetVirtualizationProxyByPackageId(int packageId) + private static VirtualizationServer2012 GetVirtualizationProxyByPackageId(int packageId) { // get service int serviceId = GetServiceId(packageId); @@ -3636,9 +3637,9 @@ namespace WebsitePanel.EnterpriseServer return GetVirtualizationProxy(serviceId); } - private static VirtualizationServer GetVirtualizationProxy(int serviceId) + private static VirtualizationServer2012 GetVirtualizationProxy(int serviceId) { - VirtualizationServer ws = new VirtualizationServer(); + VirtualizationServer2012 ws = new VirtualizationServer2012(); ServiceProviderProxy.Init(ws, serviceId); return ws; } @@ -3686,7 +3687,7 @@ namespace WebsitePanel.EnterpriseServer res.ErrorCodes.Add(VirtualizationErrorCodes.JOB_FAILED_ERROR + ":" + job.ErrorDescription); } - private static bool JobCompleted(VirtualizationServer vs, ConcreteJob job) + private static bool JobCompleted(VirtualizationServer2012 vs, ConcreteJob job) { TaskManager.IndicatorMaximum = 100; bool jobCompleted = true; @@ -3715,5 +3716,16 @@ namespace WebsitePanel.EnterpriseServer } #endregion + + + #region Replication + + public static CertificateInfo[] GetCertificates(int serviceId, string remoteServer) + { + VirtualizationServer2012 vs = GetVirtualizationProxy(serviceId); + return vs.GetCertificates(remoteServer); + } + + #endregion } } diff --git a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esVirtualizationServer2012.asmx.cs b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esVirtualizationServer2012.asmx.cs index 79bfecbf..8a3202ce 100644 --- a/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esVirtualizationServer2012.asmx.cs +++ b/WebsitePanel/Sources/WebsitePanel.EnterpriseServer/esVirtualizationServer2012.asmx.cs @@ -472,5 +472,15 @@ namespace WebsitePanel.EnterpriseServer return VirtualizationServerController2012.SendVirtualMachineSummaryLetter(itemId, to, bcc, false); } #endregion + + #region Replication + + [WebMethod] + public CertificateInfo[] GetCertificates(int serviceId, string remoteServer) + { + return VirtualizationServerController2012.GetCertificates(serviceId, remoteServer); + } + + #endregion } } diff --git a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HyperV2012R2_Settings.ascx.cs b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HyperV2012R2_Settings.ascx.cs index 88742012..93b5fac3 100644 --- a/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HyperV2012R2_Settings.ascx.cs +++ b/WebsitePanel/Sources/WebsitePanel.WebPortal/DesktopModules/WebsitePanel/ProviderControls/HyperV2012R2_Settings.ascx.cs @@ -162,7 +162,7 @@ namespace WebsitePanel.Portal.ProviderControls { try { - VirtualSwitch[] switches = ES.Services.VPS.GetExternalSwitches(PanelRequest.ServiceId, txtServerName.Text.Trim()); + VirtualSwitch[] switches = ES.Services.VPS2012.GetExternalSwitches(PanelRequest.ServiceId, txtServerName.Text.Trim()); ddlExternalNetworks.DataSource = switches; ddlExternalNetworks.DataBind();