# 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 HardwareModelV3(Model):
    """This class is meant to be used for all hardware Models.

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

    :param id: Required. Hardware's Id
    :type id: long
    :param serial_number: Required. Serial Number of hardware
    :type serial_number: str
    :param nickname: Nickname of the hardware
    :type nickname: str
    """

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

    _attribute_map = {
        'id': {'key': 'Id', 'type': 'long'},
        'serial_number': {'key': 'SerialNumber', 'type': 'str'},
        'nickname': {'key': 'Nickname', 'type': 'str'},
    }

    def __init__(self, **kwargs):
        super(HardwareModelV3, self).__init__(**kwargs)
        self.id = kwargs.get('id', None)
        self.serial_number = kwargs.get('serial_number', None)
        self.nickname = kwargs.get('nickname', None)
