1. A method for enforcing a policy associated with a virtual machine, the method comprising: receiving a virtual machine event request; receiving first data from within the virtual machine in response to receiving the virtual machine event request; receiving second different data from an environment outside the virtual machine in response to receiving the virtual machine event request; detecting internal non-compliance by the virtual machine of a first policy-based compliance scheme based on the first data; detecting external non-compliance by the virtual machine as provided in the environment of a second different policy-based compliance scheme based on the second different data; adapting the virtual machine to comply with the first policy-based compliance scheme by manipulating the virtual machine; adapting the environment to comply with the second policy-based compliance scheme; and processing the virtual machine event request after adapting (i) the virtual machine and (ii) the environment.