PATCH https://api.ap1.datadoghq.com/api/v2/cost/gcp_uc_config/{cloud_account_id} https://api.ap2.datadoghq.com/api/v2/cost/gcp_uc_config/{cloud_account_id} https://api.datadoghq.eu/api/v2/cost/gcp_uc_config/{cloud_account_id} https://api.ddog-gov.com/api/v2/cost/gcp_uc_config/{cloud_account_id} https://api.us2.ddog-gov.com/api/v2/cost/gcp_uc_config/{cloud_account_id} https://api.datadoghq.com/api/v2/cost/gcp_uc_config/{cloud_account_id} https://api.us3.datadoghq.com/api/v2/cost/gcp_uc_config/{cloud_account_id} https://api.us5.datadoghq.com/api/v2/cost/gcp_uc_config/{cloud_account_id}
Overview Update the status of an Google Cloud Usage Cost config (active/archived).
This endpoint requires the cloud_cost_management_write permission.
OAuth apps require the cloud_cost_management_write authorization scope to access this endpoint.
Arguments Path Parameters cloud_account_id [required ]
Request Body Data (required)
Expand All
Google Cloud Usage Cost config patch data.
Attributes for Google Cloud Usage Cost config patch request.
Whether or not the Cloud Cost Management account is enabled.
Type of Google Cloud Usage Cost config patch request.
Allowed enum values: gcp_uc_config_patch_request
default: gcp_uc_config_patch_request
{
"data" : {
"attributes" : {
"is_enabled" : true
},
"type" : "gcp_uc_config_patch_request"
}
} Response OK
Response of Google Cloud Usage Cost config.
Expand All
Google Cloud Usage Cost config.
Attributes for a Google Cloud Usage Cost config.
The Google Cloud account ID.
The Google Cloud bucket name used to store the Usage Cost export.
The timestamp when the Google Cloud Usage Cost config was created.
The export dataset name used for the Google Cloud Usage Cost Report.
The error messages for the Google Cloud Usage Cost config.
The export prefix used for the Google Cloud Usage Cost Report.
export_project_name [required ]
The name of the Google Cloud Usage Cost Report.
DEPRECATED : The number of months the report has been backfilled.
The project_id of the Google Cloud Usage Cost report.
service_account [required ]
The unique Google Cloud service account email.
The status of the Google Cloud Usage Cost config.
The timestamp when the Google Cloud Usage Cost config status was updated.
The timestamp when the Google Cloud Usage Cost config status was updated.
The ID of the Google Cloud Usage Cost config.
Type of Google Cloud Usage Cost config.
Allowed enum values: gcp_uc_config
default: gcp_uc_config
{
"data" : {
"attributes" : {
"account_id" : "123456_A123BC_12AB34" ,
"bucket_name" : "dd-cost-bucket" ,
"created_at" : "string" ,
"dataset" : "billing" ,
"error_messages" : [],
"export_prefix" : "datadog_cloud_cost_usage_export" ,
"export_project_name" : "dd-cloud-cost-report" ,
"months" : "integer" ,
"project_id" : "my-project-123" ,
"service_account" : "dd-ccm-gcp-integration@my-environment.iam.gserviceaccount.com" ,
"status" : "active" ,
"status_updated_at" : "string" ,
"updated_at" : "string"
},
"id" : "string" ,
"type" : "gcp_uc_config"
}
} Bad Request
{
"errors" : [
"Bad Request"
]
} Forbidden
{
"errors" : [
"Bad Request"
]
} Not Found
{
"errors" : [
"Bad Request"
]
} Too many requests
{
"errors" : [
"Bad Request"
]
} Code Example Copy
## default
#
# Path parameters export cloud_account_id = "CHANGE_ME" # Curl command curl -X PATCH "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/gcp_uc_config/${cloud_account_id} " \
-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": {
"is_enabled": true
},
"type": "gcp_uc_config_patch_request"
}
}
EOF
// Update Google Cloud Usage Cost config 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 . GCPUsageCostConfigPatchRequest {
Data : datadogV2 . GCPUsageCostConfigPatchData {
Attributes : datadogV2 . GCPUsageCostConfigPatchRequestAttributes {
IsEnabled : true ,
},
Type : datadogV2 . GCPUSAGECOSTCONFIGPATCHREQUESTTYPE_GCP_USAGE_COST_CONFIG_PATCH_REQUEST ,
},
}
ctx := datadog . NewDefaultContext ( context . Background ())
configuration := datadog . NewConfiguration ()
apiClient := datadog . NewAPIClient ( configuration )
api := datadogV2 . NewCloudCostManagementApi ( apiClient )
resp , r , err := api . UpdateCostGCPUsageCostConfig ( ctx , 100 , body )
if err != nil {
fmt . Fprintf ( os . Stderr , "Error when calling `CloudCostManagementApi.UpdateCostGCPUsageCostConfig`: %v\n" , err )
fmt . Fprintf ( os . Stderr , "Full HTTP response: %v\n" , r )
}
responseContent , _ := json . MarshalIndent ( resp , "" , " " )
fmt . Fprintf ( os . Stdout , "Response from `CloudCostManagementApi.UpdateCostGCPUsageCostConfig`:\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 = "<DD_API_KEY>" DD_APP_KEY = "<DD_APP_KEY>" go run "main.go"
// Update Google Cloud Usage Cost config 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.GCPUsageCostConfigPatchData ;
import com.datadog.api.client.v2.model.GCPUsageCostConfigPatchRequest ;
import com.datadog.api.client.v2.model.GCPUsageCostConfigPatchRequestAttributes ;
import com.datadog.api.client.v2.model.GCPUsageCostConfigPatchRequestType ;
import com.datadog.api.client.v2.model.GCPUsageCostConfigResponse ;
public class Example {
public static void main ( String [] args ) {
ApiClient defaultClient = ApiClient . getDefaultApiClient ();
CloudCostManagementApi apiInstance = new CloudCostManagementApi ( defaultClient );
GCPUsageCostConfigPatchRequest body =
new GCPUsageCostConfigPatchRequest ()
. data (
new GCPUsageCostConfigPatchData ()
. attributes ( new GCPUsageCostConfigPatchRequestAttributes (). isEnabled ( true ))
. type ( GCPUsageCostConfigPatchRequestType . GCP_USAGE_COST_CONFIG_PATCH_REQUEST ));
try {
GCPUsageCostConfigResponse result = apiInstance . updateCostGCPUsageCostConfig ( 100L , body );
System . out . println ( result );
} catch ( ApiException e ) {
System . err . println (
"Exception when calling CloudCostManagementApi#updateCostGCPUsageCostConfig" );
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"
"""
Update Google Cloud Usage Cost config 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.gcp_usage_cost_config_patch_data import GCPUsageCostConfigPatchData
from datadog_api_client.v2.model.gcp_usage_cost_config_patch_request import GCPUsageCostConfigPatchRequest
from datadog_api_client.v2.model.gcp_usage_cost_config_patch_request_attributes import (
GCPUsageCostConfigPatchRequestAttributes ,
)
from datadog_api_client.v2.model.gcp_usage_cost_config_patch_request_type import GCPUsageCostConfigPatchRequestType
body = GCPUsageCostConfigPatchRequest (
data = GCPUsageCostConfigPatchData (
attributes = GCPUsageCostConfigPatchRequestAttributes (
is_enabled = True ,
),
type = GCPUsageCostConfigPatchRequestType . GCP_USAGE_COST_CONFIG_PATCH_REQUEST ,
),
)
configuration = Configuration ()
with ApiClient ( configuration ) as api_client :
api_instance = CloudCostManagementApi ( api_client )
response = api_instance . update_cost_gcp_usage_cost_config ( cloud_account_id = 100 , 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 = "<DD_API_KEY>" DD_APP_KEY = "<DD_APP_KEY>" python3 "example.py"
# Update Google Cloud Usage Cost config returns "OK" response
require "datadog_api_client"
api_instance = DatadogAPIClient :: V2 :: CloudCostManagementAPI . new
body = DatadogAPIClient :: V2 :: GCPUsageCostConfigPatchRequest . new ({
data : DatadogAPIClient :: V2 :: GCPUsageCostConfigPatchData . new ({
attributes : DatadogAPIClient :: V2 :: GCPUsageCostConfigPatchRequestAttributes . new ({
is_enabled : true ,
}),
type : DatadogAPIClient :: V2 :: GCPUsageCostConfigPatchRequestType :: GCP_USAGE_COST_CONFIG_PATCH_REQUEST ,
}),
})
p api_instance . update_cost_gcp_usage_cost_config ( 100 , 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"
// Update Google Cloud Usage Cost config returns "OK" response
use datadog_api_client ::datadog ;
use datadog_api_client ::datadogV2 ::api_cloud_cost_management ::CloudCostManagementAPI ;
use datadog_api_client ::datadogV2 ::model ::GCPUsageCostConfigPatchData ;
use datadog_api_client ::datadogV2 ::model ::GCPUsageCostConfigPatchRequest ;
use datadog_api_client ::datadogV2 ::model ::GCPUsageCostConfigPatchRequestAttributes ;
use datadog_api_client ::datadogV2 ::model ::GCPUsageCostConfigPatchRequestType ;
#[tokio::main]
async fn main () {
let body = GCPUsageCostConfigPatchRequest ::new ( GCPUsageCostConfigPatchData ::new (
GCPUsageCostConfigPatchRequestAttributes ::new ( true ),
GCPUsageCostConfigPatchRequestType ::GCP_USAGE_COST_CONFIG_PATCH_REQUEST ,
));
let configuration = datadog ::Configuration ::new ();
let api = CloudCostManagementAPI ::with_config ( configuration );
let resp = api . update_cost_gcp_usage_cost_config ( 100 , 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
/**
* Update Google Cloud Usage Cost config returns "OK" response
*/
import { client , v2 } from "@datadog/datadog-api-client" ;
const configuration = client . createConfiguration ();
const apiInstance = new v2 . CloudCostManagementApi ( configuration );
const params : v2.CloudCostManagementApiUpdateCostGCPUsageCostConfigRequest = {
body : {
data : {
attributes : {
isEnabled : true ,
},
type : "gcp_uc_config_patch_request" ,
},
},
cloudAccountId : 100 ,
};
apiInstance
. updateCostGCPUsageCostConfig ( params )
. then (( data : v2.GCPUsageCostConfigResponse ) => {
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"