diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index db9d07fc09fe..f3d3ffaa56b6 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -59638,6 +59638,39 @@ paths: summary: Get AWS integration IAM permissions tags: - AWS Integration + /api/v2/integration/aws/iam_permissions/resource_collection: + get: + description: Get all resource collection AWS IAM permissions required for the + AWS integration. + operationId: GetAWSIntegrationIAMPermissionsResourceCollection + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AWSIntegrationIamPermissionsResponse' + description: AWS integration resource collection IAM permissions. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get resource collection IAM permissions + tags: + - AWS Integration + /api/v2/integration/aws/iam_permissions/standard: + get: + description: Get all standard AWS IAM permissions required for the AWS integration. + operationId: GetAWSIntegrationIAMPermissionsStandard + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/AWSIntegrationIamPermissionsResponse' + description: AWS integration standard IAM permissions. + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get AWS integration standard IAM permissions + tags: + - AWS Integration /api/v2/integration/aws/logs/services: get: description: Get a list of AWS services that can send logs to Datadog. diff --git a/cassettes/v2/AWS-Integration_2071210100/Get-AWS-integration-standard-IAM-permissions-returns-AWS-IAM-Permissions-object-response_3797730975/frozen.json b/cassettes/v2/AWS-Integration_2071210100/Get-AWS-integration-standard-IAM-permissions-returns-AWS-IAM-Permissions-object-response_3797730975/frozen.json new file mode 100644 index 000000000000..fe521e29017f --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/Get-AWS-integration-standard-IAM-permissions-returns-AWS-IAM-Permissions-object-response_3797730975/frozen.json @@ -0,0 +1 @@ +"2025-09-17T18:27:22.560Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/Get-AWS-integration-standard-IAM-permissions-returns-AWS-IAM-Permissions-object-response_3797730975/recording.har b/cassettes/v2/AWS-Integration_2071210100/Get-AWS-integration-standard-IAM-permissions-returns-AWS-IAM-Permissions-object-response_3797730975/recording.har new file mode 100644 index 000000000000..3a4feb963592 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/Get-AWS-integration-standard-IAM-permissions-returns-AWS-IAM-Permissions-object-response_3797730975/recording.har @@ -0,0 +1,57 @@ +{ + "log": { + "_recordingName": "AWS Integration/Get AWS integration standard IAM permissions returns \"AWS IAM Permissions object\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "2b3cccad5c2d275b807cf9b05ceea232", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 560, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/iam_permissions/standard" + }, + "response": { + "bodySize": 2696, + "content": { + "mimeType": "application/vnd.api+json", + "size": 2696, + "text": "{\"data\":{\"id\":\"permissions\",\"type\":\"permissions\",\"attributes\":{\"permissions\":[\"account:GetAccountInformation\",\"airflow:GetEnvironment\",\"airflow:ListEnvironments\",\"apigateway:GET\",\"appsync:ListGraphqlApis\",\"autoscaling:Describe*\",\"backup:List*\",\"batch:DescribeJobDefinitions\",\"bcm-data-exports:GetExport\",\"bcm-data-exports:ListExports\",\"budgets:ViewBudget\",\"cloudfront:GetDistributionConfig\",\"cloudfront:ListDistributions\",\"cloudtrail:DescribeTrails\",\"cloudtrail:GetTrail\",\"cloudtrail:GetTrailStatus\",\"cloudtrail:ListTrails\",\"cloudtrail:LookupEvents\",\"cloudwatch:Describe*\",\"cloudwatch:Get*\",\"cloudwatch:List*\",\"codebuild:BatchGetProjects\",\"codebuild:ListProjects\",\"codedeploy:BatchGet*\",\"codedeploy:List*\",\"cur:DescribeReportDefinitions\",\"directconnect:Describe*\",\"dms:DescribeReplicationInstances\",\"dynamodb:Describe*\",\"dynamodb:List*\",\"ec2:Describe*\",\"ecs:Describe*\",\"ecs:List*\",\"eks:DescribeCluster\",\"eks:ListClusters\",\"elasticache:Describe*\",\"elasticache:List*\",\"elasticfilesystem:DescribeAccessPoints\",\"elasticfilesystem:DescribeFileSystems\",\"elasticfilesystem:DescribeTags\",\"elasticloadbalancing:Describe*\",\"elasticmapreduce:Describe*\",\"elasticmapreduce:List*\",\"es:DescribeElasticsearchDomains\",\"es:ListDomainNames\",\"es:ListTags\",\"events:CreateEventBus\",\"fsx:DescribeFileSystems\",\"fsx:ListTagsForResource\",\"health:DescribeAffectedEntities\",\"health:DescribeEventDetails\",\"health:DescribeEvents\",\"iam:ListAccountAliases\",\"kinesis:Describe*\",\"kinesis:List*\",\"lambda:List*\",\"logs:DeleteSubscriptionFilter\",\"logs:DescribeDeliveries\",\"logs:DescribeDeliverySources\",\"logs:DescribeLogGroups\",\"logs:DescribeLogStreams\",\"logs:DescribeSubscriptionFilters\",\"logs:FilterLogEvents\",\"logs:GetDeliveryDestination\",\"logs:PutSubscriptionFilter\",\"logs:TestMetricFilter\",\"network-firewall:DescribeLoggingConfiguration\",\"network-firewall:ListFirewalls\",\"oam:ListAttachedLinks\",\"oam:ListSinks\",\"organizations:Describe*\",\"organizations:List*\",\"rds:Describe*\",\"rds:List*\",\"redshift-serverless:ListNamespaces\",\"redshift:DescribeClusters\",\"redshift:DescribeLoggingStatus\",\"route53:List*\",\"route53resolver:ListResolverQueryLogConfigs\",\"s3:GetBucketLocation\",\"s3:GetBucketLogging\",\"s3:GetBucketNotification\",\"s3:GetBucketTagging\",\"s3:ListAllMyBuckets\",\"s3:PutBucketNotification\",\"ses:Get*\",\"ses:List*\",\"sns:GetSubscriptionAttributes\",\"sns:List*\",\"sns:Publish\",\"sqs:ListQueues\",\"ssm:GetServiceSetting\",\"ssm:ListCommands\",\"states:DescribeStateMachine\",\"states:ListStateMachines\",\"support:DescribeTrustedAdvisor*\",\"support:RefreshTrustedAdvisorCheck\",\"tag:GetResources\",\"tag:GetTagKeys\",\"tag:GetTagValues\",\"timestream:DescribeEndpoints\",\"wafv2:ListLoggingConfigurations\",\"xray:BatchGetTraces\",\"xray:GetTraceSummaries\"]}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 526, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-17T18:27:22.790Z", + "time": 88 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/AWS-Integration_2071210100/Get-resource-collection-IAM-permissions-returns-AWS-IAM-Permissions-object-response_260611785/frozen.json b/cassettes/v2/AWS-Integration_2071210100/Get-resource-collection-IAM-permissions-returns-AWS-IAM-Permissions-object-response_260611785/frozen.json new file mode 100644 index 000000000000..c21843ce1d20 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/Get-resource-collection-IAM-permissions-returns-AWS-IAM-Permissions-object-response_260611785/frozen.json @@ -0,0 +1 @@ +"2025-09-17T18:27:22.885Z" diff --git a/cassettes/v2/AWS-Integration_2071210100/Get-resource-collection-IAM-permissions-returns-AWS-IAM-Permissions-object-response_260611785/recording.har b/cassettes/v2/AWS-Integration_2071210100/Get-resource-collection-IAM-permissions-returns-AWS-IAM-Permissions-object-response_260611785/recording.har new file mode 100644 index 000000000000..b89d1e2cd440 --- /dev/null +++ b/cassettes/v2/AWS-Integration_2071210100/Get-resource-collection-IAM-permissions-returns-AWS-IAM-Permissions-object-response_260611785/recording.har @@ -0,0 +1,57 @@ +{ + "log": { + "_recordingName": "AWS Integration/Get resource collection IAM permissions returns \"AWS IAM Permissions object\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "1f0a080da8c4982a04a5918d674b2f4c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 581, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/integration/aws/iam_permissions/resource_collection" + }, + "response": { + "bodySize": 20159, + "content": { + "mimeType": "application/vnd.api+json", + "size": 20159, + "text": "{\"data\":{\"id\":\"permissions\",\"type\":\"permissions\",\"attributes\":{\"permissions\":[\"account:GetContactInformation\",\"amplify:ListApps\",\"amplify:ListArtifacts\",\"amplify:ListBackendEnvironments\",\"amplify:ListBranches\",\"amplify:ListDomainAssociations\",\"amplify:ListJobs\",\"amplify:ListWebhooks\",\"aoss:BatchGetCollection\",\"aoss:ListCollections\",\"app-integrations:GetApplication\",\"app-integrations:GetDataIntegration\",\"app-integrations:ListApplicationAssociations\",\"app-integrations:ListApplications\",\"app-integrations:ListDataIntegrationAssociations\",\"app-integrations:ListDataIntegrations\",\"app-integrations:ListEventIntegrationAssociations\",\"app-integrations:ListEventIntegrations\",\"appstream:DescribeAppBlockBuilders\",\"appstream:DescribeAppBlocks\",\"appstream:DescribeApplications\",\"appstream:DescribeFleets\",\"appstream:DescribeImageBuilders\",\"appstream:DescribeImages\",\"appstream:DescribeStacks\",\"appsync:GetGraphqlApi\",\"aps:DescribeRuleGroupsNamespace\",\"aps:DescribeScraper\",\"aps:DescribeWorkspace\",\"aps:ListRuleGroupsNamespaces\",\"aps:ListScrapers\",\"aps:ListWorkspaces\",\"athena:BatchGetNamedQuery\",\"athena:BatchGetPreparedStatement\",\"auditmanager:GetAssessment\",\"auditmanager:GetAssessmentFramework\",\"auditmanager:GetControl\",\"b2bi:GetCapability\",\"b2bi:GetPartnership\",\"b2bi:GetProfile\",\"b2bi:GetTransformer\",\"b2bi:ListCapabilities\",\"b2bi:ListPartnerships\",\"b2bi:ListProfiles\",\"b2bi:ListTransformers\",\"backup-gateway:GetGateway\",\"backup-gateway:GetHypervisor\",\"backup-gateway:GetVirtualMachine\",\"backup-gateway:ListGateways\",\"backup-gateway:ListHypervisors\",\"backup-gateway:ListVirtualMachines\",\"backup:DescribeFramework\",\"backup:GetLegalHold\",\"backup:ListBackupPlans\",\"backup:ListFrameworks\",\"backup:ListLegalHolds\",\"backup:ListProtectedResources\",\"backup:ListRecoveryPointsByBackupVault\",\"batch:DescribeJobQueues\",\"batch:DescribeSchedulingPolicies\",\"batch:ListSchedulingPolicies\",\"bedrock:GetAgent\",\"bedrock:GetAgentActionGroup\",\"bedrock:GetAsyncInvoke\",\"bedrock:GetBlueprint\",\"bedrock:GetDataSource\",\"bedrock:GetEvaluationJob\",\"bedrock:GetFlow\",\"bedrock:GetFlowVersion\",\"bedrock:GetGuardrail\",\"bedrock:GetKnowledgeBase\",\"bedrock:GetModelInvocationJob\",\"bedrock:GetPrompt\",\"bedrock:ListAgentCollaborators\",\"bedrock:ListAsyncInvokes\",\"bedrock:ListBlueprints\",\"bedrock:ListKnowledgeBaseDocuments\",\"cassandra:Select\",\"ce:DescribeCostCategoryDefinition\",\"ce:GetAnomalyMonitors\",\"ce:GetAnomalySubscriptions\",\"ce:GetCostCategories\",\"cloudformation:DescribeGeneratedTemplate\",\"cloudformation:DescribeResourceScan\",\"cloudformation:ListGeneratedTemplates\",\"cloudformation:ListResourceScans\",\"cloudformation:ListTypes\",\"cloudhsm:DescribeBackups\",\"cloudhsm:DescribeClusters\",\"codeartifact:DescribeDomain\",\"codeartifact:DescribePackageGroup\",\"codeartifact:DescribeRepository\",\"codeartifact:ListDomains\",\"codeartifact:ListPackageGroups\",\"codeartifact:ListPackages\",\"codeguru-profiler:ListFindingsReports\",\"codeguru-profiler:ListProfilingGroups\",\"codeguru-reviewer:ListCodeReviews\",\"codeguru-reviewer:ListRepositoryAssociations\",\"codeguru-security:GetFindings\",\"codeguru-security:GetScan\",\"codeguru-security:ListScans\",\"codepipeline:GetActionType\",\"codepipeline:ListActionTypes\",\"codepipeline:ListWebhooks\",\"connect:DescribeAgentStatus\",\"connect:DescribeAuthenticationProfile\",\"connect:DescribeContactFlow\",\"connect:DescribeContactFlowModule\",\"connect:DescribeHoursOfOperation\",\"connect:DescribeInstance\",\"connect:DescribeQueue\",\"connect:DescribeQuickConnect\",\"connect:DescribeRoutingProfile\",\"connect:DescribeSecurityProfile\",\"connect:DescribeUser\",\"connect:ListAgentStatuses\",\"connect:ListAuthenticationProfiles\",\"connect:ListContactFlowModules\",\"connect:ListContactFlows\",\"connect:ListHoursOfOperations\",\"connect:ListQueues\",\"connect:ListQuickConnects\",\"connect:ListRoutingProfiles\",\"connect:ListSecurityProfiles\",\"connect:ListUsers\",\"controltower:GetLandingZone\",\"controltower:ListEnabledBaselines\",\"controltower:ListEnabledControls\",\"controltower:ListLandingZones\",\"databrew:ListDatasets\",\"databrew:ListRecipes\",\"databrew:ListRulesets\",\"databrew:ListSchedules\",\"datazone:GetDomain\",\"datazone:ListDomains\",\"deadline:GetBudget\",\"deadline:GetLicenseEndpoint\",\"deadline:GetQueue\",\"deadline:ListBudgets\",\"deadline:ListFarms\",\"deadline:ListFleets\",\"deadline:ListLicenseEndpoints\",\"deadline:ListMonitors\",\"deadline:ListQueues\",\"deadline:ListWorkers\",\"devicefarm:ListDeviceInstances\",\"devicefarm:ListDevicePools\",\"devicefarm:ListDevices\",\"devicefarm:ListInstanceProfiles\",\"devicefarm:ListNetworkProfiles\",\"devicefarm:ListRemoteAccessSessions\",\"devicefarm:ListTestGridProjects\",\"devicefarm:ListTestGridSessions\",\"devicefarm:ListUploads\",\"devicefarm:ListVPCEConfigurations\",\"dlm:GetLifecyclePolicies\",\"dlm:GetLifecyclePolicy\",\"docdb-elastic:GetCluster\",\"docdb-elastic:GetClusterSnapshot\",\"docdb-elastic:ListClusterSnapshots\",\"drs:DescribeJobs\",\"drs:DescribeLaunchConfigurationTemplates\",\"drs:DescribeRecoveryInstances\",\"drs:DescribeReplicationConfigurationTemplates\",\"drs:DescribeSourceNetworks\",\"drs:DescribeSourceServers\",\"dsql:GetCluster\",\"dsql:ListClusters\",\"dynamodb:DescribeBackup\",\"dynamodb:DescribeStream\",\"ec2:GetAllowedImagesSettings\",\"ec2:GetEbsDefaultKmsKeyId\",\"ec2:GetInstanceMetadataDefaults\",\"ec2:GetSerialConsoleAccessStatus\",\"ec2:GetSnapshotBlockPublicAccessState\",\"ec2:GetVerifiedAccessEndpointPolicy\",\"ec2:GetVerifiedAccessEndpointTargets\",\"ec2:GetVerifiedAccessGroupPolicy\",\"eks:DescribeAccessEntry\",\"eks:DescribeAddon\",\"eks:DescribeIdentityProviderConfig\",\"eks:DescribeInsight\",\"eks:DescribePodIdentityAssociation\",\"eks:DescribeUpdate\",\"eks:ListAccessEntries\",\"eks:ListAddons\",\"eks:ListAssociatedAccessPolicies\",\"eks:ListEksAnywhereSubscriptions\",\"eks:ListIdentityProviderConfigs\",\"eks:ListInsights\",\"eks:ListPodIdentityAssociations\",\"elasticmapreduce:ListInstanceFleets\",\"elasticmapreduce:ListInstanceGroups\",\"emr-containers:ListManagedEndpoints\",\"emr-containers:ListSecurityConfigurations\",\"emr-containers:ListVirtualClusters\",\"frauddetector:DescribeDetector\",\"frauddetector:DescribeModelVersions\",\"frauddetector:GetBatchImportJobs\",\"frauddetector:GetBatchPredictionJobs\",\"frauddetector:GetDetectorVersion\",\"frauddetector:GetEntityTypes\",\"frauddetector:GetEventTypes\",\"frauddetector:GetExternalModels\",\"frauddetector:GetLabels\",\"frauddetector:GetListsMetadata\",\"frauddetector:GetModels\",\"frauddetector:GetOutcomes\",\"frauddetector:GetRules\",\"frauddetector:GetVariables\",\"gamelift:DescribeGameSessionQueues\",\"gamelift:DescribeMatchmakingConfigurations\",\"gamelift:DescribeMatchmakingRuleSets\",\"gamelift:ListAliases\",\"gamelift:ListContainerFleets\",\"gamelift:ListContainerGroupDefinitions\",\"gamelift:ListGameServerGroups\",\"gamelift:ListLocations\",\"gamelift:ListScripts\",\"geo:DescribeGeofenceCollection\",\"geo:DescribeKey\",\"geo:DescribeMap\",\"geo:DescribePlaceIndex\",\"geo:DescribeRouteCalculator\",\"geo:DescribeTracker\",\"geo:ListGeofenceCollections\",\"geo:ListKeys\",\"geo:ListPlaceIndexes\",\"geo:ListRouteCalculators\",\"geo:ListTrackers\",\"glacier:GetVaultNotifications\",\"glue:ListRegistries\",\"grafana:DescribeWorkspace\",\"greengrass:GetBulkDeploymentStatus\",\"greengrass:GetComponent\",\"greengrass:GetConnectivityInfo\",\"greengrass:GetCoreDevice\",\"greengrass:GetDeployment\",\"greengrass:GetGroup\",\"imagebuilder:GetContainerRecipe\",\"imagebuilder:GetDistributionConfiguration\",\"imagebuilder:GetImageRecipe\",\"imagebuilder:GetInfrastructureConfiguration\",\"imagebuilder:GetLifecyclePolicy\",\"imagebuilder:GetWorkflow\",\"imagebuilder:ListComponents\",\"imagebuilder:ListContainerRecipes\",\"imagebuilder:ListDistributionConfigurations\",\"imagebuilder:ListImagePipelines\",\"imagebuilder:ListImageRecipes\",\"imagebuilder:ListImages\",\"imagebuilder:ListInfrastructureConfigurations\",\"imagebuilder:ListLifecyclePolicies\",\"imagebuilder:ListWorkflows\",\"iotfleetwise:GetCampaign\",\"iotfleetwise:GetSignalCatalog\",\"iotfleetwise:GetStateTemplate\",\"iotfleetwise:GetVehicle\",\"iotfleetwise:ListCampaigns\",\"iotfleetwise:ListDecoderManifests\",\"iotfleetwise:ListFleets\",\"iotfleetwise:ListSignalCatalogs\",\"iotfleetwise:ListStateTemplates\",\"iotfleetwise:ListVehicles\",\"iotsitewise:DescribeAsset\",\"iotsitewise:DescribeAssetModel\",\"iotsitewise:DescribeDashboard\",\"iotsitewise:DescribeDataset\",\"iotsitewise:DescribePortal\",\"iotsitewise:DescribeProject\",\"iotsitewise:ListAssets\",\"iotsitewise:ListDashboards\",\"iotsitewise:ListDatasets\",\"iotsitewise:ListPortals\",\"iotsitewise:ListProjects\",\"iotsitewise:ListTimeSeries\",\"iottwinmaker:GetComponentType\",\"iottwinmaker:GetEntity\",\"iottwinmaker:GetScene\",\"iottwinmaker:GetWorkspace\",\"iottwinmaker:ListComponentTypes\",\"iottwinmaker:ListEntities\",\"iottwinmaker:ListScenes\",\"iotwireless:GetDeviceProfile\",\"iotwireless:GetMulticastGroup\",\"iotwireless:GetNetworkAnalyzerConfiguration\",\"iotwireless:GetServiceProfile\",\"iotwireless:GetWirelessDevice\",\"iotwireless:GetWirelessGateway\",\"iotwireless:ListDestinations\",\"iotwireless:ListDeviceProfiles\",\"iotwireless:ListMulticastGroups\",\"iotwireless:ListNetworkAnalyzerConfigurations\",\"iotwireless:ListServiceProfiles\",\"iotwireless:ListWirelessDevices\",\"iotwireless:ListWirelessGateways\",\"ivs:GetChannel\",\"ivs:GetComposition\",\"ivs:GetEncoderConfiguration\",\"ivs:GetIngestConfiguration\",\"ivs:GetPublicKey\",\"ivs:GetRecordingConfiguration\",\"ivs:GetStage\",\"ivs:ListChannels\",\"ivs:ListCompositions\",\"ivs:ListEncoderConfigurations\",\"ivs:ListIngestConfigurations\",\"ivs:ListPlaybackKeyPairs\",\"ivs:ListPlaybackRestrictionPolicies\",\"ivs:ListPublicKeys\",\"ivs:ListRecordingConfigurations\",\"ivs:ListStages\",\"ivs:ListStorageConfigurations\",\"ivs:ListStreamKeys\",\"ivschat:GetLoggingConfiguration\",\"ivschat:GetRoom\",\"ivschat:ListLoggingConfigurations\",\"ivschat:ListRooms\",\"lakeformation:GetDataLakeSettings\",\"lakeformation:ListPermissions\",\"lambda:GetFunction\",\"launchwizard:GetDeployment\",\"launchwizard:ListDeployments\",\"lightsail:GetAlarms\",\"lightsail:GetCertificates\",\"lightsail:GetDistributions\",\"lightsail:GetInstancePortStates\",\"lightsail:GetRelationalDatabaseParameters\",\"lightsail:GetRelationalDatabaseSnapshots\",\"lightsail:GetRelationalDatabases\",\"lightsail:GetStaticIps\",\"macie2:GetAllowList\",\"macie2:GetCustomDataIdentifier\",\"macie2:GetMacieSession\",\"macie2:ListAllowLists\",\"macie2:ListCustomDataIdentifiers\",\"macie2:ListMembers\",\"managedblockchain:GetAccessor\",\"managedblockchain:GetMember\",\"managedblockchain:GetNetwork\",\"managedblockchain:GetNode\",\"managedblockchain:GetProposal\",\"managedblockchain:ListAccessors\",\"managedblockchain:ListInvitations\",\"managedblockchain:ListMembers\",\"managedblockchain:ListNodes\",\"managedblockchain:ListProposals\",\"medialive:ListChannelPlacementGroups\",\"medialive:ListCloudWatchAlarmTemplateGroups\",\"medialive:ListCloudWatchAlarmTemplates\",\"medialive:ListClusters\",\"medialive:ListEventBridgeRuleTemplateGroups\",\"medialive:ListEventBridgeRuleTemplates\",\"medialive:ListInputDevices\",\"medialive:ListInputSecurityGroups\",\"medialive:ListInputs\",\"medialive:ListMultiplexes\",\"medialive:ListNetworks\",\"medialive:ListNodes\",\"medialive:ListOfferings\",\"medialive:ListReservations\",\"medialive:ListSdiSources\",\"medialive:ListSignalMaps\",\"mediapackage-vod:DescribeAsset\",\"mediapackage-vod:ListAssets\",\"mediapackage-vod:ListPackagingConfigurations\",\"mediapackage:ListChannels\",\"mediapackage:ListHarvestJobs\",\"mediapackagev2:GetChannel\",\"mediapackagev2:GetChannelGroup\",\"mediapackagev2:GetChannelPolicy\",\"mediapackagev2:GetOriginEndpoint\",\"mediapackagev2:GetOriginEndpointPolicy\",\"mediapackagev2:ListChannelGroups\",\"mediapackagev2:ListChannels\",\"mediapackagev2:ListHarvestJobs\",\"mediapackagev2:ListOriginEndpoints\",\"memorydb:DescribeAcls\",\"memorydb:DescribeMultiRegionClusters\",\"memorydb:DescribeParameterGroups\",\"memorydb:DescribeReservedNodes\",\"memorydb:DescribeSnapshots\",\"memorydb:DescribeSubnetGroups\",\"memorydb:DescribeUsers\",\"mobiletargeting:GetApps\",\"mobiletargeting:GetCampaigns\",\"mobiletargeting:GetChannels\",\"mobiletargeting:GetEventStream\",\"mobiletargeting:GetSegments\",\"mobiletargeting:ListJourneys\",\"mobiletargeting:ListTemplates\",\"network-firewall:DescribeTLSInspectionConfiguration\",\"network-firewall:DescribeVpcEndpointAssociation\",\"network-firewall:ListTLSInspectionConfigurations\",\"network-firewall:ListVpcEndpointAssociations\",\"networkmanager:GetConnectPeer\",\"networkmanager:GetConnections\",\"networkmanager:GetCoreNetwork\",\"networkmanager:GetDevices\",\"networkmanager:GetLinks\",\"networkmanager:GetSites\",\"networkmanager:ListAttachments\",\"networkmanager:ListConnectPeers\",\"networkmanager:ListCoreNetworks\",\"networkmanager:ListPeerings\",\"osis:GetPipeline\",\"osis:GetPipelineBlueprint\",\"osis:ListPipelineBlueprints\",\"osis:ListPipelines\",\"payment-cryptography:GetKey\",\"payment-cryptography:ListAliases\",\"payment-cryptography:ListKeys\",\"pca-connector-ad:ListConnectors\",\"pca-connector-ad:ListDirectoryRegistrations\",\"pca-connector-ad:ListTemplates\",\"pca-connector-scep:ListConnectors\",\"personalize:DescribeAlgorithm\",\"personalize:DescribeBatchInferenceJob\",\"personalize:DescribeBatchSegmentJob\",\"personalize:DescribeCampaign\",\"personalize:DescribeDataDeletionJob\",\"personalize:DescribeDataset\",\"personalize:DescribeDatasetExportJob\",\"personalize:DescribeDatasetImportJob\",\"personalize:DescribeEventTracker\",\"personalize:DescribeFeatureTransformation\",\"personalize:DescribeFilter\",\"personalize:DescribeMetricAttribution\",\"personalize:DescribeRecipe\",\"personalize:DescribeRecommender\",\"personalize:DescribeSchema\",\"personalize:DescribeSolution\",\"personalize:ListBatchInferenceJobs\",\"personalize:ListBatchSegmentJobs\",\"personalize:ListCampaigns\",\"personalize:ListDataDeletionJobs\",\"personalize:ListDatasetExportJobs\",\"personalize:ListDatasetImportJobs\",\"personalize:ListDatasets\",\"personalize:ListEventTrackers\",\"personalize:ListFilters\",\"personalize:ListMetricAttributions\",\"personalize:ListRecipes\",\"personalize:ListRecommenders\",\"personalize:ListSchemas\",\"personalize:ListSolutions\",\"pipes:ListPipes\",\"proton:GetComponent\",\"proton:GetDeployment\",\"proton:GetEnvironment\",\"proton:GetEnvironmentAccountConnection\",\"proton:GetEnvironmentTemplate\",\"proton:GetEnvironmentTemplateVersion\",\"proton:GetRepository\",\"proton:GetService\",\"proton:GetServiceInstance\",\"proton:GetServiceTemplate\",\"proton:GetServiceTemplateVersion\",\"proton:ListComponents\",\"proton:ListDeployments\",\"proton:ListEnvironmentAccountConnections\",\"proton:ListEnvironmentTemplateVersions\",\"proton:ListEnvironmentTemplates\",\"proton:ListEnvironments\",\"proton:ListRepositories\",\"proton:ListServiceInstances\",\"proton:ListServiceTemplateVersions\",\"proton:ListServiceTemplates\",\"proton:ListServices\",\"qbusiness:GetApplication\",\"qbusiness:GetDataAccessor\",\"qbusiness:GetDataSource\",\"qbusiness:GetIndex\",\"qbusiness:GetPlugin\",\"qbusiness:GetRetriever\",\"qbusiness:GetWebExperience\",\"qbusiness:ListDataAccessors\",\"ram:GetResourceShareInvitations\",\"rbin:GetRule\",\"rbin:ListRules\",\"redshift-serverless:GetSnapshot\",\"redshift-serverless:ListEndpointAccess\",\"redshift-serverless:ListManagedWorkgroups\",\"redshift-serverless:ListNamespaces\",\"redshift-serverless:ListRecoveryPoints\",\"redshift-serverless:ListSnapshots\",\"refactor-spaces:ListApplications\",\"refactor-spaces:ListEnvironments\",\"refactor-spaces:ListRoutes\",\"refactor-spaces:ListServices\",\"resiliencehub:DescribeApp\",\"resiliencehub:DescribeAppAssessment\",\"resiliencehub:ListAppAssessments\",\"resiliencehub:ListApps\",\"resiliencehub:ListResiliencyPolicies\",\"resource-explorer-2:GetIndex\",\"resource-explorer-2:GetManagedView\",\"resource-explorer-2:GetView\",\"resource-explorer-2:ListManagedViews\",\"resource-explorer-2:ListViews\",\"resource-groups:GetGroup\",\"resource-groups:ListGroups\",\"route53-recovery-readiness:ListCells\",\"route53-recovery-readiness:ListReadinessChecks\",\"route53-recovery-readiness:ListRecoveryGroups\",\"route53-recovery-readiness:ListResourceSets\",\"rum:GetAppMonitor\",\"rum:ListAppMonitors\",\"s3-outposts:ListRegionalBuckets\",\"savingsplans:DescribeSavingsPlanRates\",\"savingsplans:DescribeSavingsPlans\",\"scheduler:GetSchedule\",\"scheduler:ListScheduleGroups\",\"scheduler:ListSchedules\",\"securitylake:ListDataLakes\",\"securitylake:ListSubscribers\",\"servicecatalog:DescribePortfolio\",\"servicecatalog:DescribeProduct\",\"servicecatalog:GetApplication\",\"servicecatalog:GetAttributeGroup\",\"servicecatalog:ListApplications\",\"servicecatalog:ListAttributeGroups\",\"servicecatalog:ListPortfolios\",\"servicecatalog:SearchProducts\",\"servicediscovery:GetNamespace\",\"servicediscovery:GetService\",\"servicediscovery:ListNamespaces\",\"servicediscovery:ListServices\",\"ses:GetArchive\",\"ses:GetContactList\",\"ses:GetCustomVerificationEmailTemplate\",\"ses:GetDedicatedIpPool\",\"ses:GetIdentityMailFromDomainAttributes\",\"ses:GetIngressPoint\",\"ses:GetMultiRegionEndpoint\",\"ses:GetRelay\",\"ses:GetRuleSet\",\"ses:GetTemplate\",\"ses:GetTrafficPolicy\",\"ses:ListAddonInstances\",\"ses:ListAddonSubscriptions\",\"ses:ListAddressLists\",\"ses:ListArchives\",\"ses:ListContactLists\",\"ses:ListCustomVerificationEmailTemplates\",\"ses:ListIngressPoints\",\"ses:ListMultiRegionEndpoints\",\"ses:ListRelays\",\"ses:ListRuleSets\",\"ses:ListTemplates\",\"ses:ListTrafficPolicies\",\"signer:GetSigningProfile\",\"signer:ListSigningProfiles\",\"sms-voice:DescribeConfigurationSets\",\"sms-voice:DescribeOptOutLists\",\"sms-voice:DescribePhoneNumbers\",\"sms-voice:DescribePools\",\"sms-voice:DescribeProtectConfigurations\",\"sms-voice:DescribeRegistrationAttachments\",\"sms-voice:DescribeRegistrations\",\"sms-voice:DescribeSenderIds\",\"sms-voice:DescribeVerifiedDestinationNumbers\",\"snowball:DescribeCluster\",\"snowball:DescribeJob\",\"sns:ListEndpointsByPlatformApplication\",\"sns:ListPlatformApplications\",\"social-messaging:GetLinkedWhatsAppBusinessAccount\",\"social-messaging:ListLinkedWhatsAppBusinessAccounts\",\"sqs:GetQueueUrl\",\"ssm-incidents:GetIncidentRecord\",\"ssm-incidents:GetReplicationSet\",\"ssm-incidents:GetResponsePlan\",\"ssm-incidents:ListIncidentRecords\",\"ssm-incidents:ListReplicationSets\",\"ssm-incidents:ListResponsePlans\",\"ssm:GetMaintenanceWindow\",\"ssm:GetOpsItem\",\"ssm:GetPatchBaseline\",\"states:ListActivities\",\"states:ListExecutions\",\"states:ListMapRuns\",\"states:ListStateMachineAliases\",\"storagegateway:DescribeFileSystemAssociations\",\"storagegateway:DescribeSMBFileShares\",\"textract:GetAdapter\",\"textract:GetAdapterVersion\",\"textract:ListAdapterVersions\",\"textract:ListAdapters\",\"timestream:ListScheduledQueries\",\"timestream:ListTables\",\"transcribe:GetCallAnalyticsJob\",\"transcribe:GetMedicalScribeJob\",\"transcribe:GetMedicalTranscriptionJob\",\"transcribe:GetTranscriptionJob\",\"transcribe:ListMedicalScribeJobs\",\"translate:GetParallelData\",\"translate:GetTerminology\",\"verifiedpermissions:GetPolicyStore\",\"verifiedpermissions:ListIdentitySources\",\"verifiedpermissions:ListPolicies\",\"verifiedpermissions:ListPolicyStores\",\"verifiedpermissions:ListPolicyTemplates\",\"vpc-lattice:GetListener\",\"vpc-lattice:GetResourceConfiguration\",\"vpc-lattice:GetResourceGateway\",\"vpc-lattice:GetRule\",\"vpc-lattice:GetService\",\"vpc-lattice:GetServiceNetwork\",\"vpc-lattice:GetTargetGroup\",\"vpc-lattice:ListAccessLogSubscriptions\",\"vpc-lattice:ListListeners\",\"vpc-lattice:ListResourceConfigurations\",\"vpc-lattice:ListResourceEndpointAssociations\",\"vpc-lattice:ListResourceGateways\",\"vpc-lattice:ListRules\",\"vpc-lattice:ListServiceNetworkResourceAssociations\",\"vpc-lattice:ListServiceNetworkServiceAssociations\",\"vpc-lattice:ListServiceNetworkVpcAssociations\",\"vpc-lattice:ListServiceNetworks\",\"vpc-lattice:ListServices\",\"vpc-lattice:ListTargetGroups\",\"waf-regional:GetRule\",\"waf-regional:GetRuleGroup\",\"waf-regional:ListRuleGroups\",\"waf-regional:ListRules\",\"waf:GetRule\",\"waf:GetRuleGroup\",\"waf:ListRuleGroups\",\"waf:ListRules\",\"wafv2:GetIPSet\",\"wafv2:GetRegexPatternSet\",\"wafv2:GetRuleGroup\",\"workmail:DescribeOrganization\",\"workmail:ListOrganizations\",\"workspaces-web:GetBrowserSettings\",\"workspaces-web:GetDataProtectionSettings\",\"workspaces-web:GetIdentityProvider\",\"workspaces-web:GetIpAccessSettings\",\"workspaces-web:GetNetworkSettings\",\"workspaces-web:GetTrustStore\",\"workspaces-web:GetUserAccessLoggingSettings\",\"workspaces-web:GetUserSettings\",\"workspaces-web:ListBrowserSettings\",\"workspaces-web:ListDataProtectionSettings\",\"workspaces-web:ListIdentityProviders\",\"workspaces-web:ListIpAccessSettings\",\"workspaces-web:ListNetworkSettings\",\"workspaces-web:ListPortals\",\"workspaces-web:ListTrustStores\",\"workspaces-web:ListUserAccessLoggingSettings\",\"workspaces-web:ListUserSettings\"]}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 532, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-09-17T18:27:22.888Z", + "time": 108 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/examples/v2/aws-integration/GetAWSIntegrationIAMPermissionsResourceCollection.ts b/examples/v2/aws-integration/GetAWSIntegrationIAMPermissionsResourceCollection.ts new file mode 100644 index 000000000000..17e71b3070a8 --- /dev/null +++ b/examples/v2/aws-integration/GetAWSIntegrationIAMPermissionsResourceCollection.ts @@ -0,0 +1,17 @@ +/** + * Get resource collection IAM permissions returns "AWS integration resource collection IAM permissions." response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +const apiInstance = new v2.AWSIntegrationApi(configuration); + +apiInstance + .getAWSIntegrationIAMPermissionsResourceCollection() + .then((data: v2.AWSIntegrationIamPermissionsResponse) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/aws-integration/GetAWSIntegrationIAMPermissionsResourceCollection_1008672547.ts b/examples/v2/aws-integration/GetAWSIntegrationIAMPermissionsResourceCollection_1008672547.ts new file mode 100644 index 000000000000..f5e659b6ba0c --- /dev/null +++ b/examples/v2/aws-integration/GetAWSIntegrationIAMPermissionsResourceCollection_1008672547.ts @@ -0,0 +1,17 @@ +/** + * Get resource collection IAM permissions returns "AWS IAM Permissions object" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +const apiInstance = new v2.AWSIntegrationApi(configuration); + +apiInstance + .getAWSIntegrationIAMPermissionsResourceCollection() + .then((data: v2.AWSIntegrationIamPermissionsResponse) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/aws-integration/GetAWSIntegrationIAMPermissionsStandard.ts b/examples/v2/aws-integration/GetAWSIntegrationIAMPermissionsStandard.ts new file mode 100644 index 000000000000..93f7de490379 --- /dev/null +++ b/examples/v2/aws-integration/GetAWSIntegrationIAMPermissionsStandard.ts @@ -0,0 +1,17 @@ +/** + * Get AWS integration standard IAM permissions returns "AWS integration standard IAM permissions." response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +const apiInstance = new v2.AWSIntegrationApi(configuration); + +apiInstance + .getAWSIntegrationIAMPermissionsStandard() + .then((data: v2.AWSIntegrationIamPermissionsResponse) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/aws-integration/GetAWSIntegrationIAMPermissionsStandard_3136299151.ts b/examples/v2/aws-integration/GetAWSIntegrationIAMPermissionsStandard_3136299151.ts new file mode 100644 index 000000000000..a38eebd839d7 --- /dev/null +++ b/examples/v2/aws-integration/GetAWSIntegrationIAMPermissionsStandard_3136299151.ts @@ -0,0 +1,17 @@ +/** + * Get AWS integration standard IAM permissions returns "AWS IAM Permissions object" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +const apiInstance = new v2.AWSIntegrationApi(configuration); + +apiInstance + .getAWSIntegrationIAMPermissionsStandard() + .then((data: v2.AWSIntegrationIamPermissionsResponse) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/features/support/scenarios_model_mapping.ts b/features/support/scenarios_model_mapping.ts index 9cc4178c6988..db6f5bfd44e6 100644 --- a/features/support/scenarios_model_mapping.ts +++ b/features/support/scenarios_model_mapping.ts @@ -5660,6 +5660,12 @@ export const ScenariosModelMappings: {[key: string]: {[key: string]: any}} = { "v2.GetAWSIntegrationIAMPermissions": { "operationResponseType": "AWSIntegrationIamPermissionsResponse", }, + "v2.GetAWSIntegrationIAMPermissionsResourceCollection": { + "operationResponseType": "AWSIntegrationIamPermissionsResponse", + }, + "v2.GetAWSIntegrationIAMPermissionsStandard": { + "operationResponseType": "AWSIntegrationIamPermissionsResponse", + }, "v2.ListAWSLogsServices": { "operationResponseType": "AWSLogsServicesResponse", }, diff --git a/features/v2/aws_integration.feature b/features/v2/aws_integration.feature index a672cfebe7f8..16522a97cf57 100644 --- a/features/v2/aws_integration.feature +++ b/features/v2/aws_integration.feature @@ -79,6 +79,18 @@ Feature: AWS Integration When the request is sent Then the response status is 200 AWS IAM Permissions object + @team:DataDog/aws-integrations + Scenario: Get AWS integration standard IAM permissions returns "AWS IAM Permissions object" response + Given new "GetAWSIntegrationIAMPermissionsStandard" request + When the request is sent + Then the response status is 200 AWS IAM Permissions object + + @generated @skip @team:DataDog/aws-integrations + Scenario: Get AWS integration standard IAM permissions returns "AWS integration standard IAM permissions." response + Given new "GetAWSIntegrationIAMPermissionsStandard" request + When the request is sent + Then the response status is 200 AWS integration standard IAM permissions. + @team:DataDog/aws-integrations Scenario: Get an AWS integration by config ID returns "AWS Account object" response Given there is a valid "aws_account_v2" in the system @@ -101,6 +113,18 @@ Feature: AWS Integration When the request is sent Then the response status is 404 Not Found + @team:DataDog/aws-integrations + Scenario: Get resource collection IAM permissions returns "AWS IAM Permissions object" response + Given new "GetAWSIntegrationIAMPermissionsResourceCollection" request + When the request is sent + Then the response status is 200 AWS IAM Permissions object + + @generated @skip @team:DataDog/aws-integrations + Scenario: Get resource collection IAM permissions returns "AWS integration resource collection IAM permissions." response + Given new "GetAWSIntegrationIAMPermissionsResourceCollection" request + When the request is sent + Then the response status is 200 AWS integration resource collection IAM permissions. + @team:DataDog/aws-integrations Scenario: List all AWS integrations returns "AWS Accounts List object" response Given new "ListAWSAccounts" request diff --git a/features/v2/undo.json b/features/v2/undo.json index d864e99bb626..85202abf3460 100644 --- a/features/v2/undo.json +++ b/features/v2/undo.json @@ -1529,6 +1529,18 @@ "type": "safe" } }, + "GetAWSIntegrationIAMPermissionsResourceCollection": { + "tag": "AWS Integration", + "undo": { + "type": "safe" + } + }, + "GetAWSIntegrationIAMPermissionsStandard": { + "tag": "AWS Integration", + "undo": { + "type": "safe" + } + }, "ListAWSLogsServices": { "tag": "AWS Logs Integration", "undo": { diff --git a/packages/datadog-api-client-v2/apis/AWSIntegrationApi.ts b/packages/datadog-api-client-v2/apis/AWSIntegrationApi.ts index 15ccb3621b39..d150e00f9d04 100644 --- a/packages/datadog-api-client-v2/apis/AWSIntegrationApi.ts +++ b/packages/datadog-api-client-v2/apis/AWSIntegrationApi.ts @@ -183,6 +183,57 @@ export class AWSIntegrationApiRequestFactory extends BaseAPIRequestFactory { return requestContext; } + public async getAWSIntegrationIAMPermissionsResourceCollection( + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + // Path Params + const localVarPath = + "/api/v2/integration/aws/iam_permissions/resource_collection"; + + // Make Request Context + const requestContext = _config + .getServer( + "v2.AWSIntegrationApi.getAWSIntegrationIAMPermissionsResourceCollection" + ) + .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 getAWSIntegrationIAMPermissionsStandard( + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + // Path Params + const localVarPath = "/api/v2/integration/aws/iam_permissions/standard"; + + // Make Request Context + const requestContext = _config + .getServer("v2.AWSIntegrationApi.getAWSIntegrationIAMPermissionsStandard") + .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 @@ -590,6 +641,126 @@ 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 getAWSIntegrationIAMPermissionsResourceCollection + * @throws ApiException if the response code was not in [200, 299] + */ + public async getAWSIntegrationIAMPermissionsResourceCollection( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + const body: AWSIntegrationIamPermissionsResponse = + ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "AWSIntegrationIamPermissionsResponse" + ) as AWSIntegrationIamPermissionsResponse; + return body; + } + if (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: AWSIntegrationIamPermissionsResponse = + ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "AWSIntegrationIamPermissionsResponse", + "" + ) as AWSIntegrationIamPermissionsResponse; + 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 getAWSIntegrationIAMPermissionsStandard + * @throws ApiException if the response code was not in [200, 299] + */ + public async getAWSIntegrationIAMPermissionsStandard( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + const body: AWSIntegrationIamPermissionsResponse = + ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "AWSIntegrationIamPermissionsResponse" + ) as AWSIntegrationIamPermissionsResponse; + return body; + } + if (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: AWSIntegrationIamPermissionsResponse = + ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "AWSIntegrationIamPermissionsResponse", + "" + ) as AWSIntegrationIamPermissionsResponse; + 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 @@ -934,6 +1105,48 @@ export class AWSIntegrationApi { }); } + /** + * Get all resource collection AWS IAM permissions required for the AWS integration. + * @param param The request object + */ + public getAWSIntegrationIAMPermissionsResourceCollection( + options?: Configuration + ): Promise { + const requestContextPromise = + this.requestFactory.getAWSIntegrationIAMPermissionsResourceCollection( + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.getAWSIntegrationIAMPermissionsResourceCollection( + responseContext + ); + }); + }); + } + + /** + * Get all standard AWS IAM permissions required for the AWS integration. + * @param param The request object + */ + public getAWSIntegrationIAMPermissionsStandard( + options?: Configuration + ): Promise { + const requestContextPromise = + this.requestFactory.getAWSIntegrationIAMPermissionsStandard(options); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.getAWSIntegrationIAMPermissionsStandard( + responseContext + ); + }); + }); + } + /** * Get a list of AWS Account Integration Configs. * @param param The request object