@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,4 +1,13 @@
1
- import { _InstanceType, AcceleratorCount, AcceleratorCountRequest, AcceleratorManufacturer, AcceleratorName, AcceleratorTotalMemoryMiB, AcceleratorTotalMemoryMiBRequest, AcceleratorType, AccessScopePath, AccessScopePathRequest, AddIpamOperatingRegion, AddPrefixListEntry, AddressFamily, AttachmentStatus, BareMetal, BaselineEbsBandwidthMbpsRequest, BurstablePerformance, CpuManufacturer, CurrencyCodeValues, DnsSupportValue, FleetExcessCapacityTerminationPolicy, FleetLaunchTemplateSpecificationRequest, HostnameType, InstanceEventWindow, InstanceGeneration, InternetGatewayAttachment, Ipv4PrefixSpecification, LocalStorage, PortRange, Protocol, ReservedInstancesListing, ResourceType, RouteTableAssociationState, Subnet, Tag, TagSpecification, Tenancy, TransitGatewayAttachmentState, UnsuccessfulItem, WeekDay } from "./models_0";
1
+ import { _InstanceType, AcceleratorCount, AcceleratorCountRequest, AcceleratorManufacturer, AcceleratorName, AcceleratorTotalMemoryMiB, AcceleratorTotalMemoryMiBRequest, AcceleratorType, AccessScopePath, AccessScopePathRequest, AddIpamOperatingRegion, AddPrefixListEntry, AddressFamily, AttachmentStatus, BareMetal, BaselineEbsBandwidthMbpsRequest, BurstablePerformance, CpuManufacturer, CurrencyCodeValues, DnsSupportValue, FleetExcessCapacityTerminationPolicy, FleetLaunchTemplateSpecificationRequest, HostnameType, InstanceEventWindow, InternetGatewayAttachment, Ipv4PrefixSpecification, PortRange, Protocol, ReservedInstancesListing, ResourceType, RouteTableAssociationState, Subnet, Tag, TagSpecification, Tenancy, UnsuccessfulItem, WeekDay } from "./models_0";
2
+ export declare enum InstanceGeneration {
3
+ CURRENT = "current",
4
+ PREVIOUS = "previous"
5
+ }
6
+ export declare enum LocalStorage {
7
+ EXCLUDED = "excluded",
8
+ INCLUDED = "included",
9
+ REQUIRED = "required"
10
+ }
2
11
  export declare enum LocalStorageType {
3
12
  HDD = "hdd",
4
13
  SSD = "ssd"
@@ -401,7 +410,8 @@ export interface Placement {
401
410
  AvailabilityZone?: string;
402
411
  /**
403
412
  * <p>The affinity setting for the instance on the Dedicated Host. This parameter is not
404
- * supported for the <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportInstance.html">ImportInstance</a> command.</p>
413
+ * supported for the <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportInstance.html">ImportInstance</a>
414
+ * command.</p>
405
415
  * <p>This parameter is not supported by <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet">CreateFleet</a>.</p>
406
416
  */
407
417
  Affinity?: string;
@@ -417,17 +427,20 @@ export interface Placement {
417
427
  PartitionNumber?: number;
418
428
  /**
419
429
  * <p>The ID of the Dedicated Host on which the instance resides. This parameter is not
420
- * supported for the <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportInstance.html">ImportInstance</a> command.</p>
430
+ * supported for the <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportInstance.html">ImportInstance</a>
431
+ * command.</p>
421
432
  * <p>This parameter is not supported by <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet">CreateFleet</a>.</p>
422
433
  */
423
434
  HostId?: string;
424
435
  /**
425
436
  * <p>The tenancy of the instance (if the instance is running in a VPC). An instance with a
426
437
  * tenancy of <code>dedicated</code> runs on single-tenant hardware. The <code>host</code>
427
- * tenancy is not supported for the <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportInstance.html">ImportInstance</a> command.</p>
438
+ * tenancy is not supported for the <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportInstance.html">ImportInstance</a>
439
+ * command.</p>
428
440
  * <p>This parameter is not supported by <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet">CreateFleet</a>.</p>
429
441
  *
430
- * <p>T3 instances that use the <code>unlimited</code> CPU credit option do not support <code>host</code> tenancy.</p>
442
+ * <p>T3 instances that use the <code>unlimited</code> CPU credit option do not support
443
+ * <code>host</code> tenancy.</p>
431
444
  */
432
445
  Tenancy?: Tenancy | string;
433
446
  /**
@@ -436,9 +449,9 @@ export interface Placement {
436
449
  */
437
450
  SpreadDomain?: string;
438
451
  /**
439
- * <p>The ARN of the host resource group in which to launch the instances. If you specify
440
- * a host resource group ARN, omit the <b>Tenancy</b>
441
- * parameter or set it to <code>host</code>.</p>
452
+ * <p>The ARN of the host resource group in which to launch the instances. If you specify a
453
+ * host resource group ARN, omit the <b>Tenancy</b> parameter or
454
+ * set it to <code>host</code>.</p>
442
455
  * <p>This parameter is not supported by <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet">CreateFleet</a>.</p>
443
456
  */
444
457
  HostResourceGroupArn?: string;
@@ -1807,14 +1820,14 @@ export interface EbsBlockDevice {
1807
1820
  /**
1808
1821
  * <p>Indicates whether the EBS volume is deleted on instance termination. For more
1809
1822
  * information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#preserving-volumes-on-termination">Preserving Amazon EBS volumes on instance termination</a> in the
1810
- * <i>Amazon EC2 User Guide</i>.</p>
1823
+ * <i>Amazon EC2 User Guide</i>.</p>
1811
1824
  */
1812
1825
  DeleteOnTermination?: boolean;
1813
1826
  /**
1814
- * <p>The number of I/O operations per second (IOPS). For <code>gp3</code>, <code>io1</code>, and <code>io2</code> volumes, this
1815
- * represents the number of IOPS that are provisioned for the volume. For <code>gp2</code> volumes, this
1816
- * represents the baseline performance of the volume and the rate at which the volume accumulates
1817
- * I/O credits for bursting.</p>
1827
+ * <p>The number of I/O operations per second (IOPS). For <code>gp3</code>, <code>io1</code>, and <code>io2</code> volumes,
1828
+ * this represents the number of IOPS that are provisioned for the volume. For <code>gp2</code>
1829
+ * volumes, this represents the baseline performance of the volume and the rate at which
1830
+ * the volume accumulates I/O credits for bursting.</p>
1818
1831
  * <p>The following are the supported values for each volume type:</p>
1819
1832
  * <ul>
1820
1833
  * <li>
@@ -1831,11 +1844,12 @@ export interface EbsBlockDevice {
1831
1844
  * </li>
1832
1845
  * </ul>
1833
1846
  * <p>For <code>io1</code> and <code>io2</code> volumes, we guarantee 64,000 IOPS only for
1834
- * <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances">Instances built on the Nitro System</a>. Other instance families guarantee performance
1835
- * up to 32,000 IOPS.</p>
1836
- * <p>This parameter is required for <code>io1</code> and <code>io2</code> volumes.
1837
- * The default for <code>gp3</code> volumes is 3,000 IOPS.
1838
- * This parameter is not supported for <code>gp2</code>, <code>st1</code>, <code>sc1</code>, or <code>standard</code> volumes.</p>
1847
+ * <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances">Instances built on the
1848
+ * Nitro System</a>. Other instance families guarantee performance up to
1849
+ * 32,000 IOPS.</p>
1850
+ * <p>This parameter is required for <code>io1</code> and <code>io2</code> volumes. The default for <code>gp3</code> volumes
1851
+ * is 3,000 IOPS. This parameter is not supported for <code>gp2</code>, <code>st1</code>, <code>sc1</code>, or <code>standard</code>
1852
+ * volumes.</p>
1839
1853
  */
1840
1854
  Iops?: number;
1841
1855
  /**
@@ -1843,25 +1857,25 @@ export interface EbsBlockDevice {
1843
1857
  */
1844
1858
  SnapshotId?: string;
1845
1859
  /**
1846
- * <p>The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size.
1847
- * If you specify a snapshot, the default is the snapshot size. You can specify a volume
1848
- * size that is equal to or larger than the snapshot size.</p>
1860
+ * <p>The size of the volume, in GiBs. You must specify either a snapshot ID or a volume
1861
+ * size. If you specify a snapshot, the default is the snapshot size. You can specify a
1862
+ * volume size that is equal to or larger than the snapshot size.</p>
1849
1863
  * <p>The following are the supported volumes sizes for each volume type:</p>
1850
1864
  * <ul>
1851
1865
  * <li>
1852
- * <p>
1866
+ * <p>
1853
1867
  * <code>gp2</code> and <code>gp3</code>:1-16,384</p>
1854
1868
  * </li>
1855
1869
  * <li>
1856
- * <p>
1870
+ * <p>
1857
1871
  * <code>io1</code> and <code>io2</code>: 4-16,384</p>
1858
1872
  * </li>
1859
1873
  * <li>
1860
- * <p>
1874
+ * <p>
1861
1875
  * <code>st1</code> and <code>sc1</code>: 125-16,384</p>
1862
1876
  * </li>
1863
1877
  * <li>
1864
- * <p>
1878
+ * <p>
1865
1879
  * <code>standard</code>: 1-1,024</p>
1866
1880
  * </li>
1867
1881
  * </ul>
@@ -1869,8 +1883,8 @@ export interface EbsBlockDevice {
1869
1883
  VolumeSize?: number;
1870
1884
  /**
1871
1885
  * <p>The volume type. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html">Amazon EBS volume types</a> in the
1872
- * <i>Amazon EC2 User Guide</i>. If the volume type is <code>io1</code> or <code>io2</code>,
1873
- * you must specify the IOPS that the volume supports.</p>
1886
+ * <i>Amazon EC2 User Guide</i>. If the volume type is <code>io1</code> or
1887
+ * <code>io2</code>, you must specify the IOPS that the volume supports.</p>
1874
1888
  */
1875
1889
  VolumeType?: VolumeType | string;
1876
1890
  /**
@@ -1883,8 +1897,8 @@ export interface EbsBlockDevice {
1883
1897
  KmsKeyId?: string;
1884
1898
  /**
1885
1899
  * <p>The throughput that the volume supports, in MiB/s.</p>
1886
- * <p>This parameter is valid only for <code>gp3</code> volumes.</p>
1887
- * <p>Valid Range: Minimum value of 125. Maximum value of 1000.</p>
1900
+ * <p>This parameter is valid only for <code>gp3</code> volumes.</p>
1901
+ * <p>Valid Range: Minimum value of 125. Maximum value of 1000.</p>
1888
1902
  */
1889
1903
  Throughput?: number;
1890
1904
  /**
@@ -1893,14 +1907,11 @@ export interface EbsBlockDevice {
1893
1907
  OutpostArn?: string;
1894
1908
  /**
1895
1909
  * <p>Indicates whether the encryption state of an EBS volume is changed while being
1896
- * restored from a backing snapshot.
1897
- * The effect of setting the encryption state to <code>true</code> depends on
1898
- * the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled.
1899
- * For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-parameters">Amazon EBS encryption</a>
1900
- * in the <i>Amazon EC2 User Guide</i>.</p>
1910
+ * restored from a backing snapshot. The effect of setting the encryption state to <code>true</code> depends on
1911
+ * the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-parameters">Amazon EBS encryption</a> in the <i>Amazon EC2 User Guide</i>.</p>
1901
1912
  * <p>In no case can you remove encryption from an encrypted volume.</p>
1902
- * <p>Encrypted volumes can only be attached to instances that support Amazon EBS
1903
- * encryption. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances">Supported instance types</a>.</p>
1913
+ * <p>Encrypted volumes can only be attached to instances that support Amazon EBS encryption. For
1914
+ * more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances">Supported instance types</a>.</p>
1904
1915
  * <p>This parameter is not returned by <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeImageAttribute.html">DescribeImageAttribute</a>.</p>
1905
1916
  */
1906
1917
  Encrypted?: boolean;
@@ -2913,8 +2924,9 @@ export declare namespace KeyPair {
2913
2924
  */
2914
2925
  export interface LaunchTemplateEbsBlockDeviceRequest {
2915
2926
  /**
2916
- * <p>Indicates whether the EBS volume is encrypted. Encrypted volumes can only be attached to instances that support Amazon EBS encryption.
2917
- * If you are creating a volume from a snapshot, you can't specify an encryption value.</p>
2927
+ * <p>Indicates whether the EBS volume is encrypted. Encrypted volumes can only be attached
2928
+ * to instances that support Amazon EBS encryption. If you are creating a volume from a
2929
+ * snapshot, you can't specify an encryption value.</p>
2918
2930
  */
2919
2931
  Encrypted?: boolean;
2920
2932
  /**
@@ -2922,10 +2934,11 @@ export interface LaunchTemplateEbsBlockDeviceRequest {
2922
2934
  */
2923
2935
  DeleteOnTermination?: boolean;
2924
2936
  /**
2925
- * <p>The number of I/O operations per second (IOPS). For <code>gp3</code>, <code>io1</code>, and <code>io2</code>
2926
- * volumes, this represents the number of IOPS that are provisioned for the volume. For <code>gp2</code> volumes,
2927
- * this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits
2928
- * for bursting.</p>
2937
+ * <p>The number of I/O operations per second (IOPS). For <code>gp3</code>,
2938
+ * <code>io1</code>, and <code>io2</code> volumes, this represents the number of IOPS that
2939
+ * are provisioned for the volume. For <code>gp2</code> volumes, this represents the
2940
+ * baseline performance of the volume and the rate at which the volume accumulates I/O
2941
+ * credits for bursting.</p>
2929
2942
  * <p>The following are the supported values for each volume type:</p>
2930
2943
  * <ul>
2931
2944
  * <li>
@@ -2941,16 +2954,16 @@ export interface LaunchTemplateEbsBlockDeviceRequest {
2941
2954
  * <code>io2</code>: 100-64,000 IOPS</p>
2942
2955
  * </li>
2943
2956
  * </ul>
2944
- * <p>For <code>io1</code> and <code>io2</code> volumes, we guarantee 64,000 IOPS
2945
- * only for <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances">Instances built on the Nitro System</a>. Other instance families guarantee performance up
2946
- * to 32,000 IOPS.</p>
2947
- * <p>This parameter is supported for <code>io1</code>, <code>io2</code>, and <code>gp3</code> volumes only. This parameter is not supported for
2948
- * <code>gp2</code>, <code>st1</code>, <code>sc1</code>, or <code>standard</code> volumes.</p>
2957
+ * <p>For <code>io1</code> and <code>io2</code> volumes, we guarantee
2958
+ * 64,000 IOPS only for <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances">Instances built on the
2959
+ * Nitro System</a>. Other instance families guarantee performance up to
2960
+ * 32,000 IOPS.</p>
2961
+ * <p>This parameter is supported for <code>io1</code>, <code>io2</code>, and <code>gp3</code> volumes only. This parameter
2962
+ * is not supported for <code>gp2</code>, <code>st1</code>, <code>sc1</code>, or <code>standard</code> volumes.</p>
2949
2963
  */
2950
2964
  Iops?: number;
2951
2965
  /**
2952
- * <p>The ARN of the symmetric Key Management Service (KMS) CMK used for
2953
- * encryption.</p>
2966
+ * <p>The ARN of the symmetric Key Management Service (KMS) CMK used for encryption.</p>
2954
2967
  */
2955
2968
  KmsKeyId?: string;
2956
2969
  /**
@@ -2958,23 +2971,23 @@ export interface LaunchTemplateEbsBlockDeviceRequest {
2958
2971
  */
2959
2972
  SnapshotId?: string;
2960
2973
  /**
2961
- * <p>The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. The following
2962
- * are the supported volumes sizes for each volume type:</p>
2974
+ * <p>The size of the volume, in GiBs. You must specify either a snapshot ID or a volume
2975
+ * size. The following are the supported volumes sizes for each volume type:</p>
2963
2976
  * <ul>
2964
2977
  * <li>
2965
- * <p>
2978
+ * <p>
2966
2979
  * <code>gp2</code> and <code>gp3</code>: 1-16,384</p>
2967
2980
  * </li>
2968
2981
  * <li>
2969
- * <p>
2982
+ * <p>
2970
2983
  * <code>io1</code> and <code>io2</code>: 4-16,384</p>
2971
2984
  * </li>
2972
2985
  * <li>
2973
- * <p>
2986
+ * <p>
2974
2987
  * <code>st1</code> and <code>sc1</code>: 125-16,384</p>
2975
2988
  * </li>
2976
2989
  * <li>
2977
- * <p>
2990
+ * <p>
2978
2991
  * <code>standard</code>: 1-1,024</p>
2979
2992
  * </li>
2980
2993
  * </ul>
@@ -2982,12 +2995,13 @@ export interface LaunchTemplateEbsBlockDeviceRequest {
2982
2995
  VolumeSize?: number;
2983
2996
  /**
2984
2997
  * <p>The volume type. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html">Amazon EBS volume types</a> in the
2985
- * <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
2998
+ * <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
2986
2999
  */
2987
3000
  VolumeType?: VolumeType | string;
2988
3001
  /**
2989
- * <p>The throughput to provision for a <code>gp3</code> volume, with a maximum of 1,000 MiB/s.</p>
2990
- * <p>Valid Range: Minimum value of 125. Maximum value of 1000.</p>
3002
+ * <p>The throughput to provision for a <code>gp3</code> volume, with a maximum of 1,000
3003
+ * MiB/s.</p>
3004
+ * <p>Valid Range: Minimum value of 125. Maximum value of 1000.</p>
2991
3005
  */
2992
3006
  Throughput?: number;
2993
3007
  }
@@ -3006,14 +3020,15 @@ export interface LaunchTemplateBlockDeviceMappingRequest {
3006
3020
  */
3007
3021
  DeviceName?: string;
3008
3022
  /**
3009
- * <p>The virtual device name (ephemeralN). Instance store volumes are numbered starting from 0.
3010
- * An instance type with 2 available instance store volumes can specify mappings for ephemeral0
3011
- * and ephemeral1. The number of available instance store volumes depends on the instance type.
3012
- * After you connect to the instance, you must mount the volume.</p>
3023
+ * <p>The virtual device name (ephemeralN). Instance store volumes are numbered starting
3024
+ * from 0. An instance type with 2 available instance store volumes can specify mappings
3025
+ * for ephemeral0 and ephemeral1. The number of available instance store volumes depends on
3026
+ * the instance type. After you connect to the instance, you must mount the volume.</p>
3013
3027
  */
3014
3028
  VirtualName?: string;
3015
3029
  /**
3016
- * <p>Parameters used to automatically set up EBS volumes when the instance is launched.</p>
3030
+ * <p>Parameters used to automatically set up EBS volumes when the instance is
3031
+ * launched.</p>
3017
3032
  */
3018
3033
  Ebs?: LaunchTemplateEbsBlockDeviceRequest;
3019
3034
  /**
@@ -3048,31 +3063,35 @@ export declare namespace CapacityReservationTarget {
3048
3063
  const filterSensitiveLog: (obj: CapacityReservationTarget) => any;
3049
3064
  }
3050
3065
  /**
3051
- * <p>Describes an instance's Capacity Reservation targeting option. You can specify only one option at a time. Use the
3052
- * <code>CapacityReservationPreference</code> parameter to configure the instance to run in On-Demand capacity or
3053
- * to run in any <code>open</code> Capacity Reservation that has matching attributes (instance type, platform, Availability Zone).
3054
- * Use the <code>CapacityReservationTarget</code> parameter to explicitly target a specific Capacity Reservation or
3055
- * a Capacity Reservation group.</p>
3066
+ * <p>Describes an instance's Capacity Reservation targeting option. You can specify only
3067
+ * one option at a time. Use the <code>CapacityReservationPreference</code> parameter to
3068
+ * configure the instance to run in On-Demand capacity or to run in any <code>open</code>
3069
+ * Capacity Reservation that has matching attributes (instance type, platform, Availability
3070
+ * Zone). Use the <code>CapacityReservationTarget</code> parameter to explicitly target a
3071
+ * specific Capacity Reservation or a Capacity Reservation group.</p>
3056
3072
  */
3057
3073
  export interface LaunchTemplateCapacityReservationSpecificationRequest {
3058
3074
  /**
3059
- * <p>Indicates the instance's Capacity Reservation preferences. Possible preferences include:</p>
3060
- * <ul>
3075
+ * <p>Indicates the instance's Capacity Reservation preferences. Possible preferences
3076
+ * include:</p>
3077
+ * <ul>
3061
3078
  * <li>
3062
- * <p>
3063
- * <code>open</code> - The instance can run in any <code>open</code> Capacity Reservation that has matching attributes
3064
- * (instance type, platform, Availability Zone).</p>
3079
+ * <p>
3080
+ * <code>open</code> - The instance can run in any <code>open</code> Capacity
3081
+ * Reservation that has matching attributes (instance type, platform, Availability
3082
+ * Zone).</p>
3065
3083
  * </li>
3066
3084
  * <li>
3067
- * <p>
3068
- * <code>none</code> - The instance avoids running in a Capacity Reservation even if one is available. The instance
3069
- * runs in On-Demand capacity.</p>
3085
+ * <p>
3086
+ * <code>none</code> - The instance avoids running in a Capacity Reservation even
3087
+ * if one is available. The instance runs in On-Demand capacity.</p>
3070
3088
  * </li>
3071
3089
  * </ul>
3072
3090
  */
3073
3091
  CapacityReservationPreference?: CapacityReservationPreference | string;
3074
3092
  /**
3075
- * <p>Information about the target Capacity Reservation or Capacity Reservation group.</p>
3093
+ * <p>Information about the target Capacity Reservation or Capacity Reservation
3094
+ * group.</p>
3076
3095
  */
3077
3096
  CapacityReservationTarget?: CapacityReservationTarget;
3078
3097
  }
@@ -3083,8 +3102,8 @@ export declare namespace LaunchTemplateCapacityReservationSpecificationRequest {
3083
3102
  const filterSensitiveLog: (obj: LaunchTemplateCapacityReservationSpecificationRequest) => any;
3084
3103
  }
3085
3104
  /**
3086
- * <p>The CPU options for the instance. Both the core count and threads per core
3087
- * must be specified in the request.</p>
3105
+ * <p>The CPU options for the instance. Both the core count and threads per core must be
3106
+ * specified in the request.</p>
3088
3107
  */
3089
3108
  export interface LaunchTemplateCpuOptionsRequest {
3090
3109
  /**
@@ -3092,8 +3111,8 @@ export interface LaunchTemplateCpuOptionsRequest {
3092
3111
  */
3093
3112
  CoreCount?: number;
3094
3113
  /**
3095
- * <p>The number of threads per CPU core. To disable multithreading
3096
- * for the instance, specify a value of 1. Otherwise, specify the default value of 2.</p>
3114
+ * <p>The number of threads per CPU core. To disable multithreading for the instance,
3115
+ * specify a value of 1. Otherwise, specify the default value of 2.</p>
3097
3116
  */
3098
3117
  ThreadsPerCore?: number;
3099
3118
  }
@@ -3137,22 +3156,17 @@ export declare namespace ElasticGpuSpecification {
3137
3156
  const filterSensitiveLog: (obj: ElasticGpuSpecification) => any;
3138
3157
  }
3139
3158
  /**
3140
- * <p>
3141
- * Describes an elastic inference accelerator.
3142
- * </p>
3159
+ * <p> Describes an elastic inference accelerator. </p>
3143
3160
  */
3144
3161
  export interface LaunchTemplateElasticInferenceAccelerator {
3145
3162
  /**
3146
- * <p>
3147
- * The type of elastic inference accelerator. The possible values are eia1.medium, eia1.large, and eia1.xlarge.
3148
- * </p>
3163
+ * <p> The type of elastic inference accelerator. The possible values are eia1.medium,
3164
+ * eia1.large, and eia1.xlarge. </p>
3149
3165
  */
3150
3166
  Type: string | undefined;
3151
3167
  /**
3152
- * <p>
3153
- * The number of elastic inference accelerators to attach to the instance.
3154
- * </p>
3155
- * <p>Default: 1</p>
3168
+ * <p> The number of elastic inference accelerators to attach to the instance. </p>
3169
+ * <p>Default: 1</p>
3156
3170
  */
3157
3171
  Count?: number;
3158
3172
  }
@@ -3163,13 +3177,14 @@ export declare namespace LaunchTemplateElasticInferenceAccelerator {
3163
3177
  const filterSensitiveLog: (obj: LaunchTemplateElasticInferenceAccelerator) => any;
3164
3178
  }
3165
3179
  /**
3166
- * <p>Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For more information,
3167
- * see <a href="https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html">
3168
- * What is Amazon Web Services Nitro Enclaves?</a> in the <i>Amazon Web Services Nitro Enclaves User Guide</i>.</p>
3180
+ * <p>Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For more
3181
+ * information, see <a href="https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html"> What is Amazon Web Services Nitro Enclaves?</a>
3182
+ * in the <i>Amazon Web Services Nitro Enclaves User Guide</i>.</p>
3169
3183
  */
3170
3184
  export interface LaunchTemplateEnclaveOptionsRequest {
3171
3185
  /**
3172
- * <p>To enable the instance for Amazon Web Services Nitro Enclaves, set this parameter to <code>true</code>.</p>
3186
+ * <p>To enable the instance for Amazon Web Services Nitro Enclaves, set this parameter to
3187
+ * <code>true</code>.</p>
3173
3188
  */
3174
3189
  Enabled?: boolean;
3175
3190
  }
@@ -3180,14 +3195,15 @@ export declare namespace LaunchTemplateEnclaveOptionsRequest {
3180
3195
  const filterSensitiveLog: (obj: LaunchTemplateEnclaveOptionsRequest) => any;
3181
3196
  }
3182
3197
  /**
3183
- * <p>Indicates whether the instance is configured for hibernation. This parameter is valid only
3184
- * if the instance meets the <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites">hibernation
3198
+ * <p>Indicates whether the instance is configured for hibernation. This parameter is valid
3199
+ * only if the instance meets the <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites">hibernation
3185
3200
  * prerequisites</a>.</p>
3186
3201
  */
3187
3202
  export interface LaunchTemplateHibernationOptionsRequest {
3188
3203
  /**
3189
- * <p>If you set this parameter to <code>true</code>, the instance is enabled for hibernation.</p>
3190
- * <p>Default: <code>false</code>
3204
+ * <p>If you set this parameter to <code>true</code>, the instance is enabled for
3205
+ * hibernation.</p>
3206
+ * <p>Default: <code>false</code>
3191
3207
  * </p>
3192
3208
  */
3193
3209
  Configured?: boolean;
@@ -3234,18 +3250,20 @@ export interface LaunchTemplateSpotMarketOptionsRequest {
3234
3250
  */
3235
3251
  SpotInstanceType?: SpotInstanceType | string;
3236
3252
  /**
3237
- * <p>The required duration for the Spot Instances (also known as Spot blocks), in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360).</p>
3253
+ * <p>The required duration for the Spot Instances (also known as Spot blocks), in minutes.
3254
+ * This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360).</p>
3238
3255
  */
3239
3256
  BlockDurationMinutes?: number;
3240
3257
  /**
3241
- * <p>The end date of the request.
3242
- * For a one-time request, the request remains active until all instances launch, the request is canceled, or this date is reached.
3243
- * If the request is persistent, it remains active until it is canceled or this date and time is reached.
3258
+ * <p>The end date of the request. For a one-time request, the request remains active until
3259
+ * all instances launch, the request is canceled, or this date is reached. If the request
3260
+ * is persistent, it remains active until it is canceled or this date and time is reached.
3244
3261
  * The default end date is 7 days from the current date.</p>
3245
3262
  */
3246
3263
  ValidUntil?: Date;
3247
3264
  /**
3248
- * <p>The behavior when a Spot Instance is interrupted. The default is <code>terminate</code>.</p>
3265
+ * <p>The behavior when a Spot Instance is interrupted. The default is
3266
+ * <code>terminate</code>.</p>
3249
3267
  */
3250
3268
  InstanceInterruptionBehavior?: InstanceInterruptionBehavior | string;
3251
3269
  }
@@ -3289,6 +3307,26 @@ export declare namespace LaunchTemplateLicenseConfigurationRequest {
3289
3307
  */
3290
3308
  const filterSensitiveLog: (obj: LaunchTemplateLicenseConfigurationRequest) => any;
3291
3309
  }
3310
+ export declare enum LaunchTemplateAutoRecoveryState {
3311
+ default = "default",
3312
+ disabled = "disabled"
3313
+ }
3314
+ /**
3315
+ * <p>The maintenance options of your instance.</p>
3316
+ */
3317
+ export interface LaunchTemplateInstanceMaintenanceOptionsRequest {
3318
+ /**
3319
+ * <p>Disables the automatic recovery behavior of your instance or sets it to default. For
3320
+ * 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>
3321
+ */
3322
+ AutoRecovery?: LaunchTemplateAutoRecoveryState | string;
3323
+ }
3324
+ export declare namespace LaunchTemplateInstanceMaintenanceOptionsRequest {
3325
+ /**
3326
+ * @internal
3327
+ */
3328
+ const filterSensitiveLog: (obj: LaunchTemplateInstanceMaintenanceOptionsRequest) => any;
3329
+ }
3292
3330
  export declare type LaunchTemplateInstanceMetadataEndpointState = "disabled" | "enabled";
3293
3331
  export declare enum LaunchTemplateInstanceMetadataProtocolIpv6 {
3294
3332
  disabled = "disabled",
@@ -3304,28 +3342,37 @@ export declare enum LaunchTemplateInstanceMetadataTagsState {
3304
3342
  }
3305
3343
  /**
3306
3344
  * <p>The metadata options for the instance. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html">Instance Metadata and User Data</a> in the
3307
- * <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
3345
+ * <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
3308
3346
  */
3309
3347
  export interface LaunchTemplateInstanceMetadataOptionsRequest {
3310
3348
  /**
3311
- * <p>The state of token usage for your instance metadata requests. If the parameter is not specified in the request, the default state is <code>optional</code>.</p>
3312
- * <p>If the state is <code>optional</code>, you can choose to retrieve instance metadata 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 returned. If you retrieve the IAM role credentials using a valid signed token, the version 2.0 role credentials are returned.</p>
3313
- * <p>If the state is <code>required</code>, you must send a signed token header with any instance metadata retrieval requests. In this state, retrieving the IAM role credentials always returns the version 2.0 credentials; the version 1.0 credentials are not available.</p>
3349
+ * <p>The state of token usage for your instance metadata requests. If the parameter is not
3350
+ * specified in the request, the default state is <code>optional</code>.</p>
3351
+ * <p>If the state is <code>optional</code>, you can choose to retrieve instance metadata
3352
+ * with or without a signed token header on your request. If you retrieve the IAM role
3353
+ * credentials without a token, the version 1.0 role credentials are returned. If you
3354
+ * retrieve the IAM role credentials using a valid signed token, the version 2.0 role
3355
+ * credentials are returned.</p>
3356
+ * <p>If the state is <code>required</code>, you must send a signed token header with any
3357
+ * instance metadata retrieval requests. In this state, retrieving the IAM role credentials
3358
+ * always returns the version 2.0 credentials; the version 1.0 credentials are not
3359
+ * available.</p>
3314
3360
  */
3315
3361
  HttpTokens?: LaunchTemplateHttpTokensState | string;
3316
3362
  /**
3317
- * <p>The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel.</p>
3363
+ * <p>The desired HTTP PUT response hop limit for instance metadata requests. The larger the
3364
+ * number, the further instance metadata requests can travel.</p>
3318
3365
  * <p>Default: 1</p>
3319
3366
  * <p>Possible values: Integers from 1 to 64</p>
3320
3367
  */
3321
3368
  HttpPutResponseHopLimit?: number;
3322
3369
  /**
3323
- * <p>Enables or disables the HTTP metadata endpoint on your instances. If the parameter is not
3324
- * specified, the default state is <code>enabled</code>.</p>
3325
- * <note>
3326
- * <p>If you specify a value of <code>disabled</code>, you will not be able to access your instance metadata.
3327
- * </p>
3328
- * </note>
3370
+ * <p>Enables or disables the HTTP metadata endpoint on your instances. If the parameter is
3371
+ * not specified, the default state is <code>enabled</code>.</p>
3372
+ * <note>
3373
+ * <p>If you specify a value of <code>disabled</code>, you will not be able to access
3374
+ * your instance metadata. </p>
3375
+ * </note>
3329
3376
  */
3330
3377
  HttpEndpoint?: LaunchTemplateInstanceMetadataEndpointState | string;
3331
3378
  /**
@@ -3336,10 +3383,10 @@ export interface LaunchTemplateInstanceMetadataOptionsRequest {
3336
3383
  HttpProtocolIpv6?: LaunchTemplateInstanceMetadataProtocolIpv6 | string;
3337
3384
  /**
3338
3385
  * <p>Set to <code>enabled</code> to allow access to instance tags from the instance
3339
- * metadata. Set to <code>disabled</code> to turn off access to instance tags from the instance
3340
- * 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
3386
+ * metadata. Set to <code>disabled</code> to turn off access to instance tags from the
3387
+ * 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
3341
3388
  * instance tags using the instance metadata</a>.</p>
3342
- * <p>Default: <code>disabled</code>
3389
+ * <p>Default: <code>disabled</code>
3343
3390
  * </p>
3344
3391
  */
3345
3392
  InstanceMetadataTags?: LaunchTemplateInstanceMetadataTagsState | string;
@@ -3355,7 +3402,8 @@ export declare namespace LaunchTemplateInstanceMetadataOptionsRequest {
3355
3402
  */
3356
3403
  export interface LaunchTemplatesMonitoringRequest {
3357
3404
  /**
3358
- * <p>Specify <code>true</code> to enable detailed monitoring. Otherwise, basic monitoring is enabled.</p>
3405
+ * <p>Specify <code>true</code> to enable detailed monitoring. Otherwise, basic monitoring
3406
+ * is enabled.</p>
3359
3407
  */
3360
3408
  Enabled?: boolean;
3361
3409
  }
@@ -3441,7 +3489,7 @@ export interface LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
3441
3489
  * <p>Use this option when you launch an instance in a Wavelength Zone and want to associate
3442
3490
  * a Carrier IP address with the network interface. For more information about Carrier IP
3443
3491
  * addresses, see <a href="https://docs.aws.amazon.com/wavelength/latest/developerguide/how-wavelengths-work.html#provider-owned-ip">Carrier IP addresses</a> in the <i>Wavelength Developer
3444
- * Guide</i>.</p>
3492
+ * Guide</i>.</p>
3445
3493
  */
3446
3494
  AssociateCarrierIpAddress?: boolean;
3447
3495
  /**
@@ -3449,7 +3497,8 @@ export interface LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
3449
3497
  */
3450
3498
  AssociatePublicIpAddress?: boolean;
3451
3499
  /**
3452
- * <p>Indicates whether the network interface is deleted when the instance is terminated.</p>
3500
+ * <p>Indicates whether the network interface is deleted when the instance is
3501
+ * terminated.</p>
3453
3502
  */
3454
3503
  DeleteOnTermination?: boolean;
3455
3504
  /**
@@ -3466,19 +3515,23 @@ export interface LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
3466
3515
  Groups?: string[];
3467
3516
  /**
3468
3517
  * <p>The type of network interface. To create an Elastic Fabric Adapter (EFA), specify
3469
- * <code>efa</code>. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html">Elastic Fabric Adapter</a> in the
3470
- * <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
3471
- * <p>If you are not creating an EFA, specify <code>interface</code> or omit this parameter.</p>
3472
- * <p>Valid values: <code>interface</code> | <code>efa</code>
3518
+ * <code>efa</code>. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html">Elastic Fabric Adapter</a> in the
3519
+ * <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
3520
+ * <p>If you are not creating an EFA, specify <code>interface</code> or omit this
3521
+ * parameter.</p>
3522
+ * <p>Valid values: <code>interface</code> | <code>efa</code>
3473
3523
  * </p>
3474
3524
  */
3475
3525
  InterfaceType?: string;
3476
3526
  /**
3477
- * <p>The number of IPv6 addresses to assign to a network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range. You can't use this option if specifying specific IPv6 addresses.</p>
3527
+ * <p>The number of IPv6 addresses to assign to a network interface. Amazon EC2
3528
+ * automatically selects the IPv6 addresses from the subnet range. You can't use this
3529
+ * option if specifying specific IPv6 addresses.</p>
3478
3530
  */
3479
3531
  Ipv6AddressCount?: number;
3480
3532
  /**
3481
- * <p>One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. You can't use this option if you're specifying a number of IPv6 addresses.</p>
3533
+ * <p>One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. You
3534
+ * can't use this option if you're specifying a number of IPv6 addresses.</p>
3482
3535
  */
3483
3536
  Ipv6Addresses?: InstanceIpv6AddressRequest[];
3484
3537
  /**
@@ -3494,7 +3547,8 @@ export interface LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
3494
3547
  */
3495
3548
  PrivateIpAddresses?: PrivateIpAddressSpecification[];
3496
3549
  /**
3497
- * <p>The number of secondary private IPv4 addresses to assign to a network interface.</p>
3550
+ * <p>The number of secondary private IPv4 addresses to assign to a network
3551
+ * interface.</p>
3498
3552
  */
3499
3553
  SecondaryPrivateIpAddressCount?: number;
3500
3554
  /**
@@ -3502,29 +3556,29 @@ export interface LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
3502
3556
  */
3503
3557
  SubnetId?: string;
3504
3558
  /**
3505
- * <p>The index of the network card. Some instance types support multiple network cards.
3506
- * The primary network interface must be assigned to network card index 0.
3507
- * The default is network card index 0.</p>
3559
+ * <p>The index of the network card. Some instance types support multiple network cards. The
3560
+ * primary network interface must be assigned to network card index 0. The default is
3561
+ * network card index 0.</p>
3508
3562
  */
3509
3563
  NetworkCardIndex?: number;
3510
3564
  /**
3511
- * <p>One or more IPv4 prefixes to be assigned to the network interface. You cannot use
3512
- * this option if you use the <code>Ipv4PrefixCount</code> option.</p>
3565
+ * <p>One or more IPv4 prefixes to be assigned to the network interface. You cannot use this
3566
+ * option if you use the <code>Ipv4PrefixCount</code> option.</p>
3513
3567
  */
3514
3568
  Ipv4Prefixes?: Ipv4PrefixSpecificationRequest[];
3515
3569
  /**
3516
- * <p>The number of IPv4 prefixes to be automatically assigned to the
3517
- * network interface. You cannot use this option if you use the <code>Ipv4Prefix</code> option.</p>
3570
+ * <p>The number of IPv4 prefixes to be automatically assigned to the network interface. You
3571
+ * cannot use this option if you use the <code>Ipv4Prefix</code> option.</p>
3518
3572
  */
3519
3573
  Ipv4PrefixCount?: number;
3520
3574
  /**
3521
- * <p>One or more IPv6 prefixes to be assigned to the network interface. You cannot
3522
- * use this option if you use the <code>Ipv6PrefixCount</code> option.</p>
3575
+ * <p>One or more IPv6 prefixes to be assigned to the network interface. You cannot use this
3576
+ * option if you use the <code>Ipv6PrefixCount</code> option.</p>
3523
3577
  */
3524
3578
  Ipv6Prefixes?: Ipv6PrefixSpecificationRequest[];
3525
3579
  /**
3526
- * <p>The number of IPv6 prefixes to be automatically assigned to the network
3527
- * interface. You cannot use this option if you use the <code>Ipv6Prefix</code> option.</p>
3580
+ * <p>The number of IPv6 prefixes to be automatically assigned to the network interface. You
3581
+ * cannot use this option if you use the <code>Ipv6Prefix</code> option.</p>
3528
3582
  */
3529
3583
  Ipv6PrefixCount?: number;
3530
3584
  }
@@ -3555,8 +3609,8 @@ export interface LaunchTemplatePlacementRequest {
3555
3609
  */
3556
3610
  HostId?: string;
3557
3611
  /**
3558
- * <p>The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy
3559
- * of dedicated runs on single-tenant hardware.</p>
3612
+ * <p>The tenancy of the instance (if the instance is running in a VPC). An instance with a
3613
+ * tenancy of dedicated runs on single-tenant hardware.</p>
3560
3614
  */
3561
3615
  Tenancy?: Tenancy | string;
3562
3616
  /**
@@ -3564,13 +3618,14 @@ export interface LaunchTemplatePlacementRequest {
3564
3618
  */
3565
3619
  SpreadDomain?: string;
3566
3620
  /**
3567
- * <p>The ARN of the host resource group in which to launch the instances. If you specify a host
3568
- * resource group ARN, omit the <b>Tenancy</b> parameter
3569
- * or set it to <code>host</code>.</p>
3621
+ * <p>The ARN of the host resource group in which to launch the instances. If you specify a
3622
+ * host resource group ARN, omit the <b>Tenancy</b> parameter or
3623
+ * set it to <code>host</code>.</p>
3570
3624
  */
3571
3625
  HostResourceGroupArn?: string;
3572
3626
  /**
3573
- * <p>The number of the partition the instance should launch in. Valid only if the placement group strategy is set to <code>partition</code>.</p>
3627
+ * <p>The number of the partition the instance should launch in. Valid only if the placement
3628
+ * group strategy is set to <code>partition</code>.</p>
3574
3629
  */
3575
3630
  PartitionNumber?: number;
3576
3631
  }
@@ -3585,18 +3640,20 @@ export declare namespace LaunchTemplatePlacementRequest {
3585
3640
  */
3586
3641
  export interface LaunchTemplatePrivateDnsNameOptionsRequest {
3587
3642
  /**
3588
- * <p>The type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must
3589
- * be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must
3590
- * be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use
3591
- * the instance IPv4 address or the instance ID.</p>
3643
+ * <p>The type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name
3644
+ * must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS
3645
+ * name must be based on the instance ID. For dual-stack subnets, you can specify whether
3646
+ * DNS names use the instance IPv4 address or the instance ID.</p>
3592
3647
  */
3593
3648
  HostnameType?: HostnameType | string;
3594
3649
  /**
3595
- * <p>Indicates whether to respond to DNS queries for instance hostnames with DNS A records.</p>
3650
+ * <p>Indicates whether to respond to DNS queries for instance hostnames with DNS A
3651
+ * records.</p>
3596
3652
  */
3597
3653
  EnableResourceNameDnsARecord?: boolean;
3598
3654
  /**
3599
- * <p>Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.</p>
3655
+ * <p>Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA
3656
+ * records.</p>
3600
3657
  */
3601
3658
  EnableResourceNameDnsAAAARecord?: boolean;
3602
3659
  }
@@ -3675,7 +3732,8 @@ export interface RequestLaunchTemplateData {
3675
3732
  */
3676
3733
  InstanceType?: _InstanceType | string;
3677
3734
  /**
3678
- * <p>The name of the key pair. You can create a key pair using <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateKeyPair.html">CreateKeyPair</a> or <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportKeyPair.html">ImportKeyPair</a>.</p>
3735
+ * <p>The name of the key pair. You can create a key pair using <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateKeyPair.html">CreateKeyPair</a> or
3736
+ * <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportKeyPair.html">ImportKeyPair</a>.</p>
3679
3737
  * <important>
3680
3738
  * <p>If you do not specify a key pair, you can't connect to the instance unless you
3681
3739
  * choose an AMI that is configured to allow users another way to log in.</p>
@@ -3702,16 +3760,15 @@ export interface RequestLaunchTemplateData {
3702
3760
  RamDiskId?: string;
3703
3761
  /**
3704
3762
  * <p>If you set this parameter to <code>true</code>, you can't terminate the instance using
3705
- * the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute after launch,
3706
- * use <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceAttribute.html">ModifyInstanceAttribute</a>.
3707
- * Alternatively, if you set <code>InstanceInitiatedShutdownBehavior</code> to
3708
- * <code>terminate</code>, you can terminate the instance by running the shutdown
3709
- * command from the instance.</p>
3763
+ * the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute after
3764
+ * launch, use <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceAttribute.html">ModifyInstanceAttribute</a>. Alternatively, if you set
3765
+ * <code>InstanceInitiatedShutdownBehavior</code> to <code>terminate</code>, you can
3766
+ * terminate the instance by running the shutdown command from the instance.</p>
3710
3767
  */
3711
3768
  DisableApiTermination?: boolean;
3712
3769
  /**
3713
- * <p>Indicates whether an instance stops or terminates when you initiate shutdown from
3714
- * the instance (using the operating system command for system shutdown).</p>
3770
+ * <p>Indicates whether an instance stops or terminates when you initiate shutdown from the
3771
+ * instance (using the operating system command for system shutdown).</p>
3715
3772
  * <p>Default: <code>stop</code>
3716
3773
  * </p>
3717
3774
  */
@@ -3721,10 +3778,8 @@ export interface RequestLaunchTemplateData {
3721
3778
  * User data is limited to 16 KB. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html">Running Commands on Your Linux Instance
3722
3779
  * at Launch</a> (Linux) or <a href="https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-metadata.html#instancedata-add-user-data">Adding User Data</a> (Windows).</p>
3723
3780
  *
3724
- * <p>If you are creating the launch template for use with Batch, the user data
3725
- * must be provided in the <a href="https://cloudinit.readthedocs.io/en/latest/topics/format.html#mime-multi-part-archive">
3726
- * MIME multi-part archive format</a>. For more information, see <a href="https://docs.aws.amazon.com/batch/latest/userguide/launch-templates.html">Amazon EC2 user data in
3727
- * launch templates</a> in the <i>Batch User Guide</i>.</p>
3781
+ * <p>If you are creating the launch template for use with Batch, the user
3782
+ * data must be provided in the <a href="https://cloudinit.readthedocs.io/en/latest/topics/format.html#mime-multi-part-archive"> MIME multi-part archive format</a>. For more information, see <a href="https://docs.aws.amazon.com/batch/latest/userguide/launch-templates.html">Amazon EC2 user data in launch templates</a> in the <i>Batch User Guide</i>.</p>
3728
3783
  */
3729
3784
  UserData?: string;
3730
3785
  /**
@@ -3738,9 +3793,7 @@ export interface RequestLaunchTemplateData {
3738
3793
  */
3739
3794
  ElasticGpuSpecifications?: ElasticGpuSpecification[];
3740
3795
  /**
3741
- * <p>
3742
- * The elastic inference accelerator for the instance.
3743
- * </p>
3796
+ * <p> The elastic inference accelerator for the instance. </p>
3744
3797
  */
3745
3798
  ElasticInferenceAccelerators?: LaunchTemplateElasticInferenceAccelerator[];
3746
3799
  /**
@@ -3749,8 +3802,8 @@ export interface RequestLaunchTemplateData {
3749
3802
  */
3750
3803
  SecurityGroupIds?: string[];
3751
3804
  /**
3752
- * <p>[EC2-Classic, default VPC] One or more security group names. For a nondefault VPC,
3753
- * you must use security group IDs instead. You cannot specify both a security group ID and
3805
+ * <p>[EC2-Classic, default VPC] One or more security group names. For a nondefault VPC, you
3806
+ * must use security group IDs instead. You cannot specify both a security group ID and
3754
3807
  * security name in the same request.</p>
3755
3808
  */
3756
3809
  SecurityGroups?: string[];
@@ -3765,14 +3818,14 @@ export interface RequestLaunchTemplateData {
3765
3818
  CreditSpecification?: CreditSpecificationRequest;
3766
3819
  /**
3767
3820
  * <p>The CPU options for the instance. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html">Optimizing CPU Options</a> in the <i>Amazon Elastic Compute Cloud User
3768
- * Guide</i>.</p>
3821
+ * Guide</i>.</p>
3769
3822
  */
3770
3823
  CpuOptions?: LaunchTemplateCpuOptionsRequest;
3771
3824
  /**
3772
3825
  * <p>The Capacity Reservation targeting option. If you do not specify this parameter, the
3773
- * instance's Capacity Reservation preference defaults to <code>open</code>, which enables it
3774
- * to run in any open Capacity Reservation that has matching attributes (instance type,
3775
- * platform, Availability Zone).</p>
3826
+ * instance's Capacity Reservation preference defaults to <code>open</code>, which enables
3827
+ * it to run in any open Capacity Reservation that has matching attributes (instance type,
3828
+ * platform, Availability Zone).</p>
3776
3829
  */
3777
3830
  CapacityReservationSpecification?: LaunchTemplateCapacityReservationSpecificationRequest;
3778
3831
  /**
@@ -3782,21 +3835,20 @@ export interface RequestLaunchTemplateData {
3782
3835
  /**
3783
3836
  * <p>Indicates whether an instance is enabled for hibernation. This parameter is valid only
3784
3837
  * if the instance meets the <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites">hibernation
3785
- * prerequisites</a>. For
3786
- * more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html">Hibernate your instance</a> in the
3838
+ * prerequisites</a>. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html">Hibernate your instance</a> in the
3787
3839
  * <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
3788
3840
  */
3789
3841
  HibernationOptions?: LaunchTemplateHibernationOptionsRequest;
3790
3842
  /**
3791
3843
  * <p>The metadata options for the instance. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html">Instance metadata and user data</a> in the
3792
- * <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
3844
+ * <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
3793
3845
  */
3794
3846
  MetadataOptions?: LaunchTemplateInstanceMetadataOptionsRequest;
3795
3847
  /**
3796
- * <p>Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For more information,
3797
- * see <a href="https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html">
3798
- * What is Amazon Web Services Nitro Enclaves?</a> in the <i>Amazon Web Services Nitro Enclaves User Guide</i>.</p>
3799
- * <p>You can't enable Amazon Web Services Nitro Enclaves and hibernation on the same instance.</p>
3848
+ * <p>Indicates whether the instance is enabled for Amazon Web Services Nitro Enclaves. For more
3849
+ * information, see <a href="https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html"> What is Amazon Web Services Nitro Enclaves?</a>
3850
+ * in the <i>Amazon Web Services Nitro Enclaves User Guide</i>.</p>
3851
+ * <p>You can't enable Amazon Web Services Nitro Enclaves and hibernation on the same instance.</p>
3800
3852
  */
3801
3853
  EnclaveOptions?: LaunchTemplateEnclaveOptionsRequest;
3802
3854
  /**
@@ -3807,9 +3859,14 @@ export interface RequestLaunchTemplateData {
3807
3859
  */
3808
3860
  InstanceRequirements?: InstanceRequirementsRequest;
3809
3861
  /**
3810
- * <p>The options for the instance hostname. The default values are inherited from the subnet.</p>
3862
+ * <p>The options for the instance hostname. The default values are inherited from the
3863
+ * subnet.</p>
3811
3864
  */
3812
3865
  PrivateDnsNameOptions?: LaunchTemplatePrivateDnsNameOptionsRequest;
3866
+ /**
3867
+ * <p>The maintenance options for the instance.</p>
3868
+ */
3869
+ MaintenanceOptions?: LaunchTemplateInstanceMaintenanceOptionsRequest;
3813
3870
  }
3814
3871
  export declare namespace RequestLaunchTemplateData {
3815
3872
  /**
@@ -3895,16 +3952,21 @@ export declare namespace LaunchTemplate {
3895
3952
  const filterSensitiveLog: (obj: LaunchTemplate) => any;
3896
3953
  }
3897
3954
  /**
3898
- * <p>The error code and error message that is returned for a parameter or parameter combination that is not valid when a new launch template or new version of a launch template is created.</p>
3955
+ * <p>The error code and error message that is returned for a parameter or parameter
3956
+ * combination that is not valid when a new launch template or new version of a launch
3957
+ * template is created.</p>
3899
3958
  */
3900
3959
  export interface ValidationError {
3901
3960
  /**
3902
- * <p>The error code that indicates why the parameter or parameter combination is not valid. For more information about error codes, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html">Error Codes</a>.</p>
3961
+ * <p>The error code that indicates why the parameter or parameter combination is not valid.
3962
+ * For more information about error codes, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html">Error
3963
+ * Codes</a>.</p>
3903
3964
  */
3904
3965
  Code?: string;
3905
3966
  /**
3906
- * <p>The error message that describes why the parameter or parameter combination is not valid. For more
3907
- * information about error messages, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html">Error Codes</a>.</p>
3967
+ * <p>The error message that describes why the parameter or parameter combination is not
3968
+ * valid. For more information about error messages, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html">Error
3969
+ * Codes</a>.</p>
3908
3970
  */
3909
3971
  Message?: string;
3910
3972
  }
@@ -3915,7 +3977,9 @@ export declare namespace ValidationError {
3915
3977
  const filterSensitiveLog: (obj: ValidationError) => any;
3916
3978
  }
3917
3979
  /**
3918
- * <p>The error codes and error messages that are returned for the parameters or parameter combinations that are not valid when a new launch template or new version of a launch template is created.</p>
3980
+ * <p>The error codes and error messages that are returned for the parameters or parameter
3981
+ * combinations that are not valid when a new launch template or new version of a launch
3982
+ * template is created.</p>
3919
3983
  */
3920
3984
  export interface ValidationWarning {
3921
3985
  /**
@@ -3935,7 +3999,9 @@ export interface CreateLaunchTemplateResult {
3935
3999
  */
3936
4000
  LaunchTemplate?: LaunchTemplate;
3937
4001
  /**
3938
- * <p>If the launch template contains parameters or parameter combinations that are not valid, an error code and an error message are returned for each issue that's found.</p>
4002
+ * <p>If the launch template contains parameters or parameter combinations that are not
4003
+ * valid, an error code and an error message are returned for each issue that's
4004
+ * found.</p>
3939
4005
  */
3940
4006
  Warning?: ValidationWarning;
3941
4007
  }
@@ -3973,9 +4039,9 @@ export interface CreateLaunchTemplateVersionRequest {
3973
4039
  /**
3974
4040
  * <p>The version number of the launch template version on which to base the new version.
3975
4041
  * The new version inherits the same launch parameters as the source version, except for
3976
- * parameters that you specify in <code>LaunchTemplateData</code>. Snapshots applied
3977
- * to the block device mapping are ignored when creating a new version unless they
3978
- * are explicitly included.</p>
4042
+ * parameters that you specify in <code>LaunchTemplateData</code>. Snapshots applied to the
4043
+ * block device mapping are ignored when creating a new version unless they are explicitly
4044
+ * included.</p>
3979
4045
  */
3980
4046
  SourceVersion?: string;
3981
4047
  /**
@@ -4087,23 +4153,26 @@ export declare namespace CapacityReservationTargetResponse {
4087
4153
  */
4088
4154
  export interface LaunchTemplateCapacityReservationSpecificationResponse {
4089
4155
  /**
4090
- * <p>Indicates the instance's Capacity Reservation preferences. Possible preferences include:</p>
4091
- * <ul>
4156
+ * <p>Indicates the instance's Capacity Reservation preferences. Possible preferences
4157
+ * include:</p>
4158
+ * <ul>
4092
4159
  * <li>
4093
- * <p>
4094
- * <code>open</code> - The instance can run in any <code>open</code> Capacity Reservation that has matching attributes
4095
- * (instance type, platform, Availability Zone).</p>
4160
+ * <p>
4161
+ * <code>open</code> - The instance can run in any <code>open</code> Capacity
4162
+ * Reservation that has matching attributes (instance type, platform, Availability
4163
+ * Zone).</p>
4096
4164
  * </li>
4097
4165
  * <li>
4098
- * <p>
4099
- * <code>none</code> - The instance avoids running in a Capacity Reservation even if one is available. The instance
4100
- * runs in On-Demand capacity.</p>
4166
+ * <p>
4167
+ * <code>none</code> - The instance avoids running in a Capacity Reservation even
4168
+ * if one is available. The instance runs in On-Demand capacity.</p>
4101
4169
  * </li>
4102
4170
  * </ul>
4103
4171
  */
4104
4172
  CapacityReservationPreference?: CapacityReservationPreference | string;
4105
4173
  /**
4106
- * <p>Information about the target Capacity Reservation or Capacity Reservation group.</p>
4174
+ * <p>Information about the target Capacity Reservation or Capacity Reservation
4175
+ * group.</p>
4107
4176
  */
4108
4177
  CapacityReservationTarget?: CapacityReservationTargetResponse;
4109
4178
  }
@@ -4164,22 +4233,17 @@ export declare namespace ElasticGpuSpecificationResponse {
4164
4233
  const filterSensitiveLog: (obj: ElasticGpuSpecificationResponse) => any;
4165
4234
  }
4166
4235
  /**
4167
- * <p>
4168
- * Describes an elastic inference accelerator.
4169
- * </p>
4236
+ * <p> Describes an elastic inference accelerator. </p>
4170
4237
  */
4171
4238
  export interface LaunchTemplateElasticInferenceAcceleratorResponse {
4172
4239
  /**
4173
- * <p>
4174
- * The type of elastic inference accelerator. The possible values are eia1.medium, eia1.large, and eia1.xlarge.
4175
- * </p>
4240
+ * <p> The type of elastic inference accelerator. The possible values are eia1.medium,
4241
+ * eia1.large, and eia1.xlarge. </p>
4176
4242
  */
4177
4243
  Type?: string;
4178
4244
  /**
4179
- * <p>
4180
- * The number of elastic inference accelerators to attach to the instance.
4181
- * </p>
4182
- * <p>Default: 1</p>
4245
+ * <p> The number of elastic inference accelerators to attach to the instance. </p>
4246
+ * <p>Default: 1</p>
4183
4247
  */
4184
4248
  Count?: number;
4185
4249
  }
@@ -4194,8 +4258,8 @@ export declare namespace LaunchTemplateElasticInferenceAcceleratorResponse {
4194
4258
  */
4195
4259
  export interface LaunchTemplateEnclaveOptions {
4196
4260
  /**
4197
- * <p>If this parameter is set to <code>true</code>, the instance is enabled for Amazon Web Services Nitro Enclaves;
4198
- * otherwise, it is not enabled for Amazon Web Services Nitro Enclaves.</p>
4261
+ * <p>If this parameter is set to <code>true</code>, the instance is enabled for Amazon Web Services Nitro
4262
+ * Enclaves; otherwise, it is not enabled for Amazon Web Services Nitro Enclaves.</p>
4199
4263
  */
4200
4264
  Enabled?: boolean;
4201
4265
  }
@@ -4210,7 +4274,8 @@ export declare namespace LaunchTemplateEnclaveOptions {
4210
4274
  */
4211
4275
  export interface LaunchTemplateHibernationOptions {
4212
4276
  /**
4213
- * <p>If this parameter is set to <code>true</code>, the instance is enabled for hibernation; otherwise, it is not enabled for hibernation.</p>
4277
+ * <p>If this parameter is set to <code>true</code>, the instance is enabled for
4278
+ * hibernation; otherwise, it is not enabled for hibernation.</p>
4214
4279
  */
4215
4280
  Configured?: boolean;
4216
4281
  }
@@ -4252,11 +4317,15 @@ export interface LaunchTemplateSpotMarketOptions {
4252
4317
  */
4253
4318
  SpotInstanceType?: SpotInstanceType | string;
4254
4319
  /**
4255
- * <p>The required duration for the Spot Instances (also known as Spot blocks), in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360).</p>
4320
+ * <p>The required duration for the Spot Instances (also known as Spot blocks), in minutes.
4321
+ * This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360).</p>
4256
4322
  */
4257
4323
  BlockDurationMinutes?: number;
4258
4324
  /**
4259
- * <p>The end date of the request. For a one-time request, the request remains active until all instances launch, the request is canceled, or this date is reached. If the request is persistent, it remains active until it is canceled or this date and time is reached.</p>
4325
+ * <p>The end date of the request. For a one-time request, the request remains active until
4326
+ * all instances launch, the request is canceled, or this date is reached. If the request
4327
+ * is persistent, it remains active until it is canceled or this date and time is
4328
+ * reached.</p>
4260
4329
  */
4261
4330
  ValidUntil?: Date;
4262
4331
  /**
@@ -4304,6 +4373,22 @@ export declare namespace LaunchTemplateLicenseConfiguration {
4304
4373
  */
4305
4374
  const filterSensitiveLog: (obj: LaunchTemplateLicenseConfiguration) => any;
4306
4375
  }
4376
+ /**
4377
+ * <p>The maintenance options of your instance.</p>
4378
+ */
4379
+ export interface LaunchTemplateInstanceMaintenanceOptions {
4380
+ /**
4381
+ * <p>Disables the automatic recovery behavior of your instance or sets it to
4382
+ * default.</p>
4383
+ */
4384
+ AutoRecovery?: LaunchTemplateAutoRecoveryState | string;
4385
+ }
4386
+ export declare namespace LaunchTemplateInstanceMaintenanceOptions {
4387
+ /**
4388
+ * @internal
4389
+ */
4390
+ const filterSensitiveLog: (obj: LaunchTemplateInstanceMaintenanceOptions) => any;
4391
+ }
4307
4392
  export declare type LaunchTemplateInstanceMetadataOptionsState = "applied" | "pending";
4308
4393
  /**
4309
4394
  * <p>The metadata options for the instance. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html">Instance Metadata and User Data</a> in the
@@ -4312,30 +4397,41 @@ export declare type LaunchTemplateInstanceMetadataOptionsState = "applied" | "pe
4312
4397
  export interface LaunchTemplateInstanceMetadataOptions {
4313
4398
  /**
4314
4399
  * <p>The state of the metadata option changes.</p>
4315
- * <p>
4316
- * <code>pending</code> - The metadata options are being updated and the instance is not ready to process metadata traffic with the new selection.</p>
4317
- * <p>
4318
- * <code>applied</code> - The metadata options have been successfully applied on the instance.</p>
4400
+ * <p>
4401
+ * <code>pending</code> - The metadata options are being updated and the instance is not
4402
+ * ready to process metadata traffic with the new selection.</p>
4403
+ * <p>
4404
+ * <code>applied</code> - The metadata options have been successfully applied on the
4405
+ * instance.</p>
4319
4406
  */
4320
4407
  State?: LaunchTemplateInstanceMetadataOptionsState | string;
4321
4408
  /**
4322
- * <p>The state of token usage for your instance metadata requests. If the parameter is not specified in the request, the default state is <code>optional</code>.</p>
4323
- * <p>If the state is <code>optional</code>, you can choose to retrieve instance metadata 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 returned. If you retrieve the IAM role credentials using a valid signed token, the version 2.0 role credentials are returned.</p>
4324
- * <p>If the state is <code>required</code>, you must send a signed token header with any instance metadata retrieval requests. In this state, retrieving the IAM role credentials always returns the version 2.0 credentials; the version 1.0 credentials are not available.</p>
4409
+ * <p>The state of token usage for your instance metadata requests. If the parameter is not
4410
+ * specified in the request, the default state is <code>optional</code>.</p>
4411
+ * <p>If the state is <code>optional</code>, you can choose to retrieve instance metadata
4412
+ * with or without a signed token header on your request. If you retrieve the IAM role
4413
+ * credentials without a token, the version 1.0 role credentials are returned. If you
4414
+ * retrieve the IAM role credentials using a valid signed token, the version 2.0 role
4415
+ * credentials are returned.</p>
4416
+ * <p>If the state is <code>required</code>, you must send a signed token header with any
4417
+ * instance metadata retrieval requests. In this state, retrieving the IAM role credentials
4418
+ * always returns the version 2.0 credentials; the version 1.0 credentials are not
4419
+ * available.</p>
4325
4420
  */
4326
4421
  HttpTokens?: LaunchTemplateHttpTokensState | string;
4327
4422
  /**
4328
- * <p>The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel.</p>
4329
- * <p>Default: 1</p>
4330
- * <p>Possible values: Integers from 1 to 64</p>
4423
+ * <p>The desired HTTP PUT response hop limit for instance metadata requests. The larger the
4424
+ * number, the further instance metadata requests can travel.</p>
4425
+ * <p>Default: 1</p>
4426
+ * <p>Possible values: Integers from 1 to 64</p>
4331
4427
  */
4332
4428
  HttpPutResponseHopLimit?: number;
4333
4429
  /**
4334
4430
  * <p>Enables or disables the HTTP metadata endpoint on your instances. If the parameter is
4335
4431
  * not specified, the default state is <code>enabled</code>.</p>
4336
4432
  * <note>
4337
- * <p>If you specify a value of <code>disabled</code>, you will not be able to access your instance metadata.
4338
- * </p>
4433
+ * <p>If you specify a value of <code>disabled</code>, you will not be able to access
4434
+ * your instance metadata. </p>
4339
4435
  * </note>
4340
4436
  */
4341
4437
  HttpEndpoint?: LaunchTemplateInstanceMetadataEndpointState | string;
@@ -4347,8 +4443,8 @@ export interface LaunchTemplateInstanceMetadataOptions {
4347
4443
  HttpProtocolIpv6?: LaunchTemplateInstanceMetadataProtocolIpv6 | string;
4348
4444
  /**
4349
4445
  * <p>Set to <code>enabled</code> to allow access to instance tags from the instance
4350
- * metadata. Set to <code>disabled</code> to turn off access to instance tags from the instance
4351
- * 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
4446
+ * metadata. Set to <code>disabled</code> to turn off access to instance tags from the
4447
+ * 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
4352
4448
  * instance tags using the instance metadata</a>.</p>
4353
4449
  * <p>Default: <code>disabled</code>
4354
4450
  * </p>
@@ -4429,19 +4525,22 @@ export declare namespace Ipv6PrefixSpecificationResponse {
4429
4525
  */
4430
4526
  export interface LaunchTemplateInstanceNetworkInterfaceSpecification {
4431
4527
  /**
4432
- * <p>Indicates whether to associate a Carrier IP address with eth0 for a new network interface.</p>
4528
+ * <p>Indicates whether to associate a Carrier IP address with eth0 for a new network
4529
+ * interface.</p>
4433
4530
  * <p>Use this option when you launch an instance in a Wavelength Zone and want to associate
4434
4531
  * a Carrier IP address with the network interface. For more information about Carrier IP
4435
4532
  * addresses, see <a href="https://docs.aws.amazon.com/wavelength/latest/developerguide/how-wavelengths-work.html#provider-owned-ip">Carrier IP addresses</a> in the <i>Wavelength Developer
4436
- * Guide</i>.</p>
4533
+ * Guide</i>.</p>
4437
4534
  */
4438
4535
  AssociateCarrierIpAddress?: boolean;
4439
4536
  /**
4440
- * <p>Indicates whether to associate a public IPv4 address with eth0 for a new network interface.</p>
4537
+ * <p>Indicates whether to associate a public IPv4 address with eth0 for a new network
4538
+ * interface.</p>
4441
4539
  */
4442
4540
  AssociatePublicIpAddress?: boolean;
4443
4541
  /**
4444
- * <p>Indicates whether the network interface is deleted when the instance is terminated.</p>
4542
+ * <p>Indicates whether the network interface is deleted when the instance is
4543
+ * terminated.</p>
4445
4544
  */
4446
4545
  DeleteOnTermination?: boolean;
4447
4546
  /**
@@ -4497,8 +4596,8 @@ export interface LaunchTemplateInstanceNetworkInterfaceSpecification {
4497
4596
  */
4498
4597
  Ipv4Prefixes?: Ipv4PrefixSpecificationResponse[];
4499
4598
  /**
4500
- * <p>The number of IPv4 prefixes that Amazon Web Services automatically assigned to the
4501
- * network interface.</p>
4599
+ * <p>The number of IPv4 prefixes that Amazon Web Services automatically assigned to the network
4600
+ * interface.</p>
4502
4601
  */
4503
4602
  Ipv4PrefixCount?: number;
4504
4603
  /**
@@ -4538,7 +4637,8 @@ export interface LaunchTemplatePlacement {
4538
4637
  */
4539
4638
  HostId?: string;
4540
4639
  /**
4541
- * <p>The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of <code>dedicated</code> runs on single-tenant hardware. </p>
4640
+ * <p>The tenancy of the instance (if the instance is running in a VPC). An instance with a
4641
+ * tenancy of <code>dedicated</code> runs on single-tenant hardware. </p>
4542
4642
  */
4543
4643
  Tenancy?: Tenancy | string;
4544
4644
  /**
@@ -4546,12 +4646,12 @@ export interface LaunchTemplatePlacement {
4546
4646
  */
4547
4647
  SpreadDomain?: string;
4548
4648
  /**
4549
- * <p>The ARN of the host resource group in which to launch the instances.
4550
- * </p>
4649
+ * <p>The ARN of the host resource group in which to launch the instances. </p>
4551
4650
  */
4552
4651
  HostResourceGroupArn?: string;
4553
4652
  /**
4554
- * <p>The number of the partition the instance should launch in. Valid only if the placement group strategy is set to <code>partition</code>.</p>
4653
+ * <p>The number of the partition the instance should launch in. Valid only if the placement
4654
+ * group strategy is set to <code>partition</code>.</p>
4555
4655
  */
4556
4656
  PartitionNumber?: number;
4557
4657
  }
@@ -4570,11 +4670,13 @@ export interface LaunchTemplatePrivateDnsNameOptions {
4570
4670
  */
4571
4671
  HostnameType?: HostnameType | string;
4572
4672
  /**
4573
- * <p>Indicates whether to respond to DNS queries for instance hostnames with DNS A records.</p>
4673
+ * <p>Indicates whether to respond to DNS queries for instance hostnames with DNS A
4674
+ * records.</p>
4574
4675
  */
4575
4676
  EnableResourceNameDnsARecord?: boolean;
4576
4677
  /**
4577
- * <p>Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.</p>
4678
+ * <p>Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA
4679
+ * records.</p>
4578
4680
  */
4579
4681
  EnableResourceNameDnsAAAARecord?: boolean;
4580
4682
  }
@@ -4657,8 +4759,8 @@ export interface ResponseLaunchTemplateData {
4657
4759
  */
4658
4760
  DisableApiTermination?: boolean;
4659
4761
  /**
4660
- * <p>Indicates whether an instance stops or terminates when you initiate shutdown from
4661
- * the instance (using the operating system command for system shutdown).</p>
4762
+ * <p>Indicates whether an instance stops or terminates when you initiate shutdown from the
4763
+ * instance (using the operating system command for system shutdown).</p>
4662
4764
  */
4663
4765
  InstanceInitiatedShutdownBehavior?: ShutdownBehavior | string;
4664
4766
  /**
@@ -4674,9 +4776,7 @@ export interface ResponseLaunchTemplateData {
4674
4776
  */
4675
4777
  ElasticGpuSpecifications?: ElasticGpuSpecificationResponse[];
4676
4778
  /**
4677
- * <p>
4678
- * The elastic inference accelerator for the instance.
4679
- * </p>
4779
+ * <p> The elastic inference accelerator for the instance. </p>
4680
4780
  */
4681
4781
  ElasticInferenceAccelerators?: LaunchTemplateElasticInferenceAcceleratorResponse[];
4682
4782
  /**
@@ -4697,7 +4797,7 @@ export interface ResponseLaunchTemplateData {
4697
4797
  CreditSpecification?: CreditSpecification;
4698
4798
  /**
4699
4799
  * <p>The CPU options for the instance. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-optimize-cpu.html">Optimizing CPU options</a> in the <i>Amazon Elastic Compute Cloud User
4700
- * Guide</i>.</p>
4800
+ * Guide</i>.</p>
4701
4801
  */
4702
4802
  CpuOptions?: LaunchTemplateCpuOptions;
4703
4803
  /**
@@ -4716,7 +4816,7 @@ export interface ResponseLaunchTemplateData {
4716
4816
  HibernationOptions?: LaunchTemplateHibernationOptions;
4717
4817
  /**
4718
4818
  * <p>The metadata options for the instance. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html">Instance metadata and user data</a> in the
4719
- * <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
4819
+ * <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
4720
4820
  */
4721
4821
  MetadataOptions?: LaunchTemplateInstanceMetadataOptions;
4722
4822
  /**
@@ -4734,6 +4834,10 @@ export interface ResponseLaunchTemplateData {
4734
4834
  * <p>The options for the instance hostname.</p>
4735
4835
  */
4736
4836
  PrivateDnsNameOptions?: LaunchTemplatePrivateDnsNameOptions;
4837
+ /**
4838
+ * <p>The maintenance options for your instance.</p>
4839
+ */
4840
+ MaintenanceOptions?: LaunchTemplateInstanceMaintenanceOptions;
4737
4841
  }
4738
4842
  export declare namespace ResponseLaunchTemplateData {
4739
4843
  /**
@@ -4790,7 +4894,9 @@ export interface CreateLaunchTemplateVersionResult {
4790
4894
  */
4791
4895
  LaunchTemplateVersion?: LaunchTemplateVersion;
4792
4896
  /**
4793
- * <p>If the new version of the launch template contains parameters or parameter combinations that are not valid, an error code and an error message are returned for each issue that's found.</p>
4897
+ * <p>If the new version of the launch template contains parameters or parameter
4898
+ * combinations that are not valid, an error code and an error message are returned for
4899
+ * each issue that's found.</p>
4794
4900
  */
4795
4901
  Warning?: ValidationWarning;
4796
4902
  }
@@ -8304,128 +8410,3 @@ export declare namespace CreateTransitGatewayConnectRequest {
8304
8410
  */
8305
8411
  const filterSensitiveLog: (obj: CreateTransitGatewayConnectRequest) => any;
8306
8412
  }
8307
- /**
8308
- * <p>Describes the Connect attachment options.</p>
8309
- */
8310
- export interface TransitGatewayConnectOptions {
8311
- /**
8312
- * <p>The tunnel protocol.</p>
8313
- */
8314
- Protocol?: ProtocolValue | string;
8315
- }
8316
- export declare namespace TransitGatewayConnectOptions {
8317
- /**
8318
- * @internal
8319
- */
8320
- const filterSensitiveLog: (obj: TransitGatewayConnectOptions) => any;
8321
- }
8322
- /**
8323
- * <p>Describes a transit gateway Connect attachment.</p>
8324
- */
8325
- export interface TransitGatewayConnect {
8326
- /**
8327
- * <p>The ID of the Connect attachment.</p>
8328
- */
8329
- TransitGatewayAttachmentId?: string;
8330
- /**
8331
- * <p>The ID of the attachment from which the Connect attachment was created.</p>
8332
- */
8333
- TransportTransitGatewayAttachmentId?: string;
8334
- /**
8335
- * <p>The ID of the transit gateway.</p>
8336
- */
8337
- TransitGatewayId?: string;
8338
- /**
8339
- * <p>The state of the attachment.</p>
8340
- */
8341
- State?: TransitGatewayAttachmentState | string;
8342
- /**
8343
- * <p>The creation time.</p>
8344
- */
8345
- CreationTime?: Date;
8346
- /**
8347
- * <p>The Connect attachment options.</p>
8348
- */
8349
- Options?: TransitGatewayConnectOptions;
8350
- /**
8351
- * <p>The tags for the attachment.</p>
8352
- */
8353
- Tags?: Tag[];
8354
- }
8355
- export declare namespace TransitGatewayConnect {
8356
- /**
8357
- * @internal
8358
- */
8359
- const filterSensitiveLog: (obj: TransitGatewayConnect) => any;
8360
- }
8361
- export interface CreateTransitGatewayConnectResult {
8362
- /**
8363
- * <p>Information about the Connect attachment.</p>
8364
- */
8365
- TransitGatewayConnect?: TransitGatewayConnect;
8366
- }
8367
- export declare namespace CreateTransitGatewayConnectResult {
8368
- /**
8369
- * @internal
8370
- */
8371
- const filterSensitiveLog: (obj: CreateTransitGatewayConnectResult) => any;
8372
- }
8373
- /**
8374
- * <p>The BGP options for the Connect attachment.</p>
8375
- */
8376
- export interface TransitGatewayConnectRequestBgpOptions {
8377
- /**
8378
- * <p>The peer Autonomous System Number (ASN).</p>
8379
- */
8380
- PeerAsn?: number;
8381
- }
8382
- export declare namespace TransitGatewayConnectRequestBgpOptions {
8383
- /**
8384
- * @internal
8385
- */
8386
- const filterSensitiveLog: (obj: TransitGatewayConnectRequestBgpOptions) => any;
8387
- }
8388
- export interface CreateTransitGatewayConnectPeerRequest {
8389
- /**
8390
- * <p>The ID of the Connect attachment.</p>
8391
- */
8392
- TransitGatewayAttachmentId: string | undefined;
8393
- /**
8394
- * <p>The peer IP address (GRE outer IP address) on the transit gateway side of the Connect peer, which must be
8395
- * specified from a transit gateway CIDR block. If not specified, Amazon automatically assigns
8396
- * the first available IP address from the transit gateway CIDR block.</p>
8397
- */
8398
- TransitGatewayAddress?: string;
8399
- /**
8400
- * <p>The peer IP address (GRE outer IP address) on the appliance side of the Connect peer.</p>
8401
- */
8402
- PeerAddress: string | undefined;
8403
- /**
8404
- * <p>The BGP options for the Connect peer.</p>
8405
- */
8406
- BgpOptions?: TransitGatewayConnectRequestBgpOptions;
8407
- /**
8408
- * <p>The range of inside IP addresses that are used for BGP peering. You must specify a
8409
- * size /29 IPv4 CIDR block from the <code>169.254.0.0/16</code> range. The first address
8410
- * from the range must be configured on the appliance as the BGP IP address. You can also
8411
- * optionally specify a size /125 IPv6 CIDR block from the <code>fd00::/8</code>
8412
- * range.</p>
8413
- */
8414
- InsideCidrBlocks: string[] | undefined;
8415
- /**
8416
- * <p>The tags to apply to the Connect peer.</p>
8417
- */
8418
- TagSpecifications?: TagSpecification[];
8419
- /**
8420
- * <p>Checks whether you have the required permissions for the action, without actually making the request,
8421
- * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
8422
- * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
8423
- */
8424
- DryRun?: boolean;
8425
- }
8426
- export declare namespace CreateTransitGatewayConnectPeerRequest {
8427
- /**
8428
- * @internal
8429
- */
8430
- const filterSensitiveLog: (obj: CreateTransitGatewayConnectPeerRequest) => any;
8431
- }