This repository contains a Ruby API client for the Datadog API. The code is generated using openapi-generator and apigentools.
Installing and using the API client library requires:
- Ruby 2.2+
The following steps will help you quickly start interacting with Datadog APIs using Ruby client.
-
Add the
datadog_api_clientgem to you Gemfile:source 'https://rubygems.org' gem 'datadog_api_client'
-
Install the gem with
bundle install -
(optional) You can configure site and authentication using environment variables or code block:
DatadogAPIClient::V1.configure do |config| config.server_variables[:site] = 'datadoghq.eu' end
-
Build the Ruby code into a gem:
gem build datadog_api_client.gemspec
-
Install the gem locally:
gem install ./datadog_api_client-*.gem
-
Add the following in the Gemfile:
gem 'datadog_api_client', :git => 'https://github.com/DataDog/datadog-api-client-ruby.git'
-
Install the gem with
bundle install
-
Create
example.rbscript (find inspiration on https://docs.datadoghq.com/api/) -
Include the Ruby code directly using
-Ias follows:ruby -Ilib example.rb
Please follow the installation instruction and execute the following Ruby code:
require 'datadog_api_client'
api_instance = DatadogAPIClient::V1::IPRangesAPI.new
begin
result = api_instance.get_ip_ranges
p result
rescue DatadogAPIClient::V1::APIError => e
puts "Error when calling IPRangesAPI->get_ip_ranges: #{e}"
endAuthenticate with the API by providing your API and Application keys in the configuration:
DatadogAPIClient::V1.configure do |config|
config.api_key = ENV['NON_STANDARD_NAME_FOR_DD_API_KEY']
config.application_key = ENV['NON_STANDARD_NAME_FOR_DD_APP_KEY']
endThis client includes access to Datadog API endpoints while they are in an unstable state and may undergo breaking changes. An extra configuration step is required to enable these endpoints:
DatadogAPIClient::V1.configure do |config|
config.unstable_operations[:'<unstable_operation_id>'] = true
endwhere <unstable_operation_id> is the name of the method used to interact with that endpoint. For example: list_log_indexes, or get_logs_index
If you want to disable GZIP compressed responses, set the compress flag
on your configuration object:
config = DatadogAPIClient::V1::Configuration.new
config.compress = false
client = DatadogAPIClient::V1::APIClient.new(config)If you are interested in general documentation for all public Datadog API endpoints, checkout the [general documentation site](api docs).
Developer documentation for supported endpoints and models is divided based on API version prefix to v1 and v2.
For contributing, checkout the [contribution guidelines](contribution docs) and development guide.