# Source code for azure.mgmt.logic.models.as2_mdn_settings

    # coding=utf-8
    # --------------------------------------------------------------------------
    # Copyright (c) Microsoft Corporation. All rights reserved.
    # Licensed under the MIT License. See License.txt in the project root for
    # license information.
    #
    # Code generated by Microsoft (R) AutoRest Code Generator.
    # Changes may cause incorrect behavior and will be lost if the code is
    # regenerated.
    # --------------------------------------------------------------------------

    from msrest.serialization import Model

    class AS2MdnSettings(Model):
        """AS2MdnSettings.

        :param need_mdn: The value indicating whether to send or request a MDN.
        :type need_mdn: bool
        :param sign_mdn: The value indicating whether the MDN needs to be signed
         or not.
        :type sign_mdn: bool
        :param send_mdn_asynchronously: The value indicating whether to send the
         asynchronous MDN.
        :type send_mdn_asynchronously: bool
        :param receipt_delivery_url: The receipt delivery URL.
        :type receipt_delivery_url: str
        :param disposition_notification_to: The disposition notification to
         header value.
        :type disposition_notification_to: str
        :param sign_outbound_mdn_if_optional: The value indicating whether to
         sign the outbound MDN if optional.
        :type sign_outbound_mdn_if_optional: bool
        :param mdn_text: The MDN text.
        :type mdn_text: str
        :param send_inbound_mdn_to_message_box: The value indicating whether to
         send inbound MDN to message box.
        :type send_inbound_mdn_to_message_box: bool
        :param mic_hashing_algorithm: The signing or hashing algorithm. Possible
         values include: 'NotSpecified', 'None', 'SHA2256', 'SHA2384', 'SHA2512'
        :type mic_hashing_algorithm: str or :class:`HashingAlgorithm
         <azure.mgmt.logic.models.HashingAlgorithm>`
        """

        _attribute_map = {
            'need_mdn': {'key': 'needMdn', 'type': 'bool'},
            'sign_mdn': {'key': 'signMdn', 'type': 'bool'},
            'send_mdn_asynchronously': {'key': 'sendMdnAsynchronously', 'type': 'bool'},
            'receipt_delivery_url': {'key': 'receiptDeliveryUrl', 'type': 'str'},
            'disposition_notification_to': {'key': 'dispositionNotificationTo', 'type': 'str'},
            'sign_outbound_mdn_if_optional': {'key': 'signOutboundMdnIfOptional', 'type': 'bool'},
            'mdn_text': {'key': 'mdnText', 'type': 'str'},
            'send_inbound_mdn_to_message_box': {'key': 'sendInboundMdnToMessageBox', 'type': 'bool'},
            'mic_hashing_algorithm': {'key': 'micHashingAlgorithm', 'type': 'HashingAlgorithm'},
        }

        def __init__(self, need_mdn=None, sign_mdn=None, send_mdn_asynchronously=None, receipt_delivery_url=None, disposition_notification_to=None, sign_outbound_mdn_if_optional=None, mdn_text=None, send_inbound_mdn_to_message_box=None, mic_hashing_algorithm=None):
            self.need_mdn = need_mdn
            self.sign_mdn = sign_mdn
            self.send_mdn_asynchronously = send_mdn_asynchronously
            self.receipt_delivery_url = receipt_delivery_url
            self.disposition_notification_to = disposition_notification_to
            self.sign_outbound_mdn_if_optional = sign_outbound_mdn_if_optional
            self.mdn_text = mdn_text
            self.send_inbound_mdn_to_message_box = send_inbound_mdn_to_message_box
            self.mic_hashing_algorithm = mic_hashing_algorithm