code: def _ExtractInterfaceMetadata(self, metadata):
      
      interfaces = []
      for network_interface in metadata:
        mac_address = network_interface.get('mac')
        interface = self.network_utils.GetNetworkInterface(mac_address)
        ip_addresses = []
        if interface:
          ip_addresses.extend(network_interface.get('forwardedIps', []))
          if self.ip_aliases:
            ip_addresses.extend(network_interface.get('ipAliases', []))
          if self.target_instance_ips:
            ip_addresses.extend(network_interface.get('targetInstanceIps', []))
          interfaces.append(NetworkDaemon.NetworkInterface(
              interface, ip_addresses, network_interface.get('ip', [])))
        else:
          message = 'Network interface not found for MAC address: %s.'
          self.logger.warning(message, mac_address)
      return interfaces
docs: Extracts network interface metadata.
  
      Args:
        metadata: dict, the metadata response with the new network interfaces.
  
      Returns:
        list, a list of NetworkInterface objects.