Create tag pipeline ruleset

POST https://api.ap1.datadoghq.com/api/v2/tags/enrichmenthttps://api.ap2.datadoghq.com/api/v2/tags/enrichmenthttps://api.datadoghq.eu/api/v2/tags/enrichmenthttps://api.ddog-gov.com/api/v2/tags/enrichmenthttps://api.us2.ddog-gov.com/api/v2/tags/enrichmenthttps://api.datadoghq.com/api/v2/tags/enrichmenthttps://api.us3.datadoghq.com/api/v2/tags/enrichmenthttps://api.us5.datadoghq.com/api/v2/tags/enrichment

Overview

Create a new tag pipeline ruleset with the specified rules and configuration

OAuth apps require the cloud_cost_management_write authorization scope to access this endpoint.

Request

Body Data (required)

Expand All

Field

Type

Description

data

object

The definition of CreateRulesetRequestData object.

attributes

object

The definition of CreateRulesetRequestDataAttributes object.

enabled

boolean

The attributes enabled.

rules [required]

[object]

The attributes rules.

enabled [required]

boolean

The items enabled.

mapping

object

The definition of DataAttributesRulesItemsMapping object.

destination_key [required]

string

The mapping destination_key.

if_not_exists

boolean

DEPRECATED: Deprecated. Use if_tag_exists instead. The mapping if_not_exists.

if_tag_exists

enum

The behavior when the tag already exists. Allowed enum values: append,do_not_apply,replace

source_keys [required]

[string]

The mapping source_keys.

metadata

object

The items metadata.

<any-key>

string

name [required]

string

The items name.

query

object

The definition of CreateRulesetRequestDataAttributesRulesItemsQuery object.

addition [required]

object

The definition of CreateRulesetRequestDataAttributesRulesItemsQueryAddition object.

key [required]

string

The addition key.

value [required]

string

The addition value.

case_insensitivity

boolean

The query case_insensitivity.

if_not_exists

boolean

DEPRECATED: Deprecated. Use if_tag_exists instead. The query if_not_exists.

if_tag_exists

enum

The behavior when the tag already exists. Allowed enum values: append,do_not_apply,replace

query [required]

string

The query query.

reference_table

object

The definition of CreateRulesetRequestDataAttributesRulesItemsReferenceTable object.

case_insensitivity

boolean

The reference_table case_insensitivity.

field_pairs [required]

[object]

The reference_table field_pairs.

input_column [required]

string

The items input_column.

output_key [required]

string

The items output_key.

if_not_exists

boolean

DEPRECATED: Deprecated. Use if_tag_exists instead. The reference_table if_not_exists.

if_tag_exists

enum

The behavior when the tag already exists. Allowed enum values: append,do_not_apply,replace

source_keys [required]

[string]

The reference_table source_keys.

table_name [required]

string

The reference_table table_name.

id

string

The CreateRulesetRequestData id.

type [required]

enum

Create ruleset resource type. Allowed enum values: create_ruleset

default: create_ruleset

{
  "data": {
    "attributes": {
      "enabled": true,
      "rules": [
        {
          "enabled": true,
          "mapping": null,
          "name": "Add Cost Center Tag",
          "query": {
            "addition": {
              "key": "cost_center",
              "value": "engineering"
            },
            "case_insensitivity": false,
            "if_not_exists": true,
            "query": "account_id:\"123456789\" AND service:\"web-api\""
          },
          "reference_table": null
        }
      ]
    },
    "id": "New Ruleset",
    "type": "create_ruleset"
  }
}
{
  "data": {
    "attributes": {
      "enabled": true,
      "rules": [
        {
          "enabled": true,
          "mapping": null,
          "name": "Add Cost Center Tag",
          "query": {
            "addition": {
              "key": "cost_center",
              "value": "engineering"
            },
            "case_insensitivity": false,
            "if_tag_exists": "replace",
            "query": "account_id:\"123456789\" AND service:\"web-api\""
          },
          "reference_table": null
        }
      ]
    },
    "id": "New Ruleset",
    "type": "create_ruleset"
  }
}

Response

OK

The definition of RulesetResp object.

Expand All

Field

Type

Description

data

object

The definition of RulesetRespData object.

attributes

object

The definition of RulesetRespDataAttributes object.

created [required]

object

The definition of RulesetRespDataAttributesCreated object.

nanos

int32

The created nanos.

seconds

int64

The created seconds.

enabled [required]

boolean

The attributes enabled.

last_modified_user_uuid [required]

string

The attributes last_modified_user_uuid.

modified [required]

object

The definition of RulesetRespDataAttributesModified object.

nanos

int32

The modified nanos.

seconds

int64

The modified seconds.

name [required]

string

The attributes name.

position [required]

int32

The attributes position.

processing_status

string

The attributes processing_status.

rules [required]

[object]

The attributes rules.

enabled [required]

boolean

The items enabled.

mapping

object

The definition of DataAttributesRulesItemsMapping object.

destination_key [required]

string

The mapping destination_key.

if_not_exists

boolean

DEPRECATED: Deprecated. Use if_tag_exists instead. The mapping if_not_exists.

if_tag_exists

enum

The behavior when the tag already exists. Allowed enum values: append,do_not_apply,replace

source_keys [required]

[string]

The mapping source_keys.

metadata

object

The items metadata.

<any-key>

string

name [required]

string

The items name.

query

object

The definition of RulesetRespDataAttributesRulesItemsQuery object.

addition [required]

object

The definition of RulesetRespDataAttributesRulesItemsQueryAddition object.

key [required]

string

The addition key.

value [required]

string

The addition value.

case_insensitivity

boolean

The query case_insensitivity.

if_not_exists

boolean

DEPRECATED: Deprecated. Use if_tag_exists instead. The query if_not_exists.

if_tag_exists

enum

The behavior when the tag already exists. Allowed enum values: append,do_not_apply,replace

query [required]

string

The query query.

reference_table

object

The definition of RulesetRespDataAttributesRulesItemsReferenceTable object.

case_insensitivity

boolean

The reference_table case_insensitivity.

field_pairs [required]

[object]

The reference_table field_pairs.

input_column [required]

string

The items input_column.

output_key [required]

string

The items output_key.

if_not_exists

boolean

DEPRECATED: Deprecated. Use if_tag_exists instead. The reference_table if_not_exists.

if_tag_exists

enum

The behavior when the tag already exists. Allowed enum values: append,do_not_apply,replace

source_keys [required]

[string]

The reference_table source_keys.

table_name [required]

string

The reference_table table_name.

version [required]

int64

The attributes version.

id

string

The RulesetRespData id.

type [required]

enum

Ruleset resource type. Allowed enum values: ruleset

default: ruleset

{
  "data": {
    "attributes": {
      "created": null,
      "enabled": true,
      "last_modified_user_uuid": "",
      "modified": null,
      "name": "Example Ruleset",
      "position": 0,
      "rules": [
        {
          "enabled": false,
          "mapping": null,
          "metadata": null,
          "name": "RC test rule edited1",
          "query": {
            "addition": {
              "key": "abc",
              "value": "ww"
            },
            "case_insensitivity": false,
            "if_tag_exists": "do_not_apply",
            "query": "billingcurrency:\"USD\" AND account_name:\"SZA96462\" AND billingcurrency:\"USD\""
          },
          "reference_table": null
        },
        {
          "enabled": true,
          "mapping": {
            "destination_key": "h",
            "if_tag_exists": "do_not_apply",
            "source_keys": [
              "accountname",
              "accountownerid"
            ]
          },
          "metadata": null,
          "name": "rule with empty source key",
          "query": null,
          "reference_table": null
        },
        {
          "enabled": true,
          "mapping": null,
          "metadata": null,
          "name": "New table rule with new UI",
          "query": null,
          "reference_table": {
            "case_insensitivity": true,
            "field_pairs": [
              {
                "input_column": "status_type",
                "output_key": "status"
              },
              {
                "input_column": "status_description",
                "output_key": "dess"
              }
            ],
            "if_tag_exists": "append",
            "source_keys": [
              "http_status",
              "status_description"
            ],
            "table_name": "http_status_codes"
          }
        }
      ],
      "version": 1
    },
    "id": "12345",
    "type": "ruleset"
  }
}

Too many requests

API error response.

Expand All

Field

Type

Description

errors [required]

[string]

A list of errors.

{
  "errors": [
    "Bad Request"
  ]
}

Code Example

                          ## default
# 

# Curl command
curl -X POST "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.us2.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/tags/enrichment" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \ -d @- << EOF { "data": { "attributes": { "enabled": true, "rules": [ { "enabled": true, "name": "Add Cost Center Tag", "query": { "addition": { "key": "cost_center", "value": "engineering" }, "case_insensitivity": false, "if_tag_exists": "do_not_apply", "query": "account_id:\"123456789\" AND service:\"web-api\"" } } ] }, "id": "New Ruleset", "type": "create_ruleset" } } EOF
                          ## default
# 

# Curl command
curl -X POST "https://api.ap1.datadoghq.com"https://api.ap2.datadoghq.com"https://api.datadoghq.eu"https://api.ddog-gov.com"https://api.us2.ddog-gov.com"https://api.datadoghq.com"https://api.us3.datadoghq.com"https://api.us5.datadoghq.com/api/v2/tags/enrichment" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -H "DD-API-KEY: ${DD_API_KEY}" \ -H "DD-APPLICATION-KEY: ${DD_APP_KEY}" \ -d @- << EOF { "data": { "attributes": { "enabled": true, "rules": [ { "enabled": true, "name": "Add Cost Center Tag", "query": { "addition": { "key": "cost_center", "value": "engineering" }, "case_insensitivity": false, "if_tag_exists": "do_not_apply", "query": "account_id:\"123456789\" AND service:\"web-api\"" } } ] }, "id": "New Ruleset", "type": "create_ruleset" } } EOF
// Create tag pipeline ruleset returns "OK" 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.CreateRulesetRequest{
		Data: &datadogV2.CreateRulesetRequestData{
			Attributes: &datadogV2.CreateRulesetRequestDataAttributes{
				Enabled: datadog.PtrBool(true),
				Rules: []datadogV2.CreateRulesetRequestDataAttributesRulesItems{
					{
						Enabled: true,
						Mapping: *datadogV2.NewNullableDataAttributesRulesItemsMapping(nil),
						Name:    "Add Cost Center Tag",
						Query: *datadogV2.NewNullableCreateRulesetRequestDataAttributesRulesItemsQuery(&datadogV2.CreateRulesetRequestDataAttributesRulesItemsQuery{
							Addition: *datadogV2.NewNullableCreateRulesetRequestDataAttributesRulesItemsQueryAddition(&datadogV2.CreateRulesetRequestDataAttributesRulesItemsQueryAddition{
								Key:   "cost_center",
								Value: "engineering",
							}),
							CaseInsensitivity: datadog.PtrBool(false),
							IfNotExists:       datadog.PtrBool(true),
							Query:             `account_id:"123456789" AND service:"web-api"`,
						}),
						ReferenceTable: *datadogV2.NewNullableCreateRulesetRequestDataAttributesRulesItemsReferenceTable(nil),
					},
				},
			},
			Id:   datadog.PtrString("New Ruleset"),
			Type: datadogV2.CREATERULESETREQUESTDATATYPE_CREATE_RULESET,
		},
	}
	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewCloudCostManagementApi(apiClient)
	resp, r, err := api.CreateTagPipelinesRuleset(ctx, body)

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

	responseContent, _ := json.MarshalIndent(resp, "", "  ")
	fmt.Fprintf(os.Stdout, "Response from `CloudCostManagementApi.CreateTagPipelinesRuleset`:\n%s\n", responseContent)
}
// Create tag pipeline ruleset with if_tag_exists returns "OK" 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.CreateRulesetRequest{
		Data: &datadogV2.CreateRulesetRequestData{
			Attributes: &datadogV2.CreateRulesetRequestDataAttributes{
				Enabled: datadog.PtrBool(true),
				Rules: []datadogV2.CreateRulesetRequestDataAttributesRulesItems{
					{
						Enabled: true,
						Mapping: *datadogV2.NewNullableDataAttributesRulesItemsMapping(nil),
						Name:    "Add Cost Center Tag",
						Query: *datadogV2.NewNullableCreateRulesetRequestDataAttributesRulesItemsQuery(&datadogV2.CreateRulesetRequestDataAttributesRulesItemsQuery{
							Addition: *datadogV2.NewNullableCreateRulesetRequestDataAttributesRulesItemsQueryAddition(&datadogV2.CreateRulesetRequestDataAttributesRulesItemsQueryAddition{
								Key:   "cost_center",
								Value: "engineering",
							}),
							CaseInsensitivity: datadog.PtrBool(false),
							IfTagExists:       datadogV2.DATAATTRIBUTESRULESITEMSIFTAGEXISTS_REPLACE.Ptr(),
							Query:             `account_id:"123456789" AND service:"web-api"`,
						}),
						ReferenceTable: *datadogV2.NewNullableCreateRulesetRequestDataAttributesRulesItemsReferenceTable(nil),
					},
				},
			},
			Id:   datadog.PtrString("New Ruleset"),
			Type: datadogV2.CREATERULESETREQUESTDATATYPE_CREATE_RULESET,
		},
	}
	ctx := datadog.NewDefaultContext(context.Background())
	configuration := datadog.NewConfiguration()
	apiClient := datadog.NewAPIClient(configuration)
	api := datadogV2.NewCloudCostManagementApi(apiClient)
	resp, r, err := api.CreateTagPipelinesRuleset(ctx, body)

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

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

Instructions

First install the library and its dependencies and then save the example to main.go and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" go run "main.go"
// Create tag pipeline ruleset returns "OK" response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.CloudCostManagementApi;
import com.datadog.api.client.v2.model.CreateRulesetRequest;
import com.datadog.api.client.v2.model.CreateRulesetRequestData;
import com.datadog.api.client.v2.model.CreateRulesetRequestDataAttributes;
import com.datadog.api.client.v2.model.CreateRulesetRequestDataAttributesRulesItems;
import com.datadog.api.client.v2.model.CreateRulesetRequestDataAttributesRulesItemsQuery;
import com.datadog.api.client.v2.model.CreateRulesetRequestDataAttributesRulesItemsQueryAddition;
import com.datadog.api.client.v2.model.CreateRulesetRequestDataType;
import com.datadog.api.client.v2.model.RulesetResp;
import java.util.Collections;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    CloudCostManagementApi apiInstance = new CloudCostManagementApi(defaultClient);

    CreateRulesetRequest body =
        new CreateRulesetRequest()
            .data(
                new CreateRulesetRequestData()
                    .attributes(
                        new CreateRulesetRequestDataAttributes()
                            .enabled(true)
                            .rules(
                                Collections.singletonList(
                                    new CreateRulesetRequestDataAttributesRulesItems()
                                        .enabled(true)
                                        .mapping(null)
                                        .name("Add Cost Center Tag")
                                        .query(
                                            new CreateRulesetRequestDataAttributesRulesItemsQuery()
                                                .addition(
                                                    new CreateRulesetRequestDataAttributesRulesItemsQueryAddition()
                                                        .key("cost_center")
                                                        .value("engineering"))
                                                .caseInsensitivity(false)
                                                .ifNotExists(true)
                                                .query(
                                                    """
account_id:"123456789" AND service:"web-api"
"""))
                                        .referenceTable(null))))
                    .id("New Ruleset")
                    .type(CreateRulesetRequestDataType.CREATE_RULESET));

    try {
      RulesetResp result = apiInstance.createTagPipelinesRuleset(body);
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling CloudCostManagementApi#createTagPipelinesRuleset");
      System.err.println("Status code: " + e.getCode());
      System.err.println("Reason: " + e.getResponseBody());
      System.err.println("Response headers: " + e.getResponseHeaders());
      e.printStackTrace();
    }
  }
}
// Create tag pipeline ruleset with if_tag_exists returns "OK" response

import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
import com.datadog.api.client.v2.api.CloudCostManagementApi;
import com.datadog.api.client.v2.model.CreateRulesetRequest;
import com.datadog.api.client.v2.model.CreateRulesetRequestData;
import com.datadog.api.client.v2.model.CreateRulesetRequestDataAttributes;
import com.datadog.api.client.v2.model.CreateRulesetRequestDataAttributesRulesItems;
import com.datadog.api.client.v2.model.CreateRulesetRequestDataAttributesRulesItemsQuery;
import com.datadog.api.client.v2.model.CreateRulesetRequestDataAttributesRulesItemsQueryAddition;
import com.datadog.api.client.v2.model.CreateRulesetRequestDataType;
import com.datadog.api.client.v2.model.DataAttributesRulesItemsIfTagExists;
import com.datadog.api.client.v2.model.RulesetResp;
import java.util.Collections;

public class Example {
  public static void main(String[] args) {
    ApiClient defaultClient = ApiClient.getDefaultApiClient();
    CloudCostManagementApi apiInstance = new CloudCostManagementApi(defaultClient);

    CreateRulesetRequest body =
        new CreateRulesetRequest()
            .data(
                new CreateRulesetRequestData()
                    .attributes(
                        new CreateRulesetRequestDataAttributes()
                            .enabled(true)
                            .rules(
                                Collections.singletonList(
                                    new CreateRulesetRequestDataAttributesRulesItems()
                                        .enabled(true)
                                        .mapping(null)
                                        .name("Add Cost Center Tag")
                                        .query(
                                            new CreateRulesetRequestDataAttributesRulesItemsQuery()
                                                .addition(
                                                    new CreateRulesetRequestDataAttributesRulesItemsQueryAddition()
                                                        .key("cost_center")
                                                        .value("engineering"))
                                                .caseInsensitivity(false)
                                                .ifTagExists(
                                                    DataAttributesRulesItemsIfTagExists.REPLACE)
                                                .query(
                                                    """
account_id:"123456789" AND service:"web-api"
"""))
                                        .referenceTable(null))))
                    .id("New Ruleset")
                    .type(CreateRulesetRequestDataType.CREATE_RULESET));

    try {
      RulesetResp result = apiInstance.createTagPipelinesRuleset(body);
      System.out.println(result);
    } catch (ApiException e) {
      System.err.println("Exception when calling CloudCostManagementApi#createTagPipelinesRuleset");
      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 and then save the example to Example.java and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" java "Example.java"
"""
Create tag pipeline ruleset returns "OK" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.cloud_cost_management_api import CloudCostManagementApi
from datadog_api_client.v2.model.create_ruleset_request import CreateRulesetRequest
from datadog_api_client.v2.model.create_ruleset_request_data import CreateRulesetRequestData
from datadog_api_client.v2.model.create_ruleset_request_data_attributes import CreateRulesetRequestDataAttributes
from datadog_api_client.v2.model.create_ruleset_request_data_attributes_rules_items import (
    CreateRulesetRequestDataAttributesRulesItems,
)
from datadog_api_client.v2.model.create_ruleset_request_data_attributes_rules_items_query import (
    CreateRulesetRequestDataAttributesRulesItemsQuery,
)
from datadog_api_client.v2.model.create_ruleset_request_data_attributes_rules_items_query_addition import (
    CreateRulesetRequestDataAttributesRulesItemsQueryAddition,
)
from datadog_api_client.v2.model.create_ruleset_request_data_type import CreateRulesetRequestDataType

body = CreateRulesetRequest(
    data=CreateRulesetRequestData(
        attributes=CreateRulesetRequestDataAttributes(
            enabled=True,
            rules=[
                CreateRulesetRequestDataAttributesRulesItems(
                    enabled=True,
                    mapping=None,
                    name="Add Cost Center Tag",
                    query=CreateRulesetRequestDataAttributesRulesItemsQuery(
                        addition=CreateRulesetRequestDataAttributesRulesItemsQueryAddition(
                            key="cost_center",
                            value="engineering",
                        ),
                        case_insensitivity=False,
                        if_not_exists=True,
                        query='account_id:"123456789" AND service:"web-api"',
                    ),
                    reference_table=None,
                ),
            ],
        ),
        id="New Ruleset",
        type=CreateRulesetRequestDataType.CREATE_RULESET,
    ),
)

configuration = Configuration()
with ApiClient(configuration) as api_client:
    api_instance = CloudCostManagementApi(api_client)
    response = api_instance.create_tag_pipelines_ruleset(body=body)

    print(response)
"""
Create tag pipeline ruleset with if_tag_exists returns "OK" response
"""

from datadog_api_client import ApiClient, Configuration
from datadog_api_client.v2.api.cloud_cost_management_api import CloudCostManagementApi
from datadog_api_client.v2.model.create_ruleset_request import CreateRulesetRequest
from datadog_api_client.v2.model.create_ruleset_request_data import CreateRulesetRequestData
from datadog_api_client.v2.model.create_ruleset_request_data_attributes import CreateRulesetRequestDataAttributes
from datadog_api_client.v2.model.create_ruleset_request_data_attributes_rules_items import (
    CreateRulesetRequestDataAttributesRulesItems,
)
from datadog_api_client.v2.model.create_ruleset_request_data_attributes_rules_items_query import (
    CreateRulesetRequestDataAttributesRulesItemsQuery,
)
from datadog_api_client.v2.model.create_ruleset_request_data_attributes_rules_items_query_addition import (
    CreateRulesetRequestDataAttributesRulesItemsQueryAddition,
)
from datadog_api_client.v2.model.create_ruleset_request_data_type import CreateRulesetRequestDataType
from datadog_api_client.v2.model.data_attributes_rules_items_if_tag_exists import DataAttributesRulesItemsIfTagExists

body = CreateRulesetRequest(
    data=CreateRulesetRequestData(
        attributes=CreateRulesetRequestDataAttributes(
            enabled=True,
            rules=[
                CreateRulesetRequestDataAttributesRulesItems(
                    enabled=True,
                    mapping=None,
                    name="Add Cost Center Tag",
                    query=CreateRulesetRequestDataAttributesRulesItemsQuery(
                        addition=CreateRulesetRequestDataAttributesRulesItemsQueryAddition(
                            key="cost_center",
                            value="engineering",
                        ),
                        case_insensitivity=False,
                        if_tag_exists=DataAttributesRulesItemsIfTagExists.REPLACE,
                        query='account_id:"123456789" AND service:"web-api"',
                    ),
                    reference_table=None,
                ),
            ],
        ),
        id="New Ruleset",
        type=CreateRulesetRequestDataType.CREATE_RULESET,
    ),
)

configuration = Configuration()
with ApiClient(configuration) as api_client:
    api_instance = CloudCostManagementApi(api_client)
    response = api_instance.create_tag_pipelines_ruleset(body=body)

    print(response)

Instructions

First install the library and its dependencies and then save the example to example.py and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" python3 "example.py"
# Create tag pipeline ruleset returns "OK" response

require "datadog_api_client"
api_instance = DatadogAPIClient::V2::CloudCostManagementAPI.new

body = DatadogAPIClient::V2::CreateRulesetRequest.new({
  data: DatadogAPIClient::V2::CreateRulesetRequestData.new({
    attributes: DatadogAPIClient::V2::CreateRulesetRequestDataAttributes.new({
      enabled: true,
      rules: [
        DatadogAPIClient::V2::CreateRulesetRequestDataAttributesRulesItems.new({
          enabled: true,
          mapping: nil,
          name: "Add Cost Center Tag",
          query: DatadogAPIClient::V2::CreateRulesetRequestDataAttributesRulesItemsQuery.new({
            addition: DatadogAPIClient::V2::CreateRulesetRequestDataAttributesRulesItemsQueryAddition.new({
              key: "cost_center",
              value: "engineering",
            }),
            case_insensitivity: false,
            if_not_exists: true,
            query: 'account_id:"123456789" AND service:"web-api"',
          }),
          reference_table: nil,
        }),
      ],
    }),
    id: "New Ruleset",
    type: DatadogAPIClient::V2::CreateRulesetRequestDataType::CREATE_RULESET,
  }),
})
p api_instance.create_tag_pipelines_ruleset(body)
# Create tag pipeline ruleset with if_tag_exists returns "OK" response

require "datadog_api_client"
api_instance = DatadogAPIClient::V2::CloudCostManagementAPI.new

body = DatadogAPIClient::V2::CreateRulesetRequest.new({
  data: DatadogAPIClient::V2::CreateRulesetRequestData.new({
    attributes: DatadogAPIClient::V2::CreateRulesetRequestDataAttributes.new({
      enabled: true,
      rules: [
        DatadogAPIClient::V2::CreateRulesetRequestDataAttributesRulesItems.new({
          enabled: true,
          mapping: nil,
          name: "Add Cost Center Tag",
          query: DatadogAPIClient::V2::CreateRulesetRequestDataAttributesRulesItemsQuery.new({
            addition: DatadogAPIClient::V2::CreateRulesetRequestDataAttributesRulesItemsQueryAddition.new({
              key: "cost_center",
              value: "engineering",
            }),
            case_insensitivity: false,
            if_tag_exists: DatadogAPIClient::V2::DataAttributesRulesItemsIfTagExists::REPLACE,
            query: 'account_id:"123456789" AND service:"web-api"',
          }),
          reference_table: nil,
        }),
      ],
    }),
    id: "New Ruleset",
    type: DatadogAPIClient::V2::CreateRulesetRequestDataType::CREATE_RULESET,
  }),
})
p api_instance.create_tag_pipelines_ruleset(body)

Instructions

First install the library and its dependencies and then save the example to example.rb and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" rb "example.rb"
// Create tag pipeline ruleset returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_cloud_cost_management::CloudCostManagementAPI;
use datadog_api_client::datadogV2::model::CreateRulesetRequest;
use datadog_api_client::datadogV2::model::CreateRulesetRequestData;
use datadog_api_client::datadogV2::model::CreateRulesetRequestDataAttributes;
use datadog_api_client::datadogV2::model::CreateRulesetRequestDataAttributesRulesItems;
use datadog_api_client::datadogV2::model::CreateRulesetRequestDataAttributesRulesItemsQuery;
use datadog_api_client::datadogV2::model::CreateRulesetRequestDataAttributesRulesItemsQueryAddition;
use datadog_api_client::datadogV2::model::CreateRulesetRequestDataType;

#[tokio::main]
async fn main() {
    let body = CreateRulesetRequest::new().data(
        CreateRulesetRequestData::new(CreateRulesetRequestDataType::CREATE_RULESET)
            .attributes(
                CreateRulesetRequestDataAttributes::new(vec![
                    CreateRulesetRequestDataAttributesRulesItems::new(
                        true,
                        "Add Cost Center Tag".to_string(),
                    )
                    .mapping(None)
                    .query(Some(
                        CreateRulesetRequestDataAttributesRulesItemsQuery::new(
                            Some(
                                CreateRulesetRequestDataAttributesRulesItemsQueryAddition::new(
                                    "cost_center".to_string(),
                                    "engineering".to_string(),
                                ),
                            ),
                            r#"account_id:"123456789" AND service:"web-api""#.to_string(),
                        )
                        .case_insensitivity(false)
                        .if_not_exists(true),
                    ))
                    .reference_table(None),
                ])
                .enabled(true),
            )
            .id("New Ruleset".to_string()),
    );
    let configuration = datadog::Configuration::new();
    let api = CloudCostManagementAPI::with_config(configuration);
    let resp = api.create_tag_pipelines_ruleset(body).await;
    if let Ok(value) = resp {
        println!("{:#?}", value);
    } else {
        println!("{:#?}", resp.unwrap_err());
    }
}
// Create tag pipeline ruleset with if_tag_exists returns "OK" response
use datadog_api_client::datadog;
use datadog_api_client::datadogV2::api_cloud_cost_management::CloudCostManagementAPI;
use datadog_api_client::datadogV2::model::CreateRulesetRequest;
use datadog_api_client::datadogV2::model::CreateRulesetRequestData;
use datadog_api_client::datadogV2::model::CreateRulesetRequestDataAttributes;
use datadog_api_client::datadogV2::model::CreateRulesetRequestDataAttributesRulesItems;
use datadog_api_client::datadogV2::model::CreateRulesetRequestDataAttributesRulesItemsQuery;
use datadog_api_client::datadogV2::model::CreateRulesetRequestDataAttributesRulesItemsQueryAddition;
use datadog_api_client::datadogV2::model::CreateRulesetRequestDataType;
use datadog_api_client::datadogV2::model::DataAttributesRulesItemsIfTagExists;

#[tokio::main]
async fn main() {
    let body = CreateRulesetRequest::new().data(
        CreateRulesetRequestData::new(CreateRulesetRequestDataType::CREATE_RULESET)
            .attributes(
                CreateRulesetRequestDataAttributes::new(vec![
                    CreateRulesetRequestDataAttributesRulesItems::new(
                        true,
                        "Add Cost Center Tag".to_string(),
                    )
                    .mapping(None)
                    .query(Some(
                        CreateRulesetRequestDataAttributesRulesItemsQuery::new(
                            Some(
                                CreateRulesetRequestDataAttributesRulesItemsQueryAddition::new(
                                    "cost_center".to_string(),
                                    "engineering".to_string(),
                                ),
                            ),
                            r#"account_id:"123456789" AND service:"web-api""#.to_string(),
                        )
                        .case_insensitivity(false)
                        .if_tag_exists(DataAttributesRulesItemsIfTagExists::REPLACE),
                    ))
                    .reference_table(None),
                ])
                .enabled(true),
            )
            .id("New Ruleset".to_string()),
    );
    let configuration = datadog::Configuration::new();
    let api = CloudCostManagementAPI::with_config(configuration);
    let resp = api.create_tag_pipelines_ruleset(body).await;
    if let Ok(value) = resp {
        println!("{:#?}", value);
    } else {
        println!("{:#?}", resp.unwrap_err());
    }
}

Instructions

First install the library and its dependencies and then save the example to src/main.rs and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" cargo run
/**
 * Create tag pipeline ruleset returns "OK" response
 */

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

const configuration = client.createConfiguration();
const apiInstance = new v2.CloudCostManagementApi(configuration);

const params: v2.CloudCostManagementApiCreateTagPipelinesRulesetRequest = {
  body: {
    data: {
      attributes: {
        enabled: true,
        rules: [
          {
            enabled: true,
            mapping: undefined,
            name: "Add Cost Center Tag",
            query: {
              addition: {
                key: "cost_center",
                value: "engineering",
              },
              caseInsensitivity: false,
              ifNotExists: true,
              query: `account_id:"123456789" AND service:"web-api"`,
            },
            referenceTable: undefined,
          },
        ],
      },
      id: "New Ruleset",
      type: "create_ruleset",
    },
  },
};

apiInstance
  .createTagPipelinesRuleset(params)
  .then((data: v2.RulesetResp) => {
    console.log(
      "API called successfully. Returned data: " + JSON.stringify(data)
    );
  })
  .catch((error: any) => console.error(error));
/**
 * Create tag pipeline ruleset with if_tag_exists returns "OK" response
 */

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

const configuration = client.createConfiguration();
const apiInstance = new v2.CloudCostManagementApi(configuration);

const params: v2.CloudCostManagementApiCreateTagPipelinesRulesetRequest = {
  body: {
    data: {
      attributes: {
        enabled: true,
        rules: [
          {
            enabled: true,
            mapping: undefined,
            name: "Add Cost Center Tag",
            query: {
              addition: {
                key: "cost_center",
                value: "engineering",
              },
              caseInsensitivity: false,
              ifTagExists: "replace",
              query: `account_id:"123456789" AND service:"web-api"`,
            },
            referenceTable: undefined,
          },
        ],
      },
      id: "New Ruleset",
      type: "create_ruleset",
    },
  },
};

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

Instructions

First install the library and its dependencies and then save the example to example.ts and run following commands:

    
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com" DD_API_KEY="<DD_API_KEY>" DD_APP_KEY="<DD_APP_KEY>" tsc "example.ts"