<filename>sdks/python/appcenter_sdk/models/CrashGroup.py
# coding: utf-8

"""
    App Center Client

    Microsoft Visual Studio App Center API  # noqa: E501

    OpenAPI spec version: preview
    Contact: <EMAIL>
    Project Repository: https://github.com/b3nab/appcenter-sdks
"""

import pprint
import re  # noqa: F401

import six


class CrashGroup(object):
    """NOTE: This class is auto generated by the swagger code generator program.

    Do not edit the class manually.
    """

    """
    allowed enum values
    """
    JavaScript = "JavaScript"
    CSharp = "CSharp"
    Objective-C = "Objective-C"
    Objective-Cpp = "Objective-Cpp"
    Cpp = "Cpp"
    C = "C"
    Swift = "Swift"
    Java = "Java"
    Unknown = "Unknown"
    """
    Attributes:
      swagger_types (dict): The key is attribute name
                            and the value is attribute type.
      attribute_map (dict): The key is attribute name
                            and the value is json key in definition.
    """
    swagger_types = {
        'crash_group_id': 'string',
        'new_crash_group_id': 'string',
        'display_id': 'string',
        'app_version': 'string',
        'build': 'string',
        'status': 'string',
        'count': 'integer',
        'impacted_users': 'integer',
        'first_occurrence': 'string',
        'last_occurrence': 'string',
        'exception': 'string',
        'crash_reason': 'string',
        'reason_frame': '',
        'fatal': 'boolean',
        'annotation': 'string'
    }

    attribute_map = {
        'crash_group_id': 'crash_group_id',
        'new_crash_group_id': 'new_crash_group_id',
        'display_id': 'display_id',
        'app_version': 'app_version',
        'build': 'build',
        'status': 'status',
        'count': 'count',
        'impacted_users': 'impacted_users',
        'first_occurrence': 'first_occurrence',
        'last_occurrence': 'last_occurrence',
        'exception': 'exception',
        'crash_reason': 'crash_reason',
        'reason_frame': 'reason_frame',
        'fatal': 'fatal',
        'annotation': 'annotation'
    }

    def __init__(self, crash_group_id=None, new_crash_group_id=None, display_id=None, app_version=None, build=None, status=None, count=None, impacted_users=None, first_occurrence=None, last_occurrence=None, exception=None, crash_reason=None, reason_frame=None, fatal=None, annotation=None):  # noqa: E501
        """CrashGroup - a model defined in Swagger"""  # noqa: E501
        self._crash_group_id = None
        self._new_crash_group_id = None
        self._display_id = None
        self._app_version = None
        self._build = None
        self._status = None
        self._count = None
        self._impacted_users = None
        self._first_occurrence = None
        self._last_occurrence = None
        self._exception = None
        self._crash_reason = None
        self._reason_frame = None
        self._fatal = None
        self._annotation = None
        self.discriminator = None
        self.crash_group_id = crash_group_id
        self.new_crash_group_id = new_crash_group_id
        self.display_id = display_id
        self.app_version = app_version
        self.build = build
        self.status = status
        self.count = count
        if impacted_users is not None:
            self.impacted_users = impacted_users
        self.first_occurrence = first_occurrence
        self.last_occurrence = last_occurrence
        if exception is not None:
            self.exception = exception
        self.crash_reason = crash_reason
        if reason_frame is not None:
            self.reason_frame = reason_frame
        self.fatal = fatal
        self.annotation = annotation

    @property
    def crash_group_id(self):
        """Gets the crash_group_id of this CrashGroup.  # noqa: E501


        :return: The crash_group_id of this CrashGroup.  # noqa: E501
        :rtype: string
        """
        return self._crash_group_id

    @crash_group_id.setter
    def crash_group_id(self, crash_group_id):
        """Sets the crash_group_id of this CrashGroup.


        :param crash_group_id: The crash_group_id of this CrashGroup.  # noqa: E501
        :type: string
        """
        if crash_group_id is None:
            raise ValueError("Invalid value for `crash_group_id`, must not be `None`")  # noqa: E501

        self._crash_group_id = crash_group_id

    @property
    def new_crash_group_id(self):
        """Gets the new_crash_group_id of this CrashGroup.  # noqa: E501


        :return: The new_crash_group_id of this CrashGroup.  # noqa: E501
        :rtype: string
        """
        return self._new_crash_group_id

    @new_crash_group_id.setter
    def new_crash_group_id(self, new_crash_group_id):
        """Sets the new_crash_group_id of this CrashGroup.


        :param new_crash_group_id: The new_crash_group_id of this CrashGroup.  # noqa: E501
        :type: string
        """
        if new_crash_group_id is None:
            raise ValueError("Invalid value for `new_crash_group_id`, must not be `None`")  # noqa: E501

        self._new_crash_group_id = new_crash_group_id

    @property
    def display_id(self):
        """Gets the display_id of this CrashGroup.  # noqa: E501


        :return: The display_id of this CrashGroup.  # noqa: E501
        :rtype: string
        """
        return self._display_id

    @display_id.setter
    def display_id(self, display_id):
        """Sets the display_id of this CrashGroup.


        :param display_id: The display_id of this CrashGroup.  # noqa: E501
        :type: string
        """
        if display_id is None:
            raise ValueError("Invalid value for `display_id`, must not be `None`")  # noqa: E501

        self._display_id = display_id

    @property
    def app_version(self):
        """Gets the app_version of this CrashGroup.  # noqa: E501


        :return: The app_version of this CrashGroup.  # noqa: E501
        :rtype: string
        """
        return self._app_version

    @app_version.setter
    def app_version(self, app_version):
        """Sets the app_version of this CrashGroup.


        :param app_version: The app_version of this CrashGroup.  # noqa: E501
        :type: string
        """
        if app_version is None:
            raise ValueError("Invalid value for `app_version`, must not be `None`")  # noqa: E501

        self._app_version = app_version

    @property
    def build(self):
        """Gets the build of this CrashGroup.  # noqa: E501


        :return: The build of this CrashGroup.  # noqa: E501
        :rtype: string
        """
        return self._build

    @build.setter
    def build(self, build):
        """Sets the build of this CrashGroup.


        :param build: The build of this CrashGroup.  # noqa: E501
        :type: string
        """
        if build is None:
            raise ValueError("Invalid value for `build`, must not be `None`")  # noqa: E501

        self._build = build

    @property
    def status(self):
        """Gets the status of this CrashGroup.  # noqa: E501


        :return: The status of this CrashGroup.  # noqa: E501
        :rtype: string
        """
        return self._status

    @status.setter
    def status(self, status):
        """Sets the status of this CrashGroup.


        :param status: The status of this CrashGroup.  # noqa: E501
        :type: string
        """
        if status is None:
            raise ValueError("Invalid value for `status`, must not be `None`")  # noqa: E501
        allowed_values = [undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, ]  # noqa: E501

        self._status = status

    @property
    def count(self):
        """Gets the count of this CrashGroup.  # noqa: E501


        :return: The count of this CrashGroup.  # noqa: E501
        :rtype: integer
        """
        return self._count

    @count.setter
    def count(self, count):
        """Sets the count of this CrashGroup.


        :param count: The count of this CrashGroup.  # noqa: E501
        :type: integer
        """
        if count is None:
            raise ValueError("Invalid value for `count`, must not be `None`")  # noqa: E501

        self._count = count

    @property
    def impacted_users(self):
        """Gets the impacted_users of this CrashGroup.  # noqa: E501


        :return: The impacted_users of this CrashGroup.  # noqa: E501
        :rtype: integer
        """
        return self._impacted_users

    @impacted_users.setter
    def impacted_users(self, impacted_users):
        """Sets the impacted_users of this CrashGroup.


        :param impacted_users: The impacted_users of this CrashGroup.  # noqa: E501
        :type: integer
        """

        self._impacted_users = impacted_users

    @property
    def first_occurrence(self):
        """Gets the first_occurrence of this CrashGroup.  # noqa: E501


        :return: The first_occurrence of this CrashGroup.  # noqa: E501
        :rtype: string
        """
        return self._first_occurrence

    @first_occurrence.setter
    def first_occurrence(self, first_occurrence):
        """Sets the first_occurrence of this CrashGroup.


        :param first_occurrence: The first_occurrence of this CrashGroup.  # noqa: E501
        :type: string
        """
        if first_occurrence is None:
            raise ValueError("Invalid value for `first_occurrence`, must not be `None`")  # noqa: E501

        self._first_occurrence = first_occurrence

    @property
    def last_occurrence(self):
        """Gets the last_occurrence of this CrashGroup.  # noqa: E501


        :return: The last_occurrence of this CrashGroup.  # noqa: E501
        :rtype: string
        """
        return self._last_occurrence

    @last_occurrence.setter
    def last_occurrence(self, last_occurrence):
        """Sets the last_occurrence of this CrashGroup.


        :param last_occurrence: The last_occurrence of this CrashGroup.  # noqa: E501
        :type: string
        """
        if last_occurrence is None:
            raise ValueError("Invalid value for `last_occurrence`, must not be `None`")  # noqa: E501

        self._last_occurrence = last_occurrence

    @property
    def exception(self):
        """Gets the exception of this CrashGroup.  # noqa: E501


        :return: The exception of this CrashGroup.  # noqa: E501
        :rtype: string
        """
        return self._exception

    @exception.setter
    def exception(self, exception):
        """Sets the exception of this CrashGroup.


        :param exception: The exception of this CrashGroup.  # noqa: E501
        :type: string
        """

        self._exception = exception

    @property
    def crash_reason(self):
        """Gets the crash_reason of this CrashGroup.  # noqa: E501


        :return: The crash_reason of this CrashGroup.  # noqa: E501
        :rtype: string
        """
        return self._crash_reason

    @crash_reason.setter
    def crash_reason(self, crash_reason):
        """Sets the crash_reason of this CrashGroup.


        :param crash_reason: The crash_reason of this CrashGroup.  # noqa: E501
        :type: string
        """
        if crash_reason is None:
            raise ValueError("Invalid value for `crash_reason`, must not be `None`")  # noqa: E501

        self._crash_reason = crash_reason

    @property
    def reason_frame(self):
        """Gets the reason_frame of this CrashGroup.  # noqa: E501

        frame belonging to the reason of the crash  # noqa: E501

        :return: The reason_frame of this CrashGroup.  # noqa: E501
        :rtype: 
        """
        return self._reason_frame

    @reason_frame.setter
    def reason_frame(self, reason_frame):
        """Sets the reason_frame of this CrashGroup.

        frame belonging to the reason of the crash  # noqa: E501

        :param reason_frame: The reason_frame of this CrashGroup.  # noqa: E501
        :type: 
        """

        self._reason_frame = reason_frame

    @property
    def fatal(self):
        """Gets the fatal of this CrashGroup.  # noqa: E501

        Crash or handled exception  # noqa: E501

        :return: The fatal of this CrashGroup.  # noqa: E501
        :rtype: boolean
        """
        return self._fatal

    @fatal.setter
    def fatal(self, fatal):
        """Sets the fatal of this CrashGroup.

        Crash or handled exception  # noqa: E501

        :param fatal: The fatal of this CrashGroup.  # noqa: E501
        :type: boolean
        """
        if fatal is None:
            raise ValueError("Invalid value for `fatal`, must not be `None`")  # noqa: E501

        self._fatal = fatal

    @property
    def annotation(self):
        """Gets the annotation of this CrashGroup.  # noqa: E501


        :return: The annotation of this CrashGroup.  # noqa: E501
        :rtype: string
        """
        return self._annotation

    @annotation.setter
    def annotation(self, annotation):
        """Sets the annotation of this CrashGroup.


        :param annotation: The annotation of this CrashGroup.  # noqa: E501
        :type: string
        """
        if annotation is None:
            raise ValueError("Invalid value for `annotation`, must not be `None`")  # noqa: E501

        self._annotation = annotation

    def to_dict(self):
        """Returns the model properties as a dict"""
        result = {}

        for attr, _ in six.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 pprint.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"""
        if not isinstance(other, CrashGroup):
            return False

        return self.__dict__ == other.__dict__

    def __ne__(self, other):
        """Returns true if both objects are not equal"""
        return not self == other

<filename>sdks/python/appcenter_sdk/models/CrashGroup.py
# coding: utf-8

"""
    App Center Client

    Microsoft Visual Studio App Center API  # noqa: E501

    OpenAPI spec version: preview
    Contact: <EMAIL>
    Project Repository: https://github.com/b3nab/appcenter-sdks
"""

import pprint
import re  # noqa: F401

import six


class CrashGroup(object):
    """NOTE: This class is auto generated by the swagger code generator program.

    Do not edit the class manually.
    """

    """
    allowed enum values
    """
    JavaScript = "JavaScript"
    CSharp = "CSharp"
    Objective-C = "Objective-C"
    Objective-Cpp = "Objective-Cpp"
    Cpp = "Cpp"
    C = "C"
    Swift = "Swift"
    Java = "Java"
    Unknown = "Unknown"
    """
    Attributes:
      swagger_types (dict): The key is attribute name
                            and the value is attribute type.
      attribute_map (dict): The key is attribute name
                            and the value is json key in definition.
    """
    swagger_types = {
        'crash_group_id': 'string',
        'new_crash_group_id': 'string',
        'display_id': 'string',
        'app_version': 'string',
        'build': 'string',
        'status': 'string',
        'count': 'integer',
        'impacted_users': 'integer',
        'first_occurrence': 'string',
        'last_occurrence': 'string',
        'exception': 'string',
        'crash_reason': 'string',
        'reason_frame': '',
        'fatal': 'boolean',
        'annotation': 'string'
    }

    attribute_map = {
        'crash_group_id': 'crash_group_id',
        'new_crash_group_id': 'new_crash_group_id',
        'display_id': 'display_id',
        'app_version': 'app_version',
        'build': 'build',
        'status': 'status',
        'count': 'count',
        'impacted_users': 'impacted_users',
        'first_occurrence': 'first_occurrence',
        'last_occurrence': 'last_occurrence',
        'exception': 'exception',
        'crash_reason': 'crash_reason',
        'reason_frame': 'reason_frame',
        'fatal': 'fatal',
        'annotation': 'annotation'
    }

    def __init__(self, crash_group_id=None, new_crash_group_id=None, display_id=None, app_version=None, build=None, status=None, count=None, impacted_users=None, first_occurrence=None, last_occurrence=None, exception=None, crash_reason=None, reason_frame=None, fatal=None, annotation=None):  # noqa: E501
        """CrashGroup - a model defined in Swagger"""  # noqa: E501
        self._crash_group_id = None
        self._new_crash_group_id = None
        self._display_id = None
        self._app_version = None
        self._build = None
        self._status = None
        self._count = None
        self._impacted_users = None
        self._first_occurrence = None
        self._last_occurrence = None
        self._exception = None
        self._crash_reason = None
        self._reason_frame = None
        self._fatal = None
        self._annotation = None
        self.discriminator = None
        self.crash_group_id = crash_group_id
        self.new_crash_group_id = new_crash_group_id
        self.display_id = display_id
        self.app_version = app_version
        self.build = build
        self.status = status
        self.count = count
        if impacted_users is not None:
            self.impacted_users = impacted_users
        self.first_occurrence = first_occurrence
        self.last_occurrence = last_occurrence
        if exception is not None:
            self.exception = exception
        self.crash_reason = crash_reason
        if reason_frame is not None:
            self.reason_frame = reason_frame
        self.fatal = fatal
        self.annotation = annotation

    @property
    def crash_group_id(self):
        """Gets the crash_group_id of this CrashGroup.  # noqa: E501


        :return: The crash_group_id of this CrashGroup.  # noqa: E501
        :rtype: string
        """
        return self._crash_group_id

    @crash_group_id.setter
    def crash_group_id(self, crash_group_id):
        """Sets the crash_group_id of this CrashGroup.


        :param crash_group_id: The crash_group_id of this CrashGroup.  # noqa: E501
        :type: string
        """
        if crash_group_id is None:
            raise ValueError("Invalid value for `crash_group_id`, must not be `None`")  # noqa: E501

        self._crash_group_id = crash_group_id

    @property
    def new_crash_group_id(self):
        """Gets the new_crash_group_id of this CrashGroup.  # noqa: E501


        :return: The new_crash_group_id of this CrashGroup.  # noqa: E501
        :rtype: string
        """
        return self._new_crash_group_id

    @new_crash_group_id.setter
    def new_crash_group_id(self, new_crash_group_id):
        """Sets the new_crash_group_id of this CrashGroup.


        :param new_crash_group_id: The new_crash_group_id of this CrashGroup.  # noqa: E501
        :type: string
        """
        if new_crash_group_id is None:
            raise ValueError("Invalid value for `new_crash_group_id`, must not be `None`")  # noqa: E501

        self._new_crash_group_id = new_crash_group_id

    @property
    def display_id(self):
        """Gets the display_id of this CrashGroup.  # noqa: E501


        :return: The display_id of this CrashGroup.  # noqa: E501
        :rtype: string
        """
        return self._display_id

    @display_id.setter
    def display_id(self, display_id):
        """Sets the display_id of this CrashGroup.


        :param display_id: The display_id of this CrashGroup.  # noqa: E501
        :type: string
        """
        if display_id is None:
            raise ValueError("Invalid value for `display_id`, must not be `None`")  # noqa: E501

        self._display_id = display_id

    @property
    def app_version(self):
        """Gets the app_version of this CrashGroup.  # noqa: E501


        :return: The app_version of this CrashGroup.  # noqa: E501
        :rtype: string
        """
        return self._app_version

    @app_version.setter
    def app_version(self, app_version):
        """Sets the app_version of this CrashGroup.


        :param app_version: The app_version of this CrashGroup.  # noqa: E501
        :type: string
        """
        if app_version is None:
            raise ValueError("Invalid value for `app_version`, must not be `None`")  # noqa: E501

        self._app_version = app_version

    @property
    def build(self):
        """Gets the build of this CrashGroup.  # noqa: E501


        :return: The build of this CrashGroup.  # noqa: E501
        :rtype: string
        """
        return self._build

    @build.setter
    def build(self, build):
        """Sets the build of this CrashGroup.


        :param build: The build of this CrashGroup.  # noqa: E501
        :type: string
        """
        if build is None:
            raise ValueError("Invalid value for `build`, must not be `None`")  # noqa: E501

        self._build = build

    @property
    def status(self):
        """Gets the status of this CrashGroup.  # noqa: E501


        :return: The status of this CrashGroup.  # noqa: E501
        :rtype: string
        """
        return self._status

    @status.setter
    def status(self, status):
        """Sets the status of this CrashGroup.


        :param status: The status of this CrashGroup.  # noqa: E501
        :type: string
        """
        if status is None:
            raise ValueError("Invalid value for `status`, must not be `None`")  # noqa: E501
        allowed_values = [undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, ]  # noqa: E501

        self._status = status

    @property
    def count(self):
        """Gets the count of this CrashGroup.  # noqa: E501


        :return: The count of this CrashGroup.  # noqa: E501
        :rtype: integer
        """
        return self._count

    @count.setter
    def count(self, count):
        """Sets the count of this CrashGroup.


        :param count: The count of this CrashGroup.  # noqa: E501
        :type: integer
        """
        if count is None:
            raise ValueError("Invalid value for `count`, must not be `None`")  # noqa: E501

        self._count = count

    @property
    def impacted_users(self):
        """Gets the impacted_users of this CrashGroup.  # noqa: E501


        :return: The impacted_users of this CrashGroup.  # noqa: E501
        :rtype: integer
        """
        return self._impacted_users

    @impacted_users.setter
    def impacted_users(self, impacted_users):
        """Sets the impacted_users of this CrashGroup.


        :param impacted_users: The impacted_users of this CrashGroup.  # noqa: E501
        :type: integer
        """

        self._impacted_users = impacted_users

    @property
    def first_occurrence(self):
        """Gets the first_occurrence of this CrashGroup.  # noqa: E501


        :return: The first_occurrence of this CrashGroup.  # noqa: E501
        :rtype: string
        """
        return self._first_occurrence

    @first_occurrence.setter
    def first_occurrence(self, first_occurrence):
        """Sets the first_occurrence of this CrashGroup.


        :param first_occurrence: The first_occurrence of this CrashGroup.  # noqa: E501
        :type: string
        """
        if first_occurrence is None:
            raise ValueError("Invalid value for `first_occurrence`, must not be `None`")  # noqa: E501

        self._first_occurrence = first_occurrence

    @property
    def last_occurrence(self):
        """Gets the last_occurrence of this CrashGroup.  # noqa: E501


        :return: The last_occurrence of this CrashGroup.  # noqa: E501
        :rtype: string
        """
        return self._last_occurrence

    @last_occurrence.setter
    def last_occurrence(self, last_occurrence):
        """Sets the last_occurrence of this CrashGroup.


        :param last_occurrence: The last_occurrence of this CrashGroup.  # noqa: E501
        :type: string
        """
        if last_occurrence is None:
            raise ValueError("Invalid value for `last_occurrence`, must not be `None`")  # noqa: E501

        self._last_occurrence = last_occurrence

    @property
    def exception(self):
        """Gets the exception of this CrashGroup.  # noqa: E501


        :return: The exception of this CrashGroup.  # noqa: E501
        :rtype: string
        """
        return self._exception

    @exception.setter
    def exception(self, exception):
        """Sets the exception of this CrashGroup.


        :param exception: The exception of this CrashGroup.  # noqa: E501
        :type: string
        """

        self._exception = exception

    @property
    def crash_reason(self):
        """Gets the crash_reason of this CrashGroup.  # noqa: E501


        :return: The crash_reason of this CrashGroup.  # noqa: E501
        :rtype: string
        """
        return self._crash_reason

    @crash_reason.setter
    def crash_reason(self, crash_reason):
        """Sets the crash_reason of this CrashGroup.


        :param crash_reason: The crash_reason of this CrashGroup.  # noqa: E501
        :type: string
        """
        if crash_reason is None:
            raise ValueError("Invalid value for `crash_reason`, must not be `None`")  # noqa: E501

        self._crash_reason = crash_reason

    @property
    def reason_frame(self):
        """Gets the reason_frame of this CrashGroup.  # noqa: E501

        frame belonging to the reason of the crash  # noqa: E501

        :return: The reason_frame of this CrashGroup.  # noqa: E501
        :rtype: 
        """
        return self._reason_frame

    @reason_frame.setter
    def reason_frame(self, reason_frame):
        """Sets the reason_frame of this CrashGroup.

        frame belonging to the reason of the crash  # noqa: E501

        :param reason_frame: The reason_frame of this CrashGroup.  # noqa: E501
        :type: 
        """

        self._reason_frame = reason_frame

    @property
    def fatal(self):
        """Gets the fatal of this CrashGroup.  # noqa: E501

        Crash or handled exception  # noqa: E501

        :return: The fatal of this CrashGroup.  # noqa: E501
        :rtype: boolean
        """
        return self._fatal

    @fatal.setter
    def fatal(self, fatal):
        """Sets the fatal of this CrashGroup.

        Crash or handled exception  # noqa: E501

        :param fatal: The fatal of this CrashGroup.  # noqa: E501
        :type: boolean
        """
        if fatal is None:
            raise ValueError("Invalid value for `fatal`, must not be `None`")  # noqa: E501

        self._fatal = fatal

    @property
    def annotation(self):
        """Gets the annotation of this CrashGroup.  # noqa: E501


        :return: The annotation of this CrashGroup.  # noqa: E501
        :rtype: string
        """
        return self._annotation

    @annotation.setter
    def annotation(self, annotation):
        """Sets the annotation of this CrashGroup.


        :param annotation: The annotation of this CrashGroup.  # noqa: E501
        :type: string
        """
        if annotation is None:
            raise ValueError("Invalid value for `annotation`, must not be `None`")  # noqa: E501

        self._annotation = annotation

    def to_dict(self):
        """Returns the model properties as a dict"""
        result = {}

        for attr, _ in six.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 pprint.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"""
        if not isinstance(other, CrashGroup):
            return False

        return self.__dict__ == other.__dict__

    def __ne__(self, other):
        """Returns true if both objects are not equal"""
        return not self == other

# coding: utf-8 App Center Client      Microsoft Visual Studio App Center API  # noqa: E501      OpenAPI spec version: preview     Contact: <EMAIL>     Project Repository: https://github.com/b3nab/appcenter-sdks # noqa: F401 NOTE: This class is auto generated by the swagger code generator program.      Do not edit the class manually. allowed enum values Attributes:       swagger_types (dict): The key is attribute name                             and the value is attribute type.       attribute_map (dict): The key is attribute name                             and the value is json key in definition. # noqa: E501 CrashGroup - a model defined in Swagger # noqa: E501 Gets the crash_group_id of this CrashGroup.  # noqa: E501           :return: The crash_group_id of this CrashGroup.  # noqa: E501         :rtype: string Sets the crash_group_id of this CrashGroup.           :param crash_group_id: The crash_group_id of this CrashGroup.  # noqa: E501         :type: string # noqa: E501 Gets the new_crash_group_id of this CrashGroup.  # noqa: E501           :return: The new_crash_group_id of this CrashGroup.  # noqa: E501         :rtype: string Sets the new_crash_group_id of this CrashGroup.           :param new_crash_group_id: The new_crash_group_id of this CrashGroup.  # noqa: E501         :type: string # noqa: E501 Gets the display_id of this CrashGroup.  # noqa: E501           :return: The display_id of this CrashGroup.  # noqa: E501         :rtype: string Sets the display_id of this CrashGroup.           :param display_id: The display_id of this CrashGroup.  # noqa: E501         :type: string # noqa: E501 Gets the app_version of this CrashGroup.  # noqa: E501           :return: The app_version of this CrashGroup.  # noqa: E501         :rtype: string Sets the app_version of this CrashGroup.           :param app_version: The app_version of this CrashGroup.  # noqa: E501         :type: string # noqa: E501 Gets the build of this CrashGroup.  # noqa: E501           :return: The build of this CrashGroup.  # noqa: E501         :rtype: string Sets the build of this CrashGroup.           :param build: The build of this CrashGroup.  # noqa: E501         :type: string # noqa: E501 Gets the status of this CrashGroup.  # noqa: E501           :return: The status of this CrashGroup.  # noqa: E501         :rtype: string Sets the status of this CrashGroup.           :param status: The status of this CrashGroup.  # noqa: E501         :type: string # noqa: E501 # noqa: E501 Gets the count of this CrashGroup.  # noqa: E501           :return: The count of this CrashGroup.  # noqa: E501         :rtype: integer Sets the count of this CrashGroup.           :param count: The count of this CrashGroup.  # noqa: E501         :type: integer # noqa: E501 Gets the impacted_users of this CrashGroup.  # noqa: E501           :return: The impacted_users of this CrashGroup.  # noqa: E501         :rtype: integer Sets the impacted_users of this CrashGroup.           :param impacted_users: The impacted_users of this CrashGroup.  # noqa: E501         :type: integer Gets the first_occurrence of this CrashGroup.  # noqa: E501           :return: The first_occurrence of this CrashGroup.  # noqa: E501         :rtype: string Sets the first_occurrence of this CrashGroup.           :param first_occurrence: The first_occurrence of this CrashGroup.  # noqa: E501         :type: string # noqa: E501 Gets the last_occurrence of this CrashGroup.  # noqa: E501           :return: The last_occurrence of this CrashGroup.  # noqa: E501         :rtype: string Sets the last_occurrence of this CrashGroup.           :param last_occurrence: The last_occurrence of this CrashGroup.  # noqa: E501         :type: string # noqa: E501 Gets the exception of this CrashGroup.  # noqa: E501           :return: The exception of this CrashGroup.  # noqa: E501         :rtype: string Sets the exception of this CrashGroup.           :param exception: The exception of this CrashGroup.  # noqa: E501         :type: string Gets the crash_reason of this CrashGroup.  # noqa: E501           :return: The crash_reason of this CrashGroup.  # noqa: E501         :rtype: string Sets the crash_reason of this CrashGroup.           :param crash_reason: The crash_reason of this CrashGroup.  # noqa: E501         :type: string # noqa: E501 Gets the reason_frame of this CrashGroup.  # noqa: E501          frame belonging to the reason of the crash  # noqa: E501          :return: The reason_frame of this CrashGroup.  # noqa: E501         :rtype: Sets the reason_frame of this CrashGroup.          frame belonging to the reason of the crash  # noqa: E501          :param reason_frame: The reason_frame of this CrashGroup.  # noqa: E501         :type: Gets the fatal of this CrashGroup.  # noqa: E501          Crash or handled exception  # noqa: E501          :return: The fatal of this CrashGroup.  # noqa: E501         :rtype: boolean Sets the fatal of this CrashGroup.          Crash or handled exception  # noqa: E501          :param fatal: The fatal of this CrashGroup.  # noqa: E501         :type: boolean # noqa: E501 Gets the annotation of this CrashGroup.  # noqa: E501           :return: The annotation of this CrashGroup.  # noqa: E501         :rtype: string Sets the annotation of this CrashGroup.           :param annotation: The annotation of this CrashGroup.  # noqa: E501         :type: string # noqa: E501 Returns the model properties as a dict Returns the string representation of the model For `print` and `pprint` Returns true if both objects are equal Returns true if both objects are not equal