Public/Metric/Get-UnityMetricRealTimeQuery.ps1
Function Get-UnityMetricRealTimeQuery { <# .SYNOPSIS Information about real times metric queries. .DESCRIPTION Information about real times metric queries. It represents a query to obtain real-time information for one or more metrics, including a specified sampling frequency. You need to have an active session with the array. .NOTES Written by Erwan Quelin under MIT licence - https://github.com/equelin/Unity-Powershell/blob/master/LICENSE .LINK https://github.com/equelin/Unity-Powershell .PARAMETER Session Specifies an UnitySession Object. .PARAMETER ID Queries ID. .EXAMPLE Get-UnityMetricRealTimeQuery Retrieve informations about all queries. #> [CmdletBinding(DefaultParameterSetName="ID")] Param ( [Parameter(Mandatory = $false,HelpMessage = 'EMC Unity Session')] $session = ($global:DefaultUnitySession | where-object {$_.IsConnected -eq $true}), [Parameter(Mandatory = $false,ParameterSetName="ID",ValueFromPipeline=$True,ValueFromPipelinebyPropertyName=$True,HelpMessage = 'Queries ID')] [String[]]$ID ) Begin { Write-Debug -Message "[$($MyInvocation.MyCommand.Name)] Executing function" Write-Debug -Message "[$($MyInvocation.MyCommand.Name)] ParameterSetName: $($PsCmdlet.ParameterSetName)" Write-Debug -Message "[$($MyInvocation.MyCommand.Name)] PSBoundParameters: $($PSBoundParameters | Out-String)" #Initialazing variables $URI = '/api/types/metricRealTimeQuery/instances' #URI for the ressource (example: /api/types/lun/instances) $TypeName = 'UnityMetricRealTimeQuery' } Process { Foreach ($sess in $session) { Write-Debug -Message "[$($MyInvocation.MyCommand)] Processing Session: $($Session.Server) with SessionId: $($Session.SessionId)" Get-UnityItemByKey -Session $Sess -URI $URI -Typename $Typename -Key $PsCmdlet.ParameterSetName -Value $PSBoundParameters[$PsCmdlet.ParameterSetName] } # End Foreach ($sess in $session) } # End Process } # End Function |