Skip to content

Commit 05ad14a

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
andauthored
Add Batch Rows Query Endpoint to Reference Tables API spec (DataDog#3119)
Co-authored-by: ci.datadog-api-spec <packages@datadoghq.com>
1 parent 47a6847 commit 05ad14a

18 files changed

Lines changed: 1135 additions & 12 deletions

.generator/schemas/v2/openapi.yaml

Lines changed: 135 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7475,23 +7475,89 @@ components:
74757475
properties:
74767476
data:
74777477
items:
7478-
$ref: '#/components/schemas/BatchDeleteRowsRequestData'
7478+
$ref: '#/components/schemas/TableRowResourceIdentifier'
74797479
maxItems: 200
74807480
type: array
74817481
required:
74827482
- data
74837483
type: object
7484-
BatchDeleteRowsRequestData:
7485-
description: Row resource containing a single row identifier for deletion.
7484+
BatchRowsQueryDataType:
7485+
default: reference-tables-batch-rows-query
7486+
description: Resource type identifier for batch queries of reference table rows.
7487+
enum:
7488+
- reference-tables-batch-rows-query
7489+
example: reference-tables-batch-rows-query
7490+
type: string
7491+
x-enum-varnames:
7492+
- REFERENCE_TABLES_BATCH_ROWS_QUERY
7493+
BatchRowsQueryRequest:
7494+
properties:
7495+
data:
7496+
$ref: '#/components/schemas/BatchRowsQueryRequestData'
7497+
type: object
7498+
BatchRowsQueryRequestData:
7499+
properties:
7500+
attributes:
7501+
$ref: '#/components/schemas/BatchRowsQueryRequestDataAttributes'
7502+
type:
7503+
$ref: '#/components/schemas/BatchRowsQueryDataType'
7504+
required:
7505+
- type
7506+
type: object
7507+
BatchRowsQueryRequestDataAttributes:
7508+
properties:
7509+
row_ids:
7510+
example:
7511+
- row_id_1
7512+
- row_id_2
7513+
items:
7514+
type: string
7515+
type: array
7516+
table_id:
7517+
example: 00000000-0000-0000-0000-000000000000
7518+
type: string
7519+
required:
7520+
- row_ids
7521+
- table_id
7522+
type: object
7523+
BatchRowsQueryResponse:
7524+
example:
7525+
data:
7526+
id: 00000000-0000-0000-0000-000000000000
7527+
relationships:
7528+
rows:
7529+
data:
7530+
- id: row_id_1
7531+
type: row
7532+
- id: row_id_2
7533+
type: row
7534+
type: reference-tables-batch-rows-query
7535+
properties:
7536+
data:
7537+
$ref: '#/components/schemas/BatchRowsQueryResponseData'
7538+
type: object
7539+
BatchRowsQueryResponseData:
74867540
properties:
74877541
id:
7488-
example: primary_key_value
74897542
type: string
7543+
relationships:
7544+
$ref: '#/components/schemas/BatchRowsQueryResponseDataRelationships'
74907545
type:
7491-
$ref: '#/components/schemas/TableRowResourceDataType'
7546+
$ref: '#/components/schemas/BatchRowsQueryDataType'
74927547
required:
74937548
- type
7494-
- id
7549+
type: object
7550+
BatchRowsQueryResponseDataRelationships:
7551+
properties:
7552+
rows:
7553+
$ref: '#/components/schemas/BatchRowsQueryResponseDataRelationshipsRows'
7554+
type: object
7555+
BatchRowsQueryResponseDataRelationshipsRows:
7556+
properties:
7557+
data:
7558+
items:
7559+
$ref: '#/components/schemas/TableRowResourceIdentifier'
7560+
type: array
74957561
type: object
74967562
BatchUpsertRowsRequestArray:
74977563
description: The request body for creating or updating multiple rows into a
@@ -66953,6 +67019,18 @@ components:
6695367019
type: string
6695467020
x-enum-varnames:
6695567021
- ROW
67022+
TableRowResourceIdentifier:
67023+
description: Row resource containing a single row identifier.
67024+
properties:
67025+
id:
67026+
example: primary_key_value
67027+
type: string
67028+
type:
67029+
$ref: '#/components/schemas/TableRowResourceDataType'
67030+
required:
67031+
- type
67032+
- id
67033+
type: object
6695667034
TagsEventAttribute:
6695767035
description: Array of tags associated with your event.
6695867036
example:
@@ -96388,6 +96466,57 @@ paths:
9638896466
operator: OR
9638996467
permissions:
9639096468
- timeseries_query
96469+
/api/v2/reference-tables/queries/batch-rows:
96470+
post:
96471+
description: Batch query reference table rows by their primary key values. Returns
96472+
only found rows in the included array.
96473+
operationId: BatchRowsQuery
96474+
requestBody:
96475+
content:
96476+
application/json:
96477+
examples:
96478+
happy_path:
96479+
summary: Batch query reference table rows by their primary key values.
96480+
value:
96481+
data:
96482+
attributes:
96483+
row_ids:
96484+
- row_id_1
96485+
- row_id_2
96486+
table_id: 00000000-0000-0000-0000-000000000000
96487+
type: reference-tables-batch-rows-query
96488+
schema:
96489+
$ref: '#/components/schemas/BatchRowsQueryRequest'
96490+
required: true
96491+
responses:
96492+
'200':
96493+
content:
96494+
application/json:
96495+
schema:
96496+
$ref: '#/components/schemas/BatchRowsQueryResponse'
96497+
description: Successfully retrieved rows. Some or all requested rows were
96498+
found. Response includes found rows in the included section.
96499+
'400':
96500+
$ref: '#/components/responses/BadRequestResponse'
96501+
'403':
96502+
$ref: '#/components/responses/ForbiddenResponse'
96503+
'404':
96504+
$ref: '#/components/responses/NotFoundResponse'
96505+
'429':
96506+
$ref: '#/components/responses/TooManyRequestsResponse'
96507+
'500':
96508+
content:
96509+
application/json:
96510+
schema:
96511+
$ref: '#/components/schemas/APIErrorResponse'
96512+
description: Internal Server Error
96513+
security:
96514+
- apiKeyAuth: []
96515+
appKeyAuth: []
96516+
- AuthZ: []
96517+
summary: Batch rows query
96518+
tags:
96519+
- Reference Tables
9639196520
/api/v2/reference-tables/tables:
9639296521
get:
9639396522
description: List all reference tables in this organization.
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Batch rows query returns "Successfully retrieved rows. Some or all requested rows were found. Response includes found
2+
# rows in the included section." response
3+
4+
require "datadog_api_client"
5+
api_instance = DatadogAPIClient::V2::ReferenceTablesAPI.new
6+
7+
body = DatadogAPIClient::V2::BatchRowsQueryRequest.new({
8+
data: DatadogAPIClient::V2::BatchRowsQueryRequestData.new({
9+
attributes: DatadogAPIClient::V2::BatchRowsQueryRequestDataAttributes.new({
10+
row_ids: [
11+
"row_id_1",
12+
"row_id_2",
13+
],
14+
table_id: "00000000-0000-0000-0000-000000000000",
15+
}),
16+
type: DatadogAPIClient::V2::BatchRowsQueryDataType::REFERENCE_TABLES_BATCH_ROWS_QUERY,
17+
}),
18+
})
19+
p api_instance.batch_rows_query(body)

examples/v2/reference-tables/DeleteRows.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
body = DatadogAPIClient::V2::BatchDeleteRowsRequestArray.new({
77
data: [
8-
DatadogAPIClient::V2::BatchDeleteRowsRequestData.new({
8+
DatadogAPIClient::V2::TableRowResourceIdentifier.new({
99
id: "primary_key_value",
1010
type: DatadogAPIClient::V2::TableRowResourceDataType::ROW,
1111
}),

features/scenarios_model_mapping.rb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3247,6 +3247,9 @@
32473247
"v2.ListConnections" => {
32483248
"entity" => "String",
32493249
},
3250+
"v2.BatchRowsQuery" => {
3251+
"body" => "BatchRowsQueryRequest",
3252+
},
32503253
"v2.ListTables" => {
32513254
"page_limit" => "Integer",
32523255
"page_offset" => "Integer",

features/v2/reference_tables.feature

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,27 @@ Feature: Reference Tables
77
And a valid "appKeyAuth" key in the system
88
And an instance of "ReferenceTables" API
99

10+
@generated @skip @team:DataDog/redapl-experiences
11+
Scenario: Batch rows query returns "Bad Request" response
12+
Given new "BatchRowsQuery" request
13+
And body with value {"data": {"attributes": {"row_ids": ["row_id_1", "row_id_2"], "table_id": "00000000-0000-0000-0000-000000000000"}, "type": "reference-tables-batch-rows-query"}}
14+
When the request is sent
15+
Then the response status is 400 Bad Request
16+
17+
@generated @skip @team:DataDog/redapl-experiences
18+
Scenario: Batch rows query returns "Not Found" response
19+
Given new "BatchRowsQuery" request
20+
And body with value {"data": {"attributes": {"row_ids": ["row_id_1", "row_id_2"], "table_id": "00000000-0000-0000-0000-000000000000"}, "type": "reference-tables-batch-rows-query"}}
21+
When the request is sent
22+
Then the response status is 404 Not Found
23+
24+
@generated @skip @team:DataDog/redapl-experiences
25+
Scenario: Batch rows query returns "Successfully retrieved rows. Some or all requested rows were found. Response includes found rows in the included section." response
26+
Given new "BatchRowsQuery" request
27+
And body with value {"data": {"attributes": {"row_ids": ["row_id_1", "row_id_2"], "table_id": "00000000-0000-0000-0000-000000000000"}, "type": "reference-tables-batch-rows-query"}}
28+
When the request is sent
29+
Then the response status is 200 Successfully retrieved rows. Some or all requested rows were found. Response includes found rows in the included section.
30+
1031
@generated @skip @team:DataDog/redapl-experiences
1132
Scenario: Create reference table returns "Bad Request" response
1233
Given new "CreateReferenceTable" request

features/v2/undo.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3963,6 +3963,12 @@
39633963
"type": "idempotent"
39643964
}
39653965
},
3966+
"BatchRowsQuery": {
3967+
"tag": "Reference Tables",
3968+
"undo": {
3969+
"type": "safe"
3970+
}
3971+
},
39663972
"ListTables": {
39673973
"tag": "Reference Tables",
39683974
"undo": {

lib/datadog_api_client/inflector.rb

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1394,7 +1394,14 @@ def overrides
13941394
"v2.azure_uc_config_post_request_type" => "AzureUCConfigPostRequestType",
13951395
"v2.azure_uc_configs_response" => "AzureUCConfigsResponse",
13961396
"v2.batch_delete_rows_request_array" => "BatchDeleteRowsRequestArray",
1397-
"v2.batch_delete_rows_request_data" => "BatchDeleteRowsRequestData",
1397+
"v2.batch_rows_query_data_type" => "BatchRowsQueryDataType",
1398+
"v2.batch_rows_query_request" => "BatchRowsQueryRequest",
1399+
"v2.batch_rows_query_request_data" => "BatchRowsQueryRequestData",
1400+
"v2.batch_rows_query_request_data_attributes" => "BatchRowsQueryRequestDataAttributes",
1401+
"v2.batch_rows_query_response" => "BatchRowsQueryResponse",
1402+
"v2.batch_rows_query_response_data" => "BatchRowsQueryResponseData",
1403+
"v2.batch_rows_query_response_data_relationships" => "BatchRowsQueryResponseDataRelationships",
1404+
"v2.batch_rows_query_response_data_relationships_rows" => "BatchRowsQueryResponseDataRelationshipsRows",
13981405
"v2.batch_upsert_rows_request_array" => "BatchUpsertRowsRequestArray",
13991406
"v2.batch_upsert_rows_request_data" => "BatchUpsertRowsRequestData",
14001407
"v2.batch_upsert_rows_request_data_attributes" => "BatchUpsertRowsRequestDataAttributes",
@@ -5169,6 +5176,7 @@ def overrides
51695176
"v2.table_row_resource_data" => "TableRowResourceData",
51705177
"v2.table_row_resource_data_attributes" => "TableRowResourceDataAttributes",
51715178
"v2.table_row_resource_data_type" => "TableRowResourceDataType",
5179+
"v2.table_row_resource_identifier" => "TableRowResourceIdentifier",
51725180
"v2.team" => "Team",
51735181
"v2.team_attributes" => "TeamAttributes",
51745182
"v2.team_connection" => "TeamConnection",

lib/datadog_api_client/v2/api/reference_tables_api.rb

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,73 @@ def initialize(api_client = DatadogAPIClient::APIClient.default)
2323
@api_client = api_client
2424
end
2525

26+
# Batch rows query.
27+
#
28+
# @see #batch_rows_query_with_http_info
29+
def batch_rows_query(body, opts = {})
30+
data, _status_code, _headers = batch_rows_query_with_http_info(body, opts)
31+
data
32+
end
33+
34+
# Batch rows query.
35+
#
36+
# Batch query reference table rows by their primary key values. Returns only found rows in the included array.
37+
#
38+
# @param body [BatchRowsQueryRequest]
39+
# @param opts [Hash] the optional parameters
40+
# @return [Array<(BatchRowsQueryResponse, Integer, Hash)>] BatchRowsQueryResponse data, response status code and response headers
41+
def batch_rows_query_with_http_info(body, opts = {})
42+
43+
if @api_client.config.debugging
44+
@api_client.config.logger.debug 'Calling API: ReferenceTablesAPI.batch_rows_query ...'
45+
end
46+
# verify the required parameter 'body' is set
47+
if @api_client.config.client_side_validation && body.nil?
48+
fail ArgumentError, "Missing the required parameter 'body' when calling ReferenceTablesAPI.batch_rows_query"
49+
end
50+
# resource path
51+
local_var_path = '/api/v2/reference-tables/queries/batch-rows'
52+
53+
# query parameters
54+
query_params = opts[:query_params] || {}
55+
56+
# header parameters
57+
header_params = opts[:header_params] || {}
58+
# HTTP header 'Accept' (if needed)
59+
header_params['Accept'] = @api_client.select_header_accept(['application/json'])
60+
# HTTP header 'Content-Type'
61+
header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
62+
63+
# form parameters
64+
form_params = opts[:form_params] || {}
65+
66+
# http body (model)
67+
post_body = opts[:debug_body] || @api_client.object_to_http_body(body)
68+
69+
# return_type
70+
return_type = opts[:debug_return_type] || 'BatchRowsQueryResponse'
71+
72+
# auth_names
73+
auth_names = opts[:debug_auth_names] || [:apiKeyAuth, :appKeyAuth, :AuthZ]
74+
75+
new_options = opts.merge(
76+
:operation => :batch_rows_query,
77+
:header_params => header_params,
78+
:query_params => query_params,
79+
:form_params => form_params,
80+
:body => post_body,
81+
:auth_names => auth_names,
82+
:return_type => return_type,
83+
:api_version => "V2"
84+
)
85+
86+
data, status_code, headers = @api_client.call_api(Net::HTTP::Post, local_var_path, new_options)
87+
if @api_client.config.debugging
88+
@api_client.config.logger.debug "API called: ReferenceTablesAPI#batch_rows_query\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
89+
end
90+
return data, status_code, headers
91+
end
92+
2693
# Create reference table.
2794
#
2895
# @see #create_reference_table_with_http_info

lib/datadog_api_client/v2/models/batch_delete_rows_request_array.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ def self.attribute_map
3838
# @!visibility private
3939
def self.openapi_types
4040
{
41-
:'data' => :'Array<BatchDeleteRowsRequestData>'
41+
:'data' => :'Array<TableRowResourceIdentifier>'
4242
}
4343
end
4444

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
=begin
2+
#Datadog API V2 Collection
3+
4+
#Collection of all Datadog Public endpoints.
5+
6+
The version of the OpenAPI document: 1.0
7+
Contact: support@datadoghq.com
8+
Generated by: https://github.com/DataDog/datadog-api-client-ruby/tree/master/.generator
9+
10+
Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
11+
This product includes software developed at Datadog (https://www.datadoghq.com/).
12+
Copyright 2020-Present Datadog, Inc.
13+
14+
=end
15+
16+
require 'date'
17+
require 'time'
18+
19+
module DatadogAPIClient::V2
20+
# Resource type identifier for batch queries of reference table rows.
21+
class BatchRowsQueryDataType
22+
include BaseEnumModel
23+
24+
REFERENCE_TABLES_BATCH_ROWS_QUERY = "reference-tables-batch-rows-query".freeze
25+
end
26+
end

0 commit comments

Comments
 (0)