# coding: utf-8

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

from typing import List, Dict  # noqa: F401

from spider.models.base_model_ import Model
from spider import util


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

    Do not edit the class manually.
    """

    def __init__(self, relation_id: str=None, layer: str=None, target: object=None):  # noqa: E501
        """Dependenceitem - a model defined in Swagger

        :param relation_id: The relation_id of this Dependenceitem.  # noqa: E501
        :type relation_id: str
        :param layer: The layer of this Dependenceitem.  # noqa: E501
        :type layer: str
        :param target: The target of this Dependenceitem.  # noqa: E501
        :type target: object
        """
        self.swagger_types = {
            'relation_id': str,
            'layer': str,
            'target': object
        }

        self.attribute_map = {
            'relation_id': 'relation_id',
            'layer': 'layer',
            'target': 'target'
        }

        self._relation_id = relation_id
        self._layer = layer
        self._target = target

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

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

    @property
    def relation_id(self) -> str:
        """Gets the relation_id of this Dependenceitem.


        :return: The relation_id of this Dependenceitem.
        :rtype: str
        """
        return self._relation_id

    @relation_id.setter
    def relation_id(self, relation_id: str):
        """Sets the relation_id of this Dependenceitem.


        :param relation_id: The relation_id of this Dependenceitem.
        :type relation_id: str
        """
        allowed_values = ["runs_on", "belongs_to", "is_peer", "is_server", "is_client", "connect"]  # noqa: E501
        if relation_id not in allowed_values:
            raise ValueError(
                "Invalid value for `relation_id` ({0}), must be one of {1}"
                .format(relation_id, allowed_values)
            )

        self._relation_id = relation_id

    @property
    def layer(self) -> str:
        """Gets the layer of this Dependenceitem.


        :return: The layer of this Dependenceitem.
        :rtype: str
        """
        return self._layer

    @layer.setter
    def layer(self, layer: str):
        """Sets the layer of this Dependenceitem.


        :param layer: The layer of this Dependenceitem.
        :type layer: str
        """
        allowed_values = ["direct", "indirect"]  # noqa: E501
        if layer not in allowed_values:
            raise ValueError(
                "Invalid value for `layer` ({0}), must be one of {1}"
                .format(layer, allowed_values)
            )

        self._layer = layer

    @property
    def target(self) -> object:
        """Gets the target of this Dependenceitem.


        :return: The target of this Dependenceitem.
        :rtype: object
        """
        return self._target

    @target.setter
    def target(self, target: object):
        """Sets the target of this Dependenceitem.


        :param target: The target of this Dependenceitem.
        :type target: object
        """

        self._target = target

# coding: utf-8

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

from typing import List, Dict  # noqa: F401

from spider.models.base_model_ import Model
from spider import util


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

    Do not edit the class manually.
    """

    def __init__(self, relation_id: str=None, layer: str=None, target: object=None):  # noqa: E501
        """Dependenceitem - a model defined in Swagger

        :param relation_id: The relation_id of this Dependenceitem.  # noqa: E501
        :type relation_id: str
        :param layer: The layer of this Dependenceitem.  # noqa: E501
        :type layer: str
        :param target: The target of this Dependenceitem.  # noqa: E501
        :type target: object
        """
        self.swagger_types = {
            'relation_id': str,
            'layer': str,
            'target': object
        }

        self.attribute_map = {
            'relation_id': 'relation_id',
            'layer': 'layer',
            'target': 'target'
        }

        self._relation_id = relation_id
        self._layer = layer
        self._target = target

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

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

    @property
    def relation_id(self) -> str:
        """Gets the relation_id of this Dependenceitem.


        :return: The relation_id of this Dependenceitem.
        :rtype: str
        """
        return self._relation_id

    @relation_id.setter
    def relation_id(self, relation_id: str):
        """Sets the relation_id of this Dependenceitem.


        :param relation_id: The relation_id of this Dependenceitem.
        :type relation_id: str
        """
        allowed_values = ["runs_on", "belongs_to", "is_peer", "is_server", "is_client", "connect"]  # noqa: E501
        if relation_id not in allowed_values:
            raise ValueError(
                "Invalid value for `relation_id` ({0}), must be one of {1}"
                .format(relation_id, allowed_values)
            )

        self._relation_id = relation_id

    @property
    def layer(self) -> str:
        """Gets the layer of this Dependenceitem.


        :return: The layer of this Dependenceitem.
        :rtype: str
        """
        return self._layer

    @layer.setter
    def layer(self, layer: str):
        """Sets the layer of this Dependenceitem.


        :param layer: The layer of this Dependenceitem.
        :type layer: str
        """
        allowed_values = ["direct", "indirect"]  # noqa: E501
        if layer not in allowed_values:
            raise ValueError(
                "Invalid value for `layer` ({0}), must be one of {1}"
                .format(layer, allowed_values)
            )

        self._layer = layer

    @property
    def target(self) -> object:
        """Gets the target of this Dependenceitem.


        :return: The target of this Dependenceitem.
        :rtype: object
        """
        return self._target

    @target.setter
    def target(self, target: object):
        """Sets the target of this Dependenceitem.


        :param target: The target of this Dependenceitem.
        :type target: object
        """

        self._target = target

# coding: utf-8 # noqa: F401 # noqa: F401 NOTE: This class is auto generated by the swagger code generator program.      Do not edit the class manually. # noqa: E501 Dependenceitem - a model defined in Swagger          :param relation_id: The relation_id of this Dependenceitem.  # noqa: E501         :type relation_id: str         :param layer: The layer of this Dependenceitem.  # noqa: E501         :type layer: str         :param target: The target of this Dependenceitem.  # noqa: E501         :type target: object Returns the dict as a model          :param dikt: A dict.         :type: dict         :return: The Dependenceitem of this Dependenceitem.  # noqa: E501         :rtype: Dependenceitem Gets the relation_id of this Dependenceitem.           :return: The relation_id of this Dependenceitem.         :rtype: str Sets the relation_id of this Dependenceitem.           :param relation_id: The relation_id of this Dependenceitem.         :type relation_id: str # noqa: E501 Gets the layer of this Dependenceitem.           :return: The layer of this Dependenceitem.         :rtype: str Sets the layer of this Dependenceitem.           :param layer: The layer of this Dependenceitem.         :type layer: str # noqa: E501 Gets the target of this Dependenceitem.           :return: The target of this Dependenceitem.         :rtype: object Sets the target of this Dependenceitem.           :param target: The target of this Dependenceitem.         :type target: object