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

    All required parameters must be populated in order to send to Azure.

    :param id: Required.
    :type id: str
    :param location_name:
    :type location_name: str
    :param location_id:
    :type location_id: str
    :param corporation_name:
    :type corporation_name: str
    :param corporation_id:
    :type corporation_id: str
    :param user_name:
    :type user_name: str
    :param type:
    :type type: str
    :param status: Possible values include: 'Queued', 'Running', 'Finished',
     'FinishedWithErrors', 'Errored', 'Deferred'
    :type status: str or ~smartdiagnostics_sdk.models.enum
    :param upload_date:
    :type upload_date: datetime
    :param uploaded_file_name:
    :type uploaded_file_name: str
    """

    _validation = {
        'id': {'required': True},
    }

    _attribute_map = {
        'id': {'key': 'Id', 'type': 'str'},
        'location_name': {'key': 'LocationName', 'type': 'str'},
        'location_id': {'key': 'LocationId', 'type': 'str'},
        'corporation_name': {'key': 'CorporationName', 'type': 'str'},
        'corporation_id': {'key': 'CorporationId', 'type': 'str'},
        'user_name': {'key': 'UserName', 'type': 'str'},
        'type': {'key': 'Type', 'type': 'str'},
        'status': {'key': 'Status', 'type': 'str'},
        'upload_date': {'key': 'UploadDate', 'type': 'iso-8601'},
        'uploaded_file_name': {'key': 'UploadedFileName', 'type': 'str'},
    }

    def __init__(self, **kwargs):
        super(JobModelV3, self).__init__(**kwargs)
        self.id = kwargs.get('id', None)
        self.location_name = kwargs.get('location_name', None)
        self.location_id = kwargs.get('location_id', None)
        self.corporation_name = kwargs.get('corporation_name', None)
        self.corporation_id = kwargs.get('corporation_id', None)
        self.user_name = kwargs.get('user_name', None)
        self.type = kwargs.get('type', None)
        self.status = kwargs.get('status', None)
        self.upload_date = kwargs.get('upload_date', None)
        self.uploaded_file_name = kwargs.get('uploaded_file_name', None)
