CASSANDRA-7622 adds virtual keyspaces and tables, that are readable but not modifiable by the client.
Expose the new objects from system_virtual_schema in the driver metadata. Virtual keyspaces and tables don't have exactly the same fields as their regular counterparts, so I think it's better to create separate types (Virtual[Keyspace|Table]Metadata). Virtual columns are identical, so we could reuse ColumnMetadata.
Virtual objects can't be created via CQLSH. The best route for asCqlQuery is probably to return an empty string. See also a few follow-up items on DESCRIBE in CASSANDRA-14512.