Public/set-AllegisIDNsource.ps1
function set-AllegisIDNsource { param( [string]$orgname, [string]$accesstoken, [string]$sourceid, [string]$name, [string]$description, [string]$owner, [boolean]$accounts, [boolean]$provisioning ) $originalSource=get-AllegisIDNsource -orgName $orgname -sourceid $sourceid -accessToken $accesstoken -detailed $true $header=get-AllegisIDNprivateHeader $accessToken $privateuribase="https://$orgname.api.identitynow.com" $url="$privateuribase/cc/api/source/update/$sourceid" $body='' if ($name -ne $null){$body="$($body)name=$name&"} if ($description -ne $null){$body="$($body)description=$description&"} if ($owner -ne $null){ $owneridentity=(get-AllegisIDNIdentitylist -orgname $orgname -uid $owner -accesstoken $accesstoken) $ownerdetails=$owneridentity.items.where{$_.alias -eq $owner} if ($owenerdetails.id.count -eq 1){$body="$($body)ownerId=$($ownerdetails[0].id)&"} } if ($provisioning -ne $null){$body="$($body)useForProvisioning=$provisioning&"} if ($accounts -ne $null){$body="$($body)useForAccounts=$accounts&"} if ($body.length -gt 1){$body=$body.Substring(0,$body.Length-1)} $response=Invoke-WebRequest -Uri $url -Method Post -UseBasicParsing -Headers $header -Body ([uri]::EscapeDataString($body)) -ContentType 'application/x-www-form-urlencoded' $sourceAccountProfile=$response.Content | ConvertFrom-Json return $sourceAccountProfile } |