Skip to content

Commit e0c9692

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
andauthored
Add Critical Assets specs to security_monitoring feature (#3370)
Co-authored-by: ci.datadog-api-spec <[email protected]>
1 parent 630e49b commit e0c9692

File tree

45 files changed

+4645
-3
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+4645
-3
lines changed

.generator/schemas/v2/openapi.yaml

Lines changed: 418 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
// Create a critical asset returns "OK" response
2+
3+
import com.datadog.api.client.ApiClient;
4+
import com.datadog.api.client.ApiException;
5+
import com.datadog.api.client.v2.api.SecurityMonitoringApi;
6+
import com.datadog.api.client.v2.model.SecurityMonitoringCriticalAssetCreateAttributes;
7+
import com.datadog.api.client.v2.model.SecurityMonitoringCriticalAssetCreateData;
8+
import com.datadog.api.client.v2.model.SecurityMonitoringCriticalAssetCreateRequest;
9+
import com.datadog.api.client.v2.model.SecurityMonitoringCriticalAssetResponse;
10+
import com.datadog.api.client.v2.model.SecurityMonitoringCriticalAssetSeverity;
11+
import com.datadog.api.client.v2.model.SecurityMonitoringCriticalAssetType;
12+
import java.util.Arrays;
13+
14+
public class Example {
15+
public static void main(String[] args) {
16+
ApiClient defaultClient = ApiClient.getDefaultApiClient();
17+
SecurityMonitoringApi apiInstance = new SecurityMonitoringApi(defaultClient);
18+
19+
SecurityMonitoringCriticalAssetCreateRequest body =
20+
new SecurityMonitoringCriticalAssetCreateRequest()
21+
.data(
22+
new SecurityMonitoringCriticalAssetCreateData()
23+
.type(SecurityMonitoringCriticalAssetType.CRITICAL_ASSETS)
24+
.attributes(
25+
new SecurityMonitoringCriticalAssetCreateAttributes()
26+
.query("host:examplesecuritymonitoring")
27+
.ruleQuery(
28+
"type:(log_detection OR signal_correlation OR workload_security OR"
29+
+ " application_security) source:cloudtrail")
30+
.severity(SecurityMonitoringCriticalAssetSeverity.DECREASE)
31+
.tags(Arrays.asList("team:security", "env:test"))));
32+
33+
try {
34+
SecurityMonitoringCriticalAssetResponse result =
35+
apiInstance.createSecurityMonitoringCriticalAsset(body);
36+
System.out.println(result);
37+
} catch (ApiException e) {
38+
System.err.println(
39+
"Exception when calling SecurityMonitoringApi#createSecurityMonitoringCriticalAsset");
40+
System.err.println("Status code: " + e.getCode());
41+
System.err.println("Reason: " + e.getResponseBody());
42+
System.err.println("Response headers: " + e.getResponseHeaders());
43+
e.printStackTrace();
44+
}
45+
}
46+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
// Delete a critical asset returns "OK" response
2+
3+
import com.datadog.api.client.ApiClient;
4+
import com.datadog.api.client.ApiException;
5+
import com.datadog.api.client.v2.api.SecurityMonitoringApi;
6+
7+
public class Example {
8+
public static void main(String[] args) {
9+
ApiClient defaultClient = ApiClient.getDefaultApiClient();
10+
SecurityMonitoringApi apiInstance = new SecurityMonitoringApi(defaultClient);
11+
12+
// there is a valid "critical_asset" in the system
13+
String CRITICAL_ASSET_DATA_ID = System.getenv("CRITICAL_ASSET_DATA_ID");
14+
15+
try {
16+
apiInstance.deleteSecurityMonitoringCriticalAsset(CRITICAL_ASSET_DATA_ID);
17+
} catch (ApiException e) {
18+
System.err.println(
19+
"Exception when calling SecurityMonitoringApi#deleteSecurityMonitoringCriticalAsset");
20+
System.err.println("Status code: " + e.getCode());
21+
System.err.println("Reason: " + e.getResponseBody());
22+
System.err.println("Response headers: " + e.getResponseHeaders());
23+
e.printStackTrace();
24+
}
25+
}
26+
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
// Get critical assets affecting a specific rule returns "OK" response
2+
3+
import com.datadog.api.client.ApiClient;
4+
import com.datadog.api.client.ApiException;
5+
import com.datadog.api.client.v2.api.SecurityMonitoringApi;
6+
import com.datadog.api.client.v2.model.SecurityMonitoringCriticalAssetsResponse;
7+
8+
public class Example {
9+
public static void main(String[] args) {
10+
ApiClient defaultClient = ApiClient.getDefaultApiClient();
11+
SecurityMonitoringApi apiInstance = new SecurityMonitoringApi(defaultClient);
12+
13+
// there is a valid "security_rule" in the system
14+
String SECURITY_RULE_ID = System.getenv("SECURITY_RULE_ID");
15+
16+
try {
17+
SecurityMonitoringCriticalAssetsResponse result =
18+
apiInstance.getCriticalAssetsAffectingRule(SECURITY_RULE_ID);
19+
System.out.println(result);
20+
} catch (ApiException e) {
21+
System.err.println(
22+
"Exception when calling SecurityMonitoringApi#getCriticalAssetsAffectingRule");
23+
System.err.println("Status code: " + e.getCode());
24+
System.err.println("Reason: " + e.getResponseBody());
25+
System.err.println("Response headers: " + e.getResponseHeaders());
26+
e.printStackTrace();
27+
}
28+
}
29+
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
// Get a critical asset returns "OK" response
2+
3+
import com.datadog.api.client.ApiClient;
4+
import com.datadog.api.client.ApiException;
5+
import com.datadog.api.client.v2.api.SecurityMonitoringApi;
6+
import com.datadog.api.client.v2.model.SecurityMonitoringCriticalAssetResponse;
7+
8+
public class Example {
9+
public static void main(String[] args) {
10+
ApiClient defaultClient = ApiClient.getDefaultApiClient();
11+
SecurityMonitoringApi apiInstance = new SecurityMonitoringApi(defaultClient);
12+
13+
// there is a valid "critical_asset" in the system
14+
String CRITICAL_ASSET_DATA_ID = System.getenv("CRITICAL_ASSET_DATA_ID");
15+
16+
try {
17+
SecurityMonitoringCriticalAssetResponse result =
18+
apiInstance.getSecurityMonitoringCriticalAsset(CRITICAL_ASSET_DATA_ID);
19+
System.out.println(result);
20+
} catch (ApiException e) {
21+
System.err.println(
22+
"Exception when calling SecurityMonitoringApi#getSecurityMonitoringCriticalAsset");
23+
System.err.println("Status code: " + e.getCode());
24+
System.err.println("Reason: " + e.getResponseBody());
25+
System.err.println("Response headers: " + e.getResponseHeaders());
26+
e.printStackTrace();
27+
}
28+
}
29+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
// Get all critical assets returns "OK" response
2+
3+
import com.datadog.api.client.ApiClient;
4+
import com.datadog.api.client.ApiException;
5+
import com.datadog.api.client.v2.api.SecurityMonitoringApi;
6+
import com.datadog.api.client.v2.model.SecurityMonitoringCriticalAssetsResponse;
7+
8+
public class Example {
9+
public static void main(String[] args) {
10+
ApiClient defaultClient = ApiClient.getDefaultApiClient();
11+
SecurityMonitoringApi apiInstance = new SecurityMonitoringApi(defaultClient);
12+
13+
try {
14+
SecurityMonitoringCriticalAssetsResponse result =
15+
apiInstance.listSecurityMonitoringCriticalAssets();
16+
System.out.println(result);
17+
} catch (ApiException e) {
18+
System.err.println(
19+
"Exception when calling SecurityMonitoringApi#listSecurityMonitoringCriticalAssets");
20+
System.err.println("Status code: " + e.getCode());
21+
System.err.println("Reason: " + e.getResponseBody());
22+
System.err.println("Response headers: " + e.getResponseHeaders());
23+
e.printStackTrace();
24+
}
25+
}
26+
}
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
// Update a critical asset returns "OK" response
2+
3+
import com.datadog.api.client.ApiClient;
4+
import com.datadog.api.client.ApiException;
5+
import com.datadog.api.client.v2.api.SecurityMonitoringApi;
6+
import com.datadog.api.client.v2.model.SecurityMonitoringCriticalAssetResponse;
7+
import com.datadog.api.client.v2.model.SecurityMonitoringCriticalAssetSeverity;
8+
import com.datadog.api.client.v2.model.SecurityMonitoringCriticalAssetType;
9+
import com.datadog.api.client.v2.model.SecurityMonitoringCriticalAssetUpdateAttributes;
10+
import com.datadog.api.client.v2.model.SecurityMonitoringCriticalAssetUpdateData;
11+
import com.datadog.api.client.v2.model.SecurityMonitoringCriticalAssetUpdateRequest;
12+
import java.util.Collections;
13+
14+
public class Example {
15+
public static void main(String[] args) {
16+
ApiClient defaultClient = ApiClient.getDefaultApiClient();
17+
SecurityMonitoringApi apiInstance = new SecurityMonitoringApi(defaultClient);
18+
19+
// there is a valid "critical_asset" in the system
20+
String CRITICAL_ASSET_DATA_ID = System.getenv("CRITICAL_ASSET_DATA_ID");
21+
22+
SecurityMonitoringCriticalAssetUpdateRequest body =
23+
new SecurityMonitoringCriticalAssetUpdateRequest()
24+
.data(
25+
new SecurityMonitoringCriticalAssetUpdateData()
26+
.type(SecurityMonitoringCriticalAssetType.CRITICAL_ASSETS)
27+
.attributes(
28+
new SecurityMonitoringCriticalAssetUpdateAttributes()
29+
.enabled(false)
30+
.query("no:alert")
31+
.ruleQuery(
32+
"type:(log_detection OR signal_correlation OR workload_security OR"
33+
+ " application_security) ruleId:djg-ktx-ipq")
34+
.severity(SecurityMonitoringCriticalAssetSeverity.DECREASE)
35+
.tags(Collections.singletonList("env:production"))
36+
.version(1)));
37+
38+
try {
39+
SecurityMonitoringCriticalAssetResponse result =
40+
apiInstance.updateSecurityMonitoringCriticalAsset(CRITICAL_ASSET_DATA_ID, body);
41+
System.out.println(result);
42+
} catch (ApiException e) {
43+
System.err.println(
44+
"Exception when calling SecurityMonitoringApi#updateSecurityMonitoringCriticalAsset");
45+
System.err.println("Status code: " + e.getCode());
46+
System.err.println("Reason: " + e.getResponseBody());
47+
System.err.println("Response headers: " + e.getResponseHeaders());
48+
e.printStackTrace();
49+
}
50+
}
51+
}

0 commit comments

Comments
 (0)