|
1 | 1 | const { readFileSync } = require("fs"); |
2 | 2 | const { join } = require("path"); |
3 | | -const { STSClient, GetCallerIdentityCommand } = require("../../clients/client-sts"); |
4 | | -const { CloudFormationClient, DescribeStackResourcesCommand } = require("../../clients/client-cloudformation"); |
5 | | -const { S3ControlClient, ListMultiRegionAccessPointsCommand } = require("../../clients/client-s3-control"); |
| 3 | +const { STSClient, GetCallerIdentityCommand } = require("@aws-sdk/client-sts"); |
| 4 | +const { CloudFormationClient, DescribeStackResourcesCommand } = require("@aws-sdk/client-cloudformation"); |
| 5 | +const { S3ControlClient, ListMultiRegionAccessPointsCommand } = require("@aws-sdk/client-s3-control"); |
6 | 6 | const { ensureTestStack } = require("./ensure-test-stack"); |
7 | 7 | const { deleteStaleChangesets } = require("./delete-stale-changesets"); |
8 | 8 | const { loadSharedConfigFiles } = require("@smithy/shared-ini-file-loader"); |
9 | | -const { fromIni } = require("@aws-sdk/credential-providers"); |
| 9 | +const { createCredentialChain, fromIni, fromHttp } = require("@aws-sdk/credential-providers"); |
10 | 10 |
|
11 | 11 | exports.getIntegTestResources = async () => { |
12 | 12 | const ini = await loadSharedConfigFiles(); |
13 | | - if (ini.configFile["sdk-integ-test"] || ini.credentialsFile["sdk-integ-test"]) { |
| 13 | + const profileData = ini.configFile["sdk-integ-test"] ?? ini.credentialsFile["sdk-integ-test"]; |
| 14 | + if (profileData) { |
14 | 15 | process.env.AWS_PROFILE = "sdk-integ-test"; |
15 | 16 | console.log("Setting AWS_PROFILE=sdk-integ-test"); |
16 | 17 | } else { |
17 | 18 | console.log("AWS_PROFILE is", process.env.AWS_PROFILE); |
18 | 19 | } |
19 | 20 |
|
20 | | - // TODO(debug) |
21 | | - console.log({ |
22 | | - config: ini.configFile, |
23 | | - credentials: ini.credentialsFile, |
| 21 | + const credentials = fromIni({ |
| 22 | + ...(profileData.role_arn ? { awsContainerCredentialsRelativeUri: `/role-arn/${profileData.role_arn}` } : {}), |
| 23 | + profile: process.env.AWS_PROFILE ?? "default", |
| 24 | + logger: console, |
24 | 25 | }); |
25 | 26 |
|
26 | 27 | const region = "us-west-2"; |
27 | 28 | const cloudformation = new CloudFormationClient({ |
28 | 29 | region, |
| 30 | + credentials, |
29 | 31 | }); |
30 | 32 | const stackName = "SdkReleaseV3IntegTestResourcesStack"; |
31 | 33 |
|
|
0 commit comments