Skip to content

Commit aa73203

Browse files
author
Steven Yuan
authored
feat(types): update identity types (#4189)
1 parent 01776ed commit aa73203

File tree

66 files changed

+228
-184
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+228
-184
lines changed

packages/credential-provider-cognito-identity/src/fromCognitoIdentity.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import { GetCredentialsForIdentityCommand } from "@aws-sdk/client-cognito-identity";
22
import { CredentialsProviderError } from "@aws-sdk/property-provider";
3-
import { Credentials, Provider } from "@aws-sdk/types";
3+
import { AwsCredentialIdentity, Provider } from "@aws-sdk/types";
44

55
import { CognitoProviderParameters } from "./CognitoProviderParameters";
66
import { resolveLogins } from "./resolveLogins";
77

8-
export interface CognitoIdentityCredentials extends Credentials {
8+
export interface CognitoIdentityCredentials extends AwsCredentialIdentity {
99
/**
1010
* The Cognito ID returned by the last call to AWS.CognitoIdentity.getOpenIdToken().
1111
*/

packages/credential-provider-env/src/fromEnv.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { CredentialsProviderError } from "@aws-sdk/property-provider";
2-
import { CredentialProvider } from "@aws-sdk/types";
2+
import { AwsCredentialIdentityProvider } from "@aws-sdk/types";
33

44
export const ENV_KEY = "AWS_ACCESS_KEY_ID";
55
export const ENV_SECRET = "AWS_SECRET_ACCESS_KEY";
@@ -11,7 +11,7 @@ export const ENV_EXPIRATION = "AWS_CREDENTIAL_EXPIRATION";
1111
* `AWS_ACCESS_KEY_ID` or `AWS_SECRET_ACCESS_KEY` environment variable is not
1212
* set in this process, the provider will return a rejected promise.
1313
*/
14-
export const fromEnv = (): CredentialProvider => async () => {
14+
export const fromEnv = (): AwsCredentialIdentityProvider => async () => {
1515
const accessKeyId: string | undefined = process.env[ENV_KEY];
1616
const secretAccessKey: string | undefined = process.env[ENV_SECRET];
1717
const sessionToken: string | undefined = process.env[ENV_SESSION];

packages/credential-provider-imds/src/fromContainerMetadata.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { CredentialsProviderError } from "@aws-sdk/property-provider";
2-
import { CredentialProvider } from "@aws-sdk/types";
2+
import { AwsCredentialIdentityProvider } from "@aws-sdk/types";
33
import { RequestOptions } from "http";
44
import { parse } from "url";
55

@@ -16,7 +16,7 @@ export const ENV_CMDS_AUTH_TOKEN = "AWS_CONTAINER_AUTHORIZATION_TOKEN";
1616
* Creates a credential provider that will source credentials from the ECS
1717
* Container Metadata Service
1818
*/
19-
export const fromContainerMetadata = (init: RemoteProviderInit = {}): CredentialProvider => {
19+
export const fromContainerMetadata = (init: RemoteProviderInit = {}): AwsCredentialIdentityProvider => {
2020
const { timeout, maxRetries } = providerConfigFromInit(init);
2121
return () =>
2222
retry(async () => {

packages/credential-provider-imds/src/fromInstanceMetadata.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { CredentialsProviderError } from "@aws-sdk/property-provider";
2-
import { Credentials, Provider } from "@aws-sdk/types";
2+
import { AwsCredentialIdentity, Provider } from "@aws-sdk/types";
33
import { RequestOptions } from "http";
44

55
import { httpRequest } from "./remoteProvider/httpRequest";
@@ -42,7 +42,7 @@ const getInstanceImdsProvider = (init: RemoteProviderInit) => {
4242
).trim();
4343

4444
return retry(async () => {
45-
let creds: Credentials;
45+
let creds: AwsCredentialIdentity;
4646
try {
4747
creds = await getCredentialsFromProfile(profile, options);
4848
} catch (err) {

packages/credential-provider-imds/src/remoteProvider/ImdsCredentials.spec.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Credentials } from "@aws-sdk/types";
1+
import { AwsCredentialIdentity } from "@aws-sdk/types";
22

33
import { fromImdsCredentials, ImdsCredentials, isImdsCredentials } from "./ImdsCredentials";
44

@@ -39,7 +39,7 @@ describe("isImdsCredentials", () => {
3939

4040
describe("fromImdsCredentials", () => {
4141
it("should convert IMDS credentials to a credentials object", () => {
42-
const converted: Credentials = fromImdsCredentials(creds);
42+
const converted: AwsCredentialIdentity = fromImdsCredentials(creds);
4343
expect(converted.accessKeyId).toEqual(creds.AccessKeyId);
4444
expect(converted.secretAccessKey).toEqual(creds.SecretAccessKey);
4545
expect(converted.sessionToken).toEqual(creds.Token);

packages/credential-provider-imds/src/remoteProvider/ImdsCredentials.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Credentials } from "@aws-sdk/types";
1+
import { AwsCredentialIdentity } from "@aws-sdk/types";
22

33
export interface ImdsCredentials {
44
AccessKeyId: string;
@@ -15,7 +15,7 @@ export const isImdsCredentials = (arg: any): arg is ImdsCredentials =>
1515
typeof arg.Token === "string" &&
1616
typeof arg.Expiration === "string";
1717

18-
export const fromImdsCredentials = (creds: ImdsCredentials): Credentials => ({
18+
export const fromImdsCredentials = (creds: ImdsCredentials): AwsCredentialIdentity => ({
1919
accessKeyId: creds.AccessKeyId,
2020
secretAccessKey: creds.SecretAccessKey,
2121
sessionToken: creds.Token,
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { Credentials } from "@aws-sdk/types";
1+
import { AwsCredentialIdentity } from "@aws-sdk/types";
22

3-
export interface InstanceMetadataCredentials extends Credentials {
3+
export interface InstanceMetadataCredentials extends AwsCredentialIdentity {
44
readonly originalExpiration?: Date;
55
}

packages/credential-provider-imds/src/utils/staticStabilityProvider.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Credentials, Logger, Provider } from "@aws-sdk/types";
1+
import { AwsCredentialIdentity, Logger, Provider } from "@aws-sdk/types";
22

33
import { InstanceMetadataCredentials } from "../types";
44
import { getExtendedInstanceMetadataCredentials } from "./getExtendedInstanceMetadataCredentials";

packages/credential-provider-ini/src/fromIni.spec.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { getProfileName, parseKnownFiles } from "@aws-sdk/shared-ini-file-loader";
2-
import { Credentials } from "@aws-sdk/types";
2+
import { AwsCredentialIdentity } from "@aws-sdk/types";
33

44
import { fromIni } from "./fromIni";
55
import { resolveProfileData } from "./resolveProfileData";
@@ -51,7 +51,7 @@ describe(fromIni.name, () => {
5151
});
5252

5353
it("returns resolved process creds", async () => {
54-
const expectedCreds: Credentials = {
54+
const expectedCreds: AwsCredentialIdentity = {
5555
accessKeyId: "mockAccessKeyId",
5656
secretAccessKey: "mockSecretAccessKey",
5757
};

packages/credential-provider-ini/src/fromIni.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { AssumeRoleWithWebIdentityParams } from "@aws-sdk/credential-provider-web-identity";
22
import { getProfileName, parseKnownFiles, SourceProfileInit } from "@aws-sdk/shared-ini-file-loader";
3-
import { CredentialProvider, Credentials } from "@aws-sdk/types";
3+
import { AwsCredentialIdentity, AwsCredentialIdentityProvider } from "@aws-sdk/types";
44

55
import { AssumeRoleParams } from "./resolveAssumeRoleCredentials";
66
import { resolveProfileData } from "./resolveProfileData";
@@ -23,7 +23,7 @@ export interface FromIniInit extends SourceProfileInit {
2323
* @param sourceCreds The credentials with which to assume a role.
2424
* @param params
2525
*/
26-
roleAssumer?: (sourceCreds: Credentials, params: AssumeRoleParams) => Promise<Credentials>;
26+
roleAssumer?: (sourceCreds: AwsCredentialIdentity, params: AssumeRoleParams) => Promise<AwsCredentialIdentity>;
2727

2828
/**
2929
* A function that assumes a role with web identity and returns a promise fulfilled with
@@ -32,15 +32,15 @@ export interface FromIniInit extends SourceProfileInit {
3232
* @param sourceCreds The credentials with which to assume a role.
3333
* @param params
3434
*/
35-
roleAssumerWithWebIdentity?: (params: AssumeRoleWithWebIdentityParams) => Promise<Credentials>;
35+
roleAssumerWithWebIdentity?: (params: AssumeRoleWithWebIdentityParams) => Promise<AwsCredentialIdentity>;
3636
}
3737

3838
/**
3939
* Creates a credential provider that will read from ini files and supports
4040
* role assumption and multi-factor authentication.
4141
*/
4242
export const fromIni =
43-
(init: FromIniInit = {}): CredentialProvider =>
43+
(init: FromIniInit = {}): AwsCredentialIdentityProvider =>
4444
async () => {
4545
const profiles = await parseKnownFiles(init);
4646
return resolveProfileData(getProfileName(init), profiles, init);

packages/credential-provider-ini/src/resolveCredentialSource.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { fromEnv } from "@aws-sdk/credential-provider-env";
22
import { fromContainerMetadata, fromInstanceMetadata } from "@aws-sdk/credential-provider-imds";
33
import { CredentialsProviderError } from "@aws-sdk/property-provider";
4-
import { CredentialProvider } from "@aws-sdk/types";
4+
import { AwsCredentialIdentityProvider } from "@aws-sdk/types";
55

66
/**
77
* Resolve the `credential_source` entry from the profile, and return the
@@ -10,8 +10,8 @@ import { CredentialProvider } from "@aws-sdk/types";
1010
* fromIni() provider. The source credential needs to be refreshed every time
1111
* fromIni() is called.
1212
*/
13-
export const resolveCredentialSource = (credentialSource: string, profileName: string): CredentialProvider => {
14-
const sourceProvidersMap: Record<string, () => CredentialProvider> = {
13+
export const resolveCredentialSource = (credentialSource: string, profileName: string): AwsCredentialIdentityProvider => {
14+
const sourceProvidersMap: Record<string, () => AwsCredentialIdentityProvider> = {
1515
EcsContainer: fromContainerMetadata,
1616
Ec2InstanceMetadata: fromInstanceMetadata,
1717
Environment: fromEnv,

packages/credential-provider-ini/src/resolveProfileData.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { CredentialsProviderError } from "@aws-sdk/property-provider";
2-
import { Credentials, ParsedIniData } from "@aws-sdk/types";
2+
import { AwsCredentialIdentity, ParsedIniData } from "@aws-sdk/types";
33

44
import { FromIniInit } from "./fromIni";
55
import { isAssumeRoleProfile, resolveAssumeRoleCredentials } from "./resolveAssumeRoleCredentials";
@@ -12,7 +12,7 @@ export const resolveProfileData = async (
1212
profiles: ParsedIniData,
1313
options: FromIniInit,
1414
visitedProfiles: Record<string, true> = {}
15-
): Promise<Credentials> => {
15+
): Promise<AwsCredentialIdentity> => {
1616
const data = profiles[profileName];
1717

1818
// If this is not the first profile visited, static credentials should be

packages/credential-provider-ini/src/resolveSsoCredentials.spec.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { fromSSO, isSsoProfile as origIsSsoProfile, validateSsoProfile } from "@aws-sdk/credential-provider-sso";
2-
import { Credentials } from "@aws-sdk/types";
2+
import { AwsCredentialIdentity } from "@aws-sdk/types";
33

44
import { isSsoProfile, resolveSsoCredentials } from "./resolveSsoCredentials";
55

@@ -79,7 +79,7 @@ describe(resolveSsoCredentials.name, () => {
7979
const mockProfile = getMockOriginalSsoProfile();
8080
const mockValidatedProfile = getMockValidatedSsoProfile();
8181

82-
const mockCreds: Credentials = {
82+
const mockCreds: AwsCredentialIdentity = {
8383
accessKeyId: "mockAccessKeyId",
8484
secretAccessKey: "mockSecretAccessKey",
8585
};
@@ -104,7 +104,7 @@ describe(resolveSsoCredentials.name, () => {
104104
sso_session: "test-session",
105105
});
106106

107-
const mockCreds: Credentials = {
107+
const mockCreds: AwsCredentialIdentity = {
108108
accessKeyId: "mockAccessKeyId",
109109
secretAccessKey: "mockSecretAccessKey",
110110
};

packages/credential-provider-ini/src/resolveStaticCredentials.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Credentials, Profile } from "@aws-sdk/types";
1+
import { AwsCredentialIdentity, Profile } from "@aws-sdk/types";
22

33
export interface StaticCredsProfile extends Profile {
44
aws_access_key_id: string;
@@ -13,7 +13,7 @@ export const isStaticCredsProfile = (arg: any): arg is StaticCredsProfile =>
1313
typeof arg.aws_secret_access_key === "string" &&
1414
["undefined", "string"].indexOf(typeof arg.aws_session_token) > -1;
1515

16-
export const resolveStaticCredentials = (profile: StaticCredsProfile): Promise<Credentials> =>
16+
export const resolveStaticCredentials = (profile: StaticCredsProfile): Promise<AwsCredentialIdentity> =>
1717
Promise.resolve({
1818
accessKeyId: profile.aws_access_key_id,
1919
secretAccessKey: profile.aws_secret_access_key,

packages/credential-provider-ini/src/resolveWebIdentityCredentials.spec.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { fromTokenFile } from "@aws-sdk/credential-provider-web-identity";
2-
import { Credentials } from "@aws-sdk/types";
2+
import { AwsCredentialIdentity } from "@aws-sdk/types";
33

44
import { isWebIdentityProfile, resolveWebIdentityCredentials } from "./resolveWebIdentityCredentials";
55

@@ -42,7 +42,7 @@ describe(isWebIdentityProfile.name, () => {
4242
});
4343

4444
describe(resolveWebIdentityCredentials.name, () => {
45-
const mockCreds: Credentials = {
45+
const mockCreds: AwsCredentialIdentity = {
4646
accessKeyId: "mockAccessKeyId",
4747
secretAccessKey: "mockSecretAccessKey",
4848
};

packages/credential-provider-ini/src/resolveWebIdentityCredentials.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { fromTokenFile } from "@aws-sdk/credential-provider-web-identity";
2-
import { Credentials, Profile } from "@aws-sdk/types";
2+
import { AwsCredentialIdentity, Profile } from "@aws-sdk/types";
33

44
import { FromIniInit } from "./fromIni";
55

@@ -19,7 +19,7 @@ export const isWebIdentityProfile = (arg: any): arg is WebIdentityProfile =>
1919
export const resolveWebIdentityCredentials = async (
2020
profile: WebIdentityProfile,
2121
options: FromIniInit
22-
): Promise<Credentials> =>
22+
): Promise<AwsCredentialIdentity> =>
2323
fromTokenFile({
2424
webIdentityTokenFile: profile.web_identity_token_file,
2525
roleArn: profile.role_arn,

packages/credential-provider-node/src/defaultProvider.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { fromSSO, FromSSOInit } from "@aws-sdk/credential-provider-sso";
66
import { fromTokenFile, FromTokenFileInit } from "@aws-sdk/credential-provider-web-identity";
77
import { chain, CredentialsProviderError, memoize } from "@aws-sdk/property-provider";
88
import { ENV_PROFILE } from "@aws-sdk/shared-ini-file-loader";
9-
import { Credentials, MemoizedProvider } from "@aws-sdk/types";
9+
import { AwsCredentialIdentity, MemoizedProvider } from "@aws-sdk/types";
1010

1111
import { remoteProvider } from "./remoteProvider";
1212

@@ -46,7 +46,7 @@ export type DefaultProviderInit = FromIniInit & RemoteProviderInit & FromProcess
4646
* @see {@link fromContainerMetadata} The function used to source credentials from the
4747
* ECS Container Metadata Service
4848
*/
49-
export const defaultProvider = (init: DefaultProviderInit = {}): MemoizedProvider<Credentials> =>
49+
export const defaultProvider = (init: DefaultProviderInit = {}): MemoizedProvider<AwsCredentialIdentity> =>
5050
memoize(
5151
chain(
5252
...(init.profile || process.env[ENV_PROFILE] ? [] : [fromEnv()]),

packages/credential-provider-node/src/remoteProvider.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ import {
66
RemoteProviderInit,
77
} from "@aws-sdk/credential-provider-imds";
88
import { CredentialsProviderError } from "@aws-sdk/property-provider";
9-
import { CredentialProvider } from "@aws-sdk/types";
9+
import { AwsCredentialIdentityProvider } from "@aws-sdk/types";
1010

1111
export const ENV_IMDS_DISABLED = "AWS_EC2_METADATA_DISABLED";
1212

13-
export const remoteProvider = (init: RemoteProviderInit): CredentialProvider => {
13+
export const remoteProvider = (init: RemoteProviderInit): AwsCredentialIdentityProvider => {
1414
if (process.env[ENV_CMDS_RELATIVE_URI] || process.env[ENV_CMDS_FULL_URI]) {
1515
return fromContainerMetadata(init);
1616
}

packages/credential-provider-process/src/fromProcess.spec.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { getProfileName, parseKnownFiles } from "@aws-sdk/shared-ini-file-loader";
2-
import { Credentials } from "@aws-sdk/types";
2+
import { AwsCredentialIdentity } from "@aws-sdk/types";
33

44
import { fromProcess } from "./fromProcess";
55
import { resolveProcessCredentials } from "./resolveProcessCredentials";
@@ -51,7 +51,7 @@ describe(fromProcess.name, () => {
5151
});
5252

5353
it("returns resolved process creds", async () => {
54-
const expectedCreds: Credentials = {
54+
const expectedCreds: AwsCredentialIdentity = {
5555
accessKeyId: "mockAccessKeyId",
5656
secretAccessKey: "mockSecretAccessKey",
5757
};

packages/credential-provider-process/src/fromProcess.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { getProfileName, parseKnownFiles, SourceProfileInit } from "@aws-sdk/shared-ini-file-loader";
2-
import { CredentialProvider } from "@aws-sdk/types";
2+
import { AwsCredentialIdentityProvider } from "@aws-sdk/types";
33

44
import { resolveProcessCredentials } from "./resolveProcessCredentials";
55

@@ -10,7 +10,7 @@ export interface FromProcessInit extends SourceProfileInit {}
1010
* in ini files.
1111
*/
1212
export const fromProcess =
13-
(init: FromProcessInit = {}): CredentialProvider =>
13+
(init: FromProcessInit = {}): AwsCredentialIdentityProvider =>
1414
async () => {
1515
const profiles = await parseKnownFiles(init);
1616
return resolveProcessCredentials(getProfileName(init), profiles);

packages/credential-provider-process/src/getValidatedProcessCredentials.spec.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Credentials } from "@aws-sdk/types";
1+
import { AwsCredentialIdentity } from "@aws-sdk/types";
22

33
import { getValidatedProcessCredentials } from "./getValidatedProcessCredentials";
44
import { ProcessCredentials } from "./ProcessCredentials";
@@ -47,7 +47,7 @@ describe(getValidatedProcessCredentials.name, () => {
4747
});
4848

4949
describe("returns validated Process credentials", () => {
50-
const getValidatedCredentials = (data: ProcessCredentials): Credentials => ({
50+
const getValidatedCredentials = (data: ProcessCredentials): AwsCredentialIdentity => ({
5151
accessKeyId: data.AccessKeyId,
5252
secretAccessKey: data.SecretAccessKey,
5353
...(data.SessionToken && { sessionToken: data.SessionToken }),

packages/credential-provider-process/src/getValidatedProcessCredentials.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import { Credentials } from "@aws-sdk/types";
1+
import { AwsCredentialIdentity } from "@aws-sdk/types";
22

33
import { ProcessCredentials } from "./ProcessCredentials";
44

5-
export const getValidatedProcessCredentials = (profileName: string, data: ProcessCredentials): Credentials => {
5+
export const getValidatedProcessCredentials = (profileName: string, data: ProcessCredentials): AwsCredentialIdentity => {
66
if (data.Version !== 1) {
77
throw Error(`Profile ${profileName} credential_process did not return Version 1.`);
88
}

packages/credential-provider-process/src/resolveProcessCredentials.spec.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { CredentialsProviderError } from "@aws-sdk/property-provider";
2-
import { Credentials } from "@aws-sdk/types";
2+
import { AwsCredentialIdentity } from "@aws-sdk/types";
33
import { promisify } from "util";
44

55
import { getValidatedProcessCredentials } from "./getValidatedProcessCredentials";
@@ -103,7 +103,7 @@ describe(resolveProcessCredentials.name, () => {
103103
});
104104

105105
it("returns data from getValidatedProcessCredentials", async () => {
106-
const expectedCreds: Credentials = {
106+
const expectedCreds: AwsCredentialIdentity = {
107107
accessKeyId: "mockAccessKeyId",
108108
secretAccessKey: "mockSecretAccessKey",
109109
};

packages/credential-provider-process/src/resolveProcessCredentials.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import { CredentialsProviderError } from "@aws-sdk/property-provider";
2-
import { Credentials, ParsedIniData } from "@aws-sdk/types";
2+
import { AwsCredentialIdentity, ParsedIniData } from "@aws-sdk/types";
33
import { exec } from "child_process";
44
import { promisify } from "util";
55

66
import { getValidatedProcessCredentials } from "./getValidatedProcessCredentials";
77
import { ProcessCredentials } from "./ProcessCredentials";
88

9-
export const resolveProcessCredentials = async (profileName: string, profiles: ParsedIniData): Promise<Credentials> => {
9+
export const resolveProcessCredentials = async (profileName: string, profiles: ParsedIniData): Promise<AwsCredentialIdentity> => {
1010
const profile = profiles[profileName];
1111

1212
if (profiles[profileName]) {

0 commit comments

Comments
 (0)