Overview:
==========
1. In ESXi8.0 / ESXi9.0, Direct utility execution is not permitted because of mandatory security policy enforcement.
2. This mandates the usage of esxcli plugin for utilities. Hence esxcli plugins need to be created for all the corresponding storcli command set. 

Existing command output/VIB behavior changes:
==============================================
1. System reboot is required for changes to take effect post VIB installation. This is because of the esxcli plugin support. StorCLI namespace needs to be registered with esxcli and hence a system reboot is the mandatory step per VMware for changes to take effect.
2. System reboot is required post VIB removal for changes to take effect.
3. If StorCLI utility is directly executed, Command output will be in XML format with XML encoded special characters in place.

Files access / permissions:
============================
1. By default, CLI log file or any files, which are generated by plugin, will be created under /var/log/vmware/ directory.
2. An absolute file path needs to be provided for any plugins which take file as an input.

Limitations:
=============
1.  Memory and temp file reservation for storcli is restricted to 70MB. Hence if this memory / temp file reservation is exhausted, Plugin will not be able to parse the data correctly. Hence please make sure that the mentioned amount of memory is reserved.
2.  Direct StorCLI utility command execution will yield a XML formatted output which aligns to XML rule set.
3.  Command options / command / namespaces in ESXCLI plugin are case sensitive. Hence plugin should be executed based on the help mentioned for each of the esxcli plugin else esxcli plugin will error out.
4.  ESXCLI plugin has a command output data limit. If this exceeds, Plugin will not parse and display the information. If the command output length is more, Please use the file option to store the data instead else please follow the below instructions from VMware to increase the data limit.
5.	Flags mentioned more than once in the plugin command will be ignored by esxcli plugin.

Steps to increase the command data limit:
=========================================
1. Run the following command on the host in question: configstorecli config current get -c esx -g services -k hostd > out.json
2. Try bumping the limits in the below in VMOMI adapter and see if it helps when running esxcli.

      "vmomi": {
         "soap_request": {
            "max_elements": 500000,
            "max_depth": 1000,
            "max_unauthenticated_doc_size": 100000,
            "max_doc_size": 20000000
         }
      },
3. Then in the resulting out.json file find the entries above and bump the limits, e.g. double max_elements, max_depth and max_doc_size.
4. Finally, reapply:
   configstorecli config current set -c esx -g services -k hostd -infile out.json
5. Reboot the server.

Additional notes:
=================
1. For system namespace i.e., esxcli storcli system <>, except the esxcli storcli system file <> plugin, Options --json and --nolog are valid. 
   These options are not displayed in esxcli plugin help because these options are optional and there are no mandatory options for these set of commands.
2. The command options to the plugins are maintained in lower case as they are case sensitive.  
3. The command options are presented in alphabetical order of the parameter name. It's per the esxcli plugin convention/rules.
4. Input value needs to be enclosed in double quotes if format of the value has a space.
5. Help command is not added as the esxcli plugin framework offers help based on the available namespaces and corresponding commands/command options can be queried accordingly.

ESXCLI Plugin format:
======================

esxcli [options] {namespace}+ {cmd} [cmd options]

Example : esxcli storcli system show ctrlcount

ESXCLI plugin sample command output:
=====================================
esxcli storcli system show ctrlcount
CLI Version = 007.2400.0000.0023 Aug 24, 2022
Operating system = VMkernel8.0.0
Status Code = 0
Status = Success
Description = None

Controller Count = 1

StorCLI command to ESXCLI plugin mapping:
==========================================
===========================================================================================================================================================================================
Version commmand										    ESXCLI Plugin
===========================================================================================================================================================================================
storcli v											    esxcli storcli version
===========================================================================================================================================================================================


===========================================================================================================================================================================================
Controller commands                                                                                 ESXCLI Plugin
===========================================================================================================================================================================================
storcli /cx show eventloginfo                                                                       esxcli storcli controller show eventloginfo
storcli /cx show sesmonitoring                                                                      esxcli storcli controller show sesmonitoring
storcli /cx show failpdonsmarterror                                                                 esxcli storcli controller show failpdonsmarterror
storcli /cx show freespace                                                                          esxcli storcli controller show freespace
storcli /cx show cc|consistencycheck                                                                esxcli storcli controller show cc / esxcli storcli controller show consistencycheck 
storcli /cx show ocr                                                                                esxcli storcli controller show ocr
storcli /cx show sesmultipathcfg                                                                    esxcli storcli controller show sesmultipathcfg
storcli /cx show                                                                                    esxcli storcli controller show basic
storcli /cx show all [logfile[=filename]]                                                           esxcli storcli controller show all
storcli /cx show preservedcache                                                                     esxcli storcli controller show preservedcache
storcli /cx show bootdrive                                                                          esxcli storcli controller show bootdrive
storcli /cx show bootwithpinnedcache                                                                esxcli storcli controller show bootwithpinnedcache
storcli /cx show activityforlocate                                                                  esxcli storcli controller show activityforlocate
storcli /cx show copyback                                                                           esxcli storcli controller show copyback
storcli /cx show jbod                                                                               esxcli storcli controller show jbod
storcli /cx show autorebuild                                                                        esxcli storcli controller show autorebuild
storcli /cx show autoconfig                                                                         esxcli storcli controller show autoconfig
storcli /cx show cachebypass                                                                        esxcli storcli controller show cachebypass
storcli /cx show usefdeonlyencrypt                                                                  esxcli storcli controller show usefdeonlyencrypt
storcli /cx show prcorrectunconfiguredareas                                                         esxcli storcli controller show prcorrectunconfiguredareas
storcli /cx show batterywarning                                                                     esxcli storcli controller show batterywarning
storcli /cx show abortcconerror                                                                     esxcli storcli controller show abortcconerror
storcli /cx show ncq                                                                                esxcli storcli controller show ncq
storcli /cx show maintainpdfailhistory                                                              esxcli storcli controller show maintainpdfailhistory
storcli /cx show restorehotspare                                                                    esxcli storcli controller show restorehotspare
storcli /cx show bios                                                                               esxcli storcli controller show bios
storcli /cx show alarm                                                                              esxcli storcli controller show alarm
storcli /cx show deviceorderbyfirmware                                                              esxcli storcli controller show deviceorderbyfirmware
storcli /cx show foreignautoimport                                                                  esxcli storcli controller show foreignautoimport
storcli /cx show directpdmapping                                                                    esxcli storcli controller show directpdmapping
storcli /cx show rebuildrate                                                                        esxcli storcli controller show rebuildrate
storcli /cx show eghs                                                                               esxcli storcli controller show eghs
storcli /cx show cacheflushint                                                                      esxcli storcli controller show cacheflushint
storcli /cx show prrate                                                                             esxcli storcli controller show prrate
storcli /cx show ccrate                                                                             esxcli storcli controller show ccrate
storcli /cx show bgirate                                                                            esxcli storcli controller show bgirate
storcli /cx show dpm                                                                                esxcli storcli controller show dpm
storcli /cx show sgpioforce                                                                         esxcli storcli controller show sgpioforce
storcli /cx show reconrate                                                                          esxcli storcli controller show reconrate
storcli /cx show spinupdrivecount                                                                   esxcli storcli controller show spinupdrivecount
storcli /cx show wbsupport                                                                          esxcli storcli controller show wbsupport
storcli /cx show spinupdelay                                                                        esxcli storcli controller show spinupdelay
storcli /cx show coercion                                                                           esxcli storcli controller show coercion
storcli /cx show smartpollinterval                                                                  esxcli storcli controller show smartpollinterval
storcli /cx show eccbucketsize                                                                      esxcli storcli controller show eccbucketsize
storcli /cx show eccbucketleakrate                                                                  esxcli storcli controller show eccbucketleakrate
storcli /cx show backplane                                                                          esxcli storcli controller show backplane
storcli /cx show perfmode                                                                           esxcli storcli controller show perfmode
storcli /cx show perfmodevalues                                                                     esxcli storcli controller show perfmodevalues
storcli /cx show pi                                                                                 esxcli storcli controller show pi
storcli /cx show time                                                                               esxcli storcli controller show time
storcli /cx show ds                                                                                 esxcli storcli controller show ds
storcli /cx show safeid                                                                             esxcli storcli controller show safeid
storcli /cx show rehostinfo                                                                         esxcli storcli controller show rehostinfo
storcli /cx show pci                                                                                esxcli storcli controller show pci
storcli /cx show ASO                                                                                esxcli storcli controller show aso
storcli /cx show linkconfig                                                                         esxcli storcli controller show linkconfig
storcli /cx show securitykey keyid                                                                  esxcli storcli controller show securitykeyid
storcli /cx show patrolRead                                                                         esxcli storcli controller show patrolread / esxcli storcli controller show pr
storcli /cx show powermonitoringinfo                                                                esxcli storcli controller show powermonitoringinfo
storcli /cx show ldlimit                                                                            esxcli storcli controller show ldlimit
storcli /cx show badblocks                                                                          esxcli storcli controller show badblocks
storcli /cx show maintenance                                                                        esxcli storcli controller show maintenance
storcli /cx show personality                                                                        esxcli storcli controller show personality
storcli /cx show profile                                                                            esxcli storcli controller show profile
storcli /cx show jbodwritecache                                                                     esxcli storcli controller show jbodwritecache
storcli /cx show immediateio                                                                        esxcli storcli controller show immediateio
storcli /cx show driveactivityled                                                                   esxcli storcli controller show driveactivityled
storcli /cx show largeiosupport                                                                     esxcli storcli controller show largeiosupport
storcli /cx show unmap                                                                              esxcli storcli controller show unmap
storcli /cx show pdfaileventoptions                                                                 esxcli storcli controller show pdfaileventoptions
storcli /cx show flushwriteverify                                                                   esxcli storcli controller show flushwriteverify
storcli /cx show largeQD                                                                            esxcli storcli controller show largeqd
storcli /cx show assemblynumber                                                                     esxcli storcli controller show assemblynumber
storcli /cx show tracernumber                                                                       esxcli storcli controller show tracernumber
storcli /cx show boardname                                                                          esxcli storcli controller show boardname
storcli /cx show sasadd                                                                             esxcli storcli controller show sasadd
storcli /cx show vpd                                                                                esxcli storcli controller show vpd
storcli /cx show oob                                                                                esxcli storcli controller show oob
storcli /cx show snapdump                                                                           esxcli storcli controller show snapdump
storcli /cx show htbparams                                                                          esxcli storcli controller show htbparams
storcli /cx show failedNvmeDevices                                                                  esxcli storcli controller show failednvmedevices
storcli /cx show parityreadcachebypass                                                              esxcli storcli controller show parityreadcachebypass
storcli /cx show inactivityprint                                                                   esxcli storcli controller show inactivityprint
storcli /cx show overrideSlowArrayThresholds                                                        esxcli storcli controller show overrideslowarraythresholds
storcli /cx show captureSodPlLogs                                                              	    esxcli storcli controller show capturesodpllogs
storcli /cx show autoselectbootdrive                                                                esxcli storcli controller show autoselectbootdrive
storcli /cx show temperature                                                                        esxcli storcli controller show temperature
storcli /cx show security spdm slotgroup=xx slot=yy                                                 esxcli storcli controller show spdm
storcli /cx show dequeuelog file=<filepath>                                                         esxcli storcli controller show dequeuelog
storcli /cx show termlog [type=config|contents] [logfile[=filename]]                                esxcli storcli controller show termlog
storcli /cx show events [ [type= <sincereboot| sinceshutdown| includedeleted|                       esxcli storcli controller show events
storcli /cx show pdfailevents [lastoneday] [lastseqnum=<val>] [file=<filepath>]                     esxcli storcli controller show pdfailevents
storcli /cx show aliLog [logfile[=filename]]                                                        esxcli storcli controller show alilog
storcli /cx show dequeuelog file=<filepath>							    esxcli storcli controller show dequeuelog
storcli /cx set cacheflushint=<value>                                                               esxcli storcli controller set cacheflushint
storcli /cx set prrate=<value>                                                                      esxcli storcli controller set prrate
storcli /cx set ccrate=<value>                                                                      esxcli storcli controller set ccrate
storcli /cx set bgirate =<value>                                                                    esxcli storcli controller set bgirate
storcli /cx set reconrate=<value>                                                                   esxcli storcli controller set reconrate
storcli /cx set spinupdrivecount=<value>                                                            esxcli storcli controller set spinupdrivecount
storcli /cx set spinupdelay=<value>                                                                 esxcli storcli controller set spinupdelay
storcli /cx set coercion=<value>                                                                    esxcli storcli controller set coercion
storcli /cx set smartpollinterval=<value>                                                           esxcli storcli controller set smartpollinterval
storcli /cx set eccbucketsize=<value>                                                               esxcli storcli controller set eccbucketsize
storcli /cx set eccbucketleakrate=<value>                                                           esxcli storcli controller set eccbucketleakrate
storcli /cx set sgpioforce =<on|off>                                                                esxcli storcli controller set sgpioforce
storcli /cx set supportssdpatrolread =<on|off>                                                      esxcli storcli controller set supportssdpatrolread
storcli /cx set jbodwritecache=on|off|default                                                       esxcli storcli controller set jbodwritecache
storcli /cx set immediateio=<on|off>                                                                esxcli storcli controller set immediateio
storcli /cx set largeiosupport=<on|off>                                                             esxcli storcli controller set largeiosupport
storcli /cx set unmap=<on|off>                                                                      esxcli storcli controller set unmap
storcli /cx set driveactivityled=<on|off>                                                           esxcli storcli controller set driveactivityled
storcli /cx set flushwriteverify=<on|off>                                                           esxcli storcli controller set flushwriteverify
storcli /cx set largeQD=<on|off>                                                                    esxcli storcli controller set largeqd
storcli /cx set parityreadcachebypass=<on|off>                                                      esxcli storcli controller set parityreadcachebypass
storcli /cx set inactivityprint=<on|off>                                                            esxcli storcli controller set inactivityprint
storcli /cx set cachebypass=<on|off>                                                                esxcli storcli controller set cacheflushint
storcli /cx set usefdeonlyencrypt=<on|off>                                                          esxcli storcli controller set usefdeonlyencrypt
storcli /cx set prcorrectunconfiguredareas=<on|off>                                                 esxcli storcli controller set prcorrectunconfiguredar
storcli /cx set batterywarning=<on|off>                                                             esxcli storcli controller set batterywarning
storcli /cx set abortcconerror=<on|off>                                                             esxcli storcli controller set abortcconerror
storcli /cx set ncq=<on|off>                                                                        esxcli storcli controller set ncq
storcli /cx set maintainpdfailhistory=<on|off>                                                      esxcli storcli controller set maintainpdfailhistory
storcli /cx set restorehotspare=<on|off>                                                            esxcli storcli controller set restorehotspare
storcli /cx set alarm=<on|off|silence>                                                              esxcli storcli controller set alarm
storcli /cx set deviceorderbyfirmware=<on|off>                                                      esxcli storcli controller set deviceorderbyfirmware
storcli /cx set foreignautoimport=<on|off>                                                          esxcli storcli controller set foreignautoimport
storcli /cx set directpdmapping=<on|off>                                                            esxcli storcli controller set directpdmapping
storcli /cx set autorebuild=<on|off>                                                                esxcli storcli controller set autorebuild
storcli /cx set ldlimit=<default|max>                                                               esxcli storcli controller set ldlimit
storcli /cx set ocr=<on|off>                                                                        esxcli storcli controller set ocr
storcli /cx set sesmultipathcfg=<on|off>                                                            esxcli storcli controller set sesmultipathcfg
storcli /cx set bootwithpinnedcache=<on|off>                                                        esxcli storcli controller set bootwithpinnedcache
storcli /cx set activityforlocate=<on|off>                                                          esxcli storcli controller set activityforlocate
storcli /cx set sesmonitoring=on|off                                                                esxcli storcli controller set sesmonitoring
storcli /cx set failpdonsmarterror=on|off                                                           esxcli storcli controller set failpdonsmarterror
storcli /cx set rebuildrate=<value>                                                                 esxcli storcli controller set rebuildrate
storcli /cx set termlog=on|off|offthisboot                                                          esxcli storcli controller set termlog
storcli /cx set copyback=<on|off> type=ctrl|smartssd|smarthdd|all                                   esxcli storcli controller set copyback
storcli /cx set jbod=<on|off> [force]                                                               esxcli storcli controller set jbod
storcli /cx set captureSodPlLogs=<on|off>                                                           esxcli storcli controller set capturesodpllogs
storcli /cx set autoSelectBootDrive=<on|off>                                                        esxcli storcli controller set autoselectbootdrive
storcli /cx set autoconfig [= < none | R0 [immediate] | JBOD > [usecurrent] ]                       esxcli storcli controller set autoconfig
[[sesmgmt=on|off] [securesed=on|off] [multipath=on|off] [multiinit=on|off]    
[discardpinnedcache=<Val>] [failPDOnReadME=on|off] [Lowlatency=low|off]]                 
storcli /cx set bios [state=<on|off>] [Mode=<SOE|PE|IE|SME>] [abs=<on|off>]                         esxcli storcli controller set bios
storcli /cx set factory defaults                                                                    esxcli storcli controller set factorydefaults
storcli /cx set sbr                                                                                 esxcli storcli controller set sbr
storcli /cx set linkconfig [conname=cx,cy] configid=<val>                                           esxcli storcli controller set linkconfig
storcli /cx set patrolread [=[[on mode=<auto|manual> ]| off]]                                       esxcli storcli controller set patrolread / esxcli storcli controller set pr
storcli /cx set maintenance mode=normal|nodevices                                                   esxcli storcli controller set maintenance
storcli /cx set personality=RAID|HBA|JBOD                                                           esxcli storcli controller set personality
storcli /cx set profile profileid=<id>                                                              esxcli storcli controller set profile
storcli /cx set pdfaileventoptions [detectionType=<val>] [correctiveaction=<val>]                   esxcli storcli controller set pdfaileventoptions
                 [errorThreshold=<val>]
storcli /cx set assemblynumber= xxxx                                                                esxcli storcli controller set assemblynumber
storcli /cx set config file=<fileName>                                                              esxcli storcli controller set config
storcli /cx set debug type=<value> option=<value> [level=<value in hex>]                            esxcli storcli controller set debug
storcli /cx set debug reset all                                                                     esxcli storcli controller set debugreset
storcli /cx set tracernumber= xxxx                                                                  esxcli storcli controller set tracernumber
storcli /cx set sasadd = xxxx [devicename] [methodport]                                             esxcli storcli controller set sasaddress
storcli /cx set bios [state=<on|off>] [Mode=<SOE|PE|IE|SME>] [abs=<on|off>]                         esxcli storcli controller set bios
storcli /cx set eghs [state=<on|off>] [eug=<on|off>] [smarter=<on|off>]                             esxcli storcli controller set eghs
storcli /cx set backplane mode=<value> expose=<on|off>                                              esxcli storcli controller set backplane
storcli /cx set perfmode=<value> [maxflushlines=<value> numiostoorder=<value>]                      esxcli storcli controller set perfmode
storcli /cx set pi state=<on|off>                                                                   esxcli storcli controller set pi
storcli /cx set time=<yyyymmdd hhmmss | systemtime>                                                 esxcli storcli controller set time
storcli /cx set sasaddhi = xxxx sasaddlow = xxxxx [devicename] [methodport]                         esxcli storcli controller set sasaddresshighlow
storcli /cx set updatevpd file=<filepath>                                                           esxcli storcli controller set updatevpd
storcli /cx set oob mode=i2c|pcie maxpayloadsize=<payloadsize> maxpacketsize=<packetsize>           esxcli storcli controller set oob
                     [spdm=on|off] [pldm=on|off]
storcli /cx set snapdump state=on|off                                                               esxcli storcli controller set snapdump
storcli /cx set snapdump [ savecount=<value> | delayocr=<value> | preboottrace=<on|off> ]           esxcli storcli controller set snapdump
storcli /cx set htbparams=off                                                                       esxcli storcli controller set htbparams
storcli /cx set htbparams [= on] maxsize=<value> minsize=<value> decrementsize=<value>              esxcli storcli controller set htbparams
storcli /cx set overrideSlowArrayThresholds=<on|off> [force]                                        esxcli storcli controller set overrideslowarraythresholds
storcli /cx set aso key=<key value> preview                                                         esxcli storcli controller set aso -k=<> --preview
storcli /cx set aso key=<key value>                                                                 esxcli storcli controller set aso -k=<>
storcli /cx set aso transfertovault                                                                 esxcli storcli controller set aso --transfer-to-vault
storcli /cx set aso rehostcomplete                                                                  esxcli storcli controller set aso --rehost-complete
storcli /cx set aso deactivatetrialkey                                                              esxcli storcli controller set aso --deactivate-trialk
storcli /cx set consistencycheck|cc[=off|seq|conc] [delay=value] [starttime=yyyy/mm/dd hh] 
[exclude vd]																						esxcli storcli controller set consistencycheck / esxcli storcli controller set cc
storcli /cx set securitykey useekms                                                                 esxcli storcli controller set securitykey --use-ekms
storcli /cx set securitykey < =xxxxxxxx [passphrase=xxxx] [keyid=xxx] [VolatileKey=on|off]          esxcli storcli controller set securitykey
             | file=filename
storcli /cx set securitykey < keyid=xxx | file=filename >                                           esxcli storcli controller set securitykey
storcli /cx set securitykey <=xxxxxxxx oldsecuritykey=xxxxxxxx                                      esxcli storcli controller set securitykey
storcli /cx get vpd file=<fileName>                                                                 esxcli storcli controller get vpd
storcli /cx get config file=<fileName>                                                              esxcli storcli controller get config
storcli /cx get bios file=<filename>                                                                esxcli storcli controller get bios
storcli /cx get firmware file=<filename>                                                            esxcli storcli controller get firmware
storcli /cx get mpb file=<filename>                                                                 esxcli storcli controller get mpb
storcli /cx get fwbackup file=<filename>                                                            esxcli storcli controller get fwbackup
storcli /cx get nvdata file=<filename>                                                              esxcli storcli controller get nvdata
storcli /cx get flash file=<filename>                                                               esxcli storcli controller get flash
storcli /cx get snapdump [ id=[ all | <value> file=<fileName>] ] [norttdump]                        esxcli storcli controller get snapdump
storcli /cx get security spdm slotgroup=xx slot=yy file=filename                                    esxcli storcli controller get spdm
storcli /cx delete config [force]                                                                   esxcli storcli controller delete config
storcli /cx delete events                                                                           esxcli storcli controller delete events
storcli /cx delete securitykey                                                                      esxcli storcli controller delete securitykey
storcli /cx delete termlog                                                                          esxcli storcli controller delete termlog
storcli /cx delete dpmstat type = Hist | LCT | RA | EXT | All                                       esxcli storcli controller delete dpmstat
storcli /cx delete snapdump [force]                                                                 esxcli storcli controller delete snapdump
storcli /cx compare bios ver =<bios version>                                                        esxcli storcli controller compare bios
storcli /cx compare fwprodid ver =<fw product id version>                                           esxcli storcli controller compare fwprodid
storcli /cx compare ssid ver =<ssid version>                                                        esxcli storcli controller compare ssid
storcli /cx compare firmware ver =<firmware version>                                                esxcli storcli controller compare firmware
storcli /cx compare securitykey <=xxxxxxxxxx | file=filename>										esxcli storcli controller compare securitykey
storcli /cx erase nvsram                                                                            esxcli storcli controller erase nvsram
storcli /cx erase fwbackup                                                                          esxcli storcli controller erase fwbackup
storcli /cx erase bootservices                                                                      esxcli storcli controller erase bootservices
storcli /cx erase all [excludemfg] [file=filename]                                                  esxcli storcli controller erase all
storcli /cx erase perconfpage                                                                       esxcli storcli controller erase perconfpage
storcli /cx erase mpb                                                                               esxcli storcli controller erase mpb
storcli /cx download efibios file=<filepath>                                                        esxcli storcli controller download efibios
storcli /cx download cpld file=<filepath>                                                           esxcli storcli controller download cpld
storcli /cx download psoc file=<filepath>                                                           esxcli storcli controller download psoc
storcli /cx download bios file=<filepath>                                                           esxcli storcli controller download bios
storcli /cx download fcode file=<filepath>                                                          esxcli storcli controller download fcode
storcli /cx download file=<filepath> [fwtype=<val>] [ResetNow] [nosigchk] [noverchk] [force]        esxcli storcli controller download firmware
storcli /cx download file=<filepath> [noverchk] [noreset] [forcehcb]                                esxcli storcli controller download firmware
storcli /cx start patrolread                                                                        esxcli storcli controller start patrolread / esxcli storcli controller start pr
storcli /cx stop patrolread                                                                         esxcli storcli controller stop patrolread  / esxcli storcli controller stop pr
storcli /cx pause patrolread                                                                        esxcli storcli controller pause patrolread / esxcli storcli controller pause pr
storcli /cx resume patrolread                                                                       esxcli storcli controller resume patrolread / esxcli storcli controller resume pr
storcli /cx flasherase                                                                              esxcli storcli controller start flasherase
storcli /cx transform iMR                                                                           esxcli storcli controller start transformimr
storcli /cx restart                                                                                 esxcli storcli controller restart
storcli /cx flushcache                                                                              esxcli storcli controller start flushcache
storcli /cx add vd                                                                                  esxcli storcli controller addvd
storcli /cx add vd each R0                                                                          esxcli storcli controller addvdeachr0
storcli /cx export security spdm slotgroup=xx slot=yy subject=subjectfile file=filename             esxcli storcli controller export spdm
storcli /cx import security spdm slotgroup=xx slot=yy file=filename [seal]                          esxcli storcli controller import spdm
storcli /cx add VD cachecade                                                                        esxcli storcli controller addvdcachecade
storcli /cx set ds=OFF type=1|2|4                                                                 esxcli storcli controller set ds
storcli /cx set ds=ON type=1|2 [properties]                                                         esxcli storcli controller set ds
storcli /cx set ds [properties]                                                                     esxcli storcli controller set ds
storcli /cx set security spdm slotgroup=xx slot=yy invalidate [force]                               esxcli storcli controller set spdm
storcli /cx show refclk		                                                                        esxcli storcli controller show refclk
storcli /cx set refclk=0|1|2		                                                                esxcli storcli controller set refclk
storcli /cx show perst		                                                                        esxcli storcli controller show perst
storcli /cx set perst=0|1|2		                                                                esxcli storcli controller set perst
storcli /cx show pdspindownatshutdown		                                                    esxcli storcli controller show pdspindownatshutdown
storcli /cx set  pdspindownatshutdown  {[sashdd=<on|off>] [satahdd=<on|off>]                        esxcli storcli controller set pdspindownatshutdown
		[sasssd=<on|off>] [satassd=<on|off>] [nvmessd=<on|off>]}		              	
storcli /cx show eventcounters [type=sas|pcie]		                                                esxcli storcli controller show eventcounters
storcli /cx delete eventcounters [type=sas|pcie]		                                            esxcli storcli controller delete eventcounters
storcli /cx db register type=trace|snapshot [size=<val>] [prodmask=<val>]                           esxcli storcli controller register db
            [iopmask=<val>:<val>] [plmask=<val>:<val>] [irmask=<val>:<val>]
storcli /cx db query type=trace|snapshot                                                            esxcli storcli controller query db
storcli /cx db read type=trace|snapshot file=<filepath>                                             esxcli storcli controller read db
storcli /cx db release type=trace|snapshot                                                          esxcli storcli controller release db
storcli /cx db unregister type=trace|snapshot                                                       esxcli storcli controller unregister db
storcli /cx db get type= {[master],[event],[ mpi],[ scsi]} | all                                    esxcli storcli controller get db
storcli /cx db delete type= {[master],[event],[ mpi],[ scsi]} | all                                 esxcli storcli controller delete db
storcli /cx db set {[master=<val>] [event EventLogQualifier=<val> EventValue=<val> ]                esxcli storcli controller set db
              [mpi loginfo=<val> iocstatus=<val>] [ scsi sensekey=<val> asc=<val> ascq=<val>]}
storcli /cx show nvmeThermalPollInterval                                                             esxcli storcli controller show nvmethermalpollinterval
storcli /cx set nvmeThermalPollInterval=<value>                                                      esxcli storcli controller set nvmethermalpollinterval

===========================================================================================================================================================================================
Diskgroup commands                                                                                  ESXCLI plugin
===========================================================================================================================================================================================
storcli /cx/dx show                                                                                 esxcli storcli diskgroup show basic
storcli /cx/dx show all                                                                             esxcli storcli diskgroup show all
storcli /cx/dx set hidden=on|off                                                                    esxcli storcli diskgroup set hidden
storcli /cx/dx set security=on                                                                      esxcli storcli diskgroup set security
storcli /cx/dx set transport=on|off [EDHSP=on|off] [SDHSP=on|off]                                   esxcli storcli diskgroup set transport
storcli /cx/dall show cachecade                                                                     esxcli storcli diskgroup show cachecade
storcli /cx/dall show mirror                                                                        esxcli storcli diskgroup show mirror
storcli /cx/dall split mirror                                                                       esxcli storcli diskgroup split mirror
storcli /cx/dall add mirror src=<val> [force]                                                       esxcli storcli diskgroup add mirror


===========================================================================================================================================================================================
Battery/Cache vault commands                                                                        ESXCLI plugin
===========================================================================================================================================================================================
storcli /cx/bbu show                                                                                esxcli storcli battery show
storcli /cx/bbu show all                                                                            esxcli storcli battery show all
storcli /cx/bbu show status                                                                         esxcli storcli battery show status
storcli /cx/bbu show properties                                                                     esxcli storcli battery show properties
storcli /cx/bbu show learn                                                                          esxcli storcli battery show learn
storcli /cx/bbu show gasgauge Offset=xxxx Numbytes=n                                                esxcli storcli battery show gasgauge
storcli /cx/bbu start learn                                                                         esxcli storcli battery start learn
storcli /cx/bbu show modes                                                                          esxcli storcli battery show modes
storcli /cx/cv show                                                                                 esxcli storcli cachevault start basic
storcli /cx/cv show all                                                                             esxcli storcli cachevault show all
storcli /cx/cv show status                                                                          esxcli storcli cachevault show status
storcli /cx/cv show learn                                                                           esxcli storcli cachevault show learn
storcli /cx/cv start learn                                                                          esxcli storcli cachevault start learn

===========================================================================================================================================================================================
System commands                                                                                     ESXCLI plugin
===========================================================================================================================================================================================
storcli show                                                                                        esxcli storcli system show basic
storcli show all                                                                                    esxcli storcli system show all
storcli show ctrlcount                                                                              esxcli storcli system show ctrlcount
storcli show file=<filepath>                                                                        esxcli storcli system show file 

===========================================================================================================================================================================================
Physical drive commands                                                                             ESXCLI Plugin
===========================================================================================================================================================================================
storcli /cx[/ex]/sx show                                                                            esxcli storcli physicaldrive show basic
storcli /cx[/ex]/sx show all                                                                        esxcli storcli physicaldrive show all
storcli /cx[/ex]/sx start rebuild                                                                  esxcli storcli physicaldrive start rebuild
storcli /cx[/ex]/sx stop rebuild                                                                  esxcli storcli physicaldrive stop rebuild
storcli /cx[/ex]/sx pause rebuild                                                                  esxcli storcli physicaldrive pause rebuild
storcli /cx[/ex]/sx resume rebuild                                                                  esxcli storcli physicaldrive resume rebuild
storcli /cx[/ex]/sx show rebuild                                                                    esxcli storcli physicaldrive show rebuild
storcli /cx[/ex]/sx show poh [ignoreselftest]                                                       esxcli storcli physicaldrive show poh 
storcli /cx[/ex]/sx show smart                                                                      esxcli storcli physicaldrive show smart
storcli /cx[/ex]/sx start copyback target=e:s                                                       esxcli storcli physicaldrive start copyback
storcli /cx[/ex]/sx stop copyback                                                                   esxcli storcli physicaldrive stop copyback
storcli /cx[/ex]/sx pause copyback                                                                  esxcli storcli physicaldrive pause copyback
storcli /cx[/ex]/sx resume copyback                                                                 esxcli storcli physicaldrive resume copyback
storcli /cx[/ex]/sx reset phyerrorcounters                                                          esxcli storcli physicaldrive reset phyerrorcounters
storcli /cx[/ex]/sx reset errorcounters type = 1|2                                                  esxcli storcli physicaldrive reset errorcounters
storcli /cx[/ex]/sx show copyback                                                                   esxcli storcli physicaldrive show copyback
storcli /cx[/ex]/sx show patrolread                                                                 esxcli storcli physicaldrive show patrolread / esxcli storcli physicaldrive show pr
storcli /cx[/ex]/sx show phyerrorcounters                                                           esxcli storcli physicaldrive show phyerrorcounters
storcli /cx[/ex]/sx show errorcounters                                                              esxcli storcli physicaldrive show errorcounters
storcli /cx[/ex]/sx start initialization                                                            esxcli storcli physicaldrive start initialization
storcli /cx[/ex]/sx stop initialization                                                             esxcli storcli physicaldrive stop initialization
storcli /cx[/ex]/sx show initialization                                                             esxcli storcli physicaldrive show initialization
storcli /cx[/ex]/sx start locate                                                                    esxcli storcli physicaldrive start locate
storcli /cx[/ex]/sx stop locate                                                                     esxcli storcli physicaldrive stop locate
storcli /cx[/ex]/sx show securitykey keyid                                                          esxcli storcli physicaldrive show securitykeyId
storcli /cx[/ex]/sx add hotsparedrive [DGs=<N|0,1,2   >] [enclaffinity]                             esxcli storcli physicaldrive add hotsparedrive
storcli /cx[/ex]/sx delete hotsparedrive                                                            esxcli storcli physicaldrive delete hotsparedrive
storcli /cx[/ex]/sx spinup                                                                          esxcli storcli physicaldrive perform spinup
storcli /cx[/ex]/sx spindown                                                                        esxcli storcli physicaldrive perform spindown
storcli /cx[/ex]/sx set online                                                                      esxcli storcli physicaldrive set online
storcli /cx[/ex]/sx set offline                                                                     esxcli storcli physicaldrive set offline
storcli /cx[/ex]/sx set missing                                                                     esxcli storcli physicaldrive set missing
storcli /cx[/ex]/sx set jbod                                                                        esxcli storcli physicaldrive set jbod
storcli /cx[/ex]/sx set security=on                                                                 esxcli storcli physicaldrive set securityOn
storcli /cx[/ex]/sx set good [force]                                                                esxcli storcli physicaldrive set good
storcli /cx[/ex]/sx insert dg=A array=B row=C                                                       esxcli storcli physicaldrive insert replacemissing
storcli /cx[/ex]/sx download status                                                                 esxcli storcli physicaldrive download status
storcli /cx[/ex]/sx secureerase [force]                                                             esxcli storcli physicaldrive perform secureerase
storcli /cx[/ex]/sx start erase [simple| normal| thorough | standard| threepass | crypto]           esxcli storcli physicaldrive start erase
storcli /cx[/ex]/sx start sanitize < cryptoerase| blockErase > [ause]                               esxcli storcli physicaldrive start sanitize
storcli /cx[/ex]/sx start sanitize overwrite [ause] [invert] [overwritecount=<val>]                 esxcli storcli physicaldrive start sanitizeoverwrite
storcli /cx[/ex]/sx stop erase                                                                      esxcli storcli physicaldrive stop erase
storcli /cx[/ex]/sx show erase                                                                      esxcli storcli physicaldrive show erase
storcli /cx[/ex]/sx show sanitize                                                                   esxcli storcli physicaldrive show sanitize
storcli /cx[/ex]/sx show jbod                                                                       esxcli storcli physicaldrive show jbod
storcli /cx[/ex]/sx show jbod all                                                                   esxcli storcli physicaldrive show jbodall
storcli /cx[/ex]/sx del jbod [force]                                                                esxcli storcli physicaldrive delete jbod
storcli /cx[/ex]/sx set bootdrive=<on|off                                                           esxcli storcli physicaldrive set bootdrive
storcli /cx[/ex]/sx show repair                                                                     esxcli storcli physicaldrive show repair
storcli /cx[/ex]/sx show dpmstat type = HIST | LCT | RA | EXT [logfile[=filename]]                  esxcli storcli physicaldrive show dpmstat
storcli /cx[/ex]/sx start repair [force]                                                            esxcli storcli physicaldrive start repair
storcli /cx[/ex]/sx stop repair                                                                     esxcli storcli physicaldrive stop repair
storcli /cx[/ex]/sx download src=<filepath> [satabridge] [mode= 5|7] [parallel [force]] 
[chunksize=<val>]																				    esxcli storcli physicaldrive download firmware
storcli /cx[/ex]/sx download src=<filepath> mode= E [offline] [activatenow [delay=<val>] ] 
[chunksize=<val>]
storcli /cx[/ex]/sx download mode= F [offline] [delay=<val>]                                        esxcli storcli physicaldrive download activatefirmware


===========================================================================================================================================================================================
Virtual drive commands                                                                             	ESXCLI Plugin
===========================================================================================================================================================================================
storcli /cx/vx del [cachecade] [discardcache] [force]                                               esxcli storcli virtualdrive delete vd
storcli /cx/vx set ssdcaching=on|off                                                                esxcli storcli virtualdrive set ssdcaching
storcli /cx/vx set hidden=on|off                                                                    esxcli storcli virtualdrive set hidden
storcli /cx/vx show expansion                                                                       esxcli storcli virtualdrive show expansion
storcli /cx/vx expand Size=<xx> [expandarray]                                                       esxcli storcli virtualdrive expand size
storcli /cx/vx set emulationType=0|1|2                                                              esxcli storcli virtualdrive set emulationtype
storcli /cx/vx set Unmap=<On|Off>                                                                   esxcli storcli virtualdrive set unmap
storcli /cx/vx show Unmap                                                                           esxcli storcli virtualdrive show unmap
storcli /cx/vx set cbsize=0|1|2 cbmode=0|1|2|3|4|7                                                  esxcli storcli virtualdrive set cachebypass
storcli /cx/vx set wrcache=WT|WB|AWB                                                                esxcli storcli virtualdrive set writecachepolicy
storcli /cx/vx set rdcache=RA|NoRA                                                                  esxcli storcli virtualdrive set readcachepolicy
storcli /cx/vx set iopolicy=Cached|Direct                                                           esxcli storcli virtualdrive set iopolicy
storcli /cx/vx set accesspolicy=RW|RO|Blocked|RmvBlkd                                               esxcli storcli virtualdrive set accesspolicy
storcli /cx/vx set pdcache=On|Off|Default                                                           esxcli storcli virtualdrive set pdcachepolicy
storcli /cx/vx set name=<NameString>                                                                esxcli storcli virtualdrive set name
storcli /cx/vx set HostAccess=ExclusiveAccess|SharedAccess                                          esxcli storcli virtualdrive set hostaccess
storcli /cx/vx set autobgi=On|Off                                                                   esxcli storcli virtualdrive set autobgi
storcli /cx/vx set pi=Off                                                                           esxcli storcli virtualdrive disable dataprotection
storcli /cx/vx show                                                                                 esxcli storcli virtualdrive show basic
storcli /cx/vx show all [logfile[=filename]]                                                        esxcli storcli virtualdrive show all
storcli /cx/vx show init                                                                            esxcli storcli virtualdrive show init
storcli /cx/vx show cc                                                                              esxcli storcli virtualdrive show consistencycheck / esxcli storcli virtualdrive show cc
storcli /cx/vx show erase                                                                           esxcli storcli virtualdrive show erase
storcli /cx/vx show migrate                                                                         esxcli storcli virtualdrive show migrate
storcli /cx/vx show bgi                                                                             esxcli storcli virtualdrive show bgi
storcli /cx/vx show autobgi                                                                         esxcli storcli virtualdrive show autobgi
storcli /cx/vx start init [Full] [Force]                                                            esxcli storcli virtualdrive start init
storcli /cx/vx start erase [simple|normal|thorough|standard] [patternA=<val>]                       esxcli storcli virtualdrive start erase
storcli /cx/vx start cc [Force]                                                                     esxcli storcli virtualdrive start consistencycheck / esxcli storcli virtualdrive start cc
storcli /cx/vx start migrate type=raidx [option=add|remove                                          esxcli storcli virtualdrive start migrate
storcli /cx/vx stop init                                                                            esxcli storcli virtualdrive stop init
storcli /cx/vx stop erase                                                                           esxcli storcli virtualdrive stop erase
storcli /cx/vx stop cc                                                                              esxcli storcli virtualdrive stop consistencycheck / esxcli storcli virtualdrive stop cc
storcli /cx/vx stop bgi                                                                             esxcli storcli virtualdrive stop bgi
storcli /cx/vx pause cc                                                                             esxcli storcli virtualdrive pause consistencycheck / esxcli storcli virtualdrive pause cc
storcli /cx/vx pause bgi                                                                            esxcli storcli virtualdrive pause bgi
storcli /cx/vx resume cc                                                                            esxcli storcli virtualdrive resume consistencycheck / esxcli storcli virtualdrive resume cc
storcli /cx/vx resume bgi                                                                           esxcli storcli virtualdrive resume bgi
storcli /cx/vx delete preservedcache [force]                                                        esxcli storcli virtualdrive delete preservedcache
storcli /cx/vx set bootdrive=<on|off>                                                               esxcli storcli virtualdrive set bootdrive
storcli /cx/vx show BBMT                                                                            esxcli storcli virtualdrive show bbmt
storcli /cx/vx delete BBMT                                                                          esxcli storcli virtualdrive delete bbmt


===========================================================================================================================================================================================
Foreign configuration commands                                                                      ESXCLI Plugin
===========================================================================================================================================================================================
storcli /cx/fall show [all] [securityKey = xxx]                                                     esxcli storcli foreign show basic / esxcli storcli foreign show all                                                                                                   
storcli /cx/fall del|delete [securityKey = xxx]                                                     esxcli storcli foreign delete
storcli /cx/fall import [preview] [securityKey = xxx]                                               esxcli storcli foreign import

===========================================================================================================================================================================================
Enclosure commands                                                                                  ESXCLI Plugin
===========================================================================================================================================================================================
storcli /cx/ex show                                                                                 esxcli storcli enclosure show basic
storcli /cx/ex show all                                                                             esxcli storcli enclosure show all
storcli /cx/ex show status [extended]                                                               esxcli storcli enclosure show status
storcli /cx/ex show phyerrorcounters                                                                esxcli storcli enclosure show phyerrorcounters
storcli /cx/ex set time=systemtime                                                                  esxcli storcli enclosure set systemtime
storcli /cx/ex download src=<filepath> [ mode=5 | [forceActivate] mode=7] [bufferid=<val>] 			esxcli storcli enclosure download firmware
[chunksize]
storcli /cx/ex download src=<filepath> mode=e [offline] [forceActivate [delay=<val>]] 				esxcli storcli enclosure download modeefirmware
[bufferid=<val>] [chunksize=<val>]				
storcli /cx/ex download mode=f [offline] [delay=<val>] [bufferid=<val>]                             esxcli storcli enclosure download activatefirmware

===========================================================================================================================================================================================
Phy/Lane Commands                                                                                   ESXCLI Plugin
===========================================================================================================================================================================================
storcli /cx/px show                                                                                 esxcli storcli phy show basic
storcli /cx/px show phyerrorcounters                                                                esxcli storcli phy show phyerrorcounters
storcli /cx/px show phyevents                                                                       esxcli storcli phy show phyevents
storcli /cx/px show all                                                                             esxcli storcli phy show all
storcli /cx/px set linkspeed=0|1 5|3|6|12                                                           esxcli storcli phy set linkspeed
storcli /cx/px set state=on|off                                                                     esxcli storcli phy set state
storcli /cx/px reset [hard]                                                                         esxcli storcli phy reset
storcli /cx/px compare linkspeed=<speed>                                                            esxcli storcli phy compare linkspeed
storcli /cx/lnx show                                                                                esxcli storcli lane show info
storcli /cx/lnx set lanespeed=2.5|5|8|16                                                            esxcli storcli lane set lanespeed
