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

com.pulumi.azurenative.compute.inputs.ImageDiskReferenceArgs 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.inputs;

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;


/**
 * The source image used for creating the disk.
 * 
 */
public final class ImageDiskReferenceArgs extends com.pulumi.resources.ResourceArgs {

    public static final ImageDiskReferenceArgs Empty = new ImageDiskReferenceArgs();

    /**
     * A relative uri containing a community Azure Compute Gallery image reference.
     * 
     */
    @Import(name="communityGalleryImageId")
    private @Nullable Output communityGalleryImageId;

    /**
     * @return A relative uri containing a community Azure Compute Gallery image reference.
     * 
     */
    public Optional> communityGalleryImageId() {
        return Optional.ofNullable(this.communityGalleryImageId);
    }

    /**
     * A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image reference.
     * 
     */
    @Import(name="id")
    private @Nullable Output id;

    /**
     * @return A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image reference.
     * 
     */
    public Optional> id() {
        return Optional.ofNullable(this.id);
    }

    /**
     * If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null.
     * 
     */
    @Import(name="lun")
    private @Nullable Output lun;

    /**
     * @return If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null.
     * 
     */
    public Optional> lun() {
        return Optional.ofNullable(this.lun);
    }

    /**
     * A relative uri containing a direct shared Azure Compute Gallery image reference.
     * 
     */
    @Import(name="sharedGalleryImageId")
    private @Nullable Output sharedGalleryImageId;

    /**
     * @return A relative uri containing a direct shared Azure Compute Gallery image reference.
     * 
     */
    public Optional> sharedGalleryImageId() {
        return Optional.ofNullable(this.sharedGalleryImageId);
    }

    private ImageDiskReferenceArgs() {}

    private ImageDiskReferenceArgs(ImageDiskReferenceArgs $) {
        this.communityGalleryImageId = $.communityGalleryImageId;
        this.id = $.id;
        this.lun = $.lun;
        this.sharedGalleryImageId = $.sharedGalleryImageId;
    }

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

    public static final class Builder {
        private ImageDiskReferenceArgs $;

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

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

        /**
         * @param communityGalleryImageId A relative uri containing a community Azure Compute Gallery image reference.
         * 
         * @return builder
         * 
         */
        public Builder communityGalleryImageId(@Nullable Output communityGalleryImageId) {
            $.communityGalleryImageId = communityGalleryImageId;
            return this;
        }

        /**
         * @param communityGalleryImageId A relative uri containing a community Azure Compute Gallery image reference.
         * 
         * @return builder
         * 
         */
        public Builder communityGalleryImageId(String communityGalleryImageId) {
            return communityGalleryImageId(Output.of(communityGalleryImageId));
        }

        /**
         * @param id A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image reference.
         * 
         * @return builder
         * 
         */
        public Builder id(@Nullable Output id) {
            $.id = id;
            return this;
        }

        /**
         * @param id A relative uri containing either a Platform Image Repository, user image, or Azure Compute Gallery image reference.
         * 
         * @return builder
         * 
         */
        public Builder id(String id) {
            return id(Output.of(id));
        }

        /**
         * @param lun If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null.
         * 
         * @return builder
         * 
         */
        public Builder lun(@Nullable Output lun) {
            $.lun = lun;
            return this;
        }

        /**
         * @param lun If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null.
         * 
         * @return builder
         * 
         */
        public Builder lun(Integer lun) {
            return lun(Output.of(lun));
        }

        /**
         * @param sharedGalleryImageId A relative uri containing a direct shared Azure Compute Gallery image reference.
         * 
         * @return builder
         * 
         */
        public Builder sharedGalleryImageId(@Nullable Output sharedGalleryImageId) {
            $.sharedGalleryImageId = sharedGalleryImageId;
            return this;
        }

        /**
         * @param sharedGalleryImageId A relative uri containing a direct shared Azure Compute Gallery image reference.
         * 
         * @return builder
         * 
         */
        public Builder sharedGalleryImageId(String sharedGalleryImageId) {
            return sharedGalleryImageId(Output.of(sharedGalleryImageId));
        }

        public ImageDiskReferenceArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy