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

com.pulumi.azurenative.compute.outputs.ImageReferenceResponse Maven / Gradle / Ivy

There is a newer version: 2.82.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.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class ImageReferenceResponse {
    /**
     * @return Specified the community gallery image unique id for vm deployment. This can be fetched from community gallery image GET call.
     * 
     */
    private @Nullable String communityGalleryImageId;
    /**
     * @return Specifies in decimal numbers, the version of platform image or marketplace image used to create the virtual machine. This readonly field differs from 'version', only if the value specified in 'version' field is 'latest'.
     * 
     */
    private String exactVersion;
    /**
     * @return Resource Id
     * 
     */
    private @Nullable String id;
    /**
     * @return Specifies the offer of the platform image or marketplace image used to create the virtual machine.
     * 
     */
    private @Nullable String offer;
    /**
     * @return The image publisher.
     * 
     */
    private @Nullable String publisher;
    /**
     * @return Specified the shared gallery image unique id for vm deployment. This can be fetched from shared gallery image GET call.
     * 
     */
    private @Nullable String sharedGalleryImageId;
    /**
     * @return The image SKU.
     * 
     */
    private @Nullable String sku;
    /**
     * @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.
     * 
     */
    private @Nullable String version;

    private ImageReferenceResponse() {}
    /**
     * @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);
    }
    /**
     * @return Specifies in decimal numbers, the version of platform image or marketplace image used to create the virtual machine. This readonly field differs from 'version', only if the value specified in 'version' field is 'latest'.
     * 
     */
    public String exactVersion() {
        return this.exactVersion;
    }
    /**
     * @return Resource Id
     * 
     */
    public Optional id() {
        return Optional.ofNullable(this.id);
    }
    /**
     * @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);
    }
    /**
     * @return The image publisher.
     * 
     */
    public Optional publisher() {
        return Optional.ofNullable(this.publisher);
    }
    /**
     * @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);
    }
    /**
     * @return The image SKU.
     * 
     */
    public Optional sku() {
        return Optional.ofNullable(this.sku);
    }
    /**
     * @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);
    }

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

    public static Builder builder(ImageReferenceResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable String communityGalleryImageId;
        private String exactVersion;
        private @Nullable String id;
        private @Nullable String offer;
        private @Nullable String publisher;
        private @Nullable String sharedGalleryImageId;
        private @Nullable String sku;
        private @Nullable String version;
        public Builder() {}
        public Builder(ImageReferenceResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.communityGalleryImageId = defaults.communityGalleryImageId;
    	      this.exactVersion = defaults.exactVersion;
    	      this.id = defaults.id;
    	      this.offer = defaults.offer;
    	      this.publisher = defaults.publisher;
    	      this.sharedGalleryImageId = defaults.sharedGalleryImageId;
    	      this.sku = defaults.sku;
    	      this.version = defaults.version;
        }

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

            this.communityGalleryImageId = communityGalleryImageId;
            return this;
        }
        @CustomType.Setter
        public Builder exactVersion(String exactVersion) {
            if (exactVersion == null) {
              throw new MissingRequiredPropertyException("ImageReferenceResponse", "exactVersion");
            }
            this.exactVersion = exactVersion;
            return this;
        }
        @CustomType.Setter
        public Builder id(@Nullable String id) {

            this.id = id;
            return this;
        }
        @CustomType.Setter
        public Builder offer(@Nullable String offer) {

            this.offer = offer;
            return this;
        }
        @CustomType.Setter
        public Builder publisher(@Nullable String publisher) {

            this.publisher = publisher;
            return this;
        }
        @CustomType.Setter
        public Builder sharedGalleryImageId(@Nullable String sharedGalleryImageId) {

            this.sharedGalleryImageId = sharedGalleryImageId;
            return this;
        }
        @CustomType.Setter
        public Builder sku(@Nullable String sku) {

            this.sku = sku;
            return this;
        }
        @CustomType.Setter
        public Builder version(@Nullable String version) {

            this.version = version;
            return this;
        }
        public ImageReferenceResponse build() {
            final var _resultValue = new ImageReferenceResponse();
            _resultValue.communityGalleryImageId = communityGalleryImageId;
            _resultValue.exactVersion = exactVersion;
            _resultValue.id = id;
            _resultValue.offer = offer;
            _resultValue.publisher = publisher;
            _resultValue.sharedGalleryImageId = sharedGalleryImageId;
            _resultValue.sku = sku;
            _resultValue.version = version;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy