code: def _parse_options(self, options):
          
          attributes = ('host', 'wapi_version', 'username', 'password',
                        'ssl_verify', 'http_request_timeout', 'max_retries',
                        'http_pool_connections', 'http_pool_maxsize',
                        'silent_ssl_warnings', 'log_api_calls_as_info',
                        'max_results', 'paging')
          for attr in attributes:
              if isinstance(options, dict) and attr in options:
                  setattr(self, attr, options[attr])
              elif hasattr(options, attr):
                  value = getattr(options, attr)
                  setattr(self, attr, value)
              elif attr in self.DEFAULT_OPTIONS:
                  setattr(self, attr, self.DEFAULT_OPTIONS[attr])
              else:
                  msg = "WAPI config error. Option %s is not defined" % attr
                  raise ib_ex.InfobloxConfigException(msg=msg)
  
          for attr in ('host', 'username', 'password'):
              if not getattr(self, attr):
                  msg = "WAPI config error. Option %s can not be blank" % attr
                  raise ib_ex.InfobloxConfigException(msg=msg)
  
          self.wapi_url = "https://%s/wapi/v%s/" % (self.host,
                                                    self.wapi_version)
          self.cloud_api_enabled = self.is_cloud_wapi(self.wapi_version)
docs: Copy needed options to self