in scripts/suse-rhel-sap-ami/list.js [159:242]
function instance2AMIRegEx() {
var iTypes = [
"t1.micro",
"t2.micro",
"t2.small",
"t2.medium",
"m1.small",
"m1.medium",
"m1.large",
"m1.xlarge",
"m2.xlarge",
"m2.2xlarge",
"m2.4xlarge",
"m3.medium",
"m3.large",
"m3.xlarge",
"m3.2xlarge",
"c1.medium",
"c1.xlarge",
"c3.large",
"c3.xlarge",
"c3.2xlarge",
"c3.4xlarge",
"c3.8xlarge",
"c4.large",
"c4.xlarge",
"c4.2xlarge",
"c4.4xlarge",
"c4.8xlarge",
"r3.large",
"r3.xlarge",
"r3.2xlarge",
"r3.4xlarge",
"r3.8xlarge",
"i2.xlarge",
"i2.2xlarge",
"i2.4xlarge",
"i2.8xlarge",
"hi1.4xlarge",
"hs1.8xlarge",
"cr1.8xlarge",
"cc2.8xlarge",
];
var amiShort = [];
amiShort[amiAMZN64HVM] = "hvm";
amiShort[amiAMZN64PV] = "pv";
var amiMatrix = getAMImatrix();
var instanceType2AMIName = {};
for (var i in iTypes) {
var instance = iTypes[i];
var family = instance.split('.')[0];
var data = __.find(amiMatrix, function(v) {
return v.family == family;
});
var amiRegex = data.amiRegex;
instanceType2AMIName[instance] = {"amiType": amiShort[amiRegex] };
}
var Region2AMZNami = {};
var pvAMIs = getAMZNamis(amiAMZN64PV);
var hvmAMIs = getAMZNamis(amiAMZN64HVM);
var regions = getRegions();
for (var v in regions.Regions) {
var region = (regions.Regions[v].RegionName);
Region2AMZNami[region] = {};
Region2AMZNami[region]["pv"] = pvAMIs[region];
Region2AMZNami[region]["hvm"] = hvmAMIs[region];
}
var out = {};
out["Mappings"] = {};
out["Mappings"]["Region2AMZNami"] = Region2AMZNami;
out["Mappings"]["instanceType2AMIType"] = instanceType2AMIName;
console.log(JSON.stringify(out, null, 4));
}