Hostsvc/advopt/options

From VI-Toolkit
Revision as of 19:03, 31 December 2008 by Wila (talk | contribs) (added stop to example output as it looks like not everything is on the results page)
Jump to navigation Jump to search

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