UNPKG

@csermet/multiprovider

Version:

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

45 lines (44 loc) 1.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const sdk_1 = require("@cloudgraph/sdk"); const format_1 = require("../../utils/format"); const generateArns_1 = require("../../utils/generateArns"); /** * Transit Gateway Route Table */ exports.default = ({ service: rawData, account, region, }) => { const { TransitGatewayRouteTableId: id, State: state, DefaultAssociationRouteTable: defaultAssociationRouteTable, DefaultPropagationRouteTable: defaultPropagationRouteTable, CreationTime: creationTime, TransitGatewayId: transitGatewayId, Tags: tags, Routes: routes = [], } = rawData; const arn = generateArns_1.transitGatewayRouteTableArn({ region, account, id }); const transitGatewayRouteTable = { id, accountId: account, arn, region, state, defaultAssociationRouteTable, defaultPropagationRouteTable, creationTime: creationTime?.toISOString(), transitGatewayId, tags: format_1.formatTagsFromMap(tags), routes: routes?.map(r => ({ id: sdk_1.generateUniqueId({ arn, ...r, }), destinationCidrBlock: r.DestinationCidrBlock, type: r.Type, state: r.State, prefixListId: r.PrefixListId, transitGatewayAttachments: r.TransitGatewayAttachments?.map(a => ({ id: sdk_1.generateUniqueId({ arn, ...a, }), resourceId: a.ResourceId, transitGatewayAttachmentId: a.TransitGatewayAttachmentId, resourceType: a.ResourceType, })) || [], })) || [], }; return transitGatewayRouteTable; };