functions/public/Get-PSIPAMTags.ps1

function Get-PSIPAMTags {
    [CmdletBinding()]
    param (
        [parameter(Mandatory=$false,ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true,Position=0)]
        [ValidateScript({ $_ -match "^\d+$" })]
        [ValidateNotNullOrEmpty()]
        [string]
        $Id
    )
    process {
        [string[]]$visiblePropertiesList = @('Id','Name')
        $visibleProperties = [System.Management.Automation.PSPropertySet]::new('DefaultDisplayPropertySet',$visiblePropertiesList)

        $_params = @{
            Controller = "addresses"
            Method     = "GET"
        }
        $_identifiers = @("tags")
        if ($Id) { $_identifiers += $Id }
        $_params.Add("Identifiers",$_identifiers)

        Invoke-PSIPAMRequest @_params | `
            Add-Member -MemberType MemberSet -Name PSStandardMembers -Value $visibleProperties -PassThru
    }
}
Export-ModuleMember -Function Get-PSIPAMTags