Note : This endpoint is in preview and may be subject to change.
If you have any feedback, contact Datadog support .
POST https://api.ap1.datadoghq.com/api/v2/integration/aws/accounts/{aws_account_config_id}/ccm_config https://api.ap2.datadoghq.com/api/v2/integration/aws/accounts/{aws_account_config_id}/ccm_config https://api.datadoghq.eu/api/v2/integration/aws/accounts/{aws_account_config_id}/ccm_config https://api.ddog-gov.com/api/v2/integration/aws/accounts/{aws_account_config_id}/ccm_config https://api.us2.ddog-gov.com/api/v2/integration/aws/accounts/{aws_account_config_id}/ccm_config https://api.datadoghq.com/api/v2/integration/aws/accounts/{aws_account_config_id}/ccm_config https://api.us3.datadoghq.com/api/v2/integration/aws/accounts/{aws_account_config_id}/ccm_config https://api.us5.datadoghq.com/api/v2/integration/aws/accounts/{aws_account_config_id}/ccm_config
Overview Create the Cloud Cost Management config for an AWS Account Integration Config using Cost and Usage Report
(CUR) 2.0 by config ID.
This endpoint requires the aws_configuration_edit permission.
Arguments Path Parameters aws_account_config_id [required ]
Unique Datadog ID of the AWS Account Integration Config. To get the config ID for an account, use the
List all AWS integrations
endpoint and query by AWS Account ID.
Request Body Data (required) Create a Cloud Cost Management config for an AWS Account Integration Config.
Expand All
AWS CCM Config Create/Update Request data.
AWS CCM Config attributes for Create/Update requests.
AWS Cloud Cost Management config.
data_export_configs [required ]
List of data export configurations for Cost and Usage Reports.
Name of the S3 bucket where the Cost and Usage Report is stored.
AWS region of the S3 bucket.
Name of the Cost and Usage Report.
S3 prefix where the Cost and Usage Report is stored.
Type of the Cost and Usage Report. Currently only CUR2.0 is supported.
AWS CCM Config resource type.
Allowed enum values: ccm_config
default: ccm_config
{
"data" : {
"attributes" : {
"ccm_config" : {
"data_export_configs" : [
{
"bucket_name" : "billing" ,
"bucket_region" : "us-east-1" ,
"report_name" : "cost-and-usage-report" ,
"report_prefix" : "reports" ,
"report_type" : "CUR2.0"
}
]
}
},
"type" : "ccm_config"
}
} Response AWS CCM Config object
AWS CCM Config response body.
Expand All
AWS CCM Config response data.
AWS CCM Config response attributes.
List of data export configurations for Cost and Usage Reports.
Name of the S3 bucket where the Cost and Usage Report is stored.
AWS region of the S3 bucket.
Name of the Cost and Usage Report.
S3 prefix where the Cost and Usage Report is stored.
Type of the Cost and Usage Report. Currently only CUR2.0 is supported.
Unique Datadog ID of the AWS Account Integration Config.
To get the config ID for an account, use the
List all AWS integrations
endpoint and query by AWS Account ID.
AWS CCM Config resource type.
Allowed enum values: ccm_config
default: ccm_config
{
"data" : {
"attributes" : {
"data_export_configs" : [
{
"bucket_name" : "billing" ,
"bucket_region" : "us-east-1" ,
"report_name" : "cost-and-usage-report" ,
"report_prefix" : "reports" ,
"report_type" : "CUR2.0"
}
]
},
"id" : "00000000-abcd-0001-0000-000000000000" ,
"type" : "ccm_config"
}
} Forbidden
{
"errors" : [
"Bad Request"
]
} Not Found
{
"errors" : [
"Bad Request"
]
} Conflict
{
"errors" : [
"Bad Request"
]
} Too many requests
{
"errors" : [
"Bad Request"
]
} Code Example Copy
## default
#
# Path parameters export aws_account_config_id = "CHANGE_ME" # 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/integration/aws/accounts/${aws_account_config_id}/ccm_config " \
-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": {
"ccm_config": {
"data_export_configs": [
{
"bucket_name": "billing",
"bucket_region": "us-east-1",
"report_name": "cost-and-usage-report",
"report_prefix": "reports",
"report_type": "CUR2.0"
}
]
}
},
"type": "ccm_config"
}
}
EOF
"""
Create AWS CCM config returns "AWS CCM Config object" response
"""
from datadog_api_client import ApiClient , Configuration
from datadog_api_client.v2.api.aws_integration_api import AWSIntegrationApi
from datadog_api_client.v2.model.aws_ccm_config import AWSCcmConfig
from datadog_api_client.v2.model.aws_ccm_config_request import AWSCcmConfigRequest
from datadog_api_client.v2.model.aws_ccm_config_request_attributes import AWSCcmConfigRequestAttributes
from datadog_api_client.v2.model.aws_ccm_config_request_data import AWSCcmConfigRequestData
from datadog_api_client.v2.model.aws_ccm_config_type import AWSCcmConfigType
from datadog_api_client.v2.model.data_export_config import DataExportConfig
body = AWSCcmConfigRequest (
data = AWSCcmConfigRequestData (
attributes = AWSCcmConfigRequestAttributes (
ccm_config = AWSCcmConfig (
data_export_configs = [
DataExportConfig (
bucket_name = "billing" ,
bucket_region = "us-east-1" ,
report_name = "cost-and-usage-report" ,
report_prefix = "reports" ,
report_type = "CUR2.0" ,
),
],
),
),
type = AWSCcmConfigType . CCM_CONFIG ,
),
)
configuration = Configuration ()
configuration . unstable_operations [ "create_aws_account_ccm_config" ] = True
with ApiClient ( configuration ) as api_client :
api_instance = AWSIntegrationApi ( api_client )
response = api_instance . create_aws_account_ccm_config ( aws_account_config_id = "aws_account_config_id" , 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.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 = "<API-KEY>" DD_APP_KEY = "<APP-KEY>" python3 "example.py"
# Create AWS CCM config returns "AWS CCM Config object" response
require "datadog_api_client"
DatadogAPIClient . configure do | config |
config . unstable_operations [ "v2.create_aws_account_ccm_config" . to_sym ] = true
end
api_instance = DatadogAPIClient :: V2 :: AWSIntegrationAPI . new
body = DatadogAPIClient :: V2 :: AWSCcmConfigRequest . new ({
data : DatadogAPIClient :: V2 :: AWSCcmConfigRequestData . new ({
attributes : DatadogAPIClient :: V2 :: AWSCcmConfigRequestAttributes . new ({
ccm_config : DatadogAPIClient :: V2 :: AWSCcmConfig . new ({
data_export_configs : [
DatadogAPIClient :: V2 :: DataExportConfig . new ({
bucket_name : "billing" ,
bucket_region : "us-east-1" ,
report_name : "cost-and-usage-report" ,
report_prefix : "reports" ,
report_type : "CUR2.0" ,
}),
] ,
}),
}),
type : DatadogAPIClient :: V2 :: AWSCcmConfigType :: CCM_CONFIG ,
}),
})
p api_instance . create_aws_account_ccm_config ( "aws_account_config_id" , 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 = "<API-KEY>" DD_APP_KEY = "<APP-KEY>" rb "example.rb"
// Create AWS CCM config returns "AWS CCM Config object" 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 . AWSCcmConfigRequest {
Data : datadogV2 . AWSCcmConfigRequestData {
Attributes : datadogV2 . AWSCcmConfigRequestAttributes {
CcmConfig : datadogV2 . AWSCcmConfig {
DataExportConfigs : [] datadogV2 . DataExportConfig {
{
BucketName : "billing" ,
BucketRegion : "us-east-1" ,
ReportName : "cost-and-usage-report" ,
ReportPrefix : "reports" ,
ReportType : "CUR2.0" ,
},
},
},
},
Type : datadogV2 . AWSCCMCONFIGTYPE_CCM_CONFIG ,
},
}
ctx := datadog . NewDefaultContext ( context . Background ())
configuration := datadog . NewConfiguration ()
configuration . SetUnstableOperationEnabled ( "v2.CreateAWSAccountCCMConfig" , true )
apiClient := datadog . NewAPIClient ( configuration )
api := datadogV2 . NewAWSIntegrationApi ( apiClient )
resp , r , err := api . CreateAWSAccountCCMConfig ( ctx , "aws_account_config_id" , body )
if err != nil {
fmt . Fprintf ( os . Stderr , "Error when calling `AWSIntegrationApi.CreateAWSAccountCCMConfig`: %v\n" , err )
fmt . Fprintf ( os . Stderr , "Full HTTP response: %v\n" , r )
}
responseContent , _ := json . MarshalIndent ( resp , "" , " " )
fmt . Fprintf ( os . Stdout , "Response from `AWSIntegrationApi.CreateAWSAccountCCMConfig`:\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.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 = "<API-KEY>" DD_APP_KEY = "<APP-KEY>" go run "main.go"
// Create AWS CCM config returns "AWS CCM Config object" response
import com.datadog.api.client.ApiClient ;
import com.datadog.api.client.ApiException ;
import com.datadog.api.client.v2.api.AwsIntegrationApi ;
import com.datadog.api.client.v2.model.AWSCcmConfig ;
import com.datadog.api.client.v2.model.AWSCcmConfigRequest ;
import com.datadog.api.client.v2.model.AWSCcmConfigRequestAttributes ;
import com.datadog.api.client.v2.model.AWSCcmConfigRequestData ;
import com.datadog.api.client.v2.model.AWSCcmConfigResponse ;
import com.datadog.api.client.v2.model.AWSCcmConfigType ;
import com.datadog.api.client.v2.model.DataExportConfig ;
import java.util.Collections ;
public class Example {
public static void main ( String [] args ) {
ApiClient defaultClient = ApiClient . getDefaultApiClient ();
defaultClient . setUnstableOperationEnabled ( "v2.createAWSAccountCCMConfig" , true );
AwsIntegrationApi apiInstance = new AwsIntegrationApi ( defaultClient );
AWSCcmConfigRequest body =
new AWSCcmConfigRequest ()
. data (
new AWSCcmConfigRequestData ()
. attributes (
new AWSCcmConfigRequestAttributes ()
. ccmConfig (
new AWSCcmConfig ()
. dataExportConfigs (
Collections . singletonList (
new DataExportConfig ()
. bucketName ( "billing" )
. bucketRegion ( "us-east-1" )
. reportName ( "cost-and-usage-report" )
. reportPrefix ( "reports" )
. reportType ( "CUR2.0" )))))
. type ( AWSCcmConfigType . CCM_CONFIG ));
try {
AWSCcmConfigResponse result =
apiInstance . createAWSAccountCCMConfig ( "aws_account_config_id" , body );
System . out . println ( result );
} catch ( ApiException e ) {
System . err . println ( "Exception when calling AwsIntegrationApi#createAWSAccountCCMConfig" );
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 = "<API-KEY>" DD_APP_KEY = "<APP-KEY>" java "Example.java"
// Create AWS CCM config returns "AWS CCM Config object" response
use datadog_api_client ::datadog ;
use datadog_api_client ::datadogV2 ::api_aws_integration ::AWSIntegrationAPI ;
use datadog_api_client ::datadogV2 ::model ::AWSCcmConfig ;
use datadog_api_client ::datadogV2 ::model ::AWSCcmConfigRequest ;
use datadog_api_client ::datadogV2 ::model ::AWSCcmConfigRequestAttributes ;
use datadog_api_client ::datadogV2 ::model ::AWSCcmConfigRequestData ;
use datadog_api_client ::datadogV2 ::model ::AWSCcmConfigType ;
use datadog_api_client ::datadogV2 ::model ::DataExportConfig ;
#[tokio::main]
async fn main () {
let body = AWSCcmConfigRequest ::new ( AWSCcmConfigRequestData ::new (
AWSCcmConfigRequestAttributes ::new ( AWSCcmConfig ::new ( vec! [ DataExportConfig ::new (
"billing" . to_string (),
"us-east-1" . to_string (),
"cost-and-usage-report" . to_string (),
"reports" . to_string (),
"CUR2.0" . to_string (),
)])),
AWSCcmConfigType ::CCM_CONFIG ,
));
let mut configuration = datadog ::Configuration ::new ();
configuration . set_unstable_operation_enabled ( "v2.CreateAWSAccountCCMConfig" , true );
let api = AWSIntegrationAPI ::with_config ( configuration );
let resp = api
. create_aws_account_ccm_config ( "aws_account_config_id" . to_string (), 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 = "<API-KEY>" DD_APP_KEY = "<APP-KEY>" cargo run
/**
* Create AWS CCM config returns "AWS CCM Config object" response
*/
import { client , v2 } from "@datadog/datadog-api-client" ;
const configuration = client . createConfiguration ();
configuration . unstableOperations [ "v2.createAWSAccountCCMConfig" ] = true ;
const apiInstance = new v2 . AWSIntegrationApi ( configuration );
const params : v2.AWSIntegrationApiCreateAWSAccountCCMConfigRequest = {
body : {
data : {
attributes : {
ccmConfig : {
dataExportConfigs : [
{
bucketName : "billing" ,
bucketRegion : "us-east-1" ,
reportName : "cost-and-usage-report" ,
reportPrefix : "reports" ,
reportType : "CUR2.0" ,
},
],
},
},
type : "ccm_config" ,
},
},
awsAccountConfigId : "aws_account_config_id" ,
};
apiInstance
. createAWSAccountCCMConfig ( params )
. then (( data : v2.AWSCcmConfigResponse ) => {
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 = "<API-KEY>" DD_APP_KEY = "<APP-KEY>" tsc "example.ts"