GET https://api.ap1.datadoghq.com/api/v2/remote_config/products/cws/policy/download https://api.ap2.datadoghq.com/api/v2/remote_config/products/cws/policy/download https://api.datadoghq.eu/api/v2/remote_config/products/cws/policy/download https://api.ddog-gov.com/api/v2/remote_config/products/cws/policy/download https://api.us2.ddog-gov.com/api/v2/remote_config/products/cws/policy/download https://api.datadoghq.com/api/v2/remote_config/products/cws/policy/download https://api.us3.datadoghq.com/api/v2/remote_config/products/cws/policy/download https://api.us5.datadoghq.com/api/v2/remote_config/products/cws/policy/download
Overview
The download endpoint generates a Workload Protection policy file from your currently active
Workload Protection agent rules, and downloads them as a .policy file. This file can then be deployed to
your agents to update the policy running in your environment.
Note : This endpoint is not available for the Government (US1-FED) site. Please reference the (US1-FED) specific resource below.
Response Not Authorized
{
"errors" : [
"Bad Request"
]
} Too many requests
{
"errors" : [
"Bad Request"
]
} Code Example Copy
# Curl command curl -X GET "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/remote_config/products/cws/policy/download " \
-H "Accept: application/json" \
-H "DD-API-KEY: ${DD_API_KEY} " \
-H "DD-APPLICATION-KEY: ${DD_APP_KEY} "
"""
Download the Workload Protection policy returns "OK" response
"""
from datadog_api_client import ApiClient , Configuration
from datadog_api_client.v2.api.csm_threats_api import CSMThreatsApi
configuration = Configuration ()
with ApiClient ( configuration ) as api_client :
api_instance = CSMThreatsApi ( api_client )
response = api_instance . download_csm_threats_policy ()
print ( response . read ())
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"
# Download the Workload Protection policy returns "OK" response
require "datadog_api_client"
api_instance = DatadogAPIClient :: V2 :: CSMThreatsAPI . new
p api_instance . download_csm_threats_policy ()
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"
// Download the Workload Protection policy returns "OK" response
package main
import (
"context"
"fmt"
"io/ioutil"
"os"
"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
"github.com/DataDog/datadog-api-client-go/v2/api/datadogV2"
)
func main () {
ctx := datadog . NewDefaultContext ( context . Background ())
configuration := datadog . NewConfiguration ()
apiClient := datadog . NewAPIClient ( configuration )
api := datadogV2 . NewCSMThreatsApi ( apiClient )
resp , r , err := api . DownloadCSMThreatsPolicy ( ctx )
if err != nil {
fmt . Fprintf ( os . Stderr , "Error when calling `CSMThreatsApi.DownloadCSMThreatsPolicy`: %v\n" , err )
fmt . Fprintf ( os . Stderr , "Full HTTP response: %v\n" , r )
}
responseContent , _ := ioutil . ReadAll ( resp )
fmt . Fprintf ( os . Stdout , "Response from `CSMThreatsApi.DownloadCSMThreatsPolicy`:\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"
// Download the Workload Protection policy returns "OK" response
import com.datadog.api.client.ApiClient ;
import com.datadog.api.client.ApiException ;
import com.datadog.api.client.v2.api.CsmThreatsApi ;
import java.io.File ;
public class Example {
public static void main ( String [] args ) {
ApiClient defaultClient = ApiClient . getDefaultApiClient ();
CsmThreatsApi apiInstance = new CsmThreatsApi ( defaultClient );
try {
File result = apiInstance . downloadCSMThreatsPolicy ();
System . out . println ( result );
} catch ( ApiException e ) {
System . err . println ( "Exception when calling CsmThreatsApi#downloadCSMThreatsPolicy" );
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"
// Download the Workload Protection policy returns "OK" response
use datadog_api_client ::datadog ;
use datadog_api_client ::datadogV2 ::api_csm_threats ::CSMThreatsAPI ;
#[tokio::main]
async fn main () {
let configuration = datadog ::Configuration ::new ();
let api = CSMThreatsAPI ::with_config ( configuration );
let resp = api . download_csm_threats_policy (). 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
/**
* Download the Workload Protection policy returns "OK" response
*/
import { client , v2 } from "@datadog/datadog-api-client" ;
const configuration = client . createConfiguration ();
const apiInstance = new v2 . CSMThreatsApi ( configuration );
apiInstance
. downloadCSMThreatsPolicy ()
. then (( data : client.HttpFile ) => {
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"