class Multiwoven::Integrations::Source::WatsonxData::Client
def get_iam_token(api_key)
def get_iam_token(api_key) uri = URI("https://iam.cloud.ibm.com/identity/token") request = Net::HTTP::Post.new(uri) request["Content-Type"] = "application/x-www-form-urlencoded" request.body = "grant_type=urn:ibm:params:oauth:grant-type:apikey&apikey=#{api_key}" response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http| http.request(request) end raise "Failed to get IAM token: #{response.body}" unless response.is_a?(Net::HTTPSuccess) JSON.parse(response.body)["access_token"] end