Merge pull request #1101 from MihaelaStoica/CAR-2184

CP-18407: Rename PVS farm to PVS site + CP-16935: Configure Control domain memory for a host
This commit is contained in:
Konstantina Chremmou 2016-08-10 15:48:08 +01:00 committed by GitHub
commit 59b9bb895d
54 changed files with 4553 additions and 1924 deletions

View File

@ -0,0 +1,98 @@
/* Copyright (c) Citrix Systems Inc.
* 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.
*
* 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.Text;
using XenAPI;
using XenAdmin.Core;
using XenAdmin.Network;
using XenAdmin.Wizards.NewVMWizard;
using XenAdmin.Properties;
using System.Drawing;
using System.Collections.ObjectModel;
using System.Windows.Forms;
using XenAdmin.Dialogs;
using XenAdmin.Actions;
namespace XenAdmin.Commands
{
/// <summary>
/// Launches the Control Domain Memory dialog.
/// </summary>
internal class ChangeControlDomainMemoryCommand : Command
{
/// <summary>
/// Initializes a new instance of this Command. The parameter-less constructor is required if
/// this Command is to be attached to a ToolStrip menu item or button. It should not be used in any other scenario.
/// </summary>
public ChangeControlDomainMemoryCommand()
{
}
public ChangeControlDomainMemoryCommand(IMainWindow mainWindow, IEnumerable<SelectedItem> selection)
: base(mainWindow, selection)
{
}
protected override void ExecuteCore(SelectedItemCollection selection)
{
Host host = selection[0].HostAncestor;
using (var dlg = new ControlDomainMemoryDialog(host))
dlg.ShowDialog(Program.MainWindow);
}
protected override bool ConfirmationRequired
{
get { return false; }
}
private bool CanExecute(Host host)
{
return host != null && host.IsLive && Helpers.ElyOrGreater(host);
}
protected override bool CanExecuteCore(SelectedItemCollection selection)
{
return selection.ContainsOneItemOfType<Host>() && selection.AtLeastOneXenObjectCan<Host>(CanExecute);
}
public override string MenuText
{
get
{
return Messages.HOST_MENU_CONTROL_DOMAIN_MEMORY;
}
}
}
}

View File

@ -39,7 +39,8 @@ namespace XenAdmin.Controls.Ballooning
public static Color VMShinyBar_Unused = Color.Black;
public static Color VMShinyBar_Text = Color.White;
public static Color HostShinyBar_Control = Color.DimGray;
public static Color HostShinyBar_Xen = Color.DarkGray;
public static Color HostShinyBar_ControlDomain = Color.DimGray;
public static Color[] HostShinyBar_VMs = { Color.MidnightBlue, Color.SteelBlue };
public static Color HostShinyBar_Unused = Color.Black;
public static Color HostShinyBar_Text = Color.White;

View File

@ -39,9 +39,10 @@ namespace XenAdmin.Controls.Ballooning
this.valueTotDynMax = new System.Windows.Forms.Label();
this.unitsTotal = new System.Windows.Forms.Label();
this.unitsUsed = new System.Windows.Forms.Label();
this.unitsAvail = new System.Windows.Forms.Label();
this.unitsTotDynMax = new System.Windows.Forms.Label();
this.labelOvercommit = new System.Windows.Forms.Label();
this.labelControlDomain = new System.Windows.Forms.Label();
this.valueControlDomain = new System.Windows.Forms.LinkLabel();
this.hostShinyBar = new XenAdmin.Controls.Ballooning.HostShinyBar();
this.SuspendLayout();
//
@ -95,11 +96,6 @@ namespace XenAdmin.Controls.Ballooning
resources.ApplyResources(this.unitsUsed, "unitsUsed");
this.unitsUsed.Name = "unitsUsed";
//
// unitsAvail
//
resources.ApplyResources(this.unitsAvail, "unitsAvail");
this.unitsAvail.Name = "unitsAvail";
//
// unitsTotDynMax
//
resources.ApplyResources(this.unitsTotDynMax, "unitsTotDynMax");
@ -110,6 +106,18 @@ namespace XenAdmin.Controls.Ballooning
resources.ApplyResources(this.labelOvercommit, "labelOvercommit");
this.labelOvercommit.Name = "labelOvercommit";
//
// labelControlDomain
//
resources.ApplyResources(this.labelControlDomain, "labelControlDomain");
this.labelControlDomain.Name = "labelControlDomain";
//
// valueControlDomain
//
resources.ApplyResources(this.valueControlDomain, "valueControlDomain");
this.valueControlDomain.DisabledLinkColor = System.Drawing.SystemColors.ControlText;
this.valueControlDomain.Name = "valueControlDomain";
this.valueControlDomain.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.valueControlDomain_LinkClicked);
//
// hostShinyBar
//
resources.ApplyResources(this.hostShinyBar, "hostShinyBar");
@ -119,9 +127,10 @@ namespace XenAdmin.Controls.Ballooning
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
this.Controls.Add(this.valueControlDomain);
this.Controls.Add(this.labelControlDomain);
this.Controls.Add(this.labelOvercommit);
this.Controls.Add(this.unitsTotDynMax);
this.Controls.Add(this.unitsAvail);
this.Controls.Add(this.unitsUsed);
this.Controls.Add(this.unitsTotal);
this.Controls.Add(this.valueTotDynMax);
@ -152,8 +161,9 @@ namespace XenAdmin.Controls.Ballooning
private System.Windows.Forms.Label valueTotDynMax;
private System.Windows.Forms.Label unitsTotal;
private System.Windows.Forms.Label unitsUsed;
private System.Windows.Forms.Label unitsAvail;
private System.Windows.Forms.Label unitsTotDynMax;
private System.Windows.Forms.Label labelOvercommit;
private System.Windows.Forms.Label labelControlDomain;
private System.Windows.Forms.LinkLabel valueControlDomain;
}
}

View File

@ -37,6 +37,8 @@ using System.Data;
using System.Text;
using System.Windows.Forms;
using XenAPI;
using XenAdmin.Dialogs;
using XenAdmin.Core;
namespace XenAdmin.Controls.Ballooning
@ -67,6 +69,16 @@ namespace XenAdmin.Controls.Ballooning
if (metrics != null)
metrics.PropertyChanged += vm_metrics_PropertyChanged;
}
if (Helpers.ElyOrGreater(_host))
{
valueControlDomain.LinkBehavior = LinkBehavior.AlwaysUnderline;
valueControlDomain.Links[0].Enabled = true;
}
else
{
valueControlDomain.LinkBehavior = LinkBehavior.NeverUnderline;
valueControlDomain.Links[0].Enabled = false;
}
}
}
@ -81,13 +93,14 @@ namespace XenAdmin.Controls.Ballooning
long xen_memory = host.xen_memory_calc;
long avail = host.memory_available_calc;
long tot_dyn_max = host.tot_dyn_max + xen_memory;
long dom0 = host.dom0_memory;
long overcommit = total > 0
? (long)Math.Round((double)tot_dyn_max / (double)total * 100.0)
: 0;
// Initialize the shiny bar
hostShinyBar.Initialize(host, xen_memory);
hostShinyBar.Initialize(host, xen_memory, dom0);
// Set the text values
valueTotal.Text = Util.MemorySizeStringSuitableUnits(total, true);
@ -95,6 +108,7 @@ namespace XenAdmin.Controls.Ballooning
valueAvail.Text = Util.MemorySizeStringSuitableUnits(avail, true);
valueTotDynMax.Text = Util.MemorySizeStringSuitableUnits(tot_dyn_max, true);
labelOvercommit.Text = string.Format(Messages.OVERCOMMIT, overcommit);
valueControlDomain.Text = Util.MemorySizeStringSuitableUnits(dom0, true);
}
void vm_PropertyChanged(object sender, PropertyChangedEventArgs e)
@ -114,5 +128,11 @@ namespace XenAdmin.Controls.Ballooning
if (e.PropertyName == "memory_actual")
this.Refresh();
}
private void valueControlDomain_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
using (var dlg = new ControlDomainMemoryDialog(host))
dlg.ShowDialog(Program.MainWindow);
}
}
}

View File

@ -132,7 +132,7 @@
<value>0, 0, 0, 0</value>
</data>
<data name="labelTotal.Size" type="System.Drawing.Size, System.Drawing">
<value>111, 18</value>
<value>123, 18</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="labelTotal.TabIndex" type="System.Int32, mscorlib">
@ -154,7 +154,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;labelTotal.ZOrder" xml:space="preserve">
<value>12</value>
<value>13</value>
</data>
<data name="labelUsed.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
@ -169,7 +169,7 @@
<value>0, 0, 0, 0</value>
</data>
<data name="labelUsed.Size" type="System.Drawing.Size, System.Drawing">
<value>111, 18</value>
<value>123, 18</value>
</data>
<data name="labelUsed.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
@ -190,7 +190,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;labelUsed.ZOrder" xml:space="preserve">
<value>11</value>
<value>12</value>
</data>
<data name="labelAvail.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
@ -199,13 +199,13 @@
<value>NoControl</value>
</data>
<data name="labelAvail.Location" type="System.Drawing.Point, System.Drawing">
<value>490, 36</value>
<value>490, 54</value>
</data>
<data name="labelAvail.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="labelAvail.Size" type="System.Drawing.Size, System.Drawing">
<value>111, 18</value>
<value>123, 18</value>
</data>
<data name="labelAvail.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
@ -226,7 +226,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;labelAvail.ZOrder" xml:space="preserve">
<value>10</value>
<value>11</value>
</data>
<data name="labelTotDynMax.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
@ -235,13 +235,13 @@
<value>NoControl</value>
</data>
<data name="labelTotDynMax.Location" type="System.Drawing.Point, System.Drawing">
<value>490, 54</value>
<value>490, 72</value>
</data>
<data name="labelTotDynMax.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="labelTotDynMax.Size" type="System.Drawing.Size, System.Drawing">
<value>111, 18</value>
<value>123, 18</value>
</data>
<data name="labelTotDynMax.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
@ -262,7 +262,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;labelTotDynMax.ZOrder" xml:space="preserve">
<value>9</value>
<value>10</value>
</data>
<data name="valueTotal.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
@ -271,7 +271,7 @@
<value>NoControl</value>
</data>
<data name="valueTotal.Location" type="System.Drawing.Point, System.Drawing">
<value>605, 0</value>
<value>646, 0</value>
</data>
<data name="valueTotal.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
@ -295,7 +295,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;valueTotal.ZOrder" xml:space="preserve">
<value>8</value>
<value>9</value>
</data>
<data name="valueUsed.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
@ -304,7 +304,7 @@
<value>NoControl</value>
</data>
<data name="valueUsed.Location" type="System.Drawing.Point, System.Drawing">
<value>605, 18</value>
<value>646, 18</value>
</data>
<data name="valueUsed.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
@ -328,7 +328,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;valueUsed.ZOrder" xml:space="preserve">
<value>7</value>
<value>8</value>
</data>
<data name="valueAvail.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
@ -337,7 +337,7 @@
<value>NoControl</value>
</data>
<data name="valueAvail.Location" type="System.Drawing.Point, System.Drawing">
<value>605, 36</value>
<value>646, 54</value>
</data>
<data name="valueAvail.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
@ -361,7 +361,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;valueAvail.ZOrder" xml:space="preserve">
<value>6</value>
<value>7</value>
</data>
<data name="valueTotDynMax.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
@ -370,7 +370,7 @@
<value>NoControl</value>
</data>
<data name="valueTotDynMax.Location" type="System.Drawing.Point, System.Drawing">
<value>605, 54</value>
<value>646, 72</value>
</data>
<data name="valueTotDynMax.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
@ -394,28 +394,19 @@
<value>$this</value>
</data>
<data name="&gt;&gt;valueTotDynMax.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="unitsTotal.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
<value>6</value>
</data>
<data name="unitsTotal.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="unitsTotal.Location" type="System.Drawing.Point, System.Drawing">
<value>674, 0</value>
</data>
<data name="unitsTotal.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
<value>0, 0</value>
</data>
<data name="unitsTotal.Size" type="System.Drawing.Size, System.Drawing">
<value>26, 18</value>
<value>100, 23</value>
</data>
<data name="unitsTotal.TabIndex" type="System.Int32, mscorlib">
<value>11</value>
</data>
<data name="unitsTotal.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleCenter</value>
<value>21</value>
</data>
<data name="&gt;&gt;unitsTotal.Name" xml:space="preserve">
<value>unitsTotal</value>
@ -427,28 +418,19 @@
<value>$this</value>
</data>
<data name="&gt;&gt;unitsTotal.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="unitsUsed.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
<value>5</value>
</data>
<data name="unitsUsed.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="unitsUsed.Location" type="System.Drawing.Point, System.Drawing">
<value>674, 18</value>
</data>
<data name="unitsUsed.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
<value>0, 0</value>
</data>
<data name="unitsUsed.Size" type="System.Drawing.Size, System.Drawing">
<value>26, 18</value>
<value>100, 23</value>
</data>
<data name="unitsUsed.TabIndex" type="System.Int32, mscorlib">
<value>12</value>
</data>
<data name="unitsUsed.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleCenter</value>
<value>20</value>
</data>
<data name="&gt;&gt;unitsUsed.Name" xml:space="preserve">
<value>unitsUsed</value>
@ -460,61 +442,19 @@
<value>$this</value>
</data>
<data name="&gt;&gt;unitsUsed.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="unitsAvail.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="unitsAvail.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="unitsAvail.Location" type="System.Drawing.Point, System.Drawing">
<value>674, 36</value>
</data>
<data name="unitsAvail.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="unitsAvail.Size" type="System.Drawing.Size, System.Drawing">
<value>26, 18</value>
</data>
<data name="unitsAvail.TabIndex" type="System.Int32, mscorlib">
<value>13</value>
</data>
<data name="unitsAvail.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleCenter</value>
</data>
<data name="&gt;&gt;unitsAvail.Name" xml:space="preserve">
<value>unitsAvail</value>
</data>
<data name="&gt;&gt;unitsAvail.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;unitsAvail.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;unitsAvail.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="unitsTotDynMax.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
<value>4</value>
</data>
<data name="unitsTotDynMax.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="unitsTotDynMax.Location" type="System.Drawing.Point, System.Drawing">
<value>674, 54</value>
</data>
<data name="unitsTotDynMax.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
<value>0, 0</value>
</data>
<data name="unitsTotDynMax.Size" type="System.Drawing.Size, System.Drawing">
<value>26, 18</value>
<value>100, 23</value>
</data>
<data name="unitsTotDynMax.TabIndex" type="System.Int32, mscorlib">
<value>14</value>
</data>
<data name="unitsTotDynMax.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleCenter</value>
<value>19</value>
</data>
<data name="&gt;&gt;unitsTotDynMax.Name" xml:space="preserve">
<value>unitsTotDynMax</value>
@ -526,7 +466,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;unitsTotDynMax.ZOrder" xml:space="preserve">
<value>1</value>
<value>3</value>
</data>
<data name="labelOvercommit.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
@ -535,7 +475,7 @@
<value>NoControl</value>
</data>
<data name="labelOvercommit.Location" type="System.Drawing.Point, System.Drawing">
<value>490, 72</value>
<value>490, 90</value>
</data>
<data name="labelOvercommit.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
@ -559,6 +499,72 @@
<value>$this</value>
</data>
<data name="&gt;&gt;labelOvercommit.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="labelControlDomain.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="labelControlDomain.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="labelControlDomain.Location" type="System.Drawing.Point, System.Drawing">
<value>490, 36</value>
</data>
<data name="labelControlDomain.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="labelControlDomain.Size" type="System.Drawing.Size, System.Drawing">
<value>143, 18</value>
</data>
<data name="labelControlDomain.TabIndex" type="System.Int32, mscorlib">
<value>16</value>
</data>
<data name="labelControlDomain.Text" xml:space="preserve">
<value>Control domain memory</value>
</data>
<data name="labelControlDomain.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleLeft</value>
</data>
<data name="&gt;&gt;labelControlDomain.Name" xml:space="preserve">
<value>labelControlDomain</value>
</data>
<data name="&gt;&gt;labelControlDomain.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;labelControlDomain.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;labelControlDomain.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="valueControlDomain.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="valueControlDomain.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="valueControlDomain.Location" type="System.Drawing.Point, System.Drawing">
<value>646, 36</value>
</data>
<data name="valueControlDomain.Size" type="System.Drawing.Size, System.Drawing">
<value>54, 18</value>
</data>
<data name="valueControlDomain.TabIndex" type="System.Int32, mscorlib">
<value>18</value>
</data>
<data name="valueControlDomain.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleRight</value>
</data>
<data name="&gt;&gt;valueControlDomain.Name" xml:space="preserve">
<value>valueControlDomain</value>
</data>
<data name="&gt;&gt;valueControlDomain.Type" xml:space="preserve">
<value>System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;valueControlDomain.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;valueControlDomain.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="hostShinyBar.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
@ -571,7 +577,7 @@
<value>0, 0, 0, 0</value>
</data>
<data name="hostShinyBar.Size" type="System.Drawing.Size, System.Drawing">
<value>420, 90</value>
<value>420, 111</value>
</data>
<data name="hostShinyBar.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@ -586,7 +592,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;hostShinyBar.ZOrder" xml:space="preserve">
<value>13</value>
<value>14</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
@ -601,7 +607,7 @@
<value>700, 90</value>
</data>
<data name="$this.Size" type="System.Drawing.Size, System.Drawing">
<value>700, 90</value>
<value>700, 111</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>HostMemoryControls</value>

View File

@ -47,14 +47,12 @@ namespace XenAdmin.Controls.Ballooning
//
resources.ApplyResources(this.hostMemoryControls, "hostMemoryControls");
this.hostMemoryControls.BackColor = System.Drawing.Color.Transparent;
this.hostMemoryControls.MinimumSize = new System.Drawing.Size(700, 90);
this.hostMemoryControls.Name = "hostMemoryControls";
//
// memoryRowLabel
//
resources.ApplyResources(this.memoryRowLabel, "memoryRowLabel");
this.memoryRowLabel.BackColor = System.Drawing.Color.Transparent;
this.memoryRowLabel.MinimumSize = new System.Drawing.Size(0, 26);
this.memoryRowLabel.Name = "memoryRowLabel";
//
// HostMemoryRow
@ -64,7 +62,6 @@ namespace XenAdmin.Controls.Ballooning
this.BackColor = System.Drawing.Color.Transparent;
this.Controls.Add(this.panel);
this.DoubleBuffered = true;
this.MinimumSize = new System.Drawing.Size(700, 118);
this.Name = "HostMemoryRow";
this.panel.ResumeLayout(false);
this.ResumeLayout(false);

View File

@ -112,29 +112,32 @@
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="panel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Bottom, Left, Right</value>
</data>
<data name="hostMemoryControls.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="hostMemoryControls.Location" type="System.Drawing.Point, System.Drawing">
<value>1, 27</value>
</data>
<data name="hostMemoryControls.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="hostMemoryControls.Size" type="System.Drawing.Size, System.Drawing">
<value>786, 90</value>
<data name="hostMemoryControls.MinimumSize" type="System.Drawing.Size, System.Drawing">
<value>700, 90</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="hostMemoryControls.Size" type="System.Drawing.Size, System.Drawing">
<value>786, 111</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="hostMemoryControls.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
@ -159,6 +162,9 @@
<data name="memoryRowLabel.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="memoryRowLabel.MinimumSize" type="System.Drawing.Size, System.Drawing">
<value>0, 26</value>
</data>
<data name="memoryRowLabel.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>10, 5, 10, 5</value>
</data>
@ -187,7 +193,7 @@
<value>0, 0, 0, 0</value>
</data>
<data name="panel.Size" type="System.Drawing.Size, System.Drawing">
<value>788, 118</value>
<value>788, 139</value>
</data>
<data name="panel.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
@ -204,7 +210,7 @@
<data name="&gt;&gt;panel.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
@ -213,13 +219,16 @@
<data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="$this.MinimumSize" type="System.Drawing.Size, System.Drawing">
<value>700, 139</value>
</data>
<data name="$this.Size" type="System.Drawing.Size, System.Drawing">
<value>788, 118</value>
<value>788, 139</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>HostMemoryRow</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.UserControl, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.UserControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
</root>

View File

@ -53,12 +53,14 @@ namespace XenAdmin.Controls.Ballooning
List<VM> vms;
Dictionary<VM, VM_metrics> vm_metrics;
long xen_memory;
long dom0_memory;
public void Initialize(Host host, long xen_memory)
public void Initialize(Host host, long xen_memory, long dom0_memory)
{
this.host = host;
this.host_metrics = host.Connection.Resolve(host.metrics);
this.xen_memory = xen_memory;
this.dom0_memory = dom0_memory;
vms = host.Connection.ResolveAll(host.resident_VMs);
vm_metrics = new Dictionary<VM, VM_metrics>();
foreach (VM vm in vms)
@ -79,7 +81,10 @@ namespace XenAdmin.Controls.Ballooning
// A bar for Xen memory
double left = (double)barArea.Left;
DrawSegment(g, xen_memory, bytesPerPixel, Messages.MEMORY_XEN, null, BallooningColors.HostShinyBar_Control, ref left);
DrawSegment(g, xen_memory - dom0_memory, bytesPerPixel, Messages.MEMORY_XEN, null, BallooningColors.HostShinyBar_Xen, ref left);
// A bar for Dom0 memory
DrawSegment(g, dom0_memory, bytesPerPixel, string.Format(Messages.CONTROL_DOM_ON_HOST, host.Name), null, BallooningColors.HostShinyBar_ControlDomain, ref left);
// A bar for each VM
int i = 0;

View File

@ -64,7 +64,6 @@ namespace XenAdmin.Controls.Ballooning
// SpinnerUnits
//
resources.ApplyResources(this.SpinnerUnits, "SpinnerUnits");
this.SpinnerUnits.BackColor = System.Drawing.SystemColors.Control;
this.SpinnerUnits.Name = "SpinnerUnits";
//
// MemorySpinner

View File

@ -37,9 +37,6 @@ namespace XenAdmin.Controls.Ballooning
this.valueDynMin = new System.Windows.Forms.Label();
this.valueDynMax = new System.Windows.Forms.Label();
this.valueStatMax = new System.Windows.Forms.Label();
this.unitsDynMin = new System.Windows.Forms.Label();
this.unitsDynMax = new System.Windows.Forms.Label();
this.unitsStatMax = new System.Windows.Forms.Label();
this.editButton = new System.Windows.Forms.Button();
this.vmShinyBar = new XenAdmin.Controls.Ballooning.VMShinyBar();
((System.ComponentModel.ISupportInitialize)(this.iconBoxDynMin)).BeginInit();
@ -98,24 +95,6 @@ namespace XenAdmin.Controls.Ballooning
this.valueStatMax.BackColor = System.Drawing.Color.Transparent;
this.valueStatMax.Name = "valueStatMax";
//
// unitsDynMin
//
resources.ApplyResources(this.unitsDynMin, "unitsDynMin");
this.unitsDynMin.BackColor = System.Drawing.Color.Transparent;
this.unitsDynMin.Name = "unitsDynMin";
//
// unitsDynMax
//
resources.ApplyResources(this.unitsDynMax, "unitsDynMax");
this.unitsDynMax.BackColor = System.Drawing.Color.Transparent;
this.unitsDynMax.Name = "unitsDynMax";
//
// unitsStatMax
//
resources.ApplyResources(this.unitsStatMax, "unitsStatMax");
this.unitsStatMax.BackColor = System.Drawing.Color.Transparent;
this.unitsStatMax.Name = "unitsStatMax";
//
// editButton
//
resources.ApplyResources(this.editButton, "editButton");
@ -126,6 +105,7 @@ namespace XenAdmin.Controls.Ballooning
// vmShinyBar
//
resources.ApplyResources(this.vmShinyBar, "vmShinyBar");
this.vmShinyBar.Increment = 0D;
this.vmShinyBar.Name = "vmShinyBar";
//
// VMMemoryControlsNoEdit
@ -133,9 +113,6 @@ namespace XenAdmin.Controls.Ballooning
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
this.Controls.Add(this.editButton);
this.Controls.Add(this.unitsStatMax);
this.Controls.Add(this.unitsDynMax);
this.Controls.Add(this.unitsDynMin);
this.Controls.Add(this.valueStatMax);
this.Controls.Add(this.valueDynMax);
this.Controls.Add(this.valueDynMin);
@ -163,9 +140,6 @@ namespace XenAdmin.Controls.Ballooning
private System.Windows.Forms.Label valueDynMin;
private System.Windows.Forms.Label valueDynMax;
private System.Windows.Forms.Label valueStatMax;
private System.Windows.Forms.Label unitsDynMin;
private System.Windows.Forms.Label unitsDynMax;
private System.Windows.Forms.Label unitsStatMax;
private System.Windows.Forms.Button editButton;
}
}

View File

@ -87,7 +87,7 @@ namespace XenAdmin.Controls.Ballooning
valueDynMin.Text = Util.MemorySizeStringSuitableUnits(vm0.memory_dynamic_min, true);
valueDynMax.Text = Util.MemorySizeStringSuitableUnits(vm0.memory_dynamic_max, true);
if (vm0.memory_dynamic_max == vm0.memory_static_max)
labelStatMax.Visible = valueStatMax.Visible = unitsStatMax.Visible = false;
labelStatMax.Visible = valueStatMax.Visible = false;
else
valueStatMax.Text = Util.MemorySizeStringSuitableUnits(vm0.memory_static_max, true);
}
@ -97,8 +97,8 @@ namespace XenAdmin.Controls.Ballooning
iconBoxDynMin.Visible = false;
labelDynMin.Text = Messages.MEMORY;
iconBoxDynMax.Visible = labelDynMax.Visible = valueDynMax.Visible = unitsDynMax.Visible = false;
labelStatMax.Visible = valueStatMax.Visible = unitsStatMax.Visible = false;
iconBoxDynMax.Visible = labelDynMax.Visible = valueDynMax.Visible = false;
labelStatMax.Visible = valueStatMax.Visible = false;
}
}

View File

@ -151,7 +151,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;iconBoxDynMin.ZOrder" xml:space="preserve">
<value>11</value>
<value>8</value>
</data>
<data name="iconBoxDynMax.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
@ -181,7 +181,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;iconBoxDynMax.ZOrder" xml:space="preserve">
<value>10</value>
<value>7</value>
</data>
<data name="labelDynMin.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
@ -220,7 +220,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;labelDynMin.ZOrder" xml:space="preserve">
<value>9</value>
<value>6</value>
</data>
<data name="labelDynMax.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
@ -256,7 +256,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;labelDynMax.ZOrder" xml:space="preserve">
<value>8</value>
<value>5</value>
</data>
<data name="labelStatMax.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
@ -292,7 +292,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;labelStatMax.ZOrder" xml:space="preserve">
<value>7</value>
<value>4</value>
</data>
<data name="valueDynMin.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
@ -301,7 +301,7 @@
<value>NoControl</value>
</data>
<data name="valueDynMin.Location" type="System.Drawing.Point, System.Drawing">
<value>605, 32</value>
<value>646, 32</value>
</data>
<data name="valueDynMin.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
@ -325,7 +325,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;valueDynMin.ZOrder" xml:space="preserve">
<value>6</value>
<value>3</value>
</data>
<data name="valueDynMax.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
@ -334,7 +334,7 @@
<value>NoControl</value>
</data>
<data name="valueDynMax.Location" type="System.Drawing.Point, System.Drawing">
<value>605, 51</value>
<value>646, 51</value>
</data>
<data name="valueDynMax.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
@ -358,7 +358,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;valueDynMax.ZOrder" xml:space="preserve">
<value>5</value>
<value>2</value>
</data>
<data name="valueStatMax.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
@ -367,7 +367,7 @@
<value>NoControl</value>
</data>
<data name="valueStatMax.Location" type="System.Drawing.Point, System.Drawing">
<value>605, 70</value>
<value>646, 70</value>
</data>
<data name="valueStatMax.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
@ -391,105 +391,6 @@
<value>$this</value>
</data>
<data name="&gt;&gt;valueStatMax.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="unitsDynMin.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="unitsDynMin.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="unitsDynMin.Location" type="System.Drawing.Point, System.Drawing">
<value>674, 32</value>
</data>
<data name="unitsDynMin.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="unitsDynMin.Size" type="System.Drawing.Size, System.Drawing">
<value>26, 18</value>
</data>
<data name="unitsDynMin.TabIndex" type="System.Int32, mscorlib">
<value>9</value>
</data>
<data name="unitsDynMin.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleCenter</value>
</data>
<data name="&gt;&gt;unitsDynMin.Name" xml:space="preserve">
<value>unitsDynMin</value>
</data>
<data name="&gt;&gt;unitsDynMin.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;unitsDynMin.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;unitsDynMin.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="unitsDynMax.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="unitsDynMax.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="unitsDynMax.Location" type="System.Drawing.Point, System.Drawing">
<value>674, 51</value>
</data>
<data name="unitsDynMax.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="unitsDynMax.Size" type="System.Drawing.Size, System.Drawing">
<value>26, 18</value>
</data>
<data name="unitsDynMax.TabIndex" type="System.Int32, mscorlib">
<value>10</value>
</data>
<data name="unitsDynMax.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleCenter</value>
</data>
<data name="&gt;&gt;unitsDynMax.Name" xml:space="preserve">
<value>unitsDynMax</value>
</data>
<data name="&gt;&gt;unitsDynMax.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;unitsDynMax.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;unitsDynMax.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="unitsStatMax.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="unitsStatMax.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="unitsStatMax.Location" type="System.Drawing.Point, System.Drawing">
<value>674, 70</value>
</data>
<data name="unitsStatMax.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="unitsStatMax.Size" type="System.Drawing.Size, System.Drawing">
<value>26, 18</value>
</data>
<data name="unitsStatMax.TabIndex" type="System.Int32, mscorlib">
<value>11</value>
</data>
<data name="unitsStatMax.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleCenter</value>
</data>
<data name="&gt;&gt;unitsStatMax.Name" xml:space="preserve">
<value>unitsStatMax</value>
</data>
<data name="&gt;&gt;unitsStatMax.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;unitsStatMax.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;unitsStatMax.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="editButton.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
@ -550,7 +451,7 @@
<value>$this</value>
</data>
<data name="&gt;&gt;vmShinyBar.ZOrder" xml:space="preserve">
<value>12</value>
<value>9</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>

View File

@ -1,6 +1,6 @@
namespace XenAdmin.Controls.DataGridViewEx
{
partial class CollapsingPvsFarmServerDataGridView
partial class CollapsingPvsSiteServerDataGridView
{
/// <summary>
/// Required designer variable.

View File

@ -34,14 +34,14 @@ using System.Windows.Forms;
namespace XenAdmin.Controls.DataGridViewEx
{
public partial class CollapsingPvsFarmServerDataGridView : DataGridViewEx
public partial class CollapsingPvsSiteServerDataGridView : DataGridViewEx
{
public CollapsingPvsFarmServerDataGridView()
public CollapsingPvsSiteServerDataGridView()
{
InitializeComponent();
}
public CollapsingPvsFarmServerDataGridView(IContainer container)
public CollapsingPvsSiteServerDataGridView(IContainer container)
{
container.Add(this);
@ -62,23 +62,23 @@ namespace XenAdmin.Controls.DataGridViewEx
public void ExpandCollapseClicked(int rowIndex)
{
var farmRow = (CollapsingPvsFarmServerDataGridViewRow)Rows[rowIndex];
var siteRow = (CollapsingPvsSiteServerDataGridViewRow)Rows[rowIndex];
if (farmRow.UnderlyingFarm != null)
if (siteRow.UnderlyingSite != null)
{
for (int i = rowIndex + 1; i < Rows.Count; i++)
{
var row = (CollapsingPvsFarmServerDataGridViewRow)Rows[i];
var row = (CollapsingPvsSiteServerDataGridViewRow)Rows[i];
if (row.IsFarmRow)
if (row.IsSiteRow)
break;
row.Visible = !row.Visible;
if (row.Visible)
farmRow.SetCollapseIcon();
siteRow.SetCollapseIcon();
else
farmRow.SetExpandIcon();
siteRow.SetExpandIcon();
}
}
}

View File

@ -35,27 +35,27 @@ using XenAPI;
namespace XenAdmin.Controls.DataGridViewEx
{
public class CollapsingPvsFarmServerDataGridViewRow : DataGridViewExRow
public class CollapsingPvsSiteServerDataGridViewRow : DataGridViewExRow
{
protected DataGridViewImageCell expansionCell;
protected DataGridViewTextBoxCell farmCell;
protected DataGridViewTextBoxCell siteCell;
protected DataGridViewTextBoxCell ipAddressesCell;
protected DataGridViewTextBoxCell firstPortCell;
protected DataGridViewTextBoxCell lastPortCell;
protected bool isPvsFarmRow;
protected bool isPvsSiteRow;
public CollapsingPvsFarmServerDataGridViewRow(PVS_farm farm)
public CollapsingPvsSiteServerDataGridViewRow(PVS_site site)
{
Tag = farm;
isPvsFarmRow = true;
Tag = site;
isPvsSiteRow = true;
SetupCells();
}
public CollapsingPvsFarmServerDataGridViewRow(PVS_server server)
public CollapsingPvsSiteServerDataGridViewRow(PVS_server server)
{
Tag = server;
isPvsFarmRow = false;
isPvsSiteRow = false;
SetupCells();
}
@ -63,13 +63,13 @@ namespace XenAdmin.Controls.DataGridViewEx
private void SetupCells()
{
expansionCell = new DataGridViewImageCell();
farmCell = new DataGridViewTextBoxCell();
siteCell = new DataGridViewTextBoxCell();
ipAddressesCell = new DataGridViewTextBoxCell();
firstPortCell = new DataGridViewTextBoxCell();
lastPortCell = new DataGridViewTextBoxCell();
Cells.Add(expansionCell);
Cells.Add(farmCell);
Cells.Add(siteCell);
Cells.Add(ipAddressesCell);
Cells.Add(firstPortCell);
Cells.Add(lastPortCell);
@ -79,16 +79,16 @@ namespace XenAdmin.Controls.DataGridViewEx
protected void UpdateDetails()
{
if (isPvsFarmRow)
if (isPvsSiteRow)
{
PVS_farm farm = (PVS_farm)Tag;
PVS_site site = (PVS_site)Tag;
if (farm.servers.Count == 0)
if (site.servers.Count == 0)
SetNoIcon();
else
SetCollapseIcon();
farmCell.Value = farm.name;
siteCell.Value = site.name;
}
else
{
@ -102,19 +102,19 @@ namespace XenAdmin.Controls.DataGridViewEx
}
}
public bool IsFarmRow
public bool IsSiteRow
{
get { return isPvsFarmRow; }
get { return isPvsSiteRow; }
}
public bool IsServerRow
{
get { return !isPvsFarmRow; }
get { return !isPvsSiteRow; }
}
public PVS_farm UnderlyingFarm
public PVS_site UnderlyingSite
{
get { return Tag as PVS_farm; }
get { return Tag as PVS_site; }
}
public PVS_server UnderlyingServer

View File

@ -0,0 +1,159 @@
namespace XenAdmin.Dialogs
{
partial class ControlDomainMemoryDialog
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ControlDomainMemoryDialog));
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.panel1 = new System.Windows.Forms.FlowLayoutPanel();
this.CloseButton = new System.Windows.Forms.Button();
this.OkButton = new System.Windows.Forms.Button();
this.hostRebootWarningLabel = new System.Windows.Forms.Label();
this.hostRebootWarningImage = new System.Windows.Forms.PictureBox();
this.label1 = new System.Windows.Forms.Label();
this.maintenanceWarningImage = new System.Windows.Forms.PictureBox();
this.maintenanceWarningLabel = new System.Windows.Forms.Label();
this.memorySpinner = new XenAdmin.Controls.Ballooning.MemorySpinner();
this.maintenanceModeLinkLabel = new System.Windows.Forms.LinkLabel();
this.tableLayoutPanel1.SuspendLayout();
this.panel1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.hostRebootWarningImage)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.maintenanceWarningImage)).BeginInit();
this.SuspendLayout();
//
// tableLayoutPanel1
//
resources.ApplyResources(this.tableLayoutPanel1, "tableLayoutPanel1");
this.tableLayoutPanel1.Controls.Add(this.panel1, 0, 5);
this.tableLayoutPanel1.Controls.Add(this.hostRebootWarningLabel, 1, 4);
this.tableLayoutPanel1.Controls.Add(this.hostRebootWarningImage, 0, 4);
this.tableLayoutPanel1.Controls.Add(this.label1, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.maintenanceWarningImage, 0, 2);
this.tableLayoutPanel1.Controls.Add(this.maintenanceWarningLabel, 1, 2);
this.tableLayoutPanel1.Controls.Add(this.memorySpinner, 0, 1);
this.tableLayoutPanel1.Controls.Add(this.maintenanceModeLinkLabel, 1, 3);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
//
// panel1
//
resources.ApplyResources(this.panel1, "panel1");
this.tableLayoutPanel1.SetColumnSpan(this.panel1, 2);
this.panel1.Controls.Add(this.CloseButton);
this.panel1.Controls.Add(this.OkButton);
this.panel1.Name = "panel1";
//
// CloseButton
//
resources.ApplyResources(this.CloseButton, "CloseButton");
this.CloseButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.CloseButton.Name = "CloseButton";
this.CloseButton.UseVisualStyleBackColor = true;
//
// OkButton
//
resources.ApplyResources(this.OkButton, "OkButton");
this.OkButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.OkButton.Name = "OkButton";
this.OkButton.UseVisualStyleBackColor = true;
this.OkButton.Click += new System.EventHandler(this.OkButton_Click);
//
// hostRebootWarningLabel
//
resources.ApplyResources(this.hostRebootWarningLabel, "hostRebootWarningLabel");
this.hostRebootWarningLabel.Name = "hostRebootWarningLabel";
//
// hostRebootWarningImage
//
resources.ApplyResources(this.hostRebootWarningImage, "hostRebootWarningImage");
this.hostRebootWarningImage.Image = global::XenAdmin.Properties.Resources._000_Alert2_h32bit_16;
this.hostRebootWarningImage.Name = "hostRebootWarningImage";
this.hostRebootWarningImage.TabStop = false;
//
// label1
//
resources.ApplyResources(this.label1, "label1");
this.tableLayoutPanel1.SetColumnSpan(this.label1, 2);
this.label1.Name = "label1";
//
// maintenanceWarningImage
//
resources.ApplyResources(this.maintenanceWarningImage, "maintenanceWarningImage");
this.maintenanceWarningImage.Image = global::XenAdmin.Properties.Resources._000_Info3_h32bit_16;
this.maintenanceWarningImage.Name = "maintenanceWarningImage";
this.maintenanceWarningImage.TabStop = false;
//
// maintenanceWarningLabel
//
resources.ApplyResources(this.maintenanceWarningLabel, "maintenanceWarningLabel");
this.maintenanceWarningLabel.Name = "maintenanceWarningLabel";
//
// memorySpinner
//
this.tableLayoutPanel1.SetColumnSpan(this.memorySpinner, 2);
resources.ApplyResources(this.memorySpinner, "memorySpinner");
this.memorySpinner.Increment = 0.1D;
this.memorySpinner.Name = "memorySpinner";
//
// maintenanceModeLinkLabel
//
resources.ApplyResources(this.maintenanceModeLinkLabel, "maintenanceModeLinkLabel");
this.maintenanceModeLinkLabel.Name = "maintenanceModeLinkLabel";
this.maintenanceModeLinkLabel.TabStop = true;
this.maintenanceModeLinkLabel.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.maintenanceModeLinkLabel_LinkClicked);
//
// ControlDomainMemoryDialog
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
this.Controls.Add(this.tableLayoutPanel1);
this.Name = "ControlDomainMemoryDialog";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.ControlDomainMemoryDialog_FormClosing);
this.tableLayoutPanel1.ResumeLayout(false);
this.tableLayoutPanel1.PerformLayout();
this.panel1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.hostRebootWarningImage)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.maintenanceWarningImage)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
private System.Windows.Forms.Label hostRebootWarningLabel;
private System.Windows.Forms.PictureBox hostRebootWarningImage;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.PictureBox maintenanceWarningImage;
private System.Windows.Forms.Label maintenanceWarningLabel;
private Controls.Ballooning.MemorySpinner memorySpinner;
private System.Windows.Forms.FlowLayoutPanel panel1;
public System.Windows.Forms.Button CloseButton;
public System.Windows.Forms.Button OkButton;
private System.Windows.Forms.LinkLabel maintenanceModeLinkLabel;
}
}

View File

@ -0,0 +1,171 @@
/* Copyright (c) Citrix Systems Inc.
* 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.
*
* 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.Drawing;
using System.Text;
using System.Windows.Forms;
using XenAdmin.Actions;
using XenAdmin.Commands;
using XenAPI;
namespace XenAdmin.Dialogs
{
public partial class ControlDomainMemoryDialog : XenDialogBase
{
private Host host;
private Host_metrics hostMetrics;
private double origMemory;
public const int MAXIMUM_DOM0_MEMORY_GB = 256;
public ControlDomainMemoryDialog(Host host)
: base(host.Connection)
{
if (host == null) throw new ArgumentNullException("host");
InitializeComponent();
this.host = host;
this.host.PropertyChanged += Server_PropertyChanged;
hostMetrics = connection.Resolve(this.host.metrics);
if (hostMetrics != null)
hostMetrics.PropertyChanged += Server_PropertyChanged;
Text = string.Format(Messages.CONTROL_DOMAIN_MEMORY_DIALOG_TITLE, this.host.Name);
Populate();
}
private void UpdateMaintenanceWarning()
{
Host_metrics metrics = host.Connection.Resolve(host.metrics);
bool maintenanceMode = host.MaintenanceMode || (metrics != null && !metrics.live);
maintenanceWarningImage.Visible = maintenanceWarningLabel.Visible = maintenanceModeLinkLabel.Visible = !maintenanceMode;
hostRebootWarningImage.Visible = hostRebootWarningLabel.Visible = maintenanceMode;
memorySpinner.Enabled = maintenanceMode;
}
private void Populate()
{
VM vm = host.ControlDomainZero;
// Since updates come in dribs and drabs, avoid error if new max and min arrive
// out of sync and maximum < minimum.
if (vm.memory_dynamic_max >= vm.memory_dynamic_min &&
vm.memory_static_max >= vm.memory_static_min)
{
double min = vm.memory_static_min;
double max = Math.Min(host.memory_available_calc, MAXIMUM_DOM0_MEMORY_GB * Util.BINARY_GIGA);
double value = vm.memory_dynamic_min;
// Avoid setting the range to exclude the current value: CA-40041
if (value > max)
max = value;
if (value < min)
min = value;
memorySpinner.Initialize(Messages.CONTROL_DOMAIN_MEMORY_LABEL, null, value, max);
memorySpinner.SetRange(min, max);
}
origMemory = memorySpinner.Value;
UpdateMaintenanceWarning();
}
private bool HasChanged()
{
return memorySpinner.Value != origMemory;
}
private bool SaveChanges()
{
if (!HasChanged())
return false;
var mem = memorySpinner.Value;
DialogResult dialogResult;
using (var dlg = new ThreeButtonDialog(
new ThreeButtonDialog.Details(SystemIcons.Warning, Messages.CONFIRM_CHANGE_CONTROL_DOMAIN_MEMORY, Messages.XENCENTER),
ThreeButtonDialog.ButtonYes,
ThreeButtonDialog.ButtonNo))
{
dialogResult = dlg.ShowDialog(this);
}
if (DialogResult.Yes != dialogResult)
return false;
var actions = new List<AsyncAction>();
var action = new ChangeControlDomainMemoryAction(host, (long)mem, false);
actions.Add(action);
actions.Add(new RebootHostAction(host, AddHostToPoolCommand.NtolDialog));
var multipleAction = new MultipleAction(connection,
string.Format(Messages.ACTION_CHANGE_CONTROL_DOMAIN_MEMORY, host.Name),
string.Format(Messages.ACTION_CHANGE_CONTROL_DOMAIN_MEMORY, host.Name),
Messages.COMPLETED, actions, true, false, true);
multipleAction.RunAsync();
return true;
}
private void Cleanup()
{
host.PropertyChanged -= Server_PropertyChanged;
if (hostMetrics != null)
hostMetrics.PropertyChanged -= Server_PropertyChanged;
}
private void Server_PropertyChanged(object sender, PropertyChangedEventArgs e)
{
Program.Invoke(this, Populate);
}
private void OkButton_Click(object sender, EventArgs e)
{
if (SaveChanges())
{
DialogResult = DialogResult.OK;
}
}
private void maintenanceModeLinkLabel_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
new HostMaintenanceModeCommand(Program.MainWindow, host, HostMaintenanceModeCommandParameter.Enter).Execute();
}
private void ControlDomainMemoryDialog_FormClosing(object sender, FormClosingEventArgs e)
{
Cleanup();
}
}
}

View File

@ -0,0 +1,543 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="tableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="panel1.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="&gt;&gt;CloseButton.Name" xml:space="preserve">
<value>CloseButton</value>
</data>
<data name="&gt;&gt;CloseButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;CloseButton.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;CloseButton.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;OkButton.Name" xml:space="preserve">
<value>OkButton</value>
</data>
<data name="&gt;&gt;OkButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;OkButton.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;OkButton.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="panel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Bottom</value>
</data>
<data name="panel1.FlowDirection" type="System.Windows.Forms.FlowDirection, System.Windows.Forms">
<value>RightToLeft</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="panel1.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="panel1.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 180</value>
</data>
<data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
<value>433, 27</value>
</data>
<data name="panel1.TabIndex" type="System.Int32, mscorlib">
<value>21</value>
</data>
<data name="&gt;&gt;panel1.Name" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;panel1.Type" xml:space="preserve">
<value>System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;panel1.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;panel1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="hostRebootWarningLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="hostRebootWarningLabel.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="hostRebootWarningLabel.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="hostRebootWarningLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>22, 160</value>
</data>
<data name="hostRebootWarningLabel.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 20, 0, 0</value>
</data>
<data name="hostRebootWarningLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>271, 15</value>
</data>
<data name="hostRebootWarningLabel.TabIndex" type="System.Int32, mscorlib">
<value>14</value>
</data>
<data name="hostRebootWarningLabel.Text" xml:space="preserve">
<value>Changes to this setting will trigger a server reboot.</value>
</data>
<data name="&gt;&gt;hostRebootWarningLabel.Name" xml:space="preserve">
<value>hostRebootWarningLabel</value>
</data>
<data name="&gt;&gt;hostRebootWarningLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;hostRebootWarningLabel.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;hostRebootWarningLabel.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="hostRebootWarningImage.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="hostRebootWarningImage.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="hostRebootWarningImage.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 158</value>
</data>
<data name="hostRebootWarningImage.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 18, 3, 3</value>
</data>
<data name="hostRebootWarningImage.Size" type="System.Drawing.Size, System.Drawing">
<value>16, 16</value>
</data>
<data name="hostRebootWarningImage.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
<value>AutoSize</value>
</data>
<data name="hostRebootWarningImage.TabIndex" type="System.Int32, mscorlib">
<value>15</value>
</data>
<data name="&gt;&gt;hostRebootWarningImage.Name" xml:space="preserve">
<value>hostRebootWarningImage</value>
</data>
<data name="&gt;&gt;hostRebootWarningImage.Type" xml:space="preserve">
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;hostRebootWarningImage.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;hostRebootWarningImage.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="label1.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="label1.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 3</value>
</data>
<data name="label1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 3, 3, 20</value>
</data>
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>433, 30</value>
</data>
<data name="label1.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="label1.Text" xml:space="preserve">
<value>Specify the amount of memory to be allocated to the Control Domain on this server.</value>
</data>
<data name="&gt;&gt;label1.Name" xml:space="preserve">
<value>label1</value>
</data>
<data name="&gt;&gt;label1.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label1.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="maintenanceWarningImage.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="maintenanceWarningImage.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="maintenanceWarningImage.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 100</value>
</data>
<data name="maintenanceWarningImage.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 18, 3, 3</value>
</data>
<data name="maintenanceWarningImage.Size" type="System.Drawing.Size, System.Drawing">
<value>16, 16</value>
</data>
<data name="maintenanceWarningImage.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;maintenanceWarningImage.Name" xml:space="preserve">
<value>maintenanceWarningImage</value>
</data>
<data name="&gt;&gt;maintenanceWarningImage.Type" xml:space="preserve">
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;maintenanceWarningImage.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;maintenanceWarningImage.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="maintenanceWarningLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="maintenanceWarningLabel.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="maintenanceWarningLabel.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="maintenanceWarningLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>22, 102</value>
</data>
<data name="maintenanceWarningLabel.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 20, 0, 0</value>
</data>
<data name="maintenanceWarningLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>332, 15</value>
</data>
<data name="maintenanceWarningLabel.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="maintenanceWarningLabel.Text" xml:space="preserve">
<value>This server must be in maintenance mode to edit this setting. </value>
</data>
<data name="maintenanceWarningLabel.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleLeft</value>
</data>
<data name="&gt;&gt;maintenanceWarningLabel.Name" xml:space="preserve">
<value>maintenanceWarningLabel</value>
</data>
<data name="&gt;&gt;maintenanceWarningLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;maintenanceWarningLabel.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;maintenanceWarningLabel.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="memorySpinnerDynMin.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="memorySpinnerDynMin.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 53</value>
</data>
<data name="memorySpinnerDynMin.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="memorySpinnerDynMin.Size" type="System.Drawing.Size, System.Drawing">
<value>293, 29</value>
</data>
<data name="memorySpinnerDynMin.TabIndex" type="System.Int32, mscorlib">
<value>16</value>
</data>
<data name="&gt;&gt;memorySpinnerDynMin.Name" xml:space="preserve">
<value>memorySpinnerDynMin</value>
</data>
<data name="&gt;&gt;memorySpinnerDynMin.Type" xml:space="preserve">
<value>XenAdmin.Controls.Ballooning.MemorySpinner, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;memorySpinnerDynMin.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;memorySpinnerDynMin.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="maintenanceModeLinkLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="maintenanceModeLinkLabel.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="maintenanceModeLinkLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>25, 122</value>
</data>
<data name="maintenanceModeLinkLabel.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 3, 3, 3</value>
</data>
<data name="maintenanceModeLinkLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>149, 15</value>
</data>
<data name="maintenanceModeLinkLabel.TabIndex" type="System.Int32, mscorlib">
<value>22</value>
</data>
<data name="maintenanceModeLinkLabel.Text" xml:space="preserve">
<value>Enter maintenance mode...</value>
</data>
<data name="&gt;&gt;maintenanceModeLinkLabel.Name" xml:space="preserve">
<value>maintenanceModeLinkLabel</value>
</data>
<data name="&gt;&gt;maintenanceModeLinkLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;maintenanceModeLinkLabel.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;maintenanceModeLinkLabel.ZOrder" xml:space="preserve">
<value>7</value>
</data>
<data name="tableLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="tableLayoutPanel1.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="tableLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
<value>10, 10</value>
</data>
<data name="tableLayoutPanel1.RowCount" type="System.Int32, mscorlib">
<value>6</value>
</data>
<data name="tableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
<value>439, 210</value>
</data>
<data name="tableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.Name" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.Type" xml:space="preserve">
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="panel1" Row="5" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="hostRebootWarningLabel" Row="4" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="hostRebootWarningImage" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="label1" Row="0" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="maintenanceWarningImage" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="maintenanceWarningLabel" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="memorySpinnerDynMin" Row="1" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="maintenanceModeLinkLabel" Row="3" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,Percent,100,Absolute,20" /&gt;&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Percent,100" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data>
<data name="CloseButton.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Right</value>
</data>
<data name="CloseButton.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="CloseButton.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="CloseButton.Location" type="System.Drawing.Point, System.Drawing">
<value>355, 3</value>
</data>
<data name="CloseButton.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
</data>
<data name="CloseButton.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="CloseButton.Text" xml:space="preserve">
<value>Cancel</value>
</data>
<data name="&gt;&gt;CloseButton.Name" xml:space="preserve">
<value>CloseButton</value>
</data>
<data name="&gt;&gt;CloseButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;CloseButton.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;CloseButton.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="OkButton.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Right</value>
</data>
<data name="OkButton.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="OkButton.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="OkButton.Location" type="System.Drawing.Point, System.Drawing">
<value>274, 3</value>
</data>
<data name="OkButton.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
</data>
<data name="OkButton.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="OkButton.Text" xml:space="preserve">
<value>OK</value>
</data>
<data name="&gt;&gt;OkButton.Name" xml:space="preserve">
<value>OkButton</value>
</data>
<data name="&gt;&gt;OkButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;OkButton.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;OkButton.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>96, 96</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>459, 230</value>
</data>
<data name="$this.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="$this.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>10, 10, 10, 10</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value />
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>ControlDomainMemoryDialog</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>XenAdmin.Dialogs.XenDialogBase, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
</root>

View File

@ -0,0 +1,519 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="tableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="panel1.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="CloseButton.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Right</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="CloseButton.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="CloseButton.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="CloseButton.Location" type="System.Drawing.Point, System.Drawing">
<value>355, 3</value>
</data>
<data name="CloseButton.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
</data>
<data name="CloseButton.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="CloseButton.Text" xml:space="preserve">
<value>Cancel</value>
</data>
<data name="&gt;&gt;CloseButton.Name" xml:space="preserve">
<value>CloseButton</value>
</data>
<data name="&gt;&gt;CloseButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;CloseButton.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;CloseButton.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="OkButton.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Right</value>
</data>
<data name="OkButton.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="OkButton.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="OkButton.Location" type="System.Drawing.Point, System.Drawing">
<value>274, 3</value>
</data>
<data name="OkButton.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
</data>
<data name="OkButton.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="OkButton.Text" xml:space="preserve">
<value>OK</value>
</data>
<data name="&gt;&gt;OkButton.Name" xml:space="preserve">
<value>OkButton</value>
</data>
<data name="&gt;&gt;OkButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;OkButton.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;OkButton.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="panel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Bottom</value>
</data>
<data name="panel1.FlowDirection" type="System.Windows.Forms.FlowDirection, System.Windows.Forms">
<value>RightToLeft</value>
</data>
<data name="panel1.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="panel1.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 180</value>
</data>
<data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
<value>433, 27</value>
</data>
<data name="panel1.TabIndex" type="System.Int32, mscorlib">
<value>21</value>
</data>
<data name="&gt;&gt;panel1.Name" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;panel1.Type" xml:space="preserve">
<value>System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;panel1.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;panel1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="hostRebootWarningLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="hostRebootWarningLabel.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="hostRebootWarningLabel.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="hostRebootWarningLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>22, 160</value>
</data>
<data name="hostRebootWarningLabel.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 20, 0, 0</value>
</data>
<data name="hostRebootWarningLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>271, 15</value>
</data>
<data name="hostRebootWarningLabel.TabIndex" type="System.Int32, mscorlib">
<value>14</value>
</data>
<data name="hostRebootWarningLabel.Text" xml:space="preserve">
<value>Changes to this setting will trigger a server reboot.</value>
</data>
<data name="&gt;&gt;hostRebootWarningLabel.Name" xml:space="preserve">
<value>hostRebootWarningLabel</value>
</data>
<data name="&gt;&gt;hostRebootWarningLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;hostRebootWarningLabel.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;hostRebootWarningLabel.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="hostRebootWarningImage.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="hostRebootWarningImage.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="hostRebootWarningImage.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 158</value>
</data>
<data name="hostRebootWarningImage.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 18, 3, 3</value>
</data>
<data name="hostRebootWarningImage.Size" type="System.Drawing.Size, System.Drawing">
<value>16, 16</value>
</data>
<data name="hostRebootWarningImage.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
<value>AutoSize</value>
</data>
<data name="hostRebootWarningImage.TabIndex" type="System.Int32, mscorlib">
<value>15</value>
</data>
<data name="&gt;&gt;hostRebootWarningImage.Name" xml:space="preserve">
<value>hostRebootWarningImage</value>
</data>
<data name="&gt;&gt;hostRebootWarningImage.Type" xml:space="preserve">
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;hostRebootWarningImage.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;hostRebootWarningImage.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="label1.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="label1.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 3</value>
</data>
<data name="label1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 3, 3, 20</value>
</data>
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>433, 30</value>
</data>
<data name="label1.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="label1.Text" xml:space="preserve">
<value>Specify the amount of memory to be allocated to the Control Domain on this server.</value>
</data>
<data name="&gt;&gt;label1.Name" xml:space="preserve">
<value>label1</value>
</data>
<data name="&gt;&gt;label1.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label1.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="maintenanceWarningImage.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="maintenanceWarningImage.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="maintenanceWarningImage.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 100</value>
</data>
<data name="maintenanceWarningImage.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 18, 3, 3</value>
</data>
<data name="maintenanceWarningImage.Size" type="System.Drawing.Size, System.Drawing">
<value>16, 16</value>
</data>
<data name="maintenanceWarningImage.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;maintenanceWarningImage.Name" xml:space="preserve">
<value>maintenanceWarningImage</value>
</data>
<data name="&gt;&gt;maintenanceWarningImage.Type" xml:space="preserve">
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;maintenanceWarningImage.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;maintenanceWarningImage.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="maintenanceWarningLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="maintenanceWarningLabel.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="maintenanceWarningLabel.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="maintenanceWarningLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>22, 102</value>
</data>
<data name="maintenanceWarningLabel.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 20, 0, 0</value>
</data>
<data name="maintenanceWarningLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>332, 15</value>
</data>
<data name="maintenanceWarningLabel.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="maintenanceWarningLabel.Text" xml:space="preserve">
<value>This server must be in maintenance mode to edit this setting. </value>
</data>
<data name="maintenanceWarningLabel.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleLeft</value>
</data>
<data name="&gt;&gt;maintenanceWarningLabel.Name" xml:space="preserve">
<value>maintenanceWarningLabel</value>
</data>
<data name="&gt;&gt;maintenanceWarningLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;maintenanceWarningLabel.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;maintenanceWarningLabel.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="memorySpinner.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="memorySpinner.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 53</value>
</data>
<data name="memorySpinner.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="memorySpinner.Size" type="System.Drawing.Size, System.Drawing">
<value>293, 29</value>
</data>
<data name="memorySpinner.TabIndex" type="System.Int32, mscorlib">
<value>16</value>
</data>
<data name="&gt;&gt;memorySpinner.Name" xml:space="preserve">
<value>memorySpinner</value>
</data>
<data name="&gt;&gt;memorySpinner.Type" xml:space="preserve">
<value>XenAdmin.Controls.Ballooning.MemorySpinner, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;memorySpinner.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;memorySpinner.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="maintenanceModeLinkLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="maintenanceModeLinkLabel.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="maintenanceModeLinkLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>25, 122</value>
</data>
<data name="maintenanceModeLinkLabel.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 3, 3, 3</value>
</data>
<data name="maintenanceModeLinkLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>149, 15</value>
</data>
<data name="maintenanceModeLinkLabel.TabIndex" type="System.Int32, mscorlib">
<value>22</value>
</data>
<data name="maintenanceModeLinkLabel.Text" xml:space="preserve">
<value>Enter maintenance mode...</value>
</data>
<data name="&gt;&gt;maintenanceModeLinkLabel.Name" xml:space="preserve">
<value>maintenanceModeLinkLabel</value>
</data>
<data name="&gt;&gt;maintenanceModeLinkLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;maintenanceModeLinkLabel.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;maintenanceModeLinkLabel.ZOrder" xml:space="preserve">
<value>7</value>
</data>
<data name="tableLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="tableLayoutPanel1.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="tableLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
<value>10, 10</value>
</data>
<data name="tableLayoutPanel1.RowCount" type="System.Int32, mscorlib">
<value>6</value>
</data>
<data name="tableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
<value>439, 210</value>
</data>
<data name="tableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.Name" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.Type" xml:space="preserve">
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="panel1" Row="5" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="hostRebootWarningLabel" Row="4" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="hostRebootWarningImage" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="label1" Row="0" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="maintenanceWarningImage" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="maintenanceWarningLabel" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="memorySpinner" Row="1" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="maintenanceModeLinkLabel" Row="3" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,Percent,100,Absolute,20" /&gt;&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Percent,100" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>96, 96</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>459, 230</value>
</data>
<data name="$this.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="$this.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>10, 10, 10, 10</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value />
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>ControlDomainMemoryDialog</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>XenAdmin.Dialogs.XenDialogBase, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
</root>

View File

@ -0,0 +1,543 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="tableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="panel1.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="&gt;&gt;CloseButton.Name" xml:space="preserve">
<value>CloseButton</value>
</data>
<data name="&gt;&gt;CloseButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;CloseButton.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;CloseButton.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;OkButton.Name" xml:space="preserve">
<value>OkButton</value>
</data>
<data name="&gt;&gt;OkButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;OkButton.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;OkButton.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="panel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Bottom</value>
</data>
<data name="panel1.FlowDirection" type="System.Windows.Forms.FlowDirection, System.Windows.Forms">
<value>RightToLeft</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="panel1.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="panel1.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 180</value>
</data>
<data name="panel1.Size" type="System.Drawing.Size, System.Drawing">
<value>433, 27</value>
</data>
<data name="panel1.TabIndex" type="System.Int32, mscorlib">
<value>21</value>
</data>
<data name="&gt;&gt;panel1.Name" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;panel1.Type" xml:space="preserve">
<value>System.Windows.Forms.FlowLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;panel1.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;panel1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="hostRebootWarningLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="hostRebootWarningLabel.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="hostRebootWarningLabel.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="hostRebootWarningLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>22, 160</value>
</data>
<data name="hostRebootWarningLabel.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 20, 0, 0</value>
</data>
<data name="hostRebootWarningLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>271, 15</value>
</data>
<data name="hostRebootWarningLabel.TabIndex" type="System.Int32, mscorlib">
<value>14</value>
</data>
<data name="hostRebootWarningLabel.Text" xml:space="preserve">
<value>Changes to this setting will trigger a server reboot.</value>
</data>
<data name="&gt;&gt;hostRebootWarningLabel.Name" xml:space="preserve">
<value>hostRebootWarningLabel</value>
</data>
<data name="&gt;&gt;hostRebootWarningLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;hostRebootWarningLabel.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;hostRebootWarningLabel.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="hostRebootWarningImage.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="hostRebootWarningImage.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="hostRebootWarningImage.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 158</value>
</data>
<data name="hostRebootWarningImage.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 18, 3, 3</value>
</data>
<data name="hostRebootWarningImage.Size" type="System.Drawing.Size, System.Drawing">
<value>16, 16</value>
</data>
<data name="hostRebootWarningImage.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
<value>AutoSize</value>
</data>
<data name="hostRebootWarningImage.TabIndex" type="System.Int32, mscorlib">
<value>15</value>
</data>
<data name="&gt;&gt;hostRebootWarningImage.Name" xml:space="preserve">
<value>hostRebootWarningImage</value>
</data>
<data name="&gt;&gt;hostRebootWarningImage.Type" xml:space="preserve">
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;hostRebootWarningImage.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;hostRebootWarningImage.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="label1.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="label1.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 3</value>
</data>
<data name="label1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 3, 3, 20</value>
</data>
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>433, 30</value>
</data>
<data name="label1.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="label1.Text" xml:space="preserve">
<value>Specify the amount of memory to be allocated to the Control Domain on this server.</value>
</data>
<data name="&gt;&gt;label1.Name" xml:space="preserve">
<value>label1</value>
</data>
<data name="&gt;&gt;label1.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label1.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="maintenanceWarningImage.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="maintenanceWarningImage.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="maintenanceWarningImage.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 100</value>
</data>
<data name="maintenanceWarningImage.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 18, 3, 3</value>
</data>
<data name="maintenanceWarningImage.Size" type="System.Drawing.Size, System.Drawing">
<value>16, 16</value>
</data>
<data name="maintenanceWarningImage.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;maintenanceWarningImage.Name" xml:space="preserve">
<value>maintenanceWarningImage</value>
</data>
<data name="&gt;&gt;maintenanceWarningImage.Type" xml:space="preserve">
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;maintenanceWarningImage.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;maintenanceWarningImage.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="maintenanceWarningLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="maintenanceWarningLabel.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="maintenanceWarningLabel.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="maintenanceWarningLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>22, 102</value>
</data>
<data name="maintenanceWarningLabel.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 20, 0, 0</value>
</data>
<data name="maintenanceWarningLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>332, 15</value>
</data>
<data name="maintenanceWarningLabel.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="maintenanceWarningLabel.Text" xml:space="preserve">
<value>This server must be in maintenance mode to edit this setting. </value>
</data>
<data name="maintenanceWarningLabel.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleLeft</value>
</data>
<data name="&gt;&gt;maintenanceWarningLabel.Name" xml:space="preserve">
<value>maintenanceWarningLabel</value>
</data>
<data name="&gt;&gt;maintenanceWarningLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;maintenanceWarningLabel.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;maintenanceWarningLabel.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="memorySpinnerDynMin.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="memorySpinnerDynMin.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 53</value>
</data>
<data name="memorySpinnerDynMin.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
</data>
<data name="memorySpinnerDynMin.Size" type="System.Drawing.Size, System.Drawing">
<value>293, 29</value>
</data>
<data name="memorySpinnerDynMin.TabIndex" type="System.Int32, mscorlib">
<value>16</value>
</data>
<data name="&gt;&gt;memorySpinnerDynMin.Name" xml:space="preserve">
<value>memorySpinnerDynMin</value>
</data>
<data name="&gt;&gt;memorySpinnerDynMin.Type" xml:space="preserve">
<value>XenAdmin.Controls.Ballooning.MemorySpinner, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;memorySpinnerDynMin.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;memorySpinnerDynMin.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="maintenanceModeLinkLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="maintenanceModeLinkLabel.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="maintenanceModeLinkLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>25, 122</value>
</data>
<data name="maintenanceModeLinkLabel.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 3, 3, 3</value>
</data>
<data name="maintenanceModeLinkLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>149, 15</value>
</data>
<data name="maintenanceModeLinkLabel.TabIndex" type="System.Int32, mscorlib">
<value>22</value>
</data>
<data name="maintenanceModeLinkLabel.Text" xml:space="preserve">
<value>Enter maintenance mode...</value>
</data>
<data name="&gt;&gt;maintenanceModeLinkLabel.Name" xml:space="preserve">
<value>maintenanceModeLinkLabel</value>
</data>
<data name="&gt;&gt;maintenanceModeLinkLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.LinkLabel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;maintenanceModeLinkLabel.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;maintenanceModeLinkLabel.ZOrder" xml:space="preserve">
<value>7</value>
</data>
<data name="tableLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="tableLayoutPanel1.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="tableLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
<value>10, 10</value>
</data>
<data name="tableLayoutPanel1.RowCount" type="System.Int32, mscorlib">
<value>6</value>
</data>
<data name="tableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
<value>439, 210</value>
</data>
<data name="tableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.Name" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.Type" xml:space="preserve">
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="panel1" Row="5" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="hostRebootWarningLabel" Row="4" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="hostRebootWarningImage" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="label1" Row="0" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="maintenanceWarningImage" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="maintenanceWarningLabel" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="memorySpinnerDynMin" Row="1" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="maintenanceModeLinkLabel" Row="3" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,Percent,100,Absolute,20" /&gt;&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Percent,100" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data>
<data name="CloseButton.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Right</value>
</data>
<data name="CloseButton.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="CloseButton.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="CloseButton.Location" type="System.Drawing.Point, System.Drawing">
<value>355, 3</value>
</data>
<data name="CloseButton.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
</data>
<data name="CloseButton.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="CloseButton.Text" xml:space="preserve">
<value>Cancel</value>
</data>
<data name="&gt;&gt;CloseButton.Name" xml:space="preserve">
<value>CloseButton</value>
</data>
<data name="&gt;&gt;CloseButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;CloseButton.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;CloseButton.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="OkButton.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Right</value>
</data>
<data name="OkButton.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="OkButton.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="OkButton.Location" type="System.Drawing.Point, System.Drawing">
<value>274, 3</value>
</data>
<data name="OkButton.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
</data>
<data name="OkButton.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="OkButton.Text" xml:space="preserve">
<value>OK</value>
</data>
<data name="&gt;&gt;OkButton.Name" xml:space="preserve">
<value>OkButton</value>
</data>
<data name="&gt;&gt;OkButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;OkButton.Parent" xml:space="preserve">
<value>panel1</value>
</data>
<data name="&gt;&gt;OkButton.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>96, 96</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>459, 230</value>
</data>
<data name="$this.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="$this.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>10, 10, 10, 10</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value />
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>ControlDomainMemoryDialog</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>XenAdmin.Dialogs.XenDialogBase, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
</root>

View File

@ -1,6 +1,6 @@
namespace XenAdmin.Dialogs
{
partial class PvsFarmDialog
partial class PvsSiteDialog
{
/// <summary>
/// Required designer variable.
@ -29,14 +29,14 @@ namespace XenAdmin.Dialogs
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PvsFarmDialog));
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PvsSiteDialog));
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
this.closeButton = new System.Windows.Forms.Button();
this.bottomPanel = new System.Windows.Forms.Panel();
this.mainPanel = new System.Windows.Forms.Panel();
this.gridView = new XenAdmin.Controls.DataGridViewEx.CollapsingPvsFarmServerDataGridView(this.components);
this.gridView = new XenAdmin.Controls.DataGridViewEx.CollapsingPvsSiteServerDataGridView(this.components);
this.expansionColumn = new System.Windows.Forms.DataGridViewImageColumn();
this.farmColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.siteColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.ipAddressesColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.firstPortColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.lastPortColumn = new System.Windows.Forms.DataGridViewTextBoxColumn();
@ -72,7 +72,7 @@ namespace XenAdmin.Dialogs
this.gridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
this.gridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.expansionColumn,
this.farmColumn,
this.siteColumn,
this.ipAddressesColumn,
this.firstPortColumn,
this.lastPortColumn});
@ -98,13 +98,13 @@ namespace XenAdmin.Dialogs
this.expansionColumn.ReadOnly = true;
this.expansionColumn.Resizable = System.Windows.Forms.DataGridViewTriState.False;
//
// farmColumn
// siteColumn
//
this.farmColumn.FillWeight = 108.4123F;
resources.ApplyResources(this.farmColumn, "farmColumn");
this.farmColumn.Name = "farmColumn";
this.farmColumn.ReadOnly = true;
this.farmColumn.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
this.siteColumn.FillWeight = 108.4123F;
resources.ApplyResources(this.siteColumn, "siteColumn");
this.siteColumn.Name = "siteColumn";
this.siteColumn.ReadOnly = true;
this.siteColumn.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
//
// ipAddressesColumn
//
@ -130,7 +130,7 @@ namespace XenAdmin.Dialogs
this.lastPortColumn.ReadOnly = true;
this.lastPortColumn.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
//
// PvsFarmDialog
// PvsSiteDialog
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
@ -141,7 +141,7 @@ namespace XenAdmin.Dialogs
this.HelpButton = false;
this.MaximizeBox = true;
this.MinimizeBox = true;
this.Name = "PvsFarmDialog";
this.Name = "PvsSiteDialog";
this.ShowInTaskbar = true;
this.bottomPanel.ResumeLayout(false);
this.mainPanel.ResumeLayout(false);
@ -154,11 +154,11 @@ namespace XenAdmin.Dialogs
private System.Windows.Forms.Button closeButton;
private System.Windows.Forms.Panel bottomPanel;
private System.Windows.Forms.Panel mainPanel;
private Controls.DataGridViewEx.CollapsingPvsFarmServerDataGridView gridView;
private System.Windows.Forms.DataGridViewTextBoxColumn farmColumn;
private Controls.DataGridViewEx.CollapsingPvsSiteServerDataGridView gridView;
private System.Windows.Forms.DataGridViewImageColumn expansionColumn;
private System.Windows.Forms.DataGridViewTextBoxColumn siteColumn;
private System.Windows.Forms.DataGridViewTextBoxColumn ipAddressesColumn;
private System.Windows.Forms.DataGridViewTextBoxColumn firstPortColumn;
private System.Windows.Forms.DataGridViewTextBoxColumn lastPortColumn;
private System.Windows.Forms.DataGridViewImageColumn expansionColumn;
}
}

View File

@ -38,19 +38,19 @@ using XenAPI;
namespace XenAdmin.Dialogs
{
public partial class PvsFarmDialog : XenDialogBase
public partial class PvsSiteDialog : XenDialogBase
{
/// <summary>
/// Creates a dialog for viewing the PVS farms and PVS servers on a particular connection.
/// Creates a dialog for viewing the PVS sites and PVS servers on a particular connection.
/// </summary>
/// <param name="_connection">May not be null.</param>
public PvsFarmDialog(IXenConnection _connection)
public PvsSiteDialog(IXenConnection _connection)
{
System.Diagnostics.Trace.Assert(_connection != null);
connection = _connection;
InitializeComponent();
Text = string.Format(Messages.PVS_FARM_DIALOG_TITLE, this.connection.Name);
Text = string.Format(Messages.PVS_SITE_DIALOG_TITLE, this.connection.Name);
System.Diagnostics.Trace.Assert(gridView.Columns.Count > 0);
gridView.Columns[0].DefaultCellStyle.NullValue = null;
@ -62,17 +62,17 @@ namespace XenAdmin.Dialogs
private void RegisterEventHandlers()
{
UnregisterEventHandlers();
connection.Cache.RegisterBatchCollectionChanged<PVS_farm>(PvsFarmBatchCollectionChanged);
connection.Cache.RegisterBatchCollectionChanged<PVS_site>(PvsSiteBatchCollectionChanged);
connection.Cache.RegisterBatchCollectionChanged<PVS_server>(PvsServerBatchCollectionChanged);
}
private void UnregisterEventHandlers()
{
connection.Cache.DeregisterBatchCollectionChanged<PVS_farm>(PvsFarmBatchCollectionChanged);
connection.Cache.DeregisterBatchCollectionChanged<PVS_site>(PvsSiteBatchCollectionChanged);
connection.Cache.DeregisterBatchCollectionChanged<PVS_server>(PvsServerBatchCollectionChanged);
}
private void PvsFarmBatchCollectionChanged(object sender, EventArgs e)
private void PvsSiteBatchCollectionChanged(object sender, EventArgs e)
{
Program.Invoke(this, Rebuild);
}
@ -98,17 +98,17 @@ namespace XenAdmin.Dialogs
gridView.SuspendLayout();
gridView.Rows.Clear();
var pvsFarms = connection.Cache.PVS_farms.ToList();
pvsFarms.Sort();
var pvsSites = connection.Cache.PVS_sites.ToList();
pvsSites.Sort();
foreach (var pvsFarm in pvsFarms)
foreach (var pvsSite in pvsSites)
{
var farmRow = new CollapsingPvsFarmServerDataGridViewRow(pvsFarm);
gridView.Rows.Add(farmRow);
var siteRow = new CollapsingPvsSiteServerDataGridViewRow(pvsSite);
gridView.Rows.Add(siteRow);
foreach (var pvsServer in connection.ResolveAll(pvsFarm.servers))
foreach (var pvsServer in connection.ResolveAll(pvsSite.servers))
{
var serverRow = new CollapsingPvsFarmServerDataGridViewRow(pvsServer);
var serverRow = new CollapsingPvsSiteServerDataGridViewRow(pvsServer);
gridView.Rows.Add(serverRow);
}
}

View File

@ -421,7 +421,7 @@
<value>高可用性の構成</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>PvsFarmDialog</value>
<value>PvsSiteDialog</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>XenAdmin.Dialogs.XenDialogBase, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>

View File

@ -160,7 +160,7 @@
<value>Segoe UI, 9pt</value>
</data>
<data name="bottomPanel.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 324</value>
<value>8, 325</value>
</data>
<data name="bottomPanel.Size" type="System.Drawing.Size, System.Drawing">
<value>602, 29</value>
@ -192,13 +192,13 @@
<data name="expansionColumn.Width" type="System.Int32, mscorlib">
<value>20</value>
</data>
<metadata name="farmColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<metadata name="siteColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="farmColumn.HeaderText" xml:space="preserve">
<value>PVS Farm</value>
<data name="siteColumn.HeaderText" xml:space="preserve">
<value>PVS Site</value>
</data>
<data name="farmColumn.MinimumWidth" type="System.Int32, mscorlib">
<data name="siteColumn.MinimumWidth" type="System.Int32, mscorlib">
<value>65</value>
</data>
<metadata name="ipAddressesColumn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
@ -238,7 +238,7 @@
<value>0, 0</value>
</data>
<data name="gridView.Size" type="System.Drawing.Size, System.Drawing">
<value>602, 311</value>
<value>602, 312</value>
</data>
<data name="gridView.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@ -247,7 +247,7 @@
<value>gridView</value>
</data>
<data name="&gt;&gt;gridView.Type" xml:space="preserve">
<value>XenAdmin.Controls.DataGridViewEx.CollapsingPvsFarmServerDataGridView, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
<value>XenAdmin.Controls.DataGridViewEx.CollapsingPvsSiteServerDataGridView, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;gridView.Parent" xml:space="preserve">
<value>mainPanel</value>
@ -268,7 +268,7 @@
<value>0, 0, 0, 5</value>
</data>
<data name="mainPanel.Size" type="System.Drawing.Size, System.Drawing">
<value>602, 316</value>
<value>602, 317</value>
</data>
<data name="mainPanel.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
@ -292,7 +292,7 @@
<value>96, 96</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>618, 361</value>
<value>618, 362</value>
</data>
<data name="$this.Font" type="System.Drawing.Font, System.Drawing">
<value>Tahoma, 8pt</value>
@ -307,7 +307,7 @@
<value>8, 8, 8, 8</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>PVS Farms</value>
<value>PVS Sites</value>
</data>
<data name="&gt;&gt;expansionColumn.Name" xml:space="preserve">
<value>expansionColumn</value>
@ -315,10 +315,10 @@
<data name="&gt;&gt;expansionColumn.Type" xml:space="preserve">
<value>System.Windows.Forms.DataGridViewImageColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;farmColumn.Name" xml:space="preserve">
<value>farmColumn</value>
<data name="&gt;&gt;siteColumn.Name" xml:space="preserve">
<value>siteColumn</value>
</data>
<data name="&gt;&gt;farmColumn.Type" xml:space="preserve">
<data name="&gt;&gt;siteColumn.Type" xml:space="preserve">
<value>System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;ipAddressesColumn.Name" xml:space="preserve">
@ -340,7 +340,7 @@
<value>System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>PvsFarmDialog</value>
<value>PvsSiteDialog</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>XenAdmin.Dialogs.XenDialogBase, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>

View File

@ -421,7 +421,7 @@
<value>配置高可用性</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>PvsFarmDialog</value>
<value>PvsSiteDialog</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>XenAdmin.Dialogs.XenDialogBase, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>

View File

@ -188,6 +188,7 @@ namespace XenAdmin
this.restoreFromBackupToolStripMenuItem = new XenAdmin.Commands.CommandToolStripMenuItem();
this.toolStripSeparator23 = new System.Windows.Forms.ToolStripSeparator();
this.maintenanceModeToolStripMenuItem1 = new XenAdmin.Commands.CommandToolStripMenuItem();
this.controlDomainMemoryToolStripMenuItem = new XenAdmin.Commands.CommandToolStripMenuItem();
this.RemoveCrashdumpsToolStripMenuItem = new XenAdmin.Commands.CommandToolStripMenuItem();
this.HostPasswordToolStripMenuItem = new XenAdmin.Commands.CommandToolStripMenuItem();
this.ChangeRootPasswordToolStripMenuItem = new XenAdmin.Commands.CommandToolStripMenuItem();
@ -1086,6 +1087,7 @@ namespace XenAdmin
this.restoreFromBackupToolStripMenuItem,
this.toolStripSeparator23,
this.maintenanceModeToolStripMenuItem1,
this.controlDomainMemoryToolStripMenuItem,
this.RemoveCrashdumpsToolStripMenuItem,
this.HostPasswordToolStripMenuItem,
this.toolStripSeparator25,
@ -1219,6 +1221,12 @@ namespace XenAdmin
this.maintenanceModeToolStripMenuItem1.Name = "maintenanceModeToolStripMenuItem1";
resources.ApplyResources(this.maintenanceModeToolStripMenuItem1, "maintenanceModeToolStripMenuItem1");
//
// controlDomainMemoryToolStripMenuItem
//
this.controlDomainMemoryToolStripMenuItem.Command = new XenAdmin.Commands.ChangeControlDomainMemoryCommand();
this.controlDomainMemoryToolStripMenuItem.Name = "controlDomainMemoryToolStripMenuItem";
resources.ApplyResources(this.controlDomainMemoryToolStripMenuItem, "controlDomainMemoryToolStripMenuItem");
//
// RemoveCrashdumpsToolStripMenuItem
//
this.RemoveCrashdumpsToolStripMenuItem.Command = new XenAdmin.Commands.RemoveHostCrashDumpsCommand();
@ -2125,6 +2133,7 @@ namespace XenAdmin
private TabPage TabPageADUpsell;
private TabPage TabPageCvmConsole;
private TabPage TabPagePvs;
private CommandToolStripMenuItem controlDomainMemoryToolStripMenuItem;
}
}

View File

@ -1427,8 +1427,8 @@ namespace XenAdmin
ShowTab(ad_upsell ? TabPageADUpsell : TabPageAD, !multi && !SearchMode && (isPoolSelected || isHostSelected && isHostLive));
bool hasPvsFarms = selectionConnection != null && selectionConnection.Cache.PVS_farms.Length > 0;
ShowTab(TabPagePvs, !multi && !SearchMode && isPoolOrLiveStandaloneHost && hasPvsFarms && !Helpers.FeatureForbidden(SelectionManager.Selection.FirstAsXenObject, Host.RestrictPvsCache));
bool hasPvsSites = selectionConnection != null && selectionConnection.Cache.PVS_sites.Length > 0;
ShowTab(TabPagePvs, !multi && !SearchMode && isPoolOrLiveStandaloneHost && hasPvsSites && !Helpers.FeatureForbidden(SelectionManager.Selection.FirstAsXenObject, Host.RestrictPvsCache));
foreach (TabPageFeature f in pluginManager.GetAllFeatures<TabPageFeature>(f => !f.IsConsoleReplacement && !multi && f.ShowTab))
ShowTab(f.TabPage, true);

View File

@ -2020,16 +2020,16 @@
<value>&amp;Pool</value>
</data>
<data name="AddHostToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>212, 22</value>
<value>216, 22</value>
</data>
<data name="AddHostToolStripMenuItem.Text" xml:space="preserve">
<value>&amp;Add...</value>
</data>
<data name="toolStripMenuItem11.Size" type="System.Drawing.Size, System.Drawing">
<value>209, 6</value>
<value>213, 6</value>
</data>
<data name="RebootHostToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>212, 22</value>
<value>216, 22</value>
</data>
<data name="RebootHostToolStripMenuItem.Text" xml:space="preserve">
<value>Reb&amp;oot</value>
@ -2055,7 +2055,7 @@
</value>
</data>
<data name="powerOnToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>212, 22</value>
<value>216, 22</value>
</data>
<data name="powerOnToolStripMenuItem.Text" xml:space="preserve">
<value>Power O&amp;n</value>
@ -2083,19 +2083,19 @@
</value>
</data>
<data name="ShutdownHostToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>212, 22</value>
<value>216, 22</value>
</data>
<data name="ShutdownHostToolStripMenuItem.Text" xml:space="preserve">
<value>S&amp;hut Down</value>
</data>
<data name="restartToolstackToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>212, 22</value>
<value>216, 22</value>
</data>
<data name="restartToolstackToolStripMenuItem.Text" xml:space="preserve">
<value>Restart Toolstac&amp;k</value>
</data>
<data name="toolStripSeparator1.Size" type="System.Drawing.Size, System.Drawing">
<value>209, 6</value>
<value>213, 6</value>
</data>
<data name="ReconnectToolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
<value>155, 22</value>
@ -2131,37 +2131,37 @@
<value>Di&amp;sconnect All</value>
</data>
<data name="connectDisconnectToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>212, 22</value>
<value>216, 22</value>
</data>
<data name="connectDisconnectToolStripMenuItem.Text" xml:space="preserve">
<value>&amp;Connect/Disconnect</value>
</data>
<data name="addServerToPoolMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>212, 22</value>
<value>216, 22</value>
</data>
<data name="addServerToPoolMenuItem.Text" xml:space="preserve">
<value>Add to &amp;Pool</value>
</data>
<data name="toolStripSeparator3.Size" type="System.Drawing.Size, System.Drawing">
<value>209, 6</value>
<value>213, 6</value>
</data>
<data name="backupToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>212, 22</value>
<value>216, 22</value>
</data>
<data name="backupToolStripMenuItem.Text" xml:space="preserve">
<value>&amp;Back Up...</value>
</data>
<data name="restoreFromBackupToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>212, 22</value>
<value>216, 22</value>
</data>
<data name="restoreFromBackupToolStripMenuItem.Text" xml:space="preserve">
<value>Restore From Back&amp;up...</value>
</data>
<data name="toolStripSeparator23.Size" type="System.Drawing.Size, System.Drawing">
<value>209, 6</value>
<value>213, 6</value>
</data>
<data name="maintenanceModeToolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
<value>212, 22</value>
<value>216, 22</value>
</data>
<data name="maintenanceModeToolStripMenuItem1.Text" xml:space="preserve">
<value>Enter &amp;Maintenance Mode</value>
@ -2169,11 +2169,17 @@
<data name="maintenanceModeToolStripMenuItem1.ToolTipText" xml:space="preserve">
<value>Testing</value>
</data>
<data name="controlDomainMemoryToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>216, 22</value>
</data>
<data name="controlDomainMemoryToolStripMenuItem.Text" xml:space="preserve">
<value>Control &amp;Domain Memory...</value>
</data>
<data name="RemoveCrashdumpsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>212, 22</value>
<value>216, 22</value>
</data>
<data name="RemoveCrashdumpsToolStripMenuItem.Text" xml:space="preserve">
<value>Remove Crash &amp;Dump Files</value>
<value>Remove Crash Dump &amp;Files</value>
</data>
<data name="ChangeRootPasswordToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>161, 22</value>
@ -2188,37 +2194,37 @@
<value>&amp;Forget Password</value>
</data>
<data name="HostPasswordToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>212, 22</value>
<value>216, 22</value>
</data>
<data name="HostPasswordToolStripMenuItem.Text" xml:space="preserve">
<value>Pass&amp;word</value>
</data>
<data name="toolStripSeparator25.Size" type="System.Drawing.Size, System.Drawing">
<value>209, 6</value>
<value>213, 6</value>
</data>
<data name="destroyServerToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>212, 22</value>
<value>216, 22</value>
</data>
<data name="destroyServerToolStripMenuItem.Text" xml:space="preserve">
<value>D&amp;estroy</value>
</data>
<data name="removeHostToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>212, 22</value>
<value>216, 22</value>
</data>
<data name="removeHostToolStripMenuItem.Text" xml:space="preserve">
<value>Remo&amp;ve from [XenCenter]</value>
</data>
<data name="toolStripSeparator15.Size" type="System.Drawing.Size, System.Drawing">
<value>209, 6</value>
<value>213, 6</value>
</data>
<data name="pluginItemsPlaceHolderToolStripMenuItem3.Size" type="System.Drawing.Size, System.Drawing">
<value>212, 22</value>
<value>216, 22</value>
</data>
<data name="pluginItemsPlaceHolderToolStripMenuItem3.Text" xml:space="preserve">
<value>PluginItemsPlaceHolder</value>
</data>
<data name="ServerPropertiesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>212, 22</value>
<value>216, 22</value>
</data>
<data name="ServerPropertiesToolStripMenuItem.Text" xml:space="preserve">
<value>P&amp;roperties</value>
@ -3312,6 +3318,12 @@
<data name="&gt;&gt;maintenanceModeToolStripMenuItem1.Type" xml:space="preserve">
<value>XenAdmin.Commands.CommandToolStripMenuItem, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;controlDomainMemoryToolStripMenuItem.Name" xml:space="preserve">
<value>controlDomainMemoryToolStripMenuItem</value>
</data>
<data name="&gt;&gt;controlDomainMemoryToolStripMenuItem.Type" xml:space="preserve">
<value>XenAdmin.Commands.CommandToolStripMenuItem, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;RemoveCrashdumpsToolStripMenuItem.Name" xml:space="preserve">
<value>RemoveCrashdumpsToolStripMenuItem</value>
</data>

View File

@ -44,17 +44,17 @@
this.ColumnSR = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.ColumnPrepopulation = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.label2 = new System.Windows.Forms.Label();
this.dataGridViewFarms = new XenAdmin.Controls.DataGridViewEx.DataGridViewEx();
this.ColumnFarm = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridViewSites = new XenAdmin.Controls.DataGridViewEx.DataGridViewEx();
this.ColumnSite = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.ColumnConfiguration = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.ColumnSRs = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.ConfigureButton = new System.Windows.Forms.Button();
this.ViewPvsFarmsButton = new System.Windows.Forms.Button();
this.ViewPvsSitesButton = new System.Windows.Forms.Button();
this.label1 = new System.Windows.Forms.Label();
this.pageContainerPanel.SuspendLayout();
this.tableLayoutPanel1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dataGridViewVms)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dataGridViewFarms)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dataGridViewSites)).BeginInit();
this.SuspendLayout();
//
// pageContainerPanel
@ -68,9 +68,9 @@
this.tableLayoutPanel1.Controls.Add(this.button2, 0, 5);
this.tableLayoutPanel1.Controls.Add(this.dataGridViewVms, 0, 4);
this.tableLayoutPanel1.Controls.Add(this.label2, 0, 3);
this.tableLayoutPanel1.Controls.Add(this.dataGridViewFarms, 0, 1);
this.tableLayoutPanel1.Controls.Add(this.dataGridViewSites, 0, 1);
this.tableLayoutPanel1.Controls.Add(this.ConfigureButton, 0, 2);
this.tableLayoutPanel1.Controls.Add(this.ViewPvsFarmsButton, 1, 2);
this.tableLayoutPanel1.Controls.Add(this.ViewPvsSitesButton, 1, 2);
this.tableLayoutPanel1.Controls.Add(this.label1, 0, 0);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
//
@ -144,32 +144,32 @@
this.tableLayoutPanel1.SetColumnSpan(this.label2, 2);
this.label2.Name = "label2";
//
// dataGridViewFarms
// dataGridViewSites
//
this.dataGridViewFarms.AutoSizeRowsMode = System.Windows.Forms.DataGridViewAutoSizeRowsMode.AllCells;
this.dataGridViewFarms.BackgroundColor = System.Drawing.SystemColors.Window;
this.dataGridViewFarms.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.None;
this.dataGridViewFarms.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
this.dataGridViewFarms.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.ColumnFarm,
this.dataGridViewSites.AutoSizeRowsMode = System.Windows.Forms.DataGridViewAutoSizeRowsMode.AllCells;
this.dataGridViewSites.BackgroundColor = System.Drawing.SystemColors.Window;
this.dataGridViewSites.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.None;
this.dataGridViewSites.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
this.dataGridViewSites.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.ColumnSite,
this.ColumnConfiguration,
this.ColumnSRs});
this.tableLayoutPanel1.SetColumnSpan(this.dataGridViewFarms, 2);
resources.ApplyResources(this.dataGridViewFarms, "dataGridViewFarms");
this.dataGridViewFarms.MultiSelect = true;
this.dataGridViewFarms.Name = "dataGridViewFarms";
this.dataGridViewFarms.ReadOnly = true;
this.tableLayoutPanel1.SetColumnSpan(this.dataGridViewSites, 2);
resources.ApplyResources(this.dataGridViewSites, "dataGridViewSites");
this.dataGridViewSites.MultiSelect = true;
this.dataGridViewSites.Name = "dataGridViewSites";
this.dataGridViewSites.ReadOnly = true;
//
// ColumnFarm
// ColumnSite
//
this.ColumnFarm.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.ColumnHeader;
this.ColumnSite.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.ColumnHeader;
dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.TopLeft;
dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
this.ColumnFarm.DefaultCellStyle = dataGridViewCellStyle5;
this.ColumnFarm.FillWeight = 20F;
resources.ApplyResources(this.ColumnFarm, "ColumnFarm");
this.ColumnFarm.Name = "ColumnFarm";
this.ColumnFarm.ReadOnly = true;
this.ColumnSite.DefaultCellStyle = dataGridViewCellStyle5;
this.ColumnSite.FillWeight = 20F;
resources.ApplyResources(this.ColumnSite, "ColumnSite");
this.ColumnSite.Name = "ColumnSite";
this.ColumnSite.ReadOnly = true;
//
// ColumnConfiguration
//
@ -197,12 +197,12 @@
this.ConfigureButton.Name = "ConfigureButton";
this.ConfigureButton.UseVisualStyleBackColor = true;
//
// ViewPvsFarmsButton
// ViewPvsSitesButton
//
resources.ApplyResources(this.ViewPvsFarmsButton, "ViewPvsFarmsButton");
this.ViewPvsFarmsButton.Name = "ViewPvsFarmsButton";
this.ViewPvsFarmsButton.UseVisualStyleBackColor = true;
this.ViewPvsFarmsButton.Click += new System.EventHandler(this.ViewPvsFarmsButton_Click);
resources.ApplyResources(this.ViewPvsSitesButton, "ViewPvsSitesButton");
this.ViewPvsSitesButton.Name = "ViewPvsSitesButton";
this.ViewPvsSitesButton.UseVisualStyleBackColor = true;
this.ViewPvsSitesButton.Click += new System.EventHandler(this.ViewPvsSitesButton_Click);
//
// label1
//
@ -219,7 +219,7 @@
this.tableLayoutPanel1.ResumeLayout(false);
this.tableLayoutPanel1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.dataGridViewVms)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dataGridViewFarms)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dataGridViewSites)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
@ -228,9 +228,9 @@
#endregion
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
private Controls.DataGridViewEx.DataGridViewEx dataGridViewFarms;
private Controls.DataGridViewEx.DataGridViewEx dataGridViewSites;
public System.Windows.Forms.Button ConfigureButton;
public System.Windows.Forms.Button ViewPvsFarmsButton;
public System.Windows.Forms.Button ViewPvsSitesButton;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
public System.Windows.Forms.Button button2;
@ -239,7 +239,7 @@
private System.Windows.Forms.DataGridViewTextBoxColumn columnCurrentlyCached;
private System.Windows.Forms.DataGridViewTextBoxColumn ColumnSR;
private System.Windows.Forms.DataGridViewTextBoxColumn ColumnPrepopulation;
private System.Windows.Forms.DataGridViewTextBoxColumn ColumnFarm;
private System.Windows.Forms.DataGridViewTextBoxColumn ColumnSite;
private System.Windows.Forms.DataGridViewTextBoxColumn ColumnConfiguration;
private System.Windows.Forms.DataGridViewTextBoxColumn ColumnSRs;
}

View File

@ -61,7 +61,7 @@ namespace XenAdmin.TabPages
{
if (connection != null)
{
connection.Cache.DeregisterBatchCollectionChanged<PVS_farm>(PvsFarmBatchCollectionChanged);
connection.Cache.DeregisterBatchCollectionChanged<PVS_site>(PvsSiteBatchCollectionChanged);
connection.Cache.DeregisterBatchCollectionChanged<PVS_proxy>(PvsProxyBatchCollectionChanged);
}
@ -69,16 +69,16 @@ namespace XenAdmin.TabPages
if (connection != null)
{
connection.Cache.RegisterBatchCollectionChanged<PVS_farm>(PvsFarmBatchCollectionChanged);
connection.Cache.RegisterBatchCollectionChanged<PVS_site>(PvsSiteBatchCollectionChanged);
connection.Cache.RegisterBatchCollectionChanged<PVS_proxy>(PvsProxyBatchCollectionChanged);
}
LoadFarms();
LoadSites();
LoadVMs();
}
}
private void LoadFarms()
private void LoadSites()
{
Program.AssertOnEventThread();
@ -87,22 +87,22 @@ namespace XenAdmin.TabPages
try
{
dataGridViewFarms.SuspendLayout();
dataGridViewFarms.Rows.Clear();
dataGridViewSites.SuspendLayout();
dataGridViewSites.Rows.Clear();
var rowList = new List<DataGridViewRow>();
foreach (var pvsFarm in Connection.Cache.PVS_farms)
rowList.Add(NewPvsFarmRow(pvsFarm));
foreach (var pvsSite in Connection.Cache.PVS_sites)
rowList.Add(NewPvsSiteRow(pvsSite));
dataGridViewFarms.Rows.AddRange(rowList.ToArray());
dataGridViewSites.Rows.AddRange(rowList.ToArray());
if (dataGridViewFarms.SelectedRows.Count == 0 && dataGridViewFarms.Rows.Count > 0)
dataGridViewFarms.Rows[0].Selected = true;
if (dataGridViewSites.SelectedRows.Count == 0 && dataGridViewSites.Rows.Count > 0)
dataGridViewSites.Rows[0].Selected = true;
}
finally
{
dataGridViewFarms.ResumeLayout();
dataGridViewSites.ResumeLayout();
}
}
@ -132,20 +132,20 @@ namespace XenAdmin.TabPages
}
}
private DataGridViewRow NewPvsFarmRow(PVS_farm pvsFarm)
private DataGridViewRow NewPvsSiteRow(PVS_site pvsSite)
{
var farmCell = new DataGridViewTextBoxCell {Value = pvsFarm.name};
var siteCell = new DataGridViewTextBoxCell {Value = pvsSite.name};
var configurationCell = new DataGridViewTextBoxCell
{
Value = pvsFarm.cache_storage.Count > 0 ? Messages.PVS_CACHE_MEMORY_AND_DISK: Messages.PVS_CACHE_MEMORY_ONLY
Value = pvsSite.cache_storage.Count > 0 ? Messages.PVS_CACHE_MEMORY_AND_DISK: Messages.PVS_CACHE_MEMORY_ONLY
};
var cacheSrsCell = new DataGridViewTextBoxCell
{
Value = string.Join(", ", Connection.ResolveAll(pvsFarm.cache_storage))
Value = string.Join(", ", Connection.ResolveAll(pvsSite.cache_storage))
};
var newRow = new DataGridViewRow { Tag = pvsFarm };
newRow.Cells.AddRange(farmCell, configurationCell, cacheSrsCell);
var newRow = new DataGridViewRow { Tag = pvsSite };
newRow.Cells.AddRange(siteCell, configurationCell, cacheSrsCell);
return newRow;
}
@ -182,9 +182,9 @@ namespace XenAdmin.TabPages
}
}
private void PvsFarmBatchCollectionChanged(object sender, EventArgs e)
private void PvsSiteBatchCollectionChanged(object sender, EventArgs e)
{
Program.Invoke(this, LoadFarms);
Program.Invoke(this, LoadSites);
}
private void PvsProxyBatchCollectionChanged(object sender, EventArgs e)
@ -208,9 +208,9 @@ namespace XenAdmin.TabPages
}
}
private void ViewPvsFarmsButton_Click(object sender, EventArgs e)
private void ViewPvsSitesButton_Click(object sender, EventArgs e)
{
Program.MainWindow.ShowPerConnectionWizard(connection, new PvsFarmDialog(connection));
Program.MainWindow.ShowPerConnectionWizard(connection, new PvsSiteDialog(connection));
}
}
}

View File

@ -131,7 +131,7 @@
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="button2" Row="5" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="dataGridViewVms" Row="4" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="label2" Row="3" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="dataGridViewFarms" Row="1" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="ConfigureButton" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="button1" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="label1" Row="0" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,AutoSize,0" /&gt;&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Percent,100,AutoSize,0" /&gt;&lt;/TableLayoutSettings&gt;</value>
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="button2" Row="5" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="dataGridViewVms" Row="4" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="label2" Row="3" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="dataGridViewSites" Row="1" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="ConfigureButton" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="button1" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="label1" Row="0" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,AutoSize,0" /&gt;&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Percent,100,AutoSize,0" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="pageContainerPanel.Location" type="System.Drawing.Point, System.Drawing">
@ -270,7 +270,7 @@
<data name="&gt;&gt;label2.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<metadata name="ColumnFarm.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<metadata name="ColumnSite.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ColumnConfiguration.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
@ -279,34 +279,34 @@
<metadata name="ColumnSRs.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="dataGridViewFarms.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<data name="dataGridViewSites.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
<data name="dataGridViewFarms.Font" type="System.Drawing.Font, System.Drawing">
<data name="dataGridViewSites.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="dataGridViewFarms.Location" type="System.Drawing.Point, System.Drawing">
<data name="dataGridViewSites.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 23</value>
</data>
<data name="dataGridViewFarms.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<data name="dataGridViewSites.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 1, 5</value>
</data>
<data name="dataGridViewFarms.Size" type="System.Drawing.Size, System.Drawing">
<data name="dataGridViewSites.Size" type="System.Drawing.Size, System.Drawing">
<value>718, 165</value>
</data>
<data name="dataGridViewFarms.TabIndex" type="System.Int32, mscorlib">
<data name="dataGridViewSites.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
</data>
<data name="&gt;&gt;dataGridViewFarms.Name" xml:space="preserve">
<value>dataGridViewFarms</value>
<data name="&gt;&gt;dataGridViewSites.Name" xml:space="preserve">
<value>dataGridViewSites</value>
</data>
<data name="&gt;&gt;dataGridViewFarms.Type" xml:space="preserve">
<data name="&gt;&gt;dataGridViewSites.Type" xml:space="preserve">
<value>XenAdmin.Controls.DataGridViewEx.DataGridViewEx, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;dataGridViewFarms.Parent" xml:space="preserve">
<data name="&gt;&gt;dataGridViewSites.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;dataGridViewFarms.ZOrder" xml:space="preserve">
<data name="&gt;&gt;dataGridViewSites.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="ConfigureButton.AutoSize" type="System.Boolean, mscorlib">
@ -361,7 +361,7 @@
<value>7</value>
</data>
<data name="button1.Text" xml:space="preserve">
<value>&amp;View PVS Farms...</value>
<value>&amp;View PVS Sites...</value>
</data>
<data name="&gt;&gt;button1.Name" xml:space="preserve">
<value>button1</value>
@ -439,7 +439,7 @@
<value>0</value>
</data>
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="button2" Row="5" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="dataGridViewVms" Row="4" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="label2" Row="3" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="dataGridViewFarms" Row="1" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="ConfigureButton" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="button1" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="label1" Row="0" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,AutoSize,0" /&gt;&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Percent,100,AutoSize,0" /&gt;&lt;/TableLayoutSettings&gt;</value>
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="button2" Row="5" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="dataGridViewVms" Row="4" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="label2" Row="3" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="dataGridViewSites" Row="1" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="ConfigureButton" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="button1" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="label1" Row="0" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,AutoSize,0" /&gt;&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Percent,100,AutoSize,0" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data>
<metadata name="columnVM.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
@ -474,13 +474,13 @@
<data name="ColumnPrepopulation.HeaderText" xml:space="preserve">
<value>Marked for prepopulation</value>
</data>
<metadata name="ColumnFarm.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<metadata name="ColumnSite.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="ColumnFarm.HeaderText" xml:space="preserve">
<value>PVS Farm</value>
<data name="ColumnSite.HeaderText" xml:space="preserve">
<value>PVS Site</value>
</data>
<data name="ColumnFarm.MinimumWidth" type="System.Int32, mscorlib">
<data name="ColumnSite.MinimumWidth" type="System.Int32, mscorlib">
<value>80</value>
</data>
<metadata name="ColumnConfiguration.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
@ -534,10 +534,10 @@
<data name="&gt;&gt;ColumnPrepopulation.Type" xml:space="preserve">
<value>System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;ColumnFarm.Name" xml:space="preserve">
<value>ColumnFarm</value>
<data name="&gt;&gt;ColumnSite.Name" xml:space="preserve">
<value>ColumnSite</value>
</data>
<data name="&gt;&gt;ColumnFarm.Type" xml:space="preserve">
<data name="&gt;&gt;ColumnSite.Type" xml:space="preserve">
<value>System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;ColumnConfiguration.Name" xml:space="preserve">

View File

@ -267,16 +267,16 @@
<data name="&gt;&gt;label2.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<metadata name="ColumnFarm.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<metadata name="ColumnSite.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="ColumnFarm.HeaderText" xml:space="preserve">
<value>PVS Farm</value>
<data name="ColumnSite.HeaderText" xml:space="preserve">
<value>PVS Site</value>
</data>
<data name="ColumnFarm.MinimumWidth" type="System.Int32, mscorlib">
<data name="ColumnSite.MinimumWidth" type="System.Int32, mscorlib">
<value>80</value>
</data>
<data name="ColumnFarm.Width" type="System.Int32, mscorlib">
<data name="ColumnSite.Width" type="System.Int32, mscorlib">
<value>82</value>
</data>
<metadata name="ColumnConfiguration.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
@ -300,34 +300,34 @@
<data name="ColumnSRs.MinimumWidth" type="System.Int32, mscorlib">
<value>80</value>
</data>
<data name="dataGridViewFarms.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<data name="dataGridViewSites.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="dataGridViewFarms.Font" type="System.Drawing.Font, System.Drawing">
<data name="dataGridViewSites.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="dataGridViewFarms.Location" type="System.Drawing.Point, System.Drawing">
<data name="dataGridViewSites.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 23</value>
</data>
<data name="dataGridViewFarms.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<data name="dataGridViewSites.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 1, 5</value>
</data>
<data name="dataGridViewFarms.Size" type="System.Drawing.Size, System.Drawing">
<data name="dataGridViewSites.Size" type="System.Drawing.Size, System.Drawing">
<value>561, 155</value>
</data>
<data name="dataGridViewFarms.TabIndex" type="System.Int32, mscorlib">
<data name="dataGridViewSites.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
</data>
<data name="&gt;&gt;dataGridViewFarms.Name" xml:space="preserve">
<value>dataGridViewFarms</value>
<data name="&gt;&gt;dataGridViewSites.Name" xml:space="preserve">
<value>dataGridViewSites</value>
</data>
<data name="&gt;&gt;dataGridViewFarms.Type" xml:space="preserve">
<data name="&gt;&gt;dataGridViewSites.Type" xml:space="preserve">
<value>XenAdmin.Controls.DataGridViewEx.DataGridViewEx, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;dataGridViewFarms.Parent" xml:space="preserve">
<data name="&gt;&gt;dataGridViewSites.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;dataGridViewFarms.ZOrder" xml:space="preserve">
<data name="&gt;&gt;dataGridViewSites.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="ConfigureButton.AutoSize" type="System.Boolean, mscorlib">
@ -363,37 +363,37 @@
<data name="&gt;&gt;ConfigureButton.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="ViewPvsFarmsButton.AutoSize" type="System.Boolean, mscorlib">
<data name="ViewPvsSitesButton.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="ViewPvsFarmsButton.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<data name="ViewPvsSitesButton.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="ViewPvsFarmsButton.Location" type="System.Drawing.Point, System.Drawing">
<data name="ViewPvsSitesButton.Location" type="System.Drawing.Point, System.Drawing">
<value>131, 186</value>
</data>
<data name="ViewPvsFarmsButton.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<data name="ViewPvsSitesButton.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 3, 3, 3</value>
</data>
<data name="ViewPvsFarmsButton.Size" type="System.Drawing.Size, System.Drawing">
<data name="ViewPvsSitesButton.Size" type="System.Drawing.Size, System.Drawing">
<value>104, 23</value>
</data>
<data name="ViewPvsFarmsButton.TabIndex" type="System.Int32, mscorlib">
<data name="ViewPvsSitesButton.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
</data>
<data name="ViewPvsFarmsButton.Text" xml:space="preserve">
<value>View PVS &amp;Farms...</value>
<data name="ViewPvsSitesButton.Text" xml:space="preserve">
<value>View PVS &amp;Sites...</value>
</data>
<data name="&gt;&gt;ViewPvsFarmsButton.Name" xml:space="preserve">
<value>ViewPvsFarmsButton</value>
<data name="&gt;&gt;ViewPvsSitesButton.Name" xml:space="preserve">
<value>ViewPvsSitesButton</value>
</data>
<data name="&gt;&gt;ViewPvsFarmsButton.Type" xml:space="preserve">
<data name="&gt;&gt;ViewPvsSitesButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;ViewPvsFarmsButton.Parent" xml:space="preserve">
<data name="&gt;&gt;ViewPvsSitesButton.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;ViewPvsFarmsButton.ZOrder" xml:space="preserve">
<data name="&gt;&gt;ViewPvsSitesButton.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
@ -460,7 +460,7 @@
<value>0</value>
</data>
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="button2" Row="5" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="dataGridViewVms" Row="4" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="label2" Row="3" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="dataGridViewFarms" Row="1" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="ConfigureButton" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="ViewPvsFarmsButton" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="label1" Row="0" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,Percent,100" /&gt;&lt;Rows Styles="AutoSize,0,Absolute,160,AutoSize,0,AutoSize,0,Percent,100,AutoSize,0" /&gt;&lt;/TableLayoutSettings&gt;</value>
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="button2" Row="5" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="dataGridViewVms" Row="4" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="label2" Row="3" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="dataGridViewSites" Row="1" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="ConfigureButton" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="ViewPvsSitesButton" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="label1" Row="0" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,Percent,100" /&gt;&lt;Rows Styles="AutoSize,0,Absolute,160,AutoSize,0,AutoSize,0,Percent,100,AutoSize,0" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data>
<data name="pageContainerPanel.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 91</value>
@ -513,10 +513,10 @@
<data name="&gt;&gt;ColumnPrepopulation.Type" xml:space="preserve">
<value>System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;ColumnFarm.Name" xml:space="preserve">
<value>ColumnFarm</value>
<data name="&gt;&gt;ColumnSite.Name" xml:space="preserve">
<value>ColumnSite</value>
</data>
<data name="&gt;&gt;ColumnFarm.Type" xml:space="preserve">
<data name="&gt;&gt;ColumnSite.Type" xml:space="preserve">
<value>System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;ColumnConfiguration.Name" xml:space="preserve">

View File

@ -131,7 +131,7 @@
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="button2" Row="5" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="dataGridViewVms" Row="4" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="label2" Row="3" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="dataGridViewFarms" Row="1" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="ConfigureButton" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="button1" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="label1" Row="0" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,AutoSize,0" /&gt;&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Percent,100,AutoSize,0" /&gt;&lt;/TableLayoutSettings&gt;</value>
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="button2" Row="5" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="dataGridViewVms" Row="4" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="label2" Row="3" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="dataGridViewSites" Row="1" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="ConfigureButton" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="button1" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="label1" Row="0" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,AutoSize,0" /&gt;&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Percent,100,AutoSize,0" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="pageContainerPanel.Location" type="System.Drawing.Point, System.Drawing">
@ -270,7 +270,7 @@
<data name="&gt;&gt;label2.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<metadata name="ColumnFarm.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<metadata name="ColumnSite.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="ColumnConfiguration.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
@ -279,34 +279,34 @@
<metadata name="ColumnSRs.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="dataGridViewFarms.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<data name="dataGridViewSites.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
<data name="dataGridViewFarms.Font" type="System.Drawing.Font, System.Drawing">
<data name="dataGridViewSites.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value>
</data>
<data name="dataGridViewFarms.Location" type="System.Drawing.Point, System.Drawing">
<data name="dataGridViewSites.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 23</value>
</data>
<data name="dataGridViewFarms.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<data name="dataGridViewSites.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 1, 5</value>
</data>
<data name="dataGridViewFarms.Size" type="System.Drawing.Size, System.Drawing">
<data name="dataGridViewSites.Size" type="System.Drawing.Size, System.Drawing">
<value>718, 165</value>
</data>
<data name="dataGridViewFarms.TabIndex" type="System.Int32, mscorlib">
<data name="dataGridViewSites.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
</data>
<data name="&gt;&gt;dataGridViewFarms.Name" xml:space="preserve">
<value>dataGridViewFarms</value>
<data name="&gt;&gt;dataGridViewSites.Name" xml:space="preserve">
<value>dataGridViewSites</value>
</data>
<data name="&gt;&gt;dataGridViewFarms.Type" xml:space="preserve">
<data name="&gt;&gt;dataGridViewSites.Type" xml:space="preserve">
<value>XenAdmin.Controls.DataGridViewEx.DataGridViewEx, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;dataGridViewFarms.Parent" xml:space="preserve">
<data name="&gt;&gt;dataGridViewSites.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;dataGridViewFarms.ZOrder" xml:space="preserve">
<data name="&gt;&gt;dataGridViewSites.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="ConfigureButton.AutoSize" type="System.Boolean, mscorlib">
@ -361,7 +361,7 @@
<value>7</value>
</data>
<data name="button1.Text" xml:space="preserve">
<value>&amp;View PVS Farms...</value>
<value>&amp;View PVS Sites...</value>
</data>
<data name="&gt;&gt;button1.Name" xml:space="preserve">
<value>button1</value>
@ -439,7 +439,7 @@
<value>0</value>
</data>
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="button2" Row="5" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="dataGridViewVms" Row="4" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="label2" Row="3" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="dataGridViewFarms" Row="1" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="ConfigureButton" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="button1" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="label1" Row="0" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,AutoSize,0" /&gt;&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Percent,100,AutoSize,0" /&gt;&lt;/TableLayoutSettings&gt;</value>
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="button2" Row="5" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="dataGridViewVms" Row="4" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="label2" Row="3" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="dataGridViewSites" Row="1" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="ConfigureButton" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="button1" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="label1" Row="0" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,AutoSize,0" /&gt;&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Percent,100,AutoSize,0" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data>
<metadata name="columnVM.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
@ -474,13 +474,13 @@
<data name="ColumnPrepopulation.HeaderText" xml:space="preserve">
<value>Marked for prepopulation</value>
</data>
<metadata name="ColumnFarm.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<metadata name="ColumnSite.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="ColumnFarm.HeaderText" xml:space="preserve">
<value>PVS Farm</value>
<data name="ColumnSite.HeaderText" xml:space="preserve">
<value>PVS Site</value>
</data>
<data name="ColumnFarm.MinimumWidth" type="System.Int32, mscorlib">
<data name="ColumnSite.MinimumWidth" type="System.Int32, mscorlib">
<value>80</value>
</data>
<metadata name="ColumnConfiguration.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
@ -534,10 +534,10 @@
<data name="&gt;&gt;ColumnPrepopulation.Type" xml:space="preserve">
<value>System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;ColumnFarm.Name" xml:space="preserve">
<value>ColumnFarm</value>
<data name="&gt;&gt;ColumnSite.Name" xml:space="preserve">
<value>ColumnSite</value>
</data>
<data name="&gt;&gt;ColumnFarm.Type" xml:space="preserve">
<data name="&gt;&gt;ColumnSite.Type" xml:space="preserve">
<value>System.Windows.Forms.DataGridViewTextBoxColumn, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;ColumnConfiguration.Name" xml:space="preserve">

View File

@ -111,6 +111,7 @@
<Compile Include="Alerts\Types\XenServerPatchAlert.cs" />
<Compile Include="Alerts\Types\XenServerVersionAlert.cs" />
<Compile Include="Commands\CallHomeCommand.cs" />
<Compile Include="Commands\ChangeControlDomainMemoryCommand.cs" />
<Compile Include="Commands\CrossPoolCopyVMCommand.cs" />
<Compile Include="Commands\CrossPoolMoveVMCommand.cs" />
<Compile Include="Commands\DragDropCrossPoolMoveHaltedVMCommand.cs" />
@ -157,12 +158,12 @@
<Compile Include="Controls\ConsolePanel.Designer.cs">
<DependentUpon>ConsolePanel.cs</DependentUpon>
</Compile>
<Compile Include="Controls\DataGridViewEx\CollapsingPvsFarmServerDataGridViewRow.cs" />
<Compile Include="Controls\DataGridViewEx\CollapsingPvsFarmServerDataGridView.cs">
<Compile Include="Controls\DataGridViewEx\CollapsingPvsSiteServerDataGridViewRow.cs" />
<Compile Include="Controls\DataGridViewEx\CollapsingPvsSiteServerDataGridView.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Controls\DataGridViewEx\CollapsingPvsFarmServerDataGridView.Designer.cs">
<DependentUpon>CollapsingPvsFarmServerDataGridView.cs</DependentUpon>
<Compile Include="Controls\DataGridViewEx\CollapsingPvsSiteServerDataGridView.Designer.cs">
<DependentUpon>CollapsingPvsSiteServerDataGridView.cs</DependentUpon>
</Compile>
<Compile Include="Controls\DataGridViewEx\DataGridViewEx.cs">
<SubType>Component</SubType>
@ -226,11 +227,17 @@
<Compile Include="Diagnostics\Problems\ProblemWithInformationUrl.cs" />
<Compile Include="Diagnostics\Problems\SRProblem\UnsupportedStorageLinkSrIsPresentProblem.cs" />
<Compile Include="Diagnostics\Problems\VMProblem\InvalidVCPUConfiguration.cs" />
<Compile Include="Dialogs\PvsFarmDialog.cs">
<Compile Include="Dialogs\PvsSiteDialog.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Dialogs\PvsFarmDialog.Designer.cs">
<DependentUpon>PvsFarmDialog.cs</DependentUpon>
<Compile Include="Dialogs\PvsSiteDialog.Designer.cs">
<DependentUpon>PvsSiteDialog.cs</DependentUpon>
</Compile>
<Compile Include="Dialogs\ControlDomainMemoryDialog.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Dialogs\ControlDomainMemoryDialog.Designer.cs">
<DependentUpon>ControlDomainMemoryDialog.cs</DependentUpon>
</Compile>
<Compile Include="Dialogs\HealthCheck\HealthCheckOverviewLauncher.cs" />
<Compile Include="Dialogs\ExportVMDialog.cs">
@ -1542,6 +1549,15 @@
<SubType>Designer</SubType>
<DependentUpon>BallooningDialogAdvanced.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Dialogs\ControlDomainMemoryDialog.resx">
<DependentUpon>ControlDomainMemoryDialog.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Dialogs\ControlDomainMemoryDialog.zh-CN.resx">
<DependentUpon>ControlDomainMemoryDialog.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Dialogs\ControlDomainMemoryDialog.ja.resx">
<DependentUpon>ControlDomainMemoryDialog.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Dialogs\DateFilterDialog.resx">
<SubType>Designer</SubType>
<DependentUpon>DateFilterDialog.cs</DependentUpon>
@ -1550,16 +1566,16 @@
<SubType>Designer</SubType>
<DependentUpon>AdPasswordPrompt.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Dialogs\PvsFarmDialog.ja.resx">
<DependentUpon>PvsFarmDialog.cs</DependentUpon>
<EmbeddedResource Include="Dialogs\PvsSiteDialog.ja.resx">
<DependentUpon>PvsSiteDialog.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Dialogs\PvsFarmDialog.resx">
<DependentUpon>PvsFarmDialog.cs</DependentUpon>
<EmbeddedResource Include="Dialogs\PvsSiteDialog.resx">
<DependentUpon>PvsSiteDialog.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Dialogs\PvsFarmDialog.zh-CN.resx">
<DependentUpon>PvsFarmDialog.cs</DependentUpon>
<EmbeddedResource Include="Dialogs\PvsSiteDialog.zh-CN.resx">
<DependentUpon>PvsSiteDialog.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Dialogs\HealthCheck\HealthCheckOverviewDialog.ja.resx">
@ -1864,9 +1880,11 @@
</EmbeddedResource>
<EmbeddedResource Include="TabPages\PvsPage.ja.resx">
<DependentUpon>PvsPage.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="TabPages\PvsPage.resx">
<DependentUpon>PvsPage.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="TabPages\PvsPage.zh-CN.resx">
<DependentUpon>PvsPage.cs</DependentUpon>

View File

@ -101,7 +101,8 @@ namespace XenAdminTests.TabsAndMenus
new ExpectedTextMenuItem("Restore From Back&up...", false, false ),
new ExpectedSeparator(),
new ExpectedTextMenuItem("Enter &Maintenance Mode...", false, false ),
new ExpectedTextMenuItem("Remove Crash &Dump Files", false, false ),
new ExpectedTextMenuItem("Control &Domain Memory...", false, false ),
new ExpectedTextMenuItem("Remove Crash Dump &Files", false, false ),
new ExpectedTextMenuItem("Pass&word", false, false, new ExpectedMenuItem[]{
new ExpectedTextMenuItem("&Change...", false, false ),
new ExpectedTextMenuItem("&Forget Password", false, false )}),
@ -210,7 +211,8 @@ namespace XenAdminTests.TabsAndMenus
new ExpectedTextMenuItem("Restore From Back&up...", false, false ),
new ExpectedSeparator(),
new ExpectedTextMenuItem("Enter &Maintenance Mode...", false, false ),
new ExpectedTextMenuItem("Remove Crash &Dump Files", false, false ),
new ExpectedTextMenuItem("Control &Domain Memory...", false, false ),
new ExpectedTextMenuItem("Remove Crash Dump &Files", false, false ),
new ExpectedTextMenuItem("Pass&word", true, false, new ExpectedMenuItem[]{
new ExpectedTextMenuItem("&Change...", true, false ),
new ExpectedTextMenuItem("&Forget Password", false, false )}),
@ -321,7 +323,8 @@ namespace XenAdminTests.TabsAndMenus
new ExpectedTextMenuItem("Restore From Back&up...", true, false ),
new ExpectedSeparator(),
new ExpectedTextMenuItem("Enter &Maintenance Mode...", true, false ),
new ExpectedTextMenuItem("Remove Crash &Dump Files", false, false ),
new ExpectedTextMenuItem("Control &Domain Memory...", false, false ),
new ExpectedTextMenuItem("Remove Crash Dump &Files", false, false ),
new ExpectedTextMenuItem("Pass&word", true, false, new ExpectedMenuItem[]{
new ExpectedTextMenuItem("&Change...", true, false ),
new ExpectedTextMenuItem("&Forget Password", false, false )}),
@ -432,7 +435,8 @@ namespace XenAdminTests.TabsAndMenus
new ExpectedTextMenuItem("Restore From Back&up...", false, false ),
new ExpectedSeparator(),
new ExpectedTextMenuItem("Enter &Maintenance Mode...", false, false ),
new ExpectedTextMenuItem("Remove Crash &Dump Files", false, false ),
new ExpectedTextMenuItem("Control &Domain Memory...", false, false ),
new ExpectedTextMenuItem("Remove Crash Dump &Files", false, false ),
new ExpectedTextMenuItem("Pass&word", false, false, new ExpectedMenuItem[]{
new ExpectedTextMenuItem("&Change...", false, false ),
new ExpectedTextMenuItem("&Forget Password", false, false )}),
@ -544,7 +548,8 @@ namespace XenAdminTests.TabsAndMenus
new ExpectedTextMenuItem("Restore From Back&up...", false, false ),
new ExpectedSeparator(),
new ExpectedTextMenuItem("Enter &Maintenance Mode...", vm.Home() != null, false ),
new ExpectedTextMenuItem("Remove Crash &Dump Files", false, false ),
new ExpectedTextMenuItem("Control &Domain Memory...", false, false ),
new ExpectedTextMenuItem("Remove Crash Dump &Files", false, false ),
new ExpectedTextMenuItem("Pass&word", false, false, new ExpectedMenuItem[]{
new ExpectedTextMenuItem("&Change...", false, false ),
new ExpectedTextMenuItem("&Forget Password", false, false )}),
@ -658,7 +663,8 @@ namespace XenAdminTests.TabsAndMenus
new ExpectedTextMenuItem("Restore From Back&up...", false, false ),
new ExpectedSeparator(),
new ExpectedTextMenuItem("Enter &Maintenance Mode...", sr.Home != null, false ),
new ExpectedTextMenuItem("Remove Crash &Dump Files", false, false ),
new ExpectedTextMenuItem("Control &Domain Memory...", false, false ),
new ExpectedTextMenuItem("Remove Crash Dump &Files", false, false ),
new ExpectedTextMenuItem("Pass&word", false, false, new ExpectedMenuItem[]{
new ExpectedTextMenuItem("&Change...", false, false ),
new ExpectedTextMenuItem("&Forget Password", false, false )}),
@ -773,7 +779,8 @@ namespace XenAdminTests.TabsAndMenus
new ExpectedTextMenuItem("Restore From Back&up...", false, false ),
new ExpectedSeparator(),
new ExpectedTextMenuItem("Enter &Maintenance Mode...", false, false ),
new ExpectedTextMenuItem("Remove Crash &Dump Files", false, false ),
new ExpectedTextMenuItem("Control &Domain Memory...", false, false ),
new ExpectedTextMenuItem("Remove Crash Dump &Files", false, false ),
new ExpectedTextMenuItem("Pass&word", false, false, new ExpectedMenuItem[]{
new ExpectedTextMenuItem("&Change...", false, false ),
new ExpectedTextMenuItem("&Forget Password", false, false )}),
@ -891,7 +898,8 @@ namespace XenAdminTests.TabsAndMenus
new ExpectedTextMenuItem("Restore From Back&up...", false, false ),
new ExpectedSeparator(),
new ExpectedTextMenuItem("Enter &Maintenance Mode...", false, false ),
new ExpectedTextMenuItem("Remove Crash &Dump Files", false, false ),
new ExpectedTextMenuItem("Control &Domain Memory...", false, false ),
new ExpectedTextMenuItem("Remove Crash Dump &Files", false, false ),
new ExpectedTextMenuItem("Pass&word", false, false, new ExpectedMenuItem[]{
new ExpectedTextMenuItem("&Change...", false, false ),
new ExpectedTextMenuItem("&Forget Password", false, false )}),
@ -1010,7 +1018,8 @@ namespace XenAdminTests.TabsAndMenus
new ExpectedTextMenuItem("Restore From Back&up...", false, false ),
new ExpectedSeparator(),
new ExpectedTextMenuItem("Enter &Maintenance Mode...", false, false ),
new ExpectedTextMenuItem("Remove Crash &Dump Files", false, false ),
new ExpectedTextMenuItem("Control &Domain Memory...", false, false ),
new ExpectedTextMenuItem("Remove Crash Dump &Files", false, false ),
new ExpectedTextMenuItem("Pass&word", false, false, new ExpectedMenuItem[]{
new ExpectedTextMenuItem("&Change...", false, false ),
new ExpectedTextMenuItem("&Forget Password", false, false )}),
@ -1130,7 +1139,8 @@ namespace XenAdminTests.TabsAndMenus
new ExpectedTextMenuItem("Restore From Back&up...", false, false ),
new ExpectedSeparator(),
new ExpectedTextMenuItem("Enter &Maintenance Mode...", false, false ),
new ExpectedTextMenuItem("Remove Crash &Dump Files", false, false ),
new ExpectedTextMenuItem("Control &Domain Memory...", false, false ),
new ExpectedTextMenuItem("Remove Crash Dump &Files", false, false ),
new ExpectedTextMenuItem("Pass&word", false, false, new ExpectedMenuItem[]{
new ExpectedTextMenuItem("&Change...", false, false ),
new ExpectedTextMenuItem("&Forget Password", false, false )}),
@ -1251,7 +1261,8 @@ namespace XenAdminTests.TabsAndMenus
new ExpectedTextMenuItem("Restore From Back&up...", false, false ),
new ExpectedSeparator(),
new ExpectedTextMenuItem("Enter &Maintenance Mode...", false, false ),
new ExpectedTextMenuItem("Remove Crash &Dump Files", false, false ),
new ExpectedTextMenuItem("Control &Domain Memory...", false, false ),
new ExpectedTextMenuItem("Remove Crash Dump &Files", false, false ),
new ExpectedTextMenuItem("Pass&word", false, false, new ExpectedMenuItem[]{
new ExpectedTextMenuItem("&Change...", false, false ),
new ExpectedTextMenuItem("&Forget Password", false, false )}),
@ -1367,7 +1378,8 @@ namespace XenAdminTests.TabsAndMenus
new ExpectedTextMenuItem("Restore From Back&up...", true, false ),
new ExpectedSeparator(),
new ExpectedTextMenuItem("Enter &Maintenance Mode...", true, false ),
new ExpectedTextMenuItem("Remove Crash &Dump Files", false, false ),
new ExpectedTextMenuItem("Control &Domain Memory...", false, false ),
new ExpectedTextMenuItem("Remove Crash Dump &Files", false, false ),
new ExpectedTextMenuItem("Pass&word", true, false, new ExpectedMenuItem[]{
new ExpectedTextMenuItem("&Change...", true, false ),
new ExpectedTextMenuItem("&Forget Password", false, false )}),
@ -1476,7 +1488,8 @@ namespace XenAdminTests.TabsAndMenus
new ExpectedTextMenuItem("Restore From Back&up...", true, false ),
new ExpectedSeparator(),
new ExpectedTextMenuItem("Enter &Maintenance Mode...", true, false ),
new ExpectedTextMenuItem("Remove Crash &Dump Files", false, false ),
new ExpectedTextMenuItem("Control &Domain Memory...", false, false ),
new ExpectedTextMenuItem("Remove Crash Dump &Files", false, false ),
new ExpectedTextMenuItem("Pass&word", true, false, new ExpectedMenuItem[]{
new ExpectedTextMenuItem("&Change...", true, false ),
new ExpectedTextMenuItem("&Forget Password", false, false )}),
@ -1587,7 +1600,8 @@ namespace XenAdminTests.TabsAndMenus
new ExpectedTextMenuItem("Restore From Back&up...", false, false ),
new ExpectedSeparator(),
new ExpectedTextMenuItem("Enter &Maintenance Mode...", true, false ),
new ExpectedTextMenuItem("Remove Crash &Dump Files", false, false ),
new ExpectedTextMenuItem("Control &Domain Memory...", false, false ),
new ExpectedTextMenuItem("Remove Crash Dump &Files", false, false ),
new ExpectedTextMenuItem("Pass&word", false, false, new ExpectedMenuItem[]{
new ExpectedTextMenuItem("&Change...", false, false ),
new ExpectedTextMenuItem("&Forget Password", false, false )}),
@ -1726,7 +1740,8 @@ namespace XenAdminTests.TabsAndMenus
new ExpectedTextMenuItem("Restore From Back&up...", false, false ),
new ExpectedSeparator(),
new ExpectedTextMenuItem("Enter &Maintenance Mode...", true, false ),
new ExpectedTextMenuItem("Remove Crash &Dump Files", false, false ),
new ExpectedTextMenuItem("Control &Domain Memory...", false, false ),
new ExpectedTextMenuItem("Remove Crash Dump &Files", false, false ),
new ExpectedTextMenuItem("Pass&word", false, false, new ExpectedMenuItem[]{
new ExpectedTextMenuItem("&Change...", false, false ),
new ExpectedTextMenuItem("&Forget Password", false, false )}),
@ -1851,7 +1866,8 @@ namespace XenAdminTests.TabsAndMenus
new ExpectedTextMenuItem("Restore From Back&up...", false, false ),
new ExpectedSeparator(),
new ExpectedTextMenuItem("Enter &Maintenance Mode...", false, false ),
new ExpectedTextMenuItem("Remove Crash &Dump Files", false, false ),
new ExpectedTextMenuItem("Control &Domain Memory...", false, false ),
new ExpectedTextMenuItem("Remove Crash Dump &Files", false, false ),
new ExpectedTextMenuItem("Pass&word", false, false, new ExpectedMenuItem[]{
new ExpectedTextMenuItem("&Change...", false, false ),
new ExpectedTextMenuItem("&Forget Password", false, false )}),

View File

@ -0,0 +1,65 @@
/* Copyright (c) Citrix Systems Inc.
* 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.
*
* 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 XenAPI;
using XenAdmin.Actions.VMActions;
namespace XenAdmin.Actions
{
public class ChangeControlDomainMemoryAction : AsyncAction
{
long memory;
public ChangeControlDomainMemoryAction(Host host, long memory, bool suppressHistory)
: base(host.Connection, string.Format(Messages.ACTION_CHANGE_CONTROL_DOMAIN_MEMORY, host.Name), suppressHistory)
{
Host = host;
this.memory = memory;
#region RBAC Dependencies
ApiMethodsToRoleCheck.Add("vm.set_memory");
#endregion
}
protected override void Run()
{
VM vm = Host.ControlDomainZero;
XenAPI.VM.set_memory(Session, vm.opaque_ref, memory);
Description = Messages.COMPLETED;
}
}
}

View File

@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
// Runtime Version:4.0.30319.34209
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@ -78,6 +78,15 @@ namespace XenAdmin {
}
}
/// <summary>
/// Looks up a localized string similar to Changing control domain memory settings on &apos;{0}&apos;.
/// </summary>
public static string ACTION_CHANGE_CONTROL_DOMAIN_MEMORY {
get {
return ResourceManager.GetString("ACTION_CHANGE_CONTROL_DOMAIN_MEMORY", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Change disk size.
/// </summary>
@ -6912,6 +6921,17 @@ namespace XenAdmin {
}
}
/// <summary>
/// Looks up a localized string similar to Changing the Control Domain memory will cause the server to be rebooted.
///
///Do you want to continue?.
/// </summary>
public static string CONFIRM_CHANGE_CONTROL_DOMAIN_MEMORY {
get {
return ResourceManager.GetString("CONFIRM_CHANGE_CONTROL_DOMAIN_MEMORY", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Changing the maximum memory of these VMs will cause them to be rebooted.
///
@ -8281,6 +8301,24 @@ namespace XenAdmin {
}
}
/// <summary>
/// Looks up a localized string similar to Control Domain Memory Settings - {0}.
/// </summary>
public static string CONTROL_DOMAIN_MEMORY_DIALOG_TITLE {
get {
return ResourceManager.GetString("CONTROL_DOMAIN_MEMORY_DIALOG_TITLE", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to &amp;Control Domain Memory:.
/// </summary>
public static string CONTROL_DOMAIN_MEMORY_LABEL {
get {
return ResourceManager.GetString("CONTROL_DOMAIN_MEMORY_LABEL", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to &amp;Convert.
/// </summary>
@ -17037,6 +17075,15 @@ namespace XenAdmin {
}
}
/// <summary>
/// Looks up a localized string similar to Control &amp;Domain Memory....
/// </summary>
public static string HOST_MENU_CONTROL_DOMAIN_MEMORY {
get {
return ResourceManager.GetString("HOST_MENU_CONTROL_DOMAIN_MEMORY", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to &amp;Migrate VM wizard....
/// </summary>
@ -20459,7 +20506,7 @@ namespace XenAdmin {
}
/// <summary>
/// Looks up a localized string similar to Remove Crash &amp;Dump Files.
/// Looks up a localized string similar to Remove Crash Dump &amp;Files.
/// </summary>
public static string MAINWINDOW_REMOVE_HOST_CRASHDUMPS {
get {
@ -27234,11 +27281,11 @@ namespace XenAdmin {
}
/// <summary>
/// Looks up a localized string similar to PVS Farms - &apos;{0}&apos;.
/// Looks up a localized string similar to PVS Sites - &apos;{0}&apos;.
/// </summary>
public static string PVS_FARM_DIALOG_TITLE {
public static string PVS_SITE_DIALOG_TITLE {
get {
return ResourceManager.GetString("PVS_FARM_DIALOG_TITLE", resourceCulture);
return ResourceManager.GetString("PVS_SITE_DIALOG_TITLE", resourceCulture);
}
}

View File

@ -9429,8 +9429,8 @@ VM が再起動したら、[[XenServer product] Tools のインストール] を
<data name="PROXY_SERVERS_NOT_SUPPORTED" xml:space="preserve">
<value>プロキシ サーバーはサポートされません。</value>
</data>
<data name="PVS_FARM_DIALOG_TITLE" xml:space="preserve">
<value>PVS Farms - '{0}'</value>
<data name="PVS_SITE_DIALOG_TITLE" xml:space="preserve">
<value>PVS Sites - '{0}'</value>
</data>
<data name="PV_DRIVERS_NOT_INSTALLED" xml:space="preserve">
<value>[XenServer product] Tools 未インストール</value>

View File

@ -126,6 +126,9 @@
<data name="ACTION_CHANGED_DISK_SIZE_FOR" xml:space="preserve">
<value>Disk size changed for '{0}'.</value>
</data>
<data name="ACTION_CHANGE_CONTROL_DOMAIN_MEMORY" xml:space="preserve">
<value>Changing control domain memory settings on '{0}'</value>
</data>
<data name="ACTION_CHANGE_DISK_SIZE" xml:space="preserve">
<value>Change disk size</value>
</data>
@ -2511,6 +2514,11 @@ Do you want to assign it to the policy '{2}' instead?</value>
<data name="CONFIGURING_WLB_ON" xml:space="preserve">
<value>Configuring Workload Balancing on pool '{0}'</value>
</data>
<data name="CONFIRM_CHANGE_CONTROL_DOMAIN_MEMORY" xml:space="preserve">
<value>Changing the Control Domain memory will cause the server to be rebooted.
Do you want to continue?</value>
</data>
<data name="CONFIRM_CHANGE_MEMORY_MAX_PLURAL" xml:space="preserve">
<value>Changing the maximum memory of these VMs will cause them to be rebooted.
@ -3009,6 +3017,12 @@ You can only connect to a single [Citrix] [XenServer product] Express Edition se
<data name="CONTINUE_WITH_EXPORT" xml:space="preserve">
<value>&amp;Continue with export</value>
</data>
<data name="CONTROL_DOMAIN_MEMORY_DIALOG_TITLE" xml:space="preserve">
<value>Control Domain Memory Settings - {0}</value>
</data>
<data name="CONTROL_DOMAIN_MEMORY_LABEL" xml:space="preserve">
<value>&amp;Control Domain Memory:</value>
</data>
<data name="CONTROL_DOM_ON_HOST" xml:space="preserve">
<value>Control domain on host {0}</value>
</data>
@ -6003,6 +6017,9 @@ Click Configure HA to alter the settings displayed below.</value>
<data name="HOST_MENU_COMPLETE_FAILURE" xml:space="preserve">
<value>(Error generating menu)</value>
</data>
<data name="HOST_MENU_CONTROL_DOMAIN_MEMORY" xml:space="preserve">
<value>Control &amp;Domain Memory...</value>
</data>
<data name="HOST_MENU_CPM_TEXT" xml:space="preserve">
<value>&amp;Migrate VM wizard...</value>
</data>
@ -7134,7 +7151,7 @@ This will permanently delete and reinitialize all local storage on the servers.
<value>Remo&amp;ve from [XenCenter]</value>
</data>
<data name="MAINWINDOW_REMOVE_HOST_CRASHDUMPS" xml:space="preserve">
<value>Remove Crash &amp;Dump Files</value>
<value>Remove Crash Dump &amp;Files</value>
</data>
<data name="MAINWINDOW_REMOVE_HOST_CRASHDUMPS_CONTEXT_MENU" xml:space="preserve">
<value>Remove Crash Dump &amp;Files</value>
@ -9477,8 +9494,8 @@ Press OK to continue the wizard and return to the server and follow the instruct
<data name="PVS_CACHE_MEMORY_ONLY" xml:space="preserve">
<value>Memory only</value>
</data>
<data name="PVS_FARM_DIALOG_TITLE" xml:space="preserve">
<value>PVS Farms - '{0}'</value>
<data name="PVS_SITE_DIALOG_TITLE" xml:space="preserve">
<value>PVS Sites - '{0}'</value>
</data>
<data name="PVS_TAB_TITLE" xml:space="preserve">
<value>PVS Read Cache</value>

View File

@ -9428,8 +9428,8 @@ VM 克隆使用文件管理器的快照和克隆功能来实现高性能,并
<data name="PROXY_SERVERS_NOT_SUPPORTED" xml:space="preserve">
<value>不支持代理服务器。</value>
</data>
<data name="PVS_FARM_DIALOG_TITLE" xml:space="preserve">
<value>PVS Farms - '{0}'</value>
<data name="PVS_SITE_DIALOG_TITLE" xml:space="preserve">
<value>PVS Sites - '{0}'</value>
</data>
<data name="PV_DRIVERS_NOT_INSTALLED" xml:space="preserve">
<value>未安装 [XenServer product] Tools</value>

View File

@ -67,9 +67,10 @@ namespace XenAdmin.Network
private readonly ChangeableDictionary<XenRef<PIF_metrics>, PIF_metrics> _pif_metrics = new ChangeableDictionary<XenRef<PIF_metrics>, PIF_metrics>();
private readonly ChangeableDictionary<XenRef<Pool>, Pool> _pool = new ChangeableDictionary<XenRef<Pool>, Pool>();
private readonly ChangeableDictionary<XenRef<Pool_patch>, Pool_patch> _pool_patch = new ChangeableDictionary<XenRef<Pool_patch>, Pool_patch>();
private readonly ChangeableDictionary<XenRef<PVS_farm>, PVS_farm> _pvs_farm = new ChangeableDictionary<XenRef<PVS_farm>, PVS_farm>();
private readonly ChangeableDictionary<XenRef<PVS_server>, PVS_server> _pvs_server = new ChangeableDictionary<XenRef<PVS_server>, PVS_server>();
private readonly ChangeableDictionary<XenRef<PVS_cache_storage>, PVS_cache_storage> _pvs_cache_storage = new ChangeableDictionary<XenRef<PVS_cache_storage>, PVS_cache_storage>();
private readonly ChangeableDictionary<XenRef<PVS_proxy>, PVS_proxy> _pvs_proxy = new ChangeableDictionary<XenRef<PVS_proxy>, PVS_proxy>();
private readonly ChangeableDictionary<XenRef<PVS_server>, PVS_server> _pvs_server = new ChangeableDictionary<XenRef<PVS_server>, PVS_server>();
private readonly ChangeableDictionary<XenRef<PVS_site>, PVS_site> _pvs_site = new ChangeableDictionary<XenRef<PVS_site>, PVS_site>();
private readonly ChangeableDictionary<XenRef<Role>, Role> _role = new ChangeableDictionary<XenRef<Role>, Role>();
private readonly ChangeableDictionary<XenRef<SM>, SM> _sm = new ChangeableDictionary<XenRef<SM>, SM>();
private readonly ChangeableDictionary<XenRef<SR>, SR> _sr = new ChangeableDictionary<XenRef<SR>, SR>();
@ -193,9 +194,9 @@ namespace XenAdmin.Network
get { return contents(_pool_patch); }
}
public PVS_farm[] PVS_farms
public PVS_site[] PVS_sites
{
get { return contents(_pvs_farm); }
get { return contents(_pvs_site); }
}
public PVS_server[] PVS_servers

View File

@ -82,7 +82,7 @@ namespace XenAdmin.Network
VM[] VMs { get; }
IEnumerable<IXenObject> XenSearchableObjects { get; }
DockerContainer[] DockerContainers { get; }
PVS_farm[] PVS_farms { get; }
PVS_site[] PVS_sites { get; }
PVS_server[] PVS_servers { get; }
PVS_proxy[] PVS_proxies { get; }
void UpdateDockerContainersForVM(IList<DockerContainer> d, VM v);

View File

@ -402,6 +402,25 @@ namespace XenAdmin.Core
HostBuildNumber(host) == CUSTOM_BUILD_NUMBER;
}
/// <param name="conn">May be null, in which case true is returned.</param>
public static bool ElyOrGreater(IXenConnection conn)
{
return conn == null ? true : ElyOrGreater(Helpers.GetMaster(conn));
}
/// Ely is ver. 2.1.1
/// <param name="host">May be null, in which case true is returned.</param>
public static bool ElyOrGreater(Host host)
{
if (host == null)
return true;
string platform_version = HostPlatformVersion(host);
return
platform_version != null && productVersionCompare(platform_version, "2.1.1") >= 0 ||
HostBuildNumber(host) == CUSTOM_BUILD_NUMBER;
}
/// <summary>
/// Cream (Creedence SP1) has API version 2.4
/// </summary>

View File

@ -1249,6 +1249,22 @@ namespace XenAPI
}
}
public long dom0_memory
{
get
{
long dom0_mem = 0;
VM vm = ControlDomainZero;
if (vm != null)
{
VM_metrics vmMetrics = vm.Connection.Resolve(vm.metrics);
dom0_mem = vmMetrics != null ? vmMetrics.memory_actual : vm.memory_dynamic_min;
}
return dom0_mem;
}
}
/// <summary>
/// Friendly string showing memory usage on the host
/// </summary>

View File

@ -1,40 +1,40 @@
/*
* Copyright (c) Citrix Systems, Inc.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1) Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2) 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.
*
* 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.
*/
namespace XenAPI
{
public partial class PVS_farm : XenObject<PVS_farm>
{
/*
* Copyright (c) Citrix Systems, Inc.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1) Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2) 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.
*
* 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.
*/
namespace XenAPI
{
public partial class PVS_site : XenObject<PVS_site>
{
public override string Name
{
get { return name; }
}
}
}
}
}
}

View File

@ -861,17 +861,17 @@
<data name="PROVISION_ONLY_ALLOWED_ON_TEMPLATE" xml:space="preserve">
<value>The provision call can only be invoked on templates, not regular VMs.</value>
</data>
<data name="PVS_FARM_CONTAINS_RUNNING_PROXIES" xml:space="preserve">
<value>The PVS farm contains running proxies.</value>
<data name="PVS_SITE_CONTAINS_RUNNING_PROXIES" xml:space="preserve">
<value>The PVS site contains running proxies.</value>
</data>
<data name="PVS_FARM_CONTAINS_SERVERS" xml:space="preserve">
<value>The PVS farm contains servers and cannot be forgotten.</value>
<data name="PVS_SITE_CONTAINS_SERVERS" xml:space="preserve">
<value>The PVS site contains servers and cannot be forgotten.</value>
</data>
<data name="PVS_FARM_SR_ALREADY_ADDED" xml:space="preserve">
<value>Trying to add a cache SR that is already associated with the farm</value>
<data name="PVS_SITE_SR_ALREADY_ADDED" xml:space="preserve">
<value>Trying to add a cache SR that is already associated with the site</value>
</data>
<data name="PVS_FARM_SR_IS_IN_USE" xml:space="preserve">
<value>The SR is in use by the farm and cannot be removed.</value>
<data name="PVS_SITE_SR_IS_IN_USE" xml:space="preserve">
<value>The SR is in use by the site and cannot be removed.</value>
</data>
<data name="RBAC_PERMISSION_DENIED" xml:space="preserve">
<value>Your current role is not authorized to perform this action.
@ -1526,8 +1526,8 @@ Authorized Roles: {1}</value>
<data name="SR_NOT_EMPTY" xml:space="preserve">
<value>The SR operation cannot be performed because the SR is not empty.</value>
</data>
<data name="SR_NOT_IN_PVS_FARM" xml:space="preserve">
<value>The SR is not associated with the farm.</value>
<data name="SR_NOT_IN_PVS_SITE" xml:space="preserve">
<value>The SR is not associated with the site.</value>
</data>
<data name="SR_NOT_SHARABLE" xml:space="preserve">
<value>SR is not sharable</value>
@ -1697,6 +1697,9 @@ Authorized Roles: {1}</value>
<data name="VIF_NOT_IN_MAP" xml:space="preserve">
<value>This VIF was not mapped to a destination network</value>
</data>
<data name="VLAN_IN_USE" xml:space="preserve">
<value>Operation cannot be performed because this VLAN is already in use. Please check your network configuration.</value>
</data>
<data name="VLAN_TAG_INVALID" xml:space="preserve">
<value>You tried to create a VLAN, but the tag you gave ({0}) was invalid -- it must be between 0 and 4094.</value>
</data>
@ -1772,6 +1775,9 @@ Authorized Roles: {1}</value>
<data name="VM_INCOMPATIBLE_WITH_THIS_HOST" xml:space="preserve">
<value>The host does not have some of the CPU features that the VM is currently using</value>
</data>
<data name="VM_IS_IMMOBILE" xml:space="preserve">
<value>The VM is configured in a way that prevents it from being mobile.</value>
</data>
<data name="VM_IS_PART_OF_AN_APPLIANCE" xml:space="preserve">
<value>The VM cannot be recovered on its own as it is part of a VM appliance.</value>
</data>

View File

@ -0,0 +1,319 @@
/*
* Copyright (c) Citrix Systems, Inc.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1) Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2) 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.
*
* 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;
using System.Collections.Generic;
using CookComputing.XmlRpc;
namespace XenAPI
{
/// <summary>
/// Describes the storage that is available to a PVS site for caching purposes
/// </summary>
public partial class PVS_cache_storage : XenObject<PVS_cache_storage>
{
public PVS_cache_storage()
{
}
public PVS_cache_storage(string uuid,
XenRef<PVS_site> site,
XenRef<SR> SR,
long size)
{
this.uuid = uuid;
this.site = site;
this.SR = SR;
this.size = size;
}
/// <summary>
/// Creates a new PVS_cache_storage from a Proxy_PVS_cache_storage.
/// </summary>
/// <param name="proxy"></param>
public PVS_cache_storage(Proxy_PVS_cache_storage proxy)
{
this.UpdateFromProxy(proxy);
}
public override void UpdateFrom(PVS_cache_storage update)
{
uuid = update.uuid;
site = update.site;
SR = update.SR;
size = update.size;
}
internal void UpdateFromProxy(Proxy_PVS_cache_storage proxy)
{
uuid = proxy.uuid == null ? null : (string)proxy.uuid;
site = proxy.site == null ? null : XenRef<PVS_site>.Create(proxy.site);
SR = proxy.SR == null ? null : XenRef<SR>.Create(proxy.SR);
size = proxy.size == null ? 0 : long.Parse((string)proxy.size);
}
public Proxy_PVS_cache_storage ToProxy()
{
Proxy_PVS_cache_storage result_ = new Proxy_PVS_cache_storage();
result_.uuid = (uuid != null) ? uuid : "";
result_.site = (site != null) ? site : "";
result_.SR = (SR != null) ? SR : "";
result_.size = size.ToString();
return result_;
}
/// <summary>
/// Creates a new PVS_cache_storage from a Hashtable.
/// </summary>
/// <param name="table"></param>
public PVS_cache_storage(Hashtable table)
{
uuid = Marshalling.ParseString(table, "uuid");
site = Marshalling.ParseRef<PVS_site>(table, "site");
SR = Marshalling.ParseRef<SR>(table, "SR");
size = Marshalling.ParseLong(table, "size");
}
public bool DeepEquals(PVS_cache_storage other)
{
if (ReferenceEquals(null, other))
return false;
if (ReferenceEquals(this, other))
return true;
return Helper.AreEqual2(this._uuid, other._uuid) &&
Helper.AreEqual2(this._site, other._site) &&
Helper.AreEqual2(this._SR, other._SR) &&
Helper.AreEqual2(this._size, other._size);
}
public override string SaveChanges(Session session, string opaqueRef, PVS_cache_storage server)
{
if (opaqueRef == null)
{
Proxy_PVS_cache_storage p = this.ToProxy();
return session.proxy.pvs_cache_storage_create(session.uuid, p).parse();
}
else
{
throw new InvalidOperationException("This type has no read/write properties");
}
}
/// <summary>
/// Get a record containing the current state of the given PVS_cache_storage.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_cache_storage">The opaque_ref of the given pvs_cache_storage</param>
public static PVS_cache_storage get_record(Session session, string _pvs_cache_storage)
{
return new PVS_cache_storage((Proxy_PVS_cache_storage)session.proxy.pvs_cache_storage_get_record(session.uuid, (_pvs_cache_storage != null) ? _pvs_cache_storage : "").parse());
}
/// <summary>
/// Get a reference to the PVS_cache_storage instance with the specified UUID.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_uuid">UUID of object to return</param>
public static XenRef<PVS_cache_storage> get_by_uuid(Session session, string _uuid)
{
return XenRef<PVS_cache_storage>.Create(session.proxy.pvs_cache_storage_get_by_uuid(session.uuid, (_uuid != null) ? _uuid : "").parse());
}
/// <summary>
/// Create a new PVS_cache_storage instance, and return its handle.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_record">All constructor arguments</param>
public static XenRef<PVS_cache_storage> create(Session session, PVS_cache_storage _record)
{
return XenRef<PVS_cache_storage>.Create(session.proxy.pvs_cache_storage_create(session.uuid, _record.ToProxy()).parse());
}
/// <summary>
/// Create a new PVS_cache_storage instance, and return its handle.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_record">All constructor arguments</param>
public static XenRef<Task> async_create(Session session, PVS_cache_storage _record)
{
return XenRef<Task>.Create(session.proxy.async_pvs_cache_storage_create(session.uuid, _record.ToProxy()).parse());
}
/// <summary>
/// Destroy the specified PVS_cache_storage instance.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_cache_storage">The opaque_ref of the given pvs_cache_storage</param>
public static void destroy(Session session, string _pvs_cache_storage)
{
session.proxy.pvs_cache_storage_destroy(session.uuid, (_pvs_cache_storage != null) ? _pvs_cache_storage : "").parse();
}
/// <summary>
/// Destroy the specified PVS_cache_storage instance.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_cache_storage">The opaque_ref of the given pvs_cache_storage</param>
public static XenRef<Task> async_destroy(Session session, string _pvs_cache_storage)
{
return XenRef<Task>.Create(session.proxy.async_pvs_cache_storage_destroy(session.uuid, (_pvs_cache_storage != null) ? _pvs_cache_storage : "").parse());
}
/// <summary>
/// Get the uuid field of the given PVS_cache_storage.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_cache_storage">The opaque_ref of the given pvs_cache_storage</param>
public static string get_uuid(Session session, string _pvs_cache_storage)
{
return (string)session.proxy.pvs_cache_storage_get_uuid(session.uuid, (_pvs_cache_storage != null) ? _pvs_cache_storage : "").parse();
}
/// <summary>
/// Get the site field of the given PVS_cache_storage.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_cache_storage">The opaque_ref of the given pvs_cache_storage</param>
public static XenRef<PVS_site> get_site(Session session, string _pvs_cache_storage)
{
return XenRef<PVS_site>.Create(session.proxy.pvs_cache_storage_get_site(session.uuid, (_pvs_cache_storage != null) ? _pvs_cache_storage : "").parse());
}
/// <summary>
/// Get the SR field of the given PVS_cache_storage.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_cache_storage">The opaque_ref of the given pvs_cache_storage</param>
public static XenRef<SR> get_SR(Session session, string _pvs_cache_storage)
{
return XenRef<SR>.Create(session.proxy.pvs_cache_storage_get_sr(session.uuid, (_pvs_cache_storage != null) ? _pvs_cache_storage : "").parse());
}
/// <summary>
/// Get the size field of the given PVS_cache_storage.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_cache_storage">The opaque_ref of the given pvs_cache_storage</param>
public static long get_size(Session session, string _pvs_cache_storage)
{
return long.Parse((string)session.proxy.pvs_cache_storage_get_size(session.uuid, (_pvs_cache_storage != null) ? _pvs_cache_storage : "").parse());
}
/// <summary>
/// Unique identifier/object reference
/// Experimental. First published in .
/// </summary>
public virtual string uuid
{
get { return _uuid; }
set
{
if (!Helper.AreEqual(value, _uuid))
{
_uuid = value;
Changed = true;
NotifyPropertyChanged("uuid");
}
}
}
private string _uuid;
/// <summary>
/// PVS site this proxy is part of
/// Experimental. First published in .
/// </summary>
public virtual XenRef<PVS_site> site
{
get { return _site; }
set
{
if (!Helper.AreEqual(value, _site))
{
_site = value;
Changed = true;
NotifyPropertyChanged("site");
}
}
}
private XenRef<PVS_site> _site;
/// <summary>
/// SR providing storage for the PVS cache
/// Experimental. First published in .
/// </summary>
public virtual XenRef<SR> SR
{
get { return _SR; }
set
{
if (!Helper.AreEqual(value, _SR))
{
_SR = value;
Changed = true;
NotifyPropertyChanged("SR");
}
}
}
private XenRef<SR> _SR;
/// <summary>
/// The size of the cache VDI (in bytes)
/// Experimental. First published in .
/// </summary>
public virtual long size
{
get { return _size; }
set
{
if (!Helper.AreEqual(value, _size))
{
_size = value;
Changed = true;
NotifyPropertyChanged("size");
}
}
}
private long _size;
}
}

View File

@ -1,445 +1,445 @@
/*
* Copyright (c) Citrix Systems, Inc.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1) Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2) 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.
*
* 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;
using System.Collections.Generic;
using CookComputing.XmlRpc;
namespace XenAPI
{
/// <summary>
/// a proxy connects a VM/VIF with a PVS farm
/// </summary>
public partial class PVS_proxy : XenObject<PVS_proxy>
{
public PVS_proxy()
{
}
public PVS_proxy(string uuid,
XenRef<PVS_farm> farm,
XenRef<VIF> VIF,
bool prepopulate,
bool currently_attached,
XenRef<SR> cache_SR)
{
this.uuid = uuid;
this.farm = farm;
this.VIF = VIF;
this.prepopulate = prepopulate;
this.currently_attached = currently_attached;
this.cache_SR = cache_SR;
}
/// <summary>
/// Creates a new PVS_proxy from a Proxy_PVS_proxy.
/// </summary>
/// <param name="proxy"></param>
public PVS_proxy(Proxy_PVS_proxy proxy)
{
this.UpdateFromProxy(proxy);
}
public override void UpdateFrom(PVS_proxy update)
{
uuid = update.uuid;
farm = update.farm;
VIF = update.VIF;
prepopulate = update.prepopulate;
currently_attached = update.currently_attached;
cache_SR = update.cache_SR;
}
internal void UpdateFromProxy(Proxy_PVS_proxy proxy)
{
uuid = proxy.uuid == null ? null : (string)proxy.uuid;
farm = proxy.farm == null ? null : XenRef<PVS_farm>.Create(proxy.farm);
VIF = proxy.VIF == null ? null : XenRef<VIF>.Create(proxy.VIF);
prepopulate = (bool)proxy.prepopulate;
currently_attached = (bool)proxy.currently_attached;
cache_SR = proxy.cache_SR == null ? null : XenRef<SR>.Create(proxy.cache_SR);
}
public Proxy_PVS_proxy ToProxy()
{
Proxy_PVS_proxy result_ = new Proxy_PVS_proxy();
result_.uuid = (uuid != null) ? uuid : "";
result_.farm = (farm != null) ? farm : "";
result_.VIF = (VIF != null) ? VIF : "";
result_.prepopulate = prepopulate;
result_.currently_attached = currently_attached;
result_.cache_SR = (cache_SR != null) ? cache_SR : "";
return result_;
}
/// <summary>
/// Creates a new PVS_proxy from a Hashtable.
/// </summary>
/// <param name="table"></param>
public PVS_proxy(Hashtable table)
{
uuid = Marshalling.ParseString(table, "uuid");
farm = Marshalling.ParseRef<PVS_farm>(table, "farm");
VIF = Marshalling.ParseRef<VIF>(table, "VIF");
prepopulate = Marshalling.ParseBool(table, "prepopulate");
currently_attached = Marshalling.ParseBool(table, "currently_attached");
cache_SR = Marshalling.ParseRef<SR>(table, "cache_SR");
}
public bool DeepEquals(PVS_proxy other)
{
if (ReferenceEquals(null, other))
return false;
if (ReferenceEquals(this, other))
return true;
return Helper.AreEqual2(this._uuid, other._uuid) &&
Helper.AreEqual2(this._farm, other._farm) &&
Helper.AreEqual2(this._VIF, other._VIF) &&
Helper.AreEqual2(this._prepopulate, other._prepopulate) &&
Helper.AreEqual2(this._currently_attached, other._currently_attached) &&
Helper.AreEqual2(this._cache_SR, other._cache_SR);
}
public override string SaveChanges(Session session, string opaqueRef, PVS_proxy server)
{
if (opaqueRef == null)
{
System.Diagnostics.Debug.Assert(false, "Cannot create instances of this type on the server");
return "";
}
else
{
if (!Helper.AreEqual2(_prepopulate, server._prepopulate))
{
PVS_proxy.set_prepopulate(session, opaqueRef, _prepopulate);
}
return null;
}
}
/// <summary>
/// Get a record containing the current state of the given PVS_proxy.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param>
public static PVS_proxy get_record(Session session, string _pvs_proxy)
{
return new PVS_proxy((Proxy_PVS_proxy)session.proxy.pvs_proxy_get_record(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "").parse());
}
/// <summary>
/// Get a reference to the PVS_proxy instance with the specified UUID.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_uuid">UUID of object to return</param>
public static XenRef<PVS_proxy> get_by_uuid(Session session, string _uuid)
{
return XenRef<PVS_proxy>.Create(session.proxy.pvs_proxy_get_by_uuid(session.uuid, (_uuid != null) ? _uuid : "").parse());
}
/// <summary>
/// Get the uuid field of the given PVS_proxy.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param>
public static string get_uuid(Session session, string _pvs_proxy)
{
return (string)session.proxy.pvs_proxy_get_uuid(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "").parse();
}
/// <summary>
/// Get the farm field of the given PVS_proxy.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param>
public static XenRef<PVS_farm> get_farm(Session session, string _pvs_proxy)
{
return XenRef<PVS_farm>.Create(session.proxy.pvs_proxy_get_farm(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "").parse());
}
/// <summary>
/// Get the VIF field of the given PVS_proxy.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param>
public static XenRef<VIF> get_VIF(Session session, string _pvs_proxy)
{
return XenRef<VIF>.Create(session.proxy.pvs_proxy_get_vif(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "").parse());
}
/// <summary>
/// Get the prepopulate field of the given PVS_proxy.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param>
public static bool get_prepopulate(Session session, string _pvs_proxy)
{
return (bool)session.proxy.pvs_proxy_get_prepopulate(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "").parse();
}
/// <summary>
/// Get the currently_attached field of the given PVS_proxy.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param>
public static bool get_currently_attached(Session session, string _pvs_proxy)
{
return (bool)session.proxy.pvs_proxy_get_currently_attached(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "").parse();
}
/// <summary>
/// Get the cache_SR field of the given PVS_proxy.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param>
public static XenRef<SR> get_cache_SR(Session session, string _pvs_proxy)
{
return XenRef<SR>.Create(session.proxy.pvs_proxy_get_cache_sr(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "").parse());
}
/// <summary>
/// Configure a VM/VIF to use a PVS proxy
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_farm">PVS farm that we proxy for</param>
/// <param name="_vif">VIF for the VM that needs to be proxied</param>
/// <param name="_prepopulate">if true, prefetch whole disk for VM</param>
public static XenRef<PVS_proxy> create(Session session, string _farm, string _vif, bool _prepopulate)
{
return XenRef<PVS_proxy>.Create(session.proxy.pvs_proxy_create(session.uuid, (_farm != null) ? _farm : "", (_vif != null) ? _vif : "", _prepopulate).parse());
}
/// <summary>
/// Configure a VM/VIF to use a PVS proxy
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_farm">PVS farm that we proxy for</param>
/// <param name="_vif">VIF for the VM that needs to be proxied</param>
/// <param name="_prepopulate">if true, prefetch whole disk for VM</param>
public static XenRef<Task> async_create(Session session, string _farm, string _vif, bool _prepopulate)
{
return XenRef<Task>.Create(session.proxy.async_pvs_proxy_create(session.uuid, (_farm != null) ? _farm : "", (_vif != null) ? _vif : "", _prepopulate).parse());
}
/// <summary>
/// remove (or switch off) a PVS proxy for this VM
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param>
public static void destroy(Session session, string _pvs_proxy)
{
session.proxy.pvs_proxy_destroy(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "").parse();
}
/// <summary>
/// remove (or switch off) a PVS proxy for this VM
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param>
public static XenRef<Task> async_destroy(Session session, string _pvs_proxy)
{
return XenRef<Task>.Create(session.proxy.async_pvs_proxy_destroy(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "").parse());
}
/// <summary>
/// change the value of the prepopulate field
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param>
/// <param name="_value">set to this value</param>
public static void set_prepopulate(Session session, string _pvs_proxy, bool _value)
{
session.proxy.pvs_proxy_set_prepopulate(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "", _value).parse();
}
/// <summary>
/// change the value of the prepopulate field
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param>
/// <param name="_value">set to this value</param>
public static XenRef<Task> async_set_prepopulate(Session session, string _pvs_proxy, bool _value)
{
return XenRef<Task>.Create(session.proxy.async_pvs_proxy_set_prepopulate(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "", _value).parse());
}
/// <summary>
/// Return a list of all the PVS_proxys known to the system.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
public static List<XenRef<PVS_proxy>> get_all(Session session)
{
return XenRef<PVS_proxy>.Create(session.proxy.pvs_proxy_get_all(session.uuid).parse());
}
/// <summary>
/// Get all the PVS_proxy Records at once, in a single XML RPC call
/// </summary>
/// <param name="session">The session</param>
public static Dictionary<XenRef<PVS_proxy>, PVS_proxy> get_all_records(Session session)
{
return XenRef<PVS_proxy>.Create<Proxy_PVS_proxy>(session.proxy.pvs_proxy_get_all_records(session.uuid).parse());
}
/// <summary>
/// Unique identifier/object reference
/// Experimental. First published in .
/// </summary>
public virtual string uuid
{
get { return _uuid; }
set
{
if (!Helper.AreEqual(value, _uuid))
{
_uuid = value;
Changed = true;
NotifyPropertyChanged("uuid");
}
}
}
private string _uuid;
/// <summary>
/// PVS farm this proxy is part of
/// Experimental. First published in .
/// </summary>
public virtual XenRef<PVS_farm> farm
{
get { return _farm; }
set
{
if (!Helper.AreEqual(value, _farm))
{
_farm = value;
Changed = true;
NotifyPropertyChanged("farm");
}
}
}
private XenRef<PVS_farm> _farm;
/// <summary>
/// VIF of the VM using the proxy
/// Experimental. First published in .
/// </summary>
public virtual XenRef<VIF> VIF
{
get { return _VIF; }
set
{
if (!Helper.AreEqual(value, _VIF))
{
_VIF = value;
Changed = true;
NotifyPropertyChanged("VIF");
}
}
}
private XenRef<VIF> _VIF;
/// <summary>
/// true = proxy prefetches whole disk for the VM
/// Experimental. First published in .
/// </summary>
public virtual bool prepopulate
{
get { return _prepopulate; }
set
{
if (!Helper.AreEqual(value, _prepopulate))
{
_prepopulate = value;
Changed = true;
NotifyPropertyChanged("prepopulate");
}
}
}
private bool _prepopulate;
/// <summary>
/// true = VM is currently proxied
/// Experimental. First published in .
/// </summary>
public virtual bool currently_attached
{
get { return _currently_attached; }
set
{
if (!Helper.AreEqual(value, _currently_attached))
{
_currently_attached = value;
Changed = true;
NotifyPropertyChanged("currently_attached");
}
}
}
private bool _currently_attached;
/// <summary>
/// SR used by this proxy
/// Experimental. First published in .
/// </summary>
public virtual XenRef<SR> cache_SR
{
get { return _cache_SR; }
set
{
if (!Helper.AreEqual(value, _cache_SR))
{
_cache_SR = value;
Changed = true;
NotifyPropertyChanged("cache_SR");
}
}
}
private XenRef<SR> _cache_SR;
}
}
/*
* Copyright (c) Citrix Systems, Inc.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1) Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2) 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.
*
* 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;
using System.Collections.Generic;
using CookComputing.XmlRpc;
namespace XenAPI
{
/// <summary>
/// a proxy connects a VM/VIF with a PVS site
/// </summary>
public partial class PVS_proxy : XenObject<PVS_proxy>
{
public PVS_proxy()
{
}
public PVS_proxy(string uuid,
XenRef<PVS_site> site,
XenRef<VIF> VIF,
bool prepopulate,
bool currently_attached,
XenRef<SR> cache_SR)
{
this.uuid = uuid;
this.site = site;
this.VIF = VIF;
this.prepopulate = prepopulate;
this.currently_attached = currently_attached;
this.cache_SR = cache_SR;
}
/// <summary>
/// Creates a new PVS_proxy from a Proxy_PVS_proxy.
/// </summary>
/// <param name="proxy"></param>
public PVS_proxy(Proxy_PVS_proxy proxy)
{
this.UpdateFromProxy(proxy);
}
public override void UpdateFrom(PVS_proxy update)
{
uuid = update.uuid;
site = update.site;
VIF = update.VIF;
prepopulate = update.prepopulate;
currently_attached = update.currently_attached;
cache_SR = update.cache_SR;
}
internal void UpdateFromProxy(Proxy_PVS_proxy proxy)
{
uuid = proxy.uuid == null ? null : (string)proxy.uuid;
site = proxy.site == null ? null : XenRef<PVS_site>.Create(proxy.site);
VIF = proxy.VIF == null ? null : XenRef<VIF>.Create(proxy.VIF);
prepopulate = (bool)proxy.prepopulate;
currently_attached = (bool)proxy.currently_attached;
cache_SR = proxy.cache_SR == null ? null : XenRef<SR>.Create(proxy.cache_SR);
}
public Proxy_PVS_proxy ToProxy()
{
Proxy_PVS_proxy result_ = new Proxy_PVS_proxy();
result_.uuid = (uuid != null) ? uuid : "";
result_.site = (site != null) ? site : "";
result_.VIF = (VIF != null) ? VIF : "";
result_.prepopulate = prepopulate;
result_.currently_attached = currently_attached;
result_.cache_SR = (cache_SR != null) ? cache_SR : "";
return result_;
}
/// <summary>
/// Creates a new PVS_proxy from a Hashtable.
/// </summary>
/// <param name="table"></param>
public PVS_proxy(Hashtable table)
{
uuid = Marshalling.ParseString(table, "uuid");
site = Marshalling.ParseRef<PVS_site>(table, "site");
VIF = Marshalling.ParseRef<VIF>(table, "VIF");
prepopulate = Marshalling.ParseBool(table, "prepopulate");
currently_attached = Marshalling.ParseBool(table, "currently_attached");
cache_SR = Marshalling.ParseRef<SR>(table, "cache_SR");
}
public bool DeepEquals(PVS_proxy other)
{
if (ReferenceEquals(null, other))
return false;
if (ReferenceEquals(this, other))
return true;
return Helper.AreEqual2(this._uuid, other._uuid) &&
Helper.AreEqual2(this._site, other._site) &&
Helper.AreEqual2(this._VIF, other._VIF) &&
Helper.AreEqual2(this._prepopulate, other._prepopulate) &&
Helper.AreEqual2(this._currently_attached, other._currently_attached) &&
Helper.AreEqual2(this._cache_SR, other._cache_SR);
}
public override string SaveChanges(Session session, string opaqueRef, PVS_proxy server)
{
if (opaqueRef == null)
{
System.Diagnostics.Debug.Assert(false, "Cannot create instances of this type on the server");
return "";
}
else
{
if (!Helper.AreEqual2(_prepopulate, server._prepopulate))
{
PVS_proxy.set_prepopulate(session, opaqueRef, _prepopulate);
}
return null;
}
}
/// <summary>
/// Get a record containing the current state of the given PVS_proxy.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param>
public static PVS_proxy get_record(Session session, string _pvs_proxy)
{
return new PVS_proxy((Proxy_PVS_proxy)session.proxy.pvs_proxy_get_record(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "").parse());
}
/// <summary>
/// Get a reference to the PVS_proxy instance with the specified UUID.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_uuid">UUID of object to return</param>
public static XenRef<PVS_proxy> get_by_uuid(Session session, string _uuid)
{
return XenRef<PVS_proxy>.Create(session.proxy.pvs_proxy_get_by_uuid(session.uuid, (_uuid != null) ? _uuid : "").parse());
}
/// <summary>
/// Get the uuid field of the given PVS_proxy.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param>
public static string get_uuid(Session session, string _pvs_proxy)
{
return (string)session.proxy.pvs_proxy_get_uuid(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "").parse();
}
/// <summary>
/// Get the site field of the given PVS_proxy.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param>
public static XenRef<PVS_site> get_site(Session session, string _pvs_proxy)
{
return XenRef<PVS_site>.Create(session.proxy.pvs_proxy_get_site(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "").parse());
}
/// <summary>
/// Get the VIF field of the given PVS_proxy.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param>
public static XenRef<VIF> get_VIF(Session session, string _pvs_proxy)
{
return XenRef<VIF>.Create(session.proxy.pvs_proxy_get_vif(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "").parse());
}
/// <summary>
/// Get the prepopulate field of the given PVS_proxy.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param>
public static bool get_prepopulate(Session session, string _pvs_proxy)
{
return (bool)session.proxy.pvs_proxy_get_prepopulate(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "").parse();
}
/// <summary>
/// Get the currently_attached field of the given PVS_proxy.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param>
public static bool get_currently_attached(Session session, string _pvs_proxy)
{
return (bool)session.proxy.pvs_proxy_get_currently_attached(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "").parse();
}
/// <summary>
/// Get the cache_SR field of the given PVS_proxy.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param>
public static XenRef<SR> get_cache_SR(Session session, string _pvs_proxy)
{
return XenRef<SR>.Create(session.proxy.pvs_proxy_get_cache_sr(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "").parse());
}
/// <summary>
/// Configure a VM/VIF to use a PVS proxy
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_site">PVS site that we proxy for</param>
/// <param name="_vif">VIF for the VM that needs to be proxied</param>
/// <param name="_prepopulate">if true, prefetch whole disk for VM</param>
public static XenRef<PVS_proxy> create(Session session, string _site, string _vif, bool _prepopulate)
{
return XenRef<PVS_proxy>.Create(session.proxy.pvs_proxy_create(session.uuid, (_site != null) ? _site : "", (_vif != null) ? _vif : "", _prepopulate).parse());
}
/// <summary>
/// Configure a VM/VIF to use a PVS proxy
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_site">PVS site that we proxy for</param>
/// <param name="_vif">VIF for the VM that needs to be proxied</param>
/// <param name="_prepopulate">if true, prefetch whole disk for VM</param>
public static XenRef<Task> async_create(Session session, string _site, string _vif, bool _prepopulate)
{
return XenRef<Task>.Create(session.proxy.async_pvs_proxy_create(session.uuid, (_site != null) ? _site : "", (_vif != null) ? _vif : "", _prepopulate).parse());
}
/// <summary>
/// remove (or switch off) a PVS proxy for this VM
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param>
public static void destroy(Session session, string _pvs_proxy)
{
session.proxy.pvs_proxy_destroy(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "").parse();
}
/// <summary>
/// remove (or switch off) a PVS proxy for this VM
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param>
public static XenRef<Task> async_destroy(Session session, string _pvs_proxy)
{
return XenRef<Task>.Create(session.proxy.async_pvs_proxy_destroy(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "").parse());
}
/// <summary>
/// change the value of the prepopulate field
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param>
/// <param name="_value">set to this value</param>
public static void set_prepopulate(Session session, string _pvs_proxy, bool _value)
{
session.proxy.pvs_proxy_set_prepopulate(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "", _value).parse();
}
/// <summary>
/// change the value of the prepopulate field
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_proxy">The opaque_ref of the given pvs_proxy</param>
/// <param name="_value">set to this value</param>
public static XenRef<Task> async_set_prepopulate(Session session, string _pvs_proxy, bool _value)
{
return XenRef<Task>.Create(session.proxy.async_pvs_proxy_set_prepopulate(session.uuid, (_pvs_proxy != null) ? _pvs_proxy : "", _value).parse());
}
/// <summary>
/// Return a list of all the PVS_proxys known to the system.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
public static List<XenRef<PVS_proxy>> get_all(Session session)
{
return XenRef<PVS_proxy>.Create(session.proxy.pvs_proxy_get_all(session.uuid).parse());
}
/// <summary>
/// Get all the PVS_proxy Records at once, in a single XML RPC call
/// </summary>
/// <param name="session">The session</param>
public static Dictionary<XenRef<PVS_proxy>, PVS_proxy> get_all_records(Session session)
{
return XenRef<PVS_proxy>.Create<Proxy_PVS_proxy>(session.proxy.pvs_proxy_get_all_records(session.uuid).parse());
}
/// <summary>
/// Unique identifier/object reference
/// Experimental. First published in .
/// </summary>
public virtual string uuid
{
get { return _uuid; }
set
{
if (!Helper.AreEqual(value, _uuid))
{
_uuid = value;
Changed = true;
NotifyPropertyChanged("uuid");
}
}
}
private string _uuid;
/// <summary>
/// PVS site this proxy is part of
/// Experimental. First published in .
/// </summary>
public virtual XenRef<PVS_site> site
{
get { return _site; }
set
{
if (!Helper.AreEqual(value, _site))
{
_site = value;
Changed = true;
NotifyPropertyChanged("site");
}
}
}
private XenRef<PVS_site> _site;
/// <summary>
/// VIF of the VM using the proxy
/// Experimental. First published in .
/// </summary>
public virtual XenRef<VIF> VIF
{
get { return _VIF; }
set
{
if (!Helper.AreEqual(value, _VIF))
{
_VIF = value;
Changed = true;
NotifyPropertyChanged("VIF");
}
}
}
private XenRef<VIF> _VIF;
/// <summary>
/// true = proxy prefetches whole disk for the VM
/// Experimental. First published in .
/// </summary>
public virtual bool prepopulate
{
get { return _prepopulate; }
set
{
if (!Helper.AreEqual(value, _prepopulate))
{
_prepopulate = value;
Changed = true;
NotifyPropertyChanged("prepopulate");
}
}
}
private bool _prepopulate;
/// <summary>
/// true = VM is currently proxied
/// Experimental. First published in .
/// </summary>
public virtual bool currently_attached
{
get { return _currently_attached; }
set
{
if (!Helper.AreEqual(value, _currently_attached))
{
_currently_attached = value;
Changed = true;
NotifyPropertyChanged("currently_attached");
}
}
}
private bool _currently_attached;
/// <summary>
/// SR used by this proxy
/// Experimental. First published in .
/// </summary>
public virtual XenRef<SR> cache_SR
{
get { return _cache_SR; }
set
{
if (!Helper.AreEqual(value, _cache_SR))
{
_cache_SR = value;
Changed = true;
NotifyPropertyChanged("cache_SR");
}
}
}
private XenRef<SR> _cache_SR;
}
}

View File

@ -1,381 +1,381 @@
/*
* Copyright (c) Citrix Systems, Inc.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1) Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2) 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.
*
* 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;
using System.Collections.Generic;
using CookComputing.XmlRpc;
namespace XenAPI
{
/// <summary>
/// individual machine serving provisioning (block) data
/// </summary>
public partial class PVS_server : XenObject<PVS_server>
{
public PVS_server()
{
}
public PVS_server(string uuid,
string[] addresses,
long first_port,
long last_port,
XenRef<PVS_farm> farm)
{
this.uuid = uuid;
this.addresses = addresses;
this.first_port = first_port;
this.last_port = last_port;
this.farm = farm;
}
/// <summary>
/// Creates a new PVS_server from a Proxy_PVS_server.
/// </summary>
/// <param name="proxy"></param>
public PVS_server(Proxy_PVS_server proxy)
{
this.UpdateFromProxy(proxy);
}
public override void UpdateFrom(PVS_server update)
{
uuid = update.uuid;
addresses = update.addresses;
first_port = update.first_port;
last_port = update.last_port;
farm = update.farm;
}
internal void UpdateFromProxy(Proxy_PVS_server proxy)
{
uuid = proxy.uuid == null ? null : (string)proxy.uuid;
addresses = proxy.addresses == null ? new string[] {} : (string [])proxy.addresses;
first_port = proxy.first_port == null ? 0 : long.Parse((string)proxy.first_port);
last_port = proxy.last_port == null ? 0 : long.Parse((string)proxy.last_port);
farm = proxy.farm == null ? null : XenRef<PVS_farm>.Create(proxy.farm);
}
public Proxy_PVS_server ToProxy()
{
Proxy_PVS_server result_ = new Proxy_PVS_server();
result_.uuid = (uuid != null) ? uuid : "";
result_.addresses = addresses;
result_.first_port = first_port.ToString();
result_.last_port = last_port.ToString();
result_.farm = (farm != null) ? farm : "";
return result_;
}
/// <summary>
/// Creates a new PVS_server from a Hashtable.
/// </summary>
/// <param name="table"></param>
public PVS_server(Hashtable table)
{
uuid = Marshalling.ParseString(table, "uuid");
addresses = Marshalling.ParseStringArray(table, "addresses");
first_port = Marshalling.ParseLong(table, "first_port");
last_port = Marshalling.ParseLong(table, "last_port");
farm = Marshalling.ParseRef<PVS_farm>(table, "farm");
}
public bool DeepEquals(PVS_server other)
{
if (ReferenceEquals(null, other))
return false;
if (ReferenceEquals(this, other))
return true;
return Helper.AreEqual2(this._uuid, other._uuid) &&
Helper.AreEqual2(this._addresses, other._addresses) &&
Helper.AreEqual2(this._first_port, other._first_port) &&
Helper.AreEqual2(this._last_port, other._last_port) &&
Helper.AreEqual2(this._farm, other._farm);
}
public override string SaveChanges(Session session, string opaqueRef, PVS_server server)
{
if (opaqueRef == null)
{
System.Diagnostics.Debug.Assert(false, "Cannot create instances of this type on the server");
return "";
}
else
{
throw new InvalidOperationException("This type has no read/write properties");
}
}
/// <summary>
/// Get a record containing the current state of the given PVS_server.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_server">The opaque_ref of the given pvs_server</param>
public static PVS_server get_record(Session session, string _pvs_server)
{
return new PVS_server((Proxy_PVS_server)session.proxy.pvs_server_get_record(session.uuid, (_pvs_server != null) ? _pvs_server : "").parse());
}
/// <summary>
/// Get a reference to the PVS_server instance with the specified UUID.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_uuid">UUID of object to return</param>
public static XenRef<PVS_server> get_by_uuid(Session session, string _uuid)
{
return XenRef<PVS_server>.Create(session.proxy.pvs_server_get_by_uuid(session.uuid, (_uuid != null) ? _uuid : "").parse());
}
/// <summary>
/// Get the uuid field of the given PVS_server.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_server">The opaque_ref of the given pvs_server</param>
public static string get_uuid(Session session, string _pvs_server)
{
return (string)session.proxy.pvs_server_get_uuid(session.uuid, (_pvs_server != null) ? _pvs_server : "").parse();
}
/// <summary>
/// Get the addresses field of the given PVS_server.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_server">The opaque_ref of the given pvs_server</param>
public static string[] get_addresses(Session session, string _pvs_server)
{
return (string [])session.proxy.pvs_server_get_addresses(session.uuid, (_pvs_server != null) ? _pvs_server : "").parse();
}
/// <summary>
/// Get the first_port field of the given PVS_server.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_server">The opaque_ref of the given pvs_server</param>
public static long get_first_port(Session session, string _pvs_server)
{
return long.Parse((string)session.proxy.pvs_server_get_first_port(session.uuid, (_pvs_server != null) ? _pvs_server : "").parse());
}
/// <summary>
/// Get the last_port field of the given PVS_server.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_server">The opaque_ref of the given pvs_server</param>
public static long get_last_port(Session session, string _pvs_server)
{
return long.Parse((string)session.proxy.pvs_server_get_last_port(session.uuid, (_pvs_server != null) ? _pvs_server : "").parse());
}
/// <summary>
/// Get the farm field of the given PVS_server.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_server">The opaque_ref of the given pvs_server</param>
public static XenRef<PVS_farm> get_farm(Session session, string _pvs_server)
{
return XenRef<PVS_farm>.Create(session.proxy.pvs_server_get_farm(session.uuid, (_pvs_server != null) ? _pvs_server : "").parse());
}
/// <summary>
/// introduce new PVS server
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_addresses">IPv4 addresses of the server</param>
/// <param name="_first_port">first UDP port accepted by this server</param>
/// <param name="_last_port">last UDP port accepted by this server</param>
/// <param name="_farm">PVS farm this server is a part of</param>
public static XenRef<PVS_server> introduce(Session session, string[] _addresses, long _first_port, long _last_port, string _farm)
{
return XenRef<PVS_server>.Create(session.proxy.pvs_server_introduce(session.uuid, _addresses, _first_port.ToString(), _last_port.ToString(), (_farm != null) ? _farm : "").parse());
}
/// <summary>
/// introduce new PVS server
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_addresses">IPv4 addresses of the server</param>
/// <param name="_first_port">first UDP port accepted by this server</param>
/// <param name="_last_port">last UDP port accepted by this server</param>
/// <param name="_farm">PVS farm this server is a part of</param>
public static XenRef<Task> async_introduce(Session session, string[] _addresses, long _first_port, long _last_port, string _farm)
{
return XenRef<Task>.Create(session.proxy.async_pvs_server_introduce(session.uuid, _addresses, _first_port.ToString(), _last_port.ToString(), (_farm != null) ? _farm : "").parse());
}
/// <summary>
/// forget a PVS server
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_server">The opaque_ref of the given pvs_server</param>
public static void forget(Session session, string _pvs_server)
{
session.proxy.pvs_server_forget(session.uuid, (_pvs_server != null) ? _pvs_server : "").parse();
}
/// <summary>
/// forget a PVS server
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_server">The opaque_ref of the given pvs_server</param>
public static XenRef<Task> async_forget(Session session, string _pvs_server)
{
return XenRef<Task>.Create(session.proxy.async_pvs_server_forget(session.uuid, (_pvs_server != null) ? _pvs_server : "").parse());
}
/// <summary>
/// Return a list of all the PVS_servers known to the system.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
public static List<XenRef<PVS_server>> get_all(Session session)
{
return XenRef<PVS_server>.Create(session.proxy.pvs_server_get_all(session.uuid).parse());
}
/// <summary>
/// Get all the PVS_server Records at once, in a single XML RPC call
/// </summary>
/// <param name="session">The session</param>
public static Dictionary<XenRef<PVS_server>, PVS_server> get_all_records(Session session)
{
return XenRef<PVS_server>.Create<Proxy_PVS_server>(session.proxy.pvs_server_get_all_records(session.uuid).parse());
}
/// <summary>
/// Unique identifier/object reference
/// Experimental. First published in .
/// </summary>
public virtual string uuid
{
get { return _uuid; }
set
{
if (!Helper.AreEqual(value, _uuid))
{
_uuid = value;
Changed = true;
NotifyPropertyChanged("uuid");
}
}
}
private string _uuid;
/// <summary>
/// IPv4 addresses of this server
/// Experimental. First published in .
/// </summary>
public virtual string[] addresses
{
get { return _addresses; }
set
{
if (!Helper.AreEqual(value, _addresses))
{
_addresses = value;
Changed = true;
NotifyPropertyChanged("addresses");
}
}
}
private string[] _addresses;
/// <summary>
/// First UDP port accepted by this server
/// Experimental. First published in .
/// </summary>
public virtual long first_port
{
get { return _first_port; }
set
{
if (!Helper.AreEqual(value, _first_port))
{
_first_port = value;
Changed = true;
NotifyPropertyChanged("first_port");
}
}
}
private long _first_port;
/// <summary>
/// Last UDP port accepted by this server
/// Experimental. First published in .
/// </summary>
public virtual long last_port
{
get { return _last_port; }
set
{
if (!Helper.AreEqual(value, _last_port))
{
_last_port = value;
Changed = true;
NotifyPropertyChanged("last_port");
}
}
}
private long _last_port;
/// <summary>
/// PVS farm this server is part of
/// Experimental. First published in .
/// </summary>
public virtual XenRef<PVS_farm> farm
{
get { return _farm; }
set
{
if (!Helper.AreEqual(value, _farm))
{
_farm = value;
Changed = true;
NotifyPropertyChanged("farm");
}
}
}
private XenRef<PVS_farm> _farm;
}
}
/*
* Copyright (c) Citrix Systems, Inc.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1) Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2) 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.
*
* 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;
using System.Collections.Generic;
using CookComputing.XmlRpc;
namespace XenAPI
{
/// <summary>
/// individual machine serving provisioning (block) data
/// </summary>
public partial class PVS_server : XenObject<PVS_server>
{
public PVS_server()
{
}
public PVS_server(string uuid,
string[] addresses,
long first_port,
long last_port,
XenRef<PVS_site> site)
{
this.uuid = uuid;
this.addresses = addresses;
this.first_port = first_port;
this.last_port = last_port;
this.site = site;
}
/// <summary>
/// Creates a new PVS_server from a Proxy_PVS_server.
/// </summary>
/// <param name="proxy"></param>
public PVS_server(Proxy_PVS_server proxy)
{
this.UpdateFromProxy(proxy);
}
public override void UpdateFrom(PVS_server update)
{
uuid = update.uuid;
addresses = update.addresses;
first_port = update.first_port;
last_port = update.last_port;
site = update.site;
}
internal void UpdateFromProxy(Proxy_PVS_server proxy)
{
uuid = proxy.uuid == null ? null : (string)proxy.uuid;
addresses = proxy.addresses == null ? new string[] {} : (string [])proxy.addresses;
first_port = proxy.first_port == null ? 0 : long.Parse((string)proxy.first_port);
last_port = proxy.last_port == null ? 0 : long.Parse((string)proxy.last_port);
site = proxy.site == null ? null : XenRef<PVS_site>.Create(proxy.site);
}
public Proxy_PVS_server ToProxy()
{
Proxy_PVS_server result_ = new Proxy_PVS_server();
result_.uuid = (uuid != null) ? uuid : "";
result_.addresses = addresses;
result_.first_port = first_port.ToString();
result_.last_port = last_port.ToString();
result_.site = (site != null) ? site : "";
return result_;
}
/// <summary>
/// Creates a new PVS_server from a Hashtable.
/// </summary>
/// <param name="table"></param>
public PVS_server(Hashtable table)
{
uuid = Marshalling.ParseString(table, "uuid");
addresses = Marshalling.ParseStringArray(table, "addresses");
first_port = Marshalling.ParseLong(table, "first_port");
last_port = Marshalling.ParseLong(table, "last_port");
site = Marshalling.ParseRef<PVS_site>(table, "site");
}
public bool DeepEquals(PVS_server other)
{
if (ReferenceEquals(null, other))
return false;
if (ReferenceEquals(this, other))
return true;
return Helper.AreEqual2(this._uuid, other._uuid) &&
Helper.AreEqual2(this._addresses, other._addresses) &&
Helper.AreEqual2(this._first_port, other._first_port) &&
Helper.AreEqual2(this._last_port, other._last_port) &&
Helper.AreEqual2(this._site, other._site);
}
public override string SaveChanges(Session session, string opaqueRef, PVS_server server)
{
if (opaqueRef == null)
{
System.Diagnostics.Debug.Assert(false, "Cannot create instances of this type on the server");
return "";
}
else
{
throw new InvalidOperationException("This type has no read/write properties");
}
}
/// <summary>
/// Get a record containing the current state of the given PVS_server.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_server">The opaque_ref of the given pvs_server</param>
public static PVS_server get_record(Session session, string _pvs_server)
{
return new PVS_server((Proxy_PVS_server)session.proxy.pvs_server_get_record(session.uuid, (_pvs_server != null) ? _pvs_server : "").parse());
}
/// <summary>
/// Get a reference to the PVS_server instance with the specified UUID.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_uuid">UUID of object to return</param>
public static XenRef<PVS_server> get_by_uuid(Session session, string _uuid)
{
return XenRef<PVS_server>.Create(session.proxy.pvs_server_get_by_uuid(session.uuid, (_uuid != null) ? _uuid : "").parse());
}
/// <summary>
/// Get the uuid field of the given PVS_server.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_server">The opaque_ref of the given pvs_server</param>
public static string get_uuid(Session session, string _pvs_server)
{
return (string)session.proxy.pvs_server_get_uuid(session.uuid, (_pvs_server != null) ? _pvs_server : "").parse();
}
/// <summary>
/// Get the addresses field of the given PVS_server.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_server">The opaque_ref of the given pvs_server</param>
public static string[] get_addresses(Session session, string _pvs_server)
{
return (string [])session.proxy.pvs_server_get_addresses(session.uuid, (_pvs_server != null) ? _pvs_server : "").parse();
}
/// <summary>
/// Get the first_port field of the given PVS_server.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_server">The opaque_ref of the given pvs_server</param>
public static long get_first_port(Session session, string _pvs_server)
{
return long.Parse((string)session.proxy.pvs_server_get_first_port(session.uuid, (_pvs_server != null) ? _pvs_server : "").parse());
}
/// <summary>
/// Get the last_port field of the given PVS_server.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_server">The opaque_ref of the given pvs_server</param>
public static long get_last_port(Session session, string _pvs_server)
{
return long.Parse((string)session.proxy.pvs_server_get_last_port(session.uuid, (_pvs_server != null) ? _pvs_server : "").parse());
}
/// <summary>
/// Get the site field of the given PVS_server.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_server">The opaque_ref of the given pvs_server</param>
public static XenRef<PVS_site> get_site(Session session, string _pvs_server)
{
return XenRef<PVS_site>.Create(session.proxy.pvs_server_get_site(session.uuid, (_pvs_server != null) ? _pvs_server : "").parse());
}
/// <summary>
/// introduce new PVS server
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_addresses">IPv4 addresses of the server</param>
/// <param name="_first_port">first UDP port accepted by this server</param>
/// <param name="_last_port">last UDP port accepted by this server</param>
/// <param name="_site">PVS site this server is a part of</param>
public static XenRef<PVS_server> introduce(Session session, string[] _addresses, long _first_port, long _last_port, string _site)
{
return XenRef<PVS_server>.Create(session.proxy.pvs_server_introduce(session.uuid, _addresses, _first_port.ToString(), _last_port.ToString(), (_site != null) ? _site : "").parse());
}
/// <summary>
/// introduce new PVS server
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_addresses">IPv4 addresses of the server</param>
/// <param name="_first_port">first UDP port accepted by this server</param>
/// <param name="_last_port">last UDP port accepted by this server</param>
/// <param name="_site">PVS site this server is a part of</param>
public static XenRef<Task> async_introduce(Session session, string[] _addresses, long _first_port, long _last_port, string _site)
{
return XenRef<Task>.Create(session.proxy.async_pvs_server_introduce(session.uuid, _addresses, _first_port.ToString(), _last_port.ToString(), (_site != null) ? _site : "").parse());
}
/// <summary>
/// forget a PVS server
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_server">The opaque_ref of the given pvs_server</param>
public static void forget(Session session, string _pvs_server)
{
session.proxy.pvs_server_forget(session.uuid, (_pvs_server != null) ? _pvs_server : "").parse();
}
/// <summary>
/// forget a PVS server
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_server">The opaque_ref of the given pvs_server</param>
public static XenRef<Task> async_forget(Session session, string _pvs_server)
{
return XenRef<Task>.Create(session.proxy.async_pvs_server_forget(session.uuid, (_pvs_server != null) ? _pvs_server : "").parse());
}
/// <summary>
/// Return a list of all the PVS_servers known to the system.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
public static List<XenRef<PVS_server>> get_all(Session session)
{
return XenRef<PVS_server>.Create(session.proxy.pvs_server_get_all(session.uuid).parse());
}
/// <summary>
/// Get all the PVS_server Records at once, in a single XML RPC call
/// </summary>
/// <param name="session">The session</param>
public static Dictionary<XenRef<PVS_server>, PVS_server> get_all_records(Session session)
{
return XenRef<PVS_server>.Create<Proxy_PVS_server>(session.proxy.pvs_server_get_all_records(session.uuid).parse());
}
/// <summary>
/// Unique identifier/object reference
/// Experimental. First published in .
/// </summary>
public virtual string uuid
{
get { return _uuid; }
set
{
if (!Helper.AreEqual(value, _uuid))
{
_uuid = value;
Changed = true;
NotifyPropertyChanged("uuid");
}
}
}
private string _uuid;
/// <summary>
/// IPv4 addresses of this server
/// Experimental. First published in .
/// </summary>
public virtual string[] addresses
{
get { return _addresses; }
set
{
if (!Helper.AreEqual(value, _addresses))
{
_addresses = value;
Changed = true;
NotifyPropertyChanged("addresses");
}
}
}
private string[] _addresses;
/// <summary>
/// First UDP port accepted by this server
/// Experimental. First published in .
/// </summary>
public virtual long first_port
{
get { return _first_port; }
set
{
if (!Helper.AreEqual(value, _first_port))
{
_first_port = value;
Changed = true;
NotifyPropertyChanged("first_port");
}
}
}
private long _first_port;
/// <summary>
/// Last UDP port accepted by this server
/// Experimental. First published in .
/// </summary>
public virtual long last_port
{
get { return _last_port; }
set
{
if (!Helper.AreEqual(value, _last_port))
{
_last_port = value;
Changed = true;
NotifyPropertyChanged("last_port");
}
}
}
private long _last_port;
/// <summary>
/// PVS site this server is part of
/// Experimental. First published in .
/// </summary>
public virtual XenRef<PVS_site> site
{
get { return _site; }
set
{
if (!Helper.AreEqual(value, _site))
{
_site = value;
Changed = true;
NotifyPropertyChanged("site");
}
}
}
private XenRef<PVS_site> _site;
}
}

View File

@ -1,452 +1,452 @@
/*
* Copyright (c) Citrix Systems, Inc.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1) Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2) 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.
*
* 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;
using System.Collections.Generic;
using CookComputing.XmlRpc;
namespace XenAPI
{
/// <summary>
/// machines serving blocks of data for provisioning VMs
/// </summary>
public partial class PVS_farm : XenObject<PVS_farm>
{
public PVS_farm()
{
}
public PVS_farm(string uuid,
string name,
List<XenRef<SR>> cache_storage,
List<XenRef<PVS_server>> servers,
List<XenRef<PVS_proxy>> proxies)
{
this.uuid = uuid;
this.name = name;
this.cache_storage = cache_storage;
this.servers = servers;
this.proxies = proxies;
}
/// <summary>
/// Creates a new PVS_farm from a Proxy_PVS_farm.
/// </summary>
/// <param name="proxy"></param>
public PVS_farm(Proxy_PVS_farm proxy)
{
this.UpdateFromProxy(proxy);
}
public override void UpdateFrom(PVS_farm update)
{
uuid = update.uuid;
name = update.name;
cache_storage = update.cache_storage;
servers = update.servers;
proxies = update.proxies;
}
internal void UpdateFromProxy(Proxy_PVS_farm proxy)
{
uuid = proxy.uuid == null ? null : (string)proxy.uuid;
name = proxy.name == null ? null : (string)proxy.name;
cache_storage = proxy.cache_storage == null ? null : XenRef<SR>.Create(proxy.cache_storage);
servers = proxy.servers == null ? null : XenRef<PVS_server>.Create(proxy.servers);
proxies = proxy.proxies == null ? null : XenRef<PVS_proxy>.Create(proxy.proxies);
}
public Proxy_PVS_farm ToProxy()
{
Proxy_PVS_farm result_ = new Proxy_PVS_farm();
result_.uuid = (uuid != null) ? uuid : "";
result_.name = (name != null) ? name : "";
result_.cache_storage = (cache_storage != null) ? Helper.RefListToStringArray(cache_storage) : new string[] {};
result_.servers = (servers != null) ? Helper.RefListToStringArray(servers) : new string[] {};
result_.proxies = (proxies != null) ? Helper.RefListToStringArray(proxies) : new string[] {};
return result_;
}
/// <summary>
/// Creates a new PVS_farm from a Hashtable.
/// </summary>
/// <param name="table"></param>
public PVS_farm(Hashtable table)
{
uuid = Marshalling.ParseString(table, "uuid");
name = Marshalling.ParseString(table, "name");
cache_storage = Marshalling.ParseSetRef<SR>(table, "cache_storage");
servers = Marshalling.ParseSetRef<PVS_server>(table, "servers");
proxies = Marshalling.ParseSetRef<PVS_proxy>(table, "proxies");
}
public bool DeepEquals(PVS_farm other)
{
if (ReferenceEquals(null, other))
return false;
if (ReferenceEquals(this, other))
return true;
return Helper.AreEqual2(this._uuid, other._uuid) &&
Helper.AreEqual2(this._name, other._name) &&
Helper.AreEqual2(this._cache_storage, other._cache_storage) &&
Helper.AreEqual2(this._servers, other._servers) &&
Helper.AreEqual2(this._proxies, other._proxies);
}
public override string SaveChanges(Session session, string opaqueRef, PVS_farm server)
{
if (opaqueRef == null)
{
System.Diagnostics.Debug.Assert(false, "Cannot create instances of this type on the server");
return "";
}
else
{
if (!Helper.AreEqual2(_name, server._name))
{
PVS_farm.set_name(session, opaqueRef, _name);
}
return null;
}
}
/// <summary>
/// Get a record containing the current state of the given PVS_farm.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_farm">The opaque_ref of the given pvs_farm</param>
public static PVS_farm get_record(Session session, string _pvs_farm)
{
return new PVS_farm((Proxy_PVS_farm)session.proxy.pvs_farm_get_record(session.uuid, (_pvs_farm != null) ? _pvs_farm : "").parse());
}
/// <summary>
/// Get a reference to the PVS_farm instance with the specified UUID.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_uuid">UUID of object to return</param>
public static XenRef<PVS_farm> get_by_uuid(Session session, string _uuid)
{
return XenRef<PVS_farm>.Create(session.proxy.pvs_farm_get_by_uuid(session.uuid, (_uuid != null) ? _uuid : "").parse());
}
/// <summary>
/// Get the uuid field of the given PVS_farm.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_farm">The opaque_ref of the given pvs_farm</param>
public static string get_uuid(Session session, string _pvs_farm)
{
return (string)session.proxy.pvs_farm_get_uuid(session.uuid, (_pvs_farm != null) ? _pvs_farm : "").parse();
}
/// <summary>
/// Get the name field of the given PVS_farm.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_farm">The opaque_ref of the given pvs_farm</param>
public static string get_name(Session session, string _pvs_farm)
{
return (string)session.proxy.pvs_farm_get_name(session.uuid, (_pvs_farm != null) ? _pvs_farm : "").parse();
}
/// <summary>
/// Get the cache_storage field of the given PVS_farm.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_farm">The opaque_ref of the given pvs_farm</param>
public static List<XenRef<SR>> get_cache_storage(Session session, string _pvs_farm)
{
return XenRef<SR>.Create(session.proxy.pvs_farm_get_cache_storage(session.uuid, (_pvs_farm != null) ? _pvs_farm : "").parse());
}
/// <summary>
/// Get the servers field of the given PVS_farm.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_farm">The opaque_ref of the given pvs_farm</param>
public static List<XenRef<PVS_server>> get_servers(Session session, string _pvs_farm)
{
return XenRef<PVS_server>.Create(session.proxy.pvs_farm_get_servers(session.uuid, (_pvs_farm != null) ? _pvs_farm : "").parse());
}
/// <summary>
/// Get the proxies field of the given PVS_farm.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_farm">The opaque_ref of the given pvs_farm</param>
public static List<XenRef<PVS_proxy>> get_proxies(Session session, string _pvs_farm)
{
return XenRef<PVS_proxy>.Create(session.proxy.pvs_farm_get_proxies(session.uuid, (_pvs_farm != null) ? _pvs_farm : "").parse());
}
/// <summary>
/// Introduce new PVS farm
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_name">name of the PVS farm</param>
public static XenRef<PVS_farm> introduce(Session session, string _name)
{
return XenRef<PVS_farm>.Create(session.proxy.pvs_farm_introduce(session.uuid, (_name != null) ? _name : "").parse());
}
/// <summary>
/// Introduce new PVS farm
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_name">name of the PVS farm</param>
public static XenRef<Task> async_introduce(Session session, string _name)
{
return XenRef<Task>.Create(session.proxy.async_pvs_farm_introduce(session.uuid, (_name != null) ? _name : "").parse());
}
/// <summary>
/// Remove a farm's meta data
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_farm">The opaque_ref of the given pvs_farm</param>
public static void forget(Session session, string _pvs_farm)
{
session.proxy.pvs_farm_forget(session.uuid, (_pvs_farm != null) ? _pvs_farm : "").parse();
}
/// <summary>
/// Remove a farm's meta data
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_farm">The opaque_ref of the given pvs_farm</param>
public static XenRef<Task> async_forget(Session session, string _pvs_farm)
{
return XenRef<Task>.Create(session.proxy.async_pvs_farm_forget(session.uuid, (_pvs_farm != null) ? _pvs_farm : "").parse());
}
/// <summary>
/// Update the name of the PVS farm
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_farm">The opaque_ref of the given pvs_farm</param>
/// <param name="_value">name to be used</param>
public static void set_name(Session session, string _pvs_farm, string _value)
{
session.proxy.pvs_farm_set_name(session.uuid, (_pvs_farm != null) ? _pvs_farm : "", (_value != null) ? _value : "").parse();
}
/// <summary>
/// Update the name of the PVS farm
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_farm">The opaque_ref of the given pvs_farm</param>
/// <param name="_value">name to be used</param>
public static XenRef<Task> async_set_name(Session session, string _pvs_farm, string _value)
{
return XenRef<Task>.Create(session.proxy.async_pvs_farm_set_name(session.uuid, (_pvs_farm != null) ? _pvs_farm : "", (_value != null) ? _value : "").parse());
}
/// <summary>
/// Add a cache SR for the proxies on the farm
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_farm">The opaque_ref of the given pvs_farm</param>
/// <param name="_value">SR to be used</param>
public static void add_cache_storage(Session session, string _pvs_farm, string _value)
{
session.proxy.pvs_farm_add_cache_storage(session.uuid, (_pvs_farm != null) ? _pvs_farm : "", (_value != null) ? _value : "").parse();
}
/// <summary>
/// Add a cache SR for the proxies on the farm
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_farm">The opaque_ref of the given pvs_farm</param>
/// <param name="_value">SR to be used</param>
public static XenRef<Task> async_add_cache_storage(Session session, string _pvs_farm, string _value)
{
return XenRef<Task>.Create(session.proxy.async_pvs_farm_add_cache_storage(session.uuid, (_pvs_farm != null) ? _pvs_farm : "", (_value != null) ? _value : "").parse());
}
/// <summary>
/// Remove a cache SR for the proxies on the farm
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_farm">The opaque_ref of the given pvs_farm</param>
/// <param name="_value">SR to be removed</param>
public static void remove_cache_storage(Session session, string _pvs_farm, string _value)
{
session.proxy.pvs_farm_remove_cache_storage(session.uuid, (_pvs_farm != null) ? _pvs_farm : "", (_value != null) ? _value : "").parse();
}
/// <summary>
/// Remove a cache SR for the proxies on the farm
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_farm">The opaque_ref of the given pvs_farm</param>
/// <param name="_value">SR to be removed</param>
public static XenRef<Task> async_remove_cache_storage(Session session, string _pvs_farm, string _value)
{
return XenRef<Task>.Create(session.proxy.async_pvs_farm_remove_cache_storage(session.uuid, (_pvs_farm != null) ? _pvs_farm : "", (_value != null) ? _value : "").parse());
}
/// <summary>
/// Return a list of all the PVS_farms known to the system.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
public static List<XenRef<PVS_farm>> get_all(Session session)
{
return XenRef<PVS_farm>.Create(session.proxy.pvs_farm_get_all(session.uuid).parse());
}
/// <summary>
/// Get all the PVS_farm Records at once, in a single XML RPC call
/// </summary>
/// <param name="session">The session</param>
public static Dictionary<XenRef<PVS_farm>, PVS_farm> get_all_records(Session session)
{
return XenRef<PVS_farm>.Create<Proxy_PVS_farm>(session.proxy.pvs_farm_get_all_records(session.uuid).parse());
}
/// <summary>
/// Unique identifier/object reference
/// Experimental. First published in .
/// </summary>
public virtual string uuid
{
get { return _uuid; }
set
{
if (!Helper.AreEqual(value, _uuid))
{
_uuid = value;
Changed = true;
NotifyPropertyChanged("uuid");
}
}
}
private string _uuid;
/// <summary>
/// Name of the PVS farm. Must match name configured in PVS
/// Experimental. First published in .
/// </summary>
public virtual string name
{
get { return _name; }
set
{
if (!Helper.AreEqual(value, _name))
{
_name = value;
Changed = true;
NotifyPropertyChanged("name");
}
}
}
private string _name;
/// <summary>
/// The SR used by PVS proxy for the cache
/// Experimental. First published in .
/// </summary>
public virtual List<XenRef<SR>> cache_storage
{
get { return _cache_storage; }
set
{
if (!Helper.AreEqual(value, _cache_storage))
{
_cache_storage = value;
Changed = true;
NotifyPropertyChanged("cache_storage");
}
}
}
private List<XenRef<SR>> _cache_storage;
/// <summary>
/// The set of PVS servers in the farm
/// Experimental. First published in .
/// </summary>
public virtual List<XenRef<PVS_server>> servers
{
get { return _servers; }
set
{
if (!Helper.AreEqual(value, _servers))
{
_servers = value;
Changed = true;
NotifyPropertyChanged("servers");
}
}
}
private List<XenRef<PVS_server>> _servers;
/// <summary>
/// The set of proxies associated with the farm
/// Experimental. First published in .
/// </summary>
public virtual List<XenRef<PVS_proxy>> proxies
{
get { return _proxies; }
set
{
if (!Helper.AreEqual(value, _proxies))
{
_proxies = value;
Changed = true;
NotifyPropertyChanged("proxies");
}
}
}
private List<XenRef<PVS_proxy>> _proxies;
}
}
/*
* Copyright (c) Citrix Systems, Inc.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1) Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2) 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.
*
* 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;
using System.Collections.Generic;
using CookComputing.XmlRpc;
namespace XenAPI
{
/// <summary>
/// machines serving blocks of data for provisioning VMs
/// </summary>
public partial class PVS_site : XenObject<PVS_site>
{
public PVS_site()
{
}
public PVS_site(string uuid,
string name,
List<XenRef<SR>> cache_storage,
List<XenRef<PVS_server>> servers,
List<XenRef<PVS_proxy>> proxies)
{
this.uuid = uuid;
this.name = name;
this.cache_storage = cache_storage;
this.servers = servers;
this.proxies = proxies;
}
/// <summary>
/// Creates a new PVS_site from a Proxy_PVS_site.
/// </summary>
/// <param name="proxy"></param>
public PVS_site(Proxy_PVS_site proxy)
{
this.UpdateFromProxy(proxy);
}
public override void UpdateFrom(PVS_site update)
{
uuid = update.uuid;
name = update.name;
cache_storage = update.cache_storage;
servers = update.servers;
proxies = update.proxies;
}
internal void UpdateFromProxy(Proxy_PVS_site proxy)
{
uuid = proxy.uuid == null ? null : (string)proxy.uuid;
name = proxy.name == null ? null : (string)proxy.name;
cache_storage = proxy.cache_storage == null ? null : XenRef<SR>.Create(proxy.cache_storage);
servers = proxy.servers == null ? null : XenRef<PVS_server>.Create(proxy.servers);
proxies = proxy.proxies == null ? null : XenRef<PVS_proxy>.Create(proxy.proxies);
}
public Proxy_PVS_site ToProxy()
{
Proxy_PVS_site result_ = new Proxy_PVS_site();
result_.uuid = (uuid != null) ? uuid : "";
result_.name = (name != null) ? name : "";
result_.cache_storage = (cache_storage != null) ? Helper.RefListToStringArray(cache_storage) : new string[] {};
result_.servers = (servers != null) ? Helper.RefListToStringArray(servers) : new string[] {};
result_.proxies = (proxies != null) ? Helper.RefListToStringArray(proxies) : new string[] {};
return result_;
}
/// <summary>
/// Creates a new PVS_site from a Hashtable.
/// </summary>
/// <param name="table"></param>
public PVS_site(Hashtable table)
{
uuid = Marshalling.ParseString(table, "uuid");
name = Marshalling.ParseString(table, "name");
cache_storage = Marshalling.ParseSetRef<SR>(table, "cache_storage");
servers = Marshalling.ParseSetRef<PVS_server>(table, "servers");
proxies = Marshalling.ParseSetRef<PVS_proxy>(table, "proxies");
}
public bool DeepEquals(PVS_site other)
{
if (ReferenceEquals(null, other))
return false;
if (ReferenceEquals(this, other))
return true;
return Helper.AreEqual2(this._uuid, other._uuid) &&
Helper.AreEqual2(this._name, other._name) &&
Helper.AreEqual2(this._cache_storage, other._cache_storage) &&
Helper.AreEqual2(this._servers, other._servers) &&
Helper.AreEqual2(this._proxies, other._proxies);
}
public override string SaveChanges(Session session, string opaqueRef, PVS_site server)
{
if (opaqueRef == null)
{
System.Diagnostics.Debug.Assert(false, "Cannot create instances of this type on the server");
return "";
}
else
{
if (!Helper.AreEqual2(_name, server._name))
{
PVS_site.set_name(session, opaqueRef, _name);
}
return null;
}
}
/// <summary>
/// Get a record containing the current state of the given PVS_site.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_site">The opaque_ref of the given pvs_site</param>
public static PVS_site get_record(Session session, string _pvs_site)
{
return new PVS_site((Proxy_PVS_site)session.proxy.pvs_site_get_record(session.uuid, (_pvs_site != null) ? _pvs_site : "").parse());
}
/// <summary>
/// Get a reference to the PVS_site instance with the specified UUID.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_uuid">UUID of object to return</param>
public static XenRef<PVS_site> get_by_uuid(Session session, string _uuid)
{
return XenRef<PVS_site>.Create(session.proxy.pvs_site_get_by_uuid(session.uuid, (_uuid != null) ? _uuid : "").parse());
}
/// <summary>
/// Get the uuid field of the given PVS_site.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_site">The opaque_ref of the given pvs_site</param>
public static string get_uuid(Session session, string _pvs_site)
{
return (string)session.proxy.pvs_site_get_uuid(session.uuid, (_pvs_site != null) ? _pvs_site : "").parse();
}
/// <summary>
/// Get the name field of the given PVS_site.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_site">The opaque_ref of the given pvs_site</param>
public static string get_name(Session session, string _pvs_site)
{
return (string)session.proxy.pvs_site_get_name(session.uuid, (_pvs_site != null) ? _pvs_site : "").parse();
}
/// <summary>
/// Get the cache_storage field of the given PVS_site.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_site">The opaque_ref of the given pvs_site</param>
public static List<XenRef<SR>> get_cache_storage(Session session, string _pvs_site)
{
return XenRef<SR>.Create(session.proxy.pvs_site_get_cache_storage(session.uuid, (_pvs_site != null) ? _pvs_site : "").parse());
}
/// <summary>
/// Get the servers field of the given PVS_site.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_site">The opaque_ref of the given pvs_site</param>
public static List<XenRef<PVS_server>> get_servers(Session session, string _pvs_site)
{
return XenRef<PVS_server>.Create(session.proxy.pvs_site_get_servers(session.uuid, (_pvs_site != null) ? _pvs_site : "").parse());
}
/// <summary>
/// Get the proxies field of the given PVS_site.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_site">The opaque_ref of the given pvs_site</param>
public static List<XenRef<PVS_proxy>> get_proxies(Session session, string _pvs_site)
{
return XenRef<PVS_proxy>.Create(session.proxy.pvs_site_get_proxies(session.uuid, (_pvs_site != null) ? _pvs_site : "").parse());
}
/// <summary>
/// Introduce new PVS site
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_name">name of the PVS site</param>
public static XenRef<PVS_site> introduce(Session session, string _name)
{
return XenRef<PVS_site>.Create(session.proxy.pvs_site_introduce(session.uuid, (_name != null) ? _name : "").parse());
}
/// <summary>
/// Introduce new PVS site
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_name">name of the PVS site</param>
public static XenRef<Task> async_introduce(Session session, string _name)
{
return XenRef<Task>.Create(session.proxy.async_pvs_site_introduce(session.uuid, (_name != null) ? _name : "").parse());
}
/// <summary>
/// Remove a site's meta data
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_site">The opaque_ref of the given pvs_site</param>
public static void forget(Session session, string _pvs_site)
{
session.proxy.pvs_site_forget(session.uuid, (_pvs_site != null) ? _pvs_site : "").parse();
}
/// <summary>
/// Remove a site's meta data
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_site">The opaque_ref of the given pvs_site</param>
public static XenRef<Task> async_forget(Session session, string _pvs_site)
{
return XenRef<Task>.Create(session.proxy.async_pvs_site_forget(session.uuid, (_pvs_site != null) ? _pvs_site : "").parse());
}
/// <summary>
/// Update the name of the PVS site
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_site">The opaque_ref of the given pvs_site</param>
/// <param name="_value">name to be used</param>
public static void set_name(Session session, string _pvs_site, string _value)
{
session.proxy.pvs_site_set_name(session.uuid, (_pvs_site != null) ? _pvs_site : "", (_value != null) ? _value : "").parse();
}
/// <summary>
/// Update the name of the PVS site
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_site">The opaque_ref of the given pvs_site</param>
/// <param name="_value">name to be used</param>
public static XenRef<Task> async_set_name(Session session, string _pvs_site, string _value)
{
return XenRef<Task>.Create(session.proxy.async_pvs_site_set_name(session.uuid, (_pvs_site != null) ? _pvs_site : "", (_value != null) ? _value : "").parse());
}
/// <summary>
/// Add a cache SR for the proxies on the site
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_site">The opaque_ref of the given pvs_site</param>
/// <param name="_value">SR to be used</param>
public static void add_cache_storage(Session session, string _pvs_site, string _value)
{
session.proxy.pvs_site_add_cache_storage(session.uuid, (_pvs_site != null) ? _pvs_site : "", (_value != null) ? _value : "").parse();
}
/// <summary>
/// Add a cache SR for the proxies on the site
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_site">The opaque_ref of the given pvs_site</param>
/// <param name="_value">SR to be used</param>
public static XenRef<Task> async_add_cache_storage(Session session, string _pvs_site, string _value)
{
return XenRef<Task>.Create(session.proxy.async_pvs_site_add_cache_storage(session.uuid, (_pvs_site != null) ? _pvs_site : "", (_value != null) ? _value : "").parse());
}
/// <summary>
/// Remove a cache SR for the proxies on the site
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_site">The opaque_ref of the given pvs_site</param>
/// <param name="_value">SR to be removed</param>
public static void remove_cache_storage(Session session, string _pvs_site, string _value)
{
session.proxy.pvs_site_remove_cache_storage(session.uuid, (_pvs_site != null) ? _pvs_site : "", (_value != null) ? _value : "").parse();
}
/// <summary>
/// Remove a cache SR for the proxies on the site
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_pvs_site">The opaque_ref of the given pvs_site</param>
/// <param name="_value">SR to be removed</param>
public static XenRef<Task> async_remove_cache_storage(Session session, string _pvs_site, string _value)
{
return XenRef<Task>.Create(session.proxy.async_pvs_site_remove_cache_storage(session.uuid, (_pvs_site != null) ? _pvs_site : "", (_value != null) ? _value : "").parse());
}
/// <summary>
/// Return a list of all the PVS_sites known to the system.
/// Experimental. First published in .
/// </summary>
/// <param name="session">The session</param>
public static List<XenRef<PVS_site>> get_all(Session session)
{
return XenRef<PVS_site>.Create(session.proxy.pvs_site_get_all(session.uuid).parse());
}
/// <summary>
/// Get all the PVS_site Records at once, in a single XML RPC call
/// </summary>
/// <param name="session">The session</param>
public static Dictionary<XenRef<PVS_site>, PVS_site> get_all_records(Session session)
{
return XenRef<PVS_site>.Create<Proxy_PVS_site>(session.proxy.pvs_site_get_all_records(session.uuid).parse());
}
/// <summary>
/// Unique identifier/object reference
/// Experimental. First published in .
/// </summary>
public virtual string uuid
{
get { return _uuid; }
set
{
if (!Helper.AreEqual(value, _uuid))
{
_uuid = value;
Changed = true;
NotifyPropertyChanged("uuid");
}
}
}
private string _uuid;
/// <summary>
/// Name of the PVS site. Must match name configured in PVS
/// Experimental. First published in .
/// </summary>
public virtual string name
{
get { return _name; }
set
{
if (!Helper.AreEqual(value, _name))
{
_name = value;
Changed = true;
NotifyPropertyChanged("name");
}
}
}
private string _name;
/// <summary>
/// The SR used by PVS proxy for the cache
/// Experimental. First published in .
/// </summary>
public virtual List<XenRef<SR>> cache_storage
{
get { return _cache_storage; }
set
{
if (!Helper.AreEqual(value, _cache_storage))
{
_cache_storage = value;
Changed = true;
NotifyPropertyChanged("cache_storage");
}
}
}
private List<XenRef<SR>> _cache_storage;
/// <summary>
/// The set of PVS servers in the site
/// Experimental. First published in .
/// </summary>
public virtual List<XenRef<PVS_server>> servers
{
get { return _servers; }
set
{
if (!Helper.AreEqual(value, _servers))
{
_servers = value;
Changed = true;
NotifyPropertyChanged("servers");
}
}
}
private List<XenRef<PVS_server>> _servers;
/// <summary>
/// The set of proxies associated with the site
/// Experimental. First published in .
/// </summary>
public virtual List<XenRef<PVS_proxy>> proxies
{
get { return _proxies; }
set
{
if (!Helper.AreEqual(value, _proxies))
{
_proxies = value;
Changed = true;
NotifyPropertyChanged("proxies");
}
}
}
private List<XenRef<PVS_proxy>> _proxies;
}
}

View File

@ -1496,6 +1496,10 @@ namespace XenAPI
Response<bool>
vm_get_has_vendor_device(string session, string _vm);
[XmlRpcMethod("VM.get_requires_reboot")]
Response<bool>
vm_get_requires_reboot(string session, string _vm);
[XmlRpcMethod("VM.set_name_label")]
Response<string>
vm_set_name_label(string session, string _vm, string _label);
@ -1896,6 +1900,14 @@ namespace XenAPI
Response<string>
async_vm_set_memory_limits(string session, string _vm, string _static_min, string _static_max, string _dynamic_min, string _dynamic_max);
[XmlRpcMethod("VM.set_memory")]
Response<string>
vm_set_memory(string session, string _vm, string _value);
[XmlRpcMethod("Async.VM.set_memory")]
Response<string>
async_vm_set_memory(string session, string _vm, string _value);
[XmlRpcMethod("VM.set_memory_target_live")]
Response<string>
vm_set_memory_target_live(string session, string _vm, string _target);
@ -6864,81 +6876,81 @@ namespace XenAPI
Response<Object>
vgpu_type_get_all_records(string session);
[XmlRpcMethod("PVS_farm.get_record")]
Response<Proxy_PVS_farm>
pvs_farm_get_record(string session, string _pvs_farm);
[XmlRpcMethod("PVS_site.get_record")]
Response<Proxy_PVS_site>
pvs_site_get_record(string session, string _pvs_site);
[XmlRpcMethod("PVS_farm.get_by_uuid")]
[XmlRpcMethod("PVS_site.get_by_uuid")]
Response<string>
pvs_farm_get_by_uuid(string session, string _uuid);
pvs_site_get_by_uuid(string session, string _uuid);
[XmlRpcMethod("PVS_farm.get_uuid")]
[XmlRpcMethod("PVS_site.get_uuid")]
Response<string>
pvs_farm_get_uuid(string session, string _pvs_farm);
pvs_site_get_uuid(string session, string _pvs_site);
[XmlRpcMethod("PVS_farm.get_name")]
[XmlRpcMethod("PVS_site.get_name")]
Response<string>
pvs_farm_get_name(string session, string _pvs_farm);
pvs_site_get_name(string session, string _pvs_site);
[XmlRpcMethod("PVS_farm.get_cache_storage")]
[XmlRpcMethod("PVS_site.get_cache_storage")]
Response<string []>
pvs_farm_get_cache_storage(string session, string _pvs_farm);
pvs_site_get_cache_storage(string session, string _pvs_site);
[XmlRpcMethod("PVS_farm.get_servers")]
[XmlRpcMethod("PVS_site.get_servers")]
Response<string []>
pvs_farm_get_servers(string session, string _pvs_farm);
pvs_site_get_servers(string session, string _pvs_site);
[XmlRpcMethod("PVS_farm.get_proxies")]
[XmlRpcMethod("PVS_site.get_proxies")]
Response<string []>
pvs_farm_get_proxies(string session, string _pvs_farm);
pvs_site_get_proxies(string session, string _pvs_site);
[XmlRpcMethod("PVS_farm.introduce")]
[XmlRpcMethod("PVS_site.introduce")]
Response<string>
pvs_farm_introduce(string session, string _name);
pvs_site_introduce(string session, string _name);
[XmlRpcMethod("Async.PVS_farm.introduce")]
[XmlRpcMethod("Async.PVS_site.introduce")]
Response<string>
async_pvs_farm_introduce(string session, string _name);
async_pvs_site_introduce(string session, string _name);
[XmlRpcMethod("PVS_farm.forget")]
[XmlRpcMethod("PVS_site.forget")]
Response<string>
pvs_farm_forget(string session, string _pvs_farm);
pvs_site_forget(string session, string _pvs_site);
[XmlRpcMethod("Async.PVS_farm.forget")]
[XmlRpcMethod("Async.PVS_site.forget")]
Response<string>
async_pvs_farm_forget(string session, string _pvs_farm);
async_pvs_site_forget(string session, string _pvs_site);
[XmlRpcMethod("PVS_farm.set_name")]
[XmlRpcMethod("PVS_site.set_name")]
Response<string>
pvs_farm_set_name(string session, string _pvs_farm, string _value);
pvs_site_set_name(string session, string _pvs_site, string _value);
[XmlRpcMethod("Async.PVS_farm.set_name")]
[XmlRpcMethod("Async.PVS_site.set_name")]
Response<string>
async_pvs_farm_set_name(string session, string _pvs_farm, string _value);
async_pvs_site_set_name(string session, string _pvs_site, string _value);
[XmlRpcMethod("PVS_farm.add_cache_storage")]
[XmlRpcMethod("PVS_site.add_cache_storage")]
Response<string>
pvs_farm_add_cache_storage(string session, string _pvs_farm, string _value);
pvs_site_add_cache_storage(string session, string _pvs_site, string _value);
[XmlRpcMethod("Async.PVS_farm.add_cache_storage")]
[XmlRpcMethod("Async.PVS_site.add_cache_storage")]
Response<string>
async_pvs_farm_add_cache_storage(string session, string _pvs_farm, string _value);
async_pvs_site_add_cache_storage(string session, string _pvs_site, string _value);
[XmlRpcMethod("PVS_farm.remove_cache_storage")]
[XmlRpcMethod("PVS_site.remove_cache_storage")]
Response<string>
pvs_farm_remove_cache_storage(string session, string _pvs_farm, string _value);
pvs_site_remove_cache_storage(string session, string _pvs_site, string _value);
[XmlRpcMethod("Async.PVS_farm.remove_cache_storage")]
[XmlRpcMethod("Async.PVS_site.remove_cache_storage")]
Response<string>
async_pvs_farm_remove_cache_storage(string session, string _pvs_farm, string _value);
async_pvs_site_remove_cache_storage(string session, string _pvs_site, string _value);
[XmlRpcMethod("PVS_farm.get_all")]
[XmlRpcMethod("PVS_site.get_all")]
Response<string []>
pvs_farm_get_all(string session);
pvs_site_get_all(string session);
[XmlRpcMethod("PVS_farm.get_all_records")]
[XmlRpcMethod("PVS_site.get_all_records")]
Response<Object>
pvs_farm_get_all_records(string session);
pvs_site_get_all_records(string session);
[XmlRpcMethod("PVS_server.get_record")]
Response<Proxy_PVS_server>
@ -6964,17 +6976,17 @@ namespace XenAPI
Response<string>
pvs_server_get_last_port(string session, string _pvs_server);
[XmlRpcMethod("PVS_server.get_farm")]
[XmlRpcMethod("PVS_server.get_site")]
Response<string>
pvs_server_get_farm(string session, string _pvs_server);
pvs_server_get_site(string session, string _pvs_server);
[XmlRpcMethod("PVS_server.introduce")]
Response<string>
pvs_server_introduce(string session, string [] _addresses, string _first_port, string _last_port, string _farm);
pvs_server_introduce(string session, string [] _addresses, string _first_port, string _last_port, string _site);
[XmlRpcMethod("Async.PVS_server.introduce")]
Response<string>
async_pvs_server_introduce(string session, string [] _addresses, string _first_port, string _last_port, string _farm);
async_pvs_server_introduce(string session, string [] _addresses, string _first_port, string _last_port, string _site);
[XmlRpcMethod("PVS_server.forget")]
Response<string>
@ -7004,9 +7016,9 @@ namespace XenAPI
Response<string>
pvs_proxy_get_uuid(string session, string _pvs_proxy);
[XmlRpcMethod("PVS_proxy.get_farm")]
[XmlRpcMethod("PVS_proxy.get_site")]
Response<string>
pvs_proxy_get_farm(string session, string _pvs_proxy);
pvs_proxy_get_site(string session, string _pvs_proxy);
[XmlRpcMethod("PVS_proxy.get_VIF")]
Response<string>
@ -7026,11 +7038,11 @@ namespace XenAPI
[XmlRpcMethod("PVS_proxy.create")]
Response<string>
pvs_proxy_create(string session, string _farm, string _vif, bool _prepopulate);
pvs_proxy_create(string session, string _site, string _vif, bool _prepopulate);
[XmlRpcMethod("Async.PVS_proxy.create")]
Response<string>
async_pvs_proxy_create(string session, string _farm, string _vif, bool _prepopulate);
async_pvs_proxy_create(string session, string _site, string _vif, bool _prepopulate);
[XmlRpcMethod("PVS_proxy.destroy")]
Response<string>
@ -7055,6 +7067,50 @@ namespace XenAPI
[XmlRpcMethod("PVS_proxy.get_all_records")]
Response<Object>
pvs_proxy_get_all_records(string session);
[XmlRpcMethod("PVS_cache_storage.get_record")]
Response<Proxy_PVS_cache_storage>
pvs_cache_storage_get_record(string session, string _pvs_cache_storage);
[XmlRpcMethod("PVS_cache_storage.get_by_uuid")]
Response<string>
pvs_cache_storage_get_by_uuid(string session, string _uuid);
[XmlRpcMethod("PVS_cache_storage.create")]
Response<string>
pvs_cache_storage_create(string session, Proxy_PVS_cache_storage _record);
[XmlRpcMethod("Async.PVS_cache_storage.create")]
Response<string>
async_pvs_cache_storage_create(string session, Proxy_PVS_cache_storage _record);
[XmlRpcMethod("PVS_cache_storage.destroy")]
Response<string>
pvs_cache_storage_destroy(string session, string _pvs_cache_storage);
[XmlRpcMethod("Async.PVS_cache_storage.destroy")]
Response<string>
async_pvs_cache_storage_destroy(string session, string _pvs_cache_storage);
[XmlRpcMethod("PVS_cache_storage.get_uuid")]
Response<string>
pvs_cache_storage_get_uuid(string session, string _pvs_cache_storage);
[XmlRpcMethod("PVS_cache_storage.get_site")]
Response<string>
pvs_cache_storage_get_site(string session, string _pvs_cache_storage);
[XmlRpcMethod("PVS_cache_storage.get_SR")]
Response<string>
pvs_cache_storage_get_sr(string session, string _pvs_cache_storage);
[XmlRpcMethod("PVS_cache_storage.get_size")]
Response<string>
pvs_cache_storage_get_size(string session, string _pvs_cache_storage);
[XmlRpcMethod("PVS_cache_storage.get_all_records")]
Response<Object>
pvs_cache_storage_get_all_records(string session);
}
[XmlRpcMissingMapping(MappingAction.Ignore)]
@ -7255,6 +7311,7 @@ namespace XenAPI
public string generation_id;
public string hardware_platform_version;
public bool has_vendor_device;
public bool requires_reboot;
}
[XmlRpcMissingMapping(MappingAction.Ignore)]
@ -7891,7 +7948,7 @@ namespace XenAPI
}
[XmlRpcMissingMapping(MappingAction.Ignore)]
public class Proxy_PVS_farm
public class Proxy_PVS_site
{
public string uuid;
public string name;
@ -7907,18 +7964,27 @@ namespace XenAPI
public string [] addresses;
public string first_port;
public string last_port;
public string farm;
public string site;
}
[XmlRpcMissingMapping(MappingAction.Ignore)]
public class Proxy_PVS_proxy
{
public string uuid;
public string farm;
public string site;
public string VIF;
public bool prepopulate;
public bool currently_attached;
public string cache_SR;
}
[XmlRpcMissingMapping(MappingAction.Ignore)]
public class Proxy_PVS_cache_storage
{
public string uuid;
public string site;
public string SR;
public string size;
}
}

View File

@ -96,6 +96,11 @@ namespace XenAPI
new Relation("bond_master_of", "Bond", "master"),
});
relations.Add(typeof(Proxy_PVS_site), new Relation[] {
new Relation("proxies", "PVS_proxy", "site"),
new Relation("servers", "PVS_server", "site"),
});
relations.Add(typeof(Proxy_DR_task), new Relation[] {
new Relation("introduced_SRs", "SR", "introduced_by"),
});
@ -109,11 +114,6 @@ namespace XenAPI
new Relation("subtasks", "task", "subtask_of"),
});
relations.Add(typeof(Proxy_PVS_farm), new Relation[] {
new Relation("proxies", "PVS_proxy", "farm"),
new Relation("servers", "PVS_server", "farm"),
});
relations.Add(typeof(Proxy_PGPU), new Relation[] {
new Relation("resident_VGPUs", "VGPU", "resident_on"),
});

View File

@ -124,7 +124,8 @@ namespace XenAPI
long version,
string generation_id,
long hardware_platform_version,
bool has_vendor_device)
bool has_vendor_device,
bool requires_reboot)
{
this.uuid = uuid;
this.allowed_operations = allowed_operations;
@ -203,6 +204,7 @@ namespace XenAPI
this.generation_id = generation_id;
this.hardware_platform_version = hardware_platform_version;
this.has_vendor_device = has_vendor_device;
this.requires_reboot = requires_reboot;
}
/// <summary>
@ -293,6 +295,7 @@ namespace XenAPI
generation_id = update.generation_id;
hardware_platform_version = update.hardware_platform_version;
has_vendor_device = update.has_vendor_device;
requires_reboot = update.requires_reboot;
}
internal void UpdateFromProxy(Proxy_VM proxy)
@ -374,6 +377,7 @@ namespace XenAPI
generation_id = proxy.generation_id == null ? null : (string)proxy.generation_id;
hardware_platform_version = proxy.hardware_platform_version == null ? 0 : long.Parse((string)proxy.hardware_platform_version);
has_vendor_device = (bool)proxy.has_vendor_device;
requires_reboot = (bool)proxy.requires_reboot;
}
public Proxy_VM ToProxy()
@ -456,6 +460,7 @@ namespace XenAPI
result_.generation_id = (generation_id != null) ? generation_id : "";
result_.hardware_platform_version = hardware_platform_version.ToString();
result_.has_vendor_device = has_vendor_device;
result_.requires_reboot = requires_reboot;
return result_;
}
@ -542,6 +547,7 @@ namespace XenAPI
generation_id = Marshalling.ParseString(table, "generation_id");
hardware_platform_version = Marshalling.ParseLong(table, "hardware_platform_version");
has_vendor_device = Marshalling.ParseBool(table, "has_vendor_device");
requires_reboot = Marshalling.ParseBool(table, "requires_reboot");
}
public bool DeepEquals(VM other, bool ignoreCurrentOperations)
@ -629,7 +635,8 @@ namespace XenAPI
Helper.AreEqual2(this._version, other._version) &&
Helper.AreEqual2(this._generation_id, other._generation_id) &&
Helper.AreEqual2(this._hardware_platform_version, other._hardware_platform_version) &&
Helper.AreEqual2(this._has_vendor_device, other._has_vendor_device);
Helper.AreEqual2(this._has_vendor_device, other._has_vendor_device) &&
Helper.AreEqual2(this._requires_reboot, other._requires_reboot);
}
public override string SaveChanges(Session session, string opaqueRef, VM server)
@ -1743,6 +1750,17 @@ namespace XenAPI
return (bool)session.proxy.vm_get_has_vendor_device(session.uuid, (_vm != null) ? _vm : "").parse();
}
/// <summary>
/// Get the requires_reboot field of the given VM.
/// First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_vm">The opaque_ref of the given vm</param>
public static bool get_requires_reboot(Session session, string _vm)
{
return (bool)session.proxy.vm_get_requires_reboot(session.uuid, (_vm != null) ? _vm : "").parse();
}
/// <summary>
/// Set the name/label field of the given VM.
/// First published in XenServer 4.0.
@ -2957,6 +2975,30 @@ namespace XenAPI
return XenRef<Task>.Create(session.proxy.async_vm_set_memory_limits(session.uuid, (_vm != null) ? _vm : "", _static_min.ToString(), _static_max.ToString(), _dynamic_min.ToString(), _dynamic_max.ToString()).parse());
}
/// <summary>
/// Set the memory allocation of this VM. Sets all of memory_static_max, memory_dynamic_min, and memory_dynamic_max to the given value, and leaves memory_static_min untouched.
/// First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_vm">The opaque_ref of the given vm</param>
/// <param name="_value">The new memory allocation (bytes).</param>
public static void set_memory(Session session, string _vm, long _value)
{
session.proxy.vm_set_memory(session.uuid, (_vm != null) ? _vm : "", _value.ToString()).parse();
}
/// <summary>
/// Set the memory allocation of this VM. Sets all of memory_static_max, memory_dynamic_min, and memory_dynamic_max to the given value, and leaves memory_static_min untouched.
/// First published in .
/// </summary>
/// <param name="session">The session</param>
/// <param name="_vm">The opaque_ref of the given vm</param>
/// <param name="_value">The new memory allocation (bytes).</param>
public static XenRef<Task> async_set_memory(Session session, string _vm, long _value)
{
return XenRef<Task>.Create(session.proxy.async_vm_set_memory(session.uuid, (_vm != null) ? _vm : "", _value.ToString()).parse());
}
/// <summary>
/// Set the memory target for a running VM
/// First published in XenServer 4.0.
@ -5302,5 +5344,24 @@ namespace XenAPI
}
}
private bool _has_vendor_device;
/// <summary>
/// Indicates whether a VM requires a reboot in order to update its configuration, e.g. its memory allocation.
/// First published in .
/// </summary>
public virtual bool requires_reboot
{
get { return _requires_reboot; }
set
{
if (!Helper.AreEqual(value, _requires_reboot))
{
_requires_reboot = value;
Changed = true;
NotifyPropertyChanged("requires_reboot");
}
}
}
private bool _requires_reboot;
}
}

View File

@ -77,6 +77,7 @@
<Compile Include="Actions\Folders\FolderAction.cs" />
<Compile Include="Actions\GPU\VgpuConfigurationAction.cs" />
<Compile Include="Actions\Host\ApplyLicenseEditionAction.cs" />
<Compile Include="Actions\Host\ChangeControlDomainMemoryAction.cs" />
<Compile Include="Actions\Host\DestroyHostAction.cs" />
<Compile Include="Actions\Host\EnableHostAction.cs" />
<Compile Include="Actions\Host\EvacuateHostAction.cs" />
@ -324,7 +325,7 @@
<Compile Include="WLB\WlbHostConfiguration.cs" />
<Compile Include="WLB\WlbServerState.cs" />
<Compile Include="XenAPI-Extensions\Blob.cs" />
<Compile Include="XenAPI-Extensions\PVS_farm.cs" />
<Compile Include="XenAPI-Extensions\PVS_site.cs" />
<Compile Include="XenAPI-Extensions\PVS_proxy.cs" />
<Compile Include="XenAPI-Extensions\VM_Docker_Info.cs" />
<Compile Include="XenAPI-Extensions\GPU_group.cs" />
@ -355,9 +356,10 @@
<Compile Include="XenAPI\pgpu_dom0_access.cs" />
<Compile Include="XenAPI\pool_allowed_operations.cs" />
<Compile Include="XenAPI\primary_address_type.cs" />
<Compile Include="XenAPI\PVS_farm.cs" />
<Compile Include="XenAPI\PVS_cache_storage.cs" />
<Compile Include="XenAPI\PVS_proxy.cs" />
<Compile Include="XenAPI\PVS_server.cs" />
<Compile Include="XenAPI\PVS_site.cs" />
<Compile Include="XenAPI\tristate_type.cs" />
<Compile Include="XenAPI\VGPU.cs" />
<Compile Include="XenAPI\VGPU_type.cs" />