/*
 * ProxMox VE API
 *
 * ProxMox VE API
 *
 * The version of the OpenAPI document: 2.0
 * Contact: support@lumaserv.com
 * Generated by: https://github.com/openapitools/openapi-generator.git
 */


using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.IO;
using System.Runtime.Serialization;
using System.Text;
using System.Text.RegularExpressions;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using System.ComponentModel.DataAnnotations;
using OpenAPIDateConverter = ProxmoxSharp.Client.OpenAPIDateConverter;

namespace ProxmoxSharp.Model
{
    /// <summary>
    /// The VM configuration.
    /// </summary>
    [DataContract(Name = "getVMConfig_200_response_data")]
    public partial class GetVMConfig200ResponseData : IValidatableObject
    {
        /// <summary>
        /// Initializes a new instance of the <see cref="GetVMConfig200ResponseData" /> class.
        /// </summary>
        /// <param name="acpi">Enable/disable ACPI..</param>
        /// <param name="affinity">List of host cores used to execute guest processes, for example: 0,5,8-11.</param>
        /// <param name="agent">Enable/disable communication with the QEMU Guest Agent and its properties..</param>
        /// <param name="allowKsm">Allow memory pages of this guest to be merged via KSM (Kernel Samepage Merging)..</param>
        /// <param name="amdSev">Secure Encrypted Virtualization (SEV) features by AMD CPUs.</param>
        /// <param name="arch">Virtual processor architecture. Defaults to the host..</param>
        /// <param name="args">Arbitrary arguments passed to kvm..</param>
        /// <param name="audio0">Configure a audio device, useful in combination with QXL/Spice..</param>
        /// <param name="autostart">Automatic restart after crash (currently ignored)..</param>
        /// <param name="balloon">Amount of target RAM for the VM in MiB. Using zero disables the ballon driver..</param>
        /// <param name="bios">Select BIOS implementation..</param>
        /// <param name="boot">Specify guest boot order. Use the &#39;order&#x3D;&#39; sub-property as usage with no key or &#39;legacy&#x3D;&#39; is deprecated..</param>
        /// <param name="bootdisk">Enable booting from specified disk. Deprecated: Use &#39;boot: order&#x3D;foo;bar&#39; instead..</param>
        /// <param name="cdrom">This is an alias for option -ide2.</param>
        /// <param name="cicustom">cloud-init: Specify custom files to replace the automatically generated ones at start..</param>
        /// <param name="cipassword">cloud-init: Password to assign the user. Using this is generally not recommended. Use ssh keys instead. Also note that older cloud-init versions do not support hashed passwords..</param>
        /// <param name="citype">Specifies the cloud-init configuration format. The default depends on the configured operating system type (&#x60;ostype&#x60;. We use the &#x60;nocloud&#x60; format for Linux, and &#x60;configdrive2&#x60; for windows..</param>
        /// <param name="ciupgrade">cloud-init: do an automatic package upgrade after the first boot..</param>
        /// <param name="ciuser">cloud-init: User name to change ssh keys and password for instead of the image&#39;s configured default user..</param>
        /// <param name="cores">The number of cores per socket..</param>
        /// <param name="cpu">Emulated CPU type..</param>
        /// <param name="cpulimit">Limit of CPU usage..</param>
        /// <param name="cpuunits">CPU weight for a VM, will be clamped to [1, 10000] in cgroup v2..</param>
        /// <param name="description">Description for the VM. Shown in the web-interface VM&#39;s summary. This is saved as comment inside the configuration file..</param>
        /// <param name="digest">SHA1 digest of configuration file. This can be used to prevent concurrent modifications..</param>
        /// <param name="efidisk0">Configure a disk for storing EFI vars..</param>
        /// <param name="freeze">Freeze CPU at startup (use &#39;c&#39; monitor command to start execution)..</param>
        /// <param name="hookscript">Script that will be executed during various steps in the vms lifetime..</param>
        /// <param name="hostpci0">Map host PCI devices into guest..</param>
        /// <param name="hostpci1">Map host PCI devices into guest..</param>
        /// <param name="hostpci2">Map host PCI devices into guest..</param>
        /// <param name="hostpci3">Map host PCI devices into guest..</param>
        /// <param name="hostpci4">Map host PCI devices into guest..</param>
        /// <param name="hostpci5">Map host PCI devices into guest..</param>
        /// <param name="hostpci6">Map host PCI devices into guest..</param>
        /// <param name="hostpci7">Map host PCI devices into guest..</param>
        /// <param name="hostpci8">Map host PCI devices into guest..</param>
        /// <param name="hostpci9">Map host PCI devices into guest..</param>
        /// <param name="hostpci10">Map host PCI devices into guest..</param>
        /// <param name="hostpci11">Map host PCI devices into guest..</param>
        /// <param name="hostpci12">Map host PCI devices into guest..</param>
        /// <param name="hostpci13">Map host PCI devices into guest..</param>
        /// <param name="hostpci14">Map host PCI devices into guest..</param>
        /// <param name="hostpci15">Map host PCI devices into guest..</param>
        /// <param name="hostpci16">Map host PCI devices into guest..</param>
        /// <param name="hostpci17">Map host PCI devices into guest..</param>
        /// <param name="hostpci18">Map host PCI devices into guest..</param>
        /// <param name="hostpci19">Map host PCI devices into guest..</param>
        /// <param name="hostpci20">Map host PCI devices into guest..</param>
        /// <param name="hostpci21">Map host PCI devices into guest..</param>
        /// <param name="hostpci22">Map host PCI devices into guest..</param>
        /// <param name="hostpci23">Map host PCI devices into guest..</param>
        /// <param name="hostpci24">Map host PCI devices into guest..</param>
        /// <param name="hostpci25">Map host PCI devices into guest..</param>
        /// <param name="hostpci26">Map host PCI devices into guest..</param>
        /// <param name="hostpci27">Map host PCI devices into guest..</param>
        /// <param name="hostpci28">Map host PCI devices into guest..</param>
        /// <param name="hostpci29">Map host PCI devices into guest..</param>
        /// <param name="hotplug">Selectively enable hotplug features. This is a comma separated list of hotplug features: &#39;network&#39;, &#39;disk&#39;, &#39;cpu&#39;, &#39;memory&#39;, &#39;usb&#39; and &#39;cloudinit&#39;. Use &#39;0&#39; to disable hotplug completely. Using &#39;1&#39; as value is an alias for the default &#x60;network,disk,usb&#x60;. USB hotplugging is possible for guests with machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7..</param>
        /// <param name="hugepages">Enables hugepages memory.  Sets the size of hugepages in MiB. If the value is set to &#39;any&#39; then 1 GiB hugepages will be used if possible, otherwise the size will fall back to 2 MiB..</param>
        /// <param name="ide0">Use volume as IDE hard disk or CD-ROM (n is 0 to 3)..</param>
        /// <param name="ide1">Use volume as IDE hard disk or CD-ROM (n is 0 to 3)..</param>
        /// <param name="ide2">Use volume as IDE hard disk or CD-ROM (n is 0 to 3)..</param>
        /// <param name="ide3">Use volume as IDE hard disk or CD-ROM (n is 0 to 3)..</param>
        /// <param name="ide4">Use volume as IDE hard disk or CD-ROM (n is 0 to 3)..</param>
        /// <param name="ide5">Use volume as IDE hard disk or CD-ROM (n is 0 to 3)..</param>
        /// <param name="ide6">Use volume as IDE hard disk or CD-ROM (n is 0 to 3)..</param>
        /// <param name="ide7">Use volume as IDE hard disk or CD-ROM (n is 0 to 3)..</param>
        /// <param name="ide8">Use volume as IDE hard disk or CD-ROM (n is 0 to 3)..</param>
        /// <param name="ide9">Use volume as IDE hard disk or CD-ROM (n is 0 to 3)..</param>
        /// <param name="ide10">Use volume as IDE hard disk or CD-ROM (n is 0 to 3)..</param>
        /// <param name="ide11">Use volume as IDE hard disk or CD-ROM (n is 0 to 3)..</param>
        /// <param name="ide12">Use volume as IDE hard disk or CD-ROM (n is 0 to 3)..</param>
        /// <param name="ide13">Use volume as IDE hard disk or CD-ROM (n is 0 to 3)..</param>
        /// <param name="ide14">Use volume as IDE hard disk or CD-ROM (n is 0 to 3)..</param>
        /// <param name="ide15">Use volume as IDE hard disk or CD-ROM (n is 0 to 3)..</param>
        /// <param name="ide16">Use volume as IDE hard disk or CD-ROM (n is 0 to 3)..</param>
        /// <param name="ide17">Use volume as IDE hard disk or CD-ROM (n is 0 to 3)..</param>
        /// <param name="ide18">Use volume as IDE hard disk or CD-ROM (n is 0 to 3)..</param>
        /// <param name="ide19">Use volume as IDE hard disk or CD-ROM (n is 0 to 3)..</param>
        /// <param name="ide20">Use volume as IDE hard disk or CD-ROM (n is 0 to 3)..</param>
        /// <param name="ide21">Use volume as IDE hard disk or CD-ROM (n is 0 to 3)..</param>
        /// <param name="ide22">Use volume as IDE hard disk or CD-ROM (n is 0 to 3)..</param>
        /// <param name="ide23">Use volume as IDE hard disk or CD-ROM (n is 0 to 3)..</param>
        /// <param name="ide24">Use volume as IDE hard disk or CD-ROM (n is 0 to 3)..</param>
        /// <param name="ide25">Use volume as IDE hard disk or CD-ROM (n is 0 to 3)..</param>
        /// <param name="ide26">Use volume as IDE hard disk or CD-ROM (n is 0 to 3)..</param>
        /// <param name="ide27">Use volume as IDE hard disk or CD-ROM (n is 0 to 3)..</param>
        /// <param name="ide28">Use volume as IDE hard disk or CD-ROM (n is 0 to 3)..</param>
        /// <param name="ide29">Use volume as IDE hard disk or CD-ROM (n is 0 to 3)..</param>
        /// <param name="intelTdx">Trusted Domain Extension (TDX) features by Intel CPUs.</param>
        /// <param name="ipconfig0">cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. .</param>
        /// <param name="ipconfig1">cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. .</param>
        /// <param name="ipconfig2">cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. .</param>
        /// <param name="ipconfig3">cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. .</param>
        /// <param name="ipconfig4">cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. .</param>
        /// <param name="ipconfig5">cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. .</param>
        /// <param name="ipconfig6">cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. .</param>
        /// <param name="ipconfig7">cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. .</param>
        /// <param name="ipconfig8">cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. .</param>
        /// <param name="ipconfig9">cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. .</param>
        /// <param name="ipconfig10">cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. .</param>
        /// <param name="ipconfig11">cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. .</param>
        /// <param name="ipconfig12">cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. .</param>
        /// <param name="ipconfig13">cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. .</param>
        /// <param name="ipconfig14">cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. .</param>
        /// <param name="ipconfig15">cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. .</param>
        /// <param name="ipconfig16">cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. .</param>
        /// <param name="ipconfig17">cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. .</param>
        /// <param name="ipconfig18">cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. .</param>
        /// <param name="ipconfig19">cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. .</param>
        /// <param name="ipconfig20">cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. .</param>
        /// <param name="ipconfig21">cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. .</param>
        /// <param name="ipconfig22">cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. .</param>
        /// <param name="ipconfig23">cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. .</param>
        /// <param name="ipconfig24">cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. .</param>
        /// <param name="ipconfig25">cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. .</param>
        /// <param name="ipconfig26">cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. .</param>
        /// <param name="ipconfig27">cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. .</param>
        /// <param name="ipconfig28">cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. .</param>
        /// <param name="ipconfig29">cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. .</param>
        /// <param name="ivshmem">Inter-VM shared memory. Useful for direct communication between VMs, or to the host..</param>
        /// <param name="keephugepages">Use together with hugepages. If enabled, hugepages will not not be deleted after VM shutdown and can be used for subsequent starts..</param>
        /// <param name="keyboard">Keyboard layout for VNC server. This option is generally not required and is often better handled from within the guest OS..</param>
        /// <param name="kvm">Enable/disable KVM hardware virtualization..</param>
        /// <param name="localtime">Set the real time clock (RTC) to local time. This is enabled by default if the &#x60;ostype&#x60; indicates a Microsoft Windows OS..</param>
        /// <param name="varLock">Lock/unlock the VM..</param>
        /// <param name="machine">Specify the QEMU machine..</param>
        /// <param name="memory">Memory properties..</param>
        /// <param name="meta">Some (read-only) meta-information about this guest..</param>
        /// <param name="migrateDowntime">Set maximum tolerated downtime (in seconds) for migrations. Should the migration not be able to converge in the very end, because too much newly dirtied RAM needs to be transferred, the limit will be increased automatically step-by-step until migration can converge..</param>
        /// <param name="migrateSpeed">Set maximum speed (in MB/s) for migrations. Value 0 is no limit..</param>
        /// <param name="name">Set a name for the VM. Only used on the configuration web interface..</param>
        /// <param name="nameserver">cloud-init: Sets DNS server IP address for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set..</param>
        /// <param name="net0">Specify network devices..</param>
        /// <param name="net1">Specify network devices..</param>
        /// <param name="net2">Specify network devices..</param>
        /// <param name="net3">Specify network devices..</param>
        /// <param name="net4">Specify network devices..</param>
        /// <param name="net5">Specify network devices..</param>
        /// <param name="net6">Specify network devices..</param>
        /// <param name="net7">Specify network devices..</param>
        /// <param name="net8">Specify network devices..</param>
        /// <param name="net9">Specify network devices..</param>
        /// <param name="net10">Specify network devices..</param>
        /// <param name="net11">Specify network devices..</param>
        /// <param name="net12">Specify network devices..</param>
        /// <param name="net13">Specify network devices..</param>
        /// <param name="net14">Specify network devices..</param>
        /// <param name="net15">Specify network devices..</param>
        /// <param name="net16">Specify network devices..</param>
        /// <param name="net17">Specify network devices..</param>
        /// <param name="net18">Specify network devices..</param>
        /// <param name="net19">Specify network devices..</param>
        /// <param name="net20">Specify network devices..</param>
        /// <param name="net21">Specify network devices..</param>
        /// <param name="net22">Specify network devices..</param>
        /// <param name="net23">Specify network devices..</param>
        /// <param name="net24">Specify network devices..</param>
        /// <param name="net25">Specify network devices..</param>
        /// <param name="net26">Specify network devices..</param>
        /// <param name="net27">Specify network devices..</param>
        /// <param name="net28">Specify network devices..</param>
        /// <param name="net29">Specify network devices..</param>
        /// <param name="numa">Enable/disable NUMA..</param>
        /// <param name="numa0">NUMA topology..</param>
        /// <param name="numa1">NUMA topology..</param>
        /// <param name="numa2">NUMA topology..</param>
        /// <param name="numa3">NUMA topology..</param>
        /// <param name="numa4">NUMA topology..</param>
        /// <param name="numa5">NUMA topology..</param>
        /// <param name="numa6">NUMA topology..</param>
        /// <param name="numa7">NUMA topology..</param>
        /// <param name="numa8">NUMA topology..</param>
        /// <param name="numa9">NUMA topology..</param>
        /// <param name="numa10">NUMA topology..</param>
        /// <param name="numa11">NUMA topology..</param>
        /// <param name="numa12">NUMA topology..</param>
        /// <param name="numa13">NUMA topology..</param>
        /// <param name="numa14">NUMA topology..</param>
        /// <param name="numa15">NUMA topology..</param>
        /// <param name="numa16">NUMA topology..</param>
        /// <param name="numa17">NUMA topology..</param>
        /// <param name="numa18">NUMA topology..</param>
        /// <param name="numa19">NUMA topology..</param>
        /// <param name="numa20">NUMA topology..</param>
        /// <param name="numa21">NUMA topology..</param>
        /// <param name="numa22">NUMA topology..</param>
        /// <param name="numa23">NUMA topology..</param>
        /// <param name="numa24">NUMA topology..</param>
        /// <param name="numa25">NUMA topology..</param>
        /// <param name="numa26">NUMA topology..</param>
        /// <param name="numa27">NUMA topology..</param>
        /// <param name="numa28">NUMA topology..</param>
        /// <param name="numa29">NUMA topology..</param>
        /// <param name="onboot">Specifies whether a VM will be started during system bootup..</param>
        /// <param name="ostype">Specify guest operating system..</param>
        /// <param name="parallel0">Map host parallel devices (n is 0 to 2)..</param>
        /// <param name="parallel1">Map host parallel devices (n is 0 to 2)..</param>
        /// <param name="parallel2">Map host parallel devices (n is 0 to 2)..</param>
        /// <param name="parallel3">Map host parallel devices (n is 0 to 2)..</param>
        /// <param name="parallel4">Map host parallel devices (n is 0 to 2)..</param>
        /// <param name="parallel5">Map host parallel devices (n is 0 to 2)..</param>
        /// <param name="parallel6">Map host parallel devices (n is 0 to 2)..</param>
        /// <param name="parallel7">Map host parallel devices (n is 0 to 2)..</param>
        /// <param name="parallel8">Map host parallel devices (n is 0 to 2)..</param>
        /// <param name="parallel9">Map host parallel devices (n is 0 to 2)..</param>
        /// <param name="parallel10">Map host parallel devices (n is 0 to 2)..</param>
        /// <param name="parallel11">Map host parallel devices (n is 0 to 2)..</param>
        /// <param name="parallel12">Map host parallel devices (n is 0 to 2)..</param>
        /// <param name="parallel13">Map host parallel devices (n is 0 to 2)..</param>
        /// <param name="parallel14">Map host parallel devices (n is 0 to 2)..</param>
        /// <param name="parallel15">Map host parallel devices (n is 0 to 2)..</param>
        /// <param name="parallel16">Map host parallel devices (n is 0 to 2)..</param>
        /// <param name="parallel17">Map host parallel devices (n is 0 to 2)..</param>
        /// <param name="parallel18">Map host parallel devices (n is 0 to 2)..</param>
        /// <param name="parallel19">Map host parallel devices (n is 0 to 2)..</param>
        /// <param name="parallel20">Map host parallel devices (n is 0 to 2)..</param>
        /// <param name="parallel21">Map host parallel devices (n is 0 to 2)..</param>
        /// <param name="parallel22">Map host parallel devices (n is 0 to 2)..</param>
        /// <param name="parallel23">Map host parallel devices (n is 0 to 2)..</param>
        /// <param name="parallel24">Map host parallel devices (n is 0 to 2)..</param>
        /// <param name="parallel25">Map host parallel devices (n is 0 to 2)..</param>
        /// <param name="parallel26">Map host parallel devices (n is 0 to 2)..</param>
        /// <param name="parallel27">Map host parallel devices (n is 0 to 2)..</param>
        /// <param name="parallel28">Map host parallel devices (n is 0 to 2)..</param>
        /// <param name="parallel29">Map host parallel devices (n is 0 to 2)..</param>
        /// <param name="parent">Parent snapshot name. This is used internally, and should not be modified..</param>
        /// <param name="protection">Sets the protection flag of the VM. This will disable the remove VM and remove disk operations..</param>
        /// <param name="reboot">Allow reboot. If set to &#39;0&#39; the VM exit on reboot..</param>
        /// <param name="rng0">Configure a VirtIO-based Random Number Generator..</param>
        /// <param name="runningNetsHostMtu">List of VirtIO network devices and their effective host_mtu setting. A value of 0 means that the host_mtu parameter is to be avoided for the corresponding device. This is used internally for snapshots..</param>
        /// <param name="runningcpu">Specifies the QEMU &#39;-cpu&#39; parameter of the running vm. This is used internally for snapshots..</param>
        /// <param name="runningmachine">Specifies the QEMU machine type of the running vm. This is used internally for snapshots..</param>
        /// <param name="sata0">Use volume as SATA hard disk or CD-ROM (n is 0 to 5)..</param>
        /// <param name="sata1">Use volume as SATA hard disk or CD-ROM (n is 0 to 5)..</param>
        /// <param name="sata2">Use volume as SATA hard disk or CD-ROM (n is 0 to 5)..</param>
        /// <param name="sata3">Use volume as SATA hard disk or CD-ROM (n is 0 to 5)..</param>
        /// <param name="sata4">Use volume as SATA hard disk or CD-ROM (n is 0 to 5)..</param>
        /// <param name="sata5">Use volume as SATA hard disk or CD-ROM (n is 0 to 5)..</param>
        /// <param name="sata6">Use volume as SATA hard disk or CD-ROM (n is 0 to 5)..</param>
        /// <param name="sata7">Use volume as SATA hard disk or CD-ROM (n is 0 to 5)..</param>
        /// <param name="sata8">Use volume as SATA hard disk or CD-ROM (n is 0 to 5)..</param>
        /// <param name="sata9">Use volume as SATA hard disk or CD-ROM (n is 0 to 5)..</param>
        /// <param name="sata10">Use volume as SATA hard disk or CD-ROM (n is 0 to 5)..</param>
        /// <param name="sata11">Use volume as SATA hard disk or CD-ROM (n is 0 to 5)..</param>
        /// <param name="sata12">Use volume as SATA hard disk or CD-ROM (n is 0 to 5)..</param>
        /// <param name="sata13">Use volume as SATA hard disk or CD-ROM (n is 0 to 5)..</param>
        /// <param name="sata14">Use volume as SATA hard disk or CD-ROM (n is 0 to 5)..</param>
        /// <param name="sata15">Use volume as SATA hard disk or CD-ROM (n is 0 to 5)..</param>
        /// <param name="sata16">Use volume as SATA hard disk or CD-ROM (n is 0 to 5)..</param>
        /// <param name="sata17">Use volume as SATA hard disk or CD-ROM (n is 0 to 5)..</param>
        /// <param name="sata18">Use volume as SATA hard disk or CD-ROM (n is 0 to 5)..</param>
        /// <param name="sata19">Use volume as SATA hard disk or CD-ROM (n is 0 to 5)..</param>
        /// <param name="sata20">Use volume as SATA hard disk or CD-ROM (n is 0 to 5)..</param>
        /// <param name="sata21">Use volume as SATA hard disk or CD-ROM (n is 0 to 5)..</param>
        /// <param name="sata22">Use volume as SATA hard disk or CD-ROM (n is 0 to 5)..</param>
        /// <param name="sata23">Use volume as SATA hard disk or CD-ROM (n is 0 to 5)..</param>
        /// <param name="sata24">Use volume as SATA hard disk or CD-ROM (n is 0 to 5)..</param>
        /// <param name="sata25">Use volume as SATA hard disk or CD-ROM (n is 0 to 5)..</param>
        /// <param name="sata26">Use volume as SATA hard disk or CD-ROM (n is 0 to 5)..</param>
        /// <param name="sata27">Use volume as SATA hard disk or CD-ROM (n is 0 to 5)..</param>
        /// <param name="sata28">Use volume as SATA hard disk or CD-ROM (n is 0 to 5)..</param>
        /// <param name="sata29">Use volume as SATA hard disk or CD-ROM (n is 0 to 5)..</param>
        /// <param name="scsi0">Use volume as SCSI hard disk or CD-ROM (n is 0 to 30)..</param>
        /// <param name="scsi1">Use volume as SCSI hard disk or CD-ROM (n is 0 to 30)..</param>
        /// <param name="scsi2">Use volume as SCSI hard disk or CD-ROM (n is 0 to 30)..</param>
        /// <param name="scsi3">Use volume as SCSI hard disk or CD-ROM (n is 0 to 30)..</param>
        /// <param name="scsi4">Use volume as SCSI hard disk or CD-ROM (n is 0 to 30)..</param>
        /// <param name="scsi5">Use volume as SCSI hard disk or CD-ROM (n is 0 to 30)..</param>
        /// <param name="scsi6">Use volume as SCSI hard disk or CD-ROM (n is 0 to 30)..</param>
        /// <param name="scsi7">Use volume as SCSI hard disk or CD-ROM (n is 0 to 30)..</param>
        /// <param name="scsi8">Use volume as SCSI hard disk or CD-ROM (n is 0 to 30)..</param>
        /// <param name="scsi9">Use volume as SCSI hard disk or CD-ROM (n is 0 to 30)..</param>
        /// <param name="scsi10">Use volume as SCSI hard disk or CD-ROM (n is 0 to 30)..</param>
        /// <param name="scsi11">Use volume as SCSI hard disk or CD-ROM (n is 0 to 30)..</param>
        /// <param name="scsi12">Use volume as SCSI hard disk or CD-ROM (n is 0 to 30)..</param>
        /// <param name="scsi13">Use volume as SCSI hard disk or CD-ROM (n is 0 to 30)..</param>
        /// <param name="scsi14">Use volume as SCSI hard disk or CD-ROM (n is 0 to 30)..</param>
        /// <param name="scsi15">Use volume as SCSI hard disk or CD-ROM (n is 0 to 30)..</param>
        /// <param name="scsi16">Use volume as SCSI hard disk or CD-ROM (n is 0 to 30)..</param>
        /// <param name="scsi17">Use volume as SCSI hard disk or CD-ROM (n is 0 to 30)..</param>
        /// <param name="scsi18">Use volume as SCSI hard disk or CD-ROM (n is 0 to 30)..</param>
        /// <param name="scsi19">Use volume as SCSI hard disk or CD-ROM (n is 0 to 30)..</param>
        /// <param name="scsi20">Use volume as SCSI hard disk or CD-ROM (n is 0 to 30)..</param>
        /// <param name="scsi21">Use volume as SCSI hard disk or CD-ROM (n is 0 to 30)..</param>
        /// <param name="scsi22">Use volume as SCSI hard disk or CD-ROM (n is 0 to 30)..</param>
        /// <param name="scsi23">Use volume as SCSI hard disk or CD-ROM (n is 0 to 30)..</param>
        /// <param name="scsi24">Use volume as SCSI hard disk or CD-ROM (n is 0 to 30)..</param>
        /// <param name="scsi25">Use volume as SCSI hard disk or CD-ROM (n is 0 to 30)..</param>
        /// <param name="scsi26">Use volume as SCSI hard disk or CD-ROM (n is 0 to 30)..</param>
        /// <param name="scsi27">Use volume as SCSI hard disk or CD-ROM (n is 0 to 30)..</param>
        /// <param name="scsi28">Use volume as SCSI hard disk or CD-ROM (n is 0 to 30)..</param>
        /// <param name="scsi29">Use volume as SCSI hard disk or CD-ROM (n is 0 to 30)..</param>
        /// <param name="scsihw">SCSI controller model.</param>
        /// <param name="searchdomain">cloud-init: Sets DNS search domains for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set..</param>
        /// <param name="serial0">Create a serial device inside the VM (n is 0 to 3).</param>
        /// <param name="serial1">Create a serial device inside the VM (n is 0 to 3).</param>
        /// <param name="serial2">Create a serial device inside the VM (n is 0 to 3).</param>
        /// <param name="serial3">Create a serial device inside the VM (n is 0 to 3).</param>
        /// <param name="serial4">Create a serial device inside the VM (n is 0 to 3).</param>
        /// <param name="serial5">Create a serial device inside the VM (n is 0 to 3).</param>
        /// <param name="serial6">Create a serial device inside the VM (n is 0 to 3).</param>
        /// <param name="serial7">Create a serial device inside the VM (n is 0 to 3).</param>
        /// <param name="serial8">Create a serial device inside the VM (n is 0 to 3).</param>
        /// <param name="serial9">Create a serial device inside the VM (n is 0 to 3).</param>
        /// <param name="serial10">Create a serial device inside the VM (n is 0 to 3).</param>
        /// <param name="serial11">Create a serial device inside the VM (n is 0 to 3).</param>
        /// <param name="serial12">Create a serial device inside the VM (n is 0 to 3).</param>
        /// <param name="serial13">Create a serial device inside the VM (n is 0 to 3).</param>
        /// <param name="serial14">Create a serial device inside the VM (n is 0 to 3).</param>
        /// <param name="serial15">Create a serial device inside the VM (n is 0 to 3).</param>
        /// <param name="serial16">Create a serial device inside the VM (n is 0 to 3).</param>
        /// <param name="serial17">Create a serial device inside the VM (n is 0 to 3).</param>
        /// <param name="serial18">Create a serial device inside the VM (n is 0 to 3).</param>
        /// <param name="serial19">Create a serial device inside the VM (n is 0 to 3).</param>
        /// <param name="serial20">Create a serial device inside the VM (n is 0 to 3).</param>
        /// <param name="serial21">Create a serial device inside the VM (n is 0 to 3).</param>
        /// <param name="serial22">Create a serial device inside the VM (n is 0 to 3).</param>
        /// <param name="serial23">Create a serial device inside the VM (n is 0 to 3).</param>
        /// <param name="serial24">Create a serial device inside the VM (n is 0 to 3).</param>
        /// <param name="serial25">Create a serial device inside the VM (n is 0 to 3).</param>
        /// <param name="serial26">Create a serial device inside the VM (n is 0 to 3).</param>
        /// <param name="serial27">Create a serial device inside the VM (n is 0 to 3).</param>
        /// <param name="serial28">Create a serial device inside the VM (n is 0 to 3).</param>
        /// <param name="serial29">Create a serial device inside the VM (n is 0 to 3).</param>
        /// <param name="shares">Amount of memory shares for auto-ballooning. The larger the number is, the more memory this VM gets. Number is relative to weights of all other running VMs. Using zero disables auto-ballooning. Auto-ballooning is done by pvestatd..</param>
        /// <param name="smbios1">Specify SMBIOS type 1 fields..</param>
        /// <param name="smp">The number of CPUs. Please use option -sockets instead..</param>
        /// <param name="snaptime">Timestamp for snapshots..</param>
        /// <param name="sockets">The number of CPU sockets..</param>
        /// <param name="spiceEnhancements">Configure additional enhancements for SPICE..</param>
        /// <param name="sshkeys">cloud-init: Setup public SSH keys (one key per line, OpenSSH format)..</param>
        /// <param name="startdate">Set the initial date of the real time clock. Valid format for date are:&#39;now&#39; or &#39;2006-06-17T16:01:21&#39; or &#39;2006-06-17&#39;..</param>
        /// <param name="startup">Startup and shutdown behavior. Order is a non-negative number defining the general startup order. Shutdown in done with reverse ordering. Additionally you can set the &#39;up&#39; or &#39;down&#39; delay in seconds, which specifies a delay to wait before the next VM is started or stopped..</param>
        /// <param name="tablet">Enable/disable the USB tablet device..</param>
        /// <param name="tags">Tags of the VM. This is only meta information..</param>
        /// <param name="tdf">Enable/disable time drift fix..</param>
        /// <param name="template">Enable/disable Template..</param>
        /// <param name="tpmstate0">Configure a Disk for storing TPM state. The format is fixed to &#39;raw&#39;..</param>
        /// <param name="unused0">Reference to unused volumes. This is used internally, and should not be modified manually..</param>
        /// <param name="unused1">Reference to unused volumes. This is used internally, and should not be modified manually..</param>
        /// <param name="unused2">Reference to unused volumes. This is used internally, and should not be modified manually..</param>
        /// <param name="unused3">Reference to unused volumes. This is used internally, and should not be modified manually..</param>
        /// <param name="unused4">Reference to unused volumes. This is used internally, and should not be modified manually..</param>
        /// <param name="unused5">Reference to unused volumes. This is used internally, and should not be modified manually..</param>
        /// <param name="unused6">Reference to unused volumes. This is used internally, and should not be modified manually..</param>
        /// <param name="unused7">Reference to unused volumes. This is used internally, and should not be modified manually..</param>
        /// <param name="unused8">Reference to unused volumes. This is used internally, and should not be modified manually..</param>
        /// <param name="unused9">Reference to unused volumes. This is used internally, and should not be modified manually..</param>
        /// <param name="unused10">Reference to unused volumes. This is used internally, and should not be modified manually..</param>
        /// <param name="unused11">Reference to unused volumes. This is used internally, and should not be modified manually..</param>
        /// <param name="unused12">Reference to unused volumes. This is used internally, and should not be modified manually..</param>
        /// <param name="unused13">Reference to unused volumes. This is used internally, and should not be modified manually..</param>
        /// <param name="unused14">Reference to unused volumes. This is used internally, and should not be modified manually..</param>
        /// <param name="unused15">Reference to unused volumes. This is used internally, and should not be modified manually..</param>
        /// <param name="unused16">Reference to unused volumes. This is used internally, and should not be modified manually..</param>
        /// <param name="unused17">Reference to unused volumes. This is used internally, and should not be modified manually..</param>
        /// <param name="unused18">Reference to unused volumes. This is used internally, and should not be modified manually..</param>
        /// <param name="unused19">Reference to unused volumes. This is used internally, and should not be modified manually..</param>
        /// <param name="unused20">Reference to unused volumes. This is used internally, and should not be modified manually..</param>
        /// <param name="unused21">Reference to unused volumes. This is used internally, and should not be modified manually..</param>
        /// <param name="unused22">Reference to unused volumes. This is used internally, and should not be modified manually..</param>
        /// <param name="unused23">Reference to unused volumes. This is used internally, and should not be modified manually..</param>
        /// <param name="unused24">Reference to unused volumes. This is used internally, and should not be modified manually..</param>
        /// <param name="unused25">Reference to unused volumes. This is used internally, and should not be modified manually..</param>
        /// <param name="unused26">Reference to unused volumes. This is used internally, and should not be modified manually..</param>
        /// <param name="unused27">Reference to unused volumes. This is used internally, and should not be modified manually..</param>
        /// <param name="unused28">Reference to unused volumes. This is used internally, and should not be modified manually..</param>
        /// <param name="unused29">Reference to unused volumes. This is used internally, and should not be modified manually..</param>
        /// <param name="usb0">Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14)..</param>
        /// <param name="usb1">Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14)..</param>
        /// <param name="usb2">Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14)..</param>
        /// <param name="usb3">Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14)..</param>
        /// <param name="usb4">Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14)..</param>
        /// <param name="usb5">Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14)..</param>
        /// <param name="usb6">Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14)..</param>
        /// <param name="usb7">Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14)..</param>
        /// <param name="usb8">Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14)..</param>
        /// <param name="usb9">Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14)..</param>
        /// <param name="usb10">Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14)..</param>
        /// <param name="usb11">Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14)..</param>
        /// <param name="usb12">Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14)..</param>
        /// <param name="usb13">Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14)..</param>
        /// <param name="usb14">Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14)..</param>
        /// <param name="usb15">Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14)..</param>
        /// <param name="usb16">Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14)..</param>
        /// <param name="usb17">Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14)..</param>
        /// <param name="usb18">Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14)..</param>
        /// <param name="usb19">Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14)..</param>
        /// <param name="usb20">Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14)..</param>
        /// <param name="usb21">Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14)..</param>
        /// <param name="usb22">Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14)..</param>
        /// <param name="usb23">Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14)..</param>
        /// <param name="usb24">Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14)..</param>
        /// <param name="usb25">Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14)..</param>
        /// <param name="usb26">Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14)..</param>
        /// <param name="usb27">Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14)..</param>
        /// <param name="usb28">Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14)..</param>
        /// <param name="usb29">Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14)..</param>
        /// <param name="vcpus">Number of hotplugged vcpus..</param>
        /// <param name="vga">Configure the VGA hardware..</param>
        /// <param name="virtio0">Use volume as VIRTIO hard disk (n is 0 to 15)..</param>
        /// <param name="virtio1">Use volume as VIRTIO hard disk (n is 0 to 15)..</param>
        /// <param name="virtio2">Use volume as VIRTIO hard disk (n is 0 to 15)..</param>
        /// <param name="virtio3">Use volume as VIRTIO hard disk (n is 0 to 15)..</param>
        /// <param name="virtio4">Use volume as VIRTIO hard disk (n is 0 to 15)..</param>
        /// <param name="virtio5">Use volume as VIRTIO hard disk (n is 0 to 15)..</param>
        /// <param name="virtio6">Use volume as VIRTIO hard disk (n is 0 to 15)..</param>
        /// <param name="virtio7">Use volume as VIRTIO hard disk (n is 0 to 15)..</param>
        /// <param name="virtio8">Use volume as VIRTIO hard disk (n is 0 to 15)..</param>
        /// <param name="virtio9">Use volume as VIRTIO hard disk (n is 0 to 15)..</param>
        /// <param name="virtio10">Use volume as VIRTIO hard disk (n is 0 to 15)..</param>
        /// <param name="virtio11">Use volume as VIRTIO hard disk (n is 0 to 15)..</param>
        /// <param name="virtio12">Use volume as VIRTIO hard disk (n is 0 to 15)..</param>
        /// <param name="virtio13">Use volume as VIRTIO hard disk (n is 0 to 15)..</param>
        /// <param name="virtio14">Use volume as VIRTIO hard disk (n is 0 to 15)..</param>
        /// <param name="virtio15">Use volume as VIRTIO hard disk (n is 0 to 15)..</param>
        /// <param name="virtio16">Use volume as VIRTIO hard disk (n is 0 to 15)..</param>
        /// <param name="virtio17">Use volume as VIRTIO hard disk (n is 0 to 15)..</param>
        /// <param name="virtio18">Use volume as VIRTIO hard disk (n is 0 to 15)..</param>
        /// <param name="virtio19">Use volume as VIRTIO hard disk (n is 0 to 15)..</param>
        /// <param name="virtio20">Use volume as VIRTIO hard disk (n is 0 to 15)..</param>
        /// <param name="virtio21">Use volume as VIRTIO hard disk (n is 0 to 15)..</param>
        /// <param name="virtio22">Use volume as VIRTIO hard disk (n is 0 to 15)..</param>
        /// <param name="virtio23">Use volume as VIRTIO hard disk (n is 0 to 15)..</param>
        /// <param name="virtio24">Use volume as VIRTIO hard disk (n is 0 to 15)..</param>
        /// <param name="virtio25">Use volume as VIRTIO hard disk (n is 0 to 15)..</param>
        /// <param name="virtio26">Use volume as VIRTIO hard disk (n is 0 to 15)..</param>
        /// <param name="virtio27">Use volume as VIRTIO hard disk (n is 0 to 15)..</param>
        /// <param name="virtio28">Use volume as VIRTIO hard disk (n is 0 to 15)..</param>
        /// <param name="virtio29">Use volume as VIRTIO hard disk (n is 0 to 15)..</param>
        /// <param name="virtiofs0">Configuration for sharing a directory between host and guest using Virtio-fs..</param>
        /// <param name="virtiofs1">Configuration for sharing a directory between host and guest using Virtio-fs..</param>
        /// <param name="virtiofs2">Configuration for sharing a directory between host and guest using Virtio-fs..</param>
        /// <param name="virtiofs3">Configuration for sharing a directory between host and guest using Virtio-fs..</param>
        /// <param name="virtiofs4">Configuration for sharing a directory between host and guest using Virtio-fs..</param>
        /// <param name="virtiofs5">Configuration for sharing a directory between host and guest using Virtio-fs..</param>
        /// <param name="virtiofs6">Configuration for sharing a directory between host and guest using Virtio-fs..</param>
        /// <param name="virtiofs7">Configuration for sharing a directory between host and guest using Virtio-fs..</param>
        /// <param name="virtiofs8">Configuration for sharing a directory between host and guest using Virtio-fs..</param>
        /// <param name="virtiofs9">Configuration for sharing a directory between host and guest using Virtio-fs..</param>
        /// <param name="virtiofs10">Configuration for sharing a directory between host and guest using Virtio-fs..</param>
        /// <param name="virtiofs11">Configuration for sharing a directory between host and guest using Virtio-fs..</param>
        /// <param name="virtiofs12">Configuration for sharing a directory between host and guest using Virtio-fs..</param>
        /// <param name="virtiofs13">Configuration for sharing a directory between host and guest using Virtio-fs..</param>
        /// <param name="virtiofs14">Configuration for sharing a directory between host and guest using Virtio-fs..</param>
        /// <param name="virtiofs15">Configuration for sharing a directory between host and guest using Virtio-fs..</param>
        /// <param name="virtiofs16">Configuration for sharing a directory between host and guest using Virtio-fs..</param>
        /// <param name="virtiofs17">Configuration for sharing a directory between host and guest using Virtio-fs..</param>
        /// <param name="virtiofs18">Configuration for sharing a directory between host and guest using Virtio-fs..</param>
        /// <param name="virtiofs19">Configuration for sharing a directory between host and guest using Virtio-fs..</param>
        /// <param name="virtiofs20">Configuration for sharing a directory between host and guest using Virtio-fs..</param>
        /// <param name="virtiofs21">Configuration for sharing a directory between host and guest using Virtio-fs..</param>
        /// <param name="virtiofs22">Configuration for sharing a directory between host and guest using Virtio-fs..</param>
        /// <param name="virtiofs23">Configuration for sharing a directory between host and guest using Virtio-fs..</param>
        /// <param name="virtiofs24">Configuration for sharing a directory between host and guest using Virtio-fs..</param>
        /// <param name="virtiofs25">Configuration for sharing a directory between host and guest using Virtio-fs..</param>
        /// <param name="virtiofs26">Configuration for sharing a directory between host and guest using Virtio-fs..</param>
        /// <param name="virtiofs27">Configuration for sharing a directory between host and guest using Virtio-fs..</param>
        /// <param name="virtiofs28">Configuration for sharing a directory between host and guest using Virtio-fs..</param>
        /// <param name="virtiofs29">Configuration for sharing a directory between host and guest using Virtio-fs..</param>
        /// <param name="vmgenid">Set VM Generation ID. Use &#39;1&#39; to autogenerate on create or update, pass &#39;0&#39; to disable explicitly..</param>
        /// <param name="vmstate">Reference to a volume which stores the VM state. This is used internally for snapshots..</param>
        /// <param name="vmstatestorage">Default storage for VM state volumes/files..</param>
        /// <param name="watchdog">Create a virtual hardware watchdog device..</param>
        public GetVMConfig200ResponseData(Int64 acpi = default(Int64), string affinity = default(string), string agent = default(string), Int64 allowKsm = default(Int64), string amdSev = default(string), string arch = default(string), string args = default(string), string audio0 = default(string), Int64 autostart = default(Int64), Int64 balloon = default(Int64), string bios = default(string), string boot = default(string), string bootdisk = default(string), string cdrom = default(string), string cicustom = default(string), string cipassword = default(string), string citype = default(string), Int64 ciupgrade = default(Int64), string ciuser = default(string), Int64 cores = default(Int64), string cpu = default(string), decimal cpulimit = default(decimal), Int64 cpuunits = default(Int64), string description = default(string), string digest = default(string), string efidisk0 = default(string), Int64 freeze = default(Int64), string hookscript = default(string), string hostpci0 = default(string), string hostpci1 = default(string), string hostpci2 = default(string), string hostpci3 = default(string), string hostpci4 = default(string), string hostpci5 = default(string), string hostpci6 = default(string), string hostpci7 = default(string), string hostpci8 = default(string), string hostpci9 = default(string), string hostpci10 = default(string), string hostpci11 = default(string), string hostpci12 = default(string), string hostpci13 = default(string), string hostpci14 = default(string), string hostpci15 = default(string), string hostpci16 = default(string), string hostpci17 = default(string), string hostpci18 = default(string), string hostpci19 = default(string), string hostpci20 = default(string), string hostpci21 = default(string), string hostpci22 = default(string), string hostpci23 = default(string), string hostpci24 = default(string), string hostpci25 = default(string), string hostpci26 = default(string), string hostpci27 = default(string), string hostpci28 = default(string), string hostpci29 = default(string), string hotplug = default(string), string hugepages = default(string), string ide0 = default(string), string ide1 = default(string), string ide2 = default(string), string ide3 = default(string), string ide4 = default(string), string ide5 = default(string), string ide6 = default(string), string ide7 = default(string), string ide8 = default(string), string ide9 = default(string), string ide10 = default(string), string ide11 = default(string), string ide12 = default(string), string ide13 = default(string), string ide14 = default(string), string ide15 = default(string), string ide16 = default(string), string ide17 = default(string), string ide18 = default(string), string ide19 = default(string), string ide20 = default(string), string ide21 = default(string), string ide22 = default(string), string ide23 = default(string), string ide24 = default(string), string ide25 = default(string), string ide26 = default(string), string ide27 = default(string), string ide28 = default(string), string ide29 = default(string), string intelTdx = default(string), string ipconfig0 = default(string), string ipconfig1 = default(string), string ipconfig2 = default(string), string ipconfig3 = default(string), string ipconfig4 = default(string), string ipconfig5 = default(string), string ipconfig6 = default(string), string ipconfig7 = default(string), string ipconfig8 = default(string), string ipconfig9 = default(string), string ipconfig10 = default(string), string ipconfig11 = default(string), string ipconfig12 = default(string), string ipconfig13 = default(string), string ipconfig14 = default(string), string ipconfig15 = default(string), string ipconfig16 = default(string), string ipconfig17 = default(string), string ipconfig18 = default(string), string ipconfig19 = default(string), string ipconfig20 = default(string), string ipconfig21 = default(string), string ipconfig22 = default(string), string ipconfig23 = default(string), string ipconfig24 = default(string), string ipconfig25 = default(string), string ipconfig26 = default(string), string ipconfig27 = default(string), string ipconfig28 = default(string), string ipconfig29 = default(string), string ivshmem = default(string), Int64 keephugepages = default(Int64), string keyboard = default(string), Int64 kvm = default(Int64), Int64 localtime = default(Int64), string varLock = default(string), string machine = default(string), string memory = default(string), string meta = default(string), decimal migrateDowntime = default(decimal), Int64 migrateSpeed = default(Int64), string name = default(string), string nameserver = default(string), string net0 = default(string), string net1 = default(string), string net2 = default(string), string net3 = default(string), string net4 = default(string), string net5 = default(string), string net6 = default(string), string net7 = default(string), string net8 = default(string), string net9 = default(string), string net10 = default(string), string net11 = default(string), string net12 = default(string), string net13 = default(string), string net14 = default(string), string net15 = default(string), string net16 = default(string), string net17 = default(string), string net18 = default(string), string net19 = default(string), string net20 = default(string), string net21 = default(string), string net22 = default(string), string net23 = default(string), string net24 = default(string), string net25 = default(string), string net26 = default(string), string net27 = default(string), string net28 = default(string), string net29 = default(string), Int64 numa = default(Int64), string numa0 = default(string), string numa1 = default(string), string numa2 = default(string), string numa3 = default(string), string numa4 = default(string), string numa5 = default(string), string numa6 = default(string), string numa7 = default(string), string numa8 = default(string), string numa9 = default(string), string numa10 = default(string), string numa11 = default(string), string numa12 = default(string), string numa13 = default(string), string numa14 = default(string), string numa15 = default(string), string numa16 = default(string), string numa17 = default(string), string numa18 = default(string), string numa19 = default(string), string numa20 = default(string), string numa21 = default(string), string numa22 = default(string), string numa23 = default(string), string numa24 = default(string), string numa25 = default(string), string numa26 = default(string), string numa27 = default(string), string numa28 = default(string), string numa29 = default(string), Int64 onboot = default(Int64), string ostype = default(string), string parallel0 = default(string), string parallel1 = default(string), string parallel2 = default(string), string parallel3 = default(string), string parallel4 = default(string), string parallel5 = default(string), string parallel6 = default(string), string parallel7 = default(string), string parallel8 = default(string), string parallel9 = default(string), string parallel10 = default(string), string parallel11 = default(string), string parallel12 = default(string), string parallel13 = default(string), string parallel14 = default(string), string parallel15 = default(string), string parallel16 = default(string), string parallel17 = default(string), string parallel18 = default(string), string parallel19 = default(string), string parallel20 = default(string), string parallel21 = default(string), string parallel22 = default(string), string parallel23 = default(string), string parallel24 = default(string), string parallel25 = default(string), string parallel26 = default(string), string parallel27 = default(string), string parallel28 = default(string), string parallel29 = default(string), string parent = default(string), Int64 protection = default(Int64), Int64 reboot = default(Int64), string rng0 = default(string), string runningNetsHostMtu = default(string), string runningcpu = default(string), string runningmachine = default(string), string sata0 = default(string), string sata1 = default(string), string sata2 = default(string), string sata3 = default(string), string sata4 = default(string), string sata5 = default(string), string sata6 = default(string), string sata7 = default(string), string sata8 = default(string), string sata9 = default(string), string sata10 = default(string), string sata11 = default(string), string sata12 = default(string), string sata13 = default(string), string sata14 = default(string), string sata15 = default(string), string sata16 = default(string), string sata17 = default(string), string sata18 = default(string), string sata19 = default(string), string sata20 = default(string), string sata21 = default(string), string sata22 = default(string), string sata23 = default(string), string sata24 = default(string), string sata25 = default(string), string sata26 = default(string), string sata27 = default(string), string sata28 = default(string), string sata29 = default(string), string scsi0 = default(string), string scsi1 = default(string), string scsi2 = default(string), string scsi3 = default(string), string scsi4 = default(string), string scsi5 = default(string), string scsi6 = default(string), string scsi7 = default(string), string scsi8 = default(string), string scsi9 = default(string), string scsi10 = default(string), string scsi11 = default(string), string scsi12 = default(string), string scsi13 = default(string), string scsi14 = default(string), string scsi15 = default(string), string scsi16 = default(string), string scsi17 = default(string), string scsi18 = default(string), string scsi19 = default(string), string scsi20 = default(string), string scsi21 = default(string), string scsi22 = default(string), string scsi23 = default(string), string scsi24 = default(string), string scsi25 = default(string), string scsi26 = default(string), string scsi27 = default(string), string scsi28 = default(string), string scsi29 = default(string), string scsihw = default(string), string searchdomain = default(string), string serial0 = default(string), string serial1 = default(string), string serial2 = default(string), string serial3 = default(string), string serial4 = default(string), string serial5 = default(string), string serial6 = default(string), string serial7 = default(string), string serial8 = default(string), string serial9 = default(string), string serial10 = default(string), string serial11 = default(string), string serial12 = default(string), string serial13 = default(string), string serial14 = default(string), string serial15 = default(string), string serial16 = default(string), string serial17 = default(string), string serial18 = default(string), string serial19 = default(string), string serial20 = default(string), string serial21 = default(string), string serial22 = default(string), string serial23 = default(string), string serial24 = default(string), string serial25 = default(string), string serial26 = default(string), string serial27 = default(string), string serial28 = default(string), string serial29 = default(string), Int64 shares = default(Int64), string smbios1 = default(string), Int64 smp = default(Int64), Int64 snaptime = default(Int64), Int64 sockets = default(Int64), string spiceEnhancements = default(string), string sshkeys = default(string), string startdate = default(string), string startup = default(string), Int64 tablet = default(Int64), string tags = default(string), Int64 tdf = default(Int64), Int64 template = default(Int64), string tpmstate0 = default(string), string unused0 = default(string), string unused1 = default(string), string unused2 = default(string), string unused3 = default(string), string unused4 = default(string), string unused5 = default(string), string unused6 = default(string), string unused7 = default(string), string unused8 = default(string), string unused9 = default(string), string unused10 = default(string), string unused11 = default(string), string unused12 = default(string), string unused13 = default(string), string unused14 = default(string), string unused15 = default(string), string unused16 = default(string), string unused17 = default(string), string unused18 = default(string), string unused19 = default(string), string unused20 = default(string), string unused21 = default(string), string unused22 = default(string), string unused23 = default(string), string unused24 = default(string), string unused25 = default(string), string unused26 = default(string), string unused27 = default(string), string unused28 = default(string), string unused29 = default(string), string usb0 = default(string), string usb1 = default(string), string usb2 = default(string), string usb3 = default(string), string usb4 = default(string), string usb5 = default(string), string usb6 = default(string), string usb7 = default(string), string usb8 = default(string), string usb9 = default(string), string usb10 = default(string), string usb11 = default(string), string usb12 = default(string), string usb13 = default(string), string usb14 = default(string), string usb15 = default(string), string usb16 = default(string), string usb17 = default(string), string usb18 = default(string), string usb19 = default(string), string usb20 = default(string), string usb21 = default(string), string usb22 = default(string), string usb23 = default(string), string usb24 = default(string), string usb25 = default(string), string usb26 = default(string), string usb27 = default(string), string usb28 = default(string), string usb29 = default(string), Int64 vcpus = default(Int64), string vga = default(string), string virtio0 = default(string), string virtio1 = default(string), string virtio2 = default(string), string virtio3 = default(string), string virtio4 = default(string), string virtio5 = default(string), string virtio6 = default(string), string virtio7 = default(string), string virtio8 = default(string), string virtio9 = default(string), string virtio10 = default(string), string virtio11 = default(string), string virtio12 = default(string), string virtio13 = default(string), string virtio14 = default(string), string virtio15 = default(string), string virtio16 = default(string), string virtio17 = default(string), string virtio18 = default(string), string virtio19 = default(string), string virtio20 = default(string), string virtio21 = default(string), string virtio22 = default(string), string virtio23 = default(string), string virtio24 = default(string), string virtio25 = default(string), string virtio26 = default(string), string virtio27 = default(string), string virtio28 = default(string), string virtio29 = default(string), string virtiofs0 = default(string), string virtiofs1 = default(string), string virtiofs2 = default(string), string virtiofs3 = default(string), string virtiofs4 = default(string), string virtiofs5 = default(string), string virtiofs6 = default(string), string virtiofs7 = default(string), string virtiofs8 = default(string), string virtiofs9 = default(string), string virtiofs10 = default(string), string virtiofs11 = default(string), string virtiofs12 = default(string), string virtiofs13 = default(string), string virtiofs14 = default(string), string virtiofs15 = default(string), string virtiofs16 = default(string), string virtiofs17 = default(string), string virtiofs18 = default(string), string virtiofs19 = default(string), string virtiofs20 = default(string), string virtiofs21 = default(string), string virtiofs22 = default(string), string virtiofs23 = default(string), string virtiofs24 = default(string), string virtiofs25 = default(string), string virtiofs26 = default(string), string virtiofs27 = default(string), string virtiofs28 = default(string), string virtiofs29 = default(string), string vmgenid = default(string), string vmstate = default(string), string vmstatestorage = default(string), string watchdog = default(string))
        {
            this.Acpi = acpi;
            this.Affinity = affinity;
            this.Agent = agent;
            this.AllowKsm = allowKsm;
            this.AmdSev = amdSev;
            this.Arch = arch;
            this.Args = args;
            this.Audio0 = audio0;
            this.Autostart = autostart;
            this.Balloon = balloon;
            this.Bios = bios;
            this.Boot = boot;
            this.Bootdisk = bootdisk;
            this.Cdrom = cdrom;
            this.Cicustom = cicustom;
            this.Cipassword = cipassword;
            this.Citype = citype;
            this.Ciupgrade = ciupgrade;
            this.Ciuser = ciuser;
            this.Cores = cores;
            this.Cpu = cpu;
            this.Cpulimit = cpulimit;
            this.Cpuunits = cpuunits;
            this.Description = description;
            this.Digest = digest;
            this.Efidisk0 = efidisk0;
            this.Freeze = freeze;
            this.Hookscript = hookscript;
            this.Hostpci0 = hostpci0;
            this.Hostpci1 = hostpci1;
            this.Hostpci2 = hostpci2;
            this.Hostpci3 = hostpci3;
            this.Hostpci4 = hostpci4;
            this.Hostpci5 = hostpci5;
            this.Hostpci6 = hostpci6;
            this.Hostpci7 = hostpci7;
            this.Hostpci8 = hostpci8;
            this.Hostpci9 = hostpci9;
            this.Hostpci10 = hostpci10;
            this.Hostpci11 = hostpci11;
            this.Hostpci12 = hostpci12;
            this.Hostpci13 = hostpci13;
            this.Hostpci14 = hostpci14;
            this.Hostpci15 = hostpci15;
            this.Hostpci16 = hostpci16;
            this.Hostpci17 = hostpci17;
            this.Hostpci18 = hostpci18;
            this.Hostpci19 = hostpci19;
            this.Hostpci20 = hostpci20;
            this.Hostpci21 = hostpci21;
            this.Hostpci22 = hostpci22;
            this.Hostpci23 = hostpci23;
            this.Hostpci24 = hostpci24;
            this.Hostpci25 = hostpci25;
            this.Hostpci26 = hostpci26;
            this.Hostpci27 = hostpci27;
            this.Hostpci28 = hostpci28;
            this.Hostpci29 = hostpci29;
            this.Hotplug = hotplug;
            this.Hugepages = hugepages;
            this.Ide0 = ide0;
            this.Ide1 = ide1;
            this.Ide2 = ide2;
            this.Ide3 = ide3;
            this.Ide4 = ide4;
            this.Ide5 = ide5;
            this.Ide6 = ide6;
            this.Ide7 = ide7;
            this.Ide8 = ide8;
            this.Ide9 = ide9;
            this.Ide10 = ide10;
            this.Ide11 = ide11;
            this.Ide12 = ide12;
            this.Ide13 = ide13;
            this.Ide14 = ide14;
            this.Ide15 = ide15;
            this.Ide16 = ide16;
            this.Ide17 = ide17;
            this.Ide18 = ide18;
            this.Ide19 = ide19;
            this.Ide20 = ide20;
            this.Ide21 = ide21;
            this.Ide22 = ide22;
            this.Ide23 = ide23;
            this.Ide24 = ide24;
            this.Ide25 = ide25;
            this.Ide26 = ide26;
            this.Ide27 = ide27;
            this.Ide28 = ide28;
            this.Ide29 = ide29;
            this.IntelTdx = intelTdx;
            this.Ipconfig0 = ipconfig0;
            this.Ipconfig1 = ipconfig1;
            this.Ipconfig2 = ipconfig2;
            this.Ipconfig3 = ipconfig3;
            this.Ipconfig4 = ipconfig4;
            this.Ipconfig5 = ipconfig5;
            this.Ipconfig6 = ipconfig6;
            this.Ipconfig7 = ipconfig7;
            this.Ipconfig8 = ipconfig8;
            this.Ipconfig9 = ipconfig9;
            this.Ipconfig10 = ipconfig10;
            this.Ipconfig11 = ipconfig11;
            this.Ipconfig12 = ipconfig12;
            this.Ipconfig13 = ipconfig13;
            this.Ipconfig14 = ipconfig14;
            this.Ipconfig15 = ipconfig15;
            this.Ipconfig16 = ipconfig16;
            this.Ipconfig17 = ipconfig17;
            this.Ipconfig18 = ipconfig18;
            this.Ipconfig19 = ipconfig19;
            this.Ipconfig20 = ipconfig20;
            this.Ipconfig21 = ipconfig21;
            this.Ipconfig22 = ipconfig22;
            this.Ipconfig23 = ipconfig23;
            this.Ipconfig24 = ipconfig24;
            this.Ipconfig25 = ipconfig25;
            this.Ipconfig26 = ipconfig26;
            this.Ipconfig27 = ipconfig27;
            this.Ipconfig28 = ipconfig28;
            this.Ipconfig29 = ipconfig29;
            this.Ivshmem = ivshmem;
            this.Keephugepages = keephugepages;
            this.Keyboard = keyboard;
            this.Kvm = kvm;
            this.Localtime = localtime;
            this.Lock = varLock;
            this.Machine = machine;
            this.Memory = memory;
            this.Meta = meta;
            this.MigrateDowntime = migrateDowntime;
            this.MigrateSpeed = migrateSpeed;
            this.Name = name;
            this.Nameserver = nameserver;
            this.Net0 = net0;
            this.Net1 = net1;
            this.Net2 = net2;
            this.Net3 = net3;
            this.Net4 = net4;
            this.Net5 = net5;
            this.Net6 = net6;
            this.Net7 = net7;
            this.Net8 = net8;
            this.Net9 = net9;
            this.Net10 = net10;
            this.Net11 = net11;
            this.Net12 = net12;
            this.Net13 = net13;
            this.Net14 = net14;
            this.Net15 = net15;
            this.Net16 = net16;
            this.Net17 = net17;
            this.Net18 = net18;
            this.Net19 = net19;
            this.Net20 = net20;
            this.Net21 = net21;
            this.Net22 = net22;
            this.Net23 = net23;
            this.Net24 = net24;
            this.Net25 = net25;
            this.Net26 = net26;
            this.Net27 = net27;
            this.Net28 = net28;
            this.Net29 = net29;
            this.Numa = numa;
            this.Numa0 = numa0;
            this.Numa1 = numa1;
            this.Numa2 = numa2;
            this.Numa3 = numa3;
            this.Numa4 = numa4;
            this.Numa5 = numa5;
            this.Numa6 = numa6;
            this.Numa7 = numa7;
            this.Numa8 = numa8;
            this.Numa9 = numa9;
            this.Numa10 = numa10;
            this.Numa11 = numa11;
            this.Numa12 = numa12;
            this.Numa13 = numa13;
            this.Numa14 = numa14;
            this.Numa15 = numa15;
            this.Numa16 = numa16;
            this.Numa17 = numa17;
            this.Numa18 = numa18;
            this.Numa19 = numa19;
            this.Numa20 = numa20;
            this.Numa21 = numa21;
            this.Numa22 = numa22;
            this.Numa23 = numa23;
            this.Numa24 = numa24;
            this.Numa25 = numa25;
            this.Numa26 = numa26;
            this.Numa27 = numa27;
            this.Numa28 = numa28;
            this.Numa29 = numa29;
            this.Onboot = onboot;
            this.Ostype = ostype;
            this.Parallel0 = parallel0;
            this.Parallel1 = parallel1;
            this.Parallel2 = parallel2;
            this.Parallel3 = parallel3;
            this.Parallel4 = parallel4;
            this.Parallel5 = parallel5;
            this.Parallel6 = parallel6;
            this.Parallel7 = parallel7;
            this.Parallel8 = parallel8;
            this.Parallel9 = parallel9;
            this.Parallel10 = parallel10;
            this.Parallel11 = parallel11;
            this.Parallel12 = parallel12;
            this.Parallel13 = parallel13;
            this.Parallel14 = parallel14;
            this.Parallel15 = parallel15;
            this.Parallel16 = parallel16;
            this.Parallel17 = parallel17;
            this.Parallel18 = parallel18;
            this.Parallel19 = parallel19;
            this.Parallel20 = parallel20;
            this.Parallel21 = parallel21;
            this.Parallel22 = parallel22;
            this.Parallel23 = parallel23;
            this.Parallel24 = parallel24;
            this.Parallel25 = parallel25;
            this.Parallel26 = parallel26;
            this.Parallel27 = parallel27;
            this.Parallel28 = parallel28;
            this.Parallel29 = parallel29;
            this.Parent = parent;
            this.Protection = protection;
            this.Reboot = reboot;
            this.Rng0 = rng0;
            this.RunningNetsHostMtu = runningNetsHostMtu;
            this.Runningcpu = runningcpu;
            this.Runningmachine = runningmachine;
            this.Sata0 = sata0;
            this.Sata1 = sata1;
            this.Sata2 = sata2;
            this.Sata3 = sata3;
            this.Sata4 = sata4;
            this.Sata5 = sata5;
            this.Sata6 = sata6;
            this.Sata7 = sata7;
            this.Sata8 = sata8;
            this.Sata9 = sata9;
            this.Sata10 = sata10;
            this.Sata11 = sata11;
            this.Sata12 = sata12;
            this.Sata13 = sata13;
            this.Sata14 = sata14;
            this.Sata15 = sata15;
            this.Sata16 = sata16;
            this.Sata17 = sata17;
            this.Sata18 = sata18;
            this.Sata19 = sata19;
            this.Sata20 = sata20;
            this.Sata21 = sata21;
            this.Sata22 = sata22;
            this.Sata23 = sata23;
            this.Sata24 = sata24;
            this.Sata25 = sata25;
            this.Sata26 = sata26;
            this.Sata27 = sata27;
            this.Sata28 = sata28;
            this.Sata29 = sata29;
            this.Scsi0 = scsi0;
            this.Scsi1 = scsi1;
            this.Scsi2 = scsi2;
            this.Scsi3 = scsi3;
            this.Scsi4 = scsi4;
            this.Scsi5 = scsi5;
            this.Scsi6 = scsi6;
            this.Scsi7 = scsi7;
            this.Scsi8 = scsi8;
            this.Scsi9 = scsi9;
            this.Scsi10 = scsi10;
            this.Scsi11 = scsi11;
            this.Scsi12 = scsi12;
            this.Scsi13 = scsi13;
            this.Scsi14 = scsi14;
            this.Scsi15 = scsi15;
            this.Scsi16 = scsi16;
            this.Scsi17 = scsi17;
            this.Scsi18 = scsi18;
            this.Scsi19 = scsi19;
            this.Scsi20 = scsi20;
            this.Scsi21 = scsi21;
            this.Scsi22 = scsi22;
            this.Scsi23 = scsi23;
            this.Scsi24 = scsi24;
            this.Scsi25 = scsi25;
            this.Scsi26 = scsi26;
            this.Scsi27 = scsi27;
            this.Scsi28 = scsi28;
            this.Scsi29 = scsi29;
            this.Scsihw = scsihw;
            this.Searchdomain = searchdomain;
            this.Serial0 = serial0;
            this.Serial1 = serial1;
            this.Serial2 = serial2;
            this.Serial3 = serial3;
            this.Serial4 = serial4;
            this.Serial5 = serial5;
            this.Serial6 = serial6;
            this.Serial7 = serial7;
            this.Serial8 = serial8;
            this.Serial9 = serial9;
            this.Serial10 = serial10;
            this.Serial11 = serial11;
            this.Serial12 = serial12;
            this.Serial13 = serial13;
            this.Serial14 = serial14;
            this.Serial15 = serial15;
            this.Serial16 = serial16;
            this.Serial17 = serial17;
            this.Serial18 = serial18;
            this.Serial19 = serial19;
            this.Serial20 = serial20;
            this.Serial21 = serial21;
            this.Serial22 = serial22;
            this.Serial23 = serial23;
            this.Serial24 = serial24;
            this.Serial25 = serial25;
            this.Serial26 = serial26;
            this.Serial27 = serial27;
            this.Serial28 = serial28;
            this.Serial29 = serial29;
            this.Shares = shares;
            this.Smbios1 = smbios1;
            this.Smp = smp;
            this.Snaptime = snaptime;
            this.Sockets = sockets;
            this.SpiceEnhancements = spiceEnhancements;
            this.Sshkeys = sshkeys;
            this.Startdate = startdate;
            this.Startup = startup;
            this.Tablet = tablet;
            this.Tags = tags;
            this.Tdf = tdf;
            this.Template = template;
            this.Tpmstate0 = tpmstate0;
            this.Unused0 = unused0;
            this.Unused1 = unused1;
            this.Unused2 = unused2;
            this.Unused3 = unused3;
            this.Unused4 = unused4;
            this.Unused5 = unused5;
            this.Unused6 = unused6;
            this.Unused7 = unused7;
            this.Unused8 = unused8;
            this.Unused9 = unused9;
            this.Unused10 = unused10;
            this.Unused11 = unused11;
            this.Unused12 = unused12;
            this.Unused13 = unused13;
            this.Unused14 = unused14;
            this.Unused15 = unused15;
            this.Unused16 = unused16;
            this.Unused17 = unused17;
            this.Unused18 = unused18;
            this.Unused19 = unused19;
            this.Unused20 = unused20;
            this.Unused21 = unused21;
            this.Unused22 = unused22;
            this.Unused23 = unused23;
            this.Unused24 = unused24;
            this.Unused25 = unused25;
            this.Unused26 = unused26;
            this.Unused27 = unused27;
            this.Unused28 = unused28;
            this.Unused29 = unused29;
            this.Usb0 = usb0;
            this.Usb1 = usb1;
            this.Usb2 = usb2;
            this.Usb3 = usb3;
            this.Usb4 = usb4;
            this.Usb5 = usb5;
            this.Usb6 = usb6;
            this.Usb7 = usb7;
            this.Usb8 = usb8;
            this.Usb9 = usb9;
            this.Usb10 = usb10;
            this.Usb11 = usb11;
            this.Usb12 = usb12;
            this.Usb13 = usb13;
            this.Usb14 = usb14;
            this.Usb15 = usb15;
            this.Usb16 = usb16;
            this.Usb17 = usb17;
            this.Usb18 = usb18;
            this.Usb19 = usb19;
            this.Usb20 = usb20;
            this.Usb21 = usb21;
            this.Usb22 = usb22;
            this.Usb23 = usb23;
            this.Usb24 = usb24;
            this.Usb25 = usb25;
            this.Usb26 = usb26;
            this.Usb27 = usb27;
            this.Usb28 = usb28;
            this.Usb29 = usb29;
            this.Vcpus = vcpus;
            this.Vga = vga;
            this.Virtio0 = virtio0;
            this.Virtio1 = virtio1;
            this.Virtio2 = virtio2;
            this.Virtio3 = virtio3;
            this.Virtio4 = virtio4;
            this.Virtio5 = virtio5;
            this.Virtio6 = virtio6;
            this.Virtio7 = virtio7;
            this.Virtio8 = virtio8;
            this.Virtio9 = virtio9;
            this.Virtio10 = virtio10;
            this.Virtio11 = virtio11;
            this.Virtio12 = virtio12;
            this.Virtio13 = virtio13;
            this.Virtio14 = virtio14;
            this.Virtio15 = virtio15;
            this.Virtio16 = virtio16;
            this.Virtio17 = virtio17;
            this.Virtio18 = virtio18;
            this.Virtio19 = virtio19;
            this.Virtio20 = virtio20;
            this.Virtio21 = virtio21;
            this.Virtio22 = virtio22;
            this.Virtio23 = virtio23;
            this.Virtio24 = virtio24;
            this.Virtio25 = virtio25;
            this.Virtio26 = virtio26;
            this.Virtio27 = virtio27;
            this.Virtio28 = virtio28;
            this.Virtio29 = virtio29;
            this.Virtiofs0 = virtiofs0;
            this.Virtiofs1 = virtiofs1;
            this.Virtiofs2 = virtiofs2;
            this.Virtiofs3 = virtiofs3;
            this.Virtiofs4 = virtiofs4;
            this.Virtiofs5 = virtiofs5;
            this.Virtiofs6 = virtiofs6;
            this.Virtiofs7 = virtiofs7;
            this.Virtiofs8 = virtiofs8;
            this.Virtiofs9 = virtiofs9;
            this.Virtiofs10 = virtiofs10;
            this.Virtiofs11 = virtiofs11;
            this.Virtiofs12 = virtiofs12;
            this.Virtiofs13 = virtiofs13;
            this.Virtiofs14 = virtiofs14;
            this.Virtiofs15 = virtiofs15;
            this.Virtiofs16 = virtiofs16;
            this.Virtiofs17 = virtiofs17;
            this.Virtiofs18 = virtiofs18;
            this.Virtiofs19 = virtiofs19;
            this.Virtiofs20 = virtiofs20;
            this.Virtiofs21 = virtiofs21;
            this.Virtiofs22 = virtiofs22;
            this.Virtiofs23 = virtiofs23;
            this.Virtiofs24 = virtiofs24;
            this.Virtiofs25 = virtiofs25;
            this.Virtiofs26 = virtiofs26;
            this.Virtiofs27 = virtiofs27;
            this.Virtiofs28 = virtiofs28;
            this.Virtiofs29 = virtiofs29;
            this.Vmgenid = vmgenid;
            this.Vmstate = vmstate;
            this.Vmstatestorage = vmstatestorage;
            this.Watchdog = watchdog;
        }

        /// <summary>
        /// Enable/disable ACPI.
        /// </summary>
        /// <value>Enable/disable ACPI.</value>
        [DataMember(Name = "acpi", EmitDefaultValue = false)]
        public Int64 Acpi { get; set; }

        /// <summary>
        /// List of host cores used to execute guest processes, for example: 0,5,8-11
        /// </summary>
        /// <value>List of host cores used to execute guest processes, for example: 0,5,8-11</value>
        [DataMember(Name = "affinity", EmitDefaultValue = false)]
        public string Affinity { get; set; }

        /// <summary>
        /// Enable/disable communication with the QEMU Guest Agent and its properties.
        /// </summary>
        /// <value>Enable/disable communication with the QEMU Guest Agent and its properties.</value>
        [DataMember(Name = "agent", EmitDefaultValue = false)]
        public string Agent { get; set; }

        /// <summary>
        /// Allow memory pages of this guest to be merged via KSM (Kernel Samepage Merging).
        /// </summary>
        /// <value>Allow memory pages of this guest to be merged via KSM (Kernel Samepage Merging).</value>
        [DataMember(Name = "allow-ksm", EmitDefaultValue = false)]
        public Int64 AllowKsm { get; set; }

        /// <summary>
        /// Secure Encrypted Virtualization (SEV) features by AMD CPUs
        /// </summary>
        /// <value>Secure Encrypted Virtualization (SEV) features by AMD CPUs</value>
        [DataMember(Name = "amd-sev", EmitDefaultValue = false)]
        public string AmdSev { get; set; }

        /// <summary>
        /// Virtual processor architecture. Defaults to the host.
        /// </summary>
        /// <value>Virtual processor architecture. Defaults to the host.</value>
        [DataMember(Name = "arch", EmitDefaultValue = false)]
        public string Arch { get; set; }

        /// <summary>
        /// Arbitrary arguments passed to kvm.
        /// </summary>
        /// <value>Arbitrary arguments passed to kvm.</value>
        [DataMember(Name = "args", EmitDefaultValue = false)]
        public string Args { get; set; }

        /// <summary>
        /// Configure a audio device, useful in combination with QXL/Spice.
        /// </summary>
        /// <value>Configure a audio device, useful in combination with QXL/Spice.</value>
        [DataMember(Name = "audio0", EmitDefaultValue = false)]
        public string Audio0 { get; set; }

        /// <summary>
        /// Automatic restart after crash (currently ignored).
        /// </summary>
        /// <value>Automatic restart after crash (currently ignored).</value>
        [DataMember(Name = "autostart", EmitDefaultValue = false)]
        public Int64 Autostart { get; set; }

        /// <summary>
        /// Amount of target RAM for the VM in MiB. Using zero disables the ballon driver.
        /// </summary>
        /// <value>Amount of target RAM for the VM in MiB. Using zero disables the ballon driver.</value>
        [DataMember(Name = "balloon", EmitDefaultValue = false)]
        public Int64 Balloon { get; set; }

        /// <summary>
        /// Select BIOS implementation.
        /// </summary>
        /// <value>Select BIOS implementation.</value>
        [DataMember(Name = "bios", EmitDefaultValue = false)]
        public string Bios { get; set; }

        /// <summary>
        /// Specify guest boot order. Use the &#39;order&#x3D;&#39; sub-property as usage with no key or &#39;legacy&#x3D;&#39; is deprecated.
        /// </summary>
        /// <value>Specify guest boot order. Use the &#39;order&#x3D;&#39; sub-property as usage with no key or &#39;legacy&#x3D;&#39; is deprecated.</value>
        [DataMember(Name = "boot", EmitDefaultValue = false)]
        public string Boot { get; set; }

        /// <summary>
        /// Enable booting from specified disk. Deprecated: Use &#39;boot: order&#x3D;foo;bar&#39; instead.
        /// </summary>
        /// <value>Enable booting from specified disk. Deprecated: Use &#39;boot: order&#x3D;foo;bar&#39; instead.</value>
        [DataMember(Name = "bootdisk", EmitDefaultValue = false)]
        public string Bootdisk { get; set; }

        /// <summary>
        /// This is an alias for option -ide2
        /// </summary>
        /// <value>This is an alias for option -ide2</value>
        [DataMember(Name = "cdrom", EmitDefaultValue = false)]
        public string Cdrom { get; set; }

        /// <summary>
        /// cloud-init: Specify custom files to replace the automatically generated ones at start.
        /// </summary>
        /// <value>cloud-init: Specify custom files to replace the automatically generated ones at start.</value>
        [DataMember(Name = "cicustom", EmitDefaultValue = false)]
        public string Cicustom { get; set; }

        /// <summary>
        /// cloud-init: Password to assign the user. Using this is generally not recommended. Use ssh keys instead. Also note that older cloud-init versions do not support hashed passwords.
        /// </summary>
        /// <value>cloud-init: Password to assign the user. Using this is generally not recommended. Use ssh keys instead. Also note that older cloud-init versions do not support hashed passwords.</value>
        [DataMember(Name = "cipassword", EmitDefaultValue = false)]
        public string Cipassword { get; set; }

        /// <summary>
        /// Specifies the cloud-init configuration format. The default depends on the configured operating system type (&#x60;ostype&#x60;. We use the &#x60;nocloud&#x60; format for Linux, and &#x60;configdrive2&#x60; for windows.
        /// </summary>
        /// <value>Specifies the cloud-init configuration format. The default depends on the configured operating system type (&#x60;ostype&#x60;. We use the &#x60;nocloud&#x60; format for Linux, and &#x60;configdrive2&#x60; for windows.</value>
        [DataMember(Name = "citype", EmitDefaultValue = false)]
        public string Citype { get; set; }

        /// <summary>
        /// cloud-init: do an automatic package upgrade after the first boot.
        /// </summary>
        /// <value>cloud-init: do an automatic package upgrade after the first boot.</value>
        [DataMember(Name = "ciupgrade", EmitDefaultValue = false)]
        public Int64 Ciupgrade { get; set; }

        /// <summary>
        /// cloud-init: User name to change ssh keys and password for instead of the image&#39;s configured default user.
        /// </summary>
        /// <value>cloud-init: User name to change ssh keys and password for instead of the image&#39;s configured default user.</value>
        [DataMember(Name = "ciuser", EmitDefaultValue = false)]
        public string Ciuser { get; set; }

        /// <summary>
        /// The number of cores per socket.
        /// </summary>
        /// <value>The number of cores per socket.</value>
        [DataMember(Name = "cores", EmitDefaultValue = false)]
        public Int64 Cores { get; set; }

        /// <summary>
        /// Emulated CPU type.
        /// </summary>
        /// <value>Emulated CPU type.</value>
        [DataMember(Name = "cpu", EmitDefaultValue = false)]
        public string Cpu { get; set; }

        /// <summary>
        /// Limit of CPU usage.
        /// </summary>
        /// <value>Limit of CPU usage.</value>
        [DataMember(Name = "cpulimit", EmitDefaultValue = false)]
        public decimal Cpulimit { get; set; }

        /// <summary>
        /// CPU weight for a VM, will be clamped to [1, 10000] in cgroup v2.
        /// </summary>
        /// <value>CPU weight for a VM, will be clamped to [1, 10000] in cgroup v2.</value>
        [DataMember(Name = "cpuunits", EmitDefaultValue = false)]
        public Int64 Cpuunits { get; set; }

        /// <summary>
        /// Description for the VM. Shown in the web-interface VM&#39;s summary. This is saved as comment inside the configuration file.
        /// </summary>
        /// <value>Description for the VM. Shown in the web-interface VM&#39;s summary. This is saved as comment inside the configuration file.</value>
        [DataMember(Name = "description", EmitDefaultValue = false)]
        public string Description { get; set; }

        /// <summary>
        /// SHA1 digest of configuration file. This can be used to prevent concurrent modifications.
        /// </summary>
        /// <value>SHA1 digest of configuration file. This can be used to prevent concurrent modifications.</value>
        [DataMember(Name = "digest", EmitDefaultValue = false)]
        public string Digest { get; set; }

        /// <summary>
        /// Configure a disk for storing EFI vars.
        /// </summary>
        /// <value>Configure a disk for storing EFI vars.</value>
        [DataMember(Name = "efidisk0", EmitDefaultValue = false)]
        public string Efidisk0 { get; set; }

        /// <summary>
        /// Freeze CPU at startup (use &#39;c&#39; monitor command to start execution).
        /// </summary>
        /// <value>Freeze CPU at startup (use &#39;c&#39; monitor command to start execution).</value>
        [DataMember(Name = "freeze", EmitDefaultValue = false)]
        public Int64 Freeze { get; set; }

        /// <summary>
        /// Script that will be executed during various steps in the vms lifetime.
        /// </summary>
        /// <value>Script that will be executed during various steps in the vms lifetime.</value>
        [DataMember(Name = "hookscript", EmitDefaultValue = false)]
        public string Hookscript { get; set; }

        /// <summary>
        /// Map host PCI devices into guest.
        /// </summary>
        /// <value>Map host PCI devices into guest.</value>
        [DataMember(Name = "hostpci0", EmitDefaultValue = false)]
        public string Hostpci0 { get; set; }

        /// <summary>
        /// Map host PCI devices into guest.
        /// </summary>
        /// <value>Map host PCI devices into guest.</value>
        [DataMember(Name = "hostpci1", EmitDefaultValue = false)]
        public string Hostpci1 { get; set; }

        /// <summary>
        /// Map host PCI devices into guest.
        /// </summary>
        /// <value>Map host PCI devices into guest.</value>
        [DataMember(Name = "hostpci2", EmitDefaultValue = false)]
        public string Hostpci2 { get; set; }

        /// <summary>
        /// Map host PCI devices into guest.
        /// </summary>
        /// <value>Map host PCI devices into guest.</value>
        [DataMember(Name = "hostpci3", EmitDefaultValue = false)]
        public string Hostpci3 { get; set; }

        /// <summary>
        /// Map host PCI devices into guest.
        /// </summary>
        /// <value>Map host PCI devices into guest.</value>
        [DataMember(Name = "hostpci4", EmitDefaultValue = false)]
        public string Hostpci4 { get; set; }

        /// <summary>
        /// Map host PCI devices into guest.
        /// </summary>
        /// <value>Map host PCI devices into guest.</value>
        [DataMember(Name = "hostpci5", EmitDefaultValue = false)]
        public string Hostpci5 { get; set; }

        /// <summary>
        /// Map host PCI devices into guest.
        /// </summary>
        /// <value>Map host PCI devices into guest.</value>
        [DataMember(Name = "hostpci6", EmitDefaultValue = false)]
        public string Hostpci6 { get; set; }

        /// <summary>
        /// Map host PCI devices into guest.
        /// </summary>
        /// <value>Map host PCI devices into guest.</value>
        [DataMember(Name = "hostpci7", EmitDefaultValue = false)]
        public string Hostpci7 { get; set; }

        /// <summary>
        /// Map host PCI devices into guest.
        /// </summary>
        /// <value>Map host PCI devices into guest.</value>
        [DataMember(Name = "hostpci8", EmitDefaultValue = false)]
        public string Hostpci8 { get; set; }

        /// <summary>
        /// Map host PCI devices into guest.
        /// </summary>
        /// <value>Map host PCI devices into guest.</value>
        [DataMember(Name = "hostpci9", EmitDefaultValue = false)]
        public string Hostpci9 { get; set; }

        /// <summary>
        /// Map host PCI devices into guest.
        /// </summary>
        /// <value>Map host PCI devices into guest.</value>
        [DataMember(Name = "hostpci10", EmitDefaultValue = false)]
        public string Hostpci10 { get; set; }

        /// <summary>
        /// Map host PCI devices into guest.
        /// </summary>
        /// <value>Map host PCI devices into guest.</value>
        [DataMember(Name = "hostpci11", EmitDefaultValue = false)]
        public string Hostpci11 { get; set; }

        /// <summary>
        /// Map host PCI devices into guest.
        /// </summary>
        /// <value>Map host PCI devices into guest.</value>
        [DataMember(Name = "hostpci12", EmitDefaultValue = false)]
        public string Hostpci12 { get; set; }

        /// <summary>
        /// Map host PCI devices into guest.
        /// </summary>
        /// <value>Map host PCI devices into guest.</value>
        [DataMember(Name = "hostpci13", EmitDefaultValue = false)]
        public string Hostpci13 { get; set; }

        /// <summary>
        /// Map host PCI devices into guest.
        /// </summary>
        /// <value>Map host PCI devices into guest.</value>
        [DataMember(Name = "hostpci14", EmitDefaultValue = false)]
        public string Hostpci14 { get; set; }

        /// <summary>
        /// Map host PCI devices into guest.
        /// </summary>
        /// <value>Map host PCI devices into guest.</value>
        [DataMember(Name = "hostpci15", EmitDefaultValue = false)]
        public string Hostpci15 { get; set; }

        /// <summary>
        /// Map host PCI devices into guest.
        /// </summary>
        /// <value>Map host PCI devices into guest.</value>
        [DataMember(Name = "hostpci16", EmitDefaultValue = false)]
        public string Hostpci16 { get; set; }

        /// <summary>
        /// Map host PCI devices into guest.
        /// </summary>
        /// <value>Map host PCI devices into guest.</value>
        [DataMember(Name = "hostpci17", EmitDefaultValue = false)]
        public string Hostpci17 { get; set; }

        /// <summary>
        /// Map host PCI devices into guest.
        /// </summary>
        /// <value>Map host PCI devices into guest.</value>
        [DataMember(Name = "hostpci18", EmitDefaultValue = false)]
        public string Hostpci18 { get; set; }

        /// <summary>
        /// Map host PCI devices into guest.
        /// </summary>
        /// <value>Map host PCI devices into guest.</value>
        [DataMember(Name = "hostpci19", EmitDefaultValue = false)]
        public string Hostpci19 { get; set; }

        /// <summary>
        /// Map host PCI devices into guest.
        /// </summary>
        /// <value>Map host PCI devices into guest.</value>
        [DataMember(Name = "hostpci20", EmitDefaultValue = false)]
        public string Hostpci20 { get; set; }

        /// <summary>
        /// Map host PCI devices into guest.
        /// </summary>
        /// <value>Map host PCI devices into guest.</value>
        [DataMember(Name = "hostpci21", EmitDefaultValue = false)]
        public string Hostpci21 { get; set; }

        /// <summary>
        /// Map host PCI devices into guest.
        /// </summary>
        /// <value>Map host PCI devices into guest.</value>
        [DataMember(Name = "hostpci22", EmitDefaultValue = false)]
        public string Hostpci22 { get; set; }

        /// <summary>
        /// Map host PCI devices into guest.
        /// </summary>
        /// <value>Map host PCI devices into guest.</value>
        [DataMember(Name = "hostpci23", EmitDefaultValue = false)]
        public string Hostpci23 { get; set; }

        /// <summary>
        /// Map host PCI devices into guest.
        /// </summary>
        /// <value>Map host PCI devices into guest.</value>
        [DataMember(Name = "hostpci24", EmitDefaultValue = false)]
        public string Hostpci24 { get; set; }

        /// <summary>
        /// Map host PCI devices into guest.
        /// </summary>
        /// <value>Map host PCI devices into guest.</value>
        [DataMember(Name = "hostpci25", EmitDefaultValue = false)]
        public string Hostpci25 { get; set; }

        /// <summary>
        /// Map host PCI devices into guest.
        /// </summary>
        /// <value>Map host PCI devices into guest.</value>
        [DataMember(Name = "hostpci26", EmitDefaultValue = false)]
        public string Hostpci26 { get; set; }

        /// <summary>
        /// Map host PCI devices into guest.
        /// </summary>
        /// <value>Map host PCI devices into guest.</value>
        [DataMember(Name = "hostpci27", EmitDefaultValue = false)]
        public string Hostpci27 { get; set; }

        /// <summary>
        /// Map host PCI devices into guest.
        /// </summary>
        /// <value>Map host PCI devices into guest.</value>
        [DataMember(Name = "hostpci28", EmitDefaultValue = false)]
        public string Hostpci28 { get; set; }

        /// <summary>
        /// Map host PCI devices into guest.
        /// </summary>
        /// <value>Map host PCI devices into guest.</value>
        [DataMember(Name = "hostpci29", EmitDefaultValue = false)]
        public string Hostpci29 { get; set; }

        /// <summary>
        /// Selectively enable hotplug features. This is a comma separated list of hotplug features: &#39;network&#39;, &#39;disk&#39;, &#39;cpu&#39;, &#39;memory&#39;, &#39;usb&#39; and &#39;cloudinit&#39;. Use &#39;0&#39; to disable hotplug completely. Using &#39;1&#39; as value is an alias for the default &#x60;network,disk,usb&#x60;. USB hotplugging is possible for guests with machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7.
        /// </summary>
        /// <value>Selectively enable hotplug features. This is a comma separated list of hotplug features: &#39;network&#39;, &#39;disk&#39;, &#39;cpu&#39;, &#39;memory&#39;, &#39;usb&#39; and &#39;cloudinit&#39;. Use &#39;0&#39; to disable hotplug completely. Using &#39;1&#39; as value is an alias for the default &#x60;network,disk,usb&#x60;. USB hotplugging is possible for guests with machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7.</value>
        [DataMember(Name = "hotplug", EmitDefaultValue = false)]
        public string Hotplug { get; set; }

        /// <summary>
        /// Enables hugepages memory.  Sets the size of hugepages in MiB. If the value is set to &#39;any&#39; then 1 GiB hugepages will be used if possible, otherwise the size will fall back to 2 MiB.
        /// </summary>
        /// <value>Enables hugepages memory.  Sets the size of hugepages in MiB. If the value is set to &#39;any&#39; then 1 GiB hugepages will be used if possible, otherwise the size will fall back to 2 MiB.</value>
        [DataMember(Name = "hugepages", EmitDefaultValue = false)]
        public string Hugepages { get; set; }

        /// <summary>
        /// Use volume as IDE hard disk or CD-ROM (n is 0 to 3).
        /// </summary>
        /// <value>Use volume as IDE hard disk or CD-ROM (n is 0 to 3).</value>
        [DataMember(Name = "ide0", EmitDefaultValue = false)]
        public string Ide0 { get; set; }

        /// <summary>
        /// Use volume as IDE hard disk or CD-ROM (n is 0 to 3).
        /// </summary>
        /// <value>Use volume as IDE hard disk or CD-ROM (n is 0 to 3).</value>
        [DataMember(Name = "ide1", EmitDefaultValue = false)]
        public string Ide1 { get; set; }

        /// <summary>
        /// Use volume as IDE hard disk or CD-ROM (n is 0 to 3).
        /// </summary>
        /// <value>Use volume as IDE hard disk or CD-ROM (n is 0 to 3).</value>
        [DataMember(Name = "ide2", EmitDefaultValue = false)]
        public string Ide2 { get; set; }

        /// <summary>
        /// Use volume as IDE hard disk or CD-ROM (n is 0 to 3).
        /// </summary>
        /// <value>Use volume as IDE hard disk or CD-ROM (n is 0 to 3).</value>
        [DataMember(Name = "ide3", EmitDefaultValue = false)]
        public string Ide3 { get; set; }

        /// <summary>
        /// Use volume as IDE hard disk or CD-ROM (n is 0 to 3).
        /// </summary>
        /// <value>Use volume as IDE hard disk or CD-ROM (n is 0 to 3).</value>
        [DataMember(Name = "ide4", EmitDefaultValue = false)]
        public string Ide4 { get; set; }

        /// <summary>
        /// Use volume as IDE hard disk or CD-ROM (n is 0 to 3).
        /// </summary>
        /// <value>Use volume as IDE hard disk or CD-ROM (n is 0 to 3).</value>
        [DataMember(Name = "ide5", EmitDefaultValue = false)]
        public string Ide5 { get; set; }

        /// <summary>
        /// Use volume as IDE hard disk or CD-ROM (n is 0 to 3).
        /// </summary>
        /// <value>Use volume as IDE hard disk or CD-ROM (n is 0 to 3).</value>
        [DataMember(Name = "ide6", EmitDefaultValue = false)]
        public string Ide6 { get; set; }

        /// <summary>
        /// Use volume as IDE hard disk or CD-ROM (n is 0 to 3).
        /// </summary>
        /// <value>Use volume as IDE hard disk or CD-ROM (n is 0 to 3).</value>
        [DataMember(Name = "ide7", EmitDefaultValue = false)]
        public string Ide7 { get; set; }

        /// <summary>
        /// Use volume as IDE hard disk or CD-ROM (n is 0 to 3).
        /// </summary>
        /// <value>Use volume as IDE hard disk or CD-ROM (n is 0 to 3).</value>
        [DataMember(Name = "ide8", EmitDefaultValue = false)]
        public string Ide8 { get; set; }

        /// <summary>
        /// Use volume as IDE hard disk or CD-ROM (n is 0 to 3).
        /// </summary>
        /// <value>Use volume as IDE hard disk or CD-ROM (n is 0 to 3).</value>
        [DataMember(Name = "ide9", EmitDefaultValue = false)]
        public string Ide9 { get; set; }

        /// <summary>
        /// Use volume as IDE hard disk or CD-ROM (n is 0 to 3).
        /// </summary>
        /// <value>Use volume as IDE hard disk or CD-ROM (n is 0 to 3).</value>
        [DataMember(Name = "ide10", EmitDefaultValue = false)]
        public string Ide10 { get; set; }

        /// <summary>
        /// Use volume as IDE hard disk or CD-ROM (n is 0 to 3).
        /// </summary>
        /// <value>Use volume as IDE hard disk or CD-ROM (n is 0 to 3).</value>
        [DataMember(Name = "ide11", EmitDefaultValue = false)]
        public string Ide11 { get; set; }

        /// <summary>
        /// Use volume as IDE hard disk or CD-ROM (n is 0 to 3).
        /// </summary>
        /// <value>Use volume as IDE hard disk or CD-ROM (n is 0 to 3).</value>
        [DataMember(Name = "ide12", EmitDefaultValue = false)]
        public string Ide12 { get; set; }

        /// <summary>
        /// Use volume as IDE hard disk or CD-ROM (n is 0 to 3).
        /// </summary>
        /// <value>Use volume as IDE hard disk or CD-ROM (n is 0 to 3).</value>
        [DataMember(Name = "ide13", EmitDefaultValue = false)]
        public string Ide13 { get; set; }

        /// <summary>
        /// Use volume as IDE hard disk or CD-ROM (n is 0 to 3).
        /// </summary>
        /// <value>Use volume as IDE hard disk or CD-ROM (n is 0 to 3).</value>
        [DataMember(Name = "ide14", EmitDefaultValue = false)]
        public string Ide14 { get; set; }

        /// <summary>
        /// Use volume as IDE hard disk or CD-ROM (n is 0 to 3).
        /// </summary>
        /// <value>Use volume as IDE hard disk or CD-ROM (n is 0 to 3).</value>
        [DataMember(Name = "ide15", EmitDefaultValue = false)]
        public string Ide15 { get; set; }

        /// <summary>
        /// Use volume as IDE hard disk or CD-ROM (n is 0 to 3).
        /// </summary>
        /// <value>Use volume as IDE hard disk or CD-ROM (n is 0 to 3).</value>
        [DataMember(Name = "ide16", EmitDefaultValue = false)]
        public string Ide16 { get; set; }

        /// <summary>
        /// Use volume as IDE hard disk or CD-ROM (n is 0 to 3).
        /// </summary>
        /// <value>Use volume as IDE hard disk or CD-ROM (n is 0 to 3).</value>
        [DataMember(Name = "ide17", EmitDefaultValue = false)]
        public string Ide17 { get; set; }

        /// <summary>
        /// Use volume as IDE hard disk or CD-ROM (n is 0 to 3).
        /// </summary>
        /// <value>Use volume as IDE hard disk or CD-ROM (n is 0 to 3).</value>
        [DataMember(Name = "ide18", EmitDefaultValue = false)]
        public string Ide18 { get; set; }

        /// <summary>
        /// Use volume as IDE hard disk or CD-ROM (n is 0 to 3).
        /// </summary>
        /// <value>Use volume as IDE hard disk or CD-ROM (n is 0 to 3).</value>
        [DataMember(Name = "ide19", EmitDefaultValue = false)]
        public string Ide19 { get; set; }

        /// <summary>
        /// Use volume as IDE hard disk or CD-ROM (n is 0 to 3).
        /// </summary>
        /// <value>Use volume as IDE hard disk or CD-ROM (n is 0 to 3).</value>
        [DataMember(Name = "ide20", EmitDefaultValue = false)]
        public string Ide20 { get; set; }

        /// <summary>
        /// Use volume as IDE hard disk or CD-ROM (n is 0 to 3).
        /// </summary>
        /// <value>Use volume as IDE hard disk or CD-ROM (n is 0 to 3).</value>
        [DataMember(Name = "ide21", EmitDefaultValue = false)]
        public string Ide21 { get; set; }

        /// <summary>
        /// Use volume as IDE hard disk or CD-ROM (n is 0 to 3).
        /// </summary>
        /// <value>Use volume as IDE hard disk or CD-ROM (n is 0 to 3).</value>
        [DataMember(Name = "ide22", EmitDefaultValue = false)]
        public string Ide22 { get; set; }

        /// <summary>
        /// Use volume as IDE hard disk or CD-ROM (n is 0 to 3).
        /// </summary>
        /// <value>Use volume as IDE hard disk or CD-ROM (n is 0 to 3).</value>
        [DataMember(Name = "ide23", EmitDefaultValue = false)]
        public string Ide23 { get; set; }

        /// <summary>
        /// Use volume as IDE hard disk or CD-ROM (n is 0 to 3).
        /// </summary>
        /// <value>Use volume as IDE hard disk or CD-ROM (n is 0 to 3).</value>
        [DataMember(Name = "ide24", EmitDefaultValue = false)]
        public string Ide24 { get; set; }

        /// <summary>
        /// Use volume as IDE hard disk or CD-ROM (n is 0 to 3).
        /// </summary>
        /// <value>Use volume as IDE hard disk or CD-ROM (n is 0 to 3).</value>
        [DataMember(Name = "ide25", EmitDefaultValue = false)]
        public string Ide25 { get; set; }

        /// <summary>
        /// Use volume as IDE hard disk or CD-ROM (n is 0 to 3).
        /// </summary>
        /// <value>Use volume as IDE hard disk or CD-ROM (n is 0 to 3).</value>
        [DataMember(Name = "ide26", EmitDefaultValue = false)]
        public string Ide26 { get; set; }

        /// <summary>
        /// Use volume as IDE hard disk or CD-ROM (n is 0 to 3).
        /// </summary>
        /// <value>Use volume as IDE hard disk or CD-ROM (n is 0 to 3).</value>
        [DataMember(Name = "ide27", EmitDefaultValue = false)]
        public string Ide27 { get; set; }

        /// <summary>
        /// Use volume as IDE hard disk or CD-ROM (n is 0 to 3).
        /// </summary>
        /// <value>Use volume as IDE hard disk or CD-ROM (n is 0 to 3).</value>
        [DataMember(Name = "ide28", EmitDefaultValue = false)]
        public string Ide28 { get; set; }

        /// <summary>
        /// Use volume as IDE hard disk or CD-ROM (n is 0 to 3).
        /// </summary>
        /// <value>Use volume as IDE hard disk or CD-ROM (n is 0 to 3).</value>
        [DataMember(Name = "ide29", EmitDefaultValue = false)]
        public string Ide29 { get; set; }

        /// <summary>
        /// Trusted Domain Extension (TDX) features by Intel CPUs
        /// </summary>
        /// <value>Trusted Domain Extension (TDX) features by Intel CPUs</value>
        [DataMember(Name = "intel-tdx", EmitDefaultValue = false)]
        public string IntelTdx { get; set; }

        /// <summary>
        /// cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. 
        /// </summary>
        /// <value>cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. </value>
        [DataMember(Name = "ipconfig0", EmitDefaultValue = false)]
        public string Ipconfig0 { get; set; }

        /// <summary>
        /// cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. 
        /// </summary>
        /// <value>cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. </value>
        [DataMember(Name = "ipconfig1", EmitDefaultValue = false)]
        public string Ipconfig1 { get; set; }

        /// <summary>
        /// cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. 
        /// </summary>
        /// <value>cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. </value>
        [DataMember(Name = "ipconfig2", EmitDefaultValue = false)]
        public string Ipconfig2 { get; set; }

        /// <summary>
        /// cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. 
        /// </summary>
        /// <value>cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. </value>
        [DataMember(Name = "ipconfig3", EmitDefaultValue = false)]
        public string Ipconfig3 { get; set; }

        /// <summary>
        /// cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. 
        /// </summary>
        /// <value>cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. </value>
        [DataMember(Name = "ipconfig4", EmitDefaultValue = false)]
        public string Ipconfig4 { get; set; }

        /// <summary>
        /// cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. 
        /// </summary>
        /// <value>cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. </value>
        [DataMember(Name = "ipconfig5", EmitDefaultValue = false)]
        public string Ipconfig5 { get; set; }

        /// <summary>
        /// cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. 
        /// </summary>
        /// <value>cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. </value>
        [DataMember(Name = "ipconfig6", EmitDefaultValue = false)]
        public string Ipconfig6 { get; set; }

        /// <summary>
        /// cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. 
        /// </summary>
        /// <value>cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. </value>
        [DataMember(Name = "ipconfig7", EmitDefaultValue = false)]
        public string Ipconfig7 { get; set; }

        /// <summary>
        /// cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. 
        /// </summary>
        /// <value>cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. </value>
        [DataMember(Name = "ipconfig8", EmitDefaultValue = false)]
        public string Ipconfig8 { get; set; }

        /// <summary>
        /// cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. 
        /// </summary>
        /// <value>cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. </value>
        [DataMember(Name = "ipconfig9", EmitDefaultValue = false)]
        public string Ipconfig9 { get; set; }

        /// <summary>
        /// cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. 
        /// </summary>
        /// <value>cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. </value>
        [DataMember(Name = "ipconfig10", EmitDefaultValue = false)]
        public string Ipconfig10 { get; set; }

        /// <summary>
        /// cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. 
        /// </summary>
        /// <value>cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. </value>
        [DataMember(Name = "ipconfig11", EmitDefaultValue = false)]
        public string Ipconfig11 { get; set; }

        /// <summary>
        /// cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. 
        /// </summary>
        /// <value>cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. </value>
        [DataMember(Name = "ipconfig12", EmitDefaultValue = false)]
        public string Ipconfig12 { get; set; }

        /// <summary>
        /// cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. 
        /// </summary>
        /// <value>cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. </value>
        [DataMember(Name = "ipconfig13", EmitDefaultValue = false)]
        public string Ipconfig13 { get; set; }

        /// <summary>
        /// cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. 
        /// </summary>
        /// <value>cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. </value>
        [DataMember(Name = "ipconfig14", EmitDefaultValue = false)]
        public string Ipconfig14 { get; set; }

        /// <summary>
        /// cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. 
        /// </summary>
        /// <value>cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. </value>
        [DataMember(Name = "ipconfig15", EmitDefaultValue = false)]
        public string Ipconfig15 { get; set; }

        /// <summary>
        /// cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. 
        /// </summary>
        /// <value>cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. </value>
        [DataMember(Name = "ipconfig16", EmitDefaultValue = false)]
        public string Ipconfig16 { get; set; }

        /// <summary>
        /// cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. 
        /// </summary>
        /// <value>cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. </value>
        [DataMember(Name = "ipconfig17", EmitDefaultValue = false)]
        public string Ipconfig17 { get; set; }

        /// <summary>
        /// cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. 
        /// </summary>
        /// <value>cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. </value>
        [DataMember(Name = "ipconfig18", EmitDefaultValue = false)]
        public string Ipconfig18 { get; set; }

        /// <summary>
        /// cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. 
        /// </summary>
        /// <value>cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. </value>
        [DataMember(Name = "ipconfig19", EmitDefaultValue = false)]
        public string Ipconfig19 { get; set; }

        /// <summary>
        /// cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. 
        /// </summary>
        /// <value>cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. </value>
        [DataMember(Name = "ipconfig20", EmitDefaultValue = false)]
        public string Ipconfig20 { get; set; }

        /// <summary>
        /// cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. 
        /// </summary>
        /// <value>cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. </value>
        [DataMember(Name = "ipconfig21", EmitDefaultValue = false)]
        public string Ipconfig21 { get; set; }

        /// <summary>
        /// cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. 
        /// </summary>
        /// <value>cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. </value>
        [DataMember(Name = "ipconfig22", EmitDefaultValue = false)]
        public string Ipconfig22 { get; set; }

        /// <summary>
        /// cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. 
        /// </summary>
        /// <value>cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. </value>
        [DataMember(Name = "ipconfig23", EmitDefaultValue = false)]
        public string Ipconfig23 { get; set; }

        /// <summary>
        /// cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. 
        /// </summary>
        /// <value>cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. </value>
        [DataMember(Name = "ipconfig24", EmitDefaultValue = false)]
        public string Ipconfig24 { get; set; }

        /// <summary>
        /// cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. 
        /// </summary>
        /// <value>cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. </value>
        [DataMember(Name = "ipconfig25", EmitDefaultValue = false)]
        public string Ipconfig25 { get; set; }

        /// <summary>
        /// cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. 
        /// </summary>
        /// <value>cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. </value>
        [DataMember(Name = "ipconfig26", EmitDefaultValue = false)]
        public string Ipconfig26 { get; set; }

        /// <summary>
        /// cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. 
        /// </summary>
        /// <value>cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. </value>
        [DataMember(Name = "ipconfig27", EmitDefaultValue = false)]
        public string Ipconfig27 { get; set; }

        /// <summary>
        /// cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. 
        /// </summary>
        /// <value>cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. </value>
        [DataMember(Name = "ipconfig28", EmitDefaultValue = false)]
        public string Ipconfig28 { get; set; }

        /// <summary>
        /// cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. 
        /// </summary>
        /// <value>cloud-init: Specify IP addresses and gateways for the corresponding interface.  IP addresses use CIDR notation, gateways are optional but need an IP of the same type specified.  The special string &#39;dhcp&#39; can be used for IP addresses to use DHCP, in which case no explicit gateway should be provided. For IPv6 the special string &#39;auto&#39; can be used to use stateless autoconfiguration. This requires cloud-init 19.4 or newer.  If cloud-init is enabled and neither an IPv4 nor an IPv6 address is specified, it defaults to using dhcp on IPv4. </value>
        [DataMember(Name = "ipconfig29", EmitDefaultValue = false)]
        public string Ipconfig29 { get; set; }

        /// <summary>
        /// Inter-VM shared memory. Useful for direct communication between VMs, or to the host.
        /// </summary>
        /// <value>Inter-VM shared memory. Useful for direct communication between VMs, or to the host.</value>
        [DataMember(Name = "ivshmem", EmitDefaultValue = false)]
        public string Ivshmem { get; set; }

        /// <summary>
        /// Use together with hugepages. If enabled, hugepages will not not be deleted after VM shutdown and can be used for subsequent starts.
        /// </summary>
        /// <value>Use together with hugepages. If enabled, hugepages will not not be deleted after VM shutdown and can be used for subsequent starts.</value>
        [DataMember(Name = "keephugepages", EmitDefaultValue = false)]
        public Int64 Keephugepages { get; set; }

        /// <summary>
        /// Keyboard layout for VNC server. This option is generally not required and is often better handled from within the guest OS.
        /// </summary>
        /// <value>Keyboard layout for VNC server. This option is generally not required and is often better handled from within the guest OS.</value>
        [DataMember(Name = "keyboard", EmitDefaultValue = false)]
        public string Keyboard { get; set; }

        /// <summary>
        /// Enable/disable KVM hardware virtualization.
        /// </summary>
        /// <value>Enable/disable KVM hardware virtualization.</value>
        [DataMember(Name = "kvm", EmitDefaultValue = false)]
        public Int64 Kvm { get; set; }

        /// <summary>
        /// Set the real time clock (RTC) to local time. This is enabled by default if the &#x60;ostype&#x60; indicates a Microsoft Windows OS.
        /// </summary>
        /// <value>Set the real time clock (RTC) to local time. This is enabled by default if the &#x60;ostype&#x60; indicates a Microsoft Windows OS.</value>
        [DataMember(Name = "localtime", EmitDefaultValue = false)]
        public Int64 Localtime { get; set; }

        /// <summary>
        /// Lock/unlock the VM.
        /// </summary>
        /// <value>Lock/unlock the VM.</value>
        [DataMember(Name = "lock", EmitDefaultValue = false)]
        public string Lock { get; set; }

        /// <summary>
        /// Specify the QEMU machine.
        /// </summary>
        /// <value>Specify the QEMU machine.</value>
        [DataMember(Name = "machine", EmitDefaultValue = false)]
        public string Machine { get; set; }

        /// <summary>
        /// Memory properties.
        /// </summary>
        /// <value>Memory properties.</value>
        [DataMember(Name = "memory", EmitDefaultValue = false)]
        public string Memory { get; set; }

        /// <summary>
        /// Some (read-only) meta-information about this guest.
        /// </summary>
        /// <value>Some (read-only) meta-information about this guest.</value>
        [DataMember(Name = "meta", EmitDefaultValue = false)]
        public string Meta { get; set; }

        /// <summary>
        /// Set maximum tolerated downtime (in seconds) for migrations. Should the migration not be able to converge in the very end, because too much newly dirtied RAM needs to be transferred, the limit will be increased automatically step-by-step until migration can converge.
        /// </summary>
        /// <value>Set maximum tolerated downtime (in seconds) for migrations. Should the migration not be able to converge in the very end, because too much newly dirtied RAM needs to be transferred, the limit will be increased automatically step-by-step until migration can converge.</value>
        [DataMember(Name = "migrate_downtime", EmitDefaultValue = false)]
        public decimal MigrateDowntime { get; set; }

        /// <summary>
        /// Set maximum speed (in MB/s) for migrations. Value 0 is no limit.
        /// </summary>
        /// <value>Set maximum speed (in MB/s) for migrations. Value 0 is no limit.</value>
        [DataMember(Name = "migrate_speed", EmitDefaultValue = false)]
        public Int64 MigrateSpeed { get; set; }

        /// <summary>
        /// Set a name for the VM. Only used on the configuration web interface.
        /// </summary>
        /// <value>Set a name for the VM. Only used on the configuration web interface.</value>
        [DataMember(Name = "name", EmitDefaultValue = false)]
        public string Name { get; set; }

        /// <summary>
        /// cloud-init: Sets DNS server IP address for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.
        /// </summary>
        /// <value>cloud-init: Sets DNS server IP address for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.</value>
        [DataMember(Name = "nameserver", EmitDefaultValue = false)]
        public string Nameserver { get; set; }

        /// <summary>
        /// Specify network devices.
        /// </summary>
        /// <value>Specify network devices.</value>
        [DataMember(Name = "net0", EmitDefaultValue = false)]
        public string Net0 { get; set; }

        /// <summary>
        /// Specify network devices.
        /// </summary>
        /// <value>Specify network devices.</value>
        [DataMember(Name = "net1", EmitDefaultValue = false)]
        public string Net1 { get; set; }

        /// <summary>
        /// Specify network devices.
        /// </summary>
        /// <value>Specify network devices.</value>
        [DataMember(Name = "net2", EmitDefaultValue = false)]
        public string Net2 { get; set; }

        /// <summary>
        /// Specify network devices.
        /// </summary>
        /// <value>Specify network devices.</value>
        [DataMember(Name = "net3", EmitDefaultValue = false)]
        public string Net3 { get; set; }

        /// <summary>
        /// Specify network devices.
        /// </summary>
        /// <value>Specify network devices.</value>
        [DataMember(Name = "net4", EmitDefaultValue = false)]
        public string Net4 { get; set; }

        /// <summary>
        /// Specify network devices.
        /// </summary>
        /// <value>Specify network devices.</value>
        [DataMember(Name = "net5", EmitDefaultValue = false)]
        public string Net5 { get; set; }

        /// <summary>
        /// Specify network devices.
        /// </summary>
        /// <value>Specify network devices.</value>
        [DataMember(Name = "net6", EmitDefaultValue = false)]
        public string Net6 { get; set; }

        /// <summary>
        /// Specify network devices.
        /// </summary>
        /// <value>Specify network devices.</value>
        [DataMember(Name = "net7", EmitDefaultValue = false)]
        public string Net7 { get; set; }

        /// <summary>
        /// Specify network devices.
        /// </summary>
        /// <value>Specify network devices.</value>
        [DataMember(Name = "net8", EmitDefaultValue = false)]
        public string Net8 { get; set; }

        /// <summary>
        /// Specify network devices.
        /// </summary>
        /// <value>Specify network devices.</value>
        [DataMember(Name = "net9", EmitDefaultValue = false)]
        public string Net9 { get; set; }

        /// <summary>
        /// Specify network devices.
        /// </summary>
        /// <value>Specify network devices.</value>
        [DataMember(Name = "net10", EmitDefaultValue = false)]
        public string Net10 { get; set; }

        /// <summary>
        /// Specify network devices.
        /// </summary>
        /// <value>Specify network devices.</value>
        [DataMember(Name = "net11", EmitDefaultValue = false)]
        public string Net11 { get; set; }

        /// <summary>
        /// Specify network devices.
        /// </summary>
        /// <value>Specify network devices.</value>
        [DataMember(Name = "net12", EmitDefaultValue = false)]
        public string Net12 { get; set; }

        /// <summary>
        /// Specify network devices.
        /// </summary>
        /// <value>Specify network devices.</value>
        [DataMember(Name = "net13", EmitDefaultValue = false)]
        public string Net13 { get; set; }

        /// <summary>
        /// Specify network devices.
        /// </summary>
        /// <value>Specify network devices.</value>
        [DataMember(Name = "net14", EmitDefaultValue = false)]
        public string Net14 { get; set; }

        /// <summary>
        /// Specify network devices.
        /// </summary>
        /// <value>Specify network devices.</value>
        [DataMember(Name = "net15", EmitDefaultValue = false)]
        public string Net15 { get; set; }

        /// <summary>
        /// Specify network devices.
        /// </summary>
        /// <value>Specify network devices.</value>
        [DataMember(Name = "net16", EmitDefaultValue = false)]
        public string Net16 { get; set; }

        /// <summary>
        /// Specify network devices.
        /// </summary>
        /// <value>Specify network devices.</value>
        [DataMember(Name = "net17", EmitDefaultValue = false)]
        public string Net17 { get; set; }

        /// <summary>
        /// Specify network devices.
        /// </summary>
        /// <value>Specify network devices.</value>
        [DataMember(Name = "net18", EmitDefaultValue = false)]
        public string Net18 { get; set; }

        /// <summary>
        /// Specify network devices.
        /// </summary>
        /// <value>Specify network devices.</value>
        [DataMember(Name = "net19", EmitDefaultValue = false)]
        public string Net19 { get; set; }

        /// <summary>
        /// Specify network devices.
        /// </summary>
        /// <value>Specify network devices.</value>
        [DataMember(Name = "net20", EmitDefaultValue = false)]
        public string Net20 { get; set; }

        /// <summary>
        /// Specify network devices.
        /// </summary>
        /// <value>Specify network devices.</value>
        [DataMember(Name = "net21", EmitDefaultValue = false)]
        public string Net21 { get; set; }

        /// <summary>
        /// Specify network devices.
        /// </summary>
        /// <value>Specify network devices.</value>
        [DataMember(Name = "net22", EmitDefaultValue = false)]
        public string Net22 { get; set; }

        /// <summary>
        /// Specify network devices.
        /// </summary>
        /// <value>Specify network devices.</value>
        [DataMember(Name = "net23", EmitDefaultValue = false)]
        public string Net23 { get; set; }

        /// <summary>
        /// Specify network devices.
        /// </summary>
        /// <value>Specify network devices.</value>
        [DataMember(Name = "net24", EmitDefaultValue = false)]
        public string Net24 { get; set; }

        /// <summary>
        /// Specify network devices.
        /// </summary>
        /// <value>Specify network devices.</value>
        [DataMember(Name = "net25", EmitDefaultValue = false)]
        public string Net25 { get; set; }

        /// <summary>
        /// Specify network devices.
        /// </summary>
        /// <value>Specify network devices.</value>
        [DataMember(Name = "net26", EmitDefaultValue = false)]
        public string Net26 { get; set; }

        /// <summary>
        /// Specify network devices.
        /// </summary>
        /// <value>Specify network devices.</value>
        [DataMember(Name = "net27", EmitDefaultValue = false)]
        public string Net27 { get; set; }

        /// <summary>
        /// Specify network devices.
        /// </summary>
        /// <value>Specify network devices.</value>
        [DataMember(Name = "net28", EmitDefaultValue = false)]
        public string Net28 { get; set; }

        /// <summary>
        /// Specify network devices.
        /// </summary>
        /// <value>Specify network devices.</value>
        [DataMember(Name = "net29", EmitDefaultValue = false)]
        public string Net29 { get; set; }

        /// <summary>
        /// Enable/disable NUMA.
        /// </summary>
        /// <value>Enable/disable NUMA.</value>
        [DataMember(Name = "numa", EmitDefaultValue = false)]
        public Int64 Numa { get; set; }

        /// <summary>
        /// NUMA topology.
        /// </summary>
        /// <value>NUMA topology.</value>
        [DataMember(Name = "numa0", EmitDefaultValue = false)]
        public string Numa0 { get; set; }

        /// <summary>
        /// NUMA topology.
        /// </summary>
        /// <value>NUMA topology.</value>
        [DataMember(Name = "numa1", EmitDefaultValue = false)]
        public string Numa1 { get; set; }

        /// <summary>
        /// NUMA topology.
        /// </summary>
        /// <value>NUMA topology.</value>
        [DataMember(Name = "numa2", EmitDefaultValue = false)]
        public string Numa2 { get; set; }

        /// <summary>
        /// NUMA topology.
        /// </summary>
        /// <value>NUMA topology.</value>
        [DataMember(Name = "numa3", EmitDefaultValue = false)]
        public string Numa3 { get; set; }

        /// <summary>
        /// NUMA topology.
        /// </summary>
        /// <value>NUMA topology.</value>
        [DataMember(Name = "numa4", EmitDefaultValue = false)]
        public string Numa4 { get; set; }

        /// <summary>
        /// NUMA topology.
        /// </summary>
        /// <value>NUMA topology.</value>
        [DataMember(Name = "numa5", EmitDefaultValue = false)]
        public string Numa5 { get; set; }

        /// <summary>
        /// NUMA topology.
        /// </summary>
        /// <value>NUMA topology.</value>
        [DataMember(Name = "numa6", EmitDefaultValue = false)]
        public string Numa6 { get; set; }

        /// <summary>
        /// NUMA topology.
        /// </summary>
        /// <value>NUMA topology.</value>
        [DataMember(Name = "numa7", EmitDefaultValue = false)]
        public string Numa7 { get; set; }

        /// <summary>
        /// NUMA topology.
        /// </summary>
        /// <value>NUMA topology.</value>
        [DataMember(Name = "numa8", EmitDefaultValue = false)]
        public string Numa8 { get; set; }

        /// <summary>
        /// NUMA topology.
        /// </summary>
        /// <value>NUMA topology.</value>
        [DataMember(Name = "numa9", EmitDefaultValue = false)]
        public string Numa9 { get; set; }

        /// <summary>
        /// NUMA topology.
        /// </summary>
        /// <value>NUMA topology.</value>
        [DataMember(Name = "numa10", EmitDefaultValue = false)]
        public string Numa10 { get; set; }

        /// <summary>
        /// NUMA topology.
        /// </summary>
        /// <value>NUMA topology.</value>
        [DataMember(Name = "numa11", EmitDefaultValue = false)]
        public string Numa11 { get; set; }

        /// <summary>
        /// NUMA topology.
        /// </summary>
        /// <value>NUMA topology.</value>
        [DataMember(Name = "numa12", EmitDefaultValue = false)]
        public string Numa12 { get; set; }

        /// <summary>
        /// NUMA topology.
        /// </summary>
        /// <value>NUMA topology.</value>
        [DataMember(Name = "numa13", EmitDefaultValue = false)]
        public string Numa13 { get; set; }

        /// <summary>
        /// NUMA topology.
        /// </summary>
        /// <value>NUMA topology.</value>
        [DataMember(Name = "numa14", EmitDefaultValue = false)]
        public string Numa14 { get; set; }

        /// <summary>
        /// NUMA topology.
        /// </summary>
        /// <value>NUMA topology.</value>
        [DataMember(Name = "numa15", EmitDefaultValue = false)]
        public string Numa15 { get; set; }

        /// <summary>
        /// NUMA topology.
        /// </summary>
        /// <value>NUMA topology.</value>
        [DataMember(Name = "numa16", EmitDefaultValue = false)]
        public string Numa16 { get; set; }

        /// <summary>
        /// NUMA topology.
        /// </summary>
        /// <value>NUMA topology.</value>
        [DataMember(Name = "numa17", EmitDefaultValue = false)]
        public string Numa17 { get; set; }

        /// <summary>
        /// NUMA topology.
        /// </summary>
        /// <value>NUMA topology.</value>
        [DataMember(Name = "numa18", EmitDefaultValue = false)]
        public string Numa18 { get; set; }

        /// <summary>
        /// NUMA topology.
        /// </summary>
        /// <value>NUMA topology.</value>
        [DataMember(Name = "numa19", EmitDefaultValue = false)]
        public string Numa19 { get; set; }

        /// <summary>
        /// NUMA topology.
        /// </summary>
        /// <value>NUMA topology.</value>
        [DataMember(Name = "numa20", EmitDefaultValue = false)]
        public string Numa20 { get; set; }

        /// <summary>
        /// NUMA topology.
        /// </summary>
        /// <value>NUMA topology.</value>
        [DataMember(Name = "numa21", EmitDefaultValue = false)]
        public string Numa21 { get; set; }

        /// <summary>
        /// NUMA topology.
        /// </summary>
        /// <value>NUMA topology.</value>
        [DataMember(Name = "numa22", EmitDefaultValue = false)]
        public string Numa22 { get; set; }

        /// <summary>
        /// NUMA topology.
        /// </summary>
        /// <value>NUMA topology.</value>
        [DataMember(Name = "numa23", EmitDefaultValue = false)]
        public string Numa23 { get; set; }

        /// <summary>
        /// NUMA topology.
        /// </summary>
        /// <value>NUMA topology.</value>
        [DataMember(Name = "numa24", EmitDefaultValue = false)]
        public string Numa24 { get; set; }

        /// <summary>
        /// NUMA topology.
        /// </summary>
        /// <value>NUMA topology.</value>
        [DataMember(Name = "numa25", EmitDefaultValue = false)]
        public string Numa25 { get; set; }

        /// <summary>
        /// NUMA topology.
        /// </summary>
        /// <value>NUMA topology.</value>
        [DataMember(Name = "numa26", EmitDefaultValue = false)]
        public string Numa26 { get; set; }

        /// <summary>
        /// NUMA topology.
        /// </summary>
        /// <value>NUMA topology.</value>
        [DataMember(Name = "numa27", EmitDefaultValue = false)]
        public string Numa27 { get; set; }

        /// <summary>
        /// NUMA topology.
        /// </summary>
        /// <value>NUMA topology.</value>
        [DataMember(Name = "numa28", EmitDefaultValue = false)]
        public string Numa28 { get; set; }

        /// <summary>
        /// NUMA topology.
        /// </summary>
        /// <value>NUMA topology.</value>
        [DataMember(Name = "numa29", EmitDefaultValue = false)]
        public string Numa29 { get; set; }

        /// <summary>
        /// Specifies whether a VM will be started during system bootup.
        /// </summary>
        /// <value>Specifies whether a VM will be started during system bootup.</value>
        [DataMember(Name = "onboot", EmitDefaultValue = false)]
        public Int64 Onboot { get; set; }

        /// <summary>
        /// Specify guest operating system.
        /// </summary>
        /// <value>Specify guest operating system.</value>
        [DataMember(Name = "ostype", EmitDefaultValue = false)]
        public string Ostype { get; set; }

        /// <summary>
        /// Map host parallel devices (n is 0 to 2).
        /// </summary>
        /// <value>Map host parallel devices (n is 0 to 2).</value>
        [DataMember(Name = "parallel0", EmitDefaultValue = false)]
        public string Parallel0 { get; set; }

        /// <summary>
        /// Map host parallel devices (n is 0 to 2).
        /// </summary>
        /// <value>Map host parallel devices (n is 0 to 2).</value>
        [DataMember(Name = "parallel1", EmitDefaultValue = false)]
        public string Parallel1 { get; set; }

        /// <summary>
        /// Map host parallel devices (n is 0 to 2).
        /// </summary>
        /// <value>Map host parallel devices (n is 0 to 2).</value>
        [DataMember(Name = "parallel2", EmitDefaultValue = false)]
        public string Parallel2 { get; set; }

        /// <summary>
        /// Map host parallel devices (n is 0 to 2).
        /// </summary>
        /// <value>Map host parallel devices (n is 0 to 2).</value>
        [DataMember(Name = "parallel3", EmitDefaultValue = false)]
        public string Parallel3 { get; set; }

        /// <summary>
        /// Map host parallel devices (n is 0 to 2).
        /// </summary>
        /// <value>Map host parallel devices (n is 0 to 2).</value>
        [DataMember(Name = "parallel4", EmitDefaultValue = false)]
        public string Parallel4 { get; set; }

        /// <summary>
        /// Map host parallel devices (n is 0 to 2).
        /// </summary>
        /// <value>Map host parallel devices (n is 0 to 2).</value>
        [DataMember(Name = "parallel5", EmitDefaultValue = false)]
        public string Parallel5 { get; set; }

        /// <summary>
        /// Map host parallel devices (n is 0 to 2).
        /// </summary>
        /// <value>Map host parallel devices (n is 0 to 2).</value>
        [DataMember(Name = "parallel6", EmitDefaultValue = false)]
        public string Parallel6 { get; set; }

        /// <summary>
        /// Map host parallel devices (n is 0 to 2).
        /// </summary>
        /// <value>Map host parallel devices (n is 0 to 2).</value>
        [DataMember(Name = "parallel7", EmitDefaultValue = false)]
        public string Parallel7 { get; set; }

        /// <summary>
        /// Map host parallel devices (n is 0 to 2).
        /// </summary>
        /// <value>Map host parallel devices (n is 0 to 2).</value>
        [DataMember(Name = "parallel8", EmitDefaultValue = false)]
        public string Parallel8 { get; set; }

        /// <summary>
        /// Map host parallel devices (n is 0 to 2).
        /// </summary>
        /// <value>Map host parallel devices (n is 0 to 2).</value>
        [DataMember(Name = "parallel9", EmitDefaultValue = false)]
        public string Parallel9 { get; set; }

        /// <summary>
        /// Map host parallel devices (n is 0 to 2).
        /// </summary>
        /// <value>Map host parallel devices (n is 0 to 2).</value>
        [DataMember(Name = "parallel10", EmitDefaultValue = false)]
        public string Parallel10 { get; set; }

        /// <summary>
        /// Map host parallel devices (n is 0 to 2).
        /// </summary>
        /// <value>Map host parallel devices (n is 0 to 2).</value>
        [DataMember(Name = "parallel11", EmitDefaultValue = false)]
        public string Parallel11 { get; set; }

        /// <summary>
        /// Map host parallel devices (n is 0 to 2).
        /// </summary>
        /// <value>Map host parallel devices (n is 0 to 2).</value>
        [DataMember(Name = "parallel12", EmitDefaultValue = false)]
        public string Parallel12 { get; set; }

        /// <summary>
        /// Map host parallel devices (n is 0 to 2).
        /// </summary>
        /// <value>Map host parallel devices (n is 0 to 2).</value>
        [DataMember(Name = "parallel13", EmitDefaultValue = false)]
        public string Parallel13 { get; set; }

        /// <summary>
        /// Map host parallel devices (n is 0 to 2).
        /// </summary>
        /// <value>Map host parallel devices (n is 0 to 2).</value>
        [DataMember(Name = "parallel14", EmitDefaultValue = false)]
        public string Parallel14 { get; set; }

        /// <summary>
        /// Map host parallel devices (n is 0 to 2).
        /// </summary>
        /// <value>Map host parallel devices (n is 0 to 2).</value>
        [DataMember(Name = "parallel15", EmitDefaultValue = false)]
        public string Parallel15 { get; set; }

        /// <summary>
        /// Map host parallel devices (n is 0 to 2).
        /// </summary>
        /// <value>Map host parallel devices (n is 0 to 2).</value>
        [DataMember(Name = "parallel16", EmitDefaultValue = false)]
        public string Parallel16 { get; set; }

        /// <summary>
        /// Map host parallel devices (n is 0 to 2).
        /// </summary>
        /// <value>Map host parallel devices (n is 0 to 2).</value>
        [DataMember(Name = "parallel17", EmitDefaultValue = false)]
        public string Parallel17 { get; set; }

        /// <summary>
        /// Map host parallel devices (n is 0 to 2).
        /// </summary>
        /// <value>Map host parallel devices (n is 0 to 2).</value>
        [DataMember(Name = "parallel18", EmitDefaultValue = false)]
        public string Parallel18 { get; set; }

        /// <summary>
        /// Map host parallel devices (n is 0 to 2).
        /// </summary>
        /// <value>Map host parallel devices (n is 0 to 2).</value>
        [DataMember(Name = "parallel19", EmitDefaultValue = false)]
        public string Parallel19 { get; set; }

        /// <summary>
        /// Map host parallel devices (n is 0 to 2).
        /// </summary>
        /// <value>Map host parallel devices (n is 0 to 2).</value>
        [DataMember(Name = "parallel20", EmitDefaultValue = false)]
        public string Parallel20 { get; set; }

        /// <summary>
        /// Map host parallel devices (n is 0 to 2).
        /// </summary>
        /// <value>Map host parallel devices (n is 0 to 2).</value>
        [DataMember(Name = "parallel21", EmitDefaultValue = false)]
        public string Parallel21 { get; set; }

        /// <summary>
        /// Map host parallel devices (n is 0 to 2).
        /// </summary>
        /// <value>Map host parallel devices (n is 0 to 2).</value>
        [DataMember(Name = "parallel22", EmitDefaultValue = false)]
        public string Parallel22 { get; set; }

        /// <summary>
        /// Map host parallel devices (n is 0 to 2).
        /// </summary>
        /// <value>Map host parallel devices (n is 0 to 2).</value>
        [DataMember(Name = "parallel23", EmitDefaultValue = false)]
        public string Parallel23 { get; set; }

        /// <summary>
        /// Map host parallel devices (n is 0 to 2).
        /// </summary>
        /// <value>Map host parallel devices (n is 0 to 2).</value>
        [DataMember(Name = "parallel24", EmitDefaultValue = false)]
        public string Parallel24 { get; set; }

        /// <summary>
        /// Map host parallel devices (n is 0 to 2).
        /// </summary>
        /// <value>Map host parallel devices (n is 0 to 2).</value>
        [DataMember(Name = "parallel25", EmitDefaultValue = false)]
        public string Parallel25 { get; set; }

        /// <summary>
        /// Map host parallel devices (n is 0 to 2).
        /// </summary>
        /// <value>Map host parallel devices (n is 0 to 2).</value>
        [DataMember(Name = "parallel26", EmitDefaultValue = false)]
        public string Parallel26 { get; set; }

        /// <summary>
        /// Map host parallel devices (n is 0 to 2).
        /// </summary>
        /// <value>Map host parallel devices (n is 0 to 2).</value>
        [DataMember(Name = "parallel27", EmitDefaultValue = false)]
        public string Parallel27 { get; set; }

        /// <summary>
        /// Map host parallel devices (n is 0 to 2).
        /// </summary>
        /// <value>Map host parallel devices (n is 0 to 2).</value>
        [DataMember(Name = "parallel28", EmitDefaultValue = false)]
        public string Parallel28 { get; set; }

        /// <summary>
        /// Map host parallel devices (n is 0 to 2).
        /// </summary>
        /// <value>Map host parallel devices (n is 0 to 2).</value>
        [DataMember(Name = "parallel29", EmitDefaultValue = false)]
        public string Parallel29 { get; set; }

        /// <summary>
        /// Parent snapshot name. This is used internally, and should not be modified.
        /// </summary>
        /// <value>Parent snapshot name. This is used internally, and should not be modified.</value>
        [DataMember(Name = "parent", EmitDefaultValue = false)]
        public string Parent { get; set; }

        /// <summary>
        /// Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.
        /// </summary>
        /// <value>Sets the protection flag of the VM. This will disable the remove VM and remove disk operations.</value>
        [DataMember(Name = "protection", EmitDefaultValue = false)]
        public Int64 Protection { get; set; }

        /// <summary>
        /// Allow reboot. If set to &#39;0&#39; the VM exit on reboot.
        /// </summary>
        /// <value>Allow reboot. If set to &#39;0&#39; the VM exit on reboot.</value>
        [DataMember(Name = "reboot", EmitDefaultValue = false)]
        public Int64 Reboot { get; set; }

        /// <summary>
        /// Configure a VirtIO-based Random Number Generator.
        /// </summary>
        /// <value>Configure a VirtIO-based Random Number Generator.</value>
        [DataMember(Name = "rng0", EmitDefaultValue = false)]
        public string Rng0 { get; set; }

        /// <summary>
        /// List of VirtIO network devices and their effective host_mtu setting. A value of 0 means that the host_mtu parameter is to be avoided for the corresponding device. This is used internally for snapshots.
        /// </summary>
        /// <value>List of VirtIO network devices and their effective host_mtu setting. A value of 0 means that the host_mtu parameter is to be avoided for the corresponding device. This is used internally for snapshots.</value>
        [DataMember(Name = "running-nets-host-mtu", EmitDefaultValue = false)]
        public string RunningNetsHostMtu { get; set; }

        /// <summary>
        /// Specifies the QEMU &#39;-cpu&#39; parameter of the running vm. This is used internally for snapshots.
        /// </summary>
        /// <value>Specifies the QEMU &#39;-cpu&#39; parameter of the running vm. This is used internally for snapshots.</value>
        [DataMember(Name = "runningcpu", EmitDefaultValue = false)]
        public string Runningcpu { get; set; }

        /// <summary>
        /// Specifies the QEMU machine type of the running vm. This is used internally for snapshots.
        /// </summary>
        /// <value>Specifies the QEMU machine type of the running vm. This is used internally for snapshots.</value>
        [DataMember(Name = "runningmachine", EmitDefaultValue = false)]
        public string Runningmachine { get; set; }

        /// <summary>
        /// Use volume as SATA hard disk or CD-ROM (n is 0 to 5).
        /// </summary>
        /// <value>Use volume as SATA hard disk or CD-ROM (n is 0 to 5).</value>
        [DataMember(Name = "sata0", EmitDefaultValue = false)]
        public string Sata0 { get; set; }

        /// <summary>
        /// Use volume as SATA hard disk or CD-ROM (n is 0 to 5).
        /// </summary>
        /// <value>Use volume as SATA hard disk or CD-ROM (n is 0 to 5).</value>
        [DataMember(Name = "sata1", EmitDefaultValue = false)]
        public string Sata1 { get; set; }

        /// <summary>
        /// Use volume as SATA hard disk or CD-ROM (n is 0 to 5).
        /// </summary>
        /// <value>Use volume as SATA hard disk or CD-ROM (n is 0 to 5).</value>
        [DataMember(Name = "sata2", EmitDefaultValue = false)]
        public string Sata2 { get; set; }

        /// <summary>
        /// Use volume as SATA hard disk or CD-ROM (n is 0 to 5).
        /// </summary>
        /// <value>Use volume as SATA hard disk or CD-ROM (n is 0 to 5).</value>
        [DataMember(Name = "sata3", EmitDefaultValue = false)]
        public string Sata3 { get; set; }

        /// <summary>
        /// Use volume as SATA hard disk or CD-ROM (n is 0 to 5).
        /// </summary>
        /// <value>Use volume as SATA hard disk or CD-ROM (n is 0 to 5).</value>
        [DataMember(Name = "sata4", EmitDefaultValue = false)]
        public string Sata4 { get; set; }

        /// <summary>
        /// Use volume as SATA hard disk or CD-ROM (n is 0 to 5).
        /// </summary>
        /// <value>Use volume as SATA hard disk or CD-ROM (n is 0 to 5).</value>
        [DataMember(Name = "sata5", EmitDefaultValue = false)]
        public string Sata5 { get; set; }

        /// <summary>
        /// Use volume as SATA hard disk or CD-ROM (n is 0 to 5).
        /// </summary>
        /// <value>Use volume as SATA hard disk or CD-ROM (n is 0 to 5).</value>
        [DataMember(Name = "sata6", EmitDefaultValue = false)]
        public string Sata6 { get; set; }

        /// <summary>
        /// Use volume as SATA hard disk or CD-ROM (n is 0 to 5).
        /// </summary>
        /// <value>Use volume as SATA hard disk or CD-ROM (n is 0 to 5).</value>
        [DataMember(Name = "sata7", EmitDefaultValue = false)]
        public string Sata7 { get; set; }

        /// <summary>
        /// Use volume as SATA hard disk or CD-ROM (n is 0 to 5).
        /// </summary>
        /// <value>Use volume as SATA hard disk or CD-ROM (n is 0 to 5).</value>
        [DataMember(Name = "sata8", EmitDefaultValue = false)]
        public string Sata8 { get; set; }

        /// <summary>
        /// Use volume as SATA hard disk or CD-ROM (n is 0 to 5).
        /// </summary>
        /// <value>Use volume as SATA hard disk or CD-ROM (n is 0 to 5).</value>
        [DataMember(Name = "sata9", EmitDefaultValue = false)]
        public string Sata9 { get; set; }

        /// <summary>
        /// Use volume as SATA hard disk or CD-ROM (n is 0 to 5).
        /// </summary>
        /// <value>Use volume as SATA hard disk or CD-ROM (n is 0 to 5).</value>
        [DataMember(Name = "sata10", EmitDefaultValue = false)]
        public string Sata10 { get; set; }

        /// <summary>
        /// Use volume as SATA hard disk or CD-ROM (n is 0 to 5).
        /// </summary>
        /// <value>Use volume as SATA hard disk or CD-ROM (n is 0 to 5).</value>
        [DataMember(Name = "sata11", EmitDefaultValue = false)]
        public string Sata11 { get; set; }

        /// <summary>
        /// Use volume as SATA hard disk or CD-ROM (n is 0 to 5).
        /// </summary>
        /// <value>Use volume as SATA hard disk or CD-ROM (n is 0 to 5).</value>
        [DataMember(Name = "sata12", EmitDefaultValue = false)]
        public string Sata12 { get; set; }

        /// <summary>
        /// Use volume as SATA hard disk or CD-ROM (n is 0 to 5).
        /// </summary>
        /// <value>Use volume as SATA hard disk or CD-ROM (n is 0 to 5).</value>
        [DataMember(Name = "sata13", EmitDefaultValue = false)]
        public string Sata13 { get; set; }

        /// <summary>
        /// Use volume as SATA hard disk or CD-ROM (n is 0 to 5).
        /// </summary>
        /// <value>Use volume as SATA hard disk or CD-ROM (n is 0 to 5).</value>
        [DataMember(Name = "sata14", EmitDefaultValue = false)]
        public string Sata14 { get; set; }

        /// <summary>
        /// Use volume as SATA hard disk or CD-ROM (n is 0 to 5).
        /// </summary>
        /// <value>Use volume as SATA hard disk or CD-ROM (n is 0 to 5).</value>
        [DataMember(Name = "sata15", EmitDefaultValue = false)]
        public string Sata15 { get; set; }

        /// <summary>
        /// Use volume as SATA hard disk or CD-ROM (n is 0 to 5).
        /// </summary>
        /// <value>Use volume as SATA hard disk or CD-ROM (n is 0 to 5).</value>
        [DataMember(Name = "sata16", EmitDefaultValue = false)]
        public string Sata16 { get; set; }

        /// <summary>
        /// Use volume as SATA hard disk or CD-ROM (n is 0 to 5).
        /// </summary>
        /// <value>Use volume as SATA hard disk or CD-ROM (n is 0 to 5).</value>
        [DataMember(Name = "sata17", EmitDefaultValue = false)]
        public string Sata17 { get; set; }

        /// <summary>
        /// Use volume as SATA hard disk or CD-ROM (n is 0 to 5).
        /// </summary>
        /// <value>Use volume as SATA hard disk or CD-ROM (n is 0 to 5).</value>
        [DataMember(Name = "sata18", EmitDefaultValue = false)]
        public string Sata18 { get; set; }

        /// <summary>
        /// Use volume as SATA hard disk or CD-ROM (n is 0 to 5).
        /// </summary>
        /// <value>Use volume as SATA hard disk or CD-ROM (n is 0 to 5).</value>
        [DataMember(Name = "sata19", EmitDefaultValue = false)]
        public string Sata19 { get; set; }

        /// <summary>
        /// Use volume as SATA hard disk or CD-ROM (n is 0 to 5).
        /// </summary>
        /// <value>Use volume as SATA hard disk or CD-ROM (n is 0 to 5).</value>
        [DataMember(Name = "sata20", EmitDefaultValue = false)]
        public string Sata20 { get; set; }

        /// <summary>
        /// Use volume as SATA hard disk or CD-ROM (n is 0 to 5).
        /// </summary>
        /// <value>Use volume as SATA hard disk or CD-ROM (n is 0 to 5).</value>
        [DataMember(Name = "sata21", EmitDefaultValue = false)]
        public string Sata21 { get; set; }

        /// <summary>
        /// Use volume as SATA hard disk or CD-ROM (n is 0 to 5).
        /// </summary>
        /// <value>Use volume as SATA hard disk or CD-ROM (n is 0 to 5).</value>
        [DataMember(Name = "sata22", EmitDefaultValue = false)]
        public string Sata22 { get; set; }

        /// <summary>
        /// Use volume as SATA hard disk or CD-ROM (n is 0 to 5).
        /// </summary>
        /// <value>Use volume as SATA hard disk or CD-ROM (n is 0 to 5).</value>
        [DataMember(Name = "sata23", EmitDefaultValue = false)]
        public string Sata23 { get; set; }

        /// <summary>
        /// Use volume as SATA hard disk or CD-ROM (n is 0 to 5).
        /// </summary>
        /// <value>Use volume as SATA hard disk or CD-ROM (n is 0 to 5).</value>
        [DataMember(Name = "sata24", EmitDefaultValue = false)]
        public string Sata24 { get; set; }

        /// <summary>
        /// Use volume as SATA hard disk or CD-ROM (n is 0 to 5).
        /// </summary>
        /// <value>Use volume as SATA hard disk or CD-ROM (n is 0 to 5).</value>
        [DataMember(Name = "sata25", EmitDefaultValue = false)]
        public string Sata25 { get; set; }

        /// <summary>
        /// Use volume as SATA hard disk or CD-ROM (n is 0 to 5).
        /// </summary>
        /// <value>Use volume as SATA hard disk or CD-ROM (n is 0 to 5).</value>
        [DataMember(Name = "sata26", EmitDefaultValue = false)]
        public string Sata26 { get; set; }

        /// <summary>
        /// Use volume as SATA hard disk or CD-ROM (n is 0 to 5).
        /// </summary>
        /// <value>Use volume as SATA hard disk or CD-ROM (n is 0 to 5).</value>
        [DataMember(Name = "sata27", EmitDefaultValue = false)]
        public string Sata27 { get; set; }

        /// <summary>
        /// Use volume as SATA hard disk or CD-ROM (n is 0 to 5).
        /// </summary>
        /// <value>Use volume as SATA hard disk or CD-ROM (n is 0 to 5).</value>
        [DataMember(Name = "sata28", EmitDefaultValue = false)]
        public string Sata28 { get; set; }

        /// <summary>
        /// Use volume as SATA hard disk or CD-ROM (n is 0 to 5).
        /// </summary>
        /// <value>Use volume as SATA hard disk or CD-ROM (n is 0 to 5).</value>
        [DataMember(Name = "sata29", EmitDefaultValue = false)]
        public string Sata29 { get; set; }

        /// <summary>
        /// Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).
        /// </summary>
        /// <value>Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).</value>
        [DataMember(Name = "scsi0", EmitDefaultValue = false)]
        public string Scsi0 { get; set; }

        /// <summary>
        /// Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).
        /// </summary>
        /// <value>Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).</value>
        [DataMember(Name = "scsi1", EmitDefaultValue = false)]
        public string Scsi1 { get; set; }

        /// <summary>
        /// Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).
        /// </summary>
        /// <value>Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).</value>
        [DataMember(Name = "scsi2", EmitDefaultValue = false)]
        public string Scsi2 { get; set; }

        /// <summary>
        /// Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).
        /// </summary>
        /// <value>Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).</value>
        [DataMember(Name = "scsi3", EmitDefaultValue = false)]
        public string Scsi3 { get; set; }

        /// <summary>
        /// Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).
        /// </summary>
        /// <value>Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).</value>
        [DataMember(Name = "scsi4", EmitDefaultValue = false)]
        public string Scsi4 { get; set; }

        /// <summary>
        /// Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).
        /// </summary>
        /// <value>Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).</value>
        [DataMember(Name = "scsi5", EmitDefaultValue = false)]
        public string Scsi5 { get; set; }

        /// <summary>
        /// Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).
        /// </summary>
        /// <value>Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).</value>
        [DataMember(Name = "scsi6", EmitDefaultValue = false)]
        public string Scsi6 { get; set; }

        /// <summary>
        /// Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).
        /// </summary>
        /// <value>Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).</value>
        [DataMember(Name = "scsi7", EmitDefaultValue = false)]
        public string Scsi7 { get; set; }

        /// <summary>
        /// Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).
        /// </summary>
        /// <value>Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).</value>
        [DataMember(Name = "scsi8", EmitDefaultValue = false)]
        public string Scsi8 { get; set; }

        /// <summary>
        /// Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).
        /// </summary>
        /// <value>Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).</value>
        [DataMember(Name = "scsi9", EmitDefaultValue = false)]
        public string Scsi9 { get; set; }

        /// <summary>
        /// Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).
        /// </summary>
        /// <value>Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).</value>
        [DataMember(Name = "scsi10", EmitDefaultValue = false)]
        public string Scsi10 { get; set; }

        /// <summary>
        /// Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).
        /// </summary>
        /// <value>Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).</value>
        [DataMember(Name = "scsi11", EmitDefaultValue = false)]
        public string Scsi11 { get; set; }

        /// <summary>
        /// Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).
        /// </summary>
        /// <value>Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).</value>
        [DataMember(Name = "scsi12", EmitDefaultValue = false)]
        public string Scsi12 { get; set; }

        /// <summary>
        /// Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).
        /// </summary>
        /// <value>Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).</value>
        [DataMember(Name = "scsi13", EmitDefaultValue = false)]
        public string Scsi13 { get; set; }

        /// <summary>
        /// Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).
        /// </summary>
        /// <value>Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).</value>
        [DataMember(Name = "scsi14", EmitDefaultValue = false)]
        public string Scsi14 { get; set; }

        /// <summary>
        /// Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).
        /// </summary>
        /// <value>Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).</value>
        [DataMember(Name = "scsi15", EmitDefaultValue = false)]
        public string Scsi15 { get; set; }

        /// <summary>
        /// Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).
        /// </summary>
        /// <value>Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).</value>
        [DataMember(Name = "scsi16", EmitDefaultValue = false)]
        public string Scsi16 { get; set; }

        /// <summary>
        /// Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).
        /// </summary>
        /// <value>Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).</value>
        [DataMember(Name = "scsi17", EmitDefaultValue = false)]
        public string Scsi17 { get; set; }

        /// <summary>
        /// Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).
        /// </summary>
        /// <value>Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).</value>
        [DataMember(Name = "scsi18", EmitDefaultValue = false)]
        public string Scsi18 { get; set; }

        /// <summary>
        /// Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).
        /// </summary>
        /// <value>Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).</value>
        [DataMember(Name = "scsi19", EmitDefaultValue = false)]
        public string Scsi19 { get; set; }

        /// <summary>
        /// Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).
        /// </summary>
        /// <value>Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).</value>
        [DataMember(Name = "scsi20", EmitDefaultValue = false)]
        public string Scsi20 { get; set; }

        /// <summary>
        /// Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).
        /// </summary>
        /// <value>Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).</value>
        [DataMember(Name = "scsi21", EmitDefaultValue = false)]
        public string Scsi21 { get; set; }

        /// <summary>
        /// Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).
        /// </summary>
        /// <value>Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).</value>
        [DataMember(Name = "scsi22", EmitDefaultValue = false)]
        public string Scsi22 { get; set; }

        /// <summary>
        /// Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).
        /// </summary>
        /// <value>Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).</value>
        [DataMember(Name = "scsi23", EmitDefaultValue = false)]
        public string Scsi23 { get; set; }

        /// <summary>
        /// Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).
        /// </summary>
        /// <value>Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).</value>
        [DataMember(Name = "scsi24", EmitDefaultValue = false)]
        public string Scsi24 { get; set; }

        /// <summary>
        /// Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).
        /// </summary>
        /// <value>Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).</value>
        [DataMember(Name = "scsi25", EmitDefaultValue = false)]
        public string Scsi25 { get; set; }

        /// <summary>
        /// Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).
        /// </summary>
        /// <value>Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).</value>
        [DataMember(Name = "scsi26", EmitDefaultValue = false)]
        public string Scsi26 { get; set; }

        /// <summary>
        /// Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).
        /// </summary>
        /// <value>Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).</value>
        [DataMember(Name = "scsi27", EmitDefaultValue = false)]
        public string Scsi27 { get; set; }

        /// <summary>
        /// Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).
        /// </summary>
        /// <value>Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).</value>
        [DataMember(Name = "scsi28", EmitDefaultValue = false)]
        public string Scsi28 { get; set; }

        /// <summary>
        /// Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).
        /// </summary>
        /// <value>Use volume as SCSI hard disk or CD-ROM (n is 0 to 30).</value>
        [DataMember(Name = "scsi29", EmitDefaultValue = false)]
        public string Scsi29 { get; set; }

        /// <summary>
        /// SCSI controller model
        /// </summary>
        /// <value>SCSI controller model</value>
        [DataMember(Name = "scsihw", EmitDefaultValue = false)]
        public string Scsihw { get; set; }

        /// <summary>
        /// cloud-init: Sets DNS search domains for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.
        /// </summary>
        /// <value>cloud-init: Sets DNS search domains for a container. Create will automatically use the setting from the host if neither searchdomain nor nameserver are set.</value>
        [DataMember(Name = "searchdomain", EmitDefaultValue = false)]
        public string Searchdomain { get; set; }

        /// <summary>
        /// Create a serial device inside the VM (n is 0 to 3)
        /// </summary>
        /// <value>Create a serial device inside the VM (n is 0 to 3)</value>
        [DataMember(Name = "serial0", EmitDefaultValue = false)]
        public string Serial0 { get; set; }

        /// <summary>
        /// Create a serial device inside the VM (n is 0 to 3)
        /// </summary>
        /// <value>Create a serial device inside the VM (n is 0 to 3)</value>
        [DataMember(Name = "serial1", EmitDefaultValue = false)]
        public string Serial1 { get; set; }

        /// <summary>
        /// Create a serial device inside the VM (n is 0 to 3)
        /// </summary>
        /// <value>Create a serial device inside the VM (n is 0 to 3)</value>
        [DataMember(Name = "serial2", EmitDefaultValue = false)]
        public string Serial2 { get; set; }

        /// <summary>
        /// Create a serial device inside the VM (n is 0 to 3)
        /// </summary>
        /// <value>Create a serial device inside the VM (n is 0 to 3)</value>
        [DataMember(Name = "serial3", EmitDefaultValue = false)]
        public string Serial3 { get; set; }

        /// <summary>
        /// Create a serial device inside the VM (n is 0 to 3)
        /// </summary>
        /// <value>Create a serial device inside the VM (n is 0 to 3)</value>
        [DataMember(Name = "serial4", EmitDefaultValue = false)]
        public string Serial4 { get; set; }

        /// <summary>
        /// Create a serial device inside the VM (n is 0 to 3)
        /// </summary>
        /// <value>Create a serial device inside the VM (n is 0 to 3)</value>
        [DataMember(Name = "serial5", EmitDefaultValue = false)]
        public string Serial5 { get; set; }

        /// <summary>
        /// Create a serial device inside the VM (n is 0 to 3)
        /// </summary>
        /// <value>Create a serial device inside the VM (n is 0 to 3)</value>
        [DataMember(Name = "serial6", EmitDefaultValue = false)]
        public string Serial6 { get; set; }

        /// <summary>
        /// Create a serial device inside the VM (n is 0 to 3)
        /// </summary>
        /// <value>Create a serial device inside the VM (n is 0 to 3)</value>
        [DataMember(Name = "serial7", EmitDefaultValue = false)]
        public string Serial7 { get; set; }

        /// <summary>
        /// Create a serial device inside the VM (n is 0 to 3)
        /// </summary>
        /// <value>Create a serial device inside the VM (n is 0 to 3)</value>
        [DataMember(Name = "serial8", EmitDefaultValue = false)]
        public string Serial8 { get; set; }

        /// <summary>
        /// Create a serial device inside the VM (n is 0 to 3)
        /// </summary>
        /// <value>Create a serial device inside the VM (n is 0 to 3)</value>
        [DataMember(Name = "serial9", EmitDefaultValue = false)]
        public string Serial9 { get; set; }

        /// <summary>
        /// Create a serial device inside the VM (n is 0 to 3)
        /// </summary>
        /// <value>Create a serial device inside the VM (n is 0 to 3)</value>
        [DataMember(Name = "serial10", EmitDefaultValue = false)]
        public string Serial10 { get; set; }

        /// <summary>
        /// Create a serial device inside the VM (n is 0 to 3)
        /// </summary>
        /// <value>Create a serial device inside the VM (n is 0 to 3)</value>
        [DataMember(Name = "serial11", EmitDefaultValue = false)]
        public string Serial11 { get; set; }

        /// <summary>
        /// Create a serial device inside the VM (n is 0 to 3)
        /// </summary>
        /// <value>Create a serial device inside the VM (n is 0 to 3)</value>
        [DataMember(Name = "serial12", EmitDefaultValue = false)]
        public string Serial12 { get; set; }

        /// <summary>
        /// Create a serial device inside the VM (n is 0 to 3)
        /// </summary>
        /// <value>Create a serial device inside the VM (n is 0 to 3)</value>
        [DataMember(Name = "serial13", EmitDefaultValue = false)]
        public string Serial13 { get; set; }

        /// <summary>
        /// Create a serial device inside the VM (n is 0 to 3)
        /// </summary>
        /// <value>Create a serial device inside the VM (n is 0 to 3)</value>
        [DataMember(Name = "serial14", EmitDefaultValue = false)]
        public string Serial14 { get; set; }

        /// <summary>
        /// Create a serial device inside the VM (n is 0 to 3)
        /// </summary>
        /// <value>Create a serial device inside the VM (n is 0 to 3)</value>
        [DataMember(Name = "serial15", EmitDefaultValue = false)]
        public string Serial15 { get; set; }

        /// <summary>
        /// Create a serial device inside the VM (n is 0 to 3)
        /// </summary>
        /// <value>Create a serial device inside the VM (n is 0 to 3)</value>
        [DataMember(Name = "serial16", EmitDefaultValue = false)]
        public string Serial16 { get; set; }

        /// <summary>
        /// Create a serial device inside the VM (n is 0 to 3)
        /// </summary>
        /// <value>Create a serial device inside the VM (n is 0 to 3)</value>
        [DataMember(Name = "serial17", EmitDefaultValue = false)]
        public string Serial17 { get; set; }

        /// <summary>
        /// Create a serial device inside the VM (n is 0 to 3)
        /// </summary>
        /// <value>Create a serial device inside the VM (n is 0 to 3)</value>
        [DataMember(Name = "serial18", EmitDefaultValue = false)]
        public string Serial18 { get; set; }

        /// <summary>
        /// Create a serial device inside the VM (n is 0 to 3)
        /// </summary>
        /// <value>Create a serial device inside the VM (n is 0 to 3)</value>
        [DataMember(Name = "serial19", EmitDefaultValue = false)]
        public string Serial19 { get; set; }

        /// <summary>
        /// Create a serial device inside the VM (n is 0 to 3)
        /// </summary>
        /// <value>Create a serial device inside the VM (n is 0 to 3)</value>
        [DataMember(Name = "serial20", EmitDefaultValue = false)]
        public string Serial20 { get; set; }

        /// <summary>
        /// Create a serial device inside the VM (n is 0 to 3)
        /// </summary>
        /// <value>Create a serial device inside the VM (n is 0 to 3)</value>
        [DataMember(Name = "serial21", EmitDefaultValue = false)]
        public string Serial21 { get; set; }

        /// <summary>
        /// Create a serial device inside the VM (n is 0 to 3)
        /// </summary>
        /// <value>Create a serial device inside the VM (n is 0 to 3)</value>
        [DataMember(Name = "serial22", EmitDefaultValue = false)]
        public string Serial22 { get; set; }

        /// <summary>
        /// Create a serial device inside the VM (n is 0 to 3)
        /// </summary>
        /// <value>Create a serial device inside the VM (n is 0 to 3)</value>
        [DataMember(Name = "serial23", EmitDefaultValue = false)]
        public string Serial23 { get; set; }

        /// <summary>
        /// Create a serial device inside the VM (n is 0 to 3)
        /// </summary>
        /// <value>Create a serial device inside the VM (n is 0 to 3)</value>
        [DataMember(Name = "serial24", EmitDefaultValue = false)]
        public string Serial24 { get; set; }

        /// <summary>
        /// Create a serial device inside the VM (n is 0 to 3)
        /// </summary>
        /// <value>Create a serial device inside the VM (n is 0 to 3)</value>
        [DataMember(Name = "serial25", EmitDefaultValue = false)]
        public string Serial25 { get; set; }

        /// <summary>
        /// Create a serial device inside the VM (n is 0 to 3)
        /// </summary>
        /// <value>Create a serial device inside the VM (n is 0 to 3)</value>
        [DataMember(Name = "serial26", EmitDefaultValue = false)]
        public string Serial26 { get; set; }

        /// <summary>
        /// Create a serial device inside the VM (n is 0 to 3)
        /// </summary>
        /// <value>Create a serial device inside the VM (n is 0 to 3)</value>
        [DataMember(Name = "serial27", EmitDefaultValue = false)]
        public string Serial27 { get; set; }

        /// <summary>
        /// Create a serial device inside the VM (n is 0 to 3)
        /// </summary>
        /// <value>Create a serial device inside the VM (n is 0 to 3)</value>
        [DataMember(Name = "serial28", EmitDefaultValue = false)]
        public string Serial28 { get; set; }

        /// <summary>
        /// Create a serial device inside the VM (n is 0 to 3)
        /// </summary>
        /// <value>Create a serial device inside the VM (n is 0 to 3)</value>
        [DataMember(Name = "serial29", EmitDefaultValue = false)]
        public string Serial29 { get; set; }

        /// <summary>
        /// Amount of memory shares for auto-ballooning. The larger the number is, the more memory this VM gets. Number is relative to weights of all other running VMs. Using zero disables auto-ballooning. Auto-ballooning is done by pvestatd.
        /// </summary>
        /// <value>Amount of memory shares for auto-ballooning. The larger the number is, the more memory this VM gets. Number is relative to weights of all other running VMs. Using zero disables auto-ballooning. Auto-ballooning is done by pvestatd.</value>
        [DataMember(Name = "shares", EmitDefaultValue = false)]
        public Int64 Shares { get; set; }

        /// <summary>
        /// Specify SMBIOS type 1 fields.
        /// </summary>
        /// <value>Specify SMBIOS type 1 fields.</value>
        [DataMember(Name = "smbios1", EmitDefaultValue = false)]
        public string Smbios1 { get; set; }

        /// <summary>
        /// The number of CPUs. Please use option -sockets instead.
        /// </summary>
        /// <value>The number of CPUs. Please use option -sockets instead.</value>
        [DataMember(Name = "smp", EmitDefaultValue = false)]
        public Int64 Smp { get; set; }

        /// <summary>
        /// Timestamp for snapshots.
        /// </summary>
        /// <value>Timestamp for snapshots.</value>
        [DataMember(Name = "snaptime", EmitDefaultValue = false)]
        public Int64 Snaptime { get; set; }

        /// <summary>
        /// The number of CPU sockets.
        /// </summary>
        /// <value>The number of CPU sockets.</value>
        [DataMember(Name = "sockets", EmitDefaultValue = false)]
        public Int64 Sockets { get; set; }

        /// <summary>
        /// Configure additional enhancements for SPICE.
        /// </summary>
        /// <value>Configure additional enhancements for SPICE.</value>
        [DataMember(Name = "spice_enhancements", EmitDefaultValue = false)]
        public string SpiceEnhancements { get; set; }

        /// <summary>
        /// cloud-init: Setup public SSH keys (one key per line, OpenSSH format).
        /// </summary>
        /// <value>cloud-init: Setup public SSH keys (one key per line, OpenSSH format).</value>
        [DataMember(Name = "sshkeys", EmitDefaultValue = false)]
        public string Sshkeys { get; set; }

        /// <summary>
        /// Set the initial date of the real time clock. Valid format for date are:&#39;now&#39; or &#39;2006-06-17T16:01:21&#39; or &#39;2006-06-17&#39;.
        /// </summary>
        /// <value>Set the initial date of the real time clock. Valid format for date are:&#39;now&#39; or &#39;2006-06-17T16:01:21&#39; or &#39;2006-06-17&#39;.</value>
        [DataMember(Name = "startdate", EmitDefaultValue = false)]
        public string Startdate { get; set; }

        /// <summary>
        /// Startup and shutdown behavior. Order is a non-negative number defining the general startup order. Shutdown in done with reverse ordering. Additionally you can set the &#39;up&#39; or &#39;down&#39; delay in seconds, which specifies a delay to wait before the next VM is started or stopped.
        /// </summary>
        /// <value>Startup and shutdown behavior. Order is a non-negative number defining the general startup order. Shutdown in done with reverse ordering. Additionally you can set the &#39;up&#39; or &#39;down&#39; delay in seconds, which specifies a delay to wait before the next VM is started or stopped.</value>
        [DataMember(Name = "startup", EmitDefaultValue = false)]
        public string Startup { get; set; }

        /// <summary>
        /// Enable/disable the USB tablet device.
        /// </summary>
        /// <value>Enable/disable the USB tablet device.</value>
        [DataMember(Name = "tablet", EmitDefaultValue = false)]
        public Int64 Tablet { get; set; }

        /// <summary>
        /// Tags of the VM. This is only meta information.
        /// </summary>
        /// <value>Tags of the VM. This is only meta information.</value>
        [DataMember(Name = "tags", EmitDefaultValue = false)]
        public string Tags { get; set; }

        /// <summary>
        /// Enable/disable time drift fix.
        /// </summary>
        /// <value>Enable/disable time drift fix.</value>
        [DataMember(Name = "tdf", EmitDefaultValue = false)]
        public Int64 Tdf { get; set; }

        /// <summary>
        /// Enable/disable Template.
        /// </summary>
        /// <value>Enable/disable Template.</value>
        [DataMember(Name = "template", EmitDefaultValue = false)]
        public Int64 Template { get; set; }

        /// <summary>
        /// Configure a Disk for storing TPM state. The format is fixed to &#39;raw&#39;.
        /// </summary>
        /// <value>Configure a Disk for storing TPM state. The format is fixed to &#39;raw&#39;.</value>
        [DataMember(Name = "tpmstate0", EmitDefaultValue = false)]
        public string Tpmstate0 { get; set; }

        /// <summary>
        /// Reference to unused volumes. This is used internally, and should not be modified manually.
        /// </summary>
        /// <value>Reference to unused volumes. This is used internally, and should not be modified manually.</value>
        [DataMember(Name = "unused0", EmitDefaultValue = false)]
        public string Unused0 { get; set; }

        /// <summary>
        /// Reference to unused volumes. This is used internally, and should not be modified manually.
        /// </summary>
        /// <value>Reference to unused volumes. This is used internally, and should not be modified manually.</value>
        [DataMember(Name = "unused1", EmitDefaultValue = false)]
        public string Unused1 { get; set; }

        /// <summary>
        /// Reference to unused volumes. This is used internally, and should not be modified manually.
        /// </summary>
        /// <value>Reference to unused volumes. This is used internally, and should not be modified manually.</value>
        [DataMember(Name = "unused2", EmitDefaultValue = false)]
        public string Unused2 { get; set; }

        /// <summary>
        /// Reference to unused volumes. This is used internally, and should not be modified manually.
        /// </summary>
        /// <value>Reference to unused volumes. This is used internally, and should not be modified manually.</value>
        [DataMember(Name = "unused3", EmitDefaultValue = false)]
        public string Unused3 { get; set; }

        /// <summary>
        /// Reference to unused volumes. This is used internally, and should not be modified manually.
        /// </summary>
        /// <value>Reference to unused volumes. This is used internally, and should not be modified manually.</value>
        [DataMember(Name = "unused4", EmitDefaultValue = false)]
        public string Unused4 { get; set; }

        /// <summary>
        /// Reference to unused volumes. This is used internally, and should not be modified manually.
        /// </summary>
        /// <value>Reference to unused volumes. This is used internally, and should not be modified manually.</value>
        [DataMember(Name = "unused5", EmitDefaultValue = false)]
        public string Unused5 { get; set; }

        /// <summary>
        /// Reference to unused volumes. This is used internally, and should not be modified manually.
        /// </summary>
        /// <value>Reference to unused volumes. This is used internally, and should not be modified manually.</value>
        [DataMember(Name = "unused6", EmitDefaultValue = false)]
        public string Unused6 { get; set; }

        /// <summary>
        /// Reference to unused volumes. This is used internally, and should not be modified manually.
        /// </summary>
        /// <value>Reference to unused volumes. This is used internally, and should not be modified manually.</value>
        [DataMember(Name = "unused7", EmitDefaultValue = false)]
        public string Unused7 { get; set; }

        /// <summary>
        /// Reference to unused volumes. This is used internally, and should not be modified manually.
        /// </summary>
        /// <value>Reference to unused volumes. This is used internally, and should not be modified manually.</value>
        [DataMember(Name = "unused8", EmitDefaultValue = false)]
        public string Unused8 { get; set; }

        /// <summary>
        /// Reference to unused volumes. This is used internally, and should not be modified manually.
        /// </summary>
        /// <value>Reference to unused volumes. This is used internally, and should not be modified manually.</value>
        [DataMember(Name = "unused9", EmitDefaultValue = false)]
        public string Unused9 { get; set; }

        /// <summary>
        /// Reference to unused volumes. This is used internally, and should not be modified manually.
        /// </summary>
        /// <value>Reference to unused volumes. This is used internally, and should not be modified manually.</value>
        [DataMember(Name = "unused10", EmitDefaultValue = false)]
        public string Unused10 { get; set; }

        /// <summary>
        /// Reference to unused volumes. This is used internally, and should not be modified manually.
        /// </summary>
        /// <value>Reference to unused volumes. This is used internally, and should not be modified manually.</value>
        [DataMember(Name = "unused11", EmitDefaultValue = false)]
        public string Unused11 { get; set; }

        /// <summary>
        /// Reference to unused volumes. This is used internally, and should not be modified manually.
        /// </summary>
        /// <value>Reference to unused volumes. This is used internally, and should not be modified manually.</value>
        [DataMember(Name = "unused12", EmitDefaultValue = false)]
        public string Unused12 { get; set; }

        /// <summary>
        /// Reference to unused volumes. This is used internally, and should not be modified manually.
        /// </summary>
        /// <value>Reference to unused volumes. This is used internally, and should not be modified manually.</value>
        [DataMember(Name = "unused13", EmitDefaultValue = false)]
        public string Unused13 { get; set; }

        /// <summary>
        /// Reference to unused volumes. This is used internally, and should not be modified manually.
        /// </summary>
        /// <value>Reference to unused volumes. This is used internally, and should not be modified manually.</value>
        [DataMember(Name = "unused14", EmitDefaultValue = false)]
        public string Unused14 { get; set; }

        /// <summary>
        /// Reference to unused volumes. This is used internally, and should not be modified manually.
        /// </summary>
        /// <value>Reference to unused volumes. This is used internally, and should not be modified manually.</value>
        [DataMember(Name = "unused15", EmitDefaultValue = false)]
        public string Unused15 { get; set; }

        /// <summary>
        /// Reference to unused volumes. This is used internally, and should not be modified manually.
        /// </summary>
        /// <value>Reference to unused volumes. This is used internally, and should not be modified manually.</value>
        [DataMember(Name = "unused16", EmitDefaultValue = false)]
        public string Unused16 { get; set; }

        /// <summary>
        /// Reference to unused volumes. This is used internally, and should not be modified manually.
        /// </summary>
        /// <value>Reference to unused volumes. This is used internally, and should not be modified manually.</value>
        [DataMember(Name = "unused17", EmitDefaultValue = false)]
        public string Unused17 { get; set; }

        /// <summary>
        /// Reference to unused volumes. This is used internally, and should not be modified manually.
        /// </summary>
        /// <value>Reference to unused volumes. This is used internally, and should not be modified manually.</value>
        [DataMember(Name = "unused18", EmitDefaultValue = false)]
        public string Unused18 { get; set; }

        /// <summary>
        /// Reference to unused volumes. This is used internally, and should not be modified manually.
        /// </summary>
        /// <value>Reference to unused volumes. This is used internally, and should not be modified manually.</value>
        [DataMember(Name = "unused19", EmitDefaultValue = false)]
        public string Unused19 { get; set; }

        /// <summary>
        /// Reference to unused volumes. This is used internally, and should not be modified manually.
        /// </summary>
        /// <value>Reference to unused volumes. This is used internally, and should not be modified manually.</value>
        [DataMember(Name = "unused20", EmitDefaultValue = false)]
        public string Unused20 { get; set; }

        /// <summary>
        /// Reference to unused volumes. This is used internally, and should not be modified manually.
        /// </summary>
        /// <value>Reference to unused volumes. This is used internally, and should not be modified manually.</value>
        [DataMember(Name = "unused21", EmitDefaultValue = false)]
        public string Unused21 { get; set; }

        /// <summary>
        /// Reference to unused volumes. This is used internally, and should not be modified manually.
        /// </summary>
        /// <value>Reference to unused volumes. This is used internally, and should not be modified manually.</value>
        [DataMember(Name = "unused22", EmitDefaultValue = false)]
        public string Unused22 { get; set; }

        /// <summary>
        /// Reference to unused volumes. This is used internally, and should not be modified manually.
        /// </summary>
        /// <value>Reference to unused volumes. This is used internally, and should not be modified manually.</value>
        [DataMember(Name = "unused23", EmitDefaultValue = false)]
        public string Unused23 { get; set; }

        /// <summary>
        /// Reference to unused volumes. This is used internally, and should not be modified manually.
        /// </summary>
        /// <value>Reference to unused volumes. This is used internally, and should not be modified manually.</value>
        [DataMember(Name = "unused24", EmitDefaultValue = false)]
        public string Unused24 { get; set; }

        /// <summary>
        /// Reference to unused volumes. This is used internally, and should not be modified manually.
        /// </summary>
        /// <value>Reference to unused volumes. This is used internally, and should not be modified manually.</value>
        [DataMember(Name = "unused25", EmitDefaultValue = false)]
        public string Unused25 { get; set; }

        /// <summary>
        /// Reference to unused volumes. This is used internally, and should not be modified manually.
        /// </summary>
        /// <value>Reference to unused volumes. This is used internally, and should not be modified manually.</value>
        [DataMember(Name = "unused26", EmitDefaultValue = false)]
        public string Unused26 { get; set; }

        /// <summary>
        /// Reference to unused volumes. This is used internally, and should not be modified manually.
        /// </summary>
        /// <value>Reference to unused volumes. This is used internally, and should not be modified manually.</value>
        [DataMember(Name = "unused27", EmitDefaultValue = false)]
        public string Unused27 { get; set; }

        /// <summary>
        /// Reference to unused volumes. This is used internally, and should not be modified manually.
        /// </summary>
        /// <value>Reference to unused volumes. This is used internally, and should not be modified manually.</value>
        [DataMember(Name = "unused28", EmitDefaultValue = false)]
        public string Unused28 { get; set; }

        /// <summary>
        /// Reference to unused volumes. This is used internally, and should not be modified manually.
        /// </summary>
        /// <value>Reference to unused volumes. This is used internally, and should not be modified manually.</value>
        [DataMember(Name = "unused29", EmitDefaultValue = false)]
        public string Unused29 { get; set; }

        /// <summary>
        /// Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).
        /// </summary>
        /// <value>Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).</value>
        [DataMember(Name = "usb0", EmitDefaultValue = false)]
        public string Usb0 { get; set; }

        /// <summary>
        /// Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).
        /// </summary>
        /// <value>Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).</value>
        [DataMember(Name = "usb1", EmitDefaultValue = false)]
        public string Usb1 { get; set; }

        /// <summary>
        /// Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).
        /// </summary>
        /// <value>Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).</value>
        [DataMember(Name = "usb2", EmitDefaultValue = false)]
        public string Usb2 { get; set; }

        /// <summary>
        /// Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).
        /// </summary>
        /// <value>Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).</value>
        [DataMember(Name = "usb3", EmitDefaultValue = false)]
        public string Usb3 { get; set; }

        /// <summary>
        /// Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).
        /// </summary>
        /// <value>Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).</value>
        [DataMember(Name = "usb4", EmitDefaultValue = false)]
        public string Usb4 { get; set; }

        /// <summary>
        /// Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).
        /// </summary>
        /// <value>Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).</value>
        [DataMember(Name = "usb5", EmitDefaultValue = false)]
        public string Usb5 { get; set; }

        /// <summary>
        /// Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).
        /// </summary>
        /// <value>Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).</value>
        [DataMember(Name = "usb6", EmitDefaultValue = false)]
        public string Usb6 { get; set; }

        /// <summary>
        /// Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).
        /// </summary>
        /// <value>Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).</value>
        [DataMember(Name = "usb7", EmitDefaultValue = false)]
        public string Usb7 { get; set; }

        /// <summary>
        /// Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).
        /// </summary>
        /// <value>Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).</value>
        [DataMember(Name = "usb8", EmitDefaultValue = false)]
        public string Usb8 { get; set; }

        /// <summary>
        /// Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).
        /// </summary>
        /// <value>Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).</value>
        [DataMember(Name = "usb9", EmitDefaultValue = false)]
        public string Usb9 { get; set; }

        /// <summary>
        /// Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).
        /// </summary>
        /// <value>Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).</value>
        [DataMember(Name = "usb10", EmitDefaultValue = false)]
        public string Usb10 { get; set; }

        /// <summary>
        /// Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).
        /// </summary>
        /// <value>Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).</value>
        [DataMember(Name = "usb11", EmitDefaultValue = false)]
        public string Usb11 { get; set; }

        /// <summary>
        /// Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).
        /// </summary>
        /// <value>Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).</value>
        [DataMember(Name = "usb12", EmitDefaultValue = false)]
        public string Usb12 { get; set; }

        /// <summary>
        /// Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).
        /// </summary>
        /// <value>Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).</value>
        [DataMember(Name = "usb13", EmitDefaultValue = false)]
        public string Usb13 { get; set; }

        /// <summary>
        /// Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).
        /// </summary>
        /// <value>Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).</value>
        [DataMember(Name = "usb14", EmitDefaultValue = false)]
        public string Usb14 { get; set; }

        /// <summary>
        /// Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).
        /// </summary>
        /// <value>Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).</value>
        [DataMember(Name = "usb15", EmitDefaultValue = false)]
        public string Usb15 { get; set; }

        /// <summary>
        /// Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).
        /// </summary>
        /// <value>Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).</value>
        [DataMember(Name = "usb16", EmitDefaultValue = false)]
        public string Usb16 { get; set; }

        /// <summary>
        /// Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).
        /// </summary>
        /// <value>Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).</value>
        [DataMember(Name = "usb17", EmitDefaultValue = false)]
        public string Usb17 { get; set; }

        /// <summary>
        /// Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).
        /// </summary>
        /// <value>Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).</value>
        [DataMember(Name = "usb18", EmitDefaultValue = false)]
        public string Usb18 { get; set; }

        /// <summary>
        /// Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).
        /// </summary>
        /// <value>Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).</value>
        [DataMember(Name = "usb19", EmitDefaultValue = false)]
        public string Usb19 { get; set; }

        /// <summary>
        /// Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).
        /// </summary>
        /// <value>Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).</value>
        [DataMember(Name = "usb20", EmitDefaultValue = false)]
        public string Usb20 { get; set; }

        /// <summary>
        /// Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).
        /// </summary>
        /// <value>Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).</value>
        [DataMember(Name = "usb21", EmitDefaultValue = false)]
        public string Usb21 { get; set; }

        /// <summary>
        /// Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).
        /// </summary>
        /// <value>Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).</value>
        [DataMember(Name = "usb22", EmitDefaultValue = false)]
        public string Usb22 { get; set; }

        /// <summary>
        /// Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).
        /// </summary>
        /// <value>Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).</value>
        [DataMember(Name = "usb23", EmitDefaultValue = false)]
        public string Usb23 { get; set; }

        /// <summary>
        /// Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).
        /// </summary>
        /// <value>Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).</value>
        [DataMember(Name = "usb24", EmitDefaultValue = false)]
        public string Usb24 { get; set; }

        /// <summary>
        /// Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).
        /// </summary>
        /// <value>Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).</value>
        [DataMember(Name = "usb25", EmitDefaultValue = false)]
        public string Usb25 { get; set; }

        /// <summary>
        /// Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).
        /// </summary>
        /// <value>Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).</value>
        [DataMember(Name = "usb26", EmitDefaultValue = false)]
        public string Usb26 { get; set; }

        /// <summary>
        /// Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).
        /// </summary>
        /// <value>Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).</value>
        [DataMember(Name = "usb27", EmitDefaultValue = false)]
        public string Usb27 { get; set; }

        /// <summary>
        /// Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).
        /// </summary>
        /// <value>Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).</value>
        [DataMember(Name = "usb28", EmitDefaultValue = false)]
        public string Usb28 { get; set; }

        /// <summary>
        /// Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).
        /// </summary>
        /// <value>Configure an USB device (n is 0 to 4, for machine version &gt;&#x3D; 7.1 and ostype l26 or windows &gt; 7, n can be up to 14).</value>
        [DataMember(Name = "usb29", EmitDefaultValue = false)]
        public string Usb29 { get; set; }

        /// <summary>
        /// Number of hotplugged vcpus.
        /// </summary>
        /// <value>Number of hotplugged vcpus.</value>
        [DataMember(Name = "vcpus", EmitDefaultValue = false)]
        public Int64 Vcpus { get; set; }

        /// <summary>
        /// Configure the VGA hardware.
        /// </summary>
        /// <value>Configure the VGA hardware.</value>
        [DataMember(Name = "vga", EmitDefaultValue = false)]
        public string Vga { get; set; }

        /// <summary>
        /// Use volume as VIRTIO hard disk (n is 0 to 15).
        /// </summary>
        /// <value>Use volume as VIRTIO hard disk (n is 0 to 15).</value>
        [DataMember(Name = "virtio0", EmitDefaultValue = false)]
        public string Virtio0 { get; set; }

        /// <summary>
        /// Use volume as VIRTIO hard disk (n is 0 to 15).
        /// </summary>
        /// <value>Use volume as VIRTIO hard disk (n is 0 to 15).</value>
        [DataMember(Name = "virtio1", EmitDefaultValue = false)]
        public string Virtio1 { get; set; }

        /// <summary>
        /// Use volume as VIRTIO hard disk (n is 0 to 15).
        /// </summary>
        /// <value>Use volume as VIRTIO hard disk (n is 0 to 15).</value>
        [DataMember(Name = "virtio2", EmitDefaultValue = false)]
        public string Virtio2 { get; set; }

        /// <summary>
        /// Use volume as VIRTIO hard disk (n is 0 to 15).
        /// </summary>
        /// <value>Use volume as VIRTIO hard disk (n is 0 to 15).</value>
        [DataMember(Name = "virtio3", EmitDefaultValue = false)]
        public string Virtio3 { get; set; }

        /// <summary>
        /// Use volume as VIRTIO hard disk (n is 0 to 15).
        /// </summary>
        /// <value>Use volume as VIRTIO hard disk (n is 0 to 15).</value>
        [DataMember(Name = "virtio4", EmitDefaultValue = false)]
        public string Virtio4 { get; set; }

        /// <summary>
        /// Use volume as VIRTIO hard disk (n is 0 to 15).
        /// </summary>
        /// <value>Use volume as VIRTIO hard disk (n is 0 to 15).</value>
        [DataMember(Name = "virtio5", EmitDefaultValue = false)]
        public string Virtio5 { get; set; }

        /// <summary>
        /// Use volume as VIRTIO hard disk (n is 0 to 15).
        /// </summary>
        /// <value>Use volume as VIRTIO hard disk (n is 0 to 15).</value>
        [DataMember(Name = "virtio6", EmitDefaultValue = false)]
        public string Virtio6 { get; set; }

        /// <summary>
        /// Use volume as VIRTIO hard disk (n is 0 to 15).
        /// </summary>
        /// <value>Use volume as VIRTIO hard disk (n is 0 to 15).</value>
        [DataMember(Name = "virtio7", EmitDefaultValue = false)]
        public string Virtio7 { get; set; }

        /// <summary>
        /// Use volume as VIRTIO hard disk (n is 0 to 15).
        /// </summary>
        /// <value>Use volume as VIRTIO hard disk (n is 0 to 15).</value>
        [DataMember(Name = "virtio8", EmitDefaultValue = false)]
        public string Virtio8 { get; set; }

        /// <summary>
        /// Use volume as VIRTIO hard disk (n is 0 to 15).
        /// </summary>
        /// <value>Use volume as VIRTIO hard disk (n is 0 to 15).</value>
        [DataMember(Name = "virtio9", EmitDefaultValue = false)]
        public string Virtio9 { get; set; }

        /// <summary>
        /// Use volume as VIRTIO hard disk (n is 0 to 15).
        /// </summary>
        /// <value>Use volume as VIRTIO hard disk (n is 0 to 15).</value>
        [DataMember(Name = "virtio10", EmitDefaultValue = false)]
        public string Virtio10 { get; set; }

        /// <summary>
        /// Use volume as VIRTIO hard disk (n is 0 to 15).
        /// </summary>
        /// <value>Use volume as VIRTIO hard disk (n is 0 to 15).</value>
        [DataMember(Name = "virtio11", EmitDefaultValue = false)]
        public string Virtio11 { get; set; }

        /// <summary>
        /// Use volume as VIRTIO hard disk (n is 0 to 15).
        /// </summary>
        /// <value>Use volume as VIRTIO hard disk (n is 0 to 15).</value>
        [DataMember(Name = "virtio12", EmitDefaultValue = false)]
        public string Virtio12 { get; set; }

        /// <summary>
        /// Use volume as VIRTIO hard disk (n is 0 to 15).
        /// </summary>
        /// <value>Use volume as VIRTIO hard disk (n is 0 to 15).</value>
        [DataMember(Name = "virtio13", EmitDefaultValue = false)]
        public string Virtio13 { get; set; }

        /// <summary>
        /// Use volume as VIRTIO hard disk (n is 0 to 15).
        /// </summary>
        /// <value>Use volume as VIRTIO hard disk (n is 0 to 15).</value>
        [DataMember(Name = "virtio14", EmitDefaultValue = false)]
        public string Virtio14 { get; set; }

        /// <summary>
        /// Use volume as VIRTIO hard disk (n is 0 to 15).
        /// </summary>
        /// <value>Use volume as VIRTIO hard disk (n is 0 to 15).</value>
        [DataMember(Name = "virtio15", EmitDefaultValue = false)]
        public string Virtio15 { get; set; }

        /// <summary>
        /// Use volume as VIRTIO hard disk (n is 0 to 15).
        /// </summary>
        /// <value>Use volume as VIRTIO hard disk (n is 0 to 15).</value>
        [DataMember(Name = "virtio16", EmitDefaultValue = false)]
        public string Virtio16 { get; set; }

        /// <summary>
        /// Use volume as VIRTIO hard disk (n is 0 to 15).
        /// </summary>
        /// <value>Use volume as VIRTIO hard disk (n is 0 to 15).</value>
        [DataMember(Name = "virtio17", EmitDefaultValue = false)]
        public string Virtio17 { get; set; }

        /// <summary>
        /// Use volume as VIRTIO hard disk (n is 0 to 15).
        /// </summary>
        /// <value>Use volume as VIRTIO hard disk (n is 0 to 15).</value>
        [DataMember(Name = "virtio18", EmitDefaultValue = false)]
        public string Virtio18 { get; set; }

        /// <summary>
        /// Use volume as VIRTIO hard disk (n is 0 to 15).
        /// </summary>
        /// <value>Use volume as VIRTIO hard disk (n is 0 to 15).</value>
        [DataMember(Name = "virtio19", EmitDefaultValue = false)]
        public string Virtio19 { get; set; }

        /// <summary>
        /// Use volume as VIRTIO hard disk (n is 0 to 15).
        /// </summary>
        /// <value>Use volume as VIRTIO hard disk (n is 0 to 15).</value>
        [DataMember(Name = "virtio20", EmitDefaultValue = false)]
        public string Virtio20 { get; set; }

        /// <summary>
        /// Use volume as VIRTIO hard disk (n is 0 to 15).
        /// </summary>
        /// <value>Use volume as VIRTIO hard disk (n is 0 to 15).</value>
        [DataMember(Name = "virtio21", EmitDefaultValue = false)]
        public string Virtio21 { get; set; }

        /// <summary>
        /// Use volume as VIRTIO hard disk (n is 0 to 15).
        /// </summary>
        /// <value>Use volume as VIRTIO hard disk (n is 0 to 15).</value>
        [DataMember(Name = "virtio22", EmitDefaultValue = false)]
        public string Virtio22 { get; set; }

        /// <summary>
        /// Use volume as VIRTIO hard disk (n is 0 to 15).
        /// </summary>
        /// <value>Use volume as VIRTIO hard disk (n is 0 to 15).</value>
        [DataMember(Name = "virtio23", EmitDefaultValue = false)]
        public string Virtio23 { get; set; }

        /// <summary>
        /// Use volume as VIRTIO hard disk (n is 0 to 15).
        /// </summary>
        /// <value>Use volume as VIRTIO hard disk (n is 0 to 15).</value>
        [DataMember(Name = "virtio24", EmitDefaultValue = false)]
        public string Virtio24 { get; set; }

        /// <summary>
        /// Use volume as VIRTIO hard disk (n is 0 to 15).
        /// </summary>
        /// <value>Use volume as VIRTIO hard disk (n is 0 to 15).</value>
        [DataMember(Name = "virtio25", EmitDefaultValue = false)]
        public string Virtio25 { get; set; }

        /// <summary>
        /// Use volume as VIRTIO hard disk (n is 0 to 15).
        /// </summary>
        /// <value>Use volume as VIRTIO hard disk (n is 0 to 15).</value>
        [DataMember(Name = "virtio26", EmitDefaultValue = false)]
        public string Virtio26 { get; set; }

        /// <summary>
        /// Use volume as VIRTIO hard disk (n is 0 to 15).
        /// </summary>
        /// <value>Use volume as VIRTIO hard disk (n is 0 to 15).</value>
        [DataMember(Name = "virtio27", EmitDefaultValue = false)]
        public string Virtio27 { get; set; }

        /// <summary>
        /// Use volume as VIRTIO hard disk (n is 0 to 15).
        /// </summary>
        /// <value>Use volume as VIRTIO hard disk (n is 0 to 15).</value>
        [DataMember(Name = "virtio28", EmitDefaultValue = false)]
        public string Virtio28 { get; set; }

        /// <summary>
        /// Use volume as VIRTIO hard disk (n is 0 to 15).
        /// </summary>
        /// <value>Use volume as VIRTIO hard disk (n is 0 to 15).</value>
        [DataMember(Name = "virtio29", EmitDefaultValue = false)]
        public string Virtio29 { get; set; }

        /// <summary>
        /// Configuration for sharing a directory between host and guest using Virtio-fs.
        /// </summary>
        /// <value>Configuration for sharing a directory between host and guest using Virtio-fs.</value>
        [DataMember(Name = "virtiofs0", EmitDefaultValue = false)]
        public string Virtiofs0 { get; set; }

        /// <summary>
        /// Configuration for sharing a directory between host and guest using Virtio-fs.
        /// </summary>
        /// <value>Configuration for sharing a directory between host and guest using Virtio-fs.</value>
        [DataMember(Name = "virtiofs1", EmitDefaultValue = false)]
        public string Virtiofs1 { get; set; }

        /// <summary>
        /// Configuration for sharing a directory between host and guest using Virtio-fs.
        /// </summary>
        /// <value>Configuration for sharing a directory between host and guest using Virtio-fs.</value>
        [DataMember(Name = "virtiofs2", EmitDefaultValue = false)]
        public string Virtiofs2 { get; set; }

        /// <summary>
        /// Configuration for sharing a directory between host and guest using Virtio-fs.
        /// </summary>
        /// <value>Configuration for sharing a directory between host and guest using Virtio-fs.</value>
        [DataMember(Name = "virtiofs3", EmitDefaultValue = false)]
        public string Virtiofs3 { get; set; }

        /// <summary>
        /// Configuration for sharing a directory between host and guest using Virtio-fs.
        /// </summary>
        /// <value>Configuration for sharing a directory between host and guest using Virtio-fs.</value>
        [DataMember(Name = "virtiofs4", EmitDefaultValue = false)]
        public string Virtiofs4 { get; set; }

        /// <summary>
        /// Configuration for sharing a directory between host and guest using Virtio-fs.
        /// </summary>
        /// <value>Configuration for sharing a directory between host and guest using Virtio-fs.</value>
        [DataMember(Name = "virtiofs5", EmitDefaultValue = false)]
        public string Virtiofs5 { get; set; }

        /// <summary>
        /// Configuration for sharing a directory between host and guest using Virtio-fs.
        /// </summary>
        /// <value>Configuration for sharing a directory between host and guest using Virtio-fs.</value>
        [DataMember(Name = "virtiofs6", EmitDefaultValue = false)]
        public string Virtiofs6 { get; set; }

        /// <summary>
        /// Configuration for sharing a directory between host and guest using Virtio-fs.
        /// </summary>
        /// <value>Configuration for sharing a directory between host and guest using Virtio-fs.</value>
        [DataMember(Name = "virtiofs7", EmitDefaultValue = false)]
        public string Virtiofs7 { get; set; }

        /// <summary>
        /// Configuration for sharing a directory between host and guest using Virtio-fs.
        /// </summary>
        /// <value>Configuration for sharing a directory between host and guest using Virtio-fs.</value>
        [DataMember(Name = "virtiofs8", EmitDefaultValue = false)]
        public string Virtiofs8 { get; set; }

        /// <summary>
        /// Configuration for sharing a directory between host and guest using Virtio-fs.
        /// </summary>
        /// <value>Configuration for sharing a directory between host and guest using Virtio-fs.</value>
        [DataMember(Name = "virtiofs9", EmitDefaultValue = false)]
        public string Virtiofs9 { get; set; }

        /// <summary>
        /// Configuration for sharing a directory between host and guest using Virtio-fs.
        /// </summary>
        /// <value>Configuration for sharing a directory between host and guest using Virtio-fs.</value>
        [DataMember(Name = "virtiofs10", EmitDefaultValue = false)]
        public string Virtiofs10 { get; set; }

        /// <summary>
        /// Configuration for sharing a directory between host and guest using Virtio-fs.
        /// </summary>
        /// <value>Configuration for sharing a directory between host and guest using Virtio-fs.</value>
        [DataMember(Name = "virtiofs11", EmitDefaultValue = false)]
        public string Virtiofs11 { get; set; }

        /// <summary>
        /// Configuration for sharing a directory between host and guest using Virtio-fs.
        /// </summary>
        /// <value>Configuration for sharing a directory between host and guest using Virtio-fs.</value>
        [DataMember(Name = "virtiofs12", EmitDefaultValue = false)]
        public string Virtiofs12 { get; set; }

        /// <summary>
        /// Configuration for sharing a directory between host and guest using Virtio-fs.
        /// </summary>
        /// <value>Configuration for sharing a directory between host and guest using Virtio-fs.</value>
        [DataMember(Name = "virtiofs13", EmitDefaultValue = false)]
        public string Virtiofs13 { get; set; }

        /// <summary>
        /// Configuration for sharing a directory between host and guest using Virtio-fs.
        /// </summary>
        /// <value>Configuration for sharing a directory between host and guest using Virtio-fs.</value>
        [DataMember(Name = "virtiofs14", EmitDefaultValue = false)]
        public string Virtiofs14 { get; set; }

        /// <summary>
        /// Configuration for sharing a directory between host and guest using Virtio-fs.
        /// </summary>
        /// <value>Configuration for sharing a directory between host and guest using Virtio-fs.</value>
        [DataMember(Name = "virtiofs15", EmitDefaultValue = false)]
        public string Virtiofs15 { get; set; }

        /// <summary>
        /// Configuration for sharing a directory between host and guest using Virtio-fs.
        /// </summary>
        /// <value>Configuration for sharing a directory between host and guest using Virtio-fs.</value>
        [DataMember(Name = "virtiofs16", EmitDefaultValue = false)]
        public string Virtiofs16 { get; set; }

        /// <summary>
        /// Configuration for sharing a directory between host and guest using Virtio-fs.
        /// </summary>
        /// <value>Configuration for sharing a directory between host and guest using Virtio-fs.</value>
        [DataMember(Name = "virtiofs17", EmitDefaultValue = false)]
        public string Virtiofs17 { get; set; }

        /// <summary>
        /// Configuration for sharing a directory between host and guest using Virtio-fs.
        /// </summary>
        /// <value>Configuration for sharing a directory between host and guest using Virtio-fs.</value>
        [DataMember(Name = "virtiofs18", EmitDefaultValue = false)]
        public string Virtiofs18 { get; set; }

        /// <summary>
        /// Configuration for sharing a directory between host and guest using Virtio-fs.
        /// </summary>
        /// <value>Configuration for sharing a directory between host and guest using Virtio-fs.</value>
        [DataMember(Name = "virtiofs19", EmitDefaultValue = false)]
        public string Virtiofs19 { get; set; }

        /// <summary>
        /// Configuration for sharing a directory between host and guest using Virtio-fs.
        /// </summary>
        /// <value>Configuration for sharing a directory between host and guest using Virtio-fs.</value>
        [DataMember(Name = "virtiofs20", EmitDefaultValue = false)]
        public string Virtiofs20 { get; set; }

        /// <summary>
        /// Configuration for sharing a directory between host and guest using Virtio-fs.
        /// </summary>
        /// <value>Configuration for sharing a directory between host and guest using Virtio-fs.</value>
        [DataMember(Name = "virtiofs21", EmitDefaultValue = false)]
        public string Virtiofs21 { get; set; }

        /// <summary>
        /// Configuration for sharing a directory between host and guest using Virtio-fs.
        /// </summary>
        /// <value>Configuration for sharing a directory between host and guest using Virtio-fs.</value>
        [DataMember(Name = "virtiofs22", EmitDefaultValue = false)]
        public string Virtiofs22 { get; set; }

        /// <summary>
        /// Configuration for sharing a directory between host and guest using Virtio-fs.
        /// </summary>
        /// <value>Configuration for sharing a directory between host and guest using Virtio-fs.</value>
        [DataMember(Name = "virtiofs23", EmitDefaultValue = false)]
        public string Virtiofs23 { get; set; }

        /// <summary>
        /// Configuration for sharing a directory between host and guest using Virtio-fs.
        /// </summary>
        /// <value>Configuration for sharing a directory between host and guest using Virtio-fs.</value>
        [DataMember(Name = "virtiofs24", EmitDefaultValue = false)]
        public string Virtiofs24 { get; set; }

        /// <summary>
        /// Configuration for sharing a directory between host and guest using Virtio-fs.
        /// </summary>
        /// <value>Configuration for sharing a directory between host and guest using Virtio-fs.</value>
        [DataMember(Name = "virtiofs25", EmitDefaultValue = false)]
        public string Virtiofs25 { get; set; }

        /// <summary>
        /// Configuration for sharing a directory between host and guest using Virtio-fs.
        /// </summary>
        /// <value>Configuration for sharing a directory between host and guest using Virtio-fs.</value>
        [DataMember(Name = "virtiofs26", EmitDefaultValue = false)]
        public string Virtiofs26 { get; set; }

        /// <summary>
        /// Configuration for sharing a directory between host and guest using Virtio-fs.
        /// </summary>
        /// <value>Configuration for sharing a directory between host and guest using Virtio-fs.</value>
        [DataMember(Name = "virtiofs27", EmitDefaultValue = false)]
        public string Virtiofs27 { get; set; }

        /// <summary>
        /// Configuration for sharing a directory between host and guest using Virtio-fs.
        /// </summary>
        /// <value>Configuration for sharing a directory between host and guest using Virtio-fs.</value>
        [DataMember(Name = "virtiofs28", EmitDefaultValue = false)]
        public string Virtiofs28 { get; set; }

        /// <summary>
        /// Configuration for sharing a directory between host and guest using Virtio-fs.
        /// </summary>
        /// <value>Configuration for sharing a directory between host and guest using Virtio-fs.</value>
        [DataMember(Name = "virtiofs29", EmitDefaultValue = false)]
        public string Virtiofs29 { get; set; }

        /// <summary>
        /// Set VM Generation ID. Use &#39;1&#39; to autogenerate on create or update, pass &#39;0&#39; to disable explicitly.
        /// </summary>
        /// <value>Set VM Generation ID. Use &#39;1&#39; to autogenerate on create or update, pass &#39;0&#39; to disable explicitly.</value>
        [DataMember(Name = "vmgenid", EmitDefaultValue = false)]
        public string Vmgenid { get; set; }

        /// <summary>
        /// Reference to a volume which stores the VM state. This is used internally for snapshots.
        /// </summary>
        /// <value>Reference to a volume which stores the VM state. This is used internally for snapshots.</value>
        [DataMember(Name = "vmstate", EmitDefaultValue = false)]
        public string Vmstate { get; set; }

        /// <summary>
        /// Default storage for VM state volumes/files.
        /// </summary>
        /// <value>Default storage for VM state volumes/files.</value>
        [DataMember(Name = "vmstatestorage", EmitDefaultValue = false)]
        public string Vmstatestorage { get; set; }

        /// <summary>
        /// Create a virtual hardware watchdog device.
        /// </summary>
        /// <value>Create a virtual hardware watchdog device.</value>
        [DataMember(Name = "watchdog", EmitDefaultValue = false)]
        public string Watchdog { get; set; }

        /// <summary>
        /// Returns the string presentation of the object
        /// </summary>
        /// <returns>String presentation of the object</returns>
        public override string ToString()
        {
            StringBuilder sb = new StringBuilder();
            sb.Append("class GetVMConfig200ResponseData {\n");
            sb.Append("  Acpi: ").Append(Acpi).Append("\n");
            sb.Append("  Affinity: ").Append(Affinity).Append("\n");
            sb.Append("  Agent: ").Append(Agent).Append("\n");
            sb.Append("  AllowKsm: ").Append(AllowKsm).Append("\n");
            sb.Append("  AmdSev: ").Append(AmdSev).Append("\n");
            sb.Append("  Arch: ").Append(Arch).Append("\n");
            sb.Append("  Args: ").Append(Args).Append("\n");
            sb.Append("  Audio0: ").Append(Audio0).Append("\n");
            sb.Append("  Autostart: ").Append(Autostart).Append("\n");
            sb.Append("  Balloon: ").Append(Balloon).Append("\n");
            sb.Append("  Bios: ").Append(Bios).Append("\n");
            sb.Append("  Boot: ").Append(Boot).Append("\n");
            sb.Append("  Bootdisk: ").Append(Bootdisk).Append("\n");
            sb.Append("  Cdrom: ").Append(Cdrom).Append("\n");
            sb.Append("  Cicustom: ").Append(Cicustom).Append("\n");
            sb.Append("  Cipassword: ").Append(Cipassword).Append("\n");
            sb.Append("  Citype: ").Append(Citype).Append("\n");
            sb.Append("  Ciupgrade: ").Append(Ciupgrade).Append("\n");
            sb.Append("  Ciuser: ").Append(Ciuser).Append("\n");
            sb.Append("  Cores: ").Append(Cores).Append("\n");
            sb.Append("  Cpu: ").Append(Cpu).Append("\n");
            sb.Append("  Cpulimit: ").Append(Cpulimit).Append("\n");
            sb.Append("  Cpuunits: ").Append(Cpuunits).Append("\n");
            sb.Append("  Description: ").Append(Description).Append("\n");
            sb.Append("  Digest: ").Append(Digest).Append("\n");
            sb.Append("  Efidisk0: ").Append(Efidisk0).Append("\n");
            sb.Append("  Freeze: ").Append(Freeze).Append("\n");
            sb.Append("  Hookscript: ").Append(Hookscript).Append("\n");
            sb.Append("  Hostpci0: ").Append(Hostpci0).Append("\n");
            sb.Append("  Hostpci1: ").Append(Hostpci1).Append("\n");
            sb.Append("  Hostpci2: ").Append(Hostpci2).Append("\n");
            sb.Append("  Hostpci3: ").Append(Hostpci3).Append("\n");
            sb.Append("  Hostpci4: ").Append(Hostpci4).Append("\n");
            sb.Append("  Hostpci5: ").Append(Hostpci5).Append("\n");
            sb.Append("  Hostpci6: ").Append(Hostpci6).Append("\n");
            sb.Append("  Hostpci7: ").Append(Hostpci7).Append("\n");
            sb.Append("  Hostpci8: ").Append(Hostpci8).Append("\n");
            sb.Append("  Hostpci9: ").Append(Hostpci9).Append("\n");
            sb.Append("  Hostpci10: ").Append(Hostpci10).Append("\n");
            sb.Append("  Hostpci11: ").Append(Hostpci11).Append("\n");
            sb.Append("  Hostpci12: ").Append(Hostpci12).Append("\n");
            sb.Append("  Hostpci13: ").Append(Hostpci13).Append("\n");
            sb.Append("  Hostpci14: ").Append(Hostpci14).Append("\n");
            sb.Append("  Hostpci15: ").Append(Hostpci15).Append("\n");
            sb.Append("  Hostpci16: ").Append(Hostpci16).Append("\n");
            sb.Append("  Hostpci17: ").Append(Hostpci17).Append("\n");
            sb.Append("  Hostpci18: ").Append(Hostpci18).Append("\n");
            sb.Append("  Hostpci19: ").Append(Hostpci19).Append("\n");
            sb.Append("  Hostpci20: ").Append(Hostpci20).Append("\n");
            sb.Append("  Hostpci21: ").Append(Hostpci21).Append("\n");
            sb.Append("  Hostpci22: ").Append(Hostpci22).Append("\n");
            sb.Append("  Hostpci23: ").Append(Hostpci23).Append("\n");
            sb.Append("  Hostpci24: ").Append(Hostpci24).Append("\n");
            sb.Append("  Hostpci25: ").Append(Hostpci25).Append("\n");
            sb.Append("  Hostpci26: ").Append(Hostpci26).Append("\n");
            sb.Append("  Hostpci27: ").Append(Hostpci27).Append("\n");
            sb.Append("  Hostpci28: ").Append(Hostpci28).Append("\n");
            sb.Append("  Hostpci29: ").Append(Hostpci29).Append("\n");
            sb.Append("  Hotplug: ").Append(Hotplug).Append("\n");
            sb.Append("  Hugepages: ").Append(Hugepages).Append("\n");
            sb.Append("  Ide0: ").Append(Ide0).Append("\n");
            sb.Append("  Ide1: ").Append(Ide1).Append("\n");
            sb.Append("  Ide2: ").Append(Ide2).Append("\n");
            sb.Append("  Ide3: ").Append(Ide3).Append("\n");
            sb.Append("  Ide4: ").Append(Ide4).Append("\n");
            sb.Append("  Ide5: ").Append(Ide5).Append("\n");
            sb.Append("  Ide6: ").Append(Ide6).Append("\n");
            sb.Append("  Ide7: ").Append(Ide7).Append("\n");
            sb.Append("  Ide8: ").Append(Ide8).Append("\n");
            sb.Append("  Ide9: ").Append(Ide9).Append("\n");
            sb.Append("  Ide10: ").Append(Ide10).Append("\n");
            sb.Append("  Ide11: ").Append(Ide11).Append("\n");
            sb.Append("  Ide12: ").Append(Ide12).Append("\n");
            sb.Append("  Ide13: ").Append(Ide13).Append("\n");
            sb.Append("  Ide14: ").Append(Ide14).Append("\n");
            sb.Append("  Ide15: ").Append(Ide15).Append("\n");
            sb.Append("  Ide16: ").Append(Ide16).Append("\n");
            sb.Append("  Ide17: ").Append(Ide17).Append("\n");
            sb.Append("  Ide18: ").Append(Ide18).Append("\n");
            sb.Append("  Ide19: ").Append(Ide19).Append("\n");
            sb.Append("  Ide20: ").Append(Ide20).Append("\n");
            sb.Append("  Ide21: ").Append(Ide21).Append("\n");
            sb.Append("  Ide22: ").Append(Ide22).Append("\n");
            sb.Append("  Ide23: ").Append(Ide23).Append("\n");
            sb.Append("  Ide24: ").Append(Ide24).Append("\n");
            sb.Append("  Ide25: ").Append(Ide25).Append("\n");
            sb.Append("  Ide26: ").Append(Ide26).Append("\n");
            sb.Append("  Ide27: ").Append(Ide27).Append("\n");
            sb.Append("  Ide28: ").Append(Ide28).Append("\n");
            sb.Append("  Ide29: ").Append(Ide29).Append("\n");
            sb.Append("  IntelTdx: ").Append(IntelTdx).Append("\n");
            sb.Append("  Ipconfig0: ").Append(Ipconfig0).Append("\n");
            sb.Append("  Ipconfig1: ").Append(Ipconfig1).Append("\n");
            sb.Append("  Ipconfig2: ").Append(Ipconfig2).Append("\n");
            sb.Append("  Ipconfig3: ").Append(Ipconfig3).Append("\n");
            sb.Append("  Ipconfig4: ").Append(Ipconfig4).Append("\n");
            sb.Append("  Ipconfig5: ").Append(Ipconfig5).Append("\n");
            sb.Append("  Ipconfig6: ").Append(Ipconfig6).Append("\n");
            sb.Append("  Ipconfig7: ").Append(Ipconfig7).Append("\n");
            sb.Append("  Ipconfig8: ").Append(Ipconfig8).Append("\n");
            sb.Append("  Ipconfig9: ").Append(Ipconfig9).Append("\n");
            sb.Append("  Ipconfig10: ").Append(Ipconfig10).Append("\n");
            sb.Append("  Ipconfig11: ").Append(Ipconfig11).Append("\n");
            sb.Append("  Ipconfig12: ").Append(Ipconfig12).Append("\n");
            sb.Append("  Ipconfig13: ").Append(Ipconfig13).Append("\n");
            sb.Append("  Ipconfig14: ").Append(Ipconfig14).Append("\n");
            sb.Append("  Ipconfig15: ").Append(Ipconfig15).Append("\n");
            sb.Append("  Ipconfig16: ").Append(Ipconfig16).Append("\n");
            sb.Append("  Ipconfig17: ").Append(Ipconfig17).Append("\n");
            sb.Append("  Ipconfig18: ").Append(Ipconfig18).Append("\n");
            sb.Append("  Ipconfig19: ").Append(Ipconfig19).Append("\n");
            sb.Append("  Ipconfig20: ").Append(Ipconfig20).Append("\n");
            sb.Append("  Ipconfig21: ").Append(Ipconfig21).Append("\n");
            sb.Append("  Ipconfig22: ").Append(Ipconfig22).Append("\n");
            sb.Append("  Ipconfig23: ").Append(Ipconfig23).Append("\n");
            sb.Append("  Ipconfig24: ").Append(Ipconfig24).Append("\n");
            sb.Append("  Ipconfig25: ").Append(Ipconfig25).Append("\n");
            sb.Append("  Ipconfig26: ").Append(Ipconfig26).Append("\n");
            sb.Append("  Ipconfig27: ").Append(Ipconfig27).Append("\n");
            sb.Append("  Ipconfig28: ").Append(Ipconfig28).Append("\n");
            sb.Append("  Ipconfig29: ").Append(Ipconfig29).Append("\n");
            sb.Append("  Ivshmem: ").Append(Ivshmem).Append("\n");
            sb.Append("  Keephugepages: ").Append(Keephugepages).Append("\n");
            sb.Append("  Keyboard: ").Append(Keyboard).Append("\n");
            sb.Append("  Kvm: ").Append(Kvm).Append("\n");
            sb.Append("  Localtime: ").Append(Localtime).Append("\n");
            sb.Append("  Lock: ").Append(Lock).Append("\n");
            sb.Append("  Machine: ").Append(Machine).Append("\n");
            sb.Append("  Memory: ").Append(Memory).Append("\n");
            sb.Append("  Meta: ").Append(Meta).Append("\n");
            sb.Append("  MigrateDowntime: ").Append(MigrateDowntime).Append("\n");
            sb.Append("  MigrateSpeed: ").Append(MigrateSpeed).Append("\n");
            sb.Append("  Name: ").Append(Name).Append("\n");
            sb.Append("  Nameserver: ").Append(Nameserver).Append("\n");
            sb.Append("  Net0: ").Append(Net0).Append("\n");
            sb.Append("  Net1: ").Append(Net1).Append("\n");
            sb.Append("  Net2: ").Append(Net2).Append("\n");
            sb.Append("  Net3: ").Append(Net3).Append("\n");
            sb.Append("  Net4: ").Append(Net4).Append("\n");
            sb.Append("  Net5: ").Append(Net5).Append("\n");
            sb.Append("  Net6: ").Append(Net6).Append("\n");
            sb.Append("  Net7: ").Append(Net7).Append("\n");
            sb.Append("  Net8: ").Append(Net8).Append("\n");
            sb.Append("  Net9: ").Append(Net9).Append("\n");
            sb.Append("  Net10: ").Append(Net10).Append("\n");
            sb.Append("  Net11: ").Append(Net11).Append("\n");
            sb.Append("  Net12: ").Append(Net12).Append("\n");
            sb.Append("  Net13: ").Append(Net13).Append("\n");
            sb.Append("  Net14: ").Append(Net14).Append("\n");
            sb.Append("  Net15: ").Append(Net15).Append("\n");
            sb.Append("  Net16: ").Append(Net16).Append("\n");
            sb.Append("  Net17: ").Append(Net17).Append("\n");
            sb.Append("  Net18: ").Append(Net18).Append("\n");
            sb.Append("  Net19: ").Append(Net19).Append("\n");
            sb.Append("  Net20: ").Append(Net20).Append("\n");
            sb.Append("  Net21: ").Append(Net21).Append("\n");
            sb.Append("  Net22: ").Append(Net22).Append("\n");
            sb.Append("  Net23: ").Append(Net23).Append("\n");
            sb.Append("  Net24: ").Append(Net24).Append("\n");
            sb.Append("  Net25: ").Append(Net25).Append("\n");
            sb.Append("  Net26: ").Append(Net26).Append("\n");
            sb.Append("  Net27: ").Append(Net27).Append("\n");
            sb.Append("  Net28: ").Append(Net28).Append("\n");
            sb.Append("  Net29: ").Append(Net29).Append("\n");
            sb.Append("  Numa: ").Append(Numa).Append("\n");
            sb.Append("  Numa0: ").Append(Numa0).Append("\n");
            sb.Append("  Numa1: ").Append(Numa1).Append("\n");
            sb.Append("  Numa2: ").Append(Numa2).Append("\n");
            sb.Append("  Numa3: ").Append(Numa3).Append("\n");
            sb.Append("  Numa4: ").Append(Numa4).Append("\n");
            sb.Append("  Numa5: ").Append(Numa5).Append("\n");
            sb.Append("  Numa6: ").Append(Numa6).Append("\n");
            sb.Append("  Numa7: ").Append(Numa7).Append("\n");
            sb.Append("  Numa8: ").Append(Numa8).Append("\n");
            sb.Append("  Numa9: ").Append(Numa9).Append("\n");
            sb.Append("  Numa10: ").Append(Numa10).Append("\n");
            sb.Append("  Numa11: ").Append(Numa11).Append("\n");
            sb.Append("  Numa12: ").Append(Numa12).Append("\n");
            sb.Append("  Numa13: ").Append(Numa13).Append("\n");
            sb.Append("  Numa14: ").Append(Numa14).Append("\n");
            sb.Append("  Numa15: ").Append(Numa15).Append("\n");
            sb.Append("  Numa16: ").Append(Numa16).Append("\n");
            sb.Append("  Numa17: ").Append(Numa17).Append("\n");
            sb.Append("  Numa18: ").Append(Numa18).Append("\n");
            sb.Append("  Numa19: ").Append(Numa19).Append("\n");
            sb.Append("  Numa20: ").Append(Numa20).Append("\n");
            sb.Append("  Numa21: ").Append(Numa21).Append("\n");
            sb.Append("  Numa22: ").Append(Numa22).Append("\n");
            sb.Append("  Numa23: ").Append(Numa23).Append("\n");
            sb.Append("  Numa24: ").Append(Numa24).Append("\n");
            sb.Append("  Numa25: ").Append(Numa25).Append("\n");
            sb.Append("  Numa26: ").Append(Numa26).Append("\n");
            sb.Append("  Numa27: ").Append(Numa27).Append("\n");
            sb.Append("  Numa28: ").Append(Numa28).Append("\n");
            sb.Append("  Numa29: ").Append(Numa29).Append("\n");
            sb.Append("  Onboot: ").Append(Onboot).Append("\n");
            sb.Append("  Ostype: ").Append(Ostype).Append("\n");
            sb.Append("  Parallel0: ").Append(Parallel0).Append("\n");
            sb.Append("  Parallel1: ").Append(Parallel1).Append("\n");
            sb.Append("  Parallel2: ").Append(Parallel2).Append("\n");
            sb.Append("  Parallel3: ").Append(Parallel3).Append("\n");
            sb.Append("  Parallel4: ").Append(Parallel4).Append("\n");
            sb.Append("  Parallel5: ").Append(Parallel5).Append("\n");
            sb.Append("  Parallel6: ").Append(Parallel6).Append("\n");
            sb.Append("  Parallel7: ").Append(Parallel7).Append("\n");
            sb.Append("  Parallel8: ").Append(Parallel8).Append("\n");
            sb.Append("  Parallel9: ").Append(Parallel9).Append("\n");
            sb.Append("  Parallel10: ").Append(Parallel10).Append("\n");
            sb.Append("  Parallel11: ").Append(Parallel11).Append("\n");
            sb.Append("  Parallel12: ").Append(Parallel12).Append("\n");
            sb.Append("  Parallel13: ").Append(Parallel13).Append("\n");
            sb.Append("  Parallel14: ").Append(Parallel14).Append("\n");
            sb.Append("  Parallel15: ").Append(Parallel15).Append("\n");
            sb.Append("  Parallel16: ").Append(Parallel16).Append("\n");
            sb.Append("  Parallel17: ").Append(Parallel17).Append("\n");
            sb.Append("  Parallel18: ").Append(Parallel18).Append("\n");
            sb.Append("  Parallel19: ").Append(Parallel19).Append("\n");
            sb.Append("  Parallel20: ").Append(Parallel20).Append("\n");
            sb.Append("  Parallel21: ").Append(Parallel21).Append("\n");
            sb.Append("  Parallel22: ").Append(Parallel22).Append("\n");
            sb.Append("  Parallel23: ").Append(Parallel23).Append("\n");
            sb.Append("  Parallel24: ").Append(Parallel24).Append("\n");
            sb.Append("  Parallel25: ").Append(Parallel25).Append("\n");
            sb.Append("  Parallel26: ").Append(Parallel26).Append("\n");
            sb.Append("  Parallel27: ").Append(Parallel27).Append("\n");
            sb.Append("  Parallel28: ").Append(Parallel28).Append("\n");
            sb.Append("  Parallel29: ").Append(Parallel29).Append("\n");
            sb.Append("  Parent: ").Append(Parent).Append("\n");
            sb.Append("  Protection: ").Append(Protection).Append("\n");
            sb.Append("  Reboot: ").Append(Reboot).Append("\n");
            sb.Append("  Rng0: ").Append(Rng0).Append("\n");
            sb.Append("  RunningNetsHostMtu: ").Append(RunningNetsHostMtu).Append("\n");
            sb.Append("  Runningcpu: ").Append(Runningcpu).Append("\n");
            sb.Append("  Runningmachine: ").Append(Runningmachine).Append("\n");
            sb.Append("  Sata0: ").Append(Sata0).Append("\n");
            sb.Append("  Sata1: ").Append(Sata1).Append("\n");
            sb.Append("  Sata2: ").Append(Sata2).Append("\n");
            sb.Append("  Sata3: ").Append(Sata3).Append("\n");
            sb.Append("  Sata4: ").Append(Sata4).Append("\n");
            sb.Append("  Sata5: ").Append(Sata5).Append("\n");
            sb.Append("  Sata6: ").Append(Sata6).Append("\n");
            sb.Append("  Sata7: ").Append(Sata7).Append("\n");
            sb.Append("  Sata8: ").Append(Sata8).Append("\n");
            sb.Append("  Sata9: ").Append(Sata9).Append("\n");
            sb.Append("  Sata10: ").Append(Sata10).Append("\n");
            sb.Append("  Sata11: ").Append(Sata11).Append("\n");
            sb.Append("  Sata12: ").Append(Sata12).Append("\n");
            sb.Append("  Sata13: ").Append(Sata13).Append("\n");
            sb.Append("  Sata14: ").Append(Sata14).Append("\n");
            sb.Append("  Sata15: ").Append(Sata15).Append("\n");
            sb.Append("  Sata16: ").Append(Sata16).Append("\n");
            sb.Append("  Sata17: ").Append(Sata17).Append("\n");
            sb.Append("  Sata18: ").Append(Sata18).Append("\n");
            sb.Append("  Sata19: ").Append(Sata19).Append("\n");
            sb.Append("  Sata20: ").Append(Sata20).Append("\n");
            sb.Append("  Sata21: ").Append(Sata21).Append("\n");
            sb.Append("  Sata22: ").Append(Sata22).Append("\n");
            sb.Append("  Sata23: ").Append(Sata23).Append("\n");
            sb.Append("  Sata24: ").Append(Sata24).Append("\n");
            sb.Append("  Sata25: ").Append(Sata25).Append("\n");
            sb.Append("  Sata26: ").Append(Sata26).Append("\n");
            sb.Append("  Sata27: ").Append(Sata27).Append("\n");
            sb.Append("  Sata28: ").Append(Sata28).Append("\n");
            sb.Append("  Sata29: ").Append(Sata29).Append("\n");
            sb.Append("  Scsi0: ").Append(Scsi0).Append("\n");
            sb.Append("  Scsi1: ").Append(Scsi1).Append("\n");
            sb.Append("  Scsi2: ").Append(Scsi2).Append("\n");
            sb.Append("  Scsi3: ").Append(Scsi3).Append("\n");
            sb.Append("  Scsi4: ").Append(Scsi4).Append("\n");
            sb.Append("  Scsi5: ").Append(Scsi5).Append("\n");
            sb.Append("  Scsi6: ").Append(Scsi6).Append("\n");
            sb.Append("  Scsi7: ").Append(Scsi7).Append("\n");
            sb.Append("  Scsi8: ").Append(Scsi8).Append("\n");
            sb.Append("  Scsi9: ").Append(Scsi9).Append("\n");
            sb.Append("  Scsi10: ").Append(Scsi10).Append("\n");
            sb.Append("  Scsi11: ").Append(Scsi11).Append("\n");
            sb.Append("  Scsi12: ").Append(Scsi12).Append("\n");
            sb.Append("  Scsi13: ").Append(Scsi13).Append("\n");
            sb.Append("  Scsi14: ").Append(Scsi14).Append("\n");
            sb.Append("  Scsi15: ").Append(Scsi15).Append("\n");
            sb.Append("  Scsi16: ").Append(Scsi16).Append("\n");
            sb.Append("  Scsi17: ").Append(Scsi17).Append("\n");
            sb.Append("  Scsi18: ").Append(Scsi18).Append("\n");
            sb.Append("  Scsi19: ").Append(Scsi19).Append("\n");
            sb.Append("  Scsi20: ").Append(Scsi20).Append("\n");
            sb.Append("  Scsi21: ").Append(Scsi21).Append("\n");
            sb.Append("  Scsi22: ").Append(Scsi22).Append("\n");
            sb.Append("  Scsi23: ").Append(Scsi23).Append("\n");
            sb.Append("  Scsi24: ").Append(Scsi24).Append("\n");
            sb.Append("  Scsi25: ").Append(Scsi25).Append("\n");
            sb.Append("  Scsi26: ").Append(Scsi26).Append("\n");
            sb.Append("  Scsi27: ").Append(Scsi27).Append("\n");
            sb.Append("  Scsi28: ").Append(Scsi28).Append("\n");
            sb.Append("  Scsi29: ").Append(Scsi29).Append("\n");
            sb.Append("  Scsihw: ").Append(Scsihw).Append("\n");
            sb.Append("  Searchdomain: ").Append(Searchdomain).Append("\n");
            sb.Append("  Serial0: ").Append(Serial0).Append("\n");
            sb.Append("  Serial1: ").Append(Serial1).Append("\n");
            sb.Append("  Serial2: ").Append(Serial2).Append("\n");
            sb.Append("  Serial3: ").Append(Serial3).Append("\n");
            sb.Append("  Serial4: ").Append(Serial4).Append("\n");
            sb.Append("  Serial5: ").Append(Serial5).Append("\n");
            sb.Append("  Serial6: ").Append(Serial6).Append("\n");
            sb.Append("  Serial7: ").Append(Serial7).Append("\n");
            sb.Append("  Serial8: ").Append(Serial8).Append("\n");
            sb.Append("  Serial9: ").Append(Serial9).Append("\n");
            sb.Append("  Serial10: ").Append(Serial10).Append("\n");
            sb.Append("  Serial11: ").Append(Serial11).Append("\n");
            sb.Append("  Serial12: ").Append(Serial12).Append("\n");
            sb.Append("  Serial13: ").Append(Serial13).Append("\n");
            sb.Append("  Serial14: ").Append(Serial14).Append("\n");
            sb.Append("  Serial15: ").Append(Serial15).Append("\n");
            sb.Append("  Serial16: ").Append(Serial16).Append("\n");
            sb.Append("  Serial17: ").Append(Serial17).Append("\n");
            sb.Append("  Serial18: ").Append(Serial18).Append("\n");
            sb.Append("  Serial19: ").Append(Serial19).Append("\n");
            sb.Append("  Serial20: ").Append(Serial20).Append("\n");
            sb.Append("  Serial21: ").Append(Serial21).Append("\n");
            sb.Append("  Serial22: ").Append(Serial22).Append("\n");
            sb.Append("  Serial23: ").Append(Serial23).Append("\n");
            sb.Append("  Serial24: ").Append(Serial24).Append("\n");
            sb.Append("  Serial25: ").Append(Serial25).Append("\n");
            sb.Append("  Serial26: ").Append(Serial26).Append("\n");
            sb.Append("  Serial27: ").Append(Serial27).Append("\n");
            sb.Append("  Serial28: ").Append(Serial28).Append("\n");
            sb.Append("  Serial29: ").Append(Serial29).Append("\n");
            sb.Append("  Shares: ").Append(Shares).Append("\n");
            sb.Append("  Smbios1: ").Append(Smbios1).Append("\n");
            sb.Append("  Smp: ").Append(Smp).Append("\n");
            sb.Append("  Snaptime: ").Append(Snaptime).Append("\n");
            sb.Append("  Sockets: ").Append(Sockets).Append("\n");
            sb.Append("  SpiceEnhancements: ").Append(SpiceEnhancements).Append("\n");
            sb.Append("  Sshkeys: ").Append(Sshkeys).Append("\n");
            sb.Append("  Startdate: ").Append(Startdate).Append("\n");
            sb.Append("  Startup: ").Append(Startup).Append("\n");
            sb.Append("  Tablet: ").Append(Tablet).Append("\n");
            sb.Append("  Tags: ").Append(Tags).Append("\n");
            sb.Append("  Tdf: ").Append(Tdf).Append("\n");
            sb.Append("  Template: ").Append(Template).Append("\n");
            sb.Append("  Tpmstate0: ").Append(Tpmstate0).Append("\n");
            sb.Append("  Unused0: ").Append(Unused0).Append("\n");
            sb.Append("  Unused1: ").Append(Unused1).Append("\n");
            sb.Append("  Unused2: ").Append(Unused2).Append("\n");
            sb.Append("  Unused3: ").Append(Unused3).Append("\n");
            sb.Append("  Unused4: ").Append(Unused4).Append("\n");
            sb.Append("  Unused5: ").Append(Unused5).Append("\n");
            sb.Append("  Unused6: ").Append(Unused6).Append("\n");
            sb.Append("  Unused7: ").Append(Unused7).Append("\n");
            sb.Append("  Unused8: ").Append(Unused8).Append("\n");
            sb.Append("  Unused9: ").Append(Unused9).Append("\n");
            sb.Append("  Unused10: ").Append(Unused10).Append("\n");
            sb.Append("  Unused11: ").Append(Unused11).Append("\n");
            sb.Append("  Unused12: ").Append(Unused12).Append("\n");
            sb.Append("  Unused13: ").Append(Unused13).Append("\n");
            sb.Append("  Unused14: ").Append(Unused14).Append("\n");
            sb.Append("  Unused15: ").Append(Unused15).Append("\n");
            sb.Append("  Unused16: ").Append(Unused16).Append("\n");
            sb.Append("  Unused17: ").Append(Unused17).Append("\n");
            sb.Append("  Unused18: ").Append(Unused18).Append("\n");
            sb.Append("  Unused19: ").Append(Unused19).Append("\n");
            sb.Append("  Unused20: ").Append(Unused20).Append("\n");
            sb.Append("  Unused21: ").Append(Unused21).Append("\n");
            sb.Append("  Unused22: ").Append(Unused22).Append("\n");
            sb.Append("  Unused23: ").Append(Unused23).Append("\n");
            sb.Append("  Unused24: ").Append(Unused24).Append("\n");
            sb.Append("  Unused25: ").Append(Unused25).Append("\n");
            sb.Append("  Unused26: ").Append(Unused26).Append("\n");
            sb.Append("  Unused27: ").Append(Unused27).Append("\n");
            sb.Append("  Unused28: ").Append(Unused28).Append("\n");
            sb.Append("  Unused29: ").Append(Unused29).Append("\n");
            sb.Append("  Usb0: ").Append(Usb0).Append("\n");
            sb.Append("  Usb1: ").Append(Usb1).Append("\n");
            sb.Append("  Usb2: ").Append(Usb2).Append("\n");
            sb.Append("  Usb3: ").Append(Usb3).Append("\n");
            sb.Append("  Usb4: ").Append(Usb4).Append("\n");
            sb.Append("  Usb5: ").Append(Usb5).Append("\n");
            sb.Append("  Usb6: ").Append(Usb6).Append("\n");
            sb.Append("  Usb7: ").Append(Usb7).Append("\n");
            sb.Append("  Usb8: ").Append(Usb8).Append("\n");
            sb.Append("  Usb9: ").Append(Usb9).Append("\n");
            sb.Append("  Usb10: ").Append(Usb10).Append("\n");
            sb.Append("  Usb11: ").Append(Usb11).Append("\n");
            sb.Append("  Usb12: ").Append(Usb12).Append("\n");
            sb.Append("  Usb13: ").Append(Usb13).Append("\n");
            sb.Append("  Usb14: ").Append(Usb14).Append("\n");
            sb.Append("  Usb15: ").Append(Usb15).Append("\n");
            sb.Append("  Usb16: ").Append(Usb16).Append("\n");
            sb.Append("  Usb17: ").Append(Usb17).Append("\n");
            sb.Append("  Usb18: ").Append(Usb18).Append("\n");
            sb.Append("  Usb19: ").Append(Usb19).Append("\n");
            sb.Append("  Usb20: ").Append(Usb20).Append("\n");
            sb.Append("  Usb21: ").Append(Usb21).Append("\n");
            sb.Append("  Usb22: ").Append(Usb22).Append("\n");
            sb.Append("  Usb23: ").Append(Usb23).Append("\n");
            sb.Append("  Usb24: ").Append(Usb24).Append("\n");
            sb.Append("  Usb25: ").Append(Usb25).Append("\n");
            sb.Append("  Usb26: ").Append(Usb26).Append("\n");
            sb.Append("  Usb27: ").Append(Usb27).Append("\n");
            sb.Append("  Usb28: ").Append(Usb28).Append("\n");
            sb.Append("  Usb29: ").Append(Usb29).Append("\n");
            sb.Append("  Vcpus: ").Append(Vcpus).Append("\n");
            sb.Append("  Vga: ").Append(Vga).Append("\n");
            sb.Append("  Virtio0: ").Append(Virtio0).Append("\n");
            sb.Append("  Virtio1: ").Append(Virtio1).Append("\n");
            sb.Append("  Virtio2: ").Append(Virtio2).Append("\n");
            sb.Append("  Virtio3: ").Append(Virtio3).Append("\n");
            sb.Append("  Virtio4: ").Append(Virtio4).Append("\n");
            sb.Append("  Virtio5: ").Append(Virtio5).Append("\n");
            sb.Append("  Virtio6: ").Append(Virtio6).Append("\n");
            sb.Append("  Virtio7: ").Append(Virtio7).Append("\n");
            sb.Append("  Virtio8: ").Append(Virtio8).Append("\n");
            sb.Append("  Virtio9: ").Append(Virtio9).Append("\n");
            sb.Append("  Virtio10: ").Append(Virtio10).Append("\n");
            sb.Append("  Virtio11: ").Append(Virtio11).Append("\n");
            sb.Append("  Virtio12: ").Append(Virtio12).Append("\n");
            sb.Append("  Virtio13: ").Append(Virtio13).Append("\n");
            sb.Append("  Virtio14: ").Append(Virtio14).Append("\n");
            sb.Append("  Virtio15: ").Append(Virtio15).Append("\n");
            sb.Append("  Virtio16: ").Append(Virtio16).Append("\n");
            sb.Append("  Virtio17: ").Append(Virtio17).Append("\n");
            sb.Append("  Virtio18: ").Append(Virtio18).Append("\n");
            sb.Append("  Virtio19: ").Append(Virtio19).Append("\n");
            sb.Append("  Virtio20: ").Append(Virtio20).Append("\n");
            sb.Append("  Virtio21: ").Append(Virtio21).Append("\n");
            sb.Append("  Virtio22: ").Append(Virtio22).Append("\n");
            sb.Append("  Virtio23: ").Append(Virtio23).Append("\n");
            sb.Append("  Virtio24: ").Append(Virtio24).Append("\n");
            sb.Append("  Virtio25: ").Append(Virtio25).Append("\n");
            sb.Append("  Virtio26: ").Append(Virtio26).Append("\n");
            sb.Append("  Virtio27: ").Append(Virtio27).Append("\n");
            sb.Append("  Virtio28: ").Append(Virtio28).Append("\n");
            sb.Append("  Virtio29: ").Append(Virtio29).Append("\n");
            sb.Append("  Virtiofs0: ").Append(Virtiofs0).Append("\n");
            sb.Append("  Virtiofs1: ").Append(Virtiofs1).Append("\n");
            sb.Append("  Virtiofs2: ").Append(Virtiofs2).Append("\n");
            sb.Append("  Virtiofs3: ").Append(Virtiofs3).Append("\n");
            sb.Append("  Virtiofs4: ").Append(Virtiofs4).Append("\n");
            sb.Append("  Virtiofs5: ").Append(Virtiofs5).Append("\n");
            sb.Append("  Virtiofs6: ").Append(Virtiofs6).Append("\n");
            sb.Append("  Virtiofs7: ").Append(Virtiofs7).Append("\n");
            sb.Append("  Virtiofs8: ").Append(Virtiofs8).Append("\n");
            sb.Append("  Virtiofs9: ").Append(Virtiofs9).Append("\n");
            sb.Append("  Virtiofs10: ").Append(Virtiofs10).Append("\n");
            sb.Append("  Virtiofs11: ").Append(Virtiofs11).Append("\n");
            sb.Append("  Virtiofs12: ").Append(Virtiofs12).Append("\n");
            sb.Append("  Virtiofs13: ").Append(Virtiofs13).Append("\n");
            sb.Append("  Virtiofs14: ").Append(Virtiofs14).Append("\n");
            sb.Append("  Virtiofs15: ").Append(Virtiofs15).Append("\n");
            sb.Append("  Virtiofs16: ").Append(Virtiofs16).Append("\n");
            sb.Append("  Virtiofs17: ").Append(Virtiofs17).Append("\n");
            sb.Append("  Virtiofs18: ").Append(Virtiofs18).Append("\n");
            sb.Append("  Virtiofs19: ").Append(Virtiofs19).Append("\n");
            sb.Append("  Virtiofs20: ").Append(Virtiofs20).Append("\n");
            sb.Append("  Virtiofs21: ").Append(Virtiofs21).Append("\n");
            sb.Append("  Virtiofs22: ").Append(Virtiofs22).Append("\n");
            sb.Append("  Virtiofs23: ").Append(Virtiofs23).Append("\n");
            sb.Append("  Virtiofs24: ").Append(Virtiofs24).Append("\n");
            sb.Append("  Virtiofs25: ").Append(Virtiofs25).Append("\n");
            sb.Append("  Virtiofs26: ").Append(Virtiofs26).Append("\n");
            sb.Append("  Virtiofs27: ").Append(Virtiofs27).Append("\n");
            sb.Append("  Virtiofs28: ").Append(Virtiofs28).Append("\n");
            sb.Append("  Virtiofs29: ").Append(Virtiofs29).Append("\n");
            sb.Append("  Vmgenid: ").Append(Vmgenid).Append("\n");
            sb.Append("  Vmstate: ").Append(Vmstate).Append("\n");
            sb.Append("  Vmstatestorage: ").Append(Vmstatestorage).Append("\n");
            sb.Append("  Watchdog: ").Append(Watchdog).Append("\n");
            sb.Append("}\n");
            return sb.ToString();
        }

        /// <summary>
        /// Returns the JSON string presentation of the object
        /// </summary>
        /// <returns>JSON string presentation of the object</returns>
        public virtual string ToJson()
        {
            return Newtonsoft.Json.JsonConvert.SerializeObject(this, Newtonsoft.Json.Formatting.Indented);
        }

        /// <summary>
        /// To validate all properties of the instance
        /// </summary>
        /// <param name="validationContext">Validation context</param>
        /// <returns>Validation Result</returns>
        IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
        {
            yield break;
        }
    }

}
