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

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

    :param serial_number: Required.
    :type serial_number: long
    :param created:
    :type created: datetime
    :param updated:
    :type updated: datetime
    :param active:
    :type active: bool
    :param location: Required.
    :type location: ~smartdiagnostics_sdk.models.LocationChild
    :param settings: Required.
    :type settings: ~smartdiagnostics_sdk.models.ThermalCameraSettingsChild
    """

    _validation = {
        'serial_number': {'required': True},
        'location': {'required': True},
        'settings': {'required': True},
    }

    _attribute_map = {
        'serial_number': {'key': 'SerialNumber', 'type': 'long'},
        'created': {'key': 'Created', 'type': 'iso-8601'},
        'updated': {'key': 'Updated', 'type': 'iso-8601'},
        'active': {'key': 'Active', 'type': 'bool'},
        'location': {'key': 'Location', 'type': 'LocationChild'},
        'settings': {'key': 'Settings', 'type': 'ThermalCameraSettingsChild'},
    }

    def __init__(self, *, serial_number: int, location, settings, created=None, updated=None, active: bool=None, **kwargs) -> None:
        super(ThermalCameraResponse, self).__init__(**kwargs)
        self.serial_number = serial_number
        self.created = created
        self.updated = updated
        self.active = active
        self.location = location
        self.settings = settings
