# 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 IndicatorBaselineResponse(Model):
    """An indicator with a baseline.

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

    :param id: Required. The Id of the indicator
    :type id: str
    :param name: Required. The name of the indicator
    :type name: str
    :param abbreviation: The abbreviation of the indicator
    :type abbreviation: str
    :param baseline: Required.
    :type baseline:
     ~smartdiagnostics_sdk.models.BaselineWithSignificantDigitsChild
    :param hierarchy: Required. The list of the parent groups for the
     indicator
    :type hierarchy: list[~smartdiagnostics_sdk.models.HierarchyChild]
    """

    _validation = {
        'id': {'required': True},
        'name': {'required': True},
        'baseline': {'required': True},
        'hierarchy': {'required': True},
    }

    _attribute_map = {
        'id': {'key': 'Id', 'type': 'str'},
        'name': {'key': 'Name', 'type': 'str'},
        'abbreviation': {'key': 'Abbreviation', 'type': 'str'},
        'baseline': {'key': 'Baseline', 'type': 'BaselineWithSignificantDigitsChild'},
        'hierarchy': {'key': 'Hierarchy', 'type': '[HierarchyChild]'},
    }

    def __init__(self, **kwargs):
        super(IndicatorBaselineResponse, self).__init__(**kwargs)
        self.id = kwargs.get('id', None)
        self.name = kwargs.get('name', None)
        self.abbreviation = kwargs.get('abbreviation', None)
        self.baseline = kwargs.get('baseline', None)
        self.hierarchy = kwargs.get('hierarchy', None)
