@csermet/multiprovider
Version:
cloud-graph provider plugin for AWS used to fetch AWS cloud data.
55 lines (54 loc) • 2.66 kB
JavaScript
;
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;
};