Export a security monitoring resource to a Terraform configuration.
The resource_type path parameter specifies the type of resource to export
and must be one of suppressions or critical_assets.
This endpoint requires
any
of the following permissions:
security_monitoring_suppressions_read
security_monitoring_rules_read
OAuth apps require the security_monitoring_rules_read authorization scope to access this endpoint.
Arguments
Path Parameters
Name
Type
Description
resource_type [required]
string
The type of security monitoring resource to export.
resource_id [required]
string
The ID of the security monitoring resource to export.
"""
Export security monitoring resource to Terraform returns "OK" response
"""fromosimportenvironfromdatadog_api_clientimportApiClient,Configurationfromdatadog_api_client.v2.api.security_monitoring_apiimportSecurityMonitoringApifromdatadog_api_client.v2.model.security_monitoring_terraform_resource_typeimport(SecurityMonitoringTerraformResourceType,)# there is a valid "suppression" in the systemSUPPRESSION_DATA_ID=environ["SUPPRESSION_DATA_ID"]configuration=Configuration()configuration.unstable_operations["export_security_monitoring_terraform_resource"]=TruewithApiClient(configuration)asapi_client:api_instance=SecurityMonitoringApi(api_client)response=api_instance.export_security_monitoring_terraform_resource(resource_type=SecurityMonitoringTerraformResourceType.SUPPRESSIONS,resource_id=SUPPRESSION_DATA_ID,)print(response)
# Export security monitoring resource to Terraform returns "OK" responserequire"datadog_api_client"DatadogAPIClient.configuredo|config|config.unstable_operations["v2.export_security_monitoring_terraform_resource".to_sym]=trueendapi_instance=DatadogAPIClient::V2::SecurityMonitoringAPI.new# there is a valid "suppression" in the systemSUPPRESSION_DATA_ID=ENV["SUPPRESSION_DATA_ID"]papi_instance.export_security_monitoring_terraform_resource(SecurityMonitoringTerraformResourceType::SUPPRESSIONS,SUPPRESSION_DATA_ID)
// Export security monitoring resource to Terraform returns "OK" responsepackagemainimport("context""encoding/json""fmt""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 "suppression" in the systemSuppressionDataID:=os.Getenv("SUPPRESSION_DATA_ID")ctx:=datadog.NewDefaultContext(context.Background())configuration:=datadog.NewConfiguration()configuration.SetUnstableOperationEnabled("v2.ExportSecurityMonitoringTerraformResource",true)apiClient:=datadog.NewAPIClient(configuration)api:=datadogV2.NewSecurityMonitoringApi(apiClient)resp,r,err:=api.ExportSecurityMonitoringTerraformResource(ctx,datadogV2.SECURITYMONITORINGTERRAFORMRESOURCETYPE_SUPPRESSIONS,SuppressionDataID)iferr!=nil{fmt.Fprintf(os.Stderr,"Error when calling `SecurityMonitoringApi.ExportSecurityMonitoringTerraformResource`: %v\n",err)fmt.Fprintf(os.Stderr,"Full HTTP response: %v\n",r)}responseContent,_:=json.MarshalIndent(resp,""," ")fmt.Fprintf(os.Stdout,"Response from `SecurityMonitoringApi.ExportSecurityMonitoringTerraformResource`:\n%s\n",responseContent)}
// Export security monitoring resource to Terraform 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.SecurityMonitoringTerraformExportResponse;importcom.datadog.api.client.v2.model.SecurityMonitoringTerraformResourceType;publicclassExample{publicstaticvoidmain(String[]args){ApiClientdefaultClient=ApiClient.getDefaultApiClient();defaultClient.setUnstableOperationEnabled("v2.exportSecurityMonitoringTerraformResource",true);SecurityMonitoringApiapiInstance=newSecurityMonitoringApi(defaultClient);// there is a valid "suppression" in the systemStringSUPPRESSION_DATA_ID=System.getenv("SUPPRESSION_DATA_ID");try{SecurityMonitoringTerraformExportResponseresult=apiInstance.exportSecurityMonitoringTerraformResource(SecurityMonitoringTerraformResourceType.SUPPRESSIONS,SUPPRESSION_DATA_ID);System.out.println(result);}catch(ApiExceptione){System.err.println("Exception when calling SecurityMonitoringApi#exportSecurityMonitoringTerraformResource");System.err.println("Status code: "+e.getCode());System.err.println("Reason: "+e.getResponseBody());System.err.println("Response headers: "+e.getResponseHeaders());e.printStackTrace();}}}
// Export security monitoring resource to Terraform returns "OK" response
usedatadog_api_client::datadog;usedatadog_api_client::datadogV2::api_security_monitoring::SecurityMonitoringAPI;usedatadog_api_client::datadogV2::model::SecurityMonitoringTerraformResourceType;#[tokio::main]asyncfnmain(){// there is a valid "suppression" in the system
letsuppression_data_id=std::env::var("SUPPRESSION_DATA_ID").unwrap();letmutconfiguration=datadog::Configuration::new();configuration.set_unstable_operation_enabled("v2.ExportSecurityMonitoringTerraformResource",true);letapi=SecurityMonitoringAPI::with_config(configuration);letresp=api.export_security_monitoring_terraform_resource(SecurityMonitoringTerraformResourceType::SUPPRESSIONS,suppression_data_id.clone(),).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
/**
* Export security monitoring resource to Terraform returns "OK" response
*/import{client,v2}from"@datadog/datadog-api-client";constconfiguration=client.createConfiguration();configuration.unstableOperations["v2.exportSecurityMonitoringTerraformResource"]=true;constapiInstance=newv2.SecurityMonitoringApi(configuration);// there is a valid "suppression" in the system
constSUPPRESSION_DATA_ID=process.env.SUPPRESSION_DATA_IDasstring;constparams: v2.SecurityMonitoringApiExportSecurityMonitoringTerraformResourceRequest={resourceType:"suppressions",resourceId: SUPPRESSION_DATA_ID,};apiInstance.exportSecurityMonitoringTerraformResource(params).then((data: v2.SecurityMonitoringTerraformExportResponse)=>{console.log("API called successfully. Returned data: "+JSON.stringify(data));}).catch((error: any)=>console.error(error));