class GoodData::DataSource::BigQueryConnectionInfo
Public Class Methods
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
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
Source
# File lib/gooddata/models/data_source.rb, line 495 def client_email=(new_client_email) @json['authentication']['serviceAccount']['clientEmail'] = new_client_email end
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
Source
# File lib/gooddata/models/data_source.rb, line 503 def private_key=(new_private_key) @json['authentication']['serviceAccount']['privateKey'] = new_private_key end
Source
# File lib/gooddata/models/data_source.rb, line 507 def project @json['project'] end
Source
# File lib/gooddata/models/data_source.rb, line 511 def project=(new_project) @json['project'] = new_project end
Source
# File lib/gooddata/models/data_source.rb, line 519 def schema=(new_schema) @json['schema'] = new_schema end
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
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