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

    :param show_links: Flag to indicate if public-facing links to the
     application should be displayed
    :type show_links: bool
    :param show_info: Flag to indicate if title/description should be
     displayed
    :type show_info: bool
    :param global_filter_visibility: Visibility of dashboard filter. Values
     are Show, Hide, or Fixed.
     Show - Filter controls are shown on the dashboard, filter can be
     temporarily set by anybody who can view the dashboard, including public
     viewers
     Hide - Filter controls are hidden, filter cannot be set, dashboard will be
     filtered using the topmost place of the user that creates the dashboard
     Fixed - Filter controls are hidden, a fixed filter is applied to the
     dashboard
    :type global_filter_visibility: str
    :param global_filter_type: If GlobalFilterVisibility is Fixed, this is the
     type of filter currently applied to this dashboard. Values are either
     TopmostPlace or BuildingGroup, or blank if GlobalFilterVisibility is not
     Fixed.
     TopmostPlace - Filters the dashboard by a topmost place
     BuildingGroup - Filters the dashboard by a building group
    :type global_filter_type: str
    :param topmost_place:
    :type topmost_place: ~energycap.sdk.models.PlaceChild
    :param building_group:
    :type building_group: ~energycap.sdk.models.PlaceGroupChild
    """

    _attribute_map = {
        'show_links': {'key': 'showLinks', 'type': 'bool'},
        'show_info': {'key': 'showInfo', 'type': 'bool'},
        'global_filter_visibility': {'key': 'globalFilterVisibility', 'type': 'str'},
        'global_filter_type': {'key': 'globalFilterType', 'type': 'str'},
        'topmost_place': {'key': 'topmostPlace', 'type': 'PlaceChild'},
        'building_group': {'key': 'buildingGroup', 'type': 'PlaceGroupChild'},
    }

    def __init__(self, *, show_links: bool=None, show_info: bool=None, global_filter_visibility: str=None, global_filter_type: str=None, topmost_place=None, building_group=None, **kwargs) -> None:
        super(DashboardGlobalSettings, self).__init__(**kwargs)
        self.show_links = show_links
        self.show_info = show_info
        self.global_filter_visibility = global_filter_visibility
        self.global_filter_type = global_filter_type
        self.topmost_place = topmost_place
        self.building_group = building_group
