UNPKG

aws-secrets-manager-wrapper

Version:

A TypeScript wrapper for AWS Secrets Manager that simplifies common operations and provides a more user-friendly interface.

1 lines 1.32 kB
"use strict";exports.id=819,exports.ids=[819],exports.modules={7819:(e,n,o)=>{o.r(n),o.d(n,{fromTokenFile:()=>l,fromWebToken:()=>s});var i=o(244),r=o(8112),t=o(9896);const s=e=>async()=>{e.logger?.debug("@aws-sdk/credential-provider-web-identity - fromWebToken");const{roleArn:n,roleSessionName:i,webIdentityToken:r,providerId:t,policyArns:s,policy:d,durationSeconds:l}=e;let{roleAssumerWithWebIdentity:c}=e;if(!c){const{getDefaultRoleAssumerWithWebIdentity:n}=await o.e(36).then(o.bind(o,8036));c=n({...e.clientConfig,credentialProviderLogger:e.logger,parentClientConfig:e.parentClientConfig},e.clientPlugins)}return c({RoleArn:n,RoleSessionName:i??`aws-sdk-js-session-${Date.now()}`,WebIdentityToken:r,ProviderId:t,PolicyArns:s,Policy:d,DurationSeconds:l})},d="AWS_WEB_IDENTITY_TOKEN_FILE",l=(e={})=>async()=>{e.logger?.debug("@aws-sdk/credential-provider-web-identity - fromTokenFile");const n=e?.webIdentityTokenFile??process.env[d],o=e?.roleArn??process.env.AWS_ROLE_ARN,l=e?.roleSessionName??process.env.AWS_ROLE_SESSION_NAME;if(!n||!o)throw new r.C1("Web identity configuration not specified",{logger:e.logger});const c=await s({...e,webIdentityToken:(0,t.readFileSync)(n,{encoding:"ascii"}),roleArn:o,roleSessionName:l})();return n===process.env[d]&&(0,i.g)(c,"CREDENTIALS_ENV_VARS_STS_WEB_ID_TOKEN","h"),c}}};