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

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

    :ivar type_name:
    :vartype type_name: str
    :param connection_id:
    :type connection_id: str
    :param sent_time:
    :type sent_time: datetime
    :param direction: Possible values include: 'Incoming', 'Outgoing'
    :type direction: str or ~credentials.models.enum
    :param text:
    :type text: 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'},
        'connection_id': {'key': 'connectionId', 'type': 'str'},
        'sent_time': {'key': 'sentTime', 'type': 'iso-8601'},
        'direction': {'key': 'direction', 'type': 'str'},
        'text': {'key': 'text', '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, *, connection_id: str=None, sent_time=None, direction=None, text: str=None, id: str=None, **kwargs) -> None:
        super(BasicMessageRecord, self).__init__(**kwargs)
        self.type_name = None
        self.connection_id = connection_id
        self.sent_time = sent_time
        self.direction = direction
        self.text = text
        self.id = id
        self.created_at_utc = None
        self.updated_at_utc = None
