Skip to content

Instantly share code, notes, and snippets.

@boltzj
Last active October 17, 2016 07:58
Show Gist options
  • Save boltzj/2cb7c4910bca059e1cb3536168f6dace to your computer and use it in GitHub Desktop.
Save boltzj/2cb7c4910bca059e1cb3536168f6dace to your computer and use it in GitHub Desktop.
var AWS = require('aws-sdk');
var _ = require('lodash');
AWS.config.update({
accessKeyId: 'FIXME',
secretAccessKey: 'FIXME'
});
var route53 = new AWS.Route53();
var params = {
HostedZoneId: 'FIXME',
};
route53.listResourceRecordSets(params, function (err, data) {
if (err) {
return console.log(err, err.stack); // an error occurred
}
var resourceRecordSetsNames = _.map(data.ResourceRecordSets, 'Name'); // _.map(data, 'Names'});
});
function recordSetNameAvailable (name, callback) {
route53.listResourceRecordSets(params, function (err, data) {
if (err) {
console.log(err, err.stack); // an error occurred
return callback(err);
}
var resourceRecordSetsNames = _.map(data.ResourceRecordSets, 'Name'); // _.map(data, 'Names'});\
resourceRecordSetsNames = _.filter(resourceRecordSetsNames, function(e) {
return e !== 'hcube.cool.';
});
resourceRecordSetsNames = _.map(resourceRecordSetsNames, function(e) {
if (e.endsWith('.hcube.cool.')) {
return e.slice(0, -12);
}
throw new Error('Invalid Value');
});
callback(err, resourceRecordSetsNames.indexOf(name) === -1)
});
}
recordSetNameAvailable('aaa', function(err, available) {
if (err) {
return 'Bad';
}
if (available) {
console.log('Let\'s go');
}
else {
console.log('fail');
}
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment