Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .generated-info
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"spec_repo_commit": "b308db8",
"generated": "2025-08-04 15:39:57.539"
"spec_repo_commit": "69305be",
"generated": "2025-08-05 16:20:32.413"
}
198 changes: 196 additions & 2 deletions .generator/schemas/v2/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13644,6 +13644,42 @@ components:
description: The type of the resource. The value should always be device.
type: string
type: object
DnsMetricKey:
description: The metric key for DNS metrics.
enum:
- dns_total_requests
- dns_failures
- dns_successful_responses
- dns_failed_responses
- dns_timeouts
- dns_responses.nxdomain
- dns_responses.servfail
- dns_responses.other
- dns_success_latency_percentile
- dns_failure_latency_percentile
type: string
x-enum-descriptions:
- The total number of DNS requests made by the client.
- The total number of timeouts and errors in DNS requests.
- The total number of successful DNS responses.
- The total number of failed DNS responses.
- The total number of DNS timeouts.
- The total number of DNS responses with the NXDOMAIN error code.
- The total number of DNS responses with the SERVFAIL error code.
- The total number of DNS responses with other error codes.
- The latency percentile for successful DNS responses.
- The latency percentile for failed DNS responses.
x-enum-varnames:
- DNS_TOTAL_REQUESTS
- DNS_FAILURES
- DNS_SUCCESSFUL_RESPONSES
- DNS_FAILED_RESPONSES
- DNS_TIMEOUTS
- DNS_RESPONSES_NXDOMAIN
- DNS_RESPONSES_SERVFAIL
- DNS_RESPONSES_OTHER
- DNS_SUCCESS_LATENCY_PERCENTILE
- DNS_FAILURE_LATENCY_PERCENTILE
DomainAllowlist:
description: The email domain allowlist for an org.
properties:
Expand Down Expand Up @@ -39937,6 +39973,100 @@ components:
type: string
x-enum-varnames:
- AGGREGATED_CONNECTION
SingleAggregatedDnsResponseArray:
description: List of aggregated DNS flows.
example:
data:
- attributes:
group_bys:
- key: client_service
value: example-service
- key: network.dns_query
value: example.com
metrics:
- key: dns_total_requests
value: 100
- key: dns_failures
value: 7
- key: dns_successful_responses
value: 93
- key: dns_failed_responses
value: 5
- key: dns_timeouts
value: 2
- key: dns_responses.nxdomain
value: 1
- key: dns_responses.servfail
value: 1
- key: dns_responses.other
value: 3
- key: dns_success_latency_percentile
value: 50
- key: dns_failure_latency_percentile
value: 75
id: client_service:example-service,network.dns_query:example.com
type: aggregated_dns
properties:
data:
description: Array of aggregated DNS objects.
items:
$ref: '#/components/schemas/SingleAggregatedDnsResponseData'
type: array
type: object
SingleAggregatedDnsResponseData:
description: Object describing an aggregated DNS flow.
properties:
attributes:
$ref: '#/components/schemas/SingleAggregatedDnsResponseDataAttributes'
id:
description: A unique identifier for the aggregated DNS traffic based on
the group by values.
type: string
type:
$ref: '#/components/schemas/SingleAggregatedDnsResponseDataType'
type: object
SingleAggregatedDnsResponseDataAttributes:
description: Attributes for an aggregated DNS flow.
properties:
group_bys:
description: The key, value pairs for each group by.
items:
$ref: '#/components/schemas/SingleAggregatedDnsResponseDataAttributesGroupByItems'
type: array
metrics:
description: Metrics associated with an aggregated DNS flow.
items:
$ref: '#/components/schemas/SingleAggregatedDnsResponseDataAttributesMetricsItems'
type: array
type: object
SingleAggregatedDnsResponseDataAttributesGroupByItems:
description: Attributes associated with a group by
properties:
key:
description: The group by key.
type: string
value:
description: The group by value.
type: string
type: object
SingleAggregatedDnsResponseDataAttributesMetricsItems:
description: Metrics associated with an aggregated DNS flow.
properties:
key:
$ref: '#/components/schemas/DnsMetricKey'
value:
description: The metric value.
format: int64
type: integer
type: object
SingleAggregatedDnsResponseDataType:
default: aggregated_dns
description: Aggregated DNS resource type.
enum:
- aggregated_dns
type: string
x-enum-varnames:
- AGGREGATED_DNS
SlackIntegrationMetadata:
description: Incident integration metadata for the Slack integration.
properties:
Expand Down Expand Up @@ -56857,7 +56987,7 @@ paths:
schema:
type: string
- description: The number of connections to be returned. The maximum value is
7500.
7500. The default is 100.
in: query
name: limit
schema:
Expand All @@ -56883,6 +57013,69 @@ paths:
x-unstable: '**Note**: This endpoint is in Preview. If you have any feedback,

contact [Datadog support](https://docs.datadoghq.com/help/).'
/api/v2/network/dns/aggregate:
get:
description: Get all aggregated DNS traffic.
operationId: GetAggregatedDns
parameters:
- description: Unix timestamp (number of seconds since epoch) of the start of
the query window. If not provided, the start of the query window is 15 minutes
before the `to` timestamp. If neither `from` nor `to` are provided, the
query window is `[now - 15m, now]`.
in: query
name: from
schema:
format: int64
type: integer
- description: Unix timestamp (number of seconds since epoch) of the end of
the query window. If not provided, the end of the query window is the current
time. If neither `from` nor `to` are provided, the query window is `[now
- 15m, now]`.
in: query
name: to
schema:
format: int64
type: integer
- description: Comma-separated list of fields to group DNS traffic by. The server
side defaults to `network.dns_query` if unspecified. `server_ungrouped`
may be used if groups are not desired. The maximum number of group_by(s)
is 10.
in: query
name: group_by
schema:
type: string
- description: Comma-separated list of tags to filter DNS traffic by.
in: query
name: tags
schema:
type: string
- description: The number of aggregated DNS entries to be returned. The maximum
value is 7500. The default is 100.
in: query
name: limit
schema:
default: 100
format: int32
maximum: 7500
minimum: 1
type: integer
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SingleAggregatedDnsResponseArray'
description: OK
'400':
$ref: '#/components/responses/BadRequestResponse'
'429':
$ref: '#/components/responses/TooManyRequestsResponse'
summary: Get all aggregated DNS traffic
tags:
- Cloud Network Monitoring
x-unstable: '**Note**: This endpoint is in Preview. If you have any feedback,

contact [Datadog support](https://docs.datadoghq.com/help/).'
/api/v2/on-call/escalation-policies:
post:
description: Create a new On-Call escalation policy
Expand Down Expand Up @@ -67689,7 +67882,8 @@ tags:
documentation](https://docs.datadoghq.com/cloud_cost_management/).
name: Cloud Cost Management
- description: The Cloud Network Monitoring API allows you to fetch aggregated connections
and their attributes. See the [Cloud Network Monitoring page](https://docs.datadoghq.com/network_monitoring/cloud_network_monitoring/)
and DNS traffic with their attributes. See the [Cloud Network Monitoring page](https://docs.datadoghq.com/network_monitoring/cloud_network_monitoring/)
and [DNS Monitoring page](https://docs.datadoghq.com/network_monitoring/dns/)
for more information.
name: Cloud Network Monitoring
- description: Manage your Datadog Cloudflare integration directly through the Datadog
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
2025-07-25T20:54:53.474Z

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
2025-07-25T20:54:53.819Z

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -1 +1 @@
2025-03-31T18:18:50.770Z
2025-07-25T20:54:53.978Z

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions examples/v2/cloud-network-monitoring/GetAggregatedDns.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Get all aggregated DNS traffic returns "OK" response

require "datadog_api_client"
DatadogAPIClient.configure do |config|
config.unstable_operations["v2.get_aggregated_dns".to_sym] = true
end
api_instance = DatadogAPIClient::V2::CloudNetworkMonitoringAPI.new
p api_instance.get_aggregated_dns()
7 changes: 7 additions & 0 deletions features/scenarios_model_mapping.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2173,6 +2173,13 @@
"tags" => "String",
"limit" => "Integer",
},
"v2.GetAggregatedDns" => {
"from" => "Integer",
"to" => "Integer",
"group_by" => "String",
"tags" => "String",
"limit" => "Integer",
},
"v2.CreateOnCallEscalationPolicy" => {
"include" => "String",
"body" => "EscalationPolicyCreateRequest",
Expand Down
33 changes: 27 additions & 6 deletions features/v2/cloud_network_monitoring.feature
Original file line number Diff line number Diff line change
@@ -1,29 +1,50 @@
@endpoint(cloud-network-monitoring) @endpoint(cloud-network-monitoring-v2)
Feature: Cloud Network Monitoring
The Cloud Network Monitoring API allows you to fetch aggregated
connections and their attributes. See the [Cloud Network Monitoring page](
https://docs.datadoghq.com/network_monitoring/cloud_network_monitoring/)
for more information.
connections and DNS traffic with their attributes. See the [Cloud Network
Monitoring page](https://docs.datadoghq.com/network_monitoring/cloud_netwo
rk_monitoring/) and [DNS Monitoring
page](https://docs.datadoghq.com/network_monitoring/dns/) for more
information.

Background:
Given a valid "apiKeyAuth" key in the system
And a valid "appKeyAuth" key in the system
And an instance of "CloudNetworkMonitoring" API
And operation "GetAggregatedConnections" enabled
And new "GetAggregatedConnections" request

@team:Datadog/networks
Scenario: Get aggregated connections returns "OK" response
Given operation "GetAggregatedConnections" enabled
And new "GetAggregatedConnections" request
When the request is sent
Then the response status is 200 OK

@team:Datadog/networks
Scenario: Get all aggregated DNS traffic returns "Bad Request" response
Given operation "GetAggregatedDns" enabled
And new "GetAggregatedDns" request
And request contains "group_by" parameter with value "server_ungrouped,server_service"
When the request is sent
Then the response status is 400 Bad Request

@team:Datadog/networks
Scenario: Get all aggregated DNS traffic returns "OK" response
Given operation "GetAggregatedDns" enabled
And new "GetAggregatedDns" request
When the request is sent
Then the response status is 200 OK

@skip-python @skip-ruby @team:Datadog/networks
Scenario: Get all aggregated connections returns "Bad Request" response
Given request contains "limit" parameter with value 6000
Given operation "GetAggregatedConnections" enabled
And new "GetAggregatedConnections" request
And request contains "limit" parameter with value 8000
When the request is sent
Then the response status is 400 Bad Request

@generated @skip @team:Datadog/networks
Scenario: Get all aggregated connections returns "OK" response
Given operation "GetAggregatedConnections" enabled
And new "GetAggregatedConnections" request
When the request is sent
Then the response status is 200 OK
Loading
Loading