"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.fromWebToken = void 0; const property_provider_1 = require("@smithy/property-provider"); const fromWebToken = (init) => () => { const { roleArn, roleSessionName, webIdentityToken, providerId, policyArns, policy, durationSeconds, roleAssumerWithWebIdentity, } = init; if (!roleAssumerWithWebIdentity) { throw new property_provider_1.CredentialsProviderError(`Role Arn '${roleArn}' needs to be assumed with web identity,` + ` but no role assumption callback was provided.`, false); } return roleAssumerWithWebIdentity({ RoleArn: roleArn, RoleSessionName: roleSessionName !== null && roleSessionName !== void 0 ? roleSessionName : `aws-sdk-js-session-${Date.now()}`, WebIdentityToken: webIdentityToken, ProviderId: providerId, PolicyArns: policyArns, Policy: policy, DurationSeconds: durationSeconds, }); }; exports.fromWebToken = fromWebToken;