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
@@ -267,4 +267,12 @@ export abstract class ConfigurationOptions {
267
267
  * regional endpoints.
268
268
  */
269
269
  stsRegionalEndpoints?: "legacy"|"regional";
270
+ /**
271
+ * Enables FIPS compatible endpoints.
272
+ */
273
+ useFipsEndpoint?: boolean;
274
+ /**
275
+ * Enables IPv6 dualstack endpoint.
276
+ */
277
+ useDualstackEndpoint?: boolean;
270
278
  }
package/lib/config.js CHANGED
@@ -185,7 +185,13 @@ var PromisesDependency;
185
185
  * @!attribute stsRegionalEndpoints
186
186
  * @return ['legacy'|'regional'] whether to send sts request to global endpoints or
187
187
  * regional endpoints.
188
- * Defaults to 'legacy'
188
+ * Defaults to 'legacy'.
189
+ *
190
+ * @!attribute useFipsEndpoint
191
+ * @return [Boolean] Enables FIPS compatible endpoints. Defaults to `false`.
192
+ *
193
+ * @!attribute useDualstackEndpoint
194
+ * @return [Boolean] Enables IPv6 dualstack endpoint. Defaults to `false`.
189
195
  */
190
196
  AWS.Config = AWS.util.inherit({
191
197
  /**
@@ -340,6 +346,10 @@ AWS.Config = AWS.util.inherit({
340
346
  * @option options stsRegionalEndpoints ['legacy'|'regional'] whether to send sts request
341
347
  * to global endpoints or regional endpoints.
342
348
  * Defaults to 'legacy'.
349
+ * @option options useFipsEndpoint [Boolean] Enables FIPS compatible endpoints.
350
+ * Defaults to `false`.
351
+ * @option options useDualstackEndpoint [Boolean] Enables IPv6 dualstack endpoint.
352
+ * Defaults to `false`.
343
353
  */
344
354
  constructor: function Config(options) {
345
355
  if (options === undefined) options = {};
@@ -563,7 +573,9 @@ AWS.Config = AWS.util.inherit({
563
573
  endpointDiscoveryEnabled: undefined,
564
574
  endpointCacheSize: 1000,
565
575
  hostPrefixEnabled: true,
566
- stsRegionalEndpoints: 'legacy'
576
+ stsRegionalEndpoints: 'legacy',
577
+ useFipsEndpoint: false,
578
+ useDualstackEndpoint: false
567
579
  },
568
580
 
569
581
  /**
@@ -287,6 +287,7 @@ export abstract class ConfigurationServicePlaceholders {
287
287
  grafana?: AWS.Grafana.Types.ClientConfiguration;
288
288
  panorama?: AWS.Panorama.Types.ClientConfiguration;
289
289
  chimesdkmeetings?: AWS.ChimeSDKMeetings.Types.ClientConfiguration;
290
+ resiliencehub?: AWS.Resiliencehub.Types.ClientConfiguration;
290
291
  }
291
292
  export interface ConfigurationServiceApiVersions {
292
293
  acm?: AWS.ACM.Types.apiVersion;
@@ -576,4 +577,5 @@ export interface ConfigurationServiceApiVersions {
576
577
  grafana?: AWS.Grafana.Types.apiVersion;
577
578
  panorama?: AWS.Panorama.Types.apiVersion;
578
579
  chimesdkmeetings?: AWS.ChimeSDKMeetings.Types.apiVersion;
580
+ resiliencehub?: AWS.Resiliencehub.Types.apiVersion;
579
581
  }
@@ -1,8 +1,11 @@
1
+ import {ConfigBase} from './config-base';
2
+
1
3
  export interface UseDualstackConfigOptions {
2
4
  /**
3
5
  * Enables IPv6/IPv4 dualstack endpoint. When a DNS lookup is performed on an endpoint of this type, it returns an “A” record with an IPv4 address and an “AAAA” record with an IPv6 address.
4
6
  * In most cases the network stack in the client environment will automatically prefer the AAAA record and make a connection using the IPv6 address.
5
7
  * Note, however, that currently on Windows, the IPv4 address will be preferred.
8
+ * @deprecated Use {@link ConfigBase.useDualstackEndpoint}
6
9
  */
7
10
  useDualstack?: boolean;
8
11
  }
package/lib/core.js CHANGED
@@ -20,7 +20,7 @@ AWS.util.update(AWS, {
20
20
  /**
21
21
  * @constant
22
22
  */
23
- VERSION: '2.1024.0',
23
+ VERSION: '2.1028.0',
24
24
 
25
25
  /**
26
26
  * @api private
@@ -130,7 +130,7 @@ export namespace DocumentClient {
130
130
  */
131
131
  ArchivalDateTime?: _Date;
132
132
  /**
133
- * The reason DynamoDB archived the table. Currently, the only possible value is: INACCESSIBLE_ENCRYPTION_CREDENTIALS - The table was archived due to the table's AWS KMS key being inaccessible for more than seven days. An On-Demand backup was created at the archival time.
133
+ * The reason DynamoDB archived the table. Currently, the only possible value is: INACCESSIBLE_ENCRYPTION_CREDENTIALS - The table was archived due to the table's KMS key being inaccessible for more than seven days. An On-Demand backup was created at the archival time.
134
134
  */
135
135
  ArchivalReason?: ArchivalReason;
136
136
  /**
@@ -307,7 +307,7 @@ export namespace DocumentClient {
307
307
  */
308
308
  BackupStatus: BackupStatus;
309
309
  /**
310
- * BackupType: USER - You create and manage these using the on-demand backup feature. SYSTEM - If you delete a table with point-in-time recovery enabled, a SYSTEM backup is automatically created and is retained for 35 days (at no additional cost). System backups allow you to restore the deleted table to the state it was in just before the point of deletion. AWS_BACKUP - On-demand backup created by you from AWS Backup service.
310
+ * BackupType: USER - You create and manage these using the on-demand backup feature. SYSTEM - If you delete a table with point-in-time recovery enabled, a SYSTEM backup is automatically created and is retained for 35 days (at no additional cost). System backups allow you to restore the deleted table to the state it was in just before the point of deletion. AWS_BACKUP - On-demand backup created by you from Backup service.
311
311
  */
312
312
  BackupType: BackupType;
313
313
  /**
@@ -357,7 +357,7 @@ export namespace DocumentClient {
357
357
  */
358
358
  BackupStatus?: BackupStatus;
359
359
  /**
360
- * BackupType: USER - You create and manage these using the on-demand backup feature. SYSTEM - If you delete a table with point-in-time recovery enabled, a SYSTEM backup is automatically created and is retained for 35 days (at no additional cost). System backups allow you to restore the deleted table to the state it was in just before the point of deletion. AWS_BACKUP - On-demand backup created by you from AWS Backup service.
360
+ * BackupType: USER - You create and manage these using the on-demand backup feature. SYSTEM - If you delete a table with point-in-time recovery enabled, a SYSTEM backup is automatically created and is retained for 35 days (at no additional cost). System backups allow you to restore the deleted table to the state it was in just before the point of deletion. AWS_BACKUP - On-demand backup created by you from Backup service.
361
361
  */
362
362
  BackupType?: BackupType;
363
363
  /**
@@ -370,13 +370,13 @@ export namespace DocumentClient {
370
370
  export type BackupsInputLimit = number;
371
371
  export interface BatchExecuteStatementInput {
372
372
  /**
373
- * The list of PartiQL statements representing the batch to run.
373
+ * The list of PartiQL statements representing the batch to run.
374
374
  */
375
375
  Statements: PartiQLBatchRequest;
376
376
  }
377
377
  export interface BatchExecuteStatementOutput {
378
378
  /**
379
- * The response to each PartiQL statement in the batch.
379
+ * The response to each PartiQL statement in the batch.
380
380
  */
381
381
  Responses?: PartiQLBatchResponse;
382
382
  }
@@ -664,7 +664,7 @@ export namespace DocumentClient {
664
664
  */
665
665
  RegionName: RegionName;
666
666
  /**
667
- * The AWS KMS customer master key (CMK) that should be used for AWS KMS encryption in the new replica. To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. Note that you should only provide this parameter if the key is different from the default DynamoDB KMS master key alias/aws/dynamodb.
667
+ * The KMS key that should be used for KMS encryption in the new replica. To specify a key, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. Note that you should only provide this parameter if the key is different from the default DynamoDB KMS key alias/aws/dynamodb.
668
668
  */
669
669
  KMSMasterKeyId?: KMSMasterKeyId;
670
670
  /**
@@ -896,11 +896,11 @@ export namespace DocumentClient {
896
896
  */
897
897
  IndexName?: IndexName;
898
898
  /**
899
- * List of names of the associated Alpine rules.
899
+ * List of names of the associated contributor insights rules.
900
900
  */
901
901
  ContributorInsightsRuleList?: ContributorInsightsRuleList;
902
902
  /**
903
- * Current Status contributor insights.
903
+ * Current status of contributor insights.
904
904
  */
905
905
  ContributorInsightsStatus?: ContributorInsightsStatus;
906
906
  /**
@@ -908,7 +908,7 @@ export namespace DocumentClient {
908
908
  */
909
909
  LastUpdateDateTime?: LastUpdateDateTime;
910
910
  /**
911
- * Returns information about the last failure that encountered. The most common exceptions for a FAILED status are: LimitExceededException - Per-account Amazon CloudWatch Contributor Insights rule limit reached. Please disable Contributor Insights for other tables/indexes OR disable Contributor Insights rules before retrying. AccessDeniedException - Amazon CloudWatch Contributor Insights rules cannot be modified due to insufficient permissions. AccessDeniedException - Failed to create service-linked role for Contributor Insights due to insufficient permissions. InternalServerError - Failed to create Amazon CloudWatch Contributor Insights rules. Please retry request.
911
+ * Returns information about the last failure that was encountered. The most common exceptions for a FAILED status are: LimitExceededException - Per-account Amazon CloudWatch Contributor Insights rule limit reached. Please disable Contributor Insights for other tables/indexes OR disable Contributor Insights rules before retrying. AccessDeniedException - Amazon CloudWatch Contributor Insights rules cannot be modified due to insufficient permissions. AccessDeniedException - Failed to create service-linked role for Contributor Insights due to insufficient permissions. InternalServerError - Failed to create Amazon CloudWatch Contributor Insights rules. Please retry request.
912
912
  */
913
913
  FailureException?: FailureException;
914
914
  }
@@ -1049,45 +1049,45 @@ export namespace DocumentClient {
1049
1049
  export type ExceptionName = string;
1050
1050
  export interface ExecuteStatementInput {
1051
1051
  /**
1052
- * The PartiQL statement representing the operation to run.
1052
+ * The PartiQL statement representing the operation to run.
1053
1053
  */
1054
1054
  Statement: PartiQLStatement;
1055
1055
  /**
1056
- * The parameters for the PartiQL statement, if any.
1056
+ * The parameters for the PartiQL statement, if any.
1057
1057
  */
1058
1058
  Parameters?: PreparedStatementParameters;
1059
1059
  /**
1060
- * The consistency of a read operation. If set to true, then a strongly consistent read is used; otherwise, an eventually consistent read is used.
1060
+ * The consistency of a read operation. If set to true, then a strongly consistent read is used; otherwise, an eventually consistent read is used.
1061
1061
  */
1062
1062
  ConsistentRead?: ConsistentRead;
1063
1063
  /**
1064
- * Set this value to get remaining results, if NextToken was returned in the statement response.
1064
+ * Set this value to get remaining results, if NextToken was returned in the statement response.
1065
1065
  */
1066
1066
  NextToken?: PartiQLNextToken;
1067
1067
  }
1068
1068
  export interface ExecuteStatementOutput {
1069
1069
  /**
1070
- * If a read operation was used, this property will contain the result of the reade operation; a map of attribute names and their values. For the write operations this value will be empty.
1070
+ * If a read operation was used, this property will contain the result of the read operation; a map of attribute names and their values. For the write operations this value will be empty.
1071
1071
  */
1072
1072
  Items?: ItemList;
1073
1073
  /**
1074
- * If the response of a read request exceeds the response payload limit DynamoDB will set this value in the response. If set, you can use that this value in the subsequent request to get the remaining results.
1074
+ * If the response of a read request exceeds the response payload limit DynamoDB will set this value in the response. If set, you can use that this value in the subsequent request to get the remaining results.
1075
1075
  */
1076
1076
  NextToken?: PartiQLNextToken;
1077
1077
  }
1078
1078
  export interface ExecuteTransactionInput {
1079
1079
  /**
1080
- * The list of PartiQL statements representing the transaction to run.
1080
+ * The list of PartiQL statements representing the transaction to run.
1081
1081
  */
1082
1082
  TransactStatements: ParameterizedStatements;
1083
1083
  /**
1084
- * Set this value to get remaining results, if NextToken was returned in the statement response.
1084
+ * Set this value to get remaining results, if NextToken was returned in the statement response.
1085
1085
  */
1086
1086
  ClientRequestToken?: ClientRequestToken;
1087
1087
  }
1088
1088
  export interface ExecuteTransactionOutput {
1089
1089
  /**
1090
- * The response to a PartiQL transaction.
1090
+ * The response to a PartiQL transaction.
1091
1091
  */
1092
1092
  Responses?: ItemResponseList;
1093
1093
  }
@@ -1153,7 +1153,7 @@ export namespace DocumentClient {
1153
1153
  */
1154
1154
  S3Bucket?: S3Bucket;
1155
1155
  /**
1156
- * The ID of the AWS account that owns the bucket containing the export.
1156
+ * The ID of the Amazon Web Services account that owns the bucket containing the export.
1157
1157
  */
1158
1158
  S3BucketOwner?: S3BucketOwner;
1159
1159
  /**
@@ -1161,11 +1161,11 @@ export namespace DocumentClient {
1161
1161
  */
1162
1162
  S3Prefix?: S3Prefix;
1163
1163
  /**
1164
- * Type of encryption used on the bucket where export data is stored. Valid values for S3SseAlgorithm are: AES256 - server-side encryption with Amazon S3 managed keys KMS - server-side encryption with AWS KMS managed keys
1164
+ * Type of encryption used on the bucket where export data is stored. Valid values for S3SseAlgorithm are: AES256 - server-side encryption with Amazon S3 managed keys KMS - server-side encryption with KMS managed keys
1165
1165
  */
1166
1166
  S3SseAlgorithm?: S3SseAlgorithm;
1167
1167
  /**
1168
- * The ID of the AWS KMS managed key used to encrypt the S3 bucket where export data is stored (if applicable).
1168
+ * The ID of the KMS managed key used to encrypt the S3 bucket where export data is stored (if applicable).
1169
1169
  */
1170
1170
  S3SseKmsKeyId?: S3SseKmsKeyId;
1171
1171
  /**
@@ -1224,7 +1224,7 @@ export namespace DocumentClient {
1224
1224
  */
1225
1225
  S3Bucket: S3Bucket;
1226
1226
  /**
1227
- * The ID of the AWS account that owns the bucket the export will be stored in.
1227
+ * The ID of the Amazon Web Services account that owns the bucket the export will be stored in.
1228
1228
  */
1229
1229
  S3BucketOwner?: S3BucketOwner;
1230
1230
  /**
@@ -1232,11 +1232,11 @@ export namespace DocumentClient {
1232
1232
  */
1233
1233
  S3Prefix?: S3Prefix;
1234
1234
  /**
1235
- * Type of encryption used on the bucket where export data will be stored. Valid values for S3SseAlgorithm are: AES256 - server-side encryption with Amazon S3 managed keys KMS - server-side encryption with AWS KMS managed keys
1235
+ * Type of encryption used on the bucket where export data will be stored. Valid values for S3SseAlgorithm are: AES256 - server-side encryption with Amazon S3 managed keys KMS - server-side encryption with KMS managed keys
1236
1236
  */
1237
1237
  S3SseAlgorithm?: S3SseAlgorithm;
1238
1238
  /**
1239
- * The ID of the AWS KMS managed key used to encrypt the S3 bucket where export data will be stored (if applicable).
1239
+ * The ID of the KMS managed key used to encrypt the S3 bucket where export data will be stored (if applicable).
1240
1240
  */
1241
1241
  S3SseKmsKeyId?: S3SseKmsKeyId;
1242
1242
  /**
@@ -1929,7 +1929,7 @@ export namespace DocumentClient {
1929
1929
  */
1930
1930
  Expected?: ExpectedAttributeMap;
1931
1931
  /**
1932
- * Use ReturnValues if you want to get the item attributes as they appeared before they were updated with the PutItem request. For PutItem, the valid values are: NONE - If ReturnValues is not specified, or if its value is NONE, then nothing is returned. (This setting is the default for ReturnValues.) ALL_OLD - If PutItem overwrote an attribute name-value pair, then the content of the old item is returned. The ReturnValues parameter is used by several DynamoDB operations; however, PutItem does not recognize any values other than NONE or ALL_OLD.
1932
+ * Use ReturnValues if you want to get the item attributes as they appeared before they were updated with the PutItem request. For PutItem, the valid values are: NONE - If ReturnValues is not specified, or if its value is NONE, then nothing is returned. (This setting is the default for ReturnValues.) ALL_OLD - If PutItem overwrote an attribute name-value pair, then the content of the old item is returned. The values returned are strongly consistent. The ReturnValues parameter is used by several DynamoDB operations; however, PutItem does not recognize any values other than NONE or ALL_OLD.
1933
1933
  */
1934
1934
  ReturnValues?: ReturnValue;
1935
1935
  ReturnConsumedCapacity?: ReturnConsumedCapacity;
@@ -2106,7 +2106,7 @@ export namespace DocumentClient {
2106
2106
  */
2107
2107
  RegionName?: RegionName;
2108
2108
  /**
2109
- * The current state of the replica: CREATING - The replica is being created. UPDATING - The replica is being updated. DELETING - The replica is being deleted. ACTIVE - The replica is ready for use. REGION_DISABLED - The replica is inaccessible because the AWS Region has been disabled. If the AWS Region remains inaccessible for more than 20 hours, DynamoDB will remove this replica from the replication group. The replica will not be deleted and replication will stop from and to this region. INACCESSIBLE_ENCRYPTION_CREDENTIALS - The AWS KMS key used to encrypt the table is inaccessible. If the AWS KMS key remains inaccessible for more than 20 hours, DynamoDB will remove this replica from the replication group. The replica will not be deleted and replication will stop from and to this region.
2109
+ * The current state of the replica: CREATING - The replica is being created. UPDATING - The replica is being updated. DELETING - The replica is being deleted. ACTIVE - The replica is ready for use. REGION_DISABLED - The replica is inaccessible because the Amazon Web Services Region has been disabled. If the Amazon Web Services Region remains inaccessible for more than 20 hours, DynamoDB will remove this replica from the replication group. The replica will not be deleted and replication will stop from and to this region. INACCESSIBLE_ENCRYPTION_CREDENTIALS - The KMS key used to encrypt the table is inaccessible. If the KMS key remains inaccessible for more than 20 hours, DynamoDB will remove this replica from the replication group. The replica will not be deleted and replication will stop from and to this region.
2110
2110
  */
2111
2111
  ReplicaStatus?: ReplicaStatus;
2112
2112
  /**
@@ -2118,7 +2118,7 @@ export namespace DocumentClient {
2118
2118
  */
2119
2119
  ReplicaStatusPercentProgress?: ReplicaStatusPercentProgress;
2120
2120
  /**
2121
- * The AWS KMS customer master key (CMK) of the replica that will be used for AWS KMS encryption.
2121
+ * The KMS key of the replica that will be used for KMS encryption.
2122
2122
  */
2123
2123
  KMSMasterKeyId?: KMSMasterKeyId;
2124
2124
  /**
@@ -2423,30 +2423,30 @@ export namespace DocumentClient {
2423
2423
  */
2424
2424
  Status?: SSEStatus;
2425
2425
  /**
2426
- * Server-side encryption type. The only supported value is: KMS - Server-side encryption that uses AWS Key Management Service. The key is stored in your account and is managed by AWS KMS (AWS KMS charges apply).
2426
+ * Server-side encryption type. The only supported value is: KMS - Server-side encryption that uses Key Management Service. The key is stored in your account and is managed by KMS (KMS charges apply).
2427
2427
  */
2428
2428
  SSEType?: SSEType;
2429
2429
  /**
2430
- * The AWS KMS customer master key (CMK) ARN used for the AWS KMS encryption.
2430
+ * The KMS key ARN used for the KMS encryption.
2431
2431
  */
2432
2432
  KMSMasterKeyArn?: KMSMasterKeyArn;
2433
2433
  /**
2434
- * Indicates the time, in UNIX epoch date format, when DynamoDB detected that the table's AWS KMS key was inaccessible. This attribute will automatically be cleared when DynamoDB detects that the table's AWS KMS key is accessible again. DynamoDB will initiate the table archival process when table's AWS KMS key remains inaccessible for more than seven days from this date.
2434
+ * Indicates the time, in UNIX epoch date format, when DynamoDB detected that the table's KMS key was inaccessible. This attribute will automatically be cleared when DynamoDB detects that the table's KMS key is accessible again. DynamoDB will initiate the table archival process when table's KMS key remains inaccessible for more than seven days from this date.
2435
2435
  */
2436
2436
  InaccessibleEncryptionDateTime?: _Date;
2437
2437
  }
2438
2438
  export type SSEEnabled = boolean;
2439
2439
  export interface SSESpecification {
2440
2440
  /**
2441
- * Indicates whether server-side encryption is done using an AWS managed CMK or an AWS owned CMK. If enabled (true), server-side encryption type is set to KMS and an AWS managed CMK is used (AWS KMS charges apply). If disabled (false) or not specified, server-side encryption is set to AWS owned CMK.
2441
+ * Indicates whether server-side encryption is done using an Amazon Web Services managed key or an Amazon Web Services owned key. If enabled (true), server-side encryption type is set to KMS and an Amazon Web Services managed key is used (KMS charges apply). If disabled (false) or not specified, server-side encryption is set to Amazon Web Services owned key.
2442
2442
  */
2443
2443
  Enabled?: SSEEnabled;
2444
2444
  /**
2445
- * Server-side encryption type. The only supported value is: KMS - Server-side encryption that uses AWS Key Management Service. The key is stored in your account and is managed by AWS KMS (AWS KMS charges apply).
2445
+ * Server-side encryption type. The only supported value is: KMS - Server-side encryption that uses Key Management Service. The key is stored in your account and is managed by KMS (KMS charges apply).
2446
2446
  */
2447
2447
  SSEType?: SSEType;
2448
2448
  /**
2449
- * The AWS KMS customer master key (CMK) that should be used for the AWS KMS encryption. To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. Note that you should only provide this parameter if the key is different from the default DynamoDB customer master key alias/aws/dynamodb.
2449
+ * The KMS key that should be used for the KMS encryption. To specify a key, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. Note that you should only provide this parameter if the key is different from the default DynamoDB key alias/aws/dynamodb.
2450
2450
  */
2451
2451
  KMSMasterKeyId?: KMSMasterKeyId;
2452
2452
  }
@@ -2648,7 +2648,7 @@ export namespace DocumentClient {
2648
2648
  */
2649
2649
  KeySchema?: KeySchema;
2650
2650
  /**
2651
- * The current state of the table: CREATING - The table is being created. UPDATING - The table is being updated. DELETING - The table is being deleted. ACTIVE - The table is ready for use. INACCESSIBLE_ENCRYPTION_CREDENTIALS - The AWS KMS key used to encrypt the table in inaccessible. Table operations may fail due to failure to use the AWS KMS key. DynamoDB will initiate the table archival process when a table's AWS KMS key remains inaccessible for more than seven days. ARCHIVING - The table is being archived. Operations are not allowed until archival is complete. ARCHIVED - The table has been archived. See the ArchivalReason for more information.
2651
+ * The current state of the table: CREATING - The table is being created. UPDATING - The table is being updated. DELETING - The table is being deleted. ACTIVE - The table is ready for use. INACCESSIBLE_ENCRYPTION_CREDENTIALS - The KMS key used to encrypt the table in inaccessible. Table operations may fail due to failure to use the KMS key. DynamoDB will initiate the table archival process when a table's KMS key remains inaccessible for more than seven days. ARCHIVING - The table is being archived. Operations are not allowed until archival is complete. ARCHIVED - The table has been archived. See the ArchivalReason for more information.
2652
2652
  */
2653
2653
  TableStatus?: TableStatus;
2654
2654
  /**
@@ -2692,7 +2692,7 @@ export namespace DocumentClient {
2692
2692
  */
2693
2693
  StreamSpecification?: StreamSpecification;
2694
2694
  /**
2695
- * A timestamp, in ISO 8601 format, for this stream. Note that LatestStreamLabel is not a unique identifier for the stream, because it is possible that a stream from another table might have the same timestamp. However, the combination of the following three elements is guaranteed to be unique: AWS customer ID Table name StreamLabel
2695
+ * A timestamp, in ISO 8601 format, for this stream. Note that LatestStreamLabel is not a unique identifier for the stream, because it is possible that a stream from another table might have the same timestamp. However, the combination of the following three elements is guaranteed to be unique: Amazon Web Services customer ID Table name StreamLabel
2696
2696
  */
2697
2697
  LatestStreamLabel?: String;
2698
2698
  /**
@@ -2700,7 +2700,7 @@ export namespace DocumentClient {
2700
2700
  */
2701
2701
  LatestStreamArn?: StreamArn;
2702
2702
  /**
2703
- * Represents the version of global tables in use, if the table is replicated across AWS Regions.
2703
+ * Represents the version of global tables in use, if the table is replicated across Amazon Web Services Regions.
2704
2704
  */
2705
2705
  GlobalTableVersion?: String;
2706
2706
  /**
@@ -2726,7 +2726,7 @@ export namespace DocumentClient {
2726
2726
  export type TableStatus = "CREATING"|"UPDATING"|"DELETING"|"ACTIVE"|"INACCESSIBLE_ENCRYPTION_CREDENTIALS"|"ARCHIVING"|"ARCHIVED"|string;
2727
2727
  export interface Tag {
2728
2728
  /**
2729
- * The key of the tag. Tag keys are case sensitive. Each DynamoDB table can only have up to one tag with the same key. If you try to add an existing tag (same key), the existing tag value will be updated to the new value.
2729
+ * The key of the tag. Tag keys are case sensitive. Each DynamoDB table can only have up to one tag with the same key. If you try to add an existing tag (same key), the existing tag value will be updated to the new value.
2730
2730
  */
2731
2731
  Key: TagKeyString;
2732
2732
  /**
@@ -2821,7 +2821,7 @@ export namespace DocumentClient {
2821
2821
  export type TransactWriteItemList = TransactWriteItem[];
2822
2822
  export interface TransactWriteItemsInput {
2823
2823
  /**
2824
- * An ordered array of up to 25 TransactWriteItem objects, each of which contains a ConditionCheck, Put, Update, or Delete object. These can operate on items in different tables, but the tables must reside in the same AWS account and Region, and no two of them can operate on the same item.
2824
+ * An ordered array of up to 25 TransactWriteItem objects, each of which contains a ConditionCheck, Put, Update, or Delete object. These can operate on items in different tables, but the tables must reside in the same Amazon Web Services account and Region, and no two of them can operate on the same item.
2825
2825
  */
2826
2826
  TransactItems: TransactWriteItemList;
2827
2827
  ReturnConsumedCapacity?: ReturnConsumedCapacity;
@@ -3058,7 +3058,7 @@ export namespace DocumentClient {
3058
3058
  */
3059
3059
  RegionName: RegionName;
3060
3060
  /**
3061
- * The AWS KMS customer master key (CMK) of the replica that should be used for AWS KMS encryption. To specify a CMK, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. Note that you should only provide this parameter if the key is different from the default DynamoDB KMS master key alias/aws/dynamodb.
3061
+ * The KMS key of the replica that should be used for KMS encryption. To specify a key, use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. Note that you should only provide this parameter if the key is different from the default DynamoDB KMS key alias/aws/dynamodb.
3062
3062
  */
3063
3063
  KMSMasterKeyId?: KMSMasterKeyId;
3064
3064
  /**
@@ -0,0 +1,8 @@
1
+ var getEndpoint = function() {
2
+ return {
3
+ IPv4: 'http://169.254.169.254',
4
+ IPv6: 'http://[fd00:ec2::254]',
5
+ };
6
+ };
7
+
8
+ module.exports = getEndpoint;
@@ -0,0 +1,12 @@
1
+ var ENV_ENDPOINT_NAME = 'AWS_EC2_METADATA_SERVICE_ENDPOINT';
2
+ var CONFIG_ENDPOINT_NAME = 'ec2_metadata_service_endpoint';
3
+
4
+ var getEndpointConfigOptions = function() {
5
+ return {
6
+ environmentVariableSelector: function(env) { return env[ENV_ENDPOINT_NAME]; },
7
+ configFileSelector: function(profile) { return profile[CONFIG_ENDPOINT_NAME]; },
8
+ default: undefined,
9
+ };
10
+ };
11
+
12
+ module.exports = getEndpointConfigOptions;
@@ -0,0 +1,8 @@
1
+ var getEndpointMode = function() {
2
+ return {
3
+ IPv4: 'IPv4',
4
+ IPv6: 'IPv6',
5
+ };
6
+ };
7
+
8
+ module.exports = getEndpointMode;
@@ -0,0 +1,14 @@
1
+ var EndpointMode = require('./get_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 getEndpointModeConfigOptions = function() {
7
+ return {
8
+ environmentVariableSelector: function(env) { return env[ENV_ENDPOINT_MODE_NAME]; },
9
+ configFileSelector: function(profile) { return profile[CONFIG_ENDPOINT_MODE_NAME]; },
10
+ default: EndpointMode.IPv4,
11
+ };
12
+ };
13
+
14
+ module.exports = getEndpointModeConfigOptions;
@@ -1,10 +1,10 @@
1
1
  var AWS = require('../core');
2
2
 
3
- var Endpoint = require('./endpoint');
4
- var EndpointMode = require('./endpoint_mode');
3
+ var Endpoint = require('./get_endpoint')();
4
+ var EndpointMode = require('./get_endpoint_mode')();
5
5
 
6
- var ENDPOINT_CONFIG_OPTIONS = require('./endpoint_config_options').ENDPOINT_CONFIG_OPTIONS;
7
- var ENDPOINT_MODE_CONFIG_OPTIONS = require('./endpoint_mode_config_options').ENDPOINT_MODE_CONFIG_OPTIONS;
6
+ var ENDPOINT_CONFIG_OPTIONS = require('./get_endpoint_config_options')();
7
+ var ENDPOINT_MODE_CONFIG_OPTIONS = require('./get_endpoint_mode_config_options')();
8
8
 
9
9
  var getMetadataServiceEndpoint = function() {
10
10
  var endpoint = AWS.util.loadConfig(ENDPOINT_CONFIG_OPTIONS);
@@ -1,5 +1,9 @@
1
1
  var util = require('./util');
2
2
 
3
+ var region_utils = require('./region/utils');
4
+ var isFipsRegion = region_utils.isFipsRegion;
5
+ var getRealRegion = region_utils.getRealRegion;
6
+
3
7
  util.isBrowser = function() { return false; };
4
8
  util.isNode = function() { return true; };
5
9
 
@@ -96,6 +100,54 @@ AWS.CredentialProviderChain.defaultProviders = [
96
100
  function () { return new AWS.EC2MetadataCredentials(); }
97
101
  ];
98
102
 
103
+ var getRegion = function() {
104
+ var env = process.env;
105
+ var region = env.AWS_REGION || env.AMAZON_REGION;
106
+ if (env[AWS.util.configOptInEnv]) {
107
+ var toCheck = [
108
+ {filename: env[AWS.util.sharedCredentialsFileEnv]},
109
+ {isConfig: true, filename: env[AWS.util.sharedConfigFileEnv]}
110
+ ];
111
+ var iniLoader = AWS.util.iniLoader;
112
+ while (!region && toCheck.length) {
113
+ var configFile = {};
114
+ var fileInfo = toCheck.shift();
115
+ try {
116
+ configFile = iniLoader.loadFrom(fileInfo);
117
+ } catch (err) {
118
+ if (fileInfo.isConfig) throw err;
119
+ }
120
+ var profile = configFile[env.AWS_PROFILE || AWS.util.defaultProfile];
121
+ region = profile && profile.region;
122
+ }
123
+ }
124
+ return region;
125
+ };
126
+
127
+ var getBooleanValue = function(value) {
128
+ return value === 'true' ? true: value === 'false' ? false: undefined;
129
+ };
130
+
131
+ var USE_FIPS_ENDPOINT_CONFIG_OPTIONS = {
132
+ environmentVariableSelector: function(env) {
133
+ return getBooleanValue(env['AWS_USE_FIPS_ENDPOINT']);
134
+ },
135
+ configFileSelector: function(profile) {
136
+ return getBooleanValue(profile['use_fips_endpoint']);
137
+ },
138
+ default: false,
139
+ };
140
+
141
+ var USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS = {
142
+ environmentVariableSelector: function(env) {
143
+ return getBooleanValue(env['AWS_USE_DUALSTACK_ENDPOINT']);
144
+ },
145
+ configFileSelector: function(profile) {
146
+ return getBooleanValue(profile['use_dualstack_endpoint']);
147
+ },
148
+ default: false,
149
+ };
150
+
99
151
  // Update configuration keys
100
152
  AWS.util.update(AWS.Config.prototype.keys, {
101
153
  credentials: function () {
@@ -116,27 +168,17 @@ AWS.util.update(AWS.Config.prototype.keys, {
116
168
  return process.env.AWSJS_DEBUG ? console : null;
117
169
  },
118
170
  region: function() {
119
- var env = process.env;
120
- var region = env.AWS_REGION || env.AMAZON_REGION;
121
- if (env[AWS.util.configOptInEnv]) {
122
- var toCheck = [
123
- {filename: env[AWS.util.sharedCredentialsFileEnv]},
124
- {isConfig: true, filename: env[AWS.util.sharedConfigFileEnv]}
125
- ];
126
- var iniLoader = AWS.util.iniLoader;
127
- while (!region && toCheck.length) {
128
- var configFile = {};
129
- var fileInfo = toCheck.shift();
130
- try {
131
- configFile = iniLoader.loadFrom(fileInfo);
132
- } catch (err) {
133
- if (fileInfo.isConfig) throw err;
134
- }
135
- var profile = configFile[env.AWS_PROFILE || AWS.util.defaultProfile];
136
- region = profile && profile.region;
137
- }
138
- }
139
- return region;
171
+ var region = getRegion();
172
+ return region ? getRealRegion(region): undefined;
173
+ },
174
+ useFipsEndpoint: function() {
175
+ var region = getRegion();
176
+ return isFipsRegion(region)
177
+ ? true
178
+ : util.loadConfig(USE_FIPS_ENDPOINT_CONFIG_OPTIONS);
179
+ },
180
+ useDualstackEndpoint: function() {
181
+ return util.loadConfig(USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS);
140
182
  }
141
183
  });
142
184
 
@@ -0,0 +1,21 @@
1
+ function isFipsRegion(region) {
2
+ return typeof region === 'string' && (region.startsWith('fips-') || region.endsWith('-fips'));
3
+ }
4
+
5
+ function isGlobalRegion(region) {
6
+ return typeof region === 'string' && ['aws-global', 'aws-us-gov-global'].includes(region);
7
+ }
8
+
9
+ function getRealRegion(region) {
10
+ return ['fips-aws-global', 'aws-fips', 'aws-global'].includes(region)
11
+ ? 'us-east-1'
12
+ : ['fips-aws-us-gov-global', 'aws-us-gov-global'].includes(region)
13
+ ? 'us-gov-west-1'
14
+ : region.replace(/fips-(dkr-|prod-)?|-fips/, '');
15
+ }
16
+
17
+ module.exports = {
18
+ isFipsRegion: isFipsRegion,
19
+ isGlobalRegion: isGlobalRegion,
20
+ getRealRegion: getRealRegion
21
+ };