The parameters to ssh::hostkeys and ssh::knownhosts make no references to the ssh::server and ssh::client classes and that would be better if it were the default. This way the classes and parameters can be wrapped properly via a profile.
There probably is no reason to collect the knownhosts values on the server, it should only be the client.
Additionally, the parameter ssh::knownhosts::collect_enabled is self referencing in the ssh::knownhosts class.