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

    :param template_line_id: The template line identifier
    :type template_line_id: int
    :param begin_day: The begin day
    :type begin_day: int
    :param end_day: The end day
    :type end_day: int
    :param display_order: The display order
    :type display_order: int
    :param caption: The caption
    :type caption: str
    :param help_tag: The help tag
    :type help_tag: str
    :param is_required: Indicates whether a template line value is required or
     not required
    :type is_required: bool
    :param from_prev_template_line_id: The from previous template line
     identifier
    :type from_prev_template_line_id: int
    :param unit: The usage unit
    :type unit: ~energycap.sdk.models.UnitResponse
    :param cost_unit: The cost unit
    :type cost_unit: ~energycap.sdk.models.UnitResponse
    :param commodity: The commodity
    :type commodity: ~energycap.sdk.models.CommodityChild
    :param observation_type: The observation type
    :type observation_type: ~energycap.sdk.models.ObservationType
    """

    _attribute_map = {
        'template_line_id': {'key': 'templateLineId', 'type': 'int'},
        'begin_day': {'key': 'beginDay', 'type': 'int'},
        'end_day': {'key': 'endDay', 'type': 'int'},
        'display_order': {'key': 'displayOrder', 'type': 'int'},
        'caption': {'key': 'caption', 'type': 'str'},
        'help_tag': {'key': 'helpTag', 'type': 'str'},
        'is_required': {'key': 'isRequired', 'type': 'bool'},
        'from_prev_template_line_id': {'key': 'fromPrevTemplateLineId', 'type': 'int'},
        'unit': {'key': 'unit', 'type': 'UnitResponse'},
        'cost_unit': {'key': 'costUnit', 'type': 'UnitResponse'},
        'commodity': {'key': 'commodity', 'type': 'CommodityChild'},
        'observation_type': {'key': 'observationType', 'type': 'ObservationType'},
    }

    def __init__(self, template_line_id=None, begin_day=None, end_day=None, display_order=None, caption=None, help_tag=None, is_required=None, from_prev_template_line_id=None, unit=None, cost_unit=None, commodity=None, observation_type=None):
        super(TemplateLine, self).__init__()
        self.template_line_id = template_line_id
        self.begin_day = begin_day
        self.end_day = end_day
        self.display_order = display_order
        self.caption = caption
        self.help_tag = help_tag
        self.is_required = is_required
        self.from_prev_template_line_id = from_prev_template_line_id
        self.unit = unit
        self.cost_unit = cost_unit
        self.commodity = commodity
        self.observation_type = observation_type
