class Logstream::CloudAPIV2
Constants
- CLOUDAPI_ENDPOINT
Attributes
client_id[RW]
client_secret[RW]
endpoint[RW]
Public Class Methods
new(client_id, client_secret)
click to toggle source
# File lib/logstream/cloudapi_v2.rb, line 11 def initialize(client_id, client_secret) @client_id = client_id @client_secret = client_secret end
Public Instance Methods
get(path)
click to toggle source
# File lib/logstream/cloudapi_v2.rb, line 16 def get(path) bearer_token = get_token uri = URI.parse("#{CLOUDAPI_ENDPOINT}#{path}") http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true request = Net::HTTP::Get.new(uri.request_uri) request['Authorization'] = "Bearer #{bearer_token}" response = http.request(request) parsed = JSON.parse(response.body) rescue nil case response.code.to_i when 200 raise Error, "Unexpected reply #{response.body}" unless parsed parsed else raise Error, "HTTP #{response.code}: #{response.body}" end end
get_application_environments(application_uuid)
click to toggle source
# File lib/logstream/cloudapi_v2.rb, line 34 def get_application_environments(application_uuid) response = get("/applications/#{application_uuid}/environments") #, { :query => { "filter" => "name%3D#{env}"}}) raise Error, "No Environments found." if response['total'] == 0 raise Error, "Unexpected reply #{response}" unless response['_embedded']['items'] response['_embedded']['items'] end
get_envirornment_logstream(environment_uuid)
click to toggle source
# File lib/logstream/cloudapi_v2.rb, line 41 def get_envirornment_logstream(environment_uuid) response = get("/environments/#{environment_uuid}/logstream") raise Error, "Unexpected reply #{response}" unless response['logstream'] response['logstream'] end
get_token()
click to toggle source
# File lib/logstream/cloudapi_v2.rb, line 47 def get_token uri = URI.parse("https://accounts.acquia.com/api/auth/oauth/token") response = Net::HTTP.post_form(uri, 'client_id' => @client_id, 'client_secret' => @client_secret, 'grant_type' => 'client_credentials') parsed = JSON.parse(response.body) rescue nil case response.code.to_i when 200 raise Error, "Unexpected reply #{response.body}" unless parsed["access_token"] parsed["access_token"] else raise Error, "HTTP #{response.code}: #{response.body}" end end