ResourcePool_ResourceAllocationCreateSpec
The ResourcePool.ResourceAllocationCreateSpec structure contains resource allocation information used to create a resource pool, see ResourcePool.create.
{
"reservation": 0,
"expandable_reservation": false,
"limit": 0,
"shares": {
"level": "string",
"shares": 0
}
}
Amount of resource that is guaranteed available to a resource pool. Reserved resources are not wasted if they are not used. If the utilization is less than the reservation, the resources can be utilized by other running virtual machines. Units are MB fo memory, and MHz for CPU. If unset or empty, ResourcePool.ResourceAllocationCreateSpec.reservation will be set to 0.
In a resource pool with an expandable reservation, the reservation can grow beyond the specified value, if the parent resource pool has unreserved resources. A non-expandable reservation is called a fixed reservation. If unset or empty, ResourcePool.ResourceAllocationCreateSpec.expandable-reservation will be set to true.
The utilization of a resource pool will not exceed this limit, even if there are available resources. This is typically used to ensure a consistent performance of resource pools independent of available resources. If set to -1, then there is no fixed limit on resource usage (only bounded by available resources and shares). Units are MB for memory, and MHz for CPU. If unset or empty, ResourcePool.ResourceAllocationCreateSpec.limit will be set to -1.
The ResourcePool.SharesInfo structure provides specification of shares. Shares are used to determine relative allocation between resource consumers. In general, a consumer with more shares gets proportionally more of the resource, subject to certain other constraints.