aws-sdk 2.1012.0 → 2.1016.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 (52) hide show
  1. package/CHANGELOG.md +27 -1
  2. package/README.md +1 -1
  3. package/apis/auditmanager-2017-07-25.min.json +168 -12
  4. package/apis/auditmanager-2017-07-25.paginators.json +5 -0
  5. package/apis/autoscaling-2011-01-01.min.json +240 -94
  6. package/apis/chime-2018-05-01.min.json +4 -2
  7. package/apis/chime-sdk-identity-2021-04-20.min.json +362 -13
  8. package/apis/chime-sdk-identity-2021-04-20.paginators.json +5 -0
  9. package/apis/chime-sdk-messaging-2021-05-15.min.json +180 -29
  10. package/apis/ec2-2016-11-15.min.json +1331 -800
  11. package/apis/ec2-2016-11-15.paginators.json +12 -0
  12. package/apis/emr-containers-2020-10-01.min.json +18 -6
  13. package/apis/quicksight-2018-04-01.min.json +27 -21
  14. package/apis/rds-2014-10-31.min.json +412 -317
  15. package/apis/route53resolver-2018-04-01.min.json +85 -13
  16. package/apis/route53resolver-2018-04-01.paginators.json +6 -0
  17. package/apis/sagemaker-2017-07-24.min.json +924 -792
  18. package/apis/textract-2018-06-27.min.json +107 -43
  19. package/clients/auditmanager.d.ts +486 -305
  20. package/clients/autoscaling.d.ts +217 -15
  21. package/clients/chime.d.ts +8 -0
  22. package/clients/chimesdkidentity.d.ts +314 -2
  23. package/clients/chimesdkmessaging.d.ts +146 -15
  24. package/clients/connect.d.ts +11 -11
  25. package/clients/ec2.d.ts +548 -4
  26. package/clients/eks.d.ts +1 -1
  27. package/clients/emrcontainers.d.ts +18 -3
  28. package/clients/finspace.js +0 -1
  29. package/clients/finspacedata.js +0 -1
  30. package/clients/lexmodelsv2.js +0 -1
  31. package/clients/lookoutmetrics.js +0 -1
  32. package/clients/quicksight.d.ts +12 -2
  33. package/clients/rds.d.ts +361 -200
  34. package/clients/route53resolver.d.ts +94 -0
  35. package/clients/sagemaker.d.ts +152 -8
  36. package/clients/textract.d.ts +98 -6
  37. package/dist/aws-sdk-core-react-native.js +57 -22
  38. package/dist/aws-sdk-react-native.js +299 -340
  39. package/dist/aws-sdk.js +2134 -1234
  40. package/dist/aws-sdk.min.js +87 -87
  41. package/lib/core.js +1 -1
  42. package/lib/protocol/rest_json.js +6 -12
  43. package/lib/region_config.js +44 -1
  44. package/lib/region_config_data.json +81 -0
  45. package/lib/request.js +4 -6
  46. package/lib/service.js +1 -1
  47. package/package.json +2 -2
  48. package/scripts/region-checker/allowlist.js +4 -0
  49. package/lib/services/finspace.js +0 -23
  50. package/lib/services/finspacedata.js +0 -23
  51. package/lib/services/lexmodelsv2.js +0 -23
  52. package/lib/services/lookoutmetrics.js +0 -22
package/lib/core.js CHANGED
@@ -20,7 +20,7 @@ AWS.util.update(AWS, {
20
20
  /**
21
21
  * @constant
22
22
  */
23
- VERSION: '2.1012.0',
23
+ VERSION: '2.1016.0',
24
24
 
25
25
  /**
26
26
  * @api private
@@ -12,30 +12,24 @@ function populateBody(req) {
12
12
  var params = {};
13
13
  var payloadShape = input.members[input.payload];
14
14
  params = req.params[input.payload];
15
- if (params === undefined) return;
16
15
 
17
16
  if (payloadShape.type === 'structure') {
18
- req.httpRequest.body = builder.build(params, payloadShape);
17
+ req.httpRequest.body = builder.build(params || {}, payloadShape);
19
18
  applyContentTypeHeader(req);
20
- } else { // non-JSON payload
19
+ } else if (params !== undefined) {
20
+ // non-JSON payload
21
21
  req.httpRequest.body = params;
22
22
  if (payloadShape.type === 'binary' || payloadShape.isStreaming) {
23
23
  applyContentTypeHeader(req, true);
24
24
  }
25
25
  }
26
26
  } else {
27
- var body = builder.build(req.params, input);
28
- if (body !== '{}' || req.httpRequest.method !== 'GET') { //don't send empty body for GET method
29
- req.httpRequest.body = body;
30
- }
27
+ req.httpRequest.body = builder.build(req.params, input);
31
28
  applyContentTypeHeader(req);
32
29
  }
33
30
  }
34
31
 
35
32
  function applyContentTypeHeader(req, isBinary) {
36
- var operation = req.service.api.operations[req.operation];
37
- var input = operation.input;
38
-
39
33
  if (!req.httpRequest.headers['Content-Type']) {
40
34
  var type = isBinary ? 'binary/octet-stream' : 'application/json';
41
35
  req.httpRequest.headers['Content-Type'] = type;
@@ -45,8 +39,8 @@ function applyContentTypeHeader(req, isBinary) {
45
39
  function buildRequest(req) {
46
40
  Rest.buildRequest(req);
47
41
 
48
- // never send body payload on HEAD/DELETE
49
- if (['HEAD', 'DELETE'].indexOf(req.httpRequest.method) < 0) {
42
+ // never send body payload on GET/HEAD/DELETE
43
+ if (['GET', 'HEAD', 'DELETE'].indexOf(req.httpRequest.method) < 0) {
50
44
  populateBody(req);
51
45
  }
52
46
  }
@@ -3,6 +3,12 @@ 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
+ }
6
12
 
7
13
  var parts = region.split('-');
8
14
  if (parts.length < 3) return null;
@@ -56,6 +62,12 @@ function configureEndpoint(service) {
56
62
  );
57
63
  }
58
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
+
59
71
  // set global endpoint
60
72
  service.isGlobalEndpoint = !!config.globalEndpoint;
61
73
  if (config.signingRegion) {
@@ -90,10 +102,41 @@ function getEndpointSuffix(region) {
90
102
  return defaultSuffix;
91
103
  }
92
104
 
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
+
93
135
  /**
94
136
  * @api private
95
137
  */
96
138
  module.exports = {
97
139
  configureEndpoint: configureEndpoint,
98
- getEndpointSuffix: getEndpointSuffix
140
+ getEndpointSuffix: getEndpointSuffix,
141
+ getRealRegion: getRealRegion,
99
142
  };
@@ -3,6 +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
+ },
6
11
  "cn-*/*": {
7
12
  "endpoint": "{service}.{region}.amazonaws.com.cn"
8
13
  },
@@ -61,6 +66,58 @@
61
66
  "*/sdb": {
62
67
  "endpoint": "{service}.{region}.amazonaws.com",
63
68
  "signatureVersion": "v2"
69
+ },
70
+
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"
83
+ },
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"
108
+ },
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": {
120
+ "endpoint": "elasticfilesystem-fips.{region}.c2s.ic.gov"
64
121
  }
65
122
  },
66
123
 
@@ -78,6 +135,30 @@
78
135
  "s3signature": {
79
136
  "endpoint": "{service}.{region}.amazonaws.com",
80
137
  "signatureVersion": "s3"
138
+ },
139
+ "fipsStandard": {
140
+ "endpoint": "{service}-fips.{region}.amazonaws.com"
141
+ },
142
+ "fipsDotPrefix": {
143
+ "endpoint": "fips.{service}.{region}.amazonaws.com"
144
+ },
145
+ "fipsWithoutRegion": {
146
+ "endpoint": "{service}-fips.amazonaws.com"
147
+ },
148
+ "fips.api.ecr": {
149
+ "endpoint": "ecr-fips.{region}.amazonaws.com"
150
+ },
151
+ "fips.api.sagemaker": {
152
+ "endpoint": "api-fips.sagemaker.{region}.amazonaws.com"
153
+ },
154
+ "fips.models.lex": {
155
+ "endpoint": "models-fips.lex.{region}.amazonaws.com"
156
+ },
157
+ "fips.runtime.lex": {
158
+ "endpoint": "runtime-fips.lex.{region}.amazonaws.com"
159
+ },
160
+ "fipsWithServiceOnly": {
161
+ "endpoint": "{service}.{region}.amazonaws.com"
81
162
  }
82
163
  }
83
164
  }
package/lib/request.js CHANGED
@@ -313,12 +313,10 @@ AWS.Request = inherit({
313
313
  var region = service.config.region;
314
314
  var customUserAgent = service.config.customUserAgent;
315
315
 
316
- if (service.isGlobalEndpoint) {
317
- if (service.signingRegion) {
318
- region = service.signingRegion;
319
- } else {
320
- region = 'us-east-1';
321
- }
316
+ if (service.signingRegion) {
317
+ region = service.signingRegion;
318
+ } else if (service.isGlobalEndpoint) {
319
+ region = 'us-east-1';
322
320
  }
323
321
 
324
322
  this.domain = domain && domain.active;
package/lib/service.js CHANGED
@@ -636,7 +636,7 @@ AWS.Service = inherit({
636
636
 
637
637
  var e = endpoint;
638
638
  e = e.replace(/\{service\}/g, this.api.endpointPrefix);
639
- e = e.replace(/\{region\}/g, this.config.region);
639
+ e = e.replace(/\{region\}/g, regionConfig.getRealRegion(this.config.region));
640
640
  e = e.replace(/\{scheme\}/g, this.config.sslEnabled ? 'https' : 'http');
641
641
  return e;
642
642
  },
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "aws-sdk",
3
3
  "description": "AWS SDK for JavaScript",
4
- "version": "2.1012.0",
4
+ "version": "2.1016.0",
5
5
  "author": {
6
6
  "name": "Amazon Web Services",
7
7
  "email": "",
8
8
  "url": "https://aws.amazon.com/"
9
9
  },
10
10
  "config": {
11
- "test_args": "test test/json test/model test/protocol test/query test/services test/signers test/xml test/s3 test/cloudfront test/dynamodb test/polly test/rds test/publisher test/event-stream"
11
+ "test_args": "test test/json test/model test/protocol test/query test/services test/signers test/xml test/s3 test/cloudfront test/dynamodb test/polly test/rds test/publisher test/event-stream test/endpoint"
12
12
  },
13
13
  "homepage": "https://github.com/aws/aws-sdk-js",
14
14
  "contributors": [
@@ -27,7 +27,11 @@ var allowlist = {
27
27
  110,
28
28
  112
29
29
  ],
30
+ '/region_config.js': [
31
+ 127
32
+ ],
30
33
  '/request.js': [
34
+ 318,
31
35
  319
32
36
  ],
33
37
  '/services/s3.js': [
@@ -1,23 +0,0 @@
1
- var AWS = require('../core');
2
-
3
- AWS.util.update(AWS.Finspace.prototype, {
4
- /**
5
- * @api private
6
- */
7
- setupRequestListeners: function setupRequestListeners(request) {
8
- request.addListener('build', this.modifyContentType);
9
- },
10
-
11
- /**
12
- * Normally rest-json services require `Content-Type` header to be 'application/json',
13
- * However Finspace service requires the header to be 'application/x-amz-json-1.1'.
14
- *
15
- * @api private
16
- */
17
- modifyContentType: function modifyContentType(request) {
18
- if (request.httpRequest.headers['Content-Type'] === 'application/json') {
19
- request.httpRequest.headers['Content-Type'] = 'application/x-amz-json-1.1';
20
- }
21
- }
22
- });
23
-
@@ -1,23 +0,0 @@
1
- var AWS = require('../core');
2
-
3
- AWS.util.update(AWS.Finspacedata.prototype, {
4
- /**
5
- * @api private
6
- */
7
- setupRequestListeners: function setupRequestListeners(request) {
8
- request.addListener('build', this.modifyContentType);
9
- },
10
-
11
- /**
12
- * Normally rest-json services require `Content-Type` header to be 'application/json',
13
- * However Finspacedata service requires the header to be 'application/x-amz-json-1.1'.
14
- *
15
- * @api private
16
- */
17
- modifyContentType: function modifyContentType(request) {
18
- if (request.httpRequest.headers['Content-Type'] === 'application/json') {
19
- request.httpRequest.headers['Content-Type'] = 'application/x-amz-json-1.1';
20
- }
21
- }
22
- });
23
-
@@ -1,23 +0,0 @@
1
- var AWS = require('../core');
2
-
3
- AWS.util.update(AWS.LexModelsV2.prototype, {
4
- /**
5
- * @api private
6
- */
7
- setupRequestListeners: function setupRequestListeners(request) {
8
- request.addListener('build', this.modifyContentType);
9
- },
10
-
11
- /**
12
- * Normally rest-json services require `Content-Type` header to be 'application/json',
13
- * However Lex Model V2 services requires the header to be 'application/x-amz-json-1.1'.
14
- *
15
- * @api private
16
- */
17
- modifyContentType: function modifyContentType(request) {
18
- if (request.httpRequest.headers['Content-Type'] === 'application/json') {
19
- request.httpRequest.headers['Content-Type'] = 'application/x-amz-json-1.1';
20
- }
21
- }
22
- });
23
-
@@ -1,22 +0,0 @@
1
- var AWS = require('../core');
2
-
3
- AWS.util.update(AWS.LookoutMetrics.prototype, {
4
- /**
5
- * @api private
6
- */
7
- setupRequestListeners: function setupRequestListeners(request) {
8
- request.addListener('build', this.modifyContentType);
9
- },
10
-
11
- /**
12
- * Normally rest-json services require `Content-Type` header to be 'application/json',
13
- * However lookout metrics services requires the header to be 'application/x-amz-json-1.1'.
14
- *
15
- * @api private
16
- */
17
- modifyContentType: function modifyContentType(request) {
18
- if (request.httpRequest.headers['Content-Type'] === 'application/json') {
19
- request.httpRequest.headers['Content-Type'] = 'application/x-amz-json-1.1';
20
- }
21
- }
22
- });