Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 13 additions & 5 deletions .generator/schemas/v2/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -91967,7 +91967,7 @@ components:
attributes:
scope: ccm
sort:
- expression: potential_daily_savings.amount
- expression: "@potential_daily_savings"
order: DESC
id: "@resource_table:aws_ec2_instance"
type: recommendations_filter
Expand All @@ -91986,8 +91986,9 @@ components:
$ref: "#/components/schemas/RecommendationsFilterRequestDataAttributes"
id:
description: |-
Filter expression applied to the recommendations. The server treats an omitted ID as `*`
and returns all recommendations.
Filter expression applied to the recommendations when `attributes.filter` is omitted.
When supplied, `attributes.filter` overrides this value, including when empty. If the
resulting filter is empty, it defaults to `*`. Scope, view, and pagination still apply.
type: string
type:
$ref: "#/components/schemas/RecommendationsFilterRequestDataType"
Expand All @@ -91997,6 +91998,13 @@ components:
RecommendationsFilterRequestDataAttributes:
description: Attributes used to filter and sort cost recommendations.
properties:
filter:
description: |-
Filter expression applied to the recommendations. When supplied, this attribute overrides
`data.id`, including when empty. When omitted, `data.id` is used. If the resulting filter
is empty, it defaults to `*`. Scope, view, and pagination still apply.
example: "@resource_table:aws_ec2_instance"
type: string
scope:
$ref: "#/components/schemas/RecommendationsFilterRequestScope"
sort:
Expand Down Expand Up @@ -92032,7 +92040,7 @@ components:
description: A single sort clause applied to the cost recommendations result set.
properties:
expression:
description: Field to sort by (for example, `potential_daily_savings.amount`).
description: Field to sort by (for example, `@potential_daily_savings`).
type: string
order:
description: Sort direction, either `ASC` or `DESC`.
Expand Down Expand Up @@ -146632,7 +146640,7 @@ paths:
attributes:
scope: ccm
sort:
- expression: potential_daily_savings.amount
- expression: "@potential_daily_savings"
order: DESC
id: "@resource_table:aws_ec2_instance"
type: recommendations_filter
Expand Down
2 changes: 1 addition & 1 deletion features/v2/cloud_cost_management.feature
Original file line number Diff line number Diff line change
Expand Up @@ -974,7 +974,7 @@ Feature: Cloud Cost Management
Scenario: Search cost recommendations returns "OK" response
Given operation "SearchCostRecommendations" enabled
And new "SearchCostRecommendations" request
And body with value {"data": {"attributes": {"scope": "ccm", "sort": [{"expression": "potential_daily_savings.amount", "order": "DESC"}]}, "id": "@resource_table:aws_ec2_instance", "type": "recommendations_filter"}}
And body with value {"data": {"attributes": {"scope": "ccm", "sort": [{"expression": "@potential_daily_savings", "order": "DESC"}]}, "id": "@resource_table:aws_ec2_instance", "type": "recommendations_filter"}}
When the request is sent
Then the response status is 200 OK

Expand Down
8 changes: 4 additions & 4 deletions features/v2/rum_replay_heatmaps.feature
Original file line number Diff line number Diff line change
Expand Up @@ -8,28 +8,28 @@ Feature: Rum Replay Heatmaps
And a valid "appKeyAuth" key in the system
And an instance of "RumReplayHeatmaps" API

@generated @skip @team:DataDog/session-replay-backend
@generated @skip @team:DataDog/session-replay
Scenario: Create replay heatmap snapshot returns "Created" response
Given new "CreateReplayHeatmapSnapshot" request
And body with value {"data": {"attributes": {"application_id": "aaaaaaaa-1111-2222-3333-bbbbbbbbbbbb", "device_type": "desktop", "event_id": "11111111-2222-3333-4444-555555555555", "is_device_type_selected_by_user": false, "snapshot_name": "My Snapshot", "start": 0, "view_name": "/home"}, "type": "snapshots"}}
When the request is sent
Then the response status is 201 Created

@generated @skip @team:DataDog/session-replay-backend
@generated @skip @team:DataDog/session-replay
Scenario: Delete replay heatmap snapshot returns "No Content" response
Given new "DeleteReplayHeatmapSnapshot" request
And request contains "snapshot_id" parameter from "REPLACE.ME"
When the request is sent
Then the response status is 204 No Content

@generated @skip @team:DataDog/session-replay-backend
@generated @skip @team:DataDog/session-replay
Scenario: List replay heatmap snapshots returns "OK" response
Given new "ListReplayHeatmapSnapshots" request
And request contains "filter[view_name]" parameter from "REPLACE.ME"
When the request is sent
Then the response status is 200 OK

@generated @skip @team:DataDog/session-replay-backend
@generated @skip @team:DataDog/session-replay
Scenario: Update replay heatmap snapshot returns "OK" response
Given new "UpdateReplayHeatmapSnapshot" request
And request contains "snapshot_id" parameter from "REPLACE.ME"
Expand Down
20 changes: 10 additions & 10 deletions features/v2/rum_replay_playlists.feature
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Feature: Rum Replay Playlists
And a valid "appKeyAuth" key in the system
And an instance of "RumReplayPlaylists" API

@generated @skip @team:DataDog/session-replay-backend
@generated @skip @team:DataDog/session-replay
Scenario: Add RUM replay session to playlist returns "Created" response
Given new "AddRumReplaySessionToPlaylist" request
And request contains "ts" parameter from "REPLACE.ME"
Expand All @@ -17,7 +17,7 @@ Feature: Rum Replay Playlists
When the request is sent
Then the response status is 201 Created

@generated @skip @team:DataDog/session-replay-backend
@generated @skip @team:DataDog/session-replay
Scenario: Add RUM replay session to playlist returns "OK" response
Given new "AddRumReplaySessionToPlaylist" request
And request contains "ts" parameter from "REPLACE.ME"
Expand All @@ -26,57 +26,57 @@ Feature: Rum Replay Playlists
When the request is sent
Then the response status is 200 OK

@generated @skip @team:DataDog/session-replay-backend
@generated @skip @team:DataDog/session-replay
Scenario: Bulk remove RUM replay playlist sessions returns "No Content" response
Given new "BulkRemoveRumReplayPlaylistSessions" request
And request contains "playlist_id" parameter from "REPLACE.ME"
And body with value {"data": [{"id": "00000000-0000-0000-0000-000000000001", "type": "rum_replay_session"}]}
When the request is sent
Then the response status is 204 No Content

@generated @skip @team:DataDog/session-replay-backend
@generated @skip @team:DataDog/session-replay
Scenario: Create RUM replay playlist returns "Created" response
Given new "CreateRumReplayPlaylist" request
And body with value {"data": {"attributes": {"created_by": {"handle": "john.doe@example.com", "id": "00000000-0000-0000-0000-000000000001", "uuid": "00000000-0000-0000-0000-000000000001"}, "name": "My Playlist"}, "type": "rum_replay_playlist"}}
When the request is sent
Then the response status is 201 Created

@generated @skip @team:DataDog/session-replay-backend
@generated @skip @team:DataDog/session-replay
Scenario: Delete RUM replay playlist returns "No Content" response
Given new "DeleteRumReplayPlaylist" request
And request contains "playlist_id" parameter from "REPLACE.ME"
When the request is sent
Then the response status is 204 No Content

@generated @skip @team:DataDog/session-replay-backend
@generated @skip @team:DataDog/session-replay
Scenario: Get RUM replay playlist returns "OK" response
Given new "GetRumReplayPlaylist" request
And request contains "playlist_id" parameter from "REPLACE.ME"
When the request is sent
Then the response status is 200 OK

@generated @skip @team:DataDog/session-replay-backend
@generated @skip @team:DataDog/session-replay
Scenario: List RUM replay playlist sessions returns "OK" response
Given new "ListRumReplayPlaylistSessions" request
And request contains "playlist_id" parameter from "REPLACE.ME"
When the request is sent
Then the response status is 200 OK

@generated @skip @team:DataDog/session-replay-backend
@generated @skip @team:DataDog/session-replay
Scenario: List RUM replay playlists returns "OK" response
Given new "ListRumReplayPlaylists" request
When the request is sent
Then the response status is 200 OK

@generated @skip @team:DataDog/session-replay-backend
@generated @skip @team:DataDog/session-replay
Scenario: Remove RUM replay session from playlist returns "No Content" response
Given new "RemoveRumReplaySessionFromPlaylist" request
And request contains "playlist_id" parameter from "REPLACE.ME"
And request contains "session_id" parameter from "REPLACE.ME"
When the request is sent
Then the response status is 204 No Content

@generated @skip @team:DataDog/session-replay-backend
@generated @skip @team:DataDog/session-replay
Scenario: Update RUM replay playlist returns "OK" response
Given new "UpdateRumReplayPlaylist" request
And request contains "playlist_id" parameter from "REPLACE.ME"
Expand Down
2 changes: 1 addition & 1 deletion features/v2/rum_replay_sessions.feature
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ Feature: Rum Replay Sessions
Retrieve segments for RUM replay sessions. Access session replay data
stored in event platform or blob storage.

@generated @skip @team:DataDog/session-replay-backend
@generated @skip @team:DataDog/session-replay
Scenario: Get segments returns "OK" response
Given a valid "apiKeyAuth" key in the system
And a valid "appKeyAuth" key in the system
Expand Down
8 changes: 4 additions & 4 deletions features/v2/rum_replay_viewership.feature
Original file line number Diff line number Diff line change
Expand Up @@ -8,29 +8,29 @@ Feature: Rum Replay Viewership
And a valid "appKeyAuth" key in the system
And an instance of "RumReplayViewership" API

@generated @skip @team:DataDog/session-replay-backend
@generated @skip @team:DataDog/session-replay
Scenario: Create RUM replay session watch returns "Created" response
Given new "CreateRumReplaySessionWatch" request
And request contains "session_id" parameter from "REPLACE.ME"
And body with value {"data": {"attributes": {"application_id": "aaaaaaaa-1111-2222-3333-bbbbbbbbbbbb", "event_id": "11111111-2222-3333-4444-555555555555", "timestamp": "2026-01-13T17:15:53.208340Z"}, "type": "rum_replay_watch"}}
When the request is sent
Then the response status is 201 Created

@generated @skip @team:DataDog/session-replay-backend
@generated @skip @team:DataDog/session-replay
Scenario: Delete RUM replay session watch returns "No Content" response
Given new "DeleteRumReplaySessionWatch" request
And request contains "session_id" parameter from "REPLACE.ME"
When the request is sent
Then the response status is 204 No Content

@generated @skip @team:DataDog/session-replay-backend
@generated @skip @team:DataDog/session-replay
Scenario: List RUM replay session watchers returns "OK" response
Given new "ListRumReplaySessionWatchers" request
And request contains "session_id" parameter from "REPLACE.ME"
When the request is sent
Then the response status is 200 OK

@generated @skip @team:DataDog/session-replay-backend
@generated @skip @team:DataDog/session-replay
Scenario: List RUM replay viewership history sessions returns "OK" response
Given new "ListRumReplayViewershipHistorySessions" request
When the request is sent
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,9 @@ export class RecommendationsFilterRequestData {
*/
"attributes"?: RecommendationsFilterRequestDataAttributes;
/**
* Filter expression applied to the recommendations. The server treats an omitted ID as `*`
* and returns all recommendations.
* Filter expression applied to the recommendations when `attributes.filter` is omitted.
* When supplied, `attributes.filter` overrides this value, including when empty. If the
* resulting filter is empty, it defaults to `*`. Scope, view, and pagination still apply.
*/
"id"?: string;
/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,12 @@ import { RecommendationsFilterRequestSortItems } from "./RecommendationsFilterRe
* Attributes used to filter and sort cost recommendations.
*/
export class RecommendationsFilterRequestDataAttributes {
/**
* Filter expression applied to the recommendations. When supplied, this attribute overrides
* `data.id`, including when empty. When omitted, `data.id` is used. If the resulting filter
* is empty, it defaults to `*`. Scope, view, and pagination still apply.
*/
"filter"?: string;
/**
* Recommendations scope. Defaults to `ccm`; use `experiment` for experimental recommendations or `*` for both.
*/
Expand Down Expand Up @@ -34,6 +40,10 @@ export class RecommendationsFilterRequestDataAttributes {
* @ignore
*/
static readonly attributeTypeMap: AttributeTypeMap = {
filter: {
baseName: "filter",
type: "string",
},
scope: {
baseName: "scope",
type: "RecommendationsFilterRequestScope",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { AttributeTypeMap } from "@datadog/datadog-api-client";
*/
export class RecommendationsFilterRequestSortItems {
/**
* Field to sort by (for example, `potential_daily_savings.amount`).
* Field to sort by (for example, `@potential_daily_savings`).
*/
"expression"?: string;
/**
Expand Down
Loading