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

com.pulumi.azurenative.servicefabric.inputs.VmImagePlanArgs 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.servicefabric.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 marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click Want to deploy programmatically, Get Started ->. Enter any required information and then click Save.
 * 
 */
public final class VmImagePlanArgs extends com.pulumi.resources.ResourceArgs {

    public static final VmImagePlanArgs Empty = new VmImagePlanArgs();

    /**
     * The plan ID.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return The plan ID.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
     * 
     */
    @Import(name="product")
    private @Nullable Output product;

    /**
     * @return Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
     * 
     */
    public Optional> product() {
        return Optional.ofNullable(this.product);
    }

    /**
     * The promotion code.
     * 
     */
    @Import(name="promotionCode")
    private @Nullable Output promotionCode;

    /**
     * @return The promotion code.
     * 
     */
    public Optional> promotionCode() {
        return Optional.ofNullable(this.promotionCode);
    }

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

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

    private VmImagePlanArgs() {}

    private VmImagePlanArgs(VmImagePlanArgs $) {
        this.name = $.name;
        this.product = $.product;
        this.promotionCode = $.promotionCode;
        this.publisher = $.publisher;
    }

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

    public static final class Builder {
        private VmImagePlanArgs $;

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

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

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

        /**
         * @param name The plan ID.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param product Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
         * 
         * @return builder
         * 
         */
        public Builder product(@Nullable Output product) {
            $.product = product;
            return this;
        }

        /**
         * @param product Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element.
         * 
         * @return builder
         * 
         */
        public Builder product(String product) {
            return product(Output.of(product));
        }

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

        /**
         * @param promotionCode The promotion code.
         * 
         * @return builder
         * 
         */
        public Builder promotionCode(String promotionCode) {
            return promotionCode(Output.of(promotionCode));
        }

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

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

        public VmImagePlanArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy