text: # coding: utf-8
  
  """
      Cloudbreak API
  
      Cloudbreak is a powerful left surf that breaks over a coral reef, a mile off southwest the island of Tavarua, Fiji. Cloudbreak is a cloud agnostic Hadoop as a Service API. Abstracts the provisioning and ease management and monitoring of on-demand clusters. SequenceIQ's Cloudbreak is a RESTful application development platform with the goal of helping developers to build solutions for deploying Hadoop YARN clusters in different environments. Once it is deployed in your favourite servlet container it exposes a REST API allowing to span up Hadoop clusters of arbitary sizes and cloud providers. Provisioning Hadoop has never been easier. Cloudbreak is built on the foundation of cloud providers API (Amazon AWS, Microsoft Azure, Google Cloud Platform, Openstack), Apache Ambari, Docker lightweight containers, Swarm and Consul. For further product documentation follow the link: <a href=\"http://hortonworks.com/apache/cloudbreak/\">http://hortonworks.com/apache/cloudbreak/</a>
  
      OpenAPI spec version: 2.9.0
      
      Generated by: https://github.com/swagger-api/swagger-codegen.git
  """
  
  
  from pprint import pformat
  from six import iteritems
  import re
  
  
  class ImageResponse(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 = {
          '_date': 'str',
          'description': 'str',
          'os': 'str',
          'os_type': 'str',
          'uuid': 'str',
          'version': 'str',
          'repo': 'dict(str, str)',
          'images': 'dict(str, dict(str, str))',
          'stack_details': 'StackDetailsJson',
          'default_image': 'bool',
          'package_versions': 'dict(str, str)'
      }
  
      attribute_map = {
          '_date': 'date',
          'description': 'description',
          'os': 'os',
          'os_type': 'osType',
          'uuid': 'uuid',
          'version': 'version',
          'repo': 'repo',
          'images': 'images',
          'stack_details': 'stackDetails',
          'default_image': 'defaultImage',
          'package_versions': 'packageVersions'
      }
  
      def __init__(self, _date=None, description=None, os=None, os_type=None, uuid=None, version=None, repo=None, images=None, stack_details=None, default_image=False, package_versions=None):
          """
          ImageResponse - a model defined in Swagger
          """
  
          self.__date = None
          self._description = None
          self._os = None
          self._os_type = None
          self._uuid = None
          self._version = None
          self._repo = None
          self._images = None
          self._stack_details = None
          self._default_image = None
          self._package_versions = None
  
          if _date is not None:
            self._date = _date
          if description is not None:
            self.description = description
          if os is not None:
            self.os = os
          if os_type is not None:
            self.os_type = os_type
          if uuid is not None:
            self.uuid = uuid
          if version is not None:
            self.version = version
          if repo is not None:
            self.repo = repo
          if images is not None:
            self.images = images
          if stack_details is not None:
            self.stack_details = stack_details
          if default_image is not None:
            self.default_image = default_image
          if package_versions is not None:
            self.package_versions = package_versions
  
      @property
      def _date(self):
          """
          Gets the _date of this ImageResponse.
  
          :return: The _date of this ImageResponse.
          :rtype: str
          """
          return self.__date
  
      @_date.setter
      def _date(self, _date):
          """
          Sets the _date of this ImageResponse.
  
          :param _date: The _date of this ImageResponse.
          :type: str
          """
  
          self.__date = _date
  
      @property
      def description(self):
          """
          Gets the description of this ImageResponse.
  
          :return: The description of this ImageResponse.
          :rtype: str
          """
          return self._description
  
      @description.setter
      def description(self, description):
          """
          Sets the description of this ImageResponse.
  
          :param description: The description of this ImageResponse.
          :type: str
          """
  
          self._description = description
  
      @property
      def os(self):
          """
          Gets the os of this ImageResponse.
  
          :return: The os of this ImageResponse.
          :rtype: str
          """
          return self._os
  
      @os.setter
      def os(self, os):
          """
          Sets the os of this ImageResponse.
  
          :param os: The os of this ImageResponse.
          :type: str
          """
  
          self._os = os
  
      @property
      def os_type(self):
          """
          Gets the os_type of this ImageResponse.
  
          :return: The os_type of this ImageResponse.
          :rtype: str
          """
          return self._os_type
  
      @os_type.setter
      def os_type(self, os_type):
          """
          Sets the os_type of this ImageResponse.
  
          :param os_type: The os_type of this ImageResponse.
          :type: str
          """
  
          self._os_type = os_type
  
      @property
      def uuid(self):
          """
          Gets the uuid of this ImageResponse.
  
          :return: The uuid of this ImageResponse.
          :rtype: str
          """
          return self._uuid
  
      @uuid.setter
      def uuid(self, uuid):
          """
          Sets the uuid of this ImageResponse.
  
          :param uuid: The uuid of this ImageResponse.
          :type: str
          """
  
          self._uuid = uuid
  
      @property
      def version(self):
          """
          Gets the version of this ImageResponse.
  
          :return: The version of this ImageResponse.
          :rtype: str
          """
          return self._version
  
      @version.setter
      def version(self, version):
          """
          Sets the version of this ImageResponse.
  
          :param version: The version of this ImageResponse.
          :type: str
          """
  
          self._version = version
  
      @property
      def repo(self):
          """
          Gets the repo of this ImageResponse.
  
          :return: The repo of this ImageResponse.
          :rtype: dict(str, str)
          """
          return self._repo
  
      @repo.setter
      def repo(self, repo):
          """
          Sets the repo of this ImageResponse.
  
          :param repo: The repo of this ImageResponse.
          :type: dict(str, str)
          """
  
          self._repo = repo
  
      @property
      def images(self):
          """
          Gets the images of this ImageResponse.
  
          :return: The images of this ImageResponse.
          :rtype: dict(str, dict(str, str))
          """
          return self._images
  
      @images.setter
      def images(self, images):
          """
          Sets the images of this ImageResponse.
  
          :param images: The images of this ImageResponse.
          :type: dict(str, dict(str, str))
          """
  
          self._images = images
  
      @property
      def stack_details(self):
          """
          Gets the stack_details of this ImageResponse.
  
          :return: The stack_details of this ImageResponse.
          :rtype: StackDetailsJson
          """
          return self._stack_details
  
      @stack_details.setter
      def stack_details(self, stack_details):
          """
          Sets the stack_details of this ImageResponse.
  
          :param stack_details: The stack_details of this ImageResponse.
          :type: StackDetailsJson
          """
  
          self._stack_details = stack_details
  
      @property
      def default_image(self):
          """
          Gets the default_image of this ImageResponse.
  
          :return: The default_image of this ImageResponse.
          :rtype: bool
          """
          return self._default_image
  
      @default_image.setter
      def default_image(self, default_image):
          """
          Sets the default_image of this ImageResponse.
  
          :param default_image: The default_image of this ImageResponse.
          :type: bool
          """
  
          self._default_image = default_image
  
      @property
      def package_versions(self):
          """
          Gets the package_versions of this ImageResponse.
  
          :return: The package_versions of this ImageResponse.
          :rtype: dict(str, str)
          """
          return self._package_versions
  
      @package_versions.setter
      def package_versions(self, package_versions):
          """
          Sets the package_versions of this ImageResponse.
  
          :param package_versions: The package_versions of this ImageResponse.
          :type: dict(str, str)
          """
  
          self._package_versions = package_versions
  
      def to_dict(self):
          """
          Returns the model properties as a dict
          """
          result = {}
  
          for attr, _ in 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
  
          return result
  
      def to_str(self):
          """
          Returns the string representation of the model
          """
          return 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, ImageResponse):
              return False
  
          return self.__dict__ == other.__dict__
  
      def __ne__(self, other):
          """
          Returns true if both objects are not equal
          """
          return not self == other
  