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

com.pulumi.azurenative.compute.inputs.ImageReferenceArgs Maven / Gradle / Ivy

There is a newer version: 2.72.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.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set.
 * 
 */
public final class ImageReferenceArgs extends com.pulumi.resources.ResourceArgs {

    public static final ImageReferenceArgs Empty = new ImageReferenceArgs();

    /**
     * Specified the community gallery image unique id for vm deployment. This can be fetched from community gallery image GET call.
     * 
     */
    @Import(name="communityGalleryImageId")
    private @Nullable Output communityGalleryImageId;

    /**
     * @return Specified the community gallery image unique id for vm deployment. This can be fetched from community gallery image GET call.
     * 
     */
    public Optional> communityGalleryImageId() {
        return Optional.ofNullable(this.communityGalleryImageId);
    }

    /**
     * Resource Id
     * 
     */
    @Import(name="id")
    private @Nullable Output id;

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

    /**
     * Specifies the offer of the platform image or marketplace image used to create the virtual machine.
     * 
     */
    @Import(name="offer")
    private @Nullable Output offer;

    /**
     * @return Specifies the offer of the platform image or marketplace image used to create the virtual machine.
     * 
     */
    public Optional> offer() {
        return Optional.ofNullable(this.offer);
    }

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

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

    /**
     * Specified the shared gallery image unique id for vm deployment. This can be fetched from shared gallery image GET call.
     * 
     */
    @Import(name="sharedGalleryImageId")
    private @Nullable Output sharedGalleryImageId;

    /**
     * @return Specified the shared gallery image unique id for vm deployment. This can be fetched from shared gallery image GET call.
     * 
     */
    public Optional> sharedGalleryImageId() {
        return Optional.ofNullable(this.sharedGalleryImageId);
    }

    /**
     * The image SKU.
     * 
     */
    @Import(name="sku")
    private @Nullable Output sku;

    /**
     * @return The image SKU.
     * 
     */
    public Optional> sku() {
        return Optional.ofNullable(this.sku);
    }

    /**
     * Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available. Please do not use field 'version' for gallery image deployment, gallery image should always use 'id' field for deployment, to use 'latest' version of gallery image, just set '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageName}' in the 'id' field without version input.
     * 
     */
    @Import(name="version")
    private @Nullable Output version;

    /**
     * @return Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available. Please do not use field 'version' for gallery image deployment, gallery image should always use 'id' field for deployment, to use 'latest' version of gallery image, just set '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageName}' in the 'id' field without version input.
     * 
     */
    public Optional> version() {
        return Optional.ofNullable(this.version);
    }

    private ImageReferenceArgs() {}

    private ImageReferenceArgs(ImageReferenceArgs $) {
        this.communityGalleryImageId = $.communityGalleryImageId;
        this.id = $.id;
        this.offer = $.offer;
        this.publisher = $.publisher;
        this.sharedGalleryImageId = $.sharedGalleryImageId;
        this.sku = $.sku;
        this.version = $.version;
    }

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

    public static final class Builder {
        private ImageReferenceArgs $;

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

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

        /**
         * @param communityGalleryImageId Specified the community gallery image unique id for vm deployment. This can be fetched from community gallery image GET call.
         * 
         * @return builder
         * 
         */
        public Builder communityGalleryImageId(@Nullable Output communityGalleryImageId) {
            $.communityGalleryImageId = communityGalleryImageId;
            return this;
        }

        /**
         * @param communityGalleryImageId Specified the community gallery image unique id for vm deployment. This can be fetched from community gallery image GET call.
         * 
         * @return builder
         * 
         */
        public Builder communityGalleryImageId(String communityGalleryImageId) {
            return communityGalleryImageId(Output.of(communityGalleryImageId));
        }

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

        /**
         * @param id Resource Id
         * 
         * @return builder
         * 
         */
        public Builder id(String id) {
            return id(Output.of(id));
        }

        /**
         * @param offer Specifies the offer of the platform image or marketplace image used to create the virtual machine.
         * 
         * @return builder
         * 
         */
        public Builder offer(@Nullable Output offer) {
            $.offer = offer;
            return this;
        }

        /**
         * @param offer Specifies the offer of the platform image or marketplace image used to create the virtual machine.
         * 
         * @return builder
         * 
         */
        public Builder offer(String offer) {
            return offer(Output.of(offer));
        }

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

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

        /**
         * @param sharedGalleryImageId Specified the shared gallery image unique id for vm deployment. This can be fetched from shared gallery image GET call.
         * 
         * @return builder
         * 
         */
        public Builder sharedGalleryImageId(@Nullable Output sharedGalleryImageId) {
            $.sharedGalleryImageId = sharedGalleryImageId;
            return this;
        }

        /**
         * @param sharedGalleryImageId Specified the shared gallery image unique id for vm deployment. This can be fetched from shared gallery image GET call.
         * 
         * @return builder
         * 
         */
        public Builder sharedGalleryImageId(String sharedGalleryImageId) {
            return sharedGalleryImageId(Output.of(sharedGalleryImageId));
        }

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

        /**
         * @param sku The image SKU.
         * 
         * @return builder
         * 
         */
        public Builder sku(String sku) {
            return sku(Output.of(sku));
        }

        /**
         * @param version Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available. Please do not use field 'version' for gallery image deployment, gallery image should always use 'id' field for deployment, to use 'latest' version of gallery image, just set '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageName}' in the 'id' field without version input.
         * 
         * @return builder
         * 
         */
        public Builder version(@Nullable Output version) {
            $.version = version;
            return this;
        }

        /**
         * @param version Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available. Please do not use field 'version' for gallery image deployment, gallery image should always use 'id' field for deployment, to use 'latest' version of gallery image, just set '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{imageName}' in the 'id' field without version input.
         * 
         * @return builder
         * 
         */
        public Builder version(String version) {
            return version(Output.of(version));
        }

        public ImageReferenceArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy