route53-zone-file-exporter
Version:
Export AWS Route53 hosted zone data as a zone file
28 lines (21 loc) • 742 B
JavaScript
const AWS = require('aws-sdk')
const getOrigin = (zoneId, client) => new Promise((resolve, reject) => {
const params = { Id: zoneId }
client.getHostedZone(params, (err, data) => {
if (err) return reject(err)
resolve(data.Name)
})
})
const getRecordSets = (zoneId, client) => new Promise((resolve, reject) => {
const params = { HostedZoneId: zoneId }
client.listResourceRecordSets(params, (err, data) => {
if (err) return reject(err)
resolve(data.ResourceRecordSets)
})
})
module.exports = async ({ zoneId }, awsConfig) => {
const client = new AWS.Route53(awsConfig)
const origin = await getOrigin(zoneId, client)
const recordSets = await getRecordSets(zoneId, client)
return { origin, recordSets }
}