diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index d649e7294735..ed313d3aa68a 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -17446,70 +17446,6 @@ components: required: - data type: object - DeletedSuiteResponseData: - properties: - attributes: - $ref: '#/components/schemas/DeletedSuiteResponseDataAttributes' - id: - type: string - type: - $ref: '#/components/schemas/SyntheticsSuiteTypes' - type: object - DeletedSuiteResponseDataAttributes: - properties: - deleted_at: - description: Deletion timestamp of the Synthetic suite ID. - type: string - public_id: - description: The Synthetic suite ID deleted. - type: string - type: object - DeletedSuitesRequestDelete: - properties: - attributes: - $ref: '#/components/schemas/DeletedSuitesRequestDeleteAttributes' - id: - type: string - type: - $ref: '#/components/schemas/DeletedSuitesRequestType' - required: - - attributes - type: object - DeletedSuitesRequestDeleteAttributes: - properties: - force_delete_dependencies: - type: boolean - public_ids: - example: - - '' - items: - type: string - type: array - required: - - public_ids - type: object - DeletedSuitesRequestDeleteRequest: - properties: - data: - $ref: '#/components/schemas/DeletedSuitesRequestDelete' - required: - - data - type: object - DeletedSuitesRequestType: - default: delete_suites_request - enum: - - delete_suites_request - example: delete_suites_request - type: string - x-enum-varnames: - - DELETE_SUITES_REQUEST - DeletedSuitesResponse: - properties: - data: - items: - $ref: '#/components/schemas/DeletedSuiteResponseData' - type: array - type: object DependencyLocation: description: Static library vulnerability location. properties: @@ -49570,6 +49506,18 @@ components: meta: $ref: '#/components/schemas/ResponseMetaAttributes' type: object + SecurityMonitoringPaginatedSuppressionsResponse: + description: Response object containing the available suppression rules with + pagination metadata. + properties: + data: + description: A list of suppressions objects. + items: + $ref: '#/components/schemas/SecurityMonitoringSuppression' + type: array + meta: + $ref: '#/components/schemas/SecurityMonitoringSuppressionsMeta' + type: object SecurityMonitoringReferenceTable: description: Reference tables used in the queries. properties: @@ -49820,6 +49768,7 @@ components: - third_party - anomaly_threshold - sequence_detection + example: threshold type: string x-enum-varnames: - THRESHOLD @@ -49919,6 +49868,58 @@ components: - SIX_HOURS - TWELVE_HOURS - ONE_DAY + SecurityMonitoringRuleLivetailRequest: + description: Request to preview a rule query with applied filters. + properties: + dataSource: + description: Data source for the query. + example: logs + type: string + detectionMethod: + $ref: '#/components/schemas/SecurityMonitoringRuleDetectionMethod' + distinctFields: + description: Fields to apply distinct on. + items: + type: string + type: array + filters: + description: Additional security filters to apply. + items: + $ref: '#/components/schemas/SecurityMonitoringFilter' + type: array + groupByFields: + description: Fields to group by. + items: + type: string + type: array + query: + description: The query to preview. + example: source:java + type: string + queryIndex: + description: Index of the query in the rule. + example: 0 + format: int32 + maximum: 9 + minimum: 0 + type: integer + type: + $ref: '#/components/schemas/SecurityMonitoringRuleTypeRead' + required: + - query + - queryIndex + - type + - detectionMethod + - dataSource + type: object + SecurityMonitoringRuleLivetailResponse: + description: Response containing the modified query with applied filters. + properties: + query: + description: The modified query with all filters applied. + example: source:java (service:payment OR service:auth) + type: string + type: object SecurityMonitoringRuleMaxSignalDuration: description: 'A signal will "close" regardless of the query being matched once the time exceeds the maximum duration. @@ -50264,6 +50265,7 @@ components: - cloud_configuration - application_security - api_security + example: log_detection type: string x-enum-varnames: - LOG_DETECTION @@ -51719,6 +51721,31 @@ components: data: $ref: '#/components/schemas/SecurityMonitoringSuppression' type: object + SecurityMonitoringSuppressionSort: + description: The sort parameters used for querying suppression rules. + enum: + - name + - start_date + - expiration_date + - update_date + - enabled + - -name + - -start_date + - -expiration_date + - -update_date + - -enabled + type: string + x-enum-varnames: + - NAME + - START_DATE + - EXPIRATION_DATE + - UPDATE_DATE + - ENABLED + - NAME_DESCENDING + - START_DATE_DESCENDING + - EXPIRATION_DATE_DESCENDING + - UPDATE_DATE_DESCENDING + - ENABLED_DESCENDING SecurityMonitoringSuppressionType: default: suppressions description: The type of the resource. The value should always be `suppressions`. @@ -51814,6 +51841,31 @@ components: required: - data type: object + SecurityMonitoringSuppressionsMeta: + description: Metadata for the suppression list response. + properties: + page: + $ref: '#/components/schemas/SecurityMonitoringSuppressionsPageMeta' + type: object + SecurityMonitoringSuppressionsPageMeta: + description: Pagination metadata. + properties: + pageNumber: + description: Current page number. + example: 0 + format: int64 + type: integer + pageSize: + description: Current page size. + example: 2 + format: int64 + type: integer + totalCount: + description: Total count of suppressions. + example: 2 + format: int64 + type: integer + type: object SecurityMonitoringSuppressionsResponse: description: Response object containing the available suppression rules. properties: @@ -55497,31 +55549,6 @@ components: format: double type: number type: object - SuiteCreateEdit: - properties: - attributes: - $ref: '#/components/schemas/SyntheticsSuite' - type: - $ref: '#/components/schemas/SyntheticsSuiteTypes' - required: - - attributes - - type - type: object - SuiteCreateEditRequest: - properties: - data: - $ref: '#/components/schemas/SuiteCreateEdit' - required: - - data - type: object - SuiteSearchResponseType: - default: suites_search - enum: - - suites_search - example: suites_search - type: string - x-enum-varnames: - - SUITES_SEARCH SuppressionVersionHistory: description: Response object containing the version history of a suppression. properties: @@ -55705,149 +55732,6 @@ components: example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx type: string type: array - SyntheticsSuite: - description: Object containing details about a Synthetic suite. - properties: - message: - description: Notification message associated with the suite. - example: Notification message - type: string - monitor_id: - description: The associated monitor ID. - example: 12345678 - format: int64 - readOnly: true - type: integer - name: - description: Name of the suite. - example: Example suite name - type: string - options: - $ref: '#/components/schemas/SyntheticsSuiteOptions' - public_id: - description: The public ID for the test. - example: 123-abc-456 - readOnly: true - type: string - tags: - description: Array of tags attached to the suite. - example: - - env:production - items: - description: A tag attached to the suite. - type: string - type: array - tests: - items: - $ref: '#/components/schemas/SyntheticsSuiteTest' - type: array - type: - $ref: '#/components/schemas/SyntheticsSuiteType' - required: - - name - - type - - tests - - options - type: object - SyntheticsSuiteOptions: - description: Object describing the extra options for a Synthetic suite. - properties: - alerting_threshold: - description: Percentage of critical tests failure needed for a suite to - fail. - format: double - maximum: 1 - minimum: 0 - type: number - type: object - SyntheticsSuiteResponse: - description: Synthetics suite response - properties: - data: - $ref: '#/components/schemas/SyntheticsSuiteResponseData' - type: object - SyntheticsSuiteResponseData: - description: Synthetics suite response data - properties: - attributes: - $ref: '#/components/schemas/SyntheticsSuite' - id: - description: The public ID for the suite. - example: 123-abc-456 - readOnly: true - type: string - type: - $ref: '#/components/schemas/SyntheticsSuiteTypes' - type: object - SyntheticsSuiteSearchResponse: - description: Synthetics suite search response - properties: - data: - $ref: '#/components/schemas/SyntheticsSuiteSearchResponseData' - type: object - SyntheticsSuiteSearchResponseData: - description: Synthetics suite search response data - properties: - attributes: - $ref: '#/components/schemas/SyntheticsSuiteSearchResponseDataAttributes' - id: - format: uuid - type: string - type: - $ref: '#/components/schemas/SuiteSearchResponseType' - type: object - SyntheticsSuiteSearchResponseDataAttributes: - description: Synthetics suite search response data attributes - properties: - suites: - items: - $ref: '#/components/schemas/SyntheticsSuite' - type: array - total: - format: int32 - maximum: 2147483647 - type: integer - type: object - SyntheticsSuiteTest: - description: Object containing details about a Synthetic test included in a - Synthetic suite. - properties: - alerting_criticality: - $ref: '#/components/schemas/SyntheticsSuiteTestAlertingCriticality' - public_id: - example: '' - type: string - required: - - public_id - type: object - SyntheticsSuiteTestAlertingCriticality: - description: Alerting criticality for each the test. - enum: - - ignore - - critical - example: critical - type: string - x-enum-varnames: - - IGNORE - - CRITICAL - SyntheticsSuiteType: - default: suite - description: Type of the Synthetic suite, `suite`. - enum: - - suite - example: suite - type: string - x-enum-varnames: - - SUITE - SyntheticsSuiteTypes: - default: suites - description: Type for the Synthetics suites responses, `suites`. - enum: - - suites - example: suites - type: string - x-enum-varnames: - - SUITES SyntheticsVariableParser: description: Details of the parser to use for the global variable. example: @@ -86359,12 +86243,29 @@ paths: required: false schema: type: string + - description: Attribute used to sort the list of suppression rules. Prefix + with `-` to sort in descending order. + in: query + name: sort + required: false + schema: + $ref: '#/components/schemas/SecurityMonitoringSuppressionSort' + - description: Size for a given page. Use `-1` to return all items. + in: query + name: page[size] + required: false + schema: + default: -1 + example: 10 + format: int64 + type: integer + - $ref: '#/components/parameters/PageNumber' responses: '200': content: application/json: schema: - $ref: '#/components/schemas/SecurityMonitoringSuppressionsResponse' + $ref: '#/components/schemas/SecurityMonitoringPaginatedSuppressionsResponse' description: OK '403': $ref: '#/components/responses/NotAuthorizedResponse' @@ -86618,6 +86519,46 @@ paths: summary: Get a suppression's version history tags: - Security Monitoring + /api/v2/security_monitoring/livetail: + post: + description: 'Preview a security monitoring rule query with security filters, + group by fields, and distinct fields applied. + + This endpoint is used in the rule editor to show how the query will be transformed + after applying additional filters.' + operationId: PreviewSecurityMonitoringRuleQuery + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SecurityMonitoringRuleLivetailRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SecurityMonitoringRuleLivetailResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/NotAuthorizedResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - security_monitoring_rules_read + summary: Preview a rule query with applied filters + tags: + - Security Monitoring + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - security_monitoring_rules_read /api/v2/security_monitoring/rules: get: description: List rules. @@ -89328,227 +89269,6 @@ paths: operator: OR permissions: - billing_edit - /api/v2/synthetics/suites: - post: - operationId: CreateSyntheticsSuite - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SuiteCreateEditRequest' - required: true - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/SyntheticsSuiteResponse' - description: OK - '400': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: API error response. - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - synthetics_write - summary: 'Synthetics: Create a test suite' - tags: - - Synthetics - x-permission: - operator: OR - permissions: - - synthetics_write - - synthetics_create_edit_trigger - /api/v2/synthetics/suites/bulk-delete: - post: - operationId: DeleteSyntheticsSuites - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/DeletedSuitesRequestDeleteRequest' - required: true - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/DeletedSuitesResponse' - description: OK - '400': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: API error response. - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - synthetics_write - summary: 'Synthetics: Bulk delete suites' - tags: - - Synthetics - x-permission: - operator: OR - permissions: - - synthetics_write - /api/v2/synthetics/suites/search: - get: - description: Search for Synthetics suites. - operationId: SearchSuites - parameters: - - description: The search query. - in: query - name: query - required: false - schema: - type: string - - description: The sort order for the results (e.g., `name,asc` or `name,desc`). - in: query - name: sort - required: false - schema: - default: name,asc - type: string - - description: If true, return only facets instead of full test details. - in: query - name: facets_only - required: false - schema: - default: false - type: boolean - - description: The offset from which to start returning results. - in: query - name: start - required: false - schema: - default: 0 - format: int64 - type: integer - - description: The maximum number of results to return. - in: query - name: count - required: false - schema: - default: 50 - format: int64 - type: integer - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/SyntheticsSuiteSearchResponse' - description: OK - '400': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: API error response. - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - synthetics_read - summary: Search Synthetics suites - tags: - - Synthetics - x-permission: - operator: OR - permissions: - - synthetics_read - /api/v2/synthetics/suites/{public_id}: - get: - operationId: GetSyntheticsSuite - parameters: - - description: The public ID of the suite to get details from. - in: path - name: public_id - required: true - schema: - type: string - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/SyntheticsSuiteResponse' - description: OK - '404': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: API error response. - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - synthetics_read - summary: 'Synthetics: Get a suite' - tags: - - Synthetics - x-permission: - operator: OR - permissions: - - synthetics_read - put: - operationId: EditSyntheticsSuite - parameters: - - description: The public ID of the suite to edit. - in: path - name: public_id - required: true - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SuiteCreateEditRequest' - description: New suite details to be saved. - required: true - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/SyntheticsSuiteResponse' - description: OK - '400': - content: - application/json: - schema: - $ref: '#/components/schemas/APIErrorResponse' - description: API error response. - '429': - $ref: '#/components/responses/TooManyRequestsResponse' - security: - - apiKeyAuth: [] - appKeyAuth: [] - - AuthZ: - - synthetics_write - summary: 'Synthetics: Edit a test suite' - tags: - - Synthetics - x-permission: - operator: OR - permissions: - - synthetics_write /api/v2/synthetics/variables/{variable_id}/jsonpatch: patch: description: 'Patch a global variable using JSON Patch (RFC 6902). diff --git a/cassettes/features/v2/security_monitoring/Delete-a-suppression-rule-returns-OK-response.frozen b/cassettes/features/v2/security_monitoring/Delete-a-suppression-rule-returns-OK-response.frozen index 3f3e3c99f212..ec35b858851a 100644 --- a/cassettes/features/v2/security_monitoring/Delete-a-suppression-rule-returns-OK-response.frozen +++ b/cassettes/features/v2/security_monitoring/Delete-a-suppression-rule-returns-OK-response.frozen @@ -1 +1 @@ -2025-11-07T12:27:26.759Z \ No newline at end of file +2026-01-14T17:29:03.168Z \ No newline at end of file diff --git a/cassettes/features/v2/security_monitoring/Delete-a-suppression-rule-returns-OK-response.yml b/cassettes/features/v2/security_monitoring/Delete-a-suppression-rule-returns-OK-response.yml index e3828707dc72..37f25710f244 100644 --- a/cassettes/features/v2/security_monitoring/Delete-a-suppression-rule-returns-OK-response.yml +++ b/cassettes/features/v2/security_monitoring/Delete-a-suppression-rule-returns-OK-response.yml @@ -1,9 +1,10 @@ http_interactions: -- recorded_at: Fri, 07 Nov 2025 12:27:26 GMT +- recorded_at: Wed, 14 Jan 2026 17:29:03 GMT request: body: encoding: UTF-8 - string: '{"data":{"attributes":{"description":"Test-Delete_a_suppression_rule_returns_OK_response-1762518446","enabled":true,"name":"Test-Delete_a_suppression_rule_returns_OK_response-1762518446","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["technique:T1110-brute-force","source:cloudtrail"]},"type":"suppressions"}}' + string: '{"data":{"attributes":{"description":"Test-Delete_a_suppression_rule_returns_OK_response-1768411743","enabled":true,"name":"suppression + Test-Delete_a_suppression_rule_returns_OK_response-1768411743","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["technique:T1110-brute-force","source:cloudtrail"]},"type":"suppressions"}}' headers: Accept: - application/json @@ -14,8 +15,9 @@ http_interactions: response: body: encoding: UTF-8 - string: '{"data":{"id":"uea-lab-big","type":"suppressions","attributes":{"creation_date":1762518447002,"creator":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI - Account"},"data_exclusion_query":"","description":"Test-Delete_a_suppression_rule_returns_OK_response-1762518446","editable":true,"enabled":true,"name":"Test-Delete_a_suppression_rule_returns_OK_response-1762518446","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1762518447002,"updater":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI + string: '{"data":{"id":"itm-ljs-0qw","type":"suppressions","attributes":{"creation_date":1768411744411,"creator":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI + Account"},"data_exclusion_query":"","description":"Test-Delete_a_suppression_rule_returns_OK_response-1768411743","editable":true,"enabled":true,"name":"suppression + Test-Delete_a_suppression_rule_returns_OK_response-1768411743","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1768411744411,"updater":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI Account"},"version":1}}}' headers: Content-Type: @@ -23,14 +25,14 @@ http_interactions: status: code: 200 message: OK -- recorded_at: Fri, 07 Nov 2025 12:27:26 GMT +- recorded_at: Wed, 14 Jan 2026 17:29:03 GMT request: body: null headers: Accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/uea-lab-big + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/itm-ljs-0qw response: body: encoding: UTF-8 @@ -39,18 +41,18 @@ http_interactions: status: code: 204 message: No Content -- recorded_at: Fri, 07 Nov 2025 12:27:26 GMT +- recorded_at: Wed, 14 Jan 2026 17:29:03 GMT request: body: null headers: Accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/uea-lab-big + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/itm-ljs-0qw response: body: encoding: UTF-8 - string: '{"errors":["not_found(Suppression with ID uea-lab-big not found)"]}' + string: '{"errors":["not_found(Suppression with ID itm-ljs-0qw not found)"]}' headers: Content-Type: - application/json diff --git a/cassettes/features/v2/security_monitoring/Get-a-suppression-rule-returns-OK-response.frozen b/cassettes/features/v2/security_monitoring/Get-a-suppression-rule-returns-OK-response.frozen index a93a4d20e755..16f1a15eddce 100644 --- a/cassettes/features/v2/security_monitoring/Get-a-suppression-rule-returns-OK-response.frozen +++ b/cassettes/features/v2/security_monitoring/Get-a-suppression-rule-returns-OK-response.frozen @@ -1 +1 @@ -2025-11-07T12:27:27.654Z \ No newline at end of file +2026-01-14T17:29:04.856Z \ No newline at end of file diff --git a/cassettes/features/v2/security_monitoring/Get-a-suppression-rule-returns-OK-response.yml b/cassettes/features/v2/security_monitoring/Get-a-suppression-rule-returns-OK-response.yml index 21d50015e7c7..6021eaad9675 100644 --- a/cassettes/features/v2/security_monitoring/Get-a-suppression-rule-returns-OK-response.yml +++ b/cassettes/features/v2/security_monitoring/Get-a-suppression-rule-returns-OK-response.yml @@ -1,9 +1,10 @@ http_interactions: -- recorded_at: Fri, 07 Nov 2025 12:27:27 GMT +- recorded_at: Wed, 14 Jan 2026 17:29:04 GMT request: body: encoding: UTF-8 - string: '{"data":{"attributes":{"description":"Test-Get_a_suppression_rule_returns_OK_response-1762518447","enabled":true,"name":"Test-Get_a_suppression_rule_returns_OK_response-1762518447","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["technique:T1110-brute-force","source:cloudtrail"]},"type":"suppressions"}}' + string: '{"data":{"attributes":{"description":"Test-Get_a_suppression_rule_returns_OK_response-1768411744","enabled":true,"name":"suppression + Test-Get_a_suppression_rule_returns_OK_response-1768411744","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["technique:T1110-brute-force","source:cloudtrail"]},"type":"suppressions"}}' headers: Accept: - application/json @@ -14,8 +15,9 @@ http_interactions: response: body: encoding: UTF-8 - string: '{"data":{"id":"ylq-igi-icg","type":"suppressions","attributes":{"creation_date":1762518447901,"creator":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI - Account"},"data_exclusion_query":"","description":"Test-Get_a_suppression_rule_returns_OK_response-1762518447","editable":true,"enabled":true,"name":"Test-Get_a_suppression_rule_returns_OK_response-1762518447","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1762518447901,"updater":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI + string: '{"data":{"id":"xno-kwg-8df","type":"suppressions","attributes":{"creation_date":1768411744987,"creator":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI + Account"},"data_exclusion_query":"","description":"Test-Get_a_suppression_rule_returns_OK_response-1768411744","editable":true,"enabled":true,"name":"suppression + Test-Get_a_suppression_rule_returns_OK_response-1768411744","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1768411744987,"updater":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI Account"},"version":1}}}' headers: Content-Type: @@ -23,19 +25,20 @@ http_interactions: status: code: 200 message: OK -- recorded_at: Fri, 07 Nov 2025 12:27:27 GMT +- recorded_at: Wed, 14 Jan 2026 17:29:04 GMT request: body: null headers: Accept: - application/json method: GET - uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/ylq-igi-icg + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/xno-kwg-8df response: body: encoding: UTF-8 - string: '{"data":{"id":"ylq-igi-icg","type":"suppressions","attributes":{"creation_date":1762518447901,"creator":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI - Account"},"data_exclusion_query":"","description":"Test-Get_a_suppression_rule_returns_OK_response-1762518447","editable":true,"enabled":true,"name":"Test-Get_a_suppression_rule_returns_OK_response-1762518447","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1762518447901,"updater":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI + string: '{"data":{"id":"xno-kwg-8df","type":"suppressions","attributes":{"creation_date":1768411744987,"creator":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI + Account"},"data_exclusion_query":"","description":"Test-Get_a_suppression_rule_returns_OK_response-1768411744","editable":true,"enabled":true,"name":"suppression + Test-Get_a_suppression_rule_returns_OK_response-1768411744","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1768411744987,"updater":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI Account"},"version":1}}}' headers: Content-Type: @@ -43,14 +46,14 @@ http_interactions: status: code: 200 message: OK -- recorded_at: Fri, 07 Nov 2025 12:27:27 GMT +- recorded_at: Wed, 14 Jan 2026 17:29:04 GMT request: body: null headers: Accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/ylq-igi-icg + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/xno-kwg-8df response: body: encoding: UTF-8 diff --git a/cassettes/features/v2/security_monitoring/Get-a-suppression-s-version-history-returns-OK-response.frozen b/cassettes/features/v2/security_monitoring/Get-a-suppression-s-version-history-returns-OK-response.frozen index d0d5ccec313b..669132641329 100644 --- a/cassettes/features/v2/security_monitoring/Get-a-suppression-s-version-history-returns-OK-response.frozen +++ b/cassettes/features/v2/security_monitoring/Get-a-suppression-s-version-history-returns-OK-response.frozen @@ -1 +1 @@ -2025-11-26T13:33:06.482Z \ No newline at end of file +2026-01-14T17:29:05.317Z \ No newline at end of file diff --git a/cassettes/features/v2/security_monitoring/Get-a-suppression-s-version-history-returns-OK-response.yml b/cassettes/features/v2/security_monitoring/Get-a-suppression-s-version-history-returns-OK-response.yml index 84c317daea05..26e1a51de103 100644 --- a/cassettes/features/v2/security_monitoring/Get-a-suppression-s-version-history-returns-OK-response.yml +++ b/cassettes/features/v2/security_monitoring/Get-a-suppression-s-version-history-returns-OK-response.yml @@ -1,9 +1,10 @@ http_interactions: -- recorded_at: Wed, 26 Nov 2025 13:33:06 GMT +- recorded_at: Wed, 14 Jan 2026 17:29:05 GMT request: body: encoding: UTF-8 - string: '{"data":{"attributes":{"description":"Test-Get_a_suppression_s_version_history_returns_OK_response-1764163986","enabled":true,"name":"Test-Get_a_suppression_s_version_history_returns_OK_response-1764163986","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["technique:T1110-brute-force","source:cloudtrail"]},"type":"suppressions"}}' + string: '{"data":{"attributes":{"description":"Test-Get_a_suppression_s_version_history_returns_OK_response-1768411745","enabled":true,"name":"suppression + Test-Get_a_suppression_s_version_history_returns_OK_response-1768411745","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["technique:T1110-brute-force","source:cloudtrail"]},"type":"suppressions"}}' headers: Accept: - application/json @@ -14,39 +15,45 @@ http_interactions: response: body: encoding: UTF-8 - string: '{"data":{"id":"456-piv-74h","type":"suppressions","attributes":{"creation_date":1764163986851,"creator":{"handle":"frog@datadoghq.com","name":"frog"},"data_exclusion_query":"","description":"Test-Get_a_suppression_s_version_history_returns_OK_response-1764163986","editable":true,"enabled":true,"name":"Test-Get_a_suppression_s_version_history_returns_OK_response-1764163986","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1764163986851,"updater":{"handle":"frog@datadoghq.com","name":"frog"},"version":1}}}' + string: '{"data":{"id":"sro-unv-k08","type":"suppressions","attributes":{"creation_date":1768411745430,"creator":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI + Account"},"data_exclusion_query":"","description":"Test-Get_a_suppression_s_version_history_returns_OK_response-1768411745","editable":true,"enabled":true,"name":"suppression + Test-Get_a_suppression_s_version_history_returns_OK_response-1768411745","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1768411745430,"updater":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI + Account"},"version":1}}}' headers: Content-Type: - application/vnd.api+json status: code: 200 message: OK -- recorded_at: Wed, 26 Nov 2025 13:33:06 GMT +- recorded_at: Wed, 14 Jan 2026 17:29:05 GMT request: body: null headers: Accept: - application/json method: GET - uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/456-piv-74h/version_history + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/sro-unv-k08/version_history response: body: encoding: UTF-8 - string: '{"data":{"id":"456-piv-74h","type":"suppression_version_history","attributes":{"count":1,"data":{"1":{"suppression":{"id":"456-piv-74h","name":"Test-Get_a_suppression_s_version_history_returns_OK_response-1764163986","enabled":true,"description":"Test-Get_a_suppression_s_version_history_returns_OK_response-1764163986","rule_query":"source:cloudtrail","suppression_query":"env:test","data_exclusion_query":"","version":1,"creator":{"handle":"frog@datadoghq.com","name":"frog"},"updater":{"handle":"frog@datadoghq.com","name":"frog"},"creation_date":1764163986851,"update_date":1764163986851,"editable":true,"tags":["source:cloudtrail","technique:T1110-brute-force"]},"changes":[]}}}}}' + string: '{"data":{"id":"sro-unv-k08","type":"suppression_version_history","attributes":{"count":1,"data":{"1":{"suppression":{"id":"sro-unv-k08","name":"suppression + Test-Get_a_suppression_s_version_history_returns_OK_response-1768411745","enabled":true,"description":"Test-Get_a_suppression_s_version_history_returns_OK_response-1768411745","rule_query":"source:cloudtrail","suppression_query":"env:test","data_exclusion_query":"","version":1,"creator":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI + Account"},"updater":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI + Account"},"creation_date":1768411745430,"update_date":1768411745430,"editable":true,"tags":["source:cloudtrail","technique:T1110-brute-force"]},"changes":[]}}}}}' headers: Content-Type: - application/vnd.api+json status: code: 200 message: OK -- recorded_at: Wed, 26 Nov 2025 13:33:06 GMT +- recorded_at: Wed, 14 Jan 2026 17:29:05 GMT request: body: null headers: Accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/456-piv-74h + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/sro-unv-k08 response: body: encoding: UTF-8 diff --git a/cassettes/features/v2/security_monitoring/Get-all-suppression-rules-returns-OK-response-with-pagination.frozen b/cassettes/features/v2/security_monitoring/Get-all-suppression-rules-returns-OK-response-with-pagination.frozen new file mode 100644 index 000000000000..23cdf460db77 --- /dev/null +++ b/cassettes/features/v2/security_monitoring/Get-all-suppression-rules-returns-OK-response-with-pagination.frozen @@ -0,0 +1 @@ +2026-01-14T17:12:28.523Z \ No newline at end of file diff --git a/cassettes/features/v2/security_monitoring/Get-all-suppression-rules-returns-OK-response-with-pagination.yml b/cassettes/features/v2/security_monitoring/Get-all-suppression-rules-returns-OK-response-with-pagination.yml new file mode 100644 index 000000000000..5d0f6038306e --- /dev/null +++ b/cassettes/features/v2/security_monitoring/Get-all-suppression-rules-returns-OK-response-with-pagination.yml @@ -0,0 +1,101 @@ +http_interactions: +- recorded_at: Wed, 14 Jan 2026 17:12:28 GMT + request: + body: + encoding: UTF-8 + string: '{"data":{"attributes":{"description":"Test-Get_all_suppression_rules_returns_OK_response_with_pagination-1768410748","enabled":true,"name":"suppression + Test-Get_all_suppression_rules_returns_OK_response_with_pagination-1768410748","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["technique:T1110-brute-force","source:cloudtrail"]},"type":"suppressions"}}' + headers: + Accept: + - application/json + Content-Type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions + response: + body: + encoding: UTF-8 + string: '{"data":{"id":"fgz-hyr-ibu","type":"suppressions","attributes":{"creation_date":1768410748883,"creator":{"handle":"frog@datadoghq.com","name":"frog"},"data_exclusion_query":"","description":"Test-Get_all_suppression_rules_returns_OK_response_with_pagination-1768410748","editable":true,"enabled":true,"name":"suppression + Test-Get_all_suppression_rules_returns_OK_response_with_pagination-1768410748","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1768410748883,"updater":{"handle":"frog@datadoghq.com","name":"frog"},"version":1}}}' + headers: + Content-Type: + - application/vnd.api+json + status: + code: 200 + message: OK +- recorded_at: Wed, 14 Jan 2026 17:12:28 GMT + request: + body: + encoding: UTF-8 + string: '{"data":{"attributes":{"description":"Test-Get_all_suppression_rules_returns_OK_response_with_pagination-1768410748","enabled":true,"name":"suppression2 + Test-Get_all_suppression_rules_returns_OK_response_with_pagination-1768410748","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["technique:T1110-brute-force","source:cloudtrail"]},"type":"suppressions"}}' + headers: + Accept: + - application/json + Content-Type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions + response: + body: + encoding: UTF-8 + string: '{"data":{"id":"lgh-7no-380","type":"suppressions","attributes":{"creation_date":1768410749324,"creator":{"handle":"frog@datadoghq.com","name":"frog"},"data_exclusion_query":"","description":"Test-Get_all_suppression_rules_returns_OK_response_with_pagination-1768410748","editable":true,"enabled":true,"name":"suppression2 + Test-Get_all_suppression_rules_returns_OK_response_with_pagination-1768410748","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1768410749324,"updater":{"handle":"frog@datadoghq.com","name":"frog"},"version":1}}}' + headers: + Content-Type: + - application/vnd.api+json + status: + code: 200 + message: OK +- recorded_at: Wed, 14 Jan 2026 17:12:28 GMT + request: + body: null + headers: + Accept: + - application/json + method: GET + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions?page%5Bsize%5D=1&page%5Bnumber%5D=0&query=id%3Afgz-hyr-ibu%20OR%20id%3Algh-7no-380 + response: + body: + encoding: UTF-8 + string: '{"data":[{"id":"fgz-hyr-ibu","type":"suppressions","attributes":{"creation_date":1768410748883,"creator":{"handle":"frog@datadoghq.com","name":"frog"},"data_exclusion_query":"","description":"Test-Get_all_suppression_rules_returns_OK_response_with_pagination-1768410748","editable":true,"enabled":true,"name":"suppression + Test-Get_all_suppression_rules_returns_OK_response_with_pagination-1768410748","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1768410748883,"updater":{"handle":"frog@datadoghq.com","name":"frog"},"version":1}}],"meta":{"page":{"totalCount":2,"pageSize":1,"pageNumber":0}}}' + headers: + Content-Type: + - application/vnd.api+json + status: + code: 200 + message: OK +- recorded_at: Wed, 14 Jan 2026 17:12:28 GMT + request: + body: null + headers: + Accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/lgh-7no-380 + response: + body: + encoding: UTF-8 + string: '' + headers: {} + status: + code: 204 + message: No Content +- recorded_at: Wed, 14 Jan 2026 17:12:28 GMT + request: + body: null + headers: + Accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/fgz-hyr-ibu + 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-all-suppression-rules-returns-OK-response-with-sort-ascending.frozen b/cassettes/features/v2/security_monitoring/Get-all-suppression-rules-returns-OK-response-with-sort-ascending.frozen new file mode 100644 index 000000000000..89bfc8cd8ef8 --- /dev/null +++ b/cassettes/features/v2/security_monitoring/Get-all-suppression-rules-returns-OK-response-with-sort-ascending.frozen @@ -0,0 +1 @@ +2026-01-14T17:12:30.925Z \ No newline at end of file diff --git a/cassettes/features/v2/security_monitoring/Get-all-suppression-rules-returns-OK-response-with-sort-ascending.yml b/cassettes/features/v2/security_monitoring/Get-all-suppression-rules-returns-OK-response-with-sort-ascending.yml new file mode 100644 index 000000000000..0e765861acf4 --- /dev/null +++ b/cassettes/features/v2/security_monitoring/Get-all-suppression-rules-returns-OK-response-with-sort-ascending.yml @@ -0,0 +1,102 @@ +http_interactions: +- recorded_at: Wed, 14 Jan 2026 17:12:30 GMT + request: + body: + encoding: UTF-8 + string: '{"data":{"attributes":{"description":"Test-Get_all_suppression_rules_returns_OK_response_with_sort_ascending-1768410750","enabled":true,"name":"suppression + Test-Get_all_suppression_rules_returns_OK_response_with_sort_ascending-1768410750","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["technique:T1110-brute-force","source:cloudtrail"]},"type":"suppressions"}}' + headers: + Accept: + - application/json + Content-Type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions + response: + body: + encoding: UTF-8 + string: '{"data":{"id":"5cq-vnw-eza","type":"suppressions","attributes":{"creation_date":1768410751276,"creator":{"handle":"frog@datadoghq.com","name":"frog"},"data_exclusion_query":"","description":"Test-Get_all_suppression_rules_returns_OK_response_with_sort_ascending-1768410750","editable":true,"enabled":true,"name":"suppression + Test-Get_all_suppression_rules_returns_OK_response_with_sort_ascending-1768410750","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1768410751276,"updater":{"handle":"frog@datadoghq.com","name":"frog"},"version":1}}}' + headers: + Content-Type: + - application/vnd.api+json + status: + code: 200 + message: OK +- recorded_at: Wed, 14 Jan 2026 17:12:30 GMT + request: + body: + encoding: UTF-8 + string: '{"data":{"attributes":{"description":"Test-Get_all_suppression_rules_returns_OK_response_with_sort_ascending-1768410750","enabled":true,"name":"suppression2 + Test-Get_all_suppression_rules_returns_OK_response_with_sort_ascending-1768410750","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["technique:T1110-brute-force","source:cloudtrail"]},"type":"suppressions"}}' + headers: + Accept: + - application/json + Content-Type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions + response: + body: + encoding: UTF-8 + string: '{"data":{"id":"fuu-xxd-kjd","type":"suppressions","attributes":{"creation_date":1768410751710,"creator":{"handle":"frog@datadoghq.com","name":"frog"},"data_exclusion_query":"","description":"Test-Get_all_suppression_rules_returns_OK_response_with_sort_ascending-1768410750","editable":true,"enabled":true,"name":"suppression2 + Test-Get_all_suppression_rules_returns_OK_response_with_sort_ascending-1768410750","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1768410751710,"updater":{"handle":"frog@datadoghq.com","name":"frog"},"version":1}}}' + headers: + Content-Type: + - application/vnd.api+json + status: + code: 200 + message: OK +- recorded_at: Wed, 14 Jan 2026 17:12:30 GMT + request: + body: null + headers: + Accept: + - application/json + method: GET + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions?sort=name&query=id%3A5cq-vnw-eza%20OR%20id%3Afuu-xxd-kjd + response: + body: + encoding: UTF-8 + string: '{"data":[{"id":"5cq-vnw-eza","type":"suppressions","attributes":{"creation_date":1768410751276,"creator":{"handle":"frog@datadoghq.com","name":"frog"},"data_exclusion_query":"","description":"Test-Get_all_suppression_rules_returns_OK_response_with_sort_ascending-1768410750","editable":true,"enabled":true,"name":"suppression + Test-Get_all_suppression_rules_returns_OK_response_with_sort_ascending-1768410750","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1768410751276,"updater":{"handle":"frog@datadoghq.com","name":"frog"},"version":1}},{"id":"fuu-xxd-kjd","type":"suppressions","attributes":{"creation_date":1768410751710,"creator":{"handle":"frog@datadoghq.com","name":"frog"},"data_exclusion_query":"","description":"Test-Get_all_suppression_rules_returns_OK_response_with_sort_ascending-1768410750","editable":true,"enabled":true,"name":"suppression2 + Test-Get_all_suppression_rules_returns_OK_response_with_sort_ascending-1768410750","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1768410751710,"updater":{"handle":"frog@datadoghq.com","name":"frog"},"version":1}}],"meta":{"page":{"totalCount":2,"pageSize":2,"pageNumber":0}}}' + headers: + Content-Type: + - application/vnd.api+json + status: + code: 200 + message: OK +- recorded_at: Wed, 14 Jan 2026 17:12:30 GMT + request: + body: null + headers: + Accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/fuu-xxd-kjd + response: + body: + encoding: UTF-8 + string: '' + headers: {} + status: + code: 204 + message: No Content +- recorded_at: Wed, 14 Jan 2026 17:12:30 GMT + request: + body: null + headers: + Accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/5cq-vnw-eza + 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-all-suppression-rules-returns-OK-response-with-sort-descending.frozen b/cassettes/features/v2/security_monitoring/Get-all-suppression-rules-returns-OK-response-with-sort-descending.frozen new file mode 100644 index 000000000000..d184a46ea082 --- /dev/null +++ b/cassettes/features/v2/security_monitoring/Get-all-suppression-rules-returns-OK-response-with-sort-descending.frozen @@ -0,0 +1 @@ +2026-01-14T17:12:33.088Z \ No newline at end of file diff --git a/cassettes/features/v2/security_monitoring/Get-all-suppression-rules-returns-OK-response-with-sort-descending.yml b/cassettes/features/v2/security_monitoring/Get-all-suppression-rules-returns-OK-response-with-sort-descending.yml new file mode 100644 index 000000000000..8b1f589c4673 --- /dev/null +++ b/cassettes/features/v2/security_monitoring/Get-all-suppression-rules-returns-OK-response-with-sort-descending.yml @@ -0,0 +1,102 @@ +http_interactions: +- recorded_at: Wed, 14 Jan 2026 17:12:33 GMT + request: + body: + encoding: UTF-8 + string: '{"data":{"attributes":{"description":"Test-Get_all_suppression_rules_returns_OK_response_with_sort_descending-1768410753","enabled":true,"name":"suppression + Test-Get_all_suppression_rules_returns_OK_response_with_sort_descending-1768410753","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["technique:T1110-brute-force","source:cloudtrail"]},"type":"suppressions"}}' + headers: + Accept: + - application/json + Content-Type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions + response: + body: + encoding: UTF-8 + string: '{"data":{"id":"osw-qyf-tqn","type":"suppressions","attributes":{"creation_date":1768410753455,"creator":{"handle":"frog@datadoghq.com","name":"frog"},"data_exclusion_query":"","description":"Test-Get_all_suppression_rules_returns_OK_response_with_sort_descending-1768410753","editable":true,"enabled":true,"name":"suppression + Test-Get_all_suppression_rules_returns_OK_response_with_sort_descending-1768410753","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1768410753455,"updater":{"handle":"frog@datadoghq.com","name":"frog"},"version":1}}}' + headers: + Content-Type: + - application/vnd.api+json + status: + code: 200 + message: OK +- recorded_at: Wed, 14 Jan 2026 17:12:33 GMT + request: + body: + encoding: UTF-8 + string: '{"data":{"attributes":{"description":"Test-Get_all_suppression_rules_returns_OK_response_with_sort_descending-1768410753","enabled":true,"name":"suppression2 + Test-Get_all_suppression_rules_returns_OK_response_with_sort_descending-1768410753","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["technique:T1110-brute-force","source:cloudtrail"]},"type":"suppressions"}}' + headers: + Accept: + - application/json + Content-Type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions + response: + body: + encoding: UTF-8 + string: '{"data":{"id":"pe9-gdi-ee2","type":"suppressions","attributes":{"creation_date":1768410753872,"creator":{"handle":"frog@datadoghq.com","name":"frog"},"data_exclusion_query":"","description":"Test-Get_all_suppression_rules_returns_OK_response_with_sort_descending-1768410753","editable":true,"enabled":true,"name":"suppression2 + Test-Get_all_suppression_rules_returns_OK_response_with_sort_descending-1768410753","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1768410753872,"updater":{"handle":"frog@datadoghq.com","name":"frog"},"version":1}}}' + headers: + Content-Type: + - application/vnd.api+json + status: + code: 200 + message: OK +- recorded_at: Wed, 14 Jan 2026 17:12:33 GMT + request: + body: null + headers: + Accept: + - application/json + method: GET + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions?sort=-name&query=id%3Aosw-qyf-tqn%20OR%20id%3Ape9-gdi-ee2 + response: + body: + encoding: UTF-8 + string: '{"data":[{"id":"pe9-gdi-ee2","type":"suppressions","attributes":{"creation_date":1768410753872,"creator":{"handle":"frog@datadoghq.com","name":"frog"},"data_exclusion_query":"","description":"Test-Get_all_suppression_rules_returns_OK_response_with_sort_descending-1768410753","editable":true,"enabled":true,"name":"suppression2 + Test-Get_all_suppression_rules_returns_OK_response_with_sort_descending-1768410753","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1768410753872,"updater":{"handle":"frog@datadoghq.com","name":"frog"},"version":1}},{"id":"osw-qyf-tqn","type":"suppressions","attributes":{"creation_date":1768410753455,"creator":{"handle":"frog@datadoghq.com","name":"frog"},"data_exclusion_query":"","description":"Test-Get_all_suppression_rules_returns_OK_response_with_sort_descending-1768410753","editable":true,"enabled":true,"name":"suppression + Test-Get_all_suppression_rules_returns_OK_response_with_sort_descending-1768410753","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1768410753455,"updater":{"handle":"frog@datadoghq.com","name":"frog"},"version":1}}],"meta":{"page":{"totalCount":2,"pageSize":2,"pageNumber":0}}}' + headers: + Content-Type: + - application/vnd.api+json + status: + code: 200 + message: OK +- recorded_at: Wed, 14 Jan 2026 17:12:33 GMT + request: + body: null + headers: + Accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/pe9-gdi-ee2 + response: + body: + encoding: UTF-8 + string: '' + headers: {} + status: + code: 204 + message: No Content +- recorded_at: Wed, 14 Jan 2026 17:12:33 GMT + request: + body: null + headers: + Accept: + - '*/*' + method: DELETE + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/osw-qyf-tqn + 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/Preview-a-rule-query-with-applied-filters-returns-OK-response.frozen b/cassettes/features/v2/security_monitoring/Preview-a-rule-query-with-applied-filters-returns-OK-response.frozen new file mode 100644 index 000000000000..77009f7c0381 --- /dev/null +++ b/cassettes/features/v2/security_monitoring/Preview-a-rule-query-with-applied-filters-returns-OK-response.frozen @@ -0,0 +1 @@ +2026-01-20T10:27:51.146Z \ No newline at end of file diff --git a/cassettes/features/v2/security_monitoring/Preview-a-rule-query-with-applied-filters-returns-OK-response.yml b/cassettes/features/v2/security_monitoring/Preview-a-rule-query-with-applied-filters-returns-OK-response.yml new file mode 100644 index 000000000000..c1f170b16e74 --- /dev/null +++ b/cassettes/features/v2/security_monitoring/Preview-a-rule-query-with-applied-filters-returns-OK-response.yml @@ -0,0 +1,718 @@ +http_interactions: +- recorded_at: Tue, 20 Jan 2026 10:27:51 GMT + request: + body: + encoding: UTF-8 + string: '{"dataSource":"logs","detectionMethod":"threshold","distinctFields":[],"filters":[],"groupByFields":[],"query":"source:cloudtrail","queryIndex":0,"type":"log_detection"}' + headers: + Accept: + - application/json + Content-Type: + - application/json + method: POST + uri: https://api.datadoghq.com/api/v2/security_monitoring/livetail + response: + body: + encoding: UTF-8 + string: '{"query":"source:cloudtrail ((*) OR (service:api -(source:staging)) + OR (acceptance rule triggered -(does not really match much) -(neither does + it)) OR (ayayay query -(does not really match much) -(neither does it)) OR + (service:TestUpdateasecurityfilterreturnsOKresponse1631884327 -(source:staging)) + OR (service:TestDeleteasecurityfilterreturnsNoContentresponse1631884338 -(source:staging)) + OR (service:TestGetasecurityfilterreturnsOKresponse1631884338 -(source:staging)) + OR (service:TestDeleteasecurityfilterreturnsNoContentresponse1631884454 -(source:staging)) + OR (service:TestUpdateasecurityfilterreturnsOKresponse1631884464 -(source:staging)) + OR (service:TestGetasecurityfilterreturnsOKresponse1631884465 -(source:staging)) + OR (service:TestDeleteasecurityfilterreturnsNoContentresponse1631884670 -(source:staging)) + OR (service:TestUpdateasecurityfilterreturnsOKresponse1631884674 -(source:staging)) + OR (service:TestGetasecurityfilterreturnsOKresponse1631884674 -(source:staging)) + OR (service:TestGetasecurityfilterreturnsOKresponse1631884714 -(source:staging)) + OR (service:TestDeleteasecurityfilterreturnsNoContentresponse1631884715 -(source:staging)) + OR (service:TestUpdateasecurityfilterreturnsOKresponse1631884725 -(source:staging)) + OR (service:TestPythonDeleteasecurityfilterreturnsNoContentresponse1631886017 + -(source:staging)) OR (service:TestPythonGetasecurityfilterreturnsOKresponse1631886029 + -(source:staging)) OR (service:TestPythonUpdateasecurityfilterreturnsOKresponse1631886034 + -(source:staging)) OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632817310 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632817310 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632817311) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632820231 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632820231 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632820232) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632820436 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632820437 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632820438) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632821203 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632821205 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632821205) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632821494 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632821495 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632821495) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632824855 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632824856 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632824857) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632826434 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632826436 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632826436) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632827408 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632827409 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632827410) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632828993 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632828993 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632828994) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632832892 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632832892 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632832893) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632833158 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632833159 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632833159) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632836449 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632836451 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632836452) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632839530 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632839530 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632839530) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632839555 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632839556 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632839557) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632839754 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632839755 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632839755) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632841163 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632841164 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632841165) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632842479 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632842482 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632842482) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632843068 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632843069 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632843069) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632844019 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632844020 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632844021) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632844135 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632844135 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632844135) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632846637 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632846638 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632846639) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632847599 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632847600 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632847601) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632848092 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632848094 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632848095) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632848450 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632848451 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632848451) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632848885 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632848885 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632848886) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632849681 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632849683 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632849684) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632849896 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632849897 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632849898) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632851126 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632851127 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632851128) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632888517 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632888518 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632888518) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632898979 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632898980 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632898980) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632899193 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632899194 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632899194) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632902893 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632902894 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632902894) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632903483 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632903484 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632903485) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632904028 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632904028 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632904029) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632907319 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632907320 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632907320) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632907341 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632907342 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632907342) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632908400 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632908401 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632908402) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632909893 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632909895 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632909896) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632910740 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632910741 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632910742) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632913811 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632913813 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632913814) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632918181 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632918181 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632918182) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632919352 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632919352 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632919353) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632919567 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632919568 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632919568) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632921868 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632921868 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632921869) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632922202 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632922203 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632922203) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632928250 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632928250 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632928251) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632933845 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632933846 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632933847) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632974965 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632974966 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632974966) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632986086 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632986087 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632986087) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632989757 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632989758 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632989758) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1632997311 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1632997312 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1632997312) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1633000142 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1633000144 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1633000145) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1633003795 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1633003796 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1633003797) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1633004068 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1633004069 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1633004069) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1633006704 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1633006704 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1633006705) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1633007542 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1633007542 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1633007543) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1633011104 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1633011105 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1633011105) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1633011244 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1633011246 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1633011247) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1633015449 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1633015451 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1633015452) + OR (service:TestRubyGetasecurityfilterreturnsOKresponse1634150224 -(source:staging)) + OR (service:TestPythonGetasecurityfilterreturnsOKresponse1635496812 -(source:staging)) + OR (service:TestGoGetasecurityfilterreturnsOKresponse1636410254 -(source:staging)) + OR (service:TestCreateasecurityfilterreturnsOKresponse1637063344 -(source:staging)) + OR (service:TestGetasecurityfilterreturnsOKresponse1637063346 -(source:staging)) + OR (service:TestUpdateasecurityfilterreturnsOKresponse1637063347) OR (service:TestCreateasecurityfilterreturnsOKresponse1637070528 + -(source:staging)) OR (service:TestGetasecurityfilterreturnsOKresponse1637070533 + -(source:staging)) OR (service:TestUpdateasecurityfilterreturnsOKresponse1637070535) + OR (service:TestCreateasecurityfilterreturnsOKresponse1637077967 -(source:staging)) + OR (service:TestGetasecurityfilterreturnsOKresponse1637077969 -(source:staging)) + OR (service:TestUpdateasecurityfilterreturnsOKresponse1637077970) OR (service:TestCreateasecurityfilterreturnsOKresponse1637078478 + -(source:staging)) OR (service:TestGetasecurityfilterreturnsOKresponse1637078481 + -(source:staging)) OR (service:TestUpdateasecurityfilterreturnsOKresponse1637078482) + OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1637089241 + -(source:staging)) OR (service:TestGetasecurityfilterreturnsOKresponse1620751633 + -(source:staging)) OR (service:TestUpdateasecurityfilterreturnsOKresponse1620751634) + OR (service:TestCreateasecurityfilterreturnsOKresponse1637141213 -(source:staging)) + OR (service:TestGetasecurityfilterreturnsOKresponse1637141215 -(source:staging)) + OR (service:TestUpdateasecurityfilterreturnsOKresponse1637141217) OR (service:TestRubyGetasecurityfilterreturnsOKresponse1637834808 + -(source:staging)) OR (service:TestPythonGetasecurityfilterreturnsOKresponse1638987050 + -(source:staging)) OR (service:TestPythonDeleteasecurityfilterreturnsNoContentresponse1638987054 + -(source:staging)) OR (service:TestPythonUpdateasecurityfilterreturnsOKresponse1638987055 + -(source:staging)) OR (service:TestPythonCreateasecurityfilterreturnsOKresponse1638987057 + -(source:staging)) OR (service:TestPythonDeleteasecurityfilterreturnsNoContentresponse1639574360 + -(source:staging)) OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1640111630 + -(source:staging)) OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1640112776 + -(source:staging)) OR (service:TestCreateasecurityfilterreturnsOKresponse1640112926 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1641598933 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1642578134 + -(source:staging)) OR (service:TestExampleGetasecurityfilterreturnsOKresponse1642733138 + -(source:staging)) OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1642756664 + -(source:staging)) OR (service:TestTypescriptDeleteasecurityfilterreturnsNoContentresponse1642756664 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1642756664 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1642756664 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1643209589) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1643950965) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1644339764 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1644382966 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1644656566 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1644685366 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1645102964) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1645131764 -(source:staging)) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1645534965) OR (service:ExampleGetasecurityfilterreturnsOKresponse1645664565 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1647162167) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1647651765 -(source:staging)) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1647954164) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1648170165 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1648270965 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1648314166 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1648501364 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1648501364) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1648587764) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1648818166 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1648832565 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1648990964) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1649120564) OR (service:ExampleGetasecurityfilterreturnsOKresponse1649192564 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1649667764 + -(source:staging)) OR (service:TestDeleteasecurityfilterreturnsNoContentresponse1649928918 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1650243764 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1650358964) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1650531764) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1651410164) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1651597364 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1651654964 -(source:staging)) + OR (service:TestTypescriptDeleteasecurityfilterreturnsNoContentresponse1651867320 + -(source:staging)) OR (service:TestTypescriptDeleteasecurityfilterreturnsNoContentresponse1651912576 + -(source:staging)) OR (service:TestTypescriptDeleteasecurityfilterreturnsNoContentresponse1651915972 + -(source:staging)) OR (service:TestTypescriptDeleteasecurityfilterreturnsNoContentresponse1651943585 + -(source:staging)) OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1651997988 + -(source:staging)) OR (service:TestTypescriptDeleteasecurityfilterreturnsNoContentresponse1651997988 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1651997989 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1651997990) + OR (service:TestTypescriptDeleteasecurityfilterreturnsNoContentresponse1652008989 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1656001148 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1656001148) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1656001150 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1657253948 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1657469948 -(source:staging)) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1657599548) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1657887548) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1658175548) OR (first + query -(does not really match much) -(neither does it)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1658636349) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1658909949) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1659140350 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1660119548 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1665706600 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1665706784 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1673744048 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1673830447) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1674233647 -(source:staging)) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1674291247) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1674780847) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1675400048) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1675932846) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1675932848 -(source:staging)) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1675976048 -(source:staging)) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1675990446) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1675990448 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1676033647 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1676048047 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1676062448 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1676134446 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1676148847 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1676177646) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1676206447 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1676264047 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1676321647 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1676350447 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1676451247 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1676465647 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1676480047 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1676508846 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1676537646 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1676552047 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1676566446 -(source:staging)) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1676595246) OR (service:ExampleGetasecurityfilterreturnsOKresponse1676624046 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1676667247 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1676710446 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1676724847 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1676753647 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1676782447 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1676796846 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1676825647 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1676840047 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1676854447 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1676883247 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1676897647 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1676969647 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1677185646) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1677300847 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1677545647 -(source:staging)) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1677560046) OR (service:ExampleGetasecurityfilterreturnsOKresponse1677588847 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1677603246) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1677632047 -(source:staging)) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1677675246) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1677689648 + -(source:staging)) OR (service:TestCreateasecurityfilterreturnsOKresponse1677856599 + -(source:staging)) OR (service:TestDeleteasecurityfilterreturnsNoContentresponse1677856599 + -(source:staging)) OR (service:TestGetasecurityfilterreturnsOKresponse1677856602 + -(source:staging)) OR (service:TestUpdateasecurityfilterreturnsOKresponse1677856604 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1678217608 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1678260806 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1678260809 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1678260812 + -(source:staging)) OR (service:ExampleDeleteasecurityfilterreturnsNoContentresponse1678265641 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1678275206 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1678275208 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1678275211 + -(source:staging)) OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1678275624 + -(source:staging)) OR (service:TestTypescriptDeleteasecurityfilterreturnsNoContentresponse1678275639 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1678275700 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1678275746 + -(source:staging)) OR (first query - tf-TestAccDatadogSecurityMonitoringFilter-local-1678277734 + -(does not really match much) -(neither does it)) OR (service:ExampleDeleteasecurityfilterreturnsNoContentresponse1678280041 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1678491211 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1678750408 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1679009608 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1679038409 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1679182409 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1679196808 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1679240011) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1679598830) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1679598832 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1679699629) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1679757229 -(source:staging)) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1679771627 -(source:staging)) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1679872429 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1679973228 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1679987628 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1680102828 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1680218028 -(source:staging)) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1680246830) OR (service:ExampleGetasecurityfilterreturnsOKresponse1680290028 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1680290029) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1680304427 -(source:staging)) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1680390827 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1680405229 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1680448429 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1680462829 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1680506029 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1680520429 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1680549229 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1680678829 -(source:staging)) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1680707628 -(source:staging)) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1680722030) OR (service:ExampleGetasecurityfilterreturnsOKresponse1680736428 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1681024430 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1681067629 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1681096428 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1681139627 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1681139629) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1681154028 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1681154028 -(source:staging)) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1681182827 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1681211629 -(source:staging)) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1681211630) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1681283630) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1681355628 -(source:staging)) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1681370030) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1681442027 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1681470829 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1681643629 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1681744427 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1681787628 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1681830830) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1681917229 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1681946029 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1681989229 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1682003630 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1682018029 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1682104428 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1682118828 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1682133229 -(source:staging)) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1682133230) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1682162030) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1682363630) OR (service:ExampleGetasecurityfilterreturnsOKresponse1682406829 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1682493230) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1682536428 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1682637229 -(source:staging)) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1682666030) OR (service:ExampleGetasecurityfilterreturnsOKresponse1682680428 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1682694828 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1682709228 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1682738029 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1682795630) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1682838829 -(source:staging)) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1682853227 -(source:staging)) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1682910830) OR (service:ExampleGetasecurityfilterreturnsOKresponse1682997229 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1683011628 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1683026029) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1683040430 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1683083628 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1683112430 -(source:staging)) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1683141227 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1683141228 -(source:staging)) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1683213228 -(source:staging)) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1683227627 -(source:staging)) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1683242027 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1683285229 -(source:staging)) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1683342830) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1683414830) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1683472429 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1683544429 -(source:staging)) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1683602030) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1683717230) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1683789229 -(source:staging)) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1684949513) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1685050313 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1685266312 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1685871113) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1685885513) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1686231113 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1687023112 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1687123912 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1687181511 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1687616375 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1687872712 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1688463111 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1688794314 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1688837512 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1688851913 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1688866312) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1689010313) OR (service:ExampleGetasecurityfilterreturnsOKresponse1689039107 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1689067913 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1689096713 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1689183111 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1689370313) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1689399113) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1689456711 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1689672713 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1689903114 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1690075912 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1690162312 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1690248713 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1690320714 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1690392712 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1690551112 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1690637513) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1690925512 -(source:staging)) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1690954313) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1690968713 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1691127113) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1691242311 -(source:staging)) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1691256712) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1691328713 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1691602313 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1691717511 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1691890312 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1692595914 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1696660266) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1696919467) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1697553067) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1697711468) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1698013866) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1698042667) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1698085866) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1698301867) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1698330668) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1698561066) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1698690667) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1699137068) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1700029869) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1700116266) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1700562668) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1700908267) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1700937067) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1701138667) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1701268267) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1701325866) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1701383468) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1701426667) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1701484267) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1702218668) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1702506666) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1702578666) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1702764209) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1702764222 -(source:staging)) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1702807409) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1702850623 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1702908224 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1702922609) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1703081023 -(source:staging)) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1703153022 -(source:staging)) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1703268222 -(source:staging)) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1703325822 -(source:staging)) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1703383422 -(source:staging)) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1703412209) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1703513009) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1703757823 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1703786621 -(source:staging)) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1703844222 -(source:staging)) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1703873022 -(source:staging)) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1703887409) OR (service:ExampleGetasecurityfilterreturnsOKresponse1704103421 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1704189822 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1704333822 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1704477809) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1704535422 -(source:staging)) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1704737022 -(source:staging)) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1704765822 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1704823421 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1704837822 -(source:staging)) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1704924222 -(source:staging)) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1705039410) OR (service:ExampleGetasecurityfilterreturnsOKresponse1705039421 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1705111410) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1705226609) OR (service:ExampleGetasecurityfilterreturnsOKresponse1705241022 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1705327422 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1705356223 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1705385009) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1705428220 -(source:staging)) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1705485810) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1705485821 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1705543421 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1705557809) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1705586621 -(source:staging)) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1705658610) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1705802622 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1705817023 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1706061823 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1706133809) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1706162621 -(source:staging)) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1706249021 -(source:staging)) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1706335422 -(source:staging)) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1706349822 -(source:staging)) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1706436222 -(source:staging)) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1706465022 -(source:staging)) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1706479422 -(source:staging)) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1706522623 -(source:staging)) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1706565822 -(source:staging)) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1706637822 -(source:staging)) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1706666624 -(source:staging)) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1706681010) OR (service:ExampleGetasecurityfilterreturnsOKresponse1706695421 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1706810620 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1706882609) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1706897009) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1706925810) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1706969009) OR (service:ExampleGetasecurityfilterreturnsOKresponse1706983421 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1707084221 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1707127422 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1707228221 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1707257021 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1707357822 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1707559422 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1707573821 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1707588209) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1707588222 -(source:staging)) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1707631422 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1707645821 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1707660221 -(source:staging)) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1707717821 -(source:staging)) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1707746622 -(source:staging)) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1707833022 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1707890623 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1708020221 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1708106621 -(source:staging)) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1708236209) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1708236222 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1708250609) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1708279409) OR (service:ExampleGetasecurityfilterreturnsOKresponse1708279421 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1708337023 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1708351423 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1708466623 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1708509821 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1708581823 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1708653810) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1708653822 -(source:staging)) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1708869809) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1709013822 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1709042622 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1709071410) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1709143421 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1709157821 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1709201023 -(source:staging)) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1709215423 -(source:staging)) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1709229822 -(source:staging)) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1709330623 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1709345021 -(source:staging)) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1709517821 -(source:staging)) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1709546622 -(source:staging)) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1709690623 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1709719422 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1709762621 -(source:staging)) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1709906610) OR (service:ExampleGetasecurityfilterreturnsOKresponse1709949822 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1710007424 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1710021822 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1710209023 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1710237822 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1710353021 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1710381821 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1710410609) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1710468209) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1710468223 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1710612221 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1710669821 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1710756222 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1710914622 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1710986622 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1711001009) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1711101823 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1711274621 -(source:staging)) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1711289009) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1711317810) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1711332222 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1711346620 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1711375422 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1711418621 -(source:staging)) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1711447422 -(source:staging)) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1711461824 -(source:staging)) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1711476222 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1711505021 -(source:staging)) + OR (service:TestCreateasecurityfilterreturnsOKresponse1711550926 -(source:staging)) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1711577009) OR (service:ExampleGetasecurityfilterreturnsOKresponse1711577021 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1711605821 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1711620209) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1711749809) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1711793009) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1711793022 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1711807421 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1711865021 -(source:staging)) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1711879408) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1711879422 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1711922621 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1712023421 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1712052221 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1712196222 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1712210621 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1712253822 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1712311420 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1712325821 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1712340223 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1712383421 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1712455409) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1712484224 -(source:staging)) + OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1712570609) OR (service:ExampleGetasecurityfilterreturnsOKresponse1712613821 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1712642622 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1712757823 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1712786623 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1712887422 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1712916221 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1712973821 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1713261823 + -(source:staging)) OR (service:TestRubyUpdateasecurityfilterreturnsOKresponse1714184527) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1714702913 -(source:staging)) + OR (service:ExampleGetasecurityfilterreturnsOKresponse1715134934 -(source:staging)) + OR (service:ExampleCreateasecurityfilterreturnsOKresponse1718403715 -(source:staging)) + OR (first query - tf-TestAccDatadogSecurityMonitoringFilter-local-1729815620 + -(does not really match much) -(neither does it)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1736850556 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1737245916 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1758843453 + -(source:staging)) OR (service:ExampleDeleteasecurityfilterreturnsNoContentresponse1758843477 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1758843507 + -(source:staging)) OR (first query - tf-TestAccDatadogSecurityMonitoringFilter-local-1758846296 + -(does not really match much) -(neither does it)) OR (service:TestGoCreateasecurityfilterreturnsOKresponse1758847622 + -(source:staging)) OR (service:TestGoDeleteasecurityfilterreturnsNoContentresponse1758847623 + -(source:staging)) OR (service:TestGoGetasecurityfilterreturnsOKresponse1758847634 + -(source:staging)) OR (service:TestGoUpdateasecurityfilterreturnsOKresponse1758847653 + -(source:staging)) OR (service:TestRubyCreateasecurityfilterreturnsOKresponse1758854218 + -(source:staging)) OR (service:TestRubyCreateasecurityfilterreturnsOKresponse1758854219 + -(source:staging)) OR (service:TestRubyCreateasecurityfilterreturnsOKresponse1758854220 + -(source:staging)) OR (service:TestRubyDeleteasecurityfilterreturnsNoContentresponse1758854222 + -(source:staging)) OR (service:TestRubyDeleteasecurityfilterreturnsNoContentresponse1758854223 + -(source:staging)) OR (service:TestRubyDeleteasecurityfilterreturnsNoContentresponse1758854224 + -(source:staging)) OR (service:TestRubyGetasecurityfilterreturnsOKresponse1758854242 + -(source:staging)) OR (service:TestRubyGetasecurityfilterreturnsOKresponse1758854243 + -(source:staging)) OR (service:TestRubyGetasecurityfilterreturnsOKresponse1758854244 + -(source:staging)) OR (service:TestRubyUpdateasecurityfilterreturnsOKresponse1758854300 + -(source:staging)) OR (service:TestRubyUpdateasecurityfilterreturnsOKresponse1758854301 + -(source:staging)) OR (service:TestRubyUpdateasecurityfilterreturnsOKresponse1758854302 + -(source:staging)) OR (service:TestJavaCreateasecurityfilterreturnsOKresponse1758857595 + -(source:staging)) OR (service:TestJavaDeleteasecurityfilterreturnsNoContentresponse1758857599 + -(source:staging)) OR (service:TestJavaGetasecurityfilterreturnsOKresponse1758857609 + -(source:staging)) OR (service:TestJavaGetasecurityfilterreturnsOKresponse1758857610 + -(source:staging)) OR (service:TestJavaUpdateasecurityfilterreturnsOKresponse1758857641 + -(source:staging)) OR (service:TestJavaUpdateasecurityfilterreturnsOKresponse1758857642 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1758857853 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1758857854 + -(source:staging)) OR (service:ExampleDeleteasecurityfilterreturnsNoContentresponse1758857877 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1758857907 + -(source:staging)) OR (service:TestTypescriptDeleteasecurityfilterreturnsNoContentresponse1758860922 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1758860936 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1758860965 + -(source:staging)) OR (service:TestTypescriptDeleteasecurityfilterreturnsNoContentresponse1758861938 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1758861938 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1758861942 + -(source:staging)) OR (service:TestJavaCreateasecurityfilterreturnsOKresponse1758867862 + -(source:staging)) OR (service:TestJavaDeleteasecurityfilterreturnsNoContentresponse1758867863 + -(source:staging)) OR (service:TestJavaGetasecurityfilterreturnsOKresponse1758867863 + -(source:staging)) OR (service:TestJavaGetasecurityfilterreturnsOKresponse1758867864 + -(source:staging)) OR (service:TestJavaUpdateasecurityfilterreturnsOKresponse1758867876 + -(source:staging)) OR (service:TestJavaUpdateasecurityfilterreturnsOKresponse1758867877 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1758872253 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1758872255 + -(source:staging)) OR (service:ExampleDeleteasecurityfilterreturnsNoContentresponse1758872277 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1758872307 + -(source:staging)) OR (service:TestTypescriptCreateasecurityfilterreturnsOKresponse1758885589 + -(source:staging)) OR (service:TestTypescriptGetasecurityfilterreturnsOKresponse1758885596 + -(source:staging)) OR (service:TestTypescriptUpdateasecurityfilterreturnsOKresponse1758885618 + -(source:staging)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1758886653 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1758886654 + -(source:staging)) OR (service:ExampleDeleteasecurityfilterreturnsNoContentresponse1758886677 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1758886707 + -(source:staging)) OR (first query - tf-TestAccDatadogSecurityMonitoringFilter-local-1758889002 + -(does not really match much) -(neither does it)) OR (service:ExampleCreateasecurityfilterreturnsOKresponse1758901053 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1758901055 + -(source:staging)) OR (service:ExampleDeleteasecurityfilterreturnsNoContentresponse1758901077 + -(source:staging)) OR (service:ExampleGetasecurityfilterreturnsOKresponse1758901107 + -(source:staging)) OR (service:ExampleUpdateasecurityfilterreturnsOKresponse1760974655)) + -source:(runtime-security-agent OR cloud-workload-security)"}' + headers: + Content-Type: + - application/json + status: + code: 200 + message: OK +recorded_with: VCR 6.0.0 diff --git a/cassettes/features/v2/security_monitoring/Update-a-suppression-rule-returns-OK-response.frozen b/cassettes/features/v2/security_monitoring/Update-a-suppression-rule-returns-OK-response.frozen index 8839a50677d9..e05f55dd7103 100644 --- a/cassettes/features/v2/security_monitoring/Update-a-suppression-rule-returns-OK-response.frozen +++ b/cassettes/features/v2/security_monitoring/Update-a-suppression-rule-returns-OK-response.frozen @@ -1 +1 @@ -2025-11-07T12:27:28.613Z \ No newline at end of file +2026-01-14T17:29:05.825Z \ No newline at end of file diff --git a/cassettes/features/v2/security_monitoring/Update-a-suppression-rule-returns-OK-response.yml b/cassettes/features/v2/security_monitoring/Update-a-suppression-rule-returns-OK-response.yml index 4fb6f154adef..55f2cb1ff7b6 100644 --- a/cassettes/features/v2/security_monitoring/Update-a-suppression-rule-returns-OK-response.yml +++ b/cassettes/features/v2/security_monitoring/Update-a-suppression-rule-returns-OK-response.yml @@ -1,9 +1,10 @@ http_interactions: -- recorded_at: Fri, 07 Nov 2025 12:27:28 GMT +- recorded_at: Wed, 14 Jan 2026 17:29:05 GMT request: body: encoding: UTF-8 - string: '{"data":{"attributes":{"description":"Test-Update_a_suppression_rule_returns_OK_response-1762518448","enabled":true,"name":"Test-Update_a_suppression_rule_returns_OK_response-1762518448","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["technique:T1110-brute-force","source:cloudtrail"]},"type":"suppressions"}}' + string: '{"data":{"attributes":{"description":"Test-Update_a_suppression_rule_returns_OK_response-1768411745","enabled":true,"name":"suppression + Test-Update_a_suppression_rule_returns_OK_response-1768411745","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["technique:T1110-brute-force","source:cloudtrail"]},"type":"suppressions"}}' headers: Accept: - application/json @@ -14,8 +15,9 @@ http_interactions: response: body: encoding: UTF-8 - string: '{"data":{"id":"uqt-hh6-qbq","type":"suppressions","attributes":{"creation_date":1762518448839,"creator":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI - Account"},"data_exclusion_query":"","description":"Test-Update_a_suppression_rule_returns_OK_response-1762518448","editable":true,"enabled":true,"name":"Test-Update_a_suppression_rule_returns_OK_response-1762518448","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1762518448839,"updater":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI + string: '{"data":{"id":"ucv-bpf-4bc","type":"suppressions","attributes":{"creation_date":1768411745950,"creator":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI + Account"},"data_exclusion_query":"","description":"Test-Update_a_suppression_rule_returns_OK_response-1768411745","editable":true,"enabled":true,"name":"suppression + Test-Update_a_suppression_rule_returns_OK_response-1768411745","rule_query":"source:cloudtrail","suppression_query":"env:test","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1768411745950,"updater":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI Account"},"version":1}}}' headers: Content-Type: @@ -23,7 +25,7 @@ http_interactions: status: code: 200 message: OK -- recorded_at: Fri, 07 Nov 2025 12:27:28 GMT +- recorded_at: Wed, 14 Jan 2026 17:29:05 GMT request: body: encoding: UTF-8 @@ -34,13 +36,14 @@ http_interactions: Content-Type: - application/json method: PATCH - uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/uqt-hh6-qbq + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/ucv-bpf-4bc response: body: encoding: UTF-8 - string: '{"data":{"id":"uqt-hh6-qbq","type":"suppressions","attributes":{"creation_date":1762518448839,"creator":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI - Account"},"data_exclusion_query":"","description":"Test-Update_a_suppression_rule_returns_OK_response-1762518448","editable":true,"enabled":true,"name":"Test-Update_a_suppression_rule_returns_OK_response-1762518448","rule_query":"source:cloudtrail","suppression_query":"env:staging - status:low","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1762518449150,"updater":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI + string: '{"data":{"id":"ucv-bpf-4bc","type":"suppressions","attributes":{"creation_date":1768411745950,"creator":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI + Account"},"data_exclusion_query":"","description":"Test-Update_a_suppression_rule_returns_OK_response-1768411745","editable":true,"enabled":true,"name":"suppression + Test-Update_a_suppression_rule_returns_OK_response-1768411745","rule_query":"source:cloudtrail","suppression_query":"env:staging + status:low","tags":["source:cloudtrail","technique:T1110-brute-force"],"update_date":1768411746111,"updater":{"handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI Account"},"version":2}}}' headers: Content-Type: @@ -48,14 +51,14 @@ http_interactions: status: code: 200 message: OK -- recorded_at: Fri, 07 Nov 2025 12:27:28 GMT +- recorded_at: Wed, 14 Jan 2026 17:29:05 GMT request: body: null headers: Accept: - '*/*' method: DELETE - uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/uqt-hh6-qbq + uri: https://api.datadoghq.com/api/v2/security_monitoring/configuration/suppressions/ucv-bpf-4bc response: body: encoding: UTF-8 diff --git a/cassettes/features/v2/synthetics/Search-Synthetics-suites-returns-OK-response.frozen b/cassettes/features/v2/synthetics/Search-Synthetics-suites-returns-OK-response.frozen deleted file mode 100644 index 768dee23bbce..000000000000 --- a/cassettes/features/v2/synthetics/Search-Synthetics-suites-returns-OK-response.frozen +++ /dev/null @@ -1 +0,0 @@ -2026-01-07T12:38:44.484Z \ No newline at end of file diff --git a/cassettes/features/v2/synthetics/Search-Synthetics-suites-returns-OK-response.yml b/cassettes/features/v2/synthetics/Search-Synthetics-suites-returns-OK-response.yml deleted file mode 100644 index 52c96543bb1d..000000000000 --- a/cassettes/features/v2/synthetics/Search-Synthetics-suites-returns-OK-response.yml +++ /dev/null @@ -1,81 +0,0 @@ -http_interactions: -- recorded_at: Wed, 07 Jan 2026 12:38:44 GMT - request: - body: null - headers: - Accept: - - application/json - method: GET - uri: https://api.datadoghq.com/api/v2/synthetics/suites/search - response: - body: - encoding: UTF-8 - string: '{"data":{"type":"suites_search","attributes":{"suites":[{"created_by":{"name":"CI - Account","handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca"},"monitor_status":"No - Data","type":"suite","modified_at":"2025-12-12T14:36:38.194974+00:00","name":"Example - suite name","options":{},"monitor_name":"[Synthetics] Example suite name","last_triggered_ts":1765550180,"monitor_id":243683630,"tests":[],"notifications":[],"public_id":"q9j-u8p-3v5","tags":["env:production"]},{"created_by":{"name":"CI - Account","handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca"},"monitor_status":"No - Data","type":"suite","modified_at":"2025-12-12T15:13:58.194856+00:00","name":"Example - suite name","options":{},"monitor_name":"[Synthetics] Example suite name","last_triggered_ts":1765552435,"monitor_id":243691225,"tests":[],"notifications":[],"public_id":"qqj-ma8-msw","tags":["env:production"]},{"created_by":{"name":"CI - Account","handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca"},"monitor_status":"No - Data","type":"suite","modified_at":"2025-12-12T13:58:21.265235+00:00","name":"Example - suite name","options":{},"monitor_name":"[Synthetics] Example suite name","last_triggered_ts":1765547882,"monitor_id":243678032,"tests":[],"notifications":[],"public_id":"qwt-zcd-3e7","tags":["env:production"]},{"created_by":{"name":"CI - Account","handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca"},"monitor_status":"No - Data","type":"suite","modified_at":"2025-12-16T21:23:27.482218+00:00","name":"Example - suite name","options":{},"monitor_name":"[Synthetics] Example suite name","last_triggered_ts":1765920189,"monitor_id":244824489,"tests":[],"notifications":[],"public_id":"yya-xnv-r72","tags":["env:production"]},{"created_by":{"name":"CI - Account","handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca"},"monitor_status":"No - Data","type":"suite","modified_at":"2026-01-06T14:31:13.144659+00:00","name":"Example - suite name","options":{},"monitor_name":"[Synthetics] Example suite name","last_triggered_ts":1767709878,"monitor_id":248911428,"tests":[],"notifications":[],"public_id":"37x-cfh-hik","tags":["env:production"]},{"created_by":{"name":"CI - Account","handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca"},"monitor_status":"No - Data","type":"suite","modified_at":"2025-12-12T14:52:23.813142+00:00","name":"Example - suite name","options":{},"monitor_name":"[Synthetics] Example suite name","last_triggered_ts":1765551141,"monitor_id":243686361,"tests":[],"notifications":[],"public_id":"y9a-9jy-ng2","tags":["env:production"]},{"created_by":{"name":"CI - Account","handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca"},"monitor_status":"No - Data","type":"suite","modified_at":"2025-12-15T14:02:40.227969+00:00","name":"Example - suite name","options":{},"monitor_name":"[Synthetics] Example suite name","last_triggered_ts":1765807338,"monitor_id":244243608,"tests":[],"notifications":[],"public_id":"45f-82u-p2d","tags":["env:production"]},{"created_by":{"name":"CI - Account","handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca"},"monitor_status":"No - Data","type":"suite","modified_at":"2025-12-15T14:22:09.594574+00:00","name":"Example - suite name","options":{},"monitor_name":"[Synthetics] Example suite name","last_triggered_ts":1765808505,"monitor_id":244250055,"tests":[],"notifications":[],"public_id":"xd9-dws-cm2","tags":["env:production"]},{"created_by":{"name":"CI - Account","handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca"},"monitor_status":"No - Data","type":"suite","modified_at":"2025-12-15T15:36:44.135107+00:00","name":"Example - suite name","options":{},"monitor_name":"[Synthetics] Example suite name","last_triggered_ts":1765813000,"monitor_id":244276690,"tests":[],"notifications":[],"public_id":"77s-9gi-8pa","tags":["env:production"]},{"created_by":{"name":"CI - Account","handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca"},"monitor_status":"No - Data","type":"suite","modified_at":"2025-12-16T09:42:02.245892+00:00","name":"Example - suite name","options":{},"monitor_name":"[Synthetics] Example suite name","last_triggered_ts":1765878101,"monitor_id":244658021,"tests":[],"notifications":[],"public_id":"xft-zns-y58","tags":["env:production"]},{"created_by":{"name":"CI - Account","handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca"},"monitor_status":"No - Data","type":"suite","modified_at":"2025-12-16T09:52:14.327958+00:00","name":"Example - suite name","options":{},"monitor_name":"[Synthetics] Example suite name","last_triggered_ts":1765878721,"monitor_id":244659781,"tests":[],"notifications":[],"public_id":"9ne-jp8-bbs","tags":["env:production"]},{"created_by":{"name":"CI - Account","handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca"},"monitor_status":"No - Data","type":"suite","modified_at":"2025-12-19T09:34:53.578670+00:00","name":"Example - suite name","options":{},"monitor_name":"[Synthetics] Example suite name","last_triggered_ts":1766136882,"monitor_id":245439882,"tests":[],"notifications":[],"public_id":"rcp-hsx-ksp","tags":["env:production"]},{"created_by":{"name":"CI - Account","handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca"},"monitor_status":"No - Data","type":"suite","modified_at":"2025-12-09T10:37:16.189540+00:00","name":"Example - suite name","options":{},"monitor_name":"[Synthetics] Example suite name","last_triggered_ts":1765276630,"monitor_id":242864230,"tests":[],"notifications":[],"public_id":"ihb-7cb-mbq","tags":["env:production"]},{"created_by":{"name":"CI - Account","handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca"},"monitor_status":"No - Data","type":"suite","modified_at":"2025-12-12T14:58:39.394977+00:00","name":"Example - suite name","options":{},"monitor_name":"[Synthetics] Example suite name","last_triggered_ts":1765551515,"monitor_id":243687635,"tests":[],"notifications":[],"public_id":"m4t-g9e-cht","tags":["env:production"]},{"created_by":{"name":"CI - Account","handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca"},"monitor_status":"No - Data","type":"suite","modified_at":"2025-12-15T13:27:01.650049+00:00","name":"Example - suite name","options":{},"monitor_name":"[Synthetics] Example suite name","last_triggered_ts":1765805206,"monitor_id":244230166,"tests":[],"notifications":[],"public_id":"3rn-xv7-3gw","tags":["env:production"]},{"created_by":{"name":"CI - Account","handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca"},"monitor_status":"No - Data","type":"suite","modified_at":"2025-12-15T13:55:29.070758+00:00","name":"Example - suite name","options":{},"monitor_name":"[Synthetics] Example suite name","last_triggered_ts":1765806925,"monitor_id":244240495,"tests":[],"notifications":[],"public_id":"u5z-r6t-6gj","tags":["env:production"]},{"created_by":{"name":"CI - Account","handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca"},"monitor_status":"No - Data","type":"suite","modified_at":"2025-12-15T15:48:08.393886+00:00","name":"Example - suite name","options":{},"monitor_name":"[Synthetics] Example suite name","last_triggered_ts":1765813664,"monitor_id":244283444,"tests":[],"notifications":[],"public_id":"fug-wqb-jgm","tags":["env:production"]},{"created_by":{"name":"CI - Account","handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca"},"monitor_status":"No - Data","type":"suite","modified_at":"2025-12-17T08:57:02.235129+00:00","name":"Example - suite name","options":{},"monitor_name":"[Synthetics] Example suite name","last_triggered_ts":1765961806,"monitor_id":244953226,"tests":[],"notifications":[],"public_id":"tmj-mmm-6rw","tags":["env:production"]},{"created_by":{"name":"CI - Account","handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca"},"monitor_status":"No - Data","type":"suite","modified_at":"2026-01-06T13:52:15.675454+00:00","name":"Example - suite name","options":{},"monitor_name":"[Synthetics] Example suite name","last_triggered_ts":1767707530,"monitor_id":248904310,"tests":[],"notifications":[],"public_id":"pkr-4b7-tug","tags":["env:production"]}],"facets":[{"name":"mobile_platform","values":[]},{"name":"test_count","values":[{"name":"0","count":19}]},{"name":"step_count","values":[]},{"name":"http_path","values":[]},{"name":"team","values":[]},{"name":"type","values":[{"name":"suite","count":19}]},{"name":"env","values":[{"name":"production","count":19}]},{"name":"creator","values":[{"name":"CI - Account","count":19}]},{"name":"mobile_application","values":[]},{"name":"notification","values":[]},{"name":"endpoint","values":[]},{"name":"http_method","values":[]},{"name":"creation_source","values":[]},{"name":"domain","values":[]},{"name":"ci_execution_rule","values":[{"name":"blocking","count":19}]},{"name":"tag","values":[{"name":"env:production","count":19}]},{"name":"state","values":[{"name":"paused","count":19}]},{"name":"region","values":[]},{"name":"muted","values":[{"name":"0","count":19}]},{"name":"status","values":[{"name":"No - Data","count":19}]}],"total":19},"id":"74278a23-c9ce-4093-816d-7109fb05adb5"}} - - ' - headers: - Content-Type: - - application/json - status: - code: 200 - message: OK -recorded_with: VCR 6.0.0 diff --git a/cassettes/features/v2/synthetics/Synthetics-Create-a-test-suite-returns-OK-response.frozen b/cassettes/features/v2/synthetics/Synthetics-Create-a-test-suite-returns-OK-response.frozen deleted file mode 100644 index 62723cd8d29a..000000000000 --- a/cassettes/features/v2/synthetics/Synthetics-Create-a-test-suite-returns-OK-response.frozen +++ /dev/null @@ -1 +0,0 @@ -2026-01-07T12:38:45.716Z \ No newline at end of file diff --git a/cassettes/features/v2/synthetics/Synthetics-Create-a-test-suite-returns-OK-response.yml b/cassettes/features/v2/synthetics/Synthetics-Create-a-test-suite-returns-OK-response.yml deleted file mode 100644 index 8a68218d5475..000000000000 --- a/cassettes/features/v2/synthetics/Synthetics-Create-a-test-suite-returns-OK-response.yml +++ /dev/null @@ -1,55 +0,0 @@ -http_interactions: -- recorded_at: Wed, 07 Jan 2026 12:38:45 GMT - request: - body: - encoding: UTF-8 - string: '{"data":{"attributes":{"message":"Notification message","name":"Example - suite name","options":{},"tags":["env:production"],"tests":[],"type":"suite"},"type":"suites"}}' - headers: - Accept: - - application/json - Content-Type: - - application/json - method: POST - uri: https://api.datadoghq.com/api/v2/synthetics/suites - response: - body: - encoding: UTF-8 - string: '{"data":{"type":"suites","id":"36n-bb6-njj","attributes":{"tags":["env:production"],"type":"suite","created_by":{"email":"team-intg-tools-libs-spam@datadoghq.com","handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI - Account"},"created_at":"2026-01-07T12:38:46.109472+00:00","modified_at":"2026-01-07T12:38:46.109472+00:00","message":"Notification - message","public_id":"36n-bb6-njj","options":{},"modified_by":{"email":"team-intg-tools-libs-spam@datadoghq.com","handle":"9919ec9b-ebc7-49ee-8dc8-03626e717cca","name":"CI - Account"},"tests":[],"name":"Example suite name","org_id":321813,"monitor_id":249141773}}} - - ' - headers: - Content-Type: - - application/json - status: - code: 200 - message: OK -- recorded_at: Wed, 07 Jan 2026 12:38:45 GMT - request: - body: - encoding: UTF-8 - string: '{"data":{"attributes":{"public_ids":["36n-bb6-njj"]},"type":"delete_suites_request"}}' - headers: - Accept: - - application/json - Content-Type: - - application/json - method: POST - uri: https://api.datadoghq.com/api/v2/synthetics/suites/bulk-delete - response: - body: - encoding: UTF-8 - string: '{"data":[{"type":"suites","attributes":{"public_id":"36n-bb6-njj","deleted_at":"2026-01-07 - 12:38:46.679914"},"id":"36n-bb6-njj"}]} - - ' - headers: - Content-Type: - - application/json - status: - code: 200 - message: OK -recorded_with: VCR 6.0.0 diff --git a/examples/v2/security-monitoring/ListSecurityMonitoringSuppressions_1315707136.rb b/examples/v2/security-monitoring/ListSecurityMonitoringSuppressions_1315707136.rb new file mode 100644 index 000000000000..e4d8b50b439c --- /dev/null +++ b/examples/v2/security-monitoring/ListSecurityMonitoringSuppressions_1315707136.rb @@ -0,0 +1,15 @@ +# Get all suppression rules returns "OK" response with sort ascending + +require "datadog_api_client" +api_instance = DatadogAPIClient::V2::SecurityMonitoringAPI.new + +# there is a valid "suppression" in the system +SUPPRESSION_DATA_ID = ENV["SUPPRESSION_DATA_ID"] + +# there is a valid "suppression2" in the system +SUPPRESSION2_DATA_ID = ENV["SUPPRESSION2_DATA_ID"] +opts = { + sort: SecurityMonitoringSuppressionSort::NAME, + query: "id:3dd-0uc-h1s OR id:886e6c3e-e543-049c-ee1b-56a1110295c0", +} +p api_instance.list_security_monitoring_suppressions(opts) diff --git a/examples/v2/security-monitoring/ListSecurityMonitoringSuppressions_1741429096.rb b/examples/v2/security-monitoring/ListSecurityMonitoringSuppressions_1741429096.rb new file mode 100644 index 000000000000..ea5cdb65b906 --- /dev/null +++ b/examples/v2/security-monitoring/ListSecurityMonitoringSuppressions_1741429096.rb @@ -0,0 +1,15 @@ +# Get all suppression rules returns "OK" response with sort descending + +require "datadog_api_client" +api_instance = DatadogAPIClient::V2::SecurityMonitoringAPI.new + +# there is a valid "suppression" in the system +SUPPRESSION_DATA_ID = ENV["SUPPRESSION_DATA_ID"] + +# there is a valid "suppression2" in the system +SUPPRESSION2_DATA_ID = ENV["SUPPRESSION2_DATA_ID"] +opts = { + sort: SecurityMonitoringSuppressionSort::NAME_DESCENDING, + query: "id:3dd-0uc-h1s OR id:886e6c3e-e543-049c-ee1b-56a1110295c0", +} +p api_instance.list_security_monitoring_suppressions(opts) diff --git a/examples/v2/security-monitoring/ListSecurityMonitoringSuppressions_3985905558.rb b/examples/v2/security-monitoring/ListSecurityMonitoringSuppressions_3985905558.rb new file mode 100644 index 000000000000..5e38d9bb5715 --- /dev/null +++ b/examples/v2/security-monitoring/ListSecurityMonitoringSuppressions_3985905558.rb @@ -0,0 +1,16 @@ +# Get all suppression rules returns "OK" response with pagination + +require "datadog_api_client" +api_instance = DatadogAPIClient::V2::SecurityMonitoringAPI.new + +# there is a valid "suppression" in the system +SUPPRESSION_DATA_ID = ENV["SUPPRESSION_DATA_ID"] + +# there is a valid "suppression2" in the system +SUPPRESSION2_DATA_ID = ENV["SUPPRESSION2_DATA_ID"] +opts = { + page_size: 1, + page_number: 0, + query: "id:3dd-0uc-h1s OR id:886e6c3e-e543-049c-ee1b-56a1110295c0", +} +p api_instance.list_security_monitoring_suppressions(opts) diff --git a/examples/v2/security-monitoring/PreviewSecurityMonitoringRuleQuery.rb b/examples/v2/security-monitoring/PreviewSecurityMonitoringRuleQuery.rb new file mode 100644 index 000000000000..09c790e7cf0a --- /dev/null +++ b/examples/v2/security-monitoring/PreviewSecurityMonitoringRuleQuery.rb @@ -0,0 +1,16 @@ +# Preview a rule query with applied filters returns "OK" response + +require "datadog_api_client" +api_instance = DatadogAPIClient::V2::SecurityMonitoringAPI.new + +body = DatadogAPIClient::V2::SecurityMonitoringRuleLivetailRequest.new({ + query: "source:cloudtrail", + query_index: 0, + filters: [], + type: DatadogAPIClient::V2::SecurityMonitoringRuleTypeRead::LOG_DETECTION, + detection_method: DatadogAPIClient::V2::SecurityMonitoringRuleDetectionMethod::THRESHOLD, + data_source: "logs", + group_by_fields: [], + distinct_fields: [], +}) +p api_instance.preview_security_monitoring_rule_query(body) diff --git a/examples/v2/synthetics/CreateSyntheticsSuite.rb b/examples/v2/synthetics/CreateSyntheticsSuite.rb deleted file mode 100644 index c99f99f42ecd..000000000000 --- a/examples/v2/synthetics/CreateSyntheticsSuite.rb +++ /dev/null @@ -1,21 +0,0 @@ -# Synthetics: Create a test suite returns "OK" response - -require "datadog_api_client" -api_instance = DatadogAPIClient::V2::SyntheticsAPI.new - -body = DatadogAPIClient::V2::SuiteCreateEditRequest.new({ - data: DatadogAPIClient::V2::SuiteCreateEdit.new({ - attributes: DatadogAPIClient::V2::SyntheticsSuite.new({ - message: "Notification message", - name: "Example suite name", - options: DatadogAPIClient::V2::SyntheticsSuiteOptions.new({}), - tags: [ - "env:production", - ], - tests: [], - type: DatadogAPIClient::V2::SyntheticsSuiteType::SUITE, - }), - type: DatadogAPIClient::V2::SyntheticsSuiteTypes::SUITES, - }), -}) -p api_instance.create_synthetics_suite(body) diff --git a/examples/v2/synthetics/DeleteSyntheticsSuites.rb b/examples/v2/synthetics/DeleteSyntheticsSuites.rb deleted file mode 100644 index 9fc672939f6f..000000000000 --- a/examples/v2/synthetics/DeleteSyntheticsSuites.rb +++ /dev/null @@ -1,16 +0,0 @@ -# Synthetics: Bulk delete suites returns "OK" response - -require "datadog_api_client" -api_instance = DatadogAPIClient::V2::SyntheticsAPI.new - -body = DatadogAPIClient::V2::DeletedSuitesRequestDeleteRequest.new({ - data: DatadogAPIClient::V2::DeletedSuitesRequestDelete.new({ - attributes: DatadogAPIClient::V2::DeletedSuitesRequestDeleteAttributes.new({ - public_ids: [ - "", - ], - }), - type: DatadogAPIClient::V2::DeletedSuitesRequestType::DELETE_SUITES_REQUEST, - }), -}) -p api_instance.delete_synthetics_suites(body) diff --git a/examples/v2/synthetics/EditSyntheticsSuite.rb b/examples/v2/synthetics/EditSyntheticsSuite.rb deleted file mode 100644 index 8ac5baf0f943..000000000000 --- a/examples/v2/synthetics/EditSyntheticsSuite.rb +++ /dev/null @@ -1,26 +0,0 @@ -# Synthetics: Edit a test suite returns "OK" response - -require "datadog_api_client" -api_instance = DatadogAPIClient::V2::SyntheticsAPI.new - -body = DatadogAPIClient::V2::SuiteCreateEditRequest.new({ - data: DatadogAPIClient::V2::SuiteCreateEdit.new({ - attributes: DatadogAPIClient::V2::SyntheticsSuite.new({ - message: "Notification message", - name: "Example suite name", - options: DatadogAPIClient::V2::SyntheticsSuiteOptions.new({}), - tags: [ - "env:production", - ], - tests: [ - DatadogAPIClient::V2::SyntheticsSuiteTest.new({ - alerting_criticality: DatadogAPIClient::V2::SyntheticsSuiteTestAlertingCriticality::CRITICAL, - public_id: "", - }), - ], - type: DatadogAPIClient::V2::SyntheticsSuiteType::SUITE, - }), - type: DatadogAPIClient::V2::SyntheticsSuiteTypes::SUITES, - }), -}) -p api_instance.edit_synthetics_suite("public_id", body) diff --git a/examples/v2/synthetics/GetSyntheticsSuite.rb b/examples/v2/synthetics/GetSyntheticsSuite.rb deleted file mode 100644 index 8f59d470bfe2..000000000000 --- a/examples/v2/synthetics/GetSyntheticsSuite.rb +++ /dev/null @@ -1,5 +0,0 @@ -# Synthetics: Get a suite returns "OK" response - -require "datadog_api_client" -api_instance = DatadogAPIClient::V2::SyntheticsAPI.new -p api_instance.get_synthetics_suite("public_id") diff --git a/examples/v2/synthetics/SearchSuites.rb b/examples/v2/synthetics/SearchSuites.rb deleted file mode 100644 index 019cf372d516..000000000000 --- a/examples/v2/synthetics/SearchSuites.rb +++ /dev/null @@ -1,5 +0,0 @@ -# Search Synthetics suites returns "OK" response - -require "datadog_api_client" -api_instance = DatadogAPIClient::V2::SyntheticsAPI.new -p api_instance.search_suites() diff --git a/features/scenarios_model_mapping.rb b/features/scenarios_model_mapping.rb index 76188be1b921..39e6a6907563 100644 --- a/features/scenarios_model_mapping.rb +++ b/features/scenarios_model_mapping.rb @@ -1559,6 +1559,9 @@ }, "v2.ListSecurityMonitoringSuppressions" => { "query" => "String", + "sort" => "SecurityMonitoringSuppressionSort", + "page_size" => "Integer", + "page_number" => "Integer", }, "v2.CreateSecurityMonitoringSuppression" => { "body" => "SecurityMonitoringSuppressionCreateRequest", @@ -1587,6 +1590,9 @@ "page_size" => "Integer", "page_number" => "Integer", }, + "v2.PreviewSecurityMonitoringRuleQuery" => { + "body" => "SecurityMonitoringRuleLivetailRequest", + }, "v2.ListSecurityMonitoringRules" => { "page_size" => "Integer", "page_number" => "Integer", @@ -3282,26 +3288,6 @@ "v2.SetOnDemandConcurrencyCap" => { "body" => "OnDemandConcurrencyCapAttributes", }, - "v2.CreateSyntheticsSuite" => { - "body" => "SuiteCreateEditRequest", - }, - "v2.DeleteSyntheticsSuites" => { - "body" => "DeletedSuitesRequestDeleteRequest", - }, - "v2.SearchSuites" => { - "query" => "String", - "sort" => "String", - "facets_only" => "Boolean", - "start" => "Integer", - "count" => "Integer", - }, - "v2.GetSyntheticsSuite" => { - "public_id" => "String", - }, - "v2.EditSyntheticsSuite" => { - "public_id" => "String", - "body" => "SuiteCreateEditRequest", - }, "v2.PatchGlobalVariable" => { "variable_id" => "String", "body" => "GlobalVariableJsonPatchRequest", diff --git a/features/v2/given.json b/features/v2/given.json index c717223ca711..9d69fd33f222 100644 --- a/features/v2/given.json +++ b/features/v2/given.json @@ -1035,7 +1035,7 @@ "parameters": [ { "name": "body", - "value": "{\n \"data\": {\n \"type\": \"suppressions\",\n \"attributes\": {\n \"enabled\": true,\n \"name\": \"{{ unique }}\",\n \"description\": \"{{ unique }}\",\n \"rule_query\": \"source:cloudtrail\",\n \"suppression_query\": \"env:test\",\n \"tags\": [\"technique:T1110-brute-force\", \"source:cloudtrail\"]\n }\n }\n}" + "value": "{\n \"data\": {\n \"type\": \"suppressions\",\n \"attributes\": {\n \"enabled\": true,\n \"name\": \"suppression {{ unique }}\",\n \"description\": \"{{ unique }}\",\n \"rule_query\": \"source:cloudtrail\",\n \"suppression_query\": \"env:test\",\n \"tags\": [\"technique:T1110-brute-force\", \"source:cloudtrail\"]\n }\n }\n}" } ], "step": "there is a valid \"suppression\" in the system", @@ -1043,6 +1043,18 @@ "tag": "Security Monitoring", "operationId": "CreateSecurityMonitoringSuppression" }, + { + "parameters": [ + { + "name": "body", + "value": "{\n \"data\": {\n \"type\": \"suppressions\",\n \"attributes\": {\n \"enabled\": true,\n \"name\": \"suppression2 {{ unique }}\",\n \"description\": \"{{ unique }}\",\n \"rule_query\": \"source:cloudtrail\",\n \"suppression_query\": \"env:test\",\n \"tags\": [\"technique:T1110-brute-force\", \"source:cloudtrail\"]\n }\n }\n}" + } + ], + "step": "there is a valid \"suppression2\" in the system", + "key": "suppression2", + "tag": "Security Monitoring", + "operationId": "CreateSecurityMonitoringSuppression" + }, { "parameters": [ { diff --git a/features/v2/security_monitoring.feature b/features/v2/security_monitoring.feature index 2a6c599c3060..215cb46724fa 100644 --- a/features/v2/security_monitoring.feature +++ b/features/v2/security_monitoring.feature @@ -1124,6 +1124,40 @@ Feature: Security Monitoring When the request is sent Then the response status is 200 OK + @team:DataDog/k9-cloud-security-platform + Scenario: Get all suppression rules returns "OK" response with pagination + Given new "ListSecurityMonitoringSuppressions" request + And there is a valid "suppression" in the system + And there is a valid "suppression2" in the system + And request contains "page[size]" parameter with value 1 + And request contains "page[number]" parameter with value 0 + And request contains "query" parameter with value "id:{{ suppression.data.id }} OR id:{{ suppression2.data.id }}" + When the request is sent + Then the response status is 200 OK + And the response "data" has length 1 + + @team:DataDog/k9-cloud-security-platform + Scenario: Get all suppression rules returns "OK" response with sort ascending + Given new "ListSecurityMonitoringSuppressions" request + And there is a valid "suppression" in the system + And there is a valid "suppression2" in the system + And request contains "sort" parameter with value "name" + And request contains "query" parameter with value "id:{{ suppression.data.id }} OR id:{{ suppression2.data.id }}" + When the request is sent + Then the response status is 200 OK + And the response "data[0].attributes.name" is equal to "suppression {{ unique }}" + + @team:DataDog/k9-cloud-security-platform + Scenario: Get all suppression rules returns "OK" response with sort descending + Given new "ListSecurityMonitoringSuppressions" request + And there is a valid "suppression" in the system + And there is a valid "suppression2" in the system + And request contains "sort" parameter with value "-name" + And request contains "query" parameter with value "id:{{ suppression.data.id }} OR id:{{ suppression2.data.id }}" + When the request is sent + Then the response status is 200 OK + And the response "data[0].attributes.name" is equal to "suppression2 {{ unique }}" + @skip @team:DataDog/k9-cloud-security-platform Scenario: Get critical assets affecting a specific rule returns "Not Found" response Given new "GetCriticalAssetsAffectingRule" request @@ -1610,6 +1644,20 @@ Feature: Security Monitoring When the request is sent Then the response status is 422 The server cannot process the request because it contains invalid data. + @skip @team:DataDog/k9-cloud-security-platform + Scenario: Preview a rule query with applied filters returns "Bad Request" response + Given new "PreviewSecurityMonitoringRuleQuery" request + And body with value {"query":"","queryIndex":0,"filters":[],"type":"log_detection","detectionMethod":"threshold","dataSource":"logs","groupByFields":[],"distinctFields":[]} + When the request is sent + Then the response status is 400 Bad Request + + @team:DataDog/k9-cloud-security-platform + Scenario: Preview a rule query with applied filters returns "OK" response + Given new "PreviewSecurityMonitoringRuleQuery" request + And body with value {"query":"source:cloudtrail","queryIndex":0,"filters":[],"type":"log_detection","detectionMethod":"threshold","dataSource":"logs","groupByFields":[],"distinctFields":[]} + When the request is sent + Then the response status is 200 OK + @generated @skip @team:DataDog/k9-vm-ast Scenario: Returns a list of Secrets rules returns "OK" response Given operation "GetSecretsRules" enabled diff --git a/features/v2/synthetics.feature b/features/v2/synthetics.feature index 5697490c97b3..133993b11b7b 100644 --- a/features/v2/synthetics.feature +++ b/features/v2/synthetics.feature @@ -51,73 +51,3 @@ Feature: Synthetics When the request is sent Then the response status is 200 OK And the response "data.attributes.on_demand_concurrency_cap" is equal to 20 - - @generated @skip @team:DataDog/synthetics-managing - Scenario: Search Synthetics suites returns "API error response." response - Given new "SearchSuites" request - When the request is sent - Then the response status is 400 API error response. - - @team:DataDog/synthetics-managing - Scenario: Search Synthetics suites returns "OK" response - Given new "SearchSuites" request - When the request is sent - Then the response status is 200 OK - - @generated @skip @team:DataDog/synthetics-managing - Scenario: Synthetics: Bulk delete suites returns "API error response." response - Given new "DeleteSyntheticsSuites" request - And body with value {"data": {"attributes": {"public_ids": [""]}, "type": "delete_suites_request"}} - When the request is sent - Then the response status is 400 API error response. - - @generated @skip @team:DataDog/synthetics-managing - Scenario: Synthetics: Bulk delete suites returns "OK" response - Given new "DeleteSyntheticsSuites" request - And body with value {"data": {"attributes": {"public_ids": [""]}, "type": "delete_suites_request"}} - When the request is sent - Then the response status is 200 OK - - @generated @skip @team:DataDog/synthetics-managing - Scenario: Synthetics: Create a test suite returns "API error response." response - Given new "CreateSyntheticsSuite" request - And body with value {"data": {"attributes": {"message": "Notification message", "name": "Example suite name", "options": {}, "tags": ["env:production"], "tests": [{"alerting_criticality": "critical", "public_id": ""}], "type": "suite"}, "type": "suites"}} - When the request is sent - Then the response status is 400 API error response. - - @team:DataDog/synthetics-managing - Scenario: Synthetics: Create a test suite returns "OK" response - Given new "CreateSyntheticsSuite" request - And body with value {"data": {"attributes": {"message": "Notification message", "name": "Example suite name", "options": {}, "tags": ["env:production"], "tests": [], "type": "suite"}, "type": "suites"}} - When the request is sent - Then the response status is 200 OK - - @generated @skip @team:DataDog/synthetics-managing - Scenario: Synthetics: Edit a test suite returns "API error response." response - Given new "EditSyntheticsSuite" request - And request contains "public_id" parameter from "REPLACE.ME" - And body with value {"data": {"attributes": {"message": "Notification message", "name": "Example suite name", "options": {}, "tags": ["env:production"], "tests": [{"alerting_criticality": "critical", "public_id": ""}], "type": "suite"}, "type": "suites"}} - When the request is sent - Then the response status is 400 API error response. - - @generated @skip @team:DataDog/synthetics-managing - Scenario: Synthetics: Edit a test suite returns "OK" response - Given new "EditSyntheticsSuite" request - And request contains "public_id" parameter from "REPLACE.ME" - And body with value {"data": {"attributes": {"message": "Notification message", "name": "Example suite name", "options": {}, "tags": ["env:production"], "tests": [{"alerting_criticality": "critical", "public_id": ""}], "type": "suite"}, "type": "suites"}} - When the request is sent - Then the response status is 200 OK - - @generated @skip @team:DataDog/synthetics-managing - Scenario: Synthetics: Get a suite returns "API error response." response - Given new "GetSyntheticsSuite" request - And request contains "public_id" parameter from "REPLACE.ME" - When the request is sent - Then the response status is 404 API error response. - - @generated @skip @team:DataDog/synthetics-managing - Scenario: Synthetics: Get a suite returns "OK" response - Given new "GetSyntheticsSuite" request - And request contains "public_id" parameter from "REPLACE.ME" - When the request is sent - Then the response status is 200 OK diff --git a/features/v2/undo.json b/features/v2/undo.json index b8cb14962299..6e2cbe29ee5b 100644 --- a/features/v2/undo.json +++ b/features/v2/undo.json @@ -4186,6 +4186,12 @@ "type": "safe" } }, + "PreviewSecurityMonitoringRuleQuery": { + "tag": "Security Monitoring", + "undo": { + "type": "safe" + } + }, "ListSecurityMonitoringRules": { "tag": "Security Monitoring", "undo": { @@ -4646,43 +4652,6 @@ "type": "safe" } }, - "CreateSyntheticsSuite": { - "tag": "Synthetics", - "undo": { - "operationId": "DeleteSyntheticsSuites", - "parameters": [ - { - "name": "body", - "template": "{\"data\": {\"type\": \"delete_suites_request\", \"attributes\": {\"public_ids\": [\"{{ data.attributes.public_id }}\"]}}}" - } - ], - "type": "unsafe" - } - }, - "DeleteSyntheticsSuites": { - "tag": "Synthetics", - "undo": { - "type": "idempotent" - } - }, - "SearchSuites": { - "tag": "Synthetics", - "undo": { - "type": "safe" - } - }, - "GetSyntheticsSuite": { - "tag": "Synthetics", - "undo": { - "type": "safe" - } - }, - "EditSyntheticsSuite": { - "tag": "Synthetics", - "undo": { - "type": "idempotent" - } - }, "PatchGlobalVariable": { "tag": "Synthetics", "undo": { diff --git a/lib/datadog_api_client/inflector.rb b/lib/datadog_api_client/inflector.rb index 73975d5e3831..d3dfe309ee0e 100644 --- a/lib/datadog_api_client/inflector.rb +++ b/lib/datadog_api_client/inflector.rb @@ -1963,13 +1963,6 @@ def overrides "v2.delete_apps_response" => "DeleteAppsResponse", "v2.delete_apps_response_data_items" => "DeleteAppsResponseDataItems", "v2.delete_custom_framework_response" => "DeleteCustomFrameworkResponse", - "v2.deleted_suite_response_data" => "DeletedSuiteResponseData", - "v2.deleted_suite_response_data_attributes" => "DeletedSuiteResponseDataAttributes", - "v2.deleted_suites_request_delete" => "DeletedSuitesRequestDelete", - "v2.deleted_suites_request_delete_attributes" => "DeletedSuitesRequestDeleteAttributes", - "v2.deleted_suites_request_delete_request" => "DeletedSuitesRequestDeleteRequest", - "v2.deleted_suites_request_type" => "DeletedSuitesRequestType", - "v2.deleted_suites_response" => "DeletedSuitesResponse", "v2.dependency_location" => "DependencyLocation", "v2.deployment" => "Deployment", "v2.deployment_attributes" => "DeploymentAttributes", @@ -4092,6 +4085,7 @@ def overrides "v2.security_monitoring_filter" => "SecurityMonitoringFilter", "v2.security_monitoring_filter_action" => "SecurityMonitoringFilterAction", "v2.security_monitoring_list_rules_response" => "SecurityMonitoringListRulesResponse", + "v2.security_monitoring_paginated_suppressions_response" => "SecurityMonitoringPaginatedSuppressionsResponse", "v2.security_monitoring_reference_table" => "SecurityMonitoringReferenceTable", "v2.security_monitoring_rule_anomaly_detection_options" => "SecurityMonitoringRuleAnomalyDetectionOptions", "v2.security_monitoring_rule_anomaly_detection_options_bucket_duration" => "SecurityMonitoringRuleAnomalyDetectionOptionsBucketDuration", @@ -4111,6 +4105,8 @@ def overrides "v2.security_monitoring_rule_hardcoded_evaluator_type" => "SecurityMonitoringRuleHardcodedEvaluatorType", "v2.security_monitoring_rule_impossible_travel_options" => "SecurityMonitoringRuleImpossibleTravelOptions", "v2.security_monitoring_rule_keep_alive" => "SecurityMonitoringRuleKeepAlive", + "v2.security_monitoring_rule_livetail_request" => "SecurityMonitoringRuleLivetailRequest", + "v2.security_monitoring_rule_livetail_response" => "SecurityMonitoringRuleLivetailResponse", "v2.security_monitoring_rule_max_signal_duration" => "SecurityMonitoringRuleMaxSignalDuration", "v2.security_monitoring_rule_new_value_options" => "SecurityMonitoringRuleNewValueOptions", "v2.security_monitoring_rule_new_value_options_forget_after" => "SecurityMonitoringRuleNewValueOptionsForgetAfter", @@ -4182,6 +4178,9 @@ def overrides "v2.security_monitoring_suppression_create_data" => "SecurityMonitoringSuppressionCreateData", "v2.security_monitoring_suppression_create_request" => "SecurityMonitoringSuppressionCreateRequest", "v2.security_monitoring_suppression_response" => "SecurityMonitoringSuppressionResponse", + "v2.security_monitoring_suppressions_meta" => "SecurityMonitoringSuppressionsMeta", + "v2.security_monitoring_suppression_sort" => "SecurityMonitoringSuppressionSort", + "v2.security_monitoring_suppressions_page_meta" => "SecurityMonitoringSuppressionsPageMeta", "v2.security_monitoring_suppressions_response" => "SecurityMonitoringSuppressionsResponse", "v2.security_monitoring_suppression_type" => "SecurityMonitoringSuppressionType", "v2.security_monitoring_suppression_update_attributes" => "SecurityMonitoringSuppressionUpdateAttributes", @@ -4450,9 +4449,6 @@ def overrides "v2.step" => "Step", "v2.step_display" => "StepDisplay", "v2.step_display_bounds" => "StepDisplayBounds", - "v2.suite_create_edit" => "SuiteCreateEdit", - "v2.suite_create_edit_request" => "SuiteCreateEditRequest", - "v2.suite_search_response_type" => "SuiteSearchResponseType", "v2.suppression_version_history" => "SuppressionVersionHistory", "v2.suppression_versions" => "SuppressionVersions", "v2.synthetics_global_variable" => "SyntheticsGlobalVariable", @@ -4463,17 +4459,6 @@ def overrides "v2.synthetics_global_variable_parse_test_options_type" => "SyntheticsGlobalVariableParseTestOptionsType", "v2.synthetics_global_variable_totp_parameters" => "SyntheticsGlobalVariableTOTPParameters", "v2.synthetics_global_variable_value" => "SyntheticsGlobalVariableValue", - "v2.synthetics_suite" => "SyntheticsSuite", - "v2.synthetics_suite_options" => "SyntheticsSuiteOptions", - "v2.synthetics_suite_response" => "SyntheticsSuiteResponse", - "v2.synthetics_suite_response_data" => "SyntheticsSuiteResponseData", - "v2.synthetics_suite_search_response" => "SyntheticsSuiteSearchResponse", - "v2.synthetics_suite_search_response_data" => "SyntheticsSuiteSearchResponseData", - "v2.synthetics_suite_search_response_data_attributes" => "SyntheticsSuiteSearchResponseDataAttributes", - "v2.synthetics_suite_test" => "SyntheticsSuiteTest", - "v2.synthetics_suite_test_alerting_criticality" => "SyntheticsSuiteTestAlertingCriticality", - "v2.synthetics_suite_type" => "SyntheticsSuiteType", - "v2.synthetics_suite_types" => "SyntheticsSuiteTypes", "v2.synthetics_variable_parser" => "SyntheticsVariableParser", "v2.table_result_v2" => "TableResultV2", "v2.table_result_v2_array" => "TableResultV2Array", 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 f8bc15c5bccf..898bed9c00a7 100644 --- a/lib/datadog_api_client/v2/api/security_monitoring_api.rb +++ b/lib/datadog_api_client/v2/api/security_monitoring_api.rb @@ -4384,18 +4384,28 @@ def list_security_monitoring_suppressions(opts = {}) # # @param opts [Hash] the optional parameters # @option opts [String] :query Query string. - # @return [Array<(SecurityMonitoringSuppressionsResponse, Integer, Hash)>] SecurityMonitoringSuppressionsResponse data, response status code and response headers + # @option opts [SecurityMonitoringSuppressionSort] :sort Attribute used to sort the list of suppression rules. Prefix with `-` to sort in descending order. + # @option opts [Integer] :page_size Size for a given page. Use `-1` to return all items. + # @option opts [Integer] :page_number Specific page number to return. + # @return [Array<(SecurityMonitoringPaginatedSuppressionsResponse, Integer, Hash)>] SecurityMonitoringPaginatedSuppressionsResponse data, response status code and response headers def list_security_monitoring_suppressions_with_http_info(opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: SecurityMonitoringAPI.list_security_monitoring_suppressions ...' end + allowable_values = ['name', 'start_date', 'expiration_date', 'update_date', 'enabled', '-name', '-start_date', '-expiration_date', '-update_date', '-enabled'] + if @api_client.config.client_side_validation && opts[:'sort'] && !allowable_values.include?(opts[:'sort']) + fail ArgumentError, "invalid value for \"sort\", must be one of #{allowable_values}" + end # resource path local_var_path = '/api/v2/security_monitoring/configuration/suppressions' # query parameters query_params = opts[:query_params] || {} query_params[:'query'] = opts[:'query'] if !opts[:'query'].nil? + query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil? + query_params[:'page[size]'] = opts[:'page_size'] if !opts[:'page_size'].nil? + query_params[:'page[number]'] = opts[:'page_number'] if !opts[:'page_number'].nil? # header parameters header_params = opts[:header_params] || {} @@ -4409,7 +4419,7 @@ def list_security_monitoring_suppressions_with_http_info(opts = {}) post_body = opts[:debug_body] # return_type - return_type = opts[:debug_return_type] || 'SecurityMonitoringSuppressionsResponse' + return_type = opts[:debug_return_type] || 'SecurityMonitoringPaginatedSuppressionsResponse' # auth_names auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ] @@ -5135,6 +5145,74 @@ def patch_vulnerability_notification_rule_with_http_info(id, body, opts = {}) return data, status_code, headers end + # Preview a rule query with applied filters. + # + # @see #preview_security_monitoring_rule_query_with_http_info + def preview_security_monitoring_rule_query(body, opts = {}) + data, _status_code, _headers = preview_security_monitoring_rule_query_with_http_info(body, opts) + data + end + + # Preview a rule query with applied filters. + # + # Preview a security monitoring rule query with security filters, group by fields, and distinct fields applied. + # This endpoint is used in the rule editor to show how the query will be transformed after applying additional filters. + # + # @param body [SecurityMonitoringRuleLivetailRequest] + # @param opts [Hash] the optional parameters + # @return [Array<(SecurityMonitoringRuleLivetailResponse, Integer, Hash)>] SecurityMonitoringRuleLivetailResponse data, response status code and response headers + def preview_security_monitoring_rule_query_with_http_info(body, opts = {}) + + if @api_client.config.debugging + @api_client.config.logger.debug 'Calling API: SecurityMonitoringAPI.preview_security_monitoring_rule_query ...' + 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.preview_security_monitoring_rule_query" + end + # resource path + local_var_path = '/api/v2/security_monitoring/livetail' + + # 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] || 'SecurityMonitoringRuleLivetailResponse' + + # auth_names + auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ] + + new_options = opts.merge( + :operation => :preview_security_monitoring_rule_query, + :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#preview_security_monitoring_rule_query\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" + end + return data, status_code, headers + end + # Run a threat hunting job. # # @see #run_threat_hunting_job_with_http_info diff --git a/lib/datadog_api_client/v2/api/synthetics_api.rb b/lib/datadog_api_client/v2/api/synthetics_api.rb index f9745f06e547..4132779827f4 100644 --- a/lib/datadog_api_client/v2/api/synthetics_api.rb +++ b/lib/datadog_api_client/v2/api/synthetics_api.rb @@ -23,203 +23,6 @@ def initialize(api_client = DatadogAPIClient::APIClient.default) @api_client = api_client end - # Synthetics: Create a test suite. - # - # @see #create_synthetics_suite_with_http_info - def create_synthetics_suite(body, opts = {}) - data, _status_code, _headers = create_synthetics_suite_with_http_info(body, opts) - data - end - - # Synthetics: Create a test suite. - # @param body [SuiteCreateEditRequest] - # @param opts [Hash] the optional parameters - # @return [Array<(SyntheticsSuiteResponse, Integer, Hash)>] SyntheticsSuiteResponse data, response status code and response headers - def create_synthetics_suite_with_http_info(body, opts = {}) - - if @api_client.config.debugging - @api_client.config.logger.debug 'Calling API: SyntheticsAPI.create_synthetics_suite ...' - 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 SyntheticsAPI.create_synthetics_suite" - end - # resource path - local_var_path = '/api/v2/synthetics/suites' - - # 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] || 'SyntheticsSuiteResponse' - - # auth_names - auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ] - - new_options = opts.merge( - :operation => :create_synthetics_suite, - :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: SyntheticsAPI#create_synthetics_suite\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" - end - return data, status_code, headers - end - - # Synthetics: Bulk delete suites. - # - # @see #delete_synthetics_suites_with_http_info - def delete_synthetics_suites(body, opts = {}) - data, _status_code, _headers = delete_synthetics_suites_with_http_info(body, opts) - data - end - - # Synthetics: Bulk delete suites. - # @param body [DeletedSuitesRequestDeleteRequest] - # @param opts [Hash] the optional parameters - # @return [Array<(DeletedSuitesResponse, Integer, Hash)>] DeletedSuitesResponse data, response status code and response headers - def delete_synthetics_suites_with_http_info(body, opts = {}) - - if @api_client.config.debugging - @api_client.config.logger.debug 'Calling API: SyntheticsAPI.delete_synthetics_suites ...' - 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 SyntheticsAPI.delete_synthetics_suites" - end - # resource path - local_var_path = '/api/v2/synthetics/suites/bulk-delete' - - # 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] || 'DeletedSuitesResponse' - - # auth_names - auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ] - - new_options = opts.merge( - :operation => :delete_synthetics_suites, - :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: SyntheticsAPI#delete_synthetics_suites\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" - end - return data, status_code, headers - end - - # Synthetics: Edit a test suite. - # - # @see #edit_synthetics_suite_with_http_info - def edit_synthetics_suite(public_id, body, opts = {}) - data, _status_code, _headers = edit_synthetics_suite_with_http_info(public_id, body, opts) - data - end - - # Synthetics: Edit a test suite. - # @param public_id [String] The public ID of the suite to edit. - # @param body [SuiteCreateEditRequest] New suite details to be saved. - # @param opts [Hash] the optional parameters - # @return [Array<(SyntheticsSuiteResponse, Integer, Hash)>] SyntheticsSuiteResponse data, response status code and response headers - def edit_synthetics_suite_with_http_info(public_id, body, opts = {}) - - if @api_client.config.debugging - @api_client.config.logger.debug 'Calling API: SyntheticsAPI.edit_synthetics_suite ...' - end - # verify the required parameter 'public_id' is set - if @api_client.config.client_side_validation && public_id.nil? - fail ArgumentError, "Missing the required parameter 'public_id' when calling SyntheticsAPI.edit_synthetics_suite" - 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 SyntheticsAPI.edit_synthetics_suite" - end - # resource path - local_var_path = '/api/v2/synthetics/suites/{public_id}'.sub('{public_id}', CGI.escape(public_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']) - # 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] || 'SyntheticsSuiteResponse' - - # auth_names - auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ] - - new_options = opts.merge( - :operation => :edit_synthetics_suite, - :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::Put, local_var_path, new_options) - if @api_client.config.debugging - @api_client.config.logger.debug "API called: SyntheticsAPI#edit_synthetics_suite\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" - end - return data, status_code, headers - end - # Get the on-demand concurrency cap. # # @see #get_on_demand_concurrency_cap_with_http_info @@ -280,68 +83,6 @@ def get_on_demand_concurrency_cap_with_http_info(opts = {}) return data, status_code, headers end - # Synthetics: Get a suite. - # - # @see #get_synthetics_suite_with_http_info - def get_synthetics_suite(public_id, opts = {}) - data, _status_code, _headers = get_synthetics_suite_with_http_info(public_id, opts) - data - end - - # Synthetics: Get a suite. - # @param public_id [String] The public ID of the suite to get details from. - # @param opts [Hash] the optional parameters - # @return [Array<(SyntheticsSuiteResponse, Integer, Hash)>] SyntheticsSuiteResponse data, response status code and response headers - def get_synthetics_suite_with_http_info(public_id, opts = {}) - - if @api_client.config.debugging - @api_client.config.logger.debug 'Calling API: SyntheticsAPI.get_synthetics_suite ...' - end - # verify the required parameter 'public_id' is set - if @api_client.config.client_side_validation && public_id.nil? - fail ArgumentError, "Missing the required parameter 'public_id' when calling SyntheticsAPI.get_synthetics_suite" - end - # resource path - local_var_path = '/api/v2/synthetics/suites/{public_id}'.sub('{public_id}', CGI.escape(public_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] || 'SyntheticsSuiteResponse' - - # auth_names - auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ] - - new_options = opts.merge( - :operation => :get_synthetics_suite, - :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: SyntheticsAPI#get_synthetics_suite\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" - end - return data, status_code, headers - end - # Patch a global variable. # # @see #patch_global_variable_with_http_info @@ -421,76 +162,6 @@ def patch_global_variable_with_http_info(variable_id, body, opts = {}) return data, status_code, headers end - # Search Synthetics suites. - # - # @see #search_suites_with_http_info - def search_suites(opts = {}) - data, _status_code, _headers = search_suites_with_http_info(opts) - data - end - - # Search Synthetics suites. - # - # Search for Synthetics suites. - # - # @param opts [Hash] the optional parameters - # @option opts [String] :query The search query. - # @option opts [String] :sort The sort order for the results (e.g., `name,asc` or `name,desc`). - # @option opts [Boolean] :facets_only If true, return only facets instead of full test details. - # @option opts [Integer] :start The offset from which to start returning results. - # @option opts [Integer] :count The maximum number of results to return. - # @return [Array<(SyntheticsSuiteSearchResponse, Integer, Hash)>] SyntheticsSuiteSearchResponse data, response status code and response headers - def search_suites_with_http_info(opts = {}) - - if @api_client.config.debugging - @api_client.config.logger.debug 'Calling API: SyntheticsAPI.search_suites ...' - end - # resource path - local_var_path = '/api/v2/synthetics/suites/search' - - # query parameters - query_params = opts[:query_params] || {} - query_params[:'query'] = opts[:'query'] if !opts[:'query'].nil? - query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil? - query_params[:'facets_only'] = opts[:'facets_only'] if !opts[:'facets_only'].nil? - query_params[:'start'] = opts[:'start'] if !opts[:'start'].nil? - query_params[:'count'] = opts[:'count'] if !opts[:'count'].nil? - - # 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] || 'SyntheticsSuiteSearchResponse' - - # auth_names - auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ] - - new_options = opts.merge( - :operation => :search_suites, - :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: SyntheticsAPI#search_suites\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" - end - return data, status_code, headers - end - # Save new value for on-demand concurrency cap. # # @see #set_on_demand_concurrency_cap_with_http_info diff --git a/lib/datadog_api_client/v2/models/deleted_suite_response_data_attributes.rb b/lib/datadog_api_client/v2/models/deleted_suite_response_data_attributes.rb deleted file mode 100644 index f8310add9bfc..000000000000 --- a/lib/datadog_api_client/v2/models/deleted_suite_response_data_attributes.rb +++ /dev/null @@ -1,115 +0,0 @@ -=begin -#Datadog API V2 Collection - -#Collection of all Datadog Public endpoints. - -The version of the OpenAPI document: 1.0 -Contact: support@datadoghq.com -Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator - - Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. - This product includes software developed at Datadog (https://www.datadoghq.com/). - Copyright 2020-Present Datadog, Inc. - -=end - -require 'date' -require 'time' - -module DatadogAPIClient::V2 - # - class DeletedSuiteResponseDataAttributes - include BaseGenericModel - - # Deletion timestamp of the Synthetic suite ID. - attr_accessor :deleted_at - - # The Synthetic suite ID deleted. - attr_accessor :public_id - - attr_accessor :additional_properties - - # Attribute mapping from ruby-style variable name to JSON key. - # @!visibility private - def self.attribute_map - { - :'deleted_at' => :'deleted_at', - :'public_id' => :'public_id' - } - end - - # Attribute type mapping. - # @!visibility private - def self.openapi_types - { - :'deleted_at' => :'String', - :'public_id' => :'String' - } - end - - # Initializes the object - # @param attributes [Hash] Model attributes in the form of hash - # @!visibility private - def initialize(attributes = {}) - if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::DeletedSuiteResponseDataAttributes` initialize method" - end - - self.additional_properties = {} - # check to see if the attribute exists and convert string to symbol for hash key - attributes = attributes.each_with_object({}) { |(k, v), h| - if (!self.class.attribute_map.key?(k.to_sym)) - self.additional_properties[k.to_sym] = v - else - h[k.to_sym] = v - end - } - - if attributes.key?(:'deleted_at') - self.deleted_at = attributes[:'deleted_at'] - end - - if attributes.key?(:'public_id') - self.public_id = attributes[:'public_id'] - end - end - - # Returns the object in the form of hash, with additionalProperties support. - # @return [Hash] Returns the object in the form of hash - # @!visibility private - def to_hash - hash = {} - self.class.attribute_map.each_pair do |attr, param| - value = self.send(attr) - if value.nil? - is_nullable = self.class.openapi_nullable.include?(attr) - next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) - end - - hash[param] = _to_hash(value) - end - self.additional_properties.each_pair do |attr, value| - hash[attr] = value - end - hash - end - - # Checks equality by comparing each attribute. - # @param o [Object] Object to be compared - # @!visibility private - def ==(o) - return true if self.equal?(o) - self.class == o.class && - deleted_at == o.deleted_at && - public_id == o.public_id && - additional_properties == o.additional_properties - end - - # Calculates hash code according to all attributes. - # @return [Integer] Hash code - # @!visibility private - def hash - [deleted_at, public_id, additional_properties].hash - end - end -end diff --git a/lib/datadog_api_client/v2/models/deleted_suites_request_delete.rb b/lib/datadog_api_client/v2/models/deleted_suites_request_delete.rb deleted file mode 100644 index 6c318869b42b..000000000000 --- a/lib/datadog_api_client/v2/models/deleted_suites_request_delete.rb +++ /dev/null @@ -1,143 +0,0 @@ -=begin -#Datadog API V2 Collection - -#Collection of all Datadog Public endpoints. - -The version of the OpenAPI document: 1.0 -Contact: support@datadoghq.com -Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator - - Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. - This product includes software developed at Datadog (https://www.datadoghq.com/). - Copyright 2020-Present Datadog, Inc. - -=end - -require 'date' -require 'time' - -module DatadogAPIClient::V2 - # - class DeletedSuitesRequestDelete - include BaseGenericModel - - # - attr_reader :attributes - - # - attr_accessor :id - - # - attr_accessor :type - - attr_accessor :additional_properties - - # Attribute mapping from ruby-style variable name to JSON key. - # @!visibility private - def self.attribute_map - { - :'attributes' => :'attributes', - :'id' => :'id', - :'type' => :'type' - } - end - - # Attribute type mapping. - # @!visibility private - def self.openapi_types - { - :'attributes' => :'DeletedSuitesRequestDeleteAttributes', - :'id' => :'String', - :'type' => :'DeletedSuitesRequestType' - } - end - - # Initializes the object - # @param attributes [Hash] Model attributes in the form of hash - # @!visibility private - def initialize(attributes = {}) - if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::DeletedSuitesRequestDelete` initialize method" - end - - self.additional_properties = {} - # check to see if the attribute exists and convert string to symbol for hash key - attributes = attributes.each_with_object({}) { |(k, v), h| - if (!self.class.attribute_map.key?(k.to_sym)) - self.additional_properties[k.to_sym] = v - else - h[k.to_sym] = v - end - } - - if attributes.key?(:'attributes') - self.attributes = attributes[:'attributes'] - end - - if attributes.key?(:'id') - self.id = attributes[:'id'] - end - - if attributes.key?(:'type') - self.type = attributes[:'type'] - end - end - - # Check to see if the all the properties in the model are valid - # @return true if the model is valid - # @!visibility private - def valid? - return false if @attributes.nil? - true - end - - # Custom attribute writer method with validation - # @param attributes [Object] Object to be assigned - # @!visibility private - def attributes=(attributes) - if attributes.nil? - fail ArgumentError, 'invalid value for "attributes", attributes cannot be nil.' - end - @attributes = attributes - end - - # Returns the object in the form of hash, with additionalProperties support. - # @return [Hash] Returns the object in the form of hash - # @!visibility private - def to_hash - hash = {} - self.class.attribute_map.each_pair do |attr, param| - value = self.send(attr) - if value.nil? - is_nullable = self.class.openapi_nullable.include?(attr) - next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) - end - - hash[param] = _to_hash(value) - end - self.additional_properties.each_pair do |attr, value| - hash[attr] = value - end - hash - end - - # Checks equality by comparing each attribute. - # @param o [Object] Object to be compared - # @!visibility private - def ==(o) - return true if self.equal?(o) - self.class == o.class && - attributes == o.attributes && - id == o.id && - type == o.type && - additional_properties == o.additional_properties - end - - # Calculates hash code according to all attributes. - # @return [Integer] Hash code - # @!visibility private - def hash - [attributes, id, type, additional_properties].hash - end - end -end diff --git a/lib/datadog_api_client/v2/models/deleted_suites_request_delete_attributes.rb b/lib/datadog_api_client/v2/models/deleted_suites_request_delete_attributes.rb deleted file mode 100644 index 20b745942b16..000000000000 --- a/lib/datadog_api_client/v2/models/deleted_suites_request_delete_attributes.rb +++ /dev/null @@ -1,135 +0,0 @@ -=begin -#Datadog API V2 Collection - -#Collection of all Datadog Public endpoints. - -The version of the OpenAPI document: 1.0 -Contact: support@datadoghq.com -Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator - - Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. - This product includes software developed at Datadog (https://www.datadoghq.com/). - Copyright 2020-Present Datadog, Inc. - -=end - -require 'date' -require 'time' - -module DatadogAPIClient::V2 - # - class DeletedSuitesRequestDeleteAttributes - include BaseGenericModel - - # - attr_accessor :force_delete_dependencies - - # - attr_reader :public_ids - - attr_accessor :additional_properties - - # Attribute mapping from ruby-style variable name to JSON key. - # @!visibility private - def self.attribute_map - { - :'force_delete_dependencies' => :'force_delete_dependencies', - :'public_ids' => :'public_ids' - } - end - - # Attribute type mapping. - # @!visibility private - def self.openapi_types - { - :'force_delete_dependencies' => :'Boolean', - :'public_ids' => :'Array' - } - end - - # Initializes the object - # @param attributes [Hash] Model attributes in the form of hash - # @!visibility private - def initialize(attributes = {}) - if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::DeletedSuitesRequestDeleteAttributes` initialize method" - end - - self.additional_properties = {} - # check to see if the attribute exists and convert string to symbol for hash key - attributes = attributes.each_with_object({}) { |(k, v), h| - if (!self.class.attribute_map.key?(k.to_sym)) - self.additional_properties[k.to_sym] = v - else - h[k.to_sym] = v - end - } - - if attributes.key?(:'force_delete_dependencies') - self.force_delete_dependencies = attributes[:'force_delete_dependencies'] - end - - if attributes.key?(:'public_ids') - if (value = attributes[:'public_ids']).is_a?(Array) - self.public_ids = value - end - end - end - - # Check to see if the all the properties in the model are valid - # @return true if the model is valid - # @!visibility private - def valid? - return false if @public_ids.nil? - true - end - - # Custom attribute writer method with validation - # @param public_ids [Object] Object to be assigned - # @!visibility private - def public_ids=(public_ids) - if public_ids.nil? - fail ArgumentError, 'invalid value for "public_ids", public_ids cannot be nil.' - end - @public_ids = public_ids - end - - # Returns the object in the form of hash, with additionalProperties support. - # @return [Hash] Returns the object in the form of hash - # @!visibility private - def to_hash - hash = {} - self.class.attribute_map.each_pair do |attr, param| - value = self.send(attr) - if value.nil? - is_nullable = self.class.openapi_nullable.include?(attr) - next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) - end - - hash[param] = _to_hash(value) - end - self.additional_properties.each_pair do |attr, value| - hash[attr] = value - end - hash - end - - # Checks equality by comparing each attribute. - # @param o [Object] Object to be compared - # @!visibility private - def ==(o) - return true if self.equal?(o) - self.class == o.class && - force_delete_dependencies == o.force_delete_dependencies && - public_ids == o.public_ids && - additional_properties == o.additional_properties - end - - # Calculates hash code according to all attributes. - # @return [Integer] Hash code - # @!visibility private - def hash - [force_delete_dependencies, public_ids, additional_properties].hash - end - end -end diff --git a/lib/datadog_api_client/v2/models/deleted_suites_request_delete_request.rb b/lib/datadog_api_client/v2/models/deleted_suites_request_delete_request.rb deleted file mode 100644 index 5f11299b5906..000000000000 --- a/lib/datadog_api_client/v2/models/deleted_suites_request_delete_request.rb +++ /dev/null @@ -1,123 +0,0 @@ -=begin -#Datadog API V2 Collection - -#Collection of all Datadog Public endpoints. - -The version of the OpenAPI document: 1.0 -Contact: support@datadoghq.com -Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator - - Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. - This product includes software developed at Datadog (https://www.datadoghq.com/). - Copyright 2020-Present Datadog, Inc. - -=end - -require 'date' -require 'time' - -module DatadogAPIClient::V2 - # - class DeletedSuitesRequestDeleteRequest - include BaseGenericModel - - # - attr_reader :data - - attr_accessor :additional_properties - - # Attribute mapping from ruby-style variable name to JSON key. - # @!visibility private - def self.attribute_map - { - :'data' => :'data' - } - end - - # Attribute type mapping. - # @!visibility private - def self.openapi_types - { - :'data' => :'DeletedSuitesRequestDelete' - } - end - - # Initializes the object - # @param attributes [Hash] Model attributes in the form of hash - # @!visibility private - def initialize(attributes = {}) - if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::DeletedSuitesRequestDeleteRequest` initialize method" - end - - self.additional_properties = {} - # check to see if the attribute exists and convert string to symbol for hash key - attributes = attributes.each_with_object({}) { |(k, v), h| - if (!self.class.attribute_map.key?(k.to_sym)) - self.additional_properties[k.to_sym] = v - else - h[k.to_sym] = v - end - } - - if attributes.key?(:'data') - self.data = attributes[:'data'] - end - end - - # Check to see if the all the properties in the model are valid - # @return true if the model is valid - # @!visibility private - def valid? - return false if @data.nil? - true - end - - # Custom attribute writer method with validation - # @param data [Object] Object to be assigned - # @!visibility private - def data=(data) - if data.nil? - fail ArgumentError, 'invalid value for "data", data cannot be nil.' - end - @data = data - end - - # Returns the object in the form of hash, with additionalProperties support. - # @return [Hash] Returns the object in the form of hash - # @!visibility private - def to_hash - hash = {} - self.class.attribute_map.each_pair do |attr, param| - value = self.send(attr) - if value.nil? - is_nullable = self.class.openapi_nullable.include?(attr) - next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) - end - - hash[param] = _to_hash(value) - end - self.additional_properties.each_pair do |attr, value| - hash[attr] = value - end - hash - end - - # Checks equality by comparing each attribute. - # @param o [Object] Object to be compared - # @!visibility private - def ==(o) - return true if self.equal?(o) - self.class == o.class && - data == o.data && - additional_properties == o.additional_properties - end - - # Calculates hash code according to all attributes. - # @return [Integer] Hash code - # @!visibility private - def hash - [data, additional_properties].hash - end - end -end diff --git a/lib/datadog_api_client/v2/models/deleted_suites_request_type.rb b/lib/datadog_api_client/v2/models/deleted_suites_request_type.rb deleted file mode 100644 index d7dcd36b2eff..000000000000 --- a/lib/datadog_api_client/v2/models/deleted_suites_request_type.rb +++ /dev/null @@ -1,26 +0,0 @@ -=begin -#Datadog API V2 Collection - -#Collection of all Datadog Public endpoints. - -The version of the OpenAPI document: 1.0 -Contact: support@datadoghq.com -Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator - - Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. - This product includes software developed at Datadog (https://www.datadoghq.com/). - Copyright 2020-Present Datadog, Inc. - -=end - -require 'date' -require 'time' - -module DatadogAPIClient::V2 - # - class DeletedSuitesRequestType - include BaseEnumModel - - DELETE_SUITES_REQUEST = "delete_suites_request".freeze - end -end diff --git a/lib/datadog_api_client/v2/models/synthetics_suite_response.rb b/lib/datadog_api_client/v2/models/security_monitoring_paginated_suppressions_response.rb similarity index 77% rename from lib/datadog_api_client/v2/models/synthetics_suite_response.rb rename to lib/datadog_api_client/v2/models/security_monitoring_paginated_suppressions_response.rb index 08fcd2e90ad4..15545aed3c6e 100644 --- a/lib/datadog_api_client/v2/models/synthetics_suite_response.rb +++ b/lib/datadog_api_client/v2/models/security_monitoring_paginated_suppressions_response.rb @@ -17,20 +17,24 @@ require 'time' module DatadogAPIClient::V2 - # Synthetics suite response - class SyntheticsSuiteResponse + # Response object containing the available suppression rules with pagination metadata. + class SecurityMonitoringPaginatedSuppressionsResponse include BaseGenericModel - # Synthetics suite response data + # A list of suppressions objects. attr_accessor :data + # Metadata for the suppression list response. + attr_accessor :meta + attr_accessor :additional_properties # Attribute mapping from ruby-style variable name to JSON key. # @!visibility private def self.attribute_map { - :'data' => :'data' + :'data' => :'data', + :'meta' => :'meta' } end @@ -38,7 +42,8 @@ def self.attribute_map # @!visibility private def self.openapi_types { - :'data' => :'SyntheticsSuiteResponseData' + :'data' => :'Array', + :'meta' => :'SecurityMonitoringSuppressionsMeta' } end @@ -47,7 +52,7 @@ def self.openapi_types # @!visibility private def initialize(attributes = {}) if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::SyntheticsSuiteResponse` initialize method" + fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::SecurityMonitoringPaginatedSuppressionsResponse` initialize method" end self.additional_properties = {} @@ -61,7 +66,13 @@ def initialize(attributes = {}) } if attributes.key?(:'data') - self.data = attributes[:'data'] + if (value = attributes[:'data']).is_a?(Array) + self.data = value + end + end + + if attributes.key?(:'meta') + self.meta = attributes[:'meta'] end end @@ -92,6 +103,7 @@ def ==(o) return true if self.equal?(o) self.class == o.class && data == o.data && + meta == o.meta && additional_properties == o.additional_properties end @@ -99,7 +111,7 @@ def ==(o) # @return [Integer] Hash code # @!visibility private def hash - [data, additional_properties].hash + [data, meta, additional_properties].hash end end end diff --git a/lib/datadog_api_client/v2/models/security_monitoring_rule_livetail_request.rb b/lib/datadog_api_client/v2/models/security_monitoring_rule_livetail_request.rb new file mode 100644 index 000000000000..763af23cb741 --- /dev/null +++ b/lib/datadog_api_client/v2/models/security_monitoring_rule_livetail_request.rb @@ -0,0 +1,251 @@ +=begin +#Datadog API V2 Collection + +#Collection of all Datadog Public endpoints. + +The version of the OpenAPI document: 1.0 +Contact: support@datadoghq.com +Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator + + Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + This product includes software developed at Datadog (https://www.datadoghq.com/). + Copyright 2020-Present Datadog, Inc. + +=end + +require 'date' +require 'time' + +module DatadogAPIClient::V2 + # Request to preview a rule query with applied filters. + class SecurityMonitoringRuleLivetailRequest + include BaseGenericModel + + # Data source for the query. + attr_reader :data_source + + # The detection method. + attr_reader :detection_method + + # Fields to apply distinct on. + attr_accessor :distinct_fields + + # Additional security filters to apply. + attr_accessor :filters + + # Fields to group by. + attr_accessor :group_by_fields + + # The query to preview. + attr_reader :query + + # Index of the query in the rule. + attr_reader :query_index + + # The rule type. + attr_reader :type + + attr_accessor :additional_properties + + # Attribute mapping from ruby-style variable name to JSON key. + # @!visibility private + def self.attribute_map + { + :'data_source' => :'dataSource', + :'detection_method' => :'detectionMethod', + :'distinct_fields' => :'distinctFields', + :'filters' => :'filters', + :'group_by_fields' => :'groupByFields', + :'query' => :'query', + :'query_index' => :'queryIndex', + :'type' => :'type' + } + end + + # Attribute type mapping. + # @!visibility private + def self.openapi_types + { + :'data_source' => :'String', + :'detection_method' => :'SecurityMonitoringRuleDetectionMethod', + :'distinct_fields' => :'Array', + :'filters' => :'Array', + :'group_by_fields' => :'Array', + :'query' => :'String', + :'query_index' => :'Integer', + :'type' => :'SecurityMonitoringRuleTypeRead' + } + end + + # Initializes the object + # @param attributes [Hash] Model attributes in the form of hash + # @!visibility private + def initialize(attributes = {}) + if (!attributes.is_a?(Hash)) + fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::SecurityMonitoringRuleLivetailRequest` initialize method" + end + + self.additional_properties = {} + # check to see if the attribute exists and convert string to symbol for hash key + attributes = attributes.each_with_object({}) { |(k, v), h| + if (!self.class.attribute_map.key?(k.to_sym)) + self.additional_properties[k.to_sym] = v + else + h[k.to_sym] = v + end + } + + if attributes.key?(:'data_source') + self.data_source = attributes[:'data_source'] + end + + if attributes.key?(:'detection_method') + self.detection_method = attributes[:'detection_method'] + end + + if attributes.key?(:'distinct_fields') + if (value = attributes[:'distinct_fields']).is_a?(Array) + self.distinct_fields = value + end + end + + if attributes.key?(:'filters') + if (value = attributes[:'filters']).is_a?(Array) + self.filters = value + end + end + + if attributes.key?(:'group_by_fields') + if (value = attributes[:'group_by_fields']).is_a?(Array) + self.group_by_fields = value + end + end + + if attributes.key?(:'query') + self.query = attributes[:'query'] + end + + if attributes.key?(:'query_index') + self.query_index = attributes[:'query_index'] + end + + if attributes.key?(:'type') + self.type = attributes[:'type'] + end + end + + # Check to see if the all the properties in the model are valid + # @return true if the model is valid + # @!visibility private + def valid? + return false if @data_source.nil? + return false if @detection_method.nil? + return false if @query.nil? + return false if @query_index.nil? + return false if @query_index > 9 + return false if @query_index < 0 + return false if @type.nil? + true + end + + # Custom attribute writer method with validation + # @param data_source [Object] Object to be assigned + # @!visibility private + def data_source=(data_source) + if data_source.nil? + fail ArgumentError, 'invalid value for "data_source", data_source cannot be nil.' + end + @data_source = data_source + end + + # Custom attribute writer method with validation + # @param detection_method [Object] Object to be assigned + # @!visibility private + def detection_method=(detection_method) + if detection_method.nil? + fail ArgumentError, 'invalid value for "detection_method", detection_method cannot be nil.' + end + @detection_method = detection_method + end + + # Custom attribute writer method with validation + # @param query [Object] Object to be assigned + # @!visibility private + def query=(query) + if query.nil? + fail ArgumentError, 'invalid value for "query", query cannot be nil.' + end + @query = query + end + + # Custom attribute writer method with validation + # @param query_index [Object] Object to be assigned + # @!visibility private + def query_index=(query_index) + if query_index.nil? + fail ArgumentError, 'invalid value for "query_index", query_index cannot be nil.' + end + if query_index > 9 + fail ArgumentError, 'invalid value for "query_index", must be smaller than or equal to 9.' + end + if query_index < 0 + fail ArgumentError, 'invalid value for "query_index", must be greater than or equal to 0.' + end + @query_index = query_index + end + + # Custom attribute writer method with validation + # @param type [Object] Object to be assigned + # @!visibility private + def type=(type) + if type.nil? + fail ArgumentError, 'invalid value for "type", type cannot be nil.' + end + @type = type + end + + # Returns the object in the form of hash, with additionalProperties support. + # @return [Hash] Returns the object in the form of hash + # @!visibility private + def to_hash + hash = {} + self.class.attribute_map.each_pair do |attr, param| + value = self.send(attr) + if value.nil? + is_nullable = self.class.openapi_nullable.include?(attr) + next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) + end + + hash[param] = _to_hash(value) + end + self.additional_properties.each_pair do |attr, value| + hash[attr] = value + end + hash + end + + # Checks equality by comparing each attribute. + # @param o [Object] Object to be compared + # @!visibility private + def ==(o) + return true if self.equal?(o) + self.class == o.class && + data_source == o.data_source && + detection_method == o.detection_method && + distinct_fields == o.distinct_fields && + filters == o.filters && + group_by_fields == o.group_by_fields && + query == o.query && + query_index == o.query_index && + type == o.type && + additional_properties == o.additional_properties + end + + # Calculates hash code according to all attributes. + # @return [Integer] Hash code + # @!visibility private + def hash + [data_source, detection_method, distinct_fields, filters, group_by_fields, query, query_index, type, additional_properties].hash + end + end +end diff --git a/lib/datadog_api_client/v2/models/deleted_suites_response.rb b/lib/datadog_api_client/v2/models/security_monitoring_rule_livetail_response.rb similarity index 83% rename from lib/datadog_api_client/v2/models/deleted_suites_response.rb rename to lib/datadog_api_client/v2/models/security_monitoring_rule_livetail_response.rb index 5034223037c5..d6a6d883a3aa 100644 --- a/lib/datadog_api_client/v2/models/deleted_suites_response.rb +++ b/lib/datadog_api_client/v2/models/security_monitoring_rule_livetail_response.rb @@ -17,12 +17,12 @@ require 'time' module DatadogAPIClient::V2 - # - class DeletedSuitesResponse + # Response containing the modified query with applied filters. + class SecurityMonitoringRuleLivetailResponse include BaseGenericModel - # - attr_accessor :data + # The modified query with all filters applied. + attr_accessor :query attr_accessor :additional_properties @@ -30,7 +30,7 @@ class DeletedSuitesResponse # @!visibility private def self.attribute_map { - :'data' => :'data' + :'query' => :'query' } end @@ -38,7 +38,7 @@ def self.attribute_map # @!visibility private def self.openapi_types { - :'data' => :'Array' + :'query' => :'String' } end @@ -47,7 +47,7 @@ def self.openapi_types # @!visibility private def initialize(attributes = {}) if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::DeletedSuitesResponse` initialize method" + fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::SecurityMonitoringRuleLivetailResponse` initialize method" end self.additional_properties = {} @@ -60,10 +60,8 @@ def initialize(attributes = {}) end } - if attributes.key?(:'data') - if (value = attributes[:'data']).is_a?(Array) - self.data = value - end + if attributes.key?(:'query') + self.query = attributes[:'query'] end end @@ -93,7 +91,7 @@ def to_hash def ==(o) return true if self.equal?(o) self.class == o.class && - data == o.data && + query == o.query && additional_properties == o.additional_properties end @@ -101,7 +99,7 @@ def ==(o) # @return [Integer] Hash code # @!visibility private def hash - [data, additional_properties].hash + [query, additional_properties].hash end end end diff --git a/lib/datadog_api_client/v2/models/synthetics_suite_test_alerting_criticality.rb b/lib/datadog_api_client/v2/models/security_monitoring_suppression_sort.rb similarity index 52% rename from lib/datadog_api_client/v2/models/synthetics_suite_test_alerting_criticality.rb rename to lib/datadog_api_client/v2/models/security_monitoring_suppression_sort.rb index af10c49c6560..ebcf5ce84f5e 100644 --- a/lib/datadog_api_client/v2/models/synthetics_suite_test_alerting_criticality.rb +++ b/lib/datadog_api_client/v2/models/security_monitoring_suppression_sort.rb @@ -17,11 +17,19 @@ require 'time' module DatadogAPIClient::V2 - # Alerting criticality for each the test. - class SyntheticsSuiteTestAlertingCriticality + # The sort parameters used for querying suppression rules. + class SecurityMonitoringSuppressionSort include BaseEnumModel - IGNORE = "ignore".freeze - CRITICAL = "critical".freeze + NAME = "name".freeze + START_DATE = "start_date".freeze + EXPIRATION_DATE = "expiration_date".freeze + UPDATE_DATE = "update_date".freeze + ENABLED = "enabled".freeze + NAME_DESCENDING = "-name".freeze + START_DATE_DESCENDING = "-start_date".freeze + EXPIRATION_DATE_DESCENDING = "-expiration_date".freeze + UPDATE_DATE_DESCENDING = "-update_date".freeze + ENABLED_DESCENDING = "-enabled".freeze end end diff --git a/lib/datadog_api_client/v2/models/synthetics_suite_search_response.rb b/lib/datadog_api_client/v2/models/security_monitoring_suppressions_meta.rb similarity index 84% rename from lib/datadog_api_client/v2/models/synthetics_suite_search_response.rb rename to lib/datadog_api_client/v2/models/security_monitoring_suppressions_meta.rb index db350d677588..170b6a914c8a 100644 --- a/lib/datadog_api_client/v2/models/synthetics_suite_search_response.rb +++ b/lib/datadog_api_client/v2/models/security_monitoring_suppressions_meta.rb @@ -17,12 +17,12 @@ require 'time' module DatadogAPIClient::V2 - # Synthetics suite search response - class SyntheticsSuiteSearchResponse + # Metadata for the suppression list response. + class SecurityMonitoringSuppressionsMeta include BaseGenericModel - # Synthetics suite search response data - attr_accessor :data + # Pagination metadata. + attr_accessor :page attr_accessor :additional_properties @@ -30,7 +30,7 @@ class SyntheticsSuiteSearchResponse # @!visibility private def self.attribute_map { - :'data' => :'data' + :'page' => :'page' } end @@ -38,7 +38,7 @@ def self.attribute_map # @!visibility private def self.openapi_types { - :'data' => :'SyntheticsSuiteSearchResponseData' + :'page' => :'SecurityMonitoringSuppressionsPageMeta' } end @@ -47,7 +47,7 @@ def self.openapi_types # @!visibility private def initialize(attributes = {}) if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::SyntheticsSuiteSearchResponse` initialize method" + fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::SecurityMonitoringSuppressionsMeta` initialize method" end self.additional_properties = {} @@ -60,8 +60,8 @@ def initialize(attributes = {}) end } - if attributes.key?(:'data') - self.data = attributes[:'data'] + if attributes.key?(:'page') + self.page = attributes[:'page'] end end @@ -91,7 +91,7 @@ def to_hash def ==(o) return true if self.equal?(o) self.class == o.class && - data == o.data && + page == o.page && additional_properties == o.additional_properties end @@ -99,7 +99,7 @@ def ==(o) # @return [Integer] Hash code # @!visibility private def hash - [data, additional_properties].hash + [page, additional_properties].hash end end end diff --git a/lib/datadog_api_client/v2/models/deleted_suite_response_data.rb b/lib/datadog_api_client/v2/models/security_monitoring_suppressions_page_meta.rb similarity index 71% rename from lib/datadog_api_client/v2/models/deleted_suite_response_data.rb rename to lib/datadog_api_client/v2/models/security_monitoring_suppressions_page_meta.rb index 202db61e3042..35152ade3c36 100644 --- a/lib/datadog_api_client/v2/models/deleted_suite_response_data.rb +++ b/lib/datadog_api_client/v2/models/security_monitoring_suppressions_page_meta.rb @@ -17,18 +17,18 @@ require 'time' module DatadogAPIClient::V2 - # - class DeletedSuiteResponseData + # Pagination metadata. + class SecurityMonitoringSuppressionsPageMeta include BaseGenericModel - # - attr_accessor :attributes + # Current page number. + attr_accessor :page_number - # - attr_accessor :id + # Current page size. + attr_accessor :page_size - # Type for the Synthetics suites responses, `suites`. - attr_accessor :type + # Total count of suppressions. + attr_accessor :total_count attr_accessor :additional_properties @@ -36,9 +36,9 @@ class DeletedSuiteResponseData # @!visibility private def self.attribute_map { - :'attributes' => :'attributes', - :'id' => :'id', - :'type' => :'type' + :'page_number' => :'pageNumber', + :'page_size' => :'pageSize', + :'total_count' => :'totalCount' } end @@ -46,9 +46,9 @@ def self.attribute_map # @!visibility private def self.openapi_types { - :'attributes' => :'DeletedSuiteResponseDataAttributes', - :'id' => :'String', - :'type' => :'SyntheticsSuiteTypes' + :'page_number' => :'Integer', + :'page_size' => :'Integer', + :'total_count' => :'Integer' } end @@ -57,7 +57,7 @@ def self.openapi_types # @!visibility private def initialize(attributes = {}) if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::DeletedSuiteResponseData` initialize method" + fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::SecurityMonitoringSuppressionsPageMeta` initialize method" end self.additional_properties = {} @@ -70,16 +70,16 @@ def initialize(attributes = {}) end } - if attributes.key?(:'attributes') - self.attributes = attributes[:'attributes'] + if attributes.key?(:'page_number') + self.page_number = attributes[:'page_number'] end - if attributes.key?(:'id') - self.id = attributes[:'id'] + if attributes.key?(:'page_size') + self.page_size = attributes[:'page_size'] end - if attributes.key?(:'type') - self.type = attributes[:'type'] + if attributes.key?(:'total_count') + self.total_count = attributes[:'total_count'] end end @@ -109,9 +109,9 @@ def to_hash def ==(o) return true if self.equal?(o) self.class == o.class && - attributes == o.attributes && - id == o.id && - type == o.type && + page_number == o.page_number && + page_size == o.page_size && + total_count == o.total_count && additional_properties == o.additional_properties end @@ -119,7 +119,7 @@ def ==(o) # @return [Integer] Hash code # @!visibility private def hash - [attributes, id, type, additional_properties].hash + [page_number, page_size, total_count, additional_properties].hash end end end diff --git a/lib/datadog_api_client/v2/models/suite_create_edit.rb b/lib/datadog_api_client/v2/models/suite_create_edit.rb deleted file mode 100644 index 23af0d42811a..000000000000 --- a/lib/datadog_api_client/v2/models/suite_create_edit.rb +++ /dev/null @@ -1,144 +0,0 @@ -=begin -#Datadog API V2 Collection - -#Collection of all Datadog Public endpoints. - -The version of the OpenAPI document: 1.0 -Contact: support@datadoghq.com -Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator - - Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. - This product includes software developed at Datadog (https://www.datadoghq.com/). - Copyright 2020-Present Datadog, Inc. - -=end - -require 'date' -require 'time' - -module DatadogAPIClient::V2 - # - class SuiteCreateEdit - include BaseGenericModel - - # Object containing details about a Synthetic suite. - attr_reader :attributes - - # Type for the Synthetics suites responses, `suites`. - attr_reader :type - - attr_accessor :additional_properties - - # Attribute mapping from ruby-style variable name to JSON key. - # @!visibility private - def self.attribute_map - { - :'attributes' => :'attributes', - :'type' => :'type' - } - end - - # Attribute type mapping. - # @!visibility private - def self.openapi_types - { - :'attributes' => :'SyntheticsSuite', - :'type' => :'SyntheticsSuiteTypes' - } - end - - # Initializes the object - # @param attributes [Hash] Model attributes in the form of hash - # @!visibility private - def initialize(attributes = {}) - if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::SuiteCreateEdit` initialize method" - end - - self.additional_properties = {} - # check to see if the attribute exists and convert string to symbol for hash key - attributes = attributes.each_with_object({}) { |(k, v), h| - if (!self.class.attribute_map.key?(k.to_sym)) - self.additional_properties[k.to_sym] = v - else - h[k.to_sym] = v - end - } - - if attributes.key?(:'attributes') - self.attributes = attributes[:'attributes'] - end - - if attributes.key?(:'type') - self.type = attributes[:'type'] - end - end - - # Check to see if the all the properties in the model are valid - # @return true if the model is valid - # @!visibility private - def valid? - return false if @attributes.nil? - return false if @type.nil? - true - end - - # Custom attribute writer method with validation - # @param attributes [Object] Object to be assigned - # @!visibility private - def attributes=(attributes) - if attributes.nil? - fail ArgumentError, 'invalid value for "attributes", attributes cannot be nil.' - end - @attributes = attributes - end - - # Custom attribute writer method with validation - # @param type [Object] Object to be assigned - # @!visibility private - def type=(type) - if type.nil? - fail ArgumentError, 'invalid value for "type", type cannot be nil.' - end - @type = type - end - - # Returns the object in the form of hash, with additionalProperties support. - # @return [Hash] Returns the object in the form of hash - # @!visibility private - def to_hash - hash = {} - self.class.attribute_map.each_pair do |attr, param| - value = self.send(attr) - if value.nil? - is_nullable = self.class.openapi_nullable.include?(attr) - next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) - end - - hash[param] = _to_hash(value) - end - self.additional_properties.each_pair do |attr, value| - hash[attr] = value - end - hash - end - - # Checks equality by comparing each attribute. - # @param o [Object] Object to be compared - # @!visibility private - def ==(o) - return true if self.equal?(o) - self.class == o.class && - attributes == o.attributes && - type == o.type && - additional_properties == o.additional_properties - end - - # Calculates hash code according to all attributes. - # @return [Integer] Hash code - # @!visibility private - def hash - [attributes, type, additional_properties].hash - end - end -end diff --git a/lib/datadog_api_client/v2/models/suite_create_edit_request.rb b/lib/datadog_api_client/v2/models/suite_create_edit_request.rb deleted file mode 100644 index 4648fa9c912f..000000000000 --- a/lib/datadog_api_client/v2/models/suite_create_edit_request.rb +++ /dev/null @@ -1,123 +0,0 @@ -=begin -#Datadog API V2 Collection - -#Collection of all Datadog Public endpoints. - -The version of the OpenAPI document: 1.0 -Contact: support@datadoghq.com -Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator - - Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. - This product includes software developed at Datadog (https://www.datadoghq.com/). - Copyright 2020-Present Datadog, Inc. - -=end - -require 'date' -require 'time' - -module DatadogAPIClient::V2 - # - class SuiteCreateEditRequest - include BaseGenericModel - - # - attr_reader :data - - attr_accessor :additional_properties - - # Attribute mapping from ruby-style variable name to JSON key. - # @!visibility private - def self.attribute_map - { - :'data' => :'data' - } - end - - # Attribute type mapping. - # @!visibility private - def self.openapi_types - { - :'data' => :'SuiteCreateEdit' - } - end - - # Initializes the object - # @param attributes [Hash] Model attributes in the form of hash - # @!visibility private - def initialize(attributes = {}) - if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::SuiteCreateEditRequest` initialize method" - end - - self.additional_properties = {} - # check to see if the attribute exists and convert string to symbol for hash key - attributes = attributes.each_with_object({}) { |(k, v), h| - if (!self.class.attribute_map.key?(k.to_sym)) - self.additional_properties[k.to_sym] = v - else - h[k.to_sym] = v - end - } - - if attributes.key?(:'data') - self.data = attributes[:'data'] - end - end - - # Check to see if the all the properties in the model are valid - # @return true if the model is valid - # @!visibility private - def valid? - return false if @data.nil? - true - end - - # Custom attribute writer method with validation - # @param data [Object] Object to be assigned - # @!visibility private - def data=(data) - if data.nil? - fail ArgumentError, 'invalid value for "data", data cannot be nil.' - end - @data = data - end - - # Returns the object in the form of hash, with additionalProperties support. - # @return [Hash] Returns the object in the form of hash - # @!visibility private - def to_hash - hash = {} - self.class.attribute_map.each_pair do |attr, param| - value = self.send(attr) - if value.nil? - is_nullable = self.class.openapi_nullable.include?(attr) - next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) - end - - hash[param] = _to_hash(value) - end - self.additional_properties.each_pair do |attr, value| - hash[attr] = value - end - hash - end - - # Checks equality by comparing each attribute. - # @param o [Object] Object to be compared - # @!visibility private - def ==(o) - return true if self.equal?(o) - self.class == o.class && - data == o.data && - additional_properties == o.additional_properties - end - - # Calculates hash code according to all attributes. - # @return [Integer] Hash code - # @!visibility private - def hash - [data, additional_properties].hash - end - end -end diff --git a/lib/datadog_api_client/v2/models/suite_search_response_type.rb b/lib/datadog_api_client/v2/models/suite_search_response_type.rb deleted file mode 100644 index e03387257fcc..000000000000 --- a/lib/datadog_api_client/v2/models/suite_search_response_type.rb +++ /dev/null @@ -1,26 +0,0 @@ -=begin -#Datadog API V2 Collection - -#Collection of all Datadog Public endpoints. - -The version of the OpenAPI document: 1.0 -Contact: support@datadoghq.com -Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator - - Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. - This product includes software developed at Datadog (https://www.datadoghq.com/). - Copyright 2020-Present Datadog, Inc. - -=end - -require 'date' -require 'time' - -module DatadogAPIClient::V2 - # - class SuiteSearchResponseType - include BaseEnumModel - - SUITES_SEARCH = "suites_search".freeze - end -end diff --git a/lib/datadog_api_client/v2/models/synthetics_suite.rb b/lib/datadog_api_client/v2/models/synthetics_suite.rb deleted file mode 100644 index 08cdb949da42..000000000000 --- a/lib/datadog_api_client/v2/models/synthetics_suite.rb +++ /dev/null @@ -1,230 +0,0 @@ -=begin -#Datadog API V2 Collection - -#Collection of all Datadog Public endpoints. - -The version of the OpenAPI document: 1.0 -Contact: support@datadoghq.com -Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator - - Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. - This product includes software developed at Datadog (https://www.datadoghq.com/). - Copyright 2020-Present Datadog, Inc. - -=end - -require 'date' -require 'time' - -module DatadogAPIClient::V2 - # Object containing details about a Synthetic suite. - class SyntheticsSuite - include BaseGenericModel - - # Notification message associated with the suite. - attr_accessor :message - - # The associated monitor ID. - attr_accessor :monitor_id - - # Name of the suite. - attr_reader :name - - # Object describing the extra options for a Synthetic suite. - attr_reader :options - - # The public ID for the test. - attr_accessor :public_id - - # Array of tags attached to the suite. - attr_accessor :tags - - # - attr_reader :tests - - # Type of the Synthetic suite, `suite`. - attr_reader :type - - attr_accessor :additional_properties - - # Attribute mapping from ruby-style variable name to JSON key. - # @!visibility private - def self.attribute_map - { - :'message' => :'message', - :'monitor_id' => :'monitor_id', - :'name' => :'name', - :'options' => :'options', - :'public_id' => :'public_id', - :'tags' => :'tags', - :'tests' => :'tests', - :'type' => :'type' - } - end - - # Attribute type mapping. - # @!visibility private - def self.openapi_types - { - :'message' => :'String', - :'monitor_id' => :'Integer', - :'name' => :'String', - :'options' => :'SyntheticsSuiteOptions', - :'public_id' => :'String', - :'tags' => :'Array', - :'tests' => :'Array', - :'type' => :'SyntheticsSuiteType' - } - end - - # Initializes the object - # @param attributes [Hash] Model attributes in the form of hash - # @!visibility private - def initialize(attributes = {}) - if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::SyntheticsSuite` initialize method" - end - - self.additional_properties = {} - # check to see if the attribute exists and convert string to symbol for hash key - attributes = attributes.each_with_object({}) { |(k, v), h| - if (!self.class.attribute_map.key?(k.to_sym)) - self.additional_properties[k.to_sym] = v - else - h[k.to_sym] = v - end - } - - if attributes.key?(:'message') - self.message = attributes[:'message'] - end - - if attributes.key?(:'monitor_id') - self.monitor_id = attributes[:'monitor_id'] - end - - if attributes.key?(:'name') - self.name = attributes[:'name'] - end - - if attributes.key?(:'options') - self.options = attributes[:'options'] - end - - if attributes.key?(:'public_id') - self.public_id = attributes[:'public_id'] - end - - if attributes.key?(:'tags') - if (value = attributes[:'tags']).is_a?(Array) - self.tags = value - end - end - - if attributes.key?(:'tests') - if (value = attributes[:'tests']).is_a?(Array) - self.tests = value - end - end - - if attributes.key?(:'type') - self.type = attributes[:'type'] - end - end - - # Check to see if the all the properties in the model are valid - # @return true if the model is valid - # @!visibility private - def valid? - return false if @name.nil? - return false if @options.nil? - return false if @tests.nil? - return false if @type.nil? - true - end - - # Custom attribute writer method with validation - # @param name [Object] Object to be assigned - # @!visibility private - def name=(name) - if name.nil? - fail ArgumentError, 'invalid value for "name", name cannot be nil.' - end - @name = name - end - - # Custom attribute writer method with validation - # @param options [Object] Object to be assigned - # @!visibility private - def options=(options) - if options.nil? - fail ArgumentError, 'invalid value for "options", options cannot be nil.' - end - @options = options - end - - # Custom attribute writer method with validation - # @param tests [Object] Object to be assigned - # @!visibility private - def tests=(tests) - if tests.nil? - fail ArgumentError, 'invalid value for "tests", tests cannot be nil.' - end - @tests = tests - end - - # Custom attribute writer method with validation - # @param type [Object] Object to be assigned - # @!visibility private - def type=(type) - if type.nil? - fail ArgumentError, 'invalid value for "type", type cannot be nil.' - end - @type = type - end - - # Returns the object in the form of hash, with additionalProperties support. - # @return [Hash] Returns the object in the form of hash - # @!visibility private - def to_hash - hash = {} - self.class.attribute_map.each_pair do |attr, param| - value = self.send(attr) - if value.nil? - is_nullable = self.class.openapi_nullable.include?(attr) - next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) - end - - hash[param] = _to_hash(value) - end - self.additional_properties.each_pair do |attr, value| - hash[attr] = value - end - hash - end - - # Checks equality by comparing each attribute. - # @param o [Object] Object to be compared - # @!visibility private - def ==(o) - return true if self.equal?(o) - self.class == o.class && - message == o.message && - monitor_id == o.monitor_id && - name == o.name && - options == o.options && - public_id == o.public_id && - tags == o.tags && - tests == o.tests && - type == o.type && - additional_properties == o.additional_properties - end - - # Calculates hash code according to all attributes. - # @return [Integer] Hash code - # @!visibility private - def hash - [message, monitor_id, name, options, public_id, tags, tests, type, additional_properties].hash - end - end -end diff --git a/lib/datadog_api_client/v2/models/synthetics_suite_options.rb b/lib/datadog_api_client/v2/models/synthetics_suite_options.rb deleted file mode 100644 index fb30130c42e5..000000000000 --- a/lib/datadog_api_client/v2/models/synthetics_suite_options.rb +++ /dev/null @@ -1,127 +0,0 @@ -=begin -#Datadog API V2 Collection - -#Collection of all Datadog Public endpoints. - -The version of the OpenAPI document: 1.0 -Contact: support@datadoghq.com -Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator - - Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. - This product includes software developed at Datadog (https://www.datadoghq.com/). - Copyright 2020-Present Datadog, Inc. - -=end - -require 'date' -require 'time' - -module DatadogAPIClient::V2 - # Object describing the extra options for a Synthetic suite. - class SyntheticsSuiteOptions - include BaseGenericModel - - # Percentage of critical tests failure needed for a suite to fail. - attr_reader :alerting_threshold - - attr_accessor :additional_properties - - # Attribute mapping from ruby-style variable name to JSON key. - # @!visibility private - def self.attribute_map - { - :'alerting_threshold' => :'alerting_threshold' - } - end - - # Attribute type mapping. - # @!visibility private - def self.openapi_types - { - :'alerting_threshold' => :'Float' - } - end - - # Initializes the object - # @param attributes [Hash] Model attributes in the form of hash - # @!visibility private - def initialize(attributes = {}) - if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::SyntheticsSuiteOptions` initialize method" - end - - self.additional_properties = {} - # check to see if the attribute exists and convert string to symbol for hash key - attributes = attributes.each_with_object({}) { |(k, v), h| - if (!self.class.attribute_map.key?(k.to_sym)) - self.additional_properties[k.to_sym] = v - else - h[k.to_sym] = v - end - } - - if attributes.key?(:'alerting_threshold') - self.alerting_threshold = attributes[:'alerting_threshold'] - end - end - - # Check to see if the all the properties in the model are valid - # @return true if the model is valid - # @!visibility private - def valid? - return false if !@alerting_threshold.nil? && @alerting_threshold > 1 - return false if !@alerting_threshold.nil? && @alerting_threshold < 0 - true - end - - # Custom attribute writer method with validation - # @param alerting_threshold [Object] Object to be assigned - # @!visibility private - def alerting_threshold=(alerting_threshold) - if !alerting_threshold.nil? && alerting_threshold > 1 - fail ArgumentError, 'invalid value for "alerting_threshold", must be smaller than or equal to 1.' - end - if !alerting_threshold.nil? && alerting_threshold < 0 - fail ArgumentError, 'invalid value for "alerting_threshold", must be greater than or equal to 0.' - end - @alerting_threshold = alerting_threshold - end - - # Returns the object in the form of hash, with additionalProperties support. - # @return [Hash] Returns the object in the form of hash - # @!visibility private - def to_hash - hash = {} - self.class.attribute_map.each_pair do |attr, param| - value = self.send(attr) - if value.nil? - is_nullable = self.class.openapi_nullable.include?(attr) - next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) - end - - hash[param] = _to_hash(value) - end - self.additional_properties.each_pair do |attr, value| - hash[attr] = value - end - hash - end - - # Checks equality by comparing each attribute. - # @param o [Object] Object to be compared - # @!visibility private - def ==(o) - return true if self.equal?(o) - self.class == o.class && - alerting_threshold == o.alerting_threshold && - additional_properties == o.additional_properties - end - - # Calculates hash code according to all attributes. - # @return [Integer] Hash code - # @!visibility private - def hash - [alerting_threshold, additional_properties].hash - end - end -end diff --git a/lib/datadog_api_client/v2/models/synthetics_suite_response_data.rb b/lib/datadog_api_client/v2/models/synthetics_suite_response_data.rb deleted file mode 100644 index 28d224cb10c4..000000000000 --- a/lib/datadog_api_client/v2/models/synthetics_suite_response_data.rb +++ /dev/null @@ -1,125 +0,0 @@ -=begin -#Datadog API V2 Collection - -#Collection of all Datadog Public endpoints. - -The version of the OpenAPI document: 1.0 -Contact: support@datadoghq.com -Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator - - Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. - This product includes software developed at Datadog (https://www.datadoghq.com/). - Copyright 2020-Present Datadog, Inc. - -=end - -require 'date' -require 'time' - -module DatadogAPIClient::V2 - # Synthetics suite response data - class SyntheticsSuiteResponseData - include BaseGenericModel - - # Object containing details about a Synthetic suite. - attr_accessor :attributes - - # The public ID for the suite. - attr_accessor :id - - # Type for the Synthetics suites responses, `suites`. - attr_accessor :type - - attr_accessor :additional_properties - - # Attribute mapping from ruby-style variable name to JSON key. - # @!visibility private - def self.attribute_map - { - :'attributes' => :'attributes', - :'id' => :'id', - :'type' => :'type' - } - end - - # Attribute type mapping. - # @!visibility private - def self.openapi_types - { - :'attributes' => :'SyntheticsSuite', - :'id' => :'String', - :'type' => :'SyntheticsSuiteTypes' - } - end - - # Initializes the object - # @param attributes [Hash] Model attributes in the form of hash - # @!visibility private - def initialize(attributes = {}) - if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::SyntheticsSuiteResponseData` initialize method" - end - - self.additional_properties = {} - # check to see if the attribute exists and convert string to symbol for hash key - attributes = attributes.each_with_object({}) { |(k, v), h| - if (!self.class.attribute_map.key?(k.to_sym)) - self.additional_properties[k.to_sym] = v - else - h[k.to_sym] = v - end - } - - if attributes.key?(:'attributes') - self.attributes = attributes[:'attributes'] - end - - if attributes.key?(:'id') - self.id = attributes[:'id'] - end - - if attributes.key?(:'type') - self.type = attributes[:'type'] - end - end - - # Returns the object in the form of hash, with additionalProperties support. - # @return [Hash] Returns the object in the form of hash - # @!visibility private - def to_hash - hash = {} - self.class.attribute_map.each_pair do |attr, param| - value = self.send(attr) - if value.nil? - is_nullable = self.class.openapi_nullable.include?(attr) - next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) - end - - hash[param] = _to_hash(value) - end - self.additional_properties.each_pair do |attr, value| - hash[attr] = value - end - hash - end - - # Checks equality by comparing each attribute. - # @param o [Object] Object to be compared - # @!visibility private - def ==(o) - return true if self.equal?(o) - self.class == o.class && - attributes == o.attributes && - id == o.id && - type == o.type && - additional_properties == o.additional_properties - end - - # Calculates hash code according to all attributes. - # @return [Integer] Hash code - # @!visibility private - def hash - [attributes, id, type, additional_properties].hash - end - end -end diff --git a/lib/datadog_api_client/v2/models/synthetics_suite_search_response_data.rb b/lib/datadog_api_client/v2/models/synthetics_suite_search_response_data.rb deleted file mode 100644 index b478b580e70b..000000000000 --- a/lib/datadog_api_client/v2/models/synthetics_suite_search_response_data.rb +++ /dev/null @@ -1,125 +0,0 @@ -=begin -#Datadog API V2 Collection - -#Collection of all Datadog Public endpoints. - -The version of the OpenAPI document: 1.0 -Contact: support@datadoghq.com -Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator - - Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. - This product includes software developed at Datadog (https://www.datadoghq.com/). - Copyright 2020-Present Datadog, Inc. - -=end - -require 'date' -require 'time' - -module DatadogAPIClient::V2 - # Synthetics suite search response data - class SyntheticsSuiteSearchResponseData - include BaseGenericModel - - # Synthetics suite search response data attributes - attr_accessor :attributes - - # - attr_accessor :id - - # - attr_accessor :type - - attr_accessor :additional_properties - - # Attribute mapping from ruby-style variable name to JSON key. - # @!visibility private - def self.attribute_map - { - :'attributes' => :'attributes', - :'id' => :'id', - :'type' => :'type' - } - end - - # Attribute type mapping. - # @!visibility private - def self.openapi_types - { - :'attributes' => :'SyntheticsSuiteSearchResponseDataAttributes', - :'id' => :'UUID', - :'type' => :'SuiteSearchResponseType' - } - end - - # Initializes the object - # @param attributes [Hash] Model attributes in the form of hash - # @!visibility private - def initialize(attributes = {}) - if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::SyntheticsSuiteSearchResponseData` initialize method" - end - - self.additional_properties = {} - # check to see if the attribute exists and convert string to symbol for hash key - attributes = attributes.each_with_object({}) { |(k, v), h| - if (!self.class.attribute_map.key?(k.to_sym)) - self.additional_properties[k.to_sym] = v - else - h[k.to_sym] = v - end - } - - if attributes.key?(:'attributes') - self.attributes = attributes[:'attributes'] - end - - if attributes.key?(:'id') - self.id = attributes[:'id'] - end - - if attributes.key?(:'type') - self.type = attributes[:'type'] - end - end - - # Returns the object in the form of hash, with additionalProperties support. - # @return [Hash] Returns the object in the form of hash - # @!visibility private - def to_hash - hash = {} - self.class.attribute_map.each_pair do |attr, param| - value = self.send(attr) - if value.nil? - is_nullable = self.class.openapi_nullable.include?(attr) - next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) - end - - hash[param] = _to_hash(value) - end - self.additional_properties.each_pair do |attr, value| - hash[attr] = value - end - hash - end - - # Checks equality by comparing each attribute. - # @param o [Object] Object to be compared - # @!visibility private - def ==(o) - return true if self.equal?(o) - self.class == o.class && - attributes == o.attributes && - id == o.id && - type == o.type && - additional_properties == o.additional_properties - end - - # Calculates hash code according to all attributes. - # @return [Integer] Hash code - # @!visibility private - def hash - [attributes, id, type, additional_properties].hash - end - end -end diff --git a/lib/datadog_api_client/v2/models/synthetics_suite_search_response_data_attributes.rb b/lib/datadog_api_client/v2/models/synthetics_suite_search_response_data_attributes.rb deleted file mode 100644 index 2130ec1ed169..000000000000 --- a/lib/datadog_api_client/v2/models/synthetics_suite_search_response_data_attributes.rb +++ /dev/null @@ -1,135 +0,0 @@ -=begin -#Datadog API V2 Collection - -#Collection of all Datadog Public endpoints. - -The version of the OpenAPI document: 1.0 -Contact: support@datadoghq.com -Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator - - Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. - This product includes software developed at Datadog (https://www.datadoghq.com/). - Copyright 2020-Present Datadog, Inc. - -=end - -require 'date' -require 'time' - -module DatadogAPIClient::V2 - # Synthetics suite search response data attributes - class SyntheticsSuiteSearchResponseDataAttributes - include BaseGenericModel - - # - attr_accessor :suites - - # - attr_reader :total - - attr_accessor :additional_properties - - # Attribute mapping from ruby-style variable name to JSON key. - # @!visibility private - def self.attribute_map - { - :'suites' => :'suites', - :'total' => :'total' - } - end - - # Attribute type mapping. - # @!visibility private - def self.openapi_types - { - :'suites' => :'Array', - :'total' => :'Integer' - } - end - - # Initializes the object - # @param attributes [Hash] Model attributes in the form of hash - # @!visibility private - def initialize(attributes = {}) - if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::SyntheticsSuiteSearchResponseDataAttributes` initialize method" - end - - self.additional_properties = {} - # check to see if the attribute exists and convert string to symbol for hash key - attributes = attributes.each_with_object({}) { |(k, v), h| - if (!self.class.attribute_map.key?(k.to_sym)) - self.additional_properties[k.to_sym] = v - else - h[k.to_sym] = v - end - } - - if attributes.key?(:'suites') - if (value = attributes[:'suites']).is_a?(Array) - self.suites = value - end - end - - if attributes.key?(:'total') - self.total = attributes[:'total'] - end - end - - # Check to see if the all the properties in the model are valid - # @return true if the model is valid - # @!visibility private - def valid? - return false if !@total.nil? && @total > 2147483647 - true - end - - # Custom attribute writer method with validation - # @param total [Object] Object to be assigned - # @!visibility private - def total=(total) - if !total.nil? && total > 2147483647 - fail ArgumentError, 'invalid value for "total", must be smaller than or equal to 2147483647.' - end - @total = total - end - - # Returns the object in the form of hash, with additionalProperties support. - # @return [Hash] Returns the object in the form of hash - # @!visibility private - def to_hash - hash = {} - self.class.attribute_map.each_pair do |attr, param| - value = self.send(attr) - if value.nil? - is_nullable = self.class.openapi_nullable.include?(attr) - next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) - end - - hash[param] = _to_hash(value) - end - self.additional_properties.each_pair do |attr, value| - hash[attr] = value - end - hash - end - - # Checks equality by comparing each attribute. - # @param o [Object] Object to be compared - # @!visibility private - def ==(o) - return true if self.equal?(o) - self.class == o.class && - suites == o.suites && - total == o.total && - additional_properties == o.additional_properties - end - - # Calculates hash code according to all attributes. - # @return [Integer] Hash code - # @!visibility private - def hash - [suites, total, additional_properties].hash - end - end -end diff --git a/lib/datadog_api_client/v2/models/synthetics_suite_test.rb b/lib/datadog_api_client/v2/models/synthetics_suite_test.rb deleted file mode 100644 index 372b0c26d498..000000000000 --- a/lib/datadog_api_client/v2/models/synthetics_suite_test.rb +++ /dev/null @@ -1,133 +0,0 @@ -=begin -#Datadog API V2 Collection - -#Collection of all Datadog Public endpoints. - -The version of the OpenAPI document: 1.0 -Contact: support@datadoghq.com -Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator - - Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. - This product includes software developed at Datadog (https://www.datadoghq.com/). - Copyright 2020-Present Datadog, Inc. - -=end - -require 'date' -require 'time' - -module DatadogAPIClient::V2 - # Object containing details about a Synthetic test included in a Synthetic suite. - class SyntheticsSuiteTest - include BaseGenericModel - - # Alerting criticality for each the test. - attr_accessor :alerting_criticality - - # - attr_reader :public_id - - attr_accessor :additional_properties - - # Attribute mapping from ruby-style variable name to JSON key. - # @!visibility private - def self.attribute_map - { - :'alerting_criticality' => :'alerting_criticality', - :'public_id' => :'public_id' - } - end - - # Attribute type mapping. - # @!visibility private - def self.openapi_types - { - :'alerting_criticality' => :'SyntheticsSuiteTestAlertingCriticality', - :'public_id' => :'String' - } - end - - # Initializes the object - # @param attributes [Hash] Model attributes in the form of hash - # @!visibility private - def initialize(attributes = {}) - if (!attributes.is_a?(Hash)) - fail ArgumentError, "The input argument (attributes) must be a hash in `DatadogAPIClient::V2::SyntheticsSuiteTest` initialize method" - end - - self.additional_properties = {} - # check to see if the attribute exists and convert string to symbol for hash key - attributes = attributes.each_with_object({}) { |(k, v), h| - if (!self.class.attribute_map.key?(k.to_sym)) - self.additional_properties[k.to_sym] = v - else - h[k.to_sym] = v - end - } - - if attributes.key?(:'alerting_criticality') - self.alerting_criticality = attributes[:'alerting_criticality'] - end - - if attributes.key?(:'public_id') - self.public_id = attributes[:'public_id'] - end - end - - # Check to see if the all the properties in the model are valid - # @return true if the model is valid - # @!visibility private - def valid? - return false if @public_id.nil? - true - end - - # Custom attribute writer method with validation - # @param public_id [Object] Object to be assigned - # @!visibility private - def public_id=(public_id) - if public_id.nil? - fail ArgumentError, 'invalid value for "public_id", public_id cannot be nil.' - end - @public_id = public_id - end - - # Returns the object in the form of hash, with additionalProperties support. - # @return [Hash] Returns the object in the form of hash - # @!visibility private - def to_hash - hash = {} - self.class.attribute_map.each_pair do |attr, param| - value = self.send(attr) - if value.nil? - is_nullable = self.class.openapi_nullable.include?(attr) - next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}")) - end - - hash[param] = _to_hash(value) - end - self.additional_properties.each_pair do |attr, value| - hash[attr] = value - end - hash - end - - # Checks equality by comparing each attribute. - # @param o [Object] Object to be compared - # @!visibility private - def ==(o) - return true if self.equal?(o) - self.class == o.class && - alerting_criticality == o.alerting_criticality && - public_id == o.public_id && - additional_properties == o.additional_properties - end - - # Calculates hash code according to all attributes. - # @return [Integer] Hash code - # @!visibility private - def hash - [alerting_criticality, public_id, additional_properties].hash - end - end -end diff --git a/lib/datadog_api_client/v2/models/synthetics_suite_type.rb b/lib/datadog_api_client/v2/models/synthetics_suite_type.rb deleted file mode 100644 index 32aa8938c76e..000000000000 --- a/lib/datadog_api_client/v2/models/synthetics_suite_type.rb +++ /dev/null @@ -1,26 +0,0 @@ -=begin -#Datadog API V2 Collection - -#Collection of all Datadog Public endpoints. - -The version of the OpenAPI document: 1.0 -Contact: support@datadoghq.com -Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator - - Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. - This product includes software developed at Datadog (https://www.datadoghq.com/). - Copyright 2020-Present Datadog, Inc. - -=end - -require 'date' -require 'time' - -module DatadogAPIClient::V2 - # Type of the Synthetic suite, `suite`. - class SyntheticsSuiteType - include BaseEnumModel - - SUITE = "suite".freeze - end -end diff --git a/lib/datadog_api_client/v2/models/synthetics_suite_types.rb b/lib/datadog_api_client/v2/models/synthetics_suite_types.rb deleted file mode 100644 index fd8e9824a6c2..000000000000 --- a/lib/datadog_api_client/v2/models/synthetics_suite_types.rb +++ /dev/null @@ -1,26 +0,0 @@ -=begin -#Datadog API V2 Collection - -#Collection of all Datadog Public endpoints. - -The version of the OpenAPI document: 1.0 -Contact: support@datadoghq.com -Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator - - Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. - This product includes software developed at Datadog (https://www.datadoghq.com/). - Copyright 2020-Present Datadog, Inc. - -=end - -require 'date' -require 'time' - -module DatadogAPIClient::V2 - # Type for the Synthetics suites responses, `suites`. - class SyntheticsSuiteTypes - include BaseEnumModel - - SUITES = "suites".freeze - end -end