# 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 ReportingSettingRequest(Model):
    """ReportingSettingRequest.

    :param energy_unit_id: The energy unit identifier <span
     class='property-internal'>Required (defined)</span>
    :type energy_unit_id: int
    :param cost_unit_id: The cost unit identifier <span
     class='property-internal'>Required (defined)</span>
    :type cost_unit_id: int
    :param floor_area_unit_id: The floor area unit identifier <span
     class='property-internal'>Required (defined)</span>
    :type floor_area_unit_id: int
    :param months_to_exclude_from_charts: Months to exclude from charts,
     including the current month.
     Ex. If the current month is October,
     A value of 0 will not exclude any months,
     A value of 1 will exclude the month of October,
     A value of 2 will exclude October and September,
     A value of 3 will exclude October, September, and August,
     A value of 13 will exclude October and the last full year of data. <span
     class='property-internal'>Must be between 0 and 13</span> <span
     class='property-internal'>Required (defined)</span>
    :type months_to_exclude_from_charts: int
    """

    _validation = {
        'months_to_exclude_from_charts': {'maximum': 13, 'minimum': 0},
    }

    _attribute_map = {
        'energy_unit_id': {'key': 'energyUnitId', 'type': 'int'},
        'cost_unit_id': {'key': 'costUnitId', 'type': 'int'},
        'floor_area_unit_id': {'key': 'floorAreaUnitId', 'type': 'int'},
        'months_to_exclude_from_charts': {'key': 'monthsToExcludeFromCharts', 'type': 'int'},
    }

    def __init__(self, **kwargs):
        super(ReportingSettingRequest, self).__init__(**kwargs)
        self.energy_unit_id = kwargs.get('energy_unit_id', None)
        self.cost_unit_id = kwargs.get('cost_unit_id', None)
        self.floor_area_unit_id = kwargs.get('floor_area_unit_id', None)
        self.months_to_exclude_from_charts = kwargs.get('months_to_exclude_from_charts', None)
