UNPKG

@idiamantino/livepro-utils

Version:

Stuff for LP

78 lines (61 loc) 2.61 kB
const AWS = require('aws-sdk'); const Utils = require("../library/utils"); let LpUtils = new Utils(); class r53 { constructor(region, apiVersion = '2013-04-01', debug = false) { this.setDebug(debug); this.region = region; LpUtils.printDebug("R53 constructor region:", region); AWS.config.update({region:this.region}); this.r53 = new AWS.Route53({apiVersion: apiVersion}); } setDebug(debug = false) { this.debug = debug; LpUtils.setDebug(debug); } async test(params){ LpUtils.printDebug("R53 function accessible:", params); LpUtils.printDebug("Region:", this.region); // this.setProcessClientStatus("cdf2c150-c724-11ea-94ea-5d5d37731bbc","testing: " + params); return (true); } // Function to add one individual process to the sqs async getClientUrl(clientName) { var params = { DNSName: 'livepro.com.au', HostedZoneId: 'ZA47E5612HDG', MaxItems: '1' }; var params = { HostedZoneId: 'ZA47E5612HDG', // query: "ResourceRecordSets[?ResourceRecords[?Value == 'qa415'] && Type == 'CNAME'].Name" // StartRecordType: "CNAME", MaxItems: '1000' }; try { LpUtils.printDebug("R53 Parameters: ", params); // aws route53domains list-domains --region us-east-1 // aws route53 list-resource-record-sets --hosted-zone-id ZA47E5612HDG // this.r53.listHostedZonesByName(params, function(err, data) { // if (err) console.log(err, err.stack); // an error occurred // else console.log(data); // successful response // }); let domain = "livepro.com.au"; let routeName = clientName + "." + domain; let returnloop = ""; let data = await this.r53.listResourceRecordSets(params).promise(); for(var item in data.ResourceRecordSets) { if(data.ResourceRecordSets[item].Name === routeName + ".") { returnloop = (routeName); return(returnloop); } // console.log(data.ResourceRecordSets[item].Name + "-" + routeName); } return(returnloop); } catch (err) { console.log(err); return(false); } } } module.exports = r53;