# 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 AdiEmsWebApiV2DtoUploadUploadProcessingStatus(Model):
    """Represents the status of an upload processing through EMS.

    :param download_record: The upload's download record, if known
    :type download_record: int
    :param download_state: A description of the download record's processing
     state. This should be checked before assuming
     that the download is correct and complete. Possible values include:
     'notProcessed', 'processed', 'failure'
    :type download_state: str or ~emsapi.models.enum
    :param flights: The upload's flight information, if known
    :type flights:
     list[~emsapi.models.AdiEmsWebApiV2DtoUploadUploadProcessingFlightStatus]
    :param error_message: Any error message associated with the processing of
     the upload, if any
    :type error_message: str
    """

    _attribute_map = {
        'download_record': {'key': 'downloadRecord', 'type': 'int'},
        'download_state': {'key': 'downloadState', 'type': 'str'},
        'flights': {'key': 'flights', 'type': '[AdiEmsWebApiV2DtoUploadUploadProcessingFlightStatus]'},
        'error_message': {'key': 'errorMessage', 'type': 'str'},
    }

    def __init__(self, *, download_record: int=None, download_state=None, flights=None, error_message: str=None, **kwargs) -> None:
        super(AdiEmsWebApiV2DtoUploadUploadProcessingStatus, self).__init__(**kwargs)
        self.download_record = download_record
        self.download_state = download_state
        self.flights = flights
        self.error_message = error_message
