New-QlikVirtualProxy.ps1
function New-QlikVirtualProxy { <# .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 New-QlikVirtualProxy 'abc' Description of the example. #> <# Enable -Confirm and -WhatIf. #> [CmdletBinding(SupportsShouldProcess = $true)] param( [parameter(Mandatory=$true,Position=0)] [string]$prefix, [parameter(Mandatory=$true,Position=1)] [string]$description, [parameter(Mandatory=$true,Position=2)] [alias("cookie")] [string]$sessionCookieHeaderName, [alias("authUri")] [string]$authenticationModuleRedirectUri, [alias("engine")] [string[]]$loadBalancingServerNodes = "", [alias("wsorigin")] [string[]]$websocketCrossOriginWhiteList = "" ) begin { } process { If( $loadBalancingServerNodes ) { $engines = @( $loadBalancingServerNodes | foreach { If( $_ -match $script:guid ) { @{ id = $_ } } else { $eid = Get-QlikNode -filter "hostname eq '$_'" @{ id = $eid.id } } } ) } else { $engines = @() } $json = (@{ prefix=$prefix; description=$description; authenticationModuleRedirectUri=$authenticationModuleRedirectUri; loadBalancingServerNodes=$engines; sessionCookieHeaderName=$sessionCookieHeaderName; websocketCrossOriginWhiteList=$websocketCrossOriginWhiteList; } | ConvertTo-Json -Compress -Depth 10) return Invoke-QlikPost "/qrs/virtualproxyconfig" $json } end { } } if ($loadingModule) { Export-ModuleMember -Function 'New-QlikVirtualProxy' } |