# 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_topology_signal_property_rule import TapiTopologySignalPropertyRule  # noqa: F401,E501
from tapi_server import util


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

    Do not edit the class manually.
    """
    def __init__(self, signal_property: TapiTopologySignalPropertyRule=None):  # noqa: E501
        """TapiTopologySignalPropertyRuleWrapper - a model defined in Swagger

        :param signal_property: The signal_property of this TapiTopologySignalPropertyRuleWrapper.  # noqa: E501
        :type signal_property: TapiTopologySignalPropertyRule
        """
        self.swagger_types = {
            'signal_property': TapiTopologySignalPropertyRule
        }

        self.attribute_map = {
            'signal_property': 'signal-property'
        }
        self._signal_property = signal_property

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

        :param dikt: A dict.
        :type: dict
        :return: The tapi.topology.SignalPropertyRuleWrapper of this TapiTopologySignalPropertyRuleWrapper.  # noqa: E501
        :rtype: TapiTopologySignalPropertyRuleWrapper
        """
        return util.deserialize_model(dikt, cls)

    @property
    def signal_property(self) -> TapiTopologySignalPropertyRule:
        """Gets the signal_property of this TapiTopologySignalPropertyRuleWrapper.


        :return: The signal_property of this TapiTopologySignalPropertyRuleWrapper.
        :rtype: TapiTopologySignalPropertyRule
        """
        return self._signal_property

    @signal_property.setter
    def signal_property(self, signal_property: TapiTopologySignalPropertyRule):
        """Sets the signal_property of this TapiTopologySignalPropertyRuleWrapper.


        :param signal_property: The signal_property of this TapiTopologySignalPropertyRuleWrapper.
        :type signal_property: TapiTopologySignalPropertyRule
        """

        self._signal_property = signal_property
