POST https://api.ap1.datadoghq.com/api/v2/security_monitoring/rules/convert/bulk https://api.ap2.datadoghq.com/api/v2/security_monitoring/rules/convert/bulk https://api.datadoghq.eu/api/v2/security_monitoring/rules/convert/bulk https://api.ddog-gov.com/api/v2/security_monitoring/rules/convert/bulk https://api.us2.ddog-gov.com/api/v2/security_monitoring/rules/convert/bulk https://api.uk1.datadoghq.com/api/v2/security_monitoring/rules/convert/bulk https://api.datadoghq.com/api/v2/security_monitoring/rules/convert/bulk https://api.us3.datadoghq.com/api/v2/security_monitoring/rules/convert/bulk https://api.us5.datadoghq.com/api/v2/security_monitoring/rules/convert/bulk
Información general
Convert a list of existing security monitoring rules to Terraform for the Datadog provider
resource datadog_security_monitoring_rule. Returns a ZIP archive containing one Terraform
file per rule. You can convert rules for the following types:
App and API Protection Cloud SIEM (log detection and signal correlation) Workload Protection This endpoint requires the
security_monitoring_rules_read permission.
OAuth apps require the security_monitoring_rules_read authorization scope to access this endpoint.
Solicitud Body Data (required)
Expand All
Data for bulk converting security monitoring rules to Terraform.
Attributes for bulk converting security monitoring rules to Terraform.
List of rule IDs to convert. Each rule will be included in the resulting ZIP file
as a separate Terraform file.
The type of the resource.
Allowed enum values: security_monitoring_rules_convert_bulk
{
"data" : {
"attributes" : {
"ruleIds" : [
"def-000-u7q" ,
"def-000-7dd"
]
},
"id" : "convert_bulk" ,
"type" : "security_monitoring_rules_convert_bulk"
}
} Respuesta Bad Request
{
"errors" : [
"Bad Request"
]
} Not Authorized
{
"errors" : [
"Bad Request"
]
} Not Found
{
"errors" : [
"Bad Request"
]
} Too many requests
{
"errors" : [
"Bad Request"
]
} Ejemplo de código Copia
## default
#
# Curl command curl -X POST "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.uk1.datadoghq.com "https://api.datadoghq.com "https://api.us3.datadoghq.com "https://api.us5.datadoghq.com /api/v2/security_monitoring/rules/convert/bulk " \
-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": {
"ruleIds": [
"def-000-u7q",
"def-000-7dd"
]
},
"id": "convert_bulk",
"type": "security_monitoring_rules_convert_bulk"
}
}
EOF
"""
Bulk convert rules to Terraform returns "OK" response
"""
from datadog_api_client import ApiClient , Configuration
from datadog_api_client.v2.api.security_monitoring_api import SecurityMonitoringApi
from datadog_api_client.v2.model.security_monitoring_rule_convert_bulk_attributes import (
SecurityMonitoringRuleConvertBulkAttributes ,
)
from datadog_api_client.v2.model.security_monitoring_rule_convert_bulk_data import SecurityMonitoringRuleConvertBulkData
from datadog_api_client.v2.model.security_monitoring_rule_convert_bulk_data_type import (
SecurityMonitoringRuleConvertBulkDataType ,
)
from datadog_api_client.v2.model.security_monitoring_rule_convert_bulk_payload import (
SecurityMonitoringRuleConvertBulkPayload ,
)
body = SecurityMonitoringRuleConvertBulkPayload (
data = SecurityMonitoringRuleConvertBulkData (
attributes = SecurityMonitoringRuleConvertBulkAttributes (
rule_ids = [
"def-000-u7q" ,
"def-000-7dd" ,
],
),
id = "convert_bulk" ,
type = SecurityMonitoringRuleConvertBulkDataType . SECURITY_MONITORING_RULES_CONVERT_BULK ,
),
)
configuration = Configuration ()
with ApiClient ( configuration ) as api_client :
api_instance = SecurityMonitoringApi ( api_client )
response = api_instance . bulk_convert_existing_security_monitoring_rules ( body = body )
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 uk1.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<DD_API_KEY>" DD_APP_KEY = "<DD_APP_KEY>" python3 "example.py"
# Bulk convert rules to Terraform returns "OK" response
require "datadog_api_client"
api_instance = DatadogAPIClient :: V2 :: SecurityMonitoringAPI . new
body = DatadogAPIClient :: V2 :: SecurityMonitoringRuleConvertBulkPayload . new ({
data : DatadogAPIClient :: V2 :: SecurityMonitoringRuleConvertBulkData . new ({
attributes : DatadogAPIClient :: V2 :: SecurityMonitoringRuleConvertBulkAttributes . new ({
rule_ids : [
"def-000-u7q" ,
"def-000-7dd" ,
] ,
}),
id : "convert_bulk" ,
type : DatadogAPIClient :: V2 :: SecurityMonitoringRuleConvertBulkDataType :: SECURITY_MONITORING_RULES_CONVERT_BULK ,
}),
})
p api_instance . bulk_convert_existing_security_monitoring_rules ( 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 uk1.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<DD_API_KEY>" DD_APP_KEY = "<DD_APP_KEY>" rb "example.rb"
// Bulk convert rules to Terraform 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 () {
body := datadogV2 . SecurityMonitoringRuleConvertBulkPayload {
Data : datadogV2 . SecurityMonitoringRuleConvertBulkData {
Attributes : datadogV2 . SecurityMonitoringRuleConvertBulkAttributes {
RuleIds : [] string {
"def-000-u7q" ,
"def-000-7dd" ,
},
},
Id : datadog . PtrString ( "convert_bulk" ),
Type : datadogV2 . SECURITYMONITORINGRULECONVERTBULKDATATYPE_SECURITY_MONITORING_RULES_CONVERT_BULK ,
},
}
ctx := datadog . NewDefaultContext ( context . Background ())
configuration := datadog . NewConfiguration ()
apiClient := datadog . NewAPIClient ( configuration )
api := datadogV2 . NewSecurityMonitoringApi ( apiClient )
resp , r , err := api . BulkConvertExistingSecurityMonitoringRules ( ctx , body )
if err != nil {
fmt . Fprintf ( os . Stderr , "Error when calling `SecurityMonitoringApi.BulkConvertExistingSecurityMonitoringRules`: %v\n" , err )
fmt . Fprintf ( os . Stderr , "Full HTTP response: %v\n" , r )
}
responseContent , _ := ioutil . ReadAll ( resp )
fmt . Fprintf ( os . Stdout , "Response from `SecurityMonitoringApi.BulkConvertExistingSecurityMonitoringRules`:\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 uk1.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"
// Bulk convert rules to Terraform returns "OK" response
import com.datadog.api.client.ApiClient ;
import com.datadog.api.client.ApiException ;
import com.datadog.api.client.v2.api.SecurityMonitoringApi ;
import com.datadog.api.client.v2.model.SecurityMonitoringRuleConvertBulkAttributes ;
import com.datadog.api.client.v2.model.SecurityMonitoringRuleConvertBulkData ;
import com.datadog.api.client.v2.model.SecurityMonitoringRuleConvertBulkDataType ;
import com.datadog.api.client.v2.model.SecurityMonitoringRuleConvertBulkPayload ;
import java.io.File ;
import java.util.Arrays ;
public class Example {
public static void main ( String [] args ) {
ApiClient defaultClient = ApiClient . getDefaultApiClient ();
SecurityMonitoringApi apiInstance = new SecurityMonitoringApi ( defaultClient );
SecurityMonitoringRuleConvertBulkPayload body =
new SecurityMonitoringRuleConvertBulkPayload ()
. data (
new SecurityMonitoringRuleConvertBulkData ()
. attributes (
new SecurityMonitoringRuleConvertBulkAttributes ()
. ruleIds ( Arrays . asList ( "def-000-u7q" , "def-000-7dd" )))
. id ( "convert_bulk" )
. type (
SecurityMonitoringRuleConvertBulkDataType
. SECURITY_MONITORING_RULES_CONVERT_BULK ));
try {
File result = apiInstance . bulkConvertExistingSecurityMonitoringRules ( body );
System . out . println ( result );
} catch ( ApiException e ) {
System . err . println (
"Exception when calling"
+ " SecurityMonitoringApi#bulkConvertExistingSecurityMonitoringRules" );
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 uk1.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<DD_API_KEY>" DD_APP_KEY = "<DD_APP_KEY>" java "Example.java"
// Bulk convert rules to Terraform returns "OK" response
use datadog_api_client ::datadog ;
use datadog_api_client ::datadogV2 ::api_security_monitoring ::SecurityMonitoringAPI ;
use datadog_api_client ::datadogV2 ::model ::SecurityMonitoringRuleConvertBulkAttributes ;
use datadog_api_client ::datadogV2 ::model ::SecurityMonitoringRuleConvertBulkData ;
use datadog_api_client ::datadogV2 ::model ::SecurityMonitoringRuleConvertBulkDataType ;
use datadog_api_client ::datadogV2 ::model ::SecurityMonitoringRuleConvertBulkPayload ;
#[tokio::main]
async fn main () {
let body = SecurityMonitoringRuleConvertBulkPayload ::new (
SecurityMonitoringRuleConvertBulkData ::new (
SecurityMonitoringRuleConvertBulkAttributes ::new ( vec! [
"def-000-u7q" . to_string (),
"def-000-7dd" . to_string (),
]),
SecurityMonitoringRuleConvertBulkDataType ::SECURITY_MONITORING_RULES_CONVERT_BULK ,
)
. id ( "convert_bulk" . to_string ()),
);
let configuration = datadog ::Configuration ::new ();
let api = SecurityMonitoringAPI ::with_config ( configuration );
let resp = api
. bulk_convert_existing_security_monitoring_rules ( 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 uk1.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<DD_API_KEY>" DD_APP_KEY = "<DD_APP_KEY>" cargo run
/**
* Bulk convert rules to Terraform returns "OK" response
*/
import { client , v2 } from "@datadog/datadog-api-client" ;
const configuration = client . createConfiguration ();
const apiInstance = new v2 . SecurityMonitoringApi ( configuration );
const params : v2.SecurityMonitoringApiBulkConvertExistingSecurityMonitoringRulesRequest =
{
body : {
data : {
attributes : {
ruleIds : [ "def-000-u7q" , "def-000-7dd" ],
},
id : "convert_bulk" ,
type : "security_monitoring_rules_convert_bulk" ,
},
},
};
apiInstance
. bulkConvertExistingSecurityMonitoringRules ( params )
. 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 uk1.datadoghq.com ddog-gov.com us2.ddog-gov.com " DD_API_KEY = "<DD_API_KEY>" DD_APP_KEY = "<DD_APP_KEY>" tsc "example.ts"