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

    Variables are only populated by the server, and will be ignored when
    sending a request.

    :param cost_centers: The collection of cost centers
    :type cost_centers: list[~energycap.sdk.models.SearchCostCenterChild]
    :param accounts: The collection of accounts
    :type accounts: list[~energycap.sdk.models.SearchAccountChild]
    :param places: The collection of places
    :type places: list[~energycap.sdk.models.SearchPlaceChild]
    :param meters: The collection of meters
    :type meters: list[~energycap.sdk.models.SearchMeterChild]
    :ivar place_groups: The collection of place groups
    :vartype place_groups: list[~energycap.sdk.models.SearchPlaceGroup]
    """

    _validation = {
        'place_groups': {'readonly': True},
    }

    _attribute_map = {
        'cost_centers': {'key': 'costCenters', 'type': '[SearchCostCenterChild]'},
        'accounts': {'key': 'accounts', 'type': '[SearchAccountChild]'},
        'places': {'key': 'places', 'type': '[SearchPlaceChild]'},
        'meters': {'key': 'meters', 'type': '[SearchMeterChild]'},
        'place_groups': {'key': 'placeGroups', 'type': '[SearchPlaceGroup]'},
    }

    def __init__(self, cost_centers=None, accounts=None, places=None, meters=None):
        super(SearchResponse, self).__init__()
        self.cost_centers = cost_centers
        self.accounts = accounts
        self.places = places
        self.meters = meters
        self.place_groups = None
