class ElasticAPM::Metadata::CloudInfo

def fetch_azure

def fetch_azure
  resp = @client.headers("Metadata" => "true").get(AZURE_URI)
  return unless resp.status == 200
  return unless (metadata = JSON.parse(resp.body))
  self.provider = 'azure'
  self.account_id = metadata["subscriptionId"]
  self.instance_id = metadata["vmId"]
  self.instance_name = metadata["name"]
  self.project_name = metadata["resourceGroupName"]
  self.availability_zone = metadata["zone"]
  self.machine_type = metadata["vmSize"]
  self.region = metadata["location"]
rescue HTTP::TimeoutError, HTTP::ConnectionError
  nil
end