--- /dev/null
+// Copyright (c) 2009 DMTF. All rights reserved.
+ [Version ( "2.22.0" ),
+ UMLPackagePath ( "CIM::Core::Resource" ),
+ Description (
+ "A ResourcePool is a logical entity (with associated "
+ "controls)provided by the host system for the purpose of "
+ "allocation and assignment of resources. A given ResourcePool "
+ "may be used to allocate resources of a specific type. "
+ "Hierarchies of ResourcePools may be created to provide "
+ "administrative control over allocations. In the cases where "
+ "resources are subdivided, multiple resource pools may exist "
+ "(e.g. nodal boundaries in NUMA-like systems). In systems that "
+ "support over commitment, pools represent the reservable "
+ "capacity, not an upper bound or limit on the maximum amount "
+ "that can be allocated. Admission control during power on may "
+ "detect and prevent systems from powering due to resource "
+ "exhaustion. For example, over commitment on a ResourcePool "
+ "with ResourceType=Memory would require that sufficient space "
+ "be available in some backing-store, that may be managed "
+ "through a storage ResourcePool." )]
+class CIM_ResourcePool : CIM_LogicalElement {
+
+ [Key, Override ( "InstanceID" ),
+ Description (
+ "Within the scope of the instantiating Namespace, "
+ "InstanceID opaquely and uniquely identifies an instance "
+ "of this class. To ensure uniqueness within the "
+ "NameSpace, the value of InstanceID should be constructed "
+ "using the following \"preferred\" algorithm: \n"
+ "<OrgID>:<LocalID> \n"
+ "Where <OrgID> and <LocalID> are separated by a colon "
+ "(:), and where <OrgID> must include a copyrighted, "
+ "trademarked, or otherwise unique name that is owned by "
+ "the business entity that is creating or defining the "
+ "InstanceID or that is a registered ID assigned to the "
+ "business entity by a recognized global authority. (This "
+ "requirement is similar to the <Schema Name>_<Class Name> "
+ "structure of Schema class names.) In addition, to ensure "
+ "uniqueness, <OrgID> must not contain a colon (:). When "
+ "using this algorithm, the first colon to appear in "
+ "InstanceID must appear between <OrgID> and <LocalID>. \n"
+ "<LocalID> is chosen by the business entity and should "
+ "not be reused to identify different underlying "
+ "(real-world) elements. If the above \"preferred\" "
+ "algorithm is not used, the defining entity must ensure "
+ "that the resulting InstanceID is not reused across any "
+ "InstanceIDs produced by this or other providers for the "
+ "NameSpace of this instance. \n"
+ "For DMTF-defined instances, the \"preferred\" algorithm "
+ "must be used with the <OrgID> set to CIM." )]
+ string InstanceID;
+
+ [Description (
+ "An opaque identifier for the pool. This property is used "
+ "to provide correlation across save and restore of "
+ "configuration data to underlying persistent storage." ),
+ ModelCorrespondence {
+ "CIM_ResourceAllocationSettingData.PoolId" }]
+ string PoolID;
+
+ [Description (
+ "If true, \"Primordial\" indicates that this ResourcePool "
+ "is a base from which resources are drawn and returned in "
+ "the activity of resource management. Being primordial "
+ "means that this ResourcePool shall not be created or "
+ "deleted by consumers of this model. However, other "
+ "actions, modeled or not, may affect the characteristics "
+ "or size of primordial ResourcePools. If false, "
+ "\"Primordial\" indicates that the ResourcePool, a "
+ "concrete Resource Pool, is subject to resource "
+ "allocation services functions. This distinction is "
+ "important because higher-level ResourcePools may be "
+ "assembled using the Component or "
+ "ElementAllocatedFromPool associations. Although the "
+ "higher-level abstractions can be created and deleted, "
+ "the most basic, (i.e. primordial), hardware-based "
+ "ResourcePools cannot. They are physically realized as "
+ "part of the System, or are actually managed by some "
+ "other System and imported as if they were physically "
+ "realized." )]
+ boolean Primordial = false;
+
+ [Description (
+ "This property represents the maximum amount (in units of "
+ "AllocationUnits) of reservations that the ResourcePool "
+ "can support." )]
+ uint64 Capacity;
+
+ [Description (
+ "This property represents the current reservations (in "
+ "units of AllocationUnits) spread across all active "
+ "allocations from this pool. In a hierarchical "
+ "configuration, this represents the sum of all descendant "
+ "ResourcePool current reservations." )]
+ uint64 Reserved;
+
+ [Description (
+ "The type of resource this ResourcePool may allocate." ),
+ ValueMap { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10",
+ "11", "12", "13", "14", "15", "16", "17", "18", "19",
+ "20", "21", "22", "23", "24", "25", "26", "27", "28",
+ "29", "30", "31", "32", "33", "..", "0x8000..0xFFFF" },
+ Values { "Other", "Computer System", "Processor", "Memory",
+ "IDE Controller", "Parallel SCSI HBA", "FC HBA",
+ "iSCSI HBA", "IB HCA", "Ethernet Adapter",
+ "Other Network Adapter", "I/O Slot", "I/O Device",
+ "Floppy Drive", "CD Drive", "DVD drive", "Disk Drive",
+ "Tape Drive", "Storage Extent", "Other storage device",
+ "Serial port", "Parallel port", "USB Controller",
+ "Graphics controller", "IEEE 1394 Controller",
+ "Partitionable Unit", "Base Partitionable Unit", "Power",
+ "Cooling Capacity", "Ethernet Switch Port",
+ "Logical Disk", "Storage Volume", "Ethernet Connection",
+ "DMTF reserved", "Vendor Reserved" },
+ ModelCorrespondence { "CIM_ResourcePool.OtherResourceType",
+ "CIM_ResourcePool.ResourceSubType" }]
+ uint16 ResourceType;
+
+ [Description (
+ "A string that describes the resource type when a well "
+ "defined value is not available and ResourceType is set "
+ "to 0 for Other." ),
+ ModelCorrespondence { "CIM_ResourcePool.ResourceType" }]
+ string OtherResourceType;
+
+ [Description (
+ "A string describing an implementation specific sub-type "
+ "for this pool. For example, this may be used to "
+ "distinguish different models of the same resource type." ),
+ ModelCorrespondence { "CIM_ResourcePool.ResourceType" }]
+ string ResourceSubType;
+
+ [Description (
+ "This property specifies the units of allocation used by "
+ "the Reservation and Limit properties. For example, when "
+ "ResourceType=Processor, AllocationUnits may be set to "
+ "hertz*10^6 or percent. When ResourceType=Memory, "
+ "AllocationUnits may be set to bytes*10^3. The value of "
+ "this property shall be a legal value of the Programmatic "
+ "Units qualifier as defined in Appendix C.1 of DSP0004 "
+ "V2.4 or later." ),
+ IsPUnit]
+ string AllocationUnits;
+
+ [Description (
+ "This property specifies the units for the MaxConsumable "
+ "and the Consumed properties." ),
+ ModelCorrespondence {
+ "CIM_ResourcePool.MaxConsumableResource",
+ "CIM_ResourcePool.CurrentlyConsumedResource" },
+ IsPUnit]
+ string ConsumedResourceUnits = "count";
+
+ [Description (
+ "This property specifies the amount of resource that the "
+ "resource pool currently presents to consumers.\n"
+ "This property is different from the Reserved property in "
+ "that it describes the consumers view of the resource "
+ "while the Reserved property describes the producers view "
+ "of the resource." ),
+ ModelCorrespondence { "CIM_ResourcePool.ConsumedResourceUnits" }]
+ uint64 CurrentlyConsumedResource;
+
+ [Description (
+ "This property specifies the maximum of amount of "
+ "consumable resource that the resource pool can present "
+ "to consumers.\n"
+ "This property is different from the Capacity property in "
+ "that it describes the consumers view of the resource "
+ "while the Capacity property describes the producers view "
+ "of the resource." ),
+ ModelCorrespondence { "CIM_ResourcePool.ConsumedResourceUnits" }]
+ uint64 MaxConsumableResource;
+
+
+};