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

com.pulumi.azurenative.compute.inputs.VMSizePropertiesArgs Maven / Gradle / Ivy

There is a newer version: 2.78.0
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.azurenative.compute.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Integer;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Specifies VM Size Property settings on the virtual machine.
 * 
 */
public final class VMSizePropertiesArgs extends com.pulumi.resources.ResourceArgs {

    public static final VMSizePropertiesArgs Empty = new VMSizePropertiesArgs();

    /**
     * Specifies the number of vCPUs available for the VM. When this property is not specified in the request body the default behavior is to set it to the value of vCPUs available for that VM size exposed in api response of [List all available virtual machine sizes in a region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list).
     * 
     */
    @Import(name="vCPUsAvailable")
    private @Nullable Output vCPUsAvailable;

    /**
     * @return Specifies the number of vCPUs available for the VM. When this property is not specified in the request body the default behavior is to set it to the value of vCPUs available for that VM size exposed in api response of [List all available virtual machine sizes in a region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list).
     * 
     */
    public Optional> vCPUsAvailable() {
        return Optional.ofNullable(this.vCPUsAvailable);
    }

    /**
     * Specifies the vCPU to physical core ratio. When this property is not specified in the request body the default behavior is set to the value of vCPUsPerCore for the VM Size exposed in api response of [List all available virtual machine sizes in a region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list). **Setting this property to 1 also means that hyper-threading is disabled.**
     * 
     */
    @Import(name="vCPUsPerCore")
    private @Nullable Output vCPUsPerCore;

    /**
     * @return Specifies the vCPU to physical core ratio. When this property is not specified in the request body the default behavior is set to the value of vCPUsPerCore for the VM Size exposed in api response of [List all available virtual machine sizes in a region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list). **Setting this property to 1 also means that hyper-threading is disabled.**
     * 
     */
    public Optional> vCPUsPerCore() {
        return Optional.ofNullable(this.vCPUsPerCore);
    }

    private VMSizePropertiesArgs() {}

    private VMSizePropertiesArgs(VMSizePropertiesArgs $) {
        this.vCPUsAvailable = $.vCPUsAvailable;
        this.vCPUsPerCore = $.vCPUsPerCore;
    }

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

    public static final class Builder {
        private VMSizePropertiesArgs $;

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

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

        /**
         * @param vCPUsAvailable Specifies the number of vCPUs available for the VM. When this property is not specified in the request body the default behavior is to set it to the value of vCPUs available for that VM size exposed in api response of [List all available virtual machine sizes in a region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list).
         * 
         * @return builder
         * 
         */
        public Builder vCPUsAvailable(@Nullable Output vCPUsAvailable) {
            $.vCPUsAvailable = vCPUsAvailable;
            return this;
        }

        /**
         * @param vCPUsAvailable Specifies the number of vCPUs available for the VM. When this property is not specified in the request body the default behavior is to set it to the value of vCPUs available for that VM size exposed in api response of [List all available virtual machine sizes in a region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list).
         * 
         * @return builder
         * 
         */
        public Builder vCPUsAvailable(Integer vCPUsAvailable) {
            return vCPUsAvailable(Output.of(vCPUsAvailable));
        }

        /**
         * @param vCPUsPerCore Specifies the vCPU to physical core ratio. When this property is not specified in the request body the default behavior is set to the value of vCPUsPerCore for the VM Size exposed in api response of [List all available virtual machine sizes in a region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list). **Setting this property to 1 also means that hyper-threading is disabled.**
         * 
         * @return builder
         * 
         */
        public Builder vCPUsPerCore(@Nullable Output vCPUsPerCore) {
            $.vCPUsPerCore = vCPUsPerCore;
            return this;
        }

        /**
         * @param vCPUsPerCore Specifies the vCPU to physical core ratio. When this property is not specified in the request body the default behavior is set to the value of vCPUsPerCore for the VM Size exposed in api response of [List all available virtual machine sizes in a region](https://docs.microsoft.com/en-us/rest/api/compute/resource-skus/list). **Setting this property to 1 also means that hyper-threading is disabled.**
         * 
         * @return builder
         * 
         */
        public Builder vCPUsPerCore(Integer vCPUsPerCore) {
            return vCPUsPerCore(Output.of(vCPUsPerCore));
        }

        public VMSizePropertiesArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy