# 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 AdiEmsWebApiV2DtoProfileProfileGlossary(Model):
    """A glossary for a specific profile. This describes the type of items found
    in a profile.

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

    :param glossary_version: Required. The integer version of the glossary
    :type glossary_version: int
    :param profile_local_id: Required. The local integer identifier of the
     associated profile
    :type profile_local_id: int
    :param profile_id: Required. The globally unique identifier of the
     associated profile
    :type profile_id: str
    :param current_version: Required. The integer version of the associated
     profile
    :type current_version: int
    :param current_version_guid: Required. The globally unique identifier for
     the version of the associated profile
    :type current_version_guid: str
    :param glossary_items: Required. A list of all entries contained in the
     glossary
    :type glossary_items:
     list[~emsapi.models.AdiEmsWebApiV2DtoProfileGlossaryItem]
    """

    _validation = {
        'glossary_version': {'required': True},
        'profile_local_id': {'required': True},
        'profile_id': {'required': True},
        'current_version': {'required': True},
        'current_version_guid': {'required': True},
        'glossary_items': {'required': True},
    }

    _attribute_map = {
        'glossary_version': {'key': 'glossaryVersion', 'type': 'int'},
        'profile_local_id': {'key': 'profileLocalId', 'type': 'int'},
        'profile_id': {'key': 'profileId', 'type': 'str'},
        'current_version': {'key': 'currentVersion', 'type': 'int'},
        'current_version_guid': {'key': 'currentVersionGuid', 'type': 'str'},
        'glossary_items': {'key': 'glossaryItems', 'type': '[AdiEmsWebApiV2DtoProfileGlossaryItem]'},
    }

    def __init__(self, *, glossary_version: int, profile_local_id: int, profile_id: str, current_version: int, current_version_guid: str, glossary_items, **kwargs) -> None:
        super(AdiEmsWebApiV2DtoProfileProfileGlossary, self).__init__(**kwargs)
        self.glossary_version = glossary_version
        self.profile_local_id = profile_local_id
        self.profile_id = profile_id
        self.current_version = current_version
        self.current_version_guid = current_version_guid
        self.glossary_items = glossary_items
