text: # coding: utf-8
  
  """
      cdn
  
      
      Generated by: https://github.com/swagger-api/swagger-codegen.git
  """
  
  
  import pprint
  import re  # noqa: F401
  
  import six
  
  from ncloud_cdn.model.cdn_plus_rule import CdnPlusRule  # noqa: F401,E501
  from ncloud_cdn.model.cdn_plus_service_domain import CdnPlusServiceDomain  # noqa: F401,E501
  from ncloud_cdn.model.common_code import CommonCode  # noqa: F401,E501
  
  
  class CdnPlusInstance(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 = {
          'cdn_instance_no': 'str',
          'cdn_instance_status': 'CommonCode',
          'cdn_instance_operation': 'CommonCode',
          'cdn_instance_status_name': 'str',
          'create_date': 'str',
          'last_modified_date': 'str',
          'cdn_instance_description': 'str',
          'service_name': 'str',
          'is_for_live_transcoder': 'bool',
          'live_transcoder_instance_no_list': 'list[str]',
          'is_for_image_optimizer': 'bool',
          'image_optimizer_instance_no': 'str',
          'is_available_partial_domain_purge': 'bool',
          'cdn_plus_service_domain_list': 'list[CdnPlusServiceDomain]',
          'cdn_plus_rule': 'CdnPlusRule'
      }
  
      attribute_map = {
          'cdn_instance_no': 'cdnInstanceNo',
          'cdn_instance_status': 'cdnInstanceStatus',
          'cdn_instance_operation': 'cdnInstanceOperation',
          'cdn_instance_status_name': 'cdnInstanceStatusName',
          'create_date': 'createDate',
          'last_modified_date': 'lastModifiedDate',
          'cdn_instance_description': 'cdnInstanceDescription',
          'service_name': 'serviceName',
          'is_for_live_transcoder': 'isForLiveTranscoder',
          'live_transcoder_instance_no_list': 'liveTranscoderInstanceNoList',
          'is_for_image_optimizer': 'isForImageOptimizer',
          'image_optimizer_instance_no': 'imageOptimizerInstanceNo',
          'is_available_partial_domain_purge': 'isAvailablePartialDomainPurge',
          'cdn_plus_service_domain_list': 'cdnPlusServiceDomainList',
          'cdn_plus_rule': 'cdnPlusRule'
      }
  
      def __init__(self, cdn_instance_no=None, cdn_instance_status=None, cdn_instance_operation=None, cdn_instance_status_name=None, create_date=None, last_modified_date=None, cdn_instance_description=None, service_name=None, is_for_live_transcoder=None, live_transcoder_instance_no_list=None, is_for_image_optimizer=None, image_optimizer_instance_no=None, is_available_partial_domain_purge=None, cdn_plus_service_domain_list=None, cdn_plus_rule=None):  # noqa: E501
          """CdnPlusInstance - a model defined in Swagger"""  # noqa: E501
  
          self._cdn_instance_no = None
          self._cdn_instance_status = None
          self._cdn_instance_operation = None
          self._cdn_instance_status_name = None
          self._create_date = None
          self._last_modified_date = None
          self._cdn_instance_description = None
          self._service_name = None
          self._is_for_live_transcoder = None
          self._live_transcoder_instance_no_list = None
          self._is_for_image_optimizer = None
          self._image_optimizer_instance_no = None
          self._is_available_partial_domain_purge = None
          self._cdn_plus_service_domain_list = None
          self._cdn_plus_rule = None
          self.discriminator = None
  
          if cdn_instance_no is not None:
              self.cdn_instance_no = cdn_instance_no
          if cdn_instance_status is not None:
              self.cdn_instance_status = cdn_instance_status
          if cdn_instance_operation is not None:
              self.cdn_instance_operation = cdn_instance_operation
          if cdn_instance_status_name is not None:
              self.cdn_instance_status_name = cdn_instance_status_name
          if create_date is not None:
              self.create_date = create_date
          if last_modified_date is not None:
              self.last_modified_date = last_modified_date
          if cdn_instance_description is not None:
              self.cdn_instance_description = cdn_instance_description
          if service_name is not None:
              self.service_name = service_name
          if is_for_live_transcoder is not None:
              self.is_for_live_transcoder = is_for_live_transcoder
          if live_transcoder_instance_no_list is not None:
              self.live_transcoder_instance_no_list = live_transcoder_instance_no_list
          if is_for_image_optimizer is not None:
              self.is_for_image_optimizer = is_for_image_optimizer
          if image_optimizer_instance_no is not None:
              self.image_optimizer_instance_no = image_optimizer_instance_no
          if is_available_partial_domain_purge is not None:
              self.is_available_partial_domain_purge = is_available_partial_domain_purge
          if cdn_plus_service_domain_list is not None:
              self.cdn_plus_service_domain_list = cdn_plus_service_domain_list
          if cdn_plus_rule is not None:
              self.cdn_plus_rule = cdn_plus_rule
  
      @property
      def cdn_instance_no(self):
          """Gets the cdn_instance_no of this CdnPlusInstance.  # noqa: E501
  
          CDN인스턴스번호  # noqa: E501
  
          :return: The cdn_instance_no of this CdnPlusInstance.  # noqa: E501
          :rtype: str
          """
          return self._cdn_instance_no
  
      @cdn_instance_no.setter
      def cdn_instance_no(self, cdn_instance_no):
          """Sets the cdn_instance_no of this CdnPlusInstance.
  
          CDN인스턴스번호  # noqa: E501
  
          :param cdn_instance_no: The cdn_instance_no of this CdnPlusInstance.  # noqa: E501
          :type: str
          """
  
          self._cdn_instance_no = cdn_instance_no
  
      @property
      def cdn_instance_status(self):
          """Gets the cdn_instance_status of this CdnPlusInstance.  # noqa: E501
  
          CDN인스턴스상태  # noqa: E501
  
          :return: The cdn_instance_status of this CdnPlusInstance.  # noqa: E501
          :rtype: CommonCode
          """
          return self._cdn_instance_status
  
      @cdn_instance_status.setter
      def cdn_instance_status(self, cdn_instance_status):
          """Sets the cdn_instance_status of this CdnPlusInstance.
  
          CDN인스턴스상태  # noqa: E501
  
          :param cdn_instance_status: The cdn_instance_status of this CdnPlusInstance.  # noqa: E501
          :type: CommonCode
          """
  
          self._cdn_instance_status = cdn_instance_status
  
      @property
      def cdn_instance_operation(self):
          """Gets the cdn_instance_operation of this CdnPlusInstance.  # noqa: E501
  
          CDN인스턴스OP  # noqa: E501
  
          :return: The cdn_instance_operation of this CdnPlusInstance.  # noqa: E501
          :rtype: CommonCode
          """
          return self._cdn_instance_operation
  
      @cdn_instance_operation.setter
      def cdn_instance_operation(self, cdn_instance_operation):
          """Sets the cdn_instance_operation of this CdnPlusInstance.
  
          CDN인스턴스OP  # noqa: E501
  
          :param cdn_instance_operation: The cdn_instance_operation of this CdnPlusInstance.  # noqa: E501
          :type: CommonCode
          """
  
          self._cdn_instance_operation = cdn_instance_operation
  
      @property
      def cdn_instance_status_name(self):
          """Gets the cdn_instance_status_name of this CdnPlusInstance.  # noqa: E501
  
          CDN인스턴스상태명  # noqa: E501
  
          :return: The cdn_instance_status_name of this CdnPlusInstance.  # noqa: E501
          :rtype: str
          """
          return self._cdn_instance_status_name
  
      @cdn_instance_status_name.setter
      def cdn_instance_status_name(self, cdn_instance_status_name):
          """Sets the cdn_instance_status_name of this CdnPlusInstance.
  
          CDN인스턴스상태명  # noqa: E501
  
          :param cdn_instance_status_name: The cdn_instance_status_name of this CdnPlusInstance.  # noqa: E501
          :type: str
          """
  
          self._cdn_instance_status_name = cdn_instance_status_name
  
      @property
      def create_date(self):
          """Gets the create_date of this CdnPlusInstance.  # noqa: E501
  
          생성일자  # noqa: E501
  
          :return: The create_date of this CdnPlusInstance.  # noqa: E501
          :rtype: str
          """
          return self._create_date
  
      @create_date.setter
      def create_date(self, create_date):
          """Sets the create_date of this CdnPlusInstance.
  
          생성일자  # noqa: E501
  
          :param create_date: The create_date of this CdnPlusInstance.  # noqa: E501
          :type: str
          """
  
          self._create_date = create_date
  
      @property
      def last_modified_date(self):
          """Gets the last_modified_date of this CdnPlusInstance.  # noqa: E501
  
          UPTIME  # noqa: E501
  
          :return: The last_modified_date of this CdnPlusInstance.  # noqa: E501
          :rtype: str
          """
          return self._last_modified_date
  
      @last_modified_date.setter
      def last_modified_date(self, last_modified_date):
          """Sets the last_modified_date of this CdnPlusInstance.
  
          UPTIME  # noqa: E501
  
          :param last_modified_date: The last_modified_date of this CdnPlusInstance.  # noqa: E501
          :type: str
          """
  
          self._last_modified_date = last_modified_date
  
      @property
      def cdn_instance_description(self):
          """Gets the cdn_instance_description of this CdnPlusInstance.  # noqa: E501
  
          CDN인스턴스설명  # noqa: E501
  
          :return: The cdn_instance_description of this CdnPlusInstance.  # noqa: E501
          :rtype: str
          """
          return self._cdn_instance_description
  
      @cdn_instance_description.setter
      def cdn_instance_description(self, cdn_instance_description):
          """Sets the cdn_instance_description of this CdnPlusInstance.
  
          CDN인스턴스설명  # noqa: E501
  
          :param cdn_instance_description: The cdn_instance_description of this CdnPlusInstance.  # noqa: E501
          :type: str
          """
  
          self._cdn_instance_description = cdn_instance_description
  
      @property
      def service_name(self):
          """Gets the service_name of this CdnPlusInstance.  # noqa: E501
  
          서비스이름  # noqa: E501
  
          :return: The service_name of this CdnPlusInstance.  # noqa: E501
          :rtype: str
          """
          return self._service_name
  
      @service_name.setter
      def service_name(self, service_name):
          """Sets the service_name of this CdnPlusInstance.
  
          서비스이름  # noqa: E501
  
          :param service_name: The service_name of this CdnPlusInstance.  # noqa: E501
          :type: str
          """
  
          self._service_name = service_name
  
      @property
      def is_for_live_transcoder(self):
          """Gets the is_for_live_transcoder of this CdnPlusInstance.  # noqa: E501
  
          라이브트랜스코더여부  # noqa: E501
  
          :return: The is_for_live_transcoder of this CdnPlusInstance.  # noqa: E501
          :rtype: bool
          """
          return self._is_for_live_transcoder
  
      @is_for_live_transcoder.setter
      def is_for_live_transcoder(self, is_for_live_transcoder):
          """Sets the is_for_live_transcoder of this CdnPlusInstance.
  
          라이브트랜스코더여부  # noqa: E501
  
          :param is_for_live_transcoder: The is_for_live_transcoder of this CdnPlusInstance.  # noqa: E501
          :type: bool
          """
  
          self._is_for_live_transcoder = is_for_live_transcoder
  
      @property
      def live_transcoder_instance_no_list(self):
          """Gets the live_transcoder_instance_no_list of this CdnPlusInstance.  # noqa: E501
  
          라이브트랜스코더인스턴스번호리스트  # noqa: E501
  
          :return: The live_transcoder_instance_no_list of this CdnPlusInstance.  # noqa: E501
          :rtype: list[str]
          """
          return self._live_transcoder_instance_no_list
  
      @live_transcoder_instance_no_list.setter
      def live_transcoder_instance_no_list(self, live_transcoder_instance_no_list):
          """Sets the live_transcoder_instance_no_list of this CdnPlusInstance.
  
          라이브트랜스코더인스턴스번호리스트  # noqa: E501
  
          :param live_transcoder_instance_no_list: The live_transcoder_instance_no_list of this CdnPlusInstance.  # noqa: E501
          :type: list[str]
          """
  
          self._live_transcoder_instance_no_list = live_transcoder_instance_no_list
  
      @property
      def is_for_image_optimizer(self):
          """Gets the is_for_image_optimizer of this CdnPlusInstance.  # noqa: E501
  
          Image Optimizer여부  # noqa: E501
  
          :return: The is_for_image_optimizer of this CdnPlusInstance.  # noqa: E501
          :rtype: bool
          """
          return self._is_for_image_optimizer
  
      @is_for_image_optimizer.setter
      def is_for_image_optimizer(self, is_for_image_optimizer):
          """Sets the is_for_image_optimizer of this CdnPlusInstance.
  
          Image Optimizer여부  # noqa: E501
  
          :param is_for_image_optimizer: The is_for_image_optimizer of this CdnPlusInstance.  # noqa: E501
          :type: bool
          """
  
          self._is_for_image_optimizer = is_for_image_optimizer
  
      @property
      def image_optimizer_instance_no(self):
          """Gets the image_optimizer_instance_no of this CdnPlusInstance.  # noqa: E501
  
          Image Optimizer인스턴스번호  # noqa: E501
  
          :return: The image_optimizer_instance_no of this CdnPlusInstance.  # noqa: E501
          :rtype: str
          """
          return self._image_optimizer_instance_no
  
      @image_optimizer_instance_no.setter
      def image_optimizer_instance_no(self, image_optimizer_instance_no):
          """Sets the image_optimizer_instance_no of this CdnPlusInstance.
  
          Image Optimizer인스턴스번호  # noqa: E501
  
          :param image_optimizer_instance_no: The image_optimizer_instance_no of this CdnPlusInstance.  # noqa: E501
          :type: str
          """
  
          self._image_optimizer_instance_no = image_optimizer_instance_no
  
      @property
      def is_available_partial_domain_purge(self):
          """Gets the is_available_partial_domain_purge of this CdnPlusInstance.  # noqa: E501
  
  
          :return: The is_available_partial_domain_purge of this CdnPlusInstance.  # noqa: E501
          :rtype: bool
          """
          return self._is_available_partial_domain_purge
  
      @is_available_partial_domain_purge.setter
      def is_available_partial_domain_purge(self, is_available_partial_domain_purge):
          """Sets the is_available_partial_domain_purge of this CdnPlusInstance.
  
  
          :param is_available_partial_domain_purge: The is_available_partial_domain_purge of this CdnPlusInstance.  # noqa: E501
          :type: bool
          """
  
          self._is_available_partial_domain_purge = is_available_partial_domain_purge
  
      @property
      def cdn_plus_service_domain_list(self):
          """Gets the cdn_plus_service_domain_list of this CdnPlusInstance.  # noqa: E501
  
          CDN+서비스도메인리스트  # noqa: E501
  
          :return: The cdn_plus_service_domain_list of this CdnPlusInstance.  # noqa: E501
          :rtype: list[CdnPlusServiceDomain]
          """
          return self._cdn_plus_service_domain_list
  
      @cdn_plus_service_domain_list.setter
      def cdn_plus_service_domain_list(self, cdn_plus_service_domain_list):
          """Sets the cdn_plus_service_domain_list of this CdnPlusInstance.
  
          CDN+서비스도메인리스트  # noqa: E501
  
          :param cdn_plus_service_domain_list: The cdn_plus_service_domain_list of this CdnPlusInstance.  # noqa: E501
          :type: list[CdnPlusServiceDomain]
          """
  
          self._cdn_plus_service_domain_list = cdn_plus_service_domain_list
  
      @property
      def cdn_plus_rule(self):
          """Gets the cdn_plus_rule of this CdnPlusInstance.  # noqa: E501
  
  
          :return: The cdn_plus_rule of this CdnPlusInstance.  # noqa: E501
          :rtype: CdnPlusRule
          """
          return self._cdn_plus_rule
  
      @cdn_plus_rule.setter
      def cdn_plus_rule(self, cdn_plus_rule):
          """Sets the cdn_plus_rule of this CdnPlusInstance.
  
  
          :param cdn_plus_rule: The cdn_plus_rule of this CdnPlusInstance.  # noqa: E501
          :type: CdnPlusRule
          """
  
          self._cdn_plus_rule = cdn_plus_rule
  
      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
  
          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, CdnPlusInstance):
              return False
  
          return self.__dict__ == other.__dict__
  
      def __ne__(self, other):
          """Returns true if both objects are not equal"""
          return not self == other
  