from ipaddress import ip_interface

def get_a_records(metadata, internal=True, external=True):
    networks = metadata.get('network')
    
    if not internal:
        networks.pop('internal', None)

    if not external:
        networks.pop('external', None)
    
    return {
        'A': [
            str(ip_interface(network['ipv4']).ip)
                for network in networks.values()
                if 'ipv4' in network
        ],
        'AAAA': [
            str(ip_interface(network['ipv6']).ip)
                for network in networks.values()
                if 'ipv6' in network
        ],
    }