Skip to content

Commit 3761381

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
andauthored
Add API spec for AWS Integrations standard and resource collection IAM permissions (#2804)
Co-authored-by: ci.datadog-api-spec <[email protected]>
1 parent d8406a6 commit 3761381

File tree

9 files changed

+416
-0
lines changed

9 files changed

+416
-0
lines changed

.generator/schemas/v2/openapi.yaml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59638,6 +59638,39 @@ paths:
5963859638
summary: Get AWS integration IAM permissions
5963959639
tags:
5964059640
- AWS Integration
59641+
/api/v2/integration/aws/iam_permissions/resource_collection:
59642+
get:
59643+
description: Get all resource collection AWS IAM permissions required for the
59644+
AWS integration.
59645+
operationId: GetAWSIntegrationIAMPermissionsResourceCollection
59646+
responses:
59647+
'200':
59648+
content:
59649+
application/json:
59650+
schema:
59651+
$ref: '#/components/schemas/AWSIntegrationIamPermissionsResponse'
59652+
description: AWS integration resource collection IAM permissions.
59653+
'429':
59654+
$ref: '#/components/responses/TooManyRequestsResponse'
59655+
summary: Get resource collection IAM permissions
59656+
tags:
59657+
- AWS Integration
59658+
/api/v2/integration/aws/iam_permissions/standard:
59659+
get:
59660+
description: Get all standard AWS IAM permissions required for the AWS integration.
59661+
operationId: GetAWSIntegrationIAMPermissionsStandard
59662+
responses:
59663+
'200':
59664+
content:
59665+
application/json:
59666+
schema:
59667+
$ref: '#/components/schemas/AWSIntegrationIamPermissionsResponse'
59668+
description: AWS integration standard IAM permissions.
59669+
'429':
59670+
$ref: '#/components/responses/TooManyRequestsResponse'
59671+
summary: Get AWS integration standard IAM permissions
59672+
tags:
59673+
- AWS Integration
5964159674
/api/v2/integration/aws/logs/services:
5964259675
get:
5964359676
description: Get a list of AWS services that can send logs to Datadog.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
"2025-09-17T18:27:22.560Z"
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
{
2+
"log": {
3+
"_recordingName": "AWS Integration/Get AWS integration standard IAM permissions returns \"AWS IAM Permissions object\" response",
4+
"creator": {
5+
"comment": "persister:fs",
6+
"name": "Polly.JS",
7+
"version": "6.0.5"
8+
},
9+
"entries": [
10+
{
11+
"_id": "2b3cccad5c2d275b807cf9b05ceea232",
12+
"_order": 0,
13+
"cache": {},
14+
"request": {
15+
"bodySize": 0,
16+
"cookies": [],
17+
"headers": [
18+
{
19+
"_fromType": "array",
20+
"name": "accept",
21+
"value": "application/json"
22+
}
23+
],
24+
"headersSize": 560,
25+
"httpVersion": "HTTP/1.1",
26+
"method": "GET",
27+
"queryString": [],
28+
"url": "https://api.datadoghq.com/api/v2/integration/aws/iam_permissions/standard"
29+
},
30+
"response": {
31+
"bodySize": 2696,
32+
"content": {
33+
"mimeType": "application/vnd.api+json",
34+
"size": 2696,
35+
"text": "{\"data\":{\"id\":\"permissions\",\"type\":\"permissions\",\"attributes\":{\"permissions\":[\"account:GetAccountInformation\",\"airflow:GetEnvironment\",\"airflow:ListEnvironments\",\"apigateway:GET\",\"appsync:ListGraphqlApis\",\"autoscaling:Describe*\",\"backup:List*\",\"batch:DescribeJobDefinitions\",\"bcm-data-exports:GetExport\",\"bcm-data-exports:ListExports\",\"budgets:ViewBudget\",\"cloudfront:GetDistributionConfig\",\"cloudfront:ListDistributions\",\"cloudtrail:DescribeTrails\",\"cloudtrail:GetTrail\",\"cloudtrail:GetTrailStatus\",\"cloudtrail:ListTrails\",\"cloudtrail:LookupEvents\",\"cloudwatch:Describe*\",\"cloudwatch:Get*\",\"cloudwatch:List*\",\"codebuild:BatchGetProjects\",\"codebuild:ListProjects\",\"codedeploy:BatchGet*\",\"codedeploy:List*\",\"cur:DescribeReportDefinitions\",\"directconnect:Describe*\",\"dms:DescribeReplicationInstances\",\"dynamodb:Describe*\",\"dynamodb:List*\",\"ec2:Describe*\",\"ecs:Describe*\",\"ecs:List*\",\"eks:DescribeCluster\",\"eks:ListClusters\",\"elasticache:Describe*\",\"elasticache:List*\",\"elasticfilesystem:DescribeAccessPoints\",\"elasticfilesystem:DescribeFileSystems\",\"elasticfilesystem:DescribeTags\",\"elasticloadbalancing:Describe*\",\"elasticmapreduce:Describe*\",\"elasticmapreduce:List*\",\"es:DescribeElasticsearchDomains\",\"es:ListDomainNames\",\"es:ListTags\",\"events:CreateEventBus\",\"fsx:DescribeFileSystems\",\"fsx:ListTagsForResource\",\"health:DescribeAffectedEntities\",\"health:DescribeEventDetails\",\"health:DescribeEvents\",\"iam:ListAccountAliases\",\"kinesis:Describe*\",\"kinesis:List*\",\"lambda:List*\",\"logs:DeleteSubscriptionFilter\",\"logs:DescribeDeliveries\",\"logs:DescribeDeliverySources\",\"logs:DescribeLogGroups\",\"logs:DescribeLogStreams\",\"logs:DescribeSubscriptionFilters\",\"logs:FilterLogEvents\",\"logs:GetDeliveryDestination\",\"logs:PutSubscriptionFilter\",\"logs:TestMetricFilter\",\"network-firewall:DescribeLoggingConfiguration\",\"network-firewall:ListFirewalls\",\"oam:ListAttachedLinks\",\"oam:ListSinks\",\"organizations:Describe*\",\"organizations:List*\",\"rds:Describe*\",\"rds:List*\",\"redshift-serverless:ListNamespaces\",\"redshift:DescribeClusters\",\"redshift:DescribeLoggingStatus\",\"route53:List*\",\"route53resolver:ListResolverQueryLogConfigs\",\"s3:GetBucketLocation\",\"s3:GetBucketLogging\",\"s3:GetBucketNotification\",\"s3:GetBucketTagging\",\"s3:ListAllMyBuckets\",\"s3:PutBucketNotification\",\"ses:Get*\",\"ses:List*\",\"sns:GetSubscriptionAttributes\",\"sns:List*\",\"sns:Publish\",\"sqs:ListQueues\",\"ssm:GetServiceSetting\",\"ssm:ListCommands\",\"states:DescribeStateMachine\",\"states:ListStateMachines\",\"support:DescribeTrustedAdvisor*\",\"support:RefreshTrustedAdvisorCheck\",\"tag:GetResources\",\"tag:GetTagKeys\",\"tag:GetTagValues\",\"timestream:DescribeEndpoints\",\"wafv2:ListLoggingConfigurations\",\"xray:BatchGetTraces\",\"xray:GetTraceSummaries\"]}}}"
36+
},
37+
"cookies": [],
38+
"headers": [
39+
{
40+
"name": "content-type",
41+
"value": "application/vnd.api+json"
42+
}
43+
],
44+
"headersSize": 526,
45+
"httpVersion": "HTTP/1.1",
46+
"redirectURL": "",
47+
"status": 200,
48+
"statusText": "OK"
49+
},
50+
"startedDateTime": "2025-09-17T18:27:22.790Z",
51+
"time": 88
52+
}
53+
],
54+
"pages": [],
55+
"version": "1.2"
56+
}
57+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
"2025-09-17T18:27:22.885Z"

cassettes/v2/AWS-Integration_2071210100/Get-resource-collection-IAM-permissions-returns-AWS-IAM-Permissions-object-response_260611785/recording.har

Lines changed: 57 additions & 0 deletions
Large diffs are not rendered by default.

features/v2/aws_integration.feature

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,18 @@ Feature: AWS Integration
7979
When the request is sent
8080
Then the response status is 200 AWS IAM Permissions object
8181

82+
@team:DataDog/aws-integrations
83+
Scenario: Get AWS integration standard IAM permissions returns "AWS IAM Permissions object" response
84+
Given new "GetAWSIntegrationIAMPermissionsStandard" request
85+
When the request is sent
86+
Then the response status is 200 AWS IAM Permissions object
87+
88+
@generated @skip @team:DataDog/aws-integrations
89+
Scenario: Get AWS integration standard IAM permissions returns "AWS integration standard IAM permissions." response
90+
Given new "GetAWSIntegrationIAMPermissionsStandard" request
91+
When the request is sent
92+
Then the response status is 200 AWS integration standard IAM permissions.
93+
8294
@team:DataDog/aws-integrations
8395
Scenario: Get an AWS integration by config ID returns "AWS Account object" response
8496
Given there is a valid "aws_account_v2" in the system
@@ -101,6 +113,18 @@ Feature: AWS Integration
101113
When the request is sent
102114
Then the response status is 404 Not Found
103115

116+
@team:DataDog/aws-integrations
117+
Scenario: Get resource collection IAM permissions returns "AWS IAM Permissions object" response
118+
Given new "GetAWSIntegrationIAMPermissionsResourceCollection" request
119+
When the request is sent
120+
Then the response status is 200 AWS IAM Permissions object
121+
122+
@generated @skip @team:DataDog/aws-integrations
123+
Scenario: Get resource collection IAM permissions returns "AWS integration resource collection IAM permissions." response
124+
Given new "GetAWSIntegrationIAMPermissionsResourceCollection" request
125+
When the request is sent
126+
Then the response status is 200 AWS integration resource collection IAM permissions.
127+
104128
@team:DataDog/aws-integrations
105129
Scenario: List all AWS integrations returns "AWS Accounts List object" response
106130
Given new "ListAWSAccounts" request

features/v2/undo.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1529,6 +1529,18 @@
15291529
"type": "safe"
15301530
}
15311531
},
1532+
"GetAWSIntegrationIAMPermissionsResourceCollection": {
1533+
"tag": "AWS Integration",
1534+
"undo": {
1535+
"type": "safe"
1536+
}
1537+
},
1538+
"GetAWSIntegrationIAMPermissionsStandard": {
1539+
"tag": "AWS Integration",
1540+
"undo": {
1541+
"type": "safe"
1542+
}
1543+
},
15321544
"ListAWSLogsServices": {
15331545
"tag": "AWS Logs Integration",
15341546
"undo": {

private/bdd_runner/src/support/scenarios_model_mapping.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5670,6 +5670,12 @@ export const ScenariosModelMappings: { [key: string]: OperationMapping } = {
56705670
"AWSIntegrationApi.V2.GetAWSIntegrationIAMPermissions": {
56715671
operationResponseType: "AWSIntegrationIamPermissionsResponse",
56725672
},
5673+
"AWSIntegrationApi.V2.GetAWSIntegrationIAMPermissionsResourceCollection": {
5674+
operationResponseType: "AWSIntegrationIamPermissionsResponse",
5675+
},
5676+
"AWSIntegrationApi.V2.GetAWSIntegrationIAMPermissionsStandard": {
5677+
operationResponseType: "AWSIntegrationIamPermissionsResponse",
5678+
},
56735679
"AWSLogsIntegrationApi.V2.ListAWSLogsServices": {
56745680
operationResponseType: "AWSLogsServicesResponse",
56755681
},

0 commit comments

Comments
 (0)