@@ -2910,6 +2910,93 @@ func (a *SecurityMonitoringApi) GetFinding(ctx _context.Context, findingId strin
29102910 return localVarReturnValue , localVarHTTPResponse , nil
29112911}
29122912
2913+ // GetIndicatorOfCompromise Get an indicator of compromise.
2914+ // Get detailed information about a specific indicator of compromise (IoC).
2915+ func (a * SecurityMonitoringApi ) GetIndicatorOfCompromise (ctx _context.Context , indicator string ) (GetIoCIndicatorResponse , * _nethttp.Response , error ) {
2916+ var (
2917+ localVarHTTPMethod = _nethttp .MethodGet
2918+ localVarPostBody interface {}
2919+ localVarReturnValue GetIoCIndicatorResponse
2920+ )
2921+
2922+ operationId := "v2.GetIndicatorOfCompromise"
2923+ isOperationEnabled := a .Client .Cfg .IsUnstableOperationEnabled (operationId )
2924+ if ! isOperationEnabled {
2925+ return localVarReturnValue , nil , datadog.GenericOpenAPIError {ErrorMessage : _fmt .Sprintf ("Unstable operation '%s' is disabled" , operationId )}
2926+ }
2927+ if isOperationEnabled && a .Client .Cfg .Debug {
2928+ _log .Printf ("WARNING: Using unstable operation '%s'" , operationId )
2929+ }
2930+
2931+ localBasePath , err := a .Client .Cfg .ServerURLWithContext (ctx , "v2.SecurityMonitoringApi.GetIndicatorOfCompromise" )
2932+ if err != nil {
2933+ return localVarReturnValue , nil , datadog.GenericOpenAPIError {ErrorMessage : err .Error ()}
2934+ }
2935+
2936+ localVarPath := localBasePath + "/api/v2/security/siem/ioc-explorer/indicator"
2937+
2938+ localVarHeaderParams := make (map [string ]string )
2939+ localVarQueryParams := _neturl.Values {}
2940+ localVarFormParams := _neturl.Values {}
2941+ localVarQueryParams .Add ("indicator" , datadog .ParameterToString (indicator , "" ))
2942+ localVarHeaderParams ["Accept" ] = "application/json"
2943+
2944+ if a .Client .Cfg .DelegatedTokenConfig != nil {
2945+ err = datadog .UseDelegatedTokenAuth (ctx , & localVarHeaderParams , a .Client .Cfg .DelegatedTokenConfig )
2946+ if err != nil {
2947+ return localVarReturnValue , nil , err
2948+ }
2949+ } else {
2950+ datadog .SetAuthKeys (
2951+ ctx ,
2952+ & localVarHeaderParams ,
2953+ [2 ]string {"apiKeyAuth" , "DD-API-KEY" },
2954+ [2 ]string {"appKeyAuth" , "DD-APPLICATION-KEY" },
2955+ )
2956+ }
2957+ req , err := a .Client .PrepareRequest (ctx , localVarPath , localVarHTTPMethod , localVarPostBody , localVarHeaderParams , localVarQueryParams , localVarFormParams , nil )
2958+ if err != nil {
2959+ return localVarReturnValue , nil , err
2960+ }
2961+
2962+ localVarHTTPResponse , err := a .Client .CallAPI (req )
2963+ if err != nil || localVarHTTPResponse == nil {
2964+ return localVarReturnValue , localVarHTTPResponse , err
2965+ }
2966+
2967+ localVarBody , err := datadog .ReadBody (localVarHTTPResponse )
2968+ if err != nil {
2969+ return localVarReturnValue , localVarHTTPResponse , err
2970+ }
2971+
2972+ if localVarHTTPResponse .StatusCode >= 300 {
2973+ newErr := datadog.GenericOpenAPIError {
2974+ ErrorBody : localVarBody ,
2975+ ErrorMessage : localVarHTTPResponse .Status ,
2976+ }
2977+ if localVarHTTPResponse .StatusCode == 400 || localVarHTTPResponse .StatusCode == 403 || localVarHTTPResponse .StatusCode == 404 || localVarHTTPResponse .StatusCode == 429 {
2978+ var v APIErrorResponse
2979+ err = a .Client .Decode (& v , localVarBody , localVarHTTPResponse .Header .Get ("Content-Type" ))
2980+ if err != nil {
2981+ return localVarReturnValue , localVarHTTPResponse , newErr
2982+ }
2983+ newErr .ErrorModel = v
2984+ }
2985+ return localVarReturnValue , localVarHTTPResponse , newErr
2986+ }
2987+
2988+ err = a .Client .Decode (& localVarReturnValue , localVarBody , localVarHTTPResponse .Header .Get ("Content-Type" ))
2989+ if err != nil {
2990+ newErr := datadog.GenericOpenAPIError {
2991+ ErrorBody : localVarBody ,
2992+ ErrorMessage : err .Error (),
2993+ }
2994+ return localVarReturnValue , localVarHTTPResponse , newErr
2995+ }
2996+
2997+ return localVarReturnValue , localVarHTTPResponse , nil
2998+ }
2999+
29133000// GetInvestigationLogQueriesMatchingSignal Get investigation queries for a signal.
29143001// Get the list of investigation log queries available for a given security signal.
29153002func (a * SecurityMonitoringApi ) GetInvestigationLogQueriesMatchingSignal (ctx _context.Context , signalId string ) (SecurityMonitoringSignalSuggestedActionsResponse , * _nethttp.Response , error ) {
@@ -5403,6 +5490,160 @@ func (a *SecurityMonitoringApi) ListFindingsWithPagination(ctx _context.Context,
54035490 return items , cancel
54045491}
54055492
5493+ // ListIndicatorsOfCompromiseOptionalParameters holds optional parameters for ListIndicatorsOfCompromise.
5494+ type ListIndicatorsOfCompromiseOptionalParameters struct {
5495+ Limit * int32
5496+ Offset * int32
5497+ Query * string
5498+ SortColumn * string
5499+ SortOrder * string
5500+ }
5501+
5502+ // NewListIndicatorsOfCompromiseOptionalParameters creates an empty struct for parameters.
5503+ func NewListIndicatorsOfCompromiseOptionalParameters () * ListIndicatorsOfCompromiseOptionalParameters {
5504+ this := ListIndicatorsOfCompromiseOptionalParameters {}
5505+ return & this
5506+ }
5507+
5508+ // WithLimit sets the corresponding parameter name and returns the struct.
5509+ func (r * ListIndicatorsOfCompromiseOptionalParameters ) WithLimit (limit int32 ) * ListIndicatorsOfCompromiseOptionalParameters {
5510+ r .Limit = & limit
5511+ return r
5512+ }
5513+
5514+ // WithOffset sets the corresponding parameter name and returns the struct.
5515+ func (r * ListIndicatorsOfCompromiseOptionalParameters ) WithOffset (offset int32 ) * ListIndicatorsOfCompromiseOptionalParameters {
5516+ r .Offset = & offset
5517+ return r
5518+ }
5519+
5520+ // WithQuery sets the corresponding parameter name and returns the struct.
5521+ func (r * ListIndicatorsOfCompromiseOptionalParameters ) WithQuery (query string ) * ListIndicatorsOfCompromiseOptionalParameters {
5522+ r .Query = & query
5523+ return r
5524+ }
5525+
5526+ // WithSortColumn sets the corresponding parameter name and returns the struct.
5527+ func (r * ListIndicatorsOfCompromiseOptionalParameters ) WithSortColumn (sortColumn string ) * ListIndicatorsOfCompromiseOptionalParameters {
5528+ r .SortColumn = & sortColumn
5529+ return r
5530+ }
5531+
5532+ // WithSortOrder sets the corresponding parameter name and returns the struct.
5533+ func (r * ListIndicatorsOfCompromiseOptionalParameters ) WithSortOrder (sortOrder string ) * ListIndicatorsOfCompromiseOptionalParameters {
5534+ r .SortOrder = & sortOrder
5535+ return r
5536+ }
5537+
5538+ // ListIndicatorsOfCompromise List indicators of compromise.
5539+ // Get a list of indicators of compromise (IoCs) matching the specified filters.
5540+ func (a * SecurityMonitoringApi ) ListIndicatorsOfCompromise (ctx _context.Context , o ... ListIndicatorsOfCompromiseOptionalParameters ) (IoCExplorerListResponse , * _nethttp.Response , error ) {
5541+ var (
5542+ localVarHTTPMethod = _nethttp .MethodGet
5543+ localVarPostBody interface {}
5544+ localVarReturnValue IoCExplorerListResponse
5545+ optionalParams ListIndicatorsOfCompromiseOptionalParameters
5546+ )
5547+
5548+ if len (o ) > 1 {
5549+ return localVarReturnValue , nil , datadog .ReportError ("only one argument of type ListIndicatorsOfCompromiseOptionalParameters is allowed" )
5550+ }
5551+ if len (o ) == 1 {
5552+ optionalParams = o [0 ]
5553+ }
5554+
5555+ operationId := "v2.ListIndicatorsOfCompromise"
5556+ isOperationEnabled := a .Client .Cfg .IsUnstableOperationEnabled (operationId )
5557+ if ! isOperationEnabled {
5558+ return localVarReturnValue , nil , datadog.GenericOpenAPIError {ErrorMessage : _fmt .Sprintf ("Unstable operation '%s' is disabled" , operationId )}
5559+ }
5560+ if isOperationEnabled && a .Client .Cfg .Debug {
5561+ _log .Printf ("WARNING: Using unstable operation '%s'" , operationId )
5562+ }
5563+
5564+ localBasePath , err := a .Client .Cfg .ServerURLWithContext (ctx , "v2.SecurityMonitoringApi.ListIndicatorsOfCompromise" )
5565+ if err != nil {
5566+ return localVarReturnValue , nil , datadog.GenericOpenAPIError {ErrorMessage : err .Error ()}
5567+ }
5568+
5569+ localVarPath := localBasePath + "/api/v2/security/siem/ioc-explorer"
5570+
5571+ localVarHeaderParams := make (map [string ]string )
5572+ localVarQueryParams := _neturl.Values {}
5573+ localVarFormParams := _neturl.Values {}
5574+ if optionalParams .Limit != nil {
5575+ localVarQueryParams .Add ("limit" , datadog .ParameterToString (* optionalParams .Limit , "" ))
5576+ }
5577+ if optionalParams .Offset != nil {
5578+ localVarQueryParams .Add ("offset" , datadog .ParameterToString (* optionalParams .Offset , "" ))
5579+ }
5580+ if optionalParams .Query != nil {
5581+ localVarQueryParams .Add ("query" , datadog .ParameterToString (* optionalParams .Query , "" ))
5582+ }
5583+ if optionalParams .SortColumn != nil {
5584+ localVarQueryParams .Add ("sort[column]" , datadog .ParameterToString (* optionalParams .SortColumn , "" ))
5585+ }
5586+ if optionalParams .SortOrder != nil {
5587+ localVarQueryParams .Add ("sort[order]" , datadog .ParameterToString (* optionalParams .SortOrder , "" ))
5588+ }
5589+ localVarHeaderParams ["Accept" ] = "application/json"
5590+
5591+ if a .Client .Cfg .DelegatedTokenConfig != nil {
5592+ err = datadog .UseDelegatedTokenAuth (ctx , & localVarHeaderParams , a .Client .Cfg .DelegatedTokenConfig )
5593+ if err != nil {
5594+ return localVarReturnValue , nil , err
5595+ }
5596+ } else {
5597+ datadog .SetAuthKeys (
5598+ ctx ,
5599+ & localVarHeaderParams ,
5600+ [2 ]string {"apiKeyAuth" , "DD-API-KEY" },
5601+ [2 ]string {"appKeyAuth" , "DD-APPLICATION-KEY" },
5602+ )
5603+ }
5604+ req , err := a .Client .PrepareRequest (ctx , localVarPath , localVarHTTPMethod , localVarPostBody , localVarHeaderParams , localVarQueryParams , localVarFormParams , nil )
5605+ if err != nil {
5606+ return localVarReturnValue , nil , err
5607+ }
5608+
5609+ localVarHTTPResponse , err := a .Client .CallAPI (req )
5610+ if err != nil || localVarHTTPResponse == nil {
5611+ return localVarReturnValue , localVarHTTPResponse , err
5612+ }
5613+
5614+ localVarBody , err := datadog .ReadBody (localVarHTTPResponse )
5615+ if err != nil {
5616+ return localVarReturnValue , localVarHTTPResponse , err
5617+ }
5618+
5619+ if localVarHTTPResponse .StatusCode >= 300 {
5620+ newErr := datadog.GenericOpenAPIError {
5621+ ErrorBody : localVarBody ,
5622+ ErrorMessage : localVarHTTPResponse .Status ,
5623+ }
5624+ if localVarHTTPResponse .StatusCode == 400 || localVarHTTPResponse .StatusCode == 403 || localVarHTTPResponse .StatusCode == 429 {
5625+ var v APIErrorResponse
5626+ err = a .Client .Decode (& v , localVarBody , localVarHTTPResponse .Header .Get ("Content-Type" ))
5627+ if err != nil {
5628+ return localVarReturnValue , localVarHTTPResponse , newErr
5629+ }
5630+ newErr .ErrorModel = v
5631+ }
5632+ return localVarReturnValue , localVarHTTPResponse , newErr
5633+ }
5634+
5635+ err = a .Client .Decode (& localVarReturnValue , localVarBody , localVarHTTPResponse .Header .Get ("Content-Type" ))
5636+ if err != nil {
5637+ newErr := datadog.GenericOpenAPIError {
5638+ ErrorBody : localVarBody ,
5639+ ErrorMessage : err .Error (),
5640+ }
5641+ return localVarReturnValue , localVarHTTPResponse , newErr
5642+ }
5643+
5644+ return localVarReturnValue , localVarHTTPResponse , nil
5645+ }
5646+
54065647// ListMultipleRulesets Ruleset get multiple.
54075648// Get rules for multiple rulesets in batch.
54085649func (a * SecurityMonitoringApi ) ListMultipleRulesets (ctx _context.Context , body GetMultipleRulesetsRequest ) (GetMultipleRulesetsResponse , * _nethttp.Response , error ) {
0 commit comments