Update-QlikRule.ps1
function Update-QlikRule { <# .SYNOPSIS This function ... .DESCRIPTION A bit more description .PARAMETER FromPipeline Shows how to process input from the pipeline, remaining parameters or by named parameter. .EXAMPLE Update-QlikRule 'abc' Description of the example. #> <# Enable -Confirm and -WhatIf. #> [CmdletBinding(SupportsShouldProcess = $true)] param( [parameter(Mandatory=$true,ValueFromPipeline=$True,ValueFromPipelinebyPropertyName=$True,Position=0)] [string]$id, [string]$name, [ValidateSet("License","Security","Sync")] [string]$category, [string]$rule, [alias("filter")] [string]$resourceFilter, [ValidateSet("hub","qmc","both")] [alias("context")] [string]$rulecontext = "both", [int]$actions, [string]$comment, [switch]$disabled ) begin { } process{ switch ($rulecontext) { both { $context = 0 } hub { $context = 1 } qmc { $context = 2 } } $systemrule = Get-QlikRule $id -raw If( $name ) { $systemrule.name = $name } If( $rule ) { $systemrule.rule = $rule } If( $resourceFilter ) { $systemrule.resourceFilter = $resourceFilter } If( $category ) { $systemrule.category = $category } If( $rulecontext ) { $systemrule.rulecontext = $context } If( $actions ) { $systemrule.actions = $actions } If( $comment ) { $systemrule.comment = $comment } If( $psBoundParameters.ContainsKey("disabled") ) { $systemrule.disabled = $disabled.IsPresent } $json = $systemrule | ConvertTo-Json -Compress -Depth 10 return Invoke-QlikPut "/qrs/systemrule/$id" $json } end { } } if ($loadingModule) { Export-ModuleMember -Function 'Update-QlikRule' } |