To clarify... the Container instance is what's matched against and it will contain attributes as well as metrics. We will need to decide what the root object is for the SpEL evaluation. Currently it's the attribs map. It could be a merged map of attribs + metrics (assuming no key overlap) which would be convenient (e.g. "groups.contains('foo') && freemem > 128000000"), or it could be the Container instance, which would require using attribs.key and metrics.key within the expressions.