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

com.pulumi.azurenative.marketplace.PrivateStoreCollectionOfferArgs 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.marketplace;

import com.pulumi.azurenative.marketplace.inputs.PlanArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final PrivateStoreCollectionOfferArgs Empty = new PrivateStoreCollectionOfferArgs();

    /**
     * The collection ID
     * 
     */
    @Import(name="collectionId", required=true)
    private Output collectionId;

    /**
     * @return The collection ID
     * 
     */
    public Output collectionId() {
        return this.collectionId;
    }

    /**
     * Identifier for purposes of race condition
     * 
     */
    @Import(name="eTag")
    private @Nullable Output eTag;

    /**
     * @return Identifier for purposes of race condition
     * 
     */
    public Optional> eTag() {
        return Optional.ofNullable(this.eTag);
    }

    /**
     * Icon File Uris
     * 
     */
    @Import(name="iconFileUris")
    private @Nullable Output> iconFileUris;

    /**
     * @return Icon File Uris
     * 
     */
    public Optional>> iconFileUris() {
        return Optional.ofNullable(this.iconFileUris);
    }

    /**
     * The offer ID to update or delete
     * 
     */
    @Import(name="offerId")
    private @Nullable Output offerId;

    /**
     * @return The offer ID to update or delete
     * 
     */
    public Optional> offerId() {
        return Optional.ofNullable(this.offerId);
    }

    /**
     * Offer plans
     * 
     */
    @Import(name="plans")
    private @Nullable Output> plans;

    /**
     * @return Offer plans
     * 
     */
    public Optional>> plans() {
        return Optional.ofNullable(this.plans);
    }

    /**
     * The store ID - must use the tenant ID
     * 
     */
    @Import(name="privateStoreId", required=true)
    private Output privateStoreId;

    /**
     * @return The store ID - must use the tenant ID
     * 
     */
    public Output privateStoreId() {
        return this.privateStoreId;
    }

    /**
     * Plan ids limitation for this offer
     * 
     */
    @Import(name="specificPlanIdsLimitation")
    private @Nullable Output> specificPlanIdsLimitation;

    /**
     * @return Plan ids limitation for this offer
     * 
     */
    public Optional>> specificPlanIdsLimitation() {
        return Optional.ofNullable(this.specificPlanIdsLimitation);
    }

    /**
     * Indicating whether the offer was not updated to db (true = not updated). If the allow list is identical to the existed one in db, the offer would not be updated.
     * 
     */
    @Import(name="updateSuppressedDueIdempotence")
    private @Nullable Output updateSuppressedDueIdempotence;

    /**
     * @return Indicating whether the offer was not updated to db (true = not updated). If the allow list is identical to the existed one in db, the offer would not be updated.
     * 
     */
    public Optional> updateSuppressedDueIdempotence() {
        return Optional.ofNullable(this.updateSuppressedDueIdempotence);
    }

    private PrivateStoreCollectionOfferArgs() {}

    private PrivateStoreCollectionOfferArgs(PrivateStoreCollectionOfferArgs $) {
        this.collectionId = $.collectionId;
        this.eTag = $.eTag;
        this.iconFileUris = $.iconFileUris;
        this.offerId = $.offerId;
        this.plans = $.plans;
        this.privateStoreId = $.privateStoreId;
        this.specificPlanIdsLimitation = $.specificPlanIdsLimitation;
        this.updateSuppressedDueIdempotence = $.updateSuppressedDueIdempotence;
    }

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

    public static final class Builder {
        private PrivateStoreCollectionOfferArgs $;

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

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

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

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

        /**
         * @param eTag Identifier for purposes of race condition
         * 
         * @return builder
         * 
         */
        public Builder eTag(@Nullable Output eTag) {
            $.eTag = eTag;
            return this;
        }

        /**
         * @param eTag Identifier for purposes of race condition
         * 
         * @return builder
         * 
         */
        public Builder eTag(String eTag) {
            return eTag(Output.of(eTag));
        }

        /**
         * @param iconFileUris Icon File Uris
         * 
         * @return builder
         * 
         */
        public Builder iconFileUris(@Nullable Output> iconFileUris) {
            $.iconFileUris = iconFileUris;
            return this;
        }

        /**
         * @param iconFileUris Icon File Uris
         * 
         * @return builder
         * 
         */
        public Builder iconFileUris(Map iconFileUris) {
            return iconFileUris(Output.of(iconFileUris));
        }

        /**
         * @param offerId The offer ID to update or delete
         * 
         * @return builder
         * 
         */
        public Builder offerId(@Nullable Output offerId) {
            $.offerId = offerId;
            return this;
        }

        /**
         * @param offerId The offer ID to update or delete
         * 
         * @return builder
         * 
         */
        public Builder offerId(String offerId) {
            return offerId(Output.of(offerId));
        }

        /**
         * @param plans Offer plans
         * 
         * @return builder
         * 
         */
        public Builder plans(@Nullable Output> plans) {
            $.plans = plans;
            return this;
        }

        /**
         * @param plans Offer plans
         * 
         * @return builder
         * 
         */
        public Builder plans(List plans) {
            return plans(Output.of(plans));
        }

        /**
         * @param plans Offer plans
         * 
         * @return builder
         * 
         */
        public Builder plans(PlanArgs... plans) {
            return plans(List.of(plans));
        }

        /**
         * @param privateStoreId The store ID - must use the tenant ID
         * 
         * @return builder
         * 
         */
        public Builder privateStoreId(Output privateStoreId) {
            $.privateStoreId = privateStoreId;
            return this;
        }

        /**
         * @param privateStoreId The store ID - must use the tenant ID
         * 
         * @return builder
         * 
         */
        public Builder privateStoreId(String privateStoreId) {
            return privateStoreId(Output.of(privateStoreId));
        }

        /**
         * @param specificPlanIdsLimitation Plan ids limitation for this offer
         * 
         * @return builder
         * 
         */
        public Builder specificPlanIdsLimitation(@Nullable Output> specificPlanIdsLimitation) {
            $.specificPlanIdsLimitation = specificPlanIdsLimitation;
            return this;
        }

        /**
         * @param specificPlanIdsLimitation Plan ids limitation for this offer
         * 
         * @return builder
         * 
         */
        public Builder specificPlanIdsLimitation(List specificPlanIdsLimitation) {
            return specificPlanIdsLimitation(Output.of(specificPlanIdsLimitation));
        }

        /**
         * @param specificPlanIdsLimitation Plan ids limitation for this offer
         * 
         * @return builder
         * 
         */
        public Builder specificPlanIdsLimitation(String... specificPlanIdsLimitation) {
            return specificPlanIdsLimitation(List.of(specificPlanIdsLimitation));
        }

        /**
         * @param updateSuppressedDueIdempotence Indicating whether the offer was not updated to db (true = not updated). If the allow list is identical to the existed one in db, the offer would not be updated.
         * 
         * @return builder
         * 
         */
        public Builder updateSuppressedDueIdempotence(@Nullable Output updateSuppressedDueIdempotence) {
            $.updateSuppressedDueIdempotence = updateSuppressedDueIdempotence;
            return this;
        }

        /**
         * @param updateSuppressedDueIdempotence Indicating whether the offer was not updated to db (true = not updated). If the allow list is identical to the existed one in db, the offer would not be updated.
         * 
         * @return builder
         * 
         */
        public Builder updateSuppressedDueIdempotence(Boolean updateSuppressedDueIdempotence) {
            return updateSuppressedDueIdempotence(Output.of(updateSuppressedDueIdempotence));
        }

        public PrivateStoreCollectionOfferArgs build() {
            if ($.collectionId == null) {
                throw new MissingRequiredPropertyException("PrivateStoreCollectionOfferArgs", "collectionId");
            }
            if ($.privateStoreId == null) {
                throw new MissingRequiredPropertyException("PrivateStoreCollectionOfferArgs", "privateStoreId");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy