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

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

import com.pulumi.azurenative.saas.enums.PaymentChannelType;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.Double;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * properties for creation saas
 * 
 */
public final class SaasCreationPropertiesArgs extends com.pulumi.resources.ResourceArgs {

    public static final SaasCreationPropertiesArgs Empty = new SaasCreationPropertiesArgs();

    /**
     * Whether the SaaS subscription will auto renew upon term end.
     * 
     */
    @Import(name="autoRenew")
    private @Nullable Output autoRenew;

    /**
     * @return Whether the SaaS subscription will auto renew upon term end.
     * 
     */
    public Optional> autoRenew() {
        return Optional.ofNullable(this.autoRenew);
    }

    /**
     * The offer id.
     * 
     */
    @Import(name="offerId")
    private @Nullable Output offerId;

    /**
     * @return The offer id.
     * 
     */
    public Optional> offerId() {
        return Optional.ofNullable(this.offerId);
    }

    /**
     * The metadata about the SaaS subscription such as the AzureSubscriptionId and ResourceUri.
     * 
     */
    @Import(name="paymentChannelMetadata")
    private @Nullable Output> paymentChannelMetadata;

    /**
     * @return The metadata about the SaaS subscription such as the AzureSubscriptionId and ResourceUri.
     * 
     */
    public Optional>> paymentChannelMetadata() {
        return Optional.ofNullable(this.paymentChannelMetadata);
    }

    /**
     * The Payment channel for the SaasSubscription.
     * 
     */
    @Import(name="paymentChannelType")
    private @Nullable Output> paymentChannelType;

    /**
     * @return The Payment channel for the SaasSubscription.
     * 
     */
    public Optional>> paymentChannelType() {
        return Optional.ofNullable(this.paymentChannelType);
    }

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

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

    /**
     * The environment in the publisher side for this resource.
     * 
     */
    @Import(name="publisherTestEnvironment")
    private @Nullable Output publisherTestEnvironment;

    /**
     * @return The environment in the publisher side for this resource.
     * 
     */
    public Optional> publisherTestEnvironment() {
        return Optional.ofNullable(this.publisherTestEnvironment);
    }

    /**
     * The seat count.
     * 
     */
    @Import(name="quantity")
    private @Nullable Output quantity;

    /**
     * @return The seat count.
     * 
     */
    public Optional> quantity() {
        return Optional.ofNullable(this.quantity);
    }

    /**
     * The SaaS resource name.
     * 
     */
    @Import(name="saasResourceName")
    private @Nullable Output saasResourceName;

    /**
     * @return The SaaS resource name.
     * 
     */
    public Optional> saasResourceName() {
        return Optional.ofNullable(this.saasResourceName);
    }

    /**
     * The saas session id used for dev service migration request.
     * 
     */
    @Import(name="saasSessionId")
    private @Nullable Output saasSessionId;

    /**
     * @return The saas session id used for dev service migration request.
     * 
     */
    public Optional> saasSessionId() {
        return Optional.ofNullable(this.saasSessionId);
    }

    /**
     * The saas subscription id used for tenant to subscription level migration request.
     * 
     */
    @Import(name="saasSubscriptionId")
    private @Nullable Output saasSubscriptionId;

    /**
     * @return The saas subscription id used for tenant to subscription level migration request.
     * 
     */
    public Optional> saasSubscriptionId() {
        return Optional.ofNullable(this.saasSubscriptionId);
    }

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

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

    /**
     * The current Term id.
     * 
     */
    @Import(name="termId")
    private @Nullable Output termId;

    /**
     * @return The current Term id.
     * 
     */
    public Optional> termId() {
        return Optional.ofNullable(this.termId);
    }

    private SaasCreationPropertiesArgs() {}

    private SaasCreationPropertiesArgs(SaasCreationPropertiesArgs $) {
        this.autoRenew = $.autoRenew;
        this.offerId = $.offerId;
        this.paymentChannelMetadata = $.paymentChannelMetadata;
        this.paymentChannelType = $.paymentChannelType;
        this.publisherId = $.publisherId;
        this.publisherTestEnvironment = $.publisherTestEnvironment;
        this.quantity = $.quantity;
        this.saasResourceName = $.saasResourceName;
        this.saasSessionId = $.saasSessionId;
        this.saasSubscriptionId = $.saasSubscriptionId;
        this.skuId = $.skuId;
        this.termId = $.termId;
    }

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

    public static final class Builder {
        private SaasCreationPropertiesArgs $;

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

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

        /**
         * @param autoRenew Whether the SaaS subscription will auto renew upon term end.
         * 
         * @return builder
         * 
         */
        public Builder autoRenew(@Nullable Output autoRenew) {
            $.autoRenew = autoRenew;
            return this;
        }

        /**
         * @param autoRenew Whether the SaaS subscription will auto renew upon term end.
         * 
         * @return builder
         * 
         */
        public Builder autoRenew(Boolean autoRenew) {
            return autoRenew(Output.of(autoRenew));
        }

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

        /**
         * @param offerId The offer id.
         * 
         * @return builder
         * 
         */
        public Builder offerId(String offerId) {
            return offerId(Output.of(offerId));
        }

        /**
         * @param paymentChannelMetadata The metadata about the SaaS subscription such as the AzureSubscriptionId and ResourceUri.
         * 
         * @return builder
         * 
         */
        public Builder paymentChannelMetadata(@Nullable Output> paymentChannelMetadata) {
            $.paymentChannelMetadata = paymentChannelMetadata;
            return this;
        }

        /**
         * @param paymentChannelMetadata The metadata about the SaaS subscription such as the AzureSubscriptionId and ResourceUri.
         * 
         * @return builder
         * 
         */
        public Builder paymentChannelMetadata(Map paymentChannelMetadata) {
            return paymentChannelMetadata(Output.of(paymentChannelMetadata));
        }

        /**
         * @param paymentChannelType The Payment channel for the SaasSubscription.
         * 
         * @return builder
         * 
         */
        public Builder paymentChannelType(@Nullable Output> paymentChannelType) {
            $.paymentChannelType = paymentChannelType;
            return this;
        }

        /**
         * @param paymentChannelType The Payment channel for the SaasSubscription.
         * 
         * @return builder
         * 
         */
        public Builder paymentChannelType(Either paymentChannelType) {
            return paymentChannelType(Output.of(paymentChannelType));
        }

        /**
         * @param paymentChannelType The Payment channel for the SaasSubscription.
         * 
         * @return builder
         * 
         */
        public Builder paymentChannelType(String paymentChannelType) {
            return paymentChannelType(Either.ofLeft(paymentChannelType));
        }

        /**
         * @param paymentChannelType The Payment channel for the SaasSubscription.
         * 
         * @return builder
         * 
         */
        public Builder paymentChannelType(PaymentChannelType paymentChannelType) {
            return paymentChannelType(Either.ofRight(paymentChannelType));
        }

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

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

        /**
         * @param publisherTestEnvironment The environment in the publisher side for this resource.
         * 
         * @return builder
         * 
         */
        public Builder publisherTestEnvironment(@Nullable Output publisherTestEnvironment) {
            $.publisherTestEnvironment = publisherTestEnvironment;
            return this;
        }

        /**
         * @param publisherTestEnvironment The environment in the publisher side for this resource.
         * 
         * @return builder
         * 
         */
        public Builder publisherTestEnvironment(String publisherTestEnvironment) {
            return publisherTestEnvironment(Output.of(publisherTestEnvironment));
        }

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

        /**
         * @param quantity The seat count.
         * 
         * @return builder
         * 
         */
        public Builder quantity(Double quantity) {
            return quantity(Output.of(quantity));
        }

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

        /**
         * @param saasResourceName The SaaS resource name.
         * 
         * @return builder
         * 
         */
        public Builder saasResourceName(String saasResourceName) {
            return saasResourceName(Output.of(saasResourceName));
        }

        /**
         * @param saasSessionId The saas session id used for dev service migration request.
         * 
         * @return builder
         * 
         */
        public Builder saasSessionId(@Nullable Output saasSessionId) {
            $.saasSessionId = saasSessionId;
            return this;
        }

        /**
         * @param saasSessionId The saas session id used for dev service migration request.
         * 
         * @return builder
         * 
         */
        public Builder saasSessionId(String saasSessionId) {
            return saasSessionId(Output.of(saasSessionId));
        }

        /**
         * @param saasSubscriptionId The saas subscription id used for tenant to subscription level migration request.
         * 
         * @return builder
         * 
         */
        public Builder saasSubscriptionId(@Nullable Output saasSubscriptionId) {
            $.saasSubscriptionId = saasSubscriptionId;
            return this;
        }

        /**
         * @param saasSubscriptionId The saas subscription id used for tenant to subscription level migration request.
         * 
         * @return builder
         * 
         */
        public Builder saasSubscriptionId(String saasSubscriptionId) {
            return saasSubscriptionId(Output.of(saasSubscriptionId));
        }

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

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

        /**
         * @param termId The current Term id.
         * 
         * @return builder
         * 
         */
        public Builder termId(@Nullable Output termId) {
            $.termId = termId;
            return this;
        }

        /**
         * @param termId The current Term id.
         * 
         * @return builder
         * 
         */
        public Builder termId(String termId) {
            return termId(Output.of(termId));
        }

        public SaasCreationPropertiesArgs build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy