@aws-sdk/client-ec2 3.58.0 → 3.69.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 (103) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/README.md +2 -2
  3. package/dist-cjs/EC2.js +15 -0
  4. package/dist-cjs/commands/CreateTransitGatewayConnectCommand.js +2 -1
  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 +1 -2
  11. package/dist-cjs/commands/ModifyInstanceMaintenanceOptionsCommand.js +36 -0
  12. package/dist-cjs/commands/ResetAddressAttributeCommand.js +3 -3
  13. package/dist-cjs/commands/ResetEbsDefaultKmsKeyIdCommand.js +3 -3
  14. package/dist-cjs/commands/ResetFpgaImageAttributeCommand.js +3 -3
  15. package/dist-cjs/commands/index.js +1 -0
  16. package/dist-cjs/models/models_1.js +22 -23
  17. package/dist-cjs/models/models_2.js +24 -24
  18. package/dist-cjs/models/models_3.js +35 -29
  19. package/dist-cjs/models/models_4.js +29 -36
  20. package/dist-cjs/models/models_5.js +48 -42
  21. package/dist-cjs/models/models_6.js +44 -2
  22. package/dist-cjs/protocols/Aws_ec2.js +139 -13
  23. package/dist-es/EC2.js +15 -0
  24. package/dist-es/commands/CreateTransitGatewayConnectCommand.js +2 -1
  25. package/dist-es/commands/DescribeCoipPoolsCommand.js +2 -1
  26. package/dist-es/commands/DescribeConversionTasksCommand.js +1 -2
  27. package/dist-es/commands/DescribeReplaceRootVolumeTasksCommand.js +1 -1
  28. package/dist-es/commands/DescribeReservedInstancesCommand.js +1 -2
  29. package/dist-es/commands/GetGroupsForCapacityReservationCommand.js +1 -1
  30. package/dist-es/commands/GetHostReservationPurchasePreviewCommand.js +1 -2
  31. package/dist-es/commands/ModifyInstanceMaintenanceOptionsCommand.js +39 -0
  32. package/dist-es/commands/ResetAddressAttributeCommand.js +1 -1
  33. package/dist-es/commands/ResetEbsDefaultKmsKeyIdCommand.js +1 -1
  34. package/dist-es/commands/ResetFpgaImageAttributeCommand.js +1 -1
  35. package/dist-es/commands/index.js +1 -0
  36. package/dist-es/models/models_1.js +13 -12
  37. package/dist-es/models/models_2.js +12 -12
  38. package/dist-es/models/models_3.js +21 -17
  39. package/dist-es/models/models_4.js +17 -20
  40. package/dist-es/models/models_5.js +28 -24
  41. package/dist-es/models/models_6.js +28 -0
  42. package/dist-es/protocols/Aws_ec2.js +137 -0
  43. package/dist-types/EC2.d.ts +91 -65
  44. package/dist-types/EC2Client.d.ts +3 -2
  45. package/dist-types/commands/CreateLaunchTemplateVersionCommand.d.ts +2 -2
  46. package/dist-types/commands/CreateTransitGatewayConnectCommand.d.ts +2 -1
  47. package/dist-types/commands/DeleteLaunchTemplateCommand.d.ts +2 -1
  48. package/dist-types/commands/DescribeCoipPoolsCommand.d.ts +2 -1
  49. package/dist-types/commands/DescribeConversionTasksCommand.d.ts +1 -2
  50. package/dist-types/commands/DescribeInstanceStatusCommand.d.ts +2 -1
  51. package/dist-types/commands/DescribeInstancesCommand.d.ts +8 -7
  52. package/dist-types/commands/DescribeReplaceRootVolumeTasksCommand.d.ts +1 -1
  53. package/dist-types/commands/DescribeReservedInstancesCommand.d.ts +1 -2
  54. package/dist-types/commands/GetDefaultCreditSpecificationCommand.d.ts +3 -2
  55. package/dist-types/commands/GetGroupsForCapacityReservationCommand.d.ts +1 -1
  56. package/dist-types/commands/GetHostReservationPurchasePreviewCommand.d.ts +1 -2
  57. package/dist-types/commands/GetLaunchTemplateDataCommand.d.ts +7 -5
  58. package/dist-types/commands/GetPasswordDataCommand.d.ts +1 -1
  59. package/dist-types/commands/ModifyDefaultCreditSpecificationCommand.d.ts +11 -10
  60. package/dist-types/commands/ModifyInstanceAttributeCommand.d.ts +2 -1
  61. package/dist-types/commands/ModifyInstanceMaintenanceOptionsCommand.d.ts +38 -0
  62. package/dist-types/commands/ModifyInstanceMetadataOptionsCommand.d.ts +2 -2
  63. package/dist-types/commands/RebootInstancesCommand.d.ts +1 -1
  64. package/dist-types/commands/ResetAddressAttributeCommand.d.ts +1 -1
  65. package/dist-types/commands/ResetEbsDefaultKmsKeyIdCommand.d.ts +1 -1
  66. package/dist-types/commands/ResetFpgaImageAttributeCommand.d.ts +1 -1
  67. package/dist-types/commands/SendDiagnosticInterruptCommand.d.ts +14 -12
  68. package/dist-types/commands/StartInstancesCommand.d.ts +5 -4
  69. package/dist-types/commands/StopInstancesCommand.d.ts +2 -1
  70. package/dist-types/commands/TerminateInstancesCommand.d.ts +17 -14
  71. package/dist-types/commands/UnmonitorInstancesCommand.d.ts +2 -1
  72. package/dist-types/commands/index.d.ts +1 -0
  73. package/dist-types/models/models_0.d.ts +11 -9
  74. package/dist-types/models/models_1.d.ts +344 -313
  75. package/dist-types/models/models_2.d.ts +69 -69
  76. package/dist-types/models/models_3.d.ts +160 -218
  77. package/dist-types/models/models_4.d.ts +167 -126
  78. package/dist-types/models/models_5.d.ts +214 -140
  79. package/dist-types/models/models_6.d.ts +191 -66
  80. package/dist-types/protocols/Aws_ec2.d.ts +3 -0
  81. package/dist-types/ts3.4/EC2.d.ts +5 -0
  82. package/dist-types/ts3.4/EC2Client.d.ts +3 -2
  83. package/dist-types/ts3.4/commands/CreateTransitGatewayConnectCommand.d.ts +2 -1
  84. package/dist-types/ts3.4/commands/DescribeCoipPoolsCommand.d.ts +2 -1
  85. package/dist-types/ts3.4/commands/DescribeConversionTasksCommand.d.ts +1 -2
  86. package/dist-types/ts3.4/commands/DescribeReplaceRootVolumeTasksCommand.d.ts +1 -1
  87. package/dist-types/ts3.4/commands/DescribeReservedInstancesCommand.d.ts +1 -2
  88. package/dist-types/ts3.4/commands/GetGroupsForCapacityReservationCommand.d.ts +1 -1
  89. package/dist-types/ts3.4/commands/GetHostReservationPurchasePreviewCommand.d.ts +1 -2
  90. package/dist-types/ts3.4/commands/ModifyInstanceMaintenanceOptionsCommand.d.ts +17 -0
  91. package/dist-types/ts3.4/commands/ResetAddressAttributeCommand.d.ts +1 -1
  92. package/dist-types/ts3.4/commands/ResetEbsDefaultKmsKeyIdCommand.d.ts +1 -1
  93. package/dist-types/ts3.4/commands/ResetFpgaImageAttributeCommand.d.ts +1 -1
  94. package/dist-types/ts3.4/commands/index.d.ts +1 -0
  95. package/dist-types/ts3.4/models/models_0.d.ts +1 -1
  96. package/dist-types/ts3.4/models/models_1.d.ts +27 -39
  97. package/dist-types/ts3.4/models/models_2.d.ts +40 -39
  98. package/dist-types/ts3.4/models/models_3.d.ts +53 -49
  99. package/dist-types/ts3.4/models/models_4.d.ts +51 -71
  100. package/dist-types/ts3.4/models/models_5.d.ts +93 -60
  101. package/dist-types/ts3.4/models/models_6.d.ts +70 -2
  102. package/dist-types/ts3.4/protocols/Aws_ec2.d.ts +3 -0
  103. package/package.json +3 -3
@@ -1,9 +1,104 @@
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
+ }
7
102
  export declare type ResetImageAttributeName = "launchPermission";
8
103
  /**
9
104
  * <p>Contains the parameters for ResetImageAttribute.</p>
@@ -35,8 +130,7 @@ export interface ResetInstanceAttributeRequest {
35
130
  * <p>The attribute to reset.</p>
36
131
  * <important>
37
132
  * <p>You can only reset the following attributes: <code>kernel</code> |
38
- * <code>ramdisk</code> | <code>sourceDestCheck</code>. To change an instance
39
- * attribute, use <a>ModifyInstanceAttribute</a>.</p>
133
+ * <code>ramdisk</code> | <code>sourceDestCheck</code>.</p>
40
134
  * </important>
41
135
  */
42
136
  Attribute: InstanceAttributeName | string | undefined;
@@ -533,8 +627,8 @@ export interface CpuOptionsRequest {
533
627
  */
534
628
  CoreCount?: number;
535
629
  /**
536
- * <p>The number of threads per CPU core. To disable multithreading for
537
- * 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
538
632
  * <code>2</code>.</p>
539
633
  */
540
634
  ThreadsPerCore?: number;
@@ -572,13 +666,15 @@ export declare namespace ElasticInferenceAccelerator {
572
666
  const filterSensitiveLog: (obj: ElasticInferenceAccelerator) => any;
573
667
  }
574
668
  /**
575
- * <p>Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For more information,
576
- * see <a href="https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html">
577
- * 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>
578
673
  */
579
674
  export interface EnclaveOptionsRequest {
580
675
  /**
581
- * <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>
582
678
  */
583
679
  Enabled?: boolean;
584
680
  }
@@ -591,8 +687,7 @@ export declare namespace EnclaveOptionsRequest {
591
687
  /**
592
688
  * <p>Indicates whether your instance is configured for hibernation. This parameter is valid
593
689
  * only if the instance meets the <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites">hibernation
594
- * prerequisites</a>. For
595
- * 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
596
691
  * <i>Amazon EC2 User Guide</i>.</p>
597
692
  */
598
693
  export interface HibernationOptionsRequest {
@@ -620,9 +715,9 @@ export interface SpotMarketOptions {
620
715
  */
621
716
  MaxPrice?: string;
622
717
  /**
623
- * <p>The Spot Instance request type. For <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances">RunInstances</a>, persistent Spot
624
- * Instance requests are only supported when the instance interruption behavior is either <code>hibernate</code> or
625
- * <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>
626
721
  */
627
722
  SpotInstanceType?: SpotInstanceType | string;
628
723
  /**
@@ -678,8 +773,8 @@ export declare namespace InstanceMarketOptionsRequest {
678
773
  const filterSensitiveLog: (obj: InstanceMarketOptionsRequest) => any;
679
774
  }
680
775
  /**
681
- * <p>The launch template to use. You must specify either the launch template ID or
682
- * 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>
683
778
  */
684
779
  export interface LaunchTemplateSpecification {
685
780
  /**
@@ -717,6 +812,22 @@ export declare namespace LicenseConfigurationRequest {
717
812
  */
718
813
  const filterSensitiveLog: (obj: LicenseConfigurationRequest) => any;
719
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
+ }
720
831
  /**
721
832
  * <p>The metadata options for the instance.</p>
722
833
  */
@@ -724,14 +835,13 @@ export interface InstanceMetadataOptionsRequest {
724
835
  /**
725
836
  * <p>The state of token usage for your instance metadata requests.</p>
726
837
  * <p>If the state is <code>optional</code>, you can choose to retrieve instance metadata
727
- * with or without a signed token header on your request. If you retrieve the IAM role
728
- * credentials without a token, the version 1.0 role credentials are returned. If you
729
- * retrieve the IAM role credentials using a valid signed token, the version 2.0 role
730
- * 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>
731
841
  * <p>If the state is <code>required</code>, you must send a signed token header with any
732
- * instance metadata retrieval requests. In this state, retrieving the IAM role credentials
733
- * always returns the version 2.0 credentials; the version 1.0 credentials are not
734
- * 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>
735
845
  * <p>Default: <code>optional</code>
736
846
  * </p>
737
847
  */
@@ -745,8 +855,8 @@ export interface InstanceMetadataOptionsRequest {
745
855
  HttpPutResponseHopLimit?: number;
746
856
  /**
747
857
  * <p>Enables or disables the HTTP metadata endpoint on your instances.</p>
748
- * <p>If you specify a value of <code>disabled</code>, you cannot access your
749
- * instance metadata.</p>
858
+ * <p>If you specify a value of <code>disabled</code>, you cannot access your instance
859
+ * metadata.</p>
750
860
  * <p>Default: <code>enabled</code>
751
861
  * </p>
752
862
  */
@@ -756,8 +866,10 @@ export interface InstanceMetadataOptionsRequest {
756
866
  */
757
867
  HttpProtocolIpv6?: InstanceMetadataProtocolState | string;
758
868
  /**
759
- * <p>Set to <code>enabled</code> to allow access to instance tags from the instance metadata. Set to <code>disabled</code> to turn off
760
- * 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>
761
873
  * <p>Default: <code>disabled</code>
762
874
  * </p>
763
875
  */
@@ -774,18 +886,20 @@ export declare namespace InstanceMetadataOptionsRequest {
774
886
  */
775
887
  export interface PrivateDnsNameOptionsRequest {
776
888
  /**
777
- * <p>The type of hostname for EC2 instances. For IPv4 only subnets, an instance DNS name must be
778
- * based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based
779
- * on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance
780
- * 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>
781
893
  */
782
894
  HostnameType?: HostnameType | string;
783
895
  /**
784
- * <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>
785
898
  */
786
899
  EnableResourceNameDnsARecord?: boolean;
787
900
  /**
788
- * <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>
789
903
  */
790
904
  EnableResourceNameDnsAAAARecord?: boolean;
791
905
  }
@@ -797,14 +911,14 @@ export declare namespace PrivateDnsNameOptionsRequest {
797
911
  }
798
912
  export interface RunInstancesRequest {
799
913
  /**
800
- * <p>The block device mapping, which defines the EBS volumes and instance store
801
- * 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>
802
- * 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>
803
917
  */
804
918
  BlockDeviceMappings?: BlockDeviceMapping[];
805
919
  /**
806
- * <p>The ID of the AMI. An AMI ID is required to launch an instance and must be
807
- * 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>
808
922
  */
809
923
  ImageId?: string;
810
924
  /**
@@ -882,8 +996,8 @@ export interface RunInstancesRequest {
882
996
  /**
883
997
  * <p>The ID of the RAM disk to select. Some kernels require additional drivers at launch.
884
998
  * Check the kernel requirements for information about whether you need to specify a RAM
885
- * disk. To find kernel requirements, go to the Amazon Web Services Resource Center and search for the
886
- * 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>
887
1001
  * <important>
888
1002
  * <p>We recommend that you use PV-GRUB instead of kernels and RAM disks. For more
889
1003
  * information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html">PV-GRUB</a> in the
@@ -892,9 +1006,9 @@ export interface RunInstancesRequest {
892
1006
  */
893
1007
  RamdiskId?: string;
894
1008
  /**
895
- * <p>The IDs of the security groups. You can create a security group using
896
- * <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateSecurityGroup.html">CreateSecurityGroup</a>.</p>
897
- * <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>
898
1012
  */
899
1013
  SecurityGroupIds?: string[];
900
1014
  /**
@@ -907,12 +1021,14 @@ export interface RunInstancesRequest {
907
1021
  SecurityGroups?: string[];
908
1022
  /**
909
1023
  * <p>[EC2-VPC] The ID of the subnet to launch the instance into.</p>
910
- * <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>
911
1026
  */
912
1027
  SubnetId?: string;
913
1028
  /**
914
- * <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
915
- * 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,
916
1032
  * base64-encoding is performed for you, and you can load the text from a file. Otherwise,
917
1033
  * you must provide base64-encoded text. User data is limited to 16 KB.</p>
918
1034
  */
@@ -923,21 +1039,20 @@ export interface RunInstancesRequest {
923
1039
  AdditionalInfo?: string;
924
1040
  /**
925
1041
  * <p>Unique, case-sensitive identifier you provide to ensure the idempotency of the
926
- * request. If you do not specify a client token, a randomly generated token is used for the
927
- * 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>
928
1044
  *
929
- * <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
930
1046
  * Idempotency</a>.</p>
931
1047
  * <p>Constraints: Maximum 64 ASCII characters</p>
932
1048
  */
933
1049
  ClientToken?: string;
934
1050
  /**
935
1051
  * <p>If you set this parameter to <code>true</code>, you can't terminate the instance using
936
- * the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute after launch,
937
- * use <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceAttribute.html">ModifyInstanceAttribute</a>.
938
- * Alternatively, if you set <code>InstanceInitiatedShutdownBehavior</code> to
939
- * <code>terminate</code>, you can terminate the instance by running the shutdown
940
- * 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>
941
1056
  * <p>Default: <code>false</code>
942
1057
  * </p>
943
1058
  */
@@ -959,7 +1074,8 @@ export interface RunInstancesRequest {
959
1074
  */
960
1075
  EbsOptimized?: boolean;
961
1076
  /**
962
- * <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>
963
1079
  */
964
1080
  IamInstanceProfile?: IamInstanceProfileSpecification;
965
1081
  /**
@@ -970,8 +1086,9 @@ export interface RunInstancesRequest {
970
1086
  */
971
1087
  InstanceInitiatedShutdownBehavior?: ShutdownBehavior | string;
972
1088
  /**
973
- * <p>The network interfaces to associate with the instance. If you specify a network interface,
974
- * 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>
975
1092
  */
976
1093
  NetworkInterfaces?: InstanceNetworkInterfaceSpecification[];
977
1094
  /**
@@ -988,8 +1105,8 @@ export interface RunInstancesRequest {
988
1105
  /**
989
1106
  * <p>An elastic GPU to associate with the instance. An Elastic GPU is a GPU resource that
990
1107
  * you can attach to your Windows instance to accelerate the graphics performance of your
991
- * applications. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-graphics.html">Amazon EC2 Elastic
992
- * 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>
993
1110
  */
994
1111
  ElasticGpuSpecification?: ElasticGpuSpecification[];
995
1112
  /**
@@ -1046,7 +1163,8 @@ export interface RunInstancesRequest {
1046
1163
  * <p>Indicates whether an instance is enabled for hibernation. For more information, see
1047
1164
  * <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html">Hibernate
1048
1165
  * your instance</a> in the <i>Amazon EC2 User Guide</i>.</p>
1049
- * <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>
1050
1168
  */
1051
1169
  HibernationOptions?: HibernationOptionsRequest;
1052
1170
  /**
@@ -1058,16 +1176,23 @@ export interface RunInstancesRequest {
1058
1176
  */
1059
1177
  MetadataOptions?: InstanceMetadataOptionsRequest;
1060
1178
  /**
1061
- * <p>Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For more information,
1062
- * see <a href="https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html">
1063
- * What is Amazon Web Services Nitro Enclaves?</a> in the <i>Amazon Web Services Nitro Enclaves User Guide</i>.</p>
1064
- * <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>
1065
1185
  */
1066
1186
  EnclaveOptions?: EnclaveOptionsRequest;
1067
1187
  /**
1068
- * <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>
1069
1190
  */
1070
1191
  PrivateDnsNameOptions?: PrivateDnsNameOptionsRequest;
1192
+ /**
1193
+ * <p>The maintenance and recovery options for the instance.</p>
1194
+ */
1195
+ MaintenanceOptions?: InstanceMaintenanceOptionsRequest;
1071
1196
  }
1072
1197
  export declare namespace RunInstancesRequest {
1073
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;