@aws-sdk/client-ec2 3.56.0 → 3.60.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 (116) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/dist-cjs/EC2.js +15 -0
  3. package/dist-cjs/commands/CreateTransitGatewayConnectCommand.js +2 -1
  4. package/dist-cjs/commands/CreateTransitGatewayConnectPeerCommand.js +1 -2
  5. package/dist-cjs/commands/DescribeCoipPoolsCommand.js +2 -1
  6. package/dist-cjs/commands/DescribeConversionTasksCommand.js +1 -2
  7. package/dist-cjs/commands/DescribeReplaceRootVolumeTasksCommand.js +3 -3
  8. package/dist-cjs/commands/DescribeReservedInstancesCommand.js +1 -2
  9. package/dist-cjs/commands/GetGroupsForCapacityReservationCommand.js +3 -3
  10. package/dist-cjs/commands/GetHostReservationPurchasePreviewCommand.js +3 -3
  11. package/dist-cjs/commands/GetInstanceTypesFromInstanceRequirementsCommand.js +1 -2
  12. package/dist-cjs/commands/ModifyInstanceMaintenanceOptionsCommand.js +36 -0
  13. package/dist-cjs/commands/ResetAddressAttributeCommand.js +3 -3
  14. package/dist-cjs/commands/ResetEbsDefaultKmsKeyIdCommand.js +3 -3
  15. package/dist-cjs/commands/ResetFpgaImageAttributeCommand.js +3 -3
  16. package/dist-cjs/commands/ResetImageAttributeCommand.js +2 -2
  17. package/dist-cjs/commands/index.js +1 -0
  18. package/dist-cjs/models/models_0.js +18 -17
  19. package/dist-cjs/models/models_1.js +34 -36
  20. package/dist-cjs/models/models_2.js +36 -36
  21. package/dist-cjs/models/models_3.js +47 -29
  22. package/dist-cjs/models/models_4.js +29 -48
  23. package/dist-cjs/models/models_5.js +60 -48
  24. package/dist-cjs/models/models_6.js +50 -2
  25. package/dist-cjs/protocols/Aws_ec2.js +226 -13
  26. package/dist-es/EC2.js +15 -0
  27. package/dist-es/commands/CreateTransitGatewayConnectCommand.js +2 -1
  28. package/dist-es/commands/CreateTransitGatewayConnectPeerCommand.js +1 -2
  29. package/dist-es/commands/DescribeCoipPoolsCommand.js +2 -1
  30. package/dist-es/commands/DescribeConversionTasksCommand.js +1 -2
  31. package/dist-es/commands/DescribeReplaceRootVolumeTasksCommand.js +1 -1
  32. package/dist-es/commands/DescribeReservedInstancesCommand.js +1 -2
  33. package/dist-es/commands/GetGroupsForCapacityReservationCommand.js +1 -1
  34. package/dist-es/commands/GetHostReservationPurchasePreviewCommand.js +1 -1
  35. package/dist-es/commands/GetInstanceTypesFromInstanceRequirementsCommand.js +1 -2
  36. package/dist-es/commands/ModifyInstanceMaintenanceOptionsCommand.js +39 -0
  37. package/dist-es/commands/ResetAddressAttributeCommand.js +1 -1
  38. package/dist-es/commands/ResetEbsDefaultKmsKeyIdCommand.js +1 -1
  39. package/dist-es/commands/ResetFpgaImageAttributeCommand.js +1 -1
  40. package/dist-es/commands/ResetImageAttributeCommand.js +1 -1
  41. package/dist-es/commands/index.js +1 -0
  42. package/dist-es/models/models_0.js +8 -11
  43. package/dist-es/models/models_1.js +24 -20
  44. package/dist-es/models/models_2.js +20 -20
  45. package/dist-es/models/models_3.js +29 -17
  46. package/dist-es/models/models_4.js +17 -28
  47. package/dist-es/models/models_5.js +36 -28
  48. package/dist-es/models/models_6.js +32 -0
  49. package/dist-es/protocols/Aws_ec2.js +224 -0
  50. package/dist-types/EC2.d.ts +91 -65
  51. package/dist-types/EC2Client.d.ts +3 -2
  52. package/dist-types/commands/CreateLaunchTemplateVersionCommand.d.ts +2 -2
  53. package/dist-types/commands/CreateTransitGatewayConnectCommand.d.ts +2 -1
  54. package/dist-types/commands/CreateTransitGatewayConnectPeerCommand.d.ts +1 -2
  55. package/dist-types/commands/DeleteLaunchTemplateCommand.d.ts +2 -1
  56. package/dist-types/commands/DescribeCoipPoolsCommand.d.ts +2 -1
  57. package/dist-types/commands/DescribeConversionTasksCommand.d.ts +1 -2
  58. package/dist-types/commands/DescribeInstanceStatusCommand.d.ts +2 -1
  59. package/dist-types/commands/DescribeInstancesCommand.d.ts +8 -7
  60. package/dist-types/commands/DescribeReplaceRootVolumeTasksCommand.d.ts +1 -1
  61. package/dist-types/commands/DescribeReservedInstancesCommand.d.ts +1 -2
  62. package/dist-types/commands/GetDefaultCreditSpecificationCommand.d.ts +3 -2
  63. package/dist-types/commands/GetGroupsForCapacityReservationCommand.d.ts +1 -1
  64. package/dist-types/commands/GetHostReservationPurchasePreviewCommand.d.ts +1 -1
  65. package/dist-types/commands/GetInstanceTypesFromInstanceRequirementsCommand.d.ts +1 -2
  66. package/dist-types/commands/GetLaunchTemplateDataCommand.d.ts +7 -5
  67. package/dist-types/commands/GetPasswordDataCommand.d.ts +1 -1
  68. package/dist-types/commands/ModifyDefaultCreditSpecificationCommand.d.ts +11 -10
  69. package/dist-types/commands/ModifyInstanceAttributeCommand.d.ts +2 -1
  70. package/dist-types/commands/ModifyInstanceMaintenanceOptionsCommand.d.ts +38 -0
  71. package/dist-types/commands/ModifyInstanceMetadataOptionsCommand.d.ts +2 -2
  72. package/dist-types/commands/RebootInstancesCommand.d.ts +1 -1
  73. package/dist-types/commands/ResetAddressAttributeCommand.d.ts +1 -1
  74. package/dist-types/commands/ResetEbsDefaultKmsKeyIdCommand.d.ts +1 -1
  75. package/dist-types/commands/ResetFpgaImageAttributeCommand.d.ts +1 -1
  76. package/dist-types/commands/ResetImageAttributeCommand.d.ts +1 -1
  77. package/dist-types/commands/SendDiagnosticInterruptCommand.d.ts +14 -12
  78. package/dist-types/commands/StartInstancesCommand.d.ts +5 -4
  79. package/dist-types/commands/StopInstancesCommand.d.ts +2 -1
  80. package/dist-types/commands/TerminateInstancesCommand.d.ts +17 -14
  81. package/dist-types/commands/UnmonitorInstancesCommand.d.ts +2 -1
  82. package/dist-types/commands/index.d.ts +1 -0
  83. package/dist-types/models/models_0.d.ts +93 -25
  84. package/dist-types/models/models_1.d.ts +353 -372
  85. package/dist-types/models/models_2.d.ts +128 -118
  86. package/dist-types/models/models_3.d.ts +230 -225
  87. package/dist-types/models/models_4.d.ts +169 -189
  88. package/dist-types/models/models_5.d.ts +277 -166
  89. package/dist-types/models/models_6.d.ts +217 -66
  90. package/dist-types/protocols/Aws_ec2.d.ts +3 -0
  91. package/dist-types/ts3.4/EC2.d.ts +5 -0
  92. package/dist-types/ts3.4/EC2Client.d.ts +3 -2
  93. package/dist-types/ts3.4/commands/CreateTransitGatewayConnectCommand.d.ts +2 -1
  94. package/dist-types/ts3.4/commands/CreateTransitGatewayConnectPeerCommand.d.ts +1 -2
  95. package/dist-types/ts3.4/commands/DescribeCoipPoolsCommand.d.ts +2 -1
  96. package/dist-types/ts3.4/commands/DescribeConversionTasksCommand.d.ts +1 -2
  97. package/dist-types/ts3.4/commands/DescribeReplaceRootVolumeTasksCommand.d.ts +1 -1
  98. package/dist-types/ts3.4/commands/DescribeReservedInstancesCommand.d.ts +1 -2
  99. package/dist-types/ts3.4/commands/GetGroupsForCapacityReservationCommand.d.ts +1 -1
  100. package/dist-types/ts3.4/commands/GetHostReservationPurchasePreviewCommand.d.ts +1 -1
  101. package/dist-types/ts3.4/commands/GetInstanceTypesFromInstanceRequirementsCommand.d.ts +1 -2
  102. package/dist-types/ts3.4/commands/ModifyInstanceMaintenanceOptionsCommand.d.ts +17 -0
  103. package/dist-types/ts3.4/commands/ResetAddressAttributeCommand.d.ts +1 -1
  104. package/dist-types/ts3.4/commands/ResetEbsDefaultKmsKeyIdCommand.d.ts +1 -1
  105. package/dist-types/ts3.4/commands/ResetFpgaImageAttributeCommand.d.ts +1 -1
  106. package/dist-types/ts3.4/commands/ResetImageAttributeCommand.d.ts +1 -1
  107. package/dist-types/ts3.4/commands/index.d.ts +1 -0
  108. package/dist-types/ts3.4/models/models_0.d.ts +38 -9
  109. package/dist-types/ts3.4/models/models_1.d.ts +36 -68
  110. package/dist-types/ts3.4/models/models_2.d.ts +69 -65
  111. package/dist-types/ts3.4/models/models_3.d.ts +89 -53
  112. package/dist-types/ts3.4/models/models_4.d.ts +53 -103
  113. package/dist-types/ts3.4/models/models_5.d.ts +125 -74
  114. package/dist-types/ts3.4/models/models_6.d.ts +84 -2
  115. package/dist-types/ts3.4/protocols/Aws_ec2.d.ts +3 -0
  116. package/package.json +19 -19
@@ -1,16 +1,136 @@
1
- import { _InstanceType, ByoipCidr, ClientVpnAuthorizationRuleStatus, HostnameType, IamInstanceProfileSpecification, IpPermission, TagSpecification, TransitGatewayAttachmentResourceType } from "./models_0";
1
+ import { _InstanceType, AddressAttribute, AddressAttributeName, ByoipCidr, ClientVpnAuthorizationRuleStatus, HostnameType, IamInstanceProfileSpecification, IpPermission, TagSpecification, TransitGatewayAttachmentResourceType } from "./models_0";
2
2
  import { BlockDeviceMapping, CreditSpecificationRequest, ElasticGpuSpecification, InstanceInterruptionBehavior, InstanceIpv6Address, LocalGatewayRoute, ManagedPrefixList, MarketType, Placement, ShutdownBehavior, SnapshotState, SpotInstanceType } from "./models_1";
3
3
  import { ClientVpnConnectionStatus, Filter, TransitGatewayRoute } from "./models_2";
4
- import { HttpTokensState, InstanceAttributeName, InstanceMetadataEndpointState, InstanceMetadataProtocolState, InstanceMetadataTagsState, InstanceState, NetworkInsightsAccessScopeAnalysis, NetworkInsightsAnalysis } from "./models_3";
4
+ import { HttpTokensState, InstanceAttributeName, InstanceAutoRecoveryState, InstanceMetadataEndpointState, InstanceMetadataProtocolState, InstanceMetadataTagsState, InstanceState, NetworkInsightsAccessScopeAnalysis, NetworkInsightsAnalysis } from "./models_3";
5
5
  import { InstanceNetworkInterfaceSpecification, RunInstancesMonitoringEnabled, SnapshotAttributeName } from "./models_4";
6
6
  import { CapacityReservationSpecification, InstanceMonitoring, Status } from "./models_5";
7
+ export interface ResetAddressAttributeRequest {
8
+ /**
9
+ * <p>[EC2-VPC] The allocation ID.</p>
10
+ */
11
+ AllocationId: string | undefined;
12
+ /**
13
+ * <p>The attribute of the IP address.</p>
14
+ */
15
+ Attribute: AddressAttributeName | string | undefined;
16
+ /**
17
+ * <p>Checks whether you have the required permissions for the action, without actually making the request,
18
+ * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
19
+ * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
20
+ */
21
+ DryRun?: boolean;
22
+ }
23
+ export declare namespace ResetAddressAttributeRequest {
24
+ /**
25
+ * @internal
26
+ */
27
+ const filterSensitiveLog: (obj: ResetAddressAttributeRequest) => any;
28
+ }
29
+ export interface ResetAddressAttributeResult {
30
+ /**
31
+ * <p>Information about the IP address.</p>
32
+ */
33
+ Address?: AddressAttribute;
34
+ }
35
+ export declare namespace ResetAddressAttributeResult {
36
+ /**
37
+ * @internal
38
+ */
39
+ const filterSensitiveLog: (obj: ResetAddressAttributeResult) => any;
40
+ }
41
+ export interface ResetEbsDefaultKmsKeyIdRequest {
42
+ /**
43
+ * <p>Checks whether you have the required permissions for the action, without actually making the request,
44
+ * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
45
+ * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
46
+ */
47
+ DryRun?: boolean;
48
+ }
49
+ export declare namespace ResetEbsDefaultKmsKeyIdRequest {
50
+ /**
51
+ * @internal
52
+ */
53
+ const filterSensitiveLog: (obj: ResetEbsDefaultKmsKeyIdRequest) => any;
54
+ }
55
+ export interface ResetEbsDefaultKmsKeyIdResult {
56
+ /**
57
+ * <p>The Amazon Resource Name (ARN) of the default KMS key for EBS encryption by default.</p>
58
+ */
59
+ KmsKeyId?: string;
60
+ }
61
+ export declare namespace ResetEbsDefaultKmsKeyIdResult {
62
+ /**
63
+ * @internal
64
+ */
65
+ const filterSensitiveLog: (obj: ResetEbsDefaultKmsKeyIdResult) => any;
66
+ }
67
+ export declare type ResetFpgaImageAttributeName = "loadPermission";
68
+ export interface ResetFpgaImageAttributeRequest {
69
+ /**
70
+ * <p>Checks whether you have the required permissions for the action, without actually making the request,
71
+ * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
72
+ * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
73
+ */
74
+ DryRun?: boolean;
75
+ /**
76
+ * <p>The ID of the AFI.</p>
77
+ */
78
+ FpgaImageId: string | undefined;
79
+ /**
80
+ * <p>The attribute.</p>
81
+ */
82
+ Attribute?: ResetFpgaImageAttributeName | string;
83
+ }
84
+ export declare namespace ResetFpgaImageAttributeRequest {
85
+ /**
86
+ * @internal
87
+ */
88
+ const filterSensitiveLog: (obj: ResetFpgaImageAttributeRequest) => any;
89
+ }
90
+ export interface ResetFpgaImageAttributeResult {
91
+ /**
92
+ * <p>Is <code>true</code> if the request succeeds, and an error otherwise.</p>
93
+ */
94
+ Return?: boolean;
95
+ }
96
+ export declare namespace ResetFpgaImageAttributeResult {
97
+ /**
98
+ * @internal
99
+ */
100
+ const filterSensitiveLog: (obj: ResetFpgaImageAttributeResult) => any;
101
+ }
102
+ export declare type ResetImageAttributeName = "launchPermission";
103
+ /**
104
+ * <p>Contains the parameters for ResetImageAttribute.</p>
105
+ */
106
+ export interface ResetImageAttributeRequest {
107
+ /**
108
+ * <p>The attribute to reset (currently you can only reset the launch permission attribute).</p>
109
+ */
110
+ Attribute: ResetImageAttributeName | string | undefined;
111
+ /**
112
+ * <p>The ID of the AMI.</p>
113
+ */
114
+ ImageId: string | undefined;
115
+ /**
116
+ * <p>Checks whether you have the required permissions for the action, without actually making the request,
117
+ * and provides an error response. If you have the required permissions, the error response is
118
+ * <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
119
+ */
120
+ DryRun?: boolean;
121
+ }
122
+ export declare namespace ResetImageAttributeRequest {
123
+ /**
124
+ * @internal
125
+ */
126
+ const filterSensitiveLog: (obj: ResetImageAttributeRequest) => any;
127
+ }
7
128
  export interface ResetInstanceAttributeRequest {
8
129
  /**
9
130
  * <p>The attribute to reset.</p>
10
131
  * <important>
11
132
  * <p>You can only reset the following attributes: <code>kernel</code> |
12
- * <code>ramdisk</code> | <code>sourceDestCheck</code>. To change an instance
13
- * attribute, use <a>ModifyInstanceAttribute</a>.</p>
133
+ * <code>ramdisk</code> | <code>sourceDestCheck</code>.</p>
14
134
  * </important>
15
135
  */
16
136
  Attribute: InstanceAttributeName | string | undefined;
@@ -507,8 +627,8 @@ export interface CpuOptionsRequest {
507
627
  */
508
628
  CoreCount?: number;
509
629
  /**
510
- * <p>The number of threads per CPU core. To disable multithreading for
511
- * the instance, specify a value of <code>1</code>. Otherwise, specify the default value of
630
+ * <p>The number of threads per CPU core. To disable multithreading for the instance,
631
+ * specify a value of <code>1</code>. Otherwise, specify the default value of
512
632
  * <code>2</code>.</p>
513
633
  */
514
634
  ThreadsPerCore?: number;
@@ -546,13 +666,15 @@ export declare namespace ElasticInferenceAccelerator {
546
666
  const filterSensitiveLog: (obj: ElasticInferenceAccelerator) => any;
547
667
  }
548
668
  /**
549
- * <p>Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For more information,
550
- * see <a href="https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html">
551
- * What is Amazon Web Services Nitro Enclaves?</a> in the <i>Amazon Web Services Nitro Enclaves User Guide</i>.</p>
669
+ * <p>Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For
670
+ * more information, see <a href="https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html"> What is Amazon Web Services Nitro
671
+ * Enclaves?</a> in the <i>Amazon Web Services Nitro Enclaves User
672
+ * Guide</i>.</p>
552
673
  */
553
674
  export interface EnclaveOptionsRequest {
554
675
  /**
555
- * <p>To enable the instance for Amazon Web Services Nitro Enclaves, set this parameter to <code>true</code>.</p>
676
+ * <p>To enable the instance for Amazon Web Services Nitro Enclaves, set this parameter to
677
+ * <code>true</code>.</p>
556
678
  */
557
679
  Enabled?: boolean;
558
680
  }
@@ -565,8 +687,7 @@ export declare namespace EnclaveOptionsRequest {
565
687
  /**
566
688
  * <p>Indicates whether your instance is configured for hibernation. This parameter is valid
567
689
  * only if the instance meets the <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites">hibernation
568
- * prerequisites</a>. For
569
- * more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html">Hibernate your instance</a> in the
690
+ * prerequisites</a>. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html">Hibernate your instance</a> in the
570
691
  * <i>Amazon EC2 User Guide</i>.</p>
571
692
  */
572
693
  export interface HibernationOptionsRequest {
@@ -594,9 +715,9 @@ export interface SpotMarketOptions {
594
715
  */
595
716
  MaxPrice?: string;
596
717
  /**
597
- * <p>The Spot Instance request type. For <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances">RunInstances</a>, persistent Spot
598
- * Instance requests are only supported when the instance interruption behavior is either <code>hibernate</code> or
599
- * <code>stop</code>.</p>
718
+ * <p>The Spot Instance request type. For <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances">RunInstances</a>, persistent
719
+ * Spot Instance requests are only supported when the instance interruption behavior is
720
+ * either <code>hibernate</code> or <code>stop</code>.</p>
600
721
  */
601
722
  SpotInstanceType?: SpotInstanceType | string;
602
723
  /**
@@ -652,8 +773,8 @@ export declare namespace InstanceMarketOptionsRequest {
652
773
  const filterSensitiveLog: (obj: InstanceMarketOptionsRequest) => any;
653
774
  }
654
775
  /**
655
- * <p>The launch template to use. You must specify either the launch template ID or
656
- * launch template name in the request, but not both.</p>
776
+ * <p>The launch template to use. You must specify either the launch template ID or launch
777
+ * template name in the request, but not both.</p>
657
778
  */
658
779
  export interface LaunchTemplateSpecification {
659
780
  /**
@@ -691,6 +812,22 @@ export declare namespace LicenseConfigurationRequest {
691
812
  */
692
813
  const filterSensitiveLog: (obj: LicenseConfigurationRequest) => any;
693
814
  }
815
+ /**
816
+ * <p>The maintenance options for the instance.</p>
817
+ */
818
+ export interface InstanceMaintenanceOptionsRequest {
819
+ /**
820
+ * <p>Disables the automatic recovery behavior of your instance or sets it to default. For
821
+ * more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-recover.html#instance-configuration-recovery">Simplified automatic recovery</a>.</p>
822
+ */
823
+ AutoRecovery?: InstanceAutoRecoveryState | string;
824
+ }
825
+ export declare namespace InstanceMaintenanceOptionsRequest {
826
+ /**
827
+ * @internal
828
+ */
829
+ const filterSensitiveLog: (obj: InstanceMaintenanceOptionsRequest) => any;
830
+ }
694
831
  /**
695
832
  * <p>The metadata options for the instance.</p>
696
833
  */
@@ -698,14 +835,13 @@ export interface InstanceMetadataOptionsRequest {
698
835
  /**
699
836
  * <p>The state of token usage for your instance metadata requests.</p>
700
837
  * <p>If the state is <code>optional</code>, you can choose to retrieve instance metadata
701
- * with or without a signed token header on your request. If you retrieve the IAM role
702
- * credentials without a token, the version 1.0 role credentials are returned. If you
703
- * retrieve the IAM role credentials using a valid signed token, the version 2.0 role
704
- * credentials are returned.</p>
838
+ * with or without a signed token header on your request. If you retrieve the IAM role credentials without a token, the version 1.0 role credentials are
839
+ * returned. If you retrieve the IAM role credentials using a valid signed
840
+ * token, the version 2.0 role credentials are returned.</p>
705
841
  * <p>If the state is <code>required</code>, you must send a signed token header with any
706
- * instance metadata retrieval requests. In this state, retrieving the IAM role credentials
707
- * always returns the version 2.0 credentials; the version 1.0 credentials are not
708
- * available.</p>
842
+ * instance metadata retrieval requests. In this state, retrieving the IAM
843
+ * role credentials always returns the version 2.0 credentials; the version 1.0 credentials
844
+ * are not available.</p>
709
845
  * <p>Default: <code>optional</code>
710
846
  * </p>
711
847
  */
@@ -719,8 +855,8 @@ export interface InstanceMetadataOptionsRequest {
719
855
  HttpPutResponseHopLimit?: number;
720
856
  /**
721
857
  * <p>Enables or disables the HTTP metadata endpoint on your instances.</p>
722
- * <p>If you specify a value of <code>disabled</code>, you cannot access your
723
- * instance metadata.</p>
858
+ * <p>If you specify a value of <code>disabled</code>, you cannot access your instance
859
+ * metadata.</p>
724
860
  * <p>Default: <code>enabled</code>
725
861
  * </p>
726
862
  */
@@ -730,8 +866,10 @@ export interface InstanceMetadataOptionsRequest {
730
866
  */
731
867
  HttpProtocolIpv6?: InstanceMetadataProtocolState | string;
732
868
  /**
733
- * <p>Set to <code>enabled</code> to allow access to instance tags from the instance metadata. Set to <code>disabled</code> to turn off
734
- * access to instance tags from the instance metadata. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#work-with-tags-in-IMDS">Work with instance tags using the instance metadata</a>.</p>
869
+ * <p>Set to <code>enabled</code> to allow access to instance tags from the instance
870
+ * metadata. Set to <code>disabled</code> to turn off access to instance tags from the
871
+ * instance metadata. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#work-with-tags-in-IMDS">Work with
872
+ * instance tags using the instance metadata</a>.</p>
735
873
  * <p>Default: <code>disabled</code>
736
874
  * </p>
737
875
  */
@@ -748,18 +886,20 @@ export declare namespace InstanceMetadataOptionsRequest {
748
886
  */
749
887
  export interface PrivateDnsNameOptionsRequest {
750
888
  /**
751
- * <p>The type of hostname for EC2 instances. For IPv4 only subnets, an instance DNS name must be
752
- * based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based
753
- * on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance
754
- * IPv4 address or the instance ID.</p>
889
+ * <p>The type of hostname for EC2 instances. For IPv4 only subnets, an instance DNS name
890
+ * must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name
891
+ * must be based on the instance ID. For dual-stack subnets, you can specify whether DNS
892
+ * names use the instance IPv4 address or the instance ID.</p>
755
893
  */
756
894
  HostnameType?: HostnameType | string;
757
895
  /**
758
- * <p>Indicates whether to respond to DNS queries for instance hostnames with DNS A records.</p>
896
+ * <p>Indicates whether to respond to DNS queries for instance hostnames with DNS A
897
+ * records.</p>
759
898
  */
760
899
  EnableResourceNameDnsARecord?: boolean;
761
900
  /**
762
- * <p>Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.</p>
901
+ * <p>Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA
902
+ * records.</p>
763
903
  */
764
904
  EnableResourceNameDnsAAAARecord?: boolean;
765
905
  }
@@ -771,14 +911,14 @@ export declare namespace PrivateDnsNameOptionsRequest {
771
911
  }
772
912
  export interface RunInstancesRequest {
773
913
  /**
774
- * <p>The block device mapping, which defines the EBS volumes and instance store
775
- * volumes to attach to the instance at launch. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html">Block device mappings</a>
776
- * in the <i>Amazon EC2 User Guide</i>.</p>
914
+ * <p>The block device mapping, which defines the EBS volumes and instance store volumes to
915
+ * attach to the instance at launch. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html">Block device
916
+ * mappings</a> in the <i>Amazon EC2 User Guide</i>.</p>
777
917
  */
778
918
  BlockDeviceMappings?: BlockDeviceMapping[];
779
919
  /**
780
- * <p>The ID of the AMI. An AMI ID is required to launch an instance and must be
781
- * specified here or in a launch template.</p>
920
+ * <p>The ID of the AMI. An AMI ID is required to launch an instance and must be specified
921
+ * here or in a launch template.</p>
782
922
  */
783
923
  ImageId?: string;
784
924
  /**
@@ -856,8 +996,8 @@ export interface RunInstancesRequest {
856
996
  /**
857
997
  * <p>The ID of the RAM disk to select. Some kernels require additional drivers at launch.
858
998
  * Check the kernel requirements for information about whether you need to specify a RAM
859
- * disk. To find kernel requirements, go to the Amazon Web Services Resource Center and search for the
860
- * kernel ID.</p>
999
+ * disk. To find kernel requirements, go to the Amazon Web Services Resource Center and
1000
+ * search for the kernel ID.</p>
861
1001
  * <important>
862
1002
  * <p>We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
863
1003
  * information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html">PV-GRUB</a> in the
@@ -866,9 +1006,9 @@ export interface RunInstancesRequest {
866
1006
  */
867
1007
  RamdiskId?: string;
868
1008
  /**
869
- * <p>The IDs of the security groups. You can create a security group using
870
- * <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateSecurityGroup.html">CreateSecurityGroup</a>.</p>
871
- * <p>If you specify a network interface, you must specify any security groups as part of the network interface.</p>
1009
+ * <p>The IDs of the security groups. You can create a security group using <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateSecurityGroup.html">CreateSecurityGroup</a>.</p>
1010
+ * <p>If you specify a network interface, you must specify any security groups as part of
1011
+ * the network interface.</p>
872
1012
  */
873
1013
  SecurityGroupIds?: string[];
874
1014
  /**
@@ -881,12 +1021,14 @@ export interface RunInstancesRequest {
881
1021
  SecurityGroups?: string[];
882
1022
  /**
883
1023
  * <p>[EC2-VPC] The ID of the subnet to launch the instance into.</p>
884
- * <p>If you specify a network interface, you must specify any subnets as part of the network interface.</p>
1024
+ * <p>If you specify a network interface, you must specify any subnets as part of the
1025
+ * network interface.</p>
885
1026
  */
886
1027
  SubnetId?: string;
887
1028
  /**
888
- * <p>The user data to make available to the instance. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html">Run commands
889
- * on your Linux instance at launch</a> and <a href="https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-windows-user-data.html">Run commands on your Windows instance at launch</a>. If you are using a command line tool,
1029
+ * <p>The user data to make available to the instance. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html">Run commands on
1030
+ * your Linux instance at launch</a> and <a href="https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-windows-user-data.html">Run commands on your
1031
+ * Windows instance at launch</a>. If you are using a command line tool,
890
1032
  * base64-encoding is performed for you, and you can load the text from a file. Otherwise,
891
1033
  * you must provide base64-encoded text. User data is limited to 16 KB.</p>
892
1034
  */
@@ -897,21 +1039,20 @@ export interface RunInstancesRequest {
897
1039
  AdditionalInfo?: string;
898
1040
  /**
899
1041
  * <p>Unique, case-sensitive identifier you provide to ensure the idempotency of the
900
- * request. If you do not specify a client token, a randomly generated token is used for the
901
- * request to ensure idempotency.</p>
1042
+ * request. If you do not specify a client token, a randomly generated token is used for
1043
+ * the request to ensure idempotency.</p>
902
1044
  *
903
- * <p>For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html">Ensuring
1045
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html">Ensuring
904
1046
  * Idempotency</a>.</p>
905
1047
  * <p>Constraints: Maximum 64 ASCII characters</p>
906
1048
  */
907
1049
  ClientToken?: string;
908
1050
  /**
909
1051
  * <p>If you set this parameter to <code>true</code>, you can't terminate the instance using
910
- * the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute after launch,
911
- * use <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceAttribute.html">ModifyInstanceAttribute</a>.
912
- * Alternatively, if you set <code>InstanceInitiatedShutdownBehavior</code> to
913
- * <code>terminate</code>, you can terminate the instance by running the shutdown
914
- * command from the instance.</p>
1052
+ * the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute after
1053
+ * launch, use <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceAttribute.html">ModifyInstanceAttribute</a>. Alternatively, if you set
1054
+ * <code>InstanceInitiatedShutdownBehavior</code> to <code>terminate</code>, you can
1055
+ * terminate the instance by running the shutdown command from the instance.</p>
915
1056
  * <p>Default: <code>false</code>
916
1057
  * </p>
917
1058
  */
@@ -933,7 +1074,8 @@ export interface RunInstancesRequest {
933
1074
  */
934
1075
  EbsOptimized?: boolean;
935
1076
  /**
936
- * <p>The name or Amazon Resource Name (ARN) of an IAM instance profile.</p>
1077
+ * <p>The name or Amazon Resource Name (ARN) of an IAM instance
1078
+ * profile.</p>
937
1079
  */
938
1080
  IamInstanceProfile?: IamInstanceProfileSpecification;
939
1081
  /**
@@ -944,8 +1086,9 @@ export interface RunInstancesRequest {
944
1086
  */
945
1087
  InstanceInitiatedShutdownBehavior?: ShutdownBehavior | string;
946
1088
  /**
947
- * <p>The network interfaces to associate with the instance. If you specify a network interface,
948
- * you must specify any security groups and subnets as part of the network interface.</p>
1089
+ * <p>The network interfaces to associate with the instance. If you specify a network
1090
+ * interface, you must specify any security groups and subnets as part of the network
1091
+ * interface.</p>
949
1092
  */
950
1093
  NetworkInterfaces?: InstanceNetworkInterfaceSpecification[];
951
1094
  /**
@@ -962,8 +1105,8 @@ export interface RunInstancesRequest {
962
1105
  /**
963
1106
  * <p>An elastic GPU to associate with the instance. An Elastic GPU is a GPU resource that
964
1107
  * you can attach to your Windows instance to accelerate the graphics performance of your
965
- * applications. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-graphics.html">Amazon EC2 Elastic
966
- * GPUs</a> in the <i>Amazon EC2 User Guide</i>.</p>
1108
+ * applications. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-graphics.html">Amazon EC2 Elastic GPUs</a> in
1109
+ * the <i>Amazon EC2 User Guide</i>.</p>
967
1110
  */
968
1111
  ElasticGpuSpecification?: ElasticGpuSpecification[];
969
1112
  /**
@@ -1020,7 +1163,8 @@ export interface RunInstancesRequest {
1020
1163
  * <p>Indicates whether an instance is enabled for hibernation. For more information, see
1021
1164
  * <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html">Hibernate
1022
1165
  * your instance</a> in the <i>Amazon EC2 User Guide</i>.</p>
1023
- * <p>You can't enable hibernation and Amazon Web Services Nitro Enclaves on the same instance.</p>
1166
+ * <p>You can't enable hibernation and Amazon Web Services Nitro Enclaves on the same
1167
+ * instance.</p>
1024
1168
  */
1025
1169
  HibernationOptions?: HibernationOptionsRequest;
1026
1170
  /**
@@ -1032,16 +1176,23 @@ export interface RunInstancesRequest {
1032
1176
  */
1033
1177
  MetadataOptions?: InstanceMetadataOptionsRequest;
1034
1178
  /**
1035
- * <p>Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For more information,
1036
- * see <a href="https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html">
1037
- * What is Amazon Web Services Nitro Enclaves?</a> in the <i>Amazon Web Services Nitro Enclaves User Guide</i>.</p>
1038
- * <p>You can't enable Amazon Web Services Nitro Enclaves and hibernation on the same instance.</p>
1179
+ * <p>Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For
1180
+ * more information, see <a href="https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html"> What is Amazon Web Services Nitro
1181
+ * Enclaves?</a> in the <i>Amazon Web Services Nitro Enclaves User
1182
+ * Guide</i>.</p>
1183
+ * <p>You can't enable Amazon Web Services Nitro Enclaves and hibernation on the same
1184
+ * instance.</p>
1039
1185
  */
1040
1186
  EnclaveOptions?: EnclaveOptionsRequest;
1041
1187
  /**
1042
- * <p>The options for the instance hostname. The default values are inherited from the subnet.</p>
1188
+ * <p>The options for the instance hostname. The default values are inherited from the
1189
+ * subnet.</p>
1043
1190
  */
1044
1191
  PrivateDnsNameOptions?: PrivateDnsNameOptionsRequest;
1192
+ /**
1193
+ * <p>The maintenance and recovery options for the instance.</p>
1194
+ */
1195
+ MaintenanceOptions?: InstanceMaintenanceOptionsRequest;
1045
1196
  }
1046
1197
  export declare namespace RunInstancesRequest {
1047
1198
  /**
@@ -420,6 +420,7 @@ import { ModifyInstanceCapacityReservationAttributesCommandInput, ModifyInstance
420
420
  import { ModifyInstanceCreditSpecificationCommandInput, ModifyInstanceCreditSpecificationCommandOutput } from "../commands/ModifyInstanceCreditSpecificationCommand";
421
421
  import { ModifyInstanceEventStartTimeCommandInput, ModifyInstanceEventStartTimeCommandOutput } from "../commands/ModifyInstanceEventStartTimeCommand";
422
422
  import { ModifyInstanceEventWindowCommandInput, ModifyInstanceEventWindowCommandOutput } from "../commands/ModifyInstanceEventWindowCommand";
423
+ import { ModifyInstanceMaintenanceOptionsCommandInput, ModifyInstanceMaintenanceOptionsCommandOutput } from "../commands/ModifyInstanceMaintenanceOptionsCommand";
423
424
  import { ModifyInstanceMetadataOptionsCommandInput, ModifyInstanceMetadataOptionsCommandOutput } from "../commands/ModifyInstanceMetadataOptionsCommand";
424
425
  import { ModifyInstancePlacementCommandInput, ModifyInstancePlacementCommandOutput } from "../commands/ModifyInstancePlacementCommand";
425
426
  import { ModifyIpamCommandInput, ModifyIpamCommandOutput } from "../commands/ModifyIpamCommand";
@@ -941,6 +942,7 @@ export declare const serializeAws_ec2ModifyInstanceCapacityReservationAttributes
941
942
  export declare const serializeAws_ec2ModifyInstanceCreditSpecificationCommand: (input: ModifyInstanceCreditSpecificationCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
942
943
  export declare const serializeAws_ec2ModifyInstanceEventStartTimeCommand: (input: ModifyInstanceEventStartTimeCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
943
944
  export declare const serializeAws_ec2ModifyInstanceEventWindowCommand: (input: ModifyInstanceEventWindowCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
945
+ export declare const serializeAws_ec2ModifyInstanceMaintenanceOptionsCommand: (input: ModifyInstanceMaintenanceOptionsCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
944
946
  export declare const serializeAws_ec2ModifyInstanceMetadataOptionsCommand: (input: ModifyInstanceMetadataOptionsCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
945
947
  export declare const serializeAws_ec2ModifyInstancePlacementCommand: (input: ModifyInstancePlacementCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
946
948
  export declare const serializeAws_ec2ModifyIpamCommand: (input: ModifyIpamCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
@@ -1462,6 +1464,7 @@ export declare const deserializeAws_ec2ModifyInstanceCapacityReservationAttribut
1462
1464
  export declare const deserializeAws_ec2ModifyInstanceCreditSpecificationCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<ModifyInstanceCreditSpecificationCommandOutput>;
1463
1465
  export declare const deserializeAws_ec2ModifyInstanceEventStartTimeCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<ModifyInstanceEventStartTimeCommandOutput>;
1464
1466
  export declare const deserializeAws_ec2ModifyInstanceEventWindowCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<ModifyInstanceEventWindowCommandOutput>;
1467
+ export declare const deserializeAws_ec2ModifyInstanceMaintenanceOptionsCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<ModifyInstanceMaintenanceOptionsCommandOutput>;
1465
1468
  export declare const deserializeAws_ec2ModifyInstanceMetadataOptionsCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<ModifyInstanceMetadataOptionsCommandOutput>;
1466
1469
  export declare const deserializeAws_ec2ModifyInstancePlacementCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<ModifyInstancePlacementCommandOutput>;
1467
1470
  export declare const deserializeAws_ec2ModifyIpamCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<ModifyIpamCommandOutput>;
@@ -419,6 +419,7 @@ import { ModifyInstanceCapacityReservationAttributesCommandInput, ModifyInstance
419
419
  import { ModifyInstanceCreditSpecificationCommandInput, ModifyInstanceCreditSpecificationCommandOutput } from "./commands/ModifyInstanceCreditSpecificationCommand";
420
420
  import { ModifyInstanceEventStartTimeCommandInput, ModifyInstanceEventStartTimeCommandOutput } from "./commands/ModifyInstanceEventStartTimeCommand";
421
421
  import { ModifyInstanceEventWindowCommandInput, ModifyInstanceEventWindowCommandOutput } from "./commands/ModifyInstanceEventWindowCommand";
422
+ import { ModifyInstanceMaintenanceOptionsCommandInput, ModifyInstanceMaintenanceOptionsCommandOutput } from "./commands/ModifyInstanceMaintenanceOptionsCommand";
422
423
  import { ModifyInstanceMetadataOptionsCommandInput, ModifyInstanceMetadataOptionsCommandOutput } from "./commands/ModifyInstanceMetadataOptionsCommand";
423
424
  import { ModifyInstancePlacementCommandInput, ModifyInstancePlacementCommandOutput } from "./commands/ModifyInstancePlacementCommand";
424
425
  import { ModifyIpamCommandInput, ModifyIpamCommandOutput } from "./commands/ModifyIpamCommand";
@@ -2204,6 +2205,10 @@ export declare class EC2 extends EC2Client {
2204
2205
  modifyInstanceEventWindow(args: ModifyInstanceEventWindowCommandInput, cb: (err: any, data?: ModifyInstanceEventWindowCommandOutput) => void): void;
2205
2206
  modifyInstanceEventWindow(args: ModifyInstanceEventWindowCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ModifyInstanceEventWindowCommandOutput) => void): void;
2206
2207
 
2208
+ modifyInstanceMaintenanceOptions(args: ModifyInstanceMaintenanceOptionsCommandInput, options?: __HttpHandlerOptions): Promise<ModifyInstanceMaintenanceOptionsCommandOutput>;
2209
+ modifyInstanceMaintenanceOptions(args: ModifyInstanceMaintenanceOptionsCommandInput, cb: (err: any, data?: ModifyInstanceMaintenanceOptionsCommandOutput) => void): void;
2210
+ modifyInstanceMaintenanceOptions(args: ModifyInstanceMaintenanceOptionsCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ModifyInstanceMaintenanceOptionsCommandOutput) => void): void;
2211
+
2207
2212
  modifyInstanceMetadataOptions(args: ModifyInstanceMetadataOptionsCommandInput, options?: __HttpHandlerOptions): Promise<ModifyInstanceMetadataOptionsCommandOutput>;
2208
2213
  modifyInstanceMetadataOptions(args: ModifyInstanceMetadataOptionsCommandInput, cb: (err: any, data?: ModifyInstanceMetadataOptionsCommandOutput) => void): void;
2209
2214
  modifyInstanceMetadataOptions(args: ModifyInstanceMetadataOptionsCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: ModifyInstanceMetadataOptionsCommandOutput) => void): void;