# coding: utf-8

"""
    Command Center operations

    Command Center operations  # noqa: E501

    OpenAPI spec version: 23.03-sp1
    Contact: support@zadarastorage.com
    Generated by: https://github.com/swagger-api/swagger-codegen.git
"""


import pprint
import re  # noqa: F401

import six

from CommandCenter.configuration import Configuration


class InlineResponse20038License(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 = {
        'key': 'str',
        'active': 'bool',
        'temporary': 'bool',
        'disabled': 'bool',
        'licensed_drives': 'str',
        'total_drives': 'int',
        'expires': 'str',
        'first_activated': 'str',
        'last_activated': 'str',
        'next_activation': 'str',
        'message': 'str',
        'status': 'str',
        'badge_class': 'str'
    }

    attribute_map = {
        'key': 'key',
        'active': 'active',
        'temporary': 'temporary',
        'disabled': 'disabled',
        'licensed_drives': 'licensed_drives',
        'total_drives': 'total_drives',
        'expires': 'expires',
        'first_activated': 'first_activated',
        'last_activated': 'last_activated',
        'next_activation': 'next_activation',
        'message': 'message',
        'status': 'status',
        'badge_class': 'badge_class'
    }

    def __init__(self, key=None, active=None, temporary=None, disabled=None, licensed_drives=None, total_drives=None, expires=None, first_activated=None, last_activated=None, next_activation=None, message=None, status=None, badge_class=None, _configuration=None):  # noqa: E501
        """InlineResponse20038License - a model defined in Swagger"""  # noqa: E501
        if _configuration is None:
            _configuration = Configuration()
        self._configuration = _configuration

        self._key = None
        self._active = None
        self._temporary = None
        self._disabled = None
        self._licensed_drives = None
        self._total_drives = None
        self._expires = None
        self._first_activated = None
        self._last_activated = None
        self._next_activation = None
        self._message = None
        self._status = None
        self._badge_class = None
        self.discriminator = None

        if key is not None:
            self.key = key
        if active is not None:
            self.active = active
        if temporary is not None:
            self.temporary = temporary
        if disabled is not None:
            self.disabled = disabled
        if licensed_drives is not None:
            self.licensed_drives = licensed_drives
        if total_drives is not None:
            self.total_drives = total_drives
        if expires is not None:
            self.expires = expires
        if first_activated is not None:
            self.first_activated = first_activated
        if last_activated is not None:
            self.last_activated = last_activated
        if next_activation is not None:
            self.next_activation = next_activation
        if message is not None:
            self.message = message
        if status is not None:
            self.status = status
        if badge_class is not None:
            self.badge_class = badge_class

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


        :return: The key of this InlineResponse20038License.  # noqa: E501
        :rtype: str
        """
        return self._key

    @key.setter
    def key(self, key):
        """Sets the key of this InlineResponse20038License.


        :param key: The key of this InlineResponse20038License.  # noqa: E501
        :type: str
        """

        self._key = key

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


        :return: The active of this InlineResponse20038License.  # noqa: E501
        :rtype: bool
        """
        return self._active

    @active.setter
    def active(self, active):
        """Sets the active of this InlineResponse20038License.


        :param active: The active of this InlineResponse20038License.  # noqa: E501
        :type: bool
        """

        self._active = active

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


        :return: The temporary of this InlineResponse20038License.  # noqa: E501
        :rtype: bool
        """
        return self._temporary

    @temporary.setter
    def temporary(self, temporary):
        """Sets the temporary of this InlineResponse20038License.


        :param temporary: The temporary of this InlineResponse20038License.  # noqa: E501
        :type: bool
        """

        self._temporary = temporary

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


        :return: The disabled of this InlineResponse20038License.  # noqa: E501
        :rtype: bool
        """
        return self._disabled

    @disabled.setter
    def disabled(self, disabled):
        """Sets the disabled of this InlineResponse20038License.


        :param disabled: The disabled of this InlineResponse20038License.  # noqa: E501
        :type: bool
        """

        self._disabled = disabled

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


        :return: The licensed_drives of this InlineResponse20038License.  # noqa: E501
        :rtype: str
        """
        return self._licensed_drives

    @licensed_drives.setter
    def licensed_drives(self, licensed_drives):
        """Sets the licensed_drives of this InlineResponse20038License.


        :param licensed_drives: The licensed_drives of this InlineResponse20038License.  # noqa: E501
        :type: str
        """

        self._licensed_drives = licensed_drives

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


        :return: The total_drives of this InlineResponse20038License.  # noqa: E501
        :rtype: int
        """
        return self._total_drives

    @total_drives.setter
    def total_drives(self, total_drives):
        """Sets the total_drives of this InlineResponse20038License.


        :param total_drives: The total_drives of this InlineResponse20038License.  # noqa: E501
        :type: int
        """

        self._total_drives = total_drives

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


        :return: The expires of this InlineResponse20038License.  # noqa: E501
        :rtype: str
        """
        return self._expires

    @expires.setter
    def expires(self, expires):
        """Sets the expires of this InlineResponse20038License.


        :param expires: The expires of this InlineResponse20038License.  # noqa: E501
        :type: str
        """

        self._expires = expires

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


        :return: The first_activated of this InlineResponse20038License.  # noqa: E501
        :rtype: str
        """
        return self._first_activated

    @first_activated.setter
    def first_activated(self, first_activated):
        """Sets the first_activated of this InlineResponse20038License.


        :param first_activated: The first_activated of this InlineResponse20038License.  # noqa: E501
        :type: str
        """

        self._first_activated = first_activated

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


        :return: The last_activated of this InlineResponse20038License.  # noqa: E501
        :rtype: str
        """
        return self._last_activated

    @last_activated.setter
    def last_activated(self, last_activated):
        """Sets the last_activated of this InlineResponse20038License.


        :param last_activated: The last_activated of this InlineResponse20038License.  # noqa: E501
        :type: str
        """

        self._last_activated = last_activated

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


        :return: The next_activation of this InlineResponse20038License.  # noqa: E501
        :rtype: str
        """
        return self._next_activation

    @next_activation.setter
    def next_activation(self, next_activation):
        """Sets the next_activation of this InlineResponse20038License.


        :param next_activation: The next_activation of this InlineResponse20038License.  # noqa: E501
        :type: str
        """

        self._next_activation = next_activation

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


        :return: The message of this InlineResponse20038License.  # noqa: E501
        :rtype: str
        """
        return self._message

    @message.setter
    def message(self, message):
        """Sets the message of this InlineResponse20038License.


        :param message: The message of this InlineResponse20038License.  # noqa: E501
        :type: str
        """

        self._message = message

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


        :return: The status of this InlineResponse20038License.  # noqa: E501
        :rtype: str
        """
        return self._status

    @status.setter
    def status(self, status):
        """Sets the status of this InlineResponse20038License.


        :param status: The status of this InlineResponse20038License.  # noqa: E501
        :type: str
        """

        self._status = status

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


        :return: The badge_class of this InlineResponse20038License.  # noqa: E501
        :rtype: str
        """
        return self._badge_class

    @badge_class.setter
    def badge_class(self, badge_class):
        """Sets the badge_class of this InlineResponse20038License.


        :param badge_class: The badge_class of this InlineResponse20038License.  # noqa: E501
        :type: str
        """

        self._badge_class = badge_class

    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(InlineResponse20038License, 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, InlineResponse20038License):
            return False

        return self.to_dict() == other.to_dict()

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

        return self.to_dict() != other.to_dict()
