I have a JSON file that I'm calling into a file:
[
{
"IpProtocol": "TCP",
"FromPort": 0,
"ToPort": 65535,
"UserIdGroupPairs": [
{
"UserId": "10393084",
"GroupName": "Testgroup",
"GroupId": "sg-12345",
"VpcId": "vpc-c062aba5",
"Description": "This is a test group for our ip rules"
}
],
"IpRanges": [
{
"CidrIp": "0.0.0.0/0"
}
],
"Ipv6Ranges": [
{
"CidrIpv6": "::0"
}
],
"PrefixListIds": [
{
"PrefixListId": "string"
}
]
}
]
My JSON file looks like this:
message: 'There were 3 validation errors:\n* MissingRequiredParameter: Missing required key \'GroupName\' in params\n* MissingRequiredParameter: Missing required key \'Description\' in params\n* UnexpectedParameter: Unexpected key \'0\' found in params',
code: 'MultipleValidationErrors',
errors:
The error group name and description is clearly there. Not sure why I'm getting these errors. This is what my code looks like:
'use strict';
process.env.AWS_PROFILE
var PropertiesReader = require('properties-reader');
var AWS = require('aws-sdk')
var properties = PropertiesReader('/Users/testuser/.aws/credentials');
AWS.config.update({
accessKeyId : properties.get('aws_access_key_id'),
secretAccessKey : properties.get('aws_secret_access_key'),
region : 'us-east-1'
})
var ec2 = new AWS.EC2({apiVersion: '2016-11-15'});
// Load credentials and set region from JSON file
// Load in security group parameters
let securityParams = require('./securityParams.json');
let securityParamsJSON = JSON.stringify(securityParams);
module.exports = {
//Exports creation of Security Groups
createSecurityGroup: (req, res) => {
ec2.createSecurityGroup(securityParams, function(err, data) {
if (err) {
return (console.log("Error", err));
}
// Pass the Json as a parameter in this function
ec2.authorizeSecurityGroupIngress(securityParams, function(err, data) {
if (err) {
res.serverError(err, err.stack);
} else {
res.ok(data);
console.log('Ingress Security Rules Created');
}
})
// Pass the Json as a parameter in this function
ec2.authorizeSecurityGroupEgress(securityParams, function(err, data) {
if (err) {
res.serverError(err, err.stack);
} else {
res.ok(data);
console.log('Egress Security Rules Created');
}
})
})
}
}
module.exports.createSecurityGroup();
I'm just trying to create security groups in AWS through this script.
via user2019182