For one, these are now showing up in pool JSON responses, which is duplicated data.

More generally though I don't think it's a good idea to expose this kind of logic off the Pool model object. We try to reference the attributes as little as possible in pure java. If we do end up pushing akeys to rules, this will easily get left behind and referenced in there, which is bad.

It's also probably only a matter of time before someone new comes along and assumes we add getters for all these dynamic attributes.

I would propose move all this logic about host restriction, including the new field on ActivationKey, to the ActivationKeyResource itself. This is a logic decision rather than a model one, it seems like it should go there where it's more easily picked up if we do refactor to rules.