@@ -90,6 +90,8 @@ import { SecurityMonitoringCriticalAssetsResponse } from "./models/SecurityMonit
9090import { SecurityMonitoringCriticalAssetUpdateRequest } from "./models/SecurityMonitoringCriticalAssetUpdateRequest";
9191import { SecurityMonitoringListRulesResponse } from "./models/SecurityMonitoringListRulesResponse";
9292import { SecurityMonitoringPaginatedSuppressionsResponse } from "./models/SecurityMonitoringPaginatedSuppressionsResponse";
93+ import { SecurityMonitoringRuleBulkDeletePayload } from "./models/SecurityMonitoringRuleBulkDeletePayload";
94+ import { SecurityMonitoringRuleBulkDeleteResponse } from "./models/SecurityMonitoringRuleBulkDeleteResponse";
9395import { SecurityMonitoringRuleBulkExportPayload } from "./models/SecurityMonitoringRuleBulkExportPayload";
9496import { SecurityMonitoringRuleConvertPayload } from "./models/SecurityMonitoringRuleConvertPayload";
9597import { SecurityMonitoringRuleConvertResponse } from "./models/SecurityMonitoringRuleConvertResponse";
@@ -312,6 +314,62 @@ export class SecurityMonitoringApiRequestFactory extends BaseAPIRequestFactory {
312314 return requestContext;
313315 }
314316
317+ public async bulkDeleteSecurityMonitoringRules(
318+ body: SecurityMonitoringRuleBulkDeletePayload,
319+ _options?: Configuration,
320+ ): Promise<RequestContext> {
321+ const _config = _options || this.configuration;
322+
323+ // verify required parameter 'body' is not null or undefined
324+ if (body === null || body === undefined) {
325+ throw new RequiredError("body", "bulkDeleteSecurityMonitoringRules");
326+ }
327+
328+ // Path Params
329+ const localVarPath = "/api/v2/security_monitoring/rules/bulk_delete";
330+
331+ // Make Request Context
332+ const { server, overrides } = _config.getServerAndOverrides(
333+ "SecurityMonitoringApi.v2.bulkDeleteSecurityMonitoringRules",
334+ SecurityMonitoringApi.operationServers,
335+ );
336+ const requestContext = server.makeRequestContext(
337+ localVarPath,
338+ HttpMethod.DELETE,
339+ overrides,
340+ );
341+ requestContext.setHeaderParam("Accept", "application/json");
342+ requestContext.setHttpConfig(_config.httpConfig);
343+
344+ // Set User-Agent
345+ if (this.userAgent) {
346+ requestContext.setHeaderParam("User-Agent", this.userAgent);
347+ }
348+
349+ // Body Params
350+ const contentType = getPreferredMediaType(["application/json"]);
351+ requestContext.setHeaderParam("Content-Type", contentType);
352+ const serializedBody = stringify(
353+ serialize(
354+ body,
355+ TypingInfo,
356+ "SecurityMonitoringRuleBulkDeletePayload",
357+ "",
358+ ),
359+ contentType,
360+ );
361+ requestContext.setBody(serializedBody);
362+
363+ // Apply auth methods
364+ applySecurityAuthentication(_config, requestContext, [
365+ "apiKeyAuth",
366+ "appKeyAuth",
367+ "AuthZ",
368+ ]);
369+
370+ return requestContext;
371+ }
372+
315373 public async bulkEditSecurityMonitoringSignals(
316374 body: SecurityMonitoringSignalsBulkUpdateRequest,
317375 _options?: Configuration,
@@ -6527,6 +6585,67 @@ export class SecurityMonitoringApiResponseProcessor {
65276585 );
65286586 }
65296587
6588+ /**
6589+ * Unwraps the actual response sent by the server from the response context and deserializes the response content
6590+ * to the expected objects
6591+ *
6592+ * @params response Response returned by the server for a request to bulkDeleteSecurityMonitoringRules
6593+ * @throws ApiException if the response code was not in [200, 299]
6594+ */
6595+ public async bulkDeleteSecurityMonitoringRules(
6596+ response: ResponseContext,
6597+ ): Promise<SecurityMonitoringRuleBulkDeleteResponse> {
6598+ const contentType = normalizeMediaType(response.headers["content-type"]);
6599+ if (response.httpStatusCode === 200) {
6600+ const body: SecurityMonitoringRuleBulkDeleteResponse = deserialize(
6601+ parse(await response.body.text(), contentType),
6602+ TypingInfo,
6603+ "SecurityMonitoringRuleBulkDeleteResponse",
6604+ ) as SecurityMonitoringRuleBulkDeleteResponse;
6605+ return body;
6606+ }
6607+ if (
6608+ response.httpStatusCode === 400 ||
6609+ response.httpStatusCode === 403 ||
6610+ response.httpStatusCode === 404 ||
6611+ response.httpStatusCode === 429
6612+ ) {
6613+ const bodyText = parse(await response.body.text(), contentType);
6614+ let body: APIErrorResponse;
6615+ try {
6616+ body = deserialize(
6617+ bodyText,
6618+ TypingInfo,
6619+ "APIErrorResponse",
6620+ ) as APIErrorResponse;
6621+ } catch (error) {
6622+ logger.debug(`Got error deserializing error: ${error}`);
6623+ throw new ApiException<APIErrorResponse>(
6624+ response.httpStatusCode,
6625+ bodyText,
6626+ );
6627+ }
6628+ throw new ApiException<APIErrorResponse>(response.httpStatusCode, body);
6629+ }
6630+
6631+ // Work around for missing responses in specification, e.g. for petstore.yaml
6632+ if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) {
6633+ const body: SecurityMonitoringRuleBulkDeleteResponse = deserialize(
6634+ parse(await response.body.text(), contentType),
6635+ TypingInfo,
6636+ "SecurityMonitoringRuleBulkDeleteResponse",
6637+ "",
6638+ ) as SecurityMonitoringRuleBulkDeleteResponse;
6639+ return body;
6640+ }
6641+
6642+ const body = (await response.body.text()) || "";
6643+ throw new ApiException<string>(
6644+ response.httpStatusCode,
6645+ 'Unknown API Status Code!\nBody: "' + body + '"',
6646+ );
6647+ }
6648+
65306649 /**
65316650 * Unwraps the actual response sent by the server from the response context and deserializes the response content
65326651 * to the expected objects
@@ -12271,6 +12390,13 @@ export interface SecurityMonitoringApiAttachJiraIssueRequest {
1227112390 body: AttachJiraIssueRequest;
1227212391}
1227312392
12393+ export interface SecurityMonitoringApiBulkDeleteSecurityMonitoringRulesRequest {
12394+ /**
12395+ * @type SecurityMonitoringRuleBulkDeletePayload
12396+ */
12397+ body: SecurityMonitoringRuleBulkDeletePayload;
12398+ }
12399+
1227412400export interface SecurityMonitoringApiBulkEditSecurityMonitoringSignalsRequest {
1227512401 /**
1227612402 * Attributes describing the signal updates.
@@ -13762,6 +13888,30 @@ export class SecurityMonitoringApi {
1376213888 });
1376313889 }
1376413890
13891+ /**
13892+ * Delete multiple security monitoring rules in a single request. Default rules cannot be deleted.
13893+ * @param param The request object
13894+ */
13895+ public bulkDeleteSecurityMonitoringRules(
13896+ param: SecurityMonitoringApiBulkDeleteSecurityMonitoringRulesRequest,
13897+ options?: Configuration,
13898+ ): Promise<SecurityMonitoringRuleBulkDeleteResponse> {
13899+ const requestContextPromise =
13900+ this.requestFactory.bulkDeleteSecurityMonitoringRules(
13901+ param.body,
13902+ options,
13903+ );
13904+ return requestContextPromise.then((requestContext) => {
13905+ return this.configuration.httpApi
13906+ .send(requestContext)
13907+ .then((responseContext) => {
13908+ return this.responseProcessor.bulkDeleteSecurityMonitoringRules(
13909+ responseContext,
13910+ );
13911+ });
13912+ });
13913+ }
13914+
1376513915 /**
1376613916 * Update the triage state or assignee of multiple security signals at once.
1376713917 * The maximum number of signals that can be updated in a single request is 199.
0 commit comments