text: #
  # Copyright (c) 2019 by Delphix. All rights reserved.
  #
  from __future__ import absolute_import
  from datetime import date, datetime
  
  from generated.definitions.base_model_ import (
      Model, GeneratedClassesError, GeneratedClassesTypeError)
  from generated import util
  
  class SnapshotDefinition(Model):
      """NOTE: This class is auto generated by the swagger code generator program.
  
      Do not edit the class manually.
      """
  
      def __init__(self, ora_src=None, delphix_tookit_path=None, ora_user=None, ora_base=None, ora_unq=None, ora_bkp_loc=None, src_type=None, ora_inst=None, oracle_home=None, validate=True):
          """SnapshotDefinition - a model defined in Swagger. The type of some of these
          attributes can be defined as a List[ERRORUNKNOWN]. This just means they
          are a list of any type.
  
              :param ora_src: The ora_src of this SnapshotDefinition.
              :type ora_src: str
              :param delphix_tookit_path: The delphix_tookit_path of this SnapshotDefinition.
              :type delphix_tookit_path: str
              :param ora_user: The ora_user of this SnapshotDefinition.
              :type ora_user: str
              :param ora_base: The ora_base of this SnapshotDefinition.
              :type ora_base: str
              :param ora_unq: The ora_unq of this SnapshotDefinition.
              :type ora_unq: str
              :param ora_bkp_loc: The ora_bkp_loc of this SnapshotDefinition.
              :type ora_bkp_loc: str
              :param src_type: The src_type of this SnapshotDefinition.
              :type src_type: str
              :param ora_inst: The ora_inst of this SnapshotDefinition.
              :type ora_inst: str
              :param oracle_home: The oracle_home of this SnapshotDefinition.
              :type oracle_home: str
              :param validate: If the validation should be done during init. This
              should only be called internally when calling from_dict.
              :type validate: bool
          """
          self.swagger_types = {
              'ora_src': str,
              'delphix_tookit_path': str,
              'ora_user': str,
              'ora_base': str,
              'ora_unq': str,
              'ora_bkp_loc': str,
              'src_type': str,
              'ora_inst': str,
              'oracle_home': str
          }
  
          self.attribute_map = {
              'ora_src': 'oraSrc',
              'delphix_tookit_path': 'delphixTookitPath',
              'ora_user': 'oraUser',
              'ora_base': 'oraBase',
              'ora_unq': 'oraUnq',
              'ora_bkp_loc': 'oraBkpLoc',
              'src_type': 'srcType',
              'ora_inst': 'oraInst',
              'oracle_home': 'oracleHome'
          }
          
          # Validating the attribute ora_src and then saving it.
          type_error = GeneratedClassesTypeError.type_error(SnapshotDefinition,
                                                            'ora_src',
                                                            ora_src,
                                                            str,
                                                            False)
          if validate and type_error:
              raise type_error
          self._ora_src = ora_src
  
          # Validating the attribute delphix_tookit_path and then saving it.
          type_error = GeneratedClassesTypeError.type_error(SnapshotDefinition,
                                                            'delphix_tookit_path',
                                                            delphix_tookit_path,
                                                            str,
                                                            False)
          if validate and type_error:
              raise type_error
          self._delphix_tookit_path = delphix_tookit_path
  
          # Validating the attribute ora_user and then saving it.
          type_error = GeneratedClassesTypeError.type_error(SnapshotDefinition,
                                                            'ora_user',
                                                            ora_user,
                                                            str,
                                                            False)
          if validate and type_error:
              raise type_error
          self._ora_user = ora_user
  
          # Validating the attribute ora_base and then saving it.
          type_error = GeneratedClassesTypeError.type_error(SnapshotDefinition,
                                                            'ora_base',
                                                            ora_base,
                                                            str,
                                                            False)
          if validate and type_error:
              raise type_error
          self._ora_base = ora_base
  
          # Validating the attribute ora_unq and then saving it.
          type_error = GeneratedClassesTypeError.type_error(SnapshotDefinition,
                                                            'ora_unq',
                                                            ora_unq,
                                                            str,
                                                            False)
          if validate and type_error:
              raise type_error
          self._ora_unq = ora_unq
  
          # Validating the attribute ora_bkp_loc and then saving it.
          type_error = GeneratedClassesTypeError.type_error(SnapshotDefinition,
                                                            'ora_bkp_loc',
                                                            ora_bkp_loc,
                                                            str,
                                                            False)
          if validate and type_error:
              raise type_error
          self._ora_bkp_loc = ora_bkp_loc
  
          # Validating the attribute src_type and then saving it.
          type_error = GeneratedClassesTypeError.type_error(SnapshotDefinition,
                                                            'src_type',
                                                            src_type,
                                                            str,
                                                            False)
          if validate and type_error:
              raise type_error
          self._src_type = src_type
  
          # Validating the attribute ora_inst and then saving it.
          type_error = GeneratedClassesTypeError.type_error(SnapshotDefinition,
                                                            'ora_inst',
                                                            ora_inst,
                                                            str,
                                                            False)
          if validate and type_error:
              raise type_error
          self._ora_inst = ora_inst
  
          # Validating the attribute oracle_home and then saving it.
          type_error = GeneratedClassesTypeError.type_error(SnapshotDefinition,
                                                            'oracle_home',
                                                            oracle_home,
                                                            str,
                                                            False)
          if validate and type_error:
              raise type_error
          self._oracle_home = oracle_home
      @classmethod
      def from_dict(cls, dikt):
          """Returns the dict as a model
  
          :param dikt: A dict.
          :type: dict
          :return: The snapshotDefinition of this SnapshotDefinition.
          :rtype: SnapshotDefinition
          """
          return util.deserialize_model(dikt, cls)
  
      @property
      def ora_src(self):
          """Gets the ora_src of this SnapshotDefinition.
  
  
          :return: The ora_src of this SnapshotDefinition.
          :rtype: str
          """
          return self._ora_src
  
      @ora_src.setter
      def ora_src(self, ora_src):
          """Sets the ora_src of this SnapshotDefinition.
  
  
          :param ora_src: The ora_src of this SnapshotDefinition.
          :type ora_src: str
          """
          # Validating the attribute ora_src and then saving it.
          type_error = GeneratedClassesTypeError.type_error(SnapshotDefinition,
                                                            'ora_src',
                                                            ora_src,
                                                            str,
                                                            False)
          if type_error:
              raise type_error
          self._ora_src = ora_src
  
      @property
      def delphix_tookit_path(self):
          """Gets the delphix_tookit_path of this SnapshotDefinition.
  
  
          :return: The delphix_tookit_path of this SnapshotDefinition.
          :rtype: str
          """
          return self._delphix_tookit_path
  
      @delphix_tookit_path.setter
      def delphix_tookit_path(self, delphix_tookit_path):
          """Sets the delphix_tookit_path of this SnapshotDefinition.
  
  
          :param delphix_tookit_path: The delphix_tookit_path of this SnapshotDefinition.
          :type delphix_tookit_path: str
          """
          # Validating the attribute delphix_tookit_path and then saving it.
          type_error = GeneratedClassesTypeError.type_error(SnapshotDefinition,
                                                            'delphix_tookit_path',
                                                            delphix_tookit_path,
                                                            str,
                                                            False)
          if type_error:
              raise type_error
          self._delphix_tookit_path = delphix_tookit_path
  
      @property
      def ora_user(self):
          """Gets the ora_user of this SnapshotDefinition.
  
  
          :return: The ora_user of this SnapshotDefinition.
          :rtype: str
          """
          return self._ora_user
  
      @ora_user.setter
      def ora_user(self, ora_user):
          """Sets the ora_user of this SnapshotDefinition.
  
  
          :param ora_user: The ora_user of this SnapshotDefinition.
          :type ora_user: str
          """
          # Validating the attribute ora_user and then saving it.
          type_error = GeneratedClassesTypeError.type_error(SnapshotDefinition,
                                                            'ora_user',
                                                            ora_user,
                                                            str,
                                                            False)
          if type_error:
              raise type_error
          self._ora_user = ora_user
  
      @property
      def ora_base(self):
          """Gets the ora_base of this SnapshotDefinition.
  
  
          :return: The ora_base of this SnapshotDefinition.
          :rtype: str
          """
          return self._ora_base
  
      @ora_base.setter
      def ora_base(self, ora_base):
          """Sets the ora_base of this SnapshotDefinition.
  
  
          :param ora_base: The ora_base of this SnapshotDefinition.
          :type ora_base: str
          """
          # Validating the attribute ora_base and then saving it.
          type_error = GeneratedClassesTypeError.type_error(SnapshotDefinition,
                                                            'ora_base',
                                                            ora_base,
                                                            str,
                                                            False)
          if type_error:
              raise type_error
          self._ora_base = ora_base
  
      @property
      def ora_unq(self):
          """Gets the ora_unq of this SnapshotDefinition.
  
  
          :return: The ora_unq of this SnapshotDefinition.
          :rtype: str
          """
          return self._ora_unq
  
      @ora_unq.setter
      def ora_unq(self, ora_unq):
          """Sets the ora_unq of this SnapshotDefinition.
  
  
          :param ora_unq: The ora_unq of this SnapshotDefinition.
          :type ora_unq: str
          """
          # Validating the attribute ora_unq and then saving it.
          type_error = GeneratedClassesTypeError.type_error(SnapshotDefinition,
                                                            'ora_unq',
                                                            ora_unq,
                                                            str,
                                                            False)
          if type_error:
              raise type_error
          self._ora_unq = ora_unq
  
      @property
      def ora_bkp_loc(self):
          """Gets the ora_bkp_loc of this SnapshotDefinition.
  
  
          :return: The ora_bkp_loc of this SnapshotDefinition.
          :rtype: str
          """
          return self._ora_bkp_loc
  
      @ora_bkp_loc.setter
      def ora_bkp_loc(self, ora_bkp_loc):
          """Sets the ora_bkp_loc of this SnapshotDefinition.
  
  
          :param ora_bkp_loc: The ora_bkp_loc of this SnapshotDefinition.
          :type ora_bkp_loc: str
          """
          # Validating the attribute ora_bkp_loc and then saving it.
          type_error = GeneratedClassesTypeError.type_error(SnapshotDefinition,
                                                            'ora_bkp_loc',
                                                            ora_bkp_loc,
                                                            str,
                                                            False)
          if type_error:
              raise type_error
          self._ora_bkp_loc = ora_bkp_loc
  
      @property
      def src_type(self):
          """Gets the src_type of this SnapshotDefinition.
  
  
          :return: The src_type of this SnapshotDefinition.
          :rtype: str
          """
          return self._src_type
  
      @src_type.setter
      def src_type(self, src_type):
          """Sets the src_type of this SnapshotDefinition.
  
  
          :param src_type: The src_type of this SnapshotDefinition.
          :type src_type: str
          """
          # Validating the attribute src_type and then saving it.
          type_error = GeneratedClassesTypeError.type_error(SnapshotDefinition,
                                                            'src_type',
                                                            src_type,
                                                            str,
                                                            False)
          if type_error:
              raise type_error
          self._src_type = src_type
  
      @property
      def ora_inst(self):
          """Gets the ora_inst of this SnapshotDefinition.
  
  
          :return: The ora_inst of this SnapshotDefinition.
          :rtype: str
          """
          return self._ora_inst
  
      @ora_inst.setter
      def ora_inst(self, ora_inst):
          """Sets the ora_inst of this SnapshotDefinition.
  
  
          :param ora_inst: The ora_inst of this SnapshotDefinition.
          :type ora_inst: str
          """
          # Validating the attribute ora_inst and then saving it.
          type_error = GeneratedClassesTypeError.type_error(SnapshotDefinition,
                                                            'ora_inst',
                                                            ora_inst,
                                                            str,
                                                            False)
          if type_error:
              raise type_error
          self._ora_inst = ora_inst
  
      @property
      def oracle_home(self):
          """Gets the oracle_home of this SnapshotDefinition.
  
  
          :return: The oracle_home of this SnapshotDefinition.
          :rtype: str
          """
          return self._oracle_home
  
      @oracle_home.setter
      def oracle_home(self, oracle_home):
          """Sets the oracle_home of this SnapshotDefinition.
  
  
          :param oracle_home: The oracle_home of this SnapshotDefinition.
          :type oracle_home: str
          """
          # Validating the attribute oracle_home and then saving it.
          type_error = GeneratedClassesTypeError.type_error(SnapshotDefinition,
                                                            'oracle_home',
                                                            oracle_home,
                                                            str,
                                                            False)
          if type_error:
              raise type_error
          self._oracle_home = oracle_home
  