Best approach to create AWS VPC, NAT, EC2 instances using chef

SparkleFormation looked promising as it is truly programable, but it suffers even more than Chef Provisioning from not having critical mass and not enough eyes to find/fix bugs.

Critical mass no, but I've had very quick responses from those in the #sparkleformation irc on freenode.

To be clear, SparleFormation is neither AWS nor CloudFormation dependent. It provides a DSL and a cli tool, sfn, to work with cloud provider orchestration templates. It can generate equally Cloudformation, Heat, Azure Resource Manager or others. If you desire programmability and wish to avoid spending your time hunting down missing commas in a serialization format like json, then you might like it.

It pairs nicely with Chef since the DSL is still ruby based.