aws-sdk 2.1024.0 → 2.1028.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/CHANGELOG.md +24 -1
  2. package/README.md +1 -1
  3. package/apis/backup-2018-11-15.min.json +92 -59
  4. package/apis/batch-2016-08-10.examples.json +30 -6
  5. package/apis/batch-2016-08-10.min.json +267 -72
  6. package/apis/batch-2016-08-10.paginators.json +6 -0
  7. package/apis/connect-2017-08-08.min.json +258 -62
  8. package/apis/connect-2017-08-08.paginators.json +5 -0
  9. package/apis/devops-guru-2020-12-01.min.json +477 -144
  10. package/apis/devops-guru-2020-12-01.paginators.json +27 -7
  11. package/apis/ec2-2016-11-15.min.json +650 -645
  12. package/apis/ecs-2014-11-13.min.json +100 -78
  13. package/apis/greengrassv2-2020-11-30.min.json +2 -1
  14. package/apis/metadata.json +3 -0
  15. package/apis/resiliencehub-2020-04-30.examples.json +5 -0
  16. package/apis/resiliencehub-2020-04-30.min.json +1863 -0
  17. package/apis/resiliencehub-2020-04-30.paginators.json +74 -0
  18. package/apis/translate-2017-07-01.min.json +28 -13
  19. package/clients/all.d.ts +1 -0
  20. package/clients/all.js +2 -1
  21. package/clients/backup.d.ts +13 -0
  22. package/clients/batch.d.ts +239 -23
  23. package/clients/connect.d.ts +265 -28
  24. package/clients/devopsguru.d.ts +420 -63
  25. package/clients/dynamodb.d.ts +61 -61
  26. package/clients/ec2.d.ts +5 -1
  27. package/clients/ecs.d.ts +380 -345
  28. package/clients/greengrassv2.d.ts +8 -4
  29. package/clients/health.d.ts +49 -49
  30. package/clients/mediaconvert.d.ts +16 -16
  31. package/clients/resiliencehub.d.ts +2101 -0
  32. package/clients/resiliencehub.js +18 -0
  33. package/clients/ssm.d.ts +4 -4
  34. package/clients/translate.d.ts +34 -5
  35. package/dist/aws-sdk-core-react-native.js +116 -101
  36. package/dist/aws-sdk-react-native.js +181 -171
  37. package/dist/aws-sdk.js +1326 -1025
  38. package/dist/aws-sdk.min.js +71 -71
  39. package/lib/config-base.d.ts +8 -0
  40. package/lib/config.js +14 -2
  41. package/lib/config_service_placeholders.d.ts +2 -0
  42. package/lib/config_use_dualstack.d.ts +3 -0
  43. package/lib/core.js +1 -1
  44. package/lib/dynamodb/document_client.d.ts +39 -39
  45. package/lib/metadata_service/get_endpoint.js +8 -0
  46. package/lib/metadata_service/get_endpoint_config_options.js +12 -0
  47. package/lib/metadata_service/get_endpoint_mode.js +8 -0
  48. package/lib/metadata_service/get_endpoint_mode_config_options.js +14 -0
  49. package/lib/metadata_service/get_metadata_service_endpoint.js +4 -4
  50. package/lib/node_loader.js +63 -21
  51. package/lib/region/utils.js +21 -0
  52. package/lib/region_config.js +12 -55
  53. package/lib/region_config_data.json +102 -59
  54. package/lib/service.js +20 -1
  55. package/lib/services/s3util.js +2 -1
  56. package/package.json +1 -1
  57. package/scripts/region-checker/allowlist.js +5 -5
  58. package/lib/metadata_service/endpoint.js +0 -6
  59. package/lib/metadata_service/endpoint_config_options.js +0 -14
  60. package/lib/metadata_service/endpoint_mode.js +0 -6
  61. package/lib/metadata_service/endpoint_mode_config_options.js +0 -16
@@ -3,13 +3,6 @@ var regionConfig = require('./region_config_data.json');
3
3
 
4
4
  function generateRegionPrefix(region) {
5
5
  if (!region) return null;
6
- if (isFipsRegion(region)) {
7
- if (isFipsCnRegion(region)) return 'fips-cn-*';
8
- if (isFipsUsGovRegion(region)) return 'fips-us-gov-*';
9
- if (region.startsWith('fips-accesspoint-')) return 'fips-accesspoint-*';
10
- return 'fips-*';
11
- }
12
-
13
6
  var parts = region.split('-');
14
7
  if (parts.length < 3) return null;
15
8
  return parts.slice(0, parts.length - 2).join('-') + '-*';
@@ -43,31 +36,26 @@ function applyConfig(service, config) {
43
36
 
44
37
  function configureEndpoint(service) {
45
38
  var keys = derivedKeys(service);
39
+ var useFipsEndpoint = service.config.useFipsEndpoint;
40
+ var useDualstackEndpoint = service.config.useDualstackEndpoint;
46
41
  for (var i = 0; i < keys.length; i++) {
47
42
  var key = keys[i];
48
43
  if (!key) continue;
49
44
 
50
- if (Object.prototype.hasOwnProperty.call(regionConfig.rules, key)) {
51
- var config = regionConfig.rules[key];
45
+ var rules = useFipsEndpoint
46
+ ? useDualstackEndpoint
47
+ ? regionConfig.dualstackFipsRules
48
+ : regionConfig.fipsRules
49
+ : useDualstackEndpoint
50
+ ? regionConfig.dualstackRules
51
+ : regionConfig.rules;
52
+
53
+ if (Object.prototype.hasOwnProperty.call(rules, key)) {
54
+ var config = rules[key];
52
55
  if (typeof config === 'string') {
53
56
  config = regionConfig.patterns[config];
54
57
  }
55
58
 
56
- // set dualstack endpoint
57
- if (service.config.useDualstack && util.isDualstackAvailable(service)) {
58
- config = util.copy(config);
59
- config.endpoint = config.endpoint.replace(
60
- /{service}\.({region}\.)?/,
61
- '{service}.dualstack.{region}.'
62
- );
63
- }
64
-
65
- // set FIPS signingRegion and endpoint.
66
- if (isFipsRegion(service.config.region)) {
67
- config = util.copy(config);
68
- service.signingRegion = getRealRegion(service.config.region);
69
- }
70
-
71
59
  // set global endpoint
72
60
  service.isGlobalEndpoint = !!config.globalEndpoint;
73
61
  if (config.signingRegion) {
@@ -102,41 +90,10 @@ function getEndpointSuffix(region) {
102
90
  return defaultSuffix;
103
91
  }
104
92
 
105
- function isFipsRegion(region) {
106
- return region && (region.startsWith('fips-') || region.endsWith('-fips'));
107
- }
108
-
109
- function isFipsUsGovRegion(region) {
110
- return (
111
- region &&
112
- region.startsWith('fips-us-gov-') ||
113
- (region.startsWith('us-gov-') && region.endsWith('-fips'))
114
- );
115
- }
116
-
117
- function isFipsCnRegion(region) {
118
- return (
119
- region &&
120
- region.startsWith('fips-cn-') ||
121
- (region.startsWith('cn-') && region.endsWith('-fips'))
122
- );
123
- }
124
-
125
- function getRealRegion(region) {
126
- return isFipsRegion(region)
127
- ? ['fips-aws-global', 'aws-fips'].includes(region)
128
- ? 'us-east-1'
129
- : region === 'fips-aws-us-gov-global'
130
- ? 'us-gov-west-1'
131
- : region.replace(/fips-(dkr-|prod-|accesspoint-)?|-fips/, '')
132
- : region;
133
- }
134
-
135
93
  /**
136
94
  * @api private
137
95
  */
138
96
  module.exports = {
139
97
  configureEndpoint: configureEndpoint,
140
98
  getEndpointSuffix: getEndpointSuffix,
141
- getRealRegion: getRealRegion,
142
99
  };
@@ -3,20 +3,11 @@
3
3
  "*/*": {
4
4
  "endpoint": "{service}.{region}.amazonaws.com"
5
5
  },
6
- "fips-*/*": "fipsStandard",
7
- "fips-us-gov-*/*": "fipsStandard",
8
- "fips-cn-*/*": {
9
- "endpoint": "{service}-fips.{region}.amazonaws.com.cn"
10
- },
11
6
  "cn-*/*": {
12
7
  "endpoint": "{service}.{region}.amazonaws.com.cn"
13
8
  },
14
- "us-iso-*/*": {
15
- "endpoint": "{service}.{region}.c2s.ic.gov"
16
- },
17
- "us-isob-*/*": {
18
- "endpoint": "{service}.{region}.sc2s.sgov.gov"
19
- },
9
+ "us-iso-*/*": "usIso",
10
+ "us-isob-*/*": "usIsob",
20
11
  "*/budgets": "globalSSL",
21
12
  "*/cloudfront": "globalSSL",
22
13
  "*/sts": "globalSSL",
@@ -66,61 +57,95 @@
66
57
  "*/sdb": {
67
58
  "endpoint": "{service}.{region}.amazonaws.com",
68
59
  "signatureVersion": "v2"
69
- },
60
+ }
61
+ },
70
62
 
71
- "fips-*/api.ecr": "fips.api.ecr",
72
- "fips-us-gov-*/api.ecr": "fips.api.ecr",
73
- "fips-*/api.sagemaker": "fips.api.sagemaker",
74
- "fips-us-gov-*/api.sagemaker": "fips.api.sagemaker",
75
- "fips-*/batch": "fipsDotPrefix",
76
- "fips-*/eks": "fipsDotPrefix",
77
- "fips-*/models.lex": "fips.models.lex",
78
- "fips-us-gov-*/models.lex": "fips.models.lex",
79
- "fips-*/runtime.lex": "fips.runtime.lex",
80
- "fips-us-gov-*/runtime.lex": "fips.runtime.lex",
81
- "fips-*/runtime.sagemaker": {
82
- "endpoint": "runtime-fips.sagemaker.{region}.amazonaws.com"
63
+ "fipsRules": {
64
+ "*/*": "fipsStandard",
65
+ "us-gov-*/*": "fipsStandard",
66
+ "us-iso-*/*": {
67
+ "endpoint": "{service}-fips.{region}.c2s.ic.gov"
83
68
  },
84
- "fips-*/streams.dynamodb": {
85
- "endpoint": "dynamodb-fips.{region}.amazonaws.com"
86
- },
87
- "fips-*/route53": "fipsWithoutRegion",
88
- "fips-*/transcribe": "fipsDotPrefix",
89
- "fips-us-gov-*/transcribe": "fipsDotPrefix",
90
- "fips-*/waf": "fipsWithoutRegion",
91
- "fips-accesspoint-*/*": {
92
- "endpoint": "{service}-accesspoint-fips.{region}.amazonaws.com"
93
- },
94
- "fips-us-gov-*/acm-pca": "fipsWithServiceOnly",
95
- "fips-us-gov-*/batch": "fipsWithServiceOnly",
96
- "fips-us-gov-*/config": "fipsWithServiceOnly",
97
- "fips-us-gov-*/eks": "fipsWithServiceOnly",
98
- "fips-us-gov-*/elasticmapreduce": "fipsWithServiceOnly",
99
- "fips-us-gov-*/identitystore": "fipsWithServiceOnly",
100
- "fips-us-gov-*/dynamodb": "fipsWithServiceOnly",
101
- "fips-us-gov-*/elasticloadbalancing": "fipsWithServiceOnly",
102
- "fips-us-gov-*/guardduty": "fipsWithServiceOnly",
103
- "fips-us-gov-*/monitoring": "fipsWithServiceOnly",
104
- "fips-aws-us-gov-global/organizations": "fipsWithServiceOnly",
105
- "fips-us-gov-*/resource-groups": "fipsWithServiceOnly",
106
- "fips-aws-us-gov-global/route53": {
107
- "endpoint": "route53.us-gov.amazonaws.com"
69
+ "us-iso-*/dms": "usIso",
70
+ "us-isob-*/*": {
71
+ "endpoint": "{service}-fips.{region}.sc2s.sgov.gov"
108
72
  },
109
- "fips-us-gov-*/runtime.sagemaker": "fipsWithServiceOnly",
110
- "fips-us-gov-*/servicecatalog-appregistry": "fipsWithServiceOnly",
111
- "fips-us-gov-*/servicequotas": "fipsWithServiceOnly",
112
- "fips-us-gov-*/ssm": "fipsWithServiceOnly",
113
- "fips-us-gov-*/sts": "fipsWithServiceOnly",
114
- "fips-us-gov-west-1/states": "fipsWithServiceOnly",
115
- "fips-us-gov-*/support": "fipsWithServiceOnly",
116
- "fips-us-gov-*/streams.dynamodb": {
117
- "endpoint": "dynamodb.{region}.amazonaws.com"
118
- },
119
- "fips-us-iso-east-1/elasticfilesystem": {
73
+ "us-isob-*/dms": "usIsob",
74
+ "cn-*/*": {
75
+ "endpoint": "{service}-fips.{region}.amazonaws.com.cn"
76
+ },
77
+ "*/api.ecr": "fips.api.ecr",
78
+ "*/api.sagemaker": "fips.api.sagemaker",
79
+ "*/batch": "fipsDotPrefix",
80
+ "*/eks": "fipsDotPrefix",
81
+ "*/models.lex": "fips.models.lex",
82
+ "*/runtime.lex": "fips.runtime.lex",
83
+ "*/runtime.sagemaker": {
84
+ "endpoint": "runtime-fips.sagemaker.{region}.amazonaws.com"
85
+ },
86
+ "*/iam": "fipsWithoutRegion",
87
+ "*/route53": "fipsWithoutRegion",
88
+ "*/transcribe": "fipsDotPrefix",
89
+ "*/waf": "fipsWithoutRegion",
90
+
91
+ "us-gov-*/transcribe": "fipsDotPrefix",
92
+ "us-gov-*/api.ecr": "fips.api.ecr",
93
+ "us-gov-*/api.sagemaker": "fips.api.sagemaker",
94
+ "us-gov-*/models.lex": "fips.models.lex",
95
+ "us-gov-*/runtime.lex": "fips.runtime.lex",
96
+ "us-gov-*/acm-pca": "fipsWithServiceOnly",
97
+ "us-gov-*/batch": "fipsWithServiceOnly",
98
+ "us-gov-*/config": "fipsWithServiceOnly",
99
+ "us-gov-*/eks": "fipsWithServiceOnly",
100
+ "us-gov-*/elasticmapreduce": "fipsWithServiceOnly",
101
+ "us-gov-*/identitystore": "fipsWithServiceOnly",
102
+ "us-gov-*/dynamodb": "fipsWithServiceOnly",
103
+ "us-gov-*/elasticloadbalancing": "fipsWithServiceOnly",
104
+ "us-gov-*/guardduty": "fipsWithServiceOnly",
105
+ "us-gov-*/monitoring": "fipsWithServiceOnly",
106
+ "us-gov-*/resource-groups": "fipsWithServiceOnly",
107
+ "us-gov-*/runtime.sagemaker": "fipsWithServiceOnly",
108
+ "us-gov-*/servicecatalog-appregistry": "fipsWithServiceOnly",
109
+ "us-gov-*/servicequotas": "fipsWithServiceOnly",
110
+ "us-gov-*/ssm": "fipsWithServiceOnly",
111
+ "us-gov-*/sts": "fipsWithServiceOnly",
112
+ "us-gov-*/support": "fipsWithServiceOnly",
113
+ "us-gov-west-1/states": "fipsWithServiceOnly",
114
+ "us-iso-east-1/elasticfilesystem": {
120
115
  "endpoint": "elasticfilesystem-fips.{region}.c2s.ic.gov"
116
+ },
117
+ "us-gov-west-1/organizations": "fipsWithServiceOnly",
118
+ "us-gov-west-1/route53": {
119
+ "endpoint": "route53.us-gov.amazonaws.com"
121
120
  }
122
121
  },
123
122
 
123
+ "dualstackRules": {
124
+ "*/*": {
125
+ "endpoint": "{service}.{region}.api.aws"
126
+ },
127
+ "cn-*/*": {
128
+ "endpoint": "{service}.{region}.api.amazonwebservices.com.cn"
129
+ },
130
+ "*/s3": "dualstackLegacy",
131
+ "cn-*/s3": "dualstackLegacyCn",
132
+ "*/s3-control": "dualstackLegacy",
133
+ "cn-*/s3-control": "dualstackLegacyCn"
134
+ },
135
+
136
+ "dualstackFipsRules": {
137
+ "*/*": {
138
+ "endpoint": "{service}-fips.{region}.api.aws"
139
+ },
140
+ "cn-*/*": {
141
+ "endpoint": "{service}-fips.{region}.api.amazonwebservices.com.cn"
142
+ },
143
+ "*/s3": "dualstackFipsLegacy",
144
+ "cn-*/s3": "dualstackFipsLegacyCn",
145
+ "*/s3-control": "dualstackFipsLegacy",
146
+ "cn-*/s3-control": "dualstackFipsLegacyCn"
147
+ },
148
+
124
149
  "patterns": {
125
150
  "globalSSL": {
126
151
  "endpoint": "https://{service}.amazonaws.com",
@@ -136,6 +161,12 @@
136
161
  "endpoint": "{service}.{region}.amazonaws.com",
137
162
  "signatureVersion": "s3"
138
163
  },
164
+ "usIso": {
165
+ "endpoint": "{service}.{region}.c2s.ic.gov"
166
+ },
167
+ "usIsob": {
168
+ "endpoint": "{service}.{region}.sc2s.sgov.gov"
169
+ },
139
170
  "fipsStandard": {
140
171
  "endpoint": "{service}-fips.{region}.amazonaws.com"
141
172
  },
@@ -159,6 +190,18 @@
159
190
  },
160
191
  "fipsWithServiceOnly": {
161
192
  "endpoint": "{service}.{region}.amazonaws.com"
193
+ },
194
+ "dualstackLegacy": {
195
+ "endpoint": "{service}.dualstack.{region}.amazonaws.com"
196
+ },
197
+ "dualstackLegacyCn": {
198
+ "endpoint": "{service}.dualstack.{region}.amazonaws.com.cn"
199
+ },
200
+ "dualstackFipsLegacy": {
201
+ "endpoint": "{service}-fips.dualstack.{region}.amazonaws.com"
202
+ },
203
+ "dualstackFipsLegacyCn": {
204
+ "endpoint": "{service}-fips.dualstack.{region}.amazonaws.com.cn"
162
205
  }
163
206
  }
164
207
  }
package/lib/service.js CHANGED
@@ -4,6 +4,7 @@ var regionConfig = require('./region_config');
4
4
 
5
5
  var inherit = AWS.util.inherit;
6
6
  var clientCount = 0;
7
+ var region_utils = require('./region/utils');
7
8
 
8
9
  /**
9
10
  * The service class representing an AWS service.
@@ -25,6 +26,24 @@ AWS.Service = inherit({
25
26
  throw AWS.util.error(new Error(),
26
27
  'Service must be constructed with `new\' operator');
27
28
  }
29
+
30
+ if (config) {
31
+ if (config.region) {
32
+ var region = config.region;
33
+ if (region_utils.isFipsRegion(region)) {
34
+ config.region = region_utils.getRealRegion(region);
35
+ config.useFipsEndpoint = true;
36
+ }
37
+ if (region_utils.isGlobalRegion(region)) {
38
+ config.region = region_utils.getRealRegion(region);
39
+ }
40
+ }
41
+ if (typeof config.useDualstack === 'boolean'
42
+ && typeof config.useDualstackEndpoint !== 'boolean') {
43
+ config.useDualstackEndpoint = config.useDualstack;
44
+ }
45
+ }
46
+
28
47
  var ServiceClass = this.loadServiceClass(config || {});
29
48
  if (ServiceClass) {
30
49
  var originalConfig = AWS.util.copy(config);
@@ -636,7 +655,7 @@ AWS.Service = inherit({
636
655
 
637
656
  var e = endpoint;
638
657
  e = e.replace(/\{service\}/g, this.api.endpointPrefix);
639
- e = e.replace(/\{region\}/g, regionConfig.getRealRegion(this.config.region));
658
+ e = e.replace(/\{region\}/g, this.config.region);
640
659
  e = e.replace(/\{scheme\}/g, this.config.sslEnabled ? 'https' : 'http');
641
660
  return e;
642
661
  },
@@ -136,6 +136,7 @@ var s3util = {
136
136
  var useArnRegion = s3util.loadUseArnRegionConfig(req);
137
137
  var regionFromArn = req._parsedArn.region;
138
138
  var clientRegion = req.service.config.region;
139
+ var useFipsEndpoint = req.service.config.useFipsEndpoint;
139
140
 
140
141
  if (!regionFromArn) {
141
142
  throw AWS.util.error(new Error(), {
@@ -145,7 +146,7 @@ var s3util = {
145
146
  }
146
147
 
147
148
  if (
148
- clientRegion.indexOf('fips') >= 0 ||
149
+ useFipsEndpoint ||
149
150
  regionFromArn.indexOf('fips') >= 0
150
151
  ) {
151
152
  throw AWS.util.error(new Error(), {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "aws-sdk",
3
3
  "description": "AWS SDK for JavaScript",
4
- "version": "2.1024.0",
4
+ "version": "2.1028.0",
5
5
  "author": {
6
6
  "name": "Amazon Web Services",
7
7
  "email": "",
@@ -4,9 +4,9 @@ var allowlist = {
4
4
  25,
5
5
  85,
6
6
  86,
7
- 201,
8
- 255,
9
- 256
7
+ 207,
8
+ 261,
9
+ 262
10
10
  ],
11
11
  '/credentials/cognito_identity_credentials.js': [
12
12
  78,
@@ -27,8 +27,8 @@ var allowlist = {
27
27
  110,
28
28
  112
29
29
  ],
30
- '/region_config.js': [
31
- 127
30
+ '/region/utils.js': [
31
+ 10
32
32
  ],
33
33
  '/request.js': [
34
34
  318,
@@ -1,6 +0,0 @@
1
- var Endpoint = {
2
- IPv4: 'http://169.254.169.254',
3
- IPv6: 'http://[fd00:ec2::254]',
4
- };
5
-
6
- module.exports = Endpoint;
@@ -1,14 +0,0 @@
1
- var ENV_ENDPOINT_NAME = 'AWS_EC2_METADATA_SERVICE_ENDPOINT';
2
- var CONFIG_ENDPOINT_NAME = 'ec2_metadata_service_endpoint';
3
-
4
- var ENDPOINT_CONFIG_OPTIONS = {
5
- environmentVariableSelector: function(env) { return env[ENV_ENDPOINT_NAME]; },
6
- configFileSelector: function(profile) { return profile[CONFIG_ENDPOINT_NAME]; },
7
- default: undefined,
8
- };
9
-
10
- module.exports = {
11
- ENV_ENDPOINT_NAME: ENV_ENDPOINT_NAME,
12
- CONFIG_ENDPOINT_NAME: CONFIG_ENDPOINT_NAME,
13
- ENDPOINT_CONFIG_OPTIONS: ENDPOINT_CONFIG_OPTIONS
14
- };
@@ -1,6 +0,0 @@
1
- var EndpointMode = {
2
- IPv4: 'IPv4',
3
- IPv6: 'IPv6',
4
- };
5
-
6
- module.exports = EndpointMode;
@@ -1,16 +0,0 @@
1
- var EndpointMode = require('./endpoint_mode');
2
-
3
- var ENV_ENDPOINT_MODE_NAME = 'AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE';
4
- var CONFIG_ENDPOINT_MODE_NAME = 'ec2_metadata_service_endpoint_mode';
5
-
6
- var ENDPOINT_MODE_CONFIG_OPTIONS = {
7
- environmentVariableSelector: function(env) { return env[ENV_ENDPOINT_MODE_NAME]; },
8
- configFileSelector: function(profile) { return profile[CONFIG_ENDPOINT_MODE_NAME]; },
9
- default: EndpointMode.IPv4,
10
- };
11
-
12
- module.exports = {
13
- ENV_ENDPOINT_MODE_NAME: ENV_ENDPOINT_MODE_NAME,
14
- CONFIG_ENDPOINT_MODE_NAME: CONFIG_ENDPOINT_MODE_NAME,
15
- ENDPOINT_MODE_CONFIG_OPTIONS: ENDPOINT_MODE_CONFIG_OPTIONS
16
- };