1 | var util = require('./util');
|
2 |
|
3 | util.isBrowser = function() { return false; };
|
4 | util.isNode = function() { return true; };
|
5 |
|
6 |
|
7 | util.crypto.lib = require('crypto');
|
8 | util.Buffer = require('buffer').Buffer;
|
9 | util.domain = require('domain');
|
10 | util.stream = require('stream');
|
11 | util.url = require('url');
|
12 | util.querystring = require('querystring');
|
13 | util.environment = 'nodejs';
|
14 | util.createEventStream = util.stream.Readable ?
|
15 | require('./event-stream/streaming-create-event-stream').createEventStream : require('./event-stream/buffered-create-event-stream').createEventStream;
|
16 | util.realClock = require('./realclock/nodeClock');
|
17 | util.clientSideMonitoring = {
|
18 | Publisher: require('./publisher').Publisher,
|
19 | configProvider: require('./publisher/configuration'),
|
20 | };
|
21 | util.iniLoader = require('./shared-ini').iniLoader;
|
22 |
|
23 | var AWS;
|
24 |
|
25 |
|
26 |
|
27 |
|
28 | module.exports = AWS = require('./core');
|
29 |
|
30 | require('./credentials');
|
31 | require('./credentials/credential_provider_chain');
|
32 | require('./credentials/temporary_credentials');
|
33 | require('./credentials/chainable_temporary_credentials');
|
34 | require('./credentials/web_identity_credentials');
|
35 | require('./credentials/cognito_identity_credentials');
|
36 | require('./credentials/saml_credentials');
|
37 |
|
38 |
|
39 | AWS.XML.Parser = require('./xml/node_parser');
|
40 |
|
41 |
|
42 | require('./http/node');
|
43 |
|
44 | require('./shared-ini/ini-loader');
|
45 |
|
46 |
|
47 | require('./credentials/ec2_metadata_credentials');
|
48 | require('./credentials/remote_credentials');
|
49 | require('./credentials/ecs_credentials');
|
50 | require('./credentials/environment_credentials');
|
51 | require('./credentials/file_system_credentials');
|
52 | require('./credentials/shared_ini_file_credentials');
|
53 |
|
54 |
|
55 |
|
56 |
|
57 |
|
58 | AWS.CredentialProviderChain.defaultProviders = [
|
59 | function () { return new AWS.EnvironmentCredentials('AWS'); },
|
60 | function () { return new AWS.EnvironmentCredentials('AMAZON'); },
|
61 | function () { return new AWS.SharedIniFileCredentials(); },
|
62 | function () {
|
63 | if (AWS.ECSCredentials.prototype.isConfiguredForEcsCredentials()) {
|
64 | return new AWS.ECSCredentials();
|
65 | }
|
66 | return new AWS.EC2MetadataCredentials();
|
67 | }
|
68 | ];
|
69 |
|
70 |
|
71 | AWS.util.update(AWS.Config.prototype.keys, {
|
72 | credentials: function () {
|
73 | var credentials = null;
|
74 | new AWS.CredentialProviderChain([
|
75 | function () { return new AWS.EnvironmentCredentials('AWS'); },
|
76 | function () { return new AWS.EnvironmentCredentials('AMAZON'); },
|
77 | function () { return new AWS.SharedIniFileCredentials({ disableAssumeRole: true }); }
|
78 | ]).resolve(function(err, creds) {
|
79 | if (!err) credentials = creds;
|
80 | });
|
81 | return credentials;
|
82 | },
|
83 | credentialProvider: function() {
|
84 | return new AWS.CredentialProviderChain();
|
85 | },
|
86 | logger: function () {
|
87 | return process.env.AWSJS_DEBUG ? console : null;
|
88 | },
|
89 | region: function() {
|
90 | var env = process.env;
|
91 | var region = env.AWS_REGION || env.AMAZON_REGION;
|
92 | if (env[AWS.util.configOptInEnv]) {
|
93 | var toCheck = [
|
94 | {filename: env[AWS.util.sharedCredentialsFileEnv]},
|
95 | {isConfig: true, filename: env[AWS.util.sharedConfigFileEnv]}
|
96 | ];
|
97 | var iniLoader = AWS.util.iniLoader;
|
98 | while (!region && toCheck.length) {
|
99 | var configFile = iniLoader.loadFrom(toCheck.shift());
|
100 | var profile = configFile[env.AWS_PROFILE || AWS.util.defaultProfile];
|
101 | region = profile && profile.region;
|
102 | }
|
103 | }
|
104 | return region;
|
105 | }
|
106 | });
|
107 |
|
108 |
|
109 | AWS.config = new AWS.Config();
|