Export a list of security monitoring rules as a ZIP file containing JSON rule definitions.
The endpoint accepts a list of rule IDs and returns a ZIP archive where each rule is
saved as a separate JSON file named after the rule.
This endpoint requires the security_monitoring_rules_read permission.
OAuth apps require the security_monitoring_rules_read authorization scope to access this endpoint.
// Bulk export security monitoring rules returns "OK" responsepackagemainimport("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")funcmain(){// there is a valid "security_rule" in the systemSecurityRuleID:=os.Getenv("SECURITY_RULE_ID")body:=datadogV2.SecurityMonitoringRuleBulkExportPayload{Data:datadogV2.SecurityMonitoringRuleBulkExportData{Attributes:datadogV2.SecurityMonitoringRuleBulkExportAttributes{RuleIds:[]string{SecurityRuleID,},},Type:datadogV2.SECURITYMONITORINGRULEBULKEXPORTDATATYPE_SECURITY_MONITORING_RULES_BULK_EXPORT,},}ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()apiClient:=datadog.NewAPIClient(configuration)api:=datadogV2.NewSecurityMonitoringApi(apiClient)resp,r,err:=api.BulkExportSecurityMonitoringRules(ctx,body)iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `SecurityMonitoringApi.BulkExportSecurityMonitoringRules`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=ioutil.ReadAll(resp)fmt.Fprintf(os.Stdout,"Response from `SecurityMonitoringApi.BulkExportSecurityMonitoringRules`:\n%s\n",responseContent)}
// Bulk export security monitoring rules returns "OK" responseimportcom.datadog.api.client.ApiClient;importcom.datadog.api.client.ApiException;importcom.datadog.api.client.v2.api.SecurityMonitoringApi;importcom.datadog.api.client.v2.model.SecurityMonitoringRuleBulkExportAttributes;importcom.datadog.api.client.v2.model.SecurityMonitoringRuleBulkExportData;importcom.datadog.api.client.v2.model.SecurityMonitoringRuleBulkExportDataType;importcom.datadog.api.client.v2.model.SecurityMonitoringRuleBulkExportPayload;importjava.io.File;importjava.util.Collections;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=ApiClient.getDefaultApiClient();SecurityMonitoringApiapiInstance=newSecurityMonitoringApi(defaultClient);// there is a valid "security_rule" in the systemStringSECURITY_RULE_ID=System.getenv("SECURITY_RULE_ID");SecurityMonitoringRuleBulkExportPayloadbody=newSecurityMonitoringRuleBulkExportPayload().data(newSecurityMonitoringRuleBulkExportData().attributes(newSecurityMonitoringRuleBulkExportAttributes().ruleIds(Collections.singletonList(SECURITY_RULE_ID))).type(SecurityMonitoringRuleBulkExportDataType.SECURITY_MONITORING_RULES_BULK_EXPORT));try{Fileresult=apiInstance.bulkExportSecurityMonitoringRules(body);System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling SecurityMonitoringApi#bulkExportSecurityMonitoringRules");System.err.println("Status code: "+e.getCode());System.err.println("Reason: "+e.getResponseBody());System.err.println("Response headers: "+e.getResponseHeaders());e.printStackTrace();}}}
"""
Bulk export security monitoring rules returns "OK" response
"""fromosimportenvironfromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v2.api.security_monitoring_apiimportSecurityMonitoringApifromdatadog_api_client.v2.model.security_monitoring_rule_bulk_export_attributesimport(SecurityMonitoringRuleBulkExportAttributes,)fromdatadog_api_client.v2.model.security_monitoring_rule_bulk_export_dataimportSecurityMonitoringRuleBulkExportDatafromdatadog_api_client.v2.model.security_monitoring_rule_bulk_export_data_typeimport(SecurityMonitoringRuleBulkExportDataType,)fromdatadog_api_client.v2.model.security_monitoring_rule_bulk_export_payloadimport(SecurityMonitoringRuleBulkExportPayload,)# there is a valid "security_rule" in the systemSECURITY_RULE_ID=environ["SECURITY_RULE_ID"]body=SecurityMonitoringRuleBulkExportPayload(data=SecurityMonitoringRuleBulkExportData(attributes=SecurityMonitoringRuleBulkExportAttributes(rule_ids=[SECURITY_RULE_ID,],),type=SecurityMonitoringRuleBulkExportDataType.SECURITY_MONITORING_RULES_BULK_EXPORT,),)configuration=Configuration()withApiClient(configuration)asapi_client:api_instance=SecurityMonitoringApi(api_client)response=api_instance.bulk_export_security_monitoring_rules(body=body)print(response.read())
# Bulk export security monitoring rules returns "OK" responserequire"datadog_api_client"api_instance=DatadogAPIClient::V2::SecurityMonitoringAPI.new# there is a valid "security_rule" in the systemSECURITY_RULE_ID=ENV["SECURITY_RULE_ID"]body=DatadogAPIClient::V2::SecurityMonitoringRuleBulkExportPayload.new({data:DatadogAPIClient::V2::SecurityMonitoringRuleBulkExportData.new({attributes:DatadogAPIClient::V2::SecurityMonitoringRuleBulkExportAttributes.new({rule_ids:[SECURITY_RULE_ID,],}),type:DatadogAPIClient::V2::SecurityMonitoringRuleBulkExportDataType::SECURITY_MONITORING_RULES_BULK_EXPORT,}),})papi_instance.bulk_export_security_monitoring_rules(body)
// Bulk export security monitoring rules returns "OK" response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV2::api_security_monitoring::SecurityMonitoringAPI;usedatadog_api_client::datadogV2::model::SecurityMonitoringRuleBulkExportAttributes;usedatadog_api_client::datadogV2::model::SecurityMonitoringRuleBulkExportData;usedatadog_api_client::datadogV2::model::SecurityMonitoringRuleBulkExportDataType;usedatadog_api_client::datadogV2::model::SecurityMonitoringRuleBulkExportPayload;#[tokio::main]asyncfnmain(){// there is a valid "security_rule" in the system
letsecurity_rule_id=std::env::var("SECURITY_RULE_ID").unwrap();letbody=SecurityMonitoringRuleBulkExportPayload::new(SecurityMonitoringRuleBulkExportData::new(SecurityMonitoringRuleBulkExportAttributes::new(vec![security_rule_id.clone()]),SecurityMonitoringRuleBulkExportDataType::SECURITY_MONITORING_RULES_BULK_EXPORT,));letconfiguration=datadog::Configuration::new();letapi=SecurityMonitoringAPI::with_config(configuration);letresp=api.bulk_export_security_monitoring_rules(body).await;ifletOk(value)=resp{println!("{:#?}",value);}else{println!("{:#?}",resp.unwrap_err());}}
DD_SITE="datadoghq.comus3.datadoghq.comus5.datadoghq.comdatadoghq.euap1.datadoghq.comap2.datadoghq.comddog-gov.comus2.ddog-gov.com"DD_API_KEY="<DD_API_KEY>"DD_APP_KEY="<DD_APP_KEY>"cargo run
/**
* Bulk export security monitoring rules returns "OK" response
*/import{client,v2}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();constapiInstance=newv2.SecurityMonitoringApi(configuration);// there is a valid "security_rule" in the system
constSECURITY_RULE_ID=process.env.SECURITY_RULE_IDasstring;constparams: v2.SecurityMonitoringApiBulkExportSecurityMonitoringRulesRequest={body:{data:{attributes:{ruleIds:[SECURITY_RULE_ID],},type:"security_monitoring_rules_bulk_export",},},};apiInstance.bulkExportSecurityMonitoringRules(params).then((data: client.HttpFile)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));