Skip to content

Commit fe66ded

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
andauthored
Add domain allowlist endpoints (#2072)
Co-authored-by: ci.datadog-api-spec <[email protected]>
1 parent c1e096b commit fe66ded

20 files changed

+1212
-4
lines changed

.apigentools-info

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@
44
"spec_versions": {
55
"v1": {
66
"apigentools_version": "1.6.6",
7-
"regenerated": "2024-10-29 20:46:33.498190",
8-
"spec_repo_commit": "c0b9551e"
7+
"regenerated": "2024-10-30 18:58:10.241853",
8+
"spec_repo_commit": "755120dd"
99
},
1010
"v2": {
1111
"apigentools_version": "1.6.6",
12-
"regenerated": "2024-10-29 20:46:33.516450",
13-
"spec_repo_commit": "c0b9551e"
12+
"regenerated": "2024-10-30 18:58:10.260831",
13+
"spec_repo_commit": "755120dd"
1414
}
1515
}
1616
}

.generator/schemas/v2/openapi.yaml

Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7115,6 +7115,81 @@ components:
71157115
description: The type of the resource. The value should always be device.
71167116
type: string
71177117
type: object
7118+
DomainAllowlist:
7119+
description: The email domain allowlist for an org.
7120+
properties:
7121+
attributes:
7122+
$ref: '#/components/schemas/DomainAllowlistAttributes'
7123+
id:
7124+
description: The unique identifier of the org.
7125+
nullable: true
7126+
type: string
7127+
type:
7128+
$ref: '#/components/schemas/DomainAllowlistType'
7129+
required:
7130+
- type
7131+
type: object
7132+
DomainAllowlistAttributes:
7133+
description: The details of the email domain allowlist.
7134+
properties:
7135+
domains:
7136+
description: The list of domains in the email domain allowlist.
7137+
items:
7138+
type: string
7139+
type: array
7140+
enabled:
7141+
description: Whether the email domain allowlist is enabled for the org.
7142+
type: boolean
7143+
type: object
7144+
DomainAllowlistRequest:
7145+
description: Request containing the desired email domain allowlist configuration.
7146+
properties:
7147+
data:
7148+
$ref: '#/components/schemas/DomainAllowlist'
7149+
required:
7150+
- data
7151+
type: object
7152+
DomainAllowlistResponse:
7153+
description: Response containing information about the email domain allowlist.
7154+
properties:
7155+
data:
7156+
$ref: '#/components/schemas/DomainAllowlistResponseData'
7157+
type: object
7158+
DomainAllowlistResponseData:
7159+
description: The email domain allowlist response for an org.
7160+
properties:
7161+
attributes:
7162+
$ref: '#/components/schemas/DomainAllowlistResponseDataAttributes'
7163+
id:
7164+
description: The unique identifier of the org.
7165+
nullable: true
7166+
type: string
7167+
type:
7168+
$ref: '#/components/schemas/DomainAllowlistType'
7169+
required:
7170+
- type
7171+
type: object
7172+
DomainAllowlistResponseDataAttributes:
7173+
description: The details of the email domain allowlist.
7174+
properties:
7175+
domains:
7176+
description: The list of domains in the email domain allowlist.
7177+
items:
7178+
type: string
7179+
type: array
7180+
enabled:
7181+
description: Whether the email domain allowlist is enabled for the org.
7182+
type: boolean
7183+
type: object
7184+
DomainAllowlistType:
7185+
default: domain_allowlist
7186+
description: Email domain allowlist allowlist type.
7187+
enum:
7188+
- domain_allowlist
7189+
example: domain_allowlist
7190+
type: string
7191+
x-enum-varnames:
7192+
- DOMAIN_ALLOWLIST
71187193
DowntimeCreateRequest:
71197194
description: Request for creating a downtime.
71207195
properties:
@@ -29433,6 +29508,61 @@ paths:
2943329508
tags:
2943429509
- Dashboard Lists
2943529510
x-codegen-request-body-name: body
29511+
/api/v2/domain_allowlist:
29512+
get:
29513+
description: Get the domain allowlist for an organization.
29514+
operationId: GetDomainAllowlist
29515+
responses:
29516+
'200':
29517+
content:
29518+
application/json:
29519+
schema:
29520+
$ref: '#/components/schemas/DomainAllowlistResponse'
29521+
description: OK
29522+
'429':
29523+
$ref: '#/components/responses/TooManyRequestsResponse'
29524+
security:
29525+
- apiKeyAuth: []
29526+
appKeyAuth: []
29527+
- AuthZ:
29528+
- org_management
29529+
summary: Get Domain Allowlist
29530+
tags:
29531+
- Domain Allowlist
29532+
x-permission:
29533+
operator: OR
29534+
permissions:
29535+
- org_management
29536+
patch:
29537+
description: Update the domain allowlist for an organization.
29538+
operationId: PatchDomainAllowlist
29539+
requestBody:
29540+
content:
29541+
application/json:
29542+
schema:
29543+
$ref: '#/components/schemas/DomainAllowlistRequest'
29544+
required: true
29545+
responses:
29546+
'200':
29547+
content:
29548+
application/json:
29549+
schema:
29550+
$ref: '#/components/schemas/DomainAllowlistResponse'
29551+
description: OK
29552+
'429':
29553+
$ref: '#/components/responses/TooManyRequestsResponse'
29554+
security:
29555+
- apiKeyAuth: []
29556+
appKeyAuth: []
29557+
- AuthZ:
29558+
- org_management
29559+
summary: Sets Domain Allowlist
29560+
tags:
29561+
- Domain Allowlist
29562+
x-permission:
29563+
operator: OR
29564+
permissions:
29565+
- org_management
2943629566
/api/v2/dora/deployment:
2943729567
post:
2943829568
description: 'Use this API endpoint to provide data about deployments for DORA
@@ -41786,6 +41916,14 @@ tags:
4178641916

4178741917
organization.'
4178841918
name: Dashboard Lists
41919+
- description: 'Configure your Datadog Email Domain Allowlist directly through the
41920+
Datadog API.
41921+
41922+
The Email Domain Allowlist controls the domains that certain datadog emails can
41923+
be sent to.
41924+
41925+
For more information, see the [Domain Allowlist docs page](https://docs.datadoghq.com/account_management/org_settings/domain_allowlist)'
41926+
name: Domain Allowlist
4178941927
- description: '**Note**: Downtime V2 is currently in private beta. To request access,
4179041928
contact [Datadog support](https://docs.datadoghq.com/help/).
4179141929

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
2024-10-23T18:16:16.668Z

cassettes/features/v2/domain_allowlist/Get-Domain-Allowlist-returns-OK-response.yml

Lines changed: 22 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
2024-10-23T18:16:16.928Z

cassettes/features/v2/domain_allowlist/Sets-Domain-Allowlist-returns-OK-response.yml

Lines changed: 26 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Get Domain Allowlist returns "OK" response
2+
3+
require "datadog_api_client"
4+
api_instance = DatadogAPIClient::V2::DomainAllowlistAPI.new
5+
p api_instance.get_domain_allowlist()
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Sets Domain Allowlist returns "OK" response
2+
3+
require "datadog_api_client"
4+
api_instance = DatadogAPIClient::V2::DomainAllowlistAPI.new
5+
6+
body = DatadogAPIClient::V2::DomainAllowlistRequest.new({
7+
data: DatadogAPIClient::V2::DomainAllowlist.new({
8+
attributes: DatadogAPIClient::V2::DomainAllowlistAttributes.new({
9+
domains: [
10+
"@static-test-domain.test",
11+
],
12+
enabled: false,
13+
}),
14+
type: DatadogAPIClient::V2::DomainAllowlistType::DOMAIN_ALLOWLIST,
15+
}),
16+
})
17+
p api_instance.patch_domain_allowlist(body)

features/scenarios_model_mapping.rb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1185,6 +1185,9 @@
11851185
"dashboard_list_id" => "Integer",
11861186
"body" => "DashboardListUpdateItemsRequest",
11871187
},
1188+
"v2.PatchDomainAllowlist" => {
1189+
"body" => "DomainAllowlistRequest",
1190+
},
11881191
"v2.CreateDORADeployment" => {
11891192
"body" => "DORADeploymentRequest",
11901193
},
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
@endpoint(domain-allowlist) @endpoint(domain-allowlist-v2)
2+
Feature: Domain Allowlist
3+
Configure your Datadog Email Domain Allowlist directly through the Datadog
4+
API. The Email Domain Allowlist controls the domains that certain datadog
5+
emails can be sent to. For more information, see the [Domain Allowlist
6+
docs page](https://docs.datadoghq.com/account_management/org_settings/doma
7+
in_allowlist)
8+
9+
Background:
10+
Given a valid "apiKeyAuth" key in the system
11+
And a valid "appKeyAuth" key in the system
12+
And an instance of "DomainAllowlist" API
13+
14+
@team:Datadog/team-aaa-dogmail
15+
Scenario: Get Domain Allowlist returns "OK" response
16+
Given new "GetDomainAllowlist" request
17+
When the request is sent
18+
Then the response status is 200 OK
19+
And the response "data.type" is equal to "domain_allowlist"
20+
And the response "data.attributes.domains" array contains value "@static-test-domain.test"
21+
And the response "data.attributes.enabled" is equal to false
22+
23+
@team:Datadog/team-aaa-dogmail
24+
Scenario: Sets Domain Allowlist returns "OK" response
25+
Given new "PatchDomainAllowlist" request
26+
And body with value {"data": {"attributes": {"domains": ["@static-test-domain.test"], "enabled": false}, "type": "domain_allowlist"}}
27+
When the request is sent
28+
Then the response status is 200 OK
29+
And the response "data.type" is equal to "domain_allowlist"
30+
And the response "data.attributes.domains" has length 1
31+
And the response "data.attributes.domains" array contains value "@static-test-domain.test"
32+
And the response "data.attributes.enabled" is equal to false

0 commit comments

Comments
 (0)