Skip to content

Commit 7214d9f

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
andauthored
Split Dataset into separate request and response objects, mark unstable (#3032)
Co-authored-by: ci.datadog-api-spec <[email protected]>
1 parent 8902a6d commit 7214d9f

File tree

42 files changed

+1418
-243
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+1418
-243
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": "ab8171f",
3-
"generated": "2025-07-31 17:35:11.690"
2+
"spec_repo_commit": "672a533",
3+
"generated": "2025-07-31 18:09:11.566"
44
}

.generator/schemas/v2/openapi.yaml

Lines changed: 84 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -13145,31 +13145,33 @@ components:
1314513145
required:
1314613146
- type
1314713147
type: object
13148-
Dataset:
13149-
description: "Dataset object.\n\n### Datasets Constraints\n- **Tag Limit per
13150-
Dataset**:\n - Each restricted dataset supports a maximum of 10 key:value
13151-
pairs per product.\n\n- **Tag Key Rules per Telemetry Type**:\n - Only one
13152-
tag key or attribute may be used to define access within a single telemetry
13153-
type.\n - The same or different tag key may be used across different telemetry
13154-
types.\n\n- **Tag Value Uniqueness**:\n - Tag values must be unique within
13155-
a single dataset.\n - A tag value used in one dataset cannot be reused in
13156-
another dataset of the same telemetry type."
13148+
DatasetAttributesRequest:
13149+
description: Dataset metadata and configurations.
1315713150
properties:
13158-
attributes:
13159-
$ref: '#/components/schemas/DatasetAttributes'
13160-
id:
13161-
description: Unique identifier for the dataset.
13162-
example: 123e4567-e89b-12d3-a456-426614174000
13163-
type: string
13164-
type:
13165-
description: Resource type, always "dataset".
13166-
example: dataset
13151+
name:
13152+
description: Name of the dataset.
13153+
example: Security Audit Dataset
1316713154
type: string
13155+
principals:
13156+
description: List of access principals, formatted as `principal_type:id`.
13157+
Principal can be 'team' or 'role'.
13158+
example:
13159+
- role:94172442-be03-11e9-a77a-3b7612558ac1
13160+
items:
13161+
example: role:94172442-be03-11e9-a77a-3b7612558ac1
13162+
type: string
13163+
type: array
13164+
product_filters:
13165+
description: List of product-specific filters.
13166+
items:
13167+
$ref: '#/components/schemas/FiltersPerProduct'
13168+
type: array
1316813169
required:
13169-
- type
13170-
- attributes
13170+
- name
13171+
- product_filters
13172+
- principals
1317113173
type: object
13172-
DatasetAttributes:
13174+
DatasetAttributesResponse:
1317313175
description: Dataset metadata and configuration(s).
1317413176
properties:
1317513177
created_at:
@@ -13199,43 +13201,76 @@ components:
1319913201
items:
1320013202
$ref: '#/components/schemas/FiltersPerProduct'
1320113203
type: array
13202-
required:
13203-
- name
13204-
- product_filters
13205-
- principals
1320613204
type: object
1320713205
DatasetCreateRequest:
1320813206
description: Create request for a dataset.
1320913207
properties:
1321013208
data:
13211-
$ref: '#/components/schemas/Dataset'
13209+
$ref: '#/components/schemas/DatasetRequest'
1321213210
required:
1321313211
- data
1321413212
type: object
13213+
DatasetRequest:
13214+
description: "**Datasets Object Constraints**\n- **Tag limit per dataset**:\n
13215+
\ - Each restricted dataset supports a maximum of 10 key:value pairs per product.\n\n-
13216+
**Tag key rules per telemetry type**:\n - Only one tag key or attribute may
13217+
be used to define access within a single telemetry type.\n - The same or
13218+
different tag key may be used across different telemetry types.\n\n- **Tag
13219+
value uniqueness**:\n - Tag values must be unique within a single dataset.\n
13220+
\ - A tag value used in one dataset cannot be reused in another dataset of
13221+
the same telemetry type."
13222+
properties:
13223+
attributes:
13224+
$ref: '#/components/schemas/DatasetAttributesRequest'
13225+
type:
13226+
description: Resource type, always "dataset".
13227+
example: dataset
13228+
type: string
13229+
required:
13230+
- type
13231+
- attributes
13232+
type: object
13233+
DatasetResponse:
13234+
description: "**Datasets Object Constraints**\n- **Tag Limit per Dataset**:\n
13235+
\ - Each restricted dataset supports a maximum of 10 key:value pairs per product.\n\n-
13236+
**Tag Key Rules per Telemetry Type**:\n - Only one tag key or attribute may
13237+
be used to define access within a single telemetry type.\n - The same or
13238+
different tag key may be used across different telemetry types.\n\n- **Tag
13239+
Value Uniqueness**:\n - Tag values must be unique within a single dataset.\n
13240+
\ - A tag value used in one dataset cannot be reused in another dataset of
13241+
the same telemetry type."
13242+
properties:
13243+
attributes:
13244+
$ref: '#/components/schemas/DatasetAttributesResponse'
13245+
id:
13246+
description: Unique identifier for the dataset.
13247+
example: 123e4567-e89b-12d3-a456-426614174000
13248+
type: string
13249+
type:
13250+
description: Resource type, always "dataset".
13251+
example: dataset
13252+
type: string
13253+
type: object
1321513254
DatasetResponseMulti:
1321613255
description: Response containing a list of datasets.
1321713256
properties:
1321813257
data:
1321913258
description: The list of datasets returned in response.
1322013259
items:
13221-
$ref: '#/components/schemas/Dataset'
13260+
$ref: '#/components/schemas/DatasetResponse'
1322213261
type: array
13223-
required:
13224-
- data
1322513262
type: object
1322613263
DatasetResponseSingle:
1322713264
description: Response containing a single dataset object.
1322813265
properties:
1322913266
data:
13230-
$ref: '#/components/schemas/Dataset'
13231-
required:
13232-
- data
13267+
$ref: '#/components/schemas/DatasetResponse'
1323313268
type: object
1323413269
DatasetUpdateRequest:
1323513270
description: Edit request for a dataset.
1323613271
properties:
1323713272
data:
13238-
$ref: '#/components/schemas/Dataset'
13273+
$ref: '#/components/schemas/DatasetRequest'
1323913274
required:
1324013275
- data
1324113276
type: object
@@ -49913,6 +49948,9 @@ paths:
4991349948
operator: OR
4991449949
permissions:
4991549950
- user_access_read
49951+
x-unstable: '**Note: Data Access is in preview. If you have any feedback,
49952+
49953+
contact [Datadog support](https://docs.datadoghq.com/help/).**'
4991649954
post:
4991749955
description: Create a dataset with the configurations in the request.
4991849956
operationId: CreateDataset
@@ -49924,7 +49962,7 @@ paths:
4992449962
attributes:
4992549963
name: Test RUM Dataset
4992649964
principals:
49927-
- role:23bacb30-1c59-11f0-a596-da7ad0900002
49965+
- role:94172442-be03-11e9-a77a-3b7612558ac1
4992849966
product_filters:
4992949967
- filters:
4993049968
- '@application.id:application_123'
@@ -49962,6 +50000,9 @@ paths:
4996250000
operator: OR
4996350001
permissions:
4996450002
- user_access_manage
50003+
x-unstable: '**Note: Data Access is in preview. If you have any feedback,
50004+
50005+
contact [Datadog support](https://docs.datadoghq.com/help/).**'
4996550006
/api/v2/datasets/{dataset_id}:
4996650007
delete:
4996750008
description: Deletes the dataset associated with the ID.
@@ -49989,6 +50030,9 @@ paths:
4998950030
x-permission:
4999050031
operator: OPEN
4999150032
permissions: []
50033+
x-unstable: '**Note: Data Access is in preview. If you have any feedback,
50034+
50035+
contact [Datadog support](https://docs.datadoghq.com/help/).**'
4999250036
get:
4999350037
description: Retrieves the dataset associated with the ID.
4999450038
operationId: GetDataset
@@ -50019,6 +50063,9 @@ paths:
5001950063
x-permission:
5002050064
operator: OPEN
5002150065
permissions: []
50066+
x-unstable: '**Note: Data Access is in preview. If you have any feedback,
50067+
50068+
contact [Datadog support](https://docs.datadoghq.com/help/).**'
5002250069
put:
5002350070
description: Edits the dataset associated with the ID.
5002450071
operationId: UpdateDataset
@@ -50057,6 +50104,9 @@ paths:
5005750104
x-permission:
5005850105
operator: OPEN
5005950106
permissions: []
50107+
x-unstable: '**Note: Data Access is in preview. If you have any feedback,
50108+
50109+
contact [Datadog support](https://docs.datadoghq.com/help/).**'
5006050110
/api/v2/deletion/data/{product}:
5006150111
post:
5006250112
description: Creates a data deletion request by providing a query and a timeframe

examples/v2/datasets/CreateDataset.java

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,35 +3,34 @@
33
import com.datadog.api.client.ApiClient;
44
import com.datadog.api.client.ApiException;
55
import com.datadog.api.client.v2.api.DatasetsApi;
6-
import com.datadog.api.client.v2.model.Dataset;
7-
import com.datadog.api.client.v2.model.DatasetAttributes;
6+
import com.datadog.api.client.v2.model.DatasetAttributesRequest;
87
import com.datadog.api.client.v2.model.DatasetCreateRequest;
8+
import com.datadog.api.client.v2.model.DatasetRequest;
99
import com.datadog.api.client.v2.model.DatasetResponseSingle;
1010
import com.datadog.api.client.v2.model.FiltersPerProduct;
1111
import java.util.Collections;
1212

1313
public class Example {
1414
public static void main(String[] args) {
1515
ApiClient defaultClient = ApiClient.getDefaultApiClient();
16+
defaultClient.setUnstableOperationEnabled("v2.createDataset", true);
1617
DatasetsApi apiInstance = new DatasetsApi(defaultClient);
1718

1819
DatasetCreateRequest body =
1920
new DatasetCreateRequest()
2021
.data(
21-
new Dataset()
22+
new DatasetRequest()
2223
.attributes(
23-
new DatasetAttributes()
24-
.createdAt(null)
24+
new DatasetAttributesRequest()
2525
.name("Security Audit Dataset")
2626
.principals(
2727
Collections.singletonList(
28-
"role:86245fce-0a4e-11f0-92bd-da7ad0900002"))
28+
"role:94172442-be03-11e9-a77a-3b7612558ac1"))
2929
.productFilters(
3030
Collections.singletonList(
3131
new FiltersPerProduct()
3232
.filters(Collections.singletonList("@application.id:ABCD"))
33-
.product("logs"))))
34-
.id("123e4567-e89b-12d3-a456-426614174000")
33+
.product("metrics"))))
3534
.type("dataset"));
3635

3736
try {

examples/v2/datasets/DeleteDataset.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,14 @@
77
public class Example {
88
public static void main(String[] args) {
99
ApiClient defaultClient = ApiClient.getDefaultApiClient();
10+
defaultClient.setUnstableOperationEnabled("v2.deleteDataset", true);
1011
DatasetsApi apiInstance = new DatasetsApi(defaultClient);
1112

13+
// there is a valid "dataset" in the system
14+
String DATASET_DATA_ID = System.getenv("DATASET_DATA_ID");
15+
1216
try {
13-
apiInstance.deleteDataset("dataset_id");
17+
apiInstance.deleteDataset(DATASET_DATA_ID);
1418
} catch (ApiException e) {
1519
System.err.println("Exception when calling DatasetsApi#deleteDataset");
1620
System.err.println("Status code: " + e.getCode());

examples/v2/datasets/GetAllDatasets.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
public class Example {
99
public static void main(String[] args) {
1010
ApiClient defaultClient = ApiClient.getDefaultApiClient();
11+
defaultClient.setUnstableOperationEnabled("v2.getAllDatasets", true);
1112
DatasetsApi apiInstance = new DatasetsApi(defaultClient);
1213

1314
try {

examples/v2/datasets/GetDataset.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,14 @@
88
public class Example {
99
public static void main(String[] args) {
1010
ApiClient defaultClient = ApiClient.getDefaultApiClient();
11+
defaultClient.setUnstableOperationEnabled("v2.getDataset", true);
1112
DatasetsApi apiInstance = new DatasetsApi(defaultClient);
1213

14+
// there is a valid "dataset" in the system
15+
String DATASET_DATA_ID = System.getenv("DATASET_DATA_ID");
16+
1317
try {
14-
DatasetResponseSingle result = apiInstance.getDataset("dataset_id");
18+
DatasetResponseSingle result = apiInstance.getDataset(DATASET_DATA_ID);
1519
System.out.println(result);
1620
} catch (ApiException e) {
1721
System.err.println("Exception when calling DatasetsApi#getDataset");

examples/v2/datasets/UpdateDataset.java

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
import com.datadog.api.client.ApiClient;
44
import com.datadog.api.client.ApiException;
55
import com.datadog.api.client.v2.api.DatasetsApi;
6-
import com.datadog.api.client.v2.model.Dataset;
7-
import com.datadog.api.client.v2.model.DatasetAttributes;
6+
import com.datadog.api.client.v2.model.DatasetAttributesRequest;
7+
import com.datadog.api.client.v2.model.DatasetRequest;
88
import com.datadog.api.client.v2.model.DatasetResponseSingle;
99
import com.datadog.api.client.v2.model.DatasetUpdateRequest;
1010
import com.datadog.api.client.v2.model.FiltersPerProduct;
@@ -13,29 +13,31 @@
1313
public class Example {
1414
public static void main(String[] args) {
1515
ApiClient defaultClient = ApiClient.getDefaultApiClient();
16+
defaultClient.setUnstableOperationEnabled("v2.updateDataset", true);
1617
DatasetsApi apiInstance = new DatasetsApi(defaultClient);
1718

19+
// there is a valid "dataset" in the system
20+
String DATASET_DATA_ID = System.getenv("DATASET_DATA_ID");
21+
1822
DatasetUpdateRequest body =
1923
new DatasetUpdateRequest()
2024
.data(
21-
new Dataset()
25+
new DatasetRequest()
2226
.attributes(
23-
new DatasetAttributes()
24-
.createdAt(null)
27+
new DatasetAttributesRequest()
2528
.name("Security Audit Dataset")
2629
.principals(
2730
Collections.singletonList(
28-
"role:86245fce-0a4e-11f0-92bd-da7ad0900002"))
31+
"role:94172442-be03-11e9-a77a-3b7612558ac1"))
2932
.productFilters(
3033
Collections.singletonList(
3134
new FiltersPerProduct()
32-
.filters(Collections.singletonList("@application.id:ABCD"))
33-
.product("logs"))))
34-
.id("123e4567-e89b-12d3-a456-426614174000")
35+
.filters(Collections.singletonList("@application.id:1234"))
36+
.product("metrics"))))
3537
.type("dataset"));
3638

3739
try {
38-
DatasetResponseSingle result = apiInstance.updateDataset("dataset_id", body);
40+
DatasetResponseSingle result = apiInstance.updateDataset(DATASET_DATA_ID, body);
3941
System.out.println(result);
4042
} catch (ApiException e) {
4143
System.err.println("Exception when calling DatasetsApi#updateDataset");

src/main/java/com/datadog/api/client/ApiClient.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -706,6 +706,11 @@ public class ApiClient {
706706
put("v2.listVulnerableAssets", false);
707707
put("v2.muteFindings", false);
708708
put("v2.runHistoricalJob", false);
709+
put("v2.createDataset", false);
710+
put("v2.deleteDataset", false);
711+
put("v2.getAllDatasets", false);
712+
put("v2.getDataset", false);
713+
put("v2.updateDataset", false);
709714
put("v2.cancelDataDeletionRequest", false);
710715
put("v2.createDataDeletionRequest", false);
711716
put("v2.getDataDeletionRequests", false);

0 commit comments

Comments
 (0)