src/New-AlertRuleOverwrite.ps1
function New-AlertRuleOverwrite { [CmdletBinding()] [OutputType([PSCustomObject[]])] Param( [string][Parameter(Mandatory)]$ResourceType, [string][Parameter(Mandatory)]$Name, [scriptblock][Parameter(Mandatory)]$ResourceFilter, [string[]][Parameter()]$FixSteps, [ValidateSet("Before", "After", "Replace")] [string][Parameter()]$FixStepsLocation = "Before", [string[]][Parameter()]$ValidationSteps, [ValidateSet("Before", "After", "Replace")] [string][Parameter()]$ValidationStepsLocation = "Before", [ValidateSet("Critical", "Error", "Warning", "Information")] [string][Parameter()]$Severity, [ScriptBlock][Parameter()]$Criteria, [timespan][Parameter()]$WindowSize, [timespan][Parameter()]$Frequency, [PsCustomObject[]][Parameter(ValueFromPipeline)]$InputObject ) PROCESS { foreach ($original in $InputObject) { return $original } } END { [PSCustomObject]@{ SpecialRuleType = "OVERWRITE" Name = $Name ResourceType = $ResourceType ApplyOverwriteResourceFilter = $ApplyOverwriteResourceFilter FixSteps = $FixSteps FixStepsLocation = $FixStepsLocation ValidationSteps = $ValidationSteps ValidationLocation = $ValidationStepsLocation Severity = $Severity Criteria = $Criteria WindowSize = $WindowSize Frequency = $Frequency } } } |