1. A method for creating a virtual resource package, the method comprising: capturing, by one or more processors, metadata related to at least one machine, wherein said at least one machine includes at least one of a physical machine and a virtual machine; generating, by one or more processors, a constraint definition describing a configuration constraint of the at least one machine based on the captured metadata, wherein the configuration constraint limits a quantity of custom nodes that are permitted to be connected to an application server, and wherein the configuration constraint further limits a quantity of ports on a database that are permitted to be connected to the application server; packaging, by one or more processors, a disk image file of the at least one machine, the captured metadata and the generated constraint definition to generate the virtual resource package; converting, by one or more processors, the captured metadata related to the at least one machine into a plurality of data files; aggregating, by one or more processors, the plurality of data files into a context model file; and organizing, by one or more processors, the plurality of data files into at least three categories, wherein a first category is for data files related to software used by the at least one machine, wherein a second category is for the software used by the at least one machine, and wherein a third category is for hardware used by the at least one machine.