Skip to content

Commit 1827ff0

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
andauthored
Add Row Update Endpoints to Reference Tables API spec (#3256)
Co-authored-by: ci.datadog-api-spec <packages@datadoghq.com>
1 parent acc6f05 commit 1827ff0

File tree

11 files changed

+1440
-0
lines changed

11 files changed

+1440
-0
lines changed

.generator/schemas/v2/openapi.yaml

Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6900,6 +6900,72 @@ components:
69006900
required:
69016901
- data
69026902
type: object
6903+
BatchDeleteRowsRequestArray:
6904+
description: The request body for deleting multiple rows from a reference table.
6905+
properties:
6906+
data:
6907+
items:
6908+
$ref: '#/components/schemas/BatchDeleteRowsRequestData'
6909+
maxItems: 200
6910+
type: array
6911+
required:
6912+
- data
6913+
type: object
6914+
BatchDeleteRowsRequestData:
6915+
description: Row resource containing a single row identifier for deletion.
6916+
properties:
6917+
id:
6918+
example: primary_key_value
6919+
type: string
6920+
type:
6921+
$ref: '#/components/schemas/TableRowResourceDataType'
6922+
required:
6923+
- type
6924+
- id
6925+
type: object
6926+
BatchUpsertRowsRequestArray:
6927+
description: The request body for creating or updating multiple rows into a
6928+
reference table.
6929+
properties:
6930+
data:
6931+
items:
6932+
$ref: '#/components/schemas/BatchUpsertRowsRequestData'
6933+
maxItems: 200
6934+
type: array
6935+
required:
6936+
- data
6937+
type: object
6938+
BatchUpsertRowsRequestData:
6939+
description: Row resource containing a single row identifier and its column
6940+
values.
6941+
properties:
6942+
attributes:
6943+
$ref: '#/components/schemas/BatchUpsertRowsRequestDataAttributes'
6944+
id:
6945+
example: primary_key_value
6946+
type: string
6947+
type:
6948+
$ref: '#/components/schemas/TableRowResourceDataType'
6949+
required:
6950+
- type
6951+
- id
6952+
type: object
6953+
BatchUpsertRowsRequestDataAttributes:
6954+
description: Attributes containing row data values for row creation or update
6955+
operations.
6956+
properties:
6957+
values:
6958+
additionalProperties:
6959+
x-required-field: true
6960+
description: Key-value pairs representing row data, where keys are field
6961+
names from the schema.
6962+
example:
6963+
example_key_value: primary_key_value
6964+
name: row_name
6965+
type: object
6966+
required:
6967+
- values
6968+
type: object
69036969
BillConfig:
69046970
description: Bill config.
69056971
properties:
@@ -76823,6 +76889,47 @@ paths:
7682376889
tags:
7682476890
- Reference Tables
7682576891
/api/v2/reference-tables/tables/{id}/rows:
76892+
delete:
76893+
description: Delete multiple rows from a Reference Table by their primary key
76894+
values.
76895+
operationId: DeleteRows
76896+
parameters:
76897+
- description: Unique identifier of the reference table to delete rows from
76898+
in: path
76899+
name: id
76900+
required: true
76901+
schema:
76902+
type: string
76903+
requestBody:
76904+
content:
76905+
application/json:
76906+
schema:
76907+
$ref: '#/components/schemas/BatchDeleteRowsRequestArray'
76908+
required: true
76909+
responses:
76910+
'200':
76911+
description: Rows deleted successfully
76912+
'400':
76913+
$ref: '#/components/responses/BadRequestResponse'
76914+
'403':
76915+
$ref: '#/components/responses/ForbiddenResponse'
76916+
'404':
76917+
$ref: '#/components/responses/NotFoundResponse'
76918+
'429':
76919+
$ref: '#/components/responses/TooManyRequestsResponse'
76920+
'500':
76921+
content:
76922+
application/json:
76923+
schema:
76924+
$ref: '#/components/schemas/APIErrorResponse'
76925+
description: Internal Server Error
76926+
security:
76927+
- apiKeyAuth: []
76928+
appKeyAuth: []
76929+
- AuthZ: []
76930+
summary: Delete rows
76931+
tags:
76932+
- Reference Tables
7682676933
get:
7682776934
description: Get reference table rows by their primary key values.
7682876935
operationId: GetRowsByID
@@ -76867,6 +76974,48 @@ paths:
7686776974
summary: Get rows by id
7686876975
tags:
7686976976
- Reference Tables
76977+
post:
76978+
description: Create or update rows in a Reference Table by their primary key
76979+
values. If a row with the specified primary key exists, it is updated; otherwise,
76980+
a new row is created.
76981+
operationId: UpsertRows
76982+
parameters:
76983+
- description: Unique identifier of the reference table to upsert rows into
76984+
in: path
76985+
name: id
76986+
required: true
76987+
schema:
76988+
type: string
76989+
requestBody:
76990+
content:
76991+
application/json:
76992+
schema:
76993+
$ref: '#/components/schemas/BatchUpsertRowsRequestArray'
76994+
required: true
76995+
responses:
76996+
'200':
76997+
description: Rows created or updated successfully
76998+
'400':
76999+
$ref: '#/components/responses/BadRequestResponse'
77000+
'403':
77001+
$ref: '#/components/responses/ForbiddenResponse'
77002+
'404':
77003+
$ref: '#/components/responses/NotFoundResponse'
77004+
'429':
77005+
$ref: '#/components/responses/TooManyRequestsResponse'
77006+
'500':
77007+
content:
77008+
application/json:
77009+
schema:
77010+
$ref: '#/components/schemas/APIErrorResponse'
77011+
description: Internal Server Error
77012+
security:
77013+
- apiKeyAuth: []
77014+
appKeyAuth: []
77015+
- AuthZ: []
77016+
summary: Upsert rows
77017+
tags:
77018+
- Reference Tables
7687077019
/api/v2/reference-tables/uploads:
7687177020
post:
7687277021
description: Create a reference table upload for bulk data ingestion
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
// Delete rows returns "Rows deleted successfully" response
2+
3+
import com.datadog.api.client.ApiClient;
4+
import com.datadog.api.client.ApiException;
5+
import com.datadog.api.client.v2.api.ReferenceTablesApi;
6+
import com.datadog.api.client.v2.model.BatchDeleteRowsRequestArray;
7+
import com.datadog.api.client.v2.model.BatchDeleteRowsRequestData;
8+
import com.datadog.api.client.v2.model.TableRowResourceDataType;
9+
import java.util.Collections;
10+
11+
public class Example {
12+
public static void main(String[] args) {
13+
ApiClient defaultClient = ApiClient.getDefaultApiClient();
14+
ReferenceTablesApi apiInstance = new ReferenceTablesApi(defaultClient);
15+
16+
BatchDeleteRowsRequestArray body =
17+
new BatchDeleteRowsRequestArray()
18+
.data(
19+
Collections.singletonList(
20+
new BatchDeleteRowsRequestData()
21+
.id("primary_key_value")
22+
.type(TableRowResourceDataType.ROW)));
23+
24+
try {
25+
apiInstance.deleteRows("id", body);
26+
} catch (ApiException e) {
27+
System.err.println("Exception when calling ReferenceTablesApi#deleteRows");
28+
System.err.println("Status code: " + e.getCode());
29+
System.err.println("Reason: " + e.getResponseBody());
30+
System.err.println("Response headers: " + e.getResponseHeaders());
31+
e.printStackTrace();
32+
}
33+
}
34+
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
// Upsert rows returns "Rows created or updated successfully" response
2+
3+
import com.datadog.api.client.ApiClient;
4+
import com.datadog.api.client.ApiException;
5+
import com.datadog.api.client.v2.api.ReferenceTablesApi;
6+
import com.datadog.api.client.v2.model.BatchUpsertRowsRequestArray;
7+
import com.datadog.api.client.v2.model.BatchUpsertRowsRequestData;
8+
import com.datadog.api.client.v2.model.BatchUpsertRowsRequestDataAttributes;
9+
import com.datadog.api.client.v2.model.TableRowResourceDataType;
10+
import java.util.Collections;
11+
import java.util.Map;
12+
13+
public class Example {
14+
public static void main(String[] args) {
15+
ApiClient defaultClient = ApiClient.getDefaultApiClient();
16+
ReferenceTablesApi apiInstance = new ReferenceTablesApi(defaultClient);
17+
18+
BatchUpsertRowsRequestArray body =
19+
new BatchUpsertRowsRequestArray()
20+
.data(
21+
Collections.singletonList(
22+
new BatchUpsertRowsRequestData()
23+
.attributes(
24+
new BatchUpsertRowsRequestDataAttributes()
25+
.values(
26+
Map.ofEntries(
27+
Map.entry("example_key_value", "primary_key_value"),
28+
Map.entry("name", "row_name"))))
29+
.id("primary_key_value")
30+
.type(TableRowResourceDataType.ROW)));
31+
32+
try {
33+
apiInstance.upsertRows("id", body);
34+
} catch (ApiException e) {
35+
System.err.println("Exception when calling ReferenceTablesApi#upsertRows");
36+
System.err.println("Status code: " + e.getCode());
37+
System.err.println("Reason: " + e.getResponseBody());
38+
System.err.println("Response headers: " + e.getResponseHeaders());
39+
e.printStackTrace();
40+
}
41+
}
42+
}

0 commit comments

Comments
 (0)