1. A method for enforcing a policy associated with a virtual appliance, the method comprising: receiving a virtual appliance event request; receiving first data about the virtual appliance in response to receiving the virtual appliance event request, wherein the first data about the virtual appliance was extracted prior to initiating the virtual appliance and prior to receiving the virtual appliance event request, and the first data was stored prior to receiving the virtual appliance event request for later processing after receiving the virtual appliance event request; receiving second different data from an environment outside the virtual appliance in response to receiving the virtual appliance event request; determining whether an internal non-compliance by the virtual appliance of a first policy-based compliance scheme exists based on the first data that was stored prior to receiving the virtual appliance event request; determining whether an external non-compliance by the virtual appliance as provided in the environment of a second different policy-based compliance scheme exists based on the second different data; and in response to determining that at least one of the internal non-compliance and the external non-compliance exists, at least one of denying the virtual appliance event request, providing a notification of non-compliance, adapting the virtual appliance, and adapting the environment.