UNPKG

@csermet/multiprovider

Version:

cloud-graph provider plugin for AWS used to fetch AWS cloud data.

55 lines (54 loc) 2.66 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const sdk_1 = require("@cloudgraph/sdk"); const translations_1 = __importDefault(require("../../properties/translations")); const format_1 = require("../../utils/format"); const generateArns_1 = require("../../utils/generateArns"); /** * Cognito Identity Pool */ const formatSupportedLoginProviders = (supportedLoginProviders) => { const result = []; if (supportedLoginProviders) { for (const [identityProvider, identityProviderId] of Object.entries(supportedLoginProviders)) { result.push({ identityProvider, identityProviderId }); } } return result; }; exports.default = ({ service: rawData, account, region, }) => { const { IdentityPoolId: identityPoolId, IdentityPoolName: identityPoolName, AllowUnauthenticatedIdentities: allowUnauthenticatedIdentities, AllowClassicFlow: allowClassicFlow, SupportedLoginProviders: supportedLoginProviders, DeveloperProviderName: developerProviderName, OpenIdConnectProviderARNs: openIdConnectProviderARNs, CognitoIdentityProviders: cognitoIdentityProviders, SamlProviderARNs: samlProviderARNs, Tags: identityPoolTags, } = rawData; const cognitoIdentityProviderList = cognitoIdentityProviders?.map(({ ProviderName: providerName, ClientId: clientId, ServerSideTokenCheck: serverSideTokenCheck, }) => ({ id: sdk_1.generateUniqueId({ identityPoolId, providerName, clientId, serverSideTokenCheck, }), providerName, clientId, serverSideTokenCheck: serverSideTokenCheck ? translations_1.default.yes : translations_1.default.no, })) || []; const arn = generateArns_1.cognitoIdentityPoolArn({ region, account, identityPoolId }); const identityPool = { id: identityPoolId, accountId: account, arn, identityPoolName, allowUnauthenticatedIdentities: allowUnauthenticatedIdentities ? translations_1.default.yes : translations_1.default.no, allowClassicFlow: allowClassicFlow ? translations_1.default.yes : translations_1.default.no, supportedLoginProviders: formatSupportedLoginProviders(supportedLoginProviders), developerProviderName, openIdConnectProviderARNs, cognitoIdentityProviders: cognitoIdentityProviderList, samlProviderARNs, tags: format_1.formatTagsFromMap(identityPoolTags), region, }; return identityPool; };