Class: GoodData::DataSource::SnowflakeConnectionInfo

Inherits:
ConnectionInfo show all
Defined in:
lib/gooddata/models/data_source.rb

Instance Attribute Summary

Attributes inherited from Rest::Object

#client, #json, #project

Instance Method Summary collapse

Methods inherited from ConnectionInfo

#connection_info, #connection_info=

Methods included from Mixin::ObjId

#obj_id

Methods inherited from Rest::Object

client, default_client, #saved?

Methods included from Mixin::DataPropertyReader

#data_property_reader

Methods included from Mixin::DataPropertyWriter

#data_property_writer

Methods included from Mixin::MetaPropertyReader

#metadata_property_reader

Methods included from Mixin::MetaPropertyWriter

#metadata_property_writer

Methods included from Mixin::MetaGetter

#meta

Methods included from Mixin::DataGetter

#data

Methods included from Mixin::RootKeyGetter

#root_key

Methods included from Mixin::ContentGetter

#content

Constructor Details

#initialize(connection_info_json) ⇒ SnowflakeConnectionInfo

Returns a new instance of SnowflakeConnectionInfo.



284
285
286
# File 'lib/gooddata/models/data_source.rb', line 284

def initialize(connection_info_json)
  @json = connection_info_json[GoodData::DataSource::SNOWFLAKE]
end

Instance Method Details

#databaseObject



312
313
314
# File 'lib/gooddata/models/data_source.rb', line 312

def database
  @json['database']
end

#database=(new_database) ⇒ Object



316
317
318
# File 'lib/gooddata/models/data_source.rb', line 316

def database=(new_database)
  @json['database'] = new_database
end

#passwordObject



304
305
306
# File 'lib/gooddata/models/data_source.rb', line 304

def password
  @json['authentication']['basic']['password'] if @json && @json['authentication'] && @json['authentication']['basic']
end

#password=(new_password) ⇒ Object



308
309
310
# File 'lib/gooddata/models/data_source.rb', line 308

def password=(new_password)
  @json['authentication']['basic']['password'] = new_password
end

#schemaObject



320
321
322
# File 'lib/gooddata/models/data_source.rb', line 320

def schema
  @json['schema']
end

#schema=(new_schema) ⇒ Object



324
325
326
# File 'lib/gooddata/models/data_source.rb', line 324

def schema=(new_schema)
  @json['schema'] = new_schema
end

#to_update_payloadObject



336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
# File 'lib/gooddata/models/data_source.rb', line 336

def to_update_payload
  {
    'snowflake' => {
      'url' => url,
      'authentication' => {
        'basic' => {
          'userName' => user_name,
          'password' => password
        }
      },
      'database' => database,
      'schema' => schema,
      'warehouse' => warehouse
    }
  }
end

#urlObject



288
289
290
# File 'lib/gooddata/models/data_source.rb', line 288

def url
  @json['url']
end

#url=(new_url) ⇒ Object



292
293
294
# File 'lib/gooddata/models/data_source.rb', line 292

def url=(new_url)
  @json['url'] = new_url
end

#user_nameObject



296
297
298
# File 'lib/gooddata/models/data_source.rb', line 296

def user_name
  @json['authentication']['basic']['userName'] if @json && @json['authentication'] && @json['authentication']['basic']
end

#user_name=(new_user_name) ⇒ Object



300
301
302
# File 'lib/gooddata/models/data_source.rb', line 300

def user_name=(new_user_name)
  @json['authentication']['basic']['userName'] = new_user_name
end

#validateObject



353
354
355
356
357
358
359
# File 'lib/gooddata/models/data_source.rb', line 353

def validate
  fail 'Data source url has to be provided' if url.nil? || url.blank?
  fail 'Data source database has to be provided' if database.nil? || database.blank?
  fail ERROR_MESSAGE_NO_SCHEMA if schema.nil? || schema.blank?
  fail 'Data source warehouse has to be provided' if warehouse.nil? || warehouse.blank?
  fail 'Data source username has to be provided' if user_name.nil? || user_name.blank?
end

#warehouseObject



328
329
330
# File 'lib/gooddata/models/data_source.rb', line 328

def warehouse
  @json['warehouse']
end

#warehouse=(new_warehouse) ⇒ Object



332
333
334
# File 'lib/gooddata/models/data_source.rb', line 332

def warehouse=(new_warehouse)
  @json['warehouse'] = new_warehouse
end