Update AWS CCM config
https://api.datadoghq.com/api/v2/integration/aws/accounts/{aws_account_config_id}/ccm_confighttps://api.us3.datadoghq.com/api/v2/integration/aws/accounts/{aws_account_config_id}/ccm_confighttps://api.us5.datadoghq.com/api/v2/integration/aws/accounts/{aws_account_config_id}/ccm_confighttps://api.datadoghq.eu/api/v2/integration/aws/accounts/{aws_account_config_id}/ccm_confighttps://api.ap1.datadoghq.com/api/v2/integration/aws/accounts/{aws_account_config_id}/ccm_confighttps://api.ap2.datadoghq.com/api/v2/integration/aws/accounts/{aws_account_config_id}/ccm_confighttps://api.uk1.datadoghq.com/api/v2/integration/aws/accounts/{aws_account_config_id}/ccm_confighttps://api.ddog-gov.com/api/v2/integration/aws/accounts/{aws_account_config_id}/ccm_confighttps://api.us2.ddog-gov.com/api/v2/integration/aws/accounts/{aws_account_config_id}/ccm_configPrésentation
Update the Cloud Cost Management config for an AWS Account Integration Config using Cost and Usage Report (CUR) 2.0 by config ID.
Arguments
Paramètres du chemin
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.
Requête
Body Data (required)
Update a Cloud Cost Management config for an AWS Account Integration Config.
data [required]AWS CCM Config Create/Update Request data.
attributes [required]AWS CCM Config attributes for Create/Update requests.
ccm_config [required]AWS Cloud Cost Management config.
data_export_configs [required]List of data export configurations for Cost and Usage Reports.
bucket_name [required]Name of the S3 bucket where the Cost and Usage Report is stored.
bucket_region [required]AWS region of the S3 bucket.
report_name [required]Name of the Cost and Usage Report.
report_prefix [required]S3 prefix where the Cost and Usage Report is stored.
report_type [required]Type of the Cost and Usage Report. Currently only CUR2.0 is supported.
type [required]AWS CCM Config resource type.
ccm_configccm_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"
}
}Réponse
AWS CCM Config object
AWS CCM Config response body.
data [required]AWS CCM Config response data.
attributesAWS CCM Config response attributes.
data_export_configsList of data export configurations for Cost and Usage Reports.
bucket_name [required]Name of the S3 bucket where the Cost and Usage Report is stored.
bucket_region [required]AWS region of the S3 bucket.
report_name [required]Name of the Cost and Usage Report.
report_prefix [required]S3 prefix where the Cost and Usage Report is stored.
report_type [required]Type of the Cost and Usage Report. Currently only CUR2.0 is supported.
idUnique 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.
type [required]AWS CCM Config resource type.
ccm_configccm_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
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Not Found
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Too many requests
API error response.
errors [required]A list of errors.
{
"errors": [
"Bad Request"
]
}Exemple de code
# Path parameters
export aws_account_config_id="CHANGE_ME"
# Set your Datadog site and credentials
export DD_SITE="datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X PATCH "https://api.${DD_SITE}/api/v2/integration/aws/accounts/${aws_account_config_id}/ccm_config" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-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# Path parameters
export aws_account_config_id="CHANGE_ME"
# Set your Datadog site and credentials
export DD_SITE="us3.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X PATCH "https://api.${DD_SITE}/api/v2/integration/aws/accounts/${aws_account_config_id}/ccm_config" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-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# Path parameters
export aws_account_config_id="CHANGE_ME"
# Set your Datadog site and credentials
export DD_SITE="us5.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X PATCH "https://api.${DD_SITE}/api/v2/integration/aws/accounts/${aws_account_config_id}/ccm_config" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-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# Path parameters
export aws_account_config_id="CHANGE_ME"
# Set your Datadog site and credentials
export DD_SITE="datadoghq.eu"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X PATCH "https://api.${DD_SITE}/api/v2/integration/aws/accounts/${aws_account_config_id}/ccm_config" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-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# Path parameters
export aws_account_config_id="CHANGE_ME"
# Set your Datadog site and credentials
export DD_SITE="ap1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X PATCH "https://api.${DD_SITE}/api/v2/integration/aws/accounts/${aws_account_config_id}/ccm_config" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-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# Path parameters
export aws_account_config_id="CHANGE_ME"
# Set your Datadog site and credentials
export DD_SITE="ap2.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X PATCH "https://api.${DD_SITE}/api/v2/integration/aws/accounts/${aws_account_config_id}/ccm_config" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-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# Path parameters
export aws_account_config_id="CHANGE_ME"
# Set your Datadog site and credentials
export DD_SITE="uk1.datadoghq.com"
# Use a Personal Access Token or Service Access Token
export DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>"
curl -X PATCH "https://api.${DD_SITE}/api/v2/integration/aws/accounts/${aws_account_config_id}/ccm_config" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-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# Path parameters
export aws_account_config_id="CHANGE_ME"
# Set your Datadog site and credentials
export DD_SITE="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 PATCH "https://api.${DD_SITE}/api/v2/integration/aws/accounts/${aws_account_config_id}/ccm_config" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-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# Path parameters
export aws_account_config_id="CHANGE_ME"
# Set your Datadog site and credentials
export DD_SITE="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 PATCH "https://api.${DD_SITE}/api/v2/integration/aws/accounts/${aws_account_config_id}/ccm_config" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${DD_BEARER_TOKEN}" \
-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// Update 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())
ctx = context.WithValue(ctx, datadog.ContextAccessToken, os.Getenv("DD_BEARER_TOKEN"))
configuration := datadog.NewConfiguration()
configuration.SetUnstableOperationEnabled("v2.UpdateAWSAccountCCMConfig", true)
apiClient := datadog.NewAPIClient(configuration)
api := datadogV2.NewAWSIntegrationApi(apiClient)
resp, r, err := api.UpdateAWSAccountCCMConfig(ctx, "aws_account_config_id", body)
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `AWSIntegrationApi.UpdateAWSAccountCCMConfig`: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
responseContent, _ := json.MarshalIndent(resp, "", " ")
fmt.Fprintf(os.Stdout, "Response from `AWSIntegrationApi.UpdateAWSAccountCCMConfig`:\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" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" go run "main.go"// Update 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.setAccessToken(System.getenv("DD_BEARER_TOKEN"));
defaultClient.setUnstableOperationEnabled("v2.updateAWSAccountCCMConfig", 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.updateAWSAccountCCMConfig("aws_account_config_id", body);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling AwsIntegrationApi#updateAWSAccountCCMConfig");
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" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" java "Example.java""""
Update AWS CCM config returns "AWS CCM Config object" response
"""
from os import environ
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.access_token = environ["DD_BEARER_TOKEN"]
configuration.unstable_operations["update_aws_account_ccm_config"] = True
with ApiClient(configuration) as api_client:
api_instance = AWSIntegrationApi(api_client)
response = api_instance.update_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" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" python3 "example.py"# Update AWS CCM config returns "AWS CCM Config object" response
require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.access_token = ENV["DD_BEARER_TOKEN"]
config.unstable_operations["v2.update_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.update_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" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" rb "example.rb"// Update 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.update_aws_account_ccm_config", true);
let api = AWSIntegrationAPI::with_config(configuration);
let resp = api
.update_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" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="us3.datadoghq.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="us5.datadoghq.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="datadoghq.eu" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="ap1.datadoghq.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="ap2.datadoghq.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="uk1.datadoghq.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo runDD_SITE="us2.ddog-gov.com" DD_API_KEY="<API-KEY>" DD_APP_KEY="<APP-KEY>" cargo run/**
* Update AWS CCM config returns "AWS CCM Config object" response
*/
import { client, v2 } from "@datadog/datadog-api-client";
const configuration = client.createConfiguration({
authMethods: {
AuthZ: {
accessToken: process.env.DD_BEARER_TOKEN as string,
},
},
});
configuration.unstableOperations["v2.updateAWSAccountCCMConfig"] = true;
const apiInstance = new v2.AWSIntegrationApi(configuration);
const params: v2.AWSIntegrationApiUpdateAWSAccountCCMConfigRequest = {
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
.updateAWSAccountCCMConfig(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" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us3.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us5.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="datadoghq.eu" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ap1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ap2.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="uk1.datadoghq.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"DD_SITE="us2.ddog-gov.com" DD_BEARER_TOKEN="<PERSONAL_ACCESS_TOKEN OR SERVICE_ACCESS_TOKEN>" tsc "example.ts"