Java Blueprints
Java blueprints are much more powerful than YAML but is also rather more difficult. Advanced Java skills are required.
Brooklyn makes it easy to describe the structure and management of sophisticated distributed applications, and then it makes it easy to launch them in a cloud, with on-going automated management.