* Tidy up `VM` extension: use `var`
* Tidy up `VM` extension: remove redundant initialisers
* Tidy up `VM` extension: use type keywords when possible
* Tidy up `VM` extension: merge conditional expressions
* Tidy up `VM` extension: remove redundant qualifiers
* Tidy up `VM` extension: remove redundant type arguments
* Tidy up `VM` extension: remove redundant `else`s and parentheses
* Tidy up `VM` extension: fix naming
* Tidy up `VM` extension: misc changes
* Tidy up `VM` extension: use `null` propagation
* Tidy up `VM` extension: fix whitespace
* Tidy up `VM` extension: apply ReSharper Code Cleanup utility
* Tidy up `VM` extension: Fix naming of private string array
* CP-44767: Ignore VM restriction when fetching `MaxVCPUsAllowed`
Instead, fetch the highest available value in all templates for the host.
This means that VMs imported from vhd won't automatically default to `DEFAULT_NUM_VCPUS_ALLOWED`, and that VMs that have been kept across XenServer upgrades won't be limited to the number of vCPUs in their own (possibly outdated) restrictions
* CP-44766: Use value in template with a matching `reference_label` when checking VM restrictions
* Move restriction getters to own region
* CP-44766: Use matching templates to fetch VM restrictions
- Rewrite `GetRestrictions...` methods to perform simpler operations
- Add `GetIntRestrictionValue` and `GetBoolRestrictionValue` wrappers to `GetRestrictionValueFromMatchingTemplate`
- Now all calls to a restrictions first check the template value, with a fall-back to defaults
* CP-44765: Export `reference-label` when generating OVFs
---------
Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
This required refactoring the OVF.AddVirtualSystem() method to accept the
system ID as a parameter. Also, removed some unused methods that were
calling OVF.AddVirtualSystem().
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* CA-361078: Export max vCPUs when generating OVF
Signed-off-by: Danilo Del Busso <Danilo.Del.Busso@citrix.com>
* CA-361078: Populate max vCPUs when importing OVFs
Also keeps backwards compatibility with old import
Signed-off-by: Danilo Del Busso <Danilo.Del.Busso@citrix.com>
* CA-361078: Tidy up `SetCPUs` method in `OVF.cs`
Also fixes whitespace using automatic formatter in VS2019
Signed-off-by: Danilo Del Busso <Danilo.Del.Busso@citrix.com>
Previously this was not possible due to XenModel-XenOvfTransport cyclical references.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>