@@ -370,6 +370,83 @@ func (a *SecurityMonitoringApi) BatchGetSecurityMonitoringDatasetDependencies(ct
370370 return localVarReturnValue, localVarHTTPResponse, nil
371371}
372372
373+ // BulkConvertExistingSecurityMonitoringRules Bulk convert rules to Terraform.
374+ // Convert a list of existing security monitoring rules to Terraform for the Datadog provider
375+ // resource `datadog_security_monitoring_rule`. Returns a ZIP archive containing one Terraform
376+ // file per rule. You can convert rules for the following types:
377+ // - App and API Protection
378+ // - Cloud SIEM (log detection and signal correlation)
379+ // - Workload Protection
380+ func (a *SecurityMonitoringApi) BulkConvertExistingSecurityMonitoringRules(ctx _context.Context, body SecurityMonitoringRuleConvertBulkPayload) (_io.Reader, *_nethttp.Response, error) {
381+ var (
382+ localVarHTTPMethod = _nethttp.MethodPost
383+ localVarPostBody interface{}
384+ localVarReturnValue _io.Reader
385+ )
386+
387+ localBasePath, err := a.Client.Cfg.ServerURLWithContext(ctx, "v2.SecurityMonitoringApi.BulkConvertExistingSecurityMonitoringRules")
388+ if err != nil {
389+ return localVarReturnValue, nil, datadog.GenericOpenAPIError{ErrorMessage: err.Error()}
390+ }
391+
392+ localVarPath := localBasePath + "/api/v2/security_monitoring/rules/convert/bulk"
393+
394+ localVarHeaderParams := make(map[string]string)
395+ localVarQueryParams := _neturl.Values{}
396+ localVarFormParams := _neturl.Values{}
397+ localVarHeaderParams["Content-Type"] = "application/json"
398+ localVarHeaderParams["Accept"] = "application/json"
399+
400+ // body params
401+ localVarPostBody = &body
402+ if a.Client.Cfg.DelegatedTokenConfig != nil {
403+ err = datadog.UseDelegatedTokenAuth(ctx, &localVarHeaderParams, a.Client.Cfg.DelegatedTokenConfig)
404+ if err != nil {
405+ return localVarReturnValue, nil, err
406+ }
407+ } else {
408+ datadog.SetAuthKeys(
409+ ctx,
410+ &localVarHeaderParams,
411+ [2]string{"apiKeyAuth", "DD-API-KEY"},
412+ [2]string{"appKeyAuth", "DD-APPLICATION-KEY"},
413+ )
414+ }
415+ req, err := a.Client.PrepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, nil)
416+ if err != nil {
417+ return localVarReturnValue, nil, err
418+ }
419+
420+ localVarHTTPResponse, err := a.Client.CallAPI(req)
421+ if err != nil || localVarHTTPResponse == nil {
422+ return localVarReturnValue, localVarHTTPResponse, err
423+ }
424+
425+ if localVarHTTPResponse.StatusCode >= 300 {
426+
427+ localVarBody, err := datadog.ReadBody(localVarHTTPResponse)
428+ if err != nil {
429+ return localVarReturnValue, localVarHTTPResponse, err
430+ }
431+ newErr := datadog.GenericOpenAPIError{
432+ ErrorBody: localVarBody,
433+ ErrorMessage: localVarHTTPResponse.Status,
434+ }
435+ if localVarHTTPResponse.StatusCode == 400 || localVarHTTPResponse.StatusCode == 403 || localVarHTTPResponse.StatusCode == 404 || localVarHTTPResponse.StatusCode == 429 {
436+ var v APIErrorResponse
437+ err = a.Client.Decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
438+ if err != nil {
439+ return localVarReturnValue, localVarHTTPResponse, newErr
440+ }
441+ newErr.ErrorModel = v
442+ }
443+ return localVarReturnValue, localVarHTTPResponse, newErr
444+ }
445+ localVarReturnValue = localVarHTTPResponse.Body
446+
447+ return localVarReturnValue, localVarHTTPResponse, nil
448+ }
449+
373450// BulkCreateSampleLogGenerationSubscriptions Bulk subscribe to sample log generation.
374451// Subscribe to sample log generation for multiple Cloud SIEM content packs in a single call.
375452// Each requested content pack is processed independently; the response includes a per-item
0 commit comments