# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator 1.0.1.0
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------

from msrest.serialization import Model


class ProjectModel(Model):
    """Project model to be sent as JSON.

    Variables are only populated by the server, and will be ignored when
    sending a request.

    :ivar id: Gets the primary key database property
    :vartype id: str
    :param name: Gets or sets the name database property
    :type name: str
    :ivar api_key: Gets the project api key
    :vartype api_key: str
    :param description: Gets or sets the description database property
    :type description: str
    :ivar current_iteration_id: Gets the current iteration id
    :vartype current_iteration_id: str
    :ivar creation_time_stamp: Gets the creation time stamp
    :vartype creation_time_stamp: datetime
    :ivar last_modified_time_stamp: Gets the last modifed time stamp
    :vartype last_modified_time_stamp: datetime
    :param settings: Gets or sets the project settings
    :type settings: :class:`ProjectSettings <training.models.ProjectSettings>`
    :ivar thumbnail: Gets the thumbnail representing the image
    :vartype thumbnail: :class:`ImageModelObsolete
     <training.models.ImageModelObsolete>`
    """

    _validation = {
        'id': {'readonly': True},
        'api_key': {'readonly': True},
        'current_iteration_id': {'readonly': True},
        'creation_time_stamp': {'readonly': True},
        'last_modified_time_stamp': {'readonly': True},
        'thumbnail': {'readonly': True},
    }

    _attribute_map = {
        'id': {'key': 'Id', 'type': 'str'},
        'name': {'key': 'Name', 'type': 'str'},
        'api_key': {'key': 'ApiKey', 'type': 'str'},
        'description': {'key': 'Description', 'type': 'str'},
        'current_iteration_id': {'key': 'CurrentIterationId', 'type': 'str'},
        'creation_time_stamp': {'key': 'CreationTimeStamp', 'type': 'iso-8601'},
        'last_modified_time_stamp': {'key': 'LastModifiedTimeStamp', 'type': 'iso-8601'},
        'settings': {'key': 'Settings', 'type': 'ProjectSettings'},
        'thumbnail': {'key': 'Thumbnail', 'type': 'ImageModelObsolete'},
    }

    def __init__(self, name=None, description=None, settings=None):
        self.id = None
        self.name = name
        self.api_key = None
        self.description = description
        self.current_iteration_id = None
        self.creation_time_stamp = None
        self.last_modified_time_stamp = None
        self.settings = settings
        self.thumbnail = None
