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

com.pulumi.azurenative.hybridnetwork.inputs.OsDiskArgs Maven / Gradle / Ivy

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

import com.pulumi.azurenative.hybridnetwork.enums.OperatingSystemTypes;
import com.pulumi.azurenative.hybridnetwork.inputs.VirtualHardDiskArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Specifies information about the operating system disk used by the virtual machine. <br><br> For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).
 * 
 */
public final class OsDiskArgs extends com.pulumi.resources.ResourceArgs {

    public static final OsDiskArgs Empty = new OsDiskArgs();

    /**
     * Specifies the size of os disk in gigabytes. This is the fully expanded disk size needed of the VHD image on the ASE. This disk size should be greater than the size of the VHD provided in vhdUri.
     * 
     */
    @Import(name="diskSizeGB")
    private @Nullable Output diskSizeGB;

    /**
     * @return Specifies the size of os disk in gigabytes. This is the fully expanded disk size needed of the VHD image on the ASE. This disk size should be greater than the size of the VHD provided in vhdUri.
     * 
     */
    public Optional> diskSizeGB() {
        return Optional.ofNullable(this.diskSizeGB);
    }

    /**
     * The VHD name.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return The VHD name.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * The OS type.
     * 
     */
    @Import(name="osType")
    private @Nullable Output> osType;

    /**
     * @return The OS type.
     * 
     */
    public Optional>> osType() {
        return Optional.ofNullable(this.osType);
    }

    /**
     * The virtual hard disk.
     * 
     */
    @Import(name="vhd")
    private @Nullable Output vhd;

    /**
     * @return The virtual hard disk.
     * 
     */
    public Optional> vhd() {
        return Optional.ofNullable(this.vhd);
    }

    private OsDiskArgs() {}

    private OsDiskArgs(OsDiskArgs $) {
        this.diskSizeGB = $.diskSizeGB;
        this.name = $.name;
        this.osType = $.osType;
        this.vhd = $.vhd;
    }

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

    public static final class Builder {
        private OsDiskArgs $;

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

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

        /**
         * @param diskSizeGB Specifies the size of os disk in gigabytes. This is the fully expanded disk size needed of the VHD image on the ASE. This disk size should be greater than the size of the VHD provided in vhdUri.
         * 
         * @return builder
         * 
         */
        public Builder diskSizeGB(@Nullable Output diskSizeGB) {
            $.diskSizeGB = diskSizeGB;
            return this;
        }

        /**
         * @param diskSizeGB Specifies the size of os disk in gigabytes. This is the fully expanded disk size needed of the VHD image on the ASE. This disk size should be greater than the size of the VHD provided in vhdUri.
         * 
         * @return builder
         * 
         */
        public Builder diskSizeGB(Integer diskSizeGB) {
            return diskSizeGB(Output.of(diskSizeGB));
        }

        /**
         * @param name The VHD name.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name The VHD name.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param osType The OS type.
         * 
         * @return builder
         * 
         */
        public Builder osType(@Nullable Output> osType) {
            $.osType = osType;
            return this;
        }

        /**
         * @param osType The OS type.
         * 
         * @return builder
         * 
         */
        public Builder osType(Either osType) {
            return osType(Output.of(osType));
        }

        /**
         * @param osType The OS type.
         * 
         * @return builder
         * 
         */
        public Builder osType(String osType) {
            return osType(Either.ofLeft(osType));
        }

        /**
         * @param osType The OS type.
         * 
         * @return builder
         * 
         */
        public Builder osType(OperatingSystemTypes osType) {
            return osType(Either.ofRight(osType));
        }

        /**
         * @param vhd The virtual hard disk.
         * 
         * @return builder
         * 
         */
        public Builder vhd(@Nullable Output vhd) {
            $.vhd = vhd;
            return this;
        }

        /**
         * @param vhd The virtual hard disk.
         * 
         * @return builder
         * 
         */
        public Builder vhd(VirtualHardDiskArgs vhd) {
            return vhd(Output.of(vhd));
        }

        public OsDiskArgs build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy