# coding=utf-8
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
# *** Do not edit by hand unless you're certain you know what you are doing! ***

import builtins
import copy
import warnings
import sys
import pulumi
import pulumi.runtime
from typing import Any, Mapping, Optional, Sequence, Union, overload
if sys.version_info >= (3, 11):
    from typing import NotRequired, TypedDict, TypeAlias
else:
    from typing_extensions import NotRequired, TypedDict, TypeAlias
from .. import _utilities

__all__ = [
    'ServiceQueueDlqPolicyArgs',
    'ServiceQueueDlqPolicyArgsDict',
    'ServiceSubscriptionDlqPolicyArgs',
    'ServiceSubscriptionDlqPolicyArgsDict',
]

MYPY = False

if not MYPY:
    class ServiceQueueDlqPolicyArgsDict(TypedDict):
        dead_letter_target_queue: NotRequired[pulumi.Input[builtins.str]]
        """
        The queue to which dead-letter messages are delivered.
        """
        enabled: NotRequired[pulumi.Input[builtins.bool]]
        """
        Specifies whether to enable the dead-letter message delivery. Valid values: `true`, `false`.
        """
        max_receive_count: NotRequired[pulumi.Input[builtins.int]]
        """
        The maximum number of retries.
        """
elif False:
    ServiceQueueDlqPolicyArgsDict: TypeAlias = Mapping[str, Any]

@pulumi.input_type
class ServiceQueueDlqPolicyArgs:
    def __init__(__self__, *,
                 dead_letter_target_queue: Optional[pulumi.Input[builtins.str]] = None,
                 enabled: Optional[pulumi.Input[builtins.bool]] = None,
                 max_receive_count: Optional[pulumi.Input[builtins.int]] = None):
        """
        :param pulumi.Input[builtins.str] dead_letter_target_queue: The queue to which dead-letter messages are delivered.
        :param pulumi.Input[builtins.bool] enabled: Specifies whether to enable the dead-letter message delivery. Valid values: `true`, `false`.
        :param pulumi.Input[builtins.int] max_receive_count: The maximum number of retries.
        """
        if dead_letter_target_queue is not None:
            pulumi.set(__self__, "dead_letter_target_queue", dead_letter_target_queue)
        if enabled is not None:
            pulumi.set(__self__, "enabled", enabled)
        if max_receive_count is not None:
            pulumi.set(__self__, "max_receive_count", max_receive_count)

    @property
    @pulumi.getter(name="deadLetterTargetQueue")
    def dead_letter_target_queue(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        The queue to which dead-letter messages are delivered.
        """
        return pulumi.get(self, "dead_letter_target_queue")

    @dead_letter_target_queue.setter
    def dead_letter_target_queue(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "dead_letter_target_queue", value)

    @property
    @pulumi.getter
    def enabled(self) -> Optional[pulumi.Input[builtins.bool]]:
        """
        Specifies whether to enable the dead-letter message delivery. Valid values: `true`, `false`.
        """
        return pulumi.get(self, "enabled")

    @enabled.setter
    def enabled(self, value: Optional[pulumi.Input[builtins.bool]]):
        pulumi.set(self, "enabled", value)

    @property
    @pulumi.getter(name="maxReceiveCount")
    def max_receive_count(self) -> Optional[pulumi.Input[builtins.int]]:
        """
        The maximum number of retries.
        """
        return pulumi.get(self, "max_receive_count")

    @max_receive_count.setter
    def max_receive_count(self, value: Optional[pulumi.Input[builtins.int]]):
        pulumi.set(self, "max_receive_count", value)


if not MYPY:
    class ServiceSubscriptionDlqPolicyArgsDict(TypedDict):
        dead_letter_target_queue: NotRequired[pulumi.Input[builtins.str]]
        """
        The queue to which dead-letter messages are delivered.
        """
        enabled: NotRequired[pulumi.Input[builtins.bool]]
        """
        Specifies whether to enable the dead-letter message delivery. Valid values: `true`, `false`.
        """
elif False:
    ServiceSubscriptionDlqPolicyArgsDict: TypeAlias = Mapping[str, Any]

@pulumi.input_type
class ServiceSubscriptionDlqPolicyArgs:
    def __init__(__self__, *,
                 dead_letter_target_queue: Optional[pulumi.Input[builtins.str]] = None,
                 enabled: Optional[pulumi.Input[builtins.bool]] = None):
        """
        :param pulumi.Input[builtins.str] dead_letter_target_queue: The queue to which dead-letter messages are delivered.
        :param pulumi.Input[builtins.bool] enabled: Specifies whether to enable the dead-letter message delivery. Valid values: `true`, `false`.
        """
        if dead_letter_target_queue is not None:
            pulumi.set(__self__, "dead_letter_target_queue", dead_letter_target_queue)
        if enabled is not None:
            pulumi.set(__self__, "enabled", enabled)

    @property
    @pulumi.getter(name="deadLetterTargetQueue")
    def dead_letter_target_queue(self) -> Optional[pulumi.Input[builtins.str]]:
        """
        The queue to which dead-letter messages are delivered.
        """
        return pulumi.get(self, "dead_letter_target_queue")

    @dead_letter_target_queue.setter
    def dead_letter_target_queue(self, value: Optional[pulumi.Input[builtins.str]]):
        pulumi.set(self, "dead_letter_target_queue", value)

    @property
    @pulumi.getter
    def enabled(self) -> Optional[pulumi.Input[builtins.bool]]:
        """
        Specifies whether to enable the dead-letter message delivery. Valid values: `true`, `false`.
        """
        return pulumi.get(self, "enabled")

    @enabled.setter
    def enabled(self, value: Optional[pulumi.Input[builtins.bool]]):
        pulumi.set(self, "enabled", value)


