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

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

    :param name: Required.
    :type name: str
    :param version: Required.
    :type version: str
    :param location_id:
    :type location_id: str
    :param corporation_id:
    :type corporation_id: str
    :param group_type: Possible values include: 'Asset', 'Monitoring Point',
     'Indicator Group', 'Group', 'Asset Group'
    :type group_type: str or ~smartdiagnostics_sdk.models.enum
    :param properties:
    :type properties: list[~smartdiagnostics_sdk.models.PropertyRequestChild]
    """

    _validation = {
        'name': {'required': True, 'max_length': 50},
        'version': {'required': True, 'max_length': 50},
    }

    _attribute_map = {
        'name': {'key': 'Name', 'type': 'str'},
        'version': {'key': 'Version', 'type': 'str'},
        'location_id': {'key': 'LocationId', 'type': 'str'},
        'corporation_id': {'key': 'CorporationId', 'type': 'str'},
        'group_type': {'key': 'GroupType', 'type': 'str'},
        'properties': {'key': 'Properties', 'type': '[PropertyRequestChild]'},
    }

    def __init__(self, **kwargs):
        super(AnalyticsModelCreateRequest, self).__init__(**kwargs)
        self.name = kwargs.get('name', None)
        self.version = kwargs.get('version', None)
        self.location_id = kwargs.get('location_id', None)
        self.corporation_id = kwargs.get('corporation_id', None)
        self.group_type = kwargs.get('group_type', None)
        self.properties = kwargs.get('properties', None)
