# 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 BaseProfilePreview(Model):
    """A preview object of a searched base profile. This contains some information
    about the base profile that will help you choose the right one.

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

    :param id: Required. The unique identifier of the base profile. You can
     use this as a reference to create a new profile from this base profile.
    :type id: str
    :param device: Required.
    :type device: ~kameleo.local_api_client.models.Device
    :param os: Required.
    :type os: ~kameleo.local_api_client.models.Os
    :param browser: Required.
    :type browser: ~kameleo.local_api_client.models.Browser
    :param language: Required. Language of the base profile. Using ISO 639-1
     language codes.
    :type language: str
    """

    _validation = {
        'id': {'required': True},
        'device': {'required': True},
        'os': {'required': True},
        'browser': {'required': True},
        'language': {'required': True},
    }

    _attribute_map = {
        'id': {'key': 'id', 'type': 'str'},
        'device': {'key': 'device', 'type': 'Device'},
        'os': {'key': 'os', 'type': 'Os'},
        'browser': {'key': 'browser', 'type': 'Browser'},
        'language': {'key': 'language', 'type': 'str'},
    }

    def __init__(self, **kwargs):
        super(BaseProfilePreview, self).__init__(**kwargs)
        self.id = kwargs.get('id', None)
        self.device = kwargs.get('device', None)
        self.os = kwargs.get('os', None)
        self.browser = kwargs.get('browser', None)
        self.language = kwargs.get('language', None)
