text: # coding: utf-8
  
  """
  Copyright 2016 SmartBear Software
  
      Licensed under the Apache License, Version 2.0 (the "License");
      you may not use this file except in compliance with the License.
      You may obtain a copy of the License at
  
          http://www.apache.org/licenses/LICENSE-2.0
  
      Unless required by applicable law or agreed to in writing, software
      distributed under the License is distributed on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      See the License for the specific language governing permissions and
      limitations under the License.
  
      Ref: https://github.com/swagger-api/swagger-codegen
  """
  
  from pprint import pformat
  from six import iteritems
  import re
  
  
  class MappingUsersRulesRuleOptionsExtended(object):
      """
      NOTE: This class is auto generated by the swagger code generator program.
      Do not edit the class manually.
      """
      def __init__(self):
          """
          MappingUsersRulesRuleOptionsExtended - a model defined in Swagger
  
          :param dict swaggerTypes: The key is attribute name
                                    and the value is attribute type.
          :param dict attributeMap: The key is attribute name
                                    and the value is json key in definition.
          """
          self.swagger_types = {
              '_break': 'bool',
              'default_user': 'MappingUsersRulesRuleOptionsDefaultUser',
              'group': 'bool',
              'groups': 'bool',
              'user': 'bool'
          }
  
          self.attribute_map = {
              '_break': 'break',
              'default_user': 'default_user',
              'group': 'group',
              'groups': 'groups',
              'user': 'user'
          }
  
          self.__break = None
          self._default_user = None
          self._group = None
          self._groups = None
          self._user = None
  
      @property
      def _break(self):
          """
          Gets the _break of this MappingUsersRulesRuleOptionsExtended.
          If true, and the rule was applied successfully, stop processing further.
  
          :return: The _break of this MappingUsersRulesRuleOptionsExtended.
          :rtype: bool
          """
          return self.__break
  
      @_break.setter
      def _break(self, _break):
          """
          Sets the _break of this MappingUsersRulesRuleOptionsExtended.
          If true, and the rule was applied successfully, stop processing further.
  
          :param _break: The _break of this MappingUsersRulesRuleOptionsExtended.
          :type: bool
          """
          
          self.__break = _break
  
      @property
      def default_user(self):
          """
          Gets the default_user of this MappingUsersRulesRuleOptionsExtended.
          
  
          :return: The default_user of this MappingUsersRulesRuleOptionsExtended.
          :rtype: MappingUsersRulesRuleOptionsDefaultUser
          """
          return self._default_user
  
      @default_user.setter
      def default_user(self, default_user):
          """
          Sets the default_user of this MappingUsersRulesRuleOptionsExtended.
          
  
          :param default_user: The default_user of this MappingUsersRulesRuleOptionsExtended.
          :type: MappingUsersRulesRuleOptionsDefaultUser
          """
          
          self._default_user = default_user
  
      @property
      def group(self):
          """
          Gets the group of this MappingUsersRulesRuleOptionsExtended.
          If true, the primary GID and primary group SID should be copied to the existing credential.
  
          :return: The group of this MappingUsersRulesRuleOptionsExtended.
          :rtype: bool
          """
          return self._group
  
      @group.setter
      def group(self, group):
          """
          Sets the group of this MappingUsersRulesRuleOptionsExtended.
          If true, the primary GID and primary group SID should be copied to the existing credential.
  
          :param group: The group of this MappingUsersRulesRuleOptionsExtended.
          :type: bool
          """
          
          self._group = group
  
      @property
      def groups(self):
          """
          Gets the groups of this MappingUsersRulesRuleOptionsExtended.
          If true, all additional identifiers should be copied to the existing credential.
  
          :return: The groups of this MappingUsersRulesRuleOptionsExtended.
          :rtype: bool
          """
          return self._groups
  
      @groups.setter
      def groups(self, groups):
          """
          Sets the groups of this MappingUsersRulesRuleOptionsExtended.
          If true, all additional identifiers should be copied to the existing credential.
  
          :param groups: The groups of this MappingUsersRulesRuleOptionsExtended.
          :type: bool
          """
          
          self._groups = groups
  
      @property
      def user(self):
          """
          Gets the user of this MappingUsersRulesRuleOptionsExtended.
          If true, the primary UID and primary user SID should be copied to the existing credential.
  
          :return: The user of this MappingUsersRulesRuleOptionsExtended.
          :rtype: bool
          """
          return self._user
  
      @user.setter
      def user(self, user):
          """
          Sets the user of this MappingUsersRulesRuleOptionsExtended.
          If true, the primary UID and primary user SID should be copied to the existing credential.
  
          :param user: The user of this MappingUsersRulesRuleOptionsExtended.
          :type: bool
          """
          
          self._user = user
  
      def to_dict(self):
          """
          Returns the model properties as a dict
          """
          result = {}
  
          for attr, _ in iteritems(self.swagger_types):
              value = getattr(self, attr)
              if isinstance(value, list):
                  result[attr] = list(map(
                      lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
                      value
                  ))
              elif hasattr(value, "to_dict"):
                  result[attr] = value.to_dict()
              elif isinstance(value, dict):
                  result[attr] = dict(map(
                      lambda item: (item[0], item[1].to_dict())
                      if hasattr(item[1], "to_dict") else item,
                      value.items()
                  ))
              else:
                  result[attr] = value
  
          return result
  
      def to_str(self):
          """
          Returns the string representation of the model
          """
          return pformat(self.to_dict())
  
      def __repr__(self):
          """
          For `print` and `pprint`
          """
          return self.to_str()
  
      def __eq__(self, other):
          """
          Returns true if both objects are equal
          """
          return self.__dict__ == other.__dict__
  
      def __ne__(self, other):
          """
          Returns true if both objects are not equal
          """
          return not self == other
  
  