UNPKG

@csermet/multiprovider

Version:

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

39 lines (38 loc) 1.44 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const isEmpty_1 = __importDefault(require("lodash/isEmpty")); const services_1 = __importDefault(require("../../enums/services")); const regions_1 = require("../../enums/regions"); /** * IAM Instance Profiles */ exports.default = ({ service: instanceProfile, data, }) => { const connections = []; const { InstanceProfileId: id, Roles: instanceProfileRoles } = instanceProfile; /** * Find related IAM Roles */ const rolesArn = instanceProfileRoles?.map(({ Arn }) => Arn); const roles = data.find(({ name }) => name === services_1.default.iamRole); if (roles?.data?.[regions_1.globalRegionName]) { const dataAtRegion = roles.data[regions_1.globalRegionName].filter(({ Arn }) => rolesArn.includes(Arn)); if (!isEmpty_1.default(dataAtRegion)) { for (const instance of dataAtRegion) { const { Arn: arn } = instance; connections.push({ id: arn, resourceType: services_1.default.iamRole, relation: 'child', field: 'iamRole', }); } } } const result = { [id]: connections, }; return result; };