# 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 CalculationResponse(Model):
    """Adding/subtracting calculation involving meters and/or meter groups
    For each type (sum or subtract), expect only one of the properties to be
    populated (e.g. if SumMeters has values, then SumMeterGroups should not).

    :param sum:
    :type sum: ~energycap.sdk.models.SumResponse
    :param subtract:
    :type subtract: ~energycap.sdk.models.SubtractResponse
    """

    _attribute_map = {
        'sum': {'key': 'sum', 'type': 'SumResponse'},
        'subtract': {'key': 'subtract', 'type': 'SubtractResponse'},
    }

    def __init__(self, *, sum=None, subtract=None, **kwargs) -> None:
        super(CalculationResponse, self).__init__(**kwargs)
        self.sum = sum
        self.subtract = subtract
