Pure Storage PowerShell SDK 1.13
Pure Storage PowerShell SDK 1.13.0 Release Notes
The Pure Storage PowerShell SDK provides integration with the Purity Operating Environment and FlashArray. It provides functionalities of Purity's REST API as PowerShell cmdlets.
RELEASE COMPATIBILITY
This release requires PowerShell 3.0 or higher.
This release requires .NET 4.5.
This release is compatible with Purity FlashArrays that support Pure Storage REST API 1.0 to 1.13 inclusive.
This release requires a 64-bit operating system.
INSTALLATION AND UNINSTALLATION
To install the PowerShell SDK, extract and run PurePowerShellSDKInstaller.msi, and follow the instructions. Administrator privilege is required to install. To verify the installation, run "Get-Command -Module PureStoragePowerShellSDK" in a new PowerShell prompt. The newly installed cmdlets should be listed. The PowerShell SDK can be uninstalled from "Programs and Features" of the Control Panel.
The PowerShell SDK can also be installed using the PowerShell Gallery. See https://www.powershellgallery.com/ for details on how to discover resources on the PowerShell Gallery.
KNOWN ISSUES
Get-PfaProtectionGroupVolumeSnapshots does not work if the array is connected using REST API 1.4.
RELEASE 1.13.0
Release 1.13.0 adds the following changes to Release 1.7
Support for REST 1.12 and REST 1.13, bug fixes.
- TMAN-3817: Added notification property to SNMPManager object. New cmdlet:
Set-PfaSnmpManagerNotification - Added -Filter parameter to cmdlets that return multiple objects to enable server side filtering. See new help topic about_Purity_Filtering.
- Added the following new cmdlets related to Pod and sync-rep management
Add-PfaArrayToPod
Copy-PfaPod
Get-PfaAllPodFootprint
Get-PfaAllPodMediator
Get-PfaAllPodSpaceHistory
Get-PfaAllPodSpaces
Get-PfaNamedPodFootprint
Get-PfaNamedPodMediator
Get-PfaNamedPodSpace
Get-PfaNamedPodSpaceHistory
Get-PfaNamedPods
Get-PfaPendingDeletePods
Get-PfaPendingPodFootprint
Get-PfaPendingPodMediator
Get-PfaPendingPodSpace
Get-PfaPod
Get-PfaPods
New-PfaPod
Remove-PfaArrayFromPod
Remove-PfaPod
Rename-PfaPod
Restore-PfaPod - Added the following cmdlets to support named certificate management.
Get-PfaNamedCertificate
Get-PfaNamedCertificateAttribute
Get-PfaNamedCertificateAttributes
Import-PfaNamedCertificate
Remove-PfaNamedCertificate
New-PfaNamedCertificateImport
New-PfaNamedSelfSignedCertificate - Added the following cmdlets to support reading mirrored IO statistics.
Get-PfaAllHostGroupIOMetricsMirrored
Get-PfaAllHostIOMetricsMirrored
Get-PfaAllPodIOMetricsMirrored
Get-PfaAllVolumeIOMetricsMirrored
Get-PfaArrayIOMetricsMirrored
Get-PfaHostGroupIOMetricsMirrored
Get-PfaHostIOMetricsMirrored
Get-PfaPodIOMetricsMirrored
Get-PfaVolumeIOMetricsMirrored - Added the following cmdlets to support KMIP.
Get-PfaKmip
Get-PfaKmips
New-PfaKmip
Remove-PfaKmip
Test-PfaKmip
Update-PfaKmip - Added the following cmdlets to support Purity //Run apps
Get-PfaPureAppAttributes
Get-PfaPureAppsAttributes - Added the following cmdlets to support volume groups and vvols.
Get-PfaAllVolumeGroupIOMetrics
Get-PfaAllVolumeGroupIOMetricsByTimeRange
Get-PfaAllVolumeGroupsIOMetricsAverage
Get-PfaAllVolumeGroupsIOMetricsTotal
Get-PfaVolumeGroupIOMetrics
Get-PfaVolumeGroupIOMetricsAverage
Get-PfaVolumeGroupIOMetricsByTimeRange
Get-PfaVolumeGroupSpaceMetrics
Get-PfaVolumeGroupSpaceMetrics
Get-PfaNamedVolumeGroupsIOMetricsByTimeRange
Get-PfaNamedVolumeGroups
Get-PfaPendingDeleteVolumeGroups
Get-PfaProtocolEndpointVolumes
Get-PfaProtocolEndpointVolume
Get-PfaVolumeGroups
Get-PfaVolumeGroup
New-PfaHostGroupProtocolEndpointVolumeConnection
New-PfaHostProtocolEndpointVolumeConnection
New-PfaProtocolEndpointVolume
New-PfaVolumeGroup
Remove-PfaVolumeGroup
Restore-PfaVolumeGroup - Added the following cmdlets to support remote host/hostgroup/volume operations
Get-PfaRemoteHost
Get-PfaRemoteHostGroup
Get-PfaRemoteHostGroupVolumeConnections
Get-PfaRemoteHostGroups
Get-PfaRemoteHosts
Get-PfaRemoteVolumeHostConnections
Get-PfaRemoteVolumeHostGroupConnections
Get-PfaVolumeConnection
Added the following cmdlets:
Get-PfaArrayTCPConnection
RELEASE 1.7
ADDITIONS
Support for Pure Storage arrays with IPv6 addresses
Bug fixes and cmdlets to support REST 1.7
- Fixed Get-PfaProtectiongGroupVolumeSnapshot to work with REST 1.2 - REST 1.7. It still doesn't work with REST 1.4 (see KNOWN ISSUES above.)
- Fixed bug where cmdlets were ignoring -ErrorAction.
- Added mode (primary/secondary) property on the controller object returned by Get-PfaControllers.
- Added cmdlets Get-PfaAllVolumeIOMetricsByTimeRange (Lists historical IO metrics for all volumes for a specified range) and Get-PfaNamedVolumesIOMetricsByTimeRange (Lists historical IO metrics for specified volumes for a specified range.)
- Add Get-PfaProtectionGroupRetentions (retrieve snapshot replication retention policy for all protection groups.)
- Add Get-PfaVolumeSnapshot (retrieve a particular snapshot by name.)
- Set-PfaProtectionGroupRetention should have optional params, so that the user can change one property at a time and doesn't have to specify all properties.
- Added Get cmdlets that support filtering by names. The names parameter accepts a single name or a comma-separated list for multiple values. The names parameter also accepts an asterisk ( * ) as a wildcard character.
Get-PfaNamedVolumes
Get-PfaNamedProtectionGroups
Get-PfaNamedHosts
Get-PfaNamedHostGroups
RELEASE 1.6
ADDITIONS
The last release for the Pure Storage PowerShell SDK was 1.5
The following cmdlets have been added since the last release to support REST 1.5
- Added Update-PfaArrayConnectionsThrottlingInformation.
- Added Get-PfaArrayConnectionsThrottlingInformation.
- Added Get-PfaAllHostIOMetrics.
- Added Get-PfaHostIOMetrics.
- Added Get-PfaAllHostGroupIOMetrics.
- Added Get-PfaHostGroupIOMetrics.
The following cmdlets have been added since the last release to support REST 1.6
- Added Get-PfaArraySpaceMetricsByTimeRange.
- Added Get-PfaAllVolumeSpaceMetricsByTimeRange.
- Added Get-PfaVolumeSpaceMetricsByTimeRange.
The following cmdlets have been added since the last release to support REST 1.7
- Added Get-PfaArrayIOMetricsAverage.
- Added Get-PfaAllHostIOMetricsTotal.
- Added Get-PfaAllHostIOMetricsAverage.
- Added Get-PfaHostIOMetricsAverage.
- Added Get-PfaAllHostGroupIOMetricsTotal.
- Added Get-PfaAllHostGroupIOMetricsAverage.
- Added Get-PfaHostGroupIOMetricsAverage.
- Added Get-PfaAllVolumeIOMetricsAverage.
- Added Get-PfaAllVolumeIOMetricsTotal.
- Added Get-PfaVolumeIOMetricsAverage.
Other additions:
- Added New-PfaCLICommand to be able to run any CLI command on the FlashArray
- Added Get-PfaVolumeIOMetricsByTimeRange (old name was Get-PfaVolumeIOMetrics - see section CHANGES)
- Added Get-PfaProtectionGroupSchedules.
- Added Get-PfaSourceProtectionGroupSchedules.
The following cmdlets related to Purity's integration with Active Directory to provide authentication. - Added Set-PfaDirectoryServiceStatus to enable/disable Active Directory integration.
- Added Set-PfaDirectoryServiceAuthenticationStatus to enable/disable server authenticity enforcement using configured CA certificate.
- Added Set-PfaDirectoryServiceGroupBase to set base OU for ArrayAdmin/StorageAdmin/Readonly security groups.
CHANGES
- Removed CheckPeer and Enabled switch parameters from Set-PfaDirectoryServiceConfiguration - the functionality is provided by new cmdlets Set-PfaDirectoryServviceAuthenticationStatus and Set-PfaDirectoryServiceStatus.
- In 1.5 version of the SDK, Get-PfaVolumeIOMetrics would get historical performance data for the specified volume. This has been renamed to Get-PfaVolumeIOMetricsByTimeRange.
A new cmdlet with the same name (Get-PfaVolumeIOMetrics) is added to list IO metrics attributes for the specified volume. - In 1.5 version of the SDK, Get-PfaAllVolumeIOMetrics would get IO metrics for a specific volume - this has been renamed to Get-PfaVolumeIOmetrics (see change#2 above)
- Fixed bug with Get-PfaInitiatorPorts where it was only returning array ports.
- Added the ability to connect to an array using API token (see help for New-PfaArray)
PERFORMANCE TESTING
No performance testing was done for this release.
OPEN SOURCE LICENSES
Json.NET:
The MIT License (MIT)
Copyright (c) 2007 James Newton-King
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
SSH.NET:
The MIT License (MIT)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.