# 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 BaselineWithSignificantDigitsChild(Model):
    """A baseline with the baseline value formatted to use significant digits.

    :param baseline_value_with_significant_digits: Formats the baseline value
     to use significant digits
    :type baseline_value_with_significant_digits: float
    :param baseline_value: Baseline Value (aka Baseline Number) for a given
     Damage indicator
    :type baseline_value: float
    :param baseline_range_end_date: The ending date of the baseline.
     Will be null when the BaselineType is Single
    :type baseline_range_end_date: datetime
    :param baseline_range_start_date: The starting date for the baseline
    :type baseline_range_start_date: datetime
    :param baseline_error: Description of the error, if any occurred
    :type baseline_error: str
    :param baseline_type: The type of baseline taken being either single,
     range, or none
    :type baseline_type: str
    :param baseline_state: The state of the baseline. Whether the baseline is
     complete, has an error, or does not exist.
    :type baseline_state: str
    :param baseline_sampling_frequency: Defines how often the number of
     samples are taken for the baseline
    :type baseline_sampling_frequency: int
    """

    _attribute_map = {
        'baseline_value_with_significant_digits': {'key': 'BaselineValueWithSignificantDigits', 'type': 'float'},
        'baseline_value': {'key': 'BaselineValue', 'type': 'float'},
        'baseline_range_end_date': {'key': 'BaselineRangeEndDate', 'type': 'iso-8601'},
        'baseline_range_start_date': {'key': 'BaselineRangeStartDate', 'type': 'iso-8601'},
        'baseline_error': {'key': 'BaselineError', 'type': 'str'},
        'baseline_type': {'key': 'BaselineType', 'type': 'str'},
        'baseline_state': {'key': 'BaselineState', 'type': 'str'},
        'baseline_sampling_frequency': {'key': 'BaselineSamplingFrequency', 'type': 'int'},
    }

    def __init__(self, *, baseline_value_with_significant_digits: float=None, baseline_value: float=None, baseline_range_end_date=None, baseline_range_start_date=None, baseline_error: str=None, baseline_type: str=None, baseline_state: str=None, baseline_sampling_frequency: int=None, **kwargs) -> None:
        super(BaselineWithSignificantDigitsChild, self).__init__(**kwargs)
        self.baseline_value_with_significant_digits = baseline_value_with_significant_digits
        self.baseline_value = baseline_value
        self.baseline_range_end_date = baseline_range_end_date
        self.baseline_range_start_date = baseline_range_start_date
        self.baseline_error = baseline_error
        self.baseline_type = baseline_type
        self.baseline_state = baseline_state
        self.baseline_sampling_frequency = baseline_sampling_frequency
