---
title: Créer une configuration de location
description: Créer une nouvelle configuration de location pour établir la surveillance et la collecte de données depuis votre environnement OCI.
breadcrumbs: Documentation > API > Créer une configuration de location
---

> For the complete documentation index, see [llms.txt](https://dnd37xeb23o8n.cloudfront.net/jen.gilbert/astro-base/llms.txt).

# Créer une configuration de location

## v2 (latest)

| Datadog site      | API endpoint                                                        |
| ----------------- | ------------------------------------------------------------------- |
| app.datadoghq.com | POST https://api.datadoghq.com/api/v2/integration/oci/tenancies     |
| us3.datadoghq.com | POST https://api.us3.datadoghq.com/api/v2/integration/oci/tenancies |
| us5.datadoghq.com | POST https://api.us5.datadoghq.com/api/v2/integration/oci/tenancies |
| app.datadoghq.eu  | POST https://api.datadoghq.eu/api/v2/integration/oci/tenancies      |
| ap1.datadoghq.com | POST https://api.ap1.datadoghq.com/api/v2/integration/oci/tenancies |
| ap2.datadoghq.com | POST https://api.ap2.datadoghq.com/api/v2/integration/oci/tenancies |
| uk1.datadoghq.com | POST https://api.uk1.datadoghq.com/api/v2/integration/oci/tenancies |
| app.ddog-gov.com  | POST https://api.ddog-gov.com/api/v2/integration/oci/tenancies      |
| us2.ddog-gov.com  | POST https://api.us2.ddog-gov.com/api/v2/integration/oci/tenancies  |

### Overview

Créer une nouvelle configuration de location pour établir la surveillance et la collecte de données depuis votre environnement OCI. Nécessite des identifiants d'authentification OCI et les détails de la location. Avertissement&nbsp;: Datadog recommande d'interagir avec cet endpoint uniquement via l'interface web Datadog pour s'assurer que toutes les ressources OCI nécessaires ont été créées et configurées correctement.

### Request

#### Body Data (required)

{% tabs %}
{% tab label="Model" %}
| Parent field     | Field                         | Type     | Description                                                                                                                          |
| ---------------- | ----------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------ |
|                  | data [*required*]             | object   |                                                                                                                                      |
| data             | attributes                    | object   | Attributes for creating a new OCI tenancy integration configuration, including credentials, region settings, and collection options. |
| attributes       | auth_credentials [*required*] | object   | OCI API signing key credentials used to authenticate the Datadog integration with the OCI tenancy.                                   |
| auth_credentials | fingerprint                   | string   | The fingerprint of the OCI API signing key used for authentication.                                                                  |
| auth_credentials | private_key [*required*]      | string   | The PEM-encoded private key corresponding to the OCI API signing key fingerprint.                                                    |
| attributes       | config_version                | int64    | Version number of the integration the tenancy is integrated with                                                                     |
| attributes       | cost_collection_enabled       | boolean  | Whether cost data collection from OCI is enabled for the tenancy.                                                                    |
| attributes       | dd_compartment_id             | string   | The OCID of the OCI compartment used by the Datadog integration stack.                                                               |
| attributes       | dd_stack_id                   | string   | The OCID of the OCI Resource Manager stack used by the Datadog integration.                                                          |
| attributes       | home_region [*required*]      | string   | The home region of the OCI tenancy (for example, us-ashburn-1).                                                                      |
| attributes       | logs_config                   | object   | Log collection configuration for an OCI tenancy, controlling which compartments and services have log collection enabled.            |
| logs_config      | compartment_tag_filters       | [string] | List of compartment tag filters to scope log collection to specific compartments.                                                    |
| logs_config      | enabled                       | boolean  | Whether log collection is enabled for the tenancy.                                                                                   |
| logs_config      | enabled_services              | [string] | List of OCI service names for which log collection is enabled.                                                                       |
| attributes       | metrics_config                | object   | Metrics collection configuration for an OCI tenancy, controlling which compartments and services are included or excluded.           |
| metrics_config   | compartment_tag_filters       | [string] | List of compartment tag filters to scope metrics collection to specific compartments.                                                |
| metrics_config   | enabled                       | boolean  | Whether metrics collection is enabled for the tenancy.                                                                               |
| metrics_config   | excluded_services             | [string] | List of OCI service names to exclude from metrics collection.                                                                        |
| attributes       | regions_config                | object   | Region configuration for an OCI tenancy, specifying which regions are available, enabled, or disabled for data collection.           |
| regions_config   | available                     | [string] | List of OCI regions available for data collection in the tenancy.                                                                    |
| regions_config   | disabled                      | [string] | List of OCI regions explicitly disabled for data collection.                                                                         |
| regions_config   | enabled                       | [string] | List of OCI regions enabled for data collection.                                                                                     |
| attributes       | resource_collection_enabled   | boolean  | Whether resource collection from OCI is enabled for the tenancy.                                                                     |
| attributes       | user_ocid [*required*]        | string   | The OCID of the OCI user used by the Datadog integration for authentication.                                                         |
| data             | id [*required*]               | string   | The OCID of the OCI tenancy to configure.                                                                                            |
| data             | type [*required*]             | enum     | OCI tenancy resource type. Allowed enum values: `oci_tenancy`. Default: `oci_tenancy`.                                               |
{% /tab %}

{% tab label="Example" %}
```json
{
  "data": {
    "attributes": {
      "auth_credentials": {
        "fingerprint": "string",
        "private_key": ""
      },
      "config_version": "integer",
      "cost_collection_enabled": false,
      "dd_compartment_id": "string",
      "dd_stack_id": "string",
      "home_region": "",
      "logs_config": {
        "compartment_tag_filters": [],
        "enabled": false,
        "enabled_services": []
      },
      "metrics_config": {
        "compartment_tag_filters": [],
        "enabled": false,
        "excluded_services": []
      },
      "regions_config": {
        "available": [],
        "disabled": [],
        "enabled": []
      },
      "resource_collection_enabled": false,
      "user_ocid": ""
    },
    "id": "",
    "type": "oci_tenancy"
  }
}
```
{% /tab %}
{% /tabs %}

### Response

{% tabs %}
{% tab label="201" %}
Created

{% tabs %}
{% tab label="Model" %}
Response containing a single OCI tenancy integration configuration.

| Parent field   | Field                       | Type     | Description                                                                                                                        |
| -------------- | --------------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------- |
|                | data                        | object   | A single OCI tenancy integration configuration resource object containing the tenancy ID, type, and configuration attributes.      |
| data           | attributes                  | object   | Attributes of an OCI tenancy integration configuration, including authentication details, region settings, and collection options. |
| attributes     | billing_plan_id             | int32    | The identifier of the billing plan associated with the OCI tenancy.                                                                |
| attributes     | config_version              | int64    | Version number of the integration the tenancy is integrated with                                                                   |
| attributes     | cost_collection_enabled     | boolean  | Whether cost data collection from OCI is enabled for the tenancy.                                                                  |
| attributes     | dd_compartment_id           | string   | The OCID of the OCI compartment used by the Datadog integration stack.                                                             |
| attributes     | dd_stack_id                 | string   | The OCID of the OCI Resource Manager stack used by the Datadog integration.                                                        |
| attributes     | home_region                 | string   | The home region of the OCI tenancy (for example, us-ashburn-1).                                                                    |
| attributes     | logs_config                 | object   | Log collection configuration for an OCI tenancy, indicating which compartments and services have log collection enabled.           |
| logs_config    | compartment_tag_filters     | [string] | List of compartment tag filters scoping log collection to specific compartments.                                                   |
| logs_config    | enabled                     | boolean  | Whether log collection is enabled for the tenancy.                                                                                 |
| logs_config    | enabled_services            | [string] | List of OCI service names for which log collection is enabled.                                                                     |
| attributes     | metrics_config              | object   | Metrics collection configuration for an OCI tenancy, indicating which compartments and services are included or excluded.          |
| metrics_config | compartment_tag_filters     | [string] | List of compartment tag filters scoping metrics collection to specific compartments.                                               |
| metrics_config | enabled                     | boolean  | Whether metrics collection is enabled for the tenancy.                                                                             |
| metrics_config | excluded_services           | [string] | List of OCI service names excluded from metrics collection.                                                                        |
| attributes     | parent_tenancy_name         | string   | The name of the parent OCI tenancy, if applicable.                                                                                 |
| attributes     | regions_config              | object   | Region configuration for an OCI tenancy, indicating which regions are available, enabled, or disabled for data collection.         |
| regions_config | available                   | [string] | List of OCI regions available for data collection in the tenancy.                                                                  |
| regions_config | disabled                    | [string] | List of OCI regions explicitly disabled for data collection.                                                                       |
| regions_config | enabled                     | [string] | List of OCI regions enabled for data collection.                                                                                   |
| attributes     | resource_collection_enabled | boolean  | Whether resource collection from OCI is enabled for the tenancy.                                                                   |
| attributes     | tenancy_name                | string   | The human-readable name of the OCI tenancy.                                                                                        |
| attributes     | user_ocid                   | string   | The OCID of the OCI user used by the Datadog integration for authentication.                                                       |
| data           | id                          | string   | The OCID of the OCI tenancy.                                                                                                       |
| data           | type [*required*]           | enum     | OCI tenancy resource type. Allowed enum values: `oci_tenancy`. Default: `oci_tenancy`.                                             |
{% /tab %}

{% tab label="Example" %}
```json
{
  "data": {
    "attributes": {
      "config_version": 2,
      "cost_collection_enabled": true,
      "dd_compartment_id": "ocid.compartment.test",
      "dd_stack_id": "ocid.stack.test",
      "home_region": "us-ashburn-1",
      "logs_config": {
        "compartment_tag_filters": [
          "compartment.test"
        ],
        "enabled": true,
        "enabled_services": [
          "compute"
        ]
      },
      "metrics_config": {
        "compartment_tag_filters": [
          "compartment.test"
        ],
        "enabled": true,
        "excluded_services": [
          "compute"
        ]
      },
      "regions_config": {
        "available": [
          "us-ashburn-1",
          "us-phoenix-1"
        ],
        "disabled": [
          "us-phoenix-1"
        ],
        "enabled": [
          "us-ashburn-1"
        ]
      },
      "resource_collection_enabled": true,
      "user_ocid": "ocid.user.test"
    },
    "id": "ocid.tenancy.test",
    "type": "oci_tenancy"
  }
}
```
{% /tab %}
{% /tabs %}
{% /tab %}

{% tab label="429" %}
Too many requests

{% tabs %}
{% tab label="Model" %}
API error response.

| Field               | Type     | Description       |
| ------------------- | -------- | ----------------- |
| errors [*required*] | [string] | A list of errors. |
{% /tab %}

{% tab label="Example" %}
```json
{
  "errors": [
    "Bad Request"
  ]
}
```
{% /tab %}
{% /tabs %}
{% /tab %}
{% /tabs %}

### Code Example

{% tabs %}
{% tab label="Curl" %}
```bash
# Set your Datadog site and credentials
export DD_SITE="datadoghq.com" # Or us3.datadoghq.com, us5.datadoghq.com, datadoghq.eu, ap1.datadoghq.com, ap2.datadoghq.com, uk1.datadoghq.com, ddog-gov.com, us2.ddog-gov.com
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"

curl -X POST "https://api.${DD_SITE}/api/v2/integration/oci/tenancies" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-d @- << EOF
{
  "data": {
    "attributes": {
      "auth_credentials": {
        "fingerprint": "",
        "private_key": "<PRIVATE_KEY>"
      },
      "cost_collection_enabled": true,
      "dd_compartment_id": "ocid.compartment.test",
      "dd_stack_id": "ocid.stack.test",
      "home_region": "us-ashburn-1",
      "logs_config": {
        "compartment_tag_filters": [
          "datadog:true",
          "env:prod"
        ],
        "enabled": true,
        "enabled_services": [
          "service_1",
          "service_2"
        ]
      },
      "metrics_config": {
        "compartment_tag_filters": [
          "datadog:true",
          "env:prod"
        ],
        "enabled": true,
        "excluded_services": [
          "service_1",
          "service_2"
        ]
      },
      "regions_config": {
        "available": [
          "us-ashburn-1",
          "us-phoenix-1"
        ],
        "disabled": [
          "us-phoenix-1"
        ],
        "enabled": [
          "us-ashburn-1"
        ]
      },
      "resource_collection_enabled": true,
      "user_ocid": "ocid.user.test"
    },
    "id": "ocid.tenancy.test",
    "type": "oci_tenancy"
  }
}
EOF
```
{% /tab %}

{% tab label="Go" %}
```go
// Create tenancy config returns "Created" response

package main

import (
	"context"
	"encoding/json"
	"fmt"
	"os"

	"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
	"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
)

func main() {
	body := datadogV2.CreateTenancyConfigRequest{
		Data: datadogV2.CreateTenancyConfigData{
			Attributes: &datadogV2.CreateTenancyConfigDataAttributes{
				AuthCredentials: datadogV2.CreateTenancyConfigDataAttributesAuthCredentials{
					Fingerprint: datadog.PtrString(""),
					PrivateKey: `----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCdvSMmlfLyeD4M
QsA3WlrWBqKdWa5eVV3/uODyqT3wWMEMIJHcG3/quNs8nh9xrK1/JkQT2qoKEHqR
C5k59jN6Vp8em8ARJthMgam9K37ELt+IQ/G8ySTSuqZG8T4cHp/cs3fAclNqttOl
YnGr4RbVAgMBAAECggEAGZNLGbyCUbIRTW6Kh4d8ZVC+eZtJMqGmGJ3KfVaW8Pjn
QGWfSuJCEe2o2Y8G3phlidFauICnZ44enXA17Rhi+I/whnr7FIyQk2bR7rv+1Uhc
mOJygWX5eFFMsledgVAdIAl9Luk2nykx7Un3g6rtbl/Vs+5k4m7ITLFMpCHzsJLU
nm8kBzDOqY2JUkMd08nL88KL6QywWtal05UESzQpNFXd0e5kxYfexeMCsLsWP0mc
quMLRbn7NuBjCbe9VU2kmIvcfDDaWjurT7d5m1OXx1cc8p6P4PFZTVyCjdhiWOr3
LQXZ4/vdZNR3zgEHypRoM6D9Yq99LWUOUEMrdiSLQQKBgQDQkh7C1OtAXnpy7F6R
W+/I3zBHici2p7A57UT7VECQ1IVGg37/uus83DkuOtdZ33JmHLAVrwLFJvUlbyjx
l6dc/1ms40L5HFdLgaVtd4k0rSPFeOSDr6evz0lX4yBuzlP0fEh+o3XHW7mwe2G+
rWCULF/Uqza66fjbCSKMNgLIXQKBgQDBm9nZg/s4S0THWCFNWcB1tXBG0p/sH5eY
PC1H/VmTEINIixStrS4ufczf31X8rcoSjSbO7+vZDTTATdk7OLn1I2uGFVYl8M59
86BYT2Hi7cwp7YVzOc/cJigVeBAqSRW/iYYyWBEUTiW1gbkV0sRWwhPp67m+c0sP
XpY/iEZA2QKBgB1w8tynt4l/jKNaUEMOijt9ndALWATIiOy0XG9pxi9rgGCiwTOS
DBCsOXoYHjv2eayGUijNaoOv6xzcoxfvQ1WySdNIxTRq1ru20kYwgHKqGgmO9hrM
mcwMY5r/WZ2qjFlPjeAqbL62aPDLidGjoaVo2iIoBPK/gjxQ/5f0MS4N/YQ0zWoYBueSQ0DGs
-----END PRIVATE KEY-----`,
				},
				ConfigVersion:         *datadog.NewNullableInt64(nil),
				CostCollectionEnabled: datadog.PtrBool(true),
				DdCompartmentId:       datadog.PtrString("ocid.compartment.test"),
				DdStackId:             datadog.PtrString("ocid.stack.test"),
				HomeRegion:            "us-ashburn-1",
				LogsConfig: &datadogV2.CreateTenancyConfigDataAttributesLogsConfig{
					CompartmentTagFilters: []string{
						"datadog:true",
						"env:prod",
					},
					Enabled: datadog.PtrBool(true),
					EnabledServices: []string{
						"service_1",
						"service_2",
					},
				},
				MetricsConfig: &datadogV2.CreateTenancyConfigDataAttributesMetricsConfig{
					CompartmentTagFilters: []string{
						"datadog:true",
						"env:prod",
					},
					Enabled: datadog.PtrBool(true),
					ExcludedServices: []string{
						"service_1",
						"service_2",
					},
				},
				RegionsConfig: &datadogV2.CreateTenancyConfigDataAttributesRegionsConfig{
					Available: []string{
						"us-ashburn-1",
						"us-phoenix-1",
					},
					Disabled: []string{
						"us-phoenix-1",
					},
					Enabled: []string{
						"us-ashburn-1",
					},
				},
				ResourceCollectionEnabled: datadog.PtrBool(true),
				UserOcid:                  "ocid.user.test",
			},
			Id:   "ocid.tenancy.test",
			Type: datadogV2.UPDATETENANCYCONFIGDATATYPE_OCI_TENANCY,
		},
	}
	ctx := datadog.NewDefaultContext(context.Background())
	ctx = context.WithValue(ctx, datadog.ContextAccessToken, os.Getenv("DD_BEARER_TOKEN"))
	configuration := datadog.NewConfiguration()
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewOCIIntegrationApi(apiClient)
	resp, r, err := api.CreateTenancyConfig(ctx, body)

	if err != nil {
		fmt.Fprintf(os.Stderr, "Error when calling `OCIIntegrationApi.CreateTenancyConfig`: %v\n", err)
		fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
	}

	responseContent, _ := json.MarshalIndent(resp, "", "  ")
	fmt.Fprintf(os.Stdout, "Response from `OCIIntegrationApi.CreateTenancyConfig`:\n%s\n", responseContent)
}
```

#### Instructions

First [install the library and its dependencies](https://dnd37xeb23o8n.cloudfront.net/api/latest.md?code-lang=go) and then save the example to `main.go` and run following commands:

```bash
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"
```
{% /tab %}

{% tab label="Java" %}
```java
// Create tenancy config returns "Created" response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.OciIntegrationApi;
import com.datadog.api.client.v2.model.CreateTenancyConfigData;
import com.datadog.api.client.v2.model.CreateTenancyConfigDataAttributes;
import com.datadog.api.client.v2.model.CreateTenancyConfigDataAttributesAuthCredentials;
import com.datadog.api.client.v2.model.CreateTenancyConfigDataAttributesLogsConfig;
import com.datadog.api.client.v2.model.CreateTenancyConfigDataAttributesMetricsConfig;
import com.datadog.api.client.v2.model.CreateTenancyConfigDataAttributesRegionsConfig;
import com.datadog.api.client.v2.model.CreateTenancyConfigRequest;
import com.datadog.api.client.v2.model.TenancyConfig;
import com.datadog.api.client.v2.model.UpdateTenancyConfigDataType;
import java.util.Arrays;
import java.util.Collections;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    defaultClient.setAccessToken(System.getenv("DD_BEARER_TOKEN"));
    OciIntegrationApi apiInstance = new OciIntegrationApi(defaultClient);

    CreateTenancyConfigRequest body =
        new CreateTenancyConfigRequest()
            .data(
                new CreateTenancyConfigData()
                    .attributes(
                        new CreateTenancyConfigDataAttributes()
                            .authCredentials(
                                new CreateTenancyConfigDataAttributesAuthCredentials()
                                    .fingerprint("")
                                    .privateKey(
                                        """
----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCdvSMmlfLyeD4M
QsA3WlrWBqKdWa5eVV3/uODyqT3wWMEMIJHcG3/quNs8nh9xrK1/JkQT2qoKEHqR
C5k59jN6Vp8em8ARJthMgam9K37ELt+IQ/G8ySTSuqZG8T4cHp/cs3fAclNqttOl
YnGr4RbVAgMBAAECggEAGZNLGbyCUbIRTW6Kh4d8ZVC+eZtJMqGmGJ3KfVaW8Pjn
QGWfSuJCEe2o2Y8G3phlidFauICnZ44enXA17Rhi+I/whnr7FIyQk2bR7rv+1Uhc
mOJygWX5eFFMsledgVAdIAl9Luk2nykx7Un3g6rtbl/Vs+5k4m7ITLFMpCHzsJLU
nm8kBzDOqY2JUkMd08nL88KL6QywWtal05UESzQpNFXd0e5kxYfexeMCsLsWP0mc
quMLRbn7NuBjCbe9VU2kmIvcfDDaWjurT7d5m1OXx1cc8p6P4PFZTVyCjdhiWOr3
LQXZ4/vdZNR3zgEHypRoM6D9Yq99LWUOUEMrdiSLQQKBgQDQkh7C1OtAXnpy7F6R
W+/I3zBHici2p7A57UT7VECQ1IVGg37/uus83DkuOtdZ33JmHLAVrwLFJvUlbyjx
l6dc/1ms40L5HFdLgaVtd4k0rSPFeOSDr6evz0lX4yBuzlP0fEh+o3XHW7mwe2G+
rWCULF/Uqza66fjbCSKMNgLIXQKBgQDBm9nZg/s4S0THWCFNWcB1tXBG0p/sH5eY
PC1H/VmTEINIixStrS4ufczf31X8rcoSjSbO7+vZDTTATdk7OLn1I2uGFVYl8M59
86BYT2Hi7cwp7YVzOc/cJigVeBAqSRW/iYYyWBEUTiW1gbkV0sRWwhPp67m+c0sP
XpY/iEZA2QKBgB1w8tynt4l/jKNaUEMOijt9ndALWATIiOy0XG9pxi9rgGCiwTOS
DBCsOXoYHjv2eayGUijNaoOv6xzcoxfvQ1WySdNIxTRq1ru20kYwgHKqGgmO9hrM
mcwMY5r/WZ2qjFlPjeAqbL62aPDLidGjoaVo2iIoBPK/gjxQ/5f0MS4N/YQ0zWoYBueSQ0DGs
-----END PRIVATE KEY-----
"""))
                            .configVersion(null)
                            .costCollectionEnabled(true)
                            .ddCompartmentId("ocid.compartment.test")
                            .ddStackId("ocid.stack.test")
                            .homeRegion("us-ashburn-1")
                            .logsConfig(
                                new CreateTenancyConfigDataAttributesLogsConfig()
                                    .compartmentTagFilters(
                                        Arrays.asList("datadog:true", "env:prod"))
                                    .enabled(true)
                                    .enabledServices(Arrays.asList("service_1", "service_2")))
                            .metricsConfig(
                                new CreateTenancyConfigDataAttributesMetricsConfig()
                                    .compartmentTagFilters(
                                        Arrays.asList("datadog:true", "env:prod"))
                                    .enabled(true)
                                    .excludedServices(Arrays.asList("service_1", "service_2")))
                            .regionsConfig(
                                new CreateTenancyConfigDataAttributesRegionsConfig()
                                    .available(Arrays.asList("us-ashburn-1", "us-phoenix-1"))
                                    .disabled(Collections.singletonList("us-phoenix-1"))
                                    .enabled(Collections.singletonList("us-ashburn-1")))
                            .resourceCollectionEnabled(true)
                            .userOcid("ocid.user.test"))
                    .id("ocid.tenancy.test")
                    .type(UpdateTenancyConfigDataType.OCI_TENANCY));

    try {
      TenancyConfig result = apiInstance.createTenancyConfig(body);
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling OciIntegrationApi#createTenancyConfig");
      System.err.println("Status code: " + e.getCode());
      System.err.println("Reason: " + e.getResponseBody());
      System.err.println("Response headers: " + e.getResponseHeaders());
      e.printStackTrace();
    }
  }
}
```

#### Instructions

First [install the library and its dependencies](https://dnd37xeb23o8n.cloudfront.net/api/latest.md?code-lang=java) and then save the example to `Example.java` and run following commands:

```bash
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"
```
{% /tab %}

{% tab label="Python" %}
```python
"""
Create tenancy config returns "Created" response
"""

from os import environ
from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.oci_integration_api import OCIIntegrationApi
from datadog_api_client.v2.model.create_tenancy_config_data import CreateTenancyConfigData
from datadog_api_client.v2.model.create_tenancy_config_data_attributes import CreateTenancyConfigDataAttributes
from datadog_api_client.v2.model.create_tenancy_config_data_attributes_auth_credentials import (
    CreateTenancyConfigDataAttributesAuthCredentials,
)
from datadog_api_client.v2.model.create_tenancy_config_data_attributes_logs_config import (
    CreateTenancyConfigDataAttributesLogsConfig,
)
from datadog_api_client.v2.model.create_tenancy_config_data_attributes_metrics_config import (
    CreateTenancyConfigDataAttributesMetricsConfig,
)
from datadog_api_client.v2.model.create_tenancy_config_data_attributes_regions_config import (
    CreateTenancyConfigDataAttributesRegionsConfig,
)
from datadog_api_client.v2.model.create_tenancy_config_request import CreateTenancyConfigRequest
from datadog_api_client.v2.model.update_tenancy_config_data_type import UpdateTenancyConfigDataType

body = CreateTenancyConfigRequest(
    data=CreateTenancyConfigData(
        attributes=CreateTenancyConfigDataAttributes(
            auth_credentials=CreateTenancyConfigDataAttributesAuthCredentials(
                fingerprint="",
                private_key="----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCdvSMmlfLyeD4M\nQsA3WlrWBqKdWa5eVV3/uODyqT3wWMEMIJHcG3/quNs8nh9xrK1/JkQT2qoKEHqR\nC5k59jN6Vp8em8ARJthMgam9K37ELt+IQ/G8ySTSuqZG8T4cHp/cs3fAclNqttOl\nYnGr4RbVAgMBAAECggEAGZNLGbyCUbIRTW6Kh4d8ZVC+eZtJMqGmGJ3KfVaW8Pjn\nQGWfSuJCEe2o2Y8G3phlidFauICnZ44enXA17Rhi+I/whnr7FIyQk2bR7rv+1Uhc\nmOJygWX5eFFMsledgVAdIAl9Luk2nykx7Un3g6rtbl/Vs+5k4m7ITLFMpCHzsJLU\nnm8kBzDOqY2JUkMd08nL88KL6QywWtal05UESzQpNFXd0e5kxYfexeMCsLsWP0mc\nquMLRbn7NuBjCbe9VU2kmIvcfDDaWjurT7d5m1OXx1cc8p6P4PFZTVyCjdhiWOr3\nLQXZ4/vdZNR3zgEHypRoM6D9Yq99LWUOUEMrdiSLQQKBgQDQkh7C1OtAXnpy7F6R\nW+/I3zBHici2p7A57UT7VECQ1IVGg37/uus83DkuOtdZ33JmHLAVrwLFJvUlbyjx\nl6dc/1ms40L5HFdLgaVtd4k0rSPFeOSDr6evz0lX4yBuzlP0fEh+o3XHW7mwe2G+\nrWCULF/Uqza66fjbCSKMNgLIXQKBgQDBm9nZg/s4S0THWCFNWcB1tXBG0p/sH5eY\nPC1H/VmTEINIixStrS4ufczf31X8rcoSjSbO7+vZDTTATdk7OLn1I2uGFVYl8M59\n86BYT2Hi7cwp7YVzOc/cJigVeBAqSRW/iYYyWBEUTiW1gbkV0sRWwhPp67m+c0sP\nXpY/iEZA2QKBgB1w8tynt4l/jKNaUEMOijt9ndALWATIiOy0XG9pxi9rgGCiwTOS\nDBCsOXoYHjv2eayGUijNaoOv6xzcoxfvQ1WySdNIxTRq1ru20kYwgHKqGgmO9hrM\nmcwMY5r/WZ2qjFlPjeAqbL62aPDLidGjoaVo2iIoBPK/gjxQ/5f0MS4N/YQ0zWoYBueSQ0DGs\n-----END PRIVATE KEY-----",
            ),
            config_version=None,
            cost_collection_enabled=True,
            dd_compartment_id="ocid.compartment.test",
            dd_stack_id="ocid.stack.test",
            home_region="us-ashburn-1",
            logs_config=CreateTenancyConfigDataAttributesLogsConfig(
                compartment_tag_filters=[
                    "datadog:true",
                    "env:prod",
                ],
                enabled=True,
                enabled_services=[
                    "service_1",
                    "service_2",
                ],
            ),
            metrics_config=CreateTenancyConfigDataAttributesMetricsConfig(
                compartment_tag_filters=[
                    "datadog:true",
                    "env:prod",
                ],
                enabled=True,
                excluded_services=[
                    "service_1",
                    "service_2",
                ],
            ),
            regions_config=CreateTenancyConfigDataAttributesRegionsConfig(
                available=[
                    "us-ashburn-1",
                    "us-phoenix-1",
                ],
                disabled=[
                    "us-phoenix-1",
                ],
                enabled=[
                    "us-ashburn-1",
                ],
            ),
            resource_collection_enabled=True,
            user_ocid="ocid.user.test",
        ),
        id="ocid.tenancy.test",
        type=UpdateTenancyConfigDataType.OCI_TENANCY,
    ),
)

configuration = Configuration()
configuration.access_token = environ["DD_BEARER_TOKEN"]
with ApiClient(configuration) as api_client:
    api_instance = OCIIntegrationApi(api_client)
    response = api_instance.create_tenancy_config(body=body)

    print(response)
```

#### Instructions

First [install the library and its dependencies](https://dnd37xeb23o8n.cloudfront.net/api/latest.md?code-lang=python) and then save the example to `example.py` and run following commands:

```bash
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"
```
{% /tab %}

{% tab label="Ruby" %}
```ruby
# Create tenancy config returns "Created" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
  config.access_token = ENV["DD_BEARER_TOKEN"]
end
api_instance = DatadogAPIClient::V2::OCIIntegrationAPI.new

body = DatadogAPIClient::V2::CreateTenancyConfigRequest.new({
  data: DatadogAPIClient::V2::CreateTenancyConfigData.new({
    attributes: DatadogAPIClient::V2::CreateTenancyConfigDataAttributes.new({
      auth_credentials: DatadogAPIClient::V2::CreateTenancyConfigDataAttributesAuthCredentials.new({
        fingerprint: "",
        private_key: '----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCdvSMmlfLyeD4M\nQsA3WlrWBqKdWa5eVV3/uODyqT3wWMEMIJHcG3/quNs8nh9xrK1/JkQT2qoKEHqR\nC5k59jN6Vp8em8ARJthMgam9K37ELt+IQ/G8ySTSuqZG8T4cHp/cs3fAclNqttOl\nYnGr4RbVAgMBAAECggEAGZNLGbyCUbIRTW6Kh4d8ZVC+eZtJMqGmGJ3KfVaW8Pjn\nQGWfSuJCEe2o2Y8G3phlidFauICnZ44enXA17Rhi+I/whnr7FIyQk2bR7rv+1Uhc\nmOJygWX5eFFMsledgVAdIAl9Luk2nykx7Un3g6rtbl/Vs+5k4m7ITLFMpCHzsJLU\nnm8kBzDOqY2JUkMd08nL88KL6QywWtal05UESzQpNFXd0e5kxYfexeMCsLsWP0mc\nquMLRbn7NuBjCbe9VU2kmIvcfDDaWjurT7d5m1OXx1cc8p6P4PFZTVyCjdhiWOr3\nLQXZ4/vdZNR3zgEHypRoM6D9Yq99LWUOUEMrdiSLQQKBgQDQkh7C1OtAXnpy7F6R\nW+/I3zBHici2p7A57UT7VECQ1IVGg37/uus83DkuOtdZ33JmHLAVrwLFJvUlbyjx\nl6dc/1ms40L5HFdLgaVtd4k0rSPFeOSDr6evz0lX4yBuzlP0fEh+o3XHW7mwe2G+\nrWCULF/Uqza66fjbCSKMNgLIXQKBgQDBm9nZg/s4S0THWCFNWcB1tXBG0p/sH5eY\nPC1H/VmTEINIixStrS4ufczf31X8rcoSjSbO7+vZDTTATdk7OLn1I2uGFVYl8M59\n86BYT2Hi7cwp7YVzOc/cJigVeBAqSRW/iYYyWBEUTiW1gbkV0sRWwhPp67m+c0sP\nXpY/iEZA2QKBgB1w8tynt4l/jKNaUEMOijt9ndALWATIiOy0XG9pxi9rgGCiwTOS\nDBCsOXoYHjv2eayGUijNaoOv6xzcoxfvQ1WySdNIxTRq1ru20kYwgHKqGgmO9hrM\nmcwMY5r/WZ2qjFlPjeAqbL62aPDLidGjoaVo2iIoBPK/gjxQ/5f0MS4N/YQ0zWoYBueSQ0DGs\n-----END PRIVATE KEY-----',
      }),
      config_version: nil,
      cost_collection_enabled: true,
      dd_compartment_id: "ocid.compartment.test",
      dd_stack_id: "ocid.stack.test",
      home_region: "us-ashburn-1",
      logs_config: DatadogAPIClient::V2::CreateTenancyConfigDataAttributesLogsConfig.new({
        compartment_tag_filters: [
          "datadog:true",
          "env:prod",
        ],
        enabled: true,
        enabled_services: [
          "service_1",
          "service_2",
        ],
      }),
      metrics_config: DatadogAPIClient::V2::CreateTenancyConfigDataAttributesMetricsConfig.new({
        compartment_tag_filters: [
          "datadog:true",
          "env:prod",
        ],
        enabled: true,
        excluded_services: [
          "service_1",
          "service_2",
        ],
      }),
      regions_config: DatadogAPIClient::V2::CreateTenancyConfigDataAttributesRegionsConfig.new({
        available: [
          "us-ashburn-1",
          "us-phoenix-1",
        ],
        disabled: [
          "us-phoenix-1",
        ],
        enabled: [
          "us-ashburn-1",
        ],
      }),
      resource_collection_enabled: true,
      user_ocid: "ocid.user.test",
    }),
    id: "ocid.tenancy.test",
    type: DatadogAPIClient::V2::UpdateTenancyConfigDataType::OCI_TENANCY,
  }),
})
p api_instance.create_tenancy_config(body)
```

#### Instructions

First [install the library and its dependencies](https://dnd37xeb23o8n.cloudfront.net/api/latest.md?code-lang=ruby) and then save the example to `example.rb` and run following commands:

```bash
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"
```
{% /tab %}

{% tab label="Rust" %}
```rust
// Create tenancy config returns "Created" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_oci_integration::OCIIntegrationAPI;
use datadog_api_client::datadogV2::model::CreateTenancyConfigData;
use datadog_api_client::datadogV2::model::CreateTenancyConfigDataAttributes;
use datadog_api_client::datadogV2::model::CreateTenancyConfigDataAttributesAuthCredentials;
use datadog_api_client::datadogV2::model::CreateTenancyConfigDataAttributesLogsConfig;
use datadog_api_client::datadogV2::model::CreateTenancyConfigDataAttributesMetricsConfig;
use datadog_api_client::datadogV2::model::CreateTenancyConfigDataAttributesRegionsConfig;
use datadog_api_client::datadogV2::model::CreateTenancyConfigRequest;
use datadog_api_client::datadogV2::model::UpdateTenancyConfigDataType;

#[tokio::main]
async fn main() {
    let body = CreateTenancyConfigRequest::new(
        CreateTenancyConfigData::new(
            "ocid.tenancy.test".to_string(),
            UpdateTenancyConfigDataType::OCI_TENANCY,
        )
        .attributes(
            CreateTenancyConfigDataAttributes::new(
                CreateTenancyConfigDataAttributesAuthCredentials::new(
                    r#"----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCdvSMmlfLyeD4M
QsA3WlrWBqKdWa5eVV3/uODyqT3wWMEMIJHcG3/quNs8nh9xrK1/JkQT2qoKEHqR
C5k59jN6Vp8em8ARJthMgam9K37ELt+IQ/G8ySTSuqZG8T4cHp/cs3fAclNqttOl
YnGr4RbVAgMBAAECggEAGZNLGbyCUbIRTW6Kh4d8ZVC+eZtJMqGmGJ3KfVaW8Pjn
QGWfSuJCEe2o2Y8G3phlidFauICnZ44enXA17Rhi+I/whnr7FIyQk2bR7rv+1Uhc
mOJygWX5eFFMsledgVAdIAl9Luk2nykx7Un3g6rtbl/Vs+5k4m7ITLFMpCHzsJLU
nm8kBzDOqY2JUkMd08nL88KL6QywWtal05UESzQpNFXd0e5kxYfexeMCsLsWP0mc
quMLRbn7NuBjCbe9VU2kmIvcfDDaWjurT7d5m1OXx1cc8p6P4PFZTVyCjdhiWOr3
LQXZ4/vdZNR3zgEHypRoM6D9Yq99LWUOUEMrdiSLQQKBgQDQkh7C1OtAXnpy7F6R
W+/I3zBHici2p7A57UT7VECQ1IVGg37/uus83DkuOtdZ33JmHLAVrwLFJvUlbyjx
l6dc/1ms40L5HFdLgaVtd4k0rSPFeOSDr6evz0lX4yBuzlP0fEh+o3XHW7mwe2G+
rWCULF/Uqza66fjbCSKMNgLIXQKBgQDBm9nZg/s4S0THWCFNWcB1tXBG0p/sH5eY
PC1H/VmTEINIixStrS4ufczf31X8rcoSjSbO7+vZDTTATdk7OLn1I2uGFVYl8M59
86BYT2Hi7cwp7YVzOc/cJigVeBAqSRW/iYYyWBEUTiW1gbkV0sRWwhPp67m+c0sP
XpY/iEZA2QKBgB1w8tynt4l/jKNaUEMOijt9ndALWATIiOy0XG9pxi9rgGCiwTOS
DBCsOXoYHjv2eayGUijNaoOv6xzcoxfvQ1WySdNIxTRq1ru20kYwgHKqGgmO9hrM
mcwMY5r/WZ2qjFlPjeAqbL62aPDLidGjoaVo2iIoBPK/gjxQ/5f0MS4N/YQ0zWoYBueSQ0DGs
-----END PRIVATE KEY-----"#
                        .to_string(),
                )
                .fingerprint("".to_string()),
                "us-ashburn-1".to_string(),
                "ocid.user.test".to_string(),
            )
            .config_version(None)
            .cost_collection_enabled(true)
            .dd_compartment_id("ocid.compartment.test".to_string())
            .dd_stack_id("ocid.stack.test".to_string())
            .logs_config(
                CreateTenancyConfigDataAttributesLogsConfig::new()
                    .compartment_tag_filters(vec![
                        "datadog:true".to_string(),
                        "env:prod".to_string(),
                    ])
                    .enabled(true)
                    .enabled_services(vec!["service_1".to_string(), "service_2".to_string()]),
            )
            .metrics_config(
                CreateTenancyConfigDataAttributesMetricsConfig::new()
                    .compartment_tag_filters(vec![
                        "datadog:true".to_string(),
                        "env:prod".to_string(),
                    ])
                    .enabled(true)
                    .excluded_services(vec!["service_1".to_string(), "service_2".to_string()]),
            )
            .regions_config(
                CreateTenancyConfigDataAttributesRegionsConfig::new()
                    .available(vec!["us-ashburn-1".to_string(), "us-phoenix-1".to_string()])
                    .disabled(vec!["us-phoenix-1".to_string()])
                    .enabled(vec!["us-ashburn-1".to_string()]),
            )
            .resource_collection_enabled(true),
        ),
    );
    let configuration = datadog::Configuration::new();
    let api = OCIIntegrationAPI::with_config(configuration);
    let resp = api.create_tenancy_config(body).await;
    if let Ok(value) = resp {
        println!("{:#?}", value);
    } else {
        println!("{:#?}", resp.unwrap_err());
    }
}
```

#### Instructions

First [install the library and its dependencies](https://dnd37xeb23o8n.cloudfront.net/api/latest.md?code-lang=rust) and then save the example to `src/main.rs` and run following commands:

```bash
DD_SITE="datadoghq.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run
```
{% /tab %}

{% tab label="TypeScript" %}
```typescript
/**
 * Create tenancy config returns "Created" response
 */

import { client, v2 } from "@datadog/datadog-api-client";

const configuration = client.createConfiguration({
  authMethods: {
    AuthZ: {
      accessToken: process.env.DD_BEARER_TOKEN as string,
    },
  },
});
const apiInstance = new v2.OCIIntegrationApi(configuration);

const params: v2.OCIIntegrationApiCreateTenancyConfigRequest = {
  body: {
    data: {
      attributes: {
        authCredentials: {
          fingerprint: "",
          privateKey:
            "----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCdvSMmlfLyeD4M\nQsA3WlrWBqKdWa5eVV3/uODyqT3wWMEMIJHcG3/quNs8nh9xrK1/JkQT2qoKEHqR\nC5k59jN6Vp8em8ARJthMgam9K37ELt+IQ/G8ySTSuqZG8T4cHp/cs3fAclNqttOl\nYnGr4RbVAgMBAAECggEAGZNLGbyCUbIRTW6Kh4d8ZVC+eZtJMqGmGJ3KfVaW8Pjn\nQGWfSuJCEe2o2Y8G3phlidFauICnZ44enXA17Rhi+I/whnr7FIyQk2bR7rv+1Uhc\nmOJygWX5eFFMsledgVAdIAl9Luk2nykx7Un3g6rtbl/Vs+5k4m7ITLFMpCHzsJLU\nnm8kBzDOqY2JUkMd08nL88KL6QywWtal05UESzQpNFXd0e5kxYfexeMCsLsWP0mc\nquMLRbn7NuBjCbe9VU2kmIvcfDDaWjurT7d5m1OXx1cc8p6P4PFZTVyCjdhiWOr3\nLQXZ4/vdZNR3zgEHypRoM6D9Yq99LWUOUEMrdiSLQQKBgQDQkh7C1OtAXnpy7F6R\nW+/I3zBHici2p7A57UT7VECQ1IVGg37/uus83DkuOtdZ33JmHLAVrwLFJvUlbyjx\nl6dc/1ms40L5HFdLgaVtd4k0rSPFeOSDr6evz0lX4yBuzlP0fEh+o3XHW7mwe2G+\nrWCULF/Uqza66fjbCSKMNgLIXQKBgQDBm9nZg/s4S0THWCFNWcB1tXBG0p/sH5eY\nPC1H/VmTEINIixStrS4ufczf31X8rcoSjSbO7+vZDTTATdk7OLn1I2uGFVYl8M59\n86BYT2Hi7cwp7YVzOc/cJigVeBAqSRW/iYYyWBEUTiW1gbkV0sRWwhPp67m+c0sP\nXpY/iEZA2QKBgB1w8tynt4l/jKNaUEMOijt9ndALWATIiOy0XG9pxi9rgGCiwTOS\nDBCsOXoYHjv2eayGUijNaoOv6xzcoxfvQ1WySdNIxTRq1ru20kYwgHKqGgmO9hrM\nmcwMY5r/WZ2qjFlPjeAqbL62aPDLidGjoaVo2iIoBPK/gjxQ/5f0MS4N/YQ0zWoYBueSQ0DGs\n-----END PRIVATE KEY-----",
        },
        configVersion: undefined,
        costCollectionEnabled: true,
        ddCompartmentId: "ocid.compartment.test",
        ddStackId: "ocid.stack.test",
        homeRegion: "us-ashburn-1",
        logsConfig: {
          compartmentTagFilters: ["datadog:true", "env:prod"],
          enabled: true,
          enabledServices: ["service_1", "service_2"],
        },
        metricsConfig: {
          compartmentTagFilters: ["datadog:true", "env:prod"],
          enabled: true,
          excludedServices: ["service_1", "service_2"],
        },
        regionsConfig: {
          available: ["us-ashburn-1", "us-phoenix-1"],
          disabled: ["us-phoenix-1"],
          enabled: ["us-ashburn-1"],
        },
        resourceCollectionEnabled: true,
        userOcid: "ocid.user.test",
      },
      id: "ocid.tenancy.test",
      type: "oci_tenancy",
    },
  },
};

apiInstance
  .createTenancyConfig(params)
  .then((data: v2.TenancyConfig) => {
    console.log(
      "API called successfully. Returned data: " + JSON.stringify(data)
    );
  })
  .catch((error: any) => console.error(error));
```

#### Instructions

First [install the library and its dependencies](https://dnd37xeb23o8n.cloudfront.net/api/latest.md?code-lang=typescript) and then save the example to `example.ts` and run following commands:

```bash
DD_SITE="datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"
```
{% /tab %}
{% /tabs %}
