Skip to content
Open
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
33 changes: 33 additions & 0 deletions .generator/schemas/v2/openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -57295,6 +57295,39 @@ paths:
summary: Get AWS integration IAM permissions
tags:
- AWS Integration
/api/v2/integration/aws/iam_permissions/resource_collection:
get:
description: Get all resource collection AWS IAM permissions required for the
AWS integration.
operationId: GetAWSIntegrationIAMPermissionsResourceCollection
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AWSIntegrationIamPermissionsResponse'
description: AWS integration resource collection IAM permissions.
'429':
$ref: '#/components/responses/TooManyRequestsResponse'
summary: Get resource collection IAM permissions
tags:
- AWS Integration
/api/v2/integration/aws/iam_permissions/standard:
get:
description: Get all standard AWS IAM permissions required for the AWS integration.
operationId: GetAWSIntegrationIAMPermissionsStandard
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/AWSIntegrationIamPermissionsResponse'
description: AWS integration standard IAM permissions.
'429':
$ref: '#/components/responses/TooManyRequestsResponse'
summary: Get AWS integration standard IAM permissions
tags:
- AWS Integration
/api/v2/integration/aws/logs/services:
get:
description: Get a list of AWS services that can send logs to Datadog.
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
"2025-09-17T18:27:22.560Z"
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
{
"log": {
"_recordingName": "AWS Integration/Get AWS integration standard IAM permissions returns \"AWS IAM Permissions object\" response",
"creator": {
"comment": "persister:fs",
"name": "Polly.JS",
"version": "6.0.5"
},
"entries": [
{
"_id": "2b3cccad5c2d275b807cf9b05ceea232",
"_order": 0,
"cache": {},
"request": {
"bodySize": 0,
"cookies": [],
"headers": [
{
"_fromType": "array",
"name": "accept",
"value": "application/json"
}
],
"headersSize": 560,
"httpVersion": "HTTP/1.1",
"method": "GET",
"queryString": [],
"url": "https://api.datadoghq.com/api/v2/integration/aws/iam_permissions/standard"
},
"response": {
"bodySize": 2696,
"content": {
"mimeType": "application/vnd.api+json",
"size": 2696,
"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\"]}}}"
},
"cookies": [],
"headers": [
{
"name": "content-type",
"value": "application/vnd.api+json"
}
],
"headersSize": 526,
"httpVersion": "HTTP/1.1",
"redirectURL": "",
"status": 200,
"statusText": "OK"
},
"startedDateTime": "2025-09-17T18:27:22.790Z",
"time": 88
}
],
"pages": [],
"version": "1.2"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
"2025-09-17T18:27:22.885Z"

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
/**
* Get resource collection IAM permissions returns "AWS integration resource collection IAM permissions." response
*/

import { client, v2 } from "@datadog/datadog-api-client";

const configuration = client.createConfiguration();
const apiInstance = new v2.AWSIntegrationApi(configuration);

apiInstance
.getAWSIntegrationIAMPermissionsResourceCollection()
.then((data: v2.AWSIntegrationIamPermissionsResponse) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
/**
* Get resource collection IAM permissions returns "AWS IAM Permissions object" response
*/

import { client, v2 } from "@datadog/datadog-api-client";

const configuration = client.createConfiguration();
const apiInstance = new v2.AWSIntegrationApi(configuration);

apiInstance
.getAWSIntegrationIAMPermissionsResourceCollection()
.then((data: v2.AWSIntegrationIamPermissionsResponse) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
/**
* Get AWS integration standard IAM permissions returns "AWS integration standard IAM permissions." response
*/

import { client, v2 } from "@datadog/datadog-api-client";

const configuration = client.createConfiguration();
const apiInstance = new v2.AWSIntegrationApi(configuration);

apiInstance
.getAWSIntegrationIAMPermissionsStandard()
.then((data: v2.AWSIntegrationIamPermissionsResponse) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
/**
* Get AWS integration standard IAM permissions returns "AWS IAM Permissions object" response
*/

import { client, v2 } from "@datadog/datadog-api-client";

const configuration = client.createConfiguration();
const apiInstance = new v2.AWSIntegrationApi(configuration);

apiInstance
.getAWSIntegrationIAMPermissionsStandard()
.then((data: v2.AWSIntegrationIamPermissionsResponse) => {
console.log(
"API called successfully. Returned data: " + JSON.stringify(data)
);
})
.catch((error: any) => console.error(error));
6 changes: 6 additions & 0 deletions features/support/scenarios_model_mapping.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5534,6 +5534,12 @@ export const ScenariosModelMappings: {[key: string]: {[key: string]: any}} = {
"v2.GetAWSIntegrationIAMPermissions": {
"operationResponseType": "AWSIntegrationIamPermissionsResponse",
},
"v2.GetAWSIntegrationIAMPermissionsResourceCollection": {
"operationResponseType": "AWSIntegrationIamPermissionsResponse",
},
"v2.GetAWSIntegrationIAMPermissionsStandard": {
"operationResponseType": "AWSIntegrationIamPermissionsResponse",
},
"v2.ListAWSLogsServices": {
"operationResponseType": "AWSLogsServicesResponse",
},
Expand Down
24 changes: 24 additions & 0 deletions features/v2/aws_integration.feature
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,18 @@ Feature: AWS Integration
When the request is sent
Then the response status is 200 AWS IAM Permissions object

@team:DataDog/aws-integrations
Scenario: Get AWS integration standard IAM permissions returns "AWS IAM Permissions object" response
Given new "GetAWSIntegrationIAMPermissionsStandard" request
When the request is sent
Then the response status is 200 AWS IAM Permissions object

@generated @skip @team:DataDog/aws-integrations
Scenario: Get AWS integration standard IAM permissions returns "AWS integration standard IAM permissions." response
Given new "GetAWSIntegrationIAMPermissionsStandard" request
When the request is sent
Then the response status is 200 AWS integration standard IAM permissions.

@team:DataDog/aws-integrations
Scenario: Get an AWS integration by config ID returns "AWS Account object" response
Given there is a valid "aws_account_v2" in the system
Expand All @@ -101,6 +113,18 @@ Feature: AWS Integration
When the request is sent
Then the response status is 404 Not Found

@team:DataDog/aws-integrations
Scenario: Get resource collection IAM permissions returns "AWS IAM Permissions object" response
Given new "GetAWSIntegrationIAMPermissionsResourceCollection" request
When the request is sent
Then the response status is 200 AWS IAM Permissions object

@generated @skip @team:DataDog/aws-integrations
Scenario: Get resource collection IAM permissions returns "AWS integration resource collection IAM permissions." response
Given new "GetAWSIntegrationIAMPermissionsResourceCollection" request
When the request is sent
Then the response status is 200 AWS integration resource collection IAM permissions.

@team:DataDog/aws-integrations
Scenario: List all AWS integrations returns "AWS Accounts List object" response
Given new "ListAWSAccounts" request
Expand Down
12 changes: 12 additions & 0 deletions features/v2/undo.json
Original file line number Diff line number Diff line change
Expand Up @@ -1463,6 +1463,18 @@
"type": "safe"
}
},
"GetAWSIntegrationIAMPermissionsResourceCollection": {
"tag": "AWS Integration",
"undo": {
"type": "safe"
}
},
"GetAWSIntegrationIAMPermissionsStandard": {
"tag": "AWS Integration",
"undo": {
"type": "safe"
}
},
"ListAWSLogsServices": {
"tag": "AWS Logs Integration",
"undo": {
Expand Down
Loading