public/Get-DuoIntegration.ps1

<#
.Synopsis
   Retrieve DUO Applications
.DESCRIPTION
   Returns a list of applications.
.EXAMPLE
    Get-DuoApplication
.EXAMPLE
    Get-DuoApplication
.INPUTS
    None
.OUTPUTS
   [PSCustomObject]DuoRequest
.NOTES
    DUO API
        Method GET
        Path /admin/v1/integrations
    PARAMETERS
        Parameter Required? Description
    RESPONSE CODES
        Response Meaning
        200 Success. Returns a list of users.
        400 Invalid parameters.
.COMPONENT
   The component this cmdlet belongs to
.FUNCTIONALITY
   The functionality that best describes this cmdlet
#>

function Get-DuoIntegration() {
    [CmdletBinding()]
    param (

    )

    [string]$method = "GET"
    [string]$path = "/admin/v1/integrations"
    $APiParams = $MyInvocation.BoundParameters

        $outputs = [System.Collections.Generic.List[pscustomobject]]::new()

        $offsets = [system.collections.generic.list[string]]::new()
        $offsets.add('0')
        $offsets.add('100')
        $offsets.add('200')
        $offsets.add('300')
        $offsets.add('400')
        $offsets.add('500')
        $offsets.add('600')
        $offsets.add('700')
        $offsets.add('800')
        $offsets.add('900')
        $offsets.add('1000')
        $offsets.add('1100')
        $offsets.add('1200')
        $offsets.add('1300')
        $offsets.add('1400')
        $offsets.add('1500')
        $offsets.add('1600')
        $offsets.add('1700')
        $offsets.add('1800')
        $offsets.add('1900')
        $offsets.add('2000')

        foreach($offset in $offsets){
            $apiparams = [system.collections.generic.dictionary[string, string]]::new()
            $apiparams.add('offset', $offset)

            $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"
            }
            $outputs.add($response.response)

        } # end of foreach

        $outputs = $outputs.getenumerator().foreach({$_})
        write-output -InputObject $outputs
}