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

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

    :ivar type_name:
    :vartype type_name: str
    :param name:
    :type name: str
    :param version:
    :type version: str
    :param attribute_names:
    :type attribute_names: list[str]
    :param id:
    :type id: str
    :ivar created_at_utc:
    :vartype created_at_utc: datetime
    :ivar updated_at_utc:
    :vartype updated_at_utc: datetime
    """

    _validation = {
        'type_name': {'readonly': True},
        'created_at_utc': {'readonly': True},
        'updated_at_utc': {'readonly': True},
    }

    _attribute_map = {
        'type_name': {'key': 'typeName', 'type': 'str'},
        'name': {'key': 'name', 'type': 'str'},
        'version': {'key': 'version', 'type': 'str'},
        'attribute_names': {'key': 'attributeNames', 'type': '[str]'},
        'id': {'key': 'id', 'type': 'str'},
        'created_at_utc': {'key': 'createdAtUtc', 'type': 'iso-8601'},
        'updated_at_utc': {'key': 'updatedAtUtc', 'type': 'iso-8601'},
    }

    def __init__(self, *, name: str=None, version: str=None, attribute_names=None, id: str=None, **kwargs) -> None:
        super(SchemaRecord, self).__init__(**kwargs)
        self.type_name = None
        self.name = name
        self.version = version
        self.attribute_names = attribute_names
        self.id = id
        self.created_at_utc = None
        self.updated_at_utc = None
