PUT https://api.datadoghq.eu/api/v1/integration/gcp https://api.ddog-gov.com/api/v1/integration/gcp https://api.datadoghq.com/api/v1/integration/gcp https://api.us3.datadoghq.com/api/v1/integration/gcp https://api.us5.datadoghq.com/api/v1/integration/gcp
Overview Update a Datadog-GCP integrations host_filters and/or auto-mute.
Requires a project_id
and client_email
, however these fields cannot be updated.
If you need to update these fields, delete and use the create (POST
) endpoint.
The unspecified fields will keep their original values.
Request Body Data (required) Update a Datadog-GCP integration.
Expand All
auth_provider_x509_cert_url
Should be https://www.googleapis.com/oauth2/v1/certs
.
Should be https://accounts.google.com/o/oauth2/auth
.
Silence monitors for expected GCE instance shutdowns.
Your email found in your JSON service account key.
Your ID found in your JSON service account key.
Should be https://www.googleapis.com/robot/v1/metadata/x509/$CLIENT_EMAIL
where $CLIENT_EMAIL
is the email found in your JSON service account key.
Limit the GCE instances that are pulled into Datadog by using tags.
Only hosts that match one of the defined tags are imported into Datadog.
When enabled, Datadog performs configuration checks across your Google Cloud environment by continuously scanning every resource.
Your private key name found in your JSON service account key.
Your private key ID found in your JSON service account key.
Your Google Cloud project ID found in your JSON service account key.
Should be https://accounts.google.com/o/oauth2/token
.
The value for service_account found in your JSON service account key.
{
"auth_provider_x509_cert_url" : "https://www.googleapis.com/oauth2/v1/certs" ,
"auth_uri" : "https://accounts.google.com/o/oauth2/auth" ,
"automute" : false ,
"client_email" : "api-dev@datadog-sandbox.iam.gserviceaccount.com" ,
"client_id" : "123456712345671234567" ,
"client_x509_cert_url" : "https://www.googleapis.com/robot/v1/metadata/x509/$CLIENT_EMAIL" ,
"errors" : [
"*"
],
"host_filters" : "key:value,filter:example" ,
"is_cspm_enabled" : true ,
"private_key" : "private_key" ,
"private_key_id" : "123456789abcdefghi123456789abcdefghijklm" ,
"project_id" : "datadog-apitest" ,
"token_uri" : "https://accounts.google.com/o/oauth2/token" ,
"type" : "service_account"
}
Response Bad Request
Error response object.
Expand All
Array of errors returned by the API.
Copy
{
"errors" : [
"Bad Request"
]
}
Authentication error
Error response object.
Expand All
Array of errors returned by the API.
Copy
{
"errors" : [
"Bad Request"
]
}
Too many requests
Error response object.
Expand All
Array of errors returned by the API.
Copy
{
"errors" : [
"Bad Request"
]
}
Code Example
# Curl command
curl -X PUT "https://api.datadoghq.eu "https://api.ddog-gov.com "https://api.datadoghq.com "https://api.us3.datadoghq.com "https://api.us5.datadoghq.com /api/v1/integration/gcp " \
-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
{}
EOF
Copy
"""
Update a GCP integration returns "OK" response
"""
from datadog_api_client import ApiClient , Configuration
from datadog_api_client.v1.api.gcp_integration_api import GCPIntegrationApi
from datadog_api_client.v1.model.gcp_account import GCPAccount
body = GCPAccount (
auth_provider_x509_cert_url = "https://www.googleapis.com/oauth2/v1/certs" ,
auth_uri = "https://accounts.google.com/o/oauth2/auth" ,
client_email = "api-dev@datadog-sandbox.iam.gserviceaccount.com" ,
client_id = "123456712345671234567" ,
client_x509_cert_url = "https://www.googleapis.com/robot/v1/metadata/x509/$CLIENT_EMAIL" ,
errors = [
"*" ,
],
host_filters = "key:value,filter:example" ,
is_cspm_enabled = True ,
private_key = "private_key" ,
private_key_id = "123456789abcdefghi123456789abcdefghijklm" ,
project_id = "datadog-apitest" ,
token_uri = "https://accounts.google.com/o/oauth2/token" ,
type = "service_account" ,
)
configuration = Configuration ()
with ApiClient ( configuration ) as api_client :
api_instance = GCPIntegrationApi ( api_client )
response = api_instance . update_gcp_integration ( 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 ddog-gov.com " DD_API_KEY = "<API-KEY>" DD_APP_KEY = "<APP-KEY>" python3 "example.py"
Copy
# Update a GCP integration returns "OK" response
require "datadog_api_client"
api_instance = DatadogAPIClient :: V1 :: GCPIntegrationAPI . new
body = DatadogAPIClient :: V1 :: GCPAccount . new ({
auth_provider_x509_cert_url : "https://www.googleapis.com/oauth2/v1/certs" ,
auth_uri : "https://accounts.google.com/o/oauth2/auth" ,
client_email : "api-dev@datadog-sandbox.iam.gserviceaccount.com" ,
client_id : "123456712345671234567" ,
client_x509_cert_url : "https://www.googleapis.com/robot/v1/metadata/x509/$CLIENT_EMAIL" ,
errors : [
"*" ,
] ,
host_filters : "key:value,filter:example" ,
is_cspm_enabled : true ,
private_key : "private_key" ,
private_key_id : "123456789abcdefghi123456789abcdefghijklm" ,
project_id : "datadog-apitest" ,
token_uri : "https://accounts.google.com/o/oauth2/token" ,
type : "service_account" ,
})
p api_instance . update_gcp_integration ( 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 ddog-gov.com " DD_API_KEY = "<API-KEY>" DD_APP_KEY = "<APP-KEY>" rb "example.rb"
Copy
// Update a GCP integration 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/datadogV1"
)
func main () {
body := datadogV1 . GCPAccount {
AuthProviderX509CertUrl : datadog . PtrString ( "https://www.googleapis.com/oauth2/v1/certs" ),
AuthUri : datadog . PtrString ( "https://accounts.google.com/o/oauth2/auth" ),
ClientEmail : datadog . PtrString ( "api-dev@datadog-sandbox.iam.gserviceaccount.com" ),
ClientId : datadog . PtrString ( "123456712345671234567" ),
ClientX509CertUrl : datadog . PtrString ( "https://www.googleapis.com/robot/v1/metadata/x509/$CLIENT_EMAIL" ),
Errors : [] string {
"*" ,
},
HostFilters : datadog . PtrString ( "key:value,filter:example" ),
IsCspmEnabled : datadog . PtrBool ( true ),
PrivateKey : datadog . PtrString ( "private_key" ),
PrivateKeyId : datadog . PtrString ( "123456789abcdefghi123456789abcdefghijklm" ),
ProjectId : datadog . PtrString ( "datadog-apitest" ),
TokenUri : datadog . PtrString ( "https://accounts.google.com/o/oauth2/token" ),
Type : datadog . PtrString ( "service_account" ),
}
ctx := datadog . NewDefaultContext ( context . Background ())
configuration := datadog . NewConfiguration ()
apiClient := datadog . NewAPIClient ( configuration )
api := datadogV1 . NewGCPIntegrationApi ( apiClient )
resp , r , err := api . UpdateGCPIntegration ( ctx , body )
if err != nil {
fmt . Fprintf ( os . Stderr , "Error when calling `GCPIntegrationApi.UpdateGCPIntegration`: %v\n" , err )
fmt . Fprintf ( os . Stderr , "Full HTTP response: %v\n" , r )
}
responseContent , _ := json . MarshalIndent ( resp , "" , " " )
fmt . Fprintf ( os . Stdout , "Response from `GCPIntegrationApi.UpdateGCPIntegration`:\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 ddog-gov.com " DD_API_KEY = "<API-KEY>" DD_APP_KEY = "<APP-KEY>" go run "main.go"
Copy
// Update a GCP integration returns "OK" response
import com.datadog.api.client.ApiClient ;
import com.datadog.api.client.ApiException ;
import com.datadog.api.client.v1.api.GcpIntegrationApi ;
import com.datadog.api.client.v1.model.GCPAccount ;
import java.util.Collections ;
public class Example {
public static void main ( String [] args ) {
ApiClient defaultClient = ApiClient . getDefaultApiClient ();
GcpIntegrationApi apiInstance = new GcpIntegrationApi ( defaultClient );
GCPAccount body =
new GCPAccount ()
. authProviderX509CertUrl ( "https://www.googleapis.com/oauth2/v1/certs" )
. authUri ( "https://accounts.google.com/o/oauth2/auth" )
. clientEmail ( "api-dev@datadog-sandbox.iam.gserviceaccount.com" )
. clientId ( "123456712345671234567" )
. clientX509CertUrl ( "https://www.googleapis.com/robot/v1/metadata/x509/$CLIENT_EMAIL" )
. errors ( Collections . singletonList ( "*" ))
. hostFilters ( "key:value,filter:example" )
. isCspmEnabled ( true )
. privateKey ( "private_key" )
. privateKeyId ( "123456789abcdefghi123456789abcdefghijklm" )
. projectId ( "datadog-apitest" )
. tokenUri ( "https://accounts.google.com/o/oauth2/token" )
. type ( "service_account" );
try {
apiInstance . updateGCPIntegration ( body );
} catch ( ApiException e ) {
System . err . println ( "Exception when calling GcpIntegrationApi#updateGCPIntegration" );
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 ddog-gov.com " DD_API_KEY = "<API-KEY>" DD_APP_KEY = "<APP-KEY>" java "Example.java"
Copy
/**
* Update a GCP integration returns "OK" response
*/
import { client , v1 } from "@datadog/datadog-api-client" ;
const configuration = client . createConfiguration ();
const apiInstance = new v1 . GCPIntegrationApi ( configuration );
const params : v1.GCPIntegrationApiUpdateGCPIntegrationRequest = {
body : {
authProviderX509CertUrl : "https://www.googleapis.com/oauth2/v1/certs" ,
authUri : "https://accounts.google.com/o/oauth2/auth" ,
clientEmail : "api-dev@datadog-sandbox.iam.gserviceaccount.com" ,
clientId : "123456712345671234567" ,
clientX509CertUrl :
"https://www.googleapis.com/robot/v1/metadata/x509/$CLIENT_EMAIL" ,
errors : [ "*" ],
hostFilters : "key:value,filter:example" ,
isCspmEnabled : true ,
privateKey : "private_key" ,
privateKeyId : "123456789abcdefghi123456789abcdefghijklm" ,
projectId : "datadog-apitest" ,
tokenUri : "https://accounts.google.com/o/oauth2/token" ,
type : "service_account" ,
},
};
apiInstance
. updateGCPIntegration ( 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 ddog-gov.com " DD_API_KEY = "<API-KEY>" DD_APP_KEY = "<APP-KEY>" tsc "example.ts"