class GoodData::DataSource::RedshiftConnectionInfo

Public Class Methods

new(connection_info_json) click to toggle source
# File lib/gooddata/models/data_source.rb, line 363
def initialize(connection_info_json)
  @json = connection_info_json[GoodData::DataSource::REDSHIFT]
end

Public Instance Methods

access_key_id() click to toggle source
# 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) click to toggle source
# 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() click to toggle source
# File lib/gooddata/models/data_source.rb, line 415
def basic_authentication
  @json && @json['authentication'] && @json['authentication']['basic']
end
database() click to toggle source
# File lib/gooddata/models/data_source.rb, line 423
def database
  @json['database']
end
database=(new_database) click to toggle source
# File lib/gooddata/models/data_source.rb, line 427
def database=(new_database)
  @json['database'] = new_database
end
db_user() click to toggle source
# 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) click to toggle source
# 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() click to toggle source
# File lib/gooddata/models/data_source.rb, line 419
def iam_authentication
  @json && @json['authentication'] && @json['authentication']['iam']
end
password() click to toggle source
# File lib/gooddata/models/data_source.rb, line 383
def password
  @json['authentication']['basic']['password'] if basic_authentication
end
password=(new_password) click to toggle source
# File lib/gooddata/models/data_source.rb, line 387
def password=(new_password)
  @json['authentication']['basic']['password'] = new_password
end
schema() click to toggle source
# File lib/gooddata/models/data_source.rb, line 431
def schema
  @json['schema']
end
schema=(new_schema) click to toggle source
# File lib/gooddata/models/data_source.rb, line 435
def schema=(new_schema)
  @json['schema'] = new_schema
end
secret_access_key() click to toggle source
# 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) click to toggle source
# 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() click to toggle source
# 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
url() click to toggle source
# File lib/gooddata/models/data_source.rb, line 367
def url
  @json['url']
end
url=(new_url) click to toggle source
# File lib/gooddata/models/data_source.rb, line 371
def url=(new_url)
  @json['url'] = new_url
end
user_name() click to toggle source
# 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) click to toggle source
# File lib/gooddata/models/data_source.rb, line 379
def user_name=(new_user_name)
  @json['authentication']['basic']['userName'] = new_user_name
end
validate() click to toggle source
# 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