Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
104 changes: 104 additions & 0 deletions .generator/schemas/v2/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -64151,6 +64151,63 @@ components:
- TWO_DAYS
- ONE_WEEK
- TWO_WEEKS
SecurityMonitoringRuleBulkDeleteAttributes:
description: Attributes for bulk deleting security monitoring rules.
properties:
ruleIds:
description: List of rule IDs to delete.
example:
- abc-000-u7q
- abc-000-7dd
items:
description: A rule ID to delete.
type: string
minItems: 1
type: array
required:
- ruleIds
type: object
SecurityMonitoringRuleBulkDeleteData:
description: Data for bulk deleting security monitoring rules.
properties:
attributes:
$ref: "#/components/schemas/SecurityMonitoringRuleBulkDeleteAttributes"
type:
$ref: "#/components/schemas/SecurityMonitoringRuleBulkDeleteRequestDataType"
required:
- attributes
- type
type: object
SecurityMonitoringRuleBulkDeletePayload:
description: Payload for bulk deleting security monitoring rules.
properties:
data:
$ref: "#/components/schemas/SecurityMonitoringRuleBulkDeleteData"
required:
- data
type: object
SecurityMonitoringRuleBulkDeleteRequestDataType:
description: The resource type for a bulk delete request.
enum:
- bulk_delete_rules
example: bulk_delete_rules
type: string
x-enum-varnames:
- BULK_DELETE_RULES
SecurityMonitoringRuleBulkDeleteResponse:
description: Response for bulk deleting security monitoring rules.
properties:
deletedRules:
description: List of successfully deleted rule IDs.
items:
type: string
type: array
failedRules:
description: List of rule IDs that could not be deleted.
items:
type: string
type: array
type: object
SecurityMonitoringRuleBulkExportAttributes:
description: Attributes for bulk exporting security monitoring rules.
properties:
Expand Down Expand Up @@ -123130,6 +123187,53 @@ paths:
operator: OR
permissions:
- security_monitoring_rules_write
/api/v2/security_monitoring/rules/bulk_delete:
delete:
description: |-
Delete multiple security monitoring rules in a single request. Default rules cannot be deleted.
operationId: BulkDeleteSecurityMonitoringRules
requestBody:
content:
application/json:
examples:
default:
value:
data:
attributes:
ruleIds:
- abc-000-u7q
- abc-000-7dd
type: bulk_delete_rules
schema:
$ref: "#/components/schemas/SecurityMonitoringRuleBulkDeletePayload"
required: true
responses:
"200":
content:
"application/json":
schema:
$ref: "#/components/schemas/SecurityMonitoringRuleBulkDeleteResponse"
description: OK
"400":
$ref: "#/components/responses/BadRequestResponse"
"403":
$ref: "#/components/responses/NotAuthorizedResponse"
"404":
$ref: "#/components/responses/NotFoundResponse"
"429":
$ref: "#/components/responses/TooManyRequestsResponse"
security:
- apiKeyAuth: []
appKeyAuth: []
- AuthZ:
- security_monitoring_rules_write
summary: Bulk delete security monitoring rules
tags: ["Security Monitoring"]
x-codegen-request-body-name: body
"x-permission":
operator: OR
permissions:
- security_monitoring_rules_write
/api/v2/security_monitoring/rules/bulk_export:
post:
description: |-
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
// Bulk delete security monitoring rules 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.SecurityMonitoringRuleBulkDeleteAttributes;
import com.datadog.api.client.v2.model.SecurityMonitoringRuleBulkDeleteData;
import com.datadog.api.client.v2.model.SecurityMonitoringRuleBulkDeletePayload;
import com.datadog.api.client.v2.model.SecurityMonitoringRuleBulkDeleteRequestDataType;
import com.datadog.api.client.v2.model.SecurityMonitoringRuleBulkDeleteResponse;
import java.util.Arrays;

public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
SecurityMonitoringApi apiInstance = new SecurityMonitoringApi(defaultClient);

SecurityMonitoringRuleBulkDeletePayload body =
new SecurityMonitoringRuleBulkDeletePayload()
.data(
new SecurityMonitoringRuleBulkDeleteData()
.attributes(
new SecurityMonitoringRuleBulkDeleteAttributes()
.ruleIds(Arrays.asList("abc-000-u7q", "abc-000-7dd")))
.type(SecurityMonitoringRuleBulkDeleteRequestDataType.BULK_DELETE_RULES));

try {
SecurityMonitoringRuleBulkDeleteResponse result =
apiInstance.bulkDeleteSecurityMonitoringRules(body);
System.out.println(result);
} catch (ApiException e) {
System.err.println(
"Exception when calling SecurityMonitoringApi#bulkDeleteSecurityMonitoringRules");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,8 @@
import com.datadog.api.client.v2.model.SecurityMonitoringCriticalAssetsResponse;
import com.datadog.api.client.v2.model.SecurityMonitoringListRulesResponse;
import com.datadog.api.client.v2.model.SecurityMonitoringPaginatedSuppressionsResponse;
import com.datadog.api.client.v2.model.SecurityMonitoringRuleBulkDeletePayload;
import com.datadog.api.client.v2.model.SecurityMonitoringRuleBulkDeleteResponse;
import com.datadog.api.client.v2.model.SecurityMonitoringRuleBulkExportPayload;
import com.datadog.api.client.v2.model.SecurityMonitoringRuleConvertPayload;
import com.datadog.api.client.v2.model.SecurityMonitoringRuleConvertResponse;
Expand Down Expand Up @@ -607,6 +609,147 @@ public CompletableFuture<ApiResponse<FindingCaseResponse>> attachJiraIssueWithHt
new GenericType<FindingCaseResponse>() {});
}

/**
* Bulk delete security monitoring rules.
*
* <p>See {@link #bulkDeleteSecurityMonitoringRulesWithHttpInfo}.
*
* @param body (required)
* @return SecurityMonitoringRuleBulkDeleteResponse
* @throws ApiException if fails to make API call
*/
public SecurityMonitoringRuleBulkDeleteResponse bulkDeleteSecurityMonitoringRules(
SecurityMonitoringRuleBulkDeletePayload body) throws ApiException {
return bulkDeleteSecurityMonitoringRulesWithHttpInfo(body).getData();
}

/**
* Bulk delete security monitoring rules.
*
* <p>See {@link #bulkDeleteSecurityMonitoringRulesWithHttpInfoAsync}.
*
* @param body (required)
* @return CompletableFuture&lt;SecurityMonitoringRuleBulkDeleteResponse&gt;
*/
public CompletableFuture<SecurityMonitoringRuleBulkDeleteResponse>
bulkDeleteSecurityMonitoringRulesAsync(SecurityMonitoringRuleBulkDeletePayload body) {
return bulkDeleteSecurityMonitoringRulesWithHttpInfoAsync(body)
.thenApply(
response -> {
return response.getData();
});
}

/**
* Delete multiple security monitoring rules in a single request. Default rules cannot be deleted.
*
* @param body (required)
* @return ApiResponse&lt;SecurityMonitoringRuleBulkDeleteResponse&gt;
* @throws ApiException if fails to make API call
* @http.response.details
* <table border="1">
* <caption>Response details</caption>
* <tr><td> Status Code </td><td> Description </td><td> Response Headers </td></tr>
* <tr><td> 200 </td><td> OK </td><td> - </td></tr>
* <tr><td> 400 </td><td> Bad Request </td><td> - </td></tr>
* <tr><td> 403 </td><td> Not Authorized </td><td> - </td></tr>
* <tr><td> 404 </td><td> Not Found </td><td> - </td></tr>
* <tr><td> 429 </td><td> Too many requests </td><td> - </td></tr>
* </table>
*/
public ApiResponse<SecurityMonitoringRuleBulkDeleteResponse>
bulkDeleteSecurityMonitoringRulesWithHttpInfo(SecurityMonitoringRuleBulkDeletePayload body)
throws ApiException {
Object localVarPostBody = body;

// verify the required parameter 'body' is set
if (body == null) {
throw new ApiException(
400,
"Missing the required parameter 'body' when calling bulkDeleteSecurityMonitoringRules");
}
// create path and map variables
String localVarPath = "/api/v2/security_monitoring/rules/bulk_delete";

Map<String, String> localVarHeaderParams = new HashMap<String, String>();

Invocation.Builder builder =
apiClient.createBuilder(
"v2.SecurityMonitoringApi.bulkDeleteSecurityMonitoringRules",
localVarPath,
new ArrayList<Pair>(),
localVarHeaderParams,
new HashMap<String, String>(),
new String[] {"application/json"},
new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"});
return apiClient.invokeAPI(
"DELETE",
builder,
localVarHeaderParams,
new String[] {"application/json"},
localVarPostBody,
new HashMap<String, Object>(),
false,
new GenericType<SecurityMonitoringRuleBulkDeleteResponse>() {});
}

/**
* Bulk delete security monitoring rules.
*
* <p>See {@link #bulkDeleteSecurityMonitoringRulesWithHttpInfo}.
*
* @param body (required)
* @return CompletableFuture&lt;ApiResponse&lt;SecurityMonitoringRuleBulkDeleteResponse&gt;&gt;
*/
public CompletableFuture<ApiResponse<SecurityMonitoringRuleBulkDeleteResponse>>
bulkDeleteSecurityMonitoringRulesWithHttpInfoAsync(
SecurityMonitoringRuleBulkDeletePayload body) {
Object localVarPostBody = body;

// verify the required parameter 'body' is set
if (body == null) {
CompletableFuture<ApiResponse<SecurityMonitoringRuleBulkDeleteResponse>> result =
new CompletableFuture<>();
result.completeExceptionally(
new ApiException(
400,
"Missing the required parameter 'body' when calling"
+ " bulkDeleteSecurityMonitoringRules"));
return result;
}
// create path and map variables
String localVarPath = "/api/v2/security_monitoring/rules/bulk_delete";

Map<String, String> localVarHeaderParams = new HashMap<String, String>();

Invocation.Builder builder;
try {
builder =
apiClient.createBuilder(
"v2.SecurityMonitoringApi.bulkDeleteSecurityMonitoringRules",
localVarPath,
new ArrayList<Pair>(),
localVarHeaderParams,
new HashMap<String, String>(),
new String[] {"application/json"},
new String[] {"apiKeyAuth", "appKeyAuth", "AuthZ"});
} catch (ApiException ex) {
CompletableFuture<ApiResponse<SecurityMonitoringRuleBulkDeleteResponse>> result =
new CompletableFuture<>();
result.completeExceptionally(ex);
return result;
}
return apiClient.invokeAPIAsync(
"DELETE",
builder,
localVarHeaderParams,
new String[] {"application/json"},
localVarPostBody,
new HashMap<String, Object>(),
false,
new GenericType<SecurityMonitoringRuleBulkDeleteResponse>() {});
}

/**
* Bulk update security signals.
*
Expand Down
Loading
Loading