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

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

    :param id: Required.
    :type id: int
    :param name: Required.
    :type name: str
    :param code: Required.
    :type code: str
    :param categories: Required.
    :type categories:
     list[~smartdiagnostics_sdk.models.AssetCategoryWithSizeChild]
    """

    _validation = {
        'id': {'required': True},
        'name': {'required': True},
        'code': {'required': True},
        'categories': {'required': True},
    }

    _attribute_map = {
        'id': {'key': 'Id', 'type': 'int'},
        'name': {'key': 'Name', 'type': 'str'},
        'code': {'key': 'Code', 'type': 'str'},
        'categories': {'key': 'Categories', 'type': '[AssetCategoryWithSizeChild]'},
    }

    def __init__(self, *, id: int, name: str, code: str, categories, **kwargs) -> None:
        super(AssetTypeResponse, self).__init__(**kwargs)
        self.id = id
        self.name = name
        self.code = code
        self.categories = categories
