aws-sdk 2.1012.0 → 2.1013.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.
@@ -83,7 +83,7 @@ return /******/ (function(modules) { // webpackBootstrap
83
83
  /**
84
84
  * @constant
85
85
  */
86
- VERSION: '2.1012.0',
86
+ VERSION: '2.1013.0',
87
87
 
88
88
  /**
89
89
  * @api private
@@ -3077,30 +3077,24 @@ return /******/ (function(modules) { // webpackBootstrap
3077
3077
  var params = {};
3078
3078
  var payloadShape = input.members[input.payload];
3079
3079
  params = req.params[input.payload];
3080
- if (params === undefined) return;
3081
3080
 
3082
3081
  if (payloadShape.type === 'structure') {
3083
- req.httpRequest.body = builder.build(params, payloadShape);
3082
+ req.httpRequest.body = builder.build(params || {}, payloadShape);
3084
3083
  applyContentTypeHeader(req);
3085
- } else { // non-JSON payload
3084
+ } else if (params !== undefined) {
3085
+ // non-JSON payload
3086
3086
  req.httpRequest.body = params;
3087
3087
  if (payloadShape.type === 'binary' || payloadShape.isStreaming) {
3088
3088
  applyContentTypeHeader(req, true);
3089
3089
  }
3090
3090
  }
3091
3091
  } else {
3092
- var body = builder.build(req.params, input);
3093
- if (body !== '{}' || req.httpRequest.method !== 'GET') { //don't send empty body for GET method
3094
- req.httpRequest.body = body;
3095
- }
3092
+ req.httpRequest.body = builder.build(req.params, input);
3096
3093
  applyContentTypeHeader(req);
3097
3094
  }
3098
3095
  }
3099
3096
 
3100
3097
  function applyContentTypeHeader(req, isBinary) {
3101
- var operation = req.service.api.operations[req.operation];
3102
- var input = operation.input;
3103
-
3104
3098
  if (!req.httpRequest.headers['Content-Type']) {
3105
3099
  var type = isBinary ? 'binary/octet-stream' : 'application/json';
3106
3100
  req.httpRequest.headers['Content-Type'] = type;
@@ -3110,8 +3104,8 @@ return /******/ (function(modules) { // webpackBootstrap
3110
3104
  function buildRequest(req) {
3111
3105
  Rest.buildRequest(req);
3112
3106
 
3113
- // never send body payload on HEAD/DELETE
3114
- if (['HEAD', 'DELETE'].indexOf(req.httpRequest.method) < 0) {
3107
+ // never send body payload on GET/HEAD/DELETE
3108
+ if (['GET', 'HEAD', 'DELETE'].indexOf(req.httpRequest.method) < 0) {
3115
3109
  populateBody(req);
3116
3110
  }
3117
3111
  }
@@ -4877,7 +4871,7 @@ return /******/ (function(modules) { // webpackBootstrap
4877
4871
 
4878
4872
  var e = endpoint;
4879
4873
  e = e.replace(/\{service\}/g, this.api.endpointPrefix);
4880
- e = e.replace(/\{region\}/g, this.config.region);
4874
+ e = e.replace(/\{region\}/g, regionConfig.getRealRegion(this.config.region));
4881
4875
  e = e.replace(/\{scheme\}/g, this.config.sslEnabled ? 'https' : 'http');
4882
4876
  return e;
4883
4877
  },
@@ -5084,6 +5078,10 @@ return /******/ (function(modules) { // webpackBootstrap
5084
5078
 
5085
5079
  function generateRegionPrefix(region) {
5086
5080
  if (!region) return null;
5081
+ if (isFipsRegion(region)) {
5082
+ if (isFipsCnRegion(region)) return 'fips-cn-*';
5083
+ return 'fips-*';
5084
+ }
5087
5085
 
5088
5086
  var parts = region.split('-');
5089
5087
  if (parts.length < 3) return null;
@@ -5137,6 +5135,12 @@ return /******/ (function(modules) { // webpackBootstrap
5137
5135
  );
5138
5136
  }
5139
5137
 
5138
+ // set FIPS signingRegion and endpoint.
5139
+ if (isFipsRegion(service.config.region)) {
5140
+ config = util.copy(config);
5141
+ service.signingRegion = getRealRegion(service.config.region);
5142
+ }
5143
+
5140
5144
  // set global endpoint
5141
5145
  service.isGlobalEndpoint = !!config.globalEndpoint;
5142
5146
  if (config.signingRegion) {
@@ -5171,12 +5175,35 @@ return /******/ (function(modules) { // webpackBootstrap
5171
5175
  return defaultSuffix;
5172
5176
  }
5173
5177
 
5178
+ function isFipsRegion(region) {
5179
+ return region && (region.startsWith('fips-') || region.endsWith('-fips'));
5180
+ }
5181
+
5182
+ function isFipsCnRegion(region) {
5183
+ return (
5184
+ region &&
5185
+ region.startsWith('fips-cn-') ||
5186
+ (region.startsWith('cn-') && region.endsWith('-fips'))
5187
+ );
5188
+ }
5189
+
5190
+ function getRealRegion(region) {
5191
+ return isFipsRegion(region)
5192
+ ? ['fips-aws-global', 'aws-fips'].includes(region)
5193
+ ? 'us-east-1'
5194
+ : region === 'fips-aws-us-gov-global'
5195
+ ? 'us-gov-west-1'
5196
+ : region.replace(/fips-(dkr-|prod-)?|-fips/, '')
5197
+ : region;
5198
+ }
5199
+
5174
5200
  /**
5175
5201
  * @api private
5176
5202
  */
5177
5203
  module.exports = {
5178
5204
  configureEndpoint: configureEndpoint,
5179
- getEndpointSuffix: getEndpointSuffix
5205
+ getEndpointSuffix: getEndpointSuffix,
5206
+ getRealRegion: getRealRegion,
5180
5207
  };
5181
5208
 
5182
5209
 
@@ -5184,7 +5211,7 @@ return /******/ (function(modules) { // webpackBootstrap
5184
5211
  /* 39 */
5185
5212
  /***/ (function(module, exports) {
5186
5213
 
5187
- module.exports = {"rules":{"*/*":{"endpoint":"{service}.{region}.amazonaws.com"},"cn-*/*":{"endpoint":"{service}.{region}.amazonaws.com.cn"},"us-iso-*/*":{"endpoint":"{service}.{region}.c2s.ic.gov"},"us-isob-*/*":{"endpoint":"{service}.{region}.sc2s.sgov.gov"},"*/budgets":"globalSSL","*/cloudfront":"globalSSL","*/sts":"globalSSL","*/importexport":{"endpoint":"{service}.amazonaws.com","signatureVersion":"v2","globalEndpoint":true},"*/route53":"globalSSL","cn-*/route53":{"endpoint":"{service}.amazonaws.com.cn","globalEndpoint":true,"signingRegion":"cn-northwest-1"},"us-gov-*/route53":"globalGovCloud","*/waf":"globalSSL","*/iam":"globalSSL","cn-*/iam":{"endpoint":"{service}.cn-north-1.amazonaws.com.cn","globalEndpoint":true,"signingRegion":"cn-north-1"},"us-gov-*/iam":"globalGovCloud","us-gov-*/sts":{"endpoint":"{service}.{region}.amazonaws.com"},"us-gov-west-1/s3":"s3signature","us-west-1/s3":"s3signature","us-west-2/s3":"s3signature","eu-west-1/s3":"s3signature","ap-southeast-1/s3":"s3signature","ap-southeast-2/s3":"s3signature","ap-northeast-1/s3":"s3signature","sa-east-1/s3":"s3signature","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"}},"patterns":{"globalSSL":{"endpoint":"https://{service}.amazonaws.com","globalEndpoint":true,"signingRegion":"us-east-1"},"globalGovCloud":{"endpoint":"{service}.us-gov.amazonaws.com","globalEndpoint":true,"signingRegion":"us-gov-west-1"},"s3signature":{"endpoint":"{service}.{region}.amazonaws.com","signatureVersion":"s3"}}}
5214
+ module.exports = {"rules":{"*/*":{"endpoint":"{service}.{region}.amazonaws.com"},"fips-*/*":{"endpoint":"{service}-fips.{region}.amazonaws.com"},"fips-cn-*/*":{"endpoint":"{service}-fips.{region}.amazonaws.com.cn"},"cn-*/*":{"endpoint":"{service}.{region}.amazonaws.com.cn"},"us-iso-*/*":{"endpoint":"{service}.{region}.c2s.ic.gov"},"us-isob-*/*":{"endpoint":"{service}.{region}.sc2s.sgov.gov"},"*/budgets":"globalSSL","*/cloudfront":"globalSSL","*/sts":"globalSSL","*/importexport":{"endpoint":"{service}.amazonaws.com","signatureVersion":"v2","globalEndpoint":true},"*/route53":"globalSSL","cn-*/route53":{"endpoint":"{service}.amazonaws.com.cn","globalEndpoint":true,"signingRegion":"cn-northwest-1"},"us-gov-*/route53":"globalGovCloud","*/waf":"globalSSL","*/iam":"globalSSL","cn-*/iam":{"endpoint":"{service}.cn-north-1.amazonaws.com.cn","globalEndpoint":true,"signingRegion":"cn-north-1"},"us-gov-*/iam":"globalGovCloud","us-gov-*/sts":{"endpoint":"{service}.{region}.amazonaws.com"},"us-gov-west-1/s3":"s3signature","us-west-1/s3":"s3signature","us-west-2/s3":"s3signature","eu-west-1/s3":"s3signature","ap-southeast-1/s3":"s3signature","ap-southeast-2/s3":"s3signature","ap-northeast-1/s3":"s3signature","sa-east-1/s3":"s3signature","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"},"fips-*/api.ecr":{"endpoint":"ecr-fips.{region}.amazonaws.com"},"fips-*/api.sagemaker":{"endpoint":"api-fips.sagemaker.{region}.amazonaws.com"},"fips-*/batch":{"endpoint":"fips.batch.{region}.amazonaws.com"},"fips-*/streams.dynamodb":{"endpoint":"dynamodb-fips.{region}.amazonaws.com"},"fips-*/route53":{"endpoint":"route53-fips.amazonaws.com"},"fips-*/transcribe":{"endpoint":"fips.transcribe.{region}.amazonaws.com"},"fips-*/waf":{"endpoint":"waf-fips.amazonaws.com"},"fips-us-gov-east-1/acm-pca":{"endpoint":"acm-pca.{region}.amazonaws.com"},"fips-us-gov-west-1/acm-pca":{"endpoint":"acm-pca.{region}.amazonaws.com"},"fips-us-gov-east-1/batch":{"endpoint":"batch.{region}.amazonaws.com"},"fips-us-gov-west-1/batch":{"endpoint":"batch.{region}.amazonaws.com"},"us-gov-east-1-fips/dynamodb":{"endpoint":"dynamodb.{region}.amazonaws.com"},"us-gov-west-1-fips/dynamodb":{"endpoint":"dynamodb.{region}.amazonaws.com"},"fips-us-gov-east-1/elasticloadbalancing":{"endpoint":"elasticloadbalancing.{region}.amazonaws.com"},"fips-us-gov-west-1/elasticloadbalancing":{"endpoint":"elasticloadbalancing.{region}.amazonaws.com"},"us-gov-east-1-fips/guardduty":{"endpoint":"guardduty.{region}.amazonaws.com"},"us-gov-west-1-fips/guardduty":{"endpoint":"guardduty.{region}.amazonaws.com"},"fips-us-gov-east-1/monitoring":{"endpoint":"monitoring.{region}.amazonaws.com"},"fips-us-gov-west-1/monitoring":{"endpoint":"monitoring.{region}.amazonaws.com"},"fips-aws-us-gov-global/organizations":{"endpoint":"organizations.{region}.amazonaws.com"},"fips-us-gov-east-1/resource-groups":{"endpoint":"resource-groups.{region}.amazonaws.com"},"fips-us-gov-west-1/resource-groups":{"endpoint":"resource-groups.{region}.amazonaws.com"},"fips-aws-us-gov-global/route53":{"endpoint":"route53.us-gov.amazonaws.com"},"fips-us-gov-east-1/servicecatalog-appregistry":{"endpoint":"servicecatalog-appregistry.{region}.amazonaws.com"},"fips-us-gov-west-1/servicecatalog-appregistry":{"endpoint":"servicecatalog-appregistry.{region}.amazonaws.com"},"fips-us-gov-west-1/states":{"endpoint":"states.{region}.amazonaws.com"},"us-gov-east-1-fips/streams.dynamodb":{"endpoint":"dynamodb.{region}.amazonaws.com"},"us-gov-west-1-fips/streams.dynamodb":{"endpoint":"dynamodb.{region}.amazonaws.com"}},"patterns":{"globalSSL":{"endpoint":"https://{service}.amazonaws.com","globalEndpoint":true,"signingRegion":"us-east-1"},"globalGovCloud":{"endpoint":"{service}.us-gov.amazonaws.com","globalEndpoint":true,"signingRegion":"us-gov-west-1"},"s3signature":{"endpoint":"{service}.{region}.amazonaws.com","signatureVersion":"s3"}}}
5188
5215
 
5189
5216
  /***/ }),
5190
5217
  /* 40 */
@@ -8482,12 +8509,10 @@ return /******/ (function(modules) { // webpackBootstrap
8482
8509
  var region = service.config.region;
8483
8510
  var customUserAgent = service.config.customUserAgent;
8484
8511
 
8485
- if (service.isGlobalEndpoint) {
8486
- if (service.signingRegion) {
8487
- region = service.signingRegion;
8488
- } else {
8489
- region = 'us-east-1';
8490
- }
8512
+ if (service.signingRegion) {
8513
+ region = service.signingRegion;
8514
+ } else if (service.isGlobalEndpoint) {
8515
+ region = 'us-east-1';
8491
8516
  }
8492
8517
 
8493
8518
  this.domain = domain && domain.active;