UNPKG

@csermet/multiprovider

Version:

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

46 lines (45 loc) 1.46 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const lodash_1 = require("lodash"); const ids_1 = require("../../utils/ids"); // Normalize name due special chars like '*' are replaced with '\\052' const normalizeName = (name) => { if (lodash_1.isEmpty(name)) return ''; const normalizedName = name.replace(/\\052/g, '*'); return normalizedName.endsWith('.') ? normalizedName.slice(0, -1) : normalizedName; }; /** * Route53 Record */ exports.default = ({ service: rawData, account, }) => { const { HostedZoneId: Id, TTL: ttl, Name: name, Type: type, AliasTarget: alias, ResourceRecords: records = [], SetIdentifier: identifier = '', } = rawData; const normalizedName = normalizeName(name); const hostedZoneId = ids_1.getHostedZoneId(Id); const id = ids_1.getRecordId({ hostedZoneId, name: normalizedName, type, identifier, }); // Resource records const resourceRecords = records.map(({ Value }) => Value); const record = { id, accountId: account, zoneId: hostedZoneId, name: normalizedName, setIdentifier: identifier, type, ttl, alias: { name: alias?.DNSName || '', zoneId: alias?.HostedZoneId || '', evaluateTargetHealth: !!alias?.EvaluateTargetHealth, }, records: resourceRecords, }; return record; };