Skip to content

Commit f72b441

Browse files
api-clients-generation-pipeline[bot]ci.datadog-api-spec
andauthored
Promote unstable aws v2 APIs and deprecate v1 (#2766)
Co-authored-by: ci.datadog-api-spec <[email protected]>
1 parent 8522766 commit f72b441

File tree

8 files changed

+30
-131
lines changed

8 files changed

+30
-131
lines changed

.generator/schemas/v1/openapi.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27347,6 +27347,7 @@ paths:
2734727347
- hosts_read
2734827348
/api/v1/integration/aws:
2734927349
delete:
27350+
deprecated: true
2735027351
description: Delete a Datadog-AWS integration matching the specified `account_id`
2735127352
and `role_name parameters`.
2735227353
operationId: DeleteAWSAccount
@@ -27393,6 +27394,7 @@ paths:
2739327394
permissions:
2739427395
- aws_configurations_manage
2739527396
get:
27397+
deprecated: true
2739627398
description: List all Datadog-AWS integrations available in your Datadog organization.
2739727399
operationId: ListAWSAccounts
2739827400
parameters:
@@ -27443,6 +27445,7 @@ paths:
2744327445
permissions:
2744427446
- aws_configuration_read
2744527447
post:
27448+
deprecated: true
2744627449
description: 'Create a Datadog-Amazon Web Services integration.
2744727450

2744827451
Using the `POST` method updates your integration configuration
@@ -27494,6 +27497,7 @@ paths:
2749427497
permissions:
2749527498
- aws_configurations_manage
2749627499
put:
27500+
deprecated: true
2749727501
description: Update a Datadog-Amazon Web Services integration.
2749827502
operationId: UpdateAWSAccount
2749927503
parameters:
@@ -27563,6 +27567,7 @@ paths:
2756327567
- aws_configuration_edit
2756427568
/api/v1/integration/aws/available_namespace_rules:
2756527569
get:
27570+
deprecated: true
2756627571
description: List all namespace rules for a given Datadog-AWS integration. This
2756727572
endpoint takes no arguments.
2756827573
operationId: ListAvailableAWSNamespaces
@@ -27708,6 +27713,7 @@ paths:
2770827713
- manage_integrations
2770927714
/api/v1/integration/aws/filtering:
2771027715
delete:
27716+
deprecated: true
2771127717
description: Delete a tag filtering entry.
2771227718
operationId: DeleteAWSTagFilter
2771327719
requestBody:
@@ -27749,6 +27755,7 @@ paths:
2774927755
permissions:
2775027756
- aws_configuration_edit
2775127757
get:
27758+
deprecated: true
2775227759
description: Get all AWS tag filters.
2775327760
operationId: ListAWSTagFilters
2775427761
parameters:
@@ -27787,6 +27794,7 @@ paths:
2778727794
permissions:
2778827795
- aws_configuration_read
2778927796
post:
27797+
deprecated: true
2779027798
description: Set an AWS tag filter.
2779127799
operationId: CreateAWSTagFilter
2779227800
requestBody:
@@ -27832,6 +27840,7 @@ paths:
2783227840
- aws_configuration_edit
2783327841
/api/v1/integration/aws/generate_new_external_id:
2783427842
put:
27843+
deprecated: true
2783527844
description: Generate a new AWS external ID for a given AWS account ID and role
2783627845
name pair.
2783727846
operationId: CreateNewAWSExternalID
@@ -27917,6 +27926,7 @@ paths:
2791727926
permissions:
2791827927
- aws_configuration_edit
2791927928
get:
27929+
deprecated: true
2792027930
description: List all Datadog-AWS Logs integrations configured in your Datadog
2792127931
account.
2792227932
operationId: ListAWSLogsIntegrations
@@ -28058,6 +28068,7 @@ paths:
2805828068
- aws_configuration_read
2805928069
/api/v1/integration/aws/logs/services:
2806028070
get:
28071+
deprecated: true
2806128072
description: Get the list of current AWS services that Datadog offers automatic
2806228073
log collection. Use returned service IDs with the services parameter for the
2806328074
Enable an AWS service log collection API endpoint.
@@ -28100,6 +28111,7 @@ paths:
2810028111
permissions:
2810128112
- aws_configuration_read
2810228113
post:
28114+
deprecated: true
2810328115
description: Enable automatic log collection for a list of services. This should
2810428116
be run after running `CreateAWSLambdaARN` to save the configuration.
2810528117
operationId: EnableAWSLogServices

.generator/schemas/v2/openapi.yaml

Lines changed: 0 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -55263,9 +55263,6 @@ paths:
5526355263
operator: OR
5526455264
permissions:
5526555265
- aws_configuration_read
55266-
x-unstable: '**Note: This endpoint is in Preview. If you have any feedback,
55267-
55268-
contact [Datadog support](https://docs.datadoghq.com/help/).**'
5526955266
post:
5527055267
description: Create a new AWS Account Integration Config.
5527155268
operationId: CreateAWSAccount
@@ -55298,9 +55295,6 @@ paths:
5529855295
operator: OR
5529955296
permissions:
5530055297
- aws_configurations_manage
55301-
x-unstable: '**Note: This endpoint is in Preview. If you have any feedback,
55302-
55303-
contact [Datadog support](https://docs.datadoghq.com/help/).**'
5530455298
/api/v2/integration/aws/accounts/{aws_account_config_id}:
5530555299
delete:
5530655300
description: Delete an AWS Account Integration Config by config ID.
@@ -55325,9 +55319,6 @@ paths:
5532555319
operator: OR
5532655320
permissions:
5532755321
- aws_configurations_manage
55328-
x-unstable: '**Note: This endpoint is in Preview. If you have any feedback,
55329-
55330-
contact [Datadog support](https://docs.datadoghq.com/help/).**'
5533155322
get:
5533255323
description: Get an AWS Account Integration Config by config ID.
5533355324
operationId: GetAWSAccount
@@ -55355,9 +55346,6 @@ paths:
5535555346
operator: OR
5535655347
permissions:
5535755348
- aws_configuration_read
55358-
x-unstable: '**Note: This endpoint is in Preview. If you have any feedback,
55359-
55360-
contact [Datadog support](https://docs.datadoghq.com/help/).**'
5536155349
patch:
5536255350
description: Update an AWS Account Integration Config by config ID.
5536355351
operationId: UpdateAWSAccount
@@ -55392,9 +55380,6 @@ paths:
5539255380
operator: OR
5539355381
permissions:
5539455382
- aws_configuration_edit
55395-
x-unstable: '**Note: This endpoint is in Preview. If you have any feedback,
55396-
55397-
contact [Datadog support](https://docs.datadoghq.com/help/).**'
5539855383
/api/v2/integration/aws/available_namespaces:
5539955384
get:
5540055385
description: Get a list of available AWS CloudWatch namespaces that can send
@@ -55418,9 +55403,6 @@ paths:
5541855403
operator: OR
5541955404
permissions:
5542055405
- aws_configuration_read
55421-
x-unstable: '**Note: This endpoint is in Preview. If you have any feedback,
55422-
55423-
contact [Datadog support](https://docs.datadoghq.com/help/).**'
5542455406
/api/v2/integration/aws/generate_new_external_id:
5542555407
post:
5542655408
description: Generate a new external ID for AWS role-based authentication.
@@ -55443,9 +55425,6 @@ paths:
5544355425
operator: OR
5544455426
permissions:
5544555427
- aws_configuration_edit
55446-
x-unstable: '**Note: This endpoint is in Preview. If you have any feedback,
55447-
55448-
contact [Datadog support](https://docs.datadoghq.com/help/).**'
5544955428
/api/v2/integration/aws/iam_permissions:
5545055429
get:
5545155430
description: Get all AWS IAM permissions required for the AWS integration.
@@ -55484,9 +55463,6 @@ paths:
5548455463
operator: OR
5548555464
permissions:
5548655465
- aws_configuration_read
55487-
x-unstable: '**Note: This endpoint is in public beta. If you have any feedback,
55488-
55489-
contact [Datadog support](https://docs.datadoghq.com/help/).**'
5549055466
/api/v2/integration/gcp/accounts:
5549155467
get:
5549255468
description: List all GCP STS-enabled service accounts configured in your Datadog

features/v2/aws_integration.feature

Lines changed: 18 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -11,74 +11,65 @@ Feature: AWS Integration
1111

1212
@team:DataDog/aws-integrations
1313
Scenario: Create an AWS account returns "AWS Account object" response
14-
Given operation "CreateAWSAccount" enabled
15-
And new "CreateAWSAccount" request
14+
Given new "CreateAWSAccount" request
1615
And body with value {"data": {"attributes": {"account_tags": ["key:value"], "auth_config": {"role_name": "DatadogIntegrationRole"}, "aws_account_id": "123456789012", "aws_partition": "aws", "logs_config": {"lambda_forwarder": {"lambdas": ["arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder"], "log_source_config": {"tag_filters": [{"source": "s3", "tags": ["test:test"]}]}, "sources": ["s3"]}}, "metrics_config": {"automute_enabled": true, "collect_cloudwatch_alarms": true, "collect_custom_metrics": true, "enabled": true, "tag_filters": [{"namespace": "AWS/EC2", "tags": ["key:value"]}]}, "resources_config": {"cloud_security_posture_management_collection": false, "extended_collection": false}, "traces_config": {}}, "type": "account"}}
1716
When the request is sent
1817
Then the response status is 200 AWS Account object
1918

2019
@team:DataDog/aws-integrations
2120
Scenario: Create an AWS integration returns "AWS Account object" response
22-
Given operation "CreateAWSAccount" enabled
23-
And new "CreateAWSAccount" request
21+
Given new "CreateAWSAccount" request
2422
And body with value {"data": {"attributes": {"account_tags": ["key:value"], "auth_config": {"access_key_id": "AKIAIOSFODNN7EXAMPLE", "secret_access_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"}, "aws_account_id": "123456789012", "aws_partition": "aws", "logs_config": {"lambda_forwarder": {"lambdas": ["arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder"], "log_source_config": {"tag_filters": [{"source": "s3", "tags": ["test:test"]}]}, "sources": ["s3"]}}, "metrics_config": {"automute_enabled": true, "collect_cloudwatch_alarms": true, "collect_custom_metrics": true, "enabled": true, "tag_filters": [{"namespace": "AWS/EC2", "tags": ["key:value"]}]}, "resources_config": {"cloud_security_posture_management_collection": false, "extended_collection": false}, "traces_config": {}}, "type": "account"}}
2523
When the request is sent
2624
Then the response status is 200 AWS Account object
2725

2826
@team:DataDog/aws-integrations
2927
Scenario: Create an AWS integration returns "Bad Request" response
30-
Given operation "CreateAWSAccount" enabled
31-
And new "CreateAWSAccount" request
28+
Given new "CreateAWSAccount" request
3229
And body with value {"data": {"attributes": {"account_tags": ["key:value"], "auth_config": {"role_name": "DatadogIntegrationRole"}, "aws_account_id": "123456789012", "aws_partition": "aws-invalid", "logs_config": {"lambda_forwarder": {"lambdas": ["arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder"], "log_source_config": {"tag_filters": [{"source": "s3", "tags": ["test:test"]}]}, "sources": ["s3"]}}, "metrics_config": {"automute_enabled": true, "collect_cloudwatch_alarms": true, "collect_custom_metrics": true, "enabled": true, "tag_filters": [{"namespace": "AWS/EC2", "tags": ["key:value"]}]}, "resources_config": {"cloud_security_posture_management_collection": false, "extended_collection": false}, "traces_config": {}}, "type": "account"}}
3330
When the request is sent
3431
Then the response status is 400 Bad Request
3532

3633
@team:DataDog/aws-integrations
3734
Scenario: Create an AWS integration returns "Conflict" response
38-
Given operation "CreateAWSAccount" enabled
39-
And there is a valid "aws_account_v2" in the system
35+
Given there is a valid "aws_account_v2" in the system
4036
And new "CreateAWSAccount" request
4137
And body with value {"data": {"attributes": {"account_tags": ["key:value"], "auth_config": {"role_name": "DatadogIntegrationRole"}, "aws_account_id": "123456789012", "aws_partition": "aws", "logs_config": {"lambda_forwarder": {"lambdas": ["arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder"], "log_source_config": {"tag_filters": [{"source": "s3", "tags": ["test:test"]}]}, "sources": ["s3"]}}, "metrics_config": {"automute_enabled": true, "collect_cloudwatch_alarms": true, "collect_custom_metrics": true, "enabled": true, "tag_filters": [{"namespace": "AWS/EC2", "tags": ["key:value"]}]}, "resources_config": {"cloud_security_posture_management_collection": false, "extended_collection": false}, "traces_config": {}}, "type": "account"}}
4238
When the request is sent
4339
Then the response status is 409 Conflict
4440

4541
@team:DataDog/aws-integrations
4642
Scenario: Delete an AWS integration returns "Bad Request" response
47-
Given operation "DeleteAWSAccount" enabled
48-
And new "DeleteAWSAccount" request
43+
Given new "DeleteAWSAccount" request
4944
And request contains "aws_account_config_id" parameter with value "not-a-uuid"
5045
When the request is sent
5146
Then the response status is 400 Bad Request
5247

5348
@team:DataDog/aws-integrations
5449
Scenario: Delete an AWS integration returns "No Content" response
55-
Given operation "DeleteAWSAccount" enabled
56-
And there is a valid "aws_account_v2" in the system
50+
Given there is a valid "aws_account_v2" in the system
5751
And new "DeleteAWSAccount" request
5852
And request contains "aws_account_config_id" parameter from "aws_account_v2.data.id"
5953
When the request is sent
6054
Then the response status is 204 No Content
6155

6256
@team:DataDog/aws-integrations
6357
Scenario: Delete an AWS integration returns "Not Found" response
64-
Given operation "DeleteAWSAccount" enabled
65-
And there is a valid "aws_account_v2" in the system
58+
Given there is a valid "aws_account_v2" in the system
6659
And new "DeleteAWSAccount" request
6760
And request contains "aws_account_config_id" parameter with value "448169a8-251c-4344-abee-1c4edef39f7a"
6861
When the request is sent
6962
Then the response status is 404 Not Found
7063

7164
@team:DataDog/aws-integrations
7265
Scenario: Generate a new external ID returns "AWS External ID object" response
73-
Given operation "CreateNewAWSExternalID" enabled
74-
And new "CreateNewAWSExternalID" request
66+
Given new "CreateNewAWSExternalID" request
7567
When the request is sent
7668
Then the response status is 200 AWS External ID object
7769

7870
@team:DataDog/aws-integrations
7971
Scenario: Generate new external ID returns "AWS External ID object" response
80-
Given operation "CreateNewAWSExternalID" enabled
81-
And new "CreateNewAWSExternalID" request
72+
Given new "CreateNewAWSExternalID" request
8273
When the request is sent
8374
Then the response status is 200 AWS External ID object
8475

@@ -90,54 +81,47 @@ Feature: AWS Integration
9081

9182
@team:DataDog/aws-integrations
9283
Scenario: Get an AWS integration by config ID returns "AWS Account object" response
93-
Given operation "GetAWSAccount" enabled
94-
And there is a valid "aws_account_v2" in the system
84+
Given there is a valid "aws_account_v2" in the system
9585
And new "GetAWSAccount" request
9686
And request contains "aws_account_config_id" parameter from "aws_account_v2.data.id"
9787
When the request is sent
9888
Then the response status is 200 AWS Account object
9989

10090
@team:DataDog/aws-integrations
10191
Scenario: Get an AWS integration by config ID returns "Bad Request" response
102-
Given operation "GetAWSAccount" enabled
103-
And new "GetAWSAccount" request
92+
Given new "GetAWSAccount" request
10493
And request contains "aws_account_config_id" parameter with value "not-a-uuid"
10594
When the request is sent
10695
Then the response status is 400 Bad Request
10796

10897
@team:DataDog/aws-integrations
10998
Scenario: Get an AWS integration by config ID returns "Not Found" response
110-
Given operation "GetAWSAccount" enabled
111-
And new "GetAWSAccount" request
99+
Given new "GetAWSAccount" request
112100
And request contains "aws_account_config_id" parameter with value "448169a8-251c-4344-abee-1c4edef39f7a"
113101
When the request is sent
114102
Then the response status is 404 Not Found
115103

116104
@team:DataDog/aws-integrations
117105
Scenario: List all AWS integrations returns "AWS Accounts List object" response
118-
Given operation "ListAWSAccounts" enabled
119-
And new "ListAWSAccounts" request
106+
Given new "ListAWSAccounts" request
120107
When the request is sent
121108
Then the response status is 200 AWS Accounts List object
122109

123110
@team:DataDog/aws-integrations
124111
Scenario: List available namespaces returns "AWS Namespaces List object" response
125-
Given operation "ListAWSNamespaces" enabled
126-
And new "ListAWSNamespaces" request
112+
Given new "ListAWSNamespaces" request
127113
When the request is sent
128114
Then the response status is 200 AWS Namespaces List object
129115

130116
@team:DataDog/aws-integrations
131117
Scenario: List namespaces returns "AWS Namespaces List object" response
132-
Given operation "ListAWSNamespaces" enabled
133-
And new "ListAWSNamespaces" request
118+
Given new "ListAWSNamespaces" request
134119
When the request is sent
135120
Then the response status is 200 AWS Namespaces List object
136121

137122
@team:DataDog/aws-integrations
138123
Scenario: Update an AWS integration returns "AWS Account object" response
139-
Given operation "UpdateAWSAccount" enabled
140-
And there is a valid "aws_account_v2" in the system
124+
Given there is a valid "aws_account_v2" in the system
141125
And new "UpdateAWSAccount" request
142126
And request contains "aws_account_config_id" parameter from "aws_account_v2.data.id"
143127
And body with value {"data": {"attributes": {"account_tags": ["key:value"], "auth_config": {"role_name": "DatadogIntegrationRole"}, "aws_account_id": "123456789012", "aws_partition": "aws", "logs_config": {"lambda_forwarder": {"lambdas": ["arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder"], "log_source_config": {"tag_filters": [{"source": "s3", "tags": ["test:test"]}]}, "sources": ["s3"]}}, "metrics_config": {"automute_enabled": true, "collect_cloudwatch_alarms": true, "collect_custom_metrics": true, "enabled": true, "tag_filters": [{"namespace": "AWS/EC2", "tags": ["key:value"]}]}, "resources_config": {"cloud_security_posture_management_collection": false, "extended_collection": false}, "traces_config": {}}, "type": "account"}}
@@ -146,8 +130,7 @@ Feature: AWS Integration
146130

147131
@team:DataDog/aws-integrations
148132
Scenario: Update an AWS integration returns "Bad Request" response
149-
Given operation "UpdateAWSAccount" enabled
150-
And there is a valid "aws_account_v2" in the system
133+
Given there is a valid "aws_account_v2" in the system
151134
And new "UpdateAWSAccount" request
152135
And request contains "aws_account_config_id" parameter from "aws_account_v2.data.id"
153136
And body with value {"data": {"attributes": {"account_tags": ["key:value"], "auth_config": {"access_key_id": "AKIAIOSFODNN7EXAMPLE", "secret_access_key": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"}, "aws_account_id": "123456789012", "aws_partition": "aws", "logs_config": {"lambda_forwarder": {"lambdas": ["arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder"], "log_source_config": {"tag_filters": [{"source": "s3", "tags": ["test:test"]}]}, "sources": ["s3"]}}, "metrics_config": {"automute_enabled": true, "collect_cloudwatch_alarms": true, "collect_custom_metrics": true, "enabled": true, "tag_filters": [{"namespace": "AWS/EC2", "tags": ["key:value"]}]}, "resources_config": {"cloud_security_posture_management_collection": false, "extended_collection": false}, "traces_config": {}}, "type": "account"}}
@@ -156,8 +139,7 @@ Feature: AWS Integration
156139

157140
@team:DataDog/aws-integrations
158141
Scenario: Update an AWS integration returns "Not Found" response
159-
Given operation "UpdateAWSAccount" enabled
160-
And new "UpdateAWSAccount" request
142+
Given new "UpdateAWSAccount" request
161143
And request contains "aws_account_config_id" parameter with value "448169a8-251c-4344-abee-1c4edef39f7a"
162144
And body with value {"data": {"attributes": {"account_tags": ["key:value"], "auth_config": {"role_name": "DatadogIntegrationRole"}, "aws_account_id": "123456789012", "aws_partition": "aws", "logs_config": {"lambda_forwarder": {"lambdas": ["arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder"], "log_source_config": {"tag_filters": [{"source": "s3", "tags": ["test:test"]}]}, "sources": ["s3"]}}, "metrics_config": {"automute_enabled": true, "collect_cloudwatch_alarms": true, "collect_custom_metrics": true, "enabled": true, "tag_filters": [{"namespace": "AWS/EC2", "tags": ["key:value"]}]}, "resources_config": {"cloud_security_posture_management_collection": false, "extended_collection": false}, "traces_config": {}}, "type": "account"}}
163145
When the request is sent

features/v2/aws_logs_integration.feature

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ Feature: AWS Logs Integration
1010
Given a valid "apiKeyAuth" key in the system
1111
And a valid "appKeyAuth" key in the system
1212
And an instance of "AWSLogsIntegration" API
13-
And operation "ListAWSLogsServices" enabled
1413
And new "ListAWSLogsServices" request
1514
When the request is sent
1615
Then the response status is 200 AWS Logs Services List object

services/aws_integration/README.md

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,6 @@ import { AWSIntegrationApiV2 } from "@datadog/datadog-api-client-aws-integration
2626
import { v2 } from "@datadog/datadog-api-client-aws-integration";
2727

2828
const configuration = createConfiguration();
29-
// Enable unstable operations
30-
const configurationOpts = {
31-
unstableOperations: {
32-
"AWSIntegrationApi.v2.listAWSAccounts": true
33-
}
34-
}
35-
36-
const configuration = createConfiguration(configurationOpts);
3729
const apiInstance = new AWSIntegrationApiV2(configuration);
3830
const params = {/* parameters */};
3931

0 commit comments

Comments
 (0)