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

    :param energy_star_task_id: The task identifier
    :type energy_star_task_id: int
    :param task_type: The task type
    :type task_type: str
    :param begin_date: The date the submission was initiated
    :type begin_date: datetime
    :param user:
    :type user: ~energycap.sdk.models.UserChild
    :param number_of_places: The number of buildings in the submission
    :type number_of_places: int
    :param submission_task_status: Status for the submission portion of the
     task
    :type submission_task_status: str
    :param metrics_retrieval_task_status: Status for the metrics retrieval
     portion of the task
    :type metrics_retrieval_task_status: str
    :param submission_log_file_name: Filename of the log containing errors
     encountered during submission
     Will be null if this task is only for metrics retrieval or if there were
     no errors during submission
    :type submission_log_file_name: str
    :param metrics_retrieval_log_file_name: Filename of the log containing
     errors or alerts encountered during metrics retrieval
    :type metrics_retrieval_log_file_name: str
    :param submission_type:
    :type submission_type: ~energycap.sdk.models.SubmissionTypeResponse
    :param places: The list of buildings/submission periods in the submission
    :type places: list[~energycap.sdk.models.EnergyStarTaskPlaceChild]
    """

    _attribute_map = {
        'energy_star_task_id': {'key': 'energyStarTaskId', 'type': 'int'},
        'task_type': {'key': 'taskType', 'type': 'str'},
        'begin_date': {'key': 'beginDate', 'type': 'iso-8601'},
        'user': {'key': 'user', 'type': 'UserChild'},
        'number_of_places': {'key': 'numberOfPlaces', 'type': 'int'},
        'submission_task_status': {'key': 'submissionTaskStatus', 'type': 'str'},
        'metrics_retrieval_task_status': {'key': 'metricsRetrievalTaskStatus', 'type': 'str'},
        'submission_log_file_name': {'key': 'submissionLogFileName', 'type': 'str'},
        'metrics_retrieval_log_file_name': {'key': 'metricsRetrievalLogFileName', 'type': 'str'},
        'submission_type': {'key': 'submissionType', 'type': 'SubmissionTypeResponse'},
        'places': {'key': 'places', 'type': '[EnergyStarTaskPlaceChild]'},
    }

    def __init__(self, **kwargs):
        super(EnergyStarTaskResponse, self).__init__(**kwargs)
        self.energy_star_task_id = kwargs.get('energy_star_task_id', None)
        self.task_type = kwargs.get('task_type', None)
        self.begin_date = kwargs.get('begin_date', None)
        self.user = kwargs.get('user', None)
        self.number_of_places = kwargs.get('number_of_places', None)
        self.submission_task_status = kwargs.get('submission_task_status', None)
        self.metrics_retrieval_task_status = kwargs.get('metrics_retrieval_task_status', None)
        self.submission_log_file_name = kwargs.get('submission_log_file_name', None)
        self.metrics_retrieval_log_file_name = kwargs.get('metrics_retrieval_log_file_name', None)
        self.submission_type = kwargs.get('submission_type', None)
        self.places = kwargs.get('places', None)
