datadog-api-client-java
This repository contains a Java API client for the Datadog API. The code is generated using openapi-generator and apigentools.
Datadog API Collection
- API version: 1.0
Collection of all Datadog Public endpoints.
For more information, please visit https://www.datadoghq.com/support/
Automatically generated by the OpenAPI Generator
Requirements
Building the API client library requires:
- Java 1.8+
- Maven/Gradle
Installation
To install the API client library to your local Maven repository, simply execute:
mvn clean install
To deploy it to a remote Maven repository instead, configure the settings of the repository and execute:
mvn clean deploy
Refer to the OSSRH Guide for more information.
Maven users
Add this dependency to your project's POM:
<dependency>
<groupId>com.datadoghq</groupId>
<artifactId>datadog-api-client</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
Gradle users
Add this dependency to your project's build file:
compile "com.datadoghq:datadog-api-client:1.0.0"
Others
At first generate the JAR by executing:
mvn clean package
Then manually install the following JARs:
target/datadog-api-client-1.0.0.jar
target/lib/*.jar
Getting Started
Please follow the installation instruction and execute the following Java code:
import com.datadog.api.v1.client.*;
import com.datadog.api.v1.client.auth.*;
import com.datadog.api.v1.client.model.*;
import com.datadog.api.v1.client.api.AwsIntegrationApi;
public class AwsIntegrationApiExample {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
// Configure the Datadog site to send API calls to
HashMap<String, String> serverVariables = new HashMap<String, String>();
String site = System.getenv("DD_SITE");
if (site != null) {
serverVariables.put("site", site);
defaultClient.setServerVariables(serverVariables);
}
// Configure API key authorization:
HashMap<String, String> secrets = new HashMap<String, String>();
secrets.put("apiKeyAuth", System.getenv("DD_CLIENT_API_KEY"));
secrets.put("appKeyAuth", System.getenv("DD_CLIENT_APP_KEY"));
defaultClient.configureApiKeys(secrets);
AwsIntegrationApi apiInstance = new AwsIntegrationApi(defaultClient);
AWSAccount body = new AWSAccount(); // AWSAccount | AWS request object
try {
AWSAccountCreateResponse result = apiInstance.createAWSAccount(body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AwsIntegrationApi#createAWSAccount");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Unstable Endpoints
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:
defaultClient.setUnstableOperationEnabled("<OperationName>", true);
where <OperationName>
is the name of the method used to interact with that endpoint. For example: listLogIndexes
, or getLogsIndex
Documentation for API Endpoints and Models
Documentation for API endpoints and models can be found under the api_docs
directory.
Documentation for Authorization
Authentication schemes defined for the API:
apiKeyAuth
- Type: API key
- API key parameter name: api_key
- Location: URL query string
apiKeyAuthHeader
- Type: API key
- API key parameter name: DD-API-KEY
- Location: HTTP header
appKeyAuth
- Type: API key
- API key parameter name: application_key
- Location: URL query string
appKeyAuthHeader
- Type: API key
- API key parameter name: DD-APPLICATION-KEY
- Location: HTTP header
Recommendation
It's recommended to create an instance of ApiClient
per thread in a multithreaded environment to avoid any potential issues.