def add_peer_address(self, ext_bgp_peer_or_fw, rank=None):
        """
        Add a peer address. Peer address types are ExternalBGPPeer
        or Engine.
        
        :raises ElementNotFound: If element specified does not exist
        """
        if ext_bgp_peer_or_fw.typeof == 'external_bgp_peer':
            ref = 'external_bgp_peer_address_ref'
        else: # engine
            ref = 'fwcluster_peer_address_ref'
        self.conditions.append(
            {ref: ext_bgp_peer_or_fw.href,
             'rank': rank,
             'type': 'peer_address'})