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

        :param group_association_assigned_code: The group association assigned
         code.
        :type group_association_assigned_code: str
        :param communication_agreement_id: The communication agreement id.
        :type communication_agreement_id: str
        :param apply_delimiter_string_advice: The value indicating whether to
         apply delimiter string advice.
        :type apply_delimiter_string_advice: bool
        :param create_grouping_segments: The value indicating whether to create
         grouping segments.
        :type create_grouping_segments: bool
        :param enable_default_group_headers: The value indicating whether to
         enable default group headers.
        :type enable_default_group_headers: bool
        :param recipient_reference_password_value: The recipient reference
         password value.
        :type recipient_reference_password_value: str
        :param recipient_reference_password_qualifier: The recipient reference
         password qualifier.
        :type recipient_reference_password_qualifier: str
        :param application_reference_id: The application reference id.
        :type application_reference_id: str
        :param processing_priority_code: The processing priority code.
        :type processing_priority_code: str
        :param interchange_control_number_lower_bound: The interchange control
         number lower bound.
        :type interchange_control_number_lower_bound: long
        :param interchange_control_number_upper_bound: The interchange control
         number upper bound.
        :type interchange_control_number_upper_bound: long
        :param rollover_interchange_control_number: The value indicating whether
         to rollover interchange control number.
        :type rollover_interchange_control_number: bool
        :param interchange_control_number_prefix: The interchange control number
         prefix.
        :type interchange_control_number_prefix: str
        :param interchange_control_number_suffix: The interchange control number
         suffix.
        :type interchange_control_number_suffix: str
        :param sender_reverse_routing_address: The sender reverse routing address.
        :type sender_reverse_routing_address: str
        :param receiver_reverse_routing_address: The receiver reverse routing
         address.
        :type receiver_reverse_routing_address: str
        :param functional_group_id: The functional group id.
        :type functional_group_id: str
        :param group_controlling_agency_code: The group controlling agency code.
        :type group_controlling_agency_code: str
        :param group_message_version: The group message version.
        :type group_message_version: str
        :param group_message_release: The group message release.
        :type group_message_release: str
        :param group_control_number_lower_bound: The group control number lower
         bound.
        :type group_control_number_lower_bound: long
        :param group_control_number_upper_bound: The group control number upper
         bound.
        :type group_control_number_upper_bound: long
        :param rollover_group_control_number: The value indicating whether to
         rollover group control number.
        :type rollover_group_control_number: bool
        :param group_control_number_prefix: The group control number prefix.
        :type group_control_number_prefix: str
        :param group_control_number_suffix: The group control number suffix.
        :type group_control_number_suffix: str
        :param group_application_receiver_qualifier: The group application
         receiver qualifier.
        :type group_application_receiver_qualifier: str
        :param group_application_receiver_id: The group application receiver id.
        :type group_application_receiver_id: str
        :param group_application_sender_qualifier: The group application sender
         qualifier.
        :type group_application_sender_qualifier: str
        :param group_application_sender_id: The group application sender id.
        :type group_application_sender_id: str
        :param group_application_password: The group application password.
        :type group_application_password: str
        :param overwrite_existing_transaction_set_control_number: The value
         indicating whether to overwrite existing transaction set control number.
        :type overwrite_existing_transaction_set_control_number: bool
        :param transaction_set_control_number_prefix: The transaction set control
         number prefix.
        :type transaction_set_control_number_prefix: str
        :param transaction_set_control_number_suffix: The transaction set control
         number suffix.
        :type transaction_set_control_number_suffix: str
        :param transaction_set_control_number_lower_bound: The transaction set
         control number lower bound.
        :type transaction_set_control_number_lower_bound: long
        :param transaction_set_control_number_upper_bound: The transaction set
         control number upper bound.
        :type transaction_set_control_number_upper_bound: long
        :param rollover_transaction_set_control_number: The value indicating
         whether to rollover transaction set control number.
        :type rollover_transaction_set_control_number: bool
        :param is_test_interchange: The value indicating whether the message is a
         test interchange.
        :type is_test_interchange: bool
        :param sender_internal_identification: The sender internal identification.
        :type sender_internal_identification: str
        :param sender_internal_sub_identification: The sender internal sub
         identification.
        :type sender_internal_sub_identification: str
        :param receiver_internal_identification: The receiver internal
         identification.
        :type receiver_internal_identification: str
        :param receiver_internal_sub_identification: The receiver internal sub
         identification.
        :type receiver_internal_sub_identification: str
        """

        _attribute_map = {
            'group_association_assigned_code': {'key': 'groupAssociationAssignedCode', 'type': 'str'},
            'communication_agreement_id': {'key': 'communicationAgreementId', 'type': 'str'},
            'apply_delimiter_string_advice': {'key': 'applyDelimiterStringAdvice', 'type': 'bool'},
            'create_grouping_segments': {'key': 'createGroupingSegments', 'type': 'bool'},
            'enable_default_group_headers': {'key': 'enableDefaultGroupHeaders', 'type': 'bool'},
            'recipient_reference_password_value': {'key': 'recipientReferencePasswordValue', 'type': 'str'},
            'recipient_reference_password_qualifier': {'key': 'recipientReferencePasswordQualifier', 'type': 'str'},
            'application_reference_id': {'key': 'applicationReferenceId', 'type': 'str'},
            'processing_priority_code': {'key': 'processingPriorityCode', 'type': 'str'},
            'interchange_control_number_lower_bound': {'key': 'interchangeControlNumberLowerBound', 'type': 'long'},
            'interchange_control_number_upper_bound': {'key': 'interchangeControlNumberUpperBound', 'type': 'long'},
            'rollover_interchange_control_number': {'key': 'rolloverInterchangeControlNumber', 'type': 'bool'},
            'interchange_control_number_prefix': {'key': 'interchangeControlNumberPrefix', 'type': 'str'},
            'interchange_control_number_suffix': {'key': 'interchangeControlNumberSuffix', 'type': 'str'},
            'sender_reverse_routing_address': {'key': 'senderReverseRoutingAddress', 'type': 'str'},
            'receiver_reverse_routing_address': {'key': 'receiverReverseRoutingAddress', 'type': 'str'},
            'functional_group_id': {'key': 'functionalGroupId', 'type': 'str'},
            'group_controlling_agency_code': {'key': 'groupControllingAgencyCode', 'type': 'str'},
            'group_message_version': {'key': 'groupMessageVersion', 'type': 'str'},
            'group_message_release': {'key': 'groupMessageRelease', 'type': 'str'},
            'group_control_number_lower_bound': {'key': 'groupControlNumberLowerBound', 'type': 'long'},
            'group_control_number_upper_bound': {'key': 'groupControlNumberUpperBound', 'type': 'long'},
            'rollover_group_control_number': {'key': 'rolloverGroupControlNumber', 'type': 'bool'},
            'group_control_number_prefix': {'key': 'groupControlNumberPrefix', 'type': 'str'},
            'group_control_number_suffix': {'key': 'groupControlNumberSuffix', 'type': 'str'},
            'group_application_receiver_qualifier': {'key': 'groupApplicationReceiverQualifier', 'type': 'str'},
            'group_application_receiver_id': {'key': 'groupApplicationReceiverId', 'type': 'str'},
            'group_application_sender_qualifier': {'key': 'groupApplicationSenderQualifier', 'type': 'str'},
            'group_application_sender_id': {'key': 'groupApplicationSenderId', 'type': 'str'},
            'group_application_password': {'key': 'groupApplicationPassword', 'type': 'str'},
            'overwrite_existing_transaction_set_control_number': {'key': 'overwriteExistingTransactionSetControlNumber', 'type': 'bool'},
            'transaction_set_control_number_prefix': {'key': 'transactionSetControlNumberPrefix', 'type': 'str'},
            'transaction_set_control_number_suffix': {'key': 'transactionSetControlNumberSuffix', 'type': 'str'},
            'transaction_set_control_number_lower_bound': {'key': 'transactionSetControlNumberLowerBound', 'type': 'long'},
            'transaction_set_control_number_upper_bound': {'key': 'transactionSetControlNumberUpperBound', 'type': 'long'},
            'rollover_transaction_set_control_number': {'key': 'rolloverTransactionSetControlNumber', 'type': 'bool'},
            'is_test_interchange': {'key': 'isTestInterchange', 'type': 'bool'},
            'sender_internal_identification': {'key': 'senderInternalIdentification', 'type': 'str'},
            'sender_internal_sub_identification': {'key': 'senderInternalSubIdentification', 'type': 'str'},
            'receiver_internal_identification': {'key': 'receiverInternalIdentification', 'type': 'str'},
            'receiver_internal_sub_identification': {'key': 'receiverInternalSubIdentification', 'type': 'str'},
        }

        def __init__(self, group_association_assigned_code=None, communication_agreement_id=None, apply_delimiter_string_advice=None, create_grouping_segments=None, enable_default_group_headers=None, recipient_reference_password_value=None, recipient_reference_password_qualifier=None, application_reference_id=None, processing_priority_code=None, interchange_control_number_lower_bound=None, interchange_control_number_upper_bound=None, rollover_interchange_control_number=None, interchange_control_number_prefix=None, interchange_control_number_suffix=None, sender_reverse_routing_address=None, receiver_reverse_routing_address=None, functional_group_id=None, group_controlling_agency_code=None, group_message_version=None, group_message_release=None, group_control_number_lower_bound=None, group_control_number_upper_bound=None, rollover_group_control_number=None, group_control_number_prefix=None, group_control_number_suffix=None, group_application_receiver_qualifier=None, group_application_receiver_id=None, group_application_sender_qualifier=None, group_application_sender_id=None, group_application_password=None, overwrite_existing_transaction_set_control_number=None, transaction_set_control_number_prefix=None, transaction_set_control_number_suffix=None, transaction_set_control_number_lower_bound=None, transaction_set_control_number_upper_bound=None, rollover_transaction_set_control_number=None, is_test_interchange=None, sender_internal_identification=None, sender_internal_sub_identification=None, receiver_internal_identification=None, receiver_internal_sub_identification=None):
            self.group_association_assigned_code = group_association_assigned_code
            self.communication_agreement_id = communication_agreement_id
            self.apply_delimiter_string_advice = apply_delimiter_string_advice
            self.create_grouping_segments = create_grouping_segments
            self.enable_default_group_headers = enable_default_group_headers
            self.recipient_reference_password_value = recipient_reference_password_value
            self.recipient_reference_password_qualifier = recipient_reference_password_qualifier
            self.application_reference_id = application_reference_id
            self.processing_priority_code = processing_priority_code
            self.interchange_control_number_lower_bound = interchange_control_number_lower_bound
            self.interchange_control_number_upper_bound = interchange_control_number_upper_bound
            self.rollover_interchange_control_number = rollover_interchange_control_number
            self.interchange_control_number_prefix = interchange_control_number_prefix
            self.interchange_control_number_suffix = interchange_control_number_suffix
            self.sender_reverse_routing_address = sender_reverse_routing_address
            self.receiver_reverse_routing_address = receiver_reverse_routing_address
            self.functional_group_id = functional_group_id
            self.group_controlling_agency_code = group_controlling_agency_code
            self.group_message_version = group_message_version
            self.group_message_release = group_message_release
            self.group_control_number_lower_bound = group_control_number_lower_bound
            self.group_control_number_upper_bound = group_control_number_upper_bound
            self.rollover_group_control_number = rollover_group_control_number
            self.group_control_number_prefix = group_control_number_prefix
            self.group_control_number_suffix = group_control_number_suffix
            self.group_application_receiver_qualifier = group_application_receiver_qualifier
            self.group_application_receiver_id = group_application_receiver_id
            self.group_application_sender_qualifier = group_application_sender_qualifier
            self.group_application_sender_id = group_application_sender_id
            self.group_application_password = group_application_password
            self.overwrite_existing_transaction_set_control_number = overwrite_existing_transaction_set_control_number
            self.transaction_set_control_number_prefix = transaction_set_control_number_prefix
            self.transaction_set_control_number_suffix = transaction_set_control_number_suffix
            self.transaction_set_control_number_lower_bound = transaction_set_control_number_lower_bound
            self.transaction_set_control_number_upper_bound = transaction_set_control_number_upper_bound
            self.rollover_transaction_set_control_number = rollover_transaction_set_control_number
            self.is_test_interchange = is_test_interchange
            self.sender_internal_identification = sender_internal_identification
            self.sender_internal_sub_identification = sender_internal_sub_identification
            self.receiver_internal_identification = receiver_internal_identification
            self.receiver_internal_sub_identification = receiver_internal_sub_identification