Skip to content

Commit 4007b37

Browse files
author
ci.datadog-api-spec
committed
Regenerate client from commit 19c6e22 of spec repo
1 parent 1f8f2bf commit 4007b37

11 files changed

Lines changed: 810 additions & 0 deletions

.generator/schemas/v2/openapi.yaml

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63313,6 +63313,63 @@ components:
6331363313
- TWO_DAYS
6331463314
- ONE_WEEK
6331563315
- TWO_WEEKS
63316+
SecurityMonitoringRuleBulkDeleteAttributes:
63317+
description: Attributes for bulk deleting security monitoring rules.
63318+
properties:
63319+
ruleIds:
63320+
description: List of rule IDs to delete.
63321+
example:
63322+
- abc-000-u7q
63323+
- abc-000-7dd
63324+
items:
63325+
description: A rule ID to delete.
63326+
type: string
63327+
minItems: 1
63328+
type: array
63329+
required:
63330+
- ruleIds
63331+
type: object
63332+
SecurityMonitoringRuleBulkDeleteData:
63333+
description: Data for bulk deleting security monitoring rules.
63334+
properties:
63335+
attributes:
63336+
$ref: "#/components/schemas/SecurityMonitoringRuleBulkDeleteAttributes"
63337+
type:
63338+
$ref: "#/components/schemas/SecurityMonitoringRuleBulkDeleteRequestDataType"
63339+
required:
63340+
- attributes
63341+
- type
63342+
type: object
63343+
SecurityMonitoringRuleBulkDeletePayload:
63344+
description: Payload for bulk deleting security monitoring rules.
63345+
properties:
63346+
data:
63347+
$ref: "#/components/schemas/SecurityMonitoringRuleBulkDeleteData"
63348+
required:
63349+
- data
63350+
type: object
63351+
SecurityMonitoringRuleBulkDeleteRequestDataType:
63352+
description: The resource type for a bulk delete request.
63353+
enum:
63354+
- bulk_delete_rules
63355+
example: bulk_delete_rules
63356+
type: string
63357+
x-enum-varnames:
63358+
- BULK_DELETE_RULES
63359+
SecurityMonitoringRuleBulkDeleteResponse:
63360+
description: Response for bulk deleting security monitoring rules.
63361+
properties:
63362+
deletedRules:
63363+
description: List of successfully deleted rule IDs.
63364+
items:
63365+
type: string
63366+
type: array
63367+
failedRules:
63368+
description: List of rule IDs that could not be deleted.
63369+
items:
63370+
type: string
63371+
type: array
63372+
type: object
6331663373
SecurityMonitoringRuleBulkExportAttributes:
6331763374
description: Attributes for bulk exporting security monitoring rules.
6331863375
properties:
@@ -121305,6 +121362,53 @@ paths:
121305121362
operator: OR
121306121363
permissions:
121307121364
- security_monitoring_rules_write
121365+
/api/v2/security_monitoring/rules/bulk_delete:
121366+
delete:
121367+
description: |-
121368+
Delete multiple security monitoring rules in a single request. Default rules cannot be deleted.
121369+
operationId: BulkDeleteSecurityMonitoringRules
121370+
requestBody:
121371+
content:
121372+
application/json:
121373+
examples:
121374+
default:
121375+
value:
121376+
data:
121377+
attributes:
121378+
ruleIds:
121379+
- abc-000-u7q
121380+
- abc-000-7dd
121381+
type: bulk_delete_rules
121382+
schema:
121383+
$ref: "#/components/schemas/SecurityMonitoringRuleBulkDeletePayload"
121384+
required: true
121385+
responses:
121386+
"200":
121387+
content:
121388+
"application/json":
121389+
schema:
121390+
$ref: "#/components/schemas/SecurityMonitoringRuleBulkDeleteResponse"
121391+
description: OK
121392+
"400":
121393+
$ref: "#/components/responses/BadRequestResponse"
121394+
"403":
121395+
$ref: "#/components/responses/NotAuthorizedResponse"
121396+
"404":
121397+
$ref: "#/components/responses/NotFoundResponse"
121398+
"429":
121399+
$ref: "#/components/responses/TooManyRequestsResponse"
121400+
security:
121401+
- apiKeyAuth: []
121402+
appKeyAuth: []
121403+
- AuthZ:
121404+
- security_monitoring_rules_write
121405+
summary: Bulk delete security monitoring rules
121406+
tags: ["Security Monitoring"]
121407+
x-codegen-request-body-name: body
121408+
"x-permission":
121409+
operator: OR
121410+
permissions:
121411+
- security_monitoring_rules_write
121308121412
/api/v2/security_monitoring/rules/bulk_export:
121309121413
post:
121310121414
description: |-

api/datadogV2/api_security_monitoring.go

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,86 @@ func (a *SecurityMonitoringApi) AttachJiraIssue(ctx _context.Context, body Attac
271271
return localVarReturnValue, localVarHTTPResponse, nil
272272
}
273273

274+
// BulkDeleteSecurityMonitoringRules Bulk delete security monitoring rules.
275+
// Delete multiple security monitoring rules in a single request. Default rules cannot be deleted.
276+
func (a *SecurityMonitoringApi) BulkDeleteSecurityMonitoringRules(ctx _context.Context, body SecurityMonitoringRuleBulkDeletePayload) (SecurityMonitoringRuleBulkDeleteResponse, *_nethttp.Response, error) {
277+
var (
278+
localVarHTTPMethod = _nethttp.MethodDelete
279+
localVarPostBody interface{}
280+
localVarReturnValue SecurityMonitoringRuleBulkDeleteResponse
281+
)
282+
283+
localBasePath, err := a.Client.Cfg.ServerURLWithContext(ctx, "v2.SecurityMonitoringApi.BulkDeleteSecurityMonitoringRules")
284+
if err != nil {
285+
return localVarReturnValue, nil, datadog.GenericOpenAPIError{ErrorMessage: err.Error()}
286+
}
287+
288+
localVarPath := localBasePath + "/api/v2/security_monitoring/rules/bulk_delete"
289+
290+
localVarHeaderParams := make(map[string]string)
291+
localVarQueryParams := _neturl.Values{}
292+
localVarFormParams := _neturl.Values{}
293+
localVarHeaderParams["Content-Type"] = "application/json"
294+
localVarHeaderParams["Accept"] = "application/json"
295+
296+
// body params
297+
localVarPostBody = &body
298+
if a.Client.Cfg.DelegatedTokenConfig != nil {
299+
err = datadog.UseDelegatedTokenAuth(ctx, &localVarHeaderParams, a.Client.Cfg.DelegatedTokenConfig)
300+
if err != nil {
301+
return localVarReturnValue, nil, err
302+
}
303+
} else {
304+
datadog.SetAuthKeys(
305+
ctx,
306+
&localVarHeaderParams,
307+
[2]string{"apiKeyAuth", "DD-API-KEY"},
308+
[2]string{"appKeyAuth", "DD-APPLICATION-KEY"},
309+
)
310+
}
311+
req, err := a.Client.PrepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, nil)
312+
if err != nil {
313+
return localVarReturnValue, nil, err
314+
}
315+
316+
localVarHTTPResponse, err := a.Client.CallAPI(req)
317+
if err != nil || localVarHTTPResponse == nil {
318+
return localVarReturnValue, localVarHTTPResponse, err
319+
}
320+
321+
localVarBody, err := datadog.ReadBody(localVarHTTPResponse)
322+
if err != nil {
323+
return localVarReturnValue, localVarHTTPResponse, err
324+
}
325+
326+
if localVarHTTPResponse.StatusCode >= 300 {
327+
newErr := datadog.GenericOpenAPIError{
328+
ErrorBody: localVarBody,
329+
ErrorMessage: localVarHTTPResponse.Status,
330+
}
331+
if localVarHTTPResponse.StatusCode == 400 || localVarHTTPResponse.StatusCode == 403 || localVarHTTPResponse.StatusCode == 404 || localVarHTTPResponse.StatusCode == 429 {
332+
var v APIErrorResponse
333+
err = a.Client.Decode(&v, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
334+
if err != nil {
335+
return localVarReturnValue, localVarHTTPResponse, newErr
336+
}
337+
newErr.ErrorModel = v
338+
}
339+
return localVarReturnValue, localVarHTTPResponse, newErr
340+
}
341+
342+
err = a.Client.Decode(&localVarReturnValue, localVarBody, localVarHTTPResponse.Header.Get("Content-Type"))
343+
if err != nil {
344+
newErr := datadog.GenericOpenAPIError{
345+
ErrorBody: localVarBody,
346+
ErrorMessage: err.Error(),
347+
}
348+
return localVarReturnValue, localVarHTTPResponse, newErr
349+
}
350+
351+
return localVarReturnValue, localVarHTTPResponse, nil
352+
}
353+
274354
// BulkEditSecurityMonitoringSignals Bulk update security signals.
275355
// Update the triage state or assignee of multiple security signals at once.
276356
// The maximum number of signals that can be updated in a single request is 199.

api/datadogV2/doc.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -736,6 +736,7 @@
736736
// - [SecurityMonitoringApi.ActivateContentPack]
737737
// - [SecurityMonitoringApi.AttachCase]
738738
// - [SecurityMonitoringApi.AttachJiraIssue]
739+
// - [SecurityMonitoringApi.BulkDeleteSecurityMonitoringRules]
739740
// - [SecurityMonitoringApi.BulkEditSecurityMonitoringSignals]
740741
// - [SecurityMonitoringApi.BulkEditSecurityMonitoringSignalsAssignee]
741742
// - [SecurityMonitoringApi.BulkEditSecurityMonitoringSignalsState]
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
// Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
2+
// This product includes software developed at Datadog (https://www.datadoghq.com/).
3+
// Copyright 2019-Present Datadog, Inc.
4+
5+
package datadogV2
6+
7+
import (
8+
"fmt"
9+
10+
"github.com/DataDog/datadog-api-client-go/v2/api/datadog"
11+
)
12+
13+
// SecurityMonitoringRuleBulkDeleteAttributes Attributes for bulk deleting security monitoring rules.
14+
type SecurityMonitoringRuleBulkDeleteAttributes struct {
15+
// List of rule IDs to delete.
16+
RuleIds []string `json:"ruleIds"`
17+
// UnparsedObject contains the raw value of the object if there was an error when deserializing into the struct
18+
UnparsedObject map[string]interface{} `json:"-"`
19+
AdditionalProperties map[string]interface{} `json:"-"`
20+
}
21+
22+
// NewSecurityMonitoringRuleBulkDeleteAttributes instantiates a new SecurityMonitoringRuleBulkDeleteAttributes object.
23+
// This constructor will assign default values to properties that have it defined,
24+
// and makes sure properties required by API are set, but the set of arguments
25+
// will change when the set of required properties is changed.
26+
func NewSecurityMonitoringRuleBulkDeleteAttributes(ruleIds []string) *SecurityMonitoringRuleBulkDeleteAttributes {
27+
this := SecurityMonitoringRuleBulkDeleteAttributes{}
28+
this.RuleIds = ruleIds
29+
return &this
30+
}
31+
32+
// NewSecurityMonitoringRuleBulkDeleteAttributesWithDefaults instantiates a new SecurityMonitoringRuleBulkDeleteAttributes object.
33+
// This constructor will only assign default values to properties that have it defined,
34+
// but it doesn't guarantee that properties required by API are set.
35+
func NewSecurityMonitoringRuleBulkDeleteAttributesWithDefaults() *SecurityMonitoringRuleBulkDeleteAttributes {
36+
this := SecurityMonitoringRuleBulkDeleteAttributes{}
37+
return &this
38+
}
39+
40+
// GetRuleIds returns the RuleIds field value.
41+
func (o *SecurityMonitoringRuleBulkDeleteAttributes) GetRuleIds() []string {
42+
if o == nil {
43+
var ret []string
44+
return ret
45+
}
46+
return o.RuleIds
47+
}
48+
49+
// GetRuleIdsOk returns a tuple with the RuleIds field value
50+
// and a boolean to check if the value has been set.
51+
func (o *SecurityMonitoringRuleBulkDeleteAttributes) GetRuleIdsOk() (*[]string, bool) {
52+
if o == nil {
53+
return nil, false
54+
}
55+
return &o.RuleIds, true
56+
}
57+
58+
// SetRuleIds sets field value.
59+
func (o *SecurityMonitoringRuleBulkDeleteAttributes) SetRuleIds(v []string) {
60+
o.RuleIds = v
61+
}
62+
63+
// MarshalJSON serializes the struct using spec logic.
64+
func (o SecurityMonitoringRuleBulkDeleteAttributes) MarshalJSON() ([]byte, error) {
65+
toSerialize := map[string]interface{}{}
66+
if o.UnparsedObject != nil {
67+
return datadog.Marshal(o.UnparsedObject)
68+
}
69+
toSerialize["ruleIds"] = o.RuleIds
70+
71+
for key, value := range o.AdditionalProperties {
72+
toSerialize[key] = value
73+
}
74+
return datadog.Marshal(toSerialize)
75+
}
76+
77+
// UnmarshalJSON deserializes the given payload.
78+
func (o *SecurityMonitoringRuleBulkDeleteAttributes) UnmarshalJSON(bytes []byte) (err error) {
79+
all := struct {
80+
RuleIds *[]string `json:"ruleIds"`
81+
}{}
82+
if err = datadog.Unmarshal(bytes, &all); err != nil {
83+
return datadog.Unmarshal(bytes, &o.UnparsedObject)
84+
}
85+
if all.RuleIds == nil {
86+
return fmt.Errorf("required field ruleIds missing")
87+
}
88+
additionalProperties := make(map[string]interface{})
89+
if err = datadog.Unmarshal(bytes, &additionalProperties); err == nil {
90+
datadog.DeleteKeys(additionalProperties, &[]string{"ruleIds"})
91+
} else {
92+
return err
93+
}
94+
o.RuleIds = *all.RuleIds
95+
96+
if len(additionalProperties) > 0 {
97+
o.AdditionalProperties = additionalProperties
98+
}
99+
100+
return nil
101+
}

0 commit comments

Comments
 (0)