1. A method of monitoring and enforcing of policy for a network virtualization platform of a data center by using a multi-layer policy enforcement framework, the method comprising: at a top layer of the multi-layer policy enforcement framework, receiving a definition of a policy template for a set of data center resources as a desired state of the policy; at the top layer of the multi-layer policy enforcement framework, instantiating a set of policy instances from the policy template as desired states of the policy at the top layer; sending the policy instances from the top layer to a set of intermediate layers of the multi-layer policy enforcement framework as desired states at the intermediate layers; at each particular intermediate layer of the policy enforcement framework, (i) receiving, from a higher layer, a policy instance as a desired state of the policy at the intermediate layer, (ii) receiving a realized state of the policy at the particular intermediate state from a set of policy enforcement controllers, the realized state generated by the set of controllers based on said desired state received at the intermediate layer, the realized state at the particular intermediate state comprising a set of rules generated at the particular intermediate layer by the set of controllers, and (iii) sending at least a portion of the generated realized state to a next lower state as a desired state; and at a lowest layer of the multi-layer policy enforcement framework, (i) receiving, from a higher layer, a policy instance as a desired state of the policy at the lowest layer, (ii) receiving a realized state of the policy at the lowest layer from a set of policy enforcement agents, the realized state generated at the lowest layer by the set of agents based on the desired state at the lowest layer, the realized state at the lowest layer comprising a set of rules used to enforce the policy, and (iii) enforcing the set of rules of the realized state at the lowest layer.