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

com.pulumi.azurenative.workloads.inputs.ImageReferenceArgs 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.workloads.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();

    /**
     * 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);
    }

    /**
     * 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.
     * 
     */
    @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.
     * 
     */
    public Optional> version() {
        return Optional.ofNullable(this.version);
    }

    private ImageReferenceArgs() {}

    private ImageReferenceArgs(ImageReferenceArgs $) {
        this.offer = $.offer;
        this.publisher = $.publisher;
        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 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 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.
         * 
         * @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.
         * 
         * @return builder
         * 
         */
        public Builder version(String version) {
            return version(Output.of(version));
        }

        public ImageReferenceArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy