class GoodData::DataSource::BigQueryConnectionInfo

Public Class Methods

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

Public Instance Methods

client_email() click to toggle source
# File lib/gooddata/models/data_source.rb, line 491
def client_email
  @json['authentication']['serviceAccount']['clientEmail'] if @json && @json['authentication'] && @json['authentication']['serviceAccount']
end
client_email=(new_client_email) click to toggle source
# File lib/gooddata/models/data_source.rb, line 495
def client_email=(new_client_email)
  @json['authentication']['serviceAccount']['clientEmail'] = new_client_email
end
private_key() click to toggle source
# File lib/gooddata/models/data_source.rb, line 499
def private_key
  @json['authentication']['serviceAccount']['privateKey'] if @json && @json['authentication'] && @json['authentication']['serviceAccount']
end
private_key=(new_private_key) click to toggle source
# File lib/gooddata/models/data_source.rb, line 503
def private_key=(new_private_key)
  @json['authentication']['serviceAccount']['privateKey'] = new_private_key
end
project() click to toggle source
# File lib/gooddata/models/data_source.rb, line 507
def project
  @json['project']
end
project=(new_project) click to toggle source
# File lib/gooddata/models/data_source.rb, line 511
def project=(new_project)
  @json['project'] = new_project
end
schema() click to toggle source
# File lib/gooddata/models/data_source.rb, line 515
def schema
  @json['schema']
end
schema=(new_schema) click to toggle source
# File lib/gooddata/models/data_source.rb, line 519
def schema=(new_schema)
  @json['schema'] = new_schema
end
to_update_payload() click to toggle source
# File lib/gooddata/models/data_source.rb, line 523
def to_update_payload
  {
    'bigQuery' => {
      'authentication' => {
        'serviceAccount' => {
          'clientEmail' => client_email,
          'privateKey' => private_key
        }
      },
      'project' => project,
      'schema' => schema
    }
  }
end
validate() click to toggle source
# File lib/gooddata/models/data_source.rb, line 538
def validate
  fail 'Data source client email has to be provided' if client_email.nil? || client_email.blank?
  fail 'Data source project has to be provided' if project.nil? || project.blank?
  fail ERROR_MESSAGE_NO_SCHEMA if schema.nil? || schema.blank?
end