All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.vsphere.ResourcePoolArgs Maven / Gradle / Ivy

There is a newer version: 4.13.0-alpha.1731738919
Show newest version
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.vsphere;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class ResourcePoolArgs extends com.pulumi.resources.ResourceArgs {

    public static final ResourcePoolArgs Empty = new ResourcePoolArgs();

    /**
     * Determines if the reservation on a resource pool can grow beyond the specified value, if the parent resource pool has
     * unreserved resources.
     * 
     */
    @Import(name="cpuExpandable")
    private @Nullable Output cpuExpandable;

    /**
     * @return Determines if the reservation on a resource pool can grow beyond the specified value, if the parent resource pool has
     * unreserved resources.
     * 
     */
    public Optional> cpuExpandable() {
        return Optional.ofNullable(this.cpuExpandable);
    }

    /**
     * The utilization of a resource pool will not exceed this limit, even if there are available resources. Set to -1 for
     * unlimited.
     * 
     */
    @Import(name="cpuLimit")
    private @Nullable Output cpuLimit;

    /**
     * @return The utilization of a resource pool will not exceed this limit, even if there are available resources. Set to -1 for
     * unlimited.
     * 
     */
    public Optional> cpuLimit() {
        return Optional.ofNullable(this.cpuLimit);
    }

    /**
     * Amount of CPU (MHz) that is guaranteed available to the resource pool.
     * 
     */
    @Import(name="cpuReservation")
    private @Nullable Output cpuReservation;

    /**
     * @return Amount of CPU (MHz) that is guaranteed available to the resource pool.
     * 
     */
    public Optional> cpuReservation() {
        return Optional.ofNullable(this.cpuReservation);
    }

    /**
     * The 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.
     * 
     */
    @Import(name="cpuShareLevel")
    private @Nullable Output cpuShareLevel;

    /**
     * @return The 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.
     * 
     */
    public Optional> cpuShareLevel() {
        return Optional.ofNullable(this.cpuShareLevel);
    }

    /**
     * The number of shares allocated. Used to determine resource allocation in case of resource contention. If this is set,
     * cpu_share_level must be custom.
     * 
     */
    @Import(name="cpuShares")
    private @Nullable Output cpuShares;

    /**
     * @return The number of shares allocated. Used to determine resource allocation in case of resource contention. If this is set,
     * cpu_share_level must be custom.
     * 
     */
    public Optional> cpuShares() {
        return Optional.ofNullable(this.cpuShares);
    }

    /**
     * A list of custom attributes to set on this resource.
     * 
     */
    @Import(name="customAttributes")
    private @Nullable Output> customAttributes;

    /**
     * @return A list of custom attributes to set on this resource.
     * 
     */
    public Optional>> customAttributes() {
        return Optional.ofNullable(this.customAttributes);
    }

    /**
     * Determines if the reservation on a resource pool can grow beyond the specified value, if the parent resource pool has
     * unreserved resources.
     * 
     */
    @Import(name="memoryExpandable")
    private @Nullable Output memoryExpandable;

    /**
     * @return Determines if the reservation on a resource pool can grow beyond the specified value, if the parent resource pool has
     * unreserved resources.
     * 
     */
    public Optional> memoryExpandable() {
        return Optional.ofNullable(this.memoryExpandable);
    }

    /**
     * The utilization of a resource pool will not exceed this limit, even if there are available resources. Set to -1 for
     * unlimited.
     * 
     */
    @Import(name="memoryLimit")
    private @Nullable Output memoryLimit;

    /**
     * @return The utilization of a resource pool will not exceed this limit, even if there are available resources. Set to -1 for
     * unlimited.
     * 
     */
    public Optional> memoryLimit() {
        return Optional.ofNullable(this.memoryLimit);
    }

    /**
     * Amount of memory (MB) that is guaranteed available to the resource pool.
     * 
     */
    @Import(name="memoryReservation")
    private @Nullable Output memoryReservation;

    /**
     * @return Amount of memory (MB) that is guaranteed available to the resource pool.
     * 
     */
    public Optional> memoryReservation() {
        return Optional.ofNullable(this.memoryReservation);
    }

    /**
     * The 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.
     * 
     */
    @Import(name="memoryShareLevel")
    private @Nullable Output memoryShareLevel;

    /**
     * @return The 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.
     * 
     */
    public Optional> memoryShareLevel() {
        return Optional.ofNullable(this.memoryShareLevel);
    }

    /**
     * The number of shares allocated. Used to determine resource allocation in case of resource contention. If this is set,
     * memory_share_level must be custom.
     * 
     */
    @Import(name="memoryShares")
    private @Nullable Output memoryShares;

    /**
     * @return The number of shares allocated. Used to determine resource allocation in case of resource contention. If this is set,
     * memory_share_level must be custom.
     * 
     */
    public Optional> memoryShares() {
        return Optional.ofNullable(this.memoryShares);
    }

    /**
     * Name of resource pool.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return Name of resource pool.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * The ID of the root resource pool of the compute resource the resource pool is in.
     * 
     */
    @Import(name="parentResourcePoolId", required=true)
    private Output parentResourcePoolId;

    /**
     * @return The ID of the root resource pool of the compute resource the resource pool is in.
     * 
     */
    public Output parentResourcePoolId() {
        return this.parentResourcePoolId;
    }

    /**
     * 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.
     * 
     */
    @Import(name="scaleDescendantsShares")
    private @Nullable Output scaleDescendantsShares;

    /**
     * @return 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.
     * 
     */
    public Optional> scaleDescendantsShares() {
        return Optional.ofNullable(this.scaleDescendantsShares);
    }

    /**
     * A list of tag IDs to apply to this object.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return A list of tag IDs to apply to this object.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    private ResourcePoolArgs() {}

    private ResourcePoolArgs(ResourcePoolArgs $) {
        this.cpuExpandable = $.cpuExpandable;
        this.cpuLimit = $.cpuLimit;
        this.cpuReservation = $.cpuReservation;
        this.cpuShareLevel = $.cpuShareLevel;
        this.cpuShares = $.cpuShares;
        this.customAttributes = $.customAttributes;
        this.memoryExpandable = $.memoryExpandable;
        this.memoryLimit = $.memoryLimit;
        this.memoryReservation = $.memoryReservation;
        this.memoryShareLevel = $.memoryShareLevel;
        this.memoryShares = $.memoryShares;
        this.name = $.name;
        this.parentResourcePoolId = $.parentResourcePoolId;
        this.scaleDescendantsShares = $.scaleDescendantsShares;
        this.tags = $.tags;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(ResourcePoolArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private ResourcePoolArgs $;

        public Builder() {
            $ = new ResourcePoolArgs();
        }

        public Builder(ResourcePoolArgs defaults) {
            $ = new ResourcePoolArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param cpuExpandable Determines if the reservation on a resource pool can grow beyond the specified value, if the parent resource pool has
         * unreserved resources.
         * 
         * @return builder
         * 
         */
        public Builder cpuExpandable(@Nullable Output cpuExpandable) {
            $.cpuExpandable = cpuExpandable;
            return this;
        }

        /**
         * @param cpuExpandable Determines if the reservation on a resource pool can grow beyond the specified value, if the parent resource pool has
         * unreserved resources.
         * 
         * @return builder
         * 
         */
        public Builder cpuExpandable(Boolean cpuExpandable) {
            return cpuExpandable(Output.of(cpuExpandable));
        }

        /**
         * @param cpuLimit The utilization of a resource pool will not exceed this limit, even if there are available resources. Set to -1 for
         * unlimited.
         * 
         * @return builder
         * 
         */
        public Builder cpuLimit(@Nullable Output cpuLimit) {
            $.cpuLimit = cpuLimit;
            return this;
        }

        /**
         * @param cpuLimit The utilization of a resource pool will not exceed this limit, even if there are available resources. Set to -1 for
         * unlimited.
         * 
         * @return builder
         * 
         */
        public Builder cpuLimit(Integer cpuLimit) {
            return cpuLimit(Output.of(cpuLimit));
        }

        /**
         * @param cpuReservation Amount of CPU (MHz) that is guaranteed available to the resource pool.
         * 
         * @return builder
         * 
         */
        public Builder cpuReservation(@Nullable Output cpuReservation) {
            $.cpuReservation = cpuReservation;
            return this;
        }

        /**
         * @param cpuReservation Amount of CPU (MHz) that is guaranteed available to the resource pool.
         * 
         * @return builder
         * 
         */
        public Builder cpuReservation(Integer cpuReservation) {
            return cpuReservation(Output.of(cpuReservation));
        }

        /**
         * @param cpuShareLevel The 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.
         * 
         * @return builder
         * 
         */
        public Builder cpuShareLevel(@Nullable Output cpuShareLevel) {
            $.cpuShareLevel = cpuShareLevel;
            return this;
        }

        /**
         * @param cpuShareLevel The 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.
         * 
         * @return builder
         * 
         */
        public Builder cpuShareLevel(String cpuShareLevel) {
            return cpuShareLevel(Output.of(cpuShareLevel));
        }

        /**
         * @param cpuShares The number of shares allocated. Used to determine resource allocation in case of resource contention. If this is set,
         * cpu_share_level must be custom.
         * 
         * @return builder
         * 
         */
        public Builder cpuShares(@Nullable Output cpuShares) {
            $.cpuShares = cpuShares;
            return this;
        }

        /**
         * @param cpuShares The number of shares allocated. Used to determine resource allocation in case of resource contention. If this is set,
         * cpu_share_level must be custom.
         * 
         * @return builder
         * 
         */
        public Builder cpuShares(Integer cpuShares) {
            return cpuShares(Output.of(cpuShares));
        }

        /**
         * @param customAttributes A list of custom attributes to set on this resource.
         * 
         * @return builder
         * 
         */
        public Builder customAttributes(@Nullable Output> customAttributes) {
            $.customAttributes = customAttributes;
            return this;
        }

        /**
         * @param customAttributes A list of custom attributes to set on this resource.
         * 
         * @return builder
         * 
         */
        public Builder customAttributes(Map customAttributes) {
            return customAttributes(Output.of(customAttributes));
        }

        /**
         * @param memoryExpandable Determines if the reservation on a resource pool can grow beyond the specified value, if the parent resource pool has
         * unreserved resources.
         * 
         * @return builder
         * 
         */
        public Builder memoryExpandable(@Nullable Output memoryExpandable) {
            $.memoryExpandable = memoryExpandable;
            return this;
        }

        /**
         * @param memoryExpandable Determines if the reservation on a resource pool can grow beyond the specified value, if the parent resource pool has
         * unreserved resources.
         * 
         * @return builder
         * 
         */
        public Builder memoryExpandable(Boolean memoryExpandable) {
            return memoryExpandable(Output.of(memoryExpandable));
        }

        /**
         * @param memoryLimit The utilization of a resource pool will not exceed this limit, even if there are available resources. Set to -1 for
         * unlimited.
         * 
         * @return builder
         * 
         */
        public Builder memoryLimit(@Nullable Output memoryLimit) {
            $.memoryLimit = memoryLimit;
            return this;
        }

        /**
         * @param memoryLimit The utilization of a resource pool will not exceed this limit, even if there are available resources. Set to -1 for
         * unlimited.
         * 
         * @return builder
         * 
         */
        public Builder memoryLimit(Integer memoryLimit) {
            return memoryLimit(Output.of(memoryLimit));
        }

        /**
         * @param memoryReservation Amount of memory (MB) that is guaranteed available to the resource pool.
         * 
         * @return builder
         * 
         */
        public Builder memoryReservation(@Nullable Output memoryReservation) {
            $.memoryReservation = memoryReservation;
            return this;
        }

        /**
         * @param memoryReservation Amount of memory (MB) that is guaranteed available to the resource pool.
         * 
         * @return builder
         * 
         */
        public Builder memoryReservation(Integer memoryReservation) {
            return memoryReservation(Output.of(memoryReservation));
        }

        /**
         * @param memoryShareLevel The 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.
         * 
         * @return builder
         * 
         */
        public Builder memoryShareLevel(@Nullable Output memoryShareLevel) {
            $.memoryShareLevel = memoryShareLevel;
            return this;
        }

        /**
         * @param memoryShareLevel The 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.
         * 
         * @return builder
         * 
         */
        public Builder memoryShareLevel(String memoryShareLevel) {
            return memoryShareLevel(Output.of(memoryShareLevel));
        }

        /**
         * @param memoryShares The number of shares allocated. Used to determine resource allocation in case of resource contention. If this is set,
         * memory_share_level must be custom.
         * 
         * @return builder
         * 
         */
        public Builder memoryShares(@Nullable Output memoryShares) {
            $.memoryShares = memoryShares;
            return this;
        }

        /**
         * @param memoryShares The number of shares allocated. Used to determine resource allocation in case of resource contention. If this is set,
         * memory_share_level must be custom.
         * 
         * @return builder
         * 
         */
        public Builder memoryShares(Integer memoryShares) {
            return memoryShares(Output.of(memoryShares));
        }

        /**
         * @param name Name of resource pool.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name Name of resource pool.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param parentResourcePoolId The ID of the root resource pool of the compute resource the resource pool is in.
         * 
         * @return builder
         * 
         */
        public Builder parentResourcePoolId(Output parentResourcePoolId) {
            $.parentResourcePoolId = parentResourcePoolId;
            return this;
        }

        /**
         * @param parentResourcePoolId The ID of the root resource pool of the compute resource the resource pool is in.
         * 
         * @return builder
         * 
         */
        public Builder parentResourcePoolId(String parentResourcePoolId) {
            return parentResourcePoolId(Output.of(parentResourcePoolId));
        }

        /**
         * @param scaleDescendantsShares 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.
         * 
         * @return builder
         * 
         */
        public Builder scaleDescendantsShares(@Nullable Output scaleDescendantsShares) {
            $.scaleDescendantsShares = scaleDescendantsShares;
            return this;
        }

        /**
         * @param scaleDescendantsShares 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.
         * 
         * @return builder
         * 
         */
        public Builder scaleDescendantsShares(String scaleDescendantsShares) {
            return scaleDescendantsShares(Output.of(scaleDescendantsShares));
        }

        /**
         * @param tags A list of tag IDs to apply to this object.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags A list of tag IDs to apply to this object.
         * 
         * @return builder
         * 
         */
        public Builder tags(List tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param tags A list of tag IDs to apply to this object.
         * 
         * @return builder
         * 
         */
        public Builder tags(String... tags) {
            return tags(List.of(tags));
        }

        public ResourcePoolArgs build() {
            if ($.parentResourcePoolId == null) {
                throw new MissingRequiredPropertyException("ResourcePoolArgs", "parentResourcePoolId");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy