# coding: utf-8

"""
    rainbond cloud app market OpenAPI.

    the purpose of this application is to provide an application that is using plain go code to define an API  This should demonstrate all the possible comment annotations that are available to turn go code into a fully compliant swagger 2.0 spec  # noqa: E501

    OpenAPI spec version: 0.0.1
    Contact: 576501057@qq.com
    Generated by: https://github.com/swagger-api/swagger-codegen.git
"""


import pprint
import re  # noqa: F401

import six


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

    Do not edit the class manually.
    """

    """
    Attributes:
      swagger_types (dict): The key is attribute name
                            and the value is attribute type.
      attribute_map (dict): The key is attribute name
                            and the value is json key in definition.
    """
    swagger_types = {
        'is_restart': 'int',
        'max_memory': 'int',
        'max_node': 'int',
        'min_memory': 'int',
        'min_node': 'int',
        'step_memory': 'int',
        'step_node': 'int'
    }

    attribute_map = {
        'is_restart': 'is_restart',
        'max_memory': 'max_memory',
        'max_node': 'max_node',
        'min_memory': 'min_memory',
        'min_node': 'min_node',
        'step_memory': 'step_memory',
        'step_node': 'step_node'
    }

    def __init__(self, is_restart=None, max_memory=None, max_node=None, min_memory=None, min_node=None, step_memory=None, step_node=None):  # noqa: E501
        """StoreAppVersionTempleteAppExtendMethodRule - a model defined in Swagger"""  # noqa: E501

        self._is_restart = None
        self._max_memory = None
        self._max_node = None
        self._min_memory = None
        self._min_node = None
        self._step_memory = None
        self._step_node = None
        self.discriminator = None

        if is_restart is not None:
            self.is_restart = is_restart
        if max_memory is not None:
            self.max_memory = max_memory
        if max_node is not None:
            self.max_node = max_node
        if min_memory is not None:
            self.min_memory = min_memory
        if min_node is not None:
            self.min_node = min_node
        if step_memory is not None:
            self.step_memory = step_memory
        if step_node is not None:
            self.step_node = step_node

    @property
    def is_restart(self):
        """Gets the is_restart of this StoreAppVersionTempleteAppExtendMethodRule.  # noqa: E501


        :return: The is_restart of this StoreAppVersionTempleteAppExtendMethodRule.  # noqa: E501
        :rtype: int
        """
        return self._is_restart

    @is_restart.setter
    def is_restart(self, is_restart):
        """Sets the is_restart of this StoreAppVersionTempleteAppExtendMethodRule.


        :param is_restart: The is_restart of this StoreAppVersionTempleteAppExtendMethodRule.  # noqa: E501
        :type: int
        """

        self._is_restart = is_restart

    @property
    def max_memory(self):
        """Gets the max_memory of this StoreAppVersionTempleteAppExtendMethodRule.  # noqa: E501


        :return: The max_memory of this StoreAppVersionTempleteAppExtendMethodRule.  # noqa: E501
        :rtype: int
        """
        return self._max_memory

    @max_memory.setter
    def max_memory(self, max_memory):
        """Sets the max_memory of this StoreAppVersionTempleteAppExtendMethodRule.


        :param max_memory: The max_memory of this StoreAppVersionTempleteAppExtendMethodRule.  # noqa: E501
        :type: int
        """

        self._max_memory = max_memory

    @property
    def max_node(self):
        """Gets the max_node of this StoreAppVersionTempleteAppExtendMethodRule.  # noqa: E501


        :return: The max_node of this StoreAppVersionTempleteAppExtendMethodRule.  # noqa: E501
        :rtype: int
        """
        return self._max_node

    @max_node.setter
    def max_node(self, max_node):
        """Sets the max_node of this StoreAppVersionTempleteAppExtendMethodRule.


        :param max_node: The max_node of this StoreAppVersionTempleteAppExtendMethodRule.  # noqa: E501
        :type: int
        """

        self._max_node = max_node

    @property
    def min_memory(self):
        """Gets the min_memory of this StoreAppVersionTempleteAppExtendMethodRule.  # noqa: E501


        :return: The min_memory of this StoreAppVersionTempleteAppExtendMethodRule.  # noqa: E501
        :rtype: int
        """
        return self._min_memory

    @min_memory.setter
    def min_memory(self, min_memory):
        """Sets the min_memory of this StoreAppVersionTempleteAppExtendMethodRule.


        :param min_memory: The min_memory of this StoreAppVersionTempleteAppExtendMethodRule.  # noqa: E501
        :type: int
        """

        self._min_memory = min_memory

    @property
    def min_node(self):
        """Gets the min_node of this StoreAppVersionTempleteAppExtendMethodRule.  # noqa: E501


        :return: The min_node of this StoreAppVersionTempleteAppExtendMethodRule.  # noqa: E501
        :rtype: int
        """
        return self._min_node

    @min_node.setter
    def min_node(self, min_node):
        """Sets the min_node of this StoreAppVersionTempleteAppExtendMethodRule.


        :param min_node: The min_node of this StoreAppVersionTempleteAppExtendMethodRule.  # noqa: E501
        :type: int
        """

        self._min_node = min_node

    @property
    def step_memory(self):
        """Gets the step_memory of this StoreAppVersionTempleteAppExtendMethodRule.  # noqa: E501


        :return: The step_memory of this StoreAppVersionTempleteAppExtendMethodRule.  # noqa: E501
        :rtype: int
        """
        return self._step_memory

    @step_memory.setter
    def step_memory(self, step_memory):
        """Sets the step_memory of this StoreAppVersionTempleteAppExtendMethodRule.


        :param step_memory: The step_memory of this StoreAppVersionTempleteAppExtendMethodRule.  # noqa: E501
        :type: int
        """

        self._step_memory = step_memory

    @property
    def step_node(self):
        """Gets the step_node of this StoreAppVersionTempleteAppExtendMethodRule.  # noqa: E501


        :return: The step_node of this StoreAppVersionTempleteAppExtendMethodRule.  # noqa: E501
        :rtype: int
        """
        return self._step_node

    @step_node.setter
    def step_node(self, step_node):
        """Sets the step_node of this StoreAppVersionTempleteAppExtendMethodRule.


        :param step_node: The step_node of this StoreAppVersionTempleteAppExtendMethodRule.  # noqa: E501
        :type: int
        """

        self._step_node = step_node

    def to_dict(self):
        """Returns the model properties as a dict"""
        result = {}

        for attr, _ in six.iteritems(self.swagger_types):
            value = getattr(self, attr)
            if isinstance(value, list):
                result[attr] = list(map(
                    lambda x: x.to_dict() if hasattr(x, "to_dict") else x,
                    value
                ))
            elif hasattr(value, "to_dict"):
                result[attr] = value.to_dict()
            elif isinstance(value, dict):
                result[attr] = dict(map(
                    lambda item: (item[0], item[1].to_dict())
                    if hasattr(item[1], "to_dict") else item,
                    value.items()
                ))
            else:
                result[attr] = value
        if issubclass(StoreAppVersionTempleteAppExtendMethodRule, dict):
            for key, value in self.items():
                result[key] = value

        return result

    def to_str(self):
        """Returns the string representation of the model"""
        return pprint.pformat(self.to_dict())

    def __repr__(self):
        """For `print` and `pprint`"""
        return self.to_str()

    def __eq__(self, other):
        """Returns true if both objects are equal"""
        if not isinstance(other, StoreAppVersionTempleteAppExtendMethodRule):
            return False

        return self.__dict__ == other.__dict__

    def __ne__(self, other):
        """Returns true if both objects are not equal"""
        return not self == other
