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

    :param collection_id: The collection identifier
    :type collection_id: int
    :param collection_code: The collection code
    :type collection_code: str
    :param collection_info: The collection info
    :type collection_info: str
    :param note: The collection description
    :type note: str
    :param collection_icon:
    :type collection_icon: ~energycap.sdk.models.Icon
    :param parent:
    :type parent: ~energycap.sdk.models.CollectionChild
    :param collections: An array of child collections
    :type collections: list[~energycap.sdk.models.CollectionChild]
    :param emission_sources: An array of child emission sources
    :type emission_sources:
     list[~energycap.sdk.models.CollectionEmissionSourceChild]
    """

    _attribute_map = {
        'collection_id': {'key': 'collectionId', 'type': 'int'},
        'collection_code': {'key': 'collectionCode', 'type': 'str'},
        'collection_info': {'key': 'collectionInfo', 'type': 'str'},
        'note': {'key': 'note', 'type': 'str'},
        'collection_icon': {'key': 'collectionIcon', 'type': 'Icon'},
        'parent': {'key': 'parent', 'type': 'CollectionChild'},
        'collections': {'key': 'collections', 'type': '[CollectionChild]'},
        'emission_sources': {'key': 'emissionSources', 'type': '[CollectionEmissionSourceChild]'},
    }

    def __init__(self, *, collection_id: int=None, collection_code: str=None, collection_info: str=None, note: str=None, collection_icon=None, parent=None, collections=None, emission_sources=None, **kwargs) -> None:
        super(CollectionResponse, self).__init__(**kwargs)
        self.collection_id = collection_id
        self.collection_code = collection_code
        self.collection_info = collection_info
        self.note = note
        self.collection_icon = collection_icon
        self.parent = parent
        self.collections = collections
        self.emission_sources = emission_sources
