Conventions.Rule.ps1
# Copyright (c) Microsoft Corporation. # Licensed under the MIT License. # Synopsis: A convention to automatically ingest results into a Log Analysis workspace. Export-PSRuleConvention 'Monitor.LogAnalytics.Import' -End { if ([String]::IsNullOrEmpty($Configuration.MONITOR_WORKSPACE_ID)) { Write-Error -Message ([PSRule.Monitor.Resources.PSRuleResources]::InvalidWorkspaceId) -ErrorId 'PSRule.Monitor.InvalidWorkspaceId'; return; } if ([String]::IsNullOrEmpty($Configuration.MONITOR_WORKSPACE_KEY)) { Write-Error -Message ([PSRule.Monitor.Resources.PSRuleResources]::InvalidSharedKey) -ErrorId 'PSRule.Monitor.InvalidSharedKey'; return; } $results = @($PSRule.Output | ForEach-Object { $_.AsRecord() }) Write-Verbose -Message "[Monitor.LogAnalytics.Import] - Will ingest '$($results.Count)' results into Log Analytics."; [PSRule.Monitor.Runtime.Workspace]::Send($results, $Configuration.MONITOR_WORKSPACE_ID, $Configuration.MONITOR_WORKSPACE_KEY); } |