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

    :param pm_property_id: The Portfolio Manager property identifier
     null when not linked to a portfolio manager property
    :type pm_property_id: long
    :param pm_property_name: The Portfolio Manager property name
     null when not linked to a portfolio manager property
    :type pm_property_name: str
    :param pm_property_use_type: The Portfolio Manager property use type
     null when not linked to a portfolio manager property
    :type pm_property_use_type: str
    :param pm_floor_area: The Portfolio Manager floor area
     null when not linked to portfolio manager property
    :type pm_floor_area: int
    :param pm_floor_area_units: The Portfolio Manager floor area units
     null when not linked to a portfolio manager property
    :type pm_floor_area_units: str
    :param place:
    :type place: ~energycap.sdk.models.PlaceChild
    :param place_size:
    :type place_size: ~energycap.sdk.models.PlaceSizeChild
    """

    _attribute_map = {
        'pm_property_id': {'key': 'pmPropertyId', 'type': 'long'},
        'pm_property_name': {'key': 'pmPropertyName', 'type': 'str'},
        'pm_property_use_type': {'key': 'pmPropertyUseType', 'type': 'str'},
        'pm_floor_area': {'key': 'pmFloorArea', 'type': 'int'},
        'pm_floor_area_units': {'key': 'pmFloorAreaUnits', 'type': 'str'},
        'place': {'key': 'place', 'type': 'PlaceChild'},
        'place_size': {'key': 'placeSize', 'type': 'PlaceSizeChild'},
    }

    def __init__(self, *, pm_property_id: int=None, pm_property_name: str=None, pm_property_use_type: str=None, pm_floor_area: int=None, pm_floor_area_units: str=None, place=None, place_size=None, **kwargs) -> None:
        super(EnergyStarPmProperty, self).__init__(**kwargs)
        self.pm_property_id = pm_property_id
        self.pm_property_name = pm_property_name
        self.pm_property_use_type = pm_property_use_type
        self.pm_floor_area = pm_floor_area
        self.pm_floor_area_units = pm_floor_area_units
        self.place = place
        self.place_size = place_size
