1. A method for deploying an application, the method comprising: receiving a deployment plan comprising a nested object having a plurality of levels, wherein the nested object comprises at least one level selected from the group of levels representing a deployment plan, a deployment environment, and a cloud computing environment; for each level, retrieving a policy having a domain object that matches a current level of the nested object and determining a next level of the nested object until no next level exists, wherein the one or more retrieved policies comprises a script accessing information about the deployment plan from the nested object, wherein the nested objected is a data structure of a first programming language exposed to the policy that is written in a second programming language; determining compliance of the deployment plan to the one or more retrieved policies; and executing, by a computer processor, the deployment plan to deploy the application in a cloud environment responsive to determining compliance.