Public/Get-MerakiNetworkInsightApplicationHealthByTime.ps1
function Get-MerakiNetworkInsightApplicationHealthByTime { <# .SYNOPSIS Retrieve application health score over time for a specific application. .DESCRIPTION Use this API to retrieve the application health score (0-100) over time for a specific application on the network. For each timestamp available, the value of the score is returned, along with a "good" and "bad" threshold which are used to determine whether the score is good, bad or fair. .PARAMETER AuthToken Meraki Dashboard API Key. .PARAMETER networkId The network ID. .PARAMETER applicationId The application ID. .PARAMETER t0 The beginning of the timespan for the data. The maximum lookback period is 365 days from today. .PARAMETER t1 The end of the timespan for the data. The maximum lookback period is 365 days from today. .PARAMETER timespan The timespan for which the information will be fetched. If timespan is specified, t0 and t1 cannot be used. The maximum value for timespan is 365 days. .PARAMETER resolution The time resolution in seconds for returned data. The valid resolutions are: 60, 600, 3600, 14400, 86400. The default is 3600 seconds. .EXAMPLE Get-MerakiNetworkInsightApplicationHealthByTime -AuthToken $AuthToken -networkId N_24329156 -applicationId "k8m5l5" -timespan 86400 -resolution 3600 Retrieve the application health score over the last 24 hours with a resolution of 1 hour. .NOTES For more information, see https://developer.cisco.com/meraki/api-v1/#!get-network-insight-application-health-by-time #> [CmdletBinding()] param ( [parameter(Mandatory = $true)] [string]$AuthToken, [parameter(Mandatory = $true)] [string]$networkId, [parameter(Mandatory = $true)] [string]$applicationId, [parameter(Mandatory = $false)] [string]$t0 = $null, [parameter(Mandatory = $false)] [string]$t1 = $null, [parameter(Mandatory = $false)] [int]$timespan = $null, [parameter(Mandatory = $false)] [int]$resolution = 3600 ) $header = @{ 'X-Cisco-Meraki-API-Key' = $AuthToken } $queryParams = @{} if ($timespan) { $queryParams['timespan'] = $timespan } else { if ($t0) { $queryParams['t0'] = $t0 } if ($t1) { $queryParams['t1'] = $t1 } } if ($resolution) { $queryParams['resolution'] = $resolution } $queryString = New-MerakiQueryString -queryParams $queryParams try { $URL = "https://api.meraki.com/api/v1/networks/$networkId/insight/applications/$applicationId/healthByTime?$queryString" $URI = [uri]::EscapeUriString($URL) $response = Invoke-RestMethod -Method Get -Uri $URI -Header $header -UserAgent "MerakiPowerShellModule/1.0.2 DocNougat" return $response } catch { Write-Error "Failed to retrieve application health by time. $_" } } |