1. Packages
  2. vSphere
  3. API Docs
  4. ResourcePool
vSphere v4.10.0 published on Tuesday, Mar 12, 2024 by Pulumi

vsphere.ResourcePool

Explore with Pulumi AI

vsphere logo
vSphere v4.10.0 published on Tuesday, Mar 12, 2024 by Pulumi

    The vsphere.ResourcePool resource can be used to create and manage resource pools on DRS-enabled vSphere clusters or standalone ESXi hosts.

    For more information on vSphere resource pools, please refer to the product documentation.

    Example Usage

    The following example sets up a resource pool in an existing compute cluster with the default settings for CPU and memory reservations, shares, and limits.

    import * as pulumi from "@pulumi/pulumi";
    import * as vsphere from "@pulumi/vsphere";
    
    const datacenter = vsphere.getDatacenter({
        name: "dc-01",
    });
    const computeCluster = datacenter.then(datacenter => vsphere.getComputeCluster({
        name: "cluster-01",
        datacenterId: datacenter.id,
    }));
    const resourcePool = new vsphere.ResourcePool("resourcePool", {parentResourcePoolId: computeCluster.then(computeCluster => computeCluster.resourcePoolId)});
    
    import pulumi
    import pulumi_vsphere as vsphere
    
    datacenter = vsphere.get_datacenter(name="dc-01")
    compute_cluster = vsphere.get_compute_cluster(name="cluster-01",
        datacenter_id=datacenter.id)
    resource_pool = vsphere.ResourcePool("resourcePool", parent_resource_pool_id=compute_cluster.resource_pool_id)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-vsphere/sdk/v4/go/vsphere"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		datacenter, err := vsphere.LookupDatacenter(ctx, &vsphere.LookupDatacenterArgs{
    			Name: pulumi.StringRef("dc-01"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		computeCluster, err := vsphere.LookupComputeCluster(ctx, &vsphere.LookupComputeClusterArgs{
    			Name:         "cluster-01",
    			DatacenterId: pulumi.StringRef(datacenter.Id),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = vsphere.NewResourcePool(ctx, "resourcePool", &vsphere.ResourcePoolArgs{
    			ParentResourcePoolId: *pulumi.String(computeCluster.ResourcePoolId),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using VSphere = Pulumi.VSphere;
    
    return await Deployment.RunAsync(() => 
    {
        var datacenter = VSphere.GetDatacenter.Invoke(new()
        {
            Name = "dc-01",
        });
    
        var computeCluster = VSphere.GetComputeCluster.Invoke(new()
        {
            Name = "cluster-01",
            DatacenterId = datacenter.Apply(getDatacenterResult => getDatacenterResult.Id),
        });
    
        var resourcePool = new VSphere.ResourcePool("resourcePool", new()
        {
            ParentResourcePoolId = computeCluster.Apply(getComputeClusterResult => getComputeClusterResult.ResourcePoolId),
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.vsphere.VsphereFunctions;
    import com.pulumi.vsphere.inputs.GetDatacenterArgs;
    import com.pulumi.vsphere.inputs.GetComputeClusterArgs;
    import com.pulumi.vsphere.ResourcePool;
    import com.pulumi.vsphere.ResourcePoolArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            final var datacenter = VsphereFunctions.getDatacenter(GetDatacenterArgs.builder()
                .name("dc-01")
                .build());
    
            final var computeCluster = VsphereFunctions.getComputeCluster(GetComputeClusterArgs.builder()
                .name("cluster-01")
                .datacenterId(datacenter.applyValue(getDatacenterResult -> getDatacenterResult.id()))
                .build());
    
            var resourcePool = new ResourcePool("resourcePool", ResourcePoolArgs.builder()        
                .parentResourcePoolId(computeCluster.applyValue(getComputeClusterResult -> getComputeClusterResult.resourcePoolId()))
                .build());
    
        }
    }
    
    resources:
      resourcePool:
        type: vsphere:ResourcePool
        properties:
          parentResourcePoolId: ${computeCluster.resourcePoolId}
    variables:
      datacenter:
        fn::invoke:
          Function: vsphere:getDatacenter
          Arguments:
            name: dc-01
      computeCluster:
        fn::invoke:
          Function: vsphere:getComputeCluster
          Arguments:
            name: cluster-01
            datacenterId: ${datacenter.id}
    

    A virtual machine resource could be targeted to use the default resource pool of the cluster using the following:

    import * as pulumi from "@pulumi/pulumi";
    import * as vsphere from "@pulumi/vsphere";
    
    const vm = new vsphere.VirtualMachine("vm", {resourcePoolId: data.vsphere_compute_cluster.cluster.resource_pool_id});
    // ... other configuration ...
    
    import pulumi
    import pulumi_vsphere as vsphere
    
    vm = vsphere.VirtualMachine("vm", resource_pool_id=data["vsphere_compute_cluster"]["cluster"]["resource_pool_id"])
    # ... other configuration ...
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-vsphere/sdk/v4/go/vsphere"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := vsphere.NewVirtualMachine(ctx, "vm", &vsphere.VirtualMachineArgs{
    			ResourcePoolId: pulumi.Any(data.Vsphere_compute_cluster.Cluster.Resource_pool_id),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using VSphere = Pulumi.VSphere;
    
    return await Deployment.RunAsync(() => 
    {
        var vm = new VSphere.VirtualMachine("vm", new()
        {
            ResourcePoolId = data.Vsphere_compute_cluster.Cluster.Resource_pool_id,
        });
    
        // ... other configuration ...
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.vsphere.VirtualMachine;
    import com.pulumi.vsphere.VirtualMachineArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var vm = new VirtualMachine("vm", VirtualMachineArgs.builder()        
                .resourcePoolId(data.vsphere_compute_cluster().cluster().resource_pool_id())
                .build());
    
        }
    }
    
    resources:
      vm:
        type: vsphere:VirtualMachine
        properties:
          # ... other configuration ...
          resourcePoolId: ${data.vsphere_compute_cluster.cluster.resource_pool_id}
    

    The following example sets up a parent resource pool in an existing compute cluster with a child resource pool nested below. Each resource pool is configured with the default settings for CPU and memory reservations, shares, and limits.

    import * as pulumi from "@pulumi/pulumi";
    import * as vsphere from "@pulumi/vsphere";
    
    const datacenter = vsphere.getDatacenter({
        name: "dc-01",
    });
    const computeCluster = datacenter.then(datacenter => vsphere.getComputeCluster({
        name: "cluster-01",
        datacenterId: datacenter.id,
    }));
    const resourcePoolParent = new vsphere.ResourcePool("resourcePoolParent", {parentResourcePoolId: computeCluster.then(computeCluster => computeCluster.resourcePoolId)});
    const resourcePoolChild = new vsphere.ResourcePool("resourcePoolChild", {parentResourcePoolId: resourcePoolParent.id});
    
    import pulumi
    import pulumi_vsphere as vsphere
    
    datacenter = vsphere.get_datacenter(name="dc-01")
    compute_cluster = vsphere.get_compute_cluster(name="cluster-01",
        datacenter_id=datacenter.id)
    resource_pool_parent = vsphere.ResourcePool("resourcePoolParent", parent_resource_pool_id=compute_cluster.resource_pool_id)
    resource_pool_child = vsphere.ResourcePool("resourcePoolChild", parent_resource_pool_id=resource_pool_parent.id)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-vsphere/sdk/v4/go/vsphere"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		datacenter, err := vsphere.LookupDatacenter(ctx, &vsphere.LookupDatacenterArgs{
    			Name: pulumi.StringRef("dc-01"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		computeCluster, err := vsphere.LookupComputeCluster(ctx, &vsphere.LookupComputeClusterArgs{
    			Name:         "cluster-01",
    			DatacenterId: pulumi.StringRef(datacenter.Id),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		resourcePoolParent, err := vsphere.NewResourcePool(ctx, "resourcePoolParent", &vsphere.ResourcePoolArgs{
    			ParentResourcePoolId: *pulumi.String(computeCluster.ResourcePoolId),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = vsphere.NewResourcePool(ctx, "resourcePoolChild", &vsphere.ResourcePoolArgs{
    			ParentResourcePoolId: resourcePoolParent.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using VSphere = Pulumi.VSphere;
    
    return await Deployment.RunAsync(() => 
    {
        var datacenter = VSphere.GetDatacenter.Invoke(new()
        {
            Name = "dc-01",
        });
    
        var computeCluster = VSphere.GetComputeCluster.Invoke(new()
        {
            Name = "cluster-01",
            DatacenterId = datacenter.Apply(getDatacenterResult => getDatacenterResult.Id),
        });
    
        var resourcePoolParent = new VSphere.ResourcePool("resourcePoolParent", new()
        {
            ParentResourcePoolId = computeCluster.Apply(getComputeClusterResult => getComputeClusterResult.ResourcePoolId),
        });
    
        var resourcePoolChild = new VSphere.ResourcePool("resourcePoolChild", new()
        {
            ParentResourcePoolId = resourcePoolParent.Id,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.vsphere.VsphereFunctions;
    import com.pulumi.vsphere.inputs.GetDatacenterArgs;
    import com.pulumi.vsphere.inputs.GetComputeClusterArgs;
    import com.pulumi.vsphere.ResourcePool;
    import com.pulumi.vsphere.ResourcePoolArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            final var datacenter = VsphereFunctions.getDatacenter(GetDatacenterArgs.builder()
                .name("dc-01")
                .build());
    
            final var computeCluster = VsphereFunctions.getComputeCluster(GetComputeClusterArgs.builder()
                .name("cluster-01")
                .datacenterId(datacenter.applyValue(getDatacenterResult -> getDatacenterResult.id()))
                .build());
    
            var resourcePoolParent = new ResourcePool("resourcePoolParent", ResourcePoolArgs.builder()        
                .parentResourcePoolId(computeCluster.applyValue(getComputeClusterResult -> getComputeClusterResult.resourcePoolId()))
                .build());
    
            var resourcePoolChild = new ResourcePool("resourcePoolChild", ResourcePoolArgs.builder()        
                .parentResourcePoolId(resourcePoolParent.id())
                .build());
    
        }
    }
    
    resources:
      resourcePoolParent:
        type: vsphere:ResourcePool
        properties:
          parentResourcePoolId: ${computeCluster.resourcePoolId}
      resourcePoolChild:
        type: vsphere:ResourcePool
        properties:
          parentResourcePoolId: ${resourcePoolParent.id}
    variables:
      datacenter:
        fn::invoke:
          Function: vsphere:getDatacenter
          Arguments:
            name: dc-01
      computeCluster:
        fn::invoke:
          Function: vsphere:getComputeCluster
          Arguments:
            name: cluster-01
            datacenterId: ${datacenter.id}
    

    Create ResourcePool Resource

    new ResourcePool(name: string, args: ResourcePoolArgs, opts?: CustomResourceOptions);
    @overload
    def ResourcePool(resource_name: str,
                     opts: Optional[ResourceOptions] = None,
                     cpu_expandable: Optional[bool] = None,
                     cpu_limit: Optional[int] = None,
                     cpu_reservation: Optional[int] = None,
                     cpu_share_level: Optional[str] = None,
                     cpu_shares: Optional[int] = None,
                     custom_attributes: Optional[Mapping[str, str]] = None,
                     memory_expandable: Optional[bool] = None,
                     memory_limit: Optional[int] = None,
                     memory_reservation: Optional[int] = None,
                     memory_share_level: Optional[str] = None,
                     memory_shares: Optional[int] = None,
                     name: Optional[str] = None,
                     parent_resource_pool_id: Optional[str] = None,
                     scale_descendants_shares: Optional[str] = None,
                     tags: Optional[Sequence[str]] = None)
    @overload
    def ResourcePool(resource_name: str,
                     args: ResourcePoolArgs,
                     opts: Optional[ResourceOptions] = None)
    func NewResourcePool(ctx *Context, name string, args ResourcePoolArgs, opts ...ResourceOption) (*ResourcePool, error)
    public ResourcePool(string name, ResourcePoolArgs args, CustomResourceOptions? opts = null)
    public ResourcePool(String name, ResourcePoolArgs args)
    public ResourcePool(String name, ResourcePoolArgs args, CustomResourceOptions options)
    
    type: vsphere:ResourcePool
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    name string
    The unique name of the resource.
    args ResourcePoolArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args ResourcePoolArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args ResourcePoolArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ResourcePoolArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ResourcePoolArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    ResourcePool Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The ResourcePool resource accepts the following input properties:

    ParentResourcePoolId string
    The managed object ID of the parent resource pool. This can be the root resource pool for a cluster or standalone host, or a resource pool itself. When moving a resource pool from one parent resource pool to another, both must share a common root resource pool.
    CpuExpandable bool
    Determines if the reservation on a resource pool can grow beyond the specified value if the parent resource pool has unreserved resources. Default: true
    CpuLimit int
    The CPU utilization of a resource pool will not exceed this limit, even if there are available resources. Set to -1 for unlimited. Default: -1
    CpuReservation int
    Amount of CPU (MHz) that is guaranteed available to the resource pool. Default: 0
    CpuShareLevel string
    The CPU allocation level. The level is a simplified view of shares. Levels map to a pre-determined set of numeric values for shares. Can be one of low, normal, high, or custom. When low, normal, or high are specified values in cpu_shares will be ignored. Default: normal
    CpuShares int
    The number of shares allocated for CPU. Used to determine resource allocation in case of resource contention. If this is set, cpu_share_level must be custom.
    CustomAttributes Dictionary<string, string>
    A list of custom attributes to set on this resource.
    MemoryExpandable bool
    Determines if the reservation on a resource pool can grow beyond the specified value if the parent resource pool has unreserved resources. Default: true
    MemoryLimit int
    The CPU utilization of a resource pool will not exceed this limit, even if there are available resources. Set to -1 for unlimited. Default: -1
    MemoryReservation int
    Amount of CPU (MHz) that is guaranteed available to the resource pool. Default: 0
    MemoryShareLevel string
    The CPU allocation level. The level is a simplified view of shares. Levels map to a pre-determined set of numeric values for shares. Can be one of low, normal, high, or custom. When low, normal, or high are specified values in memory_shares will be ignored. Default: normal
    MemoryShares int
    The number of shares allocated for CPU. Used to determine resource allocation in case of resource contention. If this is set, memory_share_level must be custom.
    Name string
    The name of the resource pool.
    ScaleDescendantsShares string
    Determines if the shares of all descendants of the resource pool are scaled up or down when the shares of the resource pool are scaled up or down. Can be one of disabled or scaleCpuAndMemoryShares. Default: disabled.
    Tags List<string>
    The IDs of any tags to attach to this resource.
    ParentResourcePoolId string
    The managed object ID of the parent resource pool. This can be the root resource pool for a cluster or standalone host, or a resource pool itself. When moving a resource pool from one parent resource pool to another, both must share a common root resource pool.
    CpuExpandable bool
    Determines if the reservation on a resource pool can grow beyond the specified value if the parent resource pool has unreserved resources. Default: true
    CpuLimit int
    The CPU utilization of a resource pool will not exceed this limit, even if there are available resources. Set to -1 for unlimited. Default: -1
    CpuReservation int
    Amount of CPU (MHz) that is guaranteed available to the resource pool. Default: 0
    CpuShareLevel string
    The CPU allocation level. The level is a simplified view of shares. Levels map to a pre-determined set of numeric values for shares. Can be one of low, normal, high, or custom. When low, normal, or high are specified values in cpu_shares will be ignored. Default: normal
    CpuShares int
    The number of shares allocated for CPU. Used to determine resource allocation in case of resource contention. If this is set, cpu_share_level must be custom.
    CustomAttributes map[string]string
    A list of custom attributes to set on this resource.
    MemoryExpandable bool
    Determines if the reservation on a resource pool can grow beyond the specified value if the parent resource pool has unreserved resources. Default: true
    MemoryLimit int
    The CPU utilization of a resource pool will not exceed this limit, even if there are available resources. Set to -1 for unlimited. Default: -1
    MemoryReservation int
    Amount of CPU (MHz) that is guaranteed available to the resource pool. Default: 0
    MemoryShareLevel string
    The CPU allocation level. The level is a simplified view of shares. Levels map to a pre-determined set of numeric values for shares. Can be one of low, normal, high, or custom. When low, normal, or high are specified values in memory_shares will be ignored. Default: normal
    MemoryShares int
    The number of shares allocated for CPU. Used to determine resource allocation in case of resource contention. If this is set, memory_share_level must be custom.
    Name string
    The name of the resource pool.
    ScaleDescendantsShares string
    Determines if the shares of all descendants of the resource pool are scaled up or down when the shares of the resource pool are scaled up or down. Can be one of disabled or scaleCpuAndMemoryShares. Default: disabled.
    Tags []string
    The IDs of any tags to attach to this resource.
    parentResourcePoolId String
    The managed object ID of the parent resource pool. This can be the root resource pool for a cluster or standalone host, or a resource pool itself. When moving a resource pool from one parent resource pool to another, both must share a common root resource pool.
    cpuExpandable Boolean
    Determines if the reservation on a resource pool can grow beyond the specified value if the parent resource pool has unreserved resources. Default: true
    cpuLimit Integer
    The CPU utilization of a resource pool will not exceed this limit, even if there are available resources. Set to -1 for unlimited. Default: -1
    cpuReservation Integer
    Amount of CPU (MHz) that is guaranteed available to the resource pool. Default: 0
    cpuShareLevel String
    The CPU allocation level. The level is a simplified view of shares. Levels map to a pre-determined set of numeric values for shares. Can be one of low, normal, high, or custom. When low, normal, or high are specified values in cpu_shares will be ignored. Default: normal
    cpuShares Integer
    The number of shares allocated for CPU. Used to determine resource allocation in case of resource contention. If this is set, cpu_share_level must be custom.
    customAttributes Map<String,String>
    A list of custom attributes to set on this resource.
    memoryExpandable Boolean
    Determines if the reservation on a resource pool can grow beyond the specified value if the parent resource pool has unreserved resources. Default: true
    memoryLimit Integer
    The CPU utilization of a resource pool will not exceed this limit, even if there are available resources. Set to -1 for unlimited. Default: -1
    memoryReservation Integer
    Amount of CPU (MHz) that is guaranteed available to the resource pool. Default: 0
    memoryShareLevel String
    The CPU allocation level. The level is a simplified view of shares. Levels map to a pre-determined set of numeric values for shares. Can be one of low, normal, high, or custom. When low, normal, or high are specified values in memory_shares will be ignored. Default: normal
    memoryShares Integer
    The number of shares allocated for CPU. Used to determine resource allocation in case of resource contention. If this is set, memory_share_level must be custom.
    name String
    The name of the resource pool.
    scaleDescendantsShares String
    Determines if the shares of all descendants of the resource pool are scaled up or down when the shares of the resource pool are scaled up or down. Can be one of disabled or scaleCpuAndMemoryShares. Default: disabled.
    tags List<String>
    The IDs of any tags to attach to this resource.
    parentResourcePoolId string
    The managed object ID of the parent resource pool. This can be the root resource pool for a cluster or standalone host, or a resource pool itself. When moving a resource pool from one parent resource pool to another, both must share a common root resource pool.
    cpuExpandable boolean
    Determines if the reservation on a resource pool can grow beyond the specified value if the parent resource pool has unreserved resources. Default: true
    cpuLimit number
    The CPU utilization of a resource pool will not exceed this limit, even if there are available resources. Set to -1 for unlimited. Default: -1
    cpuReservation number
    Amount of CPU (MHz) that is guaranteed available to the resource pool. Default: 0
    cpuShareLevel string
    The CPU allocation level. The level is a simplified view of shares. Levels map to a pre-determined set of numeric values for shares. Can be one of low, normal, high, or custom. When low, normal, or high are specified values in cpu_shares will be ignored. Default: normal
    cpuShares number
    The number of shares allocated for CPU. Used to determine resource allocation in case of resource contention. If this is set, cpu_share_level must be custom.
    customAttributes {[key: string]: string}
    A list of custom attributes to set on this resource.
    memoryExpandable boolean
    Determines if the reservation on a resource pool can grow beyond the specified value if the parent resource pool has unreserved resources. Default: true
    memoryLimit number
    The CPU utilization of a resource pool will not exceed this limit, even if there are available resources. Set to -1 for unlimited. Default: -1
    memoryReservation number
    Amount of CPU (MHz) that is guaranteed available to the resource pool. Default: 0
    memoryShareLevel string
    The CPU allocation level. The level is a simplified view of shares. Levels map to a pre-determined set of numeric values for shares. Can be one of low, normal, high, or custom. When low, normal, or high are specified values in memory_shares will be ignored. Default: normal
    memoryShares number
    The number of shares allocated for CPU. Used to determine resource allocation in case of resource contention. If this is set, memory_share_level must be custom.
    name string
    The name of the resource pool.
    scaleDescendantsShares string
    Determines if the shares of all descendants of the resource pool are scaled up or down when the shares of the resource pool are scaled up or down. Can be one of disabled or scaleCpuAndMemoryShares. Default: disabled.
    tags string[]
    The IDs of any tags to attach to this resource.
    parent_resource_pool_id str
    The managed object ID of the parent resource pool. This can be the root resource pool for a cluster or standalone host, or a resource pool itself. When moving a resource pool from one parent resource pool to another, both must share a common root resource pool.
    cpu_expandable bool
    Determines if the reservation on a resource pool can grow beyond the specified value if the parent resource pool has unreserved resources. Default: true
    cpu_limit int
    The CPU utilization of a resource pool will not exceed this limit, even if there are available resources. Set to -1 for unlimited. Default: -1
    cpu_reservation int
    Amount of CPU (MHz) that is guaranteed available to the resource pool. Default: 0
    cpu_share_level str
    The CPU allocation level. The level is a simplified view of shares. Levels map to a pre-determined set of numeric values for shares. Can be one of low, normal, high, or custom. When low, normal, or high are specified values in cpu_shares will be ignored. Default: normal
    cpu_shares int
    The number of shares allocated for CPU. Used to determine resource allocation in case of resource contention. If this is set, cpu_share_level must be custom.
    custom_attributes Mapping[str, str]
    A list of custom attributes to set on this resource.
    memory_expandable bool
    Determines if the reservation on a resource pool can grow beyond the specified value if the parent resource pool has unreserved resources. Default: true
    memory_limit int
    The CPU utilization of a resource pool will not exceed this limit, even if there are available resources. Set to -1 for unlimited. Default: -1
    memory_reservation int
    Amount of CPU (MHz) that is guaranteed available to the resource pool. Default: 0
    memory_share_level str
    The CPU allocation level. The level is a simplified view of shares. Levels map to a pre-determined set of numeric values for shares. Can be one of low, normal, high, or custom. When low, normal, or high are specified values in memory_shares will be ignored. Default: normal
    memory_shares int
    The number of shares allocated for CPU. Used to determine resource allocation in case of resource contention. If this is set, memory_share_level must be custom.
    name str
    The name of the resource pool.
    scale_descendants_shares str
    Determines if the shares of all descendants of the resource pool are scaled up or down when the shares of the resource pool are scaled up or down. Can be one of disabled or scaleCpuAndMemoryShares. Default: disabled.
    tags Sequence[str]
    The IDs of any tags to attach to this resource.
    parentResourcePoolId String
    The managed object ID of the parent resource pool. This can be the root resource pool for a cluster or standalone host, or a resource pool itself. When moving a resource pool from one parent resource pool to another, both must share a common root resource pool.
    cpuExpandable Boolean
    Determines if the reservation on a resource pool can grow beyond the specified value if the parent resource pool has unreserved resources. Default: true
    cpuLimit Number
    The CPU utilization of a resource pool will not exceed this limit, even if there are available resources. Set to -1 for unlimited. Default: -1
    cpuReservation Number
    Amount of CPU (MHz) that is guaranteed available to the resource pool. Default: 0
    cpuShareLevel String
    The CPU allocation level. The level is a simplified view of shares. Levels map to a pre-determined set of numeric values for shares. Can be one of low, normal, high, or custom. When low, normal, or high are specified values in cpu_shares will be ignored. Default: normal
    cpuShares Number
    The number of shares allocated for CPU. Used to determine resource allocation in case of resource contention. If this is set, cpu_share_level must be custom.
    customAttributes Map<String>
    A list of custom attributes to set on this resource.
    memoryExpandable Boolean
    Determines if the reservation on a resource pool can grow beyond the specified value if the parent resource pool has unreserved resources. Default: true
    memoryLimit Number
    The CPU utilization of a resource pool will not exceed this limit, even if there are available resources. Set to -1 for unlimited. Default: -1
    memoryReservation Number
    Amount of CPU (MHz) that is guaranteed available to the resource pool. Default: 0
    memoryShareLevel String
    The CPU allocation level. The level is a simplified view of shares. Levels map to a pre-determined set of numeric values for shares. Can be one of low, normal, high, or custom. When low, normal, or high are specified values in memory_shares will be ignored. Default: normal
    memoryShares Number
    The number of shares allocated for CPU. Used to determine resource allocation in case of resource contention. If this is set, memory_share_level must be custom.
    name String
    The name of the resource pool.
    scaleDescendantsShares String
    Determines if the shares of all descendants of the resource pool are scaled up or down when the shares of the resource pool are scaled up or down. Can be one of disabled or scaleCpuAndMemoryShares. Default: disabled.
    tags List<String>
    The IDs of any tags to attach to this resource.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the ResourcePool resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing ResourcePool Resource

    Get an existing ResourcePool resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: ResourcePoolState, opts?: CustomResourceOptions): ResourcePool
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            cpu_expandable: Optional[bool] = None,
            cpu_limit: Optional[int] = None,
            cpu_reservation: Optional[int] = None,
            cpu_share_level: Optional[str] = None,
            cpu_shares: Optional[int] = None,
            custom_attributes: Optional[Mapping[str, str]] = None,
            memory_expandable: Optional[bool] = None,
            memory_limit: Optional[int] = None,
            memory_reservation: Optional[int] = None,
            memory_share_level: Optional[str] = None,
            memory_shares: Optional[int] = None,
            name: Optional[str] = None,
            parent_resource_pool_id: Optional[str] = None,
            scale_descendants_shares: Optional[str] = None,
            tags: Optional[Sequence[str]] = None) -> ResourcePool
    func GetResourcePool(ctx *Context, name string, id IDInput, state *ResourcePoolState, opts ...ResourceOption) (*ResourcePool, error)
    public static ResourcePool Get(string name, Input<string> id, ResourcePoolState? state, CustomResourceOptions? opts = null)
    public static ResourcePool get(String name, Output<String> id, ResourcePoolState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    CpuExpandable bool
    Determines if the reservation on a resource pool can grow beyond the specified value if the parent resource pool has unreserved resources. Default: true
    CpuLimit int
    The CPU utilization of a resource pool will not exceed this limit, even if there are available resources. Set to -1 for unlimited. Default: -1
    CpuReservation int
    Amount of CPU (MHz) that is guaranteed available to the resource pool. Default: 0
    CpuShareLevel string
    The CPU allocation level. The level is a simplified view of shares. Levels map to a pre-determined set of numeric values for shares. Can be one of low, normal, high, or custom. When low, normal, or high are specified values in cpu_shares will be ignored. Default: normal
    CpuShares int
    The number of shares allocated for CPU. Used to determine resource allocation in case of resource contention. If this is set, cpu_share_level must be custom.
    CustomAttributes Dictionary<string, string>
    A list of custom attributes to set on this resource.
    MemoryExpandable bool
    Determines if the reservation on a resource pool can grow beyond the specified value if the parent resource pool has unreserved resources. Default: true
    MemoryLimit int
    The CPU utilization of a resource pool will not exceed this limit, even if there are available resources. Set to -1 for unlimited. Default: -1
    MemoryReservation int
    Amount of CPU (MHz) that is guaranteed available to the resource pool. Default: 0
    MemoryShareLevel string
    The CPU allocation level. The level is a simplified view of shares. Levels map to a pre-determined set of numeric values for shares. Can be one of low, normal, high, or custom. When low, normal, or high are specified values in memory_shares will be ignored. Default: normal
    MemoryShares int
    The number of shares allocated for CPU. Used to determine resource allocation in case of resource contention. If this is set, memory_share_level must be custom.
    Name string
    The name of the resource pool.
    ParentResourcePoolId string
    The managed object ID of the parent resource pool. This can be the root resource pool for a cluster or standalone host, or a resource pool itself. When moving a resource pool from one parent resource pool to another, both must share a common root resource pool.
    ScaleDescendantsShares string
    Determines if the shares of all descendants of the resource pool are scaled up or down when the shares of the resource pool are scaled up or down. Can be one of disabled or scaleCpuAndMemoryShares. Default: disabled.
    Tags List<string>
    The IDs of any tags to attach to this resource.
    CpuExpandable bool
    Determines if the reservation on a resource pool can grow beyond the specified value if the parent resource pool has unreserved resources. Default: true
    CpuLimit int
    The CPU utilization of a resource pool will not exceed this limit, even if there are available resources. Set to -1 for unlimited. Default: -1
    CpuReservation int
    Amount of CPU (MHz) that is guaranteed available to the resource pool. Default: 0
    CpuShareLevel string
    The CPU allocation level. The level is a simplified view of shares. Levels map to a pre-determined set of numeric values for shares. Can be one of low, normal, high, or custom. When low, normal, or high are specified values in cpu_shares will be ignored. Default: normal
    CpuShares int
    The number of shares allocated for CPU. Used to determine resource allocation in case of resource contention. If this is set, cpu_share_level must be custom.
    CustomAttributes map[string]string
    A list of custom attributes to set on this resource.
    MemoryExpandable bool
    Determines if the reservation on a resource pool can grow beyond the specified value if the parent resource pool has unreserved resources. Default: true
    MemoryLimit int
    The CPU utilization of a resource pool will not exceed this limit, even if there are available resources. Set to -1 for unlimited. Default: -1
    MemoryReservation int
    Amount of CPU (MHz) that is guaranteed available to the resource pool. Default: 0
    MemoryShareLevel string
    The CPU allocation level. The level is a simplified view of shares. Levels map to a pre-determined set of numeric values for shares. Can be one of low, normal, high, or custom. When low, normal, or high are specified values in memory_shares will be ignored. Default: normal
    MemoryShares int
    The number of shares allocated for CPU. Used to determine resource allocation in case of resource contention. If this is set, memory_share_level must be custom.
    Name string
    The name of the resource pool.
    ParentResourcePoolId string
    The managed object ID of the parent resource pool. This can be the root resource pool for a cluster or standalone host, or a resource pool itself. When moving a resource pool from one parent resource pool to another, both must share a common root resource pool.
    ScaleDescendantsShares string
    Determines if the shares of all descendants of the resource pool are scaled up or down when the shares of the resource pool are scaled up or down. Can be one of disabled or scaleCpuAndMemoryShares. Default: disabled.
    Tags []string
    The IDs of any tags to attach to this resource.
    cpuExpandable Boolean
    Determines if the reservation on a resource pool can grow beyond the specified value if the parent resource pool has unreserved resources. Default: true
    cpuLimit Integer
    The CPU utilization of a resource pool will not exceed this limit, even if there are available resources. Set to -1 for unlimited. Default: -1
    cpuReservation Integer
    Amount of CPU (MHz) that is guaranteed available to the resource pool. Default: 0
    cpuShareLevel String
    The CPU allocation level. The level is a simplified view of shares. Levels map to a pre-determined set of numeric values for shares. Can be one of low, normal, high, or custom. When low, normal, or high are specified values in cpu_shares will be ignored. Default: normal
    cpuShares Integer
    The number of shares allocated for CPU. Used to determine resource allocation in case of resource contention. If this is set, cpu_share_level must be custom.
    customAttributes Map<String,String>
    A list of custom attributes to set on this resource.
    memoryExpandable Boolean
    Determines if the reservation on a resource pool can grow beyond the specified value if the parent resource pool has unreserved resources. Default: true
    memoryLimit Integer
    The CPU utilization of a resource pool will not exceed this limit, even if there are available resources. Set to -1 for unlimited. Default: -1
    memoryReservation Integer
    Amount of CPU (MHz) that is guaranteed available to the resource pool. Default: 0
    memoryShareLevel String
    The CPU allocation level. The level is a simplified view of shares. Levels map to a pre-determined set of numeric values for shares. Can be one of low, normal, high, or custom. When low, normal, or high are specified values in memory_shares will be ignored. Default: normal
    memoryShares Integer
    The number of shares allocated for CPU. Used to determine resource allocation in case of resource contention. If this is set, memory_share_level must be custom.
    name String
    The name of the resource pool.
    parentResourcePoolId String
    The managed object ID of the parent resource pool. This can be the root resource pool for a cluster or standalone host, or a resource pool itself. When moving a resource pool from one parent resource pool to another, both must share a common root resource pool.
    scaleDescendantsShares String
    Determines if the shares of all descendants of the resource pool are scaled up or down when the shares of the resource pool are scaled up or down. Can be one of disabled or scaleCpuAndMemoryShares. Default: disabled.
    tags List<String>
    The IDs of any tags to attach to this resource.
    cpuExpandable boolean
    Determines if the reservation on a resource pool can grow beyond the specified value if the parent resource pool has unreserved resources. Default: true
    cpuLimit number
    The CPU utilization of a resource pool will not exceed this limit, even if there are available resources. Set to -1 for unlimited. Default: -1
    cpuReservation number
    Amount of CPU (MHz) that is guaranteed available to the resource pool. Default: 0
    cpuShareLevel string
    The CPU allocation level. The level is a simplified view of shares. Levels map to a pre-determined set of numeric values for shares. Can be one of low, normal, high, or custom. When low, normal, or high are specified values in cpu_shares will be ignored. Default: normal
    cpuShares number
    The number of shares allocated for CPU. Used to determine resource allocation in case of resource contention. If this is set, cpu_share_level must be custom.
    customAttributes {[key: string]: string}
    A list of custom attributes to set on this resource.
    memoryExpandable boolean
    Determines if the reservation on a resource pool can grow beyond the specified value if the parent resource pool has unreserved resources. Default: true
    memoryLimit number
    The CPU utilization of a resource pool will not exceed this limit, even if there are available resources. Set to -1 for unlimited. Default: -1
    memoryReservation number
    Amount of CPU (MHz) that is guaranteed available to the resource pool. Default: 0
    memoryShareLevel string
    The CPU allocation level. The level is a simplified view of shares. Levels map to a pre-determined set of numeric values for shares. Can be one of low, normal, high, or custom. When low, normal, or high are specified values in memory_shares will be ignored. Default: normal
    memoryShares number
    The number of shares allocated for CPU. Used to determine resource allocation in case of resource contention. If this is set, memory_share_level must be custom.
    name string
    The name of the resource pool.
    parentResourcePoolId string
    The managed object ID of the parent resource pool. This can be the root resource pool for a cluster or standalone host, or a resource pool itself. When moving a resource pool from one parent resource pool to another, both must share a common root resource pool.
    scaleDescendantsShares string
    Determines if the shares of all descendants of the resource pool are scaled up or down when the shares of the resource pool are scaled up or down. Can be one of disabled or scaleCpuAndMemoryShares. Default: disabled.
    tags string[]
    The IDs of any tags to attach to this resource.
    cpu_expandable bool
    Determines if the reservation on a resource pool can grow beyond the specified value if the parent resource pool has unreserved resources. Default: true
    cpu_limit int
    The CPU utilization of a resource pool will not exceed this limit, even if there are available resources. Set to -1 for unlimited. Default: -1
    cpu_reservation int
    Amount of CPU (MHz) that is guaranteed available to the resource pool. Default: 0
    cpu_share_level str
    The CPU allocation level. The level is a simplified view of shares. Levels map to a pre-determined set of numeric values for shares. Can be one of low, normal, high, or custom. When low, normal, or high are specified values in cpu_shares will be ignored. Default: normal
    cpu_shares int
    The number of shares allocated for CPU. Used to determine resource allocation in case of resource contention. If this is set, cpu_share_level must be custom.
    custom_attributes Mapping[str, str]
    A list of custom attributes to set on this resource.
    memory_expandable bool
    Determines if the reservation on a resource pool can grow beyond the specified value if the parent resource pool has unreserved resources. Default: true
    memory_limit int
    The CPU utilization of a resource pool will not exceed this limit, even if there are available resources. Set to -1 for unlimited. Default: -1
    memory_reservation int
    Amount of CPU (MHz) that is guaranteed available to the resource pool. Default: 0
    memory_share_level str
    The CPU allocation level. The level is a simplified view of shares. Levels map to a pre-determined set of numeric values for shares. Can be one of low, normal, high, or custom. When low, normal, or high are specified values in memory_shares will be ignored. Default: normal
    memory_shares int
    The number of shares allocated for CPU. Used to determine resource allocation in case of resource contention. If this is set, memory_share_level must be custom.
    name str
    The name of the resource pool.
    parent_resource_pool_id str
    The managed object ID of the parent resource pool. This can be the root resource pool for a cluster or standalone host, or a resource pool itself. When moving a resource pool from one parent resource pool to another, both must share a common root resource pool.
    scale_descendants_shares str
    Determines if the shares of all descendants of the resource pool are scaled up or down when the shares of the resource pool are scaled up or down. Can be one of disabled or scaleCpuAndMemoryShares. Default: disabled.
    tags Sequence[str]
    The IDs of any tags to attach to this resource.
    cpuExpandable Boolean
    Determines if the reservation on a resource pool can grow beyond the specified value if the parent resource pool has unreserved resources. Default: true
    cpuLimit Number
    The CPU utilization of a resource pool will not exceed this limit, even if there are available resources. Set to -1 for unlimited. Default: -1
    cpuReservation Number
    Amount of CPU (MHz) that is guaranteed available to the resource pool. Default: 0
    cpuShareLevel String
    The CPU allocation level. The level is a simplified view of shares. Levels map to a pre-determined set of numeric values for shares. Can be one of low, normal, high, or custom. When low, normal, or high are specified values in cpu_shares will be ignored. Default: normal
    cpuShares Number
    The number of shares allocated for CPU. Used to determine resource allocation in case of resource contention. If this is set, cpu_share_level must be custom.
    customAttributes Map<String>
    A list of custom attributes to set on this resource.
    memoryExpandable Boolean
    Determines if the reservation on a resource pool can grow beyond the specified value if the parent resource pool has unreserved resources. Default: true
    memoryLimit Number
    The CPU utilization of a resource pool will not exceed this limit, even if there are available resources. Set to -1 for unlimited. Default: -1
    memoryReservation Number
    Amount of CPU (MHz) that is guaranteed available to the resource pool. Default: 0
    memoryShareLevel String
    The CPU allocation level. The level is a simplified view of shares. Levels map to a pre-determined set of numeric values for shares. Can be one of low, normal, high, or custom. When low, normal, or high are specified values in memory_shares will be ignored. Default: normal
    memoryShares Number
    The number of shares allocated for CPU. Used to determine resource allocation in case of resource contention. If this is set, memory_share_level must be custom.
    name String
    The name of the resource pool.
    parentResourcePoolId String
    The managed object ID of the parent resource pool. This can be the root resource pool for a cluster or standalone host, or a resource pool itself. When moving a resource pool from one parent resource pool to another, both must share a common root resource pool.
    scaleDescendantsShares String
    Determines if the shares of all descendants of the resource pool are scaled up or down when the shares of the resource pool are scaled up or down. Can be one of disabled or scaleCpuAndMemoryShares. Default: disabled.
    tags List<String>
    The IDs of any tags to attach to this resource.

    Package Details

    Repository
    vSphere pulumi/pulumi-vsphere
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the vsphere Terraform Provider.
    vsphere logo
    vSphere v4.10.0 published on Tuesday, Mar 12, 2024 by Pulumi