Public/Get-ArmorAccountAddress.ps1
function Get-ArmorAccountAddress { <# .SYNOPSIS This cmdlet retrieves the address on file for Armor accounts. .DESCRIPTION This cmdlet retrieves the address on file for Armor accounts that your user account has access to. .INPUTS System.UInt16 .NOTES Troy Lindsay Twitter: @troylindsay42 GitHub: tlindsay42 .EXAMPLE Get-ArmorAccountAddress AccountID : 65536 Name : Example Parent Account AddressLine1 : 2360 Campbell Creek Blvd. AddressLine2 : Suite 525 City : Richardson State : TX PostalCode : 75082 Country : US Description ----------- Gets the address of the Armor account currently in context. .EXAMPLE Get-ArmorAccountAddress -ID 65537 AccountID : 65537 Name : Example Child Account AddressLine1 : 2360 Campbell Creek Blvd. AddressLine2 : Suite 525 City : Richardson State : TX PostalCode : 75082 Country : US Description ----------- Gets the address of Armor account ID 65537. .EXAMPLE 65536 | Get-ArmorAccountAddress AccountID : 65536 Name : Example Parent Account AddressLine1 : 2360 Campbell Creek Blvd. AddressLine2 : Suite 525 City : Richardson State : TX PostalCode : 75082 Country : US Description ----------- Gets the address of Armor account ID 65536. .LINK http://armorpowershell.readthedocs.io/en/latest/cmd_get.html#get-armoraccountaddress .LINK https://github.com/tlindsay42/ArmorPowerShell .LINK https://docs.armor.com/display/KBSS/Get+Account .LINK https://developer.armor.com/#!/Account_Management/Accounts_GetAccount #> [CmdletBinding()] [OutputType( [ArmorAccountAddress] )] param ( <# Specifies the ID of the Armor account with the desired address details. #> [Parameter( Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true )] [ValidateRange( 1, 65535 )] [UInt16] $ID = $Global:ArmorSession.GetAccountContextID(), <# Specifies the API version for this request. #> [Parameter( Position = 1 )] [ValidateSet( 'v1.0' )] [String] $ApiVersion = $Global:ArmorSession.ApiVersion ) begin { $function = $MyInvocation.MyCommand.Name Write-Verbose -Message ( 'Beginning {0}.' -f $function ) Test-ArmorSession } # End of begin process { [ArmorAccountAddress] $return = $null $headers = $Global:ArmorSession.Headers.Clone() $headers.( $Global:ArmorSession.AccountContextHeader ) = $ID $resources = Get-ArmorApiData -Endpoint $function -ApiVersion $ApiVersion $uri = New-ArmorApiUriString -Endpoints $resources.Uri -IDs $ID if ( $ID -gt 0 ) { Write-Verbose 'Implementing workaround for specific account query bug.' } $uri = New-ArmorApiUriQueryString -QueryKeys $resources.Query.Keys -Parameters ( Get-Command -Name $function ).Parameters.Values -Uri $uri $results = Submit-ArmorApiRequest -Uri $uri -Headers $headers -Method $resources.Method -Description $resources.Description $results = Select-ArmorApiResult -Results $results -Filter $resources.Filter if ( $results.Count -eq 0 ) { Write-Host -Object 'Armor account not found.' } else { $return = $results } $return } # End of process end { Write-Verbose -Message ( 'Ending {0}.' -f $function ) } # End of end } # End of function |