UNPKG

@csermet/multiprovider

Version:

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

36 lines (35 loc) 1.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const sdk_1 = require("@cloudgraph/sdk"); const format_1 = require("../../utils/format"); /** * IAM Role */ exports.default = ({ service: rawData, account, }) => { const { RoleName: name = '', Arn: arn = '', Path: path = '', CreateDate: createdAt, Description: description = '', RoleLastUsed, AssumeRolePolicyDocument: assumeRolePolicy = '', MaxSessionDuration: maxSessionDuration = 0, InlinePolicies: inlinePolicies = [], Tags: tags = {}, } = rawData; // Format Role Tags const roleTags = format_1.formatTagsFromMap(tags); const role = { id: arn, arn, accountId: account, name, path, createdAt: createdAt?.toISOString() || '', description, lastUsedDate: RoleLastUsed?.LastUsedDate?.toISOString() || null, rawPolicy: assumeRolePolicy, assumeRolePolicy: format_1.formatIamJsonPolicy(assumeRolePolicy), maxSessionDuration, inlinePolicies: inlinePolicies.map(({ name: inlinePolicyName, document: inlinePolicyDocument }) => ({ id: sdk_1.generateUniqueId({ name: inlinePolicyName, document: format_1.formatIamJsonPolicy(inlinePolicyDocument), }), name: inlinePolicyName, document: format_1.formatIamJsonPolicy(inlinePolicyDocument), })) ?? [], tags: roleTags, }; return role; };