# 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 DynamicPercentageBillSplit(Model):
    """Defines details for a dynamic percentage split of use, cost, or both based
    on the use or cost values of the meters in the destination meter group.

    :param destination_meter_group_id: ID of a meter group to receive the
     results of the split bill. <span class='property-internal'>Required</span>
    :type destination_meter_group_id: int
    :param source_value_to_split: Value to distribute to the destination
     meters. <span class='property-internal'>Required</span> <span
     class='property-internal'>One of use, cost, useAndCost </span>
    :type source_value_to_split: str
    :param destination_share_value: Value to define how dynamic percentages
     are calculated. <span class='property-internal'>Required</span> <span
     class='property-internal'>One of use, cost </span>
    :type destination_share_value: str
    """

    _validation = {
        'destination_meter_group_id': {'required': True},
        'source_value_to_split': {'required': True},
        'destination_share_value': {'required': True},
    }

    _attribute_map = {
        'destination_meter_group_id': {'key': 'destinationMeterGroupId', 'type': 'int'},
        'source_value_to_split': {'key': 'sourceValueToSplit', 'type': 'str'},
        'destination_share_value': {'key': 'destinationShareValue', 'type': 'str'},
    }

    def __init__(self, destination_meter_group_id, source_value_to_split, destination_share_value):
        super(DynamicPercentageBillSplit, self).__init__()
        self.destination_meter_group_id = destination_meter_group_id
        self.source_value_to_split = source_value_to_split
        self.destination_share_value = destination_share_value
