As we all know, Brooklyn uses jclouds to support many different cloud providers.
jclouds allows some clouds to offer features specific to their own clouds, by creating a cloud-specific subclass of TemplateOptions and adding their own methods to set feature properties. Brooklyn allows setting certain TemplateOptions in blueprints, from a fixed set[1]. This has the disadvantage that arbitrary cloud-specific features cannot be used by Brooklyn or by blueprints. I would like to propose a feature that allows arbitrary TemplateOptions to be set from a blueprint (or from brooklyn.properties). I am currently considering the options, but I plan to investigate using reflection to be able to call arbitrary single-parameter property setters on the TemplateOptions instance. Any comments on this proposal? Thanks Richard. [1]https://github.com/apache/incubator-brooklyn/blob/e86bdcb220d3443f08cb89dd215d4b7262de5c30/locations/jclouds/src/main/java/brooklyn/location/jclouds/JcloudsLocation.java#L875-875