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

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

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final ImageReferenceArgs Empty = new ImageReferenceArgs();

    /**
     * This property is mutually exclusive with other properties. The Shared Image Gallery image must have replicas in the same region as the Azure Batch account. For information about the firewall settings for the Batch node agent to communicate with the Batch service see https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration.
     * 
     */
    @Import(name="id")
    private @Nullable Output id;

    /**
     * @return This property is mutually exclusive with other properties. The Shared Image Gallery image must have replicas in the same region as the Azure Batch account. For information about the firewall settings for the Batch node agent to communicate with the Batch service see https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration.
     * 
     */
    public Optional> id() {
        return Optional.ofNullable(this.id);
    }

    /**
     * For example, UbuntuServer or WindowsServer.
     * 
     */
    @Import(name="offer")
    private @Nullable Output offer;

    /**
     * @return For example, UbuntuServer or WindowsServer.
     * 
     */
    public Optional> offer() {
        return Optional.ofNullable(this.offer);
    }

    /**
     * For example, Canonical or MicrosoftWindowsServer.
     * 
     */
    @Import(name="publisher")
    private @Nullable Output publisher;

    /**
     * @return For example, Canonical or MicrosoftWindowsServer.
     * 
     */
    public Optional> publisher() {
        return Optional.ofNullable(this.publisher);
    }

    /**
     * For example, 18.04-LTS or 2022-datacenter.
     * 
     */
    @Import(name="sku")
    private @Nullable Output sku;

    /**
     * @return For example, 18.04-LTS or 2022-datacenter.
     * 
     */
    public Optional> sku() {
        return Optional.ofNullable(this.sku);
    }

    /**
     * A value of 'latest' can be specified to select the latest version of an image. If omitted, the default is 'latest'.
     * 
     */
    @Import(name="version")
    private @Nullable Output version;

    /**
     * @return A value of 'latest' can be specified to select the latest version of an image. If omitted, the default is 'latest'.
     * 
     */
    public Optional> version() {
        return Optional.ofNullable(this.version);
    }

    private ImageReferenceArgs() {}

    private ImageReferenceArgs(ImageReferenceArgs $) {
        this.id = $.id;
        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 id This property is mutually exclusive with other properties. The Shared Image Gallery image must have replicas in the same region as the Azure Batch account. For information about the firewall settings for the Batch node agent to communicate with the Batch service see https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration.
         * 
         * @return builder
         * 
         */
        public Builder id(@Nullable Output id) {
            $.id = id;
            return this;
        }

        /**
         * @param id This property is mutually exclusive with other properties. The Shared Image Gallery image must have replicas in the same region as the Azure Batch account. For information about the firewall settings for the Batch node agent to communicate with the Batch service see https://docs.microsoft.com/en-us/azure/batch/batch-api-basics#virtual-network-vnet-and-firewall-configuration.
         * 
         * @return builder
         * 
         */
        public Builder id(String id) {
            return id(Output.of(id));
        }

        /**
         * @param offer For example, UbuntuServer or WindowsServer.
         * 
         * @return builder
         * 
         */
        public Builder offer(@Nullable Output offer) {
            $.offer = offer;
            return this;
        }

        /**
         * @param offer For example, UbuntuServer or WindowsServer.
         * 
         * @return builder
         * 
         */
        public Builder offer(String offer) {
            return offer(Output.of(offer));
        }

        /**
         * @param publisher For example, Canonical or MicrosoftWindowsServer.
         * 
         * @return builder
         * 
         */
        public Builder publisher(@Nullable Output publisher) {
            $.publisher = publisher;
            return this;
        }

        /**
         * @param publisher For example, Canonical or MicrosoftWindowsServer.
         * 
         * @return builder
         * 
         */
        public Builder publisher(String publisher) {
            return publisher(Output.of(publisher));
        }

        /**
         * @param sku For example, 18.04-LTS or 2022-datacenter.
         * 
         * @return builder
         * 
         */
        public Builder sku(@Nullable Output sku) {
            $.sku = sku;
            return this;
        }

        /**
         * @param sku For example, 18.04-LTS or 2022-datacenter.
         * 
         * @return builder
         * 
         */
        public Builder sku(String sku) {
            return sku(Output.of(sku));
        }

        /**
         * @param version A value of 'latest' can be specified to select the latest version of an image. If omitted, the default is 'latest'.
         * 
         * @return builder
         * 
         */
        public Builder version(@Nullable Output version) {
            $.version = version;
            return this;
        }

        /**
         * @param version A value of 'latest' can be specified to select the latest version of an image. If omitted, the default is 'latest'.
         * 
         * @return builder
         * 
         */
        public Builder version(String version) {
            return version(Output.of(version));
        }

        public ImageReferenceArgs build() {
            $.version = Codegen.stringProp("version").output().arg($.version).def("latest").getNullable();
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy