@idiamantino/livepro-utils
Version:
Stuff for LP
78 lines (61 loc) • 2.61 kB
JavaScript
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;