This commit is contained in:
vfedosevich 2015-04-16 05:00:56 -07:00
commit 097378bc50
352 changed files with 45244 additions and 2550 deletions

View file

@ -68,25 +68,66 @@
<Reference Include="System.EnterpriseServices" />
<Reference Include="System.Web.Mobile" />
<Reference Include="System.Xml.Linq" />
<Reference Include="WebsitePanel.EnterpriseServer.Base">
<Reference Include="WebsitePanel.EnterpriseServer.Base, Version=2.1.0.1, Culture=neutral, PublicKeyToken=da8782a6fc4d0081, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\Bin\WebsitePanel.EnterpriseServer.Base.dll</HintPath>
</Reference>
<Reference Include="WebsitePanel.EnterpriseServer.Code">
<Reference Include="WebsitePanel.EnterpriseServer.Code, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\Bin\WebsitePanel.EnterpriseServer.Code.dll</HintPath>
</Reference>
<Reference Include="WebsitePanel.Providers.Base">
<Reference Include="WebsitePanel.Providers.Base, Version=2.1.0.1, Culture=neutral, PublicKeyToken=da8782a6fc4d0081, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\Bin\WebsitePanel.Providers.Base.dll</HintPath>
</Reference>
<Reference Include="WebsitePanel.Server.Client, Version=1.2.2.0, Culture=neutral, PublicKeyToken=da8782a6fc4d0081, processorArchitecture=MSIL">
<Reference Include="WebsitePanel.Server.Client, Version=2.1.0.1, Culture=neutral, PublicKeyToken=da8782a6fc4d0081, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\Bin\WebsitePanel.Server.Client.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Content Include="bin\Ionic.Zip.Reduced.dll" />
<Content Include="bin\IPAddressRange.dll" />
<Content Include="bin\Microsoft.Web.Services3.dll" />
<Content Include="bin\WebsitePanel.Common.Utils.dll" />
<Content Include="bin\WebsitePanel.Common.Utils.pdb" />
<Content Include="bin\WebsitePanel.EnterpriseServer.Base.dll" />
<Content Include="bin\WebsitePanel.EnterpriseServer.Base.pdb" />
<Content Include="bin\WebsitePanel.EnterpriseServer.Code.dll" />
<Content Include="bin\WebsitePanel.EnterpriseServer.Code.pdb" />
<Content Include="bin\WebsitePanel.EnterpriseServer.dll" />
<Content Include="bin\WebsitePanel.EnterpriseServer.pdb" />
<Content Include="bin\WebsitePanel.Plugins.2Checkout.dll" />
<Content Include="bin\WebsitePanel.Plugins.2Checkout.pdb" />
<Content Include="bin\WebsitePanel.Plugins.AuthorizeNet.dll" />
<Content Include="bin\WebsitePanel.Plugins.AuthorizeNet.pdb" />
<Content Include="bin\WebsitePanel.Plugins.Enom.dll" />
<Content Include="bin\WebsitePanel.Plugins.Enom.pdb" />
<Content Include="bin\WebsitePanel.Plugins.OfflinePayment.dll" />
<Content Include="bin\WebsitePanel.Plugins.OfflinePayment.pdb" />
<Content Include="bin\WebsitePanel.Plugins.OfflineRegistrar.dll" />
<Content Include="bin\WebsitePanel.Plugins.OfflineRegistrar.pdb" />
<Content Include="bin\WebsitePanel.Plugins.PayPalPro.dll" />
<Content Include="bin\WebsitePanel.Plugins.PayPalPro.pdb" />
<Content Include="bin\WebsitePanel.Plugins.PayPalStandard.dll" />
<Content Include="bin\WebsitePanel.Plugins.PayPalStandard.pdb" />
<Content Include="bin\WebsitePanel.Providers.Base.dll" />
<Content Include="bin\WebsitePanel.Providers.Base.pdb" />
<Content Include="bin\WebsitePanel.SchedulerService.exe" />
<Content Include="bin\WebsitePanel.SchedulerService.pdb" />
<Content Include="bin\WebsitePanel.Server.Client.dll" />
<Content Include="bin\WebsitePanel.Server.Client.pdb" />
<Content Include="bin\WebsitePanel.Templates.dll" />
<Content Include="bin\WebsitePanel.Templates.pdb" />
<Content Include="bin\WebsitePanel.Whois.dll" />
<Content Include="bin\WebsitePanel.Whois.pdb" />
<Content Include="bin\WhoisClient.dll" />
<Content Include="esEnterpriseStorage.asmx" />
<Content Include="esHostedSharePointServersEnt.asmx" />
<Content Include="esRemoteDesktopServices.asmx" />
<Content Include="esHeliconZoo.asmx" />
<Content Include="esLync.asmx" />
<Content Include="esVirtualizationServer2012.asmx" />
<Content Include="esVirtualizationServerForPrivateCloud.asmx" />
<Content Include="Default.aspx" />
<Content Include="ecStorefront.asmx" />
@ -116,9 +157,9 @@
<Content Include="esUsers.asmx" />
<Content Include="esWebServers.asmx" />
<Content Include="Global.asax" />
<Content Include="Web.config">
<None Include="Web.config">
<SubType>Designer</SubType>
</Content>
</None>
</ItemGroup>
<ItemGroup>
<Compile Include="..\VersionInfo.cs">
@ -128,6 +169,10 @@
<DependentUpon>esEnterpriseStorage.asmx</DependentUpon>
<SubType>Component</SubType>
</Compile>
<Compile Include="esHostedSharePointServersEnt.asmx.cs">
<DependentUpon>esHostedSharePointServersEnt.asmx</DependentUpon>
<SubType>Component</SubType>
</Compile>
<Compile Include="esRemoteDesktopServices.asmx.cs">
<DependentUpon>esRemoteDesktopServices.asmx</DependentUpon>
<SubType>Component</SubType>
@ -140,6 +185,10 @@
<DependentUpon>esLync.asmx</DependentUpon>
<SubType>Component</SubType>
</Compile>
<Compile Include="esVirtualizationServer2012.asmx.cs">
<DependentUpon>esVirtualizationServer2012.asmx</DependentUpon>
<SubType>Component</SubType>
</Compile>
<Compile Include="esVirtualizationServerForPrivateCloud.asmx.cs">
<DependentUpon>esVirtualizationServerForPrivateCloud.asmx</DependentUpon>
<SubType>Component</SubType>
@ -288,6 +337,12 @@
<Content Include="esWebApplicationGallery.asmx" />
<EmbeddedResource Include="Images\logo.png" />
<Content Include="SystemEventHandlers.config" />
<Content Include="bin\WebsitePanel.EnterpriseServer.dll.config" />
<Content Include="bin\WebsitePanel.SchedulerService.exe.config" />
<None Include="Properties\PublishProfiles\Default Settings %282%29.pubxml" />
<None Include="Properties\PublishProfiles\Default Settings %283%29.pubxml" />
<None Include="Properties\PublishProfiles\Default Settings.pubxml" />
<None Include="Properties\PublishProfiles\Enterprise Server.pubxml" />
<None Include="TaskEventHandlers.config" />
<None Include="WsePolicyCache.Config" />
</ItemGroup>

View file

@ -92,6 +92,12 @@ namespace WebsitePanel.EnterpriseServer
return EnterpriseStorageController.GetFolders(itemId);
}
[WebMethod]
public SystemFile[] GetUserRootFolders(int itemId, int accountId, string userName, string displayName)
{
return EnterpriseStorageController.GetUserRootFolders(itemId, accountId, userName, displayName);
}
[WebMethod]
public SystemFile GetEnterpriseFolder(int itemId, string folderName)
{

View file

@ -55,14 +55,13 @@ namespace WebsitePanel.EnterpriseServer
/// <param name="sortColumn">Sort column name.</param>
/// <param name="startRow">Row index to start from.</param>
/// <param name="maximumRows">Maximum number of rows to retrieve.</param>
/// <param name="groupName">Resource group name.</param>
/// <returns>Site collections in raw format.</returns>
[WebMethod]
public SharePointSiteCollectionListPaged GetSiteCollectionsPaged(int packageId, int organizationId,
string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, string groupName)
string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows)
{
return HostedSharePointServerController.GetSiteCollectionsPaged(packageId, organizationId, filterColumn, filterValue,
sortColumn, startRow, maximumRows, groupName);
sortColumn, startRow, maximumRows);
}
/// <summary>
@ -80,12 +79,11 @@ namespace WebsitePanel.EnterpriseServer
/// </summary>
/// <param name="packageId">Package that owns site collections.</param>
/// <param name="recursive">A value which shows whether nested spaces must be searched as well.</param>
/// <param name="groupName">Resource group name.</param>
/// <returns>List of found site collections.</returns>
[WebMethod]
public List<SharePointSiteCollection> GetSiteCollections(int packageId, bool recursive, string groupName)
public List<SharePointSiteCollection> GetSiteCollections(int packageId, bool recursive)
{
return HostedSharePointServerController.GetSiteCollections(packageId, recursive, groupName);
return HostedSharePointServerController.GetSiteCollections(packageId, recursive);
}
[WebMethod]
@ -116,7 +114,7 @@ namespace WebsitePanel.EnterpriseServer
public SharePointSiteCollection GetSiteCollectionByDomain(int organizationId, string domain)
{
DomainInfo domainInfo = ServerController.GetDomain(domain);
SharePointSiteCollectionListPaged existentSiteCollections = this.GetSiteCollectionsPaged(domainInfo.PackageId, organizationId, "ItemName", String.Format("%{0}", domain), String.Empty, 0, Int32.MaxValue, null);
SharePointSiteCollectionListPaged existentSiteCollections = this.GetSiteCollectionsPaged(domainInfo.PackageId, organizationId, "ItemName", String.Format("%{0}", domain), String.Empty, 0, Int32.MaxValue);
foreach (SharePointSiteCollection existentSiteCollection in existentSiteCollections.SiteCollections)
{
Uri existentSiteCollectionUri = new Uri(existentSiteCollection.Name);
@ -133,12 +131,11 @@ namespace WebsitePanel.EnterpriseServer
/// Adds SharePoint site collection.
/// </summary>
/// <param name="item">Site collection description.</param>
/// <param name="groupName">Resource group name.</param>
/// <returns>Created site collection id within metabase.</returns>
[WebMethod]
public int AddSiteCollection(SharePointSiteCollection item, string groupName)
public int AddSiteCollection(SharePointSiteCollection item)
{
return HostedSharePointServerController.AddSiteCollection(item, groupName);
return HostedSharePointServerController.AddSiteCollection(item);
}
/// <summary>

View file

@ -0,0 +1 @@
<%@ WebService Language="C#" CodeBehind="esHostedSharePointServersEnt.asmx.cs" Class="WebsitePanel.EnterpriseServer.esHostedSharePointServersEnt" %>

View file

@ -0,0 +1,236 @@
// Copyright (c) 2015, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
//
// - Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// - Neither the name of the Outercurve Foundation nor the names of its
// contributors may be used to endorse or promote products derived from this
// software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Web.Services;
using WebsitePanel.EnterpriseServer.Code.SharePoint;
using WebsitePanel.Providers.SharePoint;
using Microsoft.Web.Services3;
namespace WebsitePanel.EnterpriseServer
{
/// <summary>
/// Summary description for esHostedSharePointServers
/// </summary>
[WebService(Namespace = "http://smbsaas/websitepanel/enterpriseserver")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[Policy("ServerPolicy")]
[ToolboxItem(false)]
public class esHostedSharePointServersEnt : WebService
{
/// <summary>
/// Gets site collections in raw form.
/// </summary>
/// <param name="packageId">Package to which desired site collections belong.</param>
/// <param name="organizationId">Organization to which desired site collections belong.</param>
/// <param name="filterColumn">Filter column name.</param>
/// <param name="filterValue">Filter value.</param>
/// <param name="sortColumn">Sort column name.</param>
/// <param name="startRow">Row index to start from.</param>
/// <param name="maximumRows">Maximum number of rows to retrieve.</param>
/// <param name="groupName">Resource group name.</param>
/// <returns>Site collections in raw format.</returns>
[WebMethod]
public SharePointEnterpriseSiteCollectionListPaged Enterprise_GetSiteCollectionsPaged(int packageId, int organizationId,
string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows)
{
return HostedSharePointServerEntController.GetSiteCollectionsPaged(packageId, organizationId, filterColumn, filterValue,
sortColumn, startRow, maximumRows);
}
/// <summary>
/// Gets list of supported languages by this installation of SharePoint.
/// </summary>
/// <returns>List of supported languages</returns>
[WebMethod]
public int[] Enterprise_GetSupportedLanguages(int packageId)
{
return HostedSharePointServerEntController.GetSupportedLanguages(packageId);
}
/// <summary>
/// Gets list of SharePoint site collections that belong to the package.
/// </summary>
/// <param name="packageId">Package that owns site collections.</param>
/// <param name="recursive">A value which shows whether nested spaces must be searched as well.</param>
/// <param name="groupName">Resource group name.</param>
/// <returns>List of found site collections.</returns>
[WebMethod]
public List<SharePointEnterpriseSiteCollection> Enterprise_GetSiteCollections(int packageId, bool recursive)
{
return HostedSharePointServerEntController.GetSiteCollections(packageId, recursive);
}
[WebMethod]
public int Enterprise_SetStorageSettings(int itemId, int maxStorage, int warningStorage, bool applyToSiteCollections)
{
return HostedSharePointServerEntController.SetStorageSettings(itemId, maxStorage, warningStorage, applyToSiteCollections );
}
/// <summary>
/// Gets SharePoint site collection with given id.
/// </summary>
/// <param name="itemId">Site collection id within metabase.</param>
/// <returns>Site collection.</returns>
[WebMethod]
public SharePointEnterpriseSiteCollection Enterprise_GetSiteCollection(int itemId)
{
return HostedSharePointServerEntController.GetSiteCollection(itemId);
}
/// <summary>
/// Gets SharePoint site collection from package under organization with given domain.
/// </summary>
/// <param name="packageId">Package id.</param>
/// <param name="organizationId">Organization id.</param>
/// <param name="domain">Domain name.</param>
/// <returns>SharePoint site collection or null.</returns>
[WebMethod]
public SharePointEnterpriseSiteCollection Enterprise_GetSiteCollectionByDomain(int organizationId, string domain)
{
DomainInfo domainInfo = ServerController.GetDomain(domain);
SharePointEnterpriseSiteCollectionListPaged existentSiteCollections = this.Enterprise_GetSiteCollectionsPaged(domainInfo.PackageId, organizationId, "ItemName", String.Format("%{0}", domain), String.Empty, 0, Int32.MaxValue);
foreach (SharePointEnterpriseSiteCollection existentSiteCollection in existentSiteCollections.SiteCollections)
{
Uri existentSiteCollectionUri = new Uri(existentSiteCollection.Name);
if (existentSiteCollection.Name == String.Format("{0}://{1}", existentSiteCollectionUri.Scheme, domain))
{
return existentSiteCollection;
}
}
return null;
}
/// <summary>
/// Adds SharePoint site collection.
/// </summary>
/// <param name="item">Site collection description.</param>
/// <returns>Created site collection id within metabase.</returns>
[WebMethod]
public int Enterprise_AddSiteCollection(SharePointEnterpriseSiteCollection item)
{
return HostedSharePointServerEntController.AddSiteCollection(item);
}
/// <summary>
/// Deletes SharePoint site collection with given id.
/// </summary>
/// <param name="itemId">Site collection id within metabase.</param>
/// <returns>?</returns>
[WebMethod]
public int Enterprise_DeleteSiteCollection(int itemId)
{
return HostedSharePointServerEntController.DeleteSiteCollection(itemId);
}
/// <summary>
/// Deletes SharePoint site collections which belong to organization.
/// </summary>
/// <param name="organizationId">Site collection id within metabase.</param>
/// <returns>?</returns>
[WebMethod]
public int Enterprise_DeleteSiteCollections(int organizationId)
{
HostedSharePointServerEntController.DeleteSiteCollections(organizationId);
return 0;
}
/// <summary>
/// Backups SharePoint site collection.
/// </summary>
/// <param name="itemId">Site collection id within metabase.</param>
/// <param name="fileName">Backed up site collection file name.</param>
/// <param name="zipBackup">A value which shows whether back up must be archived.</param>
/// <param name="download">A value which shows whether created back up must be downloaded.</param>
/// <param name="folderName">Local folder to store downloaded backup.</param>
/// <returns>Created backup file name. </returns>
[WebMethod]
public string Enterprise_BackupSiteCollection(int itemId, string fileName, bool zipBackup, bool download, string folderName)
{
return HostedSharePointServerEntController.BackupSiteCollection(itemId, fileName, zipBackup, download, folderName);
}
/// <summary>
/// Restores SharePoint site collection.
/// </summary>
/// <param name="itemId">Site collection id within metabase.</param>
/// <param name="uploadedFile"></param>
/// <param name="packageFile"></param>
/// <returns></returns>
[WebMethod]
public int Enterprise_RestoreSiteCollection(int itemId, string uploadedFile, string packageFile)
{
return HostedSharePointServerEntController.RestoreSiteCollection(itemId, uploadedFile, packageFile);
}
/// <summary>
/// Gets binary data chunk of specified size from specified offset.
/// </summary>
/// <param name="itemId">Item id to obtain realted service id.</param>
/// <param name="path">Path to file to get bunary data chunk from.</param>
/// <param name="offset">Offset from which to start data reading.</param>
/// <param name="length">Binary data chunk length.</param>
/// <returns>Binary data chunk read from file.</returns>
[WebMethod]
public byte[] Enterprise_GetBackupBinaryChunk(int itemId, string path, int offset, int length)
{
return HostedSharePointServerEntController.GetBackupBinaryChunk(itemId, path, offset, length);
}
/// <summary>
/// Appends supplied binary data chunk to file.
/// </summary>
/// <param name="itemId">Item id to obtain realted service id.</param>
/// <param name="fileName">Non existent file name to append to.</param>
/// <param name="path">Full path to existent file to append to.</param>
/// <param name="chunk">Binary data chunk to append to.</param>
/// <returns>Path to file that was appended with chunk.</returns>
[WebMethod]
public string Enterprise_AppendBackupBinaryChunk(int itemId, string fileName, string path, byte[] chunk)
{
return HostedSharePointServerEntController.AppendBackupBinaryChunk(itemId, fileName, path, chunk);
}
[WebMethod]
public SharePointSiteDiskSpace[] Enterprise_CalculateSharePointSitesDiskSpace(int itemId, out int errorCode)
{
return HostedSharePointServerEntController.CalculateSharePointSitesDiskSpace(itemId, out errorCode);
}
[WebMethod]
public void Enterprise_UpdateQuota(int itemId, int siteCollectionId, int maxSize, int warningSize)
{
HostedSharePointServerEntController.UpdateQuota(itemId, siteCollectionId, maxSize, warningSize);
}
}
}

View file

@ -380,5 +380,11 @@ namespace WebsitePanel.EnterpriseServer
{
return RemoteDesktopServicesController.UpdateRdsServerSettings(serverId, settingsName, settings);
}
[WebMethod]
public ResultObject ShadowSession(int itemId, string sessionId, bool control)
{
return RemoteDesktopServicesController.ShadowSession(itemId, sessionId, control);
}
}
}

View file

@ -0,0 +1 @@
<%@ WebService Language="C#" CodeBehind="esVirtualizationServer2012.asmx.cs" Class="WebsitePanel.EnterpriseServer.esVirtualizationServer2012" %>

View file

@ -0,0 +1,476 @@
// Copyright (c) 2015, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
//
// - Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// - Neither the name of the Outercurve Foundation nor the names of its
// contributors may be used to endorse or promote products derived from this
// software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
using System;
using System.Data;
using System.Web;
using System.Collections;
using System.Collections.Generic;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.ComponentModel;
using WebsitePanel.Providers.Common;
using WebsitePanel.Providers.ResultObjects;
using Microsoft.Web.Services3;
using WebsitePanel.Providers;
using WebsitePanel.Providers.Common;
using WebsitePanel.Providers.Virtualization;
using WebsitePanel.Providers.ResultObjects;
using WebsitePanel.Providers.Virtualization;
namespace WebsitePanel.EnterpriseServer
{
/// <summary>
/// Summary description for esVirtualizationServer
/// </summary>
[WebService(Namespace = "http://smbsaas/websitepanel/enterpriseserver")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[Policy("ServerPolicy")]
[ToolboxItem(false)]
public class esVirtualizationServer2012 : System.Web.Services.WebService
{
#region Virtual Machines
[WebMethod]
public VirtualMachineMetaItemsPaged GetVirtualMachines(int packageId,
string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows, bool recursive)
{
return VirtualizationServerController2012.GetVirtualMachines(packageId,
filterColumn, filterValue, sortColumn, startRow, maximumRows, recursive);
}
[WebMethod]
public VirtualMachine[] GetVirtualMachinesByServiceId(int serviceId)
{
return VirtualizationServerController2012.GetVirtualMachinesByServiceId(serviceId);
}
[WebMethod]
public VirtualMachine GetVirtualMachineItem(int itemId)
{
return VirtualizationServerController2012.GetVirtualMachineByItemId(itemId);
}
[WebMethod]
public string EvaluateVirtualMachineTemplate(int itemId, string template)
{
if (SecurityContext.CheckAccount(DemandAccount.IsActive | DemandAccount.IsAdmin | DemandAccount.NotDemo) != 0)
throw new Exception("This method could be called by serveradmin only.");
return VirtualizationServerController2012.EvaluateVirtualMachineTemplate(itemId, false, false, template);
}
#endregion
#region External Network
[WebMethod]
public NetworkAdapterDetails GetExternalNetworkDetails(int packageId)
{
return VirtualizationServerController2012.GetExternalNetworkDetails(packageId);
}
#endregion
#region Private Network
[WebMethod]
public PrivateIPAddressesPaged GetPackagePrivateIPAddressesPaged(int packageId,
string filterColumn, string filterValue, string sortColumn, int startRow, int maximumRows)
{
return VirtualizationServerController2012.GetPackagePrivateIPAddressesPaged(packageId,
filterColumn, filterValue, sortColumn, startRow, maximumRows);
}
[WebMethod]
public List<PrivateIPAddress> GetPackagePrivateIPAddresses(int packageId)
{
return VirtualizationServerController2012.GetPackagePrivateIPAddresses(packageId);
}
[WebMethod]
public NetworkAdapterDetails GetPrivateNetworkDetails(int packageId)
{
return VirtualizationServerController2012.GetPrivateNetworkDetails(packageId);
}
#endregion
#region User Permissions
[WebMethod]
public List<VirtualMachinePermission> GetSpaceUserPermissions(int packageId)
{
return VirtualizationServerController2012.GetSpaceUserPermissions(packageId);
}
[WebMethod]
public int UpdateSpaceUserPermissions(int packageId, VirtualMachinePermission[] permissions)
{
return VirtualizationServerController2012.UpdateSpaceUserPermissions(packageId, permissions);
}
#endregion
#region Audit Log
[WebMethod]
public List<LogRecord> GetSpaceAuditLog(int packageId, DateTime startPeriod, DateTime endPeriod,
int severity, string sortColumn, int startRow, int maximumRows)
{
return VirtualizationServerController2012.GetSpaceAuditLog(packageId, startPeriod, endPeriod,
severity, sortColumn, startRow, maximumRows);
}
[WebMethod]
public List<LogRecord> GetVirtualMachineAuditLog(int itemId, DateTime startPeriod, DateTime endPeriod,
int severity, string sortColumn, int startRow, int maximumRows)
{
return VirtualizationServerController2012.GetVirtualMachineAuditLog(itemId, startPeriod, endPeriod,
severity, sortColumn, startRow, maximumRows);
}
#endregion
#region VPS Create Name & OS
[WebMethod]
public LibraryItem[] GetOperatingSystemTemplates(int packageId)
{
return VirtualizationServerController2012.GetOperatingSystemTemplates(packageId);
}
[WebMethod]
public LibraryItem[] GetOperatingSystemTemplatesByServiceId(int serviceId)
{
return VirtualizationServerController2012.GetOperatingSystemTemplatesByServiceId(serviceId);
}
#endregion
#region VPS Create - Configuration
[WebMethod]
public int GetMaximumCpuCoresNumber(int packageId)
{
return VirtualizationServerController2012.GetMaximumCpuCoresNumber(packageId);
}
[WebMethod]
public string GetDefaultExportPath(int itemId)
{
return VirtualizationServerController2012.GetDefaultExportPath(itemId);
}
#endregion
#region VPS Create
[WebMethod]
public IntResult CreateDefaultVirtualMachine(int packageId,
string hostname, string osTemplate, string password, string summaryLetterEmail)
{
return VirtualizationServerController2012.CreateDefaultVirtualMachine(packageId, hostname, osTemplate, password, summaryLetterEmail);
}
[WebMethod]
public IntResult CreateVirtualMachine(int packageId,
string hostname, string osTemplateFile, string password, string summaryLetterEmail,
int cpuCores, int ramMB, int hddGB, int snapshots, bool dvdInstalled, bool bootFromCD, bool numLock,
bool startShutdownAllowed, bool pauseResumeAllowed, bool rebootAllowed, bool resetAllowed, bool reinstallAllowed,
bool externalNetworkEnabled, int externalAddressesNumber, bool randomExternalAddresses, int[] externalAddresses,
bool privateNetworkEnabled, int privateAddressesNumber, bool randomPrivateAddresses, string[] privateAddresses, VirtualMachine otherSettings)
{
return VirtualizationServerController2012.CreateVirtualMachine(packageId,
hostname, osTemplateFile, password, summaryLetterEmail,
cpuCores, ramMB, hddGB, snapshots, dvdInstalled, bootFromCD, numLock,
startShutdownAllowed, pauseResumeAllowed, rebootAllowed, resetAllowed, reinstallAllowed,
externalNetworkEnabled, externalAddressesNumber, randomExternalAddresses, externalAddresses,
privateNetworkEnabled, privateAddressesNumber, randomPrivateAddresses, privateAddresses, otherSettings);
}
#endregion
#region VPS - Import
[WebMethod]
public IntResult ImportVirtualMachine(int packageId,
int serviceId, string vmId,
string osTemplateFile, string adminPassword,
bool startShutdownAllowed, bool pauseResumeAllowed, bool rebootAllowed, bool resetAllowed, bool reinstallAllowed,
string externalNicMacAddress, int[] externalAddresses,
string managementNicMacAddress, int managementAddress)
{
return VirtualizationServerController2012.ImportVirtualMachine(packageId,
serviceId, vmId,
osTemplateFile, adminPassword,
startShutdownAllowed, pauseResumeAllowed, rebootAllowed, resetAllowed, reinstallAllowed,
externalNicMacAddress, externalAddresses,
managementNicMacAddress, managementAddress);
}
#endregion
#region VPS General
[WebMethod]
public byte[] GetVirtualMachineThumbnail(int itemId, ThumbnailSize size)
{
return VirtualizationServerController2012.GetVirtualMachineThumbnail(itemId, size);
}
[WebMethod]
public VirtualMachine GetVirtualMachineGeneralDetails(int itemId)
{
return VirtualizationServerController2012.GetVirtualMachineGeneralDetails(itemId);
}
[WebMethod]
public VirtualMachine GetVirtualMachineExtendedInfo(int serviceId, string vmId)
{
return VirtualizationServerController2012.GetVirtualMachineExtendedInfo(serviceId, vmId);
}
[WebMethod]
public int CancelVirtualMachineJob(string jobId)
{
return VirtualizationServerController2012.CancelVirtualMachineJob(jobId);
}
[WebMethod]
public ResultObject UpdateVirtualMachineHostName(int itemId, string hostname, bool updateNetBIOS)
{
return VirtualizationServerController2012.UpdateVirtualMachineHostName(itemId, hostname, updateNetBIOS);
}
[WebMethod]
public ResultObject ChangeVirtualMachineState(int itemId, VirtualMachineRequestedState state)
{
return VirtualizationServerController2012.ChangeVirtualMachineStateExternal(itemId, state);
}
[WebMethod]
public List<ConcreteJob> GetVirtualMachineJobs(int itemId)
{
return VirtualizationServerController2012.GetVirtualMachineJobs(itemId);
}
#endregion
#region VPS - Configuration
[WebMethod]
public ResultObject ChangeAdministratorPassword(int itemId, string password)
{
return VirtualizationServerController2012.ChangeAdministratorPassword(itemId, password);
}
#endregion
#region VPS Edit Configuration
[WebMethod]
public ResultObject UpdateVirtualMachineConfiguration(int itemId, int cpuCores, int ramMB, int hddGB, int snapshots,
bool dvdInstalled, bool bootFromCD, bool numLock,
bool startShutdownAllowed, bool pauseResumeAllowed, bool rebootAllowed, bool resetAllowed, bool reinstallAllowed,
bool externalNetworkEnabled,
bool privateNetworkEnabled, VirtualMachine otherSettings)
{
return VirtualizationServerController2012.UpdateVirtualMachineConfiguration(
itemId, cpuCores, ramMB, hddGB, snapshots,
dvdInstalled, bootFromCD, numLock,
startShutdownAllowed, pauseResumeAllowed, rebootAllowed, resetAllowed, reinstallAllowed,
externalNetworkEnabled, privateNetworkEnabled,
otherSettings);
}
#endregion
#region DVD
[WebMethod]
public LibraryItem GetInsertedDvdDisk(int itemId)
{
return VirtualizationServerController2012.GetInsertedDvdDisk(itemId);
}
[WebMethod]
public LibraryItem[] GetLibraryDisks(int itemId)
{
return VirtualizationServerController2012.GetLibraryDisks(itemId);
}
[WebMethod]
public ResultObject InsertDvdDisk(int itemId, string isoPath)
{
return VirtualizationServerController2012.InsertDvdDisk(itemId, isoPath);
}
[WebMethod]
public ResultObject EjectDvdDisk(int itemId)
{
return VirtualizationServerController2012.EjectDvdDisk(itemId);
}
#endregion
#region Snaphosts
[WebMethod]
public VirtualMachineSnapshot[] GetVirtualMachineSnapshots(int itemId)
{
return VirtualizationServerController2012.GetVirtualMachineSnapshots(itemId);
}
[WebMethod]
public VirtualMachineSnapshot GetSnapshot(int itemId, string snaphostId)
{
return VirtualizationServerController2012.GetSnapshot(itemId, snaphostId);
}
[WebMethod]
public ResultObject CreateSnapshot(int itemId)
{
return VirtualizationServerController2012.CreateSnapshot(itemId);
}
[WebMethod]
public ResultObject ApplySnapshot(int itemId, string snapshotId)
{
return VirtualizationServerController2012.ApplySnapshot(itemId, snapshotId);
}
[WebMethod]
public ResultObject RenameSnapshot(int itemId, string snapshotId, string newName)
{
return VirtualizationServerController2012.RenameSnapshot(itemId, snapshotId, newName);
}
[WebMethod]
public ResultObject DeleteSnapshot(int itemId, string snapshotId)
{
return VirtualizationServerController2012.DeleteSnapshot(itemId, snapshotId);
}
[WebMethod]
public ResultObject DeleteSnapshotSubtree(int itemId, string snapshotId)
{
return VirtualizationServerController2012.DeleteSnapshotSubtree(itemId, snapshotId);
}
[WebMethod]
public byte[] GetSnapshotThumbnail(int itemId, string snapshotId, ThumbnailSize size)
{
return VirtualizationServerController2012.GetSnapshotThumbnail(itemId, snapshotId, size);
}
#endregion
#region VPS - External Network
[WebMethod]
public NetworkAdapterDetails GetExternalNetworkAdapterDetails(int itemId)
{
return VirtualizationServerController2012.GetExternalNetworkAdapterDetails(itemId);
}
[WebMethod]
public ResultObject AddVirtualMachineExternalIPAddresses(int itemId, bool selectRandom,
int addressesNumber, int[] addressId)
{
return VirtualizationServerController2012.AddVirtualMachineExternalIPAddresses(itemId, selectRandom,
addressesNumber, addressId, true);
}
[WebMethod]
public ResultObject SetVirtualMachinePrimaryExternalIPAddress(int itemId, int addressId)
{
return VirtualizationServerController2012.SetVirtualMachinePrimaryExternalIPAddress(itemId, addressId, true);
}
[WebMethod]
public ResultObject DeleteVirtualMachineExternalIPAddresses(int itemId, int[] addressId)
{
return VirtualizationServerController2012.DeleteVirtualMachineExternalIPAddresses(itemId, addressId, true);
}
#endregion
#region VPS Private Network
[WebMethod]
public NetworkAdapterDetails GetPrivateNetworkAdapterDetails(int itemId)
{
return VirtualizationServerController2012.GetPrivateNetworkAdapterDetails(itemId);
}
[WebMethod]
public ResultObject AddVirtualMachinePrivateIPAddresses(int itemId, bool selectRandom,
int addressesNumber, string[] addresses)
{
return VirtualizationServerController2012.AddVirtualMachinePrivateIPAddresses(itemId, selectRandom,
addressesNumber, addresses, true);
}
[WebMethod]
public ResultObject SetVirtualMachinePrimaryPrivateIPAddress(int itemId, int addressId)
{
return VirtualizationServerController2012.SetVirtualMachinePrimaryPrivateIPAddress(itemId, addressId, true);
}
[WebMethod]
public ResultObject DeleteVirtualMachinePrivateIPAddresses(int itemId, int[] addressId)
{
return VirtualizationServerController2012.DeleteVirtualMachinePrivateIPAddresses(itemId, addressId, true);
}
#endregion
#region Virtual Machine Permissions
[WebMethod]
public List<VirtualMachinePermission> GetVirtualMachinePermissions(int itemId)
{
return VirtualizationServerController2012.GetVirtualMachinePermissions(itemId);
}
[WebMethod]
public int UpdateVirtualMachineUserPermissions(int itemId, VirtualMachinePermission[] permissions)
{
return VirtualizationServerController2012.UpdateVirtualMachineUserPermissions(itemId, permissions);
}
#endregion
#region Virtual Switches
[WebMethod]
public VirtualSwitch[] GetExternalSwitches(int serviceId, string computerName)
{
return VirtualizationServerController2012.GetExternalSwitches(serviceId, computerName);
}
#endregion
#region Tools
[WebMethod]
public ResultObject DeleteVirtualMachine(int itemId, bool saveFiles, bool exportVps, string exportPath)
{
return VirtualizationServerController2012.DeleteVirtualMachine(itemId, saveFiles, exportVps, exportPath);
}
[WebMethod]
public int ReinstallVirtualMachine(int itemId, string adminPassword, bool preserveVirtualDiskFiles,
bool saveVirtualDisk, bool exportVps, string exportPath)
{
return VirtualizationServerController2012.ReinstallVirtualMachine(itemId, adminPassword, preserveVirtualDiskFiles,
saveVirtualDisk, exportVps, exportPath);
}
#endregion
#region Help
[WebMethod]
public string GetVirtualMachineSummaryText(int itemId)
{
return VirtualizationServerController2012.GetVirtualMachineSummaryText(itemId, false, false);
}
[WebMethod]
public ResultObject SendVirtualMachineSummaryLetter(int itemId, string to, string bcc)
{
return VirtualizationServerController2012.SendVirtualMachineSummaryLetter(itemId, to, bcc, false);
}
#endregion
}
}