This document discusses using Puppet and infrastructure as code to manage Apache CloudStack infrastructure. It introduces the cloudstack_resources Puppet module which allows defining CloudStack instances and entire application stacks in Puppet manifests. This enables treating infrastructure like code where Puppet can deploy and configure entire environments on CloudStack. Examples are given of classifying servers and deploying a Hadoop cluster with a single Puppet resource definition. Links are provided to resources for using Puppet with CloudStack and videos that further explain the concepts.