From 952d40742fd235855ce3faad21863e1178f74ecf Mon Sep 17 00:00:00 2001 From: "ci.datadog-api-spec" Date: Tue, 2 Sep 2025 17:53:52 +0000 Subject: [PATCH] Regenerate client from commit f9eba94 of spec repo --- .generator/schemas/v2/openapi.yaml | 59 ++++++++ ...fic-rule-returns-Not-Found-response.frozen | 1 + ...ecific-rule-returns-Not-Found-response.yml | 20 +++ ...a-specific-rule-returns-OK-response.frozen | 1 + ...ng-a-specific-rule-returns-OK-response.yml | 60 ++++++++ ...e-rule-returns-Bad-Request-response.frozen | 1 + ...ture-rule-returns-Bad-Request-response.yml | 24 ++++ ...ing-future-rule-returns-OK-response.frozen | 1 + ...ecting-future-rule-returns-OK-response.yml | 25 ++++ .../GetSuppressionsAffectingFutureRule.rb | 36 +++++ .../GetSuppressionsAffectingRule.rb | 8 ++ features/scenarios_model_mapping.rb | 6 + features/v2/security_monitoring.feature | 29 ++++ ...oring_future_rule_suppression_payload.json | 30 ++++ features/v2/undo.json | 12 ++ .../v2/api/security_monitoring_api.rb | 132 ++++++++++++++++++ 16 files changed, 445 insertions(+) create mode 100644 cassettes/features/v2/security_monitoring/Get-suppressions-affecting-a-specific-rule-returns-Not-Found-response.frozen create mode 100644 cassettes/features/v2/security_monitoring/Get-suppressions-affecting-a-specific-rule-returns-Not-Found-response.yml create mode 100644 cassettes/features/v2/security_monitoring/Get-suppressions-affecting-a-specific-rule-returns-OK-response.frozen create mode 100644 cassettes/features/v2/security_monitoring/Get-suppressions-affecting-a-specific-rule-returns-OK-response.yml create mode 100644 cassettes/features/v2/security_monitoring/Get-suppressions-affecting-future-rule-returns-Bad-Request-response.frozen create mode 100644 cassettes/features/v2/security_monitoring/Get-suppressions-affecting-future-rule-returns-Bad-Request-response.yml create mode 100644 cassettes/features/v2/security_monitoring/Get-suppressions-affecting-future-rule-returns-OK-response.frozen create mode 100644 cassettes/features/v2/security_monitoring/Get-suppressions-affecting-future-rule-returns-OK-response.yml create mode 100644 examples/v2/security-monitoring/GetSuppressionsAffectingFutureRule.rb create mode 100644 examples/v2/security-monitoring/GetSuppressionsAffectingRule.rb create mode 100644 features/v2/security_monitoring_future_rule_suppression_payload.json diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 4d0c4849320a..5235bcb17ce3 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -64757,6 +64757,65 @@ paths: tags: - Security Monitoring x-codegen-request-body-name: body + /api/v2/security_monitoring/configuration/suppressions/rules: + post: + description: Get the list of suppressions that would affect a rule. + operationId: GetSuppressionsAffectingFutureRule + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SecurityMonitoringRuleCreatePayload' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SecurityMonitoringSuppressionsResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_suppressions_read + summary: Get suppressions affecting future rule + tags: + - Security Monitoring + /api/v2/security_monitoring/configuration/suppressions/rules/{rule_id}: + get: + description: Get the list of suppressions that affect a specific existing rule + by its ID. + operationId: GetSuppressionsAffectingRule + parameters: + - $ref: '#/components/parameters/SecurityMonitoringRuleID' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SecurityMonitoringSuppressionsResponse' + description: OK + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_suppressions_read + summary: Get suppressions affecting a specific rule + tags: + - Security Monitoring /api/v2/security_monitoring/configuration/suppressions/{suppression_id}: delete: description: Delete a specific suppression rule. diff --git a/cassettes/features/v2/security_monitoring/Get-suppressions-affecting-a-specific-rule-returns-Not-Found-response.frozen b/cassettes/features/v2/security_monitoring/Get-suppressions-affecting-a-specific-rule-returns-Not-Found-response.frozen new file mode 100644 index 000000000000..e815ab1ebfb1 --- /dev/null +++ b/cassettes/features/v2/security_monitoring/Get-suppressions-affecting-a-specific-rule-returns-Not-Found-response.frozen @@ -0,0 +1 @@ +2025-08-30T15:29:04.687Z \ No newline at end of file diff --git a/cassettes/features/v2/security_monitoring/Get-suppressions-affecting-a-specific-rule-returns-Not-Found-response.yml b/cassettes/features/v2/security_monitoring/Get-suppressions-affecting-a-specific-rule-returns-Not-Found-response.yml new file mode 100644 index 000000000000..3a41f8023db0 --- /dev/null +++ b/cassettes/features/v2/security_monitoring/Get-suppressions-affecting-a-specific-rule-returns-Not-Found-response.yml @@ -0,0 +1,20 @@ +http_interactions: +- recorded_at: Sat, 30 Aug 2025 15:29:04 GMT + request: + body: null + headers: + Accept: + - application/json + method: GET + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/rules/aaa-bbb-ccc-ddd + response: + body: + encoding: UTF-8 + string: '{"errors":["not_found(Threat detection rule not found: aaa-bbb-ccc-ddd)"]}' + headers: + Content-Type: + - application/json + status: + code: 404 + message: Not Found +recorded_with: VCR 6.0.0 diff --git a/cassettes/features/v2/security_monitoring/Get-suppressions-affecting-a-specific-rule-returns-OK-response.frozen b/cassettes/features/v2/security_monitoring/Get-suppressions-affecting-a-specific-rule-returns-OK-response.frozen new file mode 100644 index 000000000000..21a44ca0c242 --- /dev/null +++ b/cassettes/features/v2/security_monitoring/Get-suppressions-affecting-a-specific-rule-returns-OK-response.frozen @@ -0,0 +1 @@ +2025-08-30T11:40:50.061Z \ No newline at end of file diff --git a/cassettes/features/v2/security_monitoring/Get-suppressions-affecting-a-specific-rule-returns-OK-response.yml b/cassettes/features/v2/security_monitoring/Get-suppressions-affecting-a-specific-rule-returns-OK-response.yml new file mode 100644 index 000000000000..50c7f20468ce --- /dev/null +++ b/cassettes/features/v2/security_monitoring/Get-suppressions-affecting-a-specific-rule-returns-OK-response.yml @@ -0,0 +1,60 @@ +http_interactions: +- recorded_at: Sat, 30 Aug 2025 11:40:50 GMT + request: + body: + encoding: UTF-8 + string: '{"cases":[{"condition":"a > 0","name":"","notifications":[],"status":"info"}],"filters":[],"isEnabled":true,"message":"Test + rule","name":"Test-Get_suppressions_affecting_a_specific_rule_returns_OK_response-1756554050","options":{"evaluationWindow":900,"keepAlive":3600,"maxSignalDuration":86400},"queries":[{"aggregation":"count","distinctFields":[],"groupByFields":[],"metrics":[],"query":"@test:true"}],"tags":[],"type":"log_detection"}' + headers: + Accept: + - application/json + Content-Type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/security_monitoring/rules + response: + body: + encoding: UTF-8 + string: '{"name":"Test-Get_suppressions_affecting_a_specific_rule_returns_OK_response-1756554050","createdAt":1756554050604,"isDefault":false,"isPartner":false,"isEnabled":true,"isBeta":false,"isDeleted":false,"isDeprecated":false,"queries":[{"query":"@test:true","groupByFields":[],"hasOptionalGroupByFields":false,"distinctFields":[],"aggregation":"count","name":"","dataSource":"logs"}],"options":{"evaluationWindow":900,"detectionMethod":"threshold","maxSignalDuration":86400,"keepAlive":3600},"cases":[{"name":"","status":"info","notifications":[],"condition":"a + \u003e 0"}],"message":"Test rule","tags":[],"hasExtendedTitle":false,"type":"log_detection","filters":[],"version":1,"id":"wrh-hm6-4zf","blocking":false,"metadata":{"entities":null,"sources":null},"creationAuthorId":1445416,"creator":{"handle":"frog@datadoghq.com","name":"frog"},"updater":{"handle":"","name":""}}' + headers: + Content-Type: + - application/json + status: + code: 200 + message: OK +- recorded_at: Sat, 30 Aug 2025 11:40:50 GMT + request: + body: null + headers: + Accept: + - application/json + method: GET + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/rules/wrh-hm6-4zf + response: + body: + encoding: UTF-8 + string: '{"data":[]}' + headers: + Content-Type: + - application/vnd.api+json + status: + code: 200 + message: OK +- recorded_at: Sat, 30 Aug 2025 11:40:50 GMT + request: + body: null + headers: + Accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/security_monitoring/rules/wrh-hm6-4zf + response: + body: + encoding: UTF-8 + string: '' + headers: {} + status: + code: 204 + message: No Content +recorded_with: VCR 6.0.0 diff --git a/cassettes/features/v2/security_monitoring/Get-suppressions-affecting-future-rule-returns-Bad-Request-response.frozen b/cassettes/features/v2/security_monitoring/Get-suppressions-affecting-future-rule-returns-Bad-Request-response.frozen new file mode 100644 index 000000000000..561d45c65be7 --- /dev/null +++ b/cassettes/features/v2/security_monitoring/Get-suppressions-affecting-future-rule-returns-Bad-Request-response.frozen @@ -0,0 +1 @@ +2025-08-30T15:29:48.867Z \ No newline at end of file diff --git a/cassettes/features/v2/security_monitoring/Get-suppressions-affecting-future-rule-returns-Bad-Request-response.yml b/cassettes/features/v2/security_monitoring/Get-suppressions-affecting-future-rule-returns-Bad-Request-response.yml new file mode 100644 index 000000000000..792dfe533b96 --- /dev/null +++ b/cassettes/features/v2/security_monitoring/Get-suppressions-affecting-future-rule-returns-Bad-Request-response.yml @@ -0,0 +1,24 @@ +http_interactions: +- recorded_at: Sat, 30 Aug 2025 15:29:48 GMT + request: + body: + encoding: UTF-8 + string: '{"invalid_key":"invalid_value"}' + headers: + Accept: + - application/json + Content-Type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/rules + response: + body: + encoding: UTF-8 + string: '{"errors":["invalid_argument(Invalid rule configuration)"]}' + headers: + Content-Type: + - application/json + status: + code: 400 + message: Bad Request +recorded_with: VCR 6.0.0 diff --git a/cassettes/features/v2/security_monitoring/Get-suppressions-affecting-future-rule-returns-OK-response.frozen b/cassettes/features/v2/security_monitoring/Get-suppressions-affecting-future-rule-returns-OK-response.frozen new file mode 100644 index 000000000000..0cba1f03106f --- /dev/null +++ b/cassettes/features/v2/security_monitoring/Get-suppressions-affecting-future-rule-returns-OK-response.frozen @@ -0,0 +1 @@ +2025-08-30T15:30:01.229Z \ No newline at end of file diff --git a/cassettes/features/v2/security_monitoring/Get-suppressions-affecting-future-rule-returns-OK-response.yml b/cassettes/features/v2/security_monitoring/Get-suppressions-affecting-future-rule-returns-OK-response.yml new file mode 100644 index 000000000000..5a53680e515b --- /dev/null +++ b/cassettes/features/v2/security_monitoring/Get-suppressions-affecting-future-rule-returns-OK-response.yml @@ -0,0 +1,25 @@ +http_interactions: +- recorded_at: Sat, 30 Aug 2025 15:30:01 GMT + request: + body: + encoding: UTF-8 + string: '{"cases":[{"condition":"a > 0","name":"","notifications":[],"status":"info"}],"filters":[],"isEnabled":true,"message":"Test + rule","name":"Test-Get_suppressions_affecting_future_rule_returns_OK_response-1756567801","options":{"evaluationWindow":900,"keepAlive":3600,"maxSignalDuration":86400},"queries":[{"aggregation":"count","distinctFields":[],"groupByFields":[],"metrics":[],"query":"@test:true"}],"tags":[],"type":"log_detection"}' + headers: + Accept: + - application/json + Content-Type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/rules + response: + body: + encoding: UTF-8 + string: '{"data":[]}' + headers: + Content-Type: + - application/vnd.api+json + status: + code: 200 + message: OK +recorded_with: VCR 6.0.0 diff --git a/examples/v2/security-monitoring/GetSuppressionsAffectingFutureRule.rb b/examples/v2/security-monitoring/GetSuppressionsAffectingFutureRule.rb new file mode 100644 index 000000000000..6a906204123c --- /dev/null +++ b/examples/v2/security-monitoring/GetSuppressionsAffectingFutureRule.rb @@ -0,0 +1,36 @@ +# Get suppressions affecting future rule returns "OK" response + +require "datadog_api_client" +api_instance = DatadogAPIClient::V2::SecurityMonitoringAPI.new + +body = DatadogAPIClient::V2::SecurityMonitoringStandardRuleCreatePayload.new({ + name: "Example-Security-Monitoring", + queries: [ + DatadogAPIClient::V2::SecurityMonitoringStandardRuleQuery.new({ + query: "@test:true", + aggregation: DatadogAPIClient::V2::SecurityMonitoringRuleQueryAggregation::COUNT, + group_by_fields: [], + distinct_fields: [], + metrics: [], + }), + ], + filters: [], + cases: [ + DatadogAPIClient::V2::SecurityMonitoringRuleCaseCreate.new({ + name: "", + status: DatadogAPIClient::V2::SecurityMonitoringRuleSeverity::INFO, + condition: "a > 0", + notifications: [], + }), + ], + options: DatadogAPIClient::V2::SecurityMonitoringRuleOptions.new({ + evaluation_window: DatadogAPIClient::V2::SecurityMonitoringRuleEvaluationWindow::FIFTEEN_MINUTES, + keep_alive: DatadogAPIClient::V2::SecurityMonitoringRuleKeepAlive::ONE_HOUR, + max_signal_duration: DatadogAPIClient::V2::SecurityMonitoringRuleMaxSignalDuration::ONE_DAY, + }), + message: "Test rule", + tags: [], + is_enabled: true, + type: DatadogAPIClient::V2::SecurityMonitoringRuleTypeCreate::LOG_DETECTION, +}) +p api_instance.get_suppressions_affecting_future_rule(body) diff --git a/examples/v2/security-monitoring/GetSuppressionsAffectingRule.rb b/examples/v2/security-monitoring/GetSuppressionsAffectingRule.rb new file mode 100644 index 000000000000..e3ab86328869 --- /dev/null +++ b/examples/v2/security-monitoring/GetSuppressionsAffectingRule.rb @@ -0,0 +1,8 @@ +# Get suppressions affecting a specific rule returns "OK" response + +require "datadog_api_client" +api_instance = DatadogAPIClient::V2::SecurityMonitoringAPI.new + +# there is a valid "security_rule" in the system +SECURITY_RULE_ID = ENV["SECURITY_RULE_ID"] +p api_instance.get_suppressions_affecting_rule(SECURITY_RULE_ID) diff --git a/features/scenarios_model_mapping.rb b/features/scenarios_model_mapping.rb index 45b4bc5a77d6..37d1e5ab73d9 100644 --- a/features/scenarios_model_mapping.rb +++ b/features/scenarios_model_mapping.rb @@ -1354,6 +1354,12 @@ "v2.CreateSecurityMonitoringSuppression" => { "body" => "SecurityMonitoringSuppressionCreateRequest", }, + "v2.GetSuppressionsAffectingFutureRule" => { + "body" => "SecurityMonitoringRuleCreatePayload", + }, + "v2.GetSuppressionsAffectingRule" => { + "rule_id" => "String", + }, "v2.DeleteSecurityMonitoringSuppression" => { "suppression_id" => "String", }, diff --git a/features/v2/security_monitoring.feature b/features/v2/security_monitoring.feature index 1ef29aec3e61..bf07efac5ff2 100644 --- a/features/v2/security_monitoring.feature +++ b/features/v2/security_monitoring.feature @@ -822,6 +822,35 @@ Feature: Security Monitoring And the response "data.attributes.count" is equal to 1 And the response "data.attributes.data[1].rule.name" has the same value as "security_rule.name" + @team:DataDog/k9-cloud-security-platform + Scenario: Get suppressions affecting a specific rule returns "Not Found" response + Given new "GetSuppressionsAffectingRule" request + And request contains "rule_id" parameter with value "aaa-bbb-ccc-ddd" + When the request is sent + Then the response status is 404 Not Found + + @team:DataDog/k9-cloud-security-platform + Scenario: Get suppressions affecting a specific rule returns "OK" response + Given new "GetSuppressionsAffectingRule" request + And there is a valid "security_rule" in the system + And request contains "rule_id" parameter from "security_rule.id" + When the request is sent + Then the response status is 200 OK + + @team:DataDog/k9-cloud-security-platform + Scenario: Get suppressions affecting future rule returns "Bad Request" response + Given new "GetSuppressionsAffectingFutureRule" request + And body with value {"invalid_key":"invalid_value"} + When the request is sent + Then the response status is 400 Bad Request + + @team:DataDog/k9-cloud-security-platform + Scenario: Get suppressions affecting future rule returns "OK" response + Given new "GetSuppressionsAffectingFutureRule" request + And body from file "security_monitoring_future_rule_suppression_payload.json" + When the request is sent + Then the response status is 200 OK + @team:DataDog/cloud-security-posture-management Scenario: Get the list of signal-based notification rules returns "The list of notification rules." response Given there is a valid "valid_signal_notification_rule" in the system diff --git a/features/v2/security_monitoring_future_rule_suppression_payload.json b/features/v2/security_monitoring_future_rule_suppression_payload.json new file mode 100644 index 000000000000..b2c79709b069 --- /dev/null +++ b/features/v2/security_monitoring_future_rule_suppression_payload.json @@ -0,0 +1,30 @@ +{ + "name": "{{ unique }}", + "queries": [ + { + "query": "@test:true", + "aggregation": "count", + "groupByFields": [], + "distinctFields": [], + "metrics": [] + } + ], + "filters": [], + "cases": [ + { + "name": "", + "status": "info", + "condition": "a > 0", + "notifications": [] + } + ], + "options": { + "evaluationWindow": 900, + "keepAlive": 3600, + "maxSignalDuration": 86400 + }, + "message": "Test rule", + "tags": [], + "isEnabled": true, + "type": "log_detection" +} diff --git a/features/v2/undo.json b/features/v2/undo.json index fb630772c1cb..85b612d9d9c1 100644 --- a/features/v2/undo.json +++ b/features/v2/undo.json @@ -3012,6 +3012,18 @@ "type": "unsafe" } }, + "GetSuppressionsAffectingFutureRule": { + "tag": "Security Monitoring", + "undo": { + "type": "safe" + } + }, + "GetSuppressionsAffectingRule": { + "tag": "Security Monitoring", + "undo": { + "type": "safe" + } + }, "DeleteSecurityMonitoringSuppression": { "tag": "Security Monitoring", "undo": { diff --git a/lib/datadog_api_client/v2/api/security_monitoring_api.rb b/lib/datadog_api_client/v2/api/security_monitoring_api.rb index 316e2d455ea8..8ddfd818773c 100644 --- a/lib/datadog_api_client/v2/api/security_monitoring_api.rb +++ b/lib/datadog_api_client/v2/api/security_monitoring_api.rb @@ -2219,6 +2219,138 @@ def get_signal_notification_rules_with_http_info(opts = {}) return data, status_code, headers end + # Get suppressions affecting future rule. + # + # @see #get_suppressions_affecting_future_rule_with_http_info + def get_suppressions_affecting_future_rule(body, opts = {}) + data, _status_code, _headers = get_suppressions_affecting_future_rule_with_http_info(body, opts) + data + end + + # Get suppressions affecting future rule. + # + # Get the list of suppressions that would affect a rule. + # + # @param body [SecurityMonitoringRuleCreatePayload] + # @param opts [Hash] the optional parameters + # @return [Array<(SecurityMonitoringSuppressionsResponse, Integer, Hash)>] SecurityMonitoringSuppressionsResponse data, response status code and response headers + def get_suppressions_affecting_future_rule_with_http_info(body, opts = {}) + + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: SecurityMonitoringAPI.get_suppressions_affecting_future_rule ...' + end + # verify the required parameter 'body' is set + if @api_client.config.client_side_validation && body.nil? + fail ArgumentError, "Missing the required parameter 'body' when calling SecurityMonitoringAPI.get_suppressions_affecting_future_rule" + end + # resource path + local_var_path = '/api/v2/security_monitoring/configuration/suppressions/rules' + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + # HTTP header 'Content-Type' + header_params['Content-Type'] = @api_client.select_header_content_type(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] || @api_client.object_to_http_body(body) + + # return_type + return_type = opts[:debug_return_type] || 'SecurityMonitoringSuppressionsResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ] + + new_options = opts.merge( + :operation => :get_suppressions_affecting_future_rule, + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type, + :api_version => "V2" + ) + + data, status_code, headers = @api_client.call_api(Net::HTTP::Post, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: SecurityMonitoringAPI#get_suppressions_affecting_future_rule\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + + # Get suppressions affecting a specific rule. + # + # @see #get_suppressions_affecting_rule_with_http_info + def get_suppressions_affecting_rule(rule_id, opts = {}) + data, _status_code, _headers = get_suppressions_affecting_rule_with_http_info(rule_id, opts) + data + end + + # Get suppressions affecting a specific rule. + # + # Get the list of suppressions that affect a specific existing rule by its ID. + # + # @param rule_id [String] The ID of the rule. + # @param opts [Hash] the optional parameters + # @return [Array<(SecurityMonitoringSuppressionsResponse, Integer, Hash)>] SecurityMonitoringSuppressionsResponse data, response status code and response headers + def get_suppressions_affecting_rule_with_http_info(rule_id, opts = {}) + + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: SecurityMonitoringAPI.get_suppressions_affecting_rule ...' + end + # verify the required parameter 'rule_id' is set + if @api_client.config.client_side_validation && rule_id.nil? + fail ArgumentError, "Missing the required parameter 'rule_id' when calling SecurityMonitoringAPI.get_suppressions_affecting_rule" + end + # resource path + local_var_path = '/api/v2/security_monitoring/configuration/suppressions/rules/{rule_id}'.sub('{rule_id}', CGI.escape(rule_id.to_s).gsub('%2F', '/')) + + # query parameters + query_params = opts[:query_params] || {} + + # header parameters + header_params = opts[:header_params] || {} + # HTTP header 'Accept' (if needed) + header_params['Accept'] = @api_client.select_header_accept(['application/json']) + + # form parameters + form_params = opts[:form_params] || {} + + # http body (model) + post_body = opts[:debug_body] + + # return_type + return_type = opts[:debug_return_type] || 'SecurityMonitoringSuppressionsResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ] + + new_options = opts.merge( + :operation => :get_suppressions_affecting_rule, + :header_params => header_params, + :query_params => query_params, + :form_params => form_params, + :body => post_body, + :auth_names => auth_names, + :return_type => return_type, + :api_version => "V2" + ) + + data, status_code, headers = @api_client.call_api(Net::HTTP::Get, local_var_path, new_options) + if @api_client.config.debugging + @api_client.config.logger.debug "API called: SecurityMonitoringAPI#get_suppressions_affecting_rule\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + # Get details of a vulnerability notification rule. # # @see #get_vulnerability_notification_rule_with_http_info