I have been working with version 4.0 of XtremIO. This version of XtremIO has an updated REST API which provides a bunch of new functionality. The MTSXtremIO PowerShell Module provides PowerShell management of the EMC XtremIO storage array.
This new version of the REST API includes new performance features, new snapshot functionality, and many new objects. I have updated the MTSXtremIO PowerShell module for XtremIO to support the new API and functionality. The current version of the XtremIO PowerShell module contains 85 cmdlets for working with XtremIO.
The first four Cmdlets are to setup a connection to the XtremIO XMS, which is how you connect to the REST API. One XMS can manage multiple XtremIO clusters.
Disable-CertificateValidation
Get-PasswordFromFile
New-PasswordFile
Set-XIOAPIConnectionInfo
There are 41 get Cmdlets to retrieve various XtremIO objects.
Get-XIOPerformance
Get-XIOAlert
Get-XIOAlertDefinition
Get-XIOAPITypes
Get-XIOBBU
Get-XIOBrick
Get-XIOCluster
Get-XIOConsistencyGroup
Get-XIOConsistencyGroupVolume
Get-XIODAE
Get-XIODAEController
Get-XIODAEPSU
Get-XIODataProtectionGroup
Get-XIOEmailNotifier
Get-XIOEvent
Get-XIOInfinibandSwitch
Get-XIOInitiator
Get-XIOInitiatorGroup
Get-XIOIscsiPortal
Get-XIOIscsiRoute
Get-XIOItem
Get-XIOLDAPConfiguration
Get-XIOLocalDisk
Get-XIOLunMap
Get-XIOPerformance
Get-XIOScheduler
Get-XIOSlot
Get-XIOSnapshot
Get-XIOSnapshotSet
Get-XIOSNMPNotifier
Get-XIOSSD
Get-XIOStorageController
Get-XIOStorageControllerPSU
Get-XIOSYRNotifier
Get-XIOSyslogNotifier
Get-XIOTag
Get-XIOTarget
Get-XIOTargetGroup
Get-XIOUserAccount
Get-XIOVolume
Get-XIOXenvs
Get-XIOXms
There are 11 Cmdlets for creating XtremIO objects.
New-XIOConsistencyGroup
New-XIOInitiator
New-XIOInitiatorGroup
New-XIOIscsiPortal
New-XIOIscsiRoute
New-XIOLunMap
New-XIOScheduler
New-XIOSnapshot
New-XIOTag
New-XIOUserAccount
New-XIOVolume
There are 13 Cmdlets for removing XtremIO objects.
Remove-XIOConsistencyGroup
Remove-XIOConsistencyGroupVolume
Remove-XIOInitiator
Remove-XIOInitiatorGroup
Remove-XIOIscsiPortal
Remove-XIOIscsiRoute
Remove-XIOLunMap
Remove-XIOScheduler
Remove-XIOSnapshot
Remove-XIOSnapshotSet
Remove-XIOTag
Remove-XIOUserAccount
Remove-XIOVolume
There are 16 Cmdlets for changing various XtremIO objects.
Add-XIOConsistencyGroupVolume
Set-XIOAlertDefinition
Set-XIOConsistencyGroup
Set-XIOEmailNotifier
Set-XIOInitiator
Set-XIOInitiatorGroup
Set-XIOLDAPConfiguration
Set-XIOScheduler
Set-XIOSnapshot
Set-XIOSNMPNotifier
Set-XIOSYRNotifier
Set-XIOSyslogNotifier
Set-XIOTag
Set-XIOTarget
Set-XIOVolume
Update-XIOSnapshot
This provides a good basic set of functionality and coverage over 100% of the API. There are still many improvements to be made but this provides a good base set of functionality. There are some items which are at the top of the list to address such as;
- Improvements in pipeline support across functions. One known issue that exists with the cmdlets is the ability to pipe the output of a get into a set. There is currently a problem with the set cmdlet using property name as input correctly.
- Complete multiple cluster support across all functions
- Implement ShouldProcess in all new, set, remove functionality.
Other items on roadmap or under consideration
- Complete Get-XIOPerformance function. This function only provides very raw object output and has an incomplete implementation.
- Implement use of certificate based authentication
- Test use of server certificates on XMS
- Add informational output objects on new, set, and remove functions
- Implement additional error handling to include informational messages
Get the latest version of the MTSXtremIO XtremIO PowerShell Module . I will work on pipeline improvements, multiple cluster support, and support for should process next. These items will provide a solid foundation for the module functionality. I also have a fair amount of help to complete. Please let me know what other items are missing and where things can be improved.
Regards,
Dave