# 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 ImageInfo(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 = {
        'hub_password': 'str',
        'hub_url': 'str',
        'hub_user': 'str',
        'is_trust': 'bool',
        'namespace': 'str'
    }

    attribute_map = {
        'hub_password': 'hub_password',
        'hub_url': 'hub_url',
        'hub_user': 'hub_user',
        'is_trust': 'is_trust',
        'namespace': 'namespace'
    }

    def __init__(self, hub_password=None, hub_url=None, hub_user=None, is_trust=None, namespace=None):  # noqa: E501
        """ImageInfo - a model defined in Swagger"""  # noqa: E501

        self._hub_password = None
        self._hub_url = None
        self._hub_user = None
        self._is_trust = None
        self._namespace = None
        self.discriminator = None

        if hub_password is not None:
            self.hub_password = hub_password
        if hub_url is not None:
            self.hub_url = hub_url
        if hub_user is not None:
            self.hub_user = hub_user
        if is_trust is not None:
            self.is_trust = is_trust
        if namespace is not None:
            self.namespace = namespace

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


        :return: The hub_password of this ImageInfo.  # noqa: E501
        :rtype: str
        """
        return self._hub_password

    @hub_password.setter
    def hub_password(self, hub_password):
        """Sets the hub_password of this ImageInfo.


        :param hub_password: The hub_password of this ImageInfo.  # noqa: E501
        :type: str
        """

        self._hub_password = hub_password

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


        :return: The hub_url of this ImageInfo.  # noqa: E501
        :rtype: str
        """
        return self._hub_url

    @hub_url.setter
    def hub_url(self, hub_url):
        """Sets the hub_url of this ImageInfo.


        :param hub_url: The hub_url of this ImageInfo.  # noqa: E501
        :type: str
        """

        self._hub_url = hub_url

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


        :return: The hub_user of this ImageInfo.  # noqa: E501
        :rtype: str
        """
        return self._hub_user

    @hub_user.setter
    def hub_user(self, hub_user):
        """Sets the hub_user of this ImageInfo.


        :param hub_user: The hub_user of this ImageInfo.  # noqa: E501
        :type: str
        """

        self._hub_user = hub_user

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


        :return: The is_trust of this ImageInfo.  # noqa: E501
        :rtype: bool
        """
        return self._is_trust

    @is_trust.setter
    def is_trust(self, is_trust):
        """Sets the is_trust of this ImageInfo.


        :param is_trust: The is_trust of this ImageInfo.  # noqa: E501
        :type: bool
        """

        self._is_trust = is_trust

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


        :return: The namespace of this ImageInfo.  # noqa: E501
        :rtype: str
        """
        return self._namespace

    @namespace.setter
    def namespace(self, namespace):
        """Sets the namespace of this ImageInfo.


        :param namespace: The namespace of this ImageInfo.  # noqa: E501
        :type: str
        """

        self._namespace = namespace

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

        return self.__dict__ == other.__dict__

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