Skip to content

Commit 4eec631

Browse files
author
ci.datadog-api-spec
committed
Regenerate client from commit e4f653f of spec repo
1 parent 4d673a0 commit 4eec631

File tree

13 files changed

+365
-8
lines changed

13 files changed

+365
-8
lines changed

.generated-info

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
2-
"spec_repo_commit": "d51e9a8",
3-
"generated": "2025-07-25 13:23:07.308"
2+
"spec_repo_commit": "e4f653f",
3+
"generated": "2025-07-25 14:07:18.059"
44
}

.generator/schemas/v2/openapi.yaml

Lines changed: 56 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12478,7 +12478,14 @@ components:
1247812478
- type
1247912479
type: object
1248012480
Dataset:
12481-
description: Dataset object.
12481+
description: "Dataset object.\n\n### Datasets Constraints\n- **Tag Limit per
12482+
Dataset**:\n - Each restricted dataset supports a maximum of 10 key:value
12483+
pairs per product.\n\n- **Tag Key Rules per Telemetry Type**:\n - Only one
12484+
tag key or attribute may be used to define access within a single telemetry
12485+
type.\n - The same or different tag key may be used across different telemetry
12486+
types.\n\n- **Tag Value Uniqueness**:\n - Tag values must be unique within
12487+
a single dataset.\n - A tag value used in one dataset cannot be reused in
12488+
another dataset of the same telemetry type."
1248212489
properties:
1248312490
attributes:
1248412491
$ref: '#/components/schemas/DatasetAttributes'
@@ -12556,6 +12563,14 @@ components:
1255612563
required:
1255712564
- data
1255812565
type: object
12566+
DatasetUpdateRequest:
12567+
description: Edit request for a dataset.
12568+
properties:
12569+
data:
12570+
$ref: '#/components/schemas/Dataset'
12571+
required:
12572+
- data
12573+
type: object
1255912574
Date:
1256012575
description: Date as Unix timestamp in milliseconds.
1256112576
example: 1722439510282
@@ -16083,10 +16098,9 @@ components:
1608316098
type: array
1608416099
product:
1608516100
description: 'Name of the product the dataset is for. Possible values are
16086-
''apm'', ''rum'', ''synthetics'',
16101+
''apm'', ''rum'',
1608716102

16088-
''metrics'', ''logs'', ''sd_repoinfo'', ''error_tracking'', ''cloud_cost'',
16089-
and ''ml_obs''.'
16103+
''metrics'', ''logs'', ''error_tracking'', and ''cloud_cost''.'
1609016104
example: logs
1609116105
type: string
1609216106
required:
@@ -48282,6 +48296,44 @@ paths:
4828248296
x-permission:
4828348297
operator: OPEN
4828448298
permissions: []
48299+
put:
48300+
description: Edits the dataset associated with the ID.
48301+
operationId: UpdateDataset
48302+
parameters:
48303+
- $ref: '#/components/parameters/DatasetID'
48304+
requestBody:
48305+
content:
48306+
application/json:
48307+
schema:
48308+
$ref: '#/components/schemas/DatasetUpdateRequest'
48309+
description: Dataset payload
48310+
required: true
48311+
responses:
48312+
'200':
48313+
content:
48314+
application/json:
48315+
schema:
48316+
$ref: '#/components/schemas/DatasetResponseSingle'
48317+
description: OK
48318+
'400':
48319+
$ref: '#/components/responses/BadRequestResponse'
48320+
'403':
48321+
$ref: '#/components/responses/NotAuthorizedResponse'
48322+
'404':
48323+
$ref: '#/components/responses/NotFoundResponse'
48324+
'429':
48325+
$ref: '#/components/responses/TooManyRequestsResponse'
48326+
security:
48327+
- apiKeyAuth: []
48328+
appKeyAuth: []
48329+
- AuthZ: []
48330+
summary: Edit a dataset
48331+
tags:
48332+
- Datasets
48333+
x-codegen-request-body-name: body
48334+
x-permission:
48335+
operator: OPEN
48336+
permissions: []
4828548337
/api/v2/deletion/data/{product}:
4828648338
post:
4828748339
description: Creates a data deletion request by providing a query and a timeframe
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Edit a dataset returns "OK" response
2+
3+
require "datadog_api_client"
4+
api_instance = DatadogAPIClient::V2::DatasetsAPI.new
5+
6+
body = DatadogAPIClient::V2::DatasetUpdateRequest.new({
7+
data: DatadogAPIClient::V2::Dataset.new({
8+
attributes: DatadogAPIClient::V2::DatasetAttributes.new({
9+
created_at: nil,
10+
name: "Security Audit Dataset",
11+
principals: [
12+
"role:86245fce-0a4e-11f0-92bd-da7ad0900002",
13+
],
14+
product_filters: [
15+
DatadogAPIClient::V2::FiltersPerProduct.new({
16+
filters: [
17+
"@application.id:ABCD",
18+
],
19+
product: "logs",
20+
}),
21+
],
22+
}),
23+
id: "123e4567-e89b-12d3-a456-426614174000",
24+
type: "dataset",
25+
}),
26+
})
27+
p api_instance.update_dataset("dataset_id", body)

features/scenarios_model_mapping.rb

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1598,6 +1598,10 @@
15981598
"v2.GetDataset" => {
15991599
"dataset_id" => "String",
16001600
},
1601+
"v2.UpdateDataset" => {
1602+
"dataset_id" => "String",
1603+
"body" => "DatasetUpdateRequest",
1604+
},
16011605
"v2.CreateDataDeletionRequest" => {
16021606
"product" => "String",
16031607
"body" => "CreateDataDeletionRequestBody",

features/v2/datasets.feature

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,30 @@ Feature: Datasets
5353
When the request is sent
5454
Then the response status is 404 Not Found
5555

56+
@generated @skip @team:DataDog/aaa-granular-access
57+
Scenario: Edit a dataset returns "Bad Request" response
58+
Given new "UpdateDataset" request
59+
And request contains "dataset_id" parameter from "REPLACE.ME"
60+
And body with value {"data": {"attributes": {"created_at": null, "name": "Security Audit Dataset", "principals": ["role:86245fce-0a4e-11f0-92bd-da7ad0900002"], "product_filters": [{"filters": ["@application.id:ABCD"], "product": "logs"}]}, "id": "123e4567-e89b-12d3-a456-426614174000", "type": "dataset"}}
61+
When the request is sent
62+
Then the response status is 400 Bad Request
63+
64+
@generated @skip @team:DataDog/aaa-granular-access
65+
Scenario: Edit a dataset returns "Not Found" response
66+
Given new "UpdateDataset" request
67+
And request contains "dataset_id" parameter from "REPLACE.ME"
68+
And body with value {"data": {"attributes": {"created_at": null, "name": "Security Audit Dataset", "principals": ["role:86245fce-0a4e-11f0-92bd-da7ad0900002"], "product_filters": [{"filters": ["@application.id:ABCD"], "product": "logs"}]}, "id": "123e4567-e89b-12d3-a456-426614174000", "type": "dataset"}}
69+
When the request is sent
70+
Then the response status is 404 Not Found
71+
72+
@generated @skip @team:DataDog/aaa-granular-access
73+
Scenario: Edit a dataset returns "OK" response
74+
Given new "UpdateDataset" request
75+
And request contains "dataset_id" parameter from "REPLACE.ME"
76+
And body with value {"data": {"attributes": {"created_at": null, "name": "Security Audit Dataset", "principals": ["role:86245fce-0a4e-11f0-92bd-da7ad0900002"], "product_filters": [{"filters": ["@application.id:ABCD"], "product": "logs"}]}, "id": "123e4567-e89b-12d3-a456-426614174000", "type": "dataset"}}
77+
When the request is sent
78+
Then the response status is 200 OK
79+
5680
@generated @skip @team:DataDog/aaa-granular-access
5781
Scenario: Get a single dataset by ID returns "Bad Request" response
5882
Given new "GetDataset" request

features/v2/undo.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -888,6 +888,12 @@
888888
"type": "safe"
889889
}
890890
},
891+
"UpdateDataset": {
892+
"tag": "Datasets",
893+
"undo": {
894+
"type": "idempotent"
895+
}
896+
},
891897
"CreateDataDeletionRequest": {
892898
"tag": "Data Deletion",
893899
"undo": {

lib/datadog_api_client/inflector.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1623,6 +1623,7 @@ def overrides
16231623
"v2.dataset_create_request" => "DatasetCreateRequest",
16241624
"v2.dataset_response_multi" => "DatasetResponseMulti",
16251625
"v2.dataset_response_single" => "DatasetResponseSingle",
1626+
"v2.dataset_update_request" => "DatasetUpdateRequest",
16261627
"v2.data_transform" => "DataTransform",
16271628
"v2.data_transform_properties" => "DataTransformProperties",
16281629
"v2.data_transform_type" => "DataTransformType",

lib/datadog_api_client/v2/api/datasets_api.rb

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,5 +279,77 @@ def get_dataset_with_http_info(dataset_id, opts = {})
279279
end
280280
return data, status_code, headers
281281
end
282+
283+
# Edit a dataset.
284+
#
285+
# @see #update_dataset_with_http_info
286+
def update_dataset(dataset_id, body, opts = {})
287+
data, _status_code, _headers = update_dataset_with_http_info(dataset_id, body, opts)
288+
data
289+
end
290+
291+
# Edit a dataset.
292+
#
293+
# Edits the dataset associated with the ID.
294+
#
295+
# @param dataset_id [String] The ID of a defined dataset.
296+
# @param body [DatasetUpdateRequest] Dataset payload
297+
# @param opts [Hash] the optional parameters
298+
# @return [Array<(DatasetResponseSingle, Integer, Hash)>] DatasetResponseSingle data, response status code and response headers
299+
def update_dataset_with_http_info(dataset_id, body, opts = {})
300+
301+
if @api_client.config.debugging
302+
@api_client.config.logger.debug 'Calling API: DatasetsAPI.update_dataset ...'
303+
end
304+
# verify the required parameter 'dataset_id' is set
305+
if @api_client.config.client_side_validation && dataset_id.nil?
306+
fail ArgumentError, "Missing the required parameter 'dataset_id' when calling DatasetsAPI.update_dataset"
307+
end
308+
# verify the required parameter 'body' is set
309+
if @api_client.config.client_side_validation && body.nil?
310+
fail ArgumentError, "Missing the required parameter 'body' when calling DatasetsAPI.update_dataset"
311+
end
312+
# resource path
313+
local_var_path = '/api/v2/datasets/{dataset_id}'.sub('{dataset_id}', CGI.escape(dataset_id.to_s).gsub('%2F', '/'))
314+
315+
# query parameters
316+
query_params = opts[:query_params] || {}
317+
318+
# header parameters
319+
header_params = opts[:header_params] || {}
320+
# HTTP header 'Accept' (if needed)
321+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
322+
# HTTP header 'Content-Type'
323+
header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
324+
325+
# form parameters
326+
form_params = opts[:form_params] || {}
327+
328+
# http body (model)
329+
post_body = opts[:debug_body] || @api_client.object_to_http_body(body)
330+
331+
# return_type
332+
return_type = opts[:debug_return_type] || 'DatasetResponseSingle'
333+
334+
# auth_names
335+
auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
336+
337+
new_options = opts.merge(
338+
:operation => :update_dataset,
339+
:header_params => header_params,
340+
:query_params => query_params,
341+
:form_params => form_params,
342+
:body => post_body,
343+
:auth_names => auth_names,
344+
:return_type => return_type,
345+
:api_version => "V2"
346+
)
347+
348+
data, status_code, headers = @api_client.call_api(Net::HTTP::Put, local_var_path, new_options)
349+
if @api_client.config.debugging
350+
@api_client.config.logger.debug "API called: DatasetsAPI#update_dataset\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
351+
end
352+
return data, status_code, headers
353+
end
282354
end
283355
end

lib/datadog_api_client/v2/models/dataset.rb

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,18 @@
1818

1919
module DatadogAPIClient::V2
2020
# Dataset object.
21+
#
22+
# ### Datasets Constraints
23+
# - **Tag Limit per Dataset**:
24+
# - Each restricted dataset supports a maximum of 10 key:value pairs per product.
25+
#
26+
# - **Tag Key Rules per Telemetry Type**:
27+
# - Only one tag key or attribute may be used to define access within a single telemetry type.
28+
# - The same or different tag key may be used across different telemetry types.
29+
#
30+
# - **Tag Value Uniqueness**:
31+
# - Tag values must be unique within a single dataset.
32+
# - A tag value used in one dataset cannot be reused in another dataset of the same telemetry type.
2133
class Dataset
2234
include BaseGenericModel
2335

lib/datadog_api_client/v2/models/dataset_create_request.rb

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,18 @@ class DatasetCreateRequest
2222
include BaseGenericModel
2323

2424
# Dataset object.
25+
#
26+
# ### Datasets Constraints
27+
# - **Tag Limit per Dataset**:
28+
# - Each restricted dataset supports a maximum of 10 key:value pairs per product.
29+
#
30+
# - **Tag Key Rules per Telemetry Type**:
31+
# - Only one tag key or attribute may be used to define access within a single telemetry type.
32+
# - The same or different tag key may be used across different telemetry types.
33+
#
34+
# - **Tag Value Uniqueness**:
35+
# - Tag values must be unique within a single dataset.
36+
# - A tag value used in one dataset cannot be reused in another dataset of the same telemetry type.
2537
attr_reader :data
2638

2739
attr_accessor :additional_properties

0 commit comments

Comments
 (0)