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

com.pulumi.azurenative.azurestackhci.inputs.VirtualMachineInstancePropertiesHardwareProfileArgs Maven / Gradle / Ivy

// *** 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.azurestackhci.inputs;

import com.pulumi.azurenative.azurestackhci.enums.VmSizeEnum;
import com.pulumi.azurenative.azurestackhci.inputs.VirtualMachineInstancePropertiesDynamicMemoryConfigArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import java.lang.Double;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * HardwareProfile - Specifies the hardware settings for the virtual machine instance.
 * 
 */
public final class VirtualMachineInstancePropertiesHardwareProfileArgs extends com.pulumi.resources.ResourceArgs {

    public static final VirtualMachineInstancePropertiesHardwareProfileArgs Empty = new VirtualMachineInstancePropertiesHardwareProfileArgs();

    @Import(name="dynamicMemoryConfig")
    private @Nullable Output dynamicMemoryConfig;

    public Optional> dynamicMemoryConfig() {
        return Optional.ofNullable(this.dynamicMemoryConfig);
    }

    /**
     * RAM in MB for the virtual machine instance
     * 
     */
    @Import(name="memoryMB")
    private @Nullable Output memoryMB;

    /**
     * @return RAM in MB for the virtual machine instance
     * 
     */
    public Optional> memoryMB() {
        return Optional.ofNullable(this.memoryMB);
    }

    /**
     * number of processors for the virtual machine instance
     * 
     */
    @Import(name="processors")
    private @Nullable Output processors;

    /**
     * @return number of processors for the virtual machine instance
     * 
     */
    public Optional> processors() {
        return Optional.ofNullable(this.processors);
    }

    @Import(name="vmSize")
    private @Nullable Output> vmSize;

    public Optional>> vmSize() {
        return Optional.ofNullable(this.vmSize);
    }

    private VirtualMachineInstancePropertiesHardwareProfileArgs() {}

    private VirtualMachineInstancePropertiesHardwareProfileArgs(VirtualMachineInstancePropertiesHardwareProfileArgs $) {
        this.dynamicMemoryConfig = $.dynamicMemoryConfig;
        this.memoryMB = $.memoryMB;
        this.processors = $.processors;
        this.vmSize = $.vmSize;
    }

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

    public static final class Builder {
        private VirtualMachineInstancePropertiesHardwareProfileArgs $;

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

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

        public Builder dynamicMemoryConfig(@Nullable Output dynamicMemoryConfig) {
            $.dynamicMemoryConfig = dynamicMemoryConfig;
            return this;
        }

        public Builder dynamicMemoryConfig(VirtualMachineInstancePropertiesDynamicMemoryConfigArgs dynamicMemoryConfig) {
            return dynamicMemoryConfig(Output.of(dynamicMemoryConfig));
        }

        /**
         * @param memoryMB RAM in MB for the virtual machine instance
         * 
         * @return builder
         * 
         */
        public Builder memoryMB(@Nullable Output memoryMB) {
            $.memoryMB = memoryMB;
            return this;
        }

        /**
         * @param memoryMB RAM in MB for the virtual machine instance
         * 
         * @return builder
         * 
         */
        public Builder memoryMB(Double memoryMB) {
            return memoryMB(Output.of(memoryMB));
        }

        /**
         * @param processors number of processors for the virtual machine instance
         * 
         * @return builder
         * 
         */
        public Builder processors(@Nullable Output processors) {
            $.processors = processors;
            return this;
        }

        /**
         * @param processors number of processors for the virtual machine instance
         * 
         * @return builder
         * 
         */
        public Builder processors(Integer processors) {
            return processors(Output.of(processors));
        }

        public Builder vmSize(@Nullable Output> vmSize) {
            $.vmSize = vmSize;
            return this;
        }

        public Builder vmSize(Either vmSize) {
            return vmSize(Output.of(vmSize));
        }

        public Builder vmSize(String vmSize) {
            return vmSize(Either.ofLeft(vmSize));
        }

        public Builder vmSize(VmSizeEnum vmSize) {
            return vmSize(Either.ofRight(vmSize));
        }

        public VirtualMachineInstancePropertiesHardwareProfileArgs build() {
            $.vmSize = Codegen.stringProp("vmSize").left(VmSizeEnum.class).output().arg($.vmSize).def("Default").getNullable();
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy