@aws-sdk/client-ec2 3.695.0 → 3.697.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 (162) hide show
  1. package/README.md +48 -0
  2. package/dist-cjs/index.js +730 -57
  3. package/dist-es/EC2.js +12 -0
  4. package/dist-es/commands/CreateVpcBlockPublicAccessExclusionCommand.js +22 -0
  5. package/dist-es/commands/DeleteVpcBlockPublicAccessExclusionCommand.js +22 -0
  6. package/dist-es/commands/DescribeVpcBlockPublicAccessExclusionsCommand.js +22 -0
  7. package/dist-es/commands/DescribeVpcBlockPublicAccessOptionsCommand.js +22 -0
  8. package/dist-es/commands/ModifyVpcBlockPublicAccessExclusionCommand.js +22 -0
  9. package/dist-es/commands/ModifyVpcBlockPublicAccessOptionsCommand.js +22 -0
  10. package/dist-es/commands/index.js +6 -0
  11. package/dist-es/models/models_1.js +7 -4
  12. package/dist-es/models/models_2.js +20 -0
  13. package/dist-es/models/models_3.js +0 -6
  14. package/dist-es/models/models_4.js +6 -15
  15. package/dist-es/models/models_5.js +25 -0
  16. package/dist-es/protocols/Aws_ec2.js +563 -28
  17. package/dist-types/EC2.d.ts +44 -0
  18. package/dist-types/EC2Client.d.ts +8 -2
  19. package/dist-types/commands/BundleInstanceCommand.d.ts +4 -2
  20. package/dist-types/commands/CancelImageLaunchPermissionCommand.d.ts +3 -4
  21. package/dist-types/commands/CopyImageCommand.d.ts +8 -7
  22. package/dist-types/commands/CreateDefaultSubnetCommand.d.ts +3 -0
  23. package/dist-types/commands/CreateDefaultVpcCommand.d.ts +3 -0
  24. package/dist-types/commands/CreateFleetCommand.d.ts +30 -3
  25. package/dist-types/commands/CreateImageCommand.d.ts +6 -5
  26. package/dist-types/commands/CreateLaunchTemplateCommand.d.ts +11 -2
  27. package/dist-types/commands/CreateLaunchTemplateVersionCommand.d.ts +22 -4
  28. package/dist-types/commands/CreateNetworkAclCommand.d.ts +2 -1
  29. package/dist-types/commands/CreateNetworkAclEntryCommand.d.ts +1 -1
  30. package/dist-types/commands/CreateNetworkInsightsAccessScopeCommand.d.ts +1 -2
  31. package/dist-types/commands/CreateRestoreImageTaskCommand.d.ts +3 -3
  32. package/dist-types/commands/CreateStoreImageTaskCommand.d.ts +1 -1
  33. package/dist-types/commands/CreateSubnetCommand.d.ts +3 -0
  34. package/dist-types/commands/CreateVpcBlockPublicAccessExclusionCommand.d.ts +100 -0
  35. package/dist-types/commands/CreateVpcCommand.d.ts +3 -0
  36. package/dist-types/commands/DeleteInstanceEventWindowCommand.d.ts +2 -1
  37. package/dist-types/commands/DeleteInternetGatewayCommand.d.ts +1 -1
  38. package/dist-types/commands/DeleteIpamCommand.d.ts +1 -1
  39. package/dist-types/commands/DeleteIpamExternalResourceVerificationTokenCommand.d.ts +1 -1
  40. package/dist-types/commands/DeleteIpamPoolCommand.d.ts +1 -1
  41. package/dist-types/commands/DeleteIpamResourceDiscoveryCommand.d.ts +1 -1
  42. package/dist-types/commands/DeleteIpamScopeCommand.d.ts +1 -1
  43. package/dist-types/commands/DeleteVpcBlockPublicAccessExclusionCommand.d.ts +87 -0
  44. package/dist-types/commands/DeregisterImageCommand.d.ts +11 -11
  45. package/dist-types/commands/DescribeBundleTasksCommand.d.ts +6 -4
  46. package/dist-types/commands/DescribeFleetsCommand.d.ts +30 -3
  47. package/dist-types/commands/DescribeHostReservationOfferingsCommand.d.ts +2 -1
  48. package/dist-types/commands/DescribeHostReservationsCommand.d.ts +1 -1
  49. package/dist-types/commands/DescribeHostsCommand.d.ts +1 -1
  50. package/dist-types/commands/DescribeIamInstanceProfileAssociationsCommand.d.ts +1 -1
  51. package/dist-types/commands/DescribeImageAttributeCommand.d.ts +4 -4
  52. package/dist-types/commands/DescribeImagesCommand.d.ts +8 -7
  53. package/dist-types/commands/DescribeInstancesCommand.d.ts +1 -1
  54. package/dist-types/commands/DescribeLaunchTemplateVersionsCommand.d.ts +11 -2
  55. package/dist-types/commands/DescribeSecurityGroupVpcAssociationsCommand.d.ts +1 -1
  56. package/dist-types/commands/DescribeSecurityGroupsCommand.d.ts +1 -1
  57. package/dist-types/commands/DescribeSnapshotAttributeCommand.d.ts +1 -1
  58. package/dist-types/commands/DescribeSnapshotTierStatusCommand.d.ts +1 -2
  59. package/dist-types/commands/DescribeSnapshotsCommand.d.ts +1 -1
  60. package/dist-types/commands/DescribeSpotFleetRequestsCommand.d.ts +20 -2
  61. package/dist-types/commands/DescribeStoreImageTasksCommand.d.ts +1 -1
  62. package/dist-types/commands/DescribeSubnetsCommand.d.ts +3 -0
  63. package/dist-types/commands/DescribeVpcBlockPublicAccessExclusionsCommand.d.ts +102 -0
  64. package/dist-types/commands/DescribeVpcBlockPublicAccessOptionsCommand.d.ts +78 -0
  65. package/dist-types/commands/DescribeVpcsCommand.d.ts +3 -0
  66. package/dist-types/commands/DisableFastLaunchCommand.d.ts +6 -4
  67. package/dist-types/commands/DisableImageBlockPublicAccessCommand.d.ts +2 -2
  68. package/dist-types/commands/EnableFastLaunchCommand.d.ts +8 -7
  69. package/dist-types/commands/EnableImageDeprecationCommand.d.ts +2 -1
  70. package/dist-types/commands/ExportClientVpnClientConfigurationCommand.d.ts +2 -1
  71. package/dist-types/commands/ExportImageCommand.d.ts +1 -1
  72. package/dist-types/commands/ExportTransitGatewayRoutesCommand.d.ts +1 -1
  73. package/dist-types/commands/GetAssociatedEnclaveCertificateIamRolesCommand.d.ts +1 -1
  74. package/dist-types/commands/GetAssociatedIpv6PoolCidrsCommand.d.ts +1 -1
  75. package/dist-types/commands/GetAwsNetworkPerformanceDataCommand.d.ts +1 -1
  76. package/dist-types/commands/GetCapacityReservationUsageCommand.d.ts +1 -1
  77. package/dist-types/commands/GetCoipPoolUsageCommand.d.ts +1 -2
  78. package/dist-types/commands/GetInstanceTypesFromInstanceRequirementsCommand.d.ts +10 -1
  79. package/dist-types/commands/GetLaunchTemplateDataCommand.d.ts +11 -2
  80. package/dist-types/commands/GetSpotPlacementScoresCommand.d.ts +10 -1
  81. package/dist-types/commands/ListImagesInRecycleBinCommand.d.ts +2 -2
  82. package/dist-types/commands/ModifyFleetCommand.d.ts +10 -1
  83. package/dist-types/commands/ModifyImageAttributeCommand.d.ts +7 -5
  84. package/dist-types/commands/ModifyInstanceCapacityReservationAttributesCommand.d.ts +2 -2
  85. package/dist-types/commands/ModifySpotFleetRequestCommand.d.ts +10 -1
  86. package/dist-types/commands/ModifyTransitGatewayPrefixListReferenceCommand.d.ts +2 -1
  87. package/dist-types/commands/ModifyTransitGatewayVpcAttachmentCommand.d.ts +1 -1
  88. package/dist-types/commands/ModifyVerifiedAccessEndpointCommand.d.ts +1 -1
  89. package/dist-types/commands/ModifyVerifiedAccessEndpointPolicyCommand.d.ts +1 -1
  90. package/dist-types/commands/ModifyVerifiedAccessGroupCommand.d.ts +1 -1
  91. package/dist-types/commands/ModifyVerifiedAccessGroupPolicyCommand.d.ts +1 -1
  92. package/dist-types/commands/ModifyVerifiedAccessInstanceCommand.d.ts +1 -1
  93. package/dist-types/commands/ModifyVerifiedAccessInstanceLoggingConfigurationCommand.d.ts +1 -1
  94. package/dist-types/commands/ModifyVpcBlockPublicAccessExclusionCommand.d.ts +88 -0
  95. package/dist-types/commands/ModifyVpcBlockPublicAccessOptionsCommand.d.ts +79 -0
  96. package/dist-types/commands/RegisterImageCommand.d.ts +6 -7
  97. package/dist-types/commands/RequestSpotFleetCommand.d.ts +20 -2
  98. package/dist-types/commands/RestoreImageFromRecycleBinCommand.d.ts +2 -1
  99. package/dist-types/commands/RunInstancesCommand.d.ts +2 -2
  100. package/dist-types/commands/index.d.ts +6 -0
  101. package/dist-types/models/models_0.d.ts +27 -23
  102. package/dist-types/models/models_1.d.ts +310 -277
  103. package/dist-types/models/models_2.d.ts +417 -219
  104. package/dist-types/models/models_3.d.ts +268 -589
  105. package/dist-types/models/models_4.d.ts +6951 -7048
  106. package/dist-types/models/models_5.d.ts +3709 -3519
  107. package/dist-types/models/models_6.d.ts +4429 -4255
  108. package/dist-types/models/models_7.d.ts +624 -29
  109. package/dist-types/protocols/Aws_ec2.d.ts +54 -0
  110. package/dist-types/ts3.4/EC2.d.ts +140 -0
  111. package/dist-types/ts3.4/EC2Client.d.ts +36 -0
  112. package/dist-types/ts3.4/commands/CreateNetworkAclCommand.d.ts +2 -4
  113. package/dist-types/ts3.4/commands/CreateNetworkAclEntryCommand.d.ts +1 -1
  114. package/dist-types/ts3.4/commands/CreateNetworkInsightsAccessScopeCommand.d.ts +4 -2
  115. package/dist-types/ts3.4/commands/CreateVpcBlockPublicAccessExclusionCommand.d.ts +51 -0
  116. package/dist-types/ts3.4/commands/DeleteInstanceEventWindowCommand.d.ts +2 -4
  117. package/dist-types/ts3.4/commands/DeleteInternetGatewayCommand.d.ts +1 -1
  118. package/dist-types/ts3.4/commands/DeleteIpamCommand.d.ts +1 -1
  119. package/dist-types/ts3.4/commands/DeleteIpamExternalResourceVerificationTokenCommand.d.ts +1 -1
  120. package/dist-types/ts3.4/commands/DeleteIpamPoolCommand.d.ts +1 -1
  121. package/dist-types/ts3.4/commands/DeleteIpamResourceDiscoveryCommand.d.ts +1 -1
  122. package/dist-types/ts3.4/commands/DeleteIpamScopeCommand.d.ts +1 -1
  123. package/dist-types/ts3.4/commands/DeleteVpcBlockPublicAccessExclusionCommand.d.ts +51 -0
  124. package/dist-types/ts3.4/commands/DescribeHostReservationOfferingsCommand.d.ts +2 -4
  125. package/dist-types/ts3.4/commands/DescribeHostReservationsCommand.d.ts +1 -1
  126. package/dist-types/ts3.4/commands/DescribeHostsCommand.d.ts +1 -1
  127. package/dist-types/ts3.4/commands/DescribeIamInstanceProfileAssociationsCommand.d.ts +1 -1
  128. package/dist-types/ts3.4/commands/DescribeSecurityGroupVpcAssociationsCommand.d.ts +1 -1
  129. package/dist-types/ts3.4/commands/DescribeSecurityGroupsCommand.d.ts +1 -1
  130. package/dist-types/ts3.4/commands/DescribeSnapshotAttributeCommand.d.ts +1 -1
  131. package/dist-types/ts3.4/commands/DescribeSnapshotTierStatusCommand.d.ts +4 -2
  132. package/dist-types/ts3.4/commands/DescribeSnapshotsCommand.d.ts +1 -1
  133. package/dist-types/ts3.4/commands/DescribeVpcBlockPublicAccessExclusionsCommand.d.ts +51 -0
  134. package/dist-types/ts3.4/commands/DescribeVpcBlockPublicAccessOptionsCommand.d.ts +51 -0
  135. package/dist-types/ts3.4/commands/ExportClientVpnClientConfigurationCommand.d.ts +2 -4
  136. package/dist-types/ts3.4/commands/ExportImageCommand.d.ts +1 -1
  137. package/dist-types/ts3.4/commands/ExportTransitGatewayRoutesCommand.d.ts +1 -1
  138. package/dist-types/ts3.4/commands/GetAssociatedEnclaveCertificateIamRolesCommand.d.ts +1 -1
  139. package/dist-types/ts3.4/commands/GetAssociatedIpv6PoolCidrsCommand.d.ts +1 -1
  140. package/dist-types/ts3.4/commands/GetAwsNetworkPerformanceDataCommand.d.ts +1 -1
  141. package/dist-types/ts3.4/commands/GetCapacityReservationUsageCommand.d.ts +1 -1
  142. package/dist-types/ts3.4/commands/GetCoipPoolUsageCommand.d.ts +4 -2
  143. package/dist-types/ts3.4/commands/ModifyTransitGatewayPrefixListReferenceCommand.d.ts +2 -4
  144. package/dist-types/ts3.4/commands/ModifyTransitGatewayVpcAttachmentCommand.d.ts +1 -1
  145. package/dist-types/ts3.4/commands/ModifyVerifiedAccessEndpointCommand.d.ts +1 -1
  146. package/dist-types/ts3.4/commands/ModifyVerifiedAccessEndpointPolicyCommand.d.ts +1 -1
  147. package/dist-types/ts3.4/commands/ModifyVerifiedAccessGroupCommand.d.ts +1 -1
  148. package/dist-types/ts3.4/commands/ModifyVerifiedAccessGroupPolicyCommand.d.ts +1 -1
  149. package/dist-types/ts3.4/commands/ModifyVerifiedAccessInstanceCommand.d.ts +1 -1
  150. package/dist-types/ts3.4/commands/ModifyVerifiedAccessInstanceLoggingConfigurationCommand.d.ts +1 -1
  151. package/dist-types/ts3.4/commands/ModifyVpcBlockPublicAccessExclusionCommand.d.ts +51 -0
  152. package/dist-types/ts3.4/commands/ModifyVpcBlockPublicAccessOptionsCommand.d.ts +51 -0
  153. package/dist-types/ts3.4/commands/index.d.ts +6 -0
  154. package/dist-types/ts3.4/models/models_1.d.ts +34 -60
  155. package/dist-types/ts3.4/models/models_2.d.ts +102 -57
  156. package/dist-types/ts3.4/models/models_3.d.ts +64 -117
  157. package/dist-types/ts3.4/models/models_4.d.ts +119 -113
  158. package/dist-types/ts3.4/models/models_5.d.ts +152 -141
  159. package/dist-types/ts3.4/models/models_6.d.ts +139 -138
  160. package/dist-types/ts3.4/models/models_7.d.ts +158 -3
  161. package/dist-types/ts3.4/protocols/Aws_ec2.d.ts +72 -0
  162. package/package.json +37 -37
@@ -1,4 +1,4 @@
1
- import { AcceleratorCount, AcceleratorCountRequest, AcceleratorManufacturer, AcceleratorName, AcceleratorTotalMemoryMiB, AcceleratorTotalMemoryMiBRequest, AcceleratorType, AccessScopePathRequest, AddIpamOperatingRegion, AddPrefixListEntry, AddressFamily, AttachmentStatus, CapacityAllocation, CapacityReservationFleetState, CapacityReservationInstancePlatform, CapacityReservationState, CapacityReservationTenancy, CapacityReservationType, EndDateType, InstanceEventWindow, InstanceMatchCriteria, NatGatewayAddress, PortRange, ResourceType, SubnetIpv6CidrBlockAssociation, Tag, TagSpecification, UnsuccessfulItem, VpcCidrBlockAssociation, VpcIpv6CidrBlockAssociation, WeekDay } from "./models_0";
1
+ import { AcceleratorCount, AcceleratorCountRequest, AcceleratorManufacturer, AcceleratorName, AcceleratorTotalMemoryMiB, AcceleratorTotalMemoryMiBRequest, AcceleratorType, AddIpamOperatingRegion, AddPrefixListEntry, AddressFamily, AttachmentStatus, CapacityAllocation, CapacityReservationFleetState, CapacityReservationInstancePlatform, CapacityReservationState, CapacityReservationTenancy, CapacityReservationType, EndDateType, InstanceEventWindow, InstanceMatchCriteria, NatGatewayAddress, ResourceType, SubnetIpv6CidrBlockAssociation, Tag, TagSpecification, UnsuccessfulItem, VpcCidrBlockAssociation, VpcIpv6CidrBlockAssociation, WeekDay } from "./models_0";
2
2
  /**
3
3
  * <p>Describes a Capacity Reservation.</p>
4
4
  * @public
@@ -2294,6 +2294,44 @@ export interface CreateDefaultSubnetRequest {
2294
2294
  */
2295
2295
  Ipv6Native?: boolean | undefined;
2296
2296
  }
2297
+ /**
2298
+ * @public
2299
+ * @enum
2300
+ */
2301
+ export declare const BlockPublicAccessMode: {
2302
+ readonly block_bidirectional: "block-bidirectional";
2303
+ readonly block_ingress: "block-ingress";
2304
+ readonly off: "off";
2305
+ };
2306
+ /**
2307
+ * @public
2308
+ */
2309
+ export type BlockPublicAccessMode = (typeof BlockPublicAccessMode)[keyof typeof BlockPublicAccessMode];
2310
+ /**
2311
+ * <p>The state of VPC Block Public Access (BPA).</p>
2312
+ * @public
2313
+ */
2314
+ export interface BlockPublicAccessStates {
2315
+ /**
2316
+ * <p>The mode of VPC BPA.</p>
2317
+ * <ul>
2318
+ * <li>
2319
+ * <p>
2320
+ * <code>bidirectional-access-allowed</code>: VPC BPA is not enabled and traffic is allowed to and from internet gateways and egress-only internet gateways in this Region.</p>
2321
+ * </li>
2322
+ * <li>
2323
+ * <p>
2324
+ * <code>bidirectional-access-blocked</code>: Block all traffic to and from internet gateways and egress-only internet gateways in this Region (except for excluded VPCs and subnets).</p>
2325
+ * </li>
2326
+ * <li>
2327
+ * <p>
2328
+ * <code>ingress-access-blocked</code>: Block all internet traffic to the VPCs in this Region (except for VPCs or subnets which are excluded). Only traffic to and from NAT gateways and egress-only internet gateways is allowed because these gateways only allow outbound connections to be established.</p>
2329
+ * </li>
2330
+ * </ul>
2331
+ * @public
2332
+ */
2333
+ InternetGatewayBlockMode?: BlockPublicAccessMode | undefined;
2334
+ }
2297
2335
  /**
2298
2336
  * @public
2299
2337
  * @enum
@@ -2423,6 +2461,11 @@ export interface Subnet {
2423
2461
  * @public
2424
2462
  */
2425
2463
  PrivateDnsNameOptionsOnLaunch?: PrivateDnsNameOptionsOnLaunch | undefined;
2464
+ /**
2465
+ * <p>The state of VPC Block Public Access (BPA).</p>
2466
+ * @public
2467
+ */
2468
+ BlockPublicAccessStates?: BlockPublicAccessStates | undefined;
2426
2469
  /**
2427
2470
  * <p>The ID of the subnet.</p>
2428
2471
  * @public
@@ -2549,6 +2592,11 @@ export interface Vpc {
2549
2592
  * @public
2550
2593
  */
2551
2594
  Tags?: Tag[] | undefined;
2595
+ /**
2596
+ * <p>The state of VPC Block Public Access (BPA).</p>
2597
+ * @public
2598
+ */
2599
+ BlockPublicAccessStates?: BlockPublicAccessStates | undefined;
2552
2600
  /**
2553
2601
  * <p>The ID of the VPC.</p>
2554
2602
  * @public
@@ -2838,6 +2886,117 @@ export interface BaselineEbsBandwidthMbpsRequest {
2838
2886
  */
2839
2887
  Max?: number | undefined;
2840
2888
  }
2889
+ /**
2890
+ * <p>Specify an instance family to use as the baseline reference for CPU performance. All
2891
+ * instance types that match your specified attributes will be compared against the CPU
2892
+ * performance of the referenced instance family, regardless of CPU manufacturer or
2893
+ * architecture.</p>
2894
+ * <note>
2895
+ * <p>Currently, only one instance family can be specified in the list.</p>
2896
+ * </note>
2897
+ * @public
2898
+ */
2899
+ export interface PerformanceFactorReferenceRequest {
2900
+ /**
2901
+ * <p>The instance family to use as a baseline reference.</p>
2902
+ * <note>
2903
+ * <p>Ensure that you specify the correct value for the instance family. The instance
2904
+ * family is everything before the period (<code>.</code>) in the instance type name. For
2905
+ * example, in the instance type <code>c6i.large</code>, the instance family is
2906
+ * <code>c6i</code>, not <code>c6</code>. For more information, see <a href="https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-type-names.html">Amazon EC2
2907
+ * instance type naming conventions</a> in <i>Amazon EC2 Instance
2908
+ * Types</i>.</p>
2909
+ * </note>
2910
+ * <p>The following instance families are <i>not supported</i> for performance
2911
+ * protection:</p>
2912
+ * <ul>
2913
+ * <li>
2914
+ * <p>
2915
+ * <code>c1</code>
2916
+ * </p>
2917
+ * </li>
2918
+ * <li>
2919
+ * <p>
2920
+ * <code>g3</code> | <code>g3s</code>
2921
+ * </p>
2922
+ * </li>
2923
+ * <li>
2924
+ * <p>
2925
+ * <code>hpc7g</code>
2926
+ * </p>
2927
+ * </li>
2928
+ * <li>
2929
+ * <p>
2930
+ * <code>m1</code> | <code>m2</code>
2931
+ * </p>
2932
+ * </li>
2933
+ * <li>
2934
+ * <p>
2935
+ * <code>mac1</code> | <code>mac2</code> | <code>mac2-m1ultra</code> |
2936
+ * <code>mac2-m2</code> | <code>mac2-m2pro</code>
2937
+ * </p>
2938
+ * </li>
2939
+ * <li>
2940
+ * <p>
2941
+ * <code>p3dn</code> | <code>p4d</code> | <code>p5</code>
2942
+ * </p>
2943
+ * </li>
2944
+ * <li>
2945
+ * <p>
2946
+ * <code>t1</code>
2947
+ * </p>
2948
+ * </li>
2949
+ * <li>
2950
+ * <p>
2951
+ * <code>u-12tb1</code> | <code>u-18tb1</code> | <code>u-24tb1</code> |
2952
+ * <code>u-3tb1</code> | <code>u-6tb1</code> | <code>u-9tb1</code> |
2953
+ * <code>u7i-12tb</code> | <code>u7in-16tb</code> | <code>u7in-24tb</code> |
2954
+ * <code>u7in-32tb</code>
2955
+ * </p>
2956
+ * </li>
2957
+ * </ul>
2958
+ * <p>If you enable performance protection by specifying a supported instance family, the
2959
+ * returned instance types will exclude the above unsupported instance families.</p>
2960
+ * <p>If you specify an unsupported instance family as a value for baseline performance, the
2961
+ * API returns an empty response for and an exception for , , , and .</p>
2962
+ * @public
2963
+ */
2964
+ InstanceFamily?: string | undefined;
2965
+ }
2966
+ /**
2967
+ * <p>The CPU performance to consider, using an instance family as the baseline reference.</p>
2968
+ * @public
2969
+ */
2970
+ export interface CpuPerformanceFactorRequest {
2971
+ /**
2972
+ * <p>Specify an instance family to use as the baseline reference for CPU performance. All
2973
+ * instance types that match your specified attributes will be compared against the CPU
2974
+ * performance of the referenced instance family, regardless of CPU manufacturer or
2975
+ * architecture differences.</p>
2976
+ * <note>
2977
+ * <p>Currently, only one instance family can be specified in the list.</p>
2978
+ * </note>
2979
+ * @public
2980
+ */
2981
+ References?: PerformanceFactorReferenceRequest[] | undefined;
2982
+ }
2983
+ /**
2984
+ * <p>The baseline performance to consider, using an instance family as a baseline reference.
2985
+ * The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this
2986
+ * baseline to guide instance type selection, but there is no guarantee that the selected
2987
+ * instance types will always exceed the baseline for every application.</p>
2988
+ * <p>Currently, this parameter only supports CPU performance as a baseline performance
2989
+ * factor. For example, specifying <code>c6i</code> would use the CPU performance of the
2990
+ * <code>c6i</code> family as the baseline reference.</p>
2991
+ * @public
2992
+ */
2993
+ export interface BaselinePerformanceFactorsRequest {
2994
+ /**
2995
+ * <p>The CPU performance to consider, using an instance family as the baseline reference.</p>
2996
+ * @public
2997
+ */
2998
+ Cpu?: CpuPerformanceFactorRequest | undefined;
2999
+ }
2841
3000
  /**
2842
3001
  * @public
2843
3002
  * @enum
@@ -2858,6 +3017,7 @@ export type BurstablePerformance = (typeof BurstablePerformance)[keyof typeof Bu
2858
3017
  export declare const CpuManufacturer: {
2859
3018
  readonly AMAZON_WEB_SERVICES: "amazon-web-services";
2860
3019
  readonly AMD: "amd";
3020
+ readonly APPLE: "apple";
2861
3021
  readonly INTEL: "intel";
2862
3022
  };
2863
3023
  /**
@@ -3415,6 +3575,16 @@ export interface InstanceRequirementsRequest {
3415
3575
  * @public
3416
3576
  */
3417
3577
  MaxSpotPriceAsPercentageOfOptimalOnDemandPrice?: number | undefined;
3578
+ /**
3579
+ * <p>The baseline performance to consider, using an instance family as a baseline reference.
3580
+ * The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this
3581
+ * baseline to guide instance type selection, but there is no guarantee that the selected
3582
+ * instance types will always exceed the baseline for every application. Currently, this
3583
+ * parameter only supports CPU performance as a baseline performance factor. For more
3584
+ * information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection">Performance protection</a> in the <i>Amazon EC2 User Guide</i>.</p>
3585
+ * @public
3586
+ */
3587
+ BaselinePerformanceFactors?: BaselinePerformanceFactorsRequest | undefined;
3418
3588
  }
3419
3589
  /**
3420
3590
  * <p>Describes the placement of an instance.</p>
@@ -4233,6 +4403,117 @@ export interface BaselineEbsBandwidthMbps {
4233
4403
  */
4234
4404
  Max?: number | undefined;
4235
4405
  }
4406
+ /**
4407
+ * <p>Specify an instance family to use as the baseline reference for CPU performance. All
4408
+ * instance types that match your specified attributes will be compared against the CPU
4409
+ * performance of the referenced instance family, regardless of CPU manufacturer or
4410
+ * architecture.</p>
4411
+ * <note>
4412
+ * <p>Currently, only one instance family can be specified in the list.</p>
4413
+ * </note>
4414
+ * @public
4415
+ */
4416
+ export interface PerformanceFactorReference {
4417
+ /**
4418
+ * <p>The instance family to use as a baseline reference.</p>
4419
+ * <note>
4420
+ * <p>Ensure that you specify the correct value for the instance family. The instance
4421
+ * family is everything before the period (<code>.</code>) in the instance type name. For
4422
+ * example, in the instance type <code>c6i.large</code>, the instance family is
4423
+ * <code>c6i</code>, not <code>c6</code>. For more information, see <a href="https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-type-names.html">Amazon EC2
4424
+ * instance type naming conventions</a> in <i>Amazon EC2 Instance
4425
+ * Types</i>.</p>
4426
+ * </note>
4427
+ * <p>The following instance families are <i>not supported</i> for performance
4428
+ * protection:</p>
4429
+ * <ul>
4430
+ * <li>
4431
+ * <p>
4432
+ * <code>c1</code>
4433
+ * </p>
4434
+ * </li>
4435
+ * <li>
4436
+ * <p>
4437
+ * <code>g3</code> | <code>g3s</code>
4438
+ * </p>
4439
+ * </li>
4440
+ * <li>
4441
+ * <p>
4442
+ * <code>hpc7g</code>
4443
+ * </p>
4444
+ * </li>
4445
+ * <li>
4446
+ * <p>
4447
+ * <code>m1</code> | <code>m2</code>
4448
+ * </p>
4449
+ * </li>
4450
+ * <li>
4451
+ * <p>
4452
+ * <code>mac1</code> | <code>mac2</code> | <code>mac2-m1ultra</code> |
4453
+ * <code>mac2-m2</code> | <code>mac2-m2pro</code>
4454
+ * </p>
4455
+ * </li>
4456
+ * <li>
4457
+ * <p>
4458
+ * <code>p3dn</code> | <code>p4d</code> | <code>p5</code>
4459
+ * </p>
4460
+ * </li>
4461
+ * <li>
4462
+ * <p>
4463
+ * <code>t1</code>
4464
+ * </p>
4465
+ * </li>
4466
+ * <li>
4467
+ * <p>
4468
+ * <code>u-12tb1</code> | <code>u-18tb1</code> | <code>u-24tb1</code> |
4469
+ * <code>u-3tb1</code> | <code>u-6tb1</code> | <code>u-9tb1</code> |
4470
+ * <code>u7i-12tb</code> | <code>u7in-16tb</code> | <code>u7in-24tb</code> |
4471
+ * <code>u7in-32tb</code>
4472
+ * </p>
4473
+ * </li>
4474
+ * </ul>
4475
+ * <p>If you enable performance protection by specifying a supported instance family, the
4476
+ * returned instance types will exclude the above unsupported instance families.</p>
4477
+ * <p>If you specify an unsupported instance family as a value for baseline performance, the
4478
+ * API returns an empty response for and an exception for , , , and .</p>
4479
+ * @public
4480
+ */
4481
+ InstanceFamily?: string | undefined;
4482
+ }
4483
+ /**
4484
+ * <p>The CPU performance to consider, using an instance family as the baseline reference.</p>
4485
+ * @public
4486
+ */
4487
+ export interface CpuPerformanceFactor {
4488
+ /**
4489
+ * <p>Specify an instance family to use as the baseline reference for CPU performance. All
4490
+ * instance types that match your specified attributes will be compared against the CPU
4491
+ * performance of the referenced instance family, regardless of CPU manufacturer or
4492
+ * architecture differences.</p>
4493
+ * <note>
4494
+ * <p>Currently, only one instance family can be specified in the list.</p>
4495
+ * </note>
4496
+ * @public
4497
+ */
4498
+ References?: PerformanceFactorReference[] | undefined;
4499
+ }
4500
+ /**
4501
+ * <p>The baseline performance to consider, using an instance family as a baseline reference.
4502
+ * The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this
4503
+ * baseline to guide instance type selection, but there is no guarantee that the selected
4504
+ * instance types will always exceed the baseline for every application.</p>
4505
+ * <p>Currently, this parameter only supports CPU performance as a baseline performance
4506
+ * factor. For example, specifying <code>c6i</code> would use the CPU performance of the
4507
+ * <code>c6i</code> family as the baseline reference.</p>
4508
+ * @public
4509
+ */
4510
+ export interface BaselinePerformanceFactors {
4511
+ /**
4512
+ * <p>The CPU performance to consider, using an instance family as the baseline reference.</p>
4513
+ * @public
4514
+ */
4515
+ Cpu?: CpuPerformanceFactor | undefined;
4516
+ }
4236
4517
  /**
4237
4518
  * <p>The minimum and maximum amount of memory per vCPU, in GiB.</p>
4238
4519
  * <p></p>
@@ -4749,6 +5030,16 @@ export interface InstanceRequirements {
4749
5030
  * @public
4750
5031
  */
4751
5032
  MaxSpotPriceAsPercentageOfOptimalOnDemandPrice?: number | undefined;
5033
+ /**
5034
+ * <p>The baseline performance to consider, using an instance family as a baseline reference.
5035
+ * The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this
5036
+ * baseline to guide instance type selection, but there is no guarantee that the selected
5037
+ * instance types will always exceed the baseline for every application. Currently, this
5038
+ * parameter only supports CPU performance as a baseline performance factor. For more
5039
+ * information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection">Performance protection</a> in the <i>Amazon EC2 User Guide</i>.</p>
5040
+ * @public
5041
+ */
5042
+ BaselinePerformanceFactors?: BaselinePerformanceFactors | undefined;
4752
5043
  }
4753
5044
  /**
4754
5045
  * <p>Describes the placement of an instance.</p>
@@ -5540,8 +5831,8 @@ export interface CreateImageRequest {
5540
5831
  * <code>image</code>.</p>
5541
5832
  * </li>
5542
5833
  * <li>
5543
- * <p>To tag the snapshots that are created of the root volume and of other Amazon EBS volumes that
5544
- * are attached to the instance, the value for <code>ResourceType</code> must be
5834
+ * <p>To tag the snapshots that are created of the root volume and of other Amazon EBS volumes
5835
+ * that are attached to the instance, the value for <code>ResourceType</code> must be
5545
5836
  * <code>snapshot</code>. The same tag is applied to all of the snapshots that are
5546
5837
  * created.</p>
5547
5838
  * </li>
@@ -5565,7 +5856,9 @@ export interface CreateImageRequest {
5565
5856
  InstanceId: string | undefined;
5566
5857
  /**
5567
5858
  * <p>A name for the new image.</p>
5568
- * <p>Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or underscores(_)</p>
5859
+ * <p>Constraints: 3-128 alphanumeric characters, parentheses (()), square brackets ([]), spaces
5860
+ * ( ), periods (.), slashes (/), dashes (-), single quotes ('), at-signs (@), or
5861
+ * underscores(_)</p>
5569
5862
  * @public
5570
5863
  */
5571
5864
  Name: string | undefined;
@@ -5575,21 +5868,21 @@ export interface CreateImageRequest {
5575
5868
  */
5576
5869
  Description?: string | undefined;
5577
5870
  /**
5578
- * <p>Indicates whether or not the instance should be automatically rebooted before creating
5579
- * the image. Specify one of the following values:</p>
5871
+ * <p>Indicates whether or not the instance should be automatically rebooted before creating the
5872
+ * image. Specify one of the following values:</p>
5580
5873
  * <ul>
5581
5874
  * <li>
5582
5875
  * <p>
5583
5876
  * <code>true</code> - The instance is not rebooted before creating the image. This
5584
- * creates crash-consistent snapshots that include only the data that has been written
5585
- * to the volumes at the time the snapshots are created. Buffered data and data in
5586
- * memory that has not yet been written to the volumes is not included in the snapshots.</p>
5877
+ * creates crash-consistent snapshots that include only the data that has been written to the
5878
+ * volumes at the time the snapshots are created. Buffered data and data in memory that has
5879
+ * not yet been written to the volumes is not included in the snapshots.</p>
5587
5880
  * </li>
5588
5881
  * <li>
5589
5882
  * <p>
5590
- * <code>false</code> - The instance is rebooted before creating the image. This
5591
- * ensures that all buffered data and data in memory is written to the volumes before the
5592
- * snapshots are created.</p>
5883
+ * <code>false</code> - The instance is rebooted before creating the image. This ensures
5884
+ * that all buffered data and data in memory is written to the volumes before the snapshots
5885
+ * are created.</p>
5593
5886
  * </li>
5594
5887
  * </ul>
5595
5888
  * <p>Default: <code>false</code>
@@ -7434,6 +7727,7 @@ export interface LaunchTemplateBlockDeviceMappingRequest {
7434
7727
  * @enum
7435
7728
  */
7436
7729
  export declare const CapacityReservationPreference: {
7730
+ readonly capacity_reservations_only: "capacity-reservations-only";
7437
7731
  readonly none: "none";
7438
7732
  readonly open: "open";
7439
7733
  };
@@ -8157,8 +8451,8 @@ export interface LaunchTemplateInstanceNetworkInterfaceSpecificationRequest {
8157
8451
  /**
8158
8452
  * <p>A security group connection tracking specification that enables you to set the timeout
8159
8453
  * for connection tracking on an Elastic network interface. For more information, see
8160
- * <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-connection-tracking.html#connection-tracking-timeouts">Idle connection tracking timeout</a> in the
8161
- * <i>Amazon EC2 User Guide</i>.</p>
8454
+ * <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-connection-tracking.html#connection-tracking-timeouts">Idle connection tracking timeout</a> in the
8455
+ * <i>Amazon EC2 User Guide</i>.</p>
8162
8456
  * @public
8163
8457
  */
8164
8458
  ConnectionTrackingSpecification?: ConnectionTrackingSpecificationRequest | undefined;
@@ -9497,8 +9791,8 @@ export interface LaunchTemplateInstanceNetworkInterfaceSpecification {
9497
9791
  /**
9498
9792
  * <p>A security group connection tracking specification that enables you to set the timeout
9499
9793
  * for connection tracking on an Elastic network interface. For more information, see
9500
- * <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-connection-tracking.html#connection-tracking-timeouts">Idle connection tracking timeout</a> in the
9501
- * <i>Amazon EC2 User Guide</i>.</p>
9794
+ * <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-connection-tracking.html#connection-tracking-timeouts">Idle connection tracking timeout</a> in the
9795
+ * <i>Amazon EC2 User Guide</i>.</p>
9502
9796
  * @public
9503
9797
  */
9504
9798
  ConnectionTrackingSpecification?: ConnectionTrackingSpecification | undefined;
@@ -10823,267 +11117,6 @@ export interface NetworkAclAssociation {
10823
11117
  */
10824
11118
  SubnetId?: string | undefined;
10825
11119
  }
10826
- /**
10827
- * <p>Describes the ICMP type and code.</p>
10828
- * @public
10829
- */
10830
- export interface IcmpTypeCode {
10831
- /**
10832
- * <p>The ICMP code. A value of -1 means all codes for the specified ICMP type.</p>
10833
- * @public
10834
- */
10835
- Code?: number | undefined;
10836
- /**
10837
- * <p>The ICMP type. A value of -1 means all types.</p>
10838
- * @public
10839
- */
10840
- Type?: number | undefined;
10841
- }
10842
- /**
10843
- * @public
10844
- * @enum
10845
- */
10846
- export declare const RuleAction: {
10847
- readonly allow: "allow";
10848
- readonly deny: "deny";
10849
- };
10850
- /**
10851
- * @public
10852
- */
10853
- export type RuleAction = (typeof RuleAction)[keyof typeof RuleAction];
10854
- /**
10855
- * <p>Describes an entry in a network ACL.</p>
10856
- * @public
10857
- */
10858
- export interface NetworkAclEntry {
10859
- /**
10860
- * <p>The IPv4 network range to allow or deny, in CIDR notation.</p>
10861
- * @public
10862
- */
10863
- CidrBlock?: string | undefined;
10864
- /**
10865
- * <p>Indicates whether the rule is an egress rule (applied to traffic leaving the subnet).</p>
10866
- * @public
10867
- */
10868
- Egress?: boolean | undefined;
10869
- /**
10870
- * <p>ICMP protocol: The ICMP type and code.</p>
10871
- * @public
10872
- */
10873
- IcmpTypeCode?: IcmpTypeCode | undefined;
10874
- /**
10875
- * <p>The IPv6 network range to allow or deny, in CIDR notation.</p>
10876
- * @public
10877
- */
10878
- Ipv6CidrBlock?: string | undefined;
10879
- /**
10880
- * <p>TCP or UDP protocols: The range of ports the rule applies to.</p>
10881
- * @public
10882
- */
10883
- PortRange?: PortRange | undefined;
10884
- /**
10885
- * <p>The protocol number. A value of "-1" means all protocols.</p>
10886
- * @public
10887
- */
10888
- Protocol?: string | undefined;
10889
- /**
10890
- * <p>Indicates whether to allow or deny the traffic that matches the rule.</p>
10891
- * @public
10892
- */
10893
- RuleAction?: RuleAction | undefined;
10894
- /**
10895
- * <p>The rule number for the entry. ACL entries are processed in ascending order by rule number.</p>
10896
- * @public
10897
- */
10898
- RuleNumber?: number | undefined;
10899
- }
10900
- /**
10901
- * <p>Describes a network ACL.</p>
10902
- * @public
10903
- */
10904
- export interface NetworkAcl {
10905
- /**
10906
- * <p>Any associations between the network ACL and your subnets</p>
10907
- * @public
10908
- */
10909
- Associations?: NetworkAclAssociation[] | undefined;
10910
- /**
10911
- * <p>The entries (rules) in the network ACL.</p>
10912
- * @public
10913
- */
10914
- Entries?: NetworkAclEntry[] | undefined;
10915
- /**
10916
- * <p>Indicates whether this is the default network ACL for the VPC.</p>
10917
- * @public
10918
- */
10919
- IsDefault?: boolean | undefined;
10920
- /**
10921
- * <p>The ID of the network ACL.</p>
10922
- * @public
10923
- */
10924
- NetworkAclId?: string | undefined;
10925
- /**
10926
- * <p>Any tags assigned to the network ACL.</p>
10927
- * @public
10928
- */
10929
- Tags?: Tag[] | undefined;
10930
- /**
10931
- * <p>The ID of the VPC for the network ACL.</p>
10932
- * @public
10933
- */
10934
- VpcId?: string | undefined;
10935
- /**
10936
- * <p>The ID of the Amazon Web Services account that owns the network ACL.</p>
10937
- * @public
10938
- */
10939
- OwnerId?: string | undefined;
10940
- }
10941
- /**
10942
- * @public
10943
- */
10944
- export interface CreateNetworkAclResult {
10945
- /**
10946
- * <p>Information about the network ACL.</p>
10947
- * @public
10948
- */
10949
- NetworkAcl?: NetworkAcl | undefined;
10950
- /**
10951
- * <p>Unique, case-sensitive identifier to ensure the idempotency of the request. Only returned if a client token was provided in the request.</p>
10952
- * @public
10953
- */
10954
- ClientToken?: string | undefined;
10955
- }
10956
- /**
10957
- * @public
10958
- */
10959
- export interface CreateNetworkAclEntryRequest {
10960
- /**
10961
- * <p>Checks whether you have the required permissions for the action, without actually making the request,
10962
- * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
10963
- * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
10964
- * @public
10965
- */
10966
- DryRun?: boolean | undefined;
10967
- /**
10968
- * <p>The ID of the network ACL.</p>
10969
- * @public
10970
- */
10971
- NetworkAclId: string | undefined;
10972
- /**
10973
- * <p>The rule number for the entry (for example, 100). ACL entries are processed in ascending order by rule number.</p>
10974
- * <p>Constraints: Positive integer from 1 to 32766. The range 32767 to 65535 is reserved for internal use.</p>
10975
- * @public
10976
- */
10977
- RuleNumber: number | undefined;
10978
- /**
10979
- * <p>The protocol number. A value of "-1" means all protocols. If you specify "-1" or a
10980
- * protocol number other than "6" (TCP), "17" (UDP), or "1" (ICMP), traffic on all ports is
10981
- * allowed, regardless of any ports or ICMP types or codes that you specify. If you specify
10982
- * protocol "58" (ICMPv6) and specify an IPv4 CIDR block, traffic for all ICMP types and
10983
- * codes allowed, regardless of any that you specify. If you specify protocol "58" (ICMPv6)
10984
- * and specify an IPv6 CIDR block, you must specify an ICMP type and code.</p>
10985
- * @public
10986
- */
10987
- Protocol: string | undefined;
10988
- /**
10989
- * <p>Indicates whether to allow or deny the traffic that matches the rule.</p>
10990
- * @public
10991
- */
10992
- RuleAction: RuleAction | undefined;
10993
- /**
10994
- * <p>Indicates whether this is an egress rule (rule is applied to traffic leaving the subnet).</p>
10995
- * @public
10996
- */
10997
- Egress: boolean | undefined;
10998
- /**
10999
- * <p>The IPv4 network range to allow or deny, in CIDR notation (for example
11000
- * <code>172.16.0.0/24</code>). We modify the specified CIDR block to its canonical form; for example, if you specify <code>100.68.0.18/18</code>, we modify it to <code>100.68.0.0/18</code>.</p>
11001
- * @public
11002
- */
11003
- CidrBlock?: string | undefined;
11004
- /**
11005
- * <p>The IPv6 network range to allow or deny, in CIDR notation (for example
11006
- * <code>2001:db8:1234:1a00::/64</code>).</p>
11007
- * @public
11008
- */
11009
- Ipv6CidrBlock?: string | undefined;
11010
- /**
11011
- * <p>ICMP protocol: The ICMP or ICMPv6 type and code. Required if specifying protocol
11012
- * 1 (ICMP) or protocol 58 (ICMPv6) with an IPv6 CIDR block.</p>
11013
- * @public
11014
- */
11015
- IcmpTypeCode?: IcmpTypeCode | undefined;
11016
- /**
11017
- * <p>TCP or UDP protocols: The range of ports the rule applies to.
11018
- * Required if specifying protocol 6 (TCP) or 17 (UDP).</p>
11019
- * @public
11020
- */
11021
- PortRange?: PortRange | undefined;
11022
- }
11023
- /**
11024
- * @public
11025
- */
11026
- export interface CreateNetworkInsightsAccessScopeRequest {
11027
- /**
11028
- * <p>The paths to match.</p>
11029
- * @public
11030
- */
11031
- MatchPaths?: AccessScopePathRequest[] | undefined;
11032
- /**
11033
- * <p>The paths to exclude.</p>
11034
- * @public
11035
- */
11036
- ExcludePaths?: AccessScopePathRequest[] | undefined;
11037
- /**
11038
- * <p>Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information,
11039
- * see <a href="https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html">How to ensure idempotency</a>.</p>
11040
- * @public
11041
- */
11042
- ClientToken?: string | undefined;
11043
- /**
11044
- * <p>The tags to apply.</p>
11045
- * @public
11046
- */
11047
- TagSpecifications?: TagSpecification[] | undefined;
11048
- /**
11049
- * <p>Checks whether you have the required permissions for the action, without actually making the request,
11050
- * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
11051
- * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
11052
- * @public
11053
- */
11054
- DryRun?: boolean | undefined;
11055
- }
11056
- /**
11057
- * <p>Describes a Network Access Scope.</p>
11058
- * @public
11059
- */
11060
- export interface NetworkInsightsAccessScope {
11061
- /**
11062
- * <p>The ID of the Network Access Scope.</p>
11063
- * @public
11064
- */
11065
- NetworkInsightsAccessScopeId?: string | undefined;
11066
- /**
11067
- * <p>The Amazon Resource Name (ARN) of the Network Access Scope.</p>
11068
- * @public
11069
- */
11070
- NetworkInsightsAccessScopeArn?: string | undefined;
11071
- /**
11072
- * <p>The creation date.</p>
11073
- * @public
11074
- */
11075
- CreatedDate?: Date | undefined;
11076
- /**
11077
- * <p>The last updated date.</p>
11078
- * @public
11079
- */
11080
- UpdatedDate?: Date | undefined;
11081
- /**
11082
- * <p>The tags.</p>
11083
- * @public
11084
- */
11085
- Tags?: Tag[] | undefined;
11086
- }
11087
11120
  /**
11088
11121
  * @internal
11089
11122
  */