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

com.pulumi.azurenative.servicebus.QueueArgs 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.servicebus;

import com.pulumi.azurenative.servicebus.enums.EntityStatus;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Double;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final QueueArgs Empty = new QueueArgs();

    /**
     * ISO 8061 timeSpan idle interval after which the queue is automatically deleted. The minimum duration is 5 minutes.
     * 
     */
    @Import(name="autoDeleteOnIdle")
    private @Nullable Output autoDeleteOnIdle;

    /**
     * @return ISO 8061 timeSpan idle interval after which the queue is automatically deleted. The minimum duration is 5 minutes.
     * 
     */
    public Optional> autoDeleteOnIdle() {
        return Optional.ofNullable(this.autoDeleteOnIdle);
    }

    /**
     * A value that indicates whether this queue has dead letter support when a message expires.
     * 
     */
    @Import(name="deadLetteringOnMessageExpiration")
    private @Nullable Output deadLetteringOnMessageExpiration;

    /**
     * @return A value that indicates whether this queue has dead letter support when a message expires.
     * 
     */
    public Optional> deadLetteringOnMessageExpiration() {
        return Optional.ofNullable(this.deadLetteringOnMessageExpiration);
    }

    /**
     * ISO 8601 default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself.
     * 
     */
    @Import(name="defaultMessageTimeToLive")
    private @Nullable Output defaultMessageTimeToLive;

    /**
     * @return ISO 8601 default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself.
     * 
     */
    public Optional> defaultMessageTimeToLive() {
        return Optional.ofNullable(this.defaultMessageTimeToLive);
    }

    /**
     * ISO 8601 timeSpan structure that defines the duration of the duplicate detection history. The default value is 10 minutes.
     * 
     */
    @Import(name="duplicateDetectionHistoryTimeWindow")
    private @Nullable Output duplicateDetectionHistoryTimeWindow;

    /**
     * @return ISO 8601 timeSpan structure that defines the duration of the duplicate detection history. The default value is 10 minutes.
     * 
     */
    public Optional> duplicateDetectionHistoryTimeWindow() {
        return Optional.ofNullable(this.duplicateDetectionHistoryTimeWindow);
    }

    /**
     * Value that indicates whether server-side batched operations are enabled.
     * 
     */
    @Import(name="enableBatchedOperations")
    private @Nullable Output enableBatchedOperations;

    /**
     * @return Value that indicates whether server-side batched operations are enabled.
     * 
     */
    public Optional> enableBatchedOperations() {
        return Optional.ofNullable(this.enableBatchedOperations);
    }

    /**
     * A value that indicates whether Express Entities are enabled. An express queue holds a message in memory temporarily before writing it to persistent storage.
     * 
     */
    @Import(name="enableExpress")
    private @Nullable Output enableExpress;

    /**
     * @return A value that indicates whether Express Entities are enabled. An express queue holds a message in memory temporarily before writing it to persistent storage.
     * 
     */
    public Optional> enableExpress() {
        return Optional.ofNullable(this.enableExpress);
    }

    /**
     * A value that indicates whether the queue is to be partitioned across multiple message brokers.
     * 
     */
    @Import(name="enablePartitioning")
    private @Nullable Output enablePartitioning;

    /**
     * @return A value that indicates whether the queue is to be partitioned across multiple message brokers.
     * 
     */
    public Optional> enablePartitioning() {
        return Optional.ofNullable(this.enablePartitioning);
    }

    /**
     * Queue/Topic name to forward the Dead Letter message
     * 
     */
    @Import(name="forwardDeadLetteredMessagesTo")
    private @Nullable Output forwardDeadLetteredMessagesTo;

    /**
     * @return Queue/Topic name to forward the Dead Letter message
     * 
     */
    public Optional> forwardDeadLetteredMessagesTo() {
        return Optional.ofNullable(this.forwardDeadLetteredMessagesTo);
    }

    /**
     * Queue/Topic name to forward the messages
     * 
     */
    @Import(name="forwardTo")
    private @Nullable Output forwardTo;

    /**
     * @return Queue/Topic name to forward the messages
     * 
     */
    public Optional> forwardTo() {
        return Optional.ofNullable(this.forwardTo);
    }

    /**
     * ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute.
     * 
     */
    @Import(name="lockDuration")
    private @Nullable Output lockDuration;

    /**
     * @return ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute.
     * 
     */
    public Optional> lockDuration() {
        return Optional.ofNullable(this.lockDuration);
    }

    /**
     * The maximum delivery count. A message is automatically deadlettered after this number of deliveries. default value is 10.
     * 
     */
    @Import(name="maxDeliveryCount")
    private @Nullable Output maxDeliveryCount;

    /**
     * @return The maximum delivery count. A message is automatically deadlettered after this number of deliveries. default value is 10.
     * 
     */
    public Optional> maxDeliveryCount() {
        return Optional.ofNullable(this.maxDeliveryCount);
    }

    /**
     * Maximum size (in KB) of the message payload that can be accepted by the queue. This property is only used in Premium today and default is 1024.
     * 
     */
    @Import(name="maxMessageSizeInKilobytes")
    private @Nullable Output maxMessageSizeInKilobytes;

    /**
     * @return Maximum size (in KB) of the message payload that can be accepted by the queue. This property is only used in Premium today and default is 1024.
     * 
     */
    public Optional> maxMessageSizeInKilobytes() {
        return Optional.ofNullable(this.maxMessageSizeInKilobytes);
    }

    /**
     * The maximum size of the queue in megabytes, which is the size of memory allocated for the queue. Default is 1024.
     * 
     */
    @Import(name="maxSizeInMegabytes")
    private @Nullable Output maxSizeInMegabytes;

    /**
     * @return The maximum size of the queue in megabytes, which is the size of memory allocated for the queue. Default is 1024.
     * 
     */
    public Optional> maxSizeInMegabytes() {
        return Optional.ofNullable(this.maxSizeInMegabytes);
    }

    /**
     * The namespace name
     * 
     */
    @Import(name="namespaceName", required=true)
    private Output namespaceName;

    /**
     * @return The namespace name
     * 
     */
    public Output namespaceName() {
        return this.namespaceName;
    }

    /**
     * The queue name.
     * 
     */
    @Import(name="queueName")
    private @Nullable Output queueName;

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

    /**
     * A value indicating if this queue requires duplicate detection.
     * 
     */
    @Import(name="requiresDuplicateDetection")
    private @Nullable Output requiresDuplicateDetection;

    /**
     * @return A value indicating if this queue requires duplicate detection.
     * 
     */
    public Optional> requiresDuplicateDetection() {
        return Optional.ofNullable(this.requiresDuplicateDetection);
    }

    /**
     * A value that indicates whether the queue supports the concept of sessions.
     * 
     */
    @Import(name="requiresSession")
    private @Nullable Output requiresSession;

    /**
     * @return A value that indicates whether the queue supports the concept of sessions.
     * 
     */
    public Optional> requiresSession() {
        return Optional.ofNullable(this.requiresSession);
    }

    /**
     * Name of the Resource group within the Azure subscription.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return Name of the Resource group within the Azure subscription.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * Enumerates the possible values for the status of a messaging entity.
     * 
     */
    @Import(name="status")
    private @Nullable Output status;

    /**
     * @return Enumerates the possible values for the status of a messaging entity.
     * 
     */
    public Optional> status() {
        return Optional.ofNullable(this.status);
    }

    private QueueArgs() {}

    private QueueArgs(QueueArgs $) {
        this.autoDeleteOnIdle = $.autoDeleteOnIdle;
        this.deadLetteringOnMessageExpiration = $.deadLetteringOnMessageExpiration;
        this.defaultMessageTimeToLive = $.defaultMessageTimeToLive;
        this.duplicateDetectionHistoryTimeWindow = $.duplicateDetectionHistoryTimeWindow;
        this.enableBatchedOperations = $.enableBatchedOperations;
        this.enableExpress = $.enableExpress;
        this.enablePartitioning = $.enablePartitioning;
        this.forwardDeadLetteredMessagesTo = $.forwardDeadLetteredMessagesTo;
        this.forwardTo = $.forwardTo;
        this.lockDuration = $.lockDuration;
        this.maxDeliveryCount = $.maxDeliveryCount;
        this.maxMessageSizeInKilobytes = $.maxMessageSizeInKilobytes;
        this.maxSizeInMegabytes = $.maxSizeInMegabytes;
        this.namespaceName = $.namespaceName;
        this.queueName = $.queueName;
        this.requiresDuplicateDetection = $.requiresDuplicateDetection;
        this.requiresSession = $.requiresSession;
        this.resourceGroupName = $.resourceGroupName;
        this.status = $.status;
    }

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

    public static final class Builder {
        private QueueArgs $;

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

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

        /**
         * @param autoDeleteOnIdle ISO 8061 timeSpan idle interval after which the queue is automatically deleted. The minimum duration is 5 minutes.
         * 
         * @return builder
         * 
         */
        public Builder autoDeleteOnIdle(@Nullable Output autoDeleteOnIdle) {
            $.autoDeleteOnIdle = autoDeleteOnIdle;
            return this;
        }

        /**
         * @param autoDeleteOnIdle ISO 8061 timeSpan idle interval after which the queue is automatically deleted. The minimum duration is 5 minutes.
         * 
         * @return builder
         * 
         */
        public Builder autoDeleteOnIdle(String autoDeleteOnIdle) {
            return autoDeleteOnIdle(Output.of(autoDeleteOnIdle));
        }

        /**
         * @param deadLetteringOnMessageExpiration A value that indicates whether this queue has dead letter support when a message expires.
         * 
         * @return builder
         * 
         */
        public Builder deadLetteringOnMessageExpiration(@Nullable Output deadLetteringOnMessageExpiration) {
            $.deadLetteringOnMessageExpiration = deadLetteringOnMessageExpiration;
            return this;
        }

        /**
         * @param deadLetteringOnMessageExpiration A value that indicates whether this queue has dead letter support when a message expires.
         * 
         * @return builder
         * 
         */
        public Builder deadLetteringOnMessageExpiration(Boolean deadLetteringOnMessageExpiration) {
            return deadLetteringOnMessageExpiration(Output.of(deadLetteringOnMessageExpiration));
        }

        /**
         * @param defaultMessageTimeToLive ISO 8601 default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself.
         * 
         * @return builder
         * 
         */
        public Builder defaultMessageTimeToLive(@Nullable Output defaultMessageTimeToLive) {
            $.defaultMessageTimeToLive = defaultMessageTimeToLive;
            return this;
        }

        /**
         * @param defaultMessageTimeToLive ISO 8601 default message timespan to live value. This is the duration after which the message expires, starting from when the message is sent to Service Bus. This is the default value used when TimeToLive is not set on a message itself.
         * 
         * @return builder
         * 
         */
        public Builder defaultMessageTimeToLive(String defaultMessageTimeToLive) {
            return defaultMessageTimeToLive(Output.of(defaultMessageTimeToLive));
        }

        /**
         * @param duplicateDetectionHistoryTimeWindow ISO 8601 timeSpan structure that defines the duration of the duplicate detection history. The default value is 10 minutes.
         * 
         * @return builder
         * 
         */
        public Builder duplicateDetectionHistoryTimeWindow(@Nullable Output duplicateDetectionHistoryTimeWindow) {
            $.duplicateDetectionHistoryTimeWindow = duplicateDetectionHistoryTimeWindow;
            return this;
        }

        /**
         * @param duplicateDetectionHistoryTimeWindow ISO 8601 timeSpan structure that defines the duration of the duplicate detection history. The default value is 10 minutes.
         * 
         * @return builder
         * 
         */
        public Builder duplicateDetectionHistoryTimeWindow(String duplicateDetectionHistoryTimeWindow) {
            return duplicateDetectionHistoryTimeWindow(Output.of(duplicateDetectionHistoryTimeWindow));
        }

        /**
         * @param enableBatchedOperations Value that indicates whether server-side batched operations are enabled.
         * 
         * @return builder
         * 
         */
        public Builder enableBatchedOperations(@Nullable Output enableBatchedOperations) {
            $.enableBatchedOperations = enableBatchedOperations;
            return this;
        }

        /**
         * @param enableBatchedOperations Value that indicates whether server-side batched operations are enabled.
         * 
         * @return builder
         * 
         */
        public Builder enableBatchedOperations(Boolean enableBatchedOperations) {
            return enableBatchedOperations(Output.of(enableBatchedOperations));
        }

        /**
         * @param enableExpress A value that indicates whether Express Entities are enabled. An express queue holds a message in memory temporarily before writing it to persistent storage.
         * 
         * @return builder
         * 
         */
        public Builder enableExpress(@Nullable Output enableExpress) {
            $.enableExpress = enableExpress;
            return this;
        }

        /**
         * @param enableExpress A value that indicates whether Express Entities are enabled. An express queue holds a message in memory temporarily before writing it to persistent storage.
         * 
         * @return builder
         * 
         */
        public Builder enableExpress(Boolean enableExpress) {
            return enableExpress(Output.of(enableExpress));
        }

        /**
         * @param enablePartitioning A value that indicates whether the queue is to be partitioned across multiple message brokers.
         * 
         * @return builder
         * 
         */
        public Builder enablePartitioning(@Nullable Output enablePartitioning) {
            $.enablePartitioning = enablePartitioning;
            return this;
        }

        /**
         * @param enablePartitioning A value that indicates whether the queue is to be partitioned across multiple message brokers.
         * 
         * @return builder
         * 
         */
        public Builder enablePartitioning(Boolean enablePartitioning) {
            return enablePartitioning(Output.of(enablePartitioning));
        }

        /**
         * @param forwardDeadLetteredMessagesTo Queue/Topic name to forward the Dead Letter message
         * 
         * @return builder
         * 
         */
        public Builder forwardDeadLetteredMessagesTo(@Nullable Output forwardDeadLetteredMessagesTo) {
            $.forwardDeadLetteredMessagesTo = forwardDeadLetteredMessagesTo;
            return this;
        }

        /**
         * @param forwardDeadLetteredMessagesTo Queue/Topic name to forward the Dead Letter message
         * 
         * @return builder
         * 
         */
        public Builder forwardDeadLetteredMessagesTo(String forwardDeadLetteredMessagesTo) {
            return forwardDeadLetteredMessagesTo(Output.of(forwardDeadLetteredMessagesTo));
        }

        /**
         * @param forwardTo Queue/Topic name to forward the messages
         * 
         * @return builder
         * 
         */
        public Builder forwardTo(@Nullable Output forwardTo) {
            $.forwardTo = forwardTo;
            return this;
        }

        /**
         * @param forwardTo Queue/Topic name to forward the messages
         * 
         * @return builder
         * 
         */
        public Builder forwardTo(String forwardTo) {
            return forwardTo(Output.of(forwardTo));
        }

        /**
         * @param lockDuration ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute.
         * 
         * @return builder
         * 
         */
        public Builder lockDuration(@Nullable Output lockDuration) {
            $.lockDuration = lockDuration;
            return this;
        }

        /**
         * @param lockDuration ISO 8601 timespan duration of a peek-lock; that is, the amount of time that the message is locked for other receivers. The maximum value for LockDuration is 5 minutes; the default value is 1 minute.
         * 
         * @return builder
         * 
         */
        public Builder lockDuration(String lockDuration) {
            return lockDuration(Output.of(lockDuration));
        }

        /**
         * @param maxDeliveryCount The maximum delivery count. A message is automatically deadlettered after this number of deliveries. default value is 10.
         * 
         * @return builder
         * 
         */
        public Builder maxDeliveryCount(@Nullable Output maxDeliveryCount) {
            $.maxDeliveryCount = maxDeliveryCount;
            return this;
        }

        /**
         * @param maxDeliveryCount The maximum delivery count. A message is automatically deadlettered after this number of deliveries. default value is 10.
         * 
         * @return builder
         * 
         */
        public Builder maxDeliveryCount(Integer maxDeliveryCount) {
            return maxDeliveryCount(Output.of(maxDeliveryCount));
        }

        /**
         * @param maxMessageSizeInKilobytes Maximum size (in KB) of the message payload that can be accepted by the queue. This property is only used in Premium today and default is 1024.
         * 
         * @return builder
         * 
         */
        public Builder maxMessageSizeInKilobytes(@Nullable Output maxMessageSizeInKilobytes) {
            $.maxMessageSizeInKilobytes = maxMessageSizeInKilobytes;
            return this;
        }

        /**
         * @param maxMessageSizeInKilobytes Maximum size (in KB) of the message payload that can be accepted by the queue. This property is only used in Premium today and default is 1024.
         * 
         * @return builder
         * 
         */
        public Builder maxMessageSizeInKilobytes(Double maxMessageSizeInKilobytes) {
            return maxMessageSizeInKilobytes(Output.of(maxMessageSizeInKilobytes));
        }

        /**
         * @param maxSizeInMegabytes The maximum size of the queue in megabytes, which is the size of memory allocated for the queue. Default is 1024.
         * 
         * @return builder
         * 
         */
        public Builder maxSizeInMegabytes(@Nullable Output maxSizeInMegabytes) {
            $.maxSizeInMegabytes = maxSizeInMegabytes;
            return this;
        }

        /**
         * @param maxSizeInMegabytes The maximum size of the queue in megabytes, which is the size of memory allocated for the queue. Default is 1024.
         * 
         * @return builder
         * 
         */
        public Builder maxSizeInMegabytes(Integer maxSizeInMegabytes) {
            return maxSizeInMegabytes(Output.of(maxSizeInMegabytes));
        }

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

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

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

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

        /**
         * @param requiresDuplicateDetection A value indicating if this queue requires duplicate detection.
         * 
         * @return builder
         * 
         */
        public Builder requiresDuplicateDetection(@Nullable Output requiresDuplicateDetection) {
            $.requiresDuplicateDetection = requiresDuplicateDetection;
            return this;
        }

        /**
         * @param requiresDuplicateDetection A value indicating if this queue requires duplicate detection.
         * 
         * @return builder
         * 
         */
        public Builder requiresDuplicateDetection(Boolean requiresDuplicateDetection) {
            return requiresDuplicateDetection(Output.of(requiresDuplicateDetection));
        }

        /**
         * @param requiresSession A value that indicates whether the queue supports the concept of sessions.
         * 
         * @return builder
         * 
         */
        public Builder requiresSession(@Nullable Output requiresSession) {
            $.requiresSession = requiresSession;
            return this;
        }

        /**
         * @param requiresSession A value that indicates whether the queue supports the concept of sessions.
         * 
         * @return builder
         * 
         */
        public Builder requiresSession(Boolean requiresSession) {
            return requiresSession(Output.of(requiresSession));
        }

        /**
         * @param resourceGroupName Name of the Resource group within the Azure subscription.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName Name of the Resource group within the Azure subscription.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param status Enumerates the possible values for the status of a messaging entity.
         * 
         * @return builder
         * 
         */
        public Builder status(@Nullable Output status) {
            $.status = status;
            return this;
        }

        /**
         * @param status Enumerates the possible values for the status of a messaging entity.
         * 
         * @return builder
         * 
         */
        public Builder status(EntityStatus status) {
            return status(Output.of(status));
        }

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

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy