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