# Source code for azure.mgmt.logic.models.x12_acknowledgement_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 X12AcknowledgementSettings(Model):
        """X12AcknowledgementSettings.

        :param need_technical_acknowledgement: The value indicating whether
         technical acknowledgement is needed.
        :type need_technical_acknowledgement: bool
        :param batch_technical_acknowledgements: The value indicating whether to
         batch the technical acknowledgements.
        :type batch_technical_acknowledgements: bool
        :param need_functional_acknowledgement: The value indicating whether
         functional acknowledgement is needed.
        :type need_functional_acknowledgement: bool
        :param functional_acknowledgement_version: The functional acknowledgement
         version.
        :type functional_acknowledgement_version: str
        :param batch_functional_acknowledgements: The value indicating whether to
         batch functional acknowledgements.
        :type batch_functional_acknowledgements: bool
        :param need_implementation_acknowledgement: The value indicating whether
         implementation acknowledgement is needed.
        :type need_implementation_acknowledgement: bool
        :param implementation_acknowledgement_version: The implementation
         acknowledgement version.
        :type implementation_acknowledgement_version: str
        :param batch_implementation_acknowledgements: The value indicating
         whether to batch implementation acknowledgements.
        :type batch_implementation_acknowledgements: bool
        :param need_loop_for_valid_messages: The value indicating whether a loop
         is needed for valid messages.
        :type need_loop_for_valid_messages: bool
        :param send_synchronous_acknowledgement: The value indicating whether to
         send synchronous acknowledgement.
        :type send_synchronous_acknowledgement: bool
        :param acknowledgement_control_number_prefix: The acknowledgement control
         number prefix.
        :type acknowledgement_control_number_prefix: str
        :param acknowledgement_control_number_suffix: The acknowledgement control
         number suffix.
        :type acknowledgement_control_number_suffix: str
        :param acknowledgement_control_number_lower_bound: The acknowledgement
         control number lower bound.
        :type acknowledgement_control_number_lower_bound: int
        :param acknowledgement_control_number_upper_bound: The acknowledgement
         control number upper bound.
        :type acknowledgement_control_number_upper_bound: int
        :param rollover_acknowledgement_control_number: The value indicating
         whether to rollover acknowledgement control number.
        :type rollover_acknowledgement_control_number: bool
        """

        _attribute_map = {
            'need_technical_acknowledgement': {'key': 'needTechnicalAcknowledgement', 'type': 'bool'},
            'batch_technical_acknowledgements': {'key': 'batchTechnicalAcknowledgements', 'type': 'bool'},
            'need_functional_acknowledgement': {'key': 'needFunctionalAcknowledgement', 'type': 'bool'},
            'functional_acknowledgement_version': {'key': 'functionalAcknowledgementVersion', 'type': 'str'},
            'batch_functional_acknowledgements': {'key': 'batchFunctionalAcknowledgements', 'type': 'bool'},
            'need_implementation_acknowledgement': {'key': 'needImplementationAcknowledgement', 'type': 'bool'},
            'implementation_acknowledgement_version': {'key': 'implementationAcknowledgementVersion', 'type': 'str'},
            'batch_implementation_acknowledgements': {'key': 'batchImplementationAcknowledgements', 'type': 'bool'},
            'need_loop_for_valid_messages': {'key': 'needLoopForValidMessages', 'type': 'bool'},
            'send_synchronous_acknowledgement': {'key': 'sendSynchronousAcknowledgement', 'type': 'bool'},
            'acknowledgement_control_number_prefix': {'key': 'acknowledgementControlNumberPrefix', 'type': 'str'},
            'acknowledgement_control_number_suffix': {'key': 'acknowledgementControlNumberSuffix', 'type': 'str'},
            'acknowledgement_control_number_lower_bound': {'key': 'acknowledgementControlNumberLowerBound', 'type': 'int'},
            'acknowledgement_control_number_upper_bound': {'key': 'acknowledgementControlNumberUpperBound', 'type': 'int'},
            'rollover_acknowledgement_control_number': {'key': 'rolloverAcknowledgementControlNumber', 'type': 'bool'},
        }

        def __init__(self, need_technical_acknowledgement=None, batch_technical_acknowledgements=None, need_functional_acknowledgement=None, functional_acknowledgement_version=None, batch_functional_acknowledgements=None, need_implementation_acknowledgement=None, implementation_acknowledgement_version=None, batch_implementation_acknowledgements=None, need_loop_for_valid_messages=None, send_synchronous_acknowledgement=None, acknowledgement_control_number_prefix=None, acknowledgement_control_number_suffix=None, acknowledgement_control_number_lower_bound=None, acknowledgement_control_number_upper_bound=None, rollover_acknowledgement_control_number=None):
            self.need_technical_acknowledgement = need_technical_acknowledgement
            self.batch_technical_acknowledgements = batch_technical_acknowledgements
            self.need_functional_acknowledgement = need_functional_acknowledgement
            self.functional_acknowledgement_version = functional_acknowledgement_version
            self.batch_functional_acknowledgements = batch_functional_acknowledgements
            self.need_implementation_acknowledgement = need_implementation_acknowledgement
            self.implementation_acknowledgement_version = implementation_acknowledgement_version
            self.batch_implementation_acknowledgements = batch_implementation_acknowledgements
            self.need_loop_for_valid_messages = need_loop_for_valid_messages
            self.send_synchronous_acknowledgement = send_synchronous_acknowledgement
            self.acknowledgement_control_number_prefix = acknowledgement_control_number_prefix
            self.acknowledgement_control_number_suffix = acknowledgement_control_number_suffix
            self.acknowledgement_control_number_lower_bound = acknowledgement_control_number_lower_bound
            self.acknowledgement_control_number_upper_bound = acknowledgement_control_number_upper_bound
            self.rollover_acknowledgement_control_number = rollover_acknowledgement_control_number