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();