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

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

    :param scope_category:
    :type scope_category: ~energycap.sdk.models.GHGScopeCategory
    :param factor:
    :type factor: ~energycap.sdk.models.GHGFactor
    :param using_default_settings: If true, this meter is using the default
     GHG settings that were in effect at the time the meter was created
    :type using_default_settings: bool
    :ivar is_configured: Flag indicating whether or not configuration exists
     for this meter.
     If false, EnergyCap.DTO.V202210.GHG.GHGSettingResponseDTO.Factor or
     EnergyCap.DTO.V202210.GHG.GHGSettingResponseDTO.ScopeCategory may be null.
    :vartype is_configured: bool
    """

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

    _attribute_map = {
        'scope_category': {'key': 'scopeCategory', 'type': 'GHGScopeCategory'},
        'factor': {'key': 'factor', 'type': 'GHGFactor'},
        'using_default_settings': {'key': 'usingDefaultSettings', 'type': 'bool'},
        'is_configured': {'key': 'isConfigured', 'type': 'bool'},
    }

    def __init__(self, *, scope_category=None, factor=None, using_default_settings: bool=None, **kwargs) -> None:
        super(GHGSettingResponse, self).__init__(**kwargs)
        self.scope_category = scope_category
        self.factor = factor
        self.using_default_settings = using_default_settings
        self.is_configured = None
