From 2e918aefe5c9e851bb1a24015dade8a75e7a7b4f Mon Sep 17 00:00:00 2001 From: "ci.datadog-api-spec" Date: Thu, 22 Oct 2026 20:35:54 +0000 Subject: [PATCH] Regenerate client from commit 50be271 of spec repo --- .generator/schemas/v2/openapi.yaml | 9 +++++ examples/v2/users/ListUsers_850007038.rb | 14 ++++++++ features/scenarios_model_mapping.rb | 1 + features/v2/users.feature | 10 ++++++ generated-test/test-runner-data/manifest.json | 7 ++++ ...iltered-by-handle-returns-ok-response.json | 35 +++++++++++++++++++ lib/datadog_api_client/v2/api/users_api.rb | 2 ++ 7 files changed, 78 insertions(+) create mode 100644 examples/v2/users/ListUsers_850007038.rb create mode 100644 generated-test/test-runner-data/v2/users/list-all-users-filtered-by-handle-returns-ok-response.json diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index c680cd9d1d49..638dad74895e 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -249124,6 +249124,15 @@ paths: schema: example: Active type: string + - description: |- + Filter on the exact user handle. This filter also returns Datadog-managed users, + which the list otherwise excludes. Defaults to no filtering. + in: query + name: filter[handle] + required: false + schema: + example: example-handle + type: string responses: "200": content: diff --git a/examples/v2/users/ListUsers_850007038.rb b/examples/v2/users/ListUsers_850007038.rb new file mode 100644 index 000000000000..e3d12e73273b --- /dev/null +++ b/examples/v2/users/ListUsers_850007038.rb @@ -0,0 +1,14 @@ +# List all users filtered by handle returns "OK" response + +require "datadog_api_client" +DatadogAPIClient.configure do |config| + config.access_token = ENV["DD_BEARER_TOKEN"] +end +api_instance = DatadogAPIClient::V2::UsersAPI.new + +# there is a valid "user" in the system +USER_DATA_ATTRIBUTES_HANDLE = ENV["USER_DATA_ATTRIBUTES_HANDLE"] +opts = { + filter_handle: USER_DATA_ATTRIBUTES_HANDLE, +} +p api_instance.list_users(opts) diff --git a/features/scenarios_model_mapping.rb b/features/scenarios_model_mapping.rb index 6a88fc4a5840..31f449ba0623 100644 --- a/features/scenarios_model_mapping.rb +++ b/features/scenarios_model_mapping.rb @@ -1417,6 +1417,7 @@ "sort_dir" => "QuerySortOrder", "filter" => "String", "filter_status" => "String", + "filter_handle" => "String", }, "v2.CreateUser" => { "body" => "UserCreateRequest", diff --git a/features/v2/users.feature b/features/v2/users.feature index 2a6c59fa1304..4281f26fd755 100644 --- a/features/v2/users.feature +++ b/features/v2/users.feature @@ -156,6 +156,16 @@ Feature: Users And the response "data.type" is equal to "users" And the response "data.attributes.handle" is equal to "{{ unique_lower }}@datadoghq.com" + @team:ddoghq/org-management + Scenario: List all users filtered by handle returns "OK" response + Given there is a valid "user" in the system + And new "ListUsers" request + And request contains "filter[handle]" parameter from "user.data.attributes.handle" + When the request is sent + Then the response status is 200 OK + And the response "meta.page.total_filtered_count" is equal to 1 + And the response "data[0].id" has the same value as "user.data.id" + @generated @skip @team:ddoghq/org-management Scenario: List all users returns "Bad Request" response Given new "ListUsers" request diff --git a/generated-test/test-runner-data/manifest.json b/generated-test/test-runner-data/manifest.json index 902649b88af8..7e70c952bb79 100644 --- a/generated-test/test-runner-data/manifest.json +++ b/generated-test/test-runner-data/manifest.json @@ -12614,6 +12614,13 @@ "scenario": "Get user details returns \"OK\" response", "version": "v2" }, + { + "feature": "Users", + "feature_file": "../../features/v2/users.feature", + "file": "v2/users/list-all-users-filtered-by-handle-returns-ok-response.json", + "scenario": "List all users filtered by handle returns \"OK\" response", + "version": "v2" + }, { "feature": "Users", "feature_file": "../../features/v2/users.feature", diff --git a/generated-test/test-runner-data/v2/users/list-all-users-filtered-by-handle-returns-ok-response.json b/generated-test/test-runner-data/v2/users/list-all-users-filtered-by-handle-returns-ok-response.json new file mode 100644 index 000000000000..2bb3eb28cdd6 --- /dev/null +++ b/generated-test/test-runner-data/v2/users/list-all-users-filtered-by-handle-returns-ok-response.json @@ -0,0 +1,35 @@ +{ + "api": "Users", + "expected_status": 200, + "feature": "Users", + "id": "v2/Users/List all users filtered by handle returns \"OK\" response", + "operation_id": "ListUsers", + "request": { + "body": null, + "content_type": null, + "method": "GET", + "pagination": false, + "parameters": [ + { + "explode": null, + "in": "query", + "name": "filter[handle]", + "required": false, + "schema": { + "format": null, + "ref": null, + "type": "string" + }, + "source": { + "path": "user.data.attributes.handle", + "type": "fixture" + }, + "style": null + } + ], + "path": "/api/v2/users" + }, + "scenario": "List all users filtered by handle returns \"OK\" response", + "schema_version": 1, + "version": "v2" +} diff --git a/lib/datadog_api_client/v2/api/users_api.rb b/lib/datadog_api_client/v2/api/users_api.rb index 3bf8206fef27..bbbb8897d879 100644 --- a/lib/datadog_api_client/v2/api/users_api.rb +++ b/lib/datadog_api_client/v2/api/users_api.rb @@ -708,6 +708,7 @@ def list_users(opts = {}) # @option opts [QuerySortOrder] :sort_dir Direction of sort. Options: `asc`, `desc`. # @option opts [String] :filter Filter all users by the given string. Defaults to no filtering. # @option opts [String] :filter_status Filter on status attribute. Comma separated list, with possible values `Active`, `Pending`, and `Disabled`. Defaults to no filtering. + # @option opts [String] :filter_handle Filter on the exact user handle. This filter also returns Datadog-managed users, which the list otherwise excludes. Defaults to no filtering. # @return [Array<(UsersResponse, Integer, Hash)>] UsersResponse data, response status code and response headers def list_users_with_http_info(opts = {}) @@ -729,6 +730,7 @@ def list_users_with_http_info(opts = {}) query_params[:'sort_dir'] = opts[:'sort_dir'] if !opts[:'sort_dir'].nil? query_params[:'filter'] = opts[:'filter'] if !opts[:'filter'].nil? query_params[:'filter[status]'] = opts[:'filter_status'] if !opts[:'filter_status'].nil? + query_params[:'filter[handle]'] = opts[:'filter_handle'] if !opts[:'filter_handle'].nil? # header parameters header_params = opts[:header_params] || {}