public/Set-DuoIntegration.ps1

<#
.Synopsis
   create new application
.DESCRIPTION
 
.EXAMPLE
    New-DuoIntegration
.EXAMPLE
 
.INPUTS
 
.OUTPUTS
   [PSCustomObject]DuoRequest
.NOTES
 
.COMPONENT
    PSDuo
.FUNCTIONALITY
 
#>


function Set-DuoIntegration {
    [cmdletbinding()]
    param(
        [parameter(Mandatory = $true)]
        [String]$integration_key,

        [parameter(Mandatory = $false)]
        [String]$policy_key = 'POY9FT6FPZ1XN12JUXW8' # default no 2fa internal key
    )

    [string]$method = "POST"
    [string]$path = "/admin/v1/integrations/$($integration_key)"
    $APiParams = $MyInvocation.BoundParameters

    $DuoRequest = Convertto-DUORequest -DuoMethodPath $path -Method $method -ApiParams $ApiParams
    $Response = Invoke-RestMethod @DuoRequest -SkipHeaderValidation:$true
    If ($Response.stat -ne 'OK') {
        Write-Warning 'DUO REST Call Failed'
        Write-Warning ($APiParams | Out-String)
        Write-Warning "Method:$method Path:$path"
    }
    $Output = $Response | Select-Object -ExpandProperty Response
    Write-Output $Output
}