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_client
gem 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.rb
script (find inspiration on https://docs.datadoghq.com/api/) -
Include the Ruby code directly using
-I
as 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}"
end
Authenticate 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']
end
This 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
end
where <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.