POST https://api.ap1.datadoghq.com/api/v2/cloud_security_management/custom_frameworks https://api.ap2.datadoghq.com/api/v2/cloud_security_management/custom_frameworks https://api.datadoghq.eu/api/v2/cloud_security_management/custom_frameworks https://api.ddog-gov.com/api/v2/cloud_security_management/custom_frameworks https://api.us2.ddog-gov.com/api/v2/cloud_security_management/custom_frameworks https://api.uk1.datadoghq.com/api/v2/cloud_security_management/custom_frameworks https://api.datadoghq.com/api/v2/cloud_security_management/custom_frameworks https://api.us3.datadoghq.com/api/v2/cloud_security_management/custom_frameworks https://api.us5.datadoghq.com/api/v2/cloud_security_management/custom_frameworks
개요 Create a custom framework.
This endpoint requires
all
of the following permissions:
security_monitoring_rules_readsecurity_monitoring_rules_writeOAuth apps require the security_monitoring_rules_read, security_monitoring_rules_write authorization scope to access this endpoint.
요청 Body Data (required)
Expand All
Contains type and attributes for custom frameworks.
Framework Data Attributes.
The type of the resource. The value must be custom_framework.
Allowed enum values: custom_framework
default: custom_framework
{
"data" : {
"type" : "custom_framework" ,
"attributes" : {
"name" : "name" ,
"handle" : "create-framework-new" ,
"version" : "10" ,
"icon_url" : "test-url" ,
"requirements" : [
{
"name" : "requirement" ,
"controls" : [
{
"name" : "control" ,
"rules_id" : [
"def-000-be9"
]
}
]
}
]
}
}
} 응답 OK
Response object to create a custom framework.
Expand All
Contains type and attributes for custom frameworks.
Framework Handle and Version.
The ID of the custom framework.
The type of the resource. The value must be custom_framework.
Allowed enum values: custom_framework
default: custom_framework
{
"data" : {
"attributes" : {
"handle" : "sec2" ,
"version" : "2"
},
"id" : "handle-version" ,
"type" : "custom_framework"
}
} Bad Request
{
"errors" : [
"Bad Request"
]
} Conflict
{
"errors" : [
"Bad Request"
]
} Too many requests
{
"errors" : [
"Bad Request"
]
} Bad Request
{
"errors" : [
"Bad Request"
]
} 코드 사례 복사
## 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/cloud_security_management/custom_frameworks " \
-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": {
"handle": "sec2",
"name": "security-framework",
"requirements": [
{
"controls": [
{
"name": "control",
"rules_id": [
"def-000-be9"
]
}
],
"name": "criteria"
}
],
"version": "2"
},
"type": "custom_framework"
}
}
EOF
// Create a custom framework returns "OK" response
package main
import (
"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"
)
func main () {
body := datadogV2 . CreateCustomFrameworkRequest {
Data : datadogV2 . CustomFrameworkData {
Type : datadogV2 . CUSTOMFRAMEWORKTYPE_CUSTOM_FRAMEWORK ,
Attributes : datadogV2 . CustomFrameworkDataAttributes {
Name : "name" ,
Handle : "create-framework-new" ,
Version : "10" ,
IconUrl : datadog . PtrString ( "test-url" ),
Requirements : [] datadogV2 . CustomFrameworkRequirement {
{
Name : "requirement" ,
Controls : [] datadogV2 . CustomFrameworkControl {
{
Name : "control" ,
RulesId : [] string {
"def-000-be9" ,
},
},
},
},
},
},
},
}
ctx := datadog . NewDefaultContext ( context . Background ())
configuration := datadog . NewConfiguration ()
apiClient := datadog . NewAPIClient ( configuration )
api := datadogV2 . NewSecurityMonitoringApi ( apiClient )
resp , r , err := api . CreateCustomFramework ( ctx , body )
if err != nil {
fmt . Fprintf ( os . Stderr , "Error when calling `SecurityMonitoringApi.CreateCustomFramework`: %v\n" , err )
fmt . Fprintf ( os . Stderr , "Full HTTP response: %v\n" , r )
}
responseContent , _ := json . MarshalIndent ( resp , "" , " " )
fmt . Fprintf ( os . Stdout , "Response from `SecurityMonitoringApi.CreateCustomFramework`:\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"
// Create a custom framework 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.CreateCustomFrameworkRequest ;
import com.datadog.api.client.v2.model.CreateCustomFrameworkResponse ;
import com.datadog.api.client.v2.model.CustomFrameworkControl ;
import com.datadog.api.client.v2.model.CustomFrameworkData ;
import com.datadog.api.client.v2.model.CustomFrameworkDataAttributes ;
import com.datadog.api.client.v2.model.CustomFrameworkRequirement ;
import com.datadog.api.client.v2.model.CustomFrameworkType ;
import java.util.Collections ;
public class Example {
public static void main ( String [] args ) {
ApiClient defaultClient = ApiClient . getDefaultApiClient ();
SecurityMonitoringApi apiInstance = new SecurityMonitoringApi ( defaultClient );
CreateCustomFrameworkRequest body =
new CreateCustomFrameworkRequest ()
. data (
new CustomFrameworkData ()
. type ( CustomFrameworkType . CUSTOM_FRAMEWORK )
. attributes (
new CustomFrameworkDataAttributes ()
. name ( "name" )
. handle ( "create-framework-new" )
. version ( "10" )
. iconUrl ( "test-url" )
. requirements (
Collections . singletonList (
new CustomFrameworkRequirement ()
. name ( "requirement" )
. controls (
Collections . singletonList (
new CustomFrameworkControl ()
. name ( "control" )
. rulesId (
Collections . singletonList (
"def-000-be9" ))))))));
try {
CreateCustomFrameworkResponse result = apiInstance . createCustomFramework ( body );
System . out . println ( result );
} catch ( ApiException e ) {
System . err . println ( "Exception when calling SecurityMonitoringApi#createCustomFramework" );
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"
"""
Create a custom framework 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.create_custom_framework_request import CreateCustomFrameworkRequest
from datadog_api_client.v2.model.custom_framework_control import CustomFrameworkControl
from datadog_api_client.v2.model.custom_framework_data import CustomFrameworkData
from datadog_api_client.v2.model.custom_framework_data_attributes import CustomFrameworkDataAttributes
from datadog_api_client.v2.model.custom_framework_requirement import CustomFrameworkRequirement
from datadog_api_client.v2.model.custom_framework_type import CustomFrameworkType
body = CreateCustomFrameworkRequest (
data = CustomFrameworkData (
type = CustomFrameworkType . CUSTOM_FRAMEWORK ,
attributes = CustomFrameworkDataAttributes (
name = "name" ,
handle = "create-framework-new" ,
version = "10" ,
icon_url = "test-url" ,
requirements = [
CustomFrameworkRequirement (
name = "requirement" ,
controls = [
CustomFrameworkControl (
name = "control" ,
rules_id = [
"def-000-be9" ,
],
),
],
),
],
),
),
)
configuration = Configuration ()
with ApiClient ( configuration ) as api_client :
api_instance = SecurityMonitoringApi ( api_client )
response = api_instance . create_custom_framework ( body = body )
print ( response )
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"
# Create a custom framework returns "OK" response
require "datadog_api_client"
api_instance = DatadogAPIClient :: V2 :: SecurityMonitoringAPI . new
body = DatadogAPIClient :: V2 :: CreateCustomFrameworkRequest . new ({
data : DatadogAPIClient :: V2 :: CustomFrameworkData . new ({
type : DatadogAPIClient :: V2 :: CustomFrameworkType :: CUSTOM_FRAMEWORK ,
attributes : DatadogAPIClient :: V2 :: CustomFrameworkDataAttributes . new ({
name : "name" ,
handle : "create-framework-new" ,
version : "10" ,
icon_url : "test-url" ,
requirements : [
DatadogAPIClient :: V2 :: CustomFrameworkRequirement . new ({
name : "requirement" ,
controls : [
DatadogAPIClient :: V2 :: CustomFrameworkControl . new ({
name : "control" ,
rules_id : [
"def-000-be9" ,
] ,
}),
] ,
}),
] ,
}),
}),
})
p api_instance . create_custom_framework ( 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"
// Create a custom framework returns "OK" response
use datadog_api_client ::datadog ;
use datadog_api_client ::datadogV2 ::api_security_monitoring ::SecurityMonitoringAPI ;
use datadog_api_client ::datadogV2 ::model ::CreateCustomFrameworkRequest ;
use datadog_api_client ::datadogV2 ::model ::CustomFrameworkControl ;
use datadog_api_client ::datadogV2 ::model ::CustomFrameworkData ;
use datadog_api_client ::datadogV2 ::model ::CustomFrameworkDataAttributes ;
use datadog_api_client ::datadogV2 ::model ::CustomFrameworkRequirement ;
use datadog_api_client ::datadogV2 ::model ::CustomFrameworkType ;
#[tokio::main]
async fn main () {
let body = CreateCustomFrameworkRequest ::new ( CustomFrameworkData ::new (
CustomFrameworkDataAttributes ::new (
"create-framework-new" . to_string (),
"name" . to_string (),
vec! [ CustomFrameworkRequirement ::new (
vec! [ CustomFrameworkControl ::new (
"control" . to_string (),
vec! [ "def-000-be9" . to_string ()],
)],
"requirement" . to_string (),
)],
"10" . to_string (),
)
. icon_url ( "test-url" . to_string ()),
CustomFrameworkType ::CUSTOM_FRAMEWORK ,
));
let configuration = datadog ::Configuration ::new ();
let api = SecurityMonitoringAPI ::with_config ( configuration );
let resp = api . create_custom_framework ( 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
/**
* Create a custom framework returns "OK" response
*/
import { client , v2 } from "@datadog/datadog-api-client" ;
const configuration = client . createConfiguration ();
const apiInstance = new v2 . SecurityMonitoringApi ( configuration );
const params : v2.SecurityMonitoringApiCreateCustomFrameworkRequest = {
body : {
data : {
type : "custom_framework" ,
attributes : {
name : "name" ,
handle : "create-framework-new" ,
version : "10" ,
iconUrl : "test-url" ,
requirements : [
{
name : "requirement" ,
controls : [
{
name : "control" ,
rulesId : [ "def-000-be9" ],
},
],
},
],
},
},
},
};
apiInstance
. createCustomFramework ( params )
. then (( data : v2.CreateCustomFrameworkResponse ) => {
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"