Comparing version 2.0.21 to 2.0.22
@@ -27,7 +27,10 @@ { | ||
}, | ||
"DeveloperProviderName": {} | ||
"DeveloperProviderName": {}, | ||
"OpenIdConnectProviderARNs": { | ||
"shape": "S8" | ||
} | ||
} | ||
}, | ||
"output": { | ||
"shape": "S8" | ||
"shape": "Sa" | ||
} | ||
@@ -57,3 +60,3 @@ }, | ||
"output": { | ||
"shape": "S8" | ||
"shape": "Sa" | ||
} | ||
@@ -72,3 +75,3 @@ }, | ||
"Logins": { | ||
"shape": "Se" | ||
"shape": "Sg" | ||
} | ||
@@ -93,3 +96,3 @@ } | ||
"Logins": { | ||
"shape": "Se" | ||
"shape": "Sg" | ||
} | ||
@@ -117,3 +120,3 @@ } | ||
"Logins": { | ||
"shape": "Se" | ||
"shape": "Sg" | ||
}, | ||
@@ -159,3 +162,3 @@ "TokenDuration": { | ||
"Logins": { | ||
"shape": "Su" | ||
"shape": "Sw" | ||
} | ||
@@ -278,6 +281,6 @@ } | ||
"Logins": { | ||
"shape": "Se" | ||
"shape": "Sg" | ||
}, | ||
"LoginsToRemove": { | ||
"shape": "Su" | ||
"shape": "Sw" | ||
} | ||
@@ -289,6 +292,6 @@ } | ||
"input": { | ||
"shape": "S8" | ||
"shape": "Sa" | ||
}, | ||
"output": { | ||
"shape": "S8" | ||
"shape": "Sa" | ||
} | ||
@@ -304,2 +307,6 @@ } | ||
"S8": { | ||
"type": "list", | ||
"member": {} | ||
}, | ||
"Sa": { | ||
"type": "structure", | ||
@@ -320,6 +327,9 @@ "required": [ | ||
}, | ||
"DeveloperProviderName": {} | ||
"DeveloperProviderName": {}, | ||
"OpenIdConnectProviderARNs": { | ||
"shape": "S8" | ||
} | ||
} | ||
}, | ||
"Se": { | ||
"Sg": { | ||
"type": "map", | ||
@@ -329,3 +339,3 @@ "key": {}, | ||
}, | ||
"Su": { | ||
"Sw": { | ||
"type": "list", | ||
@@ -332,0 +342,0 @@ "member": {} |
@@ -13,2 +13,15 @@ { | ||
"operations": { | ||
"AddClientIDToOpenIDConnectProvider": { | ||
"input": { | ||
"type": "structure", | ||
"required": [ | ||
"OpenIDConnectProviderArn", | ||
"ClientID" | ||
], | ||
"members": { | ||
"OpenIDConnectProviderArn": {}, | ||
"ClientID": {} | ||
} | ||
} | ||
}, | ||
"AddRoleToInstanceProfile": { | ||
@@ -49,6 +62,6 @@ "input": { | ||
"OldPassword": { | ||
"shape": "S8" | ||
"shape": "Sb" | ||
}, | ||
"NewPassword": { | ||
"shape": "S8" | ||
"shape": "Sb" | ||
} | ||
@@ -126,3 +139,3 @@ } | ||
"Group": { | ||
"shape": "Sm" | ||
"shape": "Sp" | ||
} | ||
@@ -151,3 +164,3 @@ } | ||
"InstanceProfile": { | ||
"shape": "Sr" | ||
"shape": "St" | ||
} | ||
@@ -167,3 +180,3 @@ } | ||
"Password": { | ||
"shape": "S8" | ||
"shape": "Sb" | ||
}, | ||
@@ -183,3 +196,3 @@ "PasswordResetRequired": { | ||
"LoginProfile": { | ||
"shape": "Sy" | ||
"shape": "S10" | ||
} | ||
@@ -189,2 +202,27 @@ } | ||
}, | ||
"CreateOpenIDConnectProvider": { | ||
"input": { | ||
"type": "structure", | ||
"required": [ | ||
"Url", | ||
"ThumbprintList" | ||
], | ||
"members": { | ||
"Url": {}, | ||
"ClientIDList": { | ||
"shape": "S13" | ||
}, | ||
"ThumbprintList": { | ||
"shape": "S14" | ||
} | ||
} | ||
}, | ||
"output": { | ||
"resultWrapper": "CreateOpenIDConnectProviderResult", | ||
"type": "structure", | ||
"members": { | ||
"OpenIDConnectProviderArn": {} | ||
} | ||
} | ||
}, | ||
"CreateRole": { | ||
@@ -211,3 +249,3 @@ "input": { | ||
"Role": { | ||
"shape": "St" | ||
"shape": "Sv" | ||
} | ||
@@ -253,3 +291,3 @@ } | ||
"User": { | ||
"shape": "S17" | ||
"shape": "S1f" | ||
} | ||
@@ -278,3 +316,3 @@ } | ||
"VirtualMFADevice": { | ||
"shape": "S1b" | ||
"shape": "S1j" | ||
} | ||
@@ -367,2 +405,13 @@ } | ||
}, | ||
"DeleteOpenIDConnectProvider": { | ||
"input": { | ||
"type": "structure", | ||
"required": [ | ||
"OpenIDConnectProviderArn" | ||
], | ||
"members": { | ||
"OpenIDConnectProviderArn": {} | ||
} | ||
} | ||
}, | ||
"DeleteRole": { | ||
@@ -587,6 +636,6 @@ "input": { | ||
"Group": { | ||
"shape": "Sm" | ||
"shape": "Sp" | ||
}, | ||
"Users": { | ||
"shape": "S2i" | ||
"shape": "S2r" | ||
}, | ||
@@ -645,3 +694,3 @@ "IsTruncated": { | ||
"InstanceProfile": { | ||
"shape": "Sr" | ||
"shape": "St" | ||
} | ||
@@ -669,3 +718,3 @@ } | ||
"LoginProfile": { | ||
"shape": "Sy" | ||
"shape": "S10" | ||
} | ||
@@ -675,2 +724,29 @@ } | ||
}, | ||
"GetOpenIDConnectProvider": { | ||
"input": { | ||
"type": "structure", | ||
"required": [ | ||
"OpenIDConnectProviderArn" | ||
], | ||
"members": { | ||
"OpenIDConnectProviderArn": {} | ||
} | ||
}, | ||
"output": { | ||
"resultWrapper": "GetOpenIDConnectProviderResult", | ||
"type": "structure", | ||
"members": { | ||
"Url": {}, | ||
"ClientIDList": { | ||
"shape": "S13" | ||
}, | ||
"ThumbprintList": { | ||
"shape": "S14" | ||
}, | ||
"CreateDate": { | ||
"type": "timestamp" | ||
} | ||
} | ||
} | ||
}, | ||
"GetRole": { | ||
@@ -694,3 +770,3 @@ "input": { | ||
"Role": { | ||
"shape": "St" | ||
"shape": "Sv" | ||
} | ||
@@ -776,3 +852,3 @@ } | ||
"ServerCertificateMetadata": { | ||
"shape": "S2y" | ||
"shape": "S39" | ||
}, | ||
@@ -801,3 +877,3 @@ "CertificateBody": {}, | ||
"User": { | ||
"shape": "S17" | ||
"shape": "S1f" | ||
} | ||
@@ -923,3 +999,3 @@ } | ||
"PolicyNames": { | ||
"shape": "S3e" | ||
"shape": "S3p" | ||
}, | ||
@@ -952,3 +1028,3 @@ "IsTruncated": { | ||
"Groups": { | ||
"shape": "S3i" | ||
"shape": "S3t" | ||
}, | ||
@@ -984,3 +1060,3 @@ "IsTruncated": { | ||
"Groups": { | ||
"shape": "S3i" | ||
"shape": "S3t" | ||
}, | ||
@@ -1013,3 +1089,3 @@ "IsTruncated": { | ||
"InstanceProfiles": { | ||
"shape": "S3n" | ||
"shape": "S3y" | ||
}, | ||
@@ -1045,3 +1121,3 @@ "IsTruncated": { | ||
"InstanceProfiles": { | ||
"shape": "S3n" | ||
"shape": "S3y" | ||
}, | ||
@@ -1098,2 +1174,23 @@ "IsTruncated": { | ||
}, | ||
"ListOpenIDConnectProviders": { | ||
"input": { | ||
"type": "structure", | ||
"members": {} | ||
}, | ||
"output": { | ||
"resultWrapper": "ListOpenIDConnectProvidersResult", | ||
"type": "structure", | ||
"members": { | ||
"OpenIDConnectProviderList": { | ||
"type": "list", | ||
"member": { | ||
"type": "structure", | ||
"members": { | ||
"Arn": {} | ||
} | ||
} | ||
} | ||
} | ||
} | ||
}, | ||
"ListRolePolicies": { | ||
@@ -1121,3 +1218,3 @@ "input": { | ||
"PolicyNames": { | ||
"shape": "S3e" | ||
"shape": "S3p" | ||
}, | ||
@@ -1150,3 +1247,3 @@ "IsTruncated": { | ||
"Roles": { | ||
"shape": "Ss" | ||
"shape": "Su" | ||
}, | ||
@@ -1208,3 +1305,3 @@ "IsTruncated": { | ||
"member": { | ||
"shape": "S2y" | ||
"shape": "S39" | ||
} | ||
@@ -1240,3 +1337,3 @@ }, | ||
"member": { | ||
"shape": "S48" | ||
"shape": "S4n" | ||
} | ||
@@ -1273,3 +1370,3 @@ }, | ||
"PolicyNames": { | ||
"shape": "S3e" | ||
"shape": "S3p" | ||
}, | ||
@@ -1302,3 +1399,3 @@ "IsTruncated": { | ||
"Users": { | ||
"shape": "S2i" | ||
"shape": "S2r" | ||
}, | ||
@@ -1333,3 +1430,3 @@ "IsTruncated": { | ||
"member": { | ||
"shape": "S1b" | ||
"shape": "S1j" | ||
} | ||
@@ -1389,2 +1486,15 @@ }, | ||
}, | ||
"RemoveClientIDFromOpenIDConnectProvider": { | ||
"input": { | ||
"type": "structure", | ||
"required": [ | ||
"OpenIDConnectProviderArn", | ||
"ClientID" | ||
], | ||
"members": { | ||
"OpenIDConnectProviderArn": {}, | ||
"ClientID": {} | ||
} | ||
} | ||
}, | ||
"RemoveRoleFromInstanceProfile": { | ||
@@ -1516,3 +1626,3 @@ "input": { | ||
"Password": { | ||
"shape": "S8" | ||
"shape": "Sb" | ||
}, | ||
@@ -1525,2 +1635,17 @@ "PasswordResetRequired": { | ||
}, | ||
"UpdateOpenIDConnectProviderThumbprint": { | ||
"input": { | ||
"type": "structure", | ||
"required": [ | ||
"OpenIDConnectProviderArn", | ||
"ThumbprintList" | ||
], | ||
"members": { | ||
"OpenIDConnectProviderArn": {}, | ||
"ThumbprintList": { | ||
"shape": "S14" | ||
} | ||
} | ||
} | ||
}, | ||
"UpdateSAMLProvider": { | ||
@@ -1610,3 +1735,3 @@ "input": { | ||
"ServerCertificateMetadata": { | ||
"shape": "S2y" | ||
"shape": "S39" | ||
} | ||
@@ -1635,3 +1760,3 @@ } | ||
"Certificate": { | ||
"shape": "S48" | ||
"shape": "S4n" | ||
} | ||
@@ -1643,7 +1768,7 @@ } | ||
"shapes": { | ||
"S8": { | ||
"Sb": { | ||
"type": "string", | ||
"sensitive": true | ||
}, | ||
"Sm": { | ||
"Sp": { | ||
"type": "structure", | ||
@@ -1667,3 +1792,3 @@ "required": [ | ||
}, | ||
"Sr": { | ||
"St": { | ||
"type": "structure", | ||
@@ -1687,13 +1812,13 @@ "required": [ | ||
"Roles": { | ||
"shape": "Ss" | ||
"shape": "Su" | ||
} | ||
} | ||
}, | ||
"Ss": { | ||
"Su": { | ||
"type": "list", | ||
"member": { | ||
"shape": "St" | ||
"shape": "Sv" | ||
} | ||
}, | ||
"St": { | ||
"Sv": { | ||
"type": "structure", | ||
@@ -1718,3 +1843,3 @@ "required": [ | ||
}, | ||
"Sy": { | ||
"S10": { | ||
"type": "structure", | ||
@@ -1735,3 +1860,11 @@ "required": [ | ||
}, | ||
"S17": { | ||
"S13": { | ||
"type": "list", | ||
"member": {} | ||
}, | ||
"S14": { | ||
"type": "list", | ||
"member": {} | ||
}, | ||
"S1f": { | ||
"type": "structure", | ||
@@ -1752,6 +1885,9 @@ "required": [ | ||
"type": "timestamp" | ||
}, | ||
"PasswordLastUsed": { | ||
"type": "timestamp" | ||
} | ||
} | ||
}, | ||
"S1b": { | ||
"S1j": { | ||
"type": "structure", | ||
@@ -1764,9 +1900,9 @@ "required": [ | ||
"Base32StringSeed": { | ||
"shape": "S1d" | ||
"shape": "S1l" | ||
}, | ||
"QRCodePNG": { | ||
"shape": "S1d" | ||
"shape": "S1l" | ||
}, | ||
"User": { | ||
"shape": "S17" | ||
"shape": "S1f" | ||
}, | ||
@@ -1778,13 +1914,13 @@ "EnableDate": { | ||
}, | ||
"S1d": { | ||
"S1l": { | ||
"type": "blob", | ||
"sensitive": true | ||
}, | ||
"S2i": { | ||
"S2r": { | ||
"type": "list", | ||
"member": { | ||
"shape": "S17" | ||
"shape": "S1f" | ||
} | ||
}, | ||
"S2y": { | ||
"S39": { | ||
"type": "structure", | ||
@@ -1810,19 +1946,19 @@ "required": [ | ||
}, | ||
"S3e": { | ||
"S3p": { | ||
"type": "list", | ||
"member": {} | ||
}, | ||
"S3i": { | ||
"S3t": { | ||
"type": "list", | ||
"member": { | ||
"shape": "Sm" | ||
"shape": "Sp" | ||
} | ||
}, | ||
"S3n": { | ||
"S3y": { | ||
"type": "list", | ||
"member": { | ||
"shape": "Sr" | ||
"shape": "St" | ||
} | ||
}, | ||
"S48": { | ||
"S4n": { | ||
"type": "structure", | ||
@@ -1829,0 +1965,0 @@ "required": [ |
@@ -48,7 +48,7 @@ { | ||
"name": "EC2", | ||
"versions": ["2013-06-15*", "2013-10-15*", "2014-02-01*", "2014-05-01*"] | ||
"versions": ["2013-06-15*", "2013-10-15*", "2014-02-01*", "2014-05-01*", "2014-06-15*"] | ||
}, | ||
"elasticache": { | ||
"name": "ElastiCache", | ||
"versions": ["2012-11-15*", "2014-03-24*"] | ||
"versions": ["2012-11-15*", "2014-03-24*", "2014-07-15*"] | ||
}, | ||
@@ -55,0 +55,0 @@ "elasticbeanstalk": { |
@@ -7,3 +7,3 @@ { | ||
"serviceFullName": "Amazon Relational Database Service", | ||
"signatureVersion": "v2", | ||
"signatureVersion": "v4", | ||
"xmlNamespace": "http://rds.amazonaws.com/doc/2013-01-10/", | ||
@@ -10,0 +10,0 @@ "protocol": "query" |
@@ -33,2 +33,17 @@ { | ||
}, | ||
"DisableDomainAutoRenew": { | ||
"input": { | ||
"type": "structure", | ||
"required": [ | ||
"DomainName" | ||
], | ||
"members": { | ||
"DomainName": {} | ||
} | ||
}, | ||
"output": { | ||
"type": "structure", | ||
"members": {} | ||
} | ||
}, | ||
"DisableDomainTransferLock": { | ||
@@ -54,2 +69,17 @@ "input": { | ||
}, | ||
"EnableDomainAutoRenew": { | ||
"input": { | ||
"type": "structure", | ||
"required": [ | ||
"DomainName" | ||
], | ||
"members": { | ||
"DomainName": {} | ||
} | ||
}, | ||
"output": { | ||
"type": "structure", | ||
"members": {} | ||
} | ||
}, | ||
"EnableDomainTransferLock": { | ||
@@ -97,3 +127,3 @@ "input": { | ||
"Nameservers": { | ||
"shape": "Sd" | ||
"shape": "Sh" | ||
}, | ||
@@ -104,9 +134,9 @@ "AutoRenew": { | ||
"AdminContact": { | ||
"shape": "Sj" | ||
"shape": "Sn" | ||
}, | ||
"RegistrantContact": { | ||
"shape": "Sj" | ||
"shape": "Sn" | ||
}, | ||
"TechContact": { | ||
"shape": "Sj" | ||
"shape": "Sn" | ||
}, | ||
@@ -271,9 +301,9 @@ "AdminPrivacy": { | ||
"AdminContact": { | ||
"shape": "Sj" | ||
"shape": "Sn" | ||
}, | ||
"RegistrantContact": { | ||
"shape": "Sj" | ||
"shape": "Sn" | ||
}, | ||
"TechContact": { | ||
"shape": "Sj" | ||
"shape": "Sn" | ||
}, | ||
@@ -318,3 +348,3 @@ "PrivacyProtectAdminContact": { | ||
"AuthCode": { | ||
"shape": "S1q" | ||
"shape": "S1u" | ||
} | ||
@@ -342,6 +372,6 @@ } | ||
"Nameservers": { | ||
"shape": "Sd" | ||
"shape": "Sh" | ||
}, | ||
"AuthCode": { | ||
"shape": "S1q" | ||
"shape": "S1u" | ||
}, | ||
@@ -352,9 +382,9 @@ "AutoRenew": { | ||
"AdminContact": { | ||
"shape": "Sj" | ||
"shape": "Sn" | ||
}, | ||
"RegistrantContact": { | ||
"shape": "Sj" | ||
"shape": "Sn" | ||
}, | ||
"TechContact": { | ||
"shape": "Sj" | ||
"shape": "Sn" | ||
}, | ||
@@ -391,9 +421,9 @@ "PrivacyProtectAdminContact": { | ||
"AdminContact": { | ||
"shape": "Sj" | ||
"shape": "Sn" | ||
}, | ||
"RegistrantContact": { | ||
"shape": "Sj" | ||
"shape": "Sn" | ||
}, | ||
"TechContact": { | ||
"shape": "Sj" | ||
"shape": "Sn" | ||
} | ||
@@ -451,3 +481,3 @@ } | ||
"Nameservers": { | ||
"shape": "Sd" | ||
"shape": "Sh" | ||
} | ||
@@ -468,3 +498,3 @@ } | ||
"shapes": { | ||
"Sd": { | ||
"Sh": { | ||
"type": "list", | ||
@@ -485,3 +515,3 @@ "member": { | ||
}, | ||
"Sj": { | ||
"Sn": { | ||
"type": "structure", | ||
@@ -519,3 +549,3 @@ "members": { | ||
}, | ||
"S1q": { | ||
"S1u": { | ||
"type": "string", | ||
@@ -522,0 +552,0 @@ "sensitive": true |
#!/usr/bin/env node | ||
var fs = require('fs'); | ||
var util = require('util'); | ||
var path = require('path'); | ||
@@ -74,3 +72,3 @@ | ||
}); | ||
}; | ||
} | ||
@@ -77,0 +75,0 @@ // run if we called this tool directly |
@@ -1,2 +0,1 @@ | ||
var fs = require('fs'); | ||
var Transform = require('stream').Transform; | ||
@@ -3,0 +2,0 @@ var collector = require('./service-collector'); |
@@ -104,7 +104,7 @@ var fs = require('fs'); | ||
var api = JSON.parse(fs.readFileSync(serviceFile(svc, version))); | ||
var api = require(serviceFile(svc, version)); | ||
// Try to load paginators | ||
if (fs.existsSync(paginatorsFile(svc, version))) { | ||
var paginators = JSON.parse(fs.readFileSync(paginatorsFile(svc, version))); | ||
var paginators = require(paginatorsFile(svc, version)); | ||
api.paginators = paginators.pagination; | ||
@@ -115,3 +115,3 @@ } | ||
if (fs.existsSync(waitersFile(svc, version))) { | ||
var waiters = JSON.parse(fs.readFileSync(waitersFile(svc, version))); | ||
var waiters = require(waitersFile(svc, version)); | ||
api.waiters = waiters.waiters; | ||
@@ -118,0 +118,0 @@ } |
@@ -20,3 +20,3 @@ /** | ||
*/ | ||
VERSION: '2.0.21', | ||
VERSION: '2.0.22', | ||
@@ -23,0 +23,0 @@ /** |
@@ -72,3 +72,3 @@ var AWS = require('../core'); | ||
if (body && WritableStream && ReadableStream) { // progress support | ||
if (!(body instanceof Stream)) body = this.bufferToStream(body); | ||
if (!(body instanceof Stream)) body = AWS.util.buffer.toStream(body); | ||
body.pipe(this.progressStream(stream, httpRequest)); | ||
@@ -118,19 +118,2 @@ } | ||
bufferToStream: function bufferToStream(buffer) { | ||
if (!AWS.util.Buffer.isBuffer(buffer)) buffer = new AWS.util.Buffer(buffer); | ||
var readable = new ReadableStream(); | ||
var pos = 0; | ||
readable._read = function(size) { | ||
if (pos >= buffer.length) return readable.push(null); | ||
var end = pos + size; | ||
if (end > buffer.length) end = buffer.length; | ||
readable.push(buffer.slice(pos, end)); | ||
pos = end; | ||
}; | ||
return readable; | ||
}, | ||
emitter: null | ||
@@ -137,0 +120,0 @@ }); |
@@ -69,6 +69,10 @@ var AWS = require('../core'); | ||
if (httpRequest.body && typeof httpRequest.body.buffer === 'object') { | ||
xhr.send(httpRequest.body.buffer); // typed arrays sent as ArrayBuffer | ||
} else { | ||
try { | ||
xhr.send(httpRequest.body); | ||
} catch (err) { | ||
if (httpRequest.body && typeof httpRequest.body.buffer === 'object') { | ||
xhr.send(httpRequest.body.buffer); // send ArrayBuffer directly | ||
} else { | ||
throw err; | ||
} | ||
} | ||
@@ -75,0 +79,0 @@ |
var util = require('./util'); | ||
var config = require('./region_config.json'); | ||
var regionConfig = require('./region_config.json'); | ||
function regionConfig(service) { | ||
var sId = service.serviceIdentifier || ''; | ||
var sRegion = service.config.region || ''; | ||
var finalConfig = {}; | ||
function generateRegionPrefix(region) { | ||
if (!region) return null; | ||
config.forEach(function(item) { | ||
(item.regions || []).forEach(function(region) { | ||
if (sRegion.match(new RegExp('^' + region.replace('*', '.*') + '$'))) { | ||
(item.serviceConfigs || []).forEach(function(svcConfig) { | ||
(svcConfig.services || []).forEach(function(svcName) { | ||
if (sId.match(new RegExp('^' + svcName.replace('*', '.*') + '$'))) { | ||
util.update(finalConfig, svcConfig.config); | ||
service.isGlobalEndpoint = !!svcConfig.globalEndpoint; | ||
} | ||
}); | ||
}); | ||
} | ||
}); | ||
var parts = region.split('-'); | ||
if (parts.length < 3) return null; | ||
return parts.slice(0, parts.length - 2).join('-') + '-*'; | ||
} | ||
function derivedKeys(service) { | ||
var region = service.config.region; | ||
var regionPrefix = generateRegionPrefix(region); | ||
var endpointPrefix = service.api.endpointPrefix; | ||
return [ | ||
[region, endpointPrefix], | ||
[regionPrefix, endpointPrefix], | ||
[region, '*'], | ||
[regionPrefix, '*'], | ||
['*', endpointPrefix], | ||
['*', '*'] | ||
].map(function(item) { | ||
return item[0] && item[1] ? item.join('/') : null; | ||
}); | ||
} | ||
util.each(finalConfig, function(key, value) { | ||
function applyConfig(service, config) { | ||
util.each(config, function(key, value) { | ||
if (key === 'globalEndpoint') return; | ||
if (service.config[key] === undefined || service.config[key] === null) { | ||
@@ -31,2 +38,27 @@ service.config[key] = value; | ||
module.exports = regionConfig; | ||
function configureEndpoint(service) { | ||
var keys = derivedKeys(service); | ||
for (var i = 0; i < keys.length; i++) { | ||
var key = keys[i]; | ||
if (!key) continue; | ||
if (regionConfig.rules.hasOwnProperty(key)) { | ||
var config = regionConfig.rules[key]; | ||
if (typeof config === 'string') { | ||
config = regionConfig.patterns[config]; | ||
} | ||
// set global endpoint | ||
service.isGlobalEndpoint = !!config.globalEndpoint; | ||
// signature version | ||
if (!config.signatureVersion) config.signatureVersion = 'v4'; | ||
// merge config | ||
applyConfig(service, config); | ||
return; | ||
} | ||
} | ||
} | ||
module.exports = configureEndpoint; |
@@ -1,56 +0,59 @@ | ||
[ | ||
{ | ||
"regions": ["*"], | ||
"serviceConfigs": [ | ||
{ | ||
"services": ["*"], | ||
"config": { | ||
"endpoint": "{service}.{region}.amazonaws.com" | ||
} | ||
}, | ||
{ | ||
"services": ["cloudfront", "iam", "importexport", "sts"], | ||
"config": { | ||
"endpoint": "{service}.amazonaws.com" | ||
}, | ||
"globalEndpoint": true | ||
}, | ||
{ | ||
"services": ["s3"], | ||
"config": { | ||
"endpoint": "{service}-{region}.amazonaws.com" | ||
} | ||
}, | ||
{ | ||
"services": ["route53"], | ||
"config": { | ||
"endpoint": "https://{service}.amazonaws.com" | ||
}, | ||
"globalEndpoint": true | ||
} | ||
] | ||
{ | ||
"rules": { | ||
"*/*": { | ||
"endpoint": "{service}.{region}.amazonaws.com" | ||
}, | ||
"cn-*/*": { | ||
"endpoint": "{service}.{region}.amazonaws.com.cn" | ||
}, | ||
"*/cloudfront": "globalSSL", | ||
"*/iam": "globalSSL", | ||
"*/sts": "globalSSL", | ||
"*/importexport": { | ||
"endpoint": "{service}.amazonaws.com", | ||
"signatureVersion": "v2", | ||
"globalEndpoint": true | ||
}, | ||
"*/route53": { | ||
"endpoint": "https://{service}.amazonaws.com", | ||
"signatureVersion": "v3https", | ||
"globalEndpoint": true | ||
}, | ||
"us-gov-*/iam": "globalGovCloud", | ||
"us-gov-*/sts": "globalGovCloud", | ||
"us-gov-west-1/s3": "s3dash", | ||
"us-west-1/s3": "s3dash", | ||
"us-west-2/s3": "s3dash", | ||
"eu-west-1/s3": "s3dash", | ||
"ap-southeast-1/s3": "s3dash", | ||
"ap-southeast-2/s3": "s3dash", | ||
"ap-northeast-1/s3": "s3dash", | ||
"sa-east-1/s3": "s3dash", | ||
"us-east-1/s3": { | ||
"endpoint": "{service}.amazonaws.com", | ||
"signatureVersion": "s3" | ||
}, | ||
"us-east-1/sdb": { | ||
"endpoint": "{service}.amazonaws.com", | ||
"signatureVersion": "v2" | ||
}, | ||
"*/sdb": { | ||
"endpoint": "{service}.{region}.amazonaws.com", | ||
"signatureVersion": "v2" | ||
} | ||
}, | ||
{ | ||
"regions": ["us-east-1"], | ||
"serviceConfigs": [ | ||
{ | ||
"services": ["s3", "simpledb"], | ||
"config": { | ||
"endpoint": "{service}.amazonaws.com" | ||
} | ||
} | ||
] | ||
}, | ||
{ | ||
"regions": ["cn-*"], | ||
"serviceConfigs": [ | ||
{ | ||
"services": ["*"], | ||
"config": { | ||
"endpoint": "{service}.{region}.amazonaws.com.cn", | ||
"signatureVersion": "v4" | ||
} | ||
} | ||
] | ||
"patterns": { | ||
"globalSSL": { | ||
"endpoint": "https://{service}.amazonaws.com", | ||
"globalEndpoint": true | ||
}, | ||
"globalGovCloud": { | ||
"endpoint": "{service}.us-gov.amazonaws.com" | ||
}, | ||
"s3dash": { | ||
"endpoint": "{service}-{region}.amazonaws.com", | ||
"signatureVersion": "s3" | ||
} | ||
} | ||
] | ||
} |
var AWS = require('./core'); | ||
var AcceptorStateMachine = require('./state_machine'); | ||
var inherit = AWS.util.inherit; | ||
var domain = AWS.util.nodeRequire('domain'); | ||
@@ -16,20 +17,22 @@ /** | ||
fsm.setupStates = function() { | ||
var transition = function(err, done) { | ||
var transition = function(_, done) { | ||
var self = this; | ||
try { | ||
var self = this; | ||
self.emit(self._asm.currentState, function() { | ||
var nextError = self.response.error; | ||
if (nextError && nextError !== err && isTerminalState(self)) { | ||
throw nextError; | ||
done(self.response.error); | ||
}); | ||
} catch (err) { | ||
if (isTerminalState(self)) { | ||
if (domain && self.domain instanceof domain.Domain) { | ||
err.domainEmitter = self; | ||
err.domain = self.domain; | ||
err.domainThrown = false; | ||
self.domain.emit('error', err); | ||
} else { | ||
throw err; | ||
} | ||
done(nextError); | ||
}); | ||
} catch (e) { | ||
if (e !== err && isTerminalState(self)) { | ||
AWS.SequentialExecutor.prototype.unhandledErrorCallback.call(this, e); | ||
done(); | ||
} else { | ||
done(e); | ||
self.response.error = err; | ||
done(err); | ||
} | ||
@@ -307,2 +310,3 @@ } | ||
this.domain = domain && domain.active; | ||
this.service = service; | ||
@@ -598,3 +602,3 @@ this.operation = operation; | ||
if (typeof args === 'function') { done = args; args = null; } | ||
if (!done) done = this.unhandledErrorCallback; | ||
if (!done) done = function() { }; | ||
if (!args) args = this.eventParameters(eventName, this.response); | ||
@@ -601,0 +605,0 @@ |
@@ -95,2 +95,3 @@ /** | ||
resp.error = null; | ||
resp.data = {}; | ||
resp.request.removeAllListeners('extractData'); | ||
@@ -97,0 +98,0 @@ } |
var AWS = require('./core'); | ||
var domain = AWS.util.nodeRequire('domain'); | ||
@@ -18,3 +17,2 @@ /** | ||
constructor: function SequentialExecutor() { | ||
this.domain = domain && domain.active; | ||
this._events = {}; | ||
@@ -77,3 +75,3 @@ }, | ||
emit: function emit(eventName, eventArgs, doneCallback) { | ||
if (!doneCallback) doneCallback = this.unhandledErrorCallback; | ||
if (!doneCallback) doneCallback = function() { }; | ||
var listeners = this.listeners(eventName); | ||
@@ -89,25 +87,22 @@ var count = listeners.length; | ||
callListeners: function callListeners(listeners, args, doneCallback) { | ||
if (listeners.length === 0) { | ||
doneCallback.call(this); | ||
return; | ||
var self = this; | ||
function callNextListener(err) { | ||
if (err) { | ||
doneCallback.call(self, err); | ||
} else { | ||
self.callListeners(listeners, args, doneCallback); | ||
} | ||
} | ||
var self = this, listener = listeners.shift(); | ||
if (listener._isAsync) { // asynchronous listener | ||
var callNextListener = function(err) { | ||
if (err) { | ||
doneCallback.call(self, err); | ||
} else { | ||
self.callListeners(listeners, args, doneCallback); | ||
} | ||
}; | ||
listener.apply(self, args.concat([callNextListener])); | ||
} else { // synchronous listener | ||
try { | ||
while (listeners.length > 0) { | ||
var listener = listeners.shift(); | ||
if (listener._isAsync) { // asynchronous listener | ||
listener.apply(self, args.concat([callNextListener])); | ||
return; // stop here, callNextListener will continue | ||
} else { // synchronous listener | ||
listener.apply(self, args); | ||
self.callListeners(listeners, args, doneCallback); | ||
} catch (err) { | ||
doneCallback.call(self, err); | ||
} | ||
} | ||
doneCallback.call(self); | ||
}, | ||
@@ -219,18 +214,2 @@ | ||
return this; | ||
}, | ||
/** | ||
* @api private | ||
*/ | ||
unhandledErrorCallback: function unhandledErrorCallback(err) { | ||
if (err) { | ||
if (domain && this.domain instanceof domain.Domain) { | ||
err.domainEmitter = this; | ||
err.domain = this.domain; | ||
err.domainThrown = false; | ||
this.domain.emit('error', err); | ||
} else { | ||
throw err; | ||
} | ||
} | ||
} | ||
@@ -237,0 +216,0 @@ }); |
@@ -42,3 +42,3 @@ var AWS = require('./core'); | ||
this.validateService(); | ||
regionConfig(this); | ||
if (!this.config.endpoint) regionConfig(this); | ||
@@ -45,0 +45,0 @@ this.config.endpoint = this.endpointFromTemplate(this.config.endpoint); |
@@ -30,3 +30,2 @@ var AWS = require('../core'); | ||
config.region = req.params.SourceRegion; | ||
config.signatureVersion = 'v4'; | ||
var svc = new req.service.constructor(config); | ||
@@ -33,0 +32,0 @@ var newReq = svc[req.operation](req.params); |
@@ -298,3 +298,3 @@ var AWS = require('../core'); | ||
var code = resp.httpResponse.statusCode; | ||
var body = resp.httpResponse.body; | ||
var body = resp.httpResponse.body || ''; | ||
if (codes[code] && body.length === 0) { | ||
@@ -301,0 +301,0 @@ resp.error = AWS.util.error(new Error(), { |
@@ -119,2 +119,19 @@ /* eslint guard-for-in:0 */ | ||
buffer: { | ||
toStream: function toStream(buffer) { | ||
if (!util.Buffer.isBuffer(buffer)) buffer = new util.Buffer(buffer); | ||
var readable = new (util.nodeRequire('stream').Readable)(); | ||
var pos = 0; | ||
readable._read = function(size) { | ||
if (pos >= buffer.length) return readable.push(null); | ||
var end = pos + size; | ||
if (end > buffer.length) end = buffer.length; | ||
readable.push(buffer.slice(pos, end)); | ||
pos = end; | ||
}; | ||
return readable; | ||
}, | ||
/** | ||
@@ -121,0 +138,0 @@ * Concatenates a list of Buffer objects. |
{ | ||
"name": "aws-sdk", | ||
"description": "AWS SDK for JavaScript", | ||
"version": "2.0.21", | ||
"version": "2.0.22", | ||
"author": { | ||
@@ -67,5 +67,5 @@ "name":"Amazon Web Services", | ||
"integration": "cucumber.js", | ||
"lint" : "eslint --rulesdir eslint-rules lib", | ||
"lint" : "eslint lib dist-tools/*.js", | ||
"console": "./scripts/console" | ||
} | ||
} |
@@ -23,4 +23,6 @@ # AWS SDK for JavaScript | ||
<script src="https://sdk.amazonaws.com/js/aws-sdk-2.0.21.min.js"></script> | ||
<script src="https://sdk.amazonaws.com/js/aws-sdk-2.0.22.min.js"></script> | ||
The AWS SDK is also compatible with [browserify](http://browserify.org). | ||
### In Node.js | ||
@@ -27,0 +29,0 @@ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
1713068
64306
108
3
19