# 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_termination_direction import TapiCommonTerminationDirection  # noqa: F401,E501
from tapi_server.models.tapi_common_termination_state import TapiCommonTerminationState  # noqa: F401,E501
from tapi_server import util


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

    Do not edit the class manually.
    """
    def __init__(self, termination_direction: TapiCommonTerminationDirection=None, termination_state: TapiCommonTerminationState=None):  # noqa: E501
        """TapiCommonTerminationPac - a model defined in Swagger

        :param termination_direction: The termination_direction of this TapiCommonTerminationPac.  # noqa: E501
        :type termination_direction: TapiCommonTerminationDirection
        :param termination_state: The termination_state of this TapiCommonTerminationPac.  # noqa: E501
        :type termination_state: TapiCommonTerminationState
        """
        self.swagger_types = {
            'termination_direction': TapiCommonTerminationDirection,
            'termination_state': TapiCommonTerminationState
        }

        self.attribute_map = {
            'termination_direction': 'termination-direction',
            'termination_state': 'termination-state'
        }
        self._termination_direction = termination_direction
        self._termination_state = termination_state

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

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

    @property
    def termination_direction(self) -> TapiCommonTerminationDirection:
        """Gets the termination_direction of this TapiCommonTerminationPac.


        :return: The termination_direction of this TapiCommonTerminationPac.
        :rtype: TapiCommonTerminationDirection
        """
        return self._termination_direction

    @termination_direction.setter
    def termination_direction(self, termination_direction: TapiCommonTerminationDirection):
        """Sets the termination_direction of this TapiCommonTerminationPac.


        :param termination_direction: The termination_direction of this TapiCommonTerminationPac.
        :type termination_direction: TapiCommonTerminationDirection
        """

        self._termination_direction = termination_direction

    @property
    def termination_state(self) -> TapiCommonTerminationState:
        """Gets the termination_state of this TapiCommonTerminationPac.


        :return: The termination_state of this TapiCommonTerminationPac.
        :rtype: TapiCommonTerminationState
        """
        return self._termination_state

    @termination_state.setter
    def termination_state(self, termination_state: TapiCommonTerminationState):
        """Sets the termination_state of this TapiCommonTerminationPac.


        :param termination_state: The termination_state of this TapiCommonTerminationPac.
        :type termination_state: TapiCommonTerminationState
        """

        self._termination_state = termination_state
