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

com.pulumi.azurenative.eventgrid.ChannelArgs 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.eventgrid;

import com.pulumi.azurenative.eventgrid.enums.ChannelProvisioningState;
import com.pulumi.azurenative.eventgrid.enums.ChannelType;
import com.pulumi.azurenative.eventgrid.enums.ReadinessState;
import com.pulumi.azurenative.eventgrid.inputs.PartnerTopicInfoArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final ChannelArgs Empty = new ChannelArgs();

    /**
     * Name of the channel.
     * 
     */
    @Import(name="channelName")
    private @Nullable Output channelName;

    /**
     * @return Name of the channel.
     * 
     */
    public Optional> channelName() {
        return Optional.ofNullable(this.channelName);
    }

    /**
     * The type of the event channel which represents the direction flow of events.
     * 
     */
    @Import(name="channelType")
    private @Nullable Output> channelType;

    /**
     * @return The type of the event channel which represents the direction flow of events.
     * 
     */
    public Optional>> channelType() {
        return Optional.ofNullable(this.channelType);
    }

    /**
     * Expiration time of the channel. If this timer expires while the corresponding partner topic is never activated,
     * the channel and corresponding partner topic are deleted.
     * 
     */
    @Import(name="expirationTimeIfNotActivatedUtc")
    private @Nullable Output expirationTimeIfNotActivatedUtc;

    /**
     * @return Expiration time of the channel. If this timer expires while the corresponding partner topic is never activated,
     * the channel and corresponding partner topic are deleted.
     * 
     */
    public Optional> expirationTimeIfNotActivatedUtc() {
        return Optional.ofNullable(this.expirationTimeIfNotActivatedUtc);
    }

    /**
     * Context or helpful message that can be used during the approval process by the subscriber.
     * 
     */
    @Import(name="messageForActivation")
    private @Nullable Output messageForActivation;

    /**
     * @return Context or helpful message that can be used during the approval process by the subscriber.
     * 
     */
    public Optional> messageForActivation() {
        return Optional.ofNullable(this.messageForActivation);
    }

    /**
     * Name of the partner namespace.
     * 
     */
    @Import(name="partnerNamespaceName", required=true)
    private Output partnerNamespaceName;

    /**
     * @return Name of the partner namespace.
     * 
     */
    public Output partnerNamespaceName() {
        return this.partnerNamespaceName;
    }

    /**
     * This property should be populated when channelType is PartnerTopic and represents information about the partner topic resource corresponding to the channel.
     * 
     */
    @Import(name="partnerTopicInfo")
    private @Nullable Output partnerTopicInfo;

    /**
     * @return This property should be populated when channelType is PartnerTopic and represents information about the partner topic resource corresponding to the channel.
     * 
     */
    public Optional> partnerTopicInfo() {
        return Optional.ofNullable(this.partnerTopicInfo);
    }

    /**
     * Provisioning state of the channel.
     * 
     */
    @Import(name="provisioningState")
    private @Nullable Output> provisioningState;

    /**
     * @return Provisioning state of the channel.
     * 
     */
    public Optional>> provisioningState() {
        return Optional.ofNullable(this.provisioningState);
    }

    /**
     * The readiness state of the corresponding partner topic.
     * 
     */
    @Import(name="readinessState")
    private @Nullable Output> readinessState;

    /**
     * @return The readiness state of the corresponding partner topic.
     * 
     */
    public Optional>> readinessState() {
        return Optional.ofNullable(this.readinessState);
    }

    /**
     * The name of the resource group within the partners subscription.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return The name of the resource group within the partners subscription.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    private ChannelArgs() {}

    private ChannelArgs(ChannelArgs $) {
        this.channelName = $.channelName;
        this.channelType = $.channelType;
        this.expirationTimeIfNotActivatedUtc = $.expirationTimeIfNotActivatedUtc;
        this.messageForActivation = $.messageForActivation;
        this.partnerNamespaceName = $.partnerNamespaceName;
        this.partnerTopicInfo = $.partnerTopicInfo;
        this.provisioningState = $.provisioningState;
        this.readinessState = $.readinessState;
        this.resourceGroupName = $.resourceGroupName;
    }

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

    public static final class Builder {
        private ChannelArgs $;

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

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

        /**
         * @param channelName Name of the channel.
         * 
         * @return builder
         * 
         */
        public Builder channelName(@Nullable Output channelName) {
            $.channelName = channelName;
            return this;
        }

        /**
         * @param channelName Name of the channel.
         * 
         * @return builder
         * 
         */
        public Builder channelName(String channelName) {
            return channelName(Output.of(channelName));
        }

        /**
         * @param channelType The type of the event channel which represents the direction flow of events.
         * 
         * @return builder
         * 
         */
        public Builder channelType(@Nullable Output> channelType) {
            $.channelType = channelType;
            return this;
        }

        /**
         * @param channelType The type of the event channel which represents the direction flow of events.
         * 
         * @return builder
         * 
         */
        public Builder channelType(Either channelType) {
            return channelType(Output.of(channelType));
        }

        /**
         * @param channelType The type of the event channel which represents the direction flow of events.
         * 
         * @return builder
         * 
         */
        public Builder channelType(String channelType) {
            return channelType(Either.ofLeft(channelType));
        }

        /**
         * @param channelType The type of the event channel which represents the direction flow of events.
         * 
         * @return builder
         * 
         */
        public Builder channelType(ChannelType channelType) {
            return channelType(Either.ofRight(channelType));
        }

        /**
         * @param expirationTimeIfNotActivatedUtc Expiration time of the channel. If this timer expires while the corresponding partner topic is never activated,
         * the channel and corresponding partner topic are deleted.
         * 
         * @return builder
         * 
         */
        public Builder expirationTimeIfNotActivatedUtc(@Nullable Output expirationTimeIfNotActivatedUtc) {
            $.expirationTimeIfNotActivatedUtc = expirationTimeIfNotActivatedUtc;
            return this;
        }

        /**
         * @param expirationTimeIfNotActivatedUtc Expiration time of the channel. If this timer expires while the corresponding partner topic is never activated,
         * the channel and corresponding partner topic are deleted.
         * 
         * @return builder
         * 
         */
        public Builder expirationTimeIfNotActivatedUtc(String expirationTimeIfNotActivatedUtc) {
            return expirationTimeIfNotActivatedUtc(Output.of(expirationTimeIfNotActivatedUtc));
        }

        /**
         * @param messageForActivation Context or helpful message that can be used during the approval process by the subscriber.
         * 
         * @return builder
         * 
         */
        public Builder messageForActivation(@Nullable Output messageForActivation) {
            $.messageForActivation = messageForActivation;
            return this;
        }

        /**
         * @param messageForActivation Context or helpful message that can be used during the approval process by the subscriber.
         * 
         * @return builder
         * 
         */
        public Builder messageForActivation(String messageForActivation) {
            return messageForActivation(Output.of(messageForActivation));
        }

        /**
         * @param partnerNamespaceName Name of the partner namespace.
         * 
         * @return builder
         * 
         */
        public Builder partnerNamespaceName(Output partnerNamespaceName) {
            $.partnerNamespaceName = partnerNamespaceName;
            return this;
        }

        /**
         * @param partnerNamespaceName Name of the partner namespace.
         * 
         * @return builder
         * 
         */
        public Builder partnerNamespaceName(String partnerNamespaceName) {
            return partnerNamespaceName(Output.of(partnerNamespaceName));
        }

        /**
         * @param partnerTopicInfo This property should be populated when channelType is PartnerTopic and represents information about the partner topic resource corresponding to the channel.
         * 
         * @return builder
         * 
         */
        public Builder partnerTopicInfo(@Nullable Output partnerTopicInfo) {
            $.partnerTopicInfo = partnerTopicInfo;
            return this;
        }

        /**
         * @param partnerTopicInfo This property should be populated when channelType is PartnerTopic and represents information about the partner topic resource corresponding to the channel.
         * 
         * @return builder
         * 
         */
        public Builder partnerTopicInfo(PartnerTopicInfoArgs partnerTopicInfo) {
            return partnerTopicInfo(Output.of(partnerTopicInfo));
        }

        /**
         * @param provisioningState Provisioning state of the channel.
         * 
         * @return builder
         * 
         */
        public Builder provisioningState(@Nullable Output> provisioningState) {
            $.provisioningState = provisioningState;
            return this;
        }

        /**
         * @param provisioningState Provisioning state of the channel.
         * 
         * @return builder
         * 
         */
        public Builder provisioningState(Either provisioningState) {
            return provisioningState(Output.of(provisioningState));
        }

        /**
         * @param provisioningState Provisioning state of the channel.
         * 
         * @return builder
         * 
         */
        public Builder provisioningState(String provisioningState) {
            return provisioningState(Either.ofLeft(provisioningState));
        }

        /**
         * @param provisioningState Provisioning state of the channel.
         * 
         * @return builder
         * 
         */
        public Builder provisioningState(ChannelProvisioningState provisioningState) {
            return provisioningState(Either.ofRight(provisioningState));
        }

        /**
         * @param readinessState The readiness state of the corresponding partner topic.
         * 
         * @return builder
         * 
         */
        public Builder readinessState(@Nullable Output> readinessState) {
            $.readinessState = readinessState;
            return this;
        }

        /**
         * @param readinessState The readiness state of the corresponding partner topic.
         * 
         * @return builder
         * 
         */
        public Builder readinessState(Either readinessState) {
            return readinessState(Output.of(readinessState));
        }

        /**
         * @param readinessState The readiness state of the corresponding partner topic.
         * 
         * @return builder
         * 
         */
        public Builder readinessState(String readinessState) {
            return readinessState(Either.ofLeft(readinessState));
        }

        /**
         * @param readinessState The readiness state of the corresponding partner topic.
         * 
         * @return builder
         * 
         */
        public Builder readinessState(ReadinessState readinessState) {
            return readinessState(Either.ofRight(readinessState));
        }

        /**
         * @param resourceGroupName The name of the resource group within the partners subscription.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The name of the resource group within the partners subscription.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        public ChannelArgs build() {
            if ($.partnerNamespaceName == null) {
                throw new MissingRequiredPropertyException("ChannelArgs", "partnerNamespaceName");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("ChannelArgs", "resourceGroupName");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy