# coding: utf-8

"""
    Amber API Server

    Boon Logic Amber API server

    OpenAPI spec version: 2.0.0
    
    Generated by: https://github.com/swagger-api/swagger-codegen.git
"""

import pprint
import re  # noqa: F401

import six

class GetVersionResponse(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 = {
        'api_version': 'str',
        'release': 'str',
        'swagger_ui': 'str',
        'builder': 'str',
        'expert_api': 'str',
        'expert_common': 'str',
        'nano_secure': 'str',
        'amber_store': 'str',
        'mongolia': 'str'
    }

    attribute_map = {
        'api_version': 'api-version',
        'release': 'release',
        'swagger_ui': 'swagger-ui',
        'builder': 'builder',
        'expert_api': 'expert-api',
        'expert_common': 'expert-common',
        'nano_secure': 'nano-secure',
        'amber_store': 'amber-store',
        'mongolia': 'mongolia'
    }

    def __init__(self, api_version=None, release=None, swagger_ui=None, builder=None, expert_api=None, expert_common=None, nano_secure=None, amber_store=None, mongolia=None):
        """GetVersionResponse - a model defined in Swagger"""
        self._api_version = None
        self._release = None
        self._swagger_ui = None
        self._builder = None
        self._expert_api = None
        self._expert_common = None
        self._nano_secure = None
        self._amber_store = None
        self._mongolia = None
        self.discriminator = None
        if api_version is not None:
            self.api_version = api_version
        if release is not None:
            self.release = release
        if swagger_ui is not None:
            self.swagger_ui = swagger_ui
        if builder is not None:
            self.builder = builder
        if expert_api is not None:
            self.expert_api = expert_api
        if expert_common is not None:
            self.expert_common = expert_common
        if nano_secure is not None:
            self.nano_secure = nano_secure
        if amber_store is not None:
            self.amber_store = amber_store
        if mongolia is not None:
            self.mongolia = mongolia

    @property
    def api_version(self):
        """Gets the api_version of this GetVersionResponse.

        API version.

        :return: The api_version of this GetVersionResponse.
        :rtype: str
        """
        return self._api_version

    @api_version.setter
    def api_version(self, api_version):
        """Sets the api_version of this GetVersionResponse.

        API version.

        :param api_version: The api_version of this GetVersionResponse.
        :type: str
        """

        self._api_version = api_version

    @property
    def release(self):
        """Gets the release of this GetVersionResponse.

        Software release of server.

        :return: The release of this GetVersionResponse.
        :rtype: str
        """
        return self._release

    @release.setter
    def release(self, release):
        """Sets the release of this GetVersionResponse.

        Software release of server.

        :param release: The release of this GetVersionResponse.
        :type: str
        """

        self._release = release

    @property
    def swagger_ui(self):
        """Gets the swagger_ui of this GetVersionResponse.

        SHA-1 of Swagger UI.

        :return: The swagger_ui of this GetVersionResponse.
        :rtype: str
        """
        return self._swagger_ui

    @swagger_ui.setter
    def swagger_ui(self, swagger_ui):
        """Sets the swagger_ui of this GetVersionResponse.

        SHA-1 of Swagger UI.

        :param swagger_ui: The swagger_ui of this GetVersionResponse.
        :type: str
        """

        self._swagger_ui = swagger_ui

    @property
    def builder(self):
        """Gets the builder of this GetVersionResponse.

        SHA-1 of `builder`.

        :return: The builder of this GetVersionResponse.
        :rtype: str
        """
        return self._builder

    @builder.setter
    def builder(self, builder):
        """Sets the builder of this GetVersionResponse.

        SHA-1 of `builder`.

        :param builder: The builder of this GetVersionResponse.
        :type: str
        """

        self._builder = builder

    @property
    def expert_api(self):
        """Gets the expert_api of this GetVersionResponse.

        SHA-1 of `expert-api`.

        :return: The expert_api of this GetVersionResponse.
        :rtype: str
        """
        return self._expert_api

    @expert_api.setter
    def expert_api(self, expert_api):
        """Sets the expert_api of this GetVersionResponse.

        SHA-1 of `expert-api`.

        :param expert_api: The expert_api of this GetVersionResponse.
        :type: str
        """

        self._expert_api = expert_api

    @property
    def expert_common(self):
        """Gets the expert_common of this GetVersionResponse.

        SHA-1 of `expert-common`.

        :return: The expert_common of this GetVersionResponse.
        :rtype: str
        """
        return self._expert_common

    @expert_common.setter
    def expert_common(self, expert_common):
        """Sets the expert_common of this GetVersionResponse.

        SHA-1 of `expert-common`.

        :param expert_common: The expert_common of this GetVersionResponse.
        :type: str
        """

        self._expert_common = expert_common

    @property
    def nano_secure(self):
        """Gets the nano_secure of this GetVersionResponse.

        SHA-1 of `nano-secure`.

        :return: The nano_secure of this GetVersionResponse.
        :rtype: str
        """
        return self._nano_secure

    @nano_secure.setter
    def nano_secure(self, nano_secure):
        """Sets the nano_secure of this GetVersionResponse.

        SHA-1 of `nano-secure`.

        :param nano_secure: The nano_secure of this GetVersionResponse.
        :type: str
        """

        self._nano_secure = nano_secure

    @property
    def amber_store(self):
        """Gets the amber_store of this GetVersionResponse.

        SHA-1 of `amber-store`.

        :return: The amber_store of this GetVersionResponse.
        :rtype: str
        """
        return self._amber_store

    @amber_store.setter
    def amber_store(self, amber_store):
        """Sets the amber_store of this GetVersionResponse.

        SHA-1 of `amber-store`.

        :param amber_store: The amber_store of this GetVersionResponse.
        :type: str
        """

        self._amber_store = amber_store

    @property
    def mongolia(self):
        """Gets the mongolia of this GetVersionResponse.

        SHA-1 of `mongolia`.

        :return: The mongolia of this GetVersionResponse.
        :rtype: str
        """
        return self._mongolia

    @mongolia.setter
    def mongolia(self, mongolia):
        """Sets the mongolia of this GetVersionResponse.

        SHA-1 of `mongolia`.

        :param mongolia: The mongolia of this GetVersionResponse.
        :type: str
        """

        self._mongolia = mongolia

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

        return self.__dict__ == other.__dict__

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