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

com.pulumi.azurenative.azurefleet.inputs.ComputeProfileArgs Maven / Gradle / Ivy

There is a newer version: 2.89.2
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.azurefleet.inputs;

import com.pulumi.azurenative.azurefleet.inputs.BaseVirtualMachineProfileArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Compute Profile to use for running user's workloads.
 * 
 */
public final class ComputeProfileArgs extends com.pulumi.resources.ResourceArgs {

    public static final ComputeProfileArgs Empty = new ComputeProfileArgs();

    /**
     * Base Virtual Machine Profile Properties to be specified according to "specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/{computeApiVersion}/virtualMachineScaleSet.json#/definitions/VirtualMachineScaleSetVMProfile"
     * 
     */
    @Import(name="baseVirtualMachineProfile", required=true)
    private Output baseVirtualMachineProfile;

    /**
     * @return Base Virtual Machine Profile Properties to be specified according to "specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/{computeApiVersion}/virtualMachineScaleSet.json#/definitions/VirtualMachineScaleSetVMProfile"
     * 
     */
    public Output baseVirtualMachineProfile() {
        return this.baseVirtualMachineProfile;
    }

    /**
     * Specifies the Microsoft.Compute API version to use when creating underlying Virtual Machine scale sets and Virtual Machines.
     * The default value will be the latest supported computeApiVersion by Compute Fleet.
     * 
     */
    @Import(name="computeApiVersion")
    private @Nullable Output computeApiVersion;

    /**
     * @return Specifies the Microsoft.Compute API version to use when creating underlying Virtual Machine scale sets and Virtual Machines.
     * The default value will be the latest supported computeApiVersion by Compute Fleet.
     * 
     */
    public Optional> computeApiVersion() {
        return Optional.ofNullable(this.computeApiVersion);
    }

    /**
     * Specifies the number of fault domains to use when creating the underlying VMSS.
     * A fault domain is a logical group of hardware within an Azure datacenter.
     * VMs in the same fault domain share a common power source and network switch.
     * If not specified, defaults to 1, which represents "Max Spreading" (using as many fault domains as possible).
     * This property cannot be updated.
     * 
     */
    @Import(name="platformFaultDomainCount")
    private @Nullable Output platformFaultDomainCount;

    /**
     * @return Specifies the number of fault domains to use when creating the underlying VMSS.
     * A fault domain is a logical group of hardware within an Azure datacenter.
     * VMs in the same fault domain share a common power source and network switch.
     * If not specified, defaults to 1, which represents "Max Spreading" (using as many fault domains as possible).
     * This property cannot be updated.
     * 
     */
    public Optional> platformFaultDomainCount() {
        return Optional.ofNullable(this.platformFaultDomainCount);
    }

    private ComputeProfileArgs() {}

    private ComputeProfileArgs(ComputeProfileArgs $) {
        this.baseVirtualMachineProfile = $.baseVirtualMachineProfile;
        this.computeApiVersion = $.computeApiVersion;
        this.platformFaultDomainCount = $.platformFaultDomainCount;
    }

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

    public static final class Builder {
        private ComputeProfileArgs $;

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

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

        /**
         * @param baseVirtualMachineProfile Base Virtual Machine Profile Properties to be specified according to "specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/{computeApiVersion}/virtualMachineScaleSet.json#/definitions/VirtualMachineScaleSetVMProfile"
         * 
         * @return builder
         * 
         */
        public Builder baseVirtualMachineProfile(Output baseVirtualMachineProfile) {
            $.baseVirtualMachineProfile = baseVirtualMachineProfile;
            return this;
        }

        /**
         * @param baseVirtualMachineProfile Base Virtual Machine Profile Properties to be specified according to "specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/{computeApiVersion}/virtualMachineScaleSet.json#/definitions/VirtualMachineScaleSetVMProfile"
         * 
         * @return builder
         * 
         */
        public Builder baseVirtualMachineProfile(BaseVirtualMachineProfileArgs baseVirtualMachineProfile) {
            return baseVirtualMachineProfile(Output.of(baseVirtualMachineProfile));
        }

        /**
         * @param computeApiVersion Specifies the Microsoft.Compute API version to use when creating underlying Virtual Machine scale sets and Virtual Machines.
         * The default value will be the latest supported computeApiVersion by Compute Fleet.
         * 
         * @return builder
         * 
         */
        public Builder computeApiVersion(@Nullable Output computeApiVersion) {
            $.computeApiVersion = computeApiVersion;
            return this;
        }

        /**
         * @param computeApiVersion Specifies the Microsoft.Compute API version to use when creating underlying Virtual Machine scale sets and Virtual Machines.
         * The default value will be the latest supported computeApiVersion by Compute Fleet.
         * 
         * @return builder
         * 
         */
        public Builder computeApiVersion(String computeApiVersion) {
            return computeApiVersion(Output.of(computeApiVersion));
        }

        /**
         * @param platformFaultDomainCount Specifies the number of fault domains to use when creating the underlying VMSS.
         * A fault domain is a logical group of hardware within an Azure datacenter.
         * VMs in the same fault domain share a common power source and network switch.
         * If not specified, defaults to 1, which represents "Max Spreading" (using as many fault domains as possible).
         * This property cannot be updated.
         * 
         * @return builder
         * 
         */
        public Builder platformFaultDomainCount(@Nullable Output platformFaultDomainCount) {
            $.platformFaultDomainCount = platformFaultDomainCount;
            return this;
        }

        /**
         * @param platformFaultDomainCount Specifies the number of fault domains to use when creating the underlying VMSS.
         * A fault domain is a logical group of hardware within an Azure datacenter.
         * VMs in the same fault domain share a common power source and network switch.
         * If not specified, defaults to 1, which represents "Max Spreading" (using as many fault domains as possible).
         * This property cannot be updated.
         * 
         * @return builder
         * 
         */
        public Builder platformFaultDomainCount(Integer platformFaultDomainCount) {
            return platformFaultDomainCount(Output.of(platformFaultDomainCount));
        }

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

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy