diff --git a/packages/backend-common/api-report.md b/packages/backend-common/api-report.md
index ebafb3dda0..ebdd7315c9 100644
--- a/packages/backend-common/api-report.md
+++ b/packages/backend-common/api-report.md
@@ -6,6 +6,7 @@
///
///
+import { AwsCredentialsManager } from '@backstage/integration-aws-node';
import { AwsS3Integration } from '@backstage/integration';
import { AzureIntegration } from '@backstage/integration';
import { BackendFeature } from '@backstage/backend-plugin-api';
@@ -66,7 +67,7 @@ import { Writable } from 'stream';
// @public
export class AwsS3UrlReader implements UrlReader {
constructor(
- defaultConfig: Config,
+ credsManager: AwsCredentialsManager,
integration: AwsS3Integration,
deps: {
treeResponseFactory: ReadTreeResponseFactory;
diff --git a/packages/backend-common/src/reading/AwsS3UrlReader.test.ts b/packages/backend-common/src/reading/AwsS3UrlReader.test.ts
index 094bdc9d65..dad12c7660 100644
--- a/packages/backend-common/src/reading/AwsS3UrlReader.test.ts
+++ b/packages/backend-common/src/reading/AwsS3UrlReader.test.ts
@@ -23,6 +23,7 @@ import {
AwsS3Integration,
readAwsS3IntegrationConfig,
} from '@backstage/integration';
+import { DefaultAwsCredentialsManager } from '@backstage/integration-aws-node';
import { UrlReaderPredicateTuple } from './types';
import path from 'path';
import { NotModifiedError } from '@backstage/errors';
@@ -440,8 +441,10 @@ describe('AwsS3UrlReader', () => {
secretAccessKey: 'fake-secret-key',
});
+ const credsManager = DefaultAwsCredentialsManager.fromConfig(config);
+
awsS3UrlReader = new AwsS3UrlReader(
- config,
+ credsManager,
new AwsS3Integration(readAwsS3IntegrationConfig(config)),
{ treeResponseFactory },
);
diff --git a/packages/backend-common/src/reading/AwsS3UrlReader.ts b/packages/backend-common/src/reading/AwsS3UrlReader.ts
index a0984b5e34..d06e2d0ad6 100644
--- a/packages/backend-common/src/reading/AwsS3UrlReader.ts
+++ b/packages/backend-common/src/reading/AwsS3UrlReader.ts
@@ -33,7 +33,6 @@ import {
ScmIntegrations,
AwsS3IntegrationConfig,
} from '@backstage/integration';
-import { Config } from '@backstage/config';
import { ForwardedError, NotModifiedError } from '@backstage/errors';
import { fromTemporaryCredentials } from '@aws-sdk/credential-providers';
import { AwsCredentialIdentityProvider } from '@aws-sdk/types';
@@ -134,9 +133,10 @@ export function parseUrl(
export class AwsS3UrlReader implements UrlReader {
static factory: ReaderFactory = ({ config, treeResponseFactory }) => {
const integrations = ScmIntegrations.fromConfig(config);
+ const credsManager = DefaultAwsCredentialsManager.fromConfig(config);
return integrations.awsS3.list().map(integration => {
- const reader = new AwsS3UrlReader(config, integration, {
+ const reader = new AwsS3UrlReader(credsManager, integration, {
treeResponseFactory,
});
const predicate = (url: URL) =>
@@ -146,7 +146,7 @@ export class AwsS3UrlReader implements UrlReader {
};
constructor(
- private readonly defaultConfig: Config,
+ private readonly credsManager: AwsCredentialsManager,
private readonly integration: AwsS3Integration,
private readonly deps: {
treeResponseFactory: ReadTreeResponseFactory;
@@ -210,11 +210,10 @@ export class AwsS3UrlReader implements UrlReader {
}
private async buildS3Client(
- defaultConfig: Config,
+ credsManager: AwsCredentialsManager,
region: string,
integration: AwsS3Integration,
): Promise {
- const credsManager = DefaultAwsCredentialsManager.fromConfig(defaultConfig);
const credentials = await AwsS3UrlReader.buildCredentials(
credsManager,
region,
@@ -257,7 +256,7 @@ export class AwsS3UrlReader implements UrlReader {
try {
const { path, bucket, region } = parseUrl(url, this.integration.config);
const s3Client = await this.buildS3Client(
- this.defaultConfig,
+ this.credsManager,
region,
this.integration,
);
@@ -306,7 +305,7 @@ export class AwsS3UrlReader implements UrlReader {
try {
const { path, bucket, region } = parseUrl(url, this.integration.config);
const s3Client = await this.buildS3Client(
- this.defaultConfig,
+ this.credsManager,
region,
this.integration,
);