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 | require('./credentials/process_credentials');
|
38 |
|
39 |
|
40 | AWS.XML.Parser = require('./xml/node_parser');
|
41 |
|
42 |
|
43 | require('./http/node');
|
44 |
|
45 | require('./shared-ini/ini-loader');
|
46 |
|
47 |
|
48 | require('./credentials/token_file_web_identity_credentials');
|
49 | require('./credentials/ec2_metadata_credentials');
|
50 | require('./credentials/remote_credentials');
|
51 | require('./credentials/ecs_credentials');
|
52 | require('./credentials/environment_credentials');
|
53 | require('./credentials/file_system_credentials');
|
54 | require('./credentials/shared_ini_file_credentials');
|
55 | require('./credentials/process_credentials');
|
56 |
|
57 |
|
58 |
|
59 |
|
60 |
|
61 | AWS.CredentialProviderChain.defaultProviders = [
|
62 | function () { return new AWS.EnvironmentCredentials('AWS'); },
|
63 | function () { return new AWS.EnvironmentCredentials('AMAZON'); },
|
64 | function () { return new AWS.SharedIniFileCredentials(); },
|
65 | function () { return new AWS.ECSCredentials(); },
|
66 | function () { return new AWS.ProcessCredentials(); },
|
67 | function () { return new AWS.TokenFileWebIdentityCredentials(); },
|
68 | function () { return new AWS.EC2MetadataCredentials(); }
|
69 | ];
|
70 |
|
71 |
|
72 | AWS.util.update(AWS.Config.prototype.keys, {
|
73 | credentials: function () {
|
74 | var credentials = null;
|
75 | new AWS.CredentialProviderChain([
|
76 | function () { return new AWS.EnvironmentCredentials('AWS'); },
|
77 | function () { return new AWS.EnvironmentCredentials('AMAZON'); },
|
78 | function () { return new AWS.SharedIniFileCredentials({ disableAssumeRole: true }); }
|
79 | ]).resolve(function(err, creds) {
|
80 | if (!err) credentials = creds;
|
81 | });
|
82 | return credentials;
|
83 | },
|
84 | credentialProvider: function() {
|
85 | return new AWS.CredentialProviderChain();
|
86 | },
|
87 | logger: function () {
|
88 | return process.env.AWSJS_DEBUG ? console : null;
|
89 | },
|
90 | region: function() {
|
91 | var env = process.env;
|
92 | var region = env.AWS_REGION || env.AMAZON_REGION;
|
93 | if (env[AWS.util.configOptInEnv]) {
|
94 | var toCheck = [
|
95 | {filename: env[AWS.util.sharedCredentialsFileEnv]},
|
96 | {isConfig: true, filename: env[AWS.util.sharedConfigFileEnv]}
|
97 | ];
|
98 | var iniLoader = AWS.util.iniLoader;
|
99 | while (!region && toCheck.length) {
|
100 | var configFile = iniLoader.loadFrom(toCheck.shift());
|
101 | var profile = configFile[env.AWS_PROFILE || AWS.util.defaultProfile];
|
102 | region = profile && profile.region;
|
103 | }
|
104 | }
|
105 | return region;
|
106 | }
|
107 | });
|
108 |
|
109 |
|
110 | AWS.config = new AWS.Config();
|