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

com.pulumi.azurenative.azurestackhci.VirtualHardDiskArgs 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.azurestackhci;

import com.pulumi.azurenative.azurestackhci.enums.DiskFileFormat;
import com.pulumi.azurenative.azurestackhci.enums.HyperVGeneration;
import com.pulumi.azurenative.azurestackhci.inputs.ExtendedLocationArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Double;
import java.lang.Integer;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final VirtualHardDiskArgs Empty = new VirtualHardDiskArgs();

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

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

    /**
     * Storage ContainerID of the storage container to be used for VHD
     * 
     */
    @Import(name="containerId")
    private @Nullable Output containerId;

    /**
     * @return Storage ContainerID of the storage container to be used for VHD
     * 
     */
    public Optional> containerId() {
        return Optional.ofNullable(this.containerId);
    }

    /**
     * The format of the actual VHD file [vhd, vhdx]
     * 
     */
    @Import(name="diskFileFormat")
    private @Nullable Output> diskFileFormat;

    /**
     * @return The format of the actual VHD file [vhd, vhdx]
     * 
     */
    public Optional>> diskFileFormat() {
        return Optional.ofNullable(this.diskFileFormat);
    }

    /**
     * Size of the disk in GB
     * 
     */
    @Import(name="diskSizeGB")
    private @Nullable Output diskSizeGB;

    /**
     * @return Size of the disk in GB
     * 
     */
    public Optional> diskSizeGB() {
        return Optional.ofNullable(this.diskSizeGB);
    }

    /**
     * Boolean for enabling dynamic sizing on the virtual hard disk
     * 
     */
    @Import(name="dynamic")
    private @Nullable Output dynamic;

    /**
     * @return Boolean for enabling dynamic sizing on the virtual hard disk
     * 
     */
    public Optional> dynamic() {
        return Optional.ofNullable(this.dynamic);
    }

    /**
     * The extendedLocation of the resource.
     * 
     */
    @Import(name="extendedLocation")
    private @Nullable Output extendedLocation;

    /**
     * @return The extendedLocation of the resource.
     * 
     */
    public Optional> extendedLocation() {
        return Optional.ofNullable(this.extendedLocation);
    }

    /**
     * The hypervisor generation of the Virtual Machine [V1, V2]
     * 
     */
    @Import(name="hyperVGeneration")
    private @Nullable Output> hyperVGeneration;

    /**
     * @return The hypervisor generation of the Virtual Machine [V1, V2]
     * 
     */
    public Optional>> hyperVGeneration() {
        return Optional.ofNullable(this.hyperVGeneration);
    }

    /**
     * The geo-location where the resource lives
     * 
     */
    @Import(name="location")
    private @Nullable Output location;

    /**
     * @return The geo-location where the resource lives
     * 
     */
    public Optional> location() {
        return Optional.ofNullable(this.location);
    }

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

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

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

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

    /**
     * The name of the resource group. The name is case insensitive.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return The name of the resource group. The name is case insensitive.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * Resource tags.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return Resource tags.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * Name of the virtual hard disk
     * 
     */
    @Import(name="virtualHardDiskName")
    private @Nullable Output virtualHardDiskName;

    /**
     * @return Name of the virtual hard disk
     * 
     */
    public Optional> virtualHardDiskName() {
        return Optional.ofNullable(this.virtualHardDiskName);
    }

    private VirtualHardDiskArgs() {}

    private VirtualHardDiskArgs(VirtualHardDiskArgs $) {
        this.blockSizeBytes = $.blockSizeBytes;
        this.containerId = $.containerId;
        this.diskFileFormat = $.diskFileFormat;
        this.diskSizeGB = $.diskSizeGB;
        this.dynamic = $.dynamic;
        this.extendedLocation = $.extendedLocation;
        this.hyperVGeneration = $.hyperVGeneration;
        this.location = $.location;
        this.logicalSectorBytes = $.logicalSectorBytes;
        this.physicalSectorBytes = $.physicalSectorBytes;
        this.resourceGroupName = $.resourceGroupName;
        this.tags = $.tags;
        this.virtualHardDiskName = $.virtualHardDiskName;
    }

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

    public static final class Builder {
        private VirtualHardDiskArgs $;

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

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

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

        public Builder blockSizeBytes(Integer blockSizeBytes) {
            return blockSizeBytes(Output.of(blockSizeBytes));
        }

        /**
         * @param containerId Storage ContainerID of the storage container to be used for VHD
         * 
         * @return builder
         * 
         */
        public Builder containerId(@Nullable Output containerId) {
            $.containerId = containerId;
            return this;
        }

        /**
         * @param containerId Storage ContainerID of the storage container to be used for VHD
         * 
         * @return builder
         * 
         */
        public Builder containerId(String containerId) {
            return containerId(Output.of(containerId));
        }

        /**
         * @param diskFileFormat The format of the actual VHD file [vhd, vhdx]
         * 
         * @return builder
         * 
         */
        public Builder diskFileFormat(@Nullable Output> diskFileFormat) {
            $.diskFileFormat = diskFileFormat;
            return this;
        }

        /**
         * @param diskFileFormat The format of the actual VHD file [vhd, vhdx]
         * 
         * @return builder
         * 
         */
        public Builder diskFileFormat(Either diskFileFormat) {
            return diskFileFormat(Output.of(diskFileFormat));
        }

        /**
         * @param diskFileFormat The format of the actual VHD file [vhd, vhdx]
         * 
         * @return builder
         * 
         */
        public Builder diskFileFormat(String diskFileFormat) {
            return diskFileFormat(Either.ofLeft(diskFileFormat));
        }

        /**
         * @param diskFileFormat The format of the actual VHD file [vhd, vhdx]
         * 
         * @return builder
         * 
         */
        public Builder diskFileFormat(DiskFileFormat diskFileFormat) {
            return diskFileFormat(Either.ofRight(diskFileFormat));
        }

        /**
         * @param diskSizeGB Size of the disk in GB
         * 
         * @return builder
         * 
         */
        public Builder diskSizeGB(@Nullable Output diskSizeGB) {
            $.diskSizeGB = diskSizeGB;
            return this;
        }

        /**
         * @param diskSizeGB Size of the disk in GB
         * 
         * @return builder
         * 
         */
        public Builder diskSizeGB(Double diskSizeGB) {
            return diskSizeGB(Output.of(diskSizeGB));
        }

        /**
         * @param dynamic Boolean for enabling dynamic sizing on the virtual hard disk
         * 
         * @return builder
         * 
         */
        public Builder dynamic(@Nullable Output dynamic) {
            $.dynamic = dynamic;
            return this;
        }

        /**
         * @param dynamic Boolean for enabling dynamic sizing on the virtual hard disk
         * 
         * @return builder
         * 
         */
        public Builder dynamic(Boolean dynamic) {
            return dynamic(Output.of(dynamic));
        }

        /**
         * @param extendedLocation The extendedLocation of the resource.
         * 
         * @return builder
         * 
         */
        public Builder extendedLocation(@Nullable Output extendedLocation) {
            $.extendedLocation = extendedLocation;
            return this;
        }

        /**
         * @param extendedLocation The extendedLocation of the resource.
         * 
         * @return builder
         * 
         */
        public Builder extendedLocation(ExtendedLocationArgs extendedLocation) {
            return extendedLocation(Output.of(extendedLocation));
        }

        /**
         * @param hyperVGeneration The hypervisor generation of the Virtual Machine [V1, V2]
         * 
         * @return builder
         * 
         */
        public Builder hyperVGeneration(@Nullable Output> hyperVGeneration) {
            $.hyperVGeneration = hyperVGeneration;
            return this;
        }

        /**
         * @param hyperVGeneration The hypervisor generation of the Virtual Machine [V1, V2]
         * 
         * @return builder
         * 
         */
        public Builder hyperVGeneration(Either hyperVGeneration) {
            return hyperVGeneration(Output.of(hyperVGeneration));
        }

        /**
         * @param hyperVGeneration The hypervisor generation of the Virtual Machine [V1, V2]
         * 
         * @return builder
         * 
         */
        public Builder hyperVGeneration(String hyperVGeneration) {
            return hyperVGeneration(Either.ofLeft(hyperVGeneration));
        }

        /**
         * @param hyperVGeneration The hypervisor generation of the Virtual Machine [V1, V2]
         * 
         * @return builder
         * 
         */
        public Builder hyperVGeneration(HyperVGeneration hyperVGeneration) {
            return hyperVGeneration(Either.ofRight(hyperVGeneration));
        }

        /**
         * @param location The geo-location where the resource lives
         * 
         * @return builder
         * 
         */
        public Builder location(@Nullable Output location) {
            $.location = location;
            return this;
        }

        /**
         * @param location The geo-location where the resource lives
         * 
         * @return builder
         * 
         */
        public Builder location(String location) {
            return location(Output.of(location));
        }

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

        public Builder logicalSectorBytes(Integer logicalSectorBytes) {
            return logicalSectorBytes(Output.of(logicalSectorBytes));
        }

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

        public Builder physicalSectorBytes(Integer physicalSectorBytes) {
            return physicalSectorBytes(Output.of(physicalSectorBytes));
        }

        /**
         * @param resourceGroupName The name of the resource group. The name is case insensitive.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The name of the resource group. The name is case insensitive.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param tags Resource tags.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags Resource tags.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param virtualHardDiskName Name of the virtual hard disk
         * 
         * @return builder
         * 
         */
        public Builder virtualHardDiskName(@Nullable Output virtualHardDiskName) {
            $.virtualHardDiskName = virtualHardDiskName;
            return this;
        }

        /**
         * @param virtualHardDiskName Name of the virtual hard disk
         * 
         * @return builder
         * 
         */
        public Builder virtualHardDiskName(String virtualHardDiskName) {
            return virtualHardDiskName(Output.of(virtualHardDiskName));
        }

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

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy