# coding: utf-8

from __future__ import absolute_import
from datetime import date, datetime  # noqa: F401

from typing import List, Dict  # noqa: F401

from tapi_server.models.base_model_ import Model
from tapi_server.models.tapi_common_capacity import TapiCommonCapacity  # noqa: F401,E501
from tapi_server import util


class TapiCommonCapacityPac(Model):
    """NOTE: This class is auto generated by the swagger code generator program.

    Do not edit the class manually.
    """
    def __init__(self, available_capacity: TapiCommonCapacity=None, total_potential_capacity: TapiCommonCapacity=None):  # noqa: E501
        """TapiCommonCapacityPac - a model defined in Swagger

        :param available_capacity: The available_capacity of this TapiCommonCapacityPac.  # noqa: E501
        :type available_capacity: TapiCommonCapacity
        :param total_potential_capacity: The total_potential_capacity of this TapiCommonCapacityPac.  # noqa: E501
        :type total_potential_capacity: TapiCommonCapacity
        """
        self.swagger_types = {
            'available_capacity': TapiCommonCapacity,
            'total_potential_capacity': TapiCommonCapacity
        }

        self.attribute_map = {
            'available_capacity': 'available-capacity',
            'total_potential_capacity': 'total-potential-capacity'
        }
        self._available_capacity = available_capacity
        self._total_potential_capacity = total_potential_capacity

    @classmethod
    def from_dict(cls, dikt) -> 'TapiCommonCapacityPac':
        """Returns the dict as a model

        :param dikt: A dict.
        :type: dict
        :return: The tapi.common.CapacityPac of this TapiCommonCapacityPac.  # noqa: E501
        :rtype: TapiCommonCapacityPac
        """
        return util.deserialize_model(dikt, cls)

    @property
    def available_capacity(self) -> TapiCommonCapacity:
        """Gets the available_capacity of this TapiCommonCapacityPac.


        :return: The available_capacity of this TapiCommonCapacityPac.
        :rtype: TapiCommonCapacity
        """
        return self._available_capacity

    @available_capacity.setter
    def available_capacity(self, available_capacity: TapiCommonCapacity):
        """Sets the available_capacity of this TapiCommonCapacityPac.


        :param available_capacity: The available_capacity of this TapiCommonCapacityPac.
        :type available_capacity: TapiCommonCapacity
        """

        self._available_capacity = available_capacity

    @property
    def total_potential_capacity(self) -> TapiCommonCapacity:
        """Gets the total_potential_capacity of this TapiCommonCapacityPac.


        :return: The total_potential_capacity of this TapiCommonCapacityPac.
        :rtype: TapiCommonCapacity
        """
        return self._total_potential_capacity

    @total_potential_capacity.setter
    def total_potential_capacity(self, total_potential_capacity: TapiCommonCapacity):
        """Sets the total_potential_capacity of this TapiCommonCapacityPac.


        :param total_potential_capacity: The total_potential_capacity of this TapiCommonCapacityPac.
        :type total_potential_capacity: TapiCommonCapacity
        """

        self._total_potential_capacity = total_potential_capacity
