# 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 MeasureDimension(Model):
    """Represents a dimension.

    :param field: Gets the field on which group by will be applied
    :type field: str
    :param alias: Gets the alias for the field
    :type alias: str
    :param display_name: Gets the display name for the dimension
    :type display_name: str
    :param order: Gets the order for the dimension
    :type order: int
    :param bucket: Possible values include: 'none', 'day', 'month', 'year'
    :type bucket: str or ~dynamics.customerinsights.api.models.enum
    :param is_read_only: Gets a value indicating whether the dimension is
     readonly or not
    :type is_read_only: bool
    """

    _attribute_map = {
        'field': {'key': 'field', 'type': 'str'},
        'alias': {'key': 'alias', 'type': 'str'},
        'display_name': {'key': 'displayName', 'type': 'str'},
        'order': {'key': 'order', 'type': 'int'},
        'bucket': {'key': 'bucket', 'type': 'str'},
        'is_read_only': {'key': 'isReadOnly', 'type': 'bool'},
    }

    def __init__(self, *, field: str=None, alias: str=None, display_name: str=None, order: int=None, bucket=None, is_read_only: bool=None, **kwargs) -> None:
        super(MeasureDimension, self).__init__(**kwargs)
        self.field = field
        self.alias = alias
        self.display_name = display_name
        self.order = order
        self.bucket = bucket
        self.is_read_only = is_read_only
