POST https://api.ap1.datadoghq.com/api/v2/cost/arbitrary_rule/reorder https://api.ap2.datadoghq.com/api/v2/cost/arbitrary_rule/reorder https://api.datadoghq.eu/api/v2/cost/arbitrary_rule/reorder https://api.ddog-gov.com/api/v2/cost/arbitrary_rule/reorder https://api.us2.ddog-gov.com/api/v2/cost/arbitrary_rule/reorder https://api.datadoghq.com/api/v2/cost/arbitrary_rule/reorder https://api.us3.datadoghq.com/api/v2/cost/arbitrary_rule/reorder https://api.us5.datadoghq.com/api/v2/cost/arbitrary_rule/reorder
Overview
Reorder custom allocation rules - Change the execution order of custom allocation rules.
Important : You must provide the complete list of all rule IDs in the desired execution order. The API will reorder ALL rules according to the provided sequence.
Rules are executed in the order specified, with lower indices (earlier in the array) having higher priority.
Example : If you have rules with IDs [123, 456, 789] and want to change order from 123→456→789 to 456→123→789, send: [{“id”: “456”}, {“id”: “123”}, {“id”: “789”}]
OAuth apps require the cloud_cost_management_write authorization scope to access this endpoint.
Request Body Data (required)
Expand All
The ReorderRuleResourceArray data.
The ReorderRuleResourceData id.
Arbitrary rule resource type.
Allowed enum values: arbitrary_rule
default: arbitrary_rule
{
"data" : [
{
"id" : "string" ,
"type" : "arbitrary_rule"
}
]
} Response Successfully reordered rules
Too many requests
{
"errors" : [
"Bad Request"
]
} Code Example Copy
## 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/cost/arbitrary_rule/reorder " \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY} " \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY} " \
-d @- << EOF
{
"data": [
{
"id": "456",
"type": "arbitrary_rule"
},
{
"id": "123",
"type": "arbitrary_rule"
},
{
"id": "789",
"type": "arbitrary_rule"
}
]
}
EOF
"""
Reorder custom allocation rules returns "Successfully reordered rules" 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.reorder_rule_resource_array import ReorderRuleResourceArray
from datadog_api_client.v2.model.reorder_rule_resource_data import ReorderRuleResourceData
from datadog_api_client.v2.model.reorder_rule_resource_data_type import ReorderRuleResourceDataType
body = ReorderRuleResourceArray (
data = [
ReorderRuleResourceData (
id = "456" ,
type = ReorderRuleResourceDataType . ARBITRARY_RULE ,
),
ReorderRuleResourceData (
id = "123" ,
type = ReorderRuleResourceDataType . ARBITRARY_RULE ,
),
ReorderRuleResourceData (
id = "789" ,
type = ReorderRuleResourceDataType . ARBITRARY_RULE ,
),
],
)
configuration = Configuration ()
with ApiClient ( configuration ) as api_client :
api_instance = CloudCostManagementApi ( api_client )
api_instance . reorder_custom_allocation_rules ( body = body )
Instructions First install the library and its dependencies and then save the example to example.py and run following commands:
DD_SITE = "datadoghq.com us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ap2.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<DD_API_KEY>" DD_APP_KEY = "<DD_APP_KEY>" python3 "example.py"
# Reorder custom allocation rules returns "Successfully reordered rules" response
require "datadog_api_client"
api_instance = DatadogAPIClient :: V2 :: CloudCostManagementAPI . new
body = DatadogAPIClient :: V2 :: ReorderRuleResourceArray . new ({
data : [
DatadogAPIClient :: V2 :: ReorderRuleResourceData . new ({
id : "456" ,
type : DatadogAPIClient :: V2 :: ReorderRuleResourceDataType :: ARBITRARY_RULE ,
}),
DatadogAPIClient :: V2 :: ReorderRuleResourceData . new ({
id : "123" ,
type : DatadogAPIClient :: V2 :: ReorderRuleResourceDataType :: ARBITRARY_RULE ,
}),
DatadogAPIClient :: V2 :: ReorderRuleResourceData . new ({
id : "789" ,
type : DatadogAPIClient :: V2 :: ReorderRuleResourceDataType :: ARBITRARY_RULE ,
}),
] ,
})
api_instance . reorder_custom_allocation_rules ( body )
Instructions First install the library and its dependencies and then save the example to example.rb and run following commands:
DD_SITE = "datadoghq.com us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ap2.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<DD_API_KEY>" DD_APP_KEY = "<DD_APP_KEY>" rb "example.rb"
// Reorder custom allocation rules returns "Successfully reordered rules" response
package main
import (
"context"
"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 . ReorderRuleResourceArray {
Data : [] datadogV2 . ReorderRuleResourceData {
{
Id : datadog . PtrString ( "456" ),
Type : datadogV2 . REORDERRULERESOURCEDATATYPE_ARBITRARY_RULE ,
},
{
Id : datadog . PtrString ( "123" ),
Type : datadogV2 . REORDERRULERESOURCEDATATYPE_ARBITRARY_RULE ,
},
{
Id : datadog . PtrString ( "789" ),
Type : datadogV2 . REORDERRULERESOURCEDATATYPE_ARBITRARY_RULE ,
},
},
}
ctx := datadog . NewDefaultContext ( context . Background ())
configuration := datadog . NewConfiguration ()
apiClient := datadog . NewAPIClient ( configuration )
api := datadogV2 . NewCloudCostManagementApi ( apiClient )
r , err := api . ReorderCustomAllocationRules ( ctx , body )
if err != nil {
fmt . Fprintf ( os . Stderr , "Error when calling `CloudCostManagementApi.ReorderCustomAllocationRules`: %v\n" , err )
fmt . Fprintf ( os . Stderr , "Full HTTP response: %v\n" , r )
}
}
Instructions First install the library and its dependencies and then save the example to main.go and run following commands:
DD_SITE = "datadoghq.com us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ap2.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<DD_API_KEY>" DD_APP_KEY = "<DD_APP_KEY>" go run "main.go"
// Reorder custom allocation rules returns "Successfully reordered rules" 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.ReorderRuleResourceArray ;
import com.datadog.api.client.v2.model.ReorderRuleResourceData ;
import com.datadog.api.client.v2.model.ReorderRuleResourceDataType ;
import java.util.Arrays ;
public class Example {
public static void main ( String [] args ) {
ApiClient defaultClient = ApiClient . getDefaultApiClient ();
CloudCostManagementApi apiInstance = new CloudCostManagementApi ( defaultClient );
ReorderRuleResourceArray body =
new ReorderRuleResourceArray ()
. data (
Arrays . asList (
new ReorderRuleResourceData ()
. id ( "456" )
. type ( ReorderRuleResourceDataType . ARBITRARY_RULE ),
new ReorderRuleResourceData ()
. id ( "123" )
. type ( ReorderRuleResourceDataType . ARBITRARY_RULE ),
new ReorderRuleResourceData ()
. id ( "789" )
. type ( ReorderRuleResourceDataType . ARBITRARY_RULE )));
try {
apiInstance . reorderCustomAllocationRules ( body );
} catch ( ApiException e ) {
System . err . println (
"Exception when calling CloudCostManagementApi#reorderCustomAllocationRules" );
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.com us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ap2.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<DD_API_KEY>" DD_APP_KEY = "<DD_APP_KEY>" java "Example.java"
// Reorder custom allocation rules returns "Successfully reordered rules" response
use datadog_api_client ::datadog ;
use datadog_api_client ::datadogV2 ::api_cloud_cost_management ::CloudCostManagementAPI ;
use datadog_api_client ::datadogV2 ::model ::ReorderRuleResourceArray ;
use datadog_api_client ::datadogV2 ::model ::ReorderRuleResourceData ;
use datadog_api_client ::datadogV2 ::model ::ReorderRuleResourceDataType ;
#[tokio::main]
async fn main () {
let body = ReorderRuleResourceArray ::new ( vec! [
ReorderRuleResourceData ::new ( ReorderRuleResourceDataType ::ARBITRARY_RULE )
. id ( "456" . to_string ()),
ReorderRuleResourceData ::new ( ReorderRuleResourceDataType ::ARBITRARY_RULE )
. id ( "123" . to_string ()),
ReorderRuleResourceData ::new ( ReorderRuleResourceDataType ::ARBITRARY_RULE )
. id ( "789" . to_string ()),
]);
let configuration = datadog ::Configuration ::new ();
let api = CloudCostManagementAPI ::with_config ( configuration );
let resp = api . reorder_custom_allocation_rules ( 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.com us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ap2.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<DD_API_KEY>" DD_APP_KEY = "<DD_APP_KEY>" cargo run
/**
* Reorder custom allocation rules returns "Successfully reordered rules" response
*/
import { client , v2 } from "@datadog/datadog-api-client" ;
const configuration = client . createConfiguration ();
const apiInstance = new v2 . CloudCostManagementApi ( configuration );
const params : v2.CloudCostManagementApiReorderCustomAllocationRulesRequest = {
body : {
data : [
{
id : "456" ,
type : "arbitrary_rule" ,
},
{
id : "123" ,
type : "arbitrary_rule" ,
},
{
id : "789" ,
type : "arbitrary_rule" ,
},
],
},
};
apiInstance
. reorderCustomAllocationRules ( params )
. then (( data : any ) => {
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.com us3.datadoghq.com us5.datadoghq.com datadoghq.eu ap1.datadoghq.com ap2.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<DD_API_KEY>" DD_APP_KEY = "<DD_APP_KEY>" tsc "example.ts"