class PowerBI::GatewayDatasourceArray

Public Class Methods

get_class() click to toggle source
# File lib/power-bi/gateway_datasource.rb, line 48
def self.get_class
  GatewayDatasource
end
new(tenant, gateway) click to toggle source
Calls superclass method PowerBI::Array::new
# File lib/power-bi/gateway_datasource.rb, line 43
def initialize(tenant, gateway)
  super(tenant)
  @gateway = gateway
end

Public Instance Methods

create(name, encrypted_credentials, db_server, db_name) click to toggle source

only MySQL type is currently supported

# File lib/power-bi/gateway_datasource.rb, line 53
def create(name, encrypted_credentials, db_server, db_name)
  data = @tenant.post("/gateways/#{@gateway.id}/datasources",) do |req|
    req.body = {
      connectionDetails: {server: db_server, database: db_name}.to_json,
      credentialDetails: {
        credentialType: "Basic",
        credentials: encrypted_credentials,
        encryptedConnection: "Encrypted",
        encryptionAlgorithm: "RSA-OAEP",
        privacyLevel: "Organizational",
        useCallerAADIdentity: false,
        useEndUserOAuth2Credentials: false,
      },
      datasourceName: name,
      datasourceType: 'MySql',
    }.to_json
  end
  self.reload
  GatewayDatasource.new(@tenant, data)
end
get_data() click to toggle source
# File lib/power-bi/gateway_datasource.rb, line 74
def get_data
  data = @tenant.get("/gateways/#{@gateway.id}/datasources")[:value]
  data.each { |d| d[:gateway] = @gateway }
end