# coding=utf-8
# --------------------------------------------------------------------------
# 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 GroupStatusResponse(Model):
    """GroupStatusResponse.

    All required parameters must be populated in order to send to Azure.

    :param name: Required.
    :type name: str
    :param id: Required.
    :type id: str
    :param alarm_count: Required.
    :type alarm_count: int
    :param warning_count: Required.
    :type warning_count: int
    :param damage_score:
    :type damage_score: float
    :param alarm_severity:
    :type alarm_severity: int
    :param is_snoozed: Required.
    :type is_snoozed: bool
    :param is_paused: Required.
    :type is_paused: bool
    :param analytics_models:
    :type analytics_models:
     list[~smartdiagnostics_sdk.models.AnalyticsModelChild]
    :param hierarchy:
    :type hierarchy: list[~smartdiagnostics_sdk.models.HierarchyChild]
    """

    _validation = {
        'name': {'required': True},
        'id': {'required': True},
        'alarm_count': {'required': True},
        'warning_count': {'required': True},
        'is_snoozed': {'required': True},
        'is_paused': {'required': True},
    }

    _attribute_map = {
        'name': {'key': 'Name', 'type': 'str'},
        'id': {'key': 'Id', 'type': 'str'},
        'alarm_count': {'key': 'AlarmCount', 'type': 'int'},
        'warning_count': {'key': 'WarningCount', 'type': 'int'},
        'damage_score': {'key': 'DamageScore', 'type': 'float'},
        'alarm_severity': {'key': 'AlarmSeverity', 'type': 'int'},
        'is_snoozed': {'key': 'IsSnoozed', 'type': 'bool'},
        'is_paused': {'key': 'IsPaused', 'type': 'bool'},
        'analytics_models': {'key': 'AnalyticsModels', 'type': '[AnalyticsModelChild]'},
        'hierarchy': {'key': 'Hierarchy', 'type': '[HierarchyChild]'},
    }

    def __init__(self, **kwargs):
        super(GroupStatusResponse, self).__init__(**kwargs)
        self.name = kwargs.get('name', None)
        self.id = kwargs.get('id', None)
        self.alarm_count = kwargs.get('alarm_count', None)
        self.warning_count = kwargs.get('warning_count', None)
        self.damage_score = kwargs.get('damage_score', None)
        self.alarm_severity = kwargs.get('alarm_severity', None)
        self.is_snoozed = kwargs.get('is_snoozed', None)
        self.is_paused = kwargs.get('is_paused', None)
        self.analytics_models = kwargs.get('analytics_models', None)
        self.hierarchy = kwargs.get('hierarchy', None)
