UNPKG

lambda-live-debugger

Version:

Debug Lambda functions locally like it is running in the cloud

468 lines (450 loc) 19.5 kB
const { awsEndpointFunctions, emitWarningIfUnsupportedVersion: emitWarningIfUnsupportedVersion$1, createDefaultUserAgentProvider, NODE_APP_ID_CONFIG_OPTIONS, getAwsRegionExtensionConfiguration, resolveAwsRegionExtensionConfiguration, resolveUserAgentConfig, resolveHostHeaderConfig, getUserAgentPlugin, getHostHeaderPlugin, getLoggerPlugin, getRecursionDetectionPlugin } = require("@aws-sdk/core/client"); const { NoAuthSigner, getHttpAuthSchemeEndpointRuleSetPlugin, DefaultIdentityProviderConfig, getHttpSigningPlugin } = require("@smithy/core"); const { normalizeProvider, getSmithyContext, ServiceException, NoOpLogger, emitWarningIfUnsupportedVersion, loadConfigsForDefaultMode, getDefaultExtensionConfiguration, resolveDefaultRuntimeConfig, Client, makeBuilder, createAggregatedClient } = require("@smithy/core/client"); const { Command: $Command } = require("@smithy/core/client"); exports.$Command = $Command; exports.__Client = Client; const { resolveDefaultsModeConfig, loadConfig, NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, NODE_REGION_CONFIG_OPTIONS, NODE_REGION_CONFIG_FILE_OPTIONS, resolveRegionConfig } = require("@smithy/core/config"); const { BinaryDecisionDiagram, EndpointCache, decideEndpoint, customEndpointFunctions, resolveEndpointConfig, getEndpointPlugin } = require("@smithy/core/endpoints"); const { parseUrl, getHttpHandlerExtensionConfiguration, resolveHttpHandlerRuntimeConfig, getContentLengthPlugin } = require("@smithy/core/protocols"); const { DEFAULT_RETRY_MODE, NODE_RETRY_MODE_CONFIG_OPTIONS, NODE_MAX_ATTEMPT_CONFIG_OPTIONS, resolveRetryConfig, getRetryPlugin } = require("@smithy/core/retry"); const { TypeRegistry, getSchemaSerdePlugin } = require("@smithy/core/schema"); const { resolveAwsSdkSigV4Config, AwsSdkSigV4Signer, NODE_AUTH_SCHEME_PREFERENCE_OPTIONS } = require("@aws-sdk/core/httpAuthSchemes"); const { toUtf8, fromUtf8, toBase64, fromBase64, calculateBodyLength } = require("@smithy/core/serde"); const { streamCollector, NodeHttpHandler } = require("@smithy/node-http-handler"); const { AwsRestJsonProtocol } = require("@aws-sdk/core/protocols"); const { Sha256 } = require("@smithy/core/checksum"); const defaultSSOHttpAuthSchemeParametersProvider = async (config, context, input) => { return { operation: getSmithyContext(context).operation, region: await normalizeProvider(config.region)() || (() => { throw new Error("expected `region` to be configured for `aws.auth#sigv4`"); })(), }; }; function createAwsAuthSigv4HttpAuthOption(authParameters) { return { schemeId: "aws.auth#sigv4", signingProperties: { name: "awsssoportal", region: authParameters.region, }, propertiesExtractor: (config, context) => ({ signingProperties: { config, context, }, }), }; } function createSmithyApiNoAuthHttpAuthOption(authParameters) { return { schemeId: "smithy.api#noAuth", }; } const defaultSSOHttpAuthSchemeProvider = (authParameters) => { const options = []; switch (authParameters.operation) { case "GetRoleCredentials": { options.push(createSmithyApiNoAuthHttpAuthOption()); break; } default: { options.push(createAwsAuthSigv4HttpAuthOption(authParameters)); } } return options; }; const resolveHttpAuthSchemeConfig = (config) => { const config_0 = resolveAwsSdkSigV4Config(config); return Object.assign(config_0, { authSchemePreference: normalizeProvider(config.authSchemePreference ?? []), }); }; const resolveClientEndpointParameters = (options) => { return Object.assign(options, { useDualstackEndpoint: options.useDualstackEndpoint ?? false, useFipsEndpoint: options.useFipsEndpoint ?? false, defaultSigningName: "awsssoportal", }); }; const commonParams = { UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, Endpoint: { type: "builtInParams", name: "endpoint" }, Region: { type: "builtInParams", name: "region" }, UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, }; var version = "3.997.30"; var packageInfo = { version: version}; const k = "ref"; const a = -1, b = true, c = "isSet", d = "PartitionResult", e = "booleanEquals", f = "getAttr", g = { [k]: "Endpoint" }, h = { [k]: d }, i = {}, j = [{ [k]: "Region" }]; const _data = { conditions: [ [c, [g]], [c, j], ["aws.partition", j, d], [e, [{ [k]: "UseFIPS" }, b]], [e, [{ [k]: "UseDualStack" }, b]], [e, [{ fn: f, argv: [h, "supportsDualStack"] }, b]], [e, [{ fn: f, argv: [h, "supportsFIPS"] }, b]], ["stringEquals", [{ fn: f, argv: [h, "name"] }, "aws-us-gov"]] ], results: [ [a], [a, "Invalid Configuration: FIPS and custom endpoint are not supported"], [a, "Invalid Configuration: Dualstack and custom endpoint are not supported"], [g, i], ["https://portal.sso-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", i], [a, "FIPS and DualStack are enabled, but this partition does not support one or both"], ["https://portal.sso.{Region}.amazonaws.com", i], ["https://portal.sso-fips.{Region}.{PartitionResult#dnsSuffix}", i], [a, "FIPS is enabled but this partition does not support FIPS"], ["https://portal.sso.{Region}.{PartitionResult#dualStackDnsSuffix}", i], [a, "DualStack is enabled but this partition does not support DualStack"], ["https://portal.sso.{Region}.{PartitionResult#dnsSuffix}", i], [a, "Invalid Configuration: Missing Region"] ] }; const root = 2; const r = 100_000_000; const nodes = new Int32Array([ -1, 1, -1, 0, 13, 3, 1, 4, r + 12, 2, 5, r + 12, 3, 8, 6, 4, 7, r + 11, 5, r + 9, r + 10, 4, 11, 9, 6, 10, r + 8, 7, r + 6, r + 7, 5, 12, r + 5, 6, r + 4, r + 5, 3, r + 1, 14, 4, r + 2, r + 3, ]); const bdd = BinaryDecisionDiagram.from(nodes, root, _data.conditions, _data.results); const cache = new EndpointCache({ size: 50, params: ["Endpoint", "Region", "UseDualStack", "UseFIPS"], }); const defaultEndpointResolver = (endpointParams, context = {}) => { return cache.get(endpointParams, () => decideEndpoint(bdd, { endpointParams: endpointParams, logger: context.logger, })); }; customEndpointFunctions.aws = awsEndpointFunctions; class SSOServiceException extends ServiceException { constructor(options) { super(options); Object.setPrototypeOf(this, SSOServiceException.prototype); } } class InvalidRequestException extends SSOServiceException { name = "InvalidRequestException"; $fault = "client"; constructor(opts) { super({ name: "InvalidRequestException", $fault: "client", ...opts, }); Object.setPrototypeOf(this, InvalidRequestException.prototype); } } class ResourceNotFoundException extends SSOServiceException { name = "ResourceNotFoundException"; $fault = "client"; constructor(opts) { super({ name: "ResourceNotFoundException", $fault: "client", ...opts, }); Object.setPrototypeOf(this, ResourceNotFoundException.prototype); } } class TooManyRequestsException extends SSOServiceException { name = "TooManyRequestsException"; $fault = "client"; constructor(opts) { super({ name: "TooManyRequestsException", $fault: "client", ...opts, }); Object.setPrototypeOf(this, TooManyRequestsException.prototype); } } class UnauthorizedException extends SSOServiceException { name = "UnauthorizedException"; $fault = "client"; constructor(opts) { super({ name: "UnauthorizedException", $fault: "client", ...opts, }); Object.setPrototypeOf(this, UnauthorizedException.prototype); } } const _ATT = "AccessTokenType"; const _GRC = "GetRoleCredentials"; const _GRCR = "GetRoleCredentialsRequest"; const _GRCRe = "GetRoleCredentialsResponse"; const _IRE = "InvalidRequestException"; const _RC = "RoleCredentials"; const _RNFE = "ResourceNotFoundException"; const _SAKT = "SecretAccessKeyType"; const _STT = "SessionTokenType"; const _TMRE = "TooManyRequestsException"; const _UE = "UnauthorizedException"; const _aI = "accountId"; const _aKI = "accessKeyId"; const _aT = "accessToken"; const _ai = "account_id"; const _c = "client"; const _e = "error"; const _ex = "expiration"; const _h = "http"; const _hE = "httpError"; const _hH = "httpHeader"; const _hQ = "httpQuery"; const _m = "message"; const _rC = "roleCredentials"; const _rN = "roleName"; const _rn = "role_name"; const _s = "smithy.ts.sdk.synthetic.com.amazonaws.sso"; const _sAK = "secretAccessKey"; const _sT = "sessionToken"; const _xasbt = "x-amz-sso_bearer_token"; const n0 = "com.amazonaws.sso"; const _s_registry = TypeRegistry.for(_s); var SSOServiceException$ = [-3, _s, "SSOServiceException", 0, [], []]; _s_registry.registerError(SSOServiceException$, SSOServiceException); const n0_registry = TypeRegistry.for(n0); var InvalidRequestException$ = [-3, n0, _IRE, { [_e]: _c, [_hE]: 400 }, [_m], [0] ]; n0_registry.registerError(InvalidRequestException$, InvalidRequestException); var ResourceNotFoundException$ = [-3, n0, _RNFE, { [_e]: _c, [_hE]: 404 }, [_m], [0] ]; n0_registry.registerError(ResourceNotFoundException$, ResourceNotFoundException); var TooManyRequestsException$ = [-3, n0, _TMRE, { [_e]: _c, [_hE]: 429 }, [_m], [0] ]; n0_registry.registerError(TooManyRequestsException$, TooManyRequestsException); var UnauthorizedException$ = [-3, n0, _UE, { [_e]: _c, [_hE]: 401 }, [_m], [0] ]; n0_registry.registerError(UnauthorizedException$, UnauthorizedException); const errorTypeRegistries = [ _s_registry, n0_registry, ]; var AccessTokenType = [0, n0, _ATT, 8, 0]; var SecretAccessKeyType = [0, n0, _SAKT, 8, 0]; var SessionTokenType = [0, n0, _STT, 8, 0]; var GetRoleCredentialsRequest$ = [3, n0, _GRCR, 0, [_rN, _aI, _aT], [[0, { [_hQ]: _rn }], [0, { [_hQ]: _ai }], [() => AccessTokenType, { [_hH]: _xasbt }]], 3 ]; var GetRoleCredentialsResponse$ = [3, n0, _GRCRe, 0, [_rC], [[() => RoleCredentials$, 0]] ]; var RoleCredentials$ = [3, n0, _RC, 0, [_aKI, _sAK, _sT, _ex], [0, [() => SecretAccessKeyType, 0], [() => SessionTokenType, 0], 1] ]; var GetRoleCredentials$ = [9, n0, _GRC, { [_h]: ["GET", "/federation/credentials", 200] }, () => GetRoleCredentialsRequest$, () => GetRoleCredentialsResponse$ ]; const getRuntimeConfig$1 = (config) => { return { apiVersion: "2019-06-10", base64Decoder: config?.base64Decoder ?? fromBase64, base64Encoder: config?.base64Encoder ?? toBase64, disableHostPrefix: config?.disableHostPrefix ?? false, endpointProvider: config?.endpointProvider ?? defaultEndpointResolver, extensions: config?.extensions ?? [], httpAuthSchemeProvider: config?.httpAuthSchemeProvider ?? defaultSSOHttpAuthSchemeProvider, httpAuthSchemes: config?.httpAuthSchemes ?? [ { schemeId: "aws.auth#sigv4", identityProvider: (ipc) => ipc.getIdentityProvider("aws.auth#sigv4"), signer: new AwsSdkSigV4Signer(), }, { schemeId: "smithy.api#noAuth", identityProvider: (ipc) => ipc.getIdentityProvider("smithy.api#noAuth") || (async () => ({})), signer: new NoAuthSigner(), }, ], logger: config?.logger ?? new NoOpLogger(), protocol: config?.protocol ?? AwsRestJsonProtocol, protocolSettings: config?.protocolSettings ?? { defaultNamespace: "com.amazonaws.sso", errorTypeRegistries, version: "2019-06-10", serviceTarget: "SWBPortalService", }, serviceId: config?.serviceId ?? "SSO", sha256: config?.sha256 ?? Sha256, urlParser: config?.urlParser ?? parseUrl, utf8Decoder: config?.utf8Decoder ?? fromUtf8, utf8Encoder: config?.utf8Encoder ?? toUtf8, }; }; const getRuntimeConfig = (config) => { emitWarningIfUnsupportedVersion(process.version); const defaultsMode = resolveDefaultsModeConfig(config); const defaultConfigProvider = () => defaultsMode().then(loadConfigsForDefaultMode); const clientSharedValues = getRuntimeConfig$1(config); emitWarningIfUnsupportedVersion$1(process.version); const loaderConfig = { profile: config?.profile, logger: clientSharedValues.logger, }; return { ...clientSharedValues, ...config, runtime: "node", defaultsMode, authSchemePreference: config?.authSchemePreference ?? loadConfig(NODE_AUTH_SCHEME_PREFERENCE_OPTIONS, loaderConfig), bodyLengthChecker: config?.bodyLengthChecker ?? calculateBodyLength, defaultUserAgentProvider: config?.defaultUserAgentProvider ?? createDefaultUserAgentProvider({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }), maxAttempts: config?.maxAttempts ?? loadConfig(NODE_MAX_ATTEMPT_CONFIG_OPTIONS, config), region: config?.region ?? loadConfig(NODE_REGION_CONFIG_OPTIONS, { ...NODE_REGION_CONFIG_FILE_OPTIONS, ...loaderConfig }), requestHandler: NodeHttpHandler.create(config?.requestHandler ?? defaultConfigProvider), retryMode: config?.retryMode ?? loadConfig({ ...NODE_RETRY_MODE_CONFIG_OPTIONS, default: async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE, }, config), streamCollector: config?.streamCollector ?? streamCollector, useDualstackEndpoint: config?.useDualstackEndpoint ?? loadConfig(NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, loaderConfig), useFipsEndpoint: config?.useFipsEndpoint ?? loadConfig(NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, loaderConfig), userAgentAppId: config?.userAgentAppId ?? loadConfig(NODE_APP_ID_CONFIG_OPTIONS, loaderConfig), }; }; const getHttpAuthExtensionConfiguration = (runtimeConfig) => { const _httpAuthSchemes = runtimeConfig.httpAuthSchemes; let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider; let _credentials = runtimeConfig.credentials; return { setHttpAuthScheme(httpAuthScheme) { const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId); if (index === -1) { _httpAuthSchemes.push(httpAuthScheme); } else { _httpAuthSchemes.splice(index, 1, httpAuthScheme); } }, httpAuthSchemes() { return _httpAuthSchemes; }, setHttpAuthSchemeProvider(httpAuthSchemeProvider) { _httpAuthSchemeProvider = httpAuthSchemeProvider; }, httpAuthSchemeProvider() { return _httpAuthSchemeProvider; }, setCredentials(credentials) { _credentials = credentials; }, credentials() { return _credentials; }, }; }; const resolveHttpAuthRuntimeConfig = (config) => { return { httpAuthSchemes: config.httpAuthSchemes(), httpAuthSchemeProvider: config.httpAuthSchemeProvider(), credentials: config.credentials(), }; }; const resolveRuntimeExtensions = (runtimeConfig, extensions) => { const extensionConfiguration = Object.assign(getAwsRegionExtensionConfiguration(runtimeConfig), getDefaultExtensionConfiguration(runtimeConfig), getHttpHandlerExtensionConfiguration(runtimeConfig), getHttpAuthExtensionConfiguration(runtimeConfig)); extensions.forEach((extension) => extension.configure(extensionConfiguration)); return Object.assign(runtimeConfig, resolveAwsRegionExtensionConfiguration(extensionConfiguration), resolveDefaultRuntimeConfig(extensionConfiguration), resolveHttpHandlerRuntimeConfig(extensionConfiguration), resolveHttpAuthRuntimeConfig(extensionConfiguration)); }; class SSOClient extends Client { config; constructor(...[configuration]) { const _config_0 = getRuntimeConfig(configuration || {}); super(_config_0); this.initConfig = _config_0; const _config_1 = resolveClientEndpointParameters(_config_0); const _config_2 = resolveUserAgentConfig(_config_1); const _config_3 = resolveRetryConfig(_config_2); const _config_4 = resolveRegionConfig(_config_3); const _config_5 = resolveHostHeaderConfig(_config_4); const _config_6 = resolveEndpointConfig(_config_5); const _config_7 = resolveHttpAuthSchemeConfig(_config_6); const _config_8 = resolveRuntimeExtensions(_config_7, configuration?.extensions || []); this.config = _config_8; this.middlewareStack.use(getSchemaSerdePlugin(this.config)); this.middlewareStack.use(getUserAgentPlugin(this.config)); this.middlewareStack.use(getRetryPlugin(this.config)); this.middlewareStack.use(getContentLengthPlugin(this.config)); this.middlewareStack.use(getHostHeaderPlugin(this.config)); this.middlewareStack.use(getLoggerPlugin(this.config)); this.middlewareStack.use(getRecursionDetectionPlugin(this.config)); this.middlewareStack.use(getHttpAuthSchemeEndpointRuleSetPlugin(this.config, { httpAuthSchemeParametersProvider: defaultSSOHttpAuthSchemeParametersProvider, identityProviderConfigProvider: async (config) => new DefaultIdentityProviderConfig({ "aws.auth#sigv4": config.credentials, }), })); this.middlewareStack.use(getHttpSigningPlugin(this.config)); } destroy() { super.destroy(); } } const command = makeBuilder(commonParams, "SWBPortalService", "SSOClient", getEndpointPlugin); const _ep0 = {}; const _mw0 = (Command, cs, config, o) => []; class GetRoleCredentialsCommand extends command(_ep0, _mw0, "GetRoleCredentials", GetRoleCredentials$) { } const commands = { GetRoleCredentialsCommand, }; class SSO extends SSOClient { } createAggregatedClient(commands, SSO); exports.GetRoleCredentials$ = GetRoleCredentials$; exports.GetRoleCredentialsCommand = GetRoleCredentialsCommand; exports.GetRoleCredentialsRequest$ = GetRoleCredentialsRequest$; exports.GetRoleCredentialsResponse$ = GetRoleCredentialsResponse$; exports.InvalidRequestException = InvalidRequestException; exports.InvalidRequestException$ = InvalidRequestException$; exports.ResourceNotFoundException = ResourceNotFoundException; exports.ResourceNotFoundException$ = ResourceNotFoundException$; exports.RoleCredentials$ = RoleCredentials$; exports.SSO = SSO; exports.SSOClient = SSOClient; exports.SSOServiceException = SSOServiceException; exports.SSOServiceException$ = SSOServiceException$; exports.TooManyRequestsException = TooManyRequestsException; exports.TooManyRequestsException$ = TooManyRequestsException$; exports.UnauthorizedException = UnauthorizedException; exports.UnauthorizedException$ = UnauthorizedException$; exports.errorTypeRegistries = errorTypeRegistries;