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

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

import com.pulumi.azurenative.eventgrid.inputs.DeadLetterWithResourceIdentityArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Properties of the Queue info for event subscription.
 * 
 */
public final class QueueInfoArgs extends com.pulumi.resources.ResourceArgs {

    public static final QueueInfoArgs Empty = new QueueInfoArgs();

    /**
     * The dead letter destination of the event subscription. Any event that cannot be delivered to its' destination is sent to the dead letter destination.
     * Uses the managed identity setup on the parent resource (namely, topic) to acquire the authentication tokens being used during delivery / dead-lettering.
     * 
     */
    @Import(name="deadLetterDestinationWithResourceIdentity")
    private @Nullable Output deadLetterDestinationWithResourceIdentity;

    /**
     * @return The dead letter destination of the event subscription. Any event that cannot be delivered to its' destination is sent to the dead letter destination.
     * Uses the managed identity setup on the parent resource (namely, topic) to acquire the authentication tokens being used during delivery / dead-lettering.
     * 
     */
    public Optional> deadLetterDestinationWithResourceIdentity() {
        return Optional.ofNullable(this.deadLetterDestinationWithResourceIdentity);
    }

    /**
     * Time span duration in ISO 8601 format that determines how long messages are available to the subscription from the time the message was published.
     * This duration value is expressed using the following format: \'P(n)Y(n)M(n)DT(n)H(n)M(n)S\', where:
     *     - (n) is replaced by the value of each time element that follows the (n).
     *     - P is the duration (or Period) designator and is always placed at the beginning of the duration.
     *     - Y is the year designator, and it follows the value for the number of years.
     *     - M is the month designator, and it follows the value for the number of months.
     *     - W is the week designator, and it follows the value for the number of weeks.
     *     - D is the day designator, and it follows the value for the number of days.
     *     - T is the time designator, and it precedes the time components.
     *     - H is the hour designator, and it follows the value for the number of hours.
     *     - M is the minute designator, and it follows the value for the number of minutes.
     *     - S is the second designator, and it follows the value for the number of seconds.
     * This duration value cannot be set greater than the topic’s EventRetentionInDays. It is is an optional field where its minimum value is 1 minute, and its maximum is determined
     * by topic’s EventRetentionInDays value. The followings are examples of valid values:
     *     - \'P0DT23H12M\' or \'PT23H12M\': for duration of 23 hours and 12 minutes.
     *     - \'P1D\' or \'P1DT0H0M0S\': for duration of 1 day.
     * 
     */
    @Import(name="eventTimeToLive")
    private @Nullable Output eventTimeToLive;

    /**
     * @return Time span duration in ISO 8601 format that determines how long messages are available to the subscription from the time the message was published.
     * This duration value is expressed using the following format: \'P(n)Y(n)M(n)DT(n)H(n)M(n)S\', where:
     *     - (n) is replaced by the value of each time element that follows the (n).
     *     - P is the duration (or Period) designator and is always placed at the beginning of the duration.
     *     - Y is the year designator, and it follows the value for the number of years.
     *     - M is the month designator, and it follows the value for the number of months.
     *     - W is the week designator, and it follows the value for the number of weeks.
     *     - D is the day designator, and it follows the value for the number of days.
     *     - T is the time designator, and it precedes the time components.
     *     - H is the hour designator, and it follows the value for the number of hours.
     *     - M is the minute designator, and it follows the value for the number of minutes.
     *     - S is the second designator, and it follows the value for the number of seconds.
     * This duration value cannot be set greater than the topic’s EventRetentionInDays. It is is an optional field where its minimum value is 1 minute, and its maximum is determined
     * by topic’s EventRetentionInDays value. The followings are examples of valid values:
     *     - \'P0DT23H12M\' or \'PT23H12M\': for duration of 23 hours and 12 minutes.
     *     - \'P1D\' or \'P1DT0H0M0S\': for duration of 1 day.
     * 
     */
    public Optional> eventTimeToLive() {
        return Optional.ofNullable(this.eventTimeToLive);
    }

    /**
     * The maximum delivery count of the events.
     * 
     */
    @Import(name="maxDeliveryCount")
    private @Nullable Output maxDeliveryCount;

    /**
     * @return The maximum delivery count of the events.
     * 
     */
    public Optional> maxDeliveryCount() {
        return Optional.ofNullable(this.maxDeliveryCount);
    }

    /**
     * Maximum period in seconds in which once the message is in received (by the client) state and waiting to be accepted, released or rejected.
     * If this time elapsed after a message has been received by the client and not transitioned into accepted (not processed), released or rejected,
     * the message is available for redelivery. This is an optional field, where default is 60 seconds, minimum is 60 seconds and maximum is 300 seconds.
     * 
     */
    @Import(name="receiveLockDurationInSeconds")
    private @Nullable Output receiveLockDurationInSeconds;

    /**
     * @return Maximum period in seconds in which once the message is in received (by the client) state and waiting to be accepted, released or rejected.
     * If this time elapsed after a message has been received by the client and not transitioned into accepted (not processed), released or rejected,
     * the message is available for redelivery. This is an optional field, where default is 60 seconds, minimum is 60 seconds and maximum is 300 seconds.
     * 
     */
    public Optional> receiveLockDurationInSeconds() {
        return Optional.ofNullable(this.receiveLockDurationInSeconds);
    }

    private QueueInfoArgs() {}

    private QueueInfoArgs(QueueInfoArgs $) {
        this.deadLetterDestinationWithResourceIdentity = $.deadLetterDestinationWithResourceIdentity;
        this.eventTimeToLive = $.eventTimeToLive;
        this.maxDeliveryCount = $.maxDeliveryCount;
        this.receiveLockDurationInSeconds = $.receiveLockDurationInSeconds;
    }

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

    public static final class Builder {
        private QueueInfoArgs $;

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

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

        /**
         * @param deadLetterDestinationWithResourceIdentity The dead letter destination of the event subscription. Any event that cannot be delivered to its' destination is sent to the dead letter destination.
         * Uses the managed identity setup on the parent resource (namely, topic) to acquire the authentication tokens being used during delivery / dead-lettering.
         * 
         * @return builder
         * 
         */
        public Builder deadLetterDestinationWithResourceIdentity(@Nullable Output deadLetterDestinationWithResourceIdentity) {
            $.deadLetterDestinationWithResourceIdentity = deadLetterDestinationWithResourceIdentity;
            return this;
        }

        /**
         * @param deadLetterDestinationWithResourceIdentity The dead letter destination of the event subscription. Any event that cannot be delivered to its' destination is sent to the dead letter destination.
         * Uses the managed identity setup on the parent resource (namely, topic) to acquire the authentication tokens being used during delivery / dead-lettering.
         * 
         * @return builder
         * 
         */
        public Builder deadLetterDestinationWithResourceIdentity(DeadLetterWithResourceIdentityArgs deadLetterDestinationWithResourceIdentity) {
            return deadLetterDestinationWithResourceIdentity(Output.of(deadLetterDestinationWithResourceIdentity));
        }

        /**
         * @param eventTimeToLive Time span duration in ISO 8601 format that determines how long messages are available to the subscription from the time the message was published.
         * This duration value is expressed using the following format: \'P(n)Y(n)M(n)DT(n)H(n)M(n)S\', where:
         *     - (n) is replaced by the value of each time element that follows the (n).
         *     - P is the duration (or Period) designator and is always placed at the beginning of the duration.
         *     - Y is the year designator, and it follows the value for the number of years.
         *     - M is the month designator, and it follows the value for the number of months.
         *     - W is the week designator, and it follows the value for the number of weeks.
         *     - D is the day designator, and it follows the value for the number of days.
         *     - T is the time designator, and it precedes the time components.
         *     - H is the hour designator, and it follows the value for the number of hours.
         *     - M is the minute designator, and it follows the value for the number of minutes.
         *     - S is the second designator, and it follows the value for the number of seconds.
         * This duration value cannot be set greater than the topic’s EventRetentionInDays. It is is an optional field where its minimum value is 1 minute, and its maximum is determined
         * by topic’s EventRetentionInDays value. The followings are examples of valid values:
         *     - \'P0DT23H12M\' or \'PT23H12M\': for duration of 23 hours and 12 minutes.
         *     - \'P1D\' or \'P1DT0H0M0S\': for duration of 1 day.
         * 
         * @return builder
         * 
         */
        public Builder eventTimeToLive(@Nullable Output eventTimeToLive) {
            $.eventTimeToLive = eventTimeToLive;
            return this;
        }

        /**
         * @param eventTimeToLive Time span duration in ISO 8601 format that determines how long messages are available to the subscription from the time the message was published.
         * This duration value is expressed using the following format: \'P(n)Y(n)M(n)DT(n)H(n)M(n)S\', where:
         *     - (n) is replaced by the value of each time element that follows the (n).
         *     - P is the duration (or Period) designator and is always placed at the beginning of the duration.
         *     - Y is the year designator, and it follows the value for the number of years.
         *     - M is the month designator, and it follows the value for the number of months.
         *     - W is the week designator, and it follows the value for the number of weeks.
         *     - D is the day designator, and it follows the value for the number of days.
         *     - T is the time designator, and it precedes the time components.
         *     - H is the hour designator, and it follows the value for the number of hours.
         *     - M is the minute designator, and it follows the value for the number of minutes.
         *     - S is the second designator, and it follows the value for the number of seconds.
         * This duration value cannot be set greater than the topic’s EventRetentionInDays. It is is an optional field where its minimum value is 1 minute, and its maximum is determined
         * by topic’s EventRetentionInDays value. The followings are examples of valid values:
         *     - \'P0DT23H12M\' or \'PT23H12M\': for duration of 23 hours and 12 minutes.
         *     - \'P1D\' or \'P1DT0H0M0S\': for duration of 1 day.
         * 
         * @return builder
         * 
         */
        public Builder eventTimeToLive(String eventTimeToLive) {
            return eventTimeToLive(Output.of(eventTimeToLive));
        }

        /**
         * @param maxDeliveryCount The maximum delivery count of the events.
         * 
         * @return builder
         * 
         */
        public Builder maxDeliveryCount(@Nullable Output maxDeliveryCount) {
            $.maxDeliveryCount = maxDeliveryCount;
            return this;
        }

        /**
         * @param maxDeliveryCount The maximum delivery count of the events.
         * 
         * @return builder
         * 
         */
        public Builder maxDeliveryCount(Integer maxDeliveryCount) {
            return maxDeliveryCount(Output.of(maxDeliveryCount));
        }

        /**
         * @param receiveLockDurationInSeconds Maximum period in seconds in which once the message is in received (by the client) state and waiting to be accepted, released or rejected.
         * If this time elapsed after a message has been received by the client and not transitioned into accepted (not processed), released or rejected,
         * the message is available for redelivery. This is an optional field, where default is 60 seconds, minimum is 60 seconds and maximum is 300 seconds.
         * 
         * @return builder
         * 
         */
        public Builder receiveLockDurationInSeconds(@Nullable Output receiveLockDurationInSeconds) {
            $.receiveLockDurationInSeconds = receiveLockDurationInSeconds;
            return this;
        }

        /**
         * @param receiveLockDurationInSeconds Maximum period in seconds in which once the message is in received (by the client) state and waiting to be accepted, released or rejected.
         * If this time elapsed after a message has been received by the client and not transitioned into accepted (not processed), released or rejected,
         * the message is available for redelivery. This is an optional field, where default is 60 seconds, minimum is 60 seconds and maximum is 300 seconds.
         * 
         * @return builder
         * 
         */
        public Builder receiveLockDurationInSeconds(Integer receiveLockDurationInSeconds) {
            return receiveLockDurationInSeconds(Output.of(receiveLockDurationInSeconds));
        }

        public QueueInfoArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy