Class: GoodData::DataSource::RedshiftConnectionInfo
Instance Attribute Summary
Attributes inherited from Rest::Object
#client, #json, #project
Instance Method Summary
collapse
#connection_info, #connection_info=
#obj_id
client, default_client, #saved?
#data_property_reader
#data_property_writer
#metadata_property_reader
#metadata_property_writer
#meta
#data
#root_key
#content
Constructor Details
Returns a new instance of RedshiftConnectionInfo.
363
364
365
|
# File 'lib/gooddata/models/data_source.rb', line 363
def initialize(connection_info_json)
@json = connection_info_json[GoodData::DataSource::REDSHIFT]
end
|
Instance Method Details
#access_key_id ⇒ Object
399
400
401
|
# File 'lib/gooddata/models/data_source.rb', line 399
def access_key_id
@json['authentication']['iam']['accessKeyId'] if iam_authentication
end
|
#access_key_id=(new_access_key_id) ⇒ Object
403
404
405
|
# File 'lib/gooddata/models/data_source.rb', line 403
def access_key_id=(new_access_key_id)
@json['authentication']['iam']['accessKeyId'] = new_access_key_id
end
|
#basic_authentication ⇒ Object
415
416
417
|
# File 'lib/gooddata/models/data_source.rb', line 415
def basic_authentication
@json && @json['authentication'] && @json['authentication']['basic']
end
|
423
424
425
|
# File 'lib/gooddata/models/data_source.rb', line 423
def database
@json['database']
end
|
#database=(new_database) ⇒ Object
427
428
429
|
# File 'lib/gooddata/models/data_source.rb', line 427
def database=(new_database)
@json['database'] = new_database
end
|
391
392
393
|
# File 'lib/gooddata/models/data_source.rb', line 391
def db_user
@json['authentication']['iam']['dbUser'] if iam_authentication
end
|
#db_user=(new_db_user) ⇒ Object
395
396
397
|
# File 'lib/gooddata/models/data_source.rb', line 395
def db_user=(new_db_user)
@json['authentication']['iam']['dbUser'] = new_db_user
end
|
#iam_authentication ⇒ Object
419
420
421
|
# File 'lib/gooddata/models/data_source.rb', line 419
def iam_authentication
@json && @json['authentication'] && @json['authentication']['iam']
end
|
383
384
385
|
# File 'lib/gooddata/models/data_source.rb', line 383
def password
@json['authentication']['basic']['password'] if basic_authentication
end
|
#password=(new_password) ⇒ Object
387
388
389
|
# File 'lib/gooddata/models/data_source.rb', line 387
def password=(new_password)
@json['authentication']['basic']['password'] = new_password
end
|
431
432
433
|
# File 'lib/gooddata/models/data_source.rb', line 431
def schema
@json['schema']
end
|
#schema=(new_schema) ⇒ Object
435
436
437
|
# File 'lib/gooddata/models/data_source.rb', line 435
def schema=(new_schema)
@json['schema'] = new_schema
end
|
#secret_access_key ⇒ Object
407
408
409
|
# File 'lib/gooddata/models/data_source.rb', line 407
def secret_access_key
@json['authentication']['iam']['secretAccessKey'] if iam_authentication
end
|
#secret_access_key=(new_secret_access_key) ⇒ Object
411
412
413
|
# File 'lib/gooddata/models/data_source.rb', line 411
def secret_access_key=(new_secret_access_key)
@json['authentication']['iam']['secretAccessKey'] = new_secret_access_key
end
|
#to_update_payload ⇒ Object
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
|
# File 'lib/gooddata/models/data_source.rb', line 439
def to_update_payload
if basic_authentication
{
'redshift' => {
'url' => url,
'authentication' => {
'basic' => {
'userName' => user_name,
'password' => password
}
},
'database' => database,
'schema' => schema
}
}
else
{
'redshift' => {
'url' => url,
'authentication' => {
'iam' => {
'dbUser' => db_user,
'accessKeyId' => access_key_id,
'secretAccessKey' => secret_access_key
}
},
'database' => database,
'schema' => schema
}
}
end
end
|
367
368
369
|
# File 'lib/gooddata/models/data_source.rb', line 367
def url
@json['url']
end
|
#url=(new_url) ⇒ Object
371
372
373
|
# File 'lib/gooddata/models/data_source.rb', line 371
def url=(new_url)
@json['url'] = new_url
end
|
#user_name ⇒ Object
375
376
377
|
# File 'lib/gooddata/models/data_source.rb', line 375
def user_name
@json['authentication']['basic']['userName'] if basic_authentication
end
|
#user_name=(new_user_name) ⇒ Object
379
380
381
|
# File 'lib/gooddata/models/data_source.rb', line 379
def user_name=(new_user_name)
@json['authentication']['basic']['userName'] = new_user_name
end
|
472
473
474
475
476
477
478
479
480
481
482
483
|
# File 'lib/gooddata/models/data_source.rb', line 472
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?
if basic_authentication
fail 'Data source username has to be provided' if user_name.nil? || user_name.blank?
elsif iam_authentication
fail 'Data source db_user has to be provided' if db_user.nil? || db_user.blank?
fail 'Data source access key has to be provided' if access_key_id.nil? || access_key_id.blank?
end
end
|