@aws-sdk/client-ec2 3.48.0 → 3.52.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 (71) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/dist-cjs/EC2.js +30 -0
  3. package/dist-cjs/commands/ListImagesInRecycleBinCommand.js +36 -0
  4. package/dist-cjs/commands/ResetInstanceAttributeCommand.js +2 -2
  5. package/dist-cjs/commands/ResetNetworkInterfaceAttributeCommand.js +2 -2
  6. package/dist-cjs/commands/ResetSnapshotAttributeCommand.js +2 -2
  7. package/dist-cjs/commands/RestoreImageFromRecycleBinCommand.js +36 -0
  8. package/dist-cjs/commands/index.js +2 -0
  9. package/dist-cjs/models/models_5.js +23 -23
  10. package/dist-cjs/models/models_6.js +32 -2
  11. package/dist-cjs/pagination/ListImagesInRecycleBinPaginator.js +35 -0
  12. package/dist-cjs/pagination/index.js +1 -0
  13. package/dist-cjs/protocols/Aws_ec2.js +207 -13
  14. package/dist-es/EC2.js +30 -0
  15. package/dist-es/commands/ListImagesInRecycleBinCommand.js +39 -0
  16. package/dist-es/commands/ResetInstanceAttributeCommand.js +1 -1
  17. package/dist-es/commands/ResetNetworkInterfaceAttributeCommand.js +1 -1
  18. package/dist-es/commands/ResetSnapshotAttributeCommand.js +1 -1
  19. package/dist-es/commands/RestoreImageFromRecycleBinCommand.js +39 -0
  20. package/dist-es/commands/index.js +2 -0
  21. package/dist-es/models/models_5.js +12 -12
  22. package/dist-es/models/models_6.js +20 -0
  23. package/dist-es/pagination/ListImagesInRecycleBinPaginator.js +74 -0
  24. package/dist-es/pagination/index.js +1 -0
  25. package/dist-es/protocols/Aws_ec2.js +199 -0
  26. package/dist-types/EC2.d.ts +47 -12
  27. package/dist-types/EC2Client.d.ts +4 -2
  28. package/dist-types/commands/CreateFleetCommand.d.ts +1 -1
  29. package/dist-types/commands/CreateImageCommand.d.ts +6 -0
  30. package/dist-types/commands/DeleteFleetsCommand.d.ts +1 -1
  31. package/dist-types/commands/DeregisterImageCommand.d.ts +12 -4
  32. package/dist-types/commands/DeregisterInstanceEventNotificationAttributesCommand.d.ts +1 -2
  33. package/dist-types/commands/DescribeFleetInstancesCommand.d.ts +1 -1
  34. package/dist-types/commands/DescribeFleetsCommand.d.ts +1 -1
  35. package/dist-types/commands/DisableFastLaunchCommand.d.ts +3 -0
  36. package/dist-types/commands/EnableFastLaunchCommand.d.ts +3 -0
  37. package/dist-types/commands/ListImagesInRecycleBinCommand.d.ts +37 -0
  38. package/dist-types/commands/MonitorInstancesCommand.d.ts +1 -1
  39. package/dist-types/commands/RegisterInstanceEventNotificationAttributesCommand.d.ts +1 -1
  40. package/dist-types/commands/ResetInstanceAttributeCommand.d.ts +1 -1
  41. package/dist-types/commands/ResetNetworkInterfaceAttributeCommand.d.ts +1 -1
  42. package/dist-types/commands/ResetSnapshotAttributeCommand.d.ts +1 -1
  43. package/dist-types/commands/RestoreImageFromRecycleBinCommand.d.ts +35 -0
  44. package/dist-types/commands/index.d.ts +2 -0
  45. package/dist-types/models/models_0.d.ts +30 -2
  46. package/dist-types/models/models_1.d.ts +16 -14
  47. package/dist-types/models/models_2.d.ts +35 -10
  48. package/dist-types/models/models_3.d.ts +104 -22
  49. package/dist-types/models/models_4.d.ts +6 -20
  50. package/dist-types/models/models_5.d.ts +90 -75
  51. package/dist-types/models/models_6.d.ts +135 -2
  52. package/dist-types/pagination/ListImagesInRecycleBinPaginator.d.ts +4 -0
  53. package/dist-types/pagination/index.d.ts +1 -0
  54. package/dist-types/protocols/Aws_ec2.d.ts +6 -0
  55. package/dist-types/ts3.4/EC2.d.ts +10 -0
  56. package/dist-types/ts3.4/EC2Client.d.ts +4 -2
  57. package/dist-types/ts3.4/commands/ListImagesInRecycleBinCommand.d.ts +17 -0
  58. package/dist-types/ts3.4/commands/ResetInstanceAttributeCommand.d.ts +1 -1
  59. package/dist-types/ts3.4/commands/ResetNetworkInterfaceAttributeCommand.d.ts +1 -1
  60. package/dist-types/ts3.4/commands/ResetSnapshotAttributeCommand.d.ts +1 -1
  61. package/dist-types/ts3.4/commands/RestoreImageFromRecycleBinCommand.d.ts +17 -0
  62. package/dist-types/ts3.4/commands/index.d.ts +2 -0
  63. package/dist-types/ts3.4/models/models_0.d.ts +6 -1
  64. package/dist-types/ts3.4/models/models_1.d.ts +1 -1
  65. package/dist-types/ts3.4/models/models_2.d.ts +5 -0
  66. package/dist-types/ts3.4/models/models_5.d.ts +43 -37
  67. package/dist-types/ts3.4/models/models_6.d.ts +57 -2
  68. package/dist-types/ts3.4/pagination/ListImagesInRecycleBinPaginator.d.ts +4 -0
  69. package/dist-types/ts3.4/pagination/index.d.ts +1 -0
  70. package/dist-types/ts3.4/protocols/Aws_ec2.d.ts +6 -0
  71. package/package.json +42 -36
@@ -0,0 +1,39 @@
1
+ import { __extends } from "tslib";
2
+ import { getSerdePlugin } from "@aws-sdk/middleware-serde";
3
+ import { Command as $Command } from "@aws-sdk/smithy-client";
4
+ import { RestoreImageFromRecycleBinRequest, RestoreImageFromRecycleBinResult } from "../models/models_6";
5
+ import { deserializeAws_ec2RestoreImageFromRecycleBinCommand, serializeAws_ec2RestoreImageFromRecycleBinCommand, } from "../protocols/Aws_ec2";
6
+ var RestoreImageFromRecycleBinCommand = (function (_super) {
7
+ __extends(RestoreImageFromRecycleBinCommand, _super);
8
+ function RestoreImageFromRecycleBinCommand(input) {
9
+ var _this = _super.call(this) || this;
10
+ _this.input = input;
11
+ return _this;
12
+ }
13
+ RestoreImageFromRecycleBinCommand.prototype.resolveMiddleware = function (clientStack, configuration, options) {
14
+ this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
15
+ var stack = clientStack.concat(this.middlewareStack);
16
+ var logger = configuration.logger;
17
+ var clientName = "EC2Client";
18
+ var commandName = "RestoreImageFromRecycleBinCommand";
19
+ var handlerExecutionContext = {
20
+ logger: logger,
21
+ clientName: clientName,
22
+ commandName: commandName,
23
+ inputFilterSensitiveLog: RestoreImageFromRecycleBinRequest.filterSensitiveLog,
24
+ outputFilterSensitiveLog: RestoreImageFromRecycleBinResult.filterSensitiveLog,
25
+ };
26
+ var requestHandler = configuration.requestHandler;
27
+ return stack.resolve(function (request) {
28
+ return requestHandler.handle(request.request, options || {});
29
+ }, handlerExecutionContext);
30
+ };
31
+ RestoreImageFromRecycleBinCommand.prototype.serialize = function (input, context) {
32
+ return serializeAws_ec2RestoreImageFromRecycleBinCommand(input, context);
33
+ };
34
+ RestoreImageFromRecycleBinCommand.prototype.deserialize = function (output, context) {
35
+ return deserializeAws_ec2RestoreImageFromRecycleBinCommand(output, context);
36
+ };
37
+ return RestoreImageFromRecycleBinCommand;
38
+ }($Command));
39
+ export { RestoreImageFromRecycleBinCommand };
@@ -398,6 +398,7 @@ export * from "./ImportInstanceCommand";
398
398
  export * from "./ImportKeyPairCommand";
399
399
  export * from "./ImportSnapshotCommand";
400
400
  export * from "./ImportVolumeCommand";
401
+ export * from "./ListImagesInRecycleBinCommand";
401
402
  export * from "./ListSnapshotsInRecycleBinCommand";
402
403
  export * from "./ModifyAddressAttributeCommand";
403
404
  export * from "./ModifyAvailabilityZoneGroupCommand";
@@ -492,6 +493,7 @@ export * from "./ResetInstanceAttributeCommand";
492
493
  export * from "./ResetNetworkInterfaceAttributeCommand";
493
494
  export * from "./ResetSnapshotAttributeCommand";
494
495
  export * from "./RestoreAddressToClassicCommand";
496
+ export * from "./RestoreImageFromRecycleBinCommand";
495
497
  export * from "./RestoreManagedPrefixListVersionCommand";
496
498
  export * from "./RestoreSnapshotFromRecycleBinCommand";
497
499
  export * from "./RestoreSnapshotTierCommand";
@@ -361,6 +361,18 @@ export var ImportVolumeResult;
361
361
  (function (ImportVolumeResult) {
362
362
  ImportVolumeResult.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };
363
363
  })(ImportVolumeResult || (ImportVolumeResult = {}));
364
+ export var ListImagesInRecycleBinRequest;
365
+ (function (ListImagesInRecycleBinRequest) {
366
+ ListImagesInRecycleBinRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };
367
+ })(ListImagesInRecycleBinRequest || (ListImagesInRecycleBinRequest = {}));
368
+ export var ImageRecycleBinInfo;
369
+ (function (ImageRecycleBinInfo) {
370
+ ImageRecycleBinInfo.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };
371
+ })(ImageRecycleBinInfo || (ImageRecycleBinInfo = {}));
372
+ export var ListImagesInRecycleBinResult;
373
+ (function (ListImagesInRecycleBinResult) {
374
+ ListImagesInRecycleBinResult.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };
375
+ })(ListImagesInRecycleBinResult || (ListImagesInRecycleBinResult = {}));
364
376
  export var ListSnapshotsInRecycleBinRequest;
365
377
  (function (ListSnapshotsInRecycleBinRequest) {
366
378
  ListSnapshotsInRecycleBinRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };
@@ -1170,15 +1182,3 @@ export var ResetImageAttributeRequest;
1170
1182
  (function (ResetImageAttributeRequest) {
1171
1183
  ResetImageAttributeRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };
1172
1184
  })(ResetImageAttributeRequest || (ResetImageAttributeRequest = {}));
1173
- export var ResetInstanceAttributeRequest;
1174
- (function (ResetInstanceAttributeRequest) {
1175
- ResetInstanceAttributeRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };
1176
- })(ResetInstanceAttributeRequest || (ResetInstanceAttributeRequest = {}));
1177
- export var ResetNetworkInterfaceAttributeRequest;
1178
- (function (ResetNetworkInterfaceAttributeRequest) {
1179
- ResetNetworkInterfaceAttributeRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };
1180
- })(ResetNetworkInterfaceAttributeRequest || (ResetNetworkInterfaceAttributeRequest = {}));
1181
- export var ResetSnapshotAttributeRequest;
1182
- (function (ResetSnapshotAttributeRequest) {
1183
- ResetSnapshotAttributeRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };
1184
- })(ResetSnapshotAttributeRequest || (ResetSnapshotAttributeRequest = {}));
@@ -1,4 +1,16 @@
1
1
  import { __assign } from "tslib";
2
+ export var ResetInstanceAttributeRequest;
3
+ (function (ResetInstanceAttributeRequest) {
4
+ ResetInstanceAttributeRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };
5
+ })(ResetInstanceAttributeRequest || (ResetInstanceAttributeRequest = {}));
6
+ export var ResetNetworkInterfaceAttributeRequest;
7
+ (function (ResetNetworkInterfaceAttributeRequest) {
8
+ ResetNetworkInterfaceAttributeRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };
9
+ })(ResetNetworkInterfaceAttributeRequest || (ResetNetworkInterfaceAttributeRequest = {}));
10
+ export var ResetSnapshotAttributeRequest;
11
+ (function (ResetSnapshotAttributeRequest) {
12
+ ResetSnapshotAttributeRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };
13
+ })(ResetSnapshotAttributeRequest || (ResetSnapshotAttributeRequest = {}));
2
14
  export var RestoreAddressToClassicRequest;
3
15
  (function (RestoreAddressToClassicRequest) {
4
16
  RestoreAddressToClassicRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };
@@ -7,6 +19,14 @@ export var RestoreAddressToClassicResult;
7
19
  (function (RestoreAddressToClassicResult) {
8
20
  RestoreAddressToClassicResult.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };
9
21
  })(RestoreAddressToClassicResult || (RestoreAddressToClassicResult = {}));
22
+ export var RestoreImageFromRecycleBinRequest;
23
+ (function (RestoreImageFromRecycleBinRequest) {
24
+ RestoreImageFromRecycleBinRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };
25
+ })(RestoreImageFromRecycleBinRequest || (RestoreImageFromRecycleBinRequest = {}));
26
+ export var RestoreImageFromRecycleBinResult;
27
+ (function (RestoreImageFromRecycleBinResult) {
28
+ RestoreImageFromRecycleBinResult.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };
29
+ })(RestoreImageFromRecycleBinResult || (RestoreImageFromRecycleBinResult = {}));
10
30
  export var RestoreManagedPrefixListVersionRequest;
11
31
  (function (RestoreManagedPrefixListVersionRequest) {
12
32
  RestoreManagedPrefixListVersionRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };
@@ -0,0 +1,74 @@
1
+ import { __asyncGenerator, __await, __awaiter, __generator, __read, __spreadArray } from "tslib";
2
+ import { ListImagesInRecycleBinCommand, } from "../commands/ListImagesInRecycleBinCommand";
3
+ import { EC2 } from "../EC2";
4
+ import { EC2Client } from "../EC2Client";
5
+ var makePagedClientRequest = function (client, input) {
6
+ var args = [];
7
+ for (var _i = 2; _i < arguments.length; _i++) {
8
+ args[_i - 2] = arguments[_i];
9
+ }
10
+ return __awaiter(void 0, void 0, void 0, function () {
11
+ return __generator(this, function (_a) {
12
+ switch (_a.label) {
13
+ case 0: return [4, client.send.apply(client, __spreadArray([new ListImagesInRecycleBinCommand(input)], __read(args)))];
14
+ case 1: return [2, _a.sent()];
15
+ }
16
+ });
17
+ });
18
+ };
19
+ var makePagedRequest = function (client, input) {
20
+ var args = [];
21
+ for (var _i = 2; _i < arguments.length; _i++) {
22
+ args[_i - 2] = arguments[_i];
23
+ }
24
+ return __awaiter(void 0, void 0, void 0, function () {
25
+ return __generator(this, function (_a) {
26
+ switch (_a.label) {
27
+ case 0: return [4, client.listImagesInRecycleBin.apply(client, __spreadArray([input], __read(args)))];
28
+ case 1: return [2, _a.sent()];
29
+ }
30
+ });
31
+ });
32
+ };
33
+ export function paginateListImagesInRecycleBin(config, input) {
34
+ var additionalArguments = [];
35
+ for (var _i = 2; _i < arguments.length; _i++) {
36
+ additionalArguments[_i - 2] = arguments[_i];
37
+ }
38
+ return __asyncGenerator(this, arguments, function paginateListImagesInRecycleBin_1() {
39
+ var token, hasNext, page;
40
+ return __generator(this, function (_a) {
41
+ switch (_a.label) {
42
+ case 0:
43
+ token = config.startingToken || undefined;
44
+ hasNext = true;
45
+ _a.label = 1;
46
+ case 1:
47
+ if (!hasNext) return [3, 9];
48
+ input.NextToken = token;
49
+ input["MaxResults"] = config.pageSize;
50
+ if (!(config.client instanceof EC2)) return [3, 3];
51
+ return [4, __await(makePagedRequest.apply(void 0, __spreadArray([config.client, input], __read(additionalArguments))))];
52
+ case 2:
53
+ page = _a.sent();
54
+ return [3, 6];
55
+ case 3:
56
+ if (!(config.client instanceof EC2Client)) return [3, 5];
57
+ return [4, __await(makePagedClientRequest.apply(void 0, __spreadArray([config.client, input], __read(additionalArguments))))];
58
+ case 4:
59
+ page = _a.sent();
60
+ return [3, 6];
61
+ case 5: throw new Error("Invalid client, expected EC2 | EC2Client");
62
+ case 6: return [4, __await(page)];
63
+ case 7: return [4, _a.sent()];
64
+ case 8:
65
+ _a.sent();
66
+ token = page.NextToken;
67
+ hasNext = !!token;
68
+ return [3, 1];
69
+ case 9: return [4, __await(undefined)];
70
+ case 10: return [2, _a.sent()];
71
+ }
72
+ });
73
+ });
74
+ }
@@ -113,6 +113,7 @@ export * from "./GetTransitGatewayPrefixListReferencesPaginator";
113
113
  export * from "./GetTransitGatewayRouteTableAssociationsPaginator";
114
114
  export * from "./GetTransitGatewayRouteTablePropagationsPaginator";
115
115
  export * from "./GetVpnConnectionDeviceTypesPaginator";
116
+ export * from "./ListImagesInRecycleBinPaginator";
116
117
  export * from "./ListSnapshotsInRecycleBinPaginator";
117
118
  export * from "./SearchLocalGatewayRoutesPaginator";
118
119
  export * from "./SearchTransitGatewayMulticastGroupsPaginator";
@@ -4004,6 +4004,16 @@ export var serializeAws_ec2ImportVolumeCommand = function (input, context) { ret
4004
4004
  return [2, buildHttpRpcRequest(context, headers, "/", undefined, body)];
4005
4005
  });
4006
4006
  }); };
4007
+ export var serializeAws_ec2ListImagesInRecycleBinCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {
4008
+ var headers, body;
4009
+ return __generator(this, function (_a) {
4010
+ headers = {
4011
+ "content-type": "application/x-www-form-urlencoded",
4012
+ };
4013
+ body = buildFormUrlencodedString(__assign(__assign({}, serializeAws_ec2ListImagesInRecycleBinRequest(input, context)), { Action: "ListImagesInRecycleBin", Version: "2016-11-15" }));
4014
+ return [2, buildHttpRpcRequest(context, headers, "/", undefined, body)];
4015
+ });
4016
+ }); };
4007
4017
  export var serializeAws_ec2ListSnapshotsInRecycleBinCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {
4008
4018
  var headers, body;
4009
4019
  return __generator(this, function (_a) {
@@ -4944,6 +4954,16 @@ export var serializeAws_ec2RestoreAddressToClassicCommand = function (input, con
4944
4954
  return [2, buildHttpRpcRequest(context, headers, "/", undefined, body)];
4945
4955
  });
4946
4956
  }); };
4957
+ export var serializeAws_ec2RestoreImageFromRecycleBinCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {
4958
+ var headers, body;
4959
+ return __generator(this, function (_a) {
4960
+ headers = {
4961
+ "content-type": "application/x-www-form-urlencoded",
4962
+ };
4963
+ body = buildFormUrlencodedString(__assign(__assign({}, serializeAws_ec2RestoreImageFromRecycleBinRequest(input, context)), { Action: "RestoreImageFromRecycleBin", Version: "2016-11-15" }));
4964
+ return [2, buildHttpRpcRequest(context, headers, "/", undefined, body)];
4965
+ });
4966
+ }); };
4947
4967
  export var serializeAws_ec2RestoreManagedPrefixListVersionCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {
4948
4968
  var headers, body;
4949
4969
  return __generator(this, function (_a) {
@@ -22794,6 +22814,50 @@ var deserializeAws_ec2ImportVolumeCommandError = function (output, context) { re
22794
22814
  }
22795
22815
  });
22796
22816
  }); };
22817
+ export var deserializeAws_ec2ListImagesInRecycleBinCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {
22818
+ var data, contents, response;
22819
+ return __generator(this, function (_a) {
22820
+ switch (_a.label) {
22821
+ case 0:
22822
+ if (output.statusCode >= 300) {
22823
+ return [2, deserializeAws_ec2ListImagesInRecycleBinCommandError(output, context)];
22824
+ }
22825
+ return [4, parseBody(output.body, context)];
22826
+ case 1:
22827
+ data = _a.sent();
22828
+ contents = {};
22829
+ contents = deserializeAws_ec2ListImagesInRecycleBinResult(data, context);
22830
+ response = __assign({ $metadata: deserializeMetadata(output) }, contents);
22831
+ return [2, Promise.resolve(response)];
22832
+ }
22833
+ });
22834
+ }); };
22835
+ var deserializeAws_ec2ListImagesInRecycleBinCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {
22836
+ var parsedOutput, _a, response, errorCode, parsedBody, message;
22837
+ var _b;
22838
+ return __generator(this, function (_c) {
22839
+ switch (_c.label) {
22840
+ case 0:
22841
+ _a = [__assign({}, output)];
22842
+ _b = {};
22843
+ return [4, parseBody(output.body, context)];
22844
+ case 1:
22845
+ parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));
22846
+ errorCode = "UnknownError";
22847
+ errorCode = loadEc2ErrorCode(output, parsedOutput.body);
22848
+ switch (errorCode) {
22849
+ default:
22850
+ parsedBody = parsedOutput.body;
22851
+ errorCode = parsedBody.Errors.Error.code || parsedBody.Errors.Error.Code || errorCode;
22852
+ response = __assign(__assign({}, parsedBody.Errors.Error), { name: "" + errorCode, message: parsedBody.Errors.Error.message || parsedBody.Errors.Error.Message || errorCode, $fault: "client", $metadata: deserializeMetadata(output) });
22853
+ }
22854
+ message = response.message || response.Message || errorCode;
22855
+ response.message = message;
22856
+ delete response.Message;
22857
+ return [2, Promise.reject(Object.assign(new Error(message), response))];
22858
+ }
22859
+ });
22860
+ }); };
22797
22861
  export var deserializeAws_ec2ListSnapshotsInRecycleBinCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {
22798
22862
  var data, contents, response;
22799
22863
  return __generator(this, function (_a) {
@@ -26930,6 +26994,50 @@ var deserializeAws_ec2RestoreAddressToClassicCommandError = function (output, co
26930
26994
  }
26931
26995
  });
26932
26996
  }); };
26997
+ export var deserializeAws_ec2RestoreImageFromRecycleBinCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {
26998
+ var data, contents, response;
26999
+ return __generator(this, function (_a) {
27000
+ switch (_a.label) {
27001
+ case 0:
27002
+ if (output.statusCode >= 300) {
27003
+ return [2, deserializeAws_ec2RestoreImageFromRecycleBinCommandError(output, context)];
27004
+ }
27005
+ return [4, parseBody(output.body, context)];
27006
+ case 1:
27007
+ data = _a.sent();
27008
+ contents = {};
27009
+ contents = deserializeAws_ec2RestoreImageFromRecycleBinResult(data, context);
27010
+ response = __assign({ $metadata: deserializeMetadata(output) }, contents);
27011
+ return [2, Promise.resolve(response)];
27012
+ }
27013
+ });
27014
+ }); };
27015
+ var deserializeAws_ec2RestoreImageFromRecycleBinCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {
27016
+ var parsedOutput, _a, response, errorCode, parsedBody, message;
27017
+ var _b;
27018
+ return __generator(this, function (_c) {
27019
+ switch (_c.label) {
27020
+ case 0:
27021
+ _a = [__assign({}, output)];
27022
+ _b = {};
27023
+ return [4, parseBody(output.body, context)];
27024
+ case 1:
27025
+ parsedOutput = __assign.apply(void 0, _a.concat([(_b.body = _c.sent(), _b)]));
27026
+ errorCode = "UnknownError";
27027
+ errorCode = loadEc2ErrorCode(output, parsedOutput.body);
27028
+ switch (errorCode) {
27029
+ default:
27030
+ parsedBody = parsedOutput.body;
27031
+ errorCode = parsedBody.Errors.Error.code || parsedBody.Errors.Error.Code || errorCode;
27032
+ response = __assign(__assign({}, parsedBody.Errors.Error), { name: "" + errorCode, message: parsedBody.Errors.Error.message || parsedBody.Errors.Error.Message || errorCode, $fault: "client", $metadata: deserializeMetadata(output) });
27033
+ }
27034
+ message = response.message || response.Message || errorCode;
27035
+ response.message = message;
27036
+ delete response.Message;
27037
+ return [2, Promise.reject(Object.assign(new Error(message), response))];
27038
+ }
27039
+ });
27040
+ }); };
26933
27041
  export var deserializeAws_ec2RestoreManagedPrefixListVersionCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {
26934
27042
  var data, contents, response;
26935
27043
  return __generator(this, function (_a) {
@@ -41447,6 +41555,27 @@ var serializeAws_ec2LicenseSpecificationListRequest = function (input, context)
41447
41555
  }
41448
41556
  return entries;
41449
41557
  };
41558
+ var serializeAws_ec2ListImagesInRecycleBinRequest = function (input, context) {
41559
+ var entries = {};
41560
+ if (input.ImageIds !== undefined && input.ImageIds !== null) {
41561
+ var memberEntries = serializeAws_ec2ImageIdStringList(input.ImageIds, context);
41562
+ Object.entries(memberEntries).forEach(function (_a) {
41563
+ var _b = __read(_a, 2), key = _b[0], value = _b[1];
41564
+ var loc = "ImageId." + key.substring(key.indexOf(".") + 1);
41565
+ entries[loc] = value;
41566
+ });
41567
+ }
41568
+ if (input.NextToken !== undefined && input.NextToken !== null) {
41569
+ entries["NextToken"] = input.NextToken;
41570
+ }
41571
+ if (input.MaxResults !== undefined && input.MaxResults !== null) {
41572
+ entries["MaxResults"] = input.MaxResults;
41573
+ }
41574
+ if (input.DryRun !== undefined && input.DryRun !== null) {
41575
+ entries["DryRun"] = input.DryRun;
41576
+ }
41577
+ return entries;
41578
+ };
41450
41579
  var serializeAws_ec2ListSnapshotsInRecycleBinRequest = function (input, context) {
41451
41580
  var entries = {};
41452
41581
  if (input.MaxResults !== undefined && input.MaxResults !== null) {
@@ -46264,6 +46393,16 @@ var serializeAws_ec2RestoreAddressToClassicRequest = function (input, context) {
46264
46393
  }
46265
46394
  return entries;
46266
46395
  };
46396
+ var serializeAws_ec2RestoreImageFromRecycleBinRequest = function (input, context) {
46397
+ var entries = {};
46398
+ if (input.ImageId !== undefined && input.ImageId !== null) {
46399
+ entries["ImageId"] = input.ImageId;
46400
+ }
46401
+ if (input.DryRun !== undefined && input.DryRun !== null) {
46402
+ entries["DryRun"] = input.DryRun;
46403
+ }
46404
+ return entries;
46405
+ };
46267
46406
  var serializeAws_ec2RestoreManagedPrefixListVersionRequest = function (input, context) {
46268
46407
  var entries = {};
46269
46408
  if (input.DryRun !== undefined && input.DryRun !== null) {
@@ -59326,6 +59465,41 @@ var deserializeAws_ec2ImageList = function (output, context) {
59326
59465
  return deserializeAws_ec2Image(entry, context);
59327
59466
  });
59328
59467
  };
59468
+ var deserializeAws_ec2ImageRecycleBinInfo = function (output, context) {
59469
+ var contents = {
59470
+ ImageId: undefined,
59471
+ Name: undefined,
59472
+ Description: undefined,
59473
+ RecycleBinEnterTime: undefined,
59474
+ RecycleBinExitTime: undefined,
59475
+ };
59476
+ if (output["imageId"] !== undefined) {
59477
+ contents.ImageId = __expectString(output["imageId"]);
59478
+ }
59479
+ if (output["name"] !== undefined) {
59480
+ contents.Name = __expectString(output["name"]);
59481
+ }
59482
+ if (output["description"] !== undefined) {
59483
+ contents.Description = __expectString(output["description"]);
59484
+ }
59485
+ if (output["recycleBinEnterTime"] !== undefined) {
59486
+ contents.RecycleBinEnterTime = __expectNonNull(__parseRfc3339DateTime(output["recycleBinEnterTime"]));
59487
+ }
59488
+ if (output["recycleBinExitTime"] !== undefined) {
59489
+ contents.RecycleBinExitTime = __expectNonNull(__parseRfc3339DateTime(output["recycleBinExitTime"]));
59490
+ }
59491
+ return contents;
59492
+ };
59493
+ var deserializeAws_ec2ImageRecycleBinInfoList = function (output, context) {
59494
+ return (output || [])
59495
+ .filter(function (e) { return e != null; })
59496
+ .map(function (entry) {
59497
+ if (entry === null) {
59498
+ return null;
59499
+ }
59500
+ return deserializeAws_ec2ImageRecycleBinInfo(entry, context);
59501
+ });
59502
+ };
59329
59503
  var deserializeAws_ec2ImportClientVpnClientCertificateRevocationListResult = function (output, context) {
59330
59504
  var contents = {
59331
59505
  Return: undefined,
@@ -63003,6 +63177,22 @@ var deserializeAws_ec2LicenseList = function (output, context) {
63003
63177
  return deserializeAws_ec2LicenseConfiguration(entry, context);
63004
63178
  });
63005
63179
  };
63180
+ var deserializeAws_ec2ListImagesInRecycleBinResult = function (output, context) {
63181
+ var contents = {
63182
+ Images: undefined,
63183
+ NextToken: undefined,
63184
+ };
63185
+ if (output.imageSet === "") {
63186
+ contents.Images = [];
63187
+ }
63188
+ if (output["imageSet"] !== undefined && output["imageSet"]["item"] !== undefined) {
63189
+ contents.Images = deserializeAws_ec2ImageRecycleBinInfoList(__getArrayIfSingleItem(output["imageSet"]["item"]), context);
63190
+ }
63191
+ if (output["nextToken"] !== undefined) {
63192
+ contents.NextToken = __expectString(output["nextToken"]);
63193
+ }
63194
+ return contents;
63195
+ };
63006
63196
  var deserializeAws_ec2ListSnapshotsInRecycleBinResult = function (output, context) {
63007
63197
  var contents = {
63008
63198
  Snapshots: undefined,
@@ -66993,6 +67183,15 @@ var deserializeAws_ec2RestoreAddressToClassicResult = function (output, context)
66993
67183
  }
66994
67184
  return contents;
66995
67185
  };
67186
+ var deserializeAws_ec2RestoreImageFromRecycleBinResult = function (output, context) {
67187
+ var contents = {
67188
+ Return: undefined,
67189
+ };
67190
+ if (output["return"] !== undefined) {
67191
+ contents.Return = __parseBoolean(output["return"]);
67192
+ }
67193
+ return contents;
67194
+ };
66996
67195
  var deserializeAws_ec2RestoreManagedPrefixListVersionResult = function (output, context) {
66997
67196
  var contents = {
66998
67197
  PrefixList: undefined,
@@ -399,6 +399,7 @@ import { ImportInstanceCommandInput, ImportInstanceCommandOutput } from "./comma
399
399
  import { ImportKeyPairCommandInput, ImportKeyPairCommandOutput } from "./commands/ImportKeyPairCommand";
400
400
  import { ImportSnapshotCommandInput, ImportSnapshotCommandOutput } from "./commands/ImportSnapshotCommand";
401
401
  import { ImportVolumeCommandInput, ImportVolumeCommandOutput } from "./commands/ImportVolumeCommand";
402
+ import { ListImagesInRecycleBinCommandInput, ListImagesInRecycleBinCommandOutput } from "./commands/ListImagesInRecycleBinCommand";
402
403
  import { ListSnapshotsInRecycleBinCommandInput, ListSnapshotsInRecycleBinCommandOutput } from "./commands/ListSnapshotsInRecycleBinCommand";
403
404
  import { ModifyAddressAttributeCommandInput, ModifyAddressAttributeCommandOutput } from "./commands/ModifyAddressAttributeCommand";
404
405
  import { ModifyAvailabilityZoneGroupCommandInput, ModifyAvailabilityZoneGroupCommandOutput } from "./commands/ModifyAvailabilityZoneGroupCommand";
@@ -493,6 +494,7 @@ import { ResetInstanceAttributeCommandInput, ResetInstanceAttributeCommandOutput
493
494
  import { ResetNetworkInterfaceAttributeCommandInput, ResetNetworkInterfaceAttributeCommandOutput } from "./commands/ResetNetworkInterfaceAttributeCommand";
494
495
  import { ResetSnapshotAttributeCommandInput, ResetSnapshotAttributeCommandOutput } from "./commands/ResetSnapshotAttributeCommand";
495
496
  import { RestoreAddressToClassicCommandInput, RestoreAddressToClassicCommandOutput } from "./commands/RestoreAddressToClassicCommand";
497
+ import { RestoreImageFromRecycleBinCommandInput, RestoreImageFromRecycleBinCommandOutput } from "./commands/RestoreImageFromRecycleBinCommand";
496
498
  import { RestoreManagedPrefixListVersionCommandInput, RestoreManagedPrefixListVersionCommandOutput } from "./commands/RestoreManagedPrefixListVersionCommand";
497
499
  import { RestoreSnapshotFromRecycleBinCommandInput, RestoreSnapshotFromRecycleBinCommandOutput } from "./commands/RestoreSnapshotFromRecycleBinCommand";
498
500
  import { RestoreSnapshotTierCommandInput, RestoreSnapshotTierCommandOutput } from "./commands/RestoreSnapshotTierCommand";
@@ -1291,7 +1293,7 @@ export declare class EC2 extends EC2Client {
1291
1293
  * <p>Launches an EC2 Fleet.</p>
1292
1294
  * <p>You can create a single EC2 Fleet that includes multiple launch specifications that vary by
1293
1295
  * instance type, AMI, Availability Zone, or subnet.</p>
1294
- * <p>For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet.html">Launching an EC2 Fleet</a> in the <i>Amazon EC2 User Guide</i>.</p>
1296
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet.html">EC2 Fleet</a> in the <i>Amazon EC2 User Guide</i>.</p>
1295
1297
  */
1296
1298
  createFleet(args: CreateFleetCommandInput, options?: __HttpHandlerOptions): Promise<CreateFleetCommandOutput>;
1297
1299
  createFleet(args: CreateFleetCommandInput, cb: (err: any, data?: CreateFleetCommandOutput) => void): void;
@@ -1329,6 +1331,12 @@ export declare class EC2 extends EC2Client {
1329
1331
  /**
1330
1332
  * <p>Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance
1331
1333
  * that is either running or stopped.</p>
1334
+ * <important>
1335
+ * <p>By default, Amazon EC2 shuts down and reboots the instance before creating the AMI to ensure that everything on
1336
+ * the instance is stopped and in a consistent state during the creation process. If you're confident that your
1337
+ * instance is in a consistent state appropriate for AMI creation, use the <b>NoReboot</b>
1338
+ * parameter to prevent Amazon EC2 from shutting down and rebooting the instance. </p>
1339
+ * </important>
1332
1340
  *
1333
1341
  *
1334
1342
  *
@@ -2106,7 +2114,7 @@ export declare class EC2 extends EC2Client {
2106
2114
  * </li>
2107
2115
  * </ul>
2108
2116
  *
2109
- * <p>For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/manage-ec2-fleet.html#delete-fleet">Deleting an EC2
2117
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/manage-ec2-fleet.html#delete-fleet">Delete an EC2
2110
2118
  * Fleet</a> in the <i>Amazon EC2 User Guide</i>.</p>
2111
2119
  */
2112
2120
  deleteFleets(args: DeleteFleetsCommandInput, options?: __HttpHandlerOptions): Promise<DeleteFleetsCommandOutput>;
@@ -2564,10 +2572,18 @@ export declare class EC2 extends EC2Client {
2564
2572
  deprovisionPublicIpv4PoolCidr(args: DeprovisionPublicIpv4PoolCidrCommandInput, cb: (err: any, data?: DeprovisionPublicIpv4PoolCidrCommandOutput) => void): void;
2565
2573
  deprovisionPublicIpv4PoolCidr(args: DeprovisionPublicIpv4PoolCidrCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DeprovisionPublicIpv4PoolCidrCommandOutput) => void): void;
2566
2574
  /**
2567
- * <p>Deregisters the specified AMI. After you deregister an AMI, it can't be used to launch
2568
- * new instances; however, it doesn't affect any instances that you've already launched
2569
- * from the AMI. You'll continue to incur usage costs for those instances until you
2570
- * terminate them.</p>
2575
+ * <p>Deregisters the specified AMI. After you deregister an AMI, it can't be used to
2576
+ * launch new instances.</p>
2577
+ *
2578
+ *
2579
+ * <p>If you deregister an AMI that matches a Recycle Bin retention rule, the AMI is
2580
+ * retained in the Recycle Bin for the specified retention period. For more information,
2581
+ * see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/recycle-bin.html">Recycle
2582
+ * Bin</a> in the Amazon Elastic Compute Cloud User Guide.</p>
2583
+ *
2584
+ * <p>When you deregister an AMI, it doesn't affect any instances that you've already
2585
+ * launched from the AMI. You'll continue to incur usage costs for those instances until
2586
+ * you terminate them.</p>
2571
2587
  * <p>When you deregister an Amazon EBS-backed AMI, it doesn't affect the snapshot that was
2572
2588
  * created for the root volume of the instance during the AMI creation process. When you
2573
2589
  * deregister an instance store-backed AMI, it doesn't affect the files that you uploaded
@@ -2577,8 +2593,7 @@ export declare class EC2 extends EC2Client {
2577
2593
  deregisterImage(args: DeregisterImageCommandInput, cb: (err: any, data?: DeregisterImageCommandOutput) => void): void;
2578
2594
  deregisterImage(args: DeregisterImageCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DeregisterImageCommandOutput) => void): void;
2579
2595
  /**
2580
- * <p>c</p>
2581
- * <p>Deregisters tag keys to prevent tags that have the specified tag keys from being included
2596
+ * <p>Deregisters tag keys to prevent tags that have the specified tag keys from being included
2582
2597
  * in scheduled event notifications for resources in the Region.</p>
2583
2598
  */
2584
2599
  deregisterInstanceEventNotificationAttributes(args: DeregisterInstanceEventNotificationAttributesCommandInput, options?: __HttpHandlerOptions): Promise<DeregisterInstanceEventNotificationAttributesCommandOutput>;
@@ -2839,14 +2854,14 @@ export declare class EC2 extends EC2Client {
2839
2854
  describeFleetHistory(args: DescribeFleetHistoryCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DescribeFleetHistoryCommandOutput) => void): void;
2840
2855
  /**
2841
2856
  * <p>Describes the running instances for the specified EC2 Fleet.</p>
2842
- * <p>For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet.html#monitor-ec2-fleet">Monitoring your EC2 Fleet</a> in the <i>Amazon EC2 User Guide</i>.</p>
2857
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/manage-ec2-fleet.html#monitor-ec2-fleet">Monitor your EC2 Fleet</a> in the <i>Amazon EC2 User Guide</i>.</p>
2843
2858
  */
2844
2859
  describeFleetInstances(args: DescribeFleetInstancesCommandInput, options?: __HttpHandlerOptions): Promise<DescribeFleetInstancesCommandOutput>;
2845
2860
  describeFleetInstances(args: DescribeFleetInstancesCommandInput, cb: (err: any, data?: DescribeFleetInstancesCommandOutput) => void): void;
2846
2861
  describeFleetInstances(args: DescribeFleetInstancesCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: DescribeFleetInstancesCommandOutput) => void): void;
2847
2862
  /**
2848
2863
  * <p>Describes the specified EC2 Fleets or all of your EC2 Fleets.</p>
2849
- * <p>For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet.html#monitor-ec2-fleet">Monitoring your EC2 Fleet</a> in the <i>Amazon EC2 User Guide</i>.</p>
2864
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/manage-ec2-fleet.html#monitor-ec2-fleet">Monitor your EC2 Fleet</a> in the <i>Amazon EC2 User Guide</i>.</p>
2850
2865
  */
2851
2866
  describeFleets(args: DescribeFleetsCommandInput, options?: __HttpHandlerOptions): Promise<DescribeFleetsCommandOutput>;
2852
2867
  describeFleets(args: DescribeFleetsCommandInput, cb: (err: any, data?: DescribeFleetsCommandOutput) => void): void;
@@ -3901,6 +3916,9 @@ export declare class EC2 extends EC2Client {
3901
3916
  * <p>Discontinue faster launching for a Windows AMI, and clean up existing pre-provisioned snapshots.
3902
3917
  * When you disable faster launching, the AMI uses the standard launch process for each
3903
3918
  * instance. All pre-provisioned snapshots must be removed before you can enable faster launching again.</p>
3919
+ * <note>
3920
+ * <p>To change these settings, you must own the AMI.</p>
3921
+ * </note>
3904
3922
  */
3905
3923
  disableFastLaunch(args: DisableFastLaunchCommandInput, options?: __HttpHandlerOptions): Promise<DisableFastLaunchCommandOutput>;
3906
3924
  disableFastLaunch(args: DisableFastLaunchCommandInput, cb: (err: any, data?: DisableFastLaunchCommandOutput) => void): void;
@@ -4096,6 +4114,9 @@ export declare class EC2 extends EC2Client {
4096
4114
  * Then it creates a set of reserved snapshots that are used for subsequent launches. The
4097
4115
  * reserved snapshots are automatically replenished as they are used, depending on your
4098
4116
  * settings for launch frequency.</p>
4117
+ * <note>
4118
+ * <p>To change these settings, you must own the AMI.</p>
4119
+ * </note>
4099
4120
  */
4100
4121
  enableFastLaunch(args: EnableFastLaunchCommandInput, options?: __HttpHandlerOptions): Promise<EnableFastLaunchCommandOutput>;
4101
4122
  enableFastLaunch(args: EnableFastLaunchCommandInput, cb: (err: any, data?: EnableFastLaunchCommandOutput) => void): void;
@@ -4562,6 +4583,14 @@ export declare class EC2 extends EC2Client {
4562
4583
  importVolume(args: ImportVolumeCommandInput, options?: __HttpHandlerOptions): Promise<ImportVolumeCommandOutput>;
4563
4584
  importVolume(args: ImportVolumeCommandInput, cb: (err: any, data?: ImportVolumeCommandOutput) => void): void;
4564
4585
  importVolume(args: ImportVolumeCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ImportVolumeCommandOutput) => void): void;
4586
+ /**
4587
+ * <p>Lists one or more AMIs that are currently in the Recycle Bin. For more information,
4588
+ * see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/recycle-bin.html">Recycle
4589
+ * Bin</a> in the Amazon Elastic Compute Cloud User Guide.</p>
4590
+ */
4591
+ listImagesInRecycleBin(args: ListImagesInRecycleBinCommandInput, options?: __HttpHandlerOptions): Promise<ListImagesInRecycleBinCommandOutput>;
4592
+ listImagesInRecycleBin(args: ListImagesInRecycleBinCommandInput, cb: (err: any, data?: ListImagesInRecycleBinCommandOutput) => void): void;
4593
+ listImagesInRecycleBin(args: ListImagesInRecycleBinCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ListImagesInRecycleBinCommandOutput) => void): void;
4565
4594
  /**
4566
4595
  * <p>Lists one or more snapshots that are currently in the Recycle Bin.</p>
4567
4596
  */
@@ -5252,7 +5281,7 @@ export declare class EC2 extends EC2Client {
5252
5281
  * <p>Enables detailed monitoring for a running instance. Otherwise, basic monitoring is
5253
5282
  * enabled. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html">Monitor your instances using
5254
5283
  * CloudWatch</a> in the <i>Amazon EC2 User Guide</i>.</p>
5255
- * <p>To disable detailed monitoring, see .</p>
5284
+ * <p>To disable detailed monitoring, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_UnmonitorInstances.html">UnmonitorInstances</a>.</p>
5256
5285
  */
5257
5286
  monitorInstances(args: MonitorInstancesCommandInput, options?: __HttpHandlerOptions): Promise<MonitorInstancesCommandOutput>;
5258
5287
  monitorInstances(args: MonitorInstancesCommandInput, cb: (err: any, data?: MonitorInstancesCommandOutput) => void): void;
@@ -5413,7 +5442,7 @@ export declare class EC2 extends EC2Client {
5413
5442
  /**
5414
5443
  * <p>Registers a set of tag keys to include in scheduled event notifications for your resources.
5415
5444
  * </p>
5416
- * <p>To remove tags, use .</p>
5445
+ * <p>To remove tags, use <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DeregisterInstanceEventNotificationAttributes.html">DeregisterInstanceEventNotificationAttributes</a>.</p>
5417
5446
  */
5418
5447
  registerInstanceEventNotificationAttributes(args: RegisterInstanceEventNotificationAttributesCommandInput, options?: __HttpHandlerOptions): Promise<RegisterInstanceEventNotificationAttributesCommandOutput>;
5419
5448
  registerInstanceEventNotificationAttributes(args: RegisterInstanceEventNotificationAttributesCommandInput, cb: (err: any, data?: RegisterInstanceEventNotificationAttributesCommandOutput) => void): void;
@@ -5676,6 +5705,12 @@ export declare class EC2 extends EC2Client {
5676
5705
  restoreAddressToClassic(args: RestoreAddressToClassicCommandInput, options?: __HttpHandlerOptions): Promise<RestoreAddressToClassicCommandOutput>;
5677
5706
  restoreAddressToClassic(args: RestoreAddressToClassicCommandInput, cb: (err: any, data?: RestoreAddressToClassicCommandOutput) => void): void;
5678
5707
  restoreAddressToClassic(args: RestoreAddressToClassicCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: RestoreAddressToClassicCommandOutput) => void): void;
5708
+ /**
5709
+ * <p>Restores an AMI from the Recycle Bin. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/recycle-bin.html">Recycle Bin</a> in the Amazon Elastic Compute Cloud User Guide.</p>
5710
+ */
5711
+ restoreImageFromRecycleBin(args: RestoreImageFromRecycleBinCommandInput, options?: __HttpHandlerOptions): Promise<RestoreImageFromRecycleBinCommandOutput>;
5712
+ restoreImageFromRecycleBin(args: RestoreImageFromRecycleBinCommandInput, cb: (err: any, data?: RestoreImageFromRecycleBinCommandOutput) => void): void;
5713
+ restoreImageFromRecycleBin(args: RestoreImageFromRecycleBinCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: RestoreImageFromRecycleBinCommandOutput) => void): void;
5679
5714
  /**
5680
5715
  * <p>Restores the entries from a previous version of a managed prefix list to a new version of the prefix list.</p>
5681
5716
  */