Hostsvc/advopt/options

From VI-Toolkit
Revision as of 19:05, 31 December 2008 by Wila (talk | contribs) (breaking output up for display purposes)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

vimsh hostsvc/advopt/options

Usage: Get the list of all supported options.

example output

Attached is some example output from a pristine ESX3.5i host.

# vmware-vim-cmd -H 10.10.10.10 -U root -P password hostsvc/advopt/options
(vim.option.OptionDef) [
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "RoutingPolicy",
     summary = "policy for interrupt routing, 1 for idle-routing, 2 for greedy routing, 0 to disable moving IRQs",
     key = "Irq.RoutingPolicy",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 2,
        defaultValue = 2,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "BestVcpuRouting",
     summary = "",
     key = "Irq.BestVcpuRouting",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "IRQRebalancePeriod",
     summary = "time in ms between attempts to rebalance interrupts",
     key = "Irq.IRQRebalancePeriod",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 10,
        max = 20000,
        defaultValue = 50,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "IRQMaxLoadPct",
     summary = "maximum percentage of a cpu's resources that should be devoted to interrupts",
     key = "Irq.IRQMaxLoadPct",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 100,
        defaultValue = 70,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "LogToFile",
     summary = "Send vmkernel log messages to /var/log/vmkernel",
     key = "Misc.LogToFile",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "LogToSerial",
     summary = "Send vmkernel log messages to the serial port",
     key = "Misc.LogToSerial",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "LogWldPrefix",
     summary = "Including running world on every log statement",
     key = "Misc.LogWldPrefix",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "MinimalPanic",
     summary = "Don't attempt to coredump after PSODing",
     key = "Misc.MinimalPanic",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "BlueScreenTimeout",
     summary = "timeout in seconds, 0 is no timeout",
     key = "Misc.BlueScreenTimeout",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 65535,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "HeartbeatTimeout",
     summary = "Timeout in seconds, for sending NMI to the locked CPU",
     key = "Misc.HeartbeatTimeout",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 1,
        max = 86400,
        defaultValue = 60,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "HeartbeatInterval",
     summary = "Interval in msec to check CPU lockups",
     key = "Misc.HeartbeatInterval",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 100,
        max = 86400000,
        defaultValue = 10000,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "HeartbeatPanicTimeout",
     summary = "Interval in seconds after which to panic if no heartbeats received",
     key = "Misc.HeartbeatPanicTimeout",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 60,
        max = 86400,
        defaultValue = 1800,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "HeartbeatAnyPcpuPanic",
     summary = "Should we panic on any cpu lockups? (default we panic only for COS)",
     key = "Misc.HeartbeatAnyPcpuPanic",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "MCEMonitorInterval",
     summary = "Interval[1 - 0x0xffffffff secs] to check Machine Check Errors",
     key = "Misc.MCEMonitorInterval",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 1,
        max = -1,
        defaultValue = 15,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "DebugMemEnable",
     summary = "Enable memory debugging, 0 to disable",
     key = "Misc.DebugMemEnable",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "DebugBuddyEnable",
     summary = "Enable buddy debugging, 0 to disable",
     key = "Misc.DebugBuddyEnable",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "EnableHighDMA",
     summary = "Enable DMA above 4GB",
     key = "Misc.EnableHighDMA",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "TimerMinHardPeriod",
     summary = "Minimum hard timer interrupt period in microseconds",
     key = "Misc.TimerMinHardPeriod",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 100,
        max = 10000,
        defaultValue = 100,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "TimerMaxHardPeriod",
     summary = "Maximum hard timer interrupt period in microseconds",
     key = "Misc.TimerMaxHardPeriod",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 100,
        max = 10000,
        defaultValue = 2000,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "TimerMinGuestPeriod",
     summary = "Minimum period for guest timer callbacks in microseconds",
     key = "Misc.TimerMinGuestPeriod",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 100,
        max = 1000000,
        defaultValue = 100,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "MemAdmitMapEntriesMin",
     summary = "free KVMap entries required to power on VM",
     key = "Misc.MemAdmitMapEntriesMin",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 100,
        defaultValue = 30,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "MemMapEntriesLow",
     summary = "Point at which to start conserving KVMap entries",
     key = "Misc.MemMapEntriesLow",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1024,
        defaultValue = 200,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "KVMapGuardUncached",
     summary = "use guard pages around uncached kvmap mappings",
     key = "Misc.KVMapGuardUncached",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "SerialPort",
     summary = "Which serial port (1 or 2) to use for logging, or 0 for neither.",
     key = "Misc.SerialPort",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 2,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "SerialBaudRate",
     summary = "Baud rate",
     key = "Misc.SerialBaudRate",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 9600,
        max = 115200,
        defaultValue = 115200,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "WatchdogBacktrace",
     summary = "Backtrace on every nth watchdog",
     key = "Misc.WatchdogBacktrace",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 10,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "BHTimeout",
     summary = "Timeout for bottom-half handlers in milliseconds",
     key = "Misc.BHTimeout",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 5000,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "BhTimeBound",
     summary = "Time bound on BH checking in us (microseconds).",
     key = "Misc.BhTimeBound",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 500000,
        defaultValue = 2000,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "IntTimeout",
     summary = "Timeout for interrupt handlers in milliseconds",
     key = "Misc.IntTimeout",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 5000,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "RunningVCpuLimit",
     summary = "The limit for the number of VCPUs",
     key = "Misc.RunningVCpuLimit",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1024,
        defaultValue = 128,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "HordeEnabled",
     summary = "Enables horde mode",
     key = "Misc.HordeEnabled",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "AckActual",
     summary = "Ack actual end",
     key = "Misc.AckActual",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "NoWaitOnSocket",
     summary = "Don't wait on socket",
     key = "Misc.NoWaitOnSocket",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "ScreenSaverDelay",
     summary = "Delay in minutes before screensaver kicks in",
     key = "Misc.ScreenSaverDelay",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 60,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "CimEnabled",
     summary = "Enable CIM Service",
     key = "Misc.CimEnabled",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "CimOemProvidersEnabled",
     summary = "Enable OEM Providers",
     key = "Misc.CimOemProvidersEnabled",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "CimIHVProvidersEnabled",
     summary = "Enable IHV Providers",
     key = "Misc.CimIHVProvidersEnabled",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "CimWatchdogInterval",
     summary = "Seconds of delay between sfcbd poll",
     key = "Misc.CimWatchdogInterval",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 86400,
        defaultValue = 60,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "FSSLightWeightProbe",
     summary = "Enable light-weight efficient probe of ESX supported datastores",
     key = "Misc.FSSLightWeightProbe",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "ProcVerbose",
     summary = "option unused",
     key = "Misc.ProcVerbose",
     optionType = (vim.option.StringOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        defaultValue = "",
        validCharacters = "**",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "MaxPortRxQueueLen",
     summary = "Max length of the rx queue for virtual ports whose clients support queueing.",
     key = "Net.MaxPortRxQueueLen",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 1,
        max = 500,
        defaultValue = 80,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "MaxNetifRxQueueLen",
     summary = "Max length of the rx queue for the physical NICs.",
     key = "Net.MaxNetifRxQueueLen",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 1,
        max = 1000,
        defaultValue = 100,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "MaxNetifTxQueueLen",
     summary = "Max length of the tx queue for the physical NICs.",
     key = "Net.MaxNetifTxQueueLen",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 1,
        max = 1000,
        defaultValue = 200,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "GuestTxCopyBreak",
     summary = "transmits smaller than this will be copied rather than mapped.",
     key = "Net.GuestTxCopyBreak",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 60,
        max = -1,
        defaultValue = 64,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VmxnetTxCopySize",
     summary = "vmxnet tx <= than this will be fully copied with no need for completion.",
     key = "Net.VmxnetTxCopySize",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = -1,
        defaultValue = 256,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VmxnetWinUDPTxFullCopy",
     summary = "whether Windows vmxnet UDP tx is fullCopy.",
     key = "Net.VmxnetWinUDPTxFullCopy",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "UseProc",
     summary = "whether or not to populate /proc/vmware/net. [0 = disabled, 1 = enabled]",
     key = "Net.UseProc",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "UseLegacyProc",
     summary = "whether or not to populate legacy entries in /proc/vmware/net. [0 = disabled, 1 = enabled]",
     key = "Net.UseLegacyProc",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "NotifySwitch",
     summary = "Broadcasts an arp request on net handle enable. [0 = disabled, 1 = enabled]",
     key = "Net.NotifySwitch",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "NetTxDontClusterSize",
     summary = "transmits smaller than this will not be subject to clustering/coalescing.",
     key = "Net.NetTxDontClusterSize",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 8192,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "NetPktAllocTries",
     summary = "Number of tries for allocating pkt within the page.",
     key = "Net.NetPktAllocTries",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 1,
        max = 10,
        defaultValue = 5,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "CoalesceTxTimeout",
     summary = "set the coalesce timeout in micro-seconds.",
     key = "Net.CoalesceTxTimeout",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 1,
        max = -1,
        defaultValue = 2000,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "CoalesceDefaultOn",
     summary = "whether dynamic coalescing is on by default. [0 = disabled by default, 1 = enabled by default]",
     key = "Net.CoalesceDefaultOn",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "CoalesceLowTxMsRate",
     summary = "No tx coalescing calibration when the number of pkts tx per ms is lower than this number.",
     key = "Net.CoalesceLowTxMsRate",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 64,
        defaultValue = 4,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "CoalesceLowRxMsRate",
     summary = "No rx coalescing calibration when the number of pkts rx per ms is lower than this number.",
     key = "Net.CoalesceLowRxMsRate",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 64,
        defaultValue = 6,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "CoalesceHandlerPcpu",
     summary = "Pcpu that coalesce timeout handler runs on.",
     key = "Net.CoalesceHandlerPcpu",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 32,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "CoalesceTxAlwaysPoll",
     summary = "Whether always poll Tx at coalesce timeout handler.",
     key = "Net.CoalesceTxAlwaysPoll",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "vmxnetBHNetPoll",
     summary = "Whether to poll for Tx in BH NetPoll.",
     key = "Net.vmxnetBHNetPoll",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "vmxnetThroughputWeight",
     summary = "How far to favor throughput in vmxnet behavior.",
     key = "Net.vmxnetThroughputWeight",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 255,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "EtherswitchHashSize",
     summary = "number of ports on the switch x 2^N is the size of the hash table for looking up MACs.",
     key = "Net.EtherswitchHashSize",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 4,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "NoLocalCSum",
     summary = "if set, don't bother checksumming local tx/rx frames.",
     key = "Net.NoLocalCSum",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "PortSerializeInput",
     summary = "if enabled(1), input into port through appropriate calls are serialized to prevent out-of-order delivery.",
     key = "Net.PortSerializeInput",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "PortFlushIterLimit",
     summary = "when input is serialized, this bounds the number of times a thread flushes the deferred list.",
     key = "Net.PortFlushIterLimit",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 127,
        defaultValue = 2,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "PortFlushPktLimit",
     summary = "when input is serialized, this bounds the number of pkts a thread flushes from the deferred list.",
     key = "Net.PortFlushPktLimit",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 255,
        defaultValue = 64,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "PortTrackTxRace",
     summary = "if enabled(1), collect statistics on potential tx race between concurrent threads.",
     key = "Net.PortTrackTxRace",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "PortKeepDetailedStats",
     summary = "if enabled(1), collect detailed statistics on port.",
     key = "Net.PortKeepDetailedStats",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "PortDisableTimeout",
     summary = "max timeout delay to wait for ports to complete I/O before disabling.",
     key = "Net.PortDisableTimeout",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 2147483647,
        defaultValue = 5000,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "TcpipHeapSize",
     summary = "Initial size of the tcpip module heap in megabytes. (REQUIRES REBOOT!)",
     key = "Net.TcpipHeapSize",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 6,
        max = 30,
        defaultValue = 9,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "TcpipHeapMax",
     summary = "Max megabytes the tcpip module heap can grow to. (REQUIRES REBOOT!)",
     key = "Net.TcpipHeapMax",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 30,
        max = 120,
        defaultValue = 30,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "MaxPageInQueueLen",
     summary = "maximum number of pageing requests to queue for guest DMA.",
     key = "Net.MaxPageInQueueLen",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 5000,
        defaultValue = 500,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "MaxBeaconsAtOnce",
     summary = "maximum number of beacons to send in one beacon cycle.",
     key = "Net.MaxBeaconsAtOnce",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 4096,
        defaultValue = 100,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "MaxBeaconVlans",
     summary = "maximum number of VLANs to probe with beacons.",
     key = "Net.MaxBeaconVlans",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 4096,
        defaultValue = 100,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "TcpipNoBcopyRx",
     summary = "Avoid bcopy in tcp rx.",
     key = "Net.TcpipNoBcopyRx",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "TcpipCopySmallTx",
     summary = "Copy and tx complete small packets for tcp tx.",
     key = "Net.TcpipCopySmallTx",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "TcpipLargeRx",
     summary = "Allow frames larger than mtu for tcp rx.",
     key = "Net.TcpipLargeRx",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "TcpipMaxPktInFlight",
     summary = "Maximum zero copy mbuf packet in flight.",
     key = "Net.TcpipMaxPktInFlight",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 10000,
        defaultValue = 1000,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "TcpipDelayedAck",
     summary = "Enable/Disable delayed ACKs.",
     key = "Net.TcpipDelayedAck",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "LinkStatePollTimeout",
     summary = "Link State poll timer period in milliseconds.",
     key = "Net.LinkStatePollTimeout",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 1000,
        max = 90000,
        defaultValue = 5000,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "TcpipUseIoat",
     summary = "Use IOAT chipset if present. (REQUIRES REBOOT!)",
     key = "Net.TcpipUseIoat",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "TcpipIoatAlwaysWakeup",
     summary = "Wakeup soreceive thread on every tcp packet (for IOAT only).",
     key = "Net.TcpipIoatAlwaysWakeup",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "E1000TxZeroCopy",
     summary = "Use tx zero copy for non-tso packets for e1000.",
     key = "Net.E1000TxZeroCopy",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "E1000TxTsoZeroCopy",
     summary = "Use tx zero copy for tso packets for e1000.",
     key = "Net.E1000TxTsoZeroCopy",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "MinEtherLen",
     summary = "Minimum size ethernet frame to transmit.",
     key = "Net.MinEtherLen",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1518,
        defaultValue = 60,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "MaxPktRxListQueue",
     summary = "Maximum packet we can queue in rxList.",
     key = "Net.MaxPktRxListQueue",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 200000,
        defaultValue = 3500,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "NetBHRxWorkBound",
     summary = "Maximum rx pkts processed in one NetBH invocation.",
     key = "Net.NetBHRxWorkBound",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 200000,
        defaultValue = 320,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "NetBHRxInputBound",
     summary = "Maximum rx pkts sent up an uplink at one go.",
     key = "Net.NetBHRxInputBound",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 200000,
        defaultValue = 64,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "NetBHRxStormThreshold",
     summary = "Declare Rx Storm after this number of consecutive rx pkt drops during queuing in NetBH rxList.",
     key = "Net.NetBHRxStormThreshold",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 200000,
        defaultValue = 320,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "ReversePathFwdCheck",
     summary = "Block the multicast/broadcast packets that come back from physical switches in a teamed environment.",
     key = "Net.ReversePathFwdCheck",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "AllowPromiscFilters",
     summary = "Block duplicate multicast/broadcast packet in a teamed environment when the virtual switch is set to Promiscuous mode.",
     key = "Net.AllowPromiscFilters",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "Vmxnet2PinRxBuf",
     summary = "Pin RX buffers for vmxnet2 clients. (windows guest only)",
     key = "Net.Vmxnet2PinRxBuf",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "TsoDumpPkt",
     summary = "detailed dump of every <n> pkts.",
     key = "Net.TsoDumpPkt",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 2147483647,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "IGMPVersion",
     summary = "IGMP Version (2 or 3).",
     key = "Net.IGMPVersion",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 2,
        max = 3,
        defaultValue = 3,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "IGMPQueries",
     summary = "Number of IGMP Queries to send during after VMotion/Teaming failover.",
     key = "Net.IGMPQueries",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 2,
        defaultValue = 2,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "NcpLlcSap",
     summary = "beacon/color NCP messages created with this SAP (DSAP/SSAP)",
     key = "Net.NcpLlcSap",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 255,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "IGMPRouterIP",
     summary = "Router IP Address for IGMP (generally not necessary to set this).",
     key = "Net.IGMPRouterIP",
     optionType = (vim.option.StringOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        defaultValue = "10.0.0.0",
        validCharacters = "10.0.0.0",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "BalancePeriod",
     summary = "period in seconds, 0 to disable",
     key = "Mem.BalancePeriod",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 120,
        defaultValue = 15,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "SamplePeriod",
     summary = "period in seconds, 0 to disable",
     key = "Mem.SamplePeriod",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 180,
        defaultValue = 60,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "IdleTax",
     summary = "idle memory tax rate",
     key = "Mem.IdleTax",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 99,
        defaultValue = 75,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "IdleTaxType",
     summary = "idle tax type. 0=flat, 1=variable",
     key = "Mem.IdleTaxType",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "SampleActivePctMin",
     summary = "lower bound for sampled active memory",
     key = "Mem.SampleActivePctMin",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 10,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "ShareScanGHz",
     summary = "max page scan rate in MB/sec per GHz of host CPU, 0 to disable",
     key = "Mem.ShareScanGHz",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 32,
        defaultValue = 4,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "ShareScanTime",
     summary = "desired time in minutes to scan entire VM",
     key = "Mem.ShareScanTime",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 10,
        max = 600,
        defaultValue = 60,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "ShareRateMax",
     summary = "per-VM upper limit on pshare scan/check rate in pages/sec. (0 to disable)",
     key = "Mem.ShareRateMax",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 32768,
        defaultValue = 1024,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "CtlMaxPercent",
     summary = "vmmemctl limit as percentage of VM max size",
     key = "Mem.CtlMaxPercent",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 75,
        defaultValue = 65,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "AllocHighThreshold",
     summary = "Threshold (in MB) at which we start allocating memory above 4GB",
     key = "Mem.AllocHighThreshold",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 1,
        max = 4096,
        defaultValue = 1500,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "AllocGuestLargePage",
     summary = "Enable large page backing of guest memory",
     key = "Mem.AllocGuestLargePage",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "AllocUsePSharePool",
     summary = "Use pshare pool to allocate memory for shared pages",
     key = "Mem.AllocUsePSharePool",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "AllocUseGuestPool",
     summary = "Use large page pool to allocate memory for guest pages",
     key = "Mem.AllocUseGuestPool",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "AdmitHeapMin",
     summary = "free heap space required to power on VM, in KB",
     key = "Mem.AdmitHeapMin",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 256,
        max = 10240,
        defaultValue = 1024,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "MinFreePct",
     summary = "Minimum percent of memory that should be kept free",
     key = "Mem.MinFreePct",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 6,
        max = 24,
        defaultValue = 6,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "ShareCOSBufSize",
     summary = "Specify number of MPNs to be used by COW P2M buffer",
     key = "Mem.ShareCOSBufSize",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 2,
        max = 8,
        defaultValue = 2,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "SwapIORetry",
     summary = "Number of retries for swap-in operation on I/O failures",
     key = "Mem.SwapIORetry",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 100000,
        defaultValue = 5000,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "TestOnAlloc",
     summary = "Check the newly allocated page for Memory Errors",
     key = "Mem.TestOnAlloc",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "ShareEstimatePeriod",
     summary = "Sleep interval for pshare-est daemon world",
     key = "Mem.ShareEstimatePeriod",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 1000,
        max = 300000,
        defaultValue = 30000,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "ShareEstimateProbe",
     summary = "Maximum per-VM page probes for pshare estimation",
     key = "Mem.ShareEstimateProbe",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 1,
        max = 5000,
        defaultValue = 200,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "ShareEstimateSamples",
     summary = "Minimum required per-VM page samples for pshare estimation",
     key = "Mem.ShareEstimateSamples",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 1,
        max = 100,
        defaultValue = 100,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "kernelResvPad",
     summary = "Extra padding (in MB) for MemSched's tracking of kernel memory usage",
     key = "Mem.kernelResvPad",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 1,
        max = 128,
        defaultValue = 16,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "LogLowMemoryStateUsage",
     summary = "Log memory usage of memclients during low memory state",
     key = "Mem.LogLowMemoryStateUsage",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "LogLowMemoryStateBT",
     summary = "Log back-trace of contexts that allocate MPNs during low memory state",
     key = "Mem.LogLowMemoryStateBT",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "SwapDecayPct",
     summary = "Percentage of swap target to be proactively transferred to balloon target",
     key = "Mem.SwapDecayPct",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 100,
        defaultValue = 5,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "DesiredAllocEnable",
     summary = "Enable use of desired allocations when computing allocation targets",
     key = "Mem.DesiredAllocEnable",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "DesiredAllocPct",
     summary = "Percentage of consumed memory to be considered as the desired allocation target",
     key = "Mem.DesiredAllocPct",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 100,
        max = 200,
        defaultValue = 125,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "BonusAllocPct",
     summary = "Percentage of group allocation to be distributed to children as bonus",
     key = "Mem.BonusAllocPct",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 100,
        defaultValue = 5,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "SwapFilePersist",
     summary = "The swap file is not deleted when the VM powers off, 1 to enable",
     key = "Mem.SwapFilePersist",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "SwapInBatchPages",
     summary = "Number of pages swapped in per batch during opportunistic prefaulting",
     key = "Mem.SwapInBatchPages",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 1,
        max = 512,
        defaultValue = 64,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "SwapAsyncWritePages",
     summary = "Maximum allowed pending asynchronous swapout requests per VM",
     key = "Mem.SwapAsyncWritePages",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 16,
        max = 64,
        defaultValue = 20,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "HostLocalSwapDirEnabled",
     summary = "Enable use of host-local swap directory",
     key = "Mem.HostLocalSwapDirEnabled",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "TrackUsageAllocAllowance",
     summary = "Memory alloc allowance (in 4K pages) while usage is tracked via heartbeat or swap action post",
     key = "Mem.TrackUsageAllocAllowance",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 64,
        max = 4096,
        defaultValue = 2048,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "TrackUsageSwapAllowance",
     summary = "Memory swap allowance (in 4K pages) while usage is tracked via heartbeat or swap action post",
     key = "Mem.TrackUsageSwapAllowance",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 64,
        max = 4096,
        defaultValue = 2048,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "TrackUsageLPageAllowance",
     summary = "Memory large page alloc allowance (in 2M pages) while usage is tracked via heartbeat action post",
     key = "Mem.TrackUsageLPageAllowance",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 1,
        max = 256,
        defaultValue = 8,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "TrackUsageHeartbeatPeriod",
     summary = "Sleep interval in seconds for busmem heartbeat",
     key = "Mem.TrackUsageHeartbeatPeriod",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 5,
        max = 300,
        defaultValue = 30,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "TrackUsageHeartbeatEnable",
     summary = "Enable/disable MPN usage tracking via heartbeat monitor action (0 for disable)",
     key = "Mem.TrackUsageHeartbeatEnable",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMOverheadGrowthLimit",
     summary = "Default limit (in MB) on VM overhead memory growth",
     key = "Mem.VMOverheadGrowthLimit",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = -1,
        defaultValue = -1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "HostLocalSwapDir",
     summary = "Host-local directory for VM swap files",
     key = "Mem.HostLocalSwapDir",
     optionType = (vim.option.StringOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        defaultValue = "",
        validCharacters = "**",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "MigratePeriod",
     summary = "milliseconds between opportunities to migrate across cpus",
     key = "Cpu.MigratePeriod",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 5000,
        defaultValue = 20,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "CellMigratePeriod",
     summary = "milliseconds between opportunities to migrate across cells",
     key = "Cpu.CellMigratePeriod",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 60000,
        defaultValue = 1000,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "WakeupMigrateIdle",
     summary = "migrate to idle package on wakeup, 0 to disable",
     key = "Cpu.WakeupMigrateIdle",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "PcpuMigrateIdle",
     summary = "always migrate from remote pcpus when a core becomes idle, 0 to disable",
     key = "Cpu.PcpuMigrateIdle",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "CreditAgePeriod",
     summary = "period in milliseconds",
     key = "Cpu.CreditAgePeriod",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 500,
        max = 10000,
        defaultValue = 3000,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "BoundLagQuanta",
     summary = "number of global quanta before bound lag",
     key = "Cpu.BoundLagQuanta",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 1,
        max = 100,
        defaultValue = 8,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "CacheStats",
     summary = "enable per-world cache data collection",
     key = "Cpu.CacheStats",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "Quantum",
     summary = "quantum in milliseconds",
     key = "Cpu.Quantum",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 1,
        max = 1000,
        defaultValue = 50,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "SkewPollUsec",
     summary = "interval between coscheduling skew checks, in usec",
     key = "Cpu.SkewPollUsec",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 500,
        max = 5000,
        defaultValue = 1000,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "SkewInstanceThreshold",
     summary = "maximum individual skew between vcpus in usec, 0 to disable",
     key = "Cpu.SkewInstanceThreshold",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 100000,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "SkewCumulativeThreshold",
     summary = "maximum cumulative skew between vcpus in usec, 0 to disable",
     key = "Cpu.SkewCumulativeThreshold",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 100000,
        defaultValue = 5000,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "IdlePackageRebalancePeriod",
     summary = "usec between chances to rebalance idle packages (0 to disable, 100000 max)",
     key = "Cpu.IdlePackageRebalancePeriod",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 100000,
        defaultValue = 541,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "IntraCoreMigrate",
     summary = " When to allow intra-core migrations [0:when inter-core migration allowed, 1:always]",
     key = "Cpu.IntraCoreMigrate",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMotionMinAllocPct",
     summary = "Per-VM minimum CPU allocations (in %) for VMotion requirements",
     key = "Cpu.VMotionMinAllocPct",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 200,
        defaultValue = 30,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMAdmitCheckPerVcpuMin",
     summary = "Perform additional admission control check that per vcpu VM cpu min does not exceed the speed of a single physical  cpu. [0:dis",
     key = "Cpu.VMAdmitCheckPerVcpuMin",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "CoSchedIdleBalancePeriod",
     summary = "millisecs between opportunities to move co-scheduled vcpus to more idle cores and packages, 0 to disable",
     key = "Cpu.CoSchedIdleBalancePeriod",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 100000,
        defaultValue = 1000,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "RebalancePeriod",
     summary = "frequency of NUMA node rebalancing, in milliseconds",
     key = "Numa.RebalancePeriod",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 100,
        max = 60000,
        defaultValue = 2000,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "MigImbalanceThreshold",
     summary = "minimum percent load imbalance between nodes to trigger migration",
     key = "Numa.MigImbalanceThreshold",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 1,
        max = 200,
        defaultValue = 10,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "MigThreshold",
     summary = "minimum percent load balance improvement to allow single migration/swap",
     key = "Numa.MigThreshold",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 100,
        defaultValue = 2,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "MigThrashThreshold",
     summary = "maximum post-migration load imbalance, as percentage of pre-migration imbalance, to prevent thrashing",
     key = "Numa.MigThrashThreshold",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 100,
        defaultValue = 50,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "SwapLoadEnable",
     summary = "1 to enable VM swaps across nodes to balance CPU load, 0 to disable",
     key = "Numa.SwapLoadEnable",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "SwapLocalityEnable",
     summary = "1 to enable VM swaps across nodes to improve memory locality, 0 to disable",
     key = "Numa.SwapLocalityEnable",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "RebalanceEnable",
     summary = "1 to enable NUMA rebalancer, 0 to disable it",
     key = "Numa.RebalanceEnable",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "RebalanceCoresTotal",
     summary = "minimum number of total host cores required to enable NUMA rebalancer",
     key = "Numa.RebalanceCoresTotal",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 1,
        max = 32,
        defaultValue = 4,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "RebalanceCoresNode",
     summary = "minimum number of cores per node required to enable NUMA rebalancer",
     key = "Numa.RebalanceCoresNode",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 1,
        max = 8,
        defaultValue = 2,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "MonMigEnable",
     summary = "1 to allow NUMASched monitor migrations, 0 to disallow",
     key = "Numa.MonMigEnable",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "AutoMemAffinity",
     summary = "1 to set mem affinity automatically based on cpu affinity, 0 to disable",
     key = "Numa.AutoMemAffinity",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "PageMigEnable",
     summary = "1 to permit NUMASched to manipulate page migration, 0 to disallow it",
     key = "Numa.PageMigEnable",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "PostMigUseActiveMetric",
     summary = "1 to use alternative migActive metric for post-migration imbalance prediction, 0 to use default migEntitlement metric",
     key = "Numa.PostMigUseActiveMetric",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "LPageDefragEnable",
     summary = "Enable large page defragmentation",
     key = "LPage.LPageDefragEnable",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "LPageMarkLowNodes",
     summary = "Enable marking of nodes with low large pages free",
     key = "LPage.LPageMarkLowNodes",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "LPageDefragRateVM",
     summary = "Maximum number of lpage defrag attempts per second per VM",
     key = "LPage.LPageDefragRateVM",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 1,
        max = 1024,
        defaultValue = 2,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "LPageDefragRateTotal",
     summary = "Maximum number of lpage defrag attempts per second ",
     key = "LPage.LPageDefragRateTotal",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 1,
        max = 10240,
        defaultValue = 8,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "LPageAlwaysTryForNPT",
     summary = "Enable always try to alloc large page for NPT",
     key = "LPage.LPageAlwaysTryForNPT",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "SharesNormal",
     summary = "shares for normal/default disk priority",
     key = "Disk.SharesNormal",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 100,
        max = 10000,
        defaultValue = 1000,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "SharesHigh",
     summary = "shares for high disk priority",
     key = "Disk.SharesHigh",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 100,
        max = 10000,
        defaultValue = 2000,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "SharesLow",
     summary = "shares for low disk priority",
     key = "Disk.SharesLow",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 100,
        max = 10000,
        defaultValue = 500,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "BandwidthCap",
     summary = "cap on disk bandwidth (Kb/s) usage",
     key = "Disk.BandwidthCap",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 10,
        max = 2147483647,
        defaultValue = 2147483647,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "ThroughputCap",
     summary = "cap on disk throughput (IO/S) usage",
     key = "Disk.ThroughputCap",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 10,
        max = 2147483647,
        defaultValue = 2147483647,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "SectorMaxDiff",
     summary = "Distance in sectors at which disk BW sched affinity stops",
     key = "Disk.SectorMaxDiff",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 2000000,
        defaultValue = 2000,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "SchedQuantum",
     summary = "Number of consecutive requests from one World",
     key = "Disk.SchedQuantum",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 1,
        max = 64,
        defaultValue = 8,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "SchedNumReqOutstanding",
     summary = "Number of outstanding commands to a target with competing worlds",
     key = "Disk.SchedNumReqOutstanding",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 1,
        max = 256,
        defaultValue = 32,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "SchedQControlSeqReqs",
     summary = "Number of consecutive requests from a VM required to raise the outstanding commands to max",
     key = "Disk.SchedQControlSeqReqs",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 2048,
        defaultValue = 128,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "SchedQControlVMSwitches",
     summary = "Number of switches between commands issued by different VMs required to reduce outstanding commands to SchedNumReqOutstanding",
     key = "Disk.SchedQControlVMSwitches",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 2048,
        defaultValue = 6,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "MaxLUN",
     summary = "Maximum LUN id that is scanned on a target",
     key = "Disk.MaxLUN",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 1,
        max = 256,
        defaultValue = 256,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "SupportSparseLUN",
     summary = "Support for sparse LUNs if set to one",
     key = "Disk.SupportSparseLUN",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "UseReportLUN",
     summary = "Use the REPORT LUN command to speed up scanning for devices",
     key = "Disk.UseReportLUN",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "UseDeviceReset",
     summary = "Use device reset (instead of bus reset) to reset a SCSI device",
     key = "Disk.UseDeviceReset",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "UseLunReset",
     summary = "Use LUN reset (instead of device/bus reset) to reset a SCSI device",
     key = "Disk.UseLunReset",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "RetryUnitAttention",
     summary = "Retry all SCSI commands that return a unit attention error",
     key = "Disk.RetryUnitAttention",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "ResetOnFailover",
     summary = "Issue a SCSI reset when failing over to an alternate HBA",
     key = "Disk.ResetOnFailover",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "PathEvalTime",
     summary = "The number of seconds between FC path evaluations",
     key = "Disk.PathEvalTime",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 30,
        max = 1500,
        defaultValue = 300,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "MaxVCNotReadyTime",
     summary = "The number of seconds a VC path can report NOT READY status before being declared dead",
     key = "Disk.MaxVCNotReadyTime",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 15,
        max = 90,
        defaultValue = 60,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "MaxDS400NotReadyTime",
     summary = "The number of seconds a DS400 path can report IN TRANSITION before being declared dead",
     key = "Disk.MaxDS400NotReadyTime",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 15,
        max = 90,
        defaultValue = 60,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "EnableNaviReg",
     summary = "Enable automatic NaviAgent registration with CLARiiON and Invista (vmvisor only)",
     key = "Disk.EnableNaviReg",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "DelayOnBusy",
     summary = "Delay in milliseconds for completion of commands with a BUSY status",
     key = "Disk.DelayOnBusy",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 5000,
        defaultValue = 400,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "ResetLatency",
     summary = "Delay in milliseconds between reset thread wake-ups",
     key = "Disk.ResetLatency",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 100,
        max = 600000,
        defaultValue = 1000,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "MaxResetLatency",
     summary = "Delay in milliseconds before logging warnings and spawning new reset worlds if a reset is overdue or taking too long",
     key = "Disk.MaxResetLatency",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 500,
        max = 600000,
        defaultValue = 2000,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "ResetPeriod",
     summary = "Delay in seconds between bus resets retries",
     key = "Disk.ResetPeriod",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 1,
        max = 3600,
        defaultValue = 30,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "ResetMaxRetries",
     summary = "Max number of bus reset retries (0=infinite)",
     key = "Disk.ResetMaxRetries",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 10000,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "ResetThreadMin",
     summary = "Min number of reset handler threads",
     key = "Disk.ResetThreadMin",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 1,
        max = 16,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "ResetThreadMax",
     summary = "Max number of reset handler threads",
     key = "Disk.ResetThreadMax",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 1,
        max = 16,
        defaultValue = 16,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "ResetThreadExpires",
     summary = "Life in seconds of an inactive reset handle thread",
     key = "Disk.ResetThreadExpires",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 86400,
        defaultValue = 1800,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "ResetOverdueLogPeriod",
     summary = "Delay in seconds between logs of overdue reset",
     key = "Disk.ResetOverdueLogPeriod",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 10,
        max = 86400,
        defaultValue = 60,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "SPBlksToSwitch",
     summary = "Number of blocks of I/O sent over a given path before a path switch (0=infinite)",
     key = "Disk.SPBlksToSwitch",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1000000,
        defaultValue = 2048,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "SPCmdsToSwitch",
     summary = "Number of I/O commands sent over a given path before a path switch (0=infinite) ",
     key = "Disk.SPCmdsToSwitch",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1000000,
        defaultValue = 50,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "PreventVMFSOverwrite",
     summary = "Prevent Console OS from overwriting VMFS partitions",
     key = "Disk.PreventVMFSOverwrite",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "DumpMaxRetries",
     summary = "Max number of I/O retries during disk dump",
     key = "Disk.DumpMaxRetries",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1000,
        defaultValue = 10,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "DiskMaxIOSize",
     summary = "Max Disk READ/WRITE I/O size before splitting (in KB)",
     key = "Disk.DiskMaxIOSize",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 32,
        max = 32767,
        defaultValue = 32767,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "MaskLUNs",
     summary = "LUN's to mask from kernel. Format: <adapter>:<target>:<comma separated LUN range list>",
     key = "Disk.MaskLUNs",
     optionType = (vim.option.StringOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        defaultValue = "",
        validCharacters = "**",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "SANDevicesWithAPFailover",
     summary = "SAN devices with Active/Passive Path Failover. Format: <16 Character Device Id>:<16 Character Device Id>:...",
     key = "Disk.SANDevicesWithAPFailover",
     optionType = (vim.option.StringOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        defaultValue = "",
        validCharacters = "**",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "Enabled",
     summary = "Enable hot migration support",
     key = "Migrate.Enabled",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "PreCopyLeftMB",
     summary = "Maximum modified memory left over after pre-copy is done",
     key = "Migrate.PreCopyLeftMB",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 1,
        max = 1024,
        defaultValue = 16,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "PreCopyMinProgressMB",
     summary = "Minimum reduction in modified memory after a pre-copy iteration",
     key = "Migrate.PreCopyMinProgressMB",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 1,
        max = 1024,
        defaultValue = 16,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "NetTimeout",
     summary = "Timeout for migration network operations",
     key = "Migrate.NetTimeout",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 1,
        max = 3600,
        defaultValue = 20,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "MemChksum",
     summary = "Checksum VM's memory while migrating",
     key = "Migrate.MemChksum",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "TSMaster",
     summary = "Pseudo-synchronize clocks for migration to/from this machine",
     key = "Migrate.TSMaster",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "PageInTimeout",
     summary = "Time in seconds to wait for page-in to finish",
     key = "Migrate.PageInTimeout",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 10,
        max = 18000,
        defaultValue = 100,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "PageInTimeoutResetOnProgress",
     summary = "Page-in progess will reset the page-in timeout",
     key = "Migrate.PageInTimeoutResetOnProgress",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "PageInProgress",
     summary = "Time in seconds after which a page-in will be killed if there is no progress",
     key = "Migrate.PageInProgress",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 5,
        max = 18000,
        defaultValue = 15,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "PageInBeforeResume",
     summary = "Wait for page-in to finish before resuming on the dest",
     key = "Migrate.PageInBeforeResume",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "PassthroughLocking",
     summary = "Disable locking for scsi passthrough devices",
     key = "Scsi.PassthroughLocking",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "ConflictRetries",
     summary = "Maximum number of retries when encountering reservation conflict.",
     key = "Scsi.ConflictRetries",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 1,
        max = 200,
        defaultValue = 80,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "LogMultiPath",
     summary = "Log path state changes",
     key = "Scsi.LogMultiPath",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "LogAborts",
     summary = "Log timing of aborted or reseted IOs",
     key = "Scsi.LogAborts",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "PrintCmdErrors",
     summary = "Print the error to log on a SCSI command error.",
     key = "Scsi.PrintCmdErrors",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "MaxReserveTime",
     summary = "Maximum time (in msecs) a system-initiated reservation is normally held (debug only)",
     key = "Scsi.MaxReserveTime",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 50,
        max = 500,
        defaultValue = 200,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "MaxReserveTotalTime",
     summary = "Maximum time (in msecs) a system-initiated reservation normally takes from issue to release (debug only)",
     key = "Scsi.MaxReserveTotalTime",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 50,
        max = 500,
        defaultValue = 250,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "MaxReserveBacktrace",
     summary = "Log a backtrace if caller exceeds SCSI_MAX_RESERVE_TIME or SCSI_MAX_RESERVE_TOTALTIME (debug only)",
     key = "Scsi.MaxReserveBacktrace",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "ReserveBacktrace",
     summary = "Log a backtrace for all Reserve/Release pairs (debug only)",
     key = "Scsi.ReserveBacktrace",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "SCSITimeout_ScanTime",
     summary = "time (in ms) to sleep between checking for timed-out async IO",
     key = "Scsi.SCSITimeout_ScanTime",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 1,
        max = 99999999,
        defaultValue = 1000,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "SCSITimeout_ReabortTime",
     summary = "delay (in ms) after an abort due to timeout before the abort is re-issued",
     key = "Scsi.SCSITimeout_ReabortTime",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 1,
        max = 99999999,
        defaultValue = 5000,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "ScanOnDriverLoad",
     summary = "Scan new SCSI buses on device driver load",
     key = "Scsi.ScanOnDriverLoad",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "TimeoutTMThreadMin",
     summary = "Min number of timeout task-mgmt handler threads",
     key = "Scsi.TimeoutTMThreadMin",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 1,
        max = 16,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "TimeoutTMThreadMax",
     summary = "Max number of device task-mgmt handler threads",
     key = "Scsi.TimeoutTMThreadMax",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 1,
        max = 16,
        defaultValue = 16,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "TimeoutTMThreadExpires",
     summary = "Life in seconds of timeout task mgmt handler thread",
     key = "Scsi.TimeoutTMThreadExpires",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 1,
        max = 86400,
        defaultValue = 1800,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "TimeoutTMThreadRetry",
     summary = "Delay in milliseconds before retrying failed timeout taskmgmt",
     key = "Scsi.TimeoutTMThreadRetry",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 1000,
        max = 100000,
        defaultValue = 40000,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "TimeoutTMThreadLatency",
     summary = "Delay in ms before waking up new task mgmt thread ",
     key = "Scsi.TimeoutTMThreadLatency",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 1,
        max = 600000,
        defaultValue = 2000,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "ScsiRestartStalledQueueLatency",
     summary = "Delay in ms before restarting a stalled queue ",
     key = "Scsi.ScsiRestartStalledQueueLatency",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 1,
        max = 60000,
        defaultValue = 500,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "CompareLUNNumber",
     summary = "Consider LUN number when determining LUN identity.",
     key = "Scsi.CompareLUNNumber",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "ScsiRescanAllHbas",
     summary = "During esxcfg-rescan, rescan all vmhbas at once rather than just a single vmhba",
     key = "Scsi.ScsiRescanAllHbas",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "ReaddirRetries",
     summary = "Maximum number of retries when reading entries from directories",
     key = "User.ReaddirRetries",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 1,
        max = 20,
        defaultValue = 10,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "CDROMSenseTimeout",
     summary = "Physical CDROM sense timeout (seconds)",
     key = "User.CDROMSenseTimeout",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 8,
        defaultValue = 4,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "PTEDisableNX",
     summary = "Disables the use of NX bit in user pagetable entries",
     key = "User.PTEDisableNX",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "IndirectSend",
     summary = "Use NFS indirect send",
     key = "NFS.IndirectSend",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "DiskFileLockUpdateFreq",
     summary = "Time (in seconds) between updates to a disk lock file [8-3600]",
     key = "NFS.DiskFileLockUpdateFreq",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 8,
        max = 3600,
        defaultValue = 10,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "LockUpdateTimeout",
     summary = "Time (in seconds) before we abort an outstanding lock update",
     key = "NFS.LockUpdateTimeout",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 8,
        defaultValue = 5,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "LockRenewMaxFailureNumber",
     summary = "Number of update failures before a disk file lock is declared stale",
     key = "NFS.LockRenewMaxFailureNumber",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 100,
        defaultValue = 3,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "LockDisable",
     summary = "1 to disable NFS locking protocol",
     key = "NFS.LockDisable",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "HeartbeatFrequency",
     summary = "Time in seconds between heartbeats",
     key = "NFS.HeartbeatFrequency",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 5,
        max = 86400,
        defaultValue = 9,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "HeartbeatTimeout",
     summary = "Time in seconds before we abort an outstanding hearbeat",
     key = "NFS.HeartbeatTimeout",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 3,
        max = 30,
        defaultValue = 5,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "HeartbeatDelta",
     summary = "Time in seconds since the last successful update before we send a heartbeat",
     key = "NFS.HeartbeatDelta",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 3,
        max = 30,
        defaultValue = 5,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "HeartbeatMaxFailures",
     summary = "Number of sequential failures before we mark a volume as down",
     key = "NFS.HeartbeatMaxFailures",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 1,
        max = 10,
        defaultValue = 3,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "MaxVolumes",
     summary = "Maximum number of mounted NFS volumes",
     key = "NFS.MaxVolumes",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 8,
        max = 32,
        defaultValue = 8,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "SendBufferSize",
     summary = "Default size of socket's send buffer in KB",
     key = "NFS.SendBufferSize",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 32,
        max = 264,
        defaultValue = 264,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "ReceiveBufferSize",
     summary = "Default Size of socket's receive buffer in KB",
     key = "NFS.ReceiveBufferSize",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 64,
        max = 264,
        defaultValue = 128,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VolumeRemountFrequency",
     summary = "Time in seconds before attempting to remount a volume",
     key = "NFS.VolumeRemountFrequency",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 30,
        max = 3600,
        defaultValue = 30,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "UDPRetransmitDelay",
     summary = "Time in milliseconds retransmitting a UDP RPC",
     key = "NFS.UDPRetransmitDelay",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 100,
        max = 2000,
        defaultValue = 700,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "OpenWithoutJournal",
     summary = "Open file system when out of space for journal allocation, allowing reads and no meta-data updates",
     key = "VMFS3.OpenWithoutJournal",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "MaxHeapSizeMB",
     summary = "Maximum size (in MB) to which the VMFS-3 heap is allowed to grow",
     key = "VMFS3.MaxHeapSizeMB",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 16,
        max = 128,
        defaultValue = 16,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "SoftMaxDirty",
     summary = "Flush immediately if this many buffers are dirty (percent)",
     key = "BufferCache.SoftMaxDirty",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 100,
        defaultValue = 15,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "HardMaxDirty",
     summary = "Block writers if this many buffers are dirty (percent)",
     key = "BufferCache.HardMaxDirty",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 100,
        defaultValue = 95,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "FlushInterval",
     summary = "Flush periodically at this interval (msec)",
     key = "BufferCache.FlushInterval",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 100,
        max = 3600000,
        defaultValue = 30000,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "EnableResignature",
     summary = "Enable Volume Resignaturing",
     key = "LVM.EnableResignature",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "DisallowSnapshotLun",
     summary = "Disallow access to snapshot LUN if resignaturing is off. This is ignored if resignaturing is on.",
     key = "LVM.DisallowSnapshotLun",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 1,
        defaultValue = 1,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "MaxHeapSizeMB",
     summary = "Maximum size (in MB) to which the COW heap is allowed to grow",
     key = "COW.MaxHeapSizeMB",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 32,
        max = 192,
        defaultValue = 32,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "MaxDentryPerObj",
     summary = "Maximum directory entries cached per directory",
     key = "DirentryCache.MaxDentryPerObj",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 60,
        max = 30000,
        defaultValue = 2500,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "Annotations.WelcomeMessage",
     summary = "",
     key = "Annotations.WelcomeMessage",
     optionType = (vim.option.StringOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        defaultValue = "",
        validCharacters = <unset>,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.mode.0.eax",
     summary = "Controls the use of Config.Defaults.cpuidMask.val.0.eax; legal values "mask", "clobber", or "disable".",
     key = "Config.Defaults.cpuidMask.mode.0.eax",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "disable",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.mode.0.ebx",
     summary = "Controls the use of Config.Defaults.cpuidMask.val.0.ebx; legal values "mask", "clobber", or "disable".",
     key = "Config.Defaults.cpuidMask.mode.0.ebx",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "disable",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.mode.0.ecx",
     summary = "Controls the use of Config.Defaults.cpuidMask.val.0.ecx; legal values "mask", "clobber", or "disable".",
     key = "Config.Defaults.cpuidMask.mode.0.ecx",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "disable",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.mode.0.edx",
     summary = "Controls the use of Config.Defaults.cpuidMask.val.0.edx; legal values "mask", "clobber", or "disable".",
     key = "Config.Defaults.cpuidMask.mode.0.edx",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "disable",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.mode.1.eax",
     summary = "Controls the use of Config.Defaults.cpuidMask.val.1.eax; legal values "mask", "clobber", or "disable".",
     key = "Config.Defaults.cpuidMask.mode.1.eax",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "disable",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.mode.1.ebx",
     summary = "Controls the use of Config.Defaults.cpuidMask.val.1.ebx; legal values "mask", "clobber", or "disable".",
     key = "Config.Defaults.cpuidMask.mode.1.ebx",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "disable",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.mode.1.ecx",
     summary = "Controls the use of Config.Defaults.cpuidMask.val.1.ecx; legal values "mask", "clobber", or "disable".",
     key = "Config.Defaults.cpuidMask.mode.1.ecx",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "disable",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.mode.1.edx",
     summary = "Controls the use of Config.Defaults.cpuidMask.val.1.edx; legal values "mask", "clobber", or "disable".",
     key = "Config.Defaults.cpuidMask.mode.1.edx",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "disable",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.mode.80000000.eax",
     summary = "Controls the use of Config.Defaults.cpuidMask.val.80000000.eax; legal values "mask", "clobber", or "disable".",
     key = "Config.Defaults.cpuidMask.mode.80000000.eax",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "disable",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.mode.80000000.ebx",
     summary = "Controls the use of Config.Defaults.cpuidMask.val.80000000.ebx; legal values "mask", "clobber", or "disable".",
     key = "Config.Defaults.cpuidMask.mode.80000000.ebx",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "disable",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.mode.80000000.ecx",
     summary = "Controls the use of Config.Defaults.cpuidMask.val.80000000.ecx; legal values "mask", "clobber", or "disable".",
     key = "Config.Defaults.cpuidMask.mode.80000000.ecx",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "disable",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.mode.80000000.edx",
     summary = "Controls the use of Config.Defaults.cpuidMask.val.80000000.edx; legal values "mask", "clobber", or "disable".",
     key = "Config.Defaults.cpuidMask.mode.80000000.edx",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "disable",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.mode.80000001.eax",
     summary = "Controls the use of Config.Defaults.cpuidMask.val.80000001.eax; legal values "mask", "clobber", or "disable".",
     key = "Config.Defaults.cpuidMask.mode.80000001.eax",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "disable",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.mode.80000001.ebx",
     summary = "Controls the use of Config.Defaults.cpuidMask.val.80000001.ebx; legal values "mask", "clobber", or "disable".",
     key = "Config.Defaults.cpuidMask.mode.80000001.ebx",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "disable",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.mode.80000001.ecx",
     summary = "Controls the use of Config.Defaults.cpuidMask.val.80000001.ecx; legal values "mask", "clobber", or "disable".",
     key = "Config.Defaults.cpuidMask.mode.80000001.ecx",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "disable",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.mode.80000001.edx",
     summary = "Controls the use of Config.Defaults.cpuidMask.val.80000001.edx; legal values "mask", "clobber", or "disable".",
     key = "Config.Defaults.cpuidMask.mode.80000001.edx",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "disable",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.mode.80000008.eax",
     summary = "Controls the use of Config.Defaults.cpuidMask.val.80000008.eax; legal values "mask", "clobber", or "disable".",
     key = "Config.Defaults.cpuidMask.mode.80000008.eax",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "disable",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.mode.80000008.ebx",
     summary = "Controls the use of Config.Defaults.cpuidMask.val.80000008.ebx; legal values "mask", "clobber", or "disable".",
     key = "Config.Defaults.cpuidMask.mode.80000008.ebx",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "disable",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.mode.80000008.ecx",
     summary = "Controls the use of Config.Defaults.cpuidMask.val.80000008.ecx; legal values "mask", "clobber", or "disable".",
     key = "Config.Defaults.cpuidMask.mode.80000008.ecx",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "disable",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.mode.80000008.edx",
     summary = "Controls the use of Config.Defaults.cpuidMask.val.80000008.edx; legal values "mask", "clobber", or "disable".",
     key = "Config.Defaults.cpuidMask.mode.80000008.edx",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "disable",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.mode.8000000A.eax",
     summary = "Controls the use of Config.Defaults.cpuidMask.val.8000000A.eax; legal values "mask", "clobber", or "disable".",
     key = "Config.Defaults.cpuidMask.mode.8000000A.eax",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "disable",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.mode.8000000A.ebx",
     summary = "Controls the use of Config.Defaults.cpuidMask.val.8000000A.ebx; legal values "mask", "clobber", or "disable".",
     key = "Config.Defaults.cpuidMask.mode.8000000A.ebx",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "disable",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.mode.8000000A.ecx",
     summary = "Controls the use of Config.Defaults.cpuidMask.val.8000000A.ecx; legal values "mask", "clobber", or "disable".",
     key = "Config.Defaults.cpuidMask.mode.8000000A.ecx",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "disable",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.mode.8000000A.edx",
     summary = "Controls the use of Config.Defaults.cpuidMask.val.8000000A.edx; legal values "mask", "clobber", or "disable".",
     key = "Config.Defaults.cpuidMask.mode.8000000A.edx",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "disable",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.val.0.eax",
     summary = "CPUID override that may be applied to level 0 register eax; controlled by Config.Defaults.cpuidMask.mode.0.eax.",
     key = "Config.Defaults.cpuidMask.val.0.eax",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.val.0.ebx",
     summary = "CPUID override that may be applied to level 0 register ebx; controlled by Config.Defaults.cpuidMask.mode.0.ebx.",
     key = "Config.Defaults.cpuidMask.val.0.ebx",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.val.0.ecx",
     summary = "CPUID override that may be applied to level 0 register ecx; controlled by Config.Defaults.cpuidMask.mode.0.ecx.",
     key = "Config.Defaults.cpuidMask.val.0.ecx",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.val.0.edx",
     summary = "CPUID override that may be applied to level 0 register edx; controlled by Config.Defaults.cpuidMask.mode.0.edx.",
     key = "Config.Defaults.cpuidMask.val.0.edx",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.val.1.eax",
     summary = "CPUID override that may be applied to level 1 register eax; controlled by Config.Defaults.cpuidMask.mode.1.eax.",
     key = "Config.Defaults.cpuidMask.val.1.eax",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.val.1.ebx",
     summary = "CPUID override that may be applied to level 1 register ebx; controlled by Config.Defaults.cpuidMask.mode.1.ebx.",
     key = "Config.Defaults.cpuidMask.val.1.ebx",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.val.1.ecx",
     summary = "CPUID override that may be applied to level 1 register ecx; controlled by Config.Defaults.cpuidMask.mode.1.ecx.",
     key = "Config.Defaults.cpuidMask.val.1.ecx",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.val.1.edx",
     summary = "CPUID override that may be applied to level 1 register edx; controlled by Config.Defaults.cpuidMask.mode.1.edx.",
     key = "Config.Defaults.cpuidMask.val.1.edx",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.val.80000000.eax",
     summary = "CPUID override that may be applied to level 80000000 register eax; controlled by Config.Defaults.cpuidMask.mode.80000000.eax.",
     key = "Config.Defaults.cpuidMask.val.80000000.eax",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.val.80000000.ebx",
     summary = "CPUID override that may be applied to level 80000000 register ebx; controlled by Config.Defaults.cpuidMask.mode.80000000.ebx.",
     key = "Config.Defaults.cpuidMask.val.80000000.ebx",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.val.80000000.ecx",
     summary = "CPUID override that may be applied to level 80000000 register ecx; controlled by Config.Defaults.cpuidMask.mode.80000000.ecx.",
     key = "Config.Defaults.cpuidMask.val.80000000.ecx",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.val.80000000.edx",
     summary = "CPUID override that may be applied to level 80000000 register edx; controlled by Config.Defaults.cpuidMask.mode.80000000.edx.",
     key = "Config.Defaults.cpuidMask.val.80000000.edx",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.val.80000001.eax",
     summary = "CPUID override that may be applied to level 80000001 register eax; controlled by Config.Defaults.cpuidMask.mode.80000001.eax.",
     key = "Config.Defaults.cpuidMask.val.80000001.eax",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.val.80000001.ebx",
     summary = "CPUID override that may be applied to level 80000001 register ebx; controlled by Config.Defaults.cpuidMask.mode.80000001.ebx.",
     key = "Config.Defaults.cpuidMask.val.80000001.ebx",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.val.80000001.ecx",
     summary = "CPUID override that may be applied to level 80000001 register ecx; controlled by Config.Defaults.cpuidMask.mode.80000001.ecx.",
     key = "Config.Defaults.cpuidMask.val.80000001.ecx",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.val.80000001.edx",
     summary = "CPUID override that may be applied to level 80000001 register edx; controlled by Config.Defaults.cpuidMask.mode.80000001.edx.",
     key = "Config.Defaults.cpuidMask.val.80000001.edx",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.val.80000008.eax",
     summary = "CPUID override that may be applied to level 80000008 register eax; controlled by Config.Defaults.cpuidMask.mode.80000008.eax.",
     key = "Config.Defaults.cpuidMask.val.80000008.eax",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.val.80000008.ebx",
     summary = "CPUID override that may be applied to level 80000008 register ebx; controlled by Config.Defaults.cpuidMask.mode.80000008.ebx.",
     key = "Config.Defaults.cpuidMask.val.80000008.ebx",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.val.80000008.ecx",
     summary = "CPUID override that may be applied to level 80000008 register ecx; controlled by Config.Defaults.cpuidMask.mode.80000008.ecx.",
     key = "Config.Defaults.cpuidMask.val.80000008.ecx",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.val.80000008.edx",
     summary = "CPUID override that may be applied to level 80000008 register edx; controlled by Config.Defaults.cpuidMask.mode.80000008.edx.",
     key = "Config.Defaults.cpuidMask.val.80000008.edx",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.val.8000000A.eax",
     summary = "CPUID override that may be applied to level 8000000A register eax; controlled by Config.Defaults.cpuidMask.mode.8000000A.eax.",
     key = "Config.Defaults.cpuidMask.val.8000000A.eax",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.val.8000000A.ebx",
     summary = "CPUID override that may be applied to level 8000000A register ebx; controlled by Config.Defaults.cpuidMask.mode.8000000A.ebx.",
     key = "Config.Defaults.cpuidMask.val.8000000A.ebx",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.val.8000000A.ecx",
     summary = "CPUID override that may be applied to level 8000000A register ecx; controlled by Config.Defaults.cpuidMask.mode.8000000A.ecx.",
     key = "Config.Defaults.cpuidMask.val.8000000A.ecx",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "cpuidMask.val.8000000A.edx",
     summary = "CPUID override that may be applied to level 8000000A register edx; controlled by Config.Defaults.cpuidMask.mode.8000000A.edx.",
     key = "Config.Defaults.cpuidMask.val.8000000A.edx",
     optionType = (vim.option.StringOption) {
        dynamicType = "",
        valueIsReadonly = false,
        defaultValue = "",
        validCharacters = "",
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "security.host.ruissl",
     summary = "Require SSL to be used when communicating with the host over port 902.",
     key = "Config.Defaults.security.host.ruissl",
     optionType = (vim.option.BoolOption) {
        dynamicType = "",
        valueIsReadonly = false,
        supported = true,
        defaultValue = true,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = "",
     label = "guest.commands.sharedPolicyRefCount",
     summary = "Reference count to enable guest operations.",
     key = "Config.GlobalSettings.guest.commands.sharedPolicyRefCount",
     optionType = (vim.option.IntOption) {
        dynamicType = "",
        valueIsReadonly = false,
        min = 0,
        max = 2147483647,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "ScratchConfig.ConfiguredScratchLocation",
     summary = "The directory configured to be used for scratch space.Changes will take effect on next reboot.",
     key = "ScratchConfig.ConfiguredScratchLocation",
     optionType = (vim.option.StringOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        defaultValue = "",
        validCharacters = <unset>,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "ScratchConfig.ConfiguredSwapState",
     summary = "Whether userwold swap is configured to be enabledChanges will take effect on next reboot.",
     key = "ScratchConfig.ConfiguredSwapState",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = false,
        defaultValue = false,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "ScratchConfig.CurrentScratchLocation",
     summary = "The directory currently being used for scratch space",
     key = "ScratchConfig.CurrentScratchLocation",
     optionType = (vim.option.StringOption) {
        dynamicType = <unset>,
        valueIsReadonly = true,
        defaultValue = "",
        validCharacters = <unset>,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "ScratchConfig.CurrentSwapState",
     summary = "Whether userworld swap is currently enabled",
     key = "ScratchConfig.CurrentSwapState",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = true,
        supported = false,
        defaultValue = false,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "Syslog.Local.DatastorePath",
     summary = "Datastore path of file to which local syslogd data is written.",
     key = "Syslog.Local.DatastorePath",
     optionType = (vim.option.StringOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        defaultValue = "",
        validCharacters = <unset>,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "Syslog.Remote.Hostname",
     summary = "Hostname to which syslog data will be forwarded.  Disabled on null.",
     key = "Syslog.Remote.Hostname",
     optionType = (vim.option.StringOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        defaultValue = "",
        validCharacters = <unset>,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "Syslog.Remote.Port",
     summary = "Port to which syslog data will be forwarded.",
     key = "Syslog.Remote.Port",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 1,
        max = 65535,
        defaultValue = 514,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.ACPI",
     summary = "Initialize ACPI CA.",
     key = "VMkernel.Boot.ACPI",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = true,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.acpiDbgLevel",
     summary = "ACPI debug level",
     key = "VMkernel.Boot.acpiDbgLevel",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 2147483647,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.assumeCommonBusClock",
     summary = "Assume all NUMA nodes run off a common, synchronous bus clock (normally autodetected).",
     key = "VMkernel.Boot.assumeCommonBusClock",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = false,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.assumePerNodeBusClock",
     summary = "Assume each NUMA node has a separate bus clock (normally autodetected).",
     key = "VMkernel.Boot.assumePerNodeBusClock",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = false,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.baudRate",
     summary = "Baud rate to run the serial port at.",
     key = "VMkernel.Boot.baudRate",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 2147483647,
        defaultValue = 115200,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.buddyPhysicalMemoryDebugStruct",
     summary = "Buddy physical mem debug info switch.",
     key = "VMkernel.Boot.buddyPhysicalMemoryDebugStruct",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = false,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.busSpeedMayVary",
     summary = "Allow different bus clock speeds, even within a single NUMA node or SMP system.",
     key = "VMkernel.Boot.busSpeedMayVary",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = false,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.busSpeedMayVaryPerNode",
     summary = "Allow substantially different bus clock speeds in different NUMA nodes.",
     key = "VMkernel.Boot.busSpeedMayVaryPerNode",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = false,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.checkCPUIDLimit",
     summary = "Refuse to run on CPUID limited cpus.",
     key = "VMkernel.Boot.checkCPUIDLimit",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = true,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.clockMultiplierMayVary",
     summary = "Allow different CPU clock multipliers, even within a single NUMA node or SMP system.",
     key = "VMkernel.Boot.clockMultiplierMayVary",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = false,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.clockMultiplierMayVaryPerNode",
     summary = "Allow different CPU clock multipliers in different NUMA nodes.",
     key = "VMkernel.Boot.clockMultiplierMayVaryPerNode",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = false,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.coresPerPkg",
     summary = "Number of cores per package that vmkernel should use",
     key = "VMkernel.Boot.coresPerPkg",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 255,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.correctBSPMTRRMasks",
     summary = "Correct BSP Variable MTRR masks to match the processor physical address bit support",
     key = "VMkernel.Boot.correctBSPMTRRMasks",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = true,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.cpuCellSize",
     summary = "Requested cpu scheduler cell size.",
     key = "VMkernel.Boot.cpuCellSize",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 255,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.debugBreak",
     summary = "Break into debugger during vmkernel initialization.",
     key = "VMkernel.Boot.debugBreak",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = false,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.dumpDiag",
     summary = "Dump diagnostics information.",
     key = "VMkernel.Boot.dumpDiag",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = false,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.executePOST",
     summary = "Run POST tests.",
     key = "VMkernel.Boot.executePOST",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = false,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.fakeNUMAnodes",
     summary = "Fake # NUMA nodes on UMA systems.",
     key = "VMkernel.Boot.fakeNUMAnodes",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 255,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.fastHzEstimate",
     summary = "Use ACPI PM timer for frequency estimation at boot.",
     key = "VMkernel.Boot.fastHzEstimate",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = true,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.forceCRS",
     summary = "Always use IRQ from _CRS",
     key = "VMkernel.Boot.forceCRS",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = false,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.fsCheck",
     summary = "Run filesystem checks on system partitions.",
     key = "VMkernel.Boot.fsCheck",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = false,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.hyperthreading",
     summary = "Enable hyperthreading if available.",
     key = "VMkernel.Boot.hyperthreading",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = true,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.ioapic",
     summary = "Use IOAPICs.",
     key = "VMkernel.Boot.ioapic",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = true,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.logOnScreen",
     summary = "Display vmkernel log on screen.",
     key = "VMkernel.Boot.logOnScreen",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = false,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.logSynchronous",
     summary = "Print log messages to screen and/or serial port synchronously.",
     key = "VMkernel.Boot.logSynchronous",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = true,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.logicalApicId",
     summary = "Use logical not physical APIC IDs.",
     key = "VMkernel.Boot.logicalApicId",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = false,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.maxPCPUS",
     summary = "Number of PCPUs vmkernel should use.",
     key = "VMkernel.Boot.maxPCPUS",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 2147483647,
        defaultValue = 32,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.memCheckEveryWord",
     summary = "Check every single word when checking mem.",
     key = "VMkernel.Boot.memCheckEveryWord",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = false,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.memmapMaxPhysicalMemMB",
     summary = "Maximum physical memory (in MB) recognized by kernel",
     key = "VMkernel.Boot.memmapMaxPhysicalMemMB",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 2147483647,
        defaultValue = 262144,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.memmapStressHighBitMPNs",
     summary = "Test > 64GB physical RAM support by ignoring 4GB - 64GB range",
     key = "VMkernel.Boot.memmapStressHighBitMPNs",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = false,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.mpsIntRouting",
     summary = "Use MPS interrupt routing.",
     key = "VMkernel.Boot.mpsIntRouting",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = false,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.netESX2LegacyMode",
     summary = "ESX2 Legacy networking config compatability.",
     key = "VMkernel.Boot.netESX2LegacyMode",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = false,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.netMaxPCPUPktCacheSize",
     summary = "Maximum number of pkt buffers queued in each PCPU slab cache.",
     key = "VMkernel.Boot.netMaxPCPUPktCacheSize",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 2147483647,
        defaultValue = 128,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.netNetqueueEnabled",
     summary = "Enable/Disable NetQueue support.",
     key = "VMkernel.Boot.netNetqueueEnabled",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = false,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.netNumGPBuffers",
     summary = "Number of general purpose buffers to allocate up front.",
     key = "VMkernel.Boot.netNumGPBuffers",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 2147483647,
        defaultValue = 1024,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.netNumPortsets",
     summary = "Maximum number of portsets.",
     key = "VMkernel.Boot.netNumPortsets",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 2147483647,
        defaultValue = 128,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.netPanicBadDevOpen",
     summary = "panic if device has a bad open handler.",
     key = "VMkernel.Boot.netPanicBadDevOpen",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = true,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.netPktBufUseSlab",
     summary = "Whether to allocate PktBufDescriptor from the pkt slab allocator.",
     key = "VMkernel.Boot.netPktBufUseSlab",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = true,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.netPktHeapMaxSize",
     summary = "Maximum size in MB of the pkt buffer heap (advisory only).",
     key = "VMkernel.Boot.netPktHeapMaxSize",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 2147483647,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.netPktHeapMinSize",
     summary = "Minimum size in MB of the pkt buffer heap (advisory only).",
     key = "VMkernel.Boot.netPktHeapMinSize",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 2147483647,
        defaultValue = 2,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.netPktNumSlabSizes",
     summary = "Number of different slab sizes for the allocator.",
     key = "VMkernel.Boot.netPktNumSlabSizes",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 2147483647,
        defaultValue = 4,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.netUseMemcpyNt",
     summary = "Enable/Disable non temporal memcpy in packet copy.",
     key = "VMkernel.Boot.netUseMemcpyNt",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = false,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.netUseProc",
     summary = "Enable/Disable /proc nodes.",
     key = "VMkernel.Boot.netUseProc",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = false,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.oem",
     summary = "Enable OEM extensions.",
     key = "VMkernel.Boot.oem",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = true,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.overrideSerialPortAddr",
     summary = "UART I/O address",
     key = "VMkernel.Boot.overrideSerialPortAddr",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 2147483647,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.pageSharing",
     summary = "Enable page sharing.",
     key = "VMkernel.Boot.pageSharing",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = true,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.panicOnVmkernelAbort",
     summary = "Panic if vmkernel aborts initialization.",
     key = "VMkernel.Boot.panicOnVmkernelAbort",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = false,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.realNMI",
     summary = "Use real NMI for LINT1.",
     key = "VMkernel.Boot.realNMI",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = false,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.serialPort",
     summary = "0 = disable, 1 = COM1, 2 = COM2.",
     key = "VMkernel.Boot.serialPort",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 255,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.storageHeapMaxSize",
     summary = "Maximum size in bytes of the main storage heap",
     key = "VMkernel.Boot.storageHeapMaxSize",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 2147483647,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.storageHeapMinSize",
     summary = "Minimum size in bytes of the main storage heap",
     key = "VMkernel.Boot.storageHeapMinSize",
     optionType = (vim.option.IntOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        min = 0,
        max = 2147483647,
        defaultValue = 0,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.techSupportMode",
     summary = "Allow VMware Tech Support Mode access.",
     key = "VMkernel.Boot.techSupportMode",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = true,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.timerEnableACPI",
     summary = "Enable ACPI PM timer as system reference timer.",
     key = "VMkernel.Boot.timerEnableACPI",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = true,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.timerEnableHPET",
     summary = "Enable HPET as system reference timer.",
     key = "VMkernel.Boot.timerEnableHPET",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = true,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.timerEnableMPMC",
     summary = "Enable Cyclone MPMC timer as system reference timer.",
     key = "VMkernel.Boot.timerEnableMPMC",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = true,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.timerEnableTSC",
     summary = "Enable TSC as system reference timer.",
     key = "VMkernel.Boot.timerEnableTSC",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = true,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.timerForceTSC",
     summary = "Always use TSC as system reference timer.",
     key = "VMkernel.Boot.timerForceTSC",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = false,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.usbBoot",
     summary = "Require USB boot if bootFS.",
     key = "VMkernel.Boot.usbBoot",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = true,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.useNUMAInfo",
     summary = "enable/disable NUMA-ness",
     key = "VMkernel.Boot.useNUMAInfo",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = true,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.useTSCForCPUHz",
     summary = "On systems where TSC and CPU frequencies are the same, determines whether to use TSC or the non-halted clock cycles MSR to determine CPU frequency.",
     key = "VMkernel.Boot.useTSCForCPUHz",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = true,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.uwSwap",
     summary = "Enable Userworld Swap.",
     key = "VMkernel.Boot.uwSwap",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = true,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.vmkKeyboard",
     summary = "Enable vmkernel keyboard driver.",
     key = "VMkernel.Boot.vmkKeyboard",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = false,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.vmkTerminals",
     summary = "Enable switching to vmkernel terminals.",
     key = "VMkernel.Boot.vmkTerminals",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = true,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.xapicAMDDetect",
     summary = "Detect xapic on opteron",
     key = "VMkernel.Boot.xapicAMDDetect",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = true,
     },
  },
  (vim.option.OptionDef) {
     dynamicType = <unset>,
     label = "VMkernel.Boot.xapicForce",
     summary = "Force APIC ID to 8 bits",
     key = "VMkernel.Boot.xapicForce",
     optionType = (vim.option.BoolOption) {
        dynamicType = <unset>,
        valueIsReadonly = false,
        supported = true,
        defaultValue = false,
     },
  }
]
stop

example output ends