A method for use in a capacity manager module implemented by a computing device for accurately determining available capacity in a virtualized resource infrastructure where one or more capacity managers are configured to manage one or more capacity provider modules providing resources to capacity consumers wherein each capacity provider module provides a plurality of capacity entity types, the method comprising: decomposing, by the capacity manager module, in one of the capacity provider modules each capacity entity type of the plurality of capacity entity types available for provisioning in the virtualized resource infrastructure into a plurality of independent entity types provided by the one or more capacity provider modules, wherein each of the plurality of capacity entity types, when executed as an instance, utilizes one or more of the plurality of independent entity types, and different capacity entity types use the same independent entity type, wherein each of the plurality of independent entity types do not depend upon others of the plurality of independent entity types; determining, by the capacity manager module, requirement data that includes, for each of the plurality of capacity entity types, a required amount of each of the corresponding plurality of independent entity types needed to provide the capacity entity types; receiving, from each of the one or more capacity provider modules, capacity messages including current availability information associated with those of the plurality of independent entity types provided by the capacity provider module, wherein the current availability information indicates amounts of those of the plurality of independent entity types that are able to be allocated or amounts of those of the plurality of independent entity types that are already allocated; and providing, by the capacity manager module, virtualized resource infrastructure availability information to the capacity consumer, wherein the virtualized resource infrastructure availability information describes at least some of the plurality of capacity entity types and is generated based upon the current availability information and the determined requirement data. decomposing, by the capacity manager module, in one of the capacity provider modules each capacity entity type of the plurality of capacity entity types available for provisioning in the virtualized resource infrastructure into a plurality of independent entity types provided by the one or more capacity provider modules, wherein each of the plurality of capacity entity types, when executed as an instance, utilizes one or more of the plurality of independent entity types, and different capacity entity types use the same independent entity type, wherein each of the plurality of independent entity types do not depend upon others of the plurality of independent entity types; determining, by the capacity manager module, requirement data that includes, for each of the plurality of capacity entity types, a required amount of each of the corresponding plurality of independent entity types needed to provide the capacity entity types; receiving, from each of the one or more capacity provider modules, capacity messages including current availability information associated with those of the plurality of independent entity types provided by the capacity provider module, wherein the current availability information indicates amounts of those of the plurality of independent entity types that are able to be allocated or amounts of those of the plurality of independent entity types that are already allocated; and providing, by the capacity manager module, virtualized resource infrastructure availability information to the capacity consumer, wherein the virtualized resource infrastructure availability information describes at least some of the plurality of capacity entity types and is generated based upon the current availability information and the determined requirement data.