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

com.pulumi.azurenative.compute.outputs.GalleryDataDiskImageResponse 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.outputs;

import com.pulumi.azurenative.compute.outputs.GalleryDiskImageSourceResponse;
import com.pulumi.core.annotations.CustomType;
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;

@CustomType
public final class GalleryDataDiskImageResponse {
    /**
     * @return The host caching of the disk. Valid values are 'None', 'ReadOnly', and 'ReadWrite'
     * 
     */
    private @Nullable String hostCaching;
    /**
     * @return This property specifies the logical unit number of the data disk. This value is used to identify data disks within the Virtual Machine and therefore must be unique for each data disk attached to the Virtual Machine.
     * 
     */
    private Integer lun;
    /**
     * @return This property indicates the size of the VHD to be created.
     * 
     */
    private Integer sizeInGB;
    /**
     * @return The source for the disk image.
     * 
     */
    private @Nullable GalleryDiskImageSourceResponse source;

    private GalleryDataDiskImageResponse() {}
    /**
     * @return The host caching of the disk. Valid values are 'None', 'ReadOnly', and 'ReadWrite'
     * 
     */
    public Optional hostCaching() {
        return Optional.ofNullable(this.hostCaching);
    }
    /**
     * @return This property specifies the logical unit number of the data disk. This value is used to identify data disks within the Virtual Machine and therefore must be unique for each data disk attached to the Virtual Machine.
     * 
     */
    public Integer lun() {
        return this.lun;
    }
    /**
     * @return This property indicates the size of the VHD to be created.
     * 
     */
    public Integer sizeInGB() {
        return this.sizeInGB;
    }
    /**
     * @return The source for the disk image.
     * 
     */
    public Optional source() {
        return Optional.ofNullable(this.source);
    }

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

    public static Builder builder(GalleryDataDiskImageResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable String hostCaching;
        private Integer lun;
        private Integer sizeInGB;
        private @Nullable GalleryDiskImageSourceResponse source;
        public Builder() {}
        public Builder(GalleryDataDiskImageResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.hostCaching = defaults.hostCaching;
    	      this.lun = defaults.lun;
    	      this.sizeInGB = defaults.sizeInGB;
    	      this.source = defaults.source;
        }

        @CustomType.Setter
        public Builder hostCaching(@Nullable String hostCaching) {

            this.hostCaching = hostCaching;
            return this;
        }
        @CustomType.Setter
        public Builder lun(Integer lun) {
            if (lun == null) {
              throw new MissingRequiredPropertyException("GalleryDataDiskImageResponse", "lun");
            }
            this.lun = lun;
            return this;
        }
        @CustomType.Setter
        public Builder sizeInGB(Integer sizeInGB) {
            if (sizeInGB == null) {
              throw new MissingRequiredPropertyException("GalleryDataDiskImageResponse", "sizeInGB");
            }
            this.sizeInGB = sizeInGB;
            return this;
        }
        @CustomType.Setter
        public Builder source(@Nullable GalleryDiskImageSourceResponse source) {

            this.source = source;
            return this;
        }
        public GalleryDataDiskImageResponse build() {
            final var _resultValue = new GalleryDataDiskImageResponse();
            _resultValue.hostCaching = hostCaching;
            _resultValue.lun = lun;
            _resultValue.sizeInGB = sizeInGB;
            _resultValue.source = source;
            return _resultValue;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy