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

    :param template_id: The identifier for the template
    :type template_id: int
    :param version_id: The identifier for the template version
    :type version_id: int
    :param begin_date: The begin date of the template version
    :type begin_date: datetime
    :param end_date: The end date of the template version
    :type end_date: datetime
    :param template_lines: An array of template lines belonging to the
     template version
    :type template_lines: list[~energycap.sdk.models.TemplateLine]
    """

    _attribute_map = {
        'template_id': {'key': 'templateId', 'type': 'int'},
        'version_id': {'key': 'versionId', 'type': 'int'},
        'begin_date': {'key': 'beginDate', 'type': 'iso-8601'},
        'end_date': {'key': 'endDate', 'type': 'iso-8601'},
        'template_lines': {'key': 'templateLines', 'type': '[TemplateLine]'},
    }

    def __init__(self, *, template_id: int=None, version_id: int=None, begin_date=None, end_date=None, template_lines=None, **kwargs) -> None:
        super(TemplateVersion, self).__init__(**kwargs)
        self.template_id = template_id
        self.version_id = version_id
        self.begin_date = begin_date
        self.end_date = end_date
        self.template_lines = template_lines
