I see a fair amount of requests around how to do different things with VMware PowerCLI and the Pure Storage PowerShell SDK. How do I correlate a VMFS to a volume? How do I create a new VMFS? How do I expand? Etc.
To help our customers I have written a module that includes a lot of the common operations people might need to “connect” PowerCLI to our PowerShell SDK.
The module is called Cody.PureStorage.FlashArray.VMware.
There are a couple of places you can download this. The best option is the PowerShell gallery! This allows you to use install-module to automatically install the module. It requires PowerCLI and the PureStorage PowerShell SDK to be installed, the Pure Storage PowerShell SDK will be automatically installed when you do install-module if it is not already.
If you do not have internet access on the machine, you can manually download it from my GitHub.
The cmdlet will help you connect PowerCLI commands (like get-datastore or get-vmhost) to operations you might want to do on the FlashArray. The cmdlets support pipeline input for most variables (datastores, FlashArray connections, ESXi hosts, etc.).
I will be working on adding more and more to this!
Use either get-help or get-command to see the details:
As new versions come out, just simply run:
The version 18.104.22.168 has the following cmdlets:
|get-faVolumeNameFromVvolUuid||Returns a FlashArray volume object from a entered VVol UUID|
|new-pureflasharrayRestSession||Creates a REST session to a FlashArray. Allows you to make REST calls to the FlashArray that the PowerShell SDK does not yet natively support.|
|remove-pureflasharrayRestSession||Removes a FlashArray session.|
|get-vmdkFromWindowsDisk||Takes in a drive letter and returns the corresponding virtual disk object of the Windows VM.|
|new-faHostFromVmHost||Creates a FlashArray host from the initiators of a given ESXi host.|
|get-faHostFromVmHost||Returns the corresponding FlashArray host object of an entered ESXi host.|
|get-faHostGroupfromVcCluster||Returns the corresponding FlashArray host group object of an entered ESXi host cluster.|
|new-faHostGroupfromVcCluster||Creates a FlashArray host group from the initiators of a given ESXi host cluster.|
|set-vmHostPureFaiSCSI||Configures iSCSI targets and best practices of a FlashArray on an ESXi host.|
|set-clusterPureFAiSCSI||Configures iSCSI targets and best practices of a FlashArray on an ESXi host cluster.|
|get-faVolfromVMFS||Returns the FlashArray volume that hosts a VMFS datastore.|
|new-faVolVmfs||Creates a new FlashArray volume and presents it to a VMware cluster and formats it with VMFS|
|add-faVolVmfsToCluster||Adds an existing VMFS to another VMware cluster.|
|set-faVolVmfsCapacity||Resizes a FlashArray volume and grows the VMFS on it.|