From 0e102a563da296498efdc8ce0628238469605fb3 Mon Sep 17 00:00:00 2001 From: "ci.datadog-api-spec" Date: Wed, 6 Nov 2024 16:35:53 +0000 Subject: [PATCH] Regenerate client from commit dbfce8af of spec repo --- .apigentools-info | 8 +- .generator/schemas/v2/openapi.yaml | 815 +++++++++++++++ .../frozen.json | 1 + .../recording.har | 104 ++ .../frozen.json | 1 + .../recording.har | 67 ++ .../frozen.json | 1 + .../recording.har | 157 +++ .../frozen.json | 1 + .../recording.har | 67 ++ .../frozen.json | 1 + .../recording.har | 109 ++ .../frozen.json | 1 + .../recording.har | 57 ++ .../frozen.json | 1 + .../recording.har | 147 +++ .../frozen.json | 1 + .../recording.har | 147 +++ .../frozen.json | 1 + .../recording.har | 57 ++ .../frozen.json | 1 + .../recording.har | 147 +++ .../frozen.json | 1 + .../recording.har | 57 ++ .../frozen.json | 1 + .../recording.har | 57 ++ .../frozen.json | 1 + .../recording.har | 57 ++ .../frozen.json | 1 + .../recording.har | 57 ++ .../frozen.json | 1 + .../recording.har | 57 ++ .../frozen.json | 1 + .../recording.har | 57 ++ .../frozen.json | 1 + .../recording.har | 162 +++ .../frozen.json | 1 + .../recording.har | 157 +++ .../frozen.json | 1 + .../recording.har | 157 +++ .../frozen.json | 1 + .../recording.har | 67 ++ .../frozen.json | 1 + .../recording.har | 104 ++ .../frozen.json | 1 + .../recording.har | 104 ++ .../frozen.json | 1 + .../recording.har | 67 ++ .../frozen.json | 1 + .../recording.har | 157 +++ .../frozen.json | 1 + .../recording.har | 57 ++ .../frozen.json | 1 + .../recording.har | 147 +++ .../frozen.json | 1 + .../recording.har | 147 +++ .../frozen.json | 1 + .../recording.har | 57 ++ .../frozen.json | 1 + .../recording.har | 57 ++ .../frozen.json | 1 + .../recording.har | 147 +++ .../frozen.json | 1 + .../recording.har | 57 ++ .../frozen.json | 1 + .../recording.har | 57 ++ .../frozen.json | 1 + .../recording.har | 57 ++ .../frozen.json | 1 + .../recording.har | 57 ++ .../frozen.json | 1 + .../recording.har | 57 ++ .../frozen.json | 1 + .../recording.har | 57 ++ .../frozen.json | 1 + .../recording.har | 157 +++ .../frozen.json | 1 + .../recording.har | 157 +++ .../frozen.json | 1 + .../recording.har | 67 ++ .../frozen.json | 1 + .../recording.har | 57 ++ .../v2/aws-integration/CreateAWSAccount.ts | 60 ++ .../CreateAWSAccount_1716720881.ts | 59 ++ .../aws-integration/CreateNewAWSExternalID.ts | 18 + .../CreateNewAWSExternalID_364713854.ts | 18 + .../v2/aws-integration/DeleteAWSAccount.ts | 25 + examples/v2/aws-integration/GetAWSAccount.ts | 25 + .../v2/aws-integration/ListAWSAccounts.ts | 18 + .../v2/aws-integration/ListAWSNamespaces.ts | 18 + .../ListAWSNamespaces_3031307873.ts | 18 + .../v2/aws-integration/UpdateAWSAccount.ts | 63 ++ .../ListAWSLogsServices.ts | 18 + features/support/scenarios_model_mapping.ts | 48 + features/v1/aws_integration.feature | 52 +- features/v1/aws_logs_integration.feature | 26 +- features/v2/aws_integration.feature | 158 +++ features/v2/aws_logs_integration.feature | 16 + features/v2/given.json | 12 + features/v2/undo.json | 55 ++ .../configuration.ts | 8 + .../apis/AWSIntegrationApi.ts | 931 ++++++++++++++++++ .../apis/AWSLogsIntegrationApi.ts | 144 +++ packages/datadog-api-client-v2/index.ts | 55 ++ .../models/AWSAccountCreateRequest.ts | 54 + .../AWSAccountCreateRequestAttributes.ts | 126 +++ .../models/AWSAccountCreateRequestData.ts | 64 ++ .../models/AWSAccountPartition.ts | 20 + .../models/AWSAccountResponse.ts | 54 + .../models/AWSAccountResponseAttributes.ts | 142 +++ .../models/AWSAccountResponseData.ts | 72 ++ .../models/AWSAccountType.ts | 14 + .../models/AWSAccountUpdateRequest.ts | 54 + .../AWSAccountUpdateRequestAttributes.ts | 124 +++ .../models/AWSAccountUpdateRequestData.ts | 72 ++ .../models/AWSAccountsResponse.ts | 54 + .../models/AWSAuthConfig.ts | 18 + .../models/AWSAuthConfigKeys.ts | 61 ++ .../models/AWSAuthConfigRole.ts | 61 ++ .../models/AWSLambdaForwarderConfig.ts | 60 ++ .../models/AWSLogsConfig.ts | 53 + .../models/AWSLogsServicesResponse.ts | 54 + .../AWSLogsServicesResponseAttributes.ts | 53 + .../models/AWSLogsServicesResponseData.ts | 72 ++ .../models/AWSLogsServicesResponseDataType.ts | 16 + .../models/AWSMetricsConfig.ts | 94 ++ .../models/AWSNamespaceFilters.ts | 22 + .../models/AWSNamespaceFiltersExcludeAll.ts | 53 + .../models/AWSNamespaceFiltersExcludeOnly.ts | 53 + .../models/AWSNamespaceFiltersIncludeAll.ts | 53 + .../models/AWSNamespaceFiltersIncludeOnly.ts | 53 + .../models/AWSNamespaceTagFilter.ts | 60 ++ .../models/AWSNamespacesResponse.ts | 54 + .../models/AWSNamespacesResponseAttributes.ts | 53 + .../models/AWSNamespacesResponseData.ts | 72 ++ .../models/AWSNamespacesResponseDataType.ts | 14 + .../models/AWSNewExternalIDResponse.ts | 54 + .../AWSNewExternalIDResponseAttributes.ts | 53 + .../models/AWSNewExternalIDResponseData.ts | 72 ++ .../AWSNewExternalIDResponseDataType.ts | 16 + .../models/AWSRegions.ts | 18 + .../models/AWSRegionsIncludeAll.ts | 53 + .../models/AWSRegionsIncludeOnly.ts | 53 + .../models/AWSResourcesConfig.ts | 60 ++ .../models/AWSTracesConfig.ts | 53 + .../models/ObjectSerializer.ts | 84 ++ .../models/XRayServicesIncludeAll.ts | 53 + .../models/XRayServicesIncludeOnly.ts | 53 + .../models/XRayServicesList.ts | 18 + 149 files changed, 8952 insertions(+), 43 deletions(-) create mode 100644 cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Create-account-config-returns-AWS-Account-object-response_631702629/frozen.json create mode 100644 cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Create-account-config-returns-AWS-Account-object-response_631702629/recording.har create mode 100644 cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Create-account-config-returns-Bad-Request-response_1465630460/frozen.json create mode 100644 cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Create-account-config-returns-Bad-Request-response_1465630460/recording.har create mode 100644 cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Create-account-config-returns-Conflict-response_1682549058/frozen.json create mode 100644 cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Create-account-config-returns-Conflict-response_1682549058/recording.har create mode 100644 cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Create-account-with-invalid-aws_partition-returns-400-API-error-response_4119365543/frozen.json create mode 100644 cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Create-account-with-invalid-aws_partition-returns-400-API-error-response_4119365543/recording.har create mode 100644 cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Create-account-with-valid-config-returns-AWS-Account-object-response_1363365535/frozen.json create mode 100644 cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Create-account-with-valid-config-returns-AWS-Account-object-response_1363365535/recording.har create mode 100644 cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Delete-account-config-returns-Bad-Request-response_1597194887/frozen.json create mode 100644 cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Delete-account-config-returns-Bad-Request-response_1597194887/recording.har create mode 100644 cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Delete-account-config-returns-No-Content-response_59897891/frozen.json create mode 100644 cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Delete-account-config-returns-No-Content-response_59897891/recording.har create mode 100644 cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Delete-account-config-returns-Not-Found-response_1951455072/frozen.json create mode 100644 cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Delete-account-config-returns-Not-Found-response_1951455072/recording.har create mode 100644 cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Generate-new-external-ID-returns-AWS-External-ID-object-response_3720840532/frozen.json create mode 100644 cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Generate-new-external-ID-returns-AWS-External-ID-object-response_3720840532/recording.har create mode 100644 cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Get-account-config-returns-AWS-Account-object-response_2428408451/frozen.json create mode 100644 cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Get-account-config-returns-AWS-Account-object-response_2428408451/recording.har create mode 100644 cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Get-account-config-returns-Bad-Request-response_3014897058/frozen.json create mode 100644 cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Get-account-config-returns-Bad-Request-response_3014897058/recording.har create mode 100644 cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Get-account-config-returns-Not-Found-response_2117850097/frozen.json create mode 100644 cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Get-account-config-returns-Not-Found-response_2117850097/recording.har create mode 100644 cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Get-all-account-configs-returns-AWS-Accounts-List-object-response_4091556376/frozen.json create mode 100644 cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Get-all-account-configs-returns-AWS-Accounts-List-object-response_4091556376/recording.har create mode 100644 cassettes/v2/AWS-Integration_2071210100/AWS-Integration-List-available-namespaces-returns-AWS-Namespaces-List-object-response_4172139094/frozen.json create mode 100644 cassettes/v2/AWS-Integration_2071210100/AWS-Integration-List-available-namespaces-returns-AWS-Namespaces-List-object-response_4172139094/recording.har create mode 100644 cassettes/v2/AWS-Integration_2071210100/AWS-Integration-List-log-services-returns-AWS-Logs-Services-List-object-response_2087889718/frozen.json create mode 100644 cassettes/v2/AWS-Integration_2071210100/AWS-Integration-List-log-services-returns-AWS-Logs-Services-List-object-response_2087889718/recording.har create mode 100644 cassettes/v2/AWS-Integration_2071210100/AWS-Integration-List-namespaces-returns-AWS-Namespaces-List-object-response_4089631579/frozen.json create mode 100644 cassettes/v2/AWS-Integration_2071210100/AWS-Integration-List-namespaces-returns-AWS-Namespaces-List-object-response_4089631579/recording.har create mode 100644 cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Patch-account-config-returns-API-error-response-response_2736697919/frozen.json create mode 100644 cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Patch-account-config-returns-API-error-response-response_2736697919/recording.har create mode 100644 cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Patch-account-config-returns-AWS-Account-object-response_3256752209/frozen.json create mode 100644 cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Patch-account-config-returns-AWS-Account-object-response_3256752209/recording.har create mode 100644 cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Patch-account-config-returns-Bad-Request-response_3571072472/frozen.json create mode 100644 cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Patch-account-config-returns-Bad-Request-response_3571072472/recording.har create mode 100644 cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Patch-account-config-returns-Not-Found-response_1229702191/frozen.json create mode 100644 cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Patch-account-config-returns-Not-Found-response_1229702191/recording.har create mode 100644 cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-account-returns-AWS-Account-object-response_368932003/frozen.json create mode 100644 cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-account-returns-AWS-Account-object-response_368932003/recording.har create mode 100644 cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-integration-returns-AWS-Account-object-response_3719830338/frozen.json create mode 100644 cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-integration-returns-AWS-Account-object-response_3719830338/recording.har create mode 100644 cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-integration-returns-Bad-Request-response_1297298849/frozen.json create mode 100644 cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-integration-returns-Bad-Request-response_1297298849/recording.har create mode 100644 cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-integration-returns-Conflict-response_640058473/frozen.json create mode 100644 cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-integration-returns-Conflict-response_640058473/recording.har create mode 100644 cassettes/v2/AWS-Integration_2071210100/Delete-an-AWS-integration-returns-Bad-Request-response_486495630/frozen.json create mode 100644 cassettes/v2/AWS-Integration_2071210100/Delete-an-AWS-integration-returns-Bad-Request-response_486495630/recording.har create mode 100644 cassettes/v2/AWS-Integration_2071210100/Delete-an-AWS-integration-returns-No-Content-response_4057518980/frozen.json create mode 100644 cassettes/v2/AWS-Integration_2071210100/Delete-an-AWS-integration-returns-No-Content-response_4057518980/recording.har create mode 100644 cassettes/v2/AWS-Integration_2071210100/Delete-an-AWS-integration-returns-Not-Found-response_1363358965/frozen.json create mode 100644 cassettes/v2/AWS-Integration_2071210100/Delete-an-AWS-integration-returns-Not-Found-response_1363358965/recording.har create mode 100644 cassettes/v2/AWS-Integration_2071210100/Generate-a-new-external-ID-returns-AWS-External-ID-object-response_4142784067/frozen.json create mode 100644 cassettes/v2/AWS-Integration_2071210100/Generate-a-new-external-ID-returns-AWS-External-ID-object-response_4142784067/recording.har create mode 100644 cassettes/v2/AWS-Integration_2071210100/Generate-new-external-ID-returns-AWS-External-ID-object-response_801325176/frozen.json create mode 100644 cassettes/v2/AWS-Integration_2071210100/Generate-new-external-ID-returns-AWS-External-ID-object-response_801325176/recording.har create mode 100644 cassettes/v2/AWS-Integration_2071210100/Get-an-AWS-integration-by-config-ID-returns-AWS-Account-object-response_1593928644/frozen.json create mode 100644 cassettes/v2/AWS-Integration_2071210100/Get-an-AWS-integration-by-config-ID-returns-AWS-Account-object-response_1593928644/recording.har create mode 100644 cassettes/v2/AWS-Integration_2071210100/Get-an-AWS-integration-by-config-ID-returns-Bad-Request-response_436041603/frozen.json create mode 100644 cassettes/v2/AWS-Integration_2071210100/Get-an-AWS-integration-by-config-ID-returns-Bad-Request-response_436041603/recording.har create mode 100644 cassettes/v2/AWS-Integration_2071210100/Get-an-AWS-integration-by-config-ID-returns-Not-Found-response_3734201732/frozen.json create mode 100644 cassettes/v2/AWS-Integration_2071210100/Get-an-AWS-integration-by-config-ID-returns-Not-Found-response_3734201732/recording.har create mode 100644 cassettes/v2/AWS-Integration_2071210100/List-all-AWS-integrations-returns-AWS-Accounts-List-object-response_3577745950/frozen.json create mode 100644 cassettes/v2/AWS-Integration_2071210100/List-all-AWS-integrations-returns-AWS-Accounts-List-object-response_3577745950/recording.har create mode 100644 cassettes/v2/AWS-Integration_2071210100/List-available-namespaces-returns-AWS-Namespaces-List-object-response_4070402298/frozen.json create mode 100644 cassettes/v2/AWS-Integration_2071210100/List-available-namespaces-returns-AWS-Namespaces-List-object-response_4070402298/recording.har create mode 100644 cassettes/v2/AWS-Integration_2071210100/List-log-services-returns-AWS-Logs-Services-List-object-response_1309181282/frozen.json create mode 100644 cassettes/v2/AWS-Integration_2071210100/List-log-services-returns-AWS-Logs-Services-List-object-response_1309181282/recording.har create mode 100644 cassettes/v2/AWS-Integration_2071210100/List-namespaces-returns-AWS-Namespaces-List-object-response_1498240079/frozen.json create mode 100644 cassettes/v2/AWS-Integration_2071210100/List-namespaces-returns-AWS-Namespaces-List-object-response_1498240079/recording.har create mode 100644 cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-AWS-Account-object-response_513840777/frozen.json create mode 100644 cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-AWS-Account-object-response_513840777/recording.har create mode 100644 cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-Bad-Request-response_3854082752/frozen.json create mode 100644 cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-Bad-Request-response_3854082752/recording.har create mode 100644 cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-Not-Found-response_3231175735/frozen.json create mode 100644 cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-Not-Found-response_3231175735/recording.har create mode 100644 cassettes/v2/AWS-Logs-Integration_4229128547/Get-list-of-AWS-log-ready-services-returns-AWS-Logs-Services-List-object-response_1572604775/frozen.json create mode 100644 cassettes/v2/AWS-Logs-Integration_4229128547/Get-list-of-AWS-log-ready-services-returns-AWS-Logs-Services-List-object-response_1572604775/recording.har create mode 100644 examples/v2/aws-integration/CreateAWSAccount.ts create mode 100644 examples/v2/aws-integration/CreateAWSAccount_1716720881.ts create mode 100644 examples/v2/aws-integration/CreateNewAWSExternalID.ts create mode 100644 examples/v2/aws-integration/CreateNewAWSExternalID_364713854.ts create mode 100644 examples/v2/aws-integration/DeleteAWSAccount.ts create mode 100644 examples/v2/aws-integration/GetAWSAccount.ts create mode 100644 examples/v2/aws-integration/ListAWSAccounts.ts create mode 100644 examples/v2/aws-integration/ListAWSNamespaces.ts create mode 100644 examples/v2/aws-integration/ListAWSNamespaces_3031307873.ts create mode 100644 examples/v2/aws-integration/UpdateAWSAccount.ts create mode 100644 examples/v2/aws-logs-integration/ListAWSLogsServices.ts create mode 100644 features/v2/aws_integration.feature create mode 100644 features/v2/aws_logs_integration.feature create mode 100644 packages/datadog-api-client-v2/apis/AWSIntegrationApi.ts create mode 100644 packages/datadog-api-client-v2/apis/AWSLogsIntegrationApi.ts create mode 100644 packages/datadog-api-client-v2/models/AWSAccountCreateRequest.ts create mode 100644 packages/datadog-api-client-v2/models/AWSAccountCreateRequestAttributes.ts create mode 100644 packages/datadog-api-client-v2/models/AWSAccountCreateRequestData.ts create mode 100644 packages/datadog-api-client-v2/models/AWSAccountPartition.ts create mode 100644 packages/datadog-api-client-v2/models/AWSAccountResponse.ts create mode 100644 packages/datadog-api-client-v2/models/AWSAccountResponseAttributes.ts create mode 100644 packages/datadog-api-client-v2/models/AWSAccountResponseData.ts create mode 100644 packages/datadog-api-client-v2/models/AWSAccountType.ts create mode 100644 packages/datadog-api-client-v2/models/AWSAccountUpdateRequest.ts create mode 100644 packages/datadog-api-client-v2/models/AWSAccountUpdateRequestAttributes.ts create mode 100644 packages/datadog-api-client-v2/models/AWSAccountUpdateRequestData.ts create mode 100644 packages/datadog-api-client-v2/models/AWSAccountsResponse.ts create mode 100644 packages/datadog-api-client-v2/models/AWSAuthConfig.ts create mode 100644 packages/datadog-api-client-v2/models/AWSAuthConfigKeys.ts create mode 100644 packages/datadog-api-client-v2/models/AWSAuthConfigRole.ts create mode 100644 packages/datadog-api-client-v2/models/AWSLambdaForwarderConfig.ts create mode 100644 packages/datadog-api-client-v2/models/AWSLogsConfig.ts create mode 100644 packages/datadog-api-client-v2/models/AWSLogsServicesResponse.ts create mode 100644 packages/datadog-api-client-v2/models/AWSLogsServicesResponseAttributes.ts create mode 100644 packages/datadog-api-client-v2/models/AWSLogsServicesResponseData.ts create mode 100644 packages/datadog-api-client-v2/models/AWSLogsServicesResponseDataType.ts create mode 100644 packages/datadog-api-client-v2/models/AWSMetricsConfig.ts create mode 100644 packages/datadog-api-client-v2/models/AWSNamespaceFilters.ts create mode 100644 packages/datadog-api-client-v2/models/AWSNamespaceFiltersExcludeAll.ts create mode 100644 packages/datadog-api-client-v2/models/AWSNamespaceFiltersExcludeOnly.ts create mode 100644 packages/datadog-api-client-v2/models/AWSNamespaceFiltersIncludeAll.ts create mode 100644 packages/datadog-api-client-v2/models/AWSNamespaceFiltersIncludeOnly.ts create mode 100644 packages/datadog-api-client-v2/models/AWSNamespaceTagFilter.ts create mode 100644 packages/datadog-api-client-v2/models/AWSNamespacesResponse.ts create mode 100644 packages/datadog-api-client-v2/models/AWSNamespacesResponseAttributes.ts create mode 100644 packages/datadog-api-client-v2/models/AWSNamespacesResponseData.ts create mode 100644 packages/datadog-api-client-v2/models/AWSNamespacesResponseDataType.ts create mode 100644 packages/datadog-api-client-v2/models/AWSNewExternalIDResponse.ts create mode 100644 packages/datadog-api-client-v2/models/AWSNewExternalIDResponseAttributes.ts create mode 100644 packages/datadog-api-client-v2/models/AWSNewExternalIDResponseData.ts create mode 100644 packages/datadog-api-client-v2/models/AWSNewExternalIDResponseDataType.ts create mode 100644 packages/datadog-api-client-v2/models/AWSRegions.ts create mode 100644 packages/datadog-api-client-v2/models/AWSRegionsIncludeAll.ts create mode 100644 packages/datadog-api-client-v2/models/AWSRegionsIncludeOnly.ts create mode 100644 packages/datadog-api-client-v2/models/AWSResourcesConfig.ts create mode 100644 packages/datadog-api-client-v2/models/AWSTracesConfig.ts create mode 100644 packages/datadog-api-client-v2/models/XRayServicesIncludeAll.ts create mode 100644 packages/datadog-api-client-v2/models/XRayServicesIncludeOnly.ts create mode 100644 packages/datadog-api-client-v2/models/XRayServicesList.ts diff --git a/.apigentools-info b/.apigentools-info index 5727fe492d3..2b09b34bcf0 100644 --- a/.apigentools-info +++ b/.apigentools-info @@ -4,13 +4,13 @@ "spec_versions": { "v1": { "apigentools_version": "1.6.6", - "regenerated": "2024-11-05 22:28:18.403817", - "spec_repo_commit": "2db17c21" + "regenerated": "2024-11-06 16:34:21.479458", + "spec_repo_commit": "dbfce8af" }, "v2": { "apigentools_version": "1.6.6", - "regenerated": "2024-11-05 22:28:18.425193", - "spec_repo_commit": "2db17c21" + "regenerated": "2024-11-06 16:34:21.501184", + "spec_repo_commit": "dbfce8af" } } } \ No newline at end of file diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index ce1fe2fc60d..f975f26a910 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -84,6 +84,13 @@ components: required: false schema: $ref: '#/components/schemas/APIKeysSort' + AWSAccountConfigIDPathParameter: + description: Unique Datadog ID of the AWS Account Integration Config + in: path + name: aws_account_config_id + required: true + schema: + type: string ApplicationKeyFilterCreatedAtEndParameter: description: Only include application keys created on or before the specified date. @@ -976,6 +983,536 @@ components: type: string x-enum-varnames: - API_KEYS + AWSAccountConfigID: + description: Unique Datadog ID of the AWS Account Integration Config + example: 00000000-abcd-0001-0000-000000000000 + type: string + AWSAccountCreateRequest: + description: AWS Account Create Request body + properties: + data: + $ref: '#/components/schemas/AWSAccountCreateRequestData' + required: + - data + type: object + AWSAccountCreateRequestAttributes: + description: The AWS Account Integration Config to be created + properties: + account_tags: + $ref: '#/components/schemas/AWSAccountTags' + auth_config: + $ref: '#/components/schemas/AWSAuthConfig' + aws_account_id: + $ref: '#/components/schemas/AWSAccountID' + aws_partition: + $ref: '#/components/schemas/AWSAccountPartition' + aws_regions: + $ref: '#/components/schemas/AWSRegions' + logs_config: + $ref: '#/components/schemas/AWSLogsConfig' + metrics_config: + $ref: '#/components/schemas/AWSMetricsConfig' + resources_config: + $ref: '#/components/schemas/AWSResourcesConfig' + traces_config: + $ref: '#/components/schemas/AWSTracesConfig' + required: + - aws_account_id + - aws_partition + - auth_config + type: object + AWSAccountCreateRequestData: + description: AWS Account Create Request data + properties: + attributes: + $ref: '#/components/schemas/AWSAccountCreateRequestAttributes' + type: + $ref: '#/components/schemas/AWSAccountType' + required: + - attributes + - type + type: object + AWSAccountID: + description: AWS Account ID + example: '123456789012' + type: string + AWSAccountPartition: + default: aws + description: AWS Account partition + enum: + - aws + - aws-cn + - aws-us-gov + example: aws + type: string + x-enum-varnames: + - AWS + - AWS_CN + - AWS_US_GOV + AWSAccountResponse: + description: AWS Account response body + properties: + data: + $ref: '#/components/schemas/AWSAccountResponseData' + required: + - data + type: object + AWSAccountResponseAttributes: + description: The AWS Account Integration Config + properties: + account_tags: + $ref: '#/components/schemas/AWSAccountTags' + auth_config: + $ref: '#/components/schemas/AWSAuthConfig' + aws_account_id: + $ref: '#/components/schemas/AWSAccountID' + aws_partition: + $ref: '#/components/schemas/AWSAccountPartition' + aws_regions: + $ref: '#/components/schemas/AWSRegions' + created_at: + description: Timestamp of when the account integration was created + format: date-time + readOnly: true + type: string + logs_config: + $ref: '#/components/schemas/AWSLogsConfig' + metrics_config: + $ref: '#/components/schemas/AWSMetricsConfig' + modified_at: + description: Timestamp of when the account integration was updated + format: date-time + readOnly: true + type: string + resources_config: + $ref: '#/components/schemas/AWSResourcesConfig' + traces_config: + $ref: '#/components/schemas/AWSTracesConfig' + required: + - aws_account_id + type: object + AWSAccountResponseData: + description: AWS Account Response body + properties: + attributes: + $ref: '#/components/schemas/AWSAccountResponseAttributes' + id: + $ref: '#/components/schemas/AWSAccountConfigID' + type: + $ref: '#/components/schemas/AWSAccountType' + required: + - id + - type + type: object + AWSAccountTags: + description: Tags to apply to all metrics in the account + items: + description: Tag to apply to all metrics in the account + example: key:value + type: string + nullable: true + type: array + AWSAccountType: + default: account + description: AWS Account resource type. + enum: + - account + example: account + type: string + x-enum-varnames: + - ACCOUNT + AWSAccountUpdateRequest: + description: AWS Account Update Request body + properties: + data: + $ref: '#/components/schemas/AWSAccountUpdateRequestData' + required: + - data + type: object + AWSAccountUpdateRequestAttributes: + description: The AWS Account Integration Config to be updated + properties: + account_tags: + $ref: '#/components/schemas/AWSAccountTags' + auth_config: + $ref: '#/components/schemas/AWSAuthConfig' + aws_account_id: + $ref: '#/components/schemas/AWSAccountID' + aws_partition: + $ref: '#/components/schemas/AWSAccountPartition' + aws_regions: + $ref: '#/components/schemas/AWSRegions' + logs_config: + $ref: '#/components/schemas/AWSLogsConfig' + metrics_config: + $ref: '#/components/schemas/AWSMetricsConfig' + resources_config: + $ref: '#/components/schemas/AWSResourcesConfig' + traces_config: + $ref: '#/components/schemas/AWSTracesConfig' + required: + - aws_account_id + type: object + AWSAccountUpdateRequestData: + description: AWS Account Update Request data + properties: + attributes: + $ref: '#/components/schemas/AWSAccountUpdateRequestAttributes' + id: + $ref: '#/components/schemas/AWSAccountConfigID' + type: + $ref: '#/components/schemas/AWSAccountType' + required: + - attributes + - type + type: object + AWSAccountsResponse: + description: AWS Accounts response body + properties: + data: + description: List of AWS Account Integration Configs + items: + $ref: '#/components/schemas/AWSAccountResponseData' + type: array + required: + - data + type: object + AWSAuthConfig: + description: AWS Authentication config + oneOf: + - $ref: '#/components/schemas/AWSAuthConfigKeys' + - $ref: '#/components/schemas/AWSAuthConfigRole' + AWSAuthConfigKeys: + description: AWS Authentication config for key-based account + properties: + access_key_id: + description: AWS Access Key ID + example: AKIAIOSFODNN7EXAMPLE + type: string + secret_access_key: + description: AWS Secret Access Key + example: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY + minLength: 1 + type: string + writeOnly: true + required: + - access_key_id + type: object + AWSAuthConfigRole: + description: AWS Authentication config for role-based account + properties: + external_id: + description: AWS IAM External ID for associated role + type: string + role_name: + description: AWS IAM Role name + example: DatadogIntegrationRole + maxLength: 576 + minLength: 1 + type: string + required: + - role_name + type: object + AWSLambdaForwarderConfig: + description: AWS Lambda forwarder + properties: + lambdas: + description: List of Datadog Lambda Log Forwarder ARNs + items: + example: arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder + type: string + type: array + sources: + description: List of AWS services that will send logs to the Datadog Lambda + Log Forwarder + items: + example: s3 + type: string + type: array + type: object + AWSLogsConfig: + description: AWS Logs config + properties: + lambda_forwarder: + $ref: '#/components/schemas/AWSLambdaForwarderConfig' + type: object + AWSLogsServicesResponse: + description: AWS Logs Services response body + properties: + data: + $ref: '#/components/schemas/AWSLogsServicesResponseData' + required: + - data + type: object + AWSLogsServicesResponseAttributes: + description: AWS Logs Services response body + properties: + logs_services: + description: List of AWS services that can send logs to Datadog + example: + - s3 + items: + example: s3 + type: string + type: array + required: + - logs_services + type: object + AWSLogsServicesResponseData: + description: AWS Logs Services response body + properties: + attributes: + $ref: '#/components/schemas/AWSLogsServicesResponseAttributes' + id: + default: logs_services + description: The `AWSLogsServicesResponseData` `id`. + example: logs_services + type: string + type: + $ref: '#/components/schemas/AWSLogsServicesResponseDataType' + required: + - id + - type + type: object + AWSLogsServicesResponseDataType: + default: logs_services + description: The `AWSLogsServicesResponseData` `type`. + enum: + - logs_services + example: logs_services + type: string + x-enum-varnames: + - LOGS_SERVICES + AWSMetricsConfig: + description: AWS Metrics config + properties: + automute_enabled: + description: Enable EC2 automute for AWS metrics + example: true + type: boolean + collect_cloudwatch_alarms: + description: Enable CloudWatch alarms collection + example: true + type: boolean + collect_custom_metrics: + description: Enable custom metrics collection + example: true + type: boolean + enabled: + description: Enable AWS metrics collection + example: true + type: boolean + namespace_filters: + $ref: '#/components/schemas/AWSNamespaceFilters' + tag_filters: + description: AWS Metrics tag filters list + items: + $ref: '#/components/schemas/AWSNamespaceTagFilter' + type: array + type: object + AWSNamespaceFilters: + description: AWS Metrics namespace filters + oneOf: + - $ref: '#/components/schemas/AWSNamespaceFiltersExcludeAll' + - $ref: '#/components/schemas/AWSNamespaceFiltersExcludeOnly' + - $ref: '#/components/schemas/AWSNamespaceFiltersIncludeAll' + - $ref: '#/components/schemas/AWSNamespaceFiltersIncludeOnly' + AWSNamespaceFiltersExcludeAll: + description: Exclude all namespaces + properties: + exclude_all: + description: Exclude all namespaces + example: false + type: boolean + required: + - exclude_all + AWSNamespaceFiltersExcludeOnly: + description: Exclude only these namespaces + properties: + exclude_only: + description: Exclude only these namespaces + example: + - AWS/EC2 + items: + example: AWS/EC2 + type: string + type: array + required: + - exclude_only + AWSNamespaceFiltersIncludeAll: + description: Include all namespaces + properties: + include_all: + description: Include all namespaces + example: false + type: boolean + required: + - include_all + AWSNamespaceFiltersIncludeOnly: + description: Include only these namespaces + properties: + include_only: + description: Include only these namespaces + example: + - AWS/EC2 + items: + example: AWS/EC2 + type: string + type: array + required: + - include_only + AWSNamespaceTagFilter: + description: AWS Metrics tag filters + properties: + namespace: + description: The AWS Namespace to apply the tag filters against + example: AWS/EC2 + type: string + tags: + description: The tags to filter based on + items: + example: key:value + type: string + nullable: true + type: array + type: object + AWSNamespacesResponse: + description: AWS Namespaces response body + properties: + data: + $ref: '#/components/schemas/AWSNamespacesResponseData' + required: + - data + type: object + AWSNamespacesResponseAttributes: + description: AWS Namespaces response body + properties: + namespaces: + description: AWS CloudWatch namespace + example: + - AWS/ApiGateway + items: + example: AWS/ApiGateway + type: string + type: array + required: + - namespaces + type: object + AWSNamespacesResponseData: + description: AWS Namespaces response body + properties: + attributes: + $ref: '#/components/schemas/AWSNamespacesResponseAttributes' + id: + default: namespaces + description: The `AWSNamespacesResponseData` `id`. + example: namespaces + type: string + type: + $ref: '#/components/schemas/AWSNamespacesResponseDataType' + required: + - id + - type + type: object + AWSNamespacesResponseDataType: + default: namespaces + description: The `AWSNamespacesResponseData` `type`. + enum: + - namespaces + example: namespaces + type: string + x-enum-varnames: + - NAMESPACES + AWSNewExternalIDResponse: + description: AWS External ID response body + properties: + data: + $ref: '#/components/schemas/AWSNewExternalIDResponseData' + required: + - data + type: object + AWSNewExternalIDResponseAttributes: + description: AWS External ID response body + properties: + external_id: + description: AWS IAM External ID for associated role + example: acb8f6b8a844443dbb726d07dcb1a870 + type: string + required: + - external_id + type: object + AWSNewExternalIDResponseData: + description: AWS External ID response body + properties: + attributes: + $ref: '#/components/schemas/AWSNewExternalIDResponseAttributes' + id: + default: external_id + description: The `AWSNewExternalIDResponseData` `id`. + example: external_id + type: string + type: + $ref: '#/components/schemas/AWSNewExternalIDResponseDataType' + required: + - id + - type + type: object + AWSNewExternalIDResponseDataType: + default: external_id + description: The `AWSNewExternalIDResponseData` `type`. + enum: + - external_id + example: external_id + type: string + x-enum-varnames: + - EXTERNAL_ID + AWSRegions: + description: AWS Regions to collect data from + oneOf: + - $ref: '#/components/schemas/AWSRegionsIncludeAll' + - $ref: '#/components/schemas/AWSRegionsIncludeOnly' + AWSRegionsIncludeAll: + description: Include all regions + properties: + include_all: + description: Include all regions + example: false + type: boolean + required: + - include_all + AWSRegionsIncludeOnly: + description: Include only these regions + properties: + include_only: + description: Include only these regions + example: + - us-east-1 + items: + example: us-east-1 + type: string + type: array + required: + - include_only + AWSResourcesConfig: + description: AWS Resources config + properties: + cloud_security_posture_management_collection: + description: Whether Datadog collects cloud security posture management + resources from your AWS account. + example: false + type: boolean + extended_collection: + description: Whether Datadog collects additional attributes and configuration + information about the resources in your AWS account. Required for `cspm_resource_collection`. + example: false + type: boolean + type: object + AWSTracesConfig: + description: AWS Traces config + properties: + xray_services: + $ref: '#/components/schemas/XRayServicesList' + type: object ActiveBillingDimensionsAttributes: description: List of active billing dimensions. properties: @@ -26254,6 +26791,34 @@ components: description: The id of the instance. type: string type: object + XRayServicesIncludeAll: + description: Include all services + properties: + include_all: + description: Include all services + example: false + type: boolean + required: + - include_all + XRayServicesIncludeOnly: + description: Include only these services + nullable: true + properties: + include_only: + description: Include only these services + example: + - AWS/AppSync + items: + example: AWS/AppSync + type: string + type: array + required: + - include_only + XRayServicesList: + description: AWS X-Ray services to collect traces from + oneOf: + - $ref: '#/components/schemas/XRayServicesIncludeAll' + - $ref: '#/components/schemas/XRayServicesIncludeOnly' securitySchemes: AuthZ: description: This API uses OAuth 2 with the implicit grant flow. @@ -31276,6 +31841,244 @@ paths: x-unstable: '**Note**: This endpoint is in public beta. If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).' + /api/v2/integration/aws/accounts: + get: + description: Get a list of AWS Account Integration Configs. + operationId: ListAWSAccounts + parameters: + - description: Optional query filter accounts by AWS Account ID + example: '123456789012' + in: query + name: aws_account_id + required: false + schema: + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AWSAccountsResponse' + description: AWS Accounts List object + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List all AWS integrations + tags: + - AWS Integration + x-permission: + operator: OR + permissions: + - aws_configuration_read + x-unstable: '**Note: This endpoint is in public beta. If you have any feedback, + + contact [Datadog support](https://docs.datadoghq.com/help/).**' + post: + description: Create a new AWS Account Integration Config. + operationId: CreateAWSAccount + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AWSAccountCreateRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AWSAccountResponse' + description: AWS Account object + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '409': + $ref: '#/components/responses/ConflictResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create an AWS integration + tags: + - AWS Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - aws_configurations_manage + x-unstable: '**Note: This endpoint is in public beta. If you have any feedback, + + contact [Datadog support](https://docs.datadoghq.com/help/).**' + /api/v2/integration/aws/accounts/{aws_account_config_id}: + delete: + description: Delete an AWS Account Integration Config + operationId: DeleteAWSAccount + parameters: + - $ref: '#/components/parameters/AWSAccountConfigIDPathParameter' + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete an AWS integration + tags: + - AWS Integration + x-permission: + operator: OR + permissions: + - aws_configurations_manage + x-unstable: '**Note: This endpoint is in public beta. If you have any feedback, + + contact [Datadog support](https://docs.datadoghq.com/help/).**' + get: + description: Get an AWS Account Integration Config + operationId: GetAWSAccount + parameters: + - $ref: '#/components/parameters/AWSAccountConfigIDPathParameter' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AWSAccountResponse' + description: AWS Account object + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get an AWS integration by config ID + tags: + - AWS Integration + x-permission: + operator: OR + permissions: + - aws_configuration_read + x-unstable: '**Note: This endpoint is in public beta. If you have any feedback, + + contact [Datadog support](https://docs.datadoghq.com/help/).**' + patch: + description: Update an AWS Account Integration Config + operationId: UpdateAWSAccount + parameters: + - $ref: '#/components/parameters/AWSAccountConfigIDPathParameter' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AWSAccountUpdateRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AWSAccountResponse' + description: AWS Account object + '400': + $ref: '#/components/responses/BadRequestResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update an AWS integration + tags: + - AWS Integration + x-codegen-request-body-name: body + x-permission: + operator: OR + permissions: + - aws_configuration_edit + x-unstable: '**Note: This endpoint is in public beta. If you have any feedback, + + contact [Datadog support](https://docs.datadoghq.com/help/).**' + /api/v2/integration/aws/available_namespaces: + get: + description: Get a list of available AWS CloudWatch namespaces that can send + metrics to Datadog. + operationId: ListAWSNamespaces + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AWSNamespacesResponse' + description: AWS Namespaces List object + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List available namespaces + tags: + - AWS Integration + x-permission: + operator: OR + permissions: + - aws_configuration_read + x-unstable: '**Note: This endpoint is in public beta. If you have any feedback, + + contact [Datadog support](https://docs.datadoghq.com/help/).**' + /api/v2/integration/aws/generate_new_external_id: + post: + description: Generate a new external ID for AWS role-based authentication. + operationId: CreateNewAWSExternalID + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AWSNewExternalIDResponse' + description: AWS External ID object + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Generate a new external ID + tags: + - AWS Integration + x-permission: + operator: OR + permissions: + - aws_configuration_edit + x-unstable: '**Note: This endpoint is in public beta. If you have any feedback, + + contact [Datadog support](https://docs.datadoghq.com/help/).**' + /api/v2/integration/aws/logs/services: + get: + description: Get a list of AWS services that can send logs to Datadog. + operationId: ListAWSLogsServices + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AWSLogsServicesResponse' + description: AWS Logs Services List object + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get list of AWS log ready services + tags: + - AWS Logs Integration + x-permission: + operator: OR + permissions: + - aws_configuration_read + x-unstable: '**Note: This endpoint is in public beta. If you have any feedback, + + contact [Datadog support](https://docs.datadoghq.com/help/).**' /api/v2/integration/gcp/accounts: get: description: List all GCP STS-enabled service accounts configured in your Datadog @@ -42337,6 +43140,18 @@ tags: description: Find out more at url: https://docs.datadoghq.com/tracing/trace_pipeline/trace_retention/ name: APM Retention Filters +- description: 'Configure your Datadog-AWS integration directly through the Datadog + API. + + For more information, see the [AWS integration page](https://docs.datadoghq.com/integrations/amazon_web_services).' + name: AWS Integration +- description: 'Configure your Datadog-AWS-Logs integration directly through Datadog + API. + + For more information, see the [AWS integration page](https://docs.datadoghq.com/integrations/amazon_web_services/#log-collection).' + externalDocs: + url: https://docs.datadoghq.com/integrations/amazon_web_services/#log-collection + name: AWS Logs Integration - description: Search your Audit Logs events over HTTP. name: Audit - description: '[The AuthN Mappings API](https://docs.datadoghq.com/account_management/authn_mapping/?tab=example) diff --git a/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Create-account-config-returns-AWS-Account-object-response_631702629/frozen.json b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Create-account-config-returns-AWS-Account-object-response_631702629/frozen.json new file mode 100644 index 00000000000..e3231cf12e9 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Create-account-config-returns-AWS-Account-object-response_631702629/frozen.json @@ -0,0 +1 @@ +"2024-10-28T14:43:00.419Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Create-account-config-returns-AWS-Account-object-response_631702629/recording.har b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Create-account-config-returns-AWS-Account-object-response_631702629/recording.har new file mode 100644 index 00000000000..21cd0aaff58 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Create-account-config-returns-AWS-Account-object-response_631702629/recording.har @@ -0,0 +1,104 @@ +{ + "log": { + "_recordingName": "AWS Integration/AWS Integration - Create account config returns \"AWS Account object\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "c206b9cd771e14f05d1842a3a48556ce", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 622, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 575, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"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\"],\"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\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts" + }, + "response": { + "bodySize": 950, + "content": { + "mimeType": "application/vnd.api+json", + "size": 950, + "text": "{\"data\":{\"id\":\"83eacdb0-09e6-4e72-bf2e-b2fbcdf438b7\",\"type\":\"account\",\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"role_name\":\"DatadogIntegrationRole\",\"external_id\":\"2803c423184c499dbd123d346e5bd16f\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_all\":true},\"created_at\":\"2024-10-28T14:43:01.065460229Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[\"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder\"],\"sources\":[\"s3\"]}},\"metrics_config\":{\"enabled\":true,\"automute_enabled\":true,\"collect_custom_metrics\":true,\"collect_cloudwatch_alarms\":true,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"key:value\"]}],\"namespace_filters\":{\"exclude_only\":[\"AWS/SQS\",\"AWS/ElasticMapReduce\"]}},\"modified_at\":\"2024-10-28T14:43:01.065463823Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":false,\"extended_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[]}}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-10-28T14:43:00.429Z", + "time": 665 + }, + { + "_id": "529b99913bc3184e63354dbf6811fe72", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 548, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/83eacdb0-09e6-4e72-bf2e-b2fbcdf438b7" + }, + "response": { + "bodySize": 0, + "content": { + "mimeType": "text/plain", + "size": 0 + }, + "cookies": [], + "headers": [], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 204, + "statusText": "No Content" + }, + "startedDateTime": "2024-10-28T14:43:01.111Z", + "time": 231 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Create-account-config-returns-Bad-Request-response_1465630460/frozen.json b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Create-account-config-returns-Bad-Request-response_1465630460/frozen.json new file mode 100644 index 00000000000..0d2e2895861 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Create-account-config-returns-Bad-Request-response_1465630460/frozen.json @@ -0,0 +1 @@ +"2024-10-28T14:43:01.350Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Create-account-config-returns-Bad-Request-response_1465630460/recording.har b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Create-account-config-returns-Bad-Request-response_1465630460/recording.har new file mode 100644 index 00000000000..875b86a62fe --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Create-account-config-returns-Bad-Request-response_1465630460/recording.har @@ -0,0 +1,67 @@ +{ + "log": { + "_recordingName": "AWS Integration/AWS Integration - Create account config returns \"Bad Request\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "f1ca6244e46cb3a286bf65d4e9044ba4", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 630, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 575, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"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\"],\"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\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts" + }, + "response": { + "bodySize": 80, + "content": { + "mimeType": "application/vnd.api+json", + "size": 80, + "text": "{\"errors\":[{\"title\":\"Generic Error\",\"detail\":\"invalid partition: aws-invalid\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 524, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 400, + "statusText": "Bad Request" + }, + "startedDateTime": "2024-10-28T14:43:01.357Z", + "time": 94 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Create-account-config-returns-Conflict-response_1682549058/frozen.json b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Create-account-config-returns-Conflict-response_1682549058/frozen.json new file mode 100644 index 00000000000..4a6ddb6e7ab --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Create-account-config-returns-Conflict-response_1682549058/frozen.json @@ -0,0 +1 @@ +"2024-10-28T14:43:01.458Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Create-account-config-returns-Conflict-response_1682549058/recording.har b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Create-account-config-returns-Conflict-response_1682549058/recording.har new file mode 100644 index 00000000000..6dde449c128 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Create-account-config-returns-Conflict-response_1682549058/recording.har @@ -0,0 +1,157 @@ +{ + "log": { + "_recordingName": "AWS Integration/AWS Integration - Create account config returns \"Conflict\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "194b15fbfcae9b9ae1a70daa19dc9ee9", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 810, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 575, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"role_name\":\"DatadogIntegrationRole\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-1\"]},\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[\"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder\"],\"sources\":[\"s3\"]}},\"metrics_config\":{\"automute_enabled\":true,\"collect_cloudwatch_alarms\":false,\"collect_custom_metrics\":false,\"enabled\":true,\"namespace_filters\":{\"include_only\":[\"AWS/EC2\"]},\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"key:value\"]}]},\"resources_config\":{\"cloud_security_posture_management_collection\":false,\"extended_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[\"AWS/AppSync\"]}}},\"id\":\"00000000-abcd-0001-0000-000000000000\",\"type\":\"account\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts" + }, + "response": { + "bodySize": 952, + "content": { + "mimeType": "application/vnd.api+json", + "size": 952, + "text": "{\"data\":{\"id\":\"fa9e70b4-5fbb-499d-ba36-b802512cbc83\",\"type\":\"account\",\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"role_name\":\"DatadogIntegrationRole\",\"external_id\":\"7fca00b8e534405e990889d4960d23f6\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-1\"]},\"created_at\":\"2024-10-28T14:43:02.014523417Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[\"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder\"],\"sources\":[\"s3\"]}},\"metrics_config\":{\"enabled\":true,\"automute_enabled\":true,\"collect_custom_metrics\":false,\"collect_cloudwatch_alarms\":false,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"key:value\"]}],\"namespace_filters\":{\"include_only\":[\"AWS/EC2\"]}},\"modified_at\":\"2024-10-28T14:43:02.014527511Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":false,\"extended_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[\"AWS/AppSync\"]}}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-10-28T14:43:01.463Z", + "time": 596 + }, + { + "_id": "c206b9cd771e14f05d1842a3a48556ce", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 622, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 575, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"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\"],\"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\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts" + }, + "response": { + "bodySize": 117, + "content": { + "mimeType": "application/vnd.api+json", + "size": 117, + "text": "{\"errors\":[{\"status\":\"409\",\"title\":\"Account already exists\",\"detail\":\"AWS account with provided id already exists\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 409, + "statusText": "Conflict" + }, + "startedDateTime": "2024-10-28T14:43:02.079Z", + "time": 584 + }, + { + "_id": "dc0986ee9096080bbec1d09548ae02de", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 548, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/fa9e70b4-5fbb-499d-ba36-b802512cbc83" + }, + "response": { + "bodySize": 0, + "content": { + "mimeType": "text/plain", + "size": 0 + }, + "cookies": [], + "headers": [], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 204, + "statusText": "No Content" + }, + "startedDateTime": "2024-10-28T14:43:02.670Z", + "time": 257 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Create-account-with-invalid-aws_partition-returns-400-API-error-response_4119365543/frozen.json b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Create-account-with-invalid-aws_partition-returns-400-API-error-response_4119365543/frozen.json new file mode 100644 index 00000000000..fd3046adf5e --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Create-account-with-invalid-aws_partition-returns-400-API-error-response_4119365543/frozen.json @@ -0,0 +1 @@ +"2024-08-09T18:59:51.401Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Create-account-with-invalid-aws_partition-returns-400-API-error-response_4119365543/recording.har b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Create-account-with-invalid-aws_partition-returns-400-API-error-response_4119365543/recording.har new file mode 100644 index 00000000000..93a1ad221d0 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Create-account-with-invalid-aws_partition-returns-400-API-error-response_4119365543/recording.har @@ -0,0 +1,67 @@ +{ + "log": { + "_recordingName": "AWS Integration/AWS Integration - Create account with invalid aws_partition returns 400 API error response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "0c09c5ccb49225e73991bad29229e4b3", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 536, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 577, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"aws_account\":{\"account_tags\":[],\"auth_config\":{\"role_name\":\"test\"},\"aws_account_id\":\"172322422800\",\"aws_partition\":\"aws-test\",\"aws_regions\":{\"include_only\":[\"us-east-1\"]},\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[],\"sources\":[\"s3\"]}},\"metrics_config\":{\"namespace_filters\":{\"exclude_only\":[\"AWS/EC2\"],\"include_only\":[\"AWS/EC2\"]},\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[]}]},\"resources_config\":{},\"traces_config\":{\"xray_services\":{\"include_only\":[\"AWS/AppSync\"]}}}},\"id\":\"172322422800\",\"type\":\"account\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts" + }, + "response": { + "bodySize": 77, + "content": { + "mimeType": "application/vnd.api+json", + "size": 77, + "text": "{\"errors\":[{\"title\":\"Generic Error\",\"detail\":\"invalid partition: aws-test\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 524, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 400, + "statusText": "Bad Request" + }, + "startedDateTime": "2024-08-09T18:59:51.604Z", + "time": 311 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Create-account-with-valid-config-returns-AWS-Account-object-response_1363365535/frozen.json b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Create-account-with-valid-config-returns-AWS-Account-object-response_1363365535/frozen.json new file mode 100644 index 00000000000..9add32de62a --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Create-account-with-valid-config-returns-AWS-Account-object-response_1363365535/frozen.json @@ -0,0 +1 @@ +"2024-08-09T18:59:51.926Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Create-account-with-valid-config-returns-AWS-Account-object-response_1363365535/recording.har b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Create-account-with-valid-config-returns-AWS-Account-object-response_1363365535/recording.har new file mode 100644 index 00000000000..5a7110cd892 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Create-account-with-valid-config-returns-AWS-Account-object-response_1363365535/recording.har @@ -0,0 +1,109 @@ +{ + "log": { + "_recordingName": "AWS Integration/AWS Integration - Create account with valid config returns \"AWS Account object\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "706b0bfc02591845ad9546af6d4b46bc", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 531, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 577, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"aws_account\":{\"account_tags\":[],\"auth_config\":{\"role_name\":\"test\"},\"aws_account_id\":\"172322422800\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-1\"]},\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[],\"sources\":[\"s3\"]}},\"metrics_config\":{\"namespace_filters\":{\"exclude_only\":[\"AWS/EC2\"],\"include_only\":[\"AWS/EC2\"]},\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[]}]},\"resources_config\":{},\"traces_config\":{\"xray_services\":{\"include_only\":[\"AWS/AppSync\"]}}}},\"id\":\"172322422800\",\"type\":\"account\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts" + }, + "response": { + "bodySize": 702, + "content": { + "mimeType": "application/vnd.api+json", + "size": 702, + "text": "{\"data\":{\"id\":\"create_account\",\"type\":\"account\",\"attributes\":{\"aws_account\":{\"account_tags\":null,\"aws_account_id\":\"172322422800\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-1\"]},\"auth_config\":{\"role_name\":\"test\",\"external_id\":\"08df61ab19794766a0df51fa344ef31c\"},\"metrics_config\":{\"enabled\":true,\"automute_enabled\":true,\"collect_custom_metrics\":false,\"collect_cloudwatch_alarms\":false,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":null}],\"namespace_filters\":{\"include_only\":[\"AWS/EC2\"]}},\"logs_config\":{\"lambda_forwarder\":{\"sources\":[\"s3\"]}},\"traces_config\":{\"xray_services\":{\"include_only\":[\"AWS/AppSync\"]}},\"resources_config\":{\"cloud_security_posture_management_collection\":false}}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-09T18:59:51.929Z", + "time": 653 + }, + { + "_id": "6d0f8815ff978599d87e667f26b00dc4", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 526, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/172322422800" + }, + "response": { + "bodySize": 0, + "content": { + "mimeType": "application/vnd.api+json", + "size": 0 + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 504, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 204, + "statusText": "No Content" + }, + "startedDateTime": "2024-08-09T18:59:52.588Z", + "time": 442 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Delete-account-config-returns-Bad-Request-response_1597194887/frozen.json b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Delete-account-config-returns-Bad-Request-response_1597194887/frozen.json new file mode 100644 index 00000000000..df1e46a2f76 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Delete-account-config-returns-Bad-Request-response_1597194887/frozen.json @@ -0,0 +1 @@ +"2024-10-28T14:43:02.940Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Delete-account-config-returns-Bad-Request-response_1597194887/recording.har b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Delete-account-config-returns-Bad-Request-response_1597194887/recording.har new file mode 100644 index 00000000000..9e37cc62d83 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Delete-account-config-returns-Bad-Request-response_1597194887/recording.har @@ -0,0 +1,57 @@ +{ + "log": { + "_recordingName": "AWS Integration/AWS Integration - Delete account config returns \"Bad Request\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "73fd406ed68610bd50ee83f2c499e8a8", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 522, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/not-a-uuid" + }, + "response": { + "bodySize": 148, + "content": { + "mimeType": "application/vnd.api+json", + "size": 148, + "text": "{\"errors\":[{\"status\":\"400\",\"title\":\"Invalid Parameter\",\"detail\":\"invalid parameter \\\"aws_account_config_id\\\" in \\\"path\\\"; expected type \\\"uuid\\\"\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 400, + "statusText": "Bad Request" + }, + "startedDateTime": "2024-10-28T14:43:02.947Z", + "time": 80 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Delete-account-config-returns-No-Content-response_59897891/frozen.json b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Delete-account-config-returns-No-Content-response_59897891/frozen.json new file mode 100644 index 00000000000..1416582d362 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Delete-account-config-returns-No-Content-response_59897891/frozen.json @@ -0,0 +1 @@ +"2024-10-28T14:43:03.036Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Delete-account-config-returns-No-Content-response_59897891/recording.har b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Delete-account-config-returns-No-Content-response_59897891/recording.har new file mode 100644 index 00000000000..f98efa4d2a6 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Delete-account-config-returns-No-Content-response_59897891/recording.har @@ -0,0 +1,147 @@ +{ + "log": { + "_recordingName": "AWS Integration/AWS Integration - Delete account config returns \"No Content\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "194b15fbfcae9b9ae1a70daa19dc9ee9", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 810, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 575, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"role_name\":\"DatadogIntegrationRole\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-1\"]},\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[\"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder\"],\"sources\":[\"s3\"]}},\"metrics_config\":{\"automute_enabled\":true,\"collect_cloudwatch_alarms\":false,\"collect_custom_metrics\":false,\"enabled\":true,\"namespace_filters\":{\"include_only\":[\"AWS/EC2\"]},\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"key:value\"]}]},\"resources_config\":{\"cloud_security_posture_management_collection\":false,\"extended_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[\"AWS/AppSync\"]}}},\"id\":\"00000000-abcd-0001-0000-000000000000\",\"type\":\"account\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts" + }, + "response": { + "bodySize": 952, + "content": { + "mimeType": "application/vnd.api+json", + "size": 952, + "text": "{\"data\":{\"id\":\"ea195e91-95f9-4811-9161-cbcce608b8ed\",\"type\":\"account\",\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"role_name\":\"DatadogIntegrationRole\",\"external_id\":\"cd09f429becf46babb7f30a4da51b5fb\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-1\"]},\"created_at\":\"2024-10-28T14:43:03.638813736Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[\"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder\"],\"sources\":[\"s3\"]}},\"metrics_config\":{\"enabled\":true,\"automute_enabled\":true,\"collect_custom_metrics\":false,\"collect_cloudwatch_alarms\":false,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"key:value\"]}],\"namespace_filters\":{\"include_only\":[\"AWS/EC2\"]}},\"modified_at\":\"2024-10-28T14:43:03.638829687Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":false,\"extended_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[\"AWS/AppSync\"]}}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-10-28T14:43:03.039Z", + "time": 626 + }, + { + "_id": "f7bd3d3d3f46ffe44f3227bed9b98588", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 548, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/ea195e91-95f9-4811-9161-cbcce608b8ed" + }, + "response": { + "bodySize": 0, + "content": { + "mimeType": "text/plain", + "size": 0 + }, + "cookies": [], + "headers": [], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 204, + "statusText": "No Content" + }, + "startedDateTime": "2024-10-28T14:43:03.675Z", + "time": 222 + }, + { + "_id": "f7bd3d3d3f46ffe44f3227bed9b98588", + "_order": 1, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 548, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/ea195e91-95f9-4811-9161-cbcce608b8ed" + }, + "response": { + "bodySize": 115, + "content": { + "mimeType": "application/vnd.api+json", + "size": 115, + "text": "{\"errors\":[{\"status\":\"404\",\"title\":\"Account not found\",\"detail\":\"AWS account with provided id is not integrated\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 404, + "statusText": "Not Found" + }, + "startedDateTime": "2024-10-28T14:43:03.909Z", + "time": 134 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Delete-account-config-returns-Not-Found-response_1951455072/frozen.json b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Delete-account-config-returns-Not-Found-response_1951455072/frozen.json new file mode 100644 index 00000000000..81521e73d1c --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Delete-account-config-returns-Not-Found-response_1951455072/frozen.json @@ -0,0 +1 @@ +"2024-10-28T14:43:04.053Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Delete-account-config-returns-Not-Found-response_1951455072/recording.har b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Delete-account-config-returns-Not-Found-response_1951455072/recording.har new file mode 100644 index 00000000000..d1b449228d2 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Delete-account-config-returns-Not-Found-response_1951455072/recording.har @@ -0,0 +1,147 @@ +{ + "log": { + "_recordingName": "AWS Integration/AWS Integration - Delete account config returns \"Not Found\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "194b15fbfcae9b9ae1a70daa19dc9ee9", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 810, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 575, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"role_name\":\"DatadogIntegrationRole\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-1\"]},\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[\"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder\"],\"sources\":[\"s3\"]}},\"metrics_config\":{\"automute_enabled\":true,\"collect_cloudwatch_alarms\":false,\"collect_custom_metrics\":false,\"enabled\":true,\"namespace_filters\":{\"include_only\":[\"AWS/EC2\"]},\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"key:value\"]}]},\"resources_config\":{\"cloud_security_posture_management_collection\":false,\"extended_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[\"AWS/AppSync\"]}}},\"id\":\"00000000-abcd-0001-0000-000000000000\",\"type\":\"account\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts" + }, + "response": { + "bodySize": 952, + "content": { + "mimeType": "application/vnd.api+json", + "size": 952, + "text": "{\"data\":{\"id\":\"615cc571-774b-4e40-bc94-ad3f178cbfc8\",\"type\":\"account\",\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"role_name\":\"DatadogIntegrationRole\",\"external_id\":\"b4966eed30af4b1ba9f62a4a3e841cb8\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-1\"]},\"created_at\":\"2024-10-28T14:43:04.618588959Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[\"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder\"],\"sources\":[\"s3\"]}},\"metrics_config\":{\"enabled\":true,\"automute_enabled\":true,\"collect_custom_metrics\":false,\"collect_cloudwatch_alarms\":false,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"key:value\"]}],\"namespace_filters\":{\"include_only\":[\"AWS/EC2\"]}},\"modified_at\":\"2024-10-28T14:43:04.618593611Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":false,\"extended_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[\"AWS/AppSync\"]}}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-10-28T14:43:04.057Z", + "time": 581 + }, + { + "_id": "ab2123e36fb50f90fe98365e086c9c6e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 548, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/448169a8-251c-4344-abee-1c4edef39f7a" + }, + "response": { + "bodySize": 115, + "content": { + "mimeType": "application/vnd.api+json", + "size": 115, + "text": "{\"errors\":[{\"status\":\"404\",\"title\":\"Account not found\",\"detail\":\"AWS account with provided id is not integrated\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 404, + "statusText": "Not Found" + }, + "startedDateTime": "2024-10-28T14:43:04.646Z", + "time": 119 + }, + { + "_id": "30d55ab3d4854583347aa4f3f1e4e363", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 548, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/615cc571-774b-4e40-bc94-ad3f178cbfc8" + }, + "response": { + "bodySize": 0, + "content": { + "mimeType": "text/plain", + "size": 0 + }, + "cookies": [], + "headers": [], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 204, + "statusText": "No Content" + }, + "startedDateTime": "2024-10-28T14:43:04.773Z", + "time": 278 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Generate-new-external-ID-returns-AWS-External-ID-object-response_3720840532/frozen.json b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Generate-new-external-ID-returns-AWS-External-ID-object-response_3720840532/frozen.json new file mode 100644 index 00000000000..0913a026fc9 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Generate-new-external-ID-returns-AWS-External-ID-object-response_3720840532/frozen.json @@ -0,0 +1 @@ +"2024-10-28T14:43:05.063Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Generate-new-external-ID-returns-AWS-External-ID-object-response_3720840532/recording.har b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Generate-new-external-ID-returns-AWS-External-ID-object-response_3720840532/recording.har new file mode 100644 index 00000000000..0984470b814 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Generate-new-external-ID-returns-AWS-External-ID-object-response_3720840532/recording.har @@ -0,0 +1,57 @@ +{ + "log": { + "_recordingName": "AWS Integration/AWS Integration - Generate new external ID returns \"AWS External ID object\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "a3ebb72260ebfa89589aff3630e3a2cc", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 562, + "httpVersion": "HTTP/1.1", + "method": "POST", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/generate_new_external_id" + }, + "response": { + "bodySize": 114, + "content": { + "mimeType": "application/vnd.api+json", + "size": 114, + "text": "{\"data\":{\"id\":\"external_id\",\"type\":\"external_id\",\"attributes\":{\"external_id\":\"46c7ca9418564d478f52b94479b3aae2\"}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-10-28T14:43:05.074Z", + "time": 78 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Get-account-config-returns-AWS-Account-object-response_2428408451/frozen.json b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Get-account-config-returns-AWS-Account-object-response_2428408451/frozen.json new file mode 100644 index 00000000000..4f67d30ef04 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Get-account-config-returns-AWS-Account-object-response_2428408451/frozen.json @@ -0,0 +1 @@ +"2024-10-28T14:43:05.156Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Get-account-config-returns-AWS-Account-object-response_2428408451/recording.har b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Get-account-config-returns-AWS-Account-object-response_2428408451/recording.har new file mode 100644 index 00000000000..879083d4843 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Get-account-config-returns-AWS-Account-object-response_2428408451/recording.har @@ -0,0 +1,147 @@ +{ + "log": { + "_recordingName": "AWS Integration/AWS Integration - Get account config returns \"AWS Account object\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "194b15fbfcae9b9ae1a70daa19dc9ee9", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 810, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 575, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"role_name\":\"DatadogIntegrationRole\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-1\"]},\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[\"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder\"],\"sources\":[\"s3\"]}},\"metrics_config\":{\"automute_enabled\":true,\"collect_cloudwatch_alarms\":false,\"collect_custom_metrics\":false,\"enabled\":true,\"namespace_filters\":{\"include_only\":[\"AWS/EC2\"]},\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"key:value\"]}]},\"resources_config\":{\"cloud_security_posture_management_collection\":false,\"extended_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[\"AWS/AppSync\"]}}},\"id\":\"00000000-abcd-0001-0000-000000000000\",\"type\":\"account\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts" + }, + "response": { + "bodySize": 952, + "content": { + "mimeType": "application/vnd.api+json", + "size": 952, + "text": "{\"data\":{\"id\":\"35ed0f5a-6a49-4fd7-bdf6-cc8edc410ea0\",\"type\":\"account\",\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"role_name\":\"DatadogIntegrationRole\",\"external_id\":\"34c9dbc0f2934cebb5d7a0690f3f333f\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-1\"]},\"created_at\":\"2024-10-28T14:43:05.736496681Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[\"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder\"],\"sources\":[\"s3\"]}},\"metrics_config\":{\"enabled\":true,\"automute_enabled\":true,\"collect_custom_metrics\":false,\"collect_cloudwatch_alarms\":false,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"key:value\"]}],\"namespace_filters\":{\"include_only\":[\"AWS/EC2\"]}},\"modified_at\":\"2024-10-28T14:43:05.736509432Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":false,\"extended_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[\"AWS/AppSync\"]}}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-10-28T14:43:05.158Z", + "time": 675 + }, + { + "_id": "990b9d30693a88f0f686050a5656f1c3", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 555, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/35ed0f5a-6a49-4fd7-bdf6-cc8edc410ea0" + }, + "response": { + "bodySize": 946, + "content": { + "mimeType": "application/vnd.api+json", + "size": 946, + "text": "{\"data\":{\"id\":\"35ed0f5a-6a49-4fd7-bdf6-cc8edc410ea0\",\"type\":\"account\",\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"role_name\":\"DatadogIntegrationRole\",\"external_id\":\"34c9dbc0f2934cebb5d7a0690f3f333f\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-1\"]},\"created_at\":\"2024-10-28T14:43:05.736497Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[\"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder\"],\"sources\":[\"s3\"]}},\"metrics_config\":{\"enabled\":true,\"automute_enabled\":true,\"collect_custom_metrics\":false,\"collect_cloudwatch_alarms\":false,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"key:value\"]}],\"namespace_filters\":{\"include_only\":[\"AWS/EC2\"]}},\"modified_at\":\"2024-10-28T14:43:05.736509Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":false,\"extended_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[\"AWS/AppSync\"]}}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-10-28T14:43:05.836Z", + "time": 107 + }, + { + "_id": "4eb223f35250ed1ffd9bee3c59d43fe2", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 548, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/35ed0f5a-6a49-4fd7-bdf6-cc8edc410ea0" + }, + "response": { + "bodySize": 0, + "content": { + "mimeType": "text/plain", + "size": 0 + }, + "cookies": [], + "headers": [], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 204, + "statusText": "No Content" + }, + "startedDateTime": "2024-10-28T14:43:05.947Z", + "time": 227 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Get-account-config-returns-Bad-Request-response_3014897058/frozen.json b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Get-account-config-returns-Bad-Request-response_3014897058/frozen.json new file mode 100644 index 00000000000..a85bbfb66ec --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Get-account-config-returns-Bad-Request-response_3014897058/frozen.json @@ -0,0 +1 @@ +"2024-10-28T14:43:06.192Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Get-account-config-returns-Bad-Request-response_3014897058/recording.har b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Get-account-config-returns-Bad-Request-response_3014897058/recording.har new file mode 100644 index 00000000000..5ffe6726b50 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Get-account-config-returns-Bad-Request-response_3014897058/recording.har @@ -0,0 +1,57 @@ +{ + "log": { + "_recordingName": "AWS Integration/AWS Integration - Get account config returns \"Bad Request\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "3d4d06039fed1cc58004086b9b6ef690", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 529, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/not-a-uuid" + }, + "response": { + "bodySize": 148, + "content": { + "mimeType": "application/vnd.api+json", + "size": 148, + "text": "{\"errors\":[{\"status\":\"400\",\"title\":\"Invalid Parameter\",\"detail\":\"invalid parameter \\\"aws_account_config_id\\\" in \\\"path\\\"; expected type \\\"uuid\\\"\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 400, + "statusText": "Bad Request" + }, + "startedDateTime": "2024-10-28T14:43:06.196Z", + "time": 135 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Get-account-config-returns-Not-Found-response_2117850097/frozen.json b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Get-account-config-returns-Not-Found-response_2117850097/frozen.json new file mode 100644 index 00000000000..96d56e29877 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Get-account-config-returns-Not-Found-response_2117850097/frozen.json @@ -0,0 +1 @@ +"2024-10-28T14:43:06.335Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Get-account-config-returns-Not-Found-response_2117850097/recording.har b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Get-account-config-returns-Not-Found-response_2117850097/recording.har new file mode 100644 index 00000000000..8d486a54c2f --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Get-account-config-returns-Not-Found-response_2117850097/recording.har @@ -0,0 +1,57 @@ +{ + "log": { + "_recordingName": "AWS Integration/AWS Integration - Get account config returns \"Not Found\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "9b33b83cc8bb714fcf7133ab2f3af9d3", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 555, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/448169a8-251c-4344-abee-1c4edef39f7a" + }, + "response": { + "bodySize": 115, + "content": { + "mimeType": "application/vnd.api+json", + "size": 115, + "text": "{\"errors\":[{\"status\":\"404\",\"title\":\"Account not found\",\"detail\":\"AWS account with provided id is not integrated\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 404, + "statusText": "Not Found" + }, + "startedDateTime": "2024-10-28T14:43:06.337Z", + "time": 136 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Get-all-account-configs-returns-AWS-Accounts-List-object-response_4091556376/frozen.json b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Get-all-account-configs-returns-AWS-Accounts-List-object-response_4091556376/frozen.json new file mode 100644 index 00000000000..ae56c7145ce --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Get-all-account-configs-returns-AWS-Accounts-List-object-response_4091556376/frozen.json @@ -0,0 +1 @@ +"2024-10-28T14:43:06.477Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Get-all-account-configs-returns-AWS-Accounts-List-object-response_4091556376/recording.har b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Get-all-account-configs-returns-AWS-Accounts-List-object-response_4091556376/recording.har new file mode 100644 index 00000000000..cac33fe892b --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Get-all-account-configs-returns-AWS-Accounts-List-object-response_4091556376/recording.har @@ -0,0 +1,57 @@ +{ + "log": { + "_recordingName": "AWS Integration/AWS Integration - Get all account configs returns \"AWS Accounts List object\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "101a55f55a26d6165fb48d0451d83d10", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 520, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts" + }, + "response": { + "bodySize": 9352, + "content": { + "mimeType": "application/vnd.api+json", + "size": 9352, + "text": "{\"data\":[{\"id\":\"e6daa8c4-58b6-42e1-970e-44e6fa812ce0\",\"type\":\"account\",\"attributes\":{\"account_tags\":[],\"auth_config\":{\"access_key_id\":\"AKIA514950102505\"},\"aws_account_id\":\"514950102505\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_all\":true},\"created_at\":\"2024-09-06T00:18:12.382448Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[\"arn:aws:lambda:us-east-1:1234567890:function:datadog-forwarder-Forwarder\"],\"sources\":[]}},\"metrics_config\":{\"enabled\":true,\"automute_enabled\":true,\"collect_custom_metrics\":false,\"collect_cloudwatch_alarms\":false,\"tag_filters\":[],\"namespace_filters\":{\"exclude_only\":[\"AWS/ElasticMapReduce\",\"AWS/SQS\"]}},\"modified_at\":\"2024-09-06T00:18:17.536561Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":false,\"extended_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[]}}}},{\"id\":\"a0c7f96e-a471-488e-84be-c3336e7ab693\",\"type\":\"account\",\"attributes\":{\"account_tags\":[\"$KEY:$VALUE\"],\"auth_config\":{\"role_name\":\"DatadogAWSIntegrationRole\",\"external_id\":\"859ffc73702c40f589cc3b74c5967e27\"},\"aws_account_id\":\"172830950700\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-2\",\"us-west-1\",\"eu-west-1\",\"eu-central-1\",\"ap-southeast-1\",\"ap-southeast-2\",\"ap-northeast-1\",\"ap-northeast-2\",\"ap-northeast-3\",\"sa-east-1\",\"ap-south-1\",\"ca-central-1\",\"eu-west-2\",\"eu-west-3\",\"eu-north-1\",\"af-south-1\",\"ap-east-1\",\"ap-south-2\",\"ap-southeast-3\",\"ap-southeast-4\",\"ap-southeast-5\",\"ca-west-1\",\"eu-central-2\",\"eu-south-1\",\"eu-south-2\",\"il-central-1\",\"me-central-1\",\"me-south-1\"]},\"created_at\":\"2024-10-07T13:58:28.577522Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[],\"sources\":[]}},\"metrics_config\":{\"enabled\":false,\"automute_enabled\":true,\"collect_custom_metrics\":false,\"collect_cloudwatch_alarms\":false,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"$KEY:$VALUE\"]}],\"namespace_filters\":{\"exclude_only\":[\"AWS/AutoScaling\",\"AWS/ElasticMapReduce\",\"AWS/SQS\"]}},\"modified_at\":\"2024-10-07T13:58:28.577526Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":true,\"extended_collection\":true},\"traces_config\":{\"xray_services\":{\"include_only\":[]}}}},{\"id\":\"3a3d5b83-2ad8-41d8-b82e-a3ba972a9783\",\"type\":\"account\",\"attributes\":{\"account_tags\":[\"$KEY:$VALUE\"],\"auth_config\":{\"role_name\":\"DatadogAWSIntegrationRole\",\"external_id\":\"be10a93f33a64b0ea872da2f48348979\"},\"aws_account_id\":\"172704974400\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-2\",\"us-west-1\",\"eu-west-1\",\"eu-central-1\",\"ap-southeast-1\",\"ap-southeast-2\",\"ap-northeast-1\",\"ap-northeast-2\",\"ap-northeast-3\",\"sa-east-1\",\"ap-south-1\",\"ca-central-1\",\"eu-west-2\",\"eu-west-3\",\"eu-north-1\",\"af-south-1\",\"ap-east-1\",\"ap-south-2\",\"ap-southeast-3\",\"ap-southeast-4\",\"ap-southeast-5\",\"ca-west-1\",\"eu-central-2\",\"eu-south-1\",\"eu-south-2\",\"il-central-1\",\"me-central-1\",\"me-south-1\"]},\"created_at\":\"2024-09-23T00:02:26.306293Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[],\"sources\":[]}},\"metrics_config\":{\"enabled\":false,\"automute_enabled\":true,\"collect_custom_metrics\":false,\"collect_cloudwatch_alarms\":false,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"$KEY:$VALUE\"]}],\"namespace_filters\":{\"exclude_only\":[\"AWS/AutoScaling\",\"AWS/ElasticMapReduce\",\"AWS/SQS\"]}},\"modified_at\":\"2024-09-23T00:02:26.306297Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":true,\"extended_collection\":true},\"traces_config\":{\"xray_services\":{\"include_only\":[]}}}},{\"id\":\"89a9dae5-cbe3-4fba-b1b2-aae8775ed319\",\"type\":\"account\",\"attributes\":{\"account_tags\":[\"filter:one\",\"filtertwo\"],\"auth_config\":{\"role_name\":\"DatadogAWSIntegrationRole\",\"external_id\":\"e31ada331546486f9099cd5c01eef257\"},\"aws_account_id\":\"001725901256\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-2\",\"us-west-2\",\"eu-west-1\",\"eu-central-1\",\"ap-southeast-1\",\"ap-southeast-2\",\"ap-northeast-1\",\"ap-northeast-2\",\"ap-northeast-3\",\"sa-east-1\",\"ap-south-1\",\"ca-central-1\",\"eu-west-2\",\"eu-west-3\",\"eu-north-1\",\"af-south-1\",\"ap-east-1\",\"ap-south-2\",\"ap-southeast-3\",\"ap-southeast-4\",\"ca-west-1\",\"eu-central-2\",\"eu-south-1\",\"eu-south-2\",\"il-central-1\",\"me-central-1\",\"me-south-1\"]},\"created_at\":\"2024-09-09T17:00:58.823444Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[],\"sources\":[]}},\"metrics_config\":{\"enabled\":true,\"automute_enabled\":true,\"collect_custom_metrics\":false,\"collect_cloudwatch_alarms\":false,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"testTag\",\"test:Tag2\"]}],\"namespace_filters\":{\"exclude_only\":[\"AWS/ElasticMapReduce\",\"AWS/SQS\"]}},\"modified_at\":\"2024-10-16T14:55:17.947931Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[]}}}},{\"id\":\"7e1d660d-1142-45b1-a795-dc3900b6bd17\",\"type\":\"account\",\"attributes\":{\"account_tags\":[\"$KEY:$VALUE\"],\"auth_config\":{\"role_name\":\"DatadogAWSIntegrationRole\",\"external_id\":\"f61b52d768394db6851aed2f887ac6f6\"},\"aws_account_id\":\"172830950701\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"me-south-1\"]},\"created_at\":\"2024-10-17T15:08:40.917209Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[],\"sources\":[]}},\"metrics_config\":{\"enabled\":false,\"automute_enabled\":true,\"collect_custom_metrics\":false,\"collect_cloudwatch_alarms\":false,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"$KEY:$VALUE\"]}],\"namespace_filters\":{\"exclude_only\":[\"AWS/AutoScaling\",\"AWS/ElasticMapReduce\",\"AWS/SQS\"]}},\"modified_at\":\"2024-10-18T20:19:53.960435Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":true,\"extended_collection\":true},\"traces_config\":{\"xray_services\":{\"include_only\":[]}}}},{\"id\":\"d52e151c-c608-4e14-9f29-dfeff876bb39\",\"type\":\"account\",\"attributes\":{\"account_tags\":[\"$KEY:$VALUE\"],\"auth_config\":{\"role_name\":\"DatadogAWSIntegrationRole\",\"external_id\":\"c2909403ca9949db82c36adf6e8cdcfa\"},\"aws_account_id\":\"172772261200\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-2\",\"us-west-1\",\"eu-west-1\",\"eu-central-1\",\"ap-southeast-1\",\"ap-southeast-2\",\"ap-northeast-1\",\"ap-northeast-2\",\"ap-northeast-3\",\"sa-east-1\",\"ap-south-1\",\"ca-central-1\",\"eu-west-2\",\"eu-west-3\",\"eu-north-1\",\"af-south-1\",\"ap-east-1\",\"ap-south-2\",\"ap-southeast-3\",\"ap-southeast-4\",\"ap-southeast-5\",\"ca-west-1\",\"eu-central-2\",\"eu-south-1\",\"eu-south-2\",\"il-central-1\",\"me-central-1\",\"me-south-1\"]},\"created_at\":\"2024-09-30T18:56:55.042771Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[],\"sources\":[]}},\"metrics_config\":{\"enabled\":false,\"automute_enabled\":true,\"collect_custom_metrics\":false,\"collect_cloudwatch_alarms\":false,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"$KEY:$VALUE\"]}],\"namespace_filters\":{\"exclude_only\":[\"AWS/AutoScaling\",\"AWS/ElasticMapReduce\",\"AWS/SQS\"]}},\"modified_at\":\"2024-09-30T18:56:55.042775Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":true,\"extended_collection\":true},\"traces_config\":{\"xray_services\":{\"include_only\":[]}}}},{\"id\":\"d7d74617-832d-4c4d-a8c3-1e69d509ea52\",\"type\":\"account\",\"attributes\":{\"account_tags\":[\"$KEY:$VALUE\"],\"auth_config\":{\"role_name\":\"DatadogAWSIntegrationRole\",\"external_id\":\"2b1dd9fd35b0440ca4bf98ff70ac2e63\"},\"aws_account_id\":\"172772275700\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-2\",\"us-west-1\",\"eu-west-1\",\"eu-central-1\",\"ap-southeast-1\",\"ap-southeast-2\",\"ap-northeast-1\",\"ap-northeast-2\",\"ap-northeast-3\",\"sa-east-1\",\"ap-south-1\",\"ca-central-1\",\"eu-west-2\",\"eu-west-3\",\"eu-north-1\",\"af-south-1\",\"ap-east-1\",\"ap-south-2\",\"ap-southeast-3\",\"ap-southeast-4\",\"ap-southeast-5\",\"ca-west-1\",\"eu-central-2\",\"eu-south-1\",\"eu-south-2\",\"il-central-1\",\"me-central-1\",\"me-south-1\"]},\"created_at\":\"2024-09-30T18:59:18.175722Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[],\"sources\":[]}},\"metrics_config\":{\"enabled\":false,\"automute_enabled\":true,\"collect_custom_metrics\":false,\"collect_cloudwatch_alarms\":false,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"$KEY:$VALUE\"]}],\"namespace_filters\":{\"exclude_only\":[\"AWS/AutoScaling\",\"AWS/ElasticMapReduce\",\"AWS/SQS\"]}},\"modified_at\":\"2024-09-30T18:59:18.175727Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":true,\"extended_collection\":true},\"traces_config\":{\"xray_services\":{\"include_only\":[]}}}},{\"id\":\"7e5acac6-3ac8-4762-8100-479f03ccffc8\",\"type\":\"account\",\"attributes\":{\"account_tags\":[\"$KEY:$VALUE\"],\"auth_config\":{\"role_name\":\"DatadogAWSIntegrationRole\",\"external_id\":\"04548a334583412aa4e6f5548f4e9989\"},\"aws_account_id\":\"172532181900\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-2\",\"us-west-1\",\"eu-west-1\",\"eu-central-1\",\"ap-southeast-1\",\"ap-southeast-2\",\"ap-northeast-1\",\"ap-northeast-2\",\"ap-northeast-3\",\"sa-east-1\",\"ap-south-1\",\"ca-central-1\",\"eu-west-2\",\"eu-west-3\",\"eu-north-1\",\"af-south-1\",\"ap-east-1\",\"ap-south-2\",\"ap-southeast-3\",\"ap-southeast-4\",\"ca-west-1\",\"eu-central-2\",\"eu-south-1\",\"eu-south-2\",\"il-central-1\",\"me-central-1\",\"me-south-1\"]},\"created_at\":\"2024-09-03T00:03:40.248176Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[],\"sources\":[]}},\"metrics_config\":{\"enabled\":false,\"automute_enabled\":true,\"collect_custom_metrics\":false,\"collect_cloudwatch_alarms\":false,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"$KEY:$VALUE\"]}],\"namespace_filters\":{\"exclude_only\":[\"AWS/AutoScaling\",\"AWS/ElasticMapReduce\",\"AWS/SQS\"]}},\"modified_at\":\"2024-09-03T00:03:40.24818Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":true,\"extended_collection\":true},\"traces_config\":{\"xray_services\":{\"include_only\":[]}}}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 532, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-10-28T14:43:06.479Z", + "time": 187 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-List-available-namespaces-returns-AWS-Namespaces-List-object-response_4172139094/frozen.json b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-List-available-namespaces-returns-AWS-Namespaces-List-object-response_4172139094/frozen.json new file mode 100644 index 00000000000..9c00f7afa51 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-List-available-namespaces-returns-AWS-Namespaces-List-object-response_4172139094/frozen.json @@ -0,0 +1 @@ +"2024-10-28T14:43:06.671Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-List-available-namespaces-returns-AWS-Namespaces-List-object-response_4172139094/recording.har b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-List-available-namespaces-returns-AWS-Namespaces-List-object-response_4172139094/recording.har new file mode 100644 index 00000000000..fe312162010 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-List-available-namespaces-returns-AWS-Namespaces-List-object-response_4172139094/recording.har @@ -0,0 +1,57 @@ +{ + "log": { + "_recordingName": "AWS Integration/AWS Integration - List available namespaces returns \"AWS Namespaces List object\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "d0ec7736ef6cd07133904a5c3a301d0e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 534, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/available_namespaces" + }, + "response": { + "bodySize": 1834, + "content": { + "mimeType": "application/vnd.api+json", + "size": 1834, + "text": "{\"data\":{\"id\":\"namespaces\",\"type\":\"namespaces\",\"attributes\":{\"namespaces\":[\"AWS/ApiGateway\",\"AWS/AppRunner\",\"AWS/AppStream\",\"AWS/AppSync\",\"AWS/ApplicationELB\",\"AWS/Athena\",\"AWS/AutoScaling\",\"AWS/Backup\",\"AWS/Bedrock\",\"AWS/Billing\",\"AWS/CertificateManager\",\"AWS/ELB\",\"AWS/CloudFront\",\"AWS/CloudHSM\",\"AWS/CloudSearch\",\"AWS/CodeBuild\",\"AWS/CodeWhisperer\",\"AWS/Cognito\",\"AWS/Config\",\"AWS/Connect\",\"AWS/DMS\",\"AWS/DX\",\"AWS/DocDB\",\"AWS/DynamoDB\",\"AWS/DAX\",\"AWS/EC2\",\"AWS/EC2/API\",\"AWS/EC2/InfrastructurePerformance\",\"AWS/EC2Spot\",\"AWS/ElasticMapReduce\",\"AWS/ElastiCache\",\"AWS/ElasticBeanstalk\",\"AWS/EBS\",\"AWS/ECR\",\"AWS/ECS\",\"AWS/EFS\",\"AWS/ElasticTranscoder\",\"AWS/MediaConnect\",\"AWS/MediaConvert\",\"AWS/MediaLive\",\"AWS/MediaPackage\",\"AWS/MediaStore\",\"AWS/MediaTailor\",\"AWS/Events\",\"AWS/FSx\",\"AWS/GameLift\",\"AWS/GlobalAccelerator\",\"Glue\",\"AWS/Inspector\",\"AWS/IoT\",\"AWS/KMS\",\"AWS/Cassandra\",\"AWS/Kinesis\",\"AWS/KinesisAnalytics\",\"AWS/Firehose\",\"AWS/Lambda\",\"AWS/Lex\",\"AWS/AmazonMQ\",\"AWS/ML\",\"AWS/Kafka\",\"AmazonMWAA\",\"AWS/MemoryDB\",\"AWS/NATGateway\",\"AWS/Neptune\",\"AWS/NetworkFirewall\",\"AWS/NetworkELB\",\"AWS/Network Manager\",\"AWS/NetworkMonitor\",\"AWS/ES\",\"AWS/AOSS\",\"AWS/OpsWorks\",\"AWS/Polly\",\"AWS/PrivateLinkEndpoints\",\"AWS/PrivateLinkServices\",\"AWS/RDS\",\"AWS/RDS/Proxy\",\"AWS/Redshift\",\"AWS/Rekognition\",\"AWS/Route53\",\"AWS/Route53Resolver\",\"AWS/S3\",\"AWS/S3/Storage-Lens\",\"AWS/SageMaker\",\"/aws/sagemaker/Endpoints\",\"AWS/Sagemaker/LabelingJobs\",\"AWS/Sagemaker/ModelBuildingPipeline\",\"/aws/sagemaker/ProcessingJobs\",\"/aws/sagemaker/TrainingJobs\",\"/aws/sagemaker/TransformJobs\",\"AWS/SageMaker/Workteam\",\"AWS/ServiceQuotas\",\"AWS/DDoSProtection\",\"AWS/SES\",\"AWS/SNS\",\"AWS/SQS\",\"AWS/SWF\",\"AWS/States\",\"AWS/StorageGateway\",\"AWS/Textract\",\"AWS/TransitGateway\",\"AWS/Translate\",\"AWS/TrustedAdvisor\",\"AWS/VPN\",\"WAF\",\"AWS/WAFV2\",\"AWS/WorkSpaces\",\"AWS/X-Ray\"]}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 526, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-10-28T14:43:06.672Z", + "time": 98 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-List-log-services-returns-AWS-Logs-Services-List-object-response_2087889718/frozen.json b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-List-log-services-returns-AWS-Logs-Services-List-object-response_2087889718/frozen.json new file mode 100644 index 00000000000..8997dbde73a --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-List-log-services-returns-AWS-Logs-Services-List-object-response_2087889718/frozen.json @@ -0,0 +1 @@ +"2024-10-28T14:43:06.777Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-List-log-services-returns-AWS-Logs-Services-List-object-response_2087889718/recording.har b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-List-log-services-returns-AWS-Logs-Services-List-object-response_2087889718/recording.har new file mode 100644 index 00000000000..b74b91de413 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-List-log-services-returns-AWS-Logs-Services-List-object-response_2087889718/recording.har @@ -0,0 +1,57 @@ +{ + "log": { + "_recordingName": "AWS Integration/AWS Integration - List log services returns \"AWS Logs Services List object\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "03c3c0d9a62f5ac6398be22a05d14d79", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 528, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/logs/services" + }, + "response": { + "bodySize": 197, + "content": { + "mimeType": "application/vnd.api+json", + "size": 197, + "text": "{\"data\":{\"id\":\"logs_services\",\"type\":\"logs_services\",\"attributes\":{\"logs_services\":[\"apigw-access-logs\",\"apigw-execution-logs\",\"cloudfront\",\"elb\",\"elbv2\",\"lambda\",\"redshift\",\"s3\",\"states\",\"waf\"]}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-10-28T14:43:06.778Z", + "time": 79 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-List-namespaces-returns-AWS-Namespaces-List-object-response_4089631579/frozen.json b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-List-namespaces-returns-AWS-Namespaces-List-object-response_4089631579/frozen.json new file mode 100644 index 00000000000..cb7812373d2 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-List-namespaces-returns-AWS-Namespaces-List-object-response_4089631579/frozen.json @@ -0,0 +1 @@ +"2024-10-28T14:43:06.862Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-List-namespaces-returns-AWS-Namespaces-List-object-response_4089631579/recording.har b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-List-namespaces-returns-AWS-Namespaces-List-object-response_4089631579/recording.har new file mode 100644 index 00000000000..0a57865086d --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-List-namespaces-returns-AWS-Namespaces-List-object-response_4089631579/recording.har @@ -0,0 +1,57 @@ +{ + "log": { + "_recordingName": "AWS Integration/AWS Integration - List namespaces returns \"AWS Namespaces List object\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "d0ec7736ef6cd07133904a5c3a301d0e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 534, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/available_namespaces" + }, + "response": { + "bodySize": 1834, + "content": { + "mimeType": "application/vnd.api+json", + "size": 1834, + "text": "{\"data\":{\"id\":\"namespaces\",\"type\":\"namespaces\",\"attributes\":{\"namespaces\":[\"AWS/ApiGateway\",\"AWS/AppRunner\",\"AWS/AppStream\",\"AWS/AppSync\",\"AWS/ApplicationELB\",\"AWS/Athena\",\"AWS/AutoScaling\",\"AWS/Backup\",\"AWS/Bedrock\",\"AWS/Billing\",\"AWS/CertificateManager\",\"AWS/ELB\",\"AWS/CloudFront\",\"AWS/CloudHSM\",\"AWS/CloudSearch\",\"AWS/CodeBuild\",\"AWS/CodeWhisperer\",\"AWS/Cognito\",\"AWS/Config\",\"AWS/Connect\",\"AWS/DMS\",\"AWS/DX\",\"AWS/DocDB\",\"AWS/DynamoDB\",\"AWS/DAX\",\"AWS/EC2\",\"AWS/EC2/API\",\"AWS/EC2/InfrastructurePerformance\",\"AWS/EC2Spot\",\"AWS/ElasticMapReduce\",\"AWS/ElastiCache\",\"AWS/ElasticBeanstalk\",\"AWS/EBS\",\"AWS/ECR\",\"AWS/ECS\",\"AWS/EFS\",\"AWS/ElasticTranscoder\",\"AWS/MediaConnect\",\"AWS/MediaConvert\",\"AWS/MediaLive\",\"AWS/MediaPackage\",\"AWS/MediaStore\",\"AWS/MediaTailor\",\"AWS/Events\",\"AWS/FSx\",\"AWS/GameLift\",\"AWS/GlobalAccelerator\",\"Glue\",\"AWS/Inspector\",\"AWS/IoT\",\"AWS/KMS\",\"AWS/Cassandra\",\"AWS/Kinesis\",\"AWS/KinesisAnalytics\",\"AWS/Firehose\",\"AWS/Lambda\",\"AWS/Lex\",\"AWS/AmazonMQ\",\"AWS/ML\",\"AWS/Kafka\",\"AmazonMWAA\",\"AWS/MemoryDB\",\"AWS/NATGateway\",\"AWS/Neptune\",\"AWS/NetworkFirewall\",\"AWS/NetworkELB\",\"AWS/Network Manager\",\"AWS/NetworkMonitor\",\"AWS/ES\",\"AWS/AOSS\",\"AWS/OpsWorks\",\"AWS/Polly\",\"AWS/PrivateLinkEndpoints\",\"AWS/PrivateLinkServices\",\"AWS/RDS\",\"AWS/RDS/Proxy\",\"AWS/Redshift\",\"AWS/Rekognition\",\"AWS/Route53\",\"AWS/Route53Resolver\",\"AWS/S3\",\"AWS/S3/Storage-Lens\",\"AWS/SageMaker\",\"/aws/sagemaker/Endpoints\",\"AWS/Sagemaker/LabelingJobs\",\"AWS/Sagemaker/ModelBuildingPipeline\",\"/aws/sagemaker/ProcessingJobs\",\"/aws/sagemaker/TrainingJobs\",\"/aws/sagemaker/TransformJobs\",\"AWS/SageMaker/Workteam\",\"AWS/ServiceQuotas\",\"AWS/DDoSProtection\",\"AWS/SES\",\"AWS/SNS\",\"AWS/SQS\",\"AWS/SWF\",\"AWS/States\",\"AWS/StorageGateway\",\"AWS/Textract\",\"AWS/TransitGateway\",\"AWS/Translate\",\"AWS/TrustedAdvisor\",\"AWS/VPN\",\"WAF\",\"AWS/WAFV2\",\"AWS/WorkSpaces\",\"AWS/X-Ray\"]}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 526, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-10-28T14:43:06.864Z", + "time": 84 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Patch-account-config-returns-API-error-response-response_2736697919/frozen.json b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Patch-account-config-returns-API-error-response-response_2736697919/frozen.json new file mode 100644 index 00000000000..69852159170 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Patch-account-config-returns-API-error-response-response_2736697919/frozen.json @@ -0,0 +1 @@ +"2024-08-21T20:16:52.731Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Patch-account-config-returns-API-error-response-response_2736697919/recording.har b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Patch-account-config-returns-API-error-response-response_2736697919/recording.har new file mode 100644 index 00000000000..88f912b71e5 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Patch-account-config-returns-API-error-response-response_2736697919/recording.har @@ -0,0 +1,162 @@ +{ + "log": { + "_recordingName": "AWS Integration/AWS Integration - Patch account config returns \"API error response.\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "48bd5fcd9d25198bc2c9cbbbf80395b7", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 656, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 575, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"account_tags\":[\"$KEY:$VALUE\"],\"auth_config\":{\"role_name\":\"DatadogAWSIntegrationRole\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-2\",\"us-west-1\"]},\"logs_config\":{},\"metrics_config\":{\"automute_enabled\":true,\"enabled\":false,\"namespace_filters\":{\"exclude_only\":[\"AWS/AutoScaling\",\"AWS/ElasticMapReduce\",\"AWS/SQS\"]},\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"$KEY:$VALUE\"]}]},\"resources_config\":{\"cloud_security_posture_management_collection\":true,\"extended_collection\":true},\"traces_config\":{\"xray_services\":{\"include_only\":[\"AWS/AppSync\"]}}},\"id\":\"123456789012\",\"type\":\"account\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts" + }, + "response": { + "bodySize": 839, + "content": { + "mimeType": "application/vnd.api+json", + "size": 839, + "text": "{\"data\":{\"id\":\"b5333e91-03e0-4a3f-9bd6-07e2d83cb85f\",\"type\":\"account\",\"attributes\":{\"account_tags\":[\"$KEY:$VALUE\"],\"auth_config\":{\"role_name\":\"DatadogAWSIntegrationRole\",\"external_id\":\"aa55eef398064c1ab1937f6f008b7184\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-2\",\"us-west-1\"]},\"created_at\":\"2024-08-21T20:16:53.079170523Z\",\"logs_config\":{\"lambda_forwarder\":{}},\"metrics_config\":{\"enabled\":false,\"automute_enabled\":true,\"collect_custom_metrics\":true,\"collect_cloudwatch_alarms\":true,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"$KEY:$VALUE\"]}],\"namespace_filters\":{\"exclude_only\":[\"AWS/AutoScaling\",\"AWS/ElasticMapReduce\",\"AWS/SQS\"]}},\"modified_at\":\"2024-08-21T20:16:53.079176907Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":true,\"extended_collection\":true}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-08-21T20:16:52.733Z", + "time": 376 + }, + { + "_id": "0662a26424b8e10c2dd2dce946029e48", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 493, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 589, + "httpVersion": "HTTP/1.1", + "method": "PATCH", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"account_tags\":[],\"auth_config\":{\"role_name\":\"test\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws-test\",\"aws_regions\":{\"include_only\":[\"us-east-1\"]},\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[],\"sources\":[\"s3\"]}},\"metrics_config\":{\"namespace_filters\":{\"include_only\":[\"AWS/EC2\"]},\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[]}]},\"resources_config\":{},\"traces_config\":{\"xray_services\":{\"include_only\":[\"AWS/AppSync\"]}}},\"id\":\"123456789012\",\"type\":\"account\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/123456789012" + }, + "response": { + "bodySize": 77, + "content": { + "mimeType": "application/vnd.api+json", + "size": 77, + "text": "{\"errors\":[{\"title\":\"Generic Error\",\"detail\":\"invalid partition: aws-test\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 524, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 400, + "statusText": "Bad Request" + }, + "startedDateTime": "2024-08-21T20:16:53.114Z", + "time": 41 + }, + { + "_id": "e897b7ca83cb687cd8217ad147c155cd", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 524, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/123456789012" + }, + "response": { + "bodySize": 0, + "content": { + "mimeType": "application/vnd.api+json", + "size": 0 + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 504, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 204, + "statusText": "No Content" + }, + "startedDateTime": "2024-08-21T20:16:53.160Z", + "time": 221 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Patch-account-config-returns-AWS-Account-object-response_3256752209/frozen.json b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Patch-account-config-returns-AWS-Account-object-response_3256752209/frozen.json new file mode 100644 index 00000000000..f2edf4c4c4c --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Patch-account-config-returns-AWS-Account-object-response_3256752209/frozen.json @@ -0,0 +1 @@ +"2024-10-28T14:43:06.952Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Patch-account-config-returns-AWS-Account-object-response_3256752209/recording.har b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Patch-account-config-returns-AWS-Account-object-response_3256752209/recording.har new file mode 100644 index 00000000000..eb01b55e55e --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Patch-account-config-returns-AWS-Account-object-response_3256752209/recording.har @@ -0,0 +1,157 @@ +{ + "log": { + "_recordingName": "AWS Integration/AWS Integration - Patch account config returns \"AWS Account object\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "194b15fbfcae9b9ae1a70daa19dc9ee9", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 810, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 575, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"role_name\":\"DatadogIntegrationRole\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-1\"]},\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[\"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder\"],\"sources\":[\"s3\"]}},\"metrics_config\":{\"automute_enabled\":true,\"collect_cloudwatch_alarms\":false,\"collect_custom_metrics\":false,\"enabled\":true,\"namespace_filters\":{\"include_only\":[\"AWS/EC2\"]},\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"key:value\"]}]},\"resources_config\":{\"cloud_security_posture_management_collection\":false,\"extended_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[\"AWS/AppSync\"]}}},\"id\":\"00000000-abcd-0001-0000-000000000000\",\"type\":\"account\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts" + }, + "response": { + "bodySize": 952, + "content": { + "mimeType": "application/vnd.api+json", + "size": 952, + "text": "{\"data\":{\"id\":\"28a2004c-84b4-4f07-a2a4-01c9ab6a021e\",\"type\":\"account\",\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"role_name\":\"DatadogIntegrationRole\",\"external_id\":\"a55061deb44b4bd28f751f150cabf912\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-1\"]},\"created_at\":\"2024-10-28T14:43:07.521247459Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[\"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder\"],\"sources\":[\"s3\"]}},\"metrics_config\":{\"enabled\":true,\"automute_enabled\":true,\"collect_custom_metrics\":false,\"collect_cloudwatch_alarms\":false,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"key:value\"]}],\"namespace_filters\":{\"include_only\":[\"AWS/EC2\"]}},\"modified_at\":\"2024-10-28T14:43:07.521251841Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":false,\"extended_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[\"AWS/AppSync\"]}}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-10-28T14:43:06.953Z", + "time": 585 + }, + { + "_id": "fb2d76fe77ca975763e53f82142eb9c4", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 622, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 613, + "httpVersion": "HTTP/1.1", + "method": "PATCH", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"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\"],\"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\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/28a2004c-84b4-4f07-a2a4-01c9ab6a021e" + }, + "response": { + "bodySize": 947, + "content": { + "mimeType": "application/vnd.api+json", + "size": 947, + "text": "{\"data\":{\"id\":\"28a2004c-84b4-4f07-a2a4-01c9ab6a021e\",\"type\":\"account\",\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"role_name\":\"DatadogIntegrationRole\",\"external_id\":\"a55061deb44b4bd28f751f150cabf912\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-1\"]},\"created_at\":\"2024-10-28T14:43:07.521247Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[\"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder\"],\"sources\":[\"s3\"]}},\"metrics_config\":{\"enabled\":true,\"automute_enabled\":true,\"collect_custom_metrics\":true,\"collect_cloudwatch_alarms\":true,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"key:value\"]}],\"namespace_filters\":{\"include_only\":[\"AWS/EC2\"]}},\"modified_at\":\"2024-10-28T14:43:07.787129993Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":false,\"extended_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[\"AWS/AppSync\"]}}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-10-28T14:43:07.546Z", + "time": 239 + }, + { + "_id": "ab4b9ab334f60f2c1957331962673520", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 548, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/28a2004c-84b4-4f07-a2a4-01c9ab6a021e" + }, + "response": { + "bodySize": 0, + "content": { + "mimeType": "text/plain", + "size": 0 + }, + "cookies": [], + "headers": [], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 204, + "statusText": "No Content" + }, + "startedDateTime": "2024-10-28T14:43:07.791Z", + "time": 212 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Patch-account-config-returns-Bad-Request-response_3571072472/frozen.json b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Patch-account-config-returns-Bad-Request-response_3571072472/frozen.json new file mode 100644 index 00000000000..5f012fd7c7f --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Patch-account-config-returns-Bad-Request-response_3571072472/frozen.json @@ -0,0 +1 @@ +"2024-10-28T14:43:08.012Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Patch-account-config-returns-Bad-Request-response_3571072472/recording.har b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Patch-account-config-returns-Bad-Request-response_3571072472/recording.har new file mode 100644 index 00000000000..94a60e11db4 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Patch-account-config-returns-Bad-Request-response_3571072472/recording.har @@ -0,0 +1,157 @@ +{ + "log": { + "_recordingName": "AWS Integration/AWS Integration - Patch account config returns \"Bad Request\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "194b15fbfcae9b9ae1a70daa19dc9ee9", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 810, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 575, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"role_name\":\"DatadogIntegrationRole\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-1\"]},\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[\"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder\"],\"sources\":[\"s3\"]}},\"metrics_config\":{\"automute_enabled\":true,\"collect_cloudwatch_alarms\":false,\"collect_custom_metrics\":false,\"enabled\":true,\"namespace_filters\":{\"include_only\":[\"AWS/EC2\"]},\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"key:value\"]}]},\"resources_config\":{\"cloud_security_posture_management_collection\":false,\"extended_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[\"AWS/AppSync\"]}}},\"id\":\"00000000-abcd-0001-0000-000000000000\",\"type\":\"account\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts" + }, + "response": { + "bodySize": 952, + "content": { + "mimeType": "application/vnd.api+json", + "size": 952, + "text": "{\"data\":{\"id\":\"84a5a2e9-80f6-4740-a478-c885ae8d4117\",\"type\":\"account\",\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"role_name\":\"DatadogIntegrationRole\",\"external_id\":\"8e44f2912a454f59824ddcb767a6f6da\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-1\"]},\"created_at\":\"2024-10-28T14:43:08.585257799Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[\"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder\"],\"sources\":[\"s3\"]}},\"metrics_config\":{\"enabled\":true,\"automute_enabled\":true,\"collect_custom_metrics\":false,\"collect_cloudwatch_alarms\":false,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"key:value\"]}],\"namespace_filters\":{\"include_only\":[\"AWS/EC2\"]}},\"modified_at\":\"2024-10-28T14:43:08.585261311Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":false,\"extended_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[\"AWS/AppSync\"]}}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-10-28T14:43:08.014Z", + "time": 597 + }, + { + "_id": "10801992133a7f40382b539efd3951e0", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 687, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 613, + "httpVersion": "HTTP/1.1", + "method": "PATCH", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"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\"],\"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\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/84a5a2e9-80f6-4740-a478-c885ae8d4117" + }, + "response": { + "bodySize": 95, + "content": { + "mimeType": "application/vnd.api+json", + "size": 95, + "text": "{\"errors\":[{\"title\":\"Generic Error\",\"detail\":\"cannot switch between role and key based auth\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 524, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 400, + "statusText": "Bad Request" + }, + "startedDateTime": "2024-10-28T14:43:08.620Z", + "time": 114 + }, + { + "_id": "8958a38d7902c200458226591606ad83", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 548, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/84a5a2e9-80f6-4740-a478-c885ae8d4117" + }, + "response": { + "bodySize": 0, + "content": { + "mimeType": "text/plain", + "size": 0 + }, + "cookies": [], + "headers": [], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 204, + "statusText": "No Content" + }, + "startedDateTime": "2024-10-28T14:43:08.738Z", + "time": 187 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Patch-account-config-returns-Not-Found-response_1229702191/frozen.json b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Patch-account-config-returns-Not-Found-response_1229702191/frozen.json new file mode 100644 index 00000000000..e739b7b8ec9 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Patch-account-config-returns-Not-Found-response_1229702191/frozen.json @@ -0,0 +1 @@ +"2024-10-28T14:43:08.932Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Patch-account-config-returns-Not-Found-response_1229702191/recording.har b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Patch-account-config-returns-Not-Found-response_1229702191/recording.har new file mode 100644 index 00000000000..a07b534c11b --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/AWS-Integration-Patch-account-config-returns-Not-Found-response_1229702191/recording.har @@ -0,0 +1,67 @@ +{ + "log": { + "_recordingName": "AWS Integration/AWS Integration - Patch account config returns \"Not Found\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "6796bfb254966f6ad7024bc629b25991", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 622, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 613, + "httpVersion": "HTTP/1.1", + "method": "PATCH", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"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\"],\"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\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/448169a8-251c-4344-abee-1c4edef39f7a" + }, + "response": { + "bodySize": 115, + "content": { + "mimeType": "application/vnd.api+json", + "size": 115, + "text": "{\"errors\":[{\"status\":\"404\",\"title\":\"Account not found\",\"detail\":\"AWS account with provided id is not integrated\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 404, + "statusText": "Not Found" + }, + "startedDateTime": "2024-10-28T14:43:08.935Z", + "time": 91 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-account-returns-AWS-Account-object-response_368932003/frozen.json b/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-account-returns-AWS-Account-object-response_368932003/frozen.json new file mode 100644 index 00000000000..475564c8d37 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-account-returns-AWS-Account-object-response_368932003/frozen.json @@ -0,0 +1 @@ +"2024-11-06T16:18:24.536Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-account-returns-AWS-Account-object-response_368932003/recording.har b/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-account-returns-AWS-Account-object-response_368932003/recording.har new file mode 100644 index 00000000000..5732886ce81 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-account-returns-AWS-Account-object-response_368932003/recording.har @@ -0,0 +1,104 @@ +{ + "log": { + "_recordingName": "AWS Integration/Create an AWS account returns \"AWS Account object\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "c206b9cd771e14f05d1842a3a48556ce", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 622, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 575, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"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\"],\"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\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts" + }, + "response": { + "bodySize": 950, + "content": { + "mimeType": "application/vnd.api+json", + "size": 950, + "text": "{\"data\":{\"id\":\"ee4bf086-aad9-4c7e-9a4d-1f6f9c6d2d67\",\"type\":\"account\",\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"role_name\":\"DatadogIntegrationRole\",\"external_id\":\"ecbcd82ef36646468ce47e7ab910700f\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_all\":true},\"created_at\":\"2024-11-06T16:18:25.211491354Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[\"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder\"],\"sources\":[\"s3\"]}},\"metrics_config\":{\"enabled\":true,\"automute_enabled\":true,\"collect_custom_metrics\":true,\"collect_cloudwatch_alarms\":true,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"key:value\"]}],\"namespace_filters\":{\"exclude_only\":[\"AWS/SQS\",\"AWS/ElasticMapReduce\"]}},\"modified_at\":\"2024-11-06T16:18:25.211497237Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":false,\"extended_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[]}}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:18:24.546Z", + "time": 682 + }, + { + "_id": "aec6a15670070be0d3bc618bc0bcdc7d", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 548, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/ee4bf086-aad9-4c7e-9a4d-1f6f9c6d2d67" + }, + "response": { + "bodySize": 0, + "content": { + "mimeType": "text/plain", + "size": 0 + }, + "cookies": [], + "headers": [], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 204, + "statusText": "No Content" + }, + "startedDateTime": "2024-11-06T16:18:25.246Z", + "time": 264 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-integration-returns-AWS-Account-object-response_3719830338/frozen.json b/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-integration-returns-AWS-Account-object-response_3719830338/frozen.json new file mode 100644 index 00000000000..eeac52f1734 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-integration-returns-AWS-Account-object-response_3719830338/frozen.json @@ -0,0 +1 @@ +"2024-11-06T16:18:25.527Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-integration-returns-AWS-Account-object-response_3719830338/recording.har b/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-integration-returns-AWS-Account-object-response_3719830338/recording.har new file mode 100644 index 00000000000..2c3e91fb833 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-integration-returns-AWS-Account-object-response_3719830338/recording.har @@ -0,0 +1,104 @@ +{ + "log": { + "_recordingName": "AWS Integration/Create an AWS integration returns \"AWS Account object\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "88af157cdc0f2048e2ffb672fa2dd882", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 687, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 575, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"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\"],\"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\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts" + }, + "response": { + "bodySize": 903, + "content": { + "mimeType": "application/vnd.api+json", + "size": 903, + "text": "{\"data\":{\"id\":\"e8a30c46-27a6-4f53-b95d-db50c41eb053\",\"type\":\"account\",\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"access_key_id\":\"AKIAIOSFODNN7EXAMPLE\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_all\":true},\"created_at\":\"2024-11-06T16:18:25.695207755Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[\"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder\"],\"sources\":[\"s3\"]}},\"metrics_config\":{\"enabled\":true,\"automute_enabled\":true,\"collect_custom_metrics\":true,\"collect_cloudwatch_alarms\":true,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"key:value\"]}],\"namespace_filters\":{\"exclude_only\":[\"AWS/SQS\",\"AWS/ElasticMapReduce\"]}},\"modified_at\":\"2024-11-06T16:18:25.695214344Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":false,\"extended_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[]}}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:18:25.535Z", + "time": 164 + }, + { + "_id": "1328a22f85e29f2d100c0470f4b98d35", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 548, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/e8a30c46-27a6-4f53-b95d-db50c41eb053" + }, + "response": { + "bodySize": 0, + "content": { + "mimeType": "text/plain", + "size": 0 + }, + "cookies": [], + "headers": [], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 204, + "statusText": "No Content" + }, + "startedDateTime": "2024-11-06T16:18:25.718Z", + "time": 243 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-integration-returns-Bad-Request-response_1297298849/frozen.json b/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-integration-returns-Bad-Request-response_1297298849/frozen.json new file mode 100644 index 00000000000..10f78645ce4 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-integration-returns-Bad-Request-response_1297298849/frozen.json @@ -0,0 +1 @@ +"2024-11-06T16:18:25.974Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-integration-returns-Bad-Request-response_1297298849/recording.har b/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-integration-returns-Bad-Request-response_1297298849/recording.har new file mode 100644 index 00000000000..bdec913e277 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-integration-returns-Bad-Request-response_1297298849/recording.har @@ -0,0 +1,67 @@ +{ + "log": { + "_recordingName": "AWS Integration/Create an AWS integration returns \"Bad Request\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "f1ca6244e46cb3a286bf65d4e9044ba4", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 630, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 575, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"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\"],\"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\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts" + }, + "response": { + "bodySize": 80, + "content": { + "mimeType": "application/vnd.api+json", + "size": 80, + "text": "{\"errors\":[{\"title\":\"Generic Error\",\"detail\":\"invalid partition: aws-invalid\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 524, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 400, + "statusText": "Bad Request" + }, + "startedDateTime": "2024-11-06T16:18:25.992Z", + "time": 92 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-integration-returns-Conflict-response_640058473/frozen.json b/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-integration-returns-Conflict-response_640058473/frozen.json new file mode 100644 index 00000000000..f453dca6a88 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-integration-returns-Conflict-response_640058473/frozen.json @@ -0,0 +1 @@ +"2024-11-06T16:18:26.090Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-integration-returns-Conflict-response_640058473/recording.har b/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-integration-returns-Conflict-response_640058473/recording.har new file mode 100644 index 00000000000..a9c3fd61dcf --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/Create-an-AWS-integration-returns-Conflict-response_640058473/recording.har @@ -0,0 +1,157 @@ +{ + "log": { + "_recordingName": "AWS Integration/Create an AWS integration returns \"Conflict\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "194b15fbfcae9b9ae1a70daa19dc9ee9", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 810, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 575, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"role_name\":\"DatadogIntegrationRole\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-1\"]},\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[\"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder\"],\"sources\":[\"s3\"]}},\"metrics_config\":{\"automute_enabled\":true,\"collect_cloudwatch_alarms\":false,\"collect_custom_metrics\":false,\"enabled\":true,\"namespace_filters\":{\"include_only\":[\"AWS/EC2\"]},\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"key:value\"]}]},\"resources_config\":{\"cloud_security_posture_management_collection\":false,\"extended_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[\"AWS/AppSync\"]}}},\"id\":\"00000000-abcd-0001-0000-000000000000\",\"type\":\"account\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts" + }, + "response": { + "bodySize": 951, + "content": { + "mimeType": "application/vnd.api+json", + "size": 951, + "text": "{\"data\":{\"id\":\"c564dbb8-24a3-418c-a0dd-f547a9cf2857\",\"type\":\"account\",\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"role_name\":\"DatadogIntegrationRole\",\"external_id\":\"02e377b03efb4644a0bc8f46041e879b\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-1\"]},\"created_at\":\"2024-11-06T16:18:26.680421304Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[\"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder\"],\"sources\":[\"s3\"]}},\"metrics_config\":{\"enabled\":true,\"automute_enabled\":true,\"collect_custom_metrics\":false,\"collect_cloudwatch_alarms\":false,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"key:value\"]}],\"namespace_filters\":{\"include_only\":[\"AWS/EC2\"]}},\"modified_at\":\"2024-11-06T16:18:26.68042548Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":false,\"extended_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[\"AWS/AppSync\"]}}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:18:26.094Z", + "time": 585 + }, + { + "_id": "c206b9cd771e14f05d1842a3a48556ce", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 622, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 575, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"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\"],\"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\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts" + }, + "response": { + "bodySize": 117, + "content": { + "mimeType": "application/vnd.api+json", + "size": 117, + "text": "{\"errors\":[{\"status\":\"409\",\"title\":\"Account already exists\",\"detail\":\"AWS account with provided id already exists\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 409, + "statusText": "Conflict" + }, + "startedDateTime": "2024-11-06T16:18:26.691Z", + "time": 572 + }, + { + "_id": "85435e40f256998eca8605a5b3de9f7a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 548, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/c564dbb8-24a3-418c-a0dd-f547a9cf2857" + }, + "response": { + "bodySize": 0, + "content": { + "mimeType": "text/plain", + "size": 0 + }, + "cookies": [], + "headers": [], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 204, + "statusText": "No Content" + }, + "startedDateTime": "2024-11-06T16:18:27.274Z", + "time": 226 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/AWS-Integration_2071210100/Delete-an-AWS-integration-returns-Bad-Request-response_486495630/frozen.json b/cassettes/v2/AWS-Integration_2071210100/Delete-an-AWS-integration-returns-Bad-Request-response_486495630/frozen.json new file mode 100644 index 00000000000..222fa8a19b1 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/Delete-an-AWS-integration-returns-Bad-Request-response_486495630/frozen.json @@ -0,0 +1 @@ +"2024-11-06T16:18:27.509Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/Delete-an-AWS-integration-returns-Bad-Request-response_486495630/recording.har b/cassettes/v2/AWS-Integration_2071210100/Delete-an-AWS-integration-returns-Bad-Request-response_486495630/recording.har new file mode 100644 index 00000000000..1026455f5dd --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/Delete-an-AWS-integration-returns-Bad-Request-response_486495630/recording.har @@ -0,0 +1,57 @@ +{ + "log": { + "_recordingName": "AWS Integration/Delete an AWS integration returns \"Bad Request\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "73fd406ed68610bd50ee83f2c499e8a8", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 522, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/not-a-uuid" + }, + "response": { + "bodySize": 148, + "content": { + "mimeType": "application/vnd.api+json", + "size": 148, + "text": "{\"errors\":[{\"status\":\"400\",\"title\":\"Invalid Parameter\",\"detail\":\"invalid parameter \\\"aws_account_config_id\\\" in \\\"path\\\"; expected type \\\"uuid\\\"\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 400, + "statusText": "Bad Request" + }, + "startedDateTime": "2024-11-06T16:18:27.516Z", + "time": 124 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/AWS-Integration_2071210100/Delete-an-AWS-integration-returns-No-Content-response_4057518980/frozen.json b/cassettes/v2/AWS-Integration_2071210100/Delete-an-AWS-integration-returns-No-Content-response_4057518980/frozen.json new file mode 100644 index 00000000000..f64a22bc25d --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/Delete-an-AWS-integration-returns-No-Content-response_4057518980/frozen.json @@ -0,0 +1 @@ +"2024-11-06T16:18:27.671Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/Delete-an-AWS-integration-returns-No-Content-response_4057518980/recording.har b/cassettes/v2/AWS-Integration_2071210100/Delete-an-AWS-integration-returns-No-Content-response_4057518980/recording.har new file mode 100644 index 00000000000..22c9f7ef589 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/Delete-an-AWS-integration-returns-No-Content-response_4057518980/recording.har @@ -0,0 +1,147 @@ +{ + "log": { + "_recordingName": "AWS Integration/Delete an AWS integration returns \"No Content\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "194b15fbfcae9b9ae1a70daa19dc9ee9", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 810, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 575, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"role_name\":\"DatadogIntegrationRole\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-1\"]},\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[\"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder\"],\"sources\":[\"s3\"]}},\"metrics_config\":{\"automute_enabled\":true,\"collect_cloudwatch_alarms\":false,\"collect_custom_metrics\":false,\"enabled\":true,\"namespace_filters\":{\"include_only\":[\"AWS/EC2\"]},\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"key:value\"]}]},\"resources_config\":{\"cloud_security_posture_management_collection\":false,\"extended_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[\"AWS/AppSync\"]}}},\"id\":\"00000000-abcd-0001-0000-000000000000\",\"type\":\"account\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts" + }, + "response": { + "bodySize": 952, + "content": { + "mimeType": "application/vnd.api+json", + "size": 952, + "text": "{\"data\":{\"id\":\"28b560b7-37e6-4fd3-a88b-b59993f2edaa\",\"type\":\"account\",\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"role_name\":\"DatadogIntegrationRole\",\"external_id\":\"63d8dcd554394ee1807c661c6bc0b089\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-1\"]},\"created_at\":\"2024-11-06T16:18:28.336534335Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[\"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder\"],\"sources\":[\"s3\"]}},\"metrics_config\":{\"enabled\":true,\"automute_enabled\":true,\"collect_custom_metrics\":false,\"collect_cloudwatch_alarms\":false,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"key:value\"]}],\"namespace_filters\":{\"include_only\":[\"AWS/EC2\"]}},\"modified_at\":\"2024-11-06T16:18:28.336538741Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":false,\"extended_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[\"AWS/AppSync\"]}}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:18:27.674Z", + "time": 667 + }, + { + "_id": "c1d019be15a2b5e566af15c87f7510cb", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 548, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/28b560b7-37e6-4fd3-a88b-b59993f2edaa" + }, + "response": { + "bodySize": 0, + "content": { + "mimeType": "text/plain", + "size": 0 + }, + "cookies": [], + "headers": [], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 204, + "statusText": "No Content" + }, + "startedDateTime": "2024-11-06T16:18:28.349Z", + "time": 260 + }, + { + "_id": "c1d019be15a2b5e566af15c87f7510cb", + "_order": 1, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 548, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/28b560b7-37e6-4fd3-a88b-b59993f2edaa" + }, + "response": { + "bodySize": 115, + "content": { + "mimeType": "application/vnd.api+json", + "size": 115, + "text": "{\"errors\":[{\"status\":\"404\",\"title\":\"Account not found\",\"detail\":\"AWS account with provided id is not integrated\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 404, + "statusText": "Not Found" + }, + "startedDateTime": "2024-11-06T16:18:28.615Z", + "time": 159 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/AWS-Integration_2071210100/Delete-an-AWS-integration-returns-Not-Found-response_1363358965/frozen.json b/cassettes/v2/AWS-Integration_2071210100/Delete-an-AWS-integration-returns-Not-Found-response_1363358965/frozen.json new file mode 100644 index 00000000000..746d8cbc66b --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/Delete-an-AWS-integration-returns-Not-Found-response_1363358965/frozen.json @@ -0,0 +1 @@ +"2024-11-06T16:18:28.795Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/Delete-an-AWS-integration-returns-Not-Found-response_1363358965/recording.har b/cassettes/v2/AWS-Integration_2071210100/Delete-an-AWS-integration-returns-Not-Found-response_1363358965/recording.har new file mode 100644 index 00000000000..67cbfb1def8 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/Delete-an-AWS-integration-returns-Not-Found-response_1363358965/recording.har @@ -0,0 +1,147 @@ +{ + "log": { + "_recordingName": "AWS Integration/Delete an AWS integration returns \"Not Found\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "194b15fbfcae9b9ae1a70daa19dc9ee9", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 810, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 575, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"role_name\":\"DatadogIntegrationRole\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-1\"]},\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[\"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder\"],\"sources\":[\"s3\"]}},\"metrics_config\":{\"automute_enabled\":true,\"collect_cloudwatch_alarms\":false,\"collect_custom_metrics\":false,\"enabled\":true,\"namespace_filters\":{\"include_only\":[\"AWS/EC2\"]},\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"key:value\"]}]},\"resources_config\":{\"cloud_security_posture_management_collection\":false,\"extended_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[\"AWS/AppSync\"]}}},\"id\":\"00000000-abcd-0001-0000-000000000000\",\"type\":\"account\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts" + }, + "response": { + "bodySize": 951, + "content": { + "mimeType": "application/vnd.api+json", + "size": 951, + "text": "{\"data\":{\"id\":\"1b27eb08-69c8-40fc-b575-89020b774342\",\"type\":\"account\",\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"role_name\":\"DatadogIntegrationRole\",\"external_id\":\"18bc96af24a54bc09209d9d915762ef2\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-1\"]},\"created_at\":\"2024-11-06T16:18:29.37439063Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[\"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder\"],\"sources\":[\"s3\"]}},\"metrics_config\":{\"enabled\":true,\"automute_enabled\":true,\"collect_custom_metrics\":false,\"collect_cloudwatch_alarms\":false,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"key:value\"]}],\"namespace_filters\":{\"include_only\":[\"AWS/EC2\"]}},\"modified_at\":\"2024-11-06T16:18:29.374394667Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":false,\"extended_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[\"AWS/AppSync\"]}}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:18:28.804Z", + "time": 578 + }, + { + "_id": "ab2123e36fb50f90fe98365e086c9c6e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 548, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/448169a8-251c-4344-abee-1c4edef39f7a" + }, + "response": { + "bodySize": 115, + "content": { + "mimeType": "application/vnd.api+json", + "size": 115, + "text": "{\"errors\":[{\"status\":\"404\",\"title\":\"Account not found\",\"detail\":\"AWS account with provided id is not integrated\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 404, + "statusText": "Not Found" + }, + "startedDateTime": "2024-11-06T16:18:29.395Z", + "time": 138 + }, + { + "_id": "860fca5dfd55219421228ff1f155bd42", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 548, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/1b27eb08-69c8-40fc-b575-89020b774342" + }, + "response": { + "bodySize": 0, + "content": { + "mimeType": "text/plain", + "size": 0 + }, + "cookies": [], + "headers": [], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 204, + "statusText": "No Content" + }, + "startedDateTime": "2024-11-06T16:18:29.544Z", + "time": 270 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/AWS-Integration_2071210100/Generate-a-new-external-ID-returns-AWS-External-ID-object-response_4142784067/frozen.json b/cassettes/v2/AWS-Integration_2071210100/Generate-a-new-external-ID-returns-AWS-External-ID-object-response_4142784067/frozen.json new file mode 100644 index 00000000000..05a2ae49a96 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/Generate-a-new-external-ID-returns-AWS-External-ID-object-response_4142784067/frozen.json @@ -0,0 +1 @@ +"2024-11-06T16:18:29.819Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/Generate-a-new-external-ID-returns-AWS-External-ID-object-response_4142784067/recording.har b/cassettes/v2/AWS-Integration_2071210100/Generate-a-new-external-ID-returns-AWS-External-ID-object-response_4142784067/recording.har new file mode 100644 index 00000000000..89e2bbe173f --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/Generate-a-new-external-ID-returns-AWS-External-ID-object-response_4142784067/recording.har @@ -0,0 +1,57 @@ +{ + "log": { + "_recordingName": "AWS Integration/Generate a new external ID returns \"AWS External ID object\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "a3ebb72260ebfa89589aff3630e3a2cc", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 563, + "httpVersion": "HTTP/1.1", + "method": "POST", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/generate_new_external_id" + }, + "response": { + "bodySize": 114, + "content": { + "mimeType": "application/vnd.api+json", + "size": 114, + "text": "{\"data\":{\"id\":\"external_id\",\"type\":\"external_id\",\"attributes\":{\"external_id\":\"8a3f86ba19a14f78b2bfc411e1e6879a\"}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:18:29.822Z", + "time": 247 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/AWS-Integration_2071210100/Generate-new-external-ID-returns-AWS-External-ID-object-response_801325176/frozen.json b/cassettes/v2/AWS-Integration_2071210100/Generate-new-external-ID-returns-AWS-External-ID-object-response_801325176/frozen.json new file mode 100644 index 00000000000..f20609b9302 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/Generate-new-external-ID-returns-AWS-External-ID-object-response_801325176/frozen.json @@ -0,0 +1 @@ +"2024-11-06T16:18:30.085Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/Generate-new-external-ID-returns-AWS-External-ID-object-response_801325176/recording.har b/cassettes/v2/AWS-Integration_2071210100/Generate-new-external-ID-returns-AWS-External-ID-object-response_801325176/recording.har new file mode 100644 index 00000000000..156b8b92905 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/Generate-new-external-ID-returns-AWS-External-ID-object-response_801325176/recording.har @@ -0,0 +1,57 @@ +{ + "log": { + "_recordingName": "AWS Integration/Generate new external ID returns \"AWS External ID object\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "a3ebb72260ebfa89589aff3630e3a2cc", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 563, + "httpVersion": "HTTP/1.1", + "method": "POST", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/generate_new_external_id" + }, + "response": { + "bodySize": 114, + "content": { + "mimeType": "application/vnd.api+json", + "size": 114, + "text": "{\"data\":{\"id\":\"external_id\",\"type\":\"external_id\",\"attributes\":{\"external_id\":\"352ca07fef954a1b82394ab37ae49aa8\"}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:18:30.099Z", + "time": 522 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/AWS-Integration_2071210100/Get-an-AWS-integration-by-config-ID-returns-AWS-Account-object-response_1593928644/frozen.json b/cassettes/v2/AWS-Integration_2071210100/Get-an-AWS-integration-by-config-ID-returns-AWS-Account-object-response_1593928644/frozen.json new file mode 100644 index 00000000000..79fa2618ba9 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/Get-an-AWS-integration-by-config-ID-returns-AWS-Account-object-response_1593928644/frozen.json @@ -0,0 +1 @@ +"2024-11-06T16:18:30.642Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/Get-an-AWS-integration-by-config-ID-returns-AWS-Account-object-response_1593928644/recording.har b/cassettes/v2/AWS-Integration_2071210100/Get-an-AWS-integration-by-config-ID-returns-AWS-Account-object-response_1593928644/recording.har new file mode 100644 index 00000000000..1daa372f0e5 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/Get-an-AWS-integration-by-config-ID-returns-AWS-Account-object-response_1593928644/recording.har @@ -0,0 +1,147 @@ +{ + "log": { + "_recordingName": "AWS Integration/Get an AWS integration by config ID returns \"AWS Account object\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "194b15fbfcae9b9ae1a70daa19dc9ee9", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 810, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 575, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"role_name\":\"DatadogIntegrationRole\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-1\"]},\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[\"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder\"],\"sources\":[\"s3\"]}},\"metrics_config\":{\"automute_enabled\":true,\"collect_cloudwatch_alarms\":false,\"collect_custom_metrics\":false,\"enabled\":true,\"namespace_filters\":{\"include_only\":[\"AWS/EC2\"]},\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"key:value\"]}]},\"resources_config\":{\"cloud_security_posture_management_collection\":false,\"extended_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[\"AWS/AppSync\"]}}},\"id\":\"00000000-abcd-0001-0000-000000000000\",\"type\":\"account\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts" + }, + "response": { + "bodySize": 951, + "content": { + "mimeType": "application/vnd.api+json", + "size": 951, + "text": "{\"data\":{\"id\":\"cfc155e8-6671-41a5-ae7b-6847851dee3b\",\"type\":\"account\",\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"role_name\":\"DatadogIntegrationRole\",\"external_id\":\"1742c2f32386447c8e810aba64051afd\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-1\"]},\"created_at\":\"2024-11-06T16:18:31.21098523Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[\"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder\"],\"sources\":[\"s3\"]}},\"metrics_config\":{\"enabled\":true,\"automute_enabled\":true,\"collect_custom_metrics\":false,\"collect_cloudwatch_alarms\":false,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"key:value\"]}],\"namespace_filters\":{\"include_only\":[\"AWS/EC2\"]}},\"modified_at\":\"2024-11-06T16:18:31.210989809Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":false,\"extended_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[\"AWS/AppSync\"]}}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:18:30.652Z", + "time": 562 + }, + { + "_id": "6941b31d58d18fcf96eae3db79c326d0", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 555, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/cfc155e8-6671-41a5-ae7b-6847851dee3b" + }, + "response": { + "bodySize": 945, + "content": { + "mimeType": "application/vnd.api+json", + "size": 945, + "text": "{\"data\":{\"id\":\"cfc155e8-6671-41a5-ae7b-6847851dee3b\",\"type\":\"account\",\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"role_name\":\"DatadogIntegrationRole\",\"external_id\":\"1742c2f32386447c8e810aba64051afd\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-1\"]},\"created_at\":\"2024-11-06T16:18:31.210985Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[\"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder\"],\"sources\":[\"s3\"]}},\"metrics_config\":{\"enabled\":true,\"automute_enabled\":true,\"collect_custom_metrics\":false,\"collect_cloudwatch_alarms\":false,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"key:value\"]}],\"namespace_filters\":{\"include_only\":[\"AWS/EC2\"]}},\"modified_at\":\"2024-11-06T16:18:31.21099Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":false,\"extended_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[\"AWS/AppSync\"]}}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:18:31.224Z", + "time": 144 + }, + { + "_id": "b2e8ff5f23baad24f8332896d855207a", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 548, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/cfc155e8-6671-41a5-ae7b-6847851dee3b" + }, + "response": { + "bodySize": 0, + "content": { + "mimeType": "text/plain", + "size": 0 + }, + "cookies": [], + "headers": [], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 204, + "statusText": "No Content" + }, + "startedDateTime": "2024-11-06T16:18:31.381Z", + "time": 265 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/AWS-Integration_2071210100/Get-an-AWS-integration-by-config-ID-returns-Bad-Request-response_436041603/frozen.json b/cassettes/v2/AWS-Integration_2071210100/Get-an-AWS-integration-by-config-ID-returns-Bad-Request-response_436041603/frozen.json new file mode 100644 index 00000000000..48c60012f4f --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/Get-an-AWS-integration-by-config-ID-returns-Bad-Request-response_436041603/frozen.json @@ -0,0 +1 @@ +"2024-11-06T16:18:31.651Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/Get-an-AWS-integration-by-config-ID-returns-Bad-Request-response_436041603/recording.har b/cassettes/v2/AWS-Integration_2071210100/Get-an-AWS-integration-by-config-ID-returns-Bad-Request-response_436041603/recording.har new file mode 100644 index 00000000000..d983450bdb2 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/Get-an-AWS-integration-by-config-ID-returns-Bad-Request-response_436041603/recording.har @@ -0,0 +1,57 @@ +{ + "log": { + "_recordingName": "AWS Integration/Get an AWS integration by config ID returns \"Bad Request\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "3d4d06039fed1cc58004086b9b6ef690", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 529, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/not-a-uuid" + }, + "response": { + "bodySize": 148, + "content": { + "mimeType": "application/vnd.api+json", + "size": 148, + "text": "{\"errors\":[{\"status\":\"400\",\"title\":\"Invalid Parameter\",\"detail\":\"invalid parameter \\\"aws_account_config_id\\\" in \\\"path\\\"; expected type \\\"uuid\\\"\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 400, + "statusText": "Bad Request" + }, + "startedDateTime": "2024-11-06T16:18:31.654Z", + "time": 128 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/AWS-Integration_2071210100/Get-an-AWS-integration-by-config-ID-returns-Not-Found-response_3734201732/frozen.json b/cassettes/v2/AWS-Integration_2071210100/Get-an-AWS-integration-by-config-ID-returns-Not-Found-response_3734201732/frozen.json new file mode 100644 index 00000000000..392f5140f9c --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/Get-an-AWS-integration-by-config-ID-returns-Not-Found-response_3734201732/frozen.json @@ -0,0 +1 @@ +"2024-11-06T16:18:31.791Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/Get-an-AWS-integration-by-config-ID-returns-Not-Found-response_3734201732/recording.har b/cassettes/v2/AWS-Integration_2071210100/Get-an-AWS-integration-by-config-ID-returns-Not-Found-response_3734201732/recording.har new file mode 100644 index 00000000000..492650d0473 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/Get-an-AWS-integration-by-config-ID-returns-Not-Found-response_3734201732/recording.har @@ -0,0 +1,57 @@ +{ + "log": { + "_recordingName": "AWS Integration/Get an AWS integration by config ID returns \"Not Found\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "9b33b83cc8bb714fcf7133ab2f3af9d3", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 555, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/448169a8-251c-4344-abee-1c4edef39f7a" + }, + "response": { + "bodySize": 115, + "content": { + "mimeType": "application/vnd.api+json", + "size": 115, + "text": "{\"errors\":[{\"status\":\"404\",\"title\":\"Account not found\",\"detail\":\"AWS account with provided id is not integrated\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 404, + "statusText": "Not Found" + }, + "startedDateTime": "2024-11-06T16:18:31.793Z", + "time": 154 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/AWS-Integration_2071210100/List-all-AWS-integrations-returns-AWS-Accounts-List-object-response_3577745950/frozen.json b/cassettes/v2/AWS-Integration_2071210100/List-all-AWS-integrations-returns-AWS-Accounts-List-object-response_3577745950/frozen.json new file mode 100644 index 00000000000..6bc38fb10c9 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/List-all-AWS-integrations-returns-AWS-Accounts-List-object-response_3577745950/frozen.json @@ -0,0 +1 @@ +"2024-11-06T16:18:31.972Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/List-all-AWS-integrations-returns-AWS-Accounts-List-object-response_3577745950/recording.har b/cassettes/v2/AWS-Integration_2071210100/List-all-AWS-integrations-returns-AWS-Accounts-List-object-response_3577745950/recording.har new file mode 100644 index 00000000000..a865c67354b --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/List-all-AWS-integrations-returns-AWS-Accounts-List-object-response_3577745950/recording.har @@ -0,0 +1,57 @@ +{ + "log": { + "_recordingName": "AWS Integration/List all AWS integrations returns \"AWS Accounts List object\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "101a55f55a26d6165fb48d0451d83d10", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 520, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts" + }, + "response": { + "bodySize": 9352, + "content": { + "mimeType": "application/vnd.api+json", + "size": 9352, + "text": "{\"data\":[{\"id\":\"e6daa8c4-58b6-42e1-970e-44e6fa812ce0\",\"type\":\"account\",\"attributes\":{\"account_tags\":[],\"auth_config\":{\"access_key_id\":\"AKIA514950102505\"},\"aws_account_id\":\"514950102505\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_all\":true},\"created_at\":\"2024-09-06T00:18:12.382448Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[\"arn:aws:lambda:us-east-1:1234567890:function:datadog-forwarder-Forwarder\"],\"sources\":[]}},\"metrics_config\":{\"enabled\":true,\"automute_enabled\":true,\"collect_custom_metrics\":false,\"collect_cloudwatch_alarms\":false,\"tag_filters\":[],\"namespace_filters\":{\"exclude_only\":[\"AWS/ElasticMapReduce\",\"AWS/SQS\"]}},\"modified_at\":\"2024-09-06T00:18:17.536561Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":false,\"extended_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[]}}}},{\"id\":\"a0c7f96e-a471-488e-84be-c3336e7ab693\",\"type\":\"account\",\"attributes\":{\"account_tags\":[\"$KEY:$VALUE\"],\"auth_config\":{\"role_name\":\"DatadogAWSIntegrationRole\",\"external_id\":\"859ffc73702c40f589cc3b74c5967e27\"},\"aws_account_id\":\"172830950700\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-2\",\"us-west-1\",\"eu-west-1\",\"eu-central-1\",\"ap-southeast-1\",\"ap-southeast-2\",\"ap-northeast-1\",\"ap-northeast-2\",\"ap-northeast-3\",\"sa-east-1\",\"ap-south-1\",\"ca-central-1\",\"eu-west-2\",\"eu-west-3\",\"eu-north-1\",\"af-south-1\",\"ap-east-1\",\"ap-south-2\",\"ap-southeast-3\",\"ap-southeast-4\",\"ap-southeast-5\",\"ca-west-1\",\"eu-central-2\",\"eu-south-1\",\"eu-south-2\",\"il-central-1\",\"me-central-1\",\"me-south-1\"]},\"created_at\":\"2024-10-07T13:58:28.577522Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[],\"sources\":[]}},\"metrics_config\":{\"enabled\":false,\"automute_enabled\":true,\"collect_custom_metrics\":false,\"collect_cloudwatch_alarms\":false,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"$KEY:$VALUE\"]}],\"namespace_filters\":{\"exclude_only\":[\"AWS/AutoScaling\",\"AWS/ElasticMapReduce\",\"AWS/SQS\"]}},\"modified_at\":\"2024-10-07T13:58:28.577526Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":true,\"extended_collection\":true},\"traces_config\":{\"xray_services\":{\"include_only\":[]}}}},{\"id\":\"3a3d5b83-2ad8-41d8-b82e-a3ba972a9783\",\"type\":\"account\",\"attributes\":{\"account_tags\":[\"$KEY:$VALUE\"],\"auth_config\":{\"role_name\":\"DatadogAWSIntegrationRole\",\"external_id\":\"be10a93f33a64b0ea872da2f48348979\"},\"aws_account_id\":\"172704974400\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-2\",\"us-west-1\",\"eu-west-1\",\"eu-central-1\",\"ap-southeast-1\",\"ap-southeast-2\",\"ap-northeast-1\",\"ap-northeast-2\",\"ap-northeast-3\",\"sa-east-1\",\"ap-south-1\",\"ca-central-1\",\"eu-west-2\",\"eu-west-3\",\"eu-north-1\",\"af-south-1\",\"ap-east-1\",\"ap-south-2\",\"ap-southeast-3\",\"ap-southeast-4\",\"ap-southeast-5\",\"ca-west-1\",\"eu-central-2\",\"eu-south-1\",\"eu-south-2\",\"il-central-1\",\"me-central-1\",\"me-south-1\"]},\"created_at\":\"2024-09-23T00:02:26.306293Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[],\"sources\":[]}},\"metrics_config\":{\"enabled\":false,\"automute_enabled\":true,\"collect_custom_metrics\":false,\"collect_cloudwatch_alarms\":false,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"$KEY:$VALUE\"]}],\"namespace_filters\":{\"exclude_only\":[\"AWS/AutoScaling\",\"AWS/ElasticMapReduce\",\"AWS/SQS\"]}},\"modified_at\":\"2024-09-23T00:02:26.306297Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":true,\"extended_collection\":true},\"traces_config\":{\"xray_services\":{\"include_only\":[]}}}},{\"id\":\"89a9dae5-cbe3-4fba-b1b2-aae8775ed319\",\"type\":\"account\",\"attributes\":{\"account_tags\":[\"filter:one\",\"filtertwo\"],\"auth_config\":{\"role_name\":\"DatadogAWSIntegrationRole\",\"external_id\":\"e31ada331546486f9099cd5c01eef257\"},\"aws_account_id\":\"001725901256\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-2\",\"us-west-2\",\"eu-west-1\",\"eu-central-1\",\"ap-southeast-1\",\"ap-southeast-2\",\"ap-northeast-1\",\"ap-northeast-2\",\"ap-northeast-3\",\"sa-east-1\",\"ap-south-1\",\"ca-central-1\",\"eu-west-2\",\"eu-west-3\",\"eu-north-1\",\"af-south-1\",\"ap-east-1\",\"ap-south-2\",\"ap-southeast-3\",\"ap-southeast-4\",\"ca-west-1\",\"eu-central-2\",\"eu-south-1\",\"eu-south-2\",\"il-central-1\",\"me-central-1\",\"me-south-1\"]},\"created_at\":\"2024-09-09T17:00:58.823444Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[],\"sources\":[]}},\"metrics_config\":{\"enabled\":true,\"automute_enabled\":true,\"collect_custom_metrics\":false,\"collect_cloudwatch_alarms\":false,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"testTag\",\"test:Tag2\"]}],\"namespace_filters\":{\"exclude_only\":[\"AWS/ElasticMapReduce\",\"AWS/SQS\"]}},\"modified_at\":\"2024-10-16T14:55:17.947931Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[]}}}},{\"id\":\"7e1d660d-1142-45b1-a795-dc3900b6bd17\",\"type\":\"account\",\"attributes\":{\"account_tags\":[\"$KEY:$VALUE\"],\"auth_config\":{\"role_name\":\"DatadogAWSIntegrationRole\",\"external_id\":\"f61b52d768394db6851aed2f887ac6f6\"},\"aws_account_id\":\"172830950701\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"me-south-1\"]},\"created_at\":\"2024-10-17T15:08:40.917209Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[],\"sources\":[]}},\"metrics_config\":{\"enabled\":false,\"automute_enabled\":true,\"collect_custom_metrics\":false,\"collect_cloudwatch_alarms\":false,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"$KEY:$VALUE\"]}],\"namespace_filters\":{\"exclude_only\":[\"AWS/AutoScaling\",\"AWS/ElasticMapReduce\",\"AWS/SQS\"]}},\"modified_at\":\"2024-10-18T20:19:53.960435Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":true,\"extended_collection\":true},\"traces_config\":{\"xray_services\":{\"include_only\":[]}}}},{\"id\":\"d52e151c-c608-4e14-9f29-dfeff876bb39\",\"type\":\"account\",\"attributes\":{\"account_tags\":[\"$KEY:$VALUE\"],\"auth_config\":{\"role_name\":\"DatadogAWSIntegrationRole\",\"external_id\":\"c2909403ca9949db82c36adf6e8cdcfa\"},\"aws_account_id\":\"172772261200\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-2\",\"us-west-1\",\"eu-west-1\",\"eu-central-1\",\"ap-southeast-1\",\"ap-southeast-2\",\"ap-northeast-1\",\"ap-northeast-2\",\"ap-northeast-3\",\"sa-east-1\",\"ap-south-1\",\"ca-central-1\",\"eu-west-2\",\"eu-west-3\",\"eu-north-1\",\"af-south-1\",\"ap-east-1\",\"ap-south-2\",\"ap-southeast-3\",\"ap-southeast-4\",\"ap-southeast-5\",\"ca-west-1\",\"eu-central-2\",\"eu-south-1\",\"eu-south-2\",\"il-central-1\",\"me-central-1\",\"me-south-1\"]},\"created_at\":\"2024-09-30T18:56:55.042771Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[],\"sources\":[]}},\"metrics_config\":{\"enabled\":false,\"automute_enabled\":true,\"collect_custom_metrics\":false,\"collect_cloudwatch_alarms\":false,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"$KEY:$VALUE\"]}],\"namespace_filters\":{\"exclude_only\":[\"AWS/AutoScaling\",\"AWS/ElasticMapReduce\",\"AWS/SQS\"]}},\"modified_at\":\"2024-09-30T18:56:55.042775Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":true,\"extended_collection\":true},\"traces_config\":{\"xray_services\":{\"include_only\":[]}}}},{\"id\":\"d7d74617-832d-4c4d-a8c3-1e69d509ea52\",\"type\":\"account\",\"attributes\":{\"account_tags\":[\"$KEY:$VALUE\"],\"auth_config\":{\"role_name\":\"DatadogAWSIntegrationRole\",\"external_id\":\"2b1dd9fd35b0440ca4bf98ff70ac2e63\"},\"aws_account_id\":\"172772275700\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-2\",\"us-west-1\",\"eu-west-1\",\"eu-central-1\",\"ap-southeast-1\",\"ap-southeast-2\",\"ap-northeast-1\",\"ap-northeast-2\",\"ap-northeast-3\",\"sa-east-1\",\"ap-south-1\",\"ca-central-1\",\"eu-west-2\",\"eu-west-3\",\"eu-north-1\",\"af-south-1\",\"ap-east-1\",\"ap-south-2\",\"ap-southeast-3\",\"ap-southeast-4\",\"ap-southeast-5\",\"ca-west-1\",\"eu-central-2\",\"eu-south-1\",\"eu-south-2\",\"il-central-1\",\"me-central-1\",\"me-south-1\"]},\"created_at\":\"2024-09-30T18:59:18.175722Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[],\"sources\":[]}},\"metrics_config\":{\"enabled\":false,\"automute_enabled\":true,\"collect_custom_metrics\":false,\"collect_cloudwatch_alarms\":false,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"$KEY:$VALUE\"]}],\"namespace_filters\":{\"exclude_only\":[\"AWS/AutoScaling\",\"AWS/ElasticMapReduce\",\"AWS/SQS\"]}},\"modified_at\":\"2024-09-30T18:59:18.175727Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":true,\"extended_collection\":true},\"traces_config\":{\"xray_services\":{\"include_only\":[]}}}},{\"id\":\"7e5acac6-3ac8-4762-8100-479f03ccffc8\",\"type\":\"account\",\"attributes\":{\"account_tags\":[\"$KEY:$VALUE\"],\"auth_config\":{\"role_name\":\"DatadogAWSIntegrationRole\",\"external_id\":\"04548a334583412aa4e6f5548f4e9989\"},\"aws_account_id\":\"172532181900\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-2\",\"us-west-1\",\"eu-west-1\",\"eu-central-1\",\"ap-southeast-1\",\"ap-southeast-2\",\"ap-northeast-1\",\"ap-northeast-2\",\"ap-northeast-3\",\"sa-east-1\",\"ap-south-1\",\"ca-central-1\",\"eu-west-2\",\"eu-west-3\",\"eu-north-1\",\"af-south-1\",\"ap-east-1\",\"ap-south-2\",\"ap-southeast-3\",\"ap-southeast-4\",\"ca-west-1\",\"eu-central-2\",\"eu-south-1\",\"eu-south-2\",\"il-central-1\",\"me-central-1\",\"me-south-1\"]},\"created_at\":\"2024-09-03T00:03:40.248176Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[],\"sources\":[]}},\"metrics_config\":{\"enabled\":false,\"automute_enabled\":true,\"collect_custom_metrics\":false,\"collect_cloudwatch_alarms\":false,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"$KEY:$VALUE\"]}],\"namespace_filters\":{\"exclude_only\":[\"AWS/AutoScaling\",\"AWS/ElasticMapReduce\",\"AWS/SQS\"]}},\"modified_at\":\"2024-09-03T00:03:40.24818Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":true,\"extended_collection\":true},\"traces_config\":{\"xray_services\":{\"include_only\":[]}}}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 532, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:18:31.977Z", + "time": 208 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/AWS-Integration_2071210100/List-available-namespaces-returns-AWS-Namespaces-List-object-response_4070402298/frozen.json b/cassettes/v2/AWS-Integration_2071210100/List-available-namespaces-returns-AWS-Namespaces-List-object-response_4070402298/frozen.json new file mode 100644 index 00000000000..28a3d54c9d4 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/List-available-namespaces-returns-AWS-Namespaces-List-object-response_4070402298/frozen.json @@ -0,0 +1 @@ +"2024-11-06T16:18:32.200Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/List-available-namespaces-returns-AWS-Namespaces-List-object-response_4070402298/recording.har b/cassettes/v2/AWS-Integration_2071210100/List-available-namespaces-returns-AWS-Namespaces-List-object-response_4070402298/recording.har new file mode 100644 index 00000000000..89796d79b06 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/List-available-namespaces-returns-AWS-Namespaces-List-object-response_4070402298/recording.har @@ -0,0 +1,57 @@ +{ + "log": { + "_recordingName": "AWS Integration/List available namespaces returns \"AWS Namespaces List object\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "d0ec7736ef6cd07133904a5c3a301d0e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 534, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/available_namespaces" + }, + "response": { + "bodySize": 1896, + "content": { + "mimeType": "application/vnd.api+json", + "size": 1896, + "text": "{\"data\":{\"id\":\"namespaces\",\"type\":\"namespaces\",\"attributes\":{\"namespaces\":[\"AWS/ApiGateway\",\"AWS/AppRunner\",\"AWS/AppStream\",\"AWS/AppSync\",\"AWS/ApplicationELB\",\"AWS/Athena\",\"AWS/AutoScaling\",\"AWS/Backup\",\"AWS/Bedrock\",\"AWS/Billing\",\"AWS/Budgeting\",\"AWS/CertificateManager\",\"AWS/ELB\",\"AWS/CloudFront\",\"AWS/CloudHSM\",\"AWS/CloudSearch\",\"AWS/Logs\",\"AWS/CodeBuild\",\"AWS/CodeWhisperer\",\"AWS/Cognito\",\"AWS/Config\",\"AWS/Connect\",\"AWS/DMS\",\"AWS/DX\",\"AWS/DocDB\",\"AWS/DynamoDB\",\"AWS/DAX\",\"AWS/EC2\",\"AWS/EC2/API\",\"AWS/EC2/InfrastructurePerformance\",\"AWS/EC2Spot\",\"AWS/ElasticMapReduce\",\"AWS/ElastiCache\",\"AWS/ElasticBeanstalk\",\"AWS/EBS\",\"AWS/ECR\",\"AWS/ECS\",\"AWS/EFS\",\"AWS/ElasticInference\",\"AWS/ElasticTranscoder\",\"AWS/MediaConnect\",\"AWS/MediaConvert\",\"AWS/MediaLive\",\"AWS/MediaPackage\",\"AWS/MediaStore\",\"AWS/MediaTailor\",\"AWS/Events\",\"AWS/FSx\",\"AWS/GameLift\",\"AWS/GlobalAccelerator\",\"Glue\",\"AWS/Inspector\",\"AWS/IoT\",\"AWS/KMS\",\"AWS/Cassandra\",\"AWS/Kinesis\",\"AWS/KinesisAnalytics\",\"AWS/Firehose\",\"AWS/Lambda\",\"AWS/Lex\",\"AWS/AmazonMQ\",\"AWS/ML\",\"AWS/Kafka\",\"AmazonMWAA\",\"AWS/MemoryDB\",\"AWS/NATGateway\",\"AWS/Neptune\",\"AWS/NetworkFirewall\",\"AWS/NetworkELB\",\"AWS/Network Manager\",\"AWS/NetworkMonitor\",\"AWS/ES\",\"AWS/AOSS\",\"AWS/OpsWorks\",\"AWS/Polly\",\"AWS/PrivateLinkEndpoints\",\"AWS/PrivateLinkServices\",\"AWS/RDS\",\"AWS/RDS/Proxy\",\"AWS/Redshift\",\"AWS/Rekognition\",\"AWS/Route53\",\"AWS/Route53Resolver\",\"AWS/S3\",\"AWS/S3/Storage-Lens\",\"AWS/SageMaker\",\"/aws/sagemaker/Endpoints\",\"AWS/Sagemaker/LabelingJobs\",\"AWS/Sagemaker/ModelBuildingPipeline\",\"/aws/sagemaker/ProcessingJobs\",\"/aws/sagemaker/TrainingJobs\",\"/aws/sagemaker/TransformJobs\",\"AWS/SageMaker/Workteam\",\"AWS/ServiceQuotas\",\"AWS/DDoSProtection\",\"AWS/SES\",\"AWS/SNS\",\"AWS/SQS\",\"AWS/SWF\",\"AWS/States\",\"AWS/StorageGateway\",\"AWS/Textract\",\"AWS/TransitGateway\",\"AWS/Translate\",\"AWS/TrustedAdvisor\",\"AWS/Usage\",\"AWS/VPN\",\"WAF\",\"AWS/WAFV2\",\"AWS/WorkSpaces\",\"AWS/X-Ray\"]}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 526, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:18:32.212Z", + "time": 126 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/AWS-Integration_2071210100/List-log-services-returns-AWS-Logs-Services-List-object-response_1309181282/frozen.json b/cassettes/v2/AWS-Integration_2071210100/List-log-services-returns-AWS-Logs-Services-List-object-response_1309181282/frozen.json new file mode 100644 index 00000000000..447fb1cb47c --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/List-log-services-returns-AWS-Logs-Services-List-object-response_1309181282/frozen.json @@ -0,0 +1 @@ +"2024-11-04T20:55:55.328Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/List-log-services-returns-AWS-Logs-Services-List-object-response_1309181282/recording.har b/cassettes/v2/AWS-Integration_2071210100/List-log-services-returns-AWS-Logs-Services-List-object-response_1309181282/recording.har new file mode 100644 index 00000000000..41b426a7d77 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/List-log-services-returns-AWS-Logs-Services-List-object-response_1309181282/recording.har @@ -0,0 +1,57 @@ +{ + "log": { + "_recordingName": "AWS Integration/List log services returns \"AWS Logs Services List object\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "03c3c0d9a62f5ac6398be22a05d14d79", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 529, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/logs/services" + }, + "response": { + "bodySize": 197, + "content": { + "mimeType": "application/vnd.api+json", + "size": 197, + "text": "{\"data\":{\"id\":\"logs_services\",\"type\":\"logs_services\",\"attributes\":{\"logs_services\":[\"apigw-access-logs\",\"apigw-execution-logs\",\"cloudfront\",\"elb\",\"elbv2\",\"lambda\",\"redshift\",\"s3\",\"states\",\"waf\"]}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-04T20:55:55.330Z", + "time": 305 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/AWS-Integration_2071210100/List-namespaces-returns-AWS-Namespaces-List-object-response_1498240079/frozen.json b/cassettes/v2/AWS-Integration_2071210100/List-namespaces-returns-AWS-Namespaces-List-object-response_1498240079/frozen.json new file mode 100644 index 00000000000..f5dd2fba5b3 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/List-namespaces-returns-AWS-Namespaces-List-object-response_1498240079/frozen.json @@ -0,0 +1 @@ +"2024-11-06T16:18:32.355Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/List-namespaces-returns-AWS-Namespaces-List-object-response_1498240079/recording.har b/cassettes/v2/AWS-Integration_2071210100/List-namespaces-returns-AWS-Namespaces-List-object-response_1498240079/recording.har new file mode 100644 index 00000000000..5cbe70aa3c5 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/List-namespaces-returns-AWS-Namespaces-List-object-response_1498240079/recording.har @@ -0,0 +1,57 @@ +{ + "log": { + "_recordingName": "AWS Integration/List namespaces returns \"AWS Namespaces List object\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "d0ec7736ef6cd07133904a5c3a301d0e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 534, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/available_namespaces" + }, + "response": { + "bodySize": 1896, + "content": { + "mimeType": "application/vnd.api+json", + "size": 1896, + "text": "{\"data\":{\"id\":\"namespaces\",\"type\":\"namespaces\",\"attributes\":{\"namespaces\":[\"AWS/ApiGateway\",\"AWS/AppRunner\",\"AWS/AppStream\",\"AWS/AppSync\",\"AWS/ApplicationELB\",\"AWS/Athena\",\"AWS/AutoScaling\",\"AWS/Backup\",\"AWS/Bedrock\",\"AWS/Billing\",\"AWS/Budgeting\",\"AWS/CertificateManager\",\"AWS/ELB\",\"AWS/CloudFront\",\"AWS/CloudHSM\",\"AWS/CloudSearch\",\"AWS/Logs\",\"AWS/CodeBuild\",\"AWS/CodeWhisperer\",\"AWS/Cognito\",\"AWS/Config\",\"AWS/Connect\",\"AWS/DMS\",\"AWS/DX\",\"AWS/DocDB\",\"AWS/DynamoDB\",\"AWS/DAX\",\"AWS/EC2\",\"AWS/EC2/API\",\"AWS/EC2/InfrastructurePerformance\",\"AWS/EC2Spot\",\"AWS/ElasticMapReduce\",\"AWS/ElastiCache\",\"AWS/ElasticBeanstalk\",\"AWS/EBS\",\"AWS/ECR\",\"AWS/ECS\",\"AWS/EFS\",\"AWS/ElasticInference\",\"AWS/ElasticTranscoder\",\"AWS/MediaConnect\",\"AWS/MediaConvert\",\"AWS/MediaLive\",\"AWS/MediaPackage\",\"AWS/MediaStore\",\"AWS/MediaTailor\",\"AWS/Events\",\"AWS/FSx\",\"AWS/GameLift\",\"AWS/GlobalAccelerator\",\"Glue\",\"AWS/Inspector\",\"AWS/IoT\",\"AWS/KMS\",\"AWS/Cassandra\",\"AWS/Kinesis\",\"AWS/KinesisAnalytics\",\"AWS/Firehose\",\"AWS/Lambda\",\"AWS/Lex\",\"AWS/AmazonMQ\",\"AWS/ML\",\"AWS/Kafka\",\"AmazonMWAA\",\"AWS/MemoryDB\",\"AWS/NATGateway\",\"AWS/Neptune\",\"AWS/NetworkFirewall\",\"AWS/NetworkELB\",\"AWS/Network Manager\",\"AWS/NetworkMonitor\",\"AWS/ES\",\"AWS/AOSS\",\"AWS/OpsWorks\",\"AWS/Polly\",\"AWS/PrivateLinkEndpoints\",\"AWS/PrivateLinkServices\",\"AWS/RDS\",\"AWS/RDS/Proxy\",\"AWS/Redshift\",\"AWS/Rekognition\",\"AWS/Route53\",\"AWS/Route53Resolver\",\"AWS/S3\",\"AWS/S3/Storage-Lens\",\"AWS/SageMaker\",\"/aws/sagemaker/Endpoints\",\"AWS/Sagemaker/LabelingJobs\",\"AWS/Sagemaker/ModelBuildingPipeline\",\"/aws/sagemaker/ProcessingJobs\",\"/aws/sagemaker/TrainingJobs\",\"/aws/sagemaker/TransformJobs\",\"AWS/SageMaker/Workteam\",\"AWS/ServiceQuotas\",\"AWS/DDoSProtection\",\"AWS/SES\",\"AWS/SNS\",\"AWS/SQS\",\"AWS/SWF\",\"AWS/States\",\"AWS/StorageGateway\",\"AWS/Textract\",\"AWS/TransitGateway\",\"AWS/Translate\",\"AWS/TrustedAdvisor\",\"AWS/Usage\",\"AWS/VPN\",\"WAF\",\"AWS/WAFV2\",\"AWS/WorkSpaces\",\"AWS/X-Ray\"]}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 526, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:18:32.362Z", + "time": 118 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-AWS-Account-object-response_513840777/frozen.json b/cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-AWS-Account-object-response_513840777/frozen.json new file mode 100644 index 00000000000..387740ab874 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-AWS-Account-object-response_513840777/frozen.json @@ -0,0 +1 @@ +"2024-11-06T16:18:32.486Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-AWS-Account-object-response_513840777/recording.har b/cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-AWS-Account-object-response_513840777/recording.har new file mode 100644 index 00000000000..e0b864b40ba --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-AWS-Account-object-response_513840777/recording.har @@ -0,0 +1,157 @@ +{ + "log": { + "_recordingName": "AWS Integration/Update an AWS integration returns \"AWS Account object\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "194b15fbfcae9b9ae1a70daa19dc9ee9", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 810, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 575, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"role_name\":\"DatadogIntegrationRole\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-1\"]},\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[\"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder\"],\"sources\":[\"s3\"]}},\"metrics_config\":{\"automute_enabled\":true,\"collect_cloudwatch_alarms\":false,\"collect_custom_metrics\":false,\"enabled\":true,\"namespace_filters\":{\"include_only\":[\"AWS/EC2\"]},\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"key:value\"]}]},\"resources_config\":{\"cloud_security_posture_management_collection\":false,\"extended_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[\"AWS/AppSync\"]}}},\"id\":\"00000000-abcd-0001-0000-000000000000\",\"type\":\"account\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts" + }, + "response": { + "bodySize": 952, + "content": { + "mimeType": "application/vnd.api+json", + "size": 952, + "text": "{\"data\":{\"id\":\"b713f8b2-374f-44b9-9336-e8e2255ca920\",\"type\":\"account\",\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"role_name\":\"DatadogIntegrationRole\",\"external_id\":\"bd6cf6fbbb0b40c588d4c32adb77f6f7\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-1\"]},\"created_at\":\"2024-11-06T16:18:33.152543622Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[\"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder\"],\"sources\":[\"s3\"]}},\"metrics_config\":{\"enabled\":true,\"automute_enabled\":true,\"collect_custom_metrics\":false,\"collect_cloudwatch_alarms\":false,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"key:value\"]}],\"namespace_filters\":{\"include_only\":[\"AWS/EC2\"]}},\"modified_at\":\"2024-11-06T16:18:33.152550744Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":false,\"extended_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[\"AWS/AppSync\"]}}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:18:32.490Z", + "time": 667 + }, + { + "_id": "3050c102a0558a5f9056ab8153384501", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 622, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 613, + "httpVersion": "HTTP/1.1", + "method": "PATCH", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"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\"],\"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\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/b713f8b2-374f-44b9-9336-e8e2255ca920" + }, + "response": { + "bodySize": 947, + "content": { + "mimeType": "application/vnd.api+json", + "size": 947, + "text": "{\"data\":{\"id\":\"b713f8b2-374f-44b9-9336-e8e2255ca920\",\"type\":\"account\",\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"role_name\":\"DatadogIntegrationRole\",\"external_id\":\"bd6cf6fbbb0b40c588d4c32adb77f6f7\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-1\"]},\"created_at\":\"2024-11-06T16:18:33.152544Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[\"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder\"],\"sources\":[\"s3\"]}},\"metrics_config\":{\"enabled\":true,\"automute_enabled\":true,\"collect_custom_metrics\":true,\"collect_cloudwatch_alarms\":true,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"key:value\"]}],\"namespace_filters\":{\"include_only\":[\"AWS/EC2\"]}},\"modified_at\":\"2024-11-06T16:18:33.350099719Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":false,\"extended_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[\"AWS/AppSync\"]}}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:18:33.168Z", + "time": 183 + }, + { + "_id": "9126fec32b10c6c9e7b66918438b4227", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 548, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/b713f8b2-374f-44b9-9336-e8e2255ca920" + }, + "response": { + "bodySize": 0, + "content": { + "mimeType": "text/plain", + "size": 0 + }, + "cookies": [], + "headers": [], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 204, + "statusText": "No Content" + }, + "startedDateTime": "2024-11-06T16:18:33.364Z", + "time": 266 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-Bad-Request-response_3854082752/frozen.json b/cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-Bad-Request-response_3854082752/frozen.json new file mode 100644 index 00000000000..988103c9bde --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-Bad-Request-response_3854082752/frozen.json @@ -0,0 +1 @@ +"2024-11-06T16:18:33.640Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-Bad-Request-response_3854082752/recording.har b/cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-Bad-Request-response_3854082752/recording.har new file mode 100644 index 00000000000..cdf15d7b1a8 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-Bad-Request-response_3854082752/recording.har @@ -0,0 +1,157 @@ +{ + "log": { + "_recordingName": "AWS Integration/Update an AWS integration returns \"Bad Request\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "194b15fbfcae9b9ae1a70daa19dc9ee9", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 810, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 575, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"role_name\":\"DatadogIntegrationRole\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-1\"]},\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[\"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder\"],\"sources\":[\"s3\"]}},\"metrics_config\":{\"automute_enabled\":true,\"collect_cloudwatch_alarms\":false,\"collect_custom_metrics\":false,\"enabled\":true,\"namespace_filters\":{\"include_only\":[\"AWS/EC2\"]},\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"key:value\"]}]},\"resources_config\":{\"cloud_security_posture_management_collection\":false,\"extended_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[\"AWS/AppSync\"]}}},\"id\":\"00000000-abcd-0001-0000-000000000000\",\"type\":\"account\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts" + }, + "response": { + "bodySize": 952, + "content": { + "mimeType": "application/vnd.api+json", + "size": 952, + "text": "{\"data\":{\"id\":\"84ee1c5a-89d8-4bbf-8384-5e40056d26ba\",\"type\":\"account\",\"attributes\":{\"account_tags\":[\"key:value\"],\"auth_config\":{\"role_name\":\"DatadogIntegrationRole\",\"external_id\":\"9c3b2632506447c5a062c240fa5403ba\"},\"aws_account_id\":\"123456789012\",\"aws_partition\":\"aws\",\"aws_regions\":{\"include_only\":[\"us-east-1\"]},\"created_at\":\"2024-11-06T16:18:34.469358477Z\",\"logs_config\":{\"lambda_forwarder\":{\"lambdas\":[\"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder\"],\"sources\":[\"s3\"]}},\"metrics_config\":{\"enabled\":true,\"automute_enabled\":true,\"collect_custom_metrics\":false,\"collect_cloudwatch_alarms\":false,\"tag_filters\":[{\"namespace\":\"AWS/EC2\",\"tags\":[\"key:value\"]}],\"namespace_filters\":{\"include_only\":[\"AWS/EC2\"]}},\"modified_at\":\"2024-11-06T16:18:34.469362646Z\",\"resources_config\":{\"cloud_security_posture_management_collection\":false,\"extended_collection\":false},\"traces_config\":{\"xray_services\":{\"include_only\":[\"AWS/AppSync\"]}}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T16:18:33.648Z", + "time": 834 + }, + { + "_id": "87a4dfaf847737f40a715b482dd30e26", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 687, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 613, + "httpVersion": "HTTP/1.1", + "method": "PATCH", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"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\"],\"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\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/84ee1c5a-89d8-4bbf-8384-5e40056d26ba" + }, + "response": { + "bodySize": 95, + "content": { + "mimeType": "application/vnd.api+json", + "size": 95, + "text": "{\"errors\":[{\"title\":\"Generic Error\",\"detail\":\"cannot switch between role and key based auth\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 524, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 400, + "statusText": "Bad Request" + }, + "startedDateTime": "2024-11-06T16:18:34.493Z", + "time": 175 + }, + { + "_id": "1913b7be5fee62bb748e49cd0c368668", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "*/*" + } + ], + "headersSize": 548, + "httpVersion": "HTTP/1.1", + "method": "DELETE", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/84ee1c5a-89d8-4bbf-8384-5e40056d26ba" + }, + "response": { + "bodySize": 0, + "content": { + "mimeType": "text/plain", + "size": 0 + }, + "cookies": [], + "headers": [], + "headersSize": 464, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 204, + "statusText": "No Content" + }, + "startedDateTime": "2024-11-06T16:18:34.682Z", + "time": 264 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-Not-Found-response_3231175735/frozen.json b/cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-Not-Found-response_3231175735/frozen.json new file mode 100644 index 00000000000..dd7bb2acaf1 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-Not-Found-response_3231175735/frozen.json @@ -0,0 +1 @@ +"2024-11-06T16:18:34.953Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-Not-Found-response_3231175735/recording.har b/cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-Not-Found-response_3231175735/recording.har new file mode 100644 index 00000000000..64352b5eafa --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/Update-an-AWS-integration-returns-Not-Found-response_3231175735/recording.har @@ -0,0 +1,67 @@ +{ + "log": { + "_recordingName": "AWS Integration/Update an AWS integration returns \"Not Found\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "6796bfb254966f6ad7024bc629b25991", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 622, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 613, + "httpVersion": "HTTP/1.1", + "method": "PATCH", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"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\"],\"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\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/accounts/448169a8-251c-4344-abee-1c4edef39f7a" + }, + "response": { + "bodySize": 115, + "content": { + "mimeType": "application/vnd.api+json", + "size": 115, + "text": "{\"errors\":[{\"status\":\"404\",\"title\":\"Account not found\",\"detail\":\"AWS account with provided id is not integrated\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 404, + "statusText": "Not Found" + }, + "startedDateTime": "2024-11-06T16:18:34.960Z", + "time": 159 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/AWS-Logs-Integration_4229128547/Get-list-of-AWS-log-ready-services-returns-AWS-Logs-Services-List-object-response_1572604775/frozen.json b/cassettes/v2/AWS-Logs-Integration_4229128547/Get-list-of-AWS-log-ready-services-returns-AWS-Logs-Services-List-object-response_1572604775/frozen.json new file mode 100644 index 00000000000..810489d4092 --- /dev/null +++ b/cassettes/v2/AWS-Logs-Integration_4229128547/Get-list-of-AWS-log-ready-services-returns-AWS-Logs-Services-List-object-response_1572604775/frozen.json @@ -0,0 +1 @@ +"2024-11-06T15:58:53.184Z" diff --git a/cassettes/v2/AWS-Logs-Integration_4229128547/Get-list-of-AWS-log-ready-services-returns-AWS-Logs-Services-List-object-response_1572604775/recording.har b/cassettes/v2/AWS-Logs-Integration_4229128547/Get-list-of-AWS-log-ready-services-returns-AWS-Logs-Services-List-object-response_1572604775/recording.har new file mode 100644 index 00000000000..b8ee79090ff --- /dev/null +++ b/cassettes/v2/AWS-Logs-Integration_4229128547/Get-list-of-AWS-log-ready-services-returns-AWS-Logs-Services-List-object-response_1572604775/recording.har @@ -0,0 +1,57 @@ +{ + "log": { + "_recordingName": "AWS Logs Integration/Get list of AWS log ready services returns \"AWS Logs Services List object\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "03c3c0d9a62f5ac6398be22a05d14d79", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 528, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/logs/services" + }, + "response": { + "bodySize": 197, + "content": { + "mimeType": "application/vnd.api+json", + "size": 197, + "text": "{\"data\":{\"id\":\"logs_services\",\"type\":\"logs_services\",\"attributes\":{\"logs_services\":[\"apigw-access-logs\",\"apigw-execution-logs\",\"cloudfront\",\"elb\",\"elbv2\",\"lambda\",\"redshift\",\"s3\",\"states\",\"waf\"]}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2024-11-06T15:58:53.383Z", + "time": 326 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/examples/v2/aws-integration/CreateAWSAccount.ts b/examples/v2/aws-integration/CreateAWSAccount.ts new file mode 100644 index 00000000000..9c42b490680 --- /dev/null +++ b/examples/v2/aws-integration/CreateAWSAccount.ts @@ -0,0 +1,60 @@ +/** + * Create an AWS integration returns "AWS Account object" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +configuration.unstableOperations["v2.createAWSAccount"] = true; +const apiInstance = new v2.AWSIntegrationApi(configuration); + +const params: v2.AWSIntegrationApiCreateAWSAccountRequest = { + body: { + data: { + attributes: { + accountTags: ["key:value"], + authConfig: { + accessKeyId: "AKIAIOSFODNN7EXAMPLE", + secretAccessKey: "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY", + }, + awsAccountId: "123456789012", + awsPartition: "aws", + logsConfig: { + lambdaForwarder: { + lambdas: [ + "arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder", + ], + sources: ["s3"], + }, + }, + metricsConfig: { + automuteEnabled: true, + collectCloudwatchAlarms: true, + collectCustomMetrics: true, + enabled: true, + tagFilters: [ + { + namespace: "AWS/EC2", + tags: ["key:value"], + }, + ], + }, + resourcesConfig: { + cloudSecurityPostureManagementCollection: false, + extendedCollection: false, + }, + tracesConfig: {}, + }, + type: "account", + }, + }, +}; + +apiInstance + .createAWSAccount(params) + .then((data: v2.AWSAccountResponse) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/aws-integration/CreateAWSAccount_1716720881.ts b/examples/v2/aws-integration/CreateAWSAccount_1716720881.ts new file mode 100644 index 00000000000..86992d33bda --- /dev/null +++ b/examples/v2/aws-integration/CreateAWSAccount_1716720881.ts @@ -0,0 +1,59 @@ +/** + * Create an AWS account returns "AWS Account object" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +configuration.unstableOperations["v2.createAWSAccount"] = true; +const apiInstance = new v2.AWSIntegrationApi(configuration); + +const params: v2.AWSIntegrationApiCreateAWSAccountRequest = { + body: { + data: { + attributes: { + accountTags: ["key:value"], + authConfig: { + roleName: "DatadogIntegrationRole", + }, + awsAccountId: "123456789012", + awsPartition: "aws", + logsConfig: { + lambdaForwarder: { + lambdas: [ + "arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder", + ], + sources: ["s3"], + }, + }, + metricsConfig: { + automuteEnabled: true, + collectCloudwatchAlarms: true, + collectCustomMetrics: true, + enabled: true, + tagFilters: [ + { + namespace: "AWS/EC2", + tags: ["key:value"], + }, + ], + }, + resourcesConfig: { + cloudSecurityPostureManagementCollection: false, + extendedCollection: false, + }, + tracesConfig: {}, + }, + type: "account", + }, + }, +}; + +apiInstance + .createAWSAccount(params) + .then((data: v2.AWSAccountResponse) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/aws-integration/CreateNewAWSExternalID.ts b/examples/v2/aws-integration/CreateNewAWSExternalID.ts new file mode 100644 index 00000000000..ab45625f1ba --- /dev/null +++ b/examples/v2/aws-integration/CreateNewAWSExternalID.ts @@ -0,0 +1,18 @@ +/** + * Generate a new external ID returns "AWS External ID object" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +configuration.unstableOperations["v2.createNewAWSExternalID"] = true; +const apiInstance = new v2.AWSIntegrationApi(configuration); + +apiInstance + .createNewAWSExternalID() + .then((data: v2.AWSNewExternalIDResponse) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/aws-integration/CreateNewAWSExternalID_364713854.ts b/examples/v2/aws-integration/CreateNewAWSExternalID_364713854.ts new file mode 100644 index 00000000000..25af4e41ec8 --- /dev/null +++ b/examples/v2/aws-integration/CreateNewAWSExternalID_364713854.ts @@ -0,0 +1,18 @@ +/** + * Generate new external ID returns "AWS External ID object" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +configuration.unstableOperations["v2.createNewAWSExternalID"] = true; +const apiInstance = new v2.AWSIntegrationApi(configuration); + +apiInstance + .createNewAWSExternalID() + .then((data: v2.AWSNewExternalIDResponse) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/aws-integration/DeleteAWSAccount.ts b/examples/v2/aws-integration/DeleteAWSAccount.ts new file mode 100644 index 00000000000..54a64b1948d --- /dev/null +++ b/examples/v2/aws-integration/DeleteAWSAccount.ts @@ -0,0 +1,25 @@ +/** + * Delete an AWS integration returns "No Content" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +configuration.unstableOperations["v2.deleteAWSAccount"] = true; +const apiInstance = new v2.AWSIntegrationApi(configuration); + +// there is a valid "aws_account_v2" in the system +const AWS_ACCOUNT_V2_DATA_ID = process.env.AWS_ACCOUNT_V2_DATA_ID as string; + +const params: v2.AWSIntegrationApiDeleteAWSAccountRequest = { + awsAccountConfigId: AWS_ACCOUNT_V2_DATA_ID, +}; + +apiInstance + .deleteAWSAccount(params) + .then((data: any) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/aws-integration/GetAWSAccount.ts b/examples/v2/aws-integration/GetAWSAccount.ts new file mode 100644 index 00000000000..a1dfef1741f --- /dev/null +++ b/examples/v2/aws-integration/GetAWSAccount.ts @@ -0,0 +1,25 @@ +/** + * Get an AWS integration by config ID returns "AWS Account object" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +configuration.unstableOperations["v2.getAWSAccount"] = true; +const apiInstance = new v2.AWSIntegrationApi(configuration); + +// there is a valid "aws_account_v2" in the system +const AWS_ACCOUNT_V2_DATA_ID = process.env.AWS_ACCOUNT_V2_DATA_ID as string; + +const params: v2.AWSIntegrationApiGetAWSAccountRequest = { + awsAccountConfigId: AWS_ACCOUNT_V2_DATA_ID, +}; + +apiInstance + .getAWSAccount(params) + .then((data: v2.AWSAccountResponse) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/aws-integration/ListAWSAccounts.ts b/examples/v2/aws-integration/ListAWSAccounts.ts new file mode 100644 index 00000000000..4fb28e210cd --- /dev/null +++ b/examples/v2/aws-integration/ListAWSAccounts.ts @@ -0,0 +1,18 @@ +/** + * List all AWS integrations returns "AWS Accounts List object" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +configuration.unstableOperations["v2.listAWSAccounts"] = true; +const apiInstance = new v2.AWSIntegrationApi(configuration); + +apiInstance + .listAWSAccounts() + .then((data: v2.AWSAccountsResponse) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/aws-integration/ListAWSNamespaces.ts b/examples/v2/aws-integration/ListAWSNamespaces.ts new file mode 100644 index 00000000000..2b6b6fa6938 --- /dev/null +++ b/examples/v2/aws-integration/ListAWSNamespaces.ts @@ -0,0 +1,18 @@ +/** + * List available namespaces returns "AWS Namespaces List object" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +configuration.unstableOperations["v2.listAWSNamespaces"] = true; +const apiInstance = new v2.AWSIntegrationApi(configuration); + +apiInstance + .listAWSNamespaces() + .then((data: v2.AWSNamespacesResponse) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/aws-integration/ListAWSNamespaces_3031307873.ts b/examples/v2/aws-integration/ListAWSNamespaces_3031307873.ts new file mode 100644 index 00000000000..69fc0958a43 --- /dev/null +++ b/examples/v2/aws-integration/ListAWSNamespaces_3031307873.ts @@ -0,0 +1,18 @@ +/** + * List namespaces returns "AWS Namespaces List object" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +configuration.unstableOperations["v2.listAWSNamespaces"] = true; +const apiInstance = new v2.AWSIntegrationApi(configuration); + +apiInstance + .listAWSNamespaces() + .then((data: v2.AWSNamespacesResponse) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/aws-integration/UpdateAWSAccount.ts b/examples/v2/aws-integration/UpdateAWSAccount.ts new file mode 100644 index 00000000000..3993de71009 --- /dev/null +++ b/examples/v2/aws-integration/UpdateAWSAccount.ts @@ -0,0 +1,63 @@ +/** + * Update an AWS integration returns "AWS Account object" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +configuration.unstableOperations["v2.updateAWSAccount"] = true; +const apiInstance = new v2.AWSIntegrationApi(configuration); + +// there is a valid "aws_account_v2" in the system +const AWS_ACCOUNT_V2_DATA_ID = process.env.AWS_ACCOUNT_V2_DATA_ID as string; + +const params: v2.AWSIntegrationApiUpdateAWSAccountRequest = { + body: { + data: { + attributes: { + accountTags: ["key:value"], + authConfig: { + roleName: "DatadogIntegrationRole", + }, + awsAccountId: "123456789012", + awsPartition: "aws", + logsConfig: { + lambdaForwarder: { + lambdas: [ + "arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder", + ], + sources: ["s3"], + }, + }, + metricsConfig: { + automuteEnabled: true, + collectCloudwatchAlarms: true, + collectCustomMetrics: true, + enabled: true, + tagFilters: [ + { + namespace: "AWS/EC2", + tags: ["key:value"], + }, + ], + }, + resourcesConfig: { + cloudSecurityPostureManagementCollection: false, + extendedCollection: false, + }, + tracesConfig: {}, + }, + type: "account", + }, + }, + awsAccountConfigId: AWS_ACCOUNT_V2_DATA_ID, +}; + +apiInstance + .updateAWSAccount(params) + .then((data: v2.AWSAccountResponse) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/aws-logs-integration/ListAWSLogsServices.ts b/examples/v2/aws-logs-integration/ListAWSLogsServices.ts new file mode 100644 index 00000000000..5b9f863d723 --- /dev/null +++ b/examples/v2/aws-logs-integration/ListAWSLogsServices.ts @@ -0,0 +1,18 @@ +/** + * Get list of AWS log ready services returns "AWS Logs Services List object" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +configuration.unstableOperations["v2.listAWSLogsServices"] = true; +const apiInstance = new v2.AWSLogsIntegrationApi(configuration); + +apiInstance + .listAWSLogsServices() + .then((data: v2.AWSLogsServicesResponse) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/features/support/scenarios_model_mapping.ts b/features/support/scenarios_model_mapping.ts index cfbfd4c9702..ee1f87c1c92 100644 --- a/features/support/scenarios_model_mapping.ts +++ b/features/support/scenarios_model_mapping.ts @@ -3741,6 +3741,54 @@ export const ScenariosModelMappings: {[key: string]: {[key: string]: any}} = { }, "operationResponseType": "IncidentTodoResponse", }, + "v2.ListAWSAccounts": { + "awsAccountId": { + "type": "string", + "format": "", + }, + "operationResponseType": "AWSAccountsResponse", + }, + "v2.CreateAWSAccount": { + "body": { + "type": "AWSAccountCreateRequest", + "format": "", + }, + "operationResponseType": "AWSAccountResponse", + }, + "v2.DeleteAWSAccount": { + "awsAccountConfigId": { + "type": "string", + "format": "", + }, + "operationResponseType": "void", + }, + "v2.GetAWSAccount": { + "awsAccountConfigId": { + "type": "string", + "format": "", + }, + "operationResponseType": "AWSAccountResponse", + }, + "v2.UpdateAWSAccount": { + "awsAccountConfigId": { + "type": "string", + "format": "", + }, + "body": { + "type": "AWSAccountUpdateRequest", + "format": "", + }, + "operationResponseType": "AWSAccountResponse", + }, + "v2.ListAWSNamespaces": { + "operationResponseType": "AWSNamespacesResponse", + }, + "v2.CreateNewAWSExternalID": { + "operationResponseType": "AWSNewExternalIDResponse", + }, + "v2.ListAWSLogsServices": { + "operationResponseType": "AWSLogsServicesResponse", + }, "v2.ListGCPSTSAccounts": { "operationResponseType": "GCPSTSServiceAccountsResponse", }, diff --git a/features/v1/aws_integration.feature b/features/v1/aws_integration.feature index 017326abd32..08c57bbc61e 100644 --- a/features/v1/aws_integration.feature +++ b/features/v1/aws_integration.feature @@ -9,70 +9,70 @@ Feature: AWS Integration And a valid "appKeyAuth" key in the system And an instance of "AWSIntegration" API - @generated @skip @team:DataDog/cloud-integrations + @generated @skip @team:DataDog/aws-integrations Scenario: Create an AWS integration returns "Bad Request" response Given new "CreateAWSAccount" request And body with value {"account_id": "123456789012", "account_specific_namespace_rules": {"auto_scaling": false, "opswork": false}, "cspm_resource_collection_enabled": true, "excluded_regions": ["us-east-1", "us-west-2"], "extended_resource_collection_enabled": true, "filter_tags": ["$KEY:$VALUE"], "host_tags": ["$KEY:$VALUE"], "metrics_collection_enabled": false, "resource_collection_enabled": true, "role_name": "DatadogAWSIntegrationRole"} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/cloud-integrations + @generated @skip @team:DataDog/aws-integrations Scenario: Create an AWS integration returns "Conflict Error" response Given new "CreateAWSAccount" request And body with value {"account_id": "123456789012", "account_specific_namespace_rules": {"auto_scaling": false, "opswork": false}, "cspm_resource_collection_enabled": true, "excluded_regions": ["us-east-1", "us-west-2"], "extended_resource_collection_enabled": true, "filter_tags": ["$KEY:$VALUE"], "host_tags": ["$KEY:$VALUE"], "metrics_collection_enabled": false, "resource_collection_enabled": true, "role_name": "DatadogAWSIntegrationRole"} When the request is sent Then the response status is 409 Conflict Error - @team:DataDog/cloud-integrations + @team:DataDog/aws-integrations Scenario: Create an AWS integration returns "OK" response Given new "CreateAWSAccount" request And body with value {"account_id": "{{ timestamp("now") }}00", "account_specific_namespace_rules": {"auto_scaling": false}, "cspm_resource_collection_enabled": true, "excluded_regions": ["us-east-1", "us-west-2"], "extended_resource_collection_enabled": true, "filter_tags": ["$KEY:$VALUE"], "host_tags": ["$KEY:$VALUE"], "metrics_collection_enabled": false, "role_name": "DatadogAWSIntegrationRole"} When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/cloud-integrations + @generated @skip @team:DataDog/aws-integrations Scenario: Create an Amazon EventBridge source returns "Bad Request" response Given new "CreateAWSEventBridgeSource" request And body with value {"account_id": "123456789012", "create_event_bus": true, "event_generator_name": "app-alerts", "region": "us-east-1"} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/cloud-integrations + @generated @skip @team:DataDog/aws-integrations Scenario: Create an Amazon EventBridge source returns "OK" response Given new "CreateAWSEventBridgeSource" request And body with value {"account_id": "123456789012", "create_event_bus": true, "event_generator_name": "app-alerts", "region": "us-east-1"} When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/cloud-integrations + @generated @skip @team:DataDog/aws-integrations Scenario: Delete a tag filtering entry returns "Bad Request" response Given new "DeleteAWSTagFilter" request And body with value {"account_id": "FAKEAC0FAKEAC2FAKEAC", "namespace": "elb"} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/cloud-integrations + @generated @skip @team:DataDog/aws-integrations Scenario: Delete a tag filtering entry returns "OK" response Given new "DeleteAWSTagFilter" request And body with value {"account_id": "FAKEAC0FAKEAC2FAKEAC", "namespace": "elb"} When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/cloud-integrations + @generated @skip @team:DataDog/aws-integrations Scenario: Delete an AWS integration returns "Bad Request" response Given new "DeleteAWSAccount" request And body with value {"account_id": "123456789012", "role_name": "DatadogAWSIntegrationRole"} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/cloud-integrations + @generated @skip @team:DataDog/aws-integrations Scenario: Delete an AWS integration returns "Conflict Error" response Given new "DeleteAWSAccount" request And body with value {"account_id": "123456789012", "role_name": "DatadogAWSIntegrationRole"} When the request is sent Then the response status is 409 Conflict Error - @team:DataDog/cloud-integrations + @team:DataDog/aws-integrations Scenario: Delete an AWS integration returns "OK" response Given there is a valid "aws_account" in the system And new "DeleteAWSAccount" request @@ -80,107 +80,107 @@ Feature: AWS Integration When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/cloud-integrations + @generated @skip @team:DataDog/aws-integrations Scenario: Delete an Amazon EventBridge source returns "Bad Request" response Given new "DeleteAWSEventBridgeSource" request And body with value {"account_id": "123456789012", "event_generator_name": "app-alerts-zyxw3210", "region": "us-east-1"} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/cloud-integrations + @generated @skip @team:DataDog/aws-integrations Scenario: Delete an Amazon EventBridge source returns "OK" response Given new "DeleteAWSEventBridgeSource" request And body with value {"account_id": "123456789012", "event_generator_name": "app-alerts-zyxw3210", "region": "us-east-1"} When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/cloud-integrations + @generated @skip @team:DataDog/aws-integrations Scenario: Generate a new external ID returns "Bad Request" response Given new "CreateNewAWSExternalID" request And body with value {"account_id": "123456789012", "account_specific_namespace_rules": {"auto_scaling": false, "opswork": false}, "cspm_resource_collection_enabled": true, "excluded_regions": ["us-east-1", "us-west-2"], "extended_resource_collection_enabled": true, "filter_tags": ["$KEY:$VALUE"], "host_tags": ["$KEY:$VALUE"], "metrics_collection_enabled": false, "resource_collection_enabled": true, "role_name": "DatadogAWSIntegrationRole"} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/cloud-integrations + @generated @skip @team:DataDog/aws-integrations Scenario: Generate a new external ID returns "OK" response Given new "CreateNewAWSExternalID" request And body with value {"account_id": "123456789012", "account_specific_namespace_rules": {"auto_scaling": false, "opswork": false}, "cspm_resource_collection_enabled": true, "excluded_regions": ["us-east-1", "us-west-2"], "extended_resource_collection_enabled": true, "filter_tags": ["$KEY:$VALUE"], "host_tags": ["$KEY:$VALUE"], "metrics_collection_enabled": false, "resource_collection_enabled": true, "role_name": "DatadogAWSIntegrationRole"} When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/cloud-integrations + @generated @skip @team:DataDog/aws-integrations Scenario: Get all AWS tag filters returns "Bad Request" response Given new "ListAWSTagFilters" request And request contains "account_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/cloud-integrations + @generated @skip @team:DataDog/aws-integrations Scenario: Get all AWS tag filters returns "OK" response Given new "ListAWSTagFilters" request And request contains "account_id" parameter from "REPLACE.ME" When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/cloud-integrations + @generated @skip @team:DataDog/aws-integrations Scenario: Get all Amazon EventBridge sources returns "Bad Request" response Given new "ListAWSEventBridgeSources" request When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/cloud-integrations + @generated @skip @team:DataDog/aws-integrations Scenario: Get all Amazon EventBridge sources returns "OK" response Given new "ListAWSEventBridgeSources" request When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/cloud-integrations + @generated @skip @team:DataDog/aws-integrations Scenario: List all AWS integrations returns "Bad Request" response Given new "ListAWSAccounts" request When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/cloud-integrations + @generated @skip @team:DataDog/aws-integrations Scenario: List all AWS integrations returns "OK" response Given new "ListAWSAccounts" request When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/cloud-integrations + @generated @skip @team:DataDog/aws-integrations Scenario: List namespace rules returns "OK" response Given new "ListAvailableAWSNamespaces" request When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/cloud-integrations + @generated @skip @team:DataDog/aws-integrations Scenario: Set an AWS tag filter returns "Bad Request" response Given new "CreateAWSTagFilter" request And body with value {"account_id": "123456789012", "namespace": "elb", "tag_filter_str": "prod*"} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/cloud-integrations + @generated @skip @team:DataDog/aws-integrations Scenario: Set an AWS tag filter returns "OK" response Given new "CreateAWSTagFilter" request And body with value {"account_id": "123456789012", "namespace": "elb", "tag_filter_str": "prod*"} When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/cloud-integrations + @generated @skip @team:DataDog/aws-integrations Scenario: Update an AWS integration returns "Bad Request" response Given new "UpdateAWSAccount" request And body with value {"account_id": "123456789012", "account_specific_namespace_rules": {"auto_scaling": false, "opswork": false}, "cspm_resource_collection_enabled": true, "excluded_regions": ["us-east-1", "us-west-2"], "extended_resource_collection_enabled": true, "filter_tags": ["$KEY:$VALUE"], "host_tags": ["$KEY:$VALUE"], "metrics_collection_enabled": false, "resource_collection_enabled": true, "role_name": "DatadogAWSIntegrationRole"} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/cloud-integrations + @generated @skip @team:DataDog/aws-integrations Scenario: Update an AWS integration returns "Conflict Error" response Given new "UpdateAWSAccount" request And body with value {"account_id": "123456789012", "account_specific_namespace_rules": {"auto_scaling": false, "opswork": false}, "cspm_resource_collection_enabled": true, "excluded_regions": ["us-east-1", "us-west-2"], "extended_resource_collection_enabled": true, "filter_tags": ["$KEY:$VALUE"], "host_tags": ["$KEY:$VALUE"], "metrics_collection_enabled": false, "resource_collection_enabled": true, "role_name": "DatadogAWSIntegrationRole"} When the request is sent Then the response status is 409 Conflict Error - @team:DataDog/cloud-integrations + @team:DataDog/aws-integrations Scenario: Update an AWS integration returns "OK" response Given there is a valid "aws_account" in the system And new "UpdateAWSAccount" request diff --git a/features/v1/aws_logs_integration.feature b/features/v1/aws_logs_integration.feature index 5459cbb7947..622d8d7deba 100644 --- a/features/v1/aws_logs_integration.feature +++ b/features/v1/aws_logs_integration.feature @@ -10,89 +10,89 @@ Feature: AWS Logs Integration And a valid "appKeyAuth" key in the system And an instance of "AWSLogsIntegration" API - @generated @skip @team:DataDog/cloud-integrations + @generated @skip @team:DataDog/aws-integrations Scenario: Add AWS Log Lambda ARN returns "Bad Request" response Given new "CreateAWSLambdaARN" request And body with value {"account_id": "1234567", "lambda_arn": "arn:aws:lambda:us-east-1:1234567:function:LogsCollectionAPITest"} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/cloud-integrations + @generated @skip @team:DataDog/aws-integrations Scenario: Add AWS Log Lambda ARN returns "OK" response Given new "CreateAWSLambdaARN" request And body with value {"account_id": "1234567", "lambda_arn": "arn:aws:lambda:us-east-1:1234567:function:LogsCollectionAPITest"} When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/cloud-integrations + @generated @skip @team:DataDog/aws-integrations Scenario: Check permissions for log services returns "Bad Request" response Given new "CheckAWSLogsServicesAsync" request And body with value {"account_id": "1234567", "services": ["s3", "elb", "elbv2", "cloudfront", "redshift", "lambda"]} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/cloud-integrations + @generated @skip @team:DataDog/aws-integrations Scenario: Check permissions for log services returns "OK" response Given new "CheckAWSLogsServicesAsync" request And body with value {"account_id": "1234567", "services": ["s3", "elb", "elbv2", "cloudfront", "redshift", "lambda"]} When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/cloud-integrations + @generated @skip @team:DataDog/aws-integrations Scenario: Check that an AWS Lambda Function exists returns "Bad Request" response Given new "CheckAWSLogsLambdaAsync" request And body with value {"account_id": "1234567", "lambda_arn": "arn:aws:lambda:us-east-1:1234567:function:LogsCollectionAPITest"} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/cloud-integrations + @generated @skip @team:DataDog/aws-integrations Scenario: Check that an AWS Lambda Function exists returns "OK" response Given new "CheckAWSLogsLambdaAsync" request And body with value {"account_id": "1234567", "lambda_arn": "arn:aws:lambda:us-east-1:1234567:function:LogsCollectionAPITest"} When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/cloud-integrations + @generated @skip @team:DataDog/aws-integrations Scenario: Delete an AWS Logs integration returns "Bad Request" response Given new "DeleteAWSLambdaARN" request And body with value {"account_id": "1234567", "lambda_arn": "arn:aws:lambda:us-east-1:1234567:function:LogsCollectionAPITest"} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/cloud-integrations + @generated @skip @team:DataDog/aws-integrations Scenario: Delete an AWS Logs integration returns "OK" response Given new "DeleteAWSLambdaARN" request And body with value {"account_id": "1234567", "lambda_arn": "arn:aws:lambda:us-east-1:1234567:function:LogsCollectionAPITest"} When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/cloud-integrations + @generated @skip @team:DataDog/aws-integrations Scenario: Enable an AWS Logs integration returns "Bad Request" response Given new "EnableAWSLogServices" request And body with value {"account_id": "1234567", "services": ["s3", "elb", "elbv2", "cloudfront", "redshift", "lambda"]} When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/cloud-integrations + @generated @skip @team:DataDog/aws-integrations Scenario: Enable an AWS Logs integration returns "OK" response Given new "EnableAWSLogServices" request And body with value {"account_id": "1234567", "services": ["s3", "elb", "elbv2", "cloudfront", "redshift", "lambda"]} When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/cloud-integrations + @generated @skip @team:DataDog/aws-integrations Scenario: Get list of AWS log ready services returns "OK" response Given new "ListAWSLogsServices" request When the request is sent Then the response status is 200 OK - @generated @skip @team:DataDog/cloud-integrations + @generated @skip @team:DataDog/aws-integrations Scenario: List all AWS Logs integrations returns "Bad Request" response Given new "ListAWSLogsIntegrations" request When the request is sent Then the response status is 400 Bad Request - @generated @skip @team:DataDog/cloud-integrations + @generated @skip @team:DataDog/aws-integrations Scenario: List all AWS Logs integrations returns "OK" response Given new "ListAWSLogsIntegrations" request When the request is sent diff --git a/features/v2/aws_integration.feature b/features/v2/aws_integration.feature new file mode 100644 index 00000000000..3f47d837a7b --- /dev/null +++ b/features/v2/aws_integration.feature @@ -0,0 +1,158 @@ +@endpoint(aws-integration) @endpoint(aws-integration-v2) +Feature: AWS Integration + Configure your Datadog-AWS integration directly through the Datadog API. + For more information, see the [AWS integration + page](https://docs.datadoghq.com/integrations/amazon_web_services). + + Background: + Given a valid "apiKeyAuth" key in the system + And a valid "appKeyAuth" key in the system + And an instance of "AWSIntegration" API + + @team:DataDog/aws-integrations + Scenario: Create an AWS account returns "AWS Account object" response + Given operation "CreateAWSAccount" enabled + And new "CreateAWSAccount" request + 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"], "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"}} + When the request is sent + Then the response status is 200 AWS Account object + + @team:DataDog/aws-integrations + Scenario: Create an AWS integration returns "AWS Account object" response + Given operation "CreateAWSAccount" enabled + And new "CreateAWSAccount" request + 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"], "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"}} + When the request is sent + Then the response status is 200 AWS Account object + + @team:DataDog/aws-integrations + Scenario: Create an AWS integration returns "Bad Request" response + Given operation "CreateAWSAccount" enabled + And new "CreateAWSAccount" request + 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"], "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"}} + When the request is sent + Then the response status is 400 Bad Request + + @team:DataDog/aws-integrations + Scenario: Create an AWS integration returns "Conflict" response + Given operation "CreateAWSAccount" enabled + And there is a valid "aws_account_v2" in the system + And new "CreateAWSAccount" request + 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"], "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"}} + When the request is sent + Then the response status is 409 Conflict + + @team:DataDog/aws-integrations + Scenario: Delete an AWS integration returns "Bad Request" response + Given operation "DeleteAWSAccount" enabled + And new "DeleteAWSAccount" request + And request contains "aws_account_config_id" parameter with value "not-a-uuid" + When the request is sent + Then the response status is 400 Bad Request + + @team:DataDog/aws-integrations + Scenario: Delete an AWS integration returns "No Content" response + Given operation "DeleteAWSAccount" enabled + And there is a valid "aws_account_v2" in the system + And new "DeleteAWSAccount" request + And request contains "aws_account_config_id" parameter from "aws_account_v2.data.id" + When the request is sent + Then the response status is 204 No Content + + @team:DataDog/aws-integrations + Scenario: Delete an AWS integration returns "Not Found" response + Given operation "DeleteAWSAccount" enabled + And there is a valid "aws_account_v2" in the system + And new "DeleteAWSAccount" request + And request contains "aws_account_config_id" parameter with value "448169a8-251c-4344-abee-1c4edef39f7a" + When the request is sent + Then the response status is 404 Not Found + + @team:DataDog/aws-integrations + Scenario: Generate a new external ID returns "AWS External ID object" response + Given operation "CreateNewAWSExternalID" enabled + And new "CreateNewAWSExternalID" request + When the request is sent + Then the response status is 200 AWS External ID object + + @team:DataDog/aws-integrations + Scenario: Generate new external ID returns "AWS External ID object" response + Given operation "CreateNewAWSExternalID" enabled + And new "CreateNewAWSExternalID" request + When the request is sent + Then the response status is 200 AWS External ID object + + @team:DataDog/aws-integrations + Scenario: Get an AWS integration by config ID returns "AWS Account object" response + Given operation "GetAWSAccount" enabled + And there is a valid "aws_account_v2" in the system + And new "GetAWSAccount" request + And request contains "aws_account_config_id" parameter from "aws_account_v2.data.id" + When the request is sent + Then the response status is 200 AWS Account object + + @team:DataDog/aws-integrations + Scenario: Get an AWS integration by config ID returns "Bad Request" response + Given operation "GetAWSAccount" enabled + And new "GetAWSAccount" request + And request contains "aws_account_config_id" parameter with value "not-a-uuid" + When the request is sent + Then the response status is 400 Bad Request + + @team:DataDog/aws-integrations + Scenario: Get an AWS integration by config ID returns "Not Found" response + Given operation "GetAWSAccount" enabled + And new "GetAWSAccount" request + And request contains "aws_account_config_id" parameter with value "448169a8-251c-4344-abee-1c4edef39f7a" + When the request is sent + Then the response status is 404 Not Found + + @team:DataDog/aws-integrations + Scenario: List all AWS integrations returns "AWS Accounts List object" response + Given operation "ListAWSAccounts" enabled + And new "ListAWSAccounts" request + When the request is sent + Then the response status is 200 AWS Accounts List object + + @team:DataDog/aws-integrations + Scenario: List available namespaces returns "AWS Namespaces List object" response + Given operation "ListAWSNamespaces" enabled + And new "ListAWSNamespaces" request + When the request is sent + Then the response status is 200 AWS Namespaces List object + + @team:DataDog/aws-integrations + Scenario: List namespaces returns "AWS Namespaces List object" response + Given operation "ListAWSNamespaces" enabled + And new "ListAWSNamespaces" request + When the request is sent + Then the response status is 200 AWS Namespaces List object + + @team:DataDog/aws-integrations + Scenario: Update an AWS integration returns "AWS Account object" response + Given operation "UpdateAWSAccount" enabled + And there is a valid "aws_account_v2" in the system + And new "UpdateAWSAccount" request + And request contains "aws_account_config_id" parameter from "aws_account_v2.data.id" + 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"], "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"}} + When the request is sent + Then the response status is 200 AWS Account object + + @team:DataDog/aws-integrations + Scenario: Update an AWS integration returns "Bad Request" response + Given operation "UpdateAWSAccount" enabled + And there is a valid "aws_account_v2" in the system + And new "UpdateAWSAccount" request + And request contains "aws_account_config_id" parameter from "aws_account_v2.data.id" + 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"], "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"}} + When the request is sent + Then the response status is 400 Bad Request + + @team:DataDog/aws-integrations + Scenario: Update an AWS integration returns "Not Found" response + Given operation "UpdateAWSAccount" enabled + And new "UpdateAWSAccount" request + And request contains "aws_account_config_id" parameter with value "448169a8-251c-4344-abee-1c4edef39f7a" + 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"], "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"}} + When the request is sent + Then the response status is 404 Not Found diff --git a/features/v2/aws_logs_integration.feature b/features/v2/aws_logs_integration.feature new file mode 100644 index 00000000000..7dcfb894ae9 --- /dev/null +++ b/features/v2/aws_logs_integration.feature @@ -0,0 +1,16 @@ +@endpoint(aws-logs-integration) @endpoint(aws-logs-integration-v2) +Feature: AWS Logs Integration + Configure your Datadog-AWS-Logs integration directly through Datadog API. + For more information, see the [AWS integration + page](https://docs.datadoghq.com/integrations/amazon_web_services/#log- + collection). + + @team:DataDog/aws-integrations + Scenario: Get list of AWS log ready services returns "AWS Logs Services List object" response + Given a valid "apiKeyAuth" key in the system + And a valid "appKeyAuth" key in the system + And an instance of "AWSLogsIntegration" API + And operation "ListAWSLogsServices" enabled + And new "ListAWSLogsServices" request + When the request is sent + Then the response status is 200 AWS Logs Services List object diff --git a/features/v2/given.json b/features/v2/given.json index d5a158b247b..f8773a32667 100644 --- a/features/v2/given.json +++ b/features/v2/given.json @@ -212,6 +212,18 @@ "tag": "Incidents", "operationId": "CreateIncidentTodo" }, + { + "parameters": [ + { + "name": "body", + "value": "{\n \"data\": {\n \"id\": \"00000000-abcd-0001-0000-000000000000\",\n \"type\": \"account\",\n \"attributes\": {\n \"account_tags\": [\n \"key:value\"\n ],\n \"auth_config\": {\n \"role_name\": \"DatadogIntegrationRole\"\n },\n \"aws_account_id\": \"123456789012\",\n \"aws_partition\": \"aws\",\n \"aws_regions\": {\n \"include_only\": [\n \"us-east-1\"\n ]\n },\n \"logs_config\": {\n \"lambda_forwarder\": {\n \"lambdas\": [\n \"arn:aws:lambda:us-east-1:123456789012:function:DatadogLambdaLogForwarder\"\n ],\n \"sources\": [\n \"s3\"\n ]\n }\n },\n \"metrics_config\": {\n \"enabled\": true,\n \"automute_enabled\": true,\n \"collect_custom_metrics\": false,\n \"collect_cloudwatch_alarms\": false,\n \"tag_filters\": [\n {\n \"namespace\": \"AWS/EC2\",\n \"tags\": [\n \"key:value\"\n ]\n }\n ],\n \"namespace_filters\": {\n \"include_only\": [\n \"AWS/EC2\"\n ]\n }\n },\n \"resources_config\": {\n \"cloud_security_posture_management_collection\": false,\n \"extended_collection\": false\n },\n \"traces_config\": {\n \"xray_services\": {\n \"include_only\": [\n \"AWS/AppSync\"\n ]\n }\n }\n }\n }\n}" + } + ], + "step": "there is a valid \"aws_account_v2\" in the system", + "key": "aws_account_v2", + "tag": "AWS Integration", + "operationId": "CreateAWSAccount" + }, { "parameters": [ { diff --git a/features/v2/undo.json b/features/v2/undo.json index 81c6a29e22c..364cb9a8cfd 100644 --- a/features/v2/undo.json +++ b/features/v2/undo.json @@ -788,6 +788,61 @@ "type": "idempotent" } }, + "ListAWSAccounts": { + "tag": "AWS Integration", + "undo": { + "type": "safe" + } + }, + "CreateAWSAccount": { + "tag": "AWS Integration", + "undo": { + "operationId": "DeleteAWSAccount", + "parameters": [ + { + "name": "aws_account_config_id", + "source": "data.id" + } + ], + "type": "unsafe" + } + }, + "DeleteAWSAccount": { + "tag": "AWS Integration", + "undo": { + "type": "idempotent" + } + }, + "GetAWSAccount": { + "tag": "AWS Integration", + "undo": { + "type": "safe" + } + }, + "UpdateAWSAccount": { + "tag": "AWS Integration", + "undo": { + "type": "idempotent" + } + }, + "ListAWSNamespaces": { + "tag": "AWS Integration", + "undo": { + "type": "safe" + } + }, + "CreateNewAWSExternalID": { + "tag": "AWS Integration", + "undo": { + "type": "safe" + } + }, + "ListAWSLogsServices": { + "tag": "AWS Logs Integration", + "undo": { + "type": "safe" + } + }, "ListGCPSTSAccounts": { "tag": "GCP Integration", "undo": { diff --git a/packages/datadog-api-client-common/configuration.ts b/packages/datadog-api-client-common/configuration.ts index db504189d16..c91ee4a087c 100644 --- a/packages/datadog-api-client-common/configuration.ts +++ b/packages/datadog-api-client-common/configuration.ts @@ -255,6 +255,14 @@ export function createConfiguration( "v2.updateIncidentIntegration": false, "v2.updateIncidentTodo": false, "v2.updateIncidentType": false, + "v2.createAWSAccount": false, + "v2.createNewAWSExternalID": false, + "v2.deleteAWSAccount": false, + "v2.getAWSAccount": false, + "v2.listAWSAccounts": false, + "v2.listAWSNamespaces": false, + "v2.updateAWSAccount": false, + "v2.listAWSLogsServices": false, "v2.getFinding": false, "v2.listFindings": false, "v2.muteFindings": false, diff --git a/packages/datadog-api-client-v2/apis/AWSIntegrationApi.ts b/packages/datadog-api-client-v2/apis/AWSIntegrationApi.ts new file mode 100644 index 00000000000..d53438a7d15 --- /dev/null +++ b/packages/datadog-api-client-v2/apis/AWSIntegrationApi.ts @@ -0,0 +1,931 @@ +import { + BaseAPIRequestFactory, + RequiredError, +} from "../../datadog-api-client-common/baseapi"; +import { + Configuration, + applySecurityAuthentication, +} from "../../datadog-api-client-common/configuration"; +import { + RequestContext, + HttpMethod, + ResponseContext, +} from "../../datadog-api-client-common/http/http"; + +import { logger } from "../../../logger"; +import { ObjectSerializer } from "../models/ObjectSerializer"; +import { ApiException } from "../../datadog-api-client-common/exception"; + +import { APIErrorResponse } from "../models/APIErrorResponse"; +import { AWSAccountCreateRequest } from "../models/AWSAccountCreateRequest"; +import { AWSAccountResponse } from "../models/AWSAccountResponse"; +import { AWSAccountsResponse } from "../models/AWSAccountsResponse"; +import { AWSAccountUpdateRequest } from "../models/AWSAccountUpdateRequest"; +import { AWSNamespacesResponse } from "../models/AWSNamespacesResponse"; +import { AWSNewExternalIDResponse } from "../models/AWSNewExternalIDResponse"; + +export class AWSIntegrationApiRequestFactory extends BaseAPIRequestFactory { + public async createAWSAccount( + body: AWSAccountCreateRequest, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + logger.warn("Using unstable operation 'createAWSAccount'"); + if (!_config.unstableOperations["v2.createAWSAccount"]) { + throw new Error("Unstable operation 'createAWSAccount' is disabled"); + } + + // verify required parameter 'body' is not null or undefined + if (body === null || body === undefined) { + throw new RequiredError("body", "createAWSAccount"); + } + + // Path Params + const localVarPath = "/api/v2/integration/aws/accounts"; + + // Make Request Context + const requestContext = _config + .getServer("v2.AWSIntegrationApi.createAWSAccount") + .makeRequestContext(localVarPath, HttpMethod.POST); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Body Params + const contentType = ObjectSerializer.getPreferredMediaType([ + "application/json", + ]); + requestContext.setHeaderParam("Content-Type", contentType); + const serializedBody = ObjectSerializer.stringify( + ObjectSerializer.serialize(body, "AWSAccountCreateRequest", ""), + contentType + ); + requestContext.setBody(serializedBody); + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + ]); + + return requestContext; + } + + public async createNewAWSExternalID( + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + logger.warn("Using unstable operation 'createNewAWSExternalID'"); + if (!_config.unstableOperations["v2.createNewAWSExternalID"]) { + throw new Error( + "Unstable operation 'createNewAWSExternalID' is disabled" + ); + } + + // Path Params + const localVarPath = "/api/v2/integration/aws/generate_new_external_id"; + + // Make Request Context + const requestContext = _config + .getServer("v2.AWSIntegrationApi.createNewAWSExternalID") + .makeRequestContext(localVarPath, HttpMethod.POST); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + ]); + + return requestContext; + } + + public async deleteAWSAccount( + awsAccountConfigId: string, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + logger.warn("Using unstable operation 'deleteAWSAccount'"); + if (!_config.unstableOperations["v2.deleteAWSAccount"]) { + throw new Error("Unstable operation 'deleteAWSAccount' is disabled"); + } + + // verify required parameter 'awsAccountConfigId' is not null or undefined + if (awsAccountConfigId === null || awsAccountConfigId === undefined) { + throw new RequiredError("awsAccountConfigId", "deleteAWSAccount"); + } + + // Path Params + const localVarPath = + "/api/v2/integration/aws/accounts/{aws_account_config_id}".replace( + "{aws_account_config_id}", + encodeURIComponent(String(awsAccountConfigId)) + ); + + // Make Request Context + const requestContext = _config + .getServer("v2.AWSIntegrationApi.deleteAWSAccount") + .makeRequestContext(localVarPath, HttpMethod.DELETE); + requestContext.setHeaderParam("Accept", "*/*"); + requestContext.setHttpConfig(_config.httpConfig); + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + ]); + + return requestContext; + } + + public async getAWSAccount( + awsAccountConfigId: string, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + logger.warn("Using unstable operation 'getAWSAccount'"); + if (!_config.unstableOperations["v2.getAWSAccount"]) { + throw new Error("Unstable operation 'getAWSAccount' is disabled"); + } + + // verify required parameter 'awsAccountConfigId' is not null or undefined + if (awsAccountConfigId === null || awsAccountConfigId === undefined) { + throw new RequiredError("awsAccountConfigId", "getAWSAccount"); + } + + // Path Params + const localVarPath = + "/api/v2/integration/aws/accounts/{aws_account_config_id}".replace( + "{aws_account_config_id}", + encodeURIComponent(String(awsAccountConfigId)) + ); + + // Make Request Context + const requestContext = _config + .getServer("v2.AWSIntegrationApi.getAWSAccount") + .makeRequestContext(localVarPath, HttpMethod.GET); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + ]); + + return requestContext; + } + + public async listAWSAccounts( + awsAccountId?: string, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + logger.warn("Using unstable operation 'listAWSAccounts'"); + if (!_config.unstableOperations["v2.listAWSAccounts"]) { + throw new Error("Unstable operation 'listAWSAccounts' is disabled"); + } + + // Path Params + const localVarPath = "/api/v2/integration/aws/accounts"; + + // Make Request Context + const requestContext = _config + .getServer("v2.AWSIntegrationApi.listAWSAccounts") + .makeRequestContext(localVarPath, HttpMethod.GET); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Query Params + if (awsAccountId !== undefined) { + requestContext.setQueryParam( + "aws_account_id", + ObjectSerializer.serialize(awsAccountId, "string", ""), + "" + ); + } + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + ]); + + return requestContext; + } + + public async listAWSNamespaces( + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + logger.warn("Using unstable operation 'listAWSNamespaces'"); + if (!_config.unstableOperations["v2.listAWSNamespaces"]) { + throw new Error("Unstable operation 'listAWSNamespaces' is disabled"); + } + + // Path Params + const localVarPath = "/api/v2/integration/aws/available_namespaces"; + + // Make Request Context + const requestContext = _config + .getServer("v2.AWSIntegrationApi.listAWSNamespaces") + .makeRequestContext(localVarPath, HttpMethod.GET); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + ]); + + return requestContext; + } + + public async updateAWSAccount( + awsAccountConfigId: string, + body: AWSAccountUpdateRequest, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + logger.warn("Using unstable operation 'updateAWSAccount'"); + if (!_config.unstableOperations["v2.updateAWSAccount"]) { + throw new Error("Unstable operation 'updateAWSAccount' is disabled"); + } + + // verify required parameter 'awsAccountConfigId' is not null or undefined + if (awsAccountConfigId === null || awsAccountConfigId === undefined) { + throw new RequiredError("awsAccountConfigId", "updateAWSAccount"); + } + + // verify required parameter 'body' is not null or undefined + if (body === null || body === undefined) { + throw new RequiredError("body", "updateAWSAccount"); + } + + // Path Params + const localVarPath = + "/api/v2/integration/aws/accounts/{aws_account_config_id}".replace( + "{aws_account_config_id}", + encodeURIComponent(String(awsAccountConfigId)) + ); + + // Make Request Context + const requestContext = _config + .getServer("v2.AWSIntegrationApi.updateAWSAccount") + .makeRequestContext(localVarPath, HttpMethod.PATCH); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Body Params + const contentType = ObjectSerializer.getPreferredMediaType([ + "application/json", + ]); + requestContext.setHeaderParam("Content-Type", contentType); + const serializedBody = ObjectSerializer.stringify( + ObjectSerializer.serialize(body, "AWSAccountUpdateRequest", ""), + contentType + ); + requestContext.setBody(serializedBody); + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + ]); + + return requestContext; + } +} + +export class AWSIntegrationApiResponseProcessor { + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to createAWSAccount + * @throws ApiException if the response code was not in [200, 299] + */ + public async createAWSAccount( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + const body: AWSAccountResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "AWSAccountResponse" + ) as AWSAccountResponse; + return body; + } + if ( + response.httpStatusCode === 400 || + response.httpStatusCode === 403 || + response.httpStatusCode === 409 || + response.httpStatusCode === 429 + ) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: AWSAccountResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "AWSAccountResponse", + "" + ) as AWSAccountResponse; + return body; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to createNewAWSExternalID + * @throws ApiException if the response code was not in [200, 299] + */ + public async createNewAWSExternalID( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + const body: AWSNewExternalIDResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "AWSNewExternalIDResponse" + ) as AWSNewExternalIDResponse; + return body; + } + if (response.httpStatusCode === 403 || response.httpStatusCode === 429) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: AWSNewExternalIDResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "AWSNewExternalIDResponse", + "" + ) as AWSNewExternalIDResponse; + return body; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to deleteAWSAccount + * @throws ApiException if the response code was not in [200, 299] + */ + public async deleteAWSAccount(response: ResponseContext): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 204) { + return; + } + if ( + response.httpStatusCode === 400 || + response.httpStatusCode === 403 || + response.httpStatusCode === 404 || + response.httpStatusCode === 429 + ) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: void = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "void", + "" + ) as void; + return body; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to getAWSAccount + * @throws ApiException if the response code was not in [200, 299] + */ + public async getAWSAccount( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + const body: AWSAccountResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "AWSAccountResponse" + ) as AWSAccountResponse; + return body; + } + if ( + response.httpStatusCode === 400 || + response.httpStatusCode === 403 || + response.httpStatusCode === 404 || + response.httpStatusCode === 429 + ) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: AWSAccountResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "AWSAccountResponse", + "" + ) as AWSAccountResponse; + return body; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to listAWSAccounts + * @throws ApiException if the response code was not in [200, 299] + */ + public async listAWSAccounts( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + const body: AWSAccountsResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "AWSAccountsResponse" + ) as AWSAccountsResponse; + return body; + } + if (response.httpStatusCode === 403 || response.httpStatusCode === 429) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: AWSAccountsResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "AWSAccountsResponse", + "" + ) as AWSAccountsResponse; + return body; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to listAWSNamespaces + * @throws ApiException if the response code was not in [200, 299] + */ + public async listAWSNamespaces( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + const body: AWSNamespacesResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "AWSNamespacesResponse" + ) as AWSNamespacesResponse; + return body; + } + if (response.httpStatusCode === 403 || response.httpStatusCode === 429) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: AWSNamespacesResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "AWSNamespacesResponse", + "" + ) as AWSNamespacesResponse; + return body; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to updateAWSAccount + * @throws ApiException if the response code was not in [200, 299] + */ + public async updateAWSAccount( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + const body: AWSAccountResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "AWSAccountResponse" + ) as AWSAccountResponse; + return body; + } + if ( + response.httpStatusCode === 400 || + response.httpStatusCode === 403 || + response.httpStatusCode === 404 || + response.httpStatusCode === 429 + ) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: AWSAccountResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "AWSAccountResponse", + "" + ) as AWSAccountResponse; + return body; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } +} + +export interface AWSIntegrationApiCreateAWSAccountRequest { + /** + * @type AWSAccountCreateRequest + */ + body: AWSAccountCreateRequest; +} + +export interface AWSIntegrationApiDeleteAWSAccountRequest { + /** + * Unique Datadog ID of the AWS Account Integration Config + * @type string + */ + awsAccountConfigId: string; +} + +export interface AWSIntegrationApiGetAWSAccountRequest { + /** + * Unique Datadog ID of the AWS Account Integration Config + * @type string + */ + awsAccountConfigId: string; +} + +export interface AWSIntegrationApiListAWSAccountsRequest { + /** + * Optional query filter accounts by AWS Account ID + * @type string + */ + awsAccountId?: string; +} + +export interface AWSIntegrationApiUpdateAWSAccountRequest { + /** + * Unique Datadog ID of the AWS Account Integration Config + * @type string + */ + awsAccountConfigId: string; + /** + * @type AWSAccountUpdateRequest + */ + body: AWSAccountUpdateRequest; +} + +export class AWSIntegrationApi { + private requestFactory: AWSIntegrationApiRequestFactory; + private responseProcessor: AWSIntegrationApiResponseProcessor; + private configuration: Configuration; + + public constructor( + configuration: Configuration, + requestFactory?: AWSIntegrationApiRequestFactory, + responseProcessor?: AWSIntegrationApiResponseProcessor + ) { + this.configuration = configuration; + this.requestFactory = + requestFactory || new AWSIntegrationApiRequestFactory(configuration); + this.responseProcessor = + responseProcessor || new AWSIntegrationApiResponseProcessor(); + } + + /** + * Create a new AWS Account Integration Config. + * @param param The request object + */ + public createAWSAccount( + param: AWSIntegrationApiCreateAWSAccountRequest, + options?: Configuration + ): Promise { + const requestContextPromise = this.requestFactory.createAWSAccount( + param.body, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.createAWSAccount(responseContext); + }); + }); + } + + /** + * Generate a new external ID for AWS role-based authentication. + * @param param The request object + */ + public createNewAWSExternalID( + options?: Configuration + ): Promise { + const requestContextPromise = + this.requestFactory.createNewAWSExternalID(options); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.createNewAWSExternalID(responseContext); + }); + }); + } + + /** + * Delete an AWS Account Integration Config + * @param param The request object + */ + public deleteAWSAccount( + param: AWSIntegrationApiDeleteAWSAccountRequest, + options?: Configuration + ): Promise { + const requestContextPromise = this.requestFactory.deleteAWSAccount( + param.awsAccountConfigId, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.deleteAWSAccount(responseContext); + }); + }); + } + + /** + * Get an AWS Account Integration Config + * @param param The request object + */ + public getAWSAccount( + param: AWSIntegrationApiGetAWSAccountRequest, + options?: Configuration + ): Promise { + const requestContextPromise = this.requestFactory.getAWSAccount( + param.awsAccountConfigId, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.getAWSAccount(responseContext); + }); + }); + } + + /** + * Get a list of AWS Account Integration Configs. + * @param param The request object + */ + public listAWSAccounts( + param: AWSIntegrationApiListAWSAccountsRequest = {}, + options?: Configuration + ): Promise { + const requestContextPromise = this.requestFactory.listAWSAccounts( + param.awsAccountId, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.listAWSAccounts(responseContext); + }); + }); + } + + /** + * Get a list of available AWS CloudWatch namespaces that can send metrics to Datadog. + * @param param The request object + */ + public listAWSNamespaces( + options?: Configuration + ): Promise { + const requestContextPromise = + this.requestFactory.listAWSNamespaces(options); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.listAWSNamespaces(responseContext); + }); + }); + } + + /** + * Update an AWS Account Integration Config + * @param param The request object + */ + public updateAWSAccount( + param: AWSIntegrationApiUpdateAWSAccountRequest, + options?: Configuration + ): Promise { + const requestContextPromise = this.requestFactory.updateAWSAccount( + param.awsAccountConfigId, + param.body, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.updateAWSAccount(responseContext); + }); + }); + } +} diff --git a/packages/datadog-api-client-v2/apis/AWSLogsIntegrationApi.ts b/packages/datadog-api-client-v2/apis/AWSLogsIntegrationApi.ts new file mode 100644 index 00000000000..f92213f2761 --- /dev/null +++ b/packages/datadog-api-client-v2/apis/AWSLogsIntegrationApi.ts @@ -0,0 +1,144 @@ +import { BaseAPIRequestFactory } from "../../datadog-api-client-common/baseapi"; +import { + Configuration, + applySecurityAuthentication, +} from "../../datadog-api-client-common/configuration"; +import { + RequestContext, + HttpMethod, + ResponseContext, +} from "../../datadog-api-client-common/http/http"; + +import { logger } from "../../../logger"; +import { ObjectSerializer } from "../models/ObjectSerializer"; +import { ApiException } from "../../datadog-api-client-common/exception"; + +import { APIErrorResponse } from "../models/APIErrorResponse"; +import { AWSLogsServicesResponse } from "../models/AWSLogsServicesResponse"; + +export class AWSLogsIntegrationApiRequestFactory extends BaseAPIRequestFactory { + public async listAWSLogsServices( + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + logger.warn("Using unstable operation 'listAWSLogsServices'"); + if (!_config.unstableOperations["v2.listAWSLogsServices"]) { + throw new Error("Unstable operation 'listAWSLogsServices' is disabled"); + } + + // Path Params + const localVarPath = "/api/v2/integration/aws/logs/services"; + + // Make Request Context + const requestContext = _config + .getServer("v2.AWSLogsIntegrationApi.listAWSLogsServices") + .makeRequestContext(localVarPath, HttpMethod.GET); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + ]); + + return requestContext; + } +} + +export class AWSLogsIntegrationApiResponseProcessor { + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to listAWSLogsServices + * @throws ApiException if the response code was not in [200, 299] + */ + public async listAWSLogsServices( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + const body: AWSLogsServicesResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "AWSLogsServicesResponse" + ) as AWSLogsServicesResponse; + return body; + } + if (response.httpStatusCode === 403 || response.httpStatusCode === 429) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: AWSLogsServicesResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "AWSLogsServicesResponse", + "" + ) as AWSLogsServicesResponse; + return body; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } +} + +export class AWSLogsIntegrationApi { + private requestFactory: AWSLogsIntegrationApiRequestFactory; + private responseProcessor: AWSLogsIntegrationApiResponseProcessor; + private configuration: Configuration; + + public constructor( + configuration: Configuration, + requestFactory?: AWSLogsIntegrationApiRequestFactory, + responseProcessor?: AWSLogsIntegrationApiResponseProcessor + ) { + this.configuration = configuration; + this.requestFactory = + requestFactory || new AWSLogsIntegrationApiRequestFactory(configuration); + this.responseProcessor = + responseProcessor || new AWSLogsIntegrationApiResponseProcessor(); + } + + /** + * Get a list of AWS services that can send logs to Datadog. + * @param param The request object + */ + public listAWSLogsServices( + options?: Configuration + ): Promise { + const requestContextPromise = + this.requestFactory.listAWSLogsServices(options); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.listAWSLogsServices(responseContext); + }); + }); + } +} diff --git a/packages/datadog-api-client-v2/index.ts b/packages/datadog-api-client-v2/index.ts index 0ee84f37866..e77ed55a1b7 100644 --- a/packages/datadog-api-client-v2/index.ts +++ b/packages/datadog-api-client-v2/index.ts @@ -16,6 +16,17 @@ export { APMRetentionFiltersApi, } from "./apis/APMRetentionFiltersApi"; +export { + AWSIntegrationApiCreateAWSAccountRequest, + AWSIntegrationApiDeleteAWSAccountRequest, + AWSIntegrationApiGetAWSAccountRequest, + AWSIntegrationApiListAWSAccountsRequest, + AWSIntegrationApiUpdateAWSAccountRequest, + AWSIntegrationApi, +} from "./apis/AWSIntegrationApi"; + +export { AWSLogsIntegrationApi } from "./apis/AWSLogsIntegrationApi"; + export { AuditApiListAuditLogsRequest, AuditApiSearchAuditLogsRequest, @@ -631,6 +642,21 @@ export { AuthNMappingUpdateAttributes } from "./models/AuthNMappingUpdateAttribu export { AuthNMappingUpdateData } from "./models/AuthNMappingUpdateData"; export { AuthNMappingUpdateRelationships } from "./models/AuthNMappingUpdateRelationships"; export { AuthNMappingUpdateRequest } from "./models/AuthNMappingUpdateRequest"; +export { AWSAccountCreateRequest } from "./models/AWSAccountCreateRequest"; +export { AWSAccountCreateRequestAttributes } from "./models/AWSAccountCreateRequestAttributes"; +export { AWSAccountCreateRequestData } from "./models/AWSAccountCreateRequestData"; +export { AWSAccountPartition } from "./models/AWSAccountPartition"; +export { AWSAccountResponse } from "./models/AWSAccountResponse"; +export { AWSAccountResponseAttributes } from "./models/AWSAccountResponseAttributes"; +export { AWSAccountResponseData } from "./models/AWSAccountResponseData"; +export { AWSAccountsResponse } from "./models/AWSAccountsResponse"; +export { AWSAccountType } from "./models/AWSAccountType"; +export { AWSAccountUpdateRequest } from "./models/AWSAccountUpdateRequest"; +export { AWSAccountUpdateRequestAttributes } from "./models/AWSAccountUpdateRequestAttributes"; +export { AWSAccountUpdateRequestData } from "./models/AWSAccountUpdateRequestData"; +export { AWSAuthConfig } from "./models/AWSAuthConfig"; +export { AWSAuthConfigKeys } from "./models/AWSAuthConfigKeys"; +export { AWSAuthConfigRole } from "./models/AWSAuthConfigRole"; export { AwsCURConfig } from "./models/AwsCURConfig"; export { AwsCURConfigAttributes } from "./models/AwsCURConfigAttributes"; export { AwsCURConfigPatchData } from "./models/AwsCURConfigPatchData"; @@ -644,6 +670,32 @@ export { AwsCURConfigPostRequestType } from "./models/AwsCURConfigPostRequestTyp export { AwsCURConfigResponse } from "./models/AwsCURConfigResponse"; export { AwsCURConfigsResponse } from "./models/AwsCURConfigsResponse"; export { AwsCURConfigType } from "./models/AwsCURConfigType"; +export { AWSLambdaForwarderConfig } from "./models/AWSLambdaForwarderConfig"; +export { AWSLogsConfig } from "./models/AWSLogsConfig"; +export { AWSLogsServicesResponse } from "./models/AWSLogsServicesResponse"; +export { AWSLogsServicesResponseAttributes } from "./models/AWSLogsServicesResponseAttributes"; +export { AWSLogsServicesResponseData } from "./models/AWSLogsServicesResponseData"; +export { AWSLogsServicesResponseDataType } from "./models/AWSLogsServicesResponseDataType"; +export { AWSMetricsConfig } from "./models/AWSMetricsConfig"; +export { AWSNamespaceFilters } from "./models/AWSNamespaceFilters"; +export { AWSNamespaceFiltersExcludeAll } from "./models/AWSNamespaceFiltersExcludeAll"; +export { AWSNamespaceFiltersExcludeOnly } from "./models/AWSNamespaceFiltersExcludeOnly"; +export { AWSNamespaceFiltersIncludeAll } from "./models/AWSNamespaceFiltersIncludeAll"; +export { AWSNamespaceFiltersIncludeOnly } from "./models/AWSNamespaceFiltersIncludeOnly"; +export { AWSNamespacesResponse } from "./models/AWSNamespacesResponse"; +export { AWSNamespacesResponseAttributes } from "./models/AWSNamespacesResponseAttributes"; +export { AWSNamespacesResponseData } from "./models/AWSNamespacesResponseData"; +export { AWSNamespacesResponseDataType } from "./models/AWSNamespacesResponseDataType"; +export { AWSNamespaceTagFilter } from "./models/AWSNamespaceTagFilter"; +export { AWSNewExternalIDResponse } from "./models/AWSNewExternalIDResponse"; +export { AWSNewExternalIDResponseAttributes } from "./models/AWSNewExternalIDResponseAttributes"; +export { AWSNewExternalIDResponseData } from "./models/AWSNewExternalIDResponseData"; +export { AWSNewExternalIDResponseDataType } from "./models/AWSNewExternalIDResponseDataType"; +export { AWSRegions } from "./models/AWSRegions"; +export { AWSRegionsIncludeAll } from "./models/AWSRegionsIncludeAll"; +export { AWSRegionsIncludeOnly } from "./models/AWSRegionsIncludeOnly"; +export { AWSResourcesConfig } from "./models/AWSResourcesConfig"; +export { AWSTracesConfig } from "./models/AWSTracesConfig"; export { AzureUCConfig } from "./models/AzureUCConfig"; export { AzureUCConfigPair } from "./models/AzureUCConfigPair"; export { AzureUCConfigPairAttributes } from "./models/AzureUCConfigPairAttributes"; @@ -2223,5 +2275,8 @@ export { WorklflowCancelInstanceResponseData } from "./models/WorklflowCancelIns export { WorklflowGetInstanceResponse } from "./models/WorklflowGetInstanceResponse"; export { WorklflowGetInstanceResponseData } from "./models/WorklflowGetInstanceResponseData"; export { WorklflowGetInstanceResponseDataAttributes } from "./models/WorklflowGetInstanceResponseDataAttributes"; +export { XRayServicesIncludeAll } from "./models/XRayServicesIncludeAll"; +export { XRayServicesIncludeOnly } from "./models/XRayServicesIncludeOnly"; +export { XRayServicesList } from "./models/XRayServicesList"; export { ObjectSerializer } from "./models/ObjectSerializer"; diff --git a/packages/datadog-api-client-v2/models/AWSAccountCreateRequest.ts b/packages/datadog-api-client-v2/models/AWSAccountCreateRequest.ts new file mode 100644 index 00000000000..f5d733a0216 --- /dev/null +++ b/packages/datadog-api-client-v2/models/AWSAccountCreateRequest.ts @@ -0,0 +1,54 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { AWSAccountCreateRequestData } from "./AWSAccountCreateRequestData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * AWS Account Create Request body + */ +export class AWSAccountCreateRequest { + /** + * AWS Account Create Request data + */ + "data": AWSAccountCreateRequestData; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "AWSAccountCreateRequestData", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "any", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return AWSAccountCreateRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/AWSAccountCreateRequestAttributes.ts b/packages/datadog-api-client-v2/models/AWSAccountCreateRequestAttributes.ts new file mode 100644 index 00000000000..a607cad0ea7 --- /dev/null +++ b/packages/datadog-api-client-v2/models/AWSAccountCreateRequestAttributes.ts @@ -0,0 +1,126 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { AWSAccountPartition } from "./AWSAccountPartition"; +import { AWSAuthConfig } from "./AWSAuthConfig"; +import { AWSLogsConfig } from "./AWSLogsConfig"; +import { AWSMetricsConfig } from "./AWSMetricsConfig"; +import { AWSRegions } from "./AWSRegions"; +import { AWSResourcesConfig } from "./AWSResourcesConfig"; +import { AWSTracesConfig } from "./AWSTracesConfig"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The AWS Account Integration Config to be created + */ +export class AWSAccountCreateRequestAttributes { + /** + * Tags to apply to all metrics in the account + */ + "accountTags"?: Array; + /** + * AWS Authentication config + */ + "authConfig": AWSAuthConfig; + /** + * AWS Account ID + */ + "awsAccountId": string; + /** + * AWS Account partition + */ + "awsPartition": AWSAccountPartition; + /** + * AWS Regions to collect data from + */ + "awsRegions"?: AWSRegions; + /** + * AWS Logs config + */ + "logsConfig"?: AWSLogsConfig; + /** + * AWS Metrics config + */ + "metricsConfig"?: AWSMetricsConfig; + /** + * AWS Resources config + */ + "resourcesConfig"?: AWSResourcesConfig; + /** + * AWS Traces config + */ + "tracesConfig"?: AWSTracesConfig; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + accountTags: { + baseName: "account_tags", + type: "Array", + }, + authConfig: { + baseName: "auth_config", + type: "AWSAuthConfig", + required: true, + }, + awsAccountId: { + baseName: "aws_account_id", + type: "string", + required: true, + }, + awsPartition: { + baseName: "aws_partition", + type: "AWSAccountPartition", + required: true, + }, + awsRegions: { + baseName: "aws_regions", + type: "AWSRegions", + }, + logsConfig: { + baseName: "logs_config", + type: "AWSLogsConfig", + }, + metricsConfig: { + baseName: "metrics_config", + type: "AWSMetricsConfig", + }, + resourcesConfig: { + baseName: "resources_config", + type: "AWSResourcesConfig", + }, + tracesConfig: { + baseName: "traces_config", + type: "AWSTracesConfig", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "any", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return AWSAccountCreateRequestAttributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/AWSAccountCreateRequestData.ts b/packages/datadog-api-client-v2/models/AWSAccountCreateRequestData.ts new file mode 100644 index 00000000000..7b68be0d799 --- /dev/null +++ b/packages/datadog-api-client-v2/models/AWSAccountCreateRequestData.ts @@ -0,0 +1,64 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { AWSAccountCreateRequestAttributes } from "./AWSAccountCreateRequestAttributes"; +import { AWSAccountType } from "./AWSAccountType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * AWS Account Create Request data + */ +export class AWSAccountCreateRequestData { + /** + * The AWS Account Integration Config to be created + */ + "attributes": AWSAccountCreateRequestAttributes; + /** + * AWS Account resource type. + */ + "type": AWSAccountType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "AWSAccountCreateRequestAttributes", + required: true, + }, + type: { + baseName: "type", + type: "AWSAccountType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "any", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return AWSAccountCreateRequestData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/AWSAccountPartition.ts b/packages/datadog-api-client-v2/models/AWSAccountPartition.ts new file mode 100644 index 00000000000..dd5a2027789 --- /dev/null +++ b/packages/datadog-api-client-v2/models/AWSAccountPartition.ts @@ -0,0 +1,20 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * AWS Account partition + */ + +export type AWSAccountPartition = + | typeof AWS + | typeof AWS_CN + | typeof AWS_US_GOV + | UnparsedObject; +export const AWS = "aws"; +export const AWS_CN = "aws-cn"; +export const AWS_US_GOV = "aws-us-gov"; diff --git a/packages/datadog-api-client-v2/models/AWSAccountResponse.ts b/packages/datadog-api-client-v2/models/AWSAccountResponse.ts new file mode 100644 index 00000000000..51da5da6cc3 --- /dev/null +++ b/packages/datadog-api-client-v2/models/AWSAccountResponse.ts @@ -0,0 +1,54 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { AWSAccountResponseData } from "./AWSAccountResponseData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * AWS Account response body + */ +export class AWSAccountResponse { + /** + * AWS Account Response body + */ + "data": AWSAccountResponseData; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "AWSAccountResponseData", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "any", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return AWSAccountResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/AWSAccountResponseAttributes.ts b/packages/datadog-api-client-v2/models/AWSAccountResponseAttributes.ts new file mode 100644 index 00000000000..6bc37bf7fc1 --- /dev/null +++ b/packages/datadog-api-client-v2/models/AWSAccountResponseAttributes.ts @@ -0,0 +1,142 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { AWSAccountPartition } from "./AWSAccountPartition"; +import { AWSAuthConfig } from "./AWSAuthConfig"; +import { AWSLogsConfig } from "./AWSLogsConfig"; +import { AWSMetricsConfig } from "./AWSMetricsConfig"; +import { AWSRegions } from "./AWSRegions"; +import { AWSResourcesConfig } from "./AWSResourcesConfig"; +import { AWSTracesConfig } from "./AWSTracesConfig"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The AWS Account Integration Config + */ +export class AWSAccountResponseAttributes { + /** + * Tags to apply to all metrics in the account + */ + "accountTags"?: Array; + /** + * AWS Authentication config + */ + "authConfig"?: AWSAuthConfig; + /** + * AWS Account ID + */ + "awsAccountId": string; + /** + * AWS Account partition + */ + "awsPartition"?: AWSAccountPartition; + /** + * AWS Regions to collect data from + */ + "awsRegions"?: AWSRegions; + /** + * Timestamp of when the account integration was created + */ + "createdAt"?: Date; + /** + * AWS Logs config + */ + "logsConfig"?: AWSLogsConfig; + /** + * AWS Metrics config + */ + "metricsConfig"?: AWSMetricsConfig; + /** + * Timestamp of when the account integration was updated + */ + "modifiedAt"?: Date; + /** + * AWS Resources config + */ + "resourcesConfig"?: AWSResourcesConfig; + /** + * AWS Traces config + */ + "tracesConfig"?: AWSTracesConfig; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + accountTags: { + baseName: "account_tags", + type: "Array", + }, + authConfig: { + baseName: "auth_config", + type: "AWSAuthConfig", + }, + awsAccountId: { + baseName: "aws_account_id", + type: "string", + required: true, + }, + awsPartition: { + baseName: "aws_partition", + type: "AWSAccountPartition", + }, + awsRegions: { + baseName: "aws_regions", + type: "AWSRegions", + }, + createdAt: { + baseName: "created_at", + type: "Date", + format: "date-time", + }, + logsConfig: { + baseName: "logs_config", + type: "AWSLogsConfig", + }, + metricsConfig: { + baseName: "metrics_config", + type: "AWSMetricsConfig", + }, + modifiedAt: { + baseName: "modified_at", + type: "Date", + format: "date-time", + }, + resourcesConfig: { + baseName: "resources_config", + type: "AWSResourcesConfig", + }, + tracesConfig: { + baseName: "traces_config", + type: "AWSTracesConfig", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "any", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return AWSAccountResponseAttributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/AWSAccountResponseData.ts b/packages/datadog-api-client-v2/models/AWSAccountResponseData.ts new file mode 100644 index 00000000000..001714dcfe5 --- /dev/null +++ b/packages/datadog-api-client-v2/models/AWSAccountResponseData.ts @@ -0,0 +1,72 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { AWSAccountResponseAttributes } from "./AWSAccountResponseAttributes"; +import { AWSAccountType } from "./AWSAccountType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * AWS Account Response body + */ +export class AWSAccountResponseData { + /** + * The AWS Account Integration Config + */ + "attributes"?: AWSAccountResponseAttributes; + /** + * Unique Datadog ID of the AWS Account Integration Config + */ + "id": string; + /** + * AWS Account resource type. + */ + "type": AWSAccountType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "AWSAccountResponseAttributes", + }, + id: { + baseName: "id", + type: "string", + required: true, + }, + type: { + baseName: "type", + type: "AWSAccountType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "any", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return AWSAccountResponseData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/AWSAccountType.ts b/packages/datadog-api-client-v2/models/AWSAccountType.ts new file mode 100644 index 00000000000..4eada54609d --- /dev/null +++ b/packages/datadog-api-client-v2/models/AWSAccountType.ts @@ -0,0 +1,14 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * AWS Account resource type. + */ + +export type AWSAccountType = typeof ACCOUNT | UnparsedObject; +export const ACCOUNT = "account"; diff --git a/packages/datadog-api-client-v2/models/AWSAccountUpdateRequest.ts b/packages/datadog-api-client-v2/models/AWSAccountUpdateRequest.ts new file mode 100644 index 00000000000..3b26da994e5 --- /dev/null +++ b/packages/datadog-api-client-v2/models/AWSAccountUpdateRequest.ts @@ -0,0 +1,54 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { AWSAccountUpdateRequestData } from "./AWSAccountUpdateRequestData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * AWS Account Update Request body + */ +export class AWSAccountUpdateRequest { + /** + * AWS Account Update Request data + */ + "data": AWSAccountUpdateRequestData; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "AWSAccountUpdateRequestData", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "any", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return AWSAccountUpdateRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/AWSAccountUpdateRequestAttributes.ts b/packages/datadog-api-client-v2/models/AWSAccountUpdateRequestAttributes.ts new file mode 100644 index 00000000000..b06b9ccfa8d --- /dev/null +++ b/packages/datadog-api-client-v2/models/AWSAccountUpdateRequestAttributes.ts @@ -0,0 +1,124 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { AWSAccountPartition } from "./AWSAccountPartition"; +import { AWSAuthConfig } from "./AWSAuthConfig"; +import { AWSLogsConfig } from "./AWSLogsConfig"; +import { AWSMetricsConfig } from "./AWSMetricsConfig"; +import { AWSRegions } from "./AWSRegions"; +import { AWSResourcesConfig } from "./AWSResourcesConfig"; +import { AWSTracesConfig } from "./AWSTracesConfig"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The AWS Account Integration Config to be updated + */ +export class AWSAccountUpdateRequestAttributes { + /** + * Tags to apply to all metrics in the account + */ + "accountTags"?: Array; + /** + * AWS Authentication config + */ + "authConfig"?: AWSAuthConfig; + /** + * AWS Account ID + */ + "awsAccountId": string; + /** + * AWS Account partition + */ + "awsPartition"?: AWSAccountPartition; + /** + * AWS Regions to collect data from + */ + "awsRegions"?: AWSRegions; + /** + * AWS Logs config + */ + "logsConfig"?: AWSLogsConfig; + /** + * AWS Metrics config + */ + "metricsConfig"?: AWSMetricsConfig; + /** + * AWS Resources config + */ + "resourcesConfig"?: AWSResourcesConfig; + /** + * AWS Traces config + */ + "tracesConfig"?: AWSTracesConfig; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + accountTags: { + baseName: "account_tags", + type: "Array", + }, + authConfig: { + baseName: "auth_config", + type: "AWSAuthConfig", + }, + awsAccountId: { + baseName: "aws_account_id", + type: "string", + required: true, + }, + awsPartition: { + baseName: "aws_partition", + type: "AWSAccountPartition", + }, + awsRegions: { + baseName: "aws_regions", + type: "AWSRegions", + }, + logsConfig: { + baseName: "logs_config", + type: "AWSLogsConfig", + }, + metricsConfig: { + baseName: "metrics_config", + type: "AWSMetricsConfig", + }, + resourcesConfig: { + baseName: "resources_config", + type: "AWSResourcesConfig", + }, + tracesConfig: { + baseName: "traces_config", + type: "AWSTracesConfig", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "any", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return AWSAccountUpdateRequestAttributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/AWSAccountUpdateRequestData.ts b/packages/datadog-api-client-v2/models/AWSAccountUpdateRequestData.ts new file mode 100644 index 00000000000..26d39b14f47 --- /dev/null +++ b/packages/datadog-api-client-v2/models/AWSAccountUpdateRequestData.ts @@ -0,0 +1,72 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { AWSAccountType } from "./AWSAccountType"; +import { AWSAccountUpdateRequestAttributes } from "./AWSAccountUpdateRequestAttributes"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * AWS Account Update Request data + */ +export class AWSAccountUpdateRequestData { + /** + * The AWS Account Integration Config to be updated + */ + "attributes": AWSAccountUpdateRequestAttributes; + /** + * Unique Datadog ID of the AWS Account Integration Config + */ + "id"?: string; + /** + * AWS Account resource type. + */ + "type": AWSAccountType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "AWSAccountUpdateRequestAttributes", + required: true, + }, + id: { + baseName: "id", + type: "string", + }, + type: { + baseName: "type", + type: "AWSAccountType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "any", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return AWSAccountUpdateRequestData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/AWSAccountsResponse.ts b/packages/datadog-api-client-v2/models/AWSAccountsResponse.ts new file mode 100644 index 00000000000..2e0cb3597cf --- /dev/null +++ b/packages/datadog-api-client-v2/models/AWSAccountsResponse.ts @@ -0,0 +1,54 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { AWSAccountResponseData } from "./AWSAccountResponseData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * AWS Accounts response body + */ +export class AWSAccountsResponse { + /** + * List of AWS Account Integration Configs + */ + "data": Array; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "Array", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "any", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return AWSAccountsResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/AWSAuthConfig.ts b/packages/datadog-api-client-v2/models/AWSAuthConfig.ts new file mode 100644 index 00000000000..7ee7abb21f5 --- /dev/null +++ b/packages/datadog-api-client-v2/models/AWSAuthConfig.ts @@ -0,0 +1,18 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { AWSAuthConfigKeys } from "./AWSAuthConfigKeys"; +import { AWSAuthConfigRole } from "./AWSAuthConfigRole"; + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * AWS Authentication config + */ + +export type AWSAuthConfig = + | AWSAuthConfigKeys + | AWSAuthConfigRole + | UnparsedObject; diff --git a/packages/datadog-api-client-v2/models/AWSAuthConfigKeys.ts b/packages/datadog-api-client-v2/models/AWSAuthConfigKeys.ts new file mode 100644 index 00000000000..08345cd606b --- /dev/null +++ b/packages/datadog-api-client-v2/models/AWSAuthConfigKeys.ts @@ -0,0 +1,61 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * AWS Authentication config for key-based account + */ +export class AWSAuthConfigKeys { + /** + * AWS Access Key ID + */ + "accessKeyId": string; + /** + * AWS Secret Access Key + */ + "secretAccessKey"?: string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + accessKeyId: { + baseName: "access_key_id", + type: "string", + required: true, + }, + secretAccessKey: { + baseName: "secret_access_key", + type: "string", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "any", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return AWSAuthConfigKeys.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/AWSAuthConfigRole.ts b/packages/datadog-api-client-v2/models/AWSAuthConfigRole.ts new file mode 100644 index 00000000000..81f60497506 --- /dev/null +++ b/packages/datadog-api-client-v2/models/AWSAuthConfigRole.ts @@ -0,0 +1,61 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * AWS Authentication config for role-based account + */ +export class AWSAuthConfigRole { + /** + * AWS IAM External ID for associated role + */ + "externalId"?: string; + /** + * AWS IAM Role name + */ + "roleName": string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + externalId: { + baseName: "external_id", + type: "string", + }, + roleName: { + baseName: "role_name", + type: "string", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "any", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return AWSAuthConfigRole.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/AWSLambdaForwarderConfig.ts b/packages/datadog-api-client-v2/models/AWSLambdaForwarderConfig.ts new file mode 100644 index 00000000000..9f555b1b501 --- /dev/null +++ b/packages/datadog-api-client-v2/models/AWSLambdaForwarderConfig.ts @@ -0,0 +1,60 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * AWS Lambda forwarder + */ +export class AWSLambdaForwarderConfig { + /** + * List of Datadog Lambda Log Forwarder ARNs + */ + "lambdas"?: Array; + /** + * List of AWS services that will send logs to the Datadog Lambda Log Forwarder + */ + "sources"?: Array; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + lambdas: { + baseName: "lambdas", + type: "Array", + }, + sources: { + baseName: "sources", + type: "Array", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "any", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return AWSLambdaForwarderConfig.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/AWSLogsConfig.ts b/packages/datadog-api-client-v2/models/AWSLogsConfig.ts new file mode 100644 index 00000000000..f806285b2a3 --- /dev/null +++ b/packages/datadog-api-client-v2/models/AWSLogsConfig.ts @@ -0,0 +1,53 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { AWSLambdaForwarderConfig } from "./AWSLambdaForwarderConfig"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * AWS Logs config + */ +export class AWSLogsConfig { + /** + * AWS Lambda forwarder + */ + "lambdaForwarder"?: AWSLambdaForwarderConfig; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + lambdaForwarder: { + baseName: "lambda_forwarder", + type: "AWSLambdaForwarderConfig", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "any", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return AWSLogsConfig.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/AWSLogsServicesResponse.ts b/packages/datadog-api-client-v2/models/AWSLogsServicesResponse.ts new file mode 100644 index 00000000000..397438c1498 --- /dev/null +++ b/packages/datadog-api-client-v2/models/AWSLogsServicesResponse.ts @@ -0,0 +1,54 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { AWSLogsServicesResponseData } from "./AWSLogsServicesResponseData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * AWS Logs Services response body + */ +export class AWSLogsServicesResponse { + /** + * AWS Logs Services response body + */ + "data": AWSLogsServicesResponseData; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "AWSLogsServicesResponseData", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "any", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return AWSLogsServicesResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/AWSLogsServicesResponseAttributes.ts b/packages/datadog-api-client-v2/models/AWSLogsServicesResponseAttributes.ts new file mode 100644 index 00000000000..56f877199b2 --- /dev/null +++ b/packages/datadog-api-client-v2/models/AWSLogsServicesResponseAttributes.ts @@ -0,0 +1,53 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * AWS Logs Services response body + */ +export class AWSLogsServicesResponseAttributes { + /** + * List of AWS services that can send logs to Datadog + */ + "logsServices": Array; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + logsServices: { + baseName: "logs_services", + type: "Array", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "any", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return AWSLogsServicesResponseAttributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/AWSLogsServicesResponseData.ts b/packages/datadog-api-client-v2/models/AWSLogsServicesResponseData.ts new file mode 100644 index 00000000000..af3e0c6c4ad --- /dev/null +++ b/packages/datadog-api-client-v2/models/AWSLogsServicesResponseData.ts @@ -0,0 +1,72 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { AWSLogsServicesResponseAttributes } from "./AWSLogsServicesResponseAttributes"; +import { AWSLogsServicesResponseDataType } from "./AWSLogsServicesResponseDataType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * AWS Logs Services response body + */ +export class AWSLogsServicesResponseData { + /** + * AWS Logs Services response body + */ + "attributes"?: AWSLogsServicesResponseAttributes; + /** + * The `AWSLogsServicesResponseData` `id`. + */ + "id": string; + /** + * The `AWSLogsServicesResponseData` `type`. + */ + "type": AWSLogsServicesResponseDataType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "AWSLogsServicesResponseAttributes", + }, + id: { + baseName: "id", + type: "string", + required: true, + }, + type: { + baseName: "type", + type: "AWSLogsServicesResponseDataType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "any", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return AWSLogsServicesResponseData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/AWSLogsServicesResponseDataType.ts b/packages/datadog-api-client-v2/models/AWSLogsServicesResponseDataType.ts new file mode 100644 index 00000000000..a3d37597f5f --- /dev/null +++ b/packages/datadog-api-client-v2/models/AWSLogsServicesResponseDataType.ts @@ -0,0 +1,16 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * The `AWSLogsServicesResponseData` `type`. + */ + +export type AWSLogsServicesResponseDataType = + | typeof LOGS_SERVICES + | UnparsedObject; +export const LOGS_SERVICES = "logs_services"; diff --git a/packages/datadog-api-client-v2/models/AWSMetricsConfig.ts b/packages/datadog-api-client-v2/models/AWSMetricsConfig.ts new file mode 100644 index 00000000000..ff96dce12dd --- /dev/null +++ b/packages/datadog-api-client-v2/models/AWSMetricsConfig.ts @@ -0,0 +1,94 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { AWSNamespaceFilters } from "./AWSNamespaceFilters"; +import { AWSNamespaceTagFilter } from "./AWSNamespaceTagFilter"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * AWS Metrics config + */ +export class AWSMetricsConfig { + /** + * Enable EC2 automute for AWS metrics + */ + "automuteEnabled"?: boolean; + /** + * Enable CloudWatch alarms collection + */ + "collectCloudwatchAlarms"?: boolean; + /** + * Enable custom metrics collection + */ + "collectCustomMetrics"?: boolean; + /** + * Enable AWS metrics collection + */ + "enabled"?: boolean; + /** + * AWS Metrics namespace filters + */ + "namespaceFilters"?: AWSNamespaceFilters; + /** + * AWS Metrics tag filters list + */ + "tagFilters"?: Array; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + automuteEnabled: { + baseName: "automute_enabled", + type: "boolean", + }, + collectCloudwatchAlarms: { + baseName: "collect_cloudwatch_alarms", + type: "boolean", + }, + collectCustomMetrics: { + baseName: "collect_custom_metrics", + type: "boolean", + }, + enabled: { + baseName: "enabled", + type: "boolean", + }, + namespaceFilters: { + baseName: "namespace_filters", + type: "AWSNamespaceFilters", + }, + tagFilters: { + baseName: "tag_filters", + type: "Array", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "any", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return AWSMetricsConfig.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/AWSNamespaceFilters.ts b/packages/datadog-api-client-v2/models/AWSNamespaceFilters.ts new file mode 100644 index 00000000000..3272b0d96fc --- /dev/null +++ b/packages/datadog-api-client-v2/models/AWSNamespaceFilters.ts @@ -0,0 +1,22 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { AWSNamespaceFiltersExcludeAll } from "./AWSNamespaceFiltersExcludeAll"; +import { AWSNamespaceFiltersExcludeOnly } from "./AWSNamespaceFiltersExcludeOnly"; +import { AWSNamespaceFiltersIncludeAll } from "./AWSNamespaceFiltersIncludeAll"; +import { AWSNamespaceFiltersIncludeOnly } from "./AWSNamespaceFiltersIncludeOnly"; + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * AWS Metrics namespace filters + */ + +export type AWSNamespaceFilters = + | AWSNamespaceFiltersExcludeAll + | AWSNamespaceFiltersExcludeOnly + | AWSNamespaceFiltersIncludeAll + | AWSNamespaceFiltersIncludeOnly + | UnparsedObject; diff --git a/packages/datadog-api-client-v2/models/AWSNamespaceFiltersExcludeAll.ts b/packages/datadog-api-client-v2/models/AWSNamespaceFiltersExcludeAll.ts new file mode 100644 index 00000000000..cf997f6d4ba --- /dev/null +++ b/packages/datadog-api-client-v2/models/AWSNamespaceFiltersExcludeAll.ts @@ -0,0 +1,53 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Exclude all namespaces + */ +export class AWSNamespaceFiltersExcludeAll { + /** + * Exclude all namespaces + */ + "excludeAll": boolean; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + excludeAll: { + baseName: "exclude_all", + type: "boolean", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "any", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return AWSNamespaceFiltersExcludeAll.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/AWSNamespaceFiltersExcludeOnly.ts b/packages/datadog-api-client-v2/models/AWSNamespaceFiltersExcludeOnly.ts new file mode 100644 index 00000000000..6473f0738b5 --- /dev/null +++ b/packages/datadog-api-client-v2/models/AWSNamespaceFiltersExcludeOnly.ts @@ -0,0 +1,53 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Exclude only these namespaces + */ +export class AWSNamespaceFiltersExcludeOnly { + /** + * Exclude only these namespaces + */ + "excludeOnly": Array; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + excludeOnly: { + baseName: "exclude_only", + type: "Array", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "any", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return AWSNamespaceFiltersExcludeOnly.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/AWSNamespaceFiltersIncludeAll.ts b/packages/datadog-api-client-v2/models/AWSNamespaceFiltersIncludeAll.ts new file mode 100644 index 00000000000..c1b513b6983 --- /dev/null +++ b/packages/datadog-api-client-v2/models/AWSNamespaceFiltersIncludeAll.ts @@ -0,0 +1,53 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Include all namespaces + */ +export class AWSNamespaceFiltersIncludeAll { + /** + * Include all namespaces + */ + "includeAll": boolean; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + includeAll: { + baseName: "include_all", + type: "boolean", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "any", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return AWSNamespaceFiltersIncludeAll.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/AWSNamespaceFiltersIncludeOnly.ts b/packages/datadog-api-client-v2/models/AWSNamespaceFiltersIncludeOnly.ts new file mode 100644 index 00000000000..546a492b6e2 --- /dev/null +++ b/packages/datadog-api-client-v2/models/AWSNamespaceFiltersIncludeOnly.ts @@ -0,0 +1,53 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Include only these namespaces + */ +export class AWSNamespaceFiltersIncludeOnly { + /** + * Include only these namespaces + */ + "includeOnly": Array; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + includeOnly: { + baseName: "include_only", + type: "Array", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "any", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return AWSNamespaceFiltersIncludeOnly.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/AWSNamespaceTagFilter.ts b/packages/datadog-api-client-v2/models/AWSNamespaceTagFilter.ts new file mode 100644 index 00000000000..8bb7dca4070 --- /dev/null +++ b/packages/datadog-api-client-v2/models/AWSNamespaceTagFilter.ts @@ -0,0 +1,60 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * AWS Metrics tag filters + */ +export class AWSNamespaceTagFilter { + /** + * The AWS Namespace to apply the tag filters against + */ + "namespace"?: string; + /** + * The tags to filter based on + */ + "tags"?: Array; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + namespace: { + baseName: "namespace", + type: "string", + }, + tags: { + baseName: "tags", + type: "Array", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "any", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return AWSNamespaceTagFilter.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/AWSNamespacesResponse.ts b/packages/datadog-api-client-v2/models/AWSNamespacesResponse.ts new file mode 100644 index 00000000000..1e1c48ff621 --- /dev/null +++ b/packages/datadog-api-client-v2/models/AWSNamespacesResponse.ts @@ -0,0 +1,54 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { AWSNamespacesResponseData } from "./AWSNamespacesResponseData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * AWS Namespaces response body + */ +export class AWSNamespacesResponse { + /** + * AWS Namespaces response body + */ + "data": AWSNamespacesResponseData; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "AWSNamespacesResponseData", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "any", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return AWSNamespacesResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/AWSNamespacesResponseAttributes.ts b/packages/datadog-api-client-v2/models/AWSNamespacesResponseAttributes.ts new file mode 100644 index 00000000000..b85ede64e34 --- /dev/null +++ b/packages/datadog-api-client-v2/models/AWSNamespacesResponseAttributes.ts @@ -0,0 +1,53 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * AWS Namespaces response body + */ +export class AWSNamespacesResponseAttributes { + /** + * AWS CloudWatch namespace + */ + "namespaces": Array; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + namespaces: { + baseName: "namespaces", + type: "Array", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "any", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return AWSNamespacesResponseAttributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/AWSNamespacesResponseData.ts b/packages/datadog-api-client-v2/models/AWSNamespacesResponseData.ts new file mode 100644 index 00000000000..b1164c46553 --- /dev/null +++ b/packages/datadog-api-client-v2/models/AWSNamespacesResponseData.ts @@ -0,0 +1,72 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { AWSNamespacesResponseAttributes } from "./AWSNamespacesResponseAttributes"; +import { AWSNamespacesResponseDataType } from "./AWSNamespacesResponseDataType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * AWS Namespaces response body + */ +export class AWSNamespacesResponseData { + /** + * AWS Namespaces response body + */ + "attributes"?: AWSNamespacesResponseAttributes; + /** + * The `AWSNamespacesResponseData` `id`. + */ + "id": string; + /** + * The `AWSNamespacesResponseData` `type`. + */ + "type": AWSNamespacesResponseDataType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "AWSNamespacesResponseAttributes", + }, + id: { + baseName: "id", + type: "string", + required: true, + }, + type: { + baseName: "type", + type: "AWSNamespacesResponseDataType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "any", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return AWSNamespacesResponseData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/AWSNamespacesResponseDataType.ts b/packages/datadog-api-client-v2/models/AWSNamespacesResponseDataType.ts new file mode 100644 index 00000000000..293fa7f6692 --- /dev/null +++ b/packages/datadog-api-client-v2/models/AWSNamespacesResponseDataType.ts @@ -0,0 +1,14 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * The `AWSNamespacesResponseData` `type`. + */ + +export type AWSNamespacesResponseDataType = typeof NAMESPACES | UnparsedObject; +export const NAMESPACES = "namespaces"; diff --git a/packages/datadog-api-client-v2/models/AWSNewExternalIDResponse.ts b/packages/datadog-api-client-v2/models/AWSNewExternalIDResponse.ts new file mode 100644 index 00000000000..fdb1db8c0af --- /dev/null +++ b/packages/datadog-api-client-v2/models/AWSNewExternalIDResponse.ts @@ -0,0 +1,54 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { AWSNewExternalIDResponseData } from "./AWSNewExternalIDResponseData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * AWS External ID response body + */ +export class AWSNewExternalIDResponse { + /** + * AWS External ID response body + */ + "data": AWSNewExternalIDResponseData; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "AWSNewExternalIDResponseData", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "any", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return AWSNewExternalIDResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/AWSNewExternalIDResponseAttributes.ts b/packages/datadog-api-client-v2/models/AWSNewExternalIDResponseAttributes.ts new file mode 100644 index 00000000000..cdac0de16b3 --- /dev/null +++ b/packages/datadog-api-client-v2/models/AWSNewExternalIDResponseAttributes.ts @@ -0,0 +1,53 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * AWS External ID response body + */ +export class AWSNewExternalIDResponseAttributes { + /** + * AWS IAM External ID for associated role + */ + "externalId": string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + externalId: { + baseName: "external_id", + type: "string", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "any", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return AWSNewExternalIDResponseAttributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/AWSNewExternalIDResponseData.ts b/packages/datadog-api-client-v2/models/AWSNewExternalIDResponseData.ts new file mode 100644 index 00000000000..ef443b95bb6 --- /dev/null +++ b/packages/datadog-api-client-v2/models/AWSNewExternalIDResponseData.ts @@ -0,0 +1,72 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { AWSNewExternalIDResponseAttributes } from "./AWSNewExternalIDResponseAttributes"; +import { AWSNewExternalIDResponseDataType } from "./AWSNewExternalIDResponseDataType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * AWS External ID response body + */ +export class AWSNewExternalIDResponseData { + /** + * AWS External ID response body + */ + "attributes"?: AWSNewExternalIDResponseAttributes; + /** + * The `AWSNewExternalIDResponseData` `id`. + */ + "id": string; + /** + * The `AWSNewExternalIDResponseData` `type`. + */ + "type": AWSNewExternalIDResponseDataType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "AWSNewExternalIDResponseAttributes", + }, + id: { + baseName: "id", + type: "string", + required: true, + }, + type: { + baseName: "type", + type: "AWSNewExternalIDResponseDataType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "any", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return AWSNewExternalIDResponseData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/AWSNewExternalIDResponseDataType.ts b/packages/datadog-api-client-v2/models/AWSNewExternalIDResponseDataType.ts new file mode 100644 index 00000000000..860619cddd6 --- /dev/null +++ b/packages/datadog-api-client-v2/models/AWSNewExternalIDResponseDataType.ts @@ -0,0 +1,16 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * The `AWSNewExternalIDResponseData` `type`. + */ + +export type AWSNewExternalIDResponseDataType = + | typeof EXTERNAL_ID + | UnparsedObject; +export const EXTERNAL_ID = "external_id"; diff --git a/packages/datadog-api-client-v2/models/AWSRegions.ts b/packages/datadog-api-client-v2/models/AWSRegions.ts new file mode 100644 index 00000000000..85c5ff8cc6b --- /dev/null +++ b/packages/datadog-api-client-v2/models/AWSRegions.ts @@ -0,0 +1,18 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { AWSRegionsIncludeAll } from "./AWSRegionsIncludeAll"; +import { AWSRegionsIncludeOnly } from "./AWSRegionsIncludeOnly"; + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * AWS Regions to collect data from + */ + +export type AWSRegions = + | AWSRegionsIncludeAll + | AWSRegionsIncludeOnly + | UnparsedObject; diff --git a/packages/datadog-api-client-v2/models/AWSRegionsIncludeAll.ts b/packages/datadog-api-client-v2/models/AWSRegionsIncludeAll.ts new file mode 100644 index 00000000000..90944341a95 --- /dev/null +++ b/packages/datadog-api-client-v2/models/AWSRegionsIncludeAll.ts @@ -0,0 +1,53 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Include all regions + */ +export class AWSRegionsIncludeAll { + /** + * Include all regions + */ + "includeAll": boolean; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + includeAll: { + baseName: "include_all", + type: "boolean", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "any", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return AWSRegionsIncludeAll.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/AWSRegionsIncludeOnly.ts b/packages/datadog-api-client-v2/models/AWSRegionsIncludeOnly.ts new file mode 100644 index 00000000000..d22f49191c1 --- /dev/null +++ b/packages/datadog-api-client-v2/models/AWSRegionsIncludeOnly.ts @@ -0,0 +1,53 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Include only these regions + */ +export class AWSRegionsIncludeOnly { + /** + * Include only these regions + */ + "includeOnly": Array; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + includeOnly: { + baseName: "include_only", + type: "Array", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "any", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return AWSRegionsIncludeOnly.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/AWSResourcesConfig.ts b/packages/datadog-api-client-v2/models/AWSResourcesConfig.ts new file mode 100644 index 00000000000..c0a9d2a3d69 --- /dev/null +++ b/packages/datadog-api-client-v2/models/AWSResourcesConfig.ts @@ -0,0 +1,60 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * AWS Resources config + */ +export class AWSResourcesConfig { + /** + * Whether Datadog collects cloud security posture management resources from your AWS account. + */ + "cloudSecurityPostureManagementCollection"?: boolean; + /** + * Whether Datadog collects additional attributes and configuration information about the resources in your AWS account. Required for `cspm_resource_collection`. + */ + "extendedCollection"?: boolean; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + cloudSecurityPostureManagementCollection: { + baseName: "cloud_security_posture_management_collection", + type: "boolean", + }, + extendedCollection: { + baseName: "extended_collection", + type: "boolean", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "any", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return AWSResourcesConfig.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/AWSTracesConfig.ts b/packages/datadog-api-client-v2/models/AWSTracesConfig.ts new file mode 100644 index 00000000000..962ba646d56 --- /dev/null +++ b/packages/datadog-api-client-v2/models/AWSTracesConfig.ts @@ -0,0 +1,53 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { XRayServicesList } from "./XRayServicesList"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * AWS Traces config + */ +export class AWSTracesConfig { + /** + * AWS X-Ray services to collect traces from + */ + "xrayServices"?: XRayServicesList; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + xrayServices: { + baseName: "xray_services", + type: "XRayServicesList", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "any", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return AWSTracesConfig.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/ObjectSerializer.ts b/packages/datadog-api-client-v2/models/ObjectSerializer.ts index d71f0eb37e8..2e3d0c131b7 100644 --- a/packages/datadog-api-client-v2/models/ObjectSerializer.ts +++ b/packages/datadog-api-client-v2/models/ObjectSerializer.ts @@ -10,6 +10,39 @@ import { APIKeyUpdateRequest } from "./APIKeyUpdateRequest"; import { APIKeysResponse } from "./APIKeysResponse"; import { APIKeysResponseMeta } from "./APIKeysResponseMeta"; import { APIKeysResponseMetaPage } from "./APIKeysResponseMetaPage"; +import { AWSAccountCreateRequest } from "./AWSAccountCreateRequest"; +import { AWSAccountCreateRequestAttributes } from "./AWSAccountCreateRequestAttributes"; +import { AWSAccountCreateRequestData } from "./AWSAccountCreateRequestData"; +import { AWSAccountResponse } from "./AWSAccountResponse"; +import { AWSAccountResponseAttributes } from "./AWSAccountResponseAttributes"; +import { AWSAccountResponseData } from "./AWSAccountResponseData"; +import { AWSAccountUpdateRequest } from "./AWSAccountUpdateRequest"; +import { AWSAccountUpdateRequestAttributes } from "./AWSAccountUpdateRequestAttributes"; +import { AWSAccountUpdateRequestData } from "./AWSAccountUpdateRequestData"; +import { AWSAccountsResponse } from "./AWSAccountsResponse"; +import { AWSAuthConfigKeys } from "./AWSAuthConfigKeys"; +import { AWSAuthConfigRole } from "./AWSAuthConfigRole"; +import { AWSLambdaForwarderConfig } from "./AWSLambdaForwarderConfig"; +import { AWSLogsConfig } from "./AWSLogsConfig"; +import { AWSLogsServicesResponse } from "./AWSLogsServicesResponse"; +import { AWSLogsServicesResponseAttributes } from "./AWSLogsServicesResponseAttributes"; +import { AWSLogsServicesResponseData } from "./AWSLogsServicesResponseData"; +import { AWSMetricsConfig } from "./AWSMetricsConfig"; +import { AWSNamespaceFiltersExcludeAll } from "./AWSNamespaceFiltersExcludeAll"; +import { AWSNamespaceFiltersExcludeOnly } from "./AWSNamespaceFiltersExcludeOnly"; +import { AWSNamespaceFiltersIncludeAll } from "./AWSNamespaceFiltersIncludeAll"; +import { AWSNamespaceFiltersIncludeOnly } from "./AWSNamespaceFiltersIncludeOnly"; +import { AWSNamespaceTagFilter } from "./AWSNamespaceTagFilter"; +import { AWSNamespacesResponse } from "./AWSNamespacesResponse"; +import { AWSNamespacesResponseAttributes } from "./AWSNamespacesResponseAttributes"; +import { AWSNamespacesResponseData } from "./AWSNamespacesResponseData"; +import { AWSNewExternalIDResponse } from "./AWSNewExternalIDResponse"; +import { AWSNewExternalIDResponseAttributes } from "./AWSNewExternalIDResponseAttributes"; +import { AWSNewExternalIDResponseData } from "./AWSNewExternalIDResponseData"; +import { AWSRegionsIncludeAll } from "./AWSRegionsIncludeAll"; +import { AWSRegionsIncludeOnly } from "./AWSRegionsIncludeOnly"; +import { AWSResourcesConfig } from "./AWSResourcesConfig"; +import { AWSTracesConfig } from "./AWSTracesConfig"; import { ActiveBillingDimensionsAttributes } from "./ActiveBillingDimensionsAttributes"; import { ActiveBillingDimensionsBody } from "./ActiveBillingDimensionsBody"; import { ActiveBillingDimensionsResponse } from "./ActiveBillingDimensionsResponse"; @@ -1289,6 +1322,8 @@ import { WorklflowCancelInstanceResponseData } from "./WorklflowCancelInstanceRe import { WorklflowGetInstanceResponse } from "./WorklflowGetInstanceResponse"; import { WorklflowGetInstanceResponseData } from "./WorklflowGetInstanceResponseData"; import { WorklflowGetInstanceResponseDataAttributes } from "./WorklflowGetInstanceResponseDataAttributes"; +import { XRayServicesIncludeAll } from "./XRayServicesIncludeAll"; +import { XRayServicesIncludeOnly } from "./XRayServicesIncludeOnly"; import { dateFromRFC3339String, dateToRFC3339String, @@ -1328,6 +1363,11 @@ const enumsMap: { [key: string]: any[] } = { "-name", ], APIKeysType: ["api_keys"], + AWSAccountPartition: ["aws", "aws-cn", "aws-us-gov"], + AWSAccountType: ["account"], + AWSLogsServicesResponseDataType: ["logs_services"], + AWSNamespacesResponseDataType: ["namespaces"], + AWSNewExternalIDResponseDataType: ["external_id"], ActiveBillingDimensionsType: ["billing_dimensions"], ApmRetentionFilterType: ["apm_retention_filter"], ApplicationKeysSort: [ @@ -1965,6 +2005,39 @@ const typeMap: { [index: string]: any } = { APIKeysResponse: APIKeysResponse, APIKeysResponseMeta: APIKeysResponseMeta, APIKeysResponseMetaPage: APIKeysResponseMetaPage, + AWSAccountCreateRequest: AWSAccountCreateRequest, + AWSAccountCreateRequestAttributes: AWSAccountCreateRequestAttributes, + AWSAccountCreateRequestData: AWSAccountCreateRequestData, + AWSAccountResponse: AWSAccountResponse, + AWSAccountResponseAttributes: AWSAccountResponseAttributes, + AWSAccountResponseData: AWSAccountResponseData, + AWSAccountUpdateRequest: AWSAccountUpdateRequest, + AWSAccountUpdateRequestAttributes: AWSAccountUpdateRequestAttributes, + AWSAccountUpdateRequestData: AWSAccountUpdateRequestData, + AWSAccountsResponse: AWSAccountsResponse, + AWSAuthConfigKeys: AWSAuthConfigKeys, + AWSAuthConfigRole: AWSAuthConfigRole, + AWSLambdaForwarderConfig: AWSLambdaForwarderConfig, + AWSLogsConfig: AWSLogsConfig, + AWSLogsServicesResponse: AWSLogsServicesResponse, + AWSLogsServicesResponseAttributes: AWSLogsServicesResponseAttributes, + AWSLogsServicesResponseData: AWSLogsServicesResponseData, + AWSMetricsConfig: AWSMetricsConfig, + AWSNamespaceFiltersExcludeAll: AWSNamespaceFiltersExcludeAll, + AWSNamespaceFiltersExcludeOnly: AWSNamespaceFiltersExcludeOnly, + AWSNamespaceFiltersIncludeAll: AWSNamespaceFiltersIncludeAll, + AWSNamespaceFiltersIncludeOnly: AWSNamespaceFiltersIncludeOnly, + AWSNamespaceTagFilter: AWSNamespaceTagFilter, + AWSNamespacesResponse: AWSNamespacesResponse, + AWSNamespacesResponseAttributes: AWSNamespacesResponseAttributes, + AWSNamespacesResponseData: AWSNamespacesResponseData, + AWSNewExternalIDResponse: AWSNewExternalIDResponse, + AWSNewExternalIDResponseAttributes: AWSNewExternalIDResponseAttributes, + AWSNewExternalIDResponseData: AWSNewExternalIDResponseData, + AWSRegionsIncludeAll: AWSRegionsIncludeAll, + AWSRegionsIncludeOnly: AWSRegionsIncludeOnly, + AWSResourcesConfig: AWSResourcesConfig, + AWSTracesConfig: AWSTracesConfig, ActiveBillingDimensionsAttributes: ActiveBillingDimensionsAttributes, ActiveBillingDimensionsBody: ActiveBillingDimensionsBody, ActiveBillingDimensionsResponse: ActiveBillingDimensionsResponse, @@ -3392,10 +3465,20 @@ const typeMap: { [index: string]: any } = { WorklflowGetInstanceResponseData: WorklflowGetInstanceResponseData, WorklflowGetInstanceResponseDataAttributes: WorklflowGetInstanceResponseDataAttributes, + XRayServicesIncludeAll: XRayServicesIncludeAll, + XRayServicesIncludeOnly: XRayServicesIncludeOnly, }; const oneOfMap: { [index: string]: string[] } = { APIKeyResponseIncludedItem: ["User", "LeakedKey"], + AWSAuthConfig: ["AWSAuthConfigKeys", "AWSAuthConfigRole"], + AWSNamespaceFilters: [ + "AWSNamespaceFiltersExcludeAll", + "AWSNamespaceFiltersExcludeOnly", + "AWSNamespaceFiltersIncludeAll", + "AWSNamespaceFiltersIncludeOnly", + ], + AWSRegions: ["AWSRegionsIncludeAll", "AWSRegionsIncludeOnly"], ApplicationKeyResponseIncludedItem: ["User", "Role", "LeakedKey"], AuthNMappingCreateRelationships: [ "AuthNMappingRelationshipToRole", @@ -3598,6 +3681,7 @@ const oneOfMap: { [index: string]: string[] } = { UpsertCatalogEntityResponseIncludedItem: ["EntityResponseIncludedSchema"], UserResponseIncludedItem: ["Organization", "Permission", "Role"], UserTeamIncluded: ["User", "Team"], + XRayServicesList: ["XRayServicesIncludeAll", "XRayServicesIncludeOnly"], }; export class ObjectSerializer { diff --git a/packages/datadog-api-client-v2/models/XRayServicesIncludeAll.ts b/packages/datadog-api-client-v2/models/XRayServicesIncludeAll.ts new file mode 100644 index 00000000000..5adfcbe6389 --- /dev/null +++ b/packages/datadog-api-client-v2/models/XRayServicesIncludeAll.ts @@ -0,0 +1,53 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Include all services + */ +export class XRayServicesIncludeAll { + /** + * Include all services + */ + "includeAll": boolean; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + includeAll: { + baseName: "include_all", + type: "boolean", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "any", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return XRayServicesIncludeAll.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/XRayServicesIncludeOnly.ts b/packages/datadog-api-client-v2/models/XRayServicesIncludeOnly.ts new file mode 100644 index 00000000000..82dad58d091 --- /dev/null +++ b/packages/datadog-api-client-v2/models/XRayServicesIncludeOnly.ts @@ -0,0 +1,53 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Include only these services + */ +export class XRayServicesIncludeOnly { + /** + * Include only these services + */ + "includeOnly": Array; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + includeOnly: { + baseName: "include_only", + type: "Array", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "any", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return XRayServicesIncludeOnly.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/XRayServicesList.ts b/packages/datadog-api-client-v2/models/XRayServicesList.ts new file mode 100644 index 00000000000..dab9024b3fa --- /dev/null +++ b/packages/datadog-api-client-v2/models/XRayServicesList.ts @@ -0,0 +1,18 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { XRayServicesIncludeAll } from "./XRayServicesIncludeAll"; +import { XRayServicesIncludeOnly } from "./XRayServicesIncludeOnly"; + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * AWS X-Ray services to collect traces from + */ + +export type XRayServicesList = + | XRayServicesIncludeAll + | XRayServicesIncludeOnly + | UnparsedObject;