diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml
index ea8f0cd3e16..f81a6b9a642 100644
--- a/.generator/schemas/v2/openapi.yaml
+++ b/.generator/schemas/v2/openapi.yaml
@@ -19695,7 +19695,7 @@ components:
properties:
name:
description: Name of the dataset.
- example: "Security Audit Dataset"
+ example: "Security Audit DAC"
type: string
principals:
description: |-
@@ -19731,7 +19731,7 @@ components:
type: string
name:
description: Name of the dataset.
- example: "Security Audit Dataset"
+ example: "Security Audit DAC"
type: string
principals:
description: |-
@@ -81697,16 +81697,13 @@ paths:
appKeyAuth: []
- AuthZ:
- user_access_read
- summary: Get all datasets
+ summary: Get all Data Access Control datasets
tags:
- - Datasets
+ - Data Access Controls
"x-permission":
operator: OR
permissions:
- user_access_read
- x-unstable: |-
- **Note: Data Access is in preview. If you have any feedback,
- contact [Datadog support](https://docs.datadoghq.com/help/).**
post:
description: |-
Create a dataset with the configurations in the request.
@@ -81749,17 +81746,14 @@ paths:
appKeyAuth: []
- AuthZ:
- user_access_manage
- summary: Create a dataset
+ summary: Create a Data Access Control dataset
tags:
- - Datasets
+ - Data Access Controls
x-codegen-request-body-name: body
x-permission:
operator: OR
permissions:
- user_access_manage
- x-unstable: |-
- **Note: Data Access is in preview. If you have any feedback,
- contact [Datadog support](https://docs.datadoghq.com/help/).**
/api/v2/datasets/{dataset_id}:
delete:
description: Deletes the dataset associated with the ID.
@@ -81782,16 +81776,13 @@ paths:
appKeyAuth: []
- AuthZ:
- user_access_manage
- summary: Delete a dataset
+ summary: Delete a Data Access Control dataset
tags:
- - Datasets
+ - Data Access Controls
"x-permission":
operator: OR
permissions:
- user_access_manage
- x-unstable: |-
- **Note: Data Access is in preview. If you have any feedback,
- contact [Datadog support](https://docs.datadoghq.com/help/).**
get:
description: Retrieves the dataset associated with the ID.
operationId: GetDataset
@@ -81817,15 +81808,12 @@ paths:
appKeyAuth: []
- AuthZ:
- user_access_read
- summary: Get a single dataset by ID
+ summary: Get a Data Access Control dataset by ID
tags:
- - Datasets
+ - Data Access Controls
"x-permission":
operator: OPEN
permissions: []
- x-unstable: |-
- **Note: Data Access is in preview. If you have any feedback,
- contact [Datadog support](https://docs.datadoghq.com/help/).**
put:
description: |-
Edits the dataset associated with the ID.
@@ -81859,17 +81847,14 @@ paths:
appKeyAuth: []
- AuthZ:
- user_access_manage
- summary: Edit a dataset
+ summary: Edit a Data Access Control dataset
tags:
- - Datasets
+ - Data Access Controls
x-codegen-request-body-name: body
"x-permission":
operator: OR
permissions:
- user_access_manage
- x-unstable: |-
- **Note: Data Access is in preview. If you have any feedback,
- contact [Datadog support](https://docs.datadoghq.com/help/).**
/api/v2/deletion/data/{product}:
post:
description: Creates a data deletion request by providing a query and a timeframe targeting the proper data.
@@ -111625,13 +111610,16 @@ tags:
organization.
name: Dashboard Lists
- description: |-
- The Data Deletion API allows the user to target and delete data from the allowed products. It's currently enabled for Logs and RUM and depends on `logs_delete_data` and `rum_delete_data` permissions respectively.
- name: Data Deletion
- - description: |-
- Data Access Controls in Datadog is a feature that allows administrators and access managers to regulate
+ Manage [Data Access Controls](https://docs.datadoghq.com/account_management/rbac/data_access/)
+ programmatically using Datasets.
+
+ Data Access Controls in Datadog allows administrators and access managers to regulate
access to sensitive data. By defining Restricted Datasets, you can ensure that only specific teams or roles can
view certain types of telemetry (for example, logs, traces, metrics, and RUM data).
- name: Datasets
+ name: Data Access Controls
+ - description: |-
+ The Data Deletion API allows the user to target and delete data from the allowed products. It's currently enabled for Logs and RUM and depends on `logs_delete_data` and `rum_delete_data` permissions respectively.
+ name: Data Deletion
- description: |-
Manage Deployment Gates using this API to reduce the likelihood and impact of incidents caused by deployments. See the [Deployment Gates documentation](https://docs.datadoghq.com/deployment_gates/) for more information.
name: Deployment Gates
diff --git a/examples/v2/datasets/CreateDataset.java b/examples/v2/data-access-controls/CreateDataset.java
similarity index 79%
rename from examples/v2/datasets/CreateDataset.java
rename to examples/v2/data-access-controls/CreateDataset.java
index 6bfa37c9296..6e47cb7e115 100644
--- a/examples/v2/datasets/CreateDataset.java
+++ b/examples/v2/data-access-controls/CreateDataset.java
@@ -1,8 +1,8 @@
-// Create a dataset returns "OK" response
+// Create a Data Access Control dataset returns "OK" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
-import com.datadog.api.client.v2.api.DatasetsApi;
+import com.datadog.api.client.v2.api.DataAccessControlsApi;
import com.datadog.api.client.v2.model.DatasetAttributesRequest;
import com.datadog.api.client.v2.model.DatasetCreateRequest;
import com.datadog.api.client.v2.model.DatasetRequest;
@@ -14,8 +14,7 @@
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
- defaultClient.setUnstableOperationEnabled("v2.createDataset", true);
- DatasetsApi apiInstance = new DatasetsApi(defaultClient);
+ DataAccessControlsApi apiInstance = new DataAccessControlsApi(defaultClient);
DatasetCreateRequest body =
new DatasetCreateRequest()
@@ -23,7 +22,7 @@ public static void main(String[] args) {
new DatasetRequest()
.attributes(
new DatasetAttributesRequest()
- .name("Security Audit Dataset")
+ .name("Security Audit DAC")
.principals(
Collections.singletonList(
"role:94172442-be03-11e9-a77a-3b7612558ac1"))
@@ -31,14 +30,14 @@ public static void main(String[] args) {
Collections.singletonList(
new FiltersPerProduct()
.filters(Collections.singletonList("@application.id:ABCD"))
- .product("metrics"))))
+ .product("logs"))))
.type(DatasetType.DATASET));
try {
DatasetResponseSingle result = apiInstance.createDataset(body);
System.out.println(result);
} catch (ApiException e) {
- System.err.println("Exception when calling DatasetsApi#createDataset");
+ System.err.println("Exception when calling DataAccessControlsApi#createDataset");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
diff --git a/examples/v2/datasets/DeleteDataset.java b/examples/v2/data-access-controls/DeleteDataset.java
similarity index 67%
rename from examples/v2/datasets/DeleteDataset.java
rename to examples/v2/data-access-controls/DeleteDataset.java
index db56c8cfadf..bebdcb1a6b4 100644
--- a/examples/v2/datasets/DeleteDataset.java
+++ b/examples/v2/data-access-controls/DeleteDataset.java
@@ -1,14 +1,13 @@
-// Delete a dataset returns "No Content" response
+// Delete a Data Access Control dataset returns "No Content" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
-import com.datadog.api.client.v2.api.DatasetsApi;
+import com.datadog.api.client.v2.api.DataAccessControlsApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
- defaultClient.setUnstableOperationEnabled("v2.deleteDataset", true);
- DatasetsApi apiInstance = new DatasetsApi(defaultClient);
+ DataAccessControlsApi apiInstance = new DataAccessControlsApi(defaultClient);
// there is a valid "dataset" in the system
String DATASET_DATA_ID = System.getenv("DATASET_DATA_ID");
@@ -16,7 +15,7 @@ public static void main(String[] args) {
try {
apiInstance.deleteDataset(DATASET_DATA_ID);
} catch (ApiException e) {
- System.err.println("Exception when calling DatasetsApi#deleteDataset");
+ System.err.println("Exception when calling DataAccessControlsApi#deleteDataset");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
diff --git a/examples/v2/datasets/GetAllDatasets.java b/examples/v2/data-access-controls/GetAllDatasets.java
similarity index 67%
rename from examples/v2/datasets/GetAllDatasets.java
rename to examples/v2/data-access-controls/GetAllDatasets.java
index 78b96f32548..a3776f1b15b 100644
--- a/examples/v2/datasets/GetAllDatasets.java
+++ b/examples/v2/data-access-controls/GetAllDatasets.java
@@ -1,21 +1,20 @@
-// Get all datasets returns "OK" response
+// Get all Data Access Control datasets returns "OK" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
-import com.datadog.api.client.v2.api.DatasetsApi;
+import com.datadog.api.client.v2.api.DataAccessControlsApi;
import com.datadog.api.client.v2.model.DatasetResponseMulti;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
- defaultClient.setUnstableOperationEnabled("v2.getAllDatasets", true);
- DatasetsApi apiInstance = new DatasetsApi(defaultClient);
+ DataAccessControlsApi apiInstance = new DataAccessControlsApi(defaultClient);
try {
DatasetResponseMulti result = apiInstance.getAllDatasets();
System.out.println(result);
} catch (ApiException e) {
- System.err.println("Exception when calling DatasetsApi#getAllDatasets");
+ System.err.println("Exception when calling DataAccessControlsApi#getAllDatasets");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
diff --git a/examples/v2/datasets/GetDataset.java b/examples/v2/data-access-controls/GetDataset.java
similarity index 71%
rename from examples/v2/datasets/GetDataset.java
rename to examples/v2/data-access-controls/GetDataset.java
index 5825ca87c28..9fe40cb88ac 100644
--- a/examples/v2/datasets/GetDataset.java
+++ b/examples/v2/data-access-controls/GetDataset.java
@@ -1,15 +1,14 @@
-// Get a single dataset by ID returns "OK" response
+// Get a Data Access Control dataset by ID returns "OK" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
-import com.datadog.api.client.v2.api.DatasetsApi;
+import com.datadog.api.client.v2.api.DataAccessControlsApi;
import com.datadog.api.client.v2.model.DatasetResponseSingle;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
- defaultClient.setUnstableOperationEnabled("v2.getDataset", true);
- DatasetsApi apiInstance = new DatasetsApi(defaultClient);
+ DataAccessControlsApi apiInstance = new DataAccessControlsApi(defaultClient);
// there is a valid "dataset" in the system
String DATASET_DATA_ID = System.getenv("DATASET_DATA_ID");
@@ -18,7 +17,7 @@ public static void main(String[] args) {
DatasetResponseSingle result = apiInstance.getDataset(DATASET_DATA_ID);
System.out.println(result);
} catch (ApiException e) {
- System.err.println("Exception when calling DatasetsApi#getDataset");
+ System.err.println("Exception when calling DataAccessControlsApi#getDataset");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
diff --git a/examples/v2/datasets/UpdateDataset.java b/examples/v2/data-access-controls/UpdateDataset.java
similarity index 80%
rename from examples/v2/datasets/UpdateDataset.java
rename to examples/v2/data-access-controls/UpdateDataset.java
index a64fc25c96c..84a512a281f 100644
--- a/examples/v2/datasets/UpdateDataset.java
+++ b/examples/v2/data-access-controls/UpdateDataset.java
@@ -1,8 +1,8 @@
-// Edit a dataset returns "OK" response
+// Edit a Data Access Control dataset returns "OK" response
import com.datadog.api.client.ApiClient;
import com.datadog.api.client.ApiException;
-import com.datadog.api.client.v2.api.DatasetsApi;
+import com.datadog.api.client.v2.api.DataAccessControlsApi;
import com.datadog.api.client.v2.model.DatasetAttributesRequest;
import com.datadog.api.client.v2.model.DatasetRequest;
import com.datadog.api.client.v2.model.DatasetResponseSingle;
@@ -14,8 +14,7 @@
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = ApiClient.getDefaultApiClient();
- defaultClient.setUnstableOperationEnabled("v2.updateDataset", true);
- DatasetsApi apiInstance = new DatasetsApi(defaultClient);
+ DataAccessControlsApi apiInstance = new DataAccessControlsApi(defaultClient);
// there is a valid "dataset" in the system
String DATASET_DATA_ID = System.getenv("DATASET_DATA_ID");
@@ -26,7 +25,7 @@ public static void main(String[] args) {
new DatasetRequest()
.attributes(
new DatasetAttributesRequest()
- .name("Security Audit Dataset")
+ .name("Security Audit DAC")
.principals(
Collections.singletonList(
"role:94172442-be03-11e9-a77a-3b7612558ac1"))
@@ -34,14 +33,14 @@ public static void main(String[] args) {
Collections.singletonList(
new FiltersPerProduct()
.filters(Collections.singletonList("@application.id:1234"))
- .product("metrics"))))
+ .product("logs"))))
.type(DatasetType.DATASET));
try {
DatasetResponseSingle result = apiInstance.updateDataset(DATASET_DATA_ID, body);
System.out.println(result);
} catch (ApiException e) {
- System.err.println("Exception when calling DatasetsApi#updateDataset");
+ System.err.println("Exception when calling DataAccessControlsApi#updateDataset");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
diff --git a/src/main/java/com/datadog/api/client/ApiClient.java b/src/main/java/com/datadog/api/client/ApiClient.java
index 03d15246b69..4f7f69d9031 100644
--- a/src/main/java/com/datadog/api/client/ApiClient.java
+++ b/src/main/java/com/datadog/api/client/ApiClient.java
@@ -815,11 +815,6 @@ public class ApiClient {
put("v2.searchSecurityMonitoringHistsignals", false);
put("v2.getCodeCoverageBranchSummary", false);
put("v2.getCodeCoverageCommitSummary", false);
- put("v2.createDataset", false);
- put("v2.deleteDataset", false);
- put("v2.getAllDatasets", false);
- put("v2.getDataset", false);
- put("v2.updateDataset", false);
put("v2.cancelDataDeletionRequest", false);
put("v2.createDataDeletionRequest", false);
put("v2.getDataDeletionRequests", false);
diff --git a/src/main/java/com/datadog/api/client/v2/api/DatasetsApi.java b/src/main/java/com/datadog/api/client/v2/api/DataAccessControlsApi.java
similarity index 81%
rename from src/main/java/com/datadog/api/client/v2/api/DatasetsApi.java
rename to src/main/java/com/datadog/api/client/v2/api/DataAccessControlsApi.java
index 36dfd338a83..8504b634285 100644
--- a/src/main/java/com/datadog/api/client/v2/api/DatasetsApi.java
+++ b/src/main/java/com/datadog/api/client/v2/api/DataAccessControlsApi.java
@@ -17,14 +17,14 @@
@jakarta.annotation.Generated(
value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator")
-public class DatasetsApi {
+public class DataAccessControlsApi {
private ApiClient apiClient;
- public DatasetsApi() {
+ public DataAccessControlsApi() {
this(ApiClient.getDefaultApiClient());
}
- public DatasetsApi(ApiClient apiClient) {
+ public DataAccessControlsApi(ApiClient apiClient) {
this.apiClient = apiClient;
}
@@ -47,7 +47,7 @@ public void setApiClient(ApiClient apiClient) {
}
/**
- * Create a dataset.
+ * Create a Data Access Control dataset.
*
*
See {@link #createDatasetWithHttpInfo}.
*
@@ -60,7 +60,7 @@ public DatasetResponseSingle createDataset(DatasetCreateRequest body) throws Api
}
/**
- * Create a dataset.
+ * Create a Data Access Control dataset.
*
*
See {@link #createDatasetWithHttpInfoAsync}.
*
@@ -94,13 +94,6 @@ public CompletableFuture createDatasetAsync(DatasetCreate
*/
public ApiResponse createDatasetWithHttpInfo(DatasetCreateRequest body)
throws ApiException {
- // Check if unstable operation is enabled
- String operationId = "createDataset";
- if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
- apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
- } else {
- throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId));
- }
Object localVarPostBody = body;
// verify the required parameter 'body' is set
@@ -115,7 +108,7 @@ public ApiResponse createDatasetWithHttpInfo(DatasetCreat
Invocation.Builder builder =
apiClient.createBuilder(
- "v2.DatasetsApi.createDataset",
+ "v2.DataAccessControlsApi.createDataset",
localVarPath,
new ArrayList(),
localVarHeaderParams,
@@ -134,7 +127,7 @@ public ApiResponse createDatasetWithHttpInfo(DatasetCreat
}
/**
- * Create a dataset.
+ * Create a Data Access Control dataset.
*
* See {@link #createDatasetWithHttpInfo}.
*
@@ -143,16 +136,6 @@ public ApiResponse createDatasetWithHttpInfo(DatasetCreat
*/
public CompletableFuture> createDatasetWithHttpInfoAsync(
DatasetCreateRequest body) {
- // Check if unstable operation is enabled
- String operationId = "createDataset";
- if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
- apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
- } else {
- CompletableFuture> result = new CompletableFuture<>();
- result.completeExceptionally(
- new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)));
- return result;
- }
Object localVarPostBody = body;
// verify the required parameter 'body' is set
@@ -172,7 +155,7 @@ public CompletableFuture> createDatasetWithHt
try {
builder =
apiClient.createBuilder(
- "v2.DatasetsApi.createDataset",
+ "v2.DataAccessControlsApi.createDataset",
localVarPath,
new ArrayList(),
localVarHeaderParams,
@@ -196,7 +179,7 @@ public CompletableFuture> createDatasetWithHt
}
/**
- * Delete a dataset.
+ * Delete a Data Access Control dataset.
*
* See {@link #deleteDatasetWithHttpInfo}.
*
@@ -208,7 +191,7 @@ public void deleteDataset(String datasetId) throws ApiException {
}
/**
- * Delete a dataset.
+ * Delete a Data Access Control dataset.
*
*
See {@link #deleteDatasetWithHttpInfoAsync}.
*
@@ -241,13 +224,6 @@ public CompletableFuture deleteDatasetAsync(String datasetId) {
*
*/
public ApiResponse deleteDatasetWithHttpInfo(String datasetId) throws ApiException {
- // Check if unstable operation is enabled
- String operationId = "deleteDataset";
- if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
- apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
- } else {
- throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId));
- }
Object localVarPostBody = null;
// verify the required parameter 'datasetId' is set
@@ -264,7 +240,7 @@ public ApiResponse deleteDatasetWithHttpInfo(String datasetId) throws ApiE
Invocation.Builder builder =
apiClient.createBuilder(
- "v2.DatasetsApi.deleteDataset",
+ "v2.DataAccessControlsApi.deleteDataset",
localVarPath,
new ArrayList(),
localVarHeaderParams,
@@ -283,7 +259,7 @@ public ApiResponse deleteDatasetWithHttpInfo(String datasetId) throws ApiE
}
/**
- * Delete a dataset.
+ * Delete a Data Access Control dataset.
*
* See {@link #deleteDatasetWithHttpInfo}.
*
@@ -291,16 +267,6 @@ public ApiResponse deleteDatasetWithHttpInfo(String datasetId) throws ApiE
* @return CompletableFuture<ApiResponse<Void>>
*/
public CompletableFuture> deleteDatasetWithHttpInfoAsync(String datasetId) {
- // Check if unstable operation is enabled
- String operationId = "deleteDataset";
- if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
- apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
- } else {
- CompletableFuture> result = new CompletableFuture<>();
- result.completeExceptionally(
- new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)));
- return result;
- }
Object localVarPostBody = null;
// verify the required parameter 'datasetId' is set
@@ -322,7 +288,7 @@ public CompletableFuture> deleteDatasetWithHttpInfoAsync(Strin
try {
builder =
apiClient.createBuilder(
- "v2.DatasetsApi.deleteDataset",
+ "v2.DataAccessControlsApi.deleteDataset",
localVarPath,
new ArrayList(),
localVarHeaderParams,
@@ -346,7 +312,7 @@ public CompletableFuture> deleteDatasetWithHttpInfoAsync(Strin
}
/**
- * Get all datasets.
+ * Get all Data Access Control datasets.
*
* See {@link #getAllDatasetsWithHttpInfo}.
*
@@ -358,7 +324,7 @@ public DatasetResponseMulti getAllDatasets() throws ApiException {
}
/**
- * Get all datasets.
+ * Get all Data Access Control datasets.
*
*
See {@link #getAllDatasetsWithHttpInfoAsync}.
*
@@ -387,13 +353,6 @@ public CompletableFuture getAllDatasetsAsync() {
*
*/
public ApiResponse getAllDatasetsWithHttpInfo() throws ApiException {
- // Check if unstable operation is enabled
- String operationId = "getAllDatasets";
- if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
- apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
- } else {
- throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId));
- }
Object localVarPostBody = null;
// create path and map variables
String localVarPath = "/api/v2/datasets";
@@ -402,7 +361,7 @@ public ApiResponse getAllDatasetsWithHttpInfo() throws Api
Invocation.Builder builder =
apiClient.createBuilder(
- "v2.DatasetsApi.getAllDatasets",
+ "v2.DataAccessControlsApi.getAllDatasets",
localVarPath,
new ArrayList(),
localVarHeaderParams,
@@ -421,23 +380,13 @@ public ApiResponse getAllDatasetsWithHttpInfo() throws Api
}
/**
- * Get all datasets.
+ * Get all Data Access Control datasets.
*
* See {@link #getAllDatasetsWithHttpInfo}.
*
* @return CompletableFuture<ApiResponse<DatasetResponseMulti>>
*/
public CompletableFuture> getAllDatasetsWithHttpInfoAsync() {
- // Check if unstable operation is enabled
- String operationId = "getAllDatasets";
- if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
- apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
- } else {
- CompletableFuture> result = new CompletableFuture<>();
- result.completeExceptionally(
- new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)));
- return result;
- }
Object localVarPostBody = null;
// create path and map variables
String localVarPath = "/api/v2/datasets";
@@ -448,7 +397,7 @@ public CompletableFuture> getAllDatasetsWithHt
try {
builder =
apiClient.createBuilder(
- "v2.DatasetsApi.getAllDatasets",
+ "v2.DataAccessControlsApi.getAllDatasets",
localVarPath,
new ArrayList(),
localVarHeaderParams,
@@ -472,7 +421,7 @@ public CompletableFuture> getAllDatasetsWithHt
}
/**
- * Get a single dataset by ID.
+ * Get a Data Access Control dataset by ID.
*
* See {@link #getDatasetWithHttpInfo}.
*
@@ -485,7 +434,7 @@ public DatasetResponseSingle getDataset(String datasetId) throws ApiException {
}
/**
- * Get a single dataset by ID.
+ * Get a Data Access Control dataset by ID.
*
*
See {@link #getDatasetWithHttpInfoAsync}.
*
@@ -519,13 +468,6 @@ public CompletableFuture getDatasetAsync(String datasetId
*/
public ApiResponse getDatasetWithHttpInfo(String datasetId)
throws ApiException {
- // Check if unstable operation is enabled
- String operationId = "getDataset";
- if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
- apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
- } else {
- throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId));
- }
Object localVarPostBody = null;
// verify the required parameter 'datasetId' is set
@@ -542,7 +484,7 @@ public ApiResponse getDatasetWithHttpInfo(String datasetI
Invocation.Builder builder =
apiClient.createBuilder(
- "v2.DatasetsApi.getDataset",
+ "v2.DataAccessControlsApi.getDataset",
localVarPath,
new ArrayList(),
localVarHeaderParams,
@@ -561,7 +503,7 @@ public ApiResponse getDatasetWithHttpInfo(String datasetI
}
/**
- * Get a single dataset by ID.
+ * Get a Data Access Control dataset by ID.
*
* See {@link #getDatasetWithHttpInfo}.
*
@@ -570,16 +512,6 @@ public ApiResponse getDatasetWithHttpInfo(String datasetI
*/
public CompletableFuture> getDatasetWithHttpInfoAsync(
String datasetId) {
- // Check if unstable operation is enabled
- String operationId = "getDataset";
- if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
- apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
- } else {
- CompletableFuture> result = new CompletableFuture<>();
- result.completeExceptionally(
- new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)));
- return result;
- }
Object localVarPostBody = null;
// verify the required parameter 'datasetId' is set
@@ -601,7 +533,7 @@ public CompletableFuture> getDatasetWithHttpI
try {
builder =
apiClient.createBuilder(
- "v2.DatasetsApi.getDataset",
+ "v2.DataAccessControlsApi.getDataset",
localVarPath,
new ArrayList(),
localVarHeaderParams,
@@ -625,7 +557,7 @@ public CompletableFuture> getDatasetWithHttpI
}
/**
- * Edit a dataset.
+ * Edit a Data Access Control dataset.
*
* See {@link #updateDatasetWithHttpInfo}.
*
@@ -640,7 +572,7 @@ public DatasetResponseSingle updateDataset(String datasetId, DatasetUpdateReques
}
/**
- * Edit a dataset.
+ * Edit a Data Access Control dataset.
*
*
See {@link #updateDatasetWithHttpInfoAsync}.
*
@@ -677,13 +609,6 @@ public CompletableFuture updateDatasetAsync(
*/
public ApiResponse updateDatasetWithHttpInfo(
String datasetId, DatasetUpdateRequest body) throws ApiException {
- // Check if unstable operation is enabled
- String operationId = "updateDataset";
- if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
- apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
- } else {
- throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId));
- }
Object localVarPostBody = body;
// verify the required parameter 'datasetId' is set
@@ -706,7 +631,7 @@ public ApiResponse updateDatasetWithHttpInfo(
Invocation.Builder builder =
apiClient.createBuilder(
- "v2.DatasetsApi.updateDataset",
+ "v2.DataAccessControlsApi.updateDataset",
localVarPath,
new ArrayList(),
localVarHeaderParams,
@@ -725,7 +650,7 @@ public ApiResponse updateDatasetWithHttpInfo(
}
/**
- * Edit a dataset.
+ * Edit a Data Access Control dataset.
*
* See {@link #updateDatasetWithHttpInfo}.
*
@@ -735,16 +660,6 @@ public ApiResponse updateDatasetWithHttpInfo(
*/
public CompletableFuture> updateDatasetWithHttpInfoAsync(
String datasetId, DatasetUpdateRequest body) {
- // Check if unstable operation is enabled
- String operationId = "updateDataset";
- if (apiClient.isUnstableOperationEnabled("v2." + operationId)) {
- apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId));
- } else {
- CompletableFuture> result = new CompletableFuture<>();
- result.completeExceptionally(
- new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)));
- return result;
- }
Object localVarPostBody = body;
// verify the required parameter 'datasetId' is set
@@ -775,7 +690,7 @@ public CompletableFuture> updateDatasetWithHt
try {
builder =
apiClient.createBuilder(
- "v2.DatasetsApi.updateDataset",
+ "v2.DataAccessControlsApi.updateDataset",
localVarPath,
new ArrayList(),
localVarHeaderParams,
diff --git a/src/test/resources/cassettes/features/v2/Create_a_Data_Access_Control_dataset_returns_Bad_Request_response.freeze b/src/test/resources/cassettes/features/v2/Create_a_Data_Access_Control_dataset_returns_Bad_Request_response.freeze
new file mode 100644
index 00000000000..8e484e34924
--- /dev/null
+++ b/src/test/resources/cassettes/features/v2/Create_a_Data_Access_Control_dataset_returns_Bad_Request_response.freeze
@@ -0,0 +1 @@
+2026-03-26T21:30:07.702Z
\ No newline at end of file
diff --git a/src/test/resources/cassettes/features/v2/Create_a_dataset_returns_Bad_Request_response.json b/src/test/resources/cassettes/features/v2/Create_a_Data_Access_Control_dataset_returns_Bad_Request_response.json
similarity index 100%
rename from src/test/resources/cassettes/features/v2/Create_a_dataset_returns_Bad_Request_response.json
rename to src/test/resources/cassettes/features/v2/Create_a_Data_Access_Control_dataset_returns_Bad_Request_response.json
diff --git a/src/test/resources/cassettes/features/v2/Create_a_Data_Access_Control_dataset_returns_Conflict_response.freeze b/src/test/resources/cassettes/features/v2/Create_a_Data_Access_Control_dataset_returns_Conflict_response.freeze
new file mode 100644
index 00000000000..9a41e0cd8bb
--- /dev/null
+++ b/src/test/resources/cassettes/features/v2/Create_a_Data_Access_Control_dataset_returns_Conflict_response.freeze
@@ -0,0 +1 @@
+2026-03-26T21:30:08.373Z
\ No newline at end of file
diff --git a/src/test/resources/cassettes/features/v2/Create_a_dataset_returns_Conflict_response.json b/src/test/resources/cassettes/features/v2/Create_a_Data_Access_Control_dataset_returns_Conflict_response.json
similarity index 61%
rename from src/test/resources/cassettes/features/v2/Create_a_dataset_returns_Conflict_response.json
rename to src/test/resources/cassettes/features/v2/Create_a_Data_Access_Control_dataset_returns_Conflict_response.json
index 75586923584..145de209d66 100644
--- a/src/test/resources/cassettes/features/v2/Create_a_dataset_returns_Conflict_response.json
+++ b/src/test/resources/cassettes/features/v2/Create_a_Data_Access_Control_dataset_returns_Conflict_response.json
@@ -3,7 +3,7 @@
"httpRequest": {
"body": {
"type": "JSON",
- "json": "{\"data\":{\"attributes\":{\"name\":\"Security Audit Dataset\",\"principals\":[\"role:94172442-be03-11e9-a77a-3b7612558ac1\"],\"product_filters\":[{\"filters\":[\"@application.id:ABCD\"],\"product\":\"metrics\"}]},\"type\":\"dataset\"}}"
+ "json": "{\"data\":{\"attributes\":{\"name\":\"Security Audit DAC\",\"principals\":[\"role:94172442-be03-11e9-a77a-3b7612558ac1\"],\"product_filters\":[{\"filters\":[\"@application.id:ABCD\"],\"product\":\"logs\"}]},\"type\":\"dataset\"}}"
},
"headers": {},
"method": "POST",
@@ -12,7 +12,7 @@
"secure": true
},
"httpResponse": {
- "body": "{\"data\":{\"type\":\"dataset\",\"id\":\"7cbada94-7d01-4e73-8c74-ea70fb3b3088\",\"attributes\":{\"name\":\"Security Audit Dataset\",\"product_filters\":[{\"product\":\"metrics\",\"filters\":[\"@application.id:ABCD\"]}],\"principals\":[\"role:94172442-be03-11e9-a77a-3b7612558ac1\"]}}}\n",
+ "body": "{\"data\":{\"type\":\"dataset\",\"id\":\"fc61b4b4-d05a-4cba-b109-0d123141056e\",\"attributes\":{\"name\":\"Security Audit DAC\",\"product_filters\":[{\"product\":\"logs\",\"filters\":[\"@application.id:ABCD\"]}],\"principals\":[\"role:94172442-be03-11e9-a77a-3b7612558ac1\"]}}}\n",
"headers": {
"Content-Type": [
"application/json"
@@ -27,13 +27,13 @@
"timeToLive": {
"unlimited": true
},
- "id": "32c558cf-4a2e-f914-f443-ab94000addcb"
+ "id": "9afbe4de-1a01-2167-93a5-958a7f6a808d"
},
{
"httpRequest": {
"body": {
"type": "JSON",
- "json": "{\"data\":{\"attributes\":{\"name\":\"Security Audit Dataset\",\"principals\":[\"role:94172442-be03-11e9-a77a-3b7612558ac1\"],\"product_filters\":[{\"filters\":[\"@application.id:ABCD\"],\"product\":\"metrics\"}]},\"type\":\"dataset\"}}"
+ "json": "{\"data\":{\"attributes\":{\"name\":\"Security Audit DAC\",\"principals\":[\"role:94172442-be03-11e9-a77a-3b7612558ac1\"],\"product_filters\":[{\"filters\":[\"@application.id:ABCD\"],\"product\":\"logs\"}]},\"type\":\"dataset\"}}"
},
"headers": {},
"method": "POST",
@@ -42,7 +42,7 @@
"secure": true
},
"httpResponse": {
- "body": "{\"errors\":[\"Invalid request: [DatasetNameConflict] dataset with name \\\"Security Audit Dataset\\\" already exists\"]}\n",
+ "body": "{\"errors\":[\"Invalid request: [DatasetNameConflict] dataset with name \\\"Security Audit DAC\\\" already exists\"]}\n",
"headers": {
"Content-Type": [
"application/json"
@@ -57,13 +57,13 @@
"timeToLive": {
"unlimited": true
},
- "id": "32c558cf-4a2e-f914-f443-ab94000addcc"
+ "id": "9afbe4de-1a01-2167-93a5-958a7f6a808e"
},
{
"httpRequest": {
"headers": {},
"method": "DELETE",
- "path": "/api/v2/datasets/7cbada94-7d01-4e73-8c74-ea70fb3b3088",
+ "path": "/api/v2/datasets/fc61b4b4-d05a-4cba-b109-0d123141056e",
"keepAlive": false,
"secure": true
},
@@ -82,6 +82,6 @@
"timeToLive": {
"unlimited": true
},
- "id": "f569dd34-ba2b-185c-e332-0a771e7e15c2"
+ "id": "7b7b60d3-c568-c775-3c0a-34c20939b781"
}
]
\ No newline at end of file
diff --git a/src/test/resources/cassettes/features/v2/Create_a_Data_Access_Control_dataset_returns_OK_response.freeze b/src/test/resources/cassettes/features/v2/Create_a_Data_Access_Control_dataset_returns_OK_response.freeze
new file mode 100644
index 00000000000..378b341dba1
--- /dev/null
+++ b/src/test/resources/cassettes/features/v2/Create_a_Data_Access_Control_dataset_returns_OK_response.freeze
@@ -0,0 +1 @@
+2026-03-26T21:30:09.140Z
\ No newline at end of file
diff --git a/src/test/resources/cassettes/features/v2/Create_a_dataset_returns_OK_response.json b/src/test/resources/cassettes/features/v2/Create_a_Data_Access_Control_dataset_returns_OK_response.json
similarity index 59%
rename from src/test/resources/cassettes/features/v2/Create_a_dataset_returns_OK_response.json
rename to src/test/resources/cassettes/features/v2/Create_a_Data_Access_Control_dataset_returns_OK_response.json
index 3f9206673d4..5470a274415 100644
--- a/src/test/resources/cassettes/features/v2/Create_a_dataset_returns_OK_response.json
+++ b/src/test/resources/cassettes/features/v2/Create_a_Data_Access_Control_dataset_returns_OK_response.json
@@ -3,7 +3,7 @@
"httpRequest": {
"body": {
"type": "JSON",
- "json": "{\"data\":{\"attributes\":{\"name\":\"Security Audit Dataset\",\"principals\":[\"role:94172442-be03-11e9-a77a-3b7612558ac1\"],\"product_filters\":[{\"filters\":[\"@application.id:ABCD\"],\"product\":\"metrics\"}]},\"type\":\"dataset\"}}"
+ "json": "{\"data\":{\"attributes\":{\"name\":\"Security Audit DAC\",\"principals\":[\"role:94172442-be03-11e9-a77a-3b7612558ac1\"],\"product_filters\":[{\"filters\":[\"@application.id:ABCD\"],\"product\":\"logs\"}]},\"type\":\"dataset\"}}"
},
"headers": {},
"method": "POST",
@@ -12,7 +12,7 @@
"secure": true
},
"httpResponse": {
- "body": "{\"data\":{\"type\":\"dataset\",\"id\":\"86f67664-8b7b-49ae-b671-919ebe11886c\",\"attributes\":{\"name\":\"Security Audit Dataset\",\"product_filters\":[{\"product\":\"metrics\",\"filters\":[\"@application.id:ABCD\"]}],\"principals\":[\"role:94172442-be03-11e9-a77a-3b7612558ac1\"]}}}\n",
+ "body": "{\"data\":{\"type\":\"dataset\",\"id\":\"badc1f6e-ad2e-46f3-91bb-63af60d40b43\",\"attributes\":{\"name\":\"Security Audit DAC\",\"product_filters\":[{\"product\":\"logs\",\"filters\":[\"@application.id:ABCD\"]}],\"principals\":[\"role:94172442-be03-11e9-a77a-3b7612558ac1\"]}}}\n",
"headers": {
"Content-Type": [
"application/json"
@@ -27,13 +27,13 @@
"timeToLive": {
"unlimited": true
},
- "id": "32c558cf-4a2e-f914-f443-ab94000addce"
+ "id": "9afbe4de-1a01-2167-93a5-958a7f6a8091"
},
{
"httpRequest": {
"headers": {},
"method": "DELETE",
- "path": "/api/v2/datasets/86f67664-8b7b-49ae-b671-919ebe11886c",
+ "path": "/api/v2/datasets/badc1f6e-ad2e-46f3-91bb-63af60d40b43",
"keepAlive": false,
"secure": true
},
@@ -52,6 +52,6 @@
"timeToLive": {
"unlimited": true
},
- "id": "e15cf984-73c5-d05e-382b-a27da41631f3"
+ "id": "c29199a6-e3ef-4bc3-be2b-0dbc8b4ac123"
}
]
\ No newline at end of file
diff --git a/src/test/resources/cassettes/features/v2/Create_a_dataset_returns_Bad_Request_response.freeze b/src/test/resources/cassettes/features/v2/Create_a_dataset_returns_Bad_Request_response.freeze
deleted file mode 100644
index 71929eb2a5f..00000000000
--- a/src/test/resources/cassettes/features/v2/Create_a_dataset_returns_Bad_Request_response.freeze
+++ /dev/null
@@ -1 +0,0 @@
-2025-07-29T20:35:57.144Z
\ No newline at end of file
diff --git a/src/test/resources/cassettes/features/v2/Create_a_dataset_returns_Conflict_response.freeze b/src/test/resources/cassettes/features/v2/Create_a_dataset_returns_Conflict_response.freeze
deleted file mode 100644
index f6e462458c6..00000000000
--- a/src/test/resources/cassettes/features/v2/Create_a_dataset_returns_Conflict_response.freeze
+++ /dev/null
@@ -1 +0,0 @@
-2025-07-29T20:35:57.324Z
\ No newline at end of file
diff --git a/src/test/resources/cassettes/features/v2/Create_a_dataset_returns_OK_response.freeze b/src/test/resources/cassettes/features/v2/Create_a_dataset_returns_OK_response.freeze
deleted file mode 100644
index a11869c8f1a..00000000000
--- a/src/test/resources/cassettes/features/v2/Create_a_dataset_returns_OK_response.freeze
+++ /dev/null
@@ -1 +0,0 @@
-2025-07-29T20:35:57.839Z
\ No newline at end of file
diff --git a/src/test/resources/cassettes/features/v2/Delete_a_Data_Access_Control_dataset_returns_Bad_Request_response.freeze b/src/test/resources/cassettes/features/v2/Delete_a_Data_Access_Control_dataset_returns_Bad_Request_response.freeze
new file mode 100644
index 00000000000..b6342441bde
--- /dev/null
+++ b/src/test/resources/cassettes/features/v2/Delete_a_Data_Access_Control_dataset_returns_Bad_Request_response.freeze
@@ -0,0 +1 @@
+2026-03-26T21:30:09.647Z
\ No newline at end of file
diff --git a/src/test/resources/cassettes/features/v2/Delete_a_dataset_returns_Bad_Request_response.json b/src/test/resources/cassettes/features/v2/Delete_a_Data_Access_Control_dataset_returns_Bad_Request_response.json
similarity index 100%
rename from src/test/resources/cassettes/features/v2/Delete_a_dataset_returns_Bad_Request_response.json
rename to src/test/resources/cassettes/features/v2/Delete_a_Data_Access_Control_dataset_returns_Bad_Request_response.json
diff --git a/src/test/resources/cassettes/features/v2/Delete_a_Data_Access_Control_dataset_returns_No_Content_response.freeze b/src/test/resources/cassettes/features/v2/Delete_a_Data_Access_Control_dataset_returns_No_Content_response.freeze
new file mode 100644
index 00000000000..9a9aa648abd
--- /dev/null
+++ b/src/test/resources/cassettes/features/v2/Delete_a_Data_Access_Control_dataset_returns_No_Content_response.freeze
@@ -0,0 +1 @@
+2026-03-26T21:30:09.887Z
\ No newline at end of file
diff --git a/src/test/resources/cassettes/features/v2/Delete_a_dataset_returns_No_Content_response.json b/src/test/resources/cassettes/features/v2/Delete_a_Data_Access_Control_dataset_returns_No_Content_response.json
similarity index 63%
rename from src/test/resources/cassettes/features/v2/Delete_a_dataset_returns_No_Content_response.json
rename to src/test/resources/cassettes/features/v2/Delete_a_Data_Access_Control_dataset_returns_No_Content_response.json
index 76d59841326..679421d636e 100644
--- a/src/test/resources/cassettes/features/v2/Delete_a_dataset_returns_No_Content_response.json
+++ b/src/test/resources/cassettes/features/v2/Delete_a_Data_Access_Control_dataset_returns_No_Content_response.json
@@ -3,7 +3,7 @@
"httpRequest": {
"body": {
"type": "JSON",
- "json": "{\"data\":{\"attributes\":{\"name\":\"Security Audit Dataset\",\"principals\":[\"role:94172442-be03-11e9-a77a-3b7612558ac1\"],\"product_filters\":[{\"filters\":[\"@application.id:ABCD\"],\"product\":\"metrics\"}]},\"type\":\"dataset\"}}"
+ "json": "{\"data\":{\"attributes\":{\"name\":\"Security Audit DAC\",\"principals\":[\"role:94172442-be03-11e9-a77a-3b7612558ac1\"],\"product_filters\":[{\"filters\":[\"@application.id:ABCD\"],\"product\":\"logs\"}]},\"type\":\"dataset\"}}"
},
"headers": {},
"method": "POST",
@@ -12,7 +12,7 @@
"secure": true
},
"httpResponse": {
- "body": "{\"data\":{\"type\":\"dataset\",\"id\":\"60ee6562-48f5-455f-bdb4-fd3f5f899978\",\"attributes\":{\"name\":\"Security Audit Dataset\",\"product_filters\":[{\"product\":\"metrics\",\"filters\":[\"@application.id:ABCD\"]}],\"principals\":[\"role:94172442-be03-11e9-a77a-3b7612558ac1\"]}}}\n",
+ "body": "{\"data\":{\"type\":\"dataset\",\"id\":\"d7eacc0a-68a8-4511-8a9e-81c275a3cfc4\",\"attributes\":{\"name\":\"Security Audit DAC\",\"product_filters\":[{\"product\":\"logs\",\"filters\":[\"@application.id:ABCD\"]}],\"principals\":[\"role:94172442-be03-11e9-a77a-3b7612558ac1\"]}}}\n",
"headers": {
"Content-Type": [
"application/json"
@@ -27,13 +27,13 @@
"timeToLive": {
"unlimited": true
},
- "id": "32c558cf-4a2e-f914-f443-ab94000addcf"
+ "id": "9afbe4de-1a01-2167-93a5-958a7f6a8092"
},
{
"httpRequest": {
"headers": {},
"method": "DELETE",
- "path": "/api/v2/datasets/60ee6562-48f5-455f-bdb4-fd3f5f899978",
+ "path": "/api/v2/datasets/d7eacc0a-68a8-4511-8a9e-81c275a3cfc4",
"keepAlive": false,
"secure": true
},
@@ -52,18 +52,18 @@
"timeToLive": {
"unlimited": true
},
- "id": "e6d82f13-5ad3-4466-edde-778425f3614b"
+ "id": "25f5bfcd-a85b-825f-1295-2b7da296afdb"
},
{
"httpRequest": {
"headers": {},
"method": "DELETE",
- "path": "/api/v2/datasets/60ee6562-48f5-455f-bdb4-fd3f5f899978",
+ "path": "/api/v2/datasets/d7eacc0a-68a8-4511-8a9e-81c275a3cfc4",
"keepAlive": false,
"secure": true
},
"httpResponse": {
- "body": "{\"errors\":[\"Invalid request: [DatasetNotFound] dataset \\\"60ee6562-48f5-455f-bdb4-fd3f5f899978\\\" not found\"]}\n",
+ "body": "{\"errors\":[\"Invalid request: [DatasetNotFound] dataset \\\"d7eacc0a-68a8-4511-8a9e-81c275a3cfc4\\\" not found\"]}\n",
"headers": {
"Content-Type": [
"application/json"
@@ -78,6 +78,6 @@
"timeToLive": {
"unlimited": true
},
- "id": "e6d82f13-5ad3-4466-edde-778425f3614c"
+ "id": "25f5bfcd-a85b-825f-1295-2b7da296afdc"
}
]
\ No newline at end of file
diff --git a/src/test/resources/cassettes/features/v2/Delete_a_Data_Access_Control_dataset_returns_Not_Found_response.freeze b/src/test/resources/cassettes/features/v2/Delete_a_Data_Access_Control_dataset_returns_Not_Found_response.freeze
new file mode 100644
index 00000000000..e5a588edcfd
--- /dev/null
+++ b/src/test/resources/cassettes/features/v2/Delete_a_Data_Access_Control_dataset_returns_Not_Found_response.freeze
@@ -0,0 +1 @@
+2026-03-26T21:30:10.625Z
\ No newline at end of file
diff --git a/src/test/resources/cassettes/features/v2/Delete_a_dataset_returns_Not_Found_response.json b/src/test/resources/cassettes/features/v2/Delete_a_Data_Access_Control_dataset_returns_Not_Found_response.json
similarity index 88%
rename from src/test/resources/cassettes/features/v2/Delete_a_dataset_returns_Not_Found_response.json
rename to src/test/resources/cassettes/features/v2/Delete_a_Data_Access_Control_dataset_returns_Not_Found_response.json
index c66ade533fb..98795cb7808 100644
--- a/src/test/resources/cassettes/features/v2/Delete_a_dataset_returns_Not_Found_response.json
+++ b/src/test/resources/cassettes/features/v2/Delete_a_Data_Access_Control_dataset_returns_Not_Found_response.json
@@ -8,7 +8,7 @@
"secure": true
},
"httpResponse": {
- "body": "{\"errors\":[\"Invalid request: [DatasetNotFound] dataset \\\"00000000-0000-0000-0000-000000000000\\\" not found\"]}\n",
+ "body": "{\"errors\":[\"Invalid request: [DatasetNotFound] failed to fetch dataset \\\"00000000-0000-0000-0000-000000000000\\\"\"]}\n",
"headers": {
"Content-Type": [
"application/json"
diff --git a/src/test/resources/cassettes/features/v2/Delete_a_dataset_returns_Bad_Request_response.freeze b/src/test/resources/cassettes/features/v2/Delete_a_dataset_returns_Bad_Request_response.freeze
deleted file mode 100644
index 5c83b1435b5..00000000000
--- a/src/test/resources/cassettes/features/v2/Delete_a_dataset_returns_Bad_Request_response.freeze
+++ /dev/null
@@ -1 +0,0 @@
-2025-07-29T20:35:58.251Z
\ No newline at end of file
diff --git a/src/test/resources/cassettes/features/v2/Delete_a_dataset_returns_No_Content_response.freeze b/src/test/resources/cassettes/features/v2/Delete_a_dataset_returns_No_Content_response.freeze
deleted file mode 100644
index 3f1f084a921..00000000000
--- a/src/test/resources/cassettes/features/v2/Delete_a_dataset_returns_No_Content_response.freeze
+++ /dev/null
@@ -1 +0,0 @@
-2025-07-29T20:35:58.429Z
\ No newline at end of file
diff --git a/src/test/resources/cassettes/features/v2/Delete_a_dataset_returns_Not_Found_response.freeze b/src/test/resources/cassettes/features/v2/Delete_a_dataset_returns_Not_Found_response.freeze
deleted file mode 100644
index a6e2fb84649..00000000000
--- a/src/test/resources/cassettes/features/v2/Delete_a_dataset_returns_Not_Found_response.freeze
+++ /dev/null
@@ -1 +0,0 @@
-2025-07-29T20:35:58.996Z
\ No newline at end of file
diff --git a/src/test/resources/cassettes/features/v2/Edit_a_Data_Access_Control_dataset_returns_Bad_Request_response.freeze b/src/test/resources/cassettes/features/v2/Edit_a_Data_Access_Control_dataset_returns_Bad_Request_response.freeze
new file mode 100644
index 00000000000..e29881736bc
--- /dev/null
+++ b/src/test/resources/cassettes/features/v2/Edit_a_Data_Access_Control_dataset_returns_Bad_Request_response.freeze
@@ -0,0 +1 @@
+2026-03-26T21:30:10.839Z
\ No newline at end of file
diff --git a/src/test/resources/cassettes/features/v2/Edit_a_dataset_returns_Bad_Request_response.json b/src/test/resources/cassettes/features/v2/Edit_a_Data_Access_Control_dataset_returns_Bad_Request_response.json
similarity index 100%
rename from src/test/resources/cassettes/features/v2/Edit_a_dataset_returns_Bad_Request_response.json
rename to src/test/resources/cassettes/features/v2/Edit_a_Data_Access_Control_dataset_returns_Bad_Request_response.json
diff --git a/src/test/resources/cassettes/features/v2/Edit_a_Data_Access_Control_dataset_returns_OK_response.freeze b/src/test/resources/cassettes/features/v2/Edit_a_Data_Access_Control_dataset_returns_OK_response.freeze
new file mode 100644
index 00000000000..6946ee33624
--- /dev/null
+++ b/src/test/resources/cassettes/features/v2/Edit_a_Data_Access_Control_dataset_returns_OK_response.freeze
@@ -0,0 +1 @@
+2026-03-26T21:30:11.049Z
\ No newline at end of file
diff --git a/src/test/resources/cassettes/features/v2/Edit_a_dataset_returns_OK_response.json b/src/test/resources/cassettes/features/v2/Edit_a_Data_Access_Control_dataset_returns_OK_response.json
similarity index 53%
rename from src/test/resources/cassettes/features/v2/Edit_a_dataset_returns_OK_response.json
rename to src/test/resources/cassettes/features/v2/Edit_a_Data_Access_Control_dataset_returns_OK_response.json
index 75a40d06c1c..e926cda15f2 100644
--- a/src/test/resources/cassettes/features/v2/Edit_a_dataset_returns_OK_response.json
+++ b/src/test/resources/cassettes/features/v2/Edit_a_Data_Access_Control_dataset_returns_OK_response.json
@@ -3,7 +3,7 @@
"httpRequest": {
"body": {
"type": "JSON",
- "json": "{\"data\":{\"attributes\":{\"name\":\"Security Audit Dataset\",\"principals\":[\"role:94172442-be03-11e9-a77a-3b7612558ac1\"],\"product_filters\":[{\"filters\":[\"@application.id:ABCD\"],\"product\":\"metrics\"}]},\"type\":\"dataset\"}}"
+ "json": "{\"data\":{\"attributes\":{\"name\":\"Security Audit DAC\",\"principals\":[\"role:94172442-be03-11e9-a77a-3b7612558ac1\"],\"product_filters\":[{\"filters\":[\"@application.id:ABCD\"],\"product\":\"logs\"}]},\"type\":\"dataset\"}}"
},
"headers": {},
"method": "POST",
@@ -12,7 +12,7 @@
"secure": true
},
"httpResponse": {
- "body": "{\"data\":{\"type\":\"dataset\",\"id\":\"2bf848a1-b18a-4602-8348-814a53862c52\",\"attributes\":{\"name\":\"Security Audit Dataset\",\"product_filters\":[{\"product\":\"metrics\",\"filters\":[\"@application.id:ABCD\"]}],\"principals\":[\"role:94172442-be03-11e9-a77a-3b7612558ac1\"]}}}\n",
+ "body": "{\"data\":{\"type\":\"dataset\",\"id\":\"be869093-c62b-4ed1-87e8-7fb047e65f3d\",\"attributes\":{\"name\":\"Security Audit DAC\",\"product_filters\":[{\"product\":\"logs\",\"filters\":[\"@application.id:ABCD\"]}],\"principals\":[\"role:94172442-be03-11e9-a77a-3b7612558ac1\"]}}}\n",
"headers": {
"Content-Type": [
"application/json"
@@ -27,22 +27,22 @@
"timeToLive": {
"unlimited": true
},
- "id": "32c558cf-4a2e-f914-f443-ab94000addc9"
+ "id": "9afbe4de-1a01-2167-93a5-958a7f6a808f"
},
{
"httpRequest": {
"body": {
"type": "JSON",
- "json": "{\"data\":{\"attributes\":{\"name\":\"Security Audit Dataset\",\"principals\":[\"role:94172442-be03-11e9-a77a-3b7612558ac1\"],\"product_filters\":[{\"filters\":[\"@application.id:1234\"],\"product\":\"metrics\"}]},\"type\":\"dataset\"}}"
+ "json": "{\"data\":{\"attributes\":{\"name\":\"Security Audit DAC\",\"principals\":[\"role:94172442-be03-11e9-a77a-3b7612558ac1\"],\"product_filters\":[{\"filters\":[\"@application.id:1234\"],\"product\":\"logs\"}]},\"type\":\"dataset\"}}"
},
"headers": {},
"method": "PUT",
- "path": "/api/v2/datasets/2bf848a1-b18a-4602-8348-814a53862c52",
+ "path": "/api/v2/datasets/be869093-c62b-4ed1-87e8-7fb047e65f3d",
"keepAlive": false,
"secure": true
},
"httpResponse": {
- "body": "{\"data\":{\"type\":\"dataset\",\"id\":\"2bf848a1-b18a-4602-8348-814a53862c52\",\"attributes\":{\"name\":\"Security Audit Dataset\",\"product_filters\":[{\"product\":\"metrics\",\"filters\":[\"@application.id:1234\"]}],\"principals\":[\"role:94172442-be03-11e9-a77a-3b7612558ac1\"]}}}\n",
+ "body": "{\"data\":{\"type\":\"dataset\",\"id\":\"be869093-c62b-4ed1-87e8-7fb047e65f3d\",\"attributes\":{\"name\":\"Security Audit DAC\",\"product_filters\":[{\"product\":\"logs\",\"filters\":[\"@application.id:1234\"]}],\"principals\":[\"role:94172442-be03-11e9-a77a-3b7612558ac1\"]}}}\n",
"headers": {
"Content-Type": [
"application/json"
@@ -57,13 +57,13 @@
"timeToLive": {
"unlimited": true
},
- "id": "3dd90d49-9042-50c7-d2c0-d10377768bbb"
+ "id": "bf306df6-80a5-c1e0-43af-4d4fdf158b3c"
},
{
"httpRequest": {
"headers": {},
"method": "DELETE",
- "path": "/api/v2/datasets/2bf848a1-b18a-4602-8348-814a53862c52",
+ "path": "/api/v2/datasets/be869093-c62b-4ed1-87e8-7fb047e65f3d",
"keepAlive": false,
"secure": true
},
@@ -82,6 +82,6 @@
"timeToLive": {
"unlimited": true
},
- "id": "20213939-3ba1-8fe0-e52d-054b00f716c1"
+ "id": "d68a6e1f-6217-53ed-2b26-9ca980f863d6"
}
]
\ No newline at end of file
diff --git a/src/test/resources/cassettes/features/v2/Edit_a_dataset_returns_Bad_Request_response.freeze b/src/test/resources/cassettes/features/v2/Edit_a_dataset_returns_Bad_Request_response.freeze
deleted file mode 100644
index cdc3a3a57aa..00000000000
--- a/src/test/resources/cassettes/features/v2/Edit_a_dataset_returns_Bad_Request_response.freeze
+++ /dev/null
@@ -1 +0,0 @@
-2025-07-29T20:35:59.180Z
\ No newline at end of file
diff --git a/src/test/resources/cassettes/features/v2/Edit_a_dataset_returns_OK_response.freeze b/src/test/resources/cassettes/features/v2/Edit_a_dataset_returns_OK_response.freeze
deleted file mode 100644
index 89c4ccef775..00000000000
--- a/src/test/resources/cassettes/features/v2/Edit_a_dataset_returns_OK_response.freeze
+++ /dev/null
@@ -1 +0,0 @@
-2025-07-29T20:35:59.399Z
\ No newline at end of file
diff --git a/src/test/resources/cassettes/features/v2/Get_a_Data_Access_Control_dataset_by_ID_returns_Bad_Request_response.freeze b/src/test/resources/cassettes/features/v2/Get_a_Data_Access_Control_dataset_by_ID_returns_Bad_Request_response.freeze
new file mode 100644
index 00000000000..82b40ccbcf2
--- /dev/null
+++ b/src/test/resources/cassettes/features/v2/Get_a_Data_Access_Control_dataset_by_ID_returns_Bad_Request_response.freeze
@@ -0,0 +1 @@
+2026-03-26T21:30:11.869Z
\ No newline at end of file
diff --git a/src/test/resources/cassettes/features/v2/Get_a_single_dataset_by_ID_returns_Bad_Request_response.json b/src/test/resources/cassettes/features/v2/Get_a_Data_Access_Control_dataset_by_ID_returns_Bad_Request_response.json
similarity index 100%
rename from src/test/resources/cassettes/features/v2/Get_a_single_dataset_by_ID_returns_Bad_Request_response.json
rename to src/test/resources/cassettes/features/v2/Get_a_Data_Access_Control_dataset_by_ID_returns_Bad_Request_response.json
diff --git a/src/test/resources/cassettes/features/v2/Get_a_Data_Access_Control_dataset_by_ID_returns_OK_response.freeze b/src/test/resources/cassettes/features/v2/Get_a_Data_Access_Control_dataset_by_ID_returns_OK_response.freeze
new file mode 100644
index 00000000000..4679a0ae389
--- /dev/null
+++ b/src/test/resources/cassettes/features/v2/Get_a_Data_Access_Control_dataset_by_ID_returns_OK_response.freeze
@@ -0,0 +1 @@
+2026-03-26T21:30:12.094Z
\ No newline at end of file
diff --git a/src/test/resources/cassettes/features/v2/Get_a_single_dataset_by_ID_returns_OK_response.json b/src/test/resources/cassettes/features/v2/Get_a_Data_Access_Control_dataset_by_ID_returns_OK_response.json
similarity index 55%
rename from src/test/resources/cassettes/features/v2/Get_a_single_dataset_by_ID_returns_OK_response.json
rename to src/test/resources/cassettes/features/v2/Get_a_Data_Access_Control_dataset_by_ID_returns_OK_response.json
index a3aed5c194a..43b8e008c09 100644
--- a/src/test/resources/cassettes/features/v2/Get_a_single_dataset_by_ID_returns_OK_response.json
+++ b/src/test/resources/cassettes/features/v2/Get_a_Data_Access_Control_dataset_by_ID_returns_OK_response.json
@@ -3,7 +3,7 @@
"httpRequest": {
"body": {
"type": "JSON",
- "json": "{\"data\":{\"attributes\":{\"name\":\"Security Audit Dataset\",\"principals\":[\"role:94172442-be03-11e9-a77a-3b7612558ac1\"],\"product_filters\":[{\"filters\":[\"@application.id:ABCD\"],\"product\":\"metrics\"}]},\"type\":\"dataset\"}}"
+ "json": "{\"data\":{\"attributes\":{\"name\":\"Security Audit DAC\",\"principals\":[\"role:94172442-be03-11e9-a77a-3b7612558ac1\"],\"product_filters\":[{\"filters\":[\"@application.id:ABCD\"],\"product\":\"logs\"}]},\"type\":\"dataset\"}}"
},
"headers": {},
"method": "POST",
@@ -12,7 +12,7 @@
"secure": true
},
"httpResponse": {
- "body": "{\"data\":{\"type\":\"dataset\",\"id\":\"9e576299-3cc1-4145-8aad-67a1ab914829\",\"attributes\":{\"name\":\"Security Audit Dataset\",\"product_filters\":[{\"product\":\"metrics\",\"filters\":[\"@application.id:ABCD\"]}],\"principals\":[\"role:94172442-be03-11e9-a77a-3b7612558ac1\"]}}}\n",
+ "body": "{\"data\":{\"type\":\"dataset\",\"id\":\"ad02f467-8bdc-42d6-85b5-d538508741bc\",\"attributes\":{\"name\":\"Security Audit DAC\",\"product_filters\":[{\"product\":\"logs\",\"filters\":[\"@application.id:ABCD\"]}],\"principals\":[\"role:94172442-be03-11e9-a77a-3b7612558ac1\"]}}}\n",
"headers": {
"Content-Type": [
"application/json"
@@ -27,18 +27,18 @@
"timeToLive": {
"unlimited": true
},
- "id": "32c558cf-4a2e-f914-f443-ab94000addcd"
+ "id": "9afbe4de-1a01-2167-93a5-958a7f6a8090"
},
{
"httpRequest": {
"headers": {},
"method": "GET",
- "path": "/api/v2/datasets/9e576299-3cc1-4145-8aad-67a1ab914829",
+ "path": "/api/v2/datasets/ad02f467-8bdc-42d6-85b5-d538508741bc",
"keepAlive": false,
"secure": true
},
"httpResponse": {
- "body": "{\"data\":{\"type\":\"dataset\",\"id\":\"9e576299-3cc1-4145-8aad-67a1ab914829\",\"attributes\":{\"name\":\"Security Audit Dataset\",\"product_filters\":[{\"product\":\"metrics\",\"filters\":[\"@application.id:ABCD\"]}],\"principals\":[\"role:94172442-be03-11e9-a77a-3b7612558ac1\"]}}}\n",
+ "body": "{\"data\":{\"type\":\"dataset\",\"id\":\"ad02f467-8bdc-42d6-85b5-d538508741bc\",\"attributes\":{\"name\":\"Security Audit DAC\",\"product_filters\":[{\"product\":\"logs\",\"filters\":[\"@application.id:ABCD\"]}],\"principals\":[\"role:94172442-be03-11e9-a77a-3b7612558ac1\"]}}}\n",
"headers": {
"Content-Type": [
"application/json"
@@ -53,13 +53,13 @@
"timeToLive": {
"unlimited": true
},
- "id": "5f6432cf-6e61-c956-e2a5-7822c9c7a3ac"
+ "id": "fe1a484f-d6c5-d882-32b3-a96cdcf8c7d1"
},
{
"httpRequest": {
"headers": {},
"method": "DELETE",
- "path": "/api/v2/datasets/9e576299-3cc1-4145-8aad-67a1ab914829",
+ "path": "/api/v2/datasets/ad02f467-8bdc-42d6-85b5-d538508741bc",
"keepAlive": false,
"secure": true
},
@@ -78,6 +78,6 @@
"timeToLive": {
"unlimited": true
},
- "id": "347efd06-18b8-98bd-c9c7-745a1d2f53cf"
+ "id": "ea381fb6-be6a-e0e2-1127-3919bcf9279c"
}
]
\ No newline at end of file
diff --git a/src/test/resources/cassettes/features/v2/Get_a_single_dataset_by_ID_returns_Bad_Request_response.freeze b/src/test/resources/cassettes/features/v2/Get_a_single_dataset_by_ID_returns_Bad_Request_response.freeze
deleted file mode 100644
index f1b51544443..00000000000
--- a/src/test/resources/cassettes/features/v2/Get_a_single_dataset_by_ID_returns_Bad_Request_response.freeze
+++ /dev/null
@@ -1 +0,0 @@
-2025-07-29T20:36:00.009Z
\ No newline at end of file
diff --git a/src/test/resources/cassettes/features/v2/Get_a_single_dataset_by_ID_returns_OK_response.freeze b/src/test/resources/cassettes/features/v2/Get_a_single_dataset_by_ID_returns_OK_response.freeze
deleted file mode 100644
index e339d721db2..00000000000
--- a/src/test/resources/cassettes/features/v2/Get_a_single_dataset_by_ID_returns_OK_response.freeze
+++ /dev/null
@@ -1 +0,0 @@
-2025-07-29T20:36:00.186Z
\ No newline at end of file
diff --git a/src/test/resources/cassettes/features/v2/Get_all_Data_Access_Control_datasets_returns_OK_response.freeze b/src/test/resources/cassettes/features/v2/Get_all_Data_Access_Control_datasets_returns_OK_response.freeze
new file mode 100644
index 00000000000..2ae057fd77f
--- /dev/null
+++ b/src/test/resources/cassettes/features/v2/Get_all_Data_Access_Control_datasets_returns_OK_response.freeze
@@ -0,0 +1 @@
+2026-03-26T21:30:12.747Z
\ No newline at end of file
diff --git a/src/test/resources/cassettes/features/v2/Get_all_Data_Access_Control_datasets_returns_OK_response.json b/src/test/resources/cassettes/features/v2/Get_all_Data_Access_Control_datasets_returns_OK_response.json
new file mode 100644
index 00000000000..b2cac52e818
--- /dev/null
+++ b/src/test/resources/cassettes/features/v2/Get_all_Data_Access_Control_datasets_returns_OK_response.json
@@ -0,0 +1,83 @@
+[
+ {
+ "httpRequest": {
+ "body": {
+ "type": "JSON",
+ "json": "{\"data\":{\"attributes\":{\"name\":\"Security Audit DAC\",\"principals\":[\"role:94172442-be03-11e9-a77a-3b7612558ac1\"],\"product_filters\":[{\"filters\":[\"@application.id:ABCD\"],\"product\":\"logs\"}]},\"type\":\"dataset\"}}"
+ },
+ "headers": {},
+ "method": "POST",
+ "path": "/api/v2/datasets",
+ "keepAlive": false,
+ "secure": true
+ },
+ "httpResponse": {
+ "body": "{\"data\":{\"type\":\"dataset\",\"id\":\"2e6e3a20-1ada-4a78-b583-d08fe4e3e8ea\",\"attributes\":{\"name\":\"Security Audit DAC\",\"product_filters\":[{\"product\":\"logs\",\"filters\":[\"@application.id:ABCD\"]}],\"principals\":[\"role:94172442-be03-11e9-a77a-3b7612558ac1\"]}}}\n",
+ "headers": {
+ "Content-Type": [
+ "application/json"
+ ]
+ },
+ "statusCode": 200,
+ "reasonPhrase": "OK"
+ },
+ "times": {
+ "remainingTimes": 1
+ },
+ "timeToLive": {
+ "unlimited": true
+ },
+ "id": "9afbe4de-1a01-2167-93a5-958a7f6a8093"
+ },
+ {
+ "httpRequest": {
+ "headers": {},
+ "method": "GET",
+ "path": "/api/v2/datasets",
+ "keepAlive": false,
+ "secure": true
+ },
+ "httpResponse": {
+ "body": "{\"data\":[{\"type\":\"dataset\",\"id\":\"98648aa9-bf46-45b5-af42-b8466a42108c\",\"attributes\":{\"name\":\"HR Dataset\",\"product_filters\":[{\"product\":\"rum\",\"filters\":[\"@application.id:123\"]}],\"principals\":[\"role:94172442-be03-11e9-a77a-3b7612558ac1\"],\"created_by\":\"5fc21484-7314-11f0-86cc-a2f12af268bf\",\"created_at\":\"2025-08-27T15:05:18.148596Z\"}},{\"type\":\"dataset\",\"id\":\"2e6e3a20-1ada-4a78-b583-d08fe4e3e8ea\",\"attributes\":{\"name\":\"Security Audit DAC\",\"product_filters\":[{\"product\":\"logs\",\"filters\":[\"@application.id:ABCD\"]}],\"principals\":[\"role:94172442-be03-11e9-a77a-3b7612558ac1\"],\"created_by\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"created_at\":\"2026-03-26T21:30:12.944938Z\"}},{\"type\":\"dataset\",\"id\":\"9559049b-bcbc-420d-9f33-38c426cf1541\",\"attributes\":{\"name\":\"Security Audit Dataset\",\"product_filters\":[{\"product\":\"metrics\",\"filters\":[\"@application.id:ABCD\"]}],\"principals\":[\"role:94172442-be03-11e9-a77a-3b7612558ac1\"],\"created_by\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"created_at\":\"2025-07-31T17:26:56.804551Z\"}},{\"type\":\"dataset\",\"id\":\"ce9d9376-61bd-437f-93cc-43b5f754c92d\",\"attributes\":{\"name\":\"tf-test-Update-1773232609-updated\",\"product_filters\":[{\"product\":\"apm\",\"filters\":[\"service:test\"]},{\"product\":\"rum\",\"filters\":[\"@application.id:ce9843b0-7a45-453c-a831-55dd15f85141\"]}],\"principals\":[\"role:94172442-be03-11e9-a77a-3b7612558ac1\",\"team:4ca6f4c0-88e4-4d42-b7bd-dea73da5c59e\"],\"created_by\":\"9919ec9b-ebc7-49ee-8dc8-03626e717cca\",\"created_at\":\"2026-03-11T12:36:50.541349Z\"}}]}\n",
+ "headers": {
+ "Content-Type": [
+ "application/json"
+ ]
+ },
+ "statusCode": 200,
+ "reasonPhrase": "OK"
+ },
+ "times": {
+ "remainingTimes": 1
+ },
+ "timeToLive": {
+ "unlimited": true
+ },
+ "id": "c38493f7-b33f-3354-897c-e07393c8ebdf"
+ },
+ {
+ "httpRequest": {
+ "headers": {},
+ "method": "DELETE",
+ "path": "/api/v2/datasets/2e6e3a20-1ada-4a78-b583-d08fe4e3e8ea",
+ "keepAlive": false,
+ "secure": true
+ },
+ "httpResponse": {
+ "headers": {
+ "Content-Type": [
+ "application/json"
+ ]
+ },
+ "statusCode": 204,
+ "reasonPhrase": "No Content"
+ },
+ "times": {
+ "remainingTimes": 1
+ },
+ "timeToLive": {
+ "unlimited": true
+ },
+ "id": "8637430b-a929-622c-3a43-bc994905da50"
+ }
+]
\ No newline at end of file
diff --git a/src/test/resources/cassettes/features/v2/Get_all_datasets_returns_OK_response.freeze b/src/test/resources/cassettes/features/v2/Get_all_datasets_returns_OK_response.freeze
deleted file mode 100644
index 7db64cb6bc1..00000000000
--- a/src/test/resources/cassettes/features/v2/Get_all_datasets_returns_OK_response.freeze
+++ /dev/null
@@ -1 +0,0 @@
-2025-07-29T20:36:00.713Z
\ No newline at end of file
diff --git a/src/test/resources/cassettes/features/v2/Get_all_datasets_returns_OK_response.json b/src/test/resources/cassettes/features/v2/Get_all_datasets_returns_OK_response.json
deleted file mode 100644
index f6443799769..00000000000
--- a/src/test/resources/cassettes/features/v2/Get_all_datasets_returns_OK_response.json
+++ /dev/null
@@ -1,83 +0,0 @@
-[
- {
- "httpRequest": {
- "body": {
- "type": "JSON",
- "json": "{\"data\":{\"attributes\":{\"name\":\"Security Audit Dataset\",\"principals\":[\"role:94172442-be03-11e9-a77a-3b7612558ac1\"],\"product_filters\":[{\"filters\":[\"@application.id:ABCD\"],\"product\":\"metrics\"}]},\"type\":\"dataset\"}}"
- },
- "headers": {},
- "method": "POST",
- "path": "/api/v2/datasets",
- "keepAlive": false,
- "secure": true
- },
- "httpResponse": {
- "body": "{\"data\":{\"type\":\"dataset\",\"id\":\"b0f617b4-affb-4411-970a-2c157933514c\",\"attributes\":{\"name\":\"Security Audit Dataset\",\"product_filters\":[{\"product\":\"metrics\",\"filters\":[\"@application.id:ABCD\"]}],\"principals\":[\"role:94172442-be03-11e9-a77a-3b7612558ac1\"]}}}\n",
- "headers": {
- "Content-Type": [
- "application/json"
- ]
- },
- "statusCode": 200,
- "reasonPhrase": "OK"
- },
- "times": {
- "remainingTimes": 1
- },
- "timeToLive": {
- "unlimited": true
- },
- "id": "32c558cf-4a2e-f914-f443-ab94000addca"
- },
- {
- "httpRequest": {
- "headers": {},
- "method": "GET",
- "path": "/api/v2/datasets",
- "keepAlive": false,
- "secure": true
- },
- "httpResponse": {
- "body": "{\"data\":[{\"type\":\"dataset\",\"id\":\"b0f617b4-affb-4411-970a-2c157933514c\",\"attributes\":{\"name\":\"Security Audit Dataset\",\"product_filters\":[{\"product\":\"metrics\",\"filters\":[\"@application.id:ABCD\"]}],\"principals\":[\"role:94172442-be03-11e9-a77a-3b7612558ac1\"],\"created_by\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"created_at\":\"2025-07-29T20:36:00.94442Z\"}}]}\n",
- "headers": {
- "Content-Type": [
- "application/json"
- ]
- },
- "statusCode": 200,
- "reasonPhrase": "OK"
- },
- "times": {
- "remainingTimes": 1
- },
- "timeToLive": {
- "unlimited": true
- },
- "id": "c38493f7-b33f-3354-897c-e07393c8ebdf"
- },
- {
- "httpRequest": {
- "headers": {},
- "method": "DELETE",
- "path": "/api/v2/datasets/b0f617b4-affb-4411-970a-2c157933514c",
- "keepAlive": false,
- "secure": true
- },
- "httpResponse": {
- "headers": {
- "Content-Type": [
- "application/json"
- ]
- },
- "statusCode": 204,
- "reasonPhrase": "No Content"
- },
- "times": {
- "remainingTimes": 1
- },
- "timeToLive": {
- "unlimited": true
- },
- "id": "c45d6552-7feb-2f60-bba6-55c4c2d537ff"
- }
-]
\ No newline at end of file
diff --git a/src/test/resources/com/datadog/api/client/v2/api/datasets.feature b/src/test/resources/com/datadog/api/client/v2/api/data_access_controls.feature
similarity index 60%
rename from src/test/resources/com/datadog/api/client/v2/api/datasets.feature
rename to src/test/resources/com/datadog/api/client/v2/api/data_access_controls.feature
index 2e089dd0181..d98e2a182aa 100644
--- a/src/test/resources/com/datadog/api/client/v2/api/datasets.feature
+++ b/src/test/resources/com/datadog/api/client/v2/api/data_access_controls.feature
@@ -1,123 +1,112 @@
-@endpoint(datasets) @endpoint(datasets-v2)
-Feature: Datasets
- Data Access Controls in Datadog is a feature that allows administrators
- and access managers to regulate access to sensitive data. By defining
- Restricted Datasets, you can ensure that only specific teams or roles can
- view certain types of telemetry (for example, logs, traces, metrics, and
- RUM data).
+@endpoint(data-access-controls) @endpoint(data-access-controls-v2)
+Feature: Data Access Controls
+ Manage [Data Access
+ Controls](https://docs.datadoghq.com/account_management/rbac/data_access/)
+ programmatically using Datasets. Data Access Controls in Datadog allows
+ administrators and access managers to regulate access to sensitive data.
+ By defining Restricted Datasets, you can ensure that only specific teams
+ or roles can view certain types of telemetry (for example, logs, traces,
+ metrics, and RUM data).
Background:
Given a valid "apiKeyAuth" key in the system
And a valid "appKeyAuth" key in the system
- And an instance of "Datasets" API
+ And an instance of "DataAccessControls" API
@skip-go @skip-java @skip-python @skip-ruby @skip-rust @skip-terraform-config @skip-typescript @skip-validation @team:DataDog/aaa-granular-access
- Scenario: Create a dataset returns "Bad Request" response
+ Scenario: Create a Data Access Control dataset returns "Bad Request" response
Given new "CreateDataset" request
- And operation "CreateDataset" enabled
And body with value {"test": "bad_request"}
When the request is sent
Then the response status is 400 Bad Request
@skip-terraform-config @team:DataDog/aaa-granular-access
- Scenario: Create a dataset returns "Conflict" response
+ Scenario: Create a Data Access Control dataset returns "Conflict" response
Given there is a valid "dataset" in the system
- And operation "CreateDataset" enabled
And new "CreateDataset" request
- And body with value {"data": {"attributes": {"name": "Security Audit Dataset", "principals": ["role:94172442-be03-11e9-a77a-3b7612558ac1"], "product_filters": [{"filters": ["@application.id:ABCD"], "product": "metrics"}]}, "type": "dataset"}}
+ And body with value {"data": {"attributes": {"name": "Security Audit DAC", "principals": ["role:94172442-be03-11e9-a77a-3b7612558ac1"], "product_filters": [{"filters": ["@application.id:ABCD"], "product": "logs"}]}, "type": "dataset"}}
When the request is sent
Then the response status is 409 Conflict
@skip-terraform-config @team:DataDog/aaa-granular-access
- Scenario: Create a dataset returns "OK" response
+ Scenario: Create a Data Access Control dataset returns "OK" response
Given new "CreateDataset" request
- And operation "CreateDataset" enabled
- And body with value {"data": {"attributes": {"name": "Security Audit Dataset", "principals": ["role:94172442-be03-11e9-a77a-3b7612558ac1"], "product_filters": [{"filters": ["@application.id:ABCD"], "product": "metrics"}]}, "type": "dataset"}}
+ And body with value {"data": {"attributes": {"name": "Security Audit DAC", "principals": ["role:94172442-be03-11e9-a77a-3b7612558ac1"], "product_filters": [{"filters": ["@application.id:ABCD"], "product": "logs"}]}, "type": "dataset"}}
When the request is sent
Then the response status is 200 OK
@skip-terraform-config @team:DataDog/aaa-granular-access
- Scenario: Delete a dataset returns "Bad Request" response
+ Scenario: Delete a Data Access Control dataset returns "Bad Request" response
Given new "DeleteDataset" request
- And operation "DeleteDataset" enabled
And request contains "dataset_id" parameter with value "malformed_id"
When the request is sent
Then the response status is 400 Bad Request
@skip-terraform-config @team:DataDog/aaa-granular-access
- Scenario: Delete a dataset returns "No Content" response
+ Scenario: Delete a Data Access Control dataset returns "No Content" response
Given there is a valid "dataset" in the system
- And operation "DeleteDataset" enabled
And new "DeleteDataset" request
And request contains "dataset_id" parameter from "dataset.data.id"
When the request is sent
Then the response status is 204 No Content
@skip-terraform-config @team:DataDog/aaa-granular-access
- Scenario: Delete a dataset returns "Not Found" response
+ Scenario: Delete a Data Access Control dataset returns "Not Found" response
Given new "DeleteDataset" request
- And operation "DeleteDataset" enabled
And request contains "dataset_id" parameter with value "00000000-0000-0000-0000-000000000000"
When the request is sent
Then the response status is 404 Not Found
@skip-go @skip-java @skip-python @skip-ruby @skip-rust @skip-terraform-config @skip-typescript @skip-validation @team:DataDog/aaa-granular-access
- Scenario: Edit a dataset returns "Bad Request" response
+ Scenario: Edit a Data Access Control dataset returns "Bad Request" response
Given new "UpdateDataset" request
- And operation "UpdateDataset" enabled
And request contains "dataset_id" parameter with value "malformed_id"
When the request is sent
Then the response status is 400 Bad Request
@skip @skip-terraform-config @team:DataDog/aaa-granular-access
- Scenario: Edit a dataset returns "Not Found" response
+ Scenario: Edit a Data Access Control dataset returns "Not Found" response
Given there is a valid "dataset" in the system
- And operation "UpdateDataset" enabled
And new "UpdateDataset" request
And request contains "dataset_id" parameter from "dataset.data.id"
- And body with value {"data": {"attributes": {"name": "Security Audit Dataset", "principals": ["role:94172442-be03-11e9-a77a-3b7612558ac1"], "product_filters": [{"filters": ["@application.id:1234"], "product": "metrics"}]}, "type": "dataset"}}
+ And body with value {"data": {"attributes": {"name": "Security Audit DAC", "principals": ["role:94172442-be03-11e9-a77a-3b7612558ac1"], "product_filters": [{"filters": ["@application.id:1234"], "product": "logs"}]}, "type": "dataset"}}
When the request is sent
Then the response status is 404 Not Found
@skip-terraform-config @team:DataDog/aaa-granular-access
- Scenario: Edit a dataset returns "OK" response
+ Scenario: Edit a Data Access Control dataset returns "OK" response
Given there is a valid "dataset" in the system
- And operation "UpdateDataset" enabled
And new "UpdateDataset" request
And request contains "dataset_id" parameter from "dataset.data.id"
- And body with value {"data": {"attributes": {"name": "Security Audit Dataset", "principals": ["role:94172442-be03-11e9-a77a-3b7612558ac1"], "product_filters": [{"filters": ["@application.id:1234"], "product": "metrics"}]}, "type": "dataset"}}
+ And body with value {"data": {"attributes": {"name": "Security Audit DAC", "principals": ["role:94172442-be03-11e9-a77a-3b7612558ac1"], "product_filters": [{"filters": ["@application.id:1234"], "product": "logs"}]}, "type": "dataset"}}
When the request is sent
Then the response status is 200 OK
@skip-terraform-config @team:DataDog/aaa-granular-access
- Scenario: Get a single dataset by ID returns "Bad Request" response
+ Scenario: Get a Data Access Control dataset by ID returns "Bad Request" response
Given new "GetDataset" request
- And operation "GetDataset" enabled
And request contains "dataset_id" parameter with value "malformed_id"
When the request is sent
Then the response status is 400 Bad Request
@skip @skip-terraform-config @team:DataDog/aaa-granular-access
- Scenario: Get a single dataset by ID returns "Not Found" response
- Given operation "GetDataset" enabled
- And new "GetDataset" request
+ Scenario: Get a Data Access Control dataset by ID returns "Not Found" response
+ Given new "GetDataset" request
And request contains "dataset_id" parameter with value "00000000-0000-0000-0000-000000000000"
When the request is sent
Then the response status is 404 Not Found
@skip-terraform-config @team:DataDog/aaa-granular-access
- Scenario: Get a single dataset by ID returns "OK" response
+ Scenario: Get a Data Access Control dataset by ID returns "OK" response
Given there is a valid "dataset" in the system
- And operation "GetDataset" enabled
And new "GetDataset" request
And request contains "dataset_id" parameter from "dataset.data.id"
When the request is sent
Then the response status is 200 OK
@skip-terraform-config @team:DataDog/aaa-granular-access
- Scenario: Get all datasets returns "OK" response
+ Scenario: Get all Data Access Control datasets returns "OK" response
Given there is a valid "dataset" in the system
- And operation "GetAllDatasets" enabled
And new "GetAllDatasets" request
When the request is sent
Then the response status is 200 OK
diff --git a/src/test/resources/com/datadog/api/client/v2/api/given.json b/src/test/resources/com/datadog/api/client/v2/api/given.json
index 6c42beffa17..af604e258cd 100644
--- a/src/test/resources/com/datadog/api/client/v2/api/given.json
+++ b/src/test/resources/com/datadog/api/client/v2/api/given.json
@@ -352,12 +352,12 @@
{
"name": "body",
"origin": "request",
- "value": "{\n \"data\": {\n \"attributes\": {\n \"name\": \"Security Audit Dataset\",\n \"principals\": [\n \"role:94172442-be03-11e9-a77a-3b7612558ac1\"\n ],\n \"product_filters\": [\n {\n \"filters\": [\n \"@application.id:ABCD\"\n ],\n \"product\": \"metrics\"\n }\n ]\n },\n \"type\": \"dataset\"\n }\n}"
+ "value": "{\n \"data\": {\n \"attributes\": {\n \"name\": \"Security Audit DAC\",\n \"principals\": [\n \"role:94172442-be03-11e9-a77a-3b7612558ac1\"\n ],\n \"product_filters\": [\n {\n \"filters\": [\n \"@application.id:ABCD\"\n ],\n \"product\": \"logs\"\n }\n ]\n },\n \"type\": \"dataset\"\n }\n}"
}
],
"step": "there is a valid \"dataset\" in the system",
"key": "dataset",
- "tag": "Datasets",
+ "tag": "Data Access Controls",
"operationId": "CreateDataset"
},
{
diff --git a/src/test/resources/com/datadog/api/client/v2/api/undo.json b/src/test/resources/com/datadog/api/client/v2/api/undo.json
index dcdc0219f9c..fd5768703de 100644
--- a/src/test/resources/com/datadog/api/client/v2/api/undo.json
+++ b/src/test/resources/com/datadog/api/client/v2/api/undo.json
@@ -1471,13 +1471,13 @@
}
},
"GetAllDatasets": {
- "tag": "Datasets",
+ "tag": "Data Access Controls",
"undo": {
"type": "safe"
}
},
"CreateDataset": {
- "tag": "Datasets",
+ "tag": "Data Access Controls",
"undo": {
"operationId": "DeleteDataset",
"parameters": [
@@ -1490,19 +1490,19 @@
}
},
"DeleteDataset": {
- "tag": "Datasets",
+ "tag": "Data Access Controls",
"undo": {
"type": "idempotent"
}
},
"GetDataset": {
- "tag": "Datasets",
+ "tag": "Data Access Controls",
"undo": {
"type": "safe"
}
},
"UpdateDataset": {
- "tag": "Datasets",
+ "tag": "Data Access Controls",
"undo": {
"type": "idempotent"
}