@aws-sdk/client-ec2 3.453.0 → 3.455.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 (231) hide show
  1. package/README.md +48 -0
  2. package/dist-cjs/EC2.js +12 -0
  3. package/dist-cjs/commands/AssociateIpamByoasnCommand.js +51 -0
  4. package/dist-cjs/commands/DeprovisionIpamByoasnCommand.js +51 -0
  5. package/dist-cjs/commands/DescribeImportSnapshotTasksCommand.js +2 -2
  6. package/dist-cjs/commands/DescribeIpamByoasnCommand.js +51 -0
  7. package/dist-cjs/commands/DisassociateIpamByoasnCommand.js +51 -0
  8. package/dist-cjs/commands/GetIpamDiscoveredPublicAddressesCommand.js +51 -0
  9. package/dist-cjs/commands/GetLaunchTemplateDataCommand.js +2 -2
  10. package/dist-cjs/commands/GetPasswordDataCommand.js +2 -2
  11. package/dist-cjs/commands/ProvisionIpamByoasnCommand.js +51 -0
  12. package/dist-cjs/commands/RequestSpotFleetCommand.js +2 -2
  13. package/dist-cjs/commands/index.js +6 -0
  14. package/dist-cjs/models/models_0.js +15 -8
  15. package/dist-cjs/models/models_1.js +15 -19
  16. package/dist-cjs/models/models_2.js +19 -2
  17. package/dist-cjs/models/models_3.js +9 -37
  18. package/dist-cjs/models/models_4.js +37 -2
  19. package/dist-cjs/models/models_5.js +24 -20
  20. package/dist-cjs/models/models_6.js +20 -24
  21. package/dist-cjs/models/models_7.js +23 -1
  22. package/dist-cjs/protocols/Aws_ec2.js +815 -25
  23. package/dist-es/EC2.js +12 -0
  24. package/dist-es/commands/AssociateIpamByoasnCommand.js +47 -0
  25. package/dist-es/commands/DeprovisionIpamByoasnCommand.js +47 -0
  26. package/dist-es/commands/DescribeImportSnapshotTasksCommand.js +1 -1
  27. package/dist-es/commands/DescribeIpamByoasnCommand.js +47 -0
  28. package/dist-es/commands/DisassociateIpamByoasnCommand.js +47 -0
  29. package/dist-es/commands/GetIpamDiscoveredPublicAddressesCommand.js +47 -0
  30. package/dist-es/commands/GetLaunchTemplateDataCommand.js +1 -1
  31. package/dist-es/commands/GetPasswordDataCommand.js +1 -1
  32. package/dist-es/commands/ProvisionIpamByoasnCommand.js +47 -0
  33. package/dist-es/commands/RequestSpotFleetCommand.js +1 -1
  34. package/dist-es/commands/index.js +6 -0
  35. package/dist-es/models/models_0.js +13 -6
  36. package/dist-es/models/models_1.js +13 -17
  37. package/dist-es/models/models_2.js +17 -0
  38. package/dist-es/models/models_3.js +8 -32
  39. package/dist-es/models/models_4.js +32 -0
  40. package/dist-es/models/models_5.js +23 -17
  41. package/dist-es/models/models_6.js +18 -23
  42. package/dist-es/models/models_7.js +22 -1
  43. package/dist-es/protocols/Aws_ec2.js +778 -0
  44. package/dist-types/EC2.d.ts +42 -0
  45. package/dist-types/EC2Client.d.ts +8 -2
  46. package/dist-types/commands/AcceptTransitGatewayVpcAttachmentCommand.d.ts +1 -0
  47. package/dist-types/commands/AdvertiseByoipCidrCommand.d.ts +9 -0
  48. package/dist-types/commands/AllocateIpamPoolCidrCommand.d.ts +4 -1
  49. package/dist-types/commands/AssociateIpamByoasnCommand.d.ts +83 -0
  50. package/dist-types/commands/AssociateSubnetCidrBlockCommand.d.ts +4 -2
  51. package/dist-types/commands/AssociateTrunkInterfaceCommand.d.ts +1 -5
  52. package/dist-types/commands/AssociateVpcCidrBlockCommand.d.ts +1 -2
  53. package/dist-types/commands/AuthorizeSecurityGroupEgressCommand.d.ts +6 -0
  54. package/dist-types/commands/CreateCarrierGatewayCommand.d.ts +1 -1
  55. package/dist-types/commands/CreateIpamCommand.d.ts +3 -0
  56. package/dist-types/commands/CreateIpamPoolCommand.d.ts +12 -0
  57. package/dist-types/commands/CreateLaunchTemplateCommand.d.ts +5 -0
  58. package/dist-types/commands/CreateLaunchTemplateVersionCommand.d.ts +10 -0
  59. package/dist-types/commands/CreateNetworkInterfaceCommand.d.ts +12 -1
  60. package/dist-types/commands/CreateNetworkInterfacePermissionCommand.d.ts +1 -1
  61. package/dist-types/commands/CreateSubnetCommand.d.ts +6 -2
  62. package/dist-types/commands/CreateTransitGatewayCommand.d.ts +2 -0
  63. package/dist-types/commands/CreateTransitGatewayVpcAttachmentCommand.d.ts +2 -0
  64. package/dist-types/commands/CreateVpcCommand.d.ts +4 -3
  65. package/dist-types/commands/DeleteIpamCommand.d.ts +2 -0
  66. package/dist-types/commands/DeleteIpamPoolCommand.d.ts +7 -0
  67. package/dist-types/commands/DeleteNatGatewayCommand.d.ts +1 -1
  68. package/dist-types/commands/DeleteNetworkAclCommand.d.ts +1 -1
  69. package/dist-types/commands/DeleteNetworkAclEntryCommand.d.ts +1 -1
  70. package/dist-types/commands/DeleteNetworkInsightsAccessScopeAnalysisCommand.d.ts +1 -1
  71. package/dist-types/commands/DeleteNetworkInsightsAccessScopeCommand.d.ts +1 -1
  72. package/dist-types/commands/DeleteNetworkInsightsAnalysisCommand.d.ts +1 -1
  73. package/dist-types/commands/DeleteNetworkInsightsPathCommand.d.ts +1 -1
  74. package/dist-types/commands/DeleteTransitGatewayCommand.d.ts +1 -0
  75. package/dist-types/commands/DeleteTransitGatewayVpcAttachmentCommand.d.ts +1 -0
  76. package/dist-types/commands/DeprovisionByoipCidrCommand.d.ts +8 -0
  77. package/dist-types/commands/DeprovisionIpamByoasnCommand.d.ts +81 -0
  78. package/dist-types/commands/DescribeByoipCidrsCommand.d.ts +8 -0
  79. package/dist-types/commands/DescribeImportSnapshotTasksCommand.d.ts +1 -1
  80. package/dist-types/commands/DescribeInstanceAttributeCommand.d.ts +1 -1
  81. package/dist-types/commands/DescribeInstanceConnectEndpointsCommand.d.ts +1 -1
  82. package/dist-types/commands/DescribeInstanceCreditSpecificationsCommand.d.ts +1 -1
  83. package/dist-types/commands/DescribeInstancesCommand.d.ts +5 -0
  84. package/dist-types/commands/DescribeIpamByoasnCommand.d.ts +83 -0
  85. package/dist-types/commands/DescribeIpamPoolsCommand.d.ts +6 -0
  86. package/dist-types/commands/DescribeIpamsCommand.d.ts +2 -0
  87. package/dist-types/commands/DescribeLaunchTemplateVersionsCommand.d.ts +5 -0
  88. package/dist-types/commands/DescribeNetworkInterfacesCommand.d.ts +5 -0
  89. package/dist-types/commands/DescribeSecurityGroupReferencesCommand.d.ts +2 -1
  90. package/dist-types/commands/DescribeSpotFleetRequestsCommand.d.ts +5 -0
  91. package/dist-types/commands/DescribeSpotInstanceRequestsCommand.d.ts +5 -0
  92. package/dist-types/commands/DescribeStaleSecurityGroupsCommand.d.ts +2 -3
  93. package/dist-types/commands/DescribeSubnetsCommand.d.ts +2 -1
  94. package/dist-types/commands/DescribeTagsCommand.d.ts +1 -1
  95. package/dist-types/commands/DescribeTrafficMirrorFiltersCommand.d.ts +1 -1
  96. package/dist-types/commands/DescribeTrafficMirrorSessionsCommand.d.ts +1 -1
  97. package/dist-types/commands/DescribeTrafficMirrorTargetsCommand.d.ts +1 -1
  98. package/dist-types/commands/DescribeTransitGatewayAttachmentsCommand.d.ts +1 -1
  99. package/dist-types/commands/DescribeTransitGatewayConnectPeersCommand.d.ts +1 -1
  100. package/dist-types/commands/DescribeTransitGatewayConnectsCommand.d.ts +1 -1
  101. package/dist-types/commands/DescribeTransitGatewayMulticastDomainsCommand.d.ts +1 -2
  102. package/dist-types/commands/DescribeTransitGatewayVpcAttachmentsCommand.d.ts +1 -0
  103. package/dist-types/commands/DescribeTransitGatewaysCommand.d.ts +1 -0
  104. package/dist-types/commands/DescribeTrunkInterfaceAssociationsCommand.d.ts +1 -5
  105. package/dist-types/commands/DisassociateIpamByoasnCommand.d.ts +81 -0
  106. package/dist-types/commands/DisassociateTrunkInterfaceCommand.d.ts +1 -5
  107. package/dist-types/commands/GetIpamDiscoveredPublicAddressesCommand.d.ts +121 -0
  108. package/dist-types/commands/GetIpamDiscoveredResourceCidrsCommand.d.ts +1 -1
  109. package/dist-types/commands/GetIpamPoolAllocationsCommand.d.ts +1 -1
  110. package/dist-types/commands/GetIpamPoolCidrsCommand.d.ts +2 -1
  111. package/dist-types/commands/GetIpamResourceCidrsCommand.d.ts +3 -3
  112. package/dist-types/commands/GetLaunchTemplateDataCommand.d.ts +6 -1
  113. package/dist-types/commands/GetManagedPrefixListAssociationsCommand.d.ts +1 -1
  114. package/dist-types/commands/GetManagedPrefixListEntriesCommand.d.ts +1 -1
  115. package/dist-types/commands/GetNetworkInsightsAccessScopeAnalysisFindingsCommand.d.ts +1 -1
  116. package/dist-types/commands/GetNetworkInsightsAccessScopeContentCommand.d.ts +1 -1
  117. package/dist-types/commands/GetPasswordDataCommand.d.ts +1 -1
  118. package/dist-types/commands/GetReservedInstancesExchangeQuoteCommand.d.ts +1 -1
  119. package/dist-types/commands/GetSecurityGroupsForVpcCommand.d.ts +1 -1
  120. package/dist-types/commands/GetSerialConsoleAccessStatusCommand.d.ts +1 -1
  121. package/dist-types/commands/ModifyIpamCommand.d.ts +3 -0
  122. package/dist-types/commands/ModifyIpamPoolCommand.d.ts +6 -0
  123. package/dist-types/commands/ModifyIpamResourceCidrCommand.d.ts +1 -1
  124. package/dist-types/commands/ModifyNetworkInterfaceAttributeCommand.d.ts +5 -0
  125. package/dist-types/commands/ModifyTransitGatewayCommand.d.ts +2 -0
  126. package/dist-types/commands/ModifyTransitGatewayVpcAttachmentCommand.d.ts +2 -0
  127. package/dist-types/commands/MoveByoipCidrToIpamCommand.d.ts +8 -0
  128. package/dist-types/commands/ProvisionByoipCidrCommand.d.ts +8 -0
  129. package/dist-types/commands/ProvisionIpamByoasnCommand.d.ts +84 -0
  130. package/dist-types/commands/RegisterTransitGatewayMulticastGroupSourcesCommand.d.ts +2 -1
  131. package/dist-types/commands/RejectTransitGatewayMulticastDomainAssociationsCommand.d.ts +1 -1
  132. package/dist-types/commands/RejectTransitGatewayPeeringAttachmentCommand.d.ts +1 -1
  133. package/dist-types/commands/RejectTransitGatewayVpcAttachmentCommand.d.ts +2 -1
  134. package/dist-types/commands/RejectVpcEndpointConnectionsCommand.d.ts +1 -1
  135. package/dist-types/commands/RejectVpcPeeringConnectionCommand.d.ts +1 -1
  136. package/dist-types/commands/ReleaseAddressCommand.d.ts +1 -1
  137. package/dist-types/commands/ReleaseHostsCommand.d.ts +1 -1
  138. package/dist-types/commands/ReleaseIpamPoolAllocationCommand.d.ts +1 -1
  139. package/dist-types/commands/ReplaceIamInstanceProfileAssociationCommand.d.ts +1 -1
  140. package/dist-types/commands/ReplaceNetworkAclAssociationCommand.d.ts +1 -1
  141. package/dist-types/commands/ReplaceNetworkAclEntryCommand.d.ts +1 -1
  142. package/dist-types/commands/ReplaceRouteCommand.d.ts +1 -1
  143. package/dist-types/commands/ReplaceRouteTableAssociationCommand.d.ts +1 -1
  144. package/dist-types/commands/ReplaceTransitGatewayRouteCommand.d.ts +1 -1
  145. package/dist-types/commands/ReplaceVpnTunnelCommand.d.ts +1 -1
  146. package/dist-types/commands/ReportInstanceStatusCommand.d.ts +1 -1
  147. package/dist-types/commands/RequestSpotFleetCommand.d.ts +6 -1
  148. package/dist-types/commands/RequestSpotInstancesCommand.d.ts +10 -0
  149. package/dist-types/commands/RunInstancesCommand.d.ts +10 -0
  150. package/dist-types/commands/WithdrawByoipCidrCommand.d.ts +8 -0
  151. package/dist-types/commands/index.d.ts +6 -0
  152. package/dist-types/models/models_0.d.ts +123 -105
  153. package/dist-types/models/models_1.d.ts +296 -347
  154. package/dist-types/models/models_2.d.ts +404 -184
  155. package/dist-types/models/models_3.d.ts +258 -535
  156. package/dist-types/models/models_4.d.ts +1882 -1944
  157. package/dist-types/models/models_5.d.ts +3701 -3495
  158. package/dist-types/models/models_6.d.ts +4435 -4347
  159. package/dist-types/models/models_7.d.ts +740 -5
  160. package/dist-types/protocols/Aws_ec2.d.ts +54 -0
  161. package/dist-types/ts3.4/EC2.d.ts +102 -0
  162. package/dist-types/ts3.4/EC2Client.d.ts +36 -0
  163. package/dist-types/ts3.4/commands/AssociateIpamByoasnCommand.d.ts +39 -0
  164. package/dist-types/ts3.4/commands/CreateCarrierGatewayCommand.d.ts +1 -1
  165. package/dist-types/ts3.4/commands/CreateNetworkInterfaceCommand.d.ts +2 -4
  166. package/dist-types/ts3.4/commands/CreateNetworkInterfacePermissionCommand.d.ts +1 -1
  167. package/dist-types/ts3.4/commands/DeleteNatGatewayCommand.d.ts +1 -1
  168. package/dist-types/ts3.4/commands/DeleteNetworkAclCommand.d.ts +1 -1
  169. package/dist-types/ts3.4/commands/DeleteNetworkAclEntryCommand.d.ts +1 -1
  170. package/dist-types/ts3.4/commands/DeleteNetworkInsightsAccessScopeAnalysisCommand.d.ts +1 -1
  171. package/dist-types/ts3.4/commands/DeleteNetworkInsightsAccessScopeCommand.d.ts +1 -1
  172. package/dist-types/ts3.4/commands/DeleteNetworkInsightsAnalysisCommand.d.ts +1 -1
  173. package/dist-types/ts3.4/commands/DeleteNetworkInsightsPathCommand.d.ts +1 -1
  174. package/dist-types/ts3.4/commands/DeprovisionIpamByoasnCommand.d.ts +42 -0
  175. package/dist-types/ts3.4/commands/DescribeImportSnapshotTasksCommand.d.ts +1 -1
  176. package/dist-types/ts3.4/commands/DescribeInstanceAttributeCommand.d.ts +1 -1
  177. package/dist-types/ts3.4/commands/DescribeInstanceConnectEndpointsCommand.d.ts +1 -1
  178. package/dist-types/ts3.4/commands/DescribeInstanceCreditSpecificationsCommand.d.ts +1 -1
  179. package/dist-types/ts3.4/commands/DescribeIpamByoasnCommand.d.ts +39 -0
  180. package/dist-types/ts3.4/commands/DescribeSubnetsCommand.d.ts +2 -4
  181. package/dist-types/ts3.4/commands/DescribeTagsCommand.d.ts +1 -1
  182. package/dist-types/ts3.4/commands/DescribeTrafficMirrorFiltersCommand.d.ts +1 -1
  183. package/dist-types/ts3.4/commands/DescribeTrafficMirrorSessionsCommand.d.ts +1 -1
  184. package/dist-types/ts3.4/commands/DescribeTrafficMirrorTargetsCommand.d.ts +1 -1
  185. package/dist-types/ts3.4/commands/DescribeTransitGatewayAttachmentsCommand.d.ts +1 -1
  186. package/dist-types/ts3.4/commands/DescribeTransitGatewayConnectPeersCommand.d.ts +1 -1
  187. package/dist-types/ts3.4/commands/DescribeTransitGatewayConnectsCommand.d.ts +1 -1
  188. package/dist-types/ts3.4/commands/DescribeTransitGatewayMulticastDomainsCommand.d.ts +4 -2
  189. package/dist-types/ts3.4/commands/DisassociateIpamByoasnCommand.d.ts +42 -0
  190. package/dist-types/ts3.4/commands/GetIpamDiscoveredPublicAddressesCommand.d.ts +42 -0
  191. package/dist-types/ts3.4/commands/GetIpamPoolCidrsCommand.d.ts +2 -4
  192. package/dist-types/ts3.4/commands/GetIpamResourceCidrsCommand.d.ts +1 -1
  193. package/dist-types/ts3.4/commands/GetLaunchTemplateDataCommand.d.ts +1 -1
  194. package/dist-types/ts3.4/commands/GetManagedPrefixListAssociationsCommand.d.ts +1 -1
  195. package/dist-types/ts3.4/commands/GetManagedPrefixListEntriesCommand.d.ts +1 -1
  196. package/dist-types/ts3.4/commands/GetNetworkInsightsAccessScopeAnalysisFindingsCommand.d.ts +1 -1
  197. package/dist-types/ts3.4/commands/GetNetworkInsightsAccessScopeContentCommand.d.ts +1 -1
  198. package/dist-types/ts3.4/commands/GetPasswordDataCommand.d.ts +1 -1
  199. package/dist-types/ts3.4/commands/GetReservedInstancesExchangeQuoteCommand.d.ts +1 -1
  200. package/dist-types/ts3.4/commands/GetSecurityGroupsForVpcCommand.d.ts +1 -1
  201. package/dist-types/ts3.4/commands/GetSerialConsoleAccessStatusCommand.d.ts +1 -1
  202. package/dist-types/ts3.4/commands/ProvisionIpamByoasnCommand.d.ts +39 -0
  203. package/dist-types/ts3.4/commands/RegisterTransitGatewayMulticastGroupSourcesCommand.d.ts +2 -4
  204. package/dist-types/ts3.4/commands/RejectTransitGatewayMulticastDomainAssociationsCommand.d.ts +1 -1
  205. package/dist-types/ts3.4/commands/RejectTransitGatewayPeeringAttachmentCommand.d.ts +1 -1
  206. package/dist-types/ts3.4/commands/RejectTransitGatewayVpcAttachmentCommand.d.ts +1 -1
  207. package/dist-types/ts3.4/commands/RejectVpcEndpointConnectionsCommand.d.ts +1 -1
  208. package/dist-types/ts3.4/commands/RejectVpcPeeringConnectionCommand.d.ts +1 -1
  209. package/dist-types/ts3.4/commands/ReleaseAddressCommand.d.ts +1 -1
  210. package/dist-types/ts3.4/commands/ReleaseHostsCommand.d.ts +1 -1
  211. package/dist-types/ts3.4/commands/ReleaseIpamPoolAllocationCommand.d.ts +1 -1
  212. package/dist-types/ts3.4/commands/ReplaceIamInstanceProfileAssociationCommand.d.ts +1 -1
  213. package/dist-types/ts3.4/commands/ReplaceNetworkAclAssociationCommand.d.ts +1 -1
  214. package/dist-types/ts3.4/commands/ReplaceNetworkAclEntryCommand.d.ts +1 -1
  215. package/dist-types/ts3.4/commands/ReplaceRouteCommand.d.ts +1 -1
  216. package/dist-types/ts3.4/commands/ReplaceRouteTableAssociationCommand.d.ts +1 -1
  217. package/dist-types/ts3.4/commands/ReplaceTransitGatewayRouteCommand.d.ts +1 -1
  218. package/dist-types/ts3.4/commands/ReplaceVpnTunnelCommand.d.ts +1 -1
  219. package/dist-types/ts3.4/commands/ReportInstanceStatusCommand.d.ts +1 -1
  220. package/dist-types/ts3.4/commands/RequestSpotFleetCommand.d.ts +1 -1
  221. package/dist-types/ts3.4/commands/index.d.ts +6 -0
  222. package/dist-types/ts3.4/models/models_0.d.ts +38 -28
  223. package/dist-types/ts3.4/models/models_1.d.ts +72 -92
  224. package/dist-types/ts3.4/models/models_2.d.ts +107 -46
  225. package/dist-types/ts3.4/models/models_3.d.ts +69 -128
  226. package/dist-types/ts3.4/models/models_4.d.ts +149 -124
  227. package/dist-types/ts3.4/models/models_5.d.ts +202 -180
  228. package/dist-types/ts3.4/models/models_6.d.ts +205 -189
  229. package/dist-types/ts3.4/models/models_7.d.ts +188 -5
  230. package/dist-types/ts3.4/protocols/Aws_ec2.d.ts +72 -0
  231. package/package.json +2 -2
@@ -1,11 +1,11 @@
1
- import { _InstanceType, ActiveInstance, ActivityStatus, AllocationStrategy, AlternatePathHint, AttachmentStatus, BatchState, CurrencyCodeValues, Explanation, IamInstanceProfile, IamInstanceProfileSpecification, InstanceEventWindow, IpamResourceDiscoveryAssociation, IpPermission, PathComponent, ReservedInstancesListing, ResourceType, SecurityGroupRule, Tag, TagSpecification, TransitGatewayAssociationState, TransitGatewayAttachmentResourceType, TransitGatewayAttachmentState, UserIdGroupPair } from "./models_0";
2
- import { AmdSevSnpSpecification, AttributeValue, BlockDeviceMapping, CapacityReservationPreference, CapacityReservationTargetResponse, EnaSrdSpecificationRequest, FleetLaunchTemplateSpecification, FleetType, GroupIdentifier, HostnameType, InstanceInterruptionBehavior, InstanceIpv6Address, InstanceRequirements, InternetGateway, Ipam, IpamPool, IpamResourceDiscovery, IpamScope, Ipv4PrefixSpecificationRequest, Ipv6PrefixSpecificationRequest, KeyType, LaunchTemplate, LaunchTemplateVersion, LocalGatewayRouteTable, LocalGatewayRouteTableVirtualInterfaceGroupAssociation, LocalGatewayRouteTableVpcAssociation, ManagedPrefixList, NatGateway, NetworkAcl, NetworkInsightsAccessScope, NetworkInsightsPath, NetworkInterface, NetworkInterfaceAttachment, NetworkInterfacePermission, NetworkInterfaceStatus, Placement, PlatformValues, PrivateIpAddressSpecification, SpotInstanceType, StateReason, Subnet, TargetCapacityUnitType, Tenancy } from "./models_1";
3
- import { PlacementGroup, ReplaceRootVolumeTask, RouteTable, Snapshot, SnapshotState, SpotDatafeedSubscription, SpotInstanceStateFault, StorageTier, TrafficMirrorFilter, TrafficMirrorSession, TrafficMirrorTarget, TransitGatewayConnect, TransitGatewayConnectPeer } from "./models_2";
4
- import { ArchitectureValues, AttributeBooleanValue, BootModeValues, DeviceType, EnclaveOptions, EventInformation, Filter, HypervisorType, IdFormat, InstanceBlockDeviceMapping, InstanceTagNotificationAttribute, PermissionGroup, ProductCode, VirtualizationType } from "./models_3";
1
+ import { _InstanceType, ActiveInstance, ActivityStatus, AllocationStrategy, AlternatePathHint, AttachmentStatus, BatchState, CurrencyCodeValues, Explanation, IamInstanceProfile, IamInstanceProfileSpecification, InstanceEventWindow, IpamResourceDiscoveryAssociation, IpPermission, PathComponent, ReservedInstancesListing, ResourceType, SecurityGroupRule, Tag, TagSpecification, UserIdGroupPair } from "./models_0";
2
+ import { AmdSevSnpSpecification, AttributeValue, BlockDeviceMapping, CapacityReservationPreference, CapacityReservationTargetResponse, ConnectionTrackingSpecificationRequest, Ec2InstanceConnectEndpoint, EnaSrdSpecificationRequest, FleetLaunchTemplateSpecification, FleetType, GroupIdentifier, HostnameType, InstanceInterruptionBehavior, InstanceIpv6Address, InstanceRequirements, InternetGateway, Ipam, IpamPool, IpamResourceDiscovery, IpamScope, Ipv4PrefixSpecificationRequest, Ipv6PrefixSpecificationRequest, KeyType, LaunchTemplate, LaunchTemplateVersion, LocalGatewayRouteTable, LocalGatewayRouteTableVirtualInterfaceGroupAssociation, LocalGatewayRouteTableVpcAssociation, ManagedPrefixList, NatGateway, NetworkAcl, NetworkInsightsAccessScope, NetworkInsightsPath, NetworkInterfaceAttachment, Placement, PlatformValues, PrivateIpAddressSpecification, SpotInstanceType, StateReason, TargetCapacityUnitType, Tenancy } from "./models_1";
3
+ import { NetworkInterface, NetworkInterfacePermission, NetworkInterfaceStatus, PlacementGroup, ReplaceRootVolumeTask, RouteTable, Snapshot, SnapshotState, SpotDatafeedSubscription, SpotInstanceStateFault, StorageTier } from "./models_2";
4
+ import { ArchitectureValues, BootModeValues, Byoasn, DeviceType, EventInformation, Filter, HypervisorType, IdFormat, InstanceTagNotificationAttribute, PermissionGroup, ProductCode, UserBucketDetails, VirtualizationType } from "./models_3";
5
5
  /**
6
6
  * @public
7
7
  */
8
- export interface DescribeInstanceEventNotificationAttributesRequest {
8
+ export interface DescribeImportSnapshotTasksRequest {
9
9
  /**
10
10
  * @public
11
11
  * <p>Checks whether you have the required permissions for the action, without actually making the request,
@@ -13,22 +13,168 @@ export interface DescribeInstanceEventNotificationAttributesRequest {
13
13
  * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
14
14
  */
15
15
  DryRun?: boolean;
16
+ /**
17
+ * @public
18
+ * <p>The filters.</p>
19
+ */
20
+ Filters?: Filter[];
21
+ /**
22
+ * @public
23
+ * <p>A list of import snapshot task IDs.</p>
24
+ */
25
+ ImportTaskIds?: string[];
26
+ /**
27
+ * @public
28
+ * <p>The maximum number of results to return in a single call. To retrieve the remaining results, make another call
29
+ * with the returned <code>NextToken</code> value.</p>
30
+ */
31
+ MaxResults?: number;
32
+ /**
33
+ * @public
34
+ * <p>A token that indicates the next page of results.</p>
35
+ */
36
+ NextToken?: string;
16
37
  }
17
38
  /**
18
39
  * @public
40
+ * <p>Details about the import snapshot task.</p>
19
41
  */
20
- export interface DescribeInstanceEventNotificationAttributesResult {
42
+ export interface SnapshotTaskDetail {
21
43
  /**
22
44
  * @public
23
- * <p>Information about the registered tag keys.</p>
45
+ * <p>The description of the snapshot.</p>
24
46
  */
25
- InstanceTagAttribute?: InstanceTagNotificationAttribute;
47
+ Description?: string;
48
+ /**
49
+ * @public
50
+ * <p>The size of the disk in the snapshot, in GiB.</p>
51
+ */
52
+ DiskImageSize?: number;
53
+ /**
54
+ * @public
55
+ * <p>Indicates whether the snapshot is encrypted.</p>
56
+ */
57
+ Encrypted?: boolean;
58
+ /**
59
+ * @public
60
+ * <p>The format of the disk image from which the snapshot is created.</p>
61
+ */
62
+ Format?: string;
63
+ /**
64
+ * @public
65
+ * <p>The identifier for the KMS key that was used to create the encrypted snapshot.</p>
66
+ */
67
+ KmsKeyId?: string;
68
+ /**
69
+ * @public
70
+ * <p>The percentage of completion for the import snapshot task.</p>
71
+ */
72
+ Progress?: string;
73
+ /**
74
+ * @public
75
+ * <p>The snapshot ID of the disk being imported.</p>
76
+ */
77
+ SnapshotId?: string;
78
+ /**
79
+ * @public
80
+ * <p>A brief status for the import snapshot task.</p>
81
+ */
82
+ Status?: string;
83
+ /**
84
+ * @public
85
+ * <p>A detailed status message for the import snapshot task.</p>
86
+ */
87
+ StatusMessage?: string;
88
+ /**
89
+ * @public
90
+ * <p>The URL of the disk image from which the snapshot is created.</p>
91
+ */
92
+ Url?: string;
93
+ /**
94
+ * @public
95
+ * <p>The Amazon S3 bucket for the disk image.</p>
96
+ */
97
+ UserBucket?: UserBucketDetails;
26
98
  }
27
99
  /**
28
100
  * @public
29
- * <para>Describe instance event windows by InstanceEventWindow.</para>
101
+ * <p>Describes an import snapshot task.</p>
30
102
  */
31
- export interface DescribeInstanceEventWindowsRequest {
103
+ export interface ImportSnapshotTask {
104
+ /**
105
+ * @public
106
+ * <p>A description of the import snapshot task.</p>
107
+ */
108
+ Description?: string;
109
+ /**
110
+ * @public
111
+ * <p>The ID of the import snapshot task.</p>
112
+ */
113
+ ImportTaskId?: string;
114
+ /**
115
+ * @public
116
+ * <p>Describes an import snapshot task.</p>
117
+ */
118
+ SnapshotTaskDetail?: SnapshotTaskDetail;
119
+ /**
120
+ * @public
121
+ * <p>The tags for the import snapshot task.</p>
122
+ */
123
+ Tags?: Tag[];
124
+ }
125
+ /**
126
+ * @public
127
+ */
128
+ export interface DescribeImportSnapshotTasksResult {
129
+ /**
130
+ * @public
131
+ * <p>A list of zero or more import snapshot tasks that are currently active or were completed or canceled in the
132
+ * previous 7 days.</p>
133
+ */
134
+ ImportSnapshotTasks?: ImportSnapshotTask[];
135
+ /**
136
+ * @public
137
+ * <p>The token to use to get the next page of results. This value is <code>null</code> when there are no more results
138
+ * to return.</p>
139
+ */
140
+ NextToken?: string;
141
+ }
142
+ /**
143
+ * @public
144
+ * @enum
145
+ */
146
+ export declare const InstanceAttributeName: {
147
+ readonly blockDeviceMapping: "blockDeviceMapping";
148
+ readonly disableApiStop: "disableApiStop";
149
+ readonly disableApiTermination: "disableApiTermination";
150
+ readonly ebsOptimized: "ebsOptimized";
151
+ readonly enaSupport: "enaSupport";
152
+ readonly enclaveOptions: "enclaveOptions";
153
+ readonly groupSet: "groupSet";
154
+ readonly instanceInitiatedShutdownBehavior: "instanceInitiatedShutdownBehavior";
155
+ readonly instanceType: "instanceType";
156
+ readonly kernel: "kernel";
157
+ readonly productCodes: "productCodes";
158
+ readonly ramdisk: "ramdisk";
159
+ readonly rootDeviceName: "rootDeviceName";
160
+ readonly sourceDestCheck: "sourceDestCheck";
161
+ readonly sriovNetSupport: "sriovNetSupport";
162
+ readonly userData: "userData";
163
+ };
164
+ /**
165
+ * @public
166
+ */
167
+ export type InstanceAttributeName = (typeof InstanceAttributeName)[keyof typeof InstanceAttributeName];
168
+ /**
169
+ * @public
170
+ */
171
+ export interface DescribeInstanceAttributeRequest {
172
+ /**
173
+ * @public
174
+ * <p>The instance attribute.</p>
175
+ * <p>Note: The <code>enaSupport</code> attribute is not supported at this time.</p>
176
+ */
177
+ Attribute: InstanceAttributeName | undefined;
32
178
  /**
33
179
  * @public
34
180
  * <p>Checks whether you have the required permissions for the action, without actually making the request,
@@ -38,222 +184,594 @@ export interface DescribeInstanceEventWindowsRequest {
38
184
  DryRun?: boolean;
39
185
  /**
40
186
  * @public
41
- * <p>The IDs of the event windows.</p>
187
+ * <p>The ID of the instance.</p>
42
188
  */
43
- InstanceEventWindowIds?: string[];
189
+ InstanceId: string | undefined;
190
+ }
191
+ /**
192
+ * @public
193
+ * <p>Describes a parameter used to set up an EBS volume in a block device mapping.</p>
194
+ */
195
+ export interface EbsInstanceBlockDevice {
44
196
  /**
45
197
  * @public
46
- * <p>One or more filters.</p>
47
- * <ul>
48
- * <li>
49
- * <p>
50
- * <code>dedicated-host-id</code> - The event windows associated with the specified
51
- * Dedicated Host ID.</p>
52
- * </li>
53
- * <li>
54
- * <p>
55
- * <code>event-window-name</code> - The event windows associated with the specified
56
- * names. </p>
57
- * </li>
58
- * <li>
59
- * <p>
60
- * <code>instance-id</code> - The event windows associated with the specified instance
61
- * ID.</p>
62
- * </li>
63
- * <li>
64
- * <p>
65
- * <code>instance-tag</code> - The event windows associated with the specified tag and
66
- * value.</p>
67
- * </li>
68
- * <li>
69
- * <p>
70
- * <code>instance-tag-key</code> - The event windows associated with the specified tag
71
- * key, regardless of the value.</p>
72
- * </li>
73
- * <li>
74
- * <p>
75
- * <code>instance-tag-value</code> - The event windows associated with the specified tag
76
- * value, regardless of the key.</p>
77
- * </li>
78
- * <li>
79
- * <p>
80
- * <code>tag:<key></code> - The key/value combination of a tag assigned to the
81
- * event window. Use the tag key in the filter name and the tag value as the filter
82
- * value. For example, to find all resources that have a tag with the key
83
- * <code>Owner</code> and the value <code>CMX</code>, specify <code>tag:Owner</code>
84
- * for the filter name and <code>CMX</code> for the filter value. </p>
85
- * </li>
86
- * <li>
87
- * <p>
88
- * <code>tag-key</code> - The key of a tag assigned to the event window. Use this filter
89
- * to find all event windows that have a tag with a specific key, regardless of the tag
90
- * value. </p>
91
- * </li>
92
- * <li>
93
- * <p>
94
- * <code>tag-value</code> - The value of a tag assigned to the event window. Use this
95
- * filter to find all event windows that have a tag with a specific value, regardless of
96
- * the tag key. </p>
97
- * </li>
98
- * </ul>
198
+ * <p>The time stamp when the attachment initiated.</p>
99
199
  */
100
- Filters?: Filter[];
200
+ AttachTime?: Date;
101
201
  /**
102
202
  * @public
103
- * <p>The maximum number of results to return in a single call. To retrieve the remaining
104
- * results, make another call with the returned <code>NextToken</code> value. This value can
105
- * be between 20 and 500. You cannot specify this parameter and the event window IDs parameter
106
- * in the same call.</p>
203
+ * <p>Indicates whether the volume is deleted on instance termination.</p>
107
204
  */
108
- MaxResults?: number;
205
+ DeleteOnTermination?: boolean;
109
206
  /**
110
207
  * @public
111
- * <p>The token to request the next page of results.</p>
208
+ * <p>The attachment state.</p>
112
209
  */
113
- NextToken?: string;
210
+ Status?: AttachmentStatus;
211
+ /**
212
+ * @public
213
+ * <p>The ID of the EBS volume.</p>
214
+ */
215
+ VolumeId?: string;
114
216
  }
115
217
  /**
116
218
  * @public
219
+ * <p>Describes a block device mapping.</p>
117
220
  */
118
- export interface DescribeInstanceEventWindowsResult {
221
+ export interface InstanceBlockDeviceMapping {
119
222
  /**
120
223
  * @public
121
- * <p>Information about the event windows.</p>
224
+ * <p>The device name (for example, <code>/dev/sdh</code> or <code>xvdh</code>).</p>
122
225
  */
123
- InstanceEventWindows?: InstanceEventWindow[];
226
+ DeviceName?: string;
124
227
  /**
125
228
  * @public
126
- * <p>The token to use to retrieve the next page of results. This value is <code>null</code> when there are no more results to return. </p>
229
+ * <p>Parameters used to automatically set up EBS volumes when the instance is
230
+ * launched.</p>
127
231
  */
128
- NextToken?: string;
232
+ Ebs?: EbsInstanceBlockDevice;
129
233
  }
130
234
  /**
131
235
  * @public
236
+ * <p>Describes a value for a resource attribute that is a Boolean value.</p>
132
237
  */
133
- export interface DescribeInstancesRequest {
238
+ export interface AttributeBooleanValue {
134
239
  /**
135
240
  * @public
136
- * <p>The filters.</p>
137
- * <ul>
138
- * <li>
139
- * <p>
140
- * <code>affinity</code> - The affinity setting for an instance running on a
141
- * Dedicated Host (<code>default</code> | <code>host</code>).</p>
142
- * </li>
143
- * <li>
144
- * <p>
145
- * <code>architecture</code> - The instance architecture (<code>i386</code> |
146
- * <code>x86_64</code> | <code>arm64</code>).</p>
147
- * </li>
148
- * <li>
149
- * <p>
150
- * <code>availability-zone</code> - The Availability Zone of the instance.</p>
151
- * </li>
152
- * <li>
153
- * <p>
154
- * <code>block-device-mapping.attach-time</code> - The attach time for an EBS
155
- * volume mapped to the instance, for example,
156
- * <code>2022-09-15T17:15:20.000Z</code>.</p>
157
- * </li>
158
- * <li>
159
- * <p>
160
- * <code>block-device-mapping.delete-on-termination</code> - A Boolean that
161
- * indicates whether the EBS volume is deleted on instance termination.</p>
162
- * </li>
163
- * <li>
164
- * <p>
165
- * <code>block-device-mapping.device-name</code> - The device name specified in
166
- * the block device mapping (for example, <code>/dev/sdh</code> or
167
- * <code>xvdh</code>).</p>
168
- * </li>
169
- * <li>
170
- * <p>
171
- * <code>block-device-mapping.status</code> - The status for the EBS volume
172
- * (<code>attaching</code> | <code>attached</code> | <code>detaching</code> |
173
- * <code>detached</code>).</p>
174
- * </li>
175
- * <li>
176
- * <p>
177
- * <code>block-device-mapping.volume-id</code> - The volume ID of the EBS
178
- * volume.</p>
179
- * </li>
180
- * <li>
181
- * <p>
182
- * <code>boot-mode</code> - The boot mode that was specified by the AMI
183
- * (<code>legacy-bios</code> | <code>uefi</code> |
184
- * <code>uefi-preferred</code>).</p>
185
- * </li>
186
- * <li>
187
- * <p>
188
- * <code>capacity-reservation-id</code> - The ID of the Capacity Reservation into which the
189
- * instance was launched.</p>
190
- * </li>
191
- * <li>
192
- * <p>
193
- * <code>capacity-reservation-specification.capacity-reservation-preference</code>
194
- * - The instance's Capacity Reservation preference (<code>open</code> | <code>none</code>).</p>
195
- * </li>
196
- * <li>
197
- * <p>
198
- * <code>capacity-reservation-specification.capacity-reservation-target.capacity-reservation-id</code>
199
- * - The ID of the targeted Capacity Reservation.</p>
200
- * </li>
201
- * <li>
202
- * <p>
203
- * <code>capacity-reservation-specification.capacity-reservation-target.capacity-reservation-resource-group-arn</code>
204
- * - The ARN of the targeted Capacity Reservation group.</p>
205
- * </li>
206
- * <li>
207
- * <p>
208
- * <code>client-token</code> - The idempotency token you provided when you
209
- * launched the instance.</p>
241
+ * <p>The attribute value. The valid values are <code>true</code> or <code>false</code>.</p>
242
+ */
243
+ Value?: boolean;
244
+ }
245
+ /**
246
+ * @public
247
+ * <p>Indicates whether the instance is enabled for Amazon Web Services Nitro
248
+ * Enclaves.</p>
249
+ */
250
+ export interface EnclaveOptions {
251
+ /**
252
+ * @public
253
+ * <p>If this parameter is set to <code>true</code>, the instance is enabled for Amazon Web Services Nitro Enclaves; otherwise, it is not enabled for Amazon Web Services Nitro
254
+ * Enclaves.</p>
255
+ */
256
+ Enabled?: boolean;
257
+ }
258
+ /**
259
+ * @public
260
+ * <p>Describes an instance attribute.</p>
261
+ */
262
+ export interface InstanceAttribute {
263
+ /**
264
+ * @public
265
+ * <p>The security groups associated with the instance.</p>
266
+ */
267
+ Groups?: GroupIdentifier[];
268
+ /**
269
+ * @public
270
+ * <p>The block device mapping of the instance.</p>
271
+ */
272
+ BlockDeviceMappings?: InstanceBlockDeviceMapping[];
273
+ /**
274
+ * @public
275
+ * <p>If the value is <code>true</code>, you can't terminate the instance through the Amazon
276
+ * EC2 console, CLI, or API; otherwise, you can.</p>
277
+ */
278
+ DisableApiTermination?: AttributeBooleanValue;
279
+ /**
280
+ * @public
281
+ * <p>Indicates whether enhanced networking with ENA is enabled.</p>
282
+ */
283
+ EnaSupport?: AttributeBooleanValue;
284
+ /**
285
+ * @public
286
+ * <p>To enable the instance for Amazon Web Services Nitro Enclaves, set this parameter to
287
+ * <code>true</code>; otherwise, set it to <code>false</code>.</p>
288
+ */
289
+ EnclaveOptions?: EnclaveOptions;
290
+ /**
291
+ * @public
292
+ * <p>Indicates whether the instance is optimized for Amazon EBS I/O.</p>
293
+ */
294
+ EbsOptimized?: AttributeBooleanValue;
295
+ /**
296
+ * @public
297
+ * <p>The ID of the instance.</p>
298
+ */
299
+ InstanceId?: string;
300
+ /**
301
+ * @public
302
+ * <p>Indicates whether an instance stops or terminates when you initiate shutdown from the
303
+ * instance (using the operating system command for system shutdown).</p>
304
+ */
305
+ InstanceInitiatedShutdownBehavior?: AttributeValue;
306
+ /**
307
+ * @public
308
+ * <p>The instance type.</p>
309
+ */
310
+ InstanceType?: AttributeValue;
311
+ /**
312
+ * @public
313
+ * <p>The kernel ID.</p>
314
+ */
315
+ KernelId?: AttributeValue;
316
+ /**
317
+ * @public
318
+ * <p>A list of product codes.</p>
319
+ */
320
+ ProductCodes?: ProductCode[];
321
+ /**
322
+ * @public
323
+ * <p>The RAM disk ID.</p>
324
+ */
325
+ RamdiskId?: AttributeValue;
326
+ /**
327
+ * @public
328
+ * <p>The device name of the root device volume (for example,
329
+ * <code>/dev/sda1</code>).</p>
330
+ */
331
+ RootDeviceName?: AttributeValue;
332
+ /**
333
+ * @public
334
+ * <p>Enable or disable source/destination checks, which ensure that the instance is either
335
+ * the source or the destination of any traffic that it receives. If the value is
336
+ * <code>true</code>, source/destination checks are enabled; otherwise, they are
337
+ * disabled. The default value is <code>true</code>. You must disable source/destination
338
+ * checks if the instance runs services such as network address translation, routing, or
339
+ * firewalls.</p>
340
+ */
341
+ SourceDestCheck?: AttributeBooleanValue;
342
+ /**
343
+ * @public
344
+ * <p>Indicates whether enhanced networking with the Intel 82599 Virtual Function interface
345
+ * is enabled.</p>
346
+ */
347
+ SriovNetSupport?: AttributeValue;
348
+ /**
349
+ * @public
350
+ * <p>The user data.</p>
351
+ */
352
+ UserData?: AttributeValue;
353
+ /**
354
+ * @public
355
+ * <p>To enable the instance for Amazon Web Services Stop Protection, set this parameter to
356
+ * <code>true</code>; otherwise, set it to <code>false</code>.</p>
357
+ */
358
+ DisableApiStop?: AttributeBooleanValue;
359
+ }
360
+ /**
361
+ * @public
362
+ */
363
+ export interface DescribeInstanceConnectEndpointsRequest {
364
+ /**
365
+ * @public
366
+ * <p>Checks whether you have the required permissions for the action, without actually making the request,
367
+ * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
368
+ * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
369
+ */
370
+ DryRun?: boolean;
371
+ /**
372
+ * @public
373
+ * <p>The maximum number of items to return for this request.
374
+ * To get the next page of items, make another request with the token returned in the output.
375
+ * For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination">Pagination</a>.</p>
376
+ */
377
+ MaxResults?: number;
378
+ /**
379
+ * @public
380
+ * <p>The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.</p>
381
+ */
382
+ NextToken?: string;
383
+ /**
384
+ * @public
385
+ * <p>One or more filters.</p>
386
+ * <ul>
387
+ * <li>
388
+ * <p>
389
+ * <code>instance-connect-endpoint-id</code> - The ID of the EC2 Instance Connect Endpoint.</p>
210
390
  * </li>
211
391
  * <li>
212
392
  * <p>
213
- * <code>current-instance-boot-mode</code> - The boot mode that is used to launch
214
- * the instance at launch or start (<code>legacy-bios</code> |
215
- * <code>uefi</code>).</p>
393
+ * <code>state</code> - The state of the EC2 Instance Connect Endpoint (<code>create-in-progress</code> | <code>create-complete</code> | <code>create-failed</code> |
394
+ * <code>delete-in-progress</code> | <code>delete-complete</code> | <code>delete-failed</code>).</p>
216
395
  * </li>
217
396
  * <li>
218
397
  * <p>
219
- * <code>dns-name</code> - The public DNS name of the instance.</p>
398
+ * <code>subnet-id</code> - The ID of the subnet in which the EC2 Instance
399
+ * Connect Endpoint was created.</p>
220
400
  * </li>
221
401
  * <li>
222
402
  * <p>
223
- * <code>ebs-optimized</code> - A Boolean that indicates whether the instance is
224
- * optimized for Amazon EBS I/O.</p>
403
+ * <code>tag</code>:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.
404
+ * For example, to find all resources that have a tag with the key <code>Owner</code> and the value <code>TeamA</code>, specify <code>tag:Owner</code> for the filter name and <code>TeamA</code> for the filter value.</p>
225
405
  * </li>
226
406
  * <li>
227
407
  * <p>
228
- * <code>ena-support</code> - A Boolean that indicates whether the instance is
229
- * enabled for enhanced networking with ENA.</p>
408
+ * <code>tag-key</code> - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.</p>
230
409
  * </li>
231
410
  * <li>
232
411
  * <p>
233
- * <code>enclave-options.enabled</code> - A Boolean that indicates whether the
234
- * instance is enabled for Amazon Web Services Nitro Enclaves.</p>
412
+ * <code>tag-value</code> - The value of a tag assigned to the resource. Use this filter to find all resources
413
+ * that have a tag with a specific value, regardless of tag key.</p>
235
414
  * </li>
236
415
  * <li>
237
416
  * <p>
238
- * <code>hibernation-options.configured</code> - A Boolean that indicates whether
239
- * the instance is enabled for hibernation. A value of <code>true</code> means that
240
- * the instance is enabled for hibernation.</p>
417
+ * <code>vpc-id</code> - The ID of the VPC in which the EC2 Instance Connect
418
+ * Endpoint was created.</p>
241
419
  * </li>
420
+ * </ul>
421
+ */
422
+ Filters?: Filter[];
423
+ /**
424
+ * @public
425
+ * <p>One or more EC2 Instance Connect Endpoint IDs.</p>
426
+ */
427
+ InstanceConnectEndpointIds?: string[];
428
+ }
429
+ /**
430
+ * @public
431
+ */
432
+ export interface DescribeInstanceConnectEndpointsResult {
433
+ /**
434
+ * @public
435
+ * <p>Information about the EC2 Instance Connect Endpoints.</p>
436
+ */
437
+ InstanceConnectEndpoints?: Ec2InstanceConnectEndpoint[];
438
+ /**
439
+ * @public
440
+ * <p>The token to include in another request to get the next page of items. This value is <code>null</code> when there
441
+ * are no more items to return.</p>
442
+ */
443
+ NextToken?: string;
444
+ }
445
+ /**
446
+ * @public
447
+ */
448
+ export interface DescribeInstanceCreditSpecificationsRequest {
449
+ /**
450
+ * @public
451
+ * <p>Checks whether you have the required permissions for the action, without actually making the request,
452
+ * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
453
+ * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
454
+ */
455
+ DryRun?: boolean;
456
+ /**
457
+ * @public
458
+ * <p>The filters.</p>
459
+ * <ul>
242
460
  * <li>
243
461
  * <p>
244
- * <code>host-id</code> - The ID of the Dedicated Host on which the instance is
245
- * running, if applicable.</p>
462
+ * <code>instance-id</code> - The ID of the instance.</p>
246
463
  * </li>
464
+ * </ul>
465
+ */
466
+ Filters?: Filter[];
467
+ /**
468
+ * @public
469
+ * <p>The instance IDs.</p>
470
+ * <p>Default: Describes all your instances.</p>
471
+ * <p>Constraints: Maximum 1000 explicitly specified instance IDs.</p>
472
+ */
473
+ InstanceIds?: string[];
474
+ /**
475
+ * @public
476
+ * <p>The maximum number of items to return for this request.
477
+ * To get the next page of items, make another request with the token returned in the output.
478
+ * For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination">Pagination</a>.</p>
479
+ * <p>You cannot specify this parameter and the instance IDs
480
+ * parameter in the same call.</p>
481
+ */
482
+ MaxResults?: number;
483
+ /**
484
+ * @public
485
+ * <p>The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.</p>
486
+ */
487
+ NextToken?: string;
488
+ }
489
+ /**
490
+ * @public
491
+ * <p>Describes the credit option for CPU usage of a burstable performance instance. </p>
492
+ */
493
+ export interface InstanceCreditSpecification {
494
+ /**
495
+ * @public
496
+ * <p>The ID of the instance.</p>
497
+ */
498
+ InstanceId?: string;
499
+ /**
500
+ * @public
501
+ * <p>The credit option for CPU usage of the instance.</p>
502
+ * <p>Valid values: <code>standard</code> | <code>unlimited</code>
503
+ * </p>
504
+ */
505
+ CpuCredits?: string;
506
+ }
507
+ /**
508
+ * @public
509
+ */
510
+ export interface DescribeInstanceCreditSpecificationsResult {
511
+ /**
512
+ * @public
513
+ * <p>Information about the credit option for CPU usage of an instance.</p>
514
+ */
515
+ InstanceCreditSpecifications?: InstanceCreditSpecification[];
516
+ /**
517
+ * @public
518
+ * <p>The token to include in another request to get the next page of items. This value is <code>null</code> when there
519
+ * are no more items to return.</p>
520
+ */
521
+ NextToken?: string;
522
+ }
523
+ /**
524
+ * @public
525
+ */
526
+ export interface DescribeInstanceEventNotificationAttributesRequest {
527
+ /**
528
+ * @public
529
+ * <p>Checks whether you have the required permissions for the action, without actually making the request,
530
+ * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
531
+ * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
532
+ */
533
+ DryRun?: boolean;
534
+ }
535
+ /**
536
+ * @public
537
+ */
538
+ export interface DescribeInstanceEventNotificationAttributesResult {
539
+ /**
540
+ * @public
541
+ * <p>Information about the registered tag keys.</p>
542
+ */
543
+ InstanceTagAttribute?: InstanceTagNotificationAttribute;
544
+ }
545
+ /**
546
+ * @public
547
+ * <para>Describe instance event windows by InstanceEventWindow.</para>
548
+ */
549
+ export interface DescribeInstanceEventWindowsRequest {
550
+ /**
551
+ * @public
552
+ * <p>Checks whether you have the required permissions for the action, without actually making the request,
553
+ * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
554
+ * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
555
+ */
556
+ DryRun?: boolean;
557
+ /**
558
+ * @public
559
+ * <p>The IDs of the event windows.</p>
560
+ */
561
+ InstanceEventWindowIds?: string[];
562
+ /**
563
+ * @public
564
+ * <p>One or more filters.</p>
565
+ * <ul>
247
566
  * <li>
248
567
  * <p>
249
- * <code>hypervisor</code> - The hypervisor type of the instance
250
- * (<code>ovm</code> | <code>xen</code>). The value <code>xen</code> is used
251
- * for both Xen and Nitro hypervisors.</p>
568
+ * <code>dedicated-host-id</code> - The event windows associated with the specified
569
+ * Dedicated Host ID.</p>
252
570
  * </li>
253
571
  * <li>
254
572
  * <p>
255
- * <code>iam-instance-profile.arn</code> - The instance profile associated with
256
- * the instance. Specified as an ARN.</p>
573
+ * <code>event-window-name</code> - The event windows associated with the specified
574
+ * names. </p>
575
+ * </li>
576
+ * <li>
577
+ * <p>
578
+ * <code>instance-id</code> - The event windows associated with the specified instance
579
+ * ID.</p>
580
+ * </li>
581
+ * <li>
582
+ * <p>
583
+ * <code>instance-tag</code> - The event windows associated with the specified tag and
584
+ * value.</p>
585
+ * </li>
586
+ * <li>
587
+ * <p>
588
+ * <code>instance-tag-key</code> - The event windows associated with the specified tag
589
+ * key, regardless of the value.</p>
590
+ * </li>
591
+ * <li>
592
+ * <p>
593
+ * <code>instance-tag-value</code> - The event windows associated with the specified tag
594
+ * value, regardless of the key.</p>
595
+ * </li>
596
+ * <li>
597
+ * <p>
598
+ * <code>tag:<key></code> - The key/value combination of a tag assigned to the
599
+ * event window. Use the tag key in the filter name and the tag value as the filter
600
+ * value. For example, to find all resources that have a tag with the key
601
+ * <code>Owner</code> and the value <code>CMX</code>, specify <code>tag:Owner</code>
602
+ * for the filter name and <code>CMX</code> for the filter value. </p>
603
+ * </li>
604
+ * <li>
605
+ * <p>
606
+ * <code>tag-key</code> - The key of a tag assigned to the event window. Use this filter
607
+ * to find all event windows that have a tag with a specific key, regardless of the tag
608
+ * value. </p>
609
+ * </li>
610
+ * <li>
611
+ * <p>
612
+ * <code>tag-value</code> - The value of a tag assigned to the event window. Use this
613
+ * filter to find all event windows that have a tag with a specific value, regardless of
614
+ * the tag key. </p>
615
+ * </li>
616
+ * </ul>
617
+ */
618
+ Filters?: Filter[];
619
+ /**
620
+ * @public
621
+ * <p>The maximum number of results to return in a single call. To retrieve the remaining
622
+ * results, make another call with the returned <code>NextToken</code> value. This value can
623
+ * be between 20 and 500. You cannot specify this parameter and the event window IDs parameter
624
+ * in the same call.</p>
625
+ */
626
+ MaxResults?: number;
627
+ /**
628
+ * @public
629
+ * <p>The token to request the next page of results.</p>
630
+ */
631
+ NextToken?: string;
632
+ }
633
+ /**
634
+ * @public
635
+ */
636
+ export interface DescribeInstanceEventWindowsResult {
637
+ /**
638
+ * @public
639
+ * <p>Information about the event windows.</p>
640
+ */
641
+ InstanceEventWindows?: InstanceEventWindow[];
642
+ /**
643
+ * @public
644
+ * <p>The token to use to retrieve the next page of results. This value is <code>null</code> when there are no more results to return. </p>
645
+ */
646
+ NextToken?: string;
647
+ }
648
+ /**
649
+ * @public
650
+ */
651
+ export interface DescribeInstancesRequest {
652
+ /**
653
+ * @public
654
+ * <p>The filters.</p>
655
+ * <ul>
656
+ * <li>
657
+ * <p>
658
+ * <code>affinity</code> - The affinity setting for an instance running on a
659
+ * Dedicated Host (<code>default</code> | <code>host</code>).</p>
660
+ * </li>
661
+ * <li>
662
+ * <p>
663
+ * <code>architecture</code> - The instance architecture (<code>i386</code> |
664
+ * <code>x86_64</code> | <code>arm64</code>).</p>
665
+ * </li>
666
+ * <li>
667
+ * <p>
668
+ * <code>availability-zone</code> - The Availability Zone of the instance.</p>
669
+ * </li>
670
+ * <li>
671
+ * <p>
672
+ * <code>block-device-mapping.attach-time</code> - The attach time for an EBS
673
+ * volume mapped to the instance, for example,
674
+ * <code>2022-09-15T17:15:20.000Z</code>.</p>
675
+ * </li>
676
+ * <li>
677
+ * <p>
678
+ * <code>block-device-mapping.delete-on-termination</code> - A Boolean that
679
+ * indicates whether the EBS volume is deleted on instance termination.</p>
680
+ * </li>
681
+ * <li>
682
+ * <p>
683
+ * <code>block-device-mapping.device-name</code> - The device name specified in
684
+ * the block device mapping (for example, <code>/dev/sdh</code> or
685
+ * <code>xvdh</code>).</p>
686
+ * </li>
687
+ * <li>
688
+ * <p>
689
+ * <code>block-device-mapping.status</code> - The status for the EBS volume
690
+ * (<code>attaching</code> | <code>attached</code> | <code>detaching</code> |
691
+ * <code>detached</code>).</p>
692
+ * </li>
693
+ * <li>
694
+ * <p>
695
+ * <code>block-device-mapping.volume-id</code> - The volume ID of the EBS
696
+ * volume.</p>
697
+ * </li>
698
+ * <li>
699
+ * <p>
700
+ * <code>boot-mode</code> - The boot mode that was specified by the AMI
701
+ * (<code>legacy-bios</code> | <code>uefi</code> |
702
+ * <code>uefi-preferred</code>).</p>
703
+ * </li>
704
+ * <li>
705
+ * <p>
706
+ * <code>capacity-reservation-id</code> - The ID of the Capacity Reservation into which the
707
+ * instance was launched.</p>
708
+ * </li>
709
+ * <li>
710
+ * <p>
711
+ * <code>capacity-reservation-specification.capacity-reservation-preference</code>
712
+ * - The instance's Capacity Reservation preference (<code>open</code> | <code>none</code>).</p>
713
+ * </li>
714
+ * <li>
715
+ * <p>
716
+ * <code>capacity-reservation-specification.capacity-reservation-target.capacity-reservation-id</code>
717
+ * - The ID of the targeted Capacity Reservation.</p>
718
+ * </li>
719
+ * <li>
720
+ * <p>
721
+ * <code>capacity-reservation-specification.capacity-reservation-target.capacity-reservation-resource-group-arn</code>
722
+ * - The ARN of the targeted Capacity Reservation group.</p>
723
+ * </li>
724
+ * <li>
725
+ * <p>
726
+ * <code>client-token</code> - The idempotency token you provided when you
727
+ * launched the instance.</p>
728
+ * </li>
729
+ * <li>
730
+ * <p>
731
+ * <code>current-instance-boot-mode</code> - The boot mode that is used to launch
732
+ * the instance at launch or start (<code>legacy-bios</code> |
733
+ * <code>uefi</code>).</p>
734
+ * </li>
735
+ * <li>
736
+ * <p>
737
+ * <code>dns-name</code> - The public DNS name of the instance.</p>
738
+ * </li>
739
+ * <li>
740
+ * <p>
741
+ * <code>ebs-optimized</code> - A Boolean that indicates whether the instance is
742
+ * optimized for Amazon EBS I/O.</p>
743
+ * </li>
744
+ * <li>
745
+ * <p>
746
+ * <code>ena-support</code> - A Boolean that indicates whether the instance is
747
+ * enabled for enhanced networking with ENA.</p>
748
+ * </li>
749
+ * <li>
750
+ * <p>
751
+ * <code>enclave-options.enabled</code> - A Boolean that indicates whether the
752
+ * instance is enabled for Amazon Web Services Nitro Enclaves.</p>
753
+ * </li>
754
+ * <li>
755
+ * <p>
756
+ * <code>hibernation-options.configured</code> - A Boolean that indicates whether
757
+ * the instance is enabled for hibernation. A value of <code>true</code> means that
758
+ * the instance is enabled for hibernation.</p>
759
+ * </li>
760
+ * <li>
761
+ * <p>
762
+ * <code>host-id</code> - The ID of the Dedicated Host on which the instance is
763
+ * running, if applicable.</p>
764
+ * </li>
765
+ * <li>
766
+ * <p>
767
+ * <code>hypervisor</code> - The hypervisor type of the instance
768
+ * (<code>ovm</code> | <code>xen</code>). The value <code>xen</code> is used
769
+ * for both Xen and Nitro hypervisors.</p>
770
+ * </li>
771
+ * <li>
772
+ * <p>
773
+ * <code>iam-instance-profile.arn</code> - The instance profile associated with
774
+ * the instance. Specified as an ARN.</p>
257
775
  * </li>
258
776
  * <li>
259
777
  * <p>
@@ -1308,6 +1826,34 @@ export interface InstanceNetworkInterfaceAttachment {
1308
1826
  */
1309
1827
  EnaSrdSpecification?: InstanceAttachmentEnaSrdSpecification;
1310
1828
  }
1829
+ /**
1830
+ * @public
1831
+ * <p>A security group connection tracking specification response that enables you to set the idle timeout for connection tracking on an Elastic network interface. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-connection-tracking.html#connection-tracking-timeouts">Connection tracking timeouts</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
1832
+ */
1833
+ export interface ConnectionTrackingSpecificationResponse {
1834
+ /**
1835
+ * @public
1836
+ * <p>Timeout (in seconds) for idle TCP
1837
+ * connections in an established state. Min: 60 seconds. Max: 432000 seconds (5
1838
+ * days). Default: 432000 seconds. Recommended: Less than 432000 seconds.</p>
1839
+ */
1840
+ TcpEstablishedTimeout?: number;
1841
+ /**
1842
+ * @public
1843
+ * <p>Timeout (in seconds) for idle UDP
1844
+ * flows classified as streams which have seen more than one request-response
1845
+ * transaction. Min: 60 seconds. Max: 180 seconds (3 minutes). Default: 180
1846
+ * seconds.</p>
1847
+ */
1848
+ UdpStreamTimeout?: number;
1849
+ /**
1850
+ * @public
1851
+ * <p>Timeout (in seconds) for idle UDP flows that
1852
+ * have seen traffic only in a single direction or a single request-response
1853
+ * transaction. Min: 30 seconds. Max: 60 seconds. Default: 30 seconds.</p>
1854
+ */
1855
+ UdpTimeout?: number;
1856
+ }
1311
1857
  /**
1312
1858
  * @public
1313
1859
  * <p>Information about an IPv4 prefix.</p>
@@ -1454,6 +2000,11 @@ export interface InstanceNetworkInterface {
1454
2000
  * <p>The IPv6 delegated prefixes that are assigned to the network interface.</p>
1455
2001
  */
1456
2002
  Ipv6Prefixes?: InstanceIpv6Prefix[];
2003
+ /**
2004
+ * @public
2005
+ * <p>A security group connection tracking configuration that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-connection-tracking.html#connection-tracking-timeouts">Connection tracking timeouts</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
2006
+ */
2007
+ ConnectionTrackingConfiguration?: ConnectionTrackingSpecificationResponse;
1457
2008
  }
1458
2009
  /**
1459
2010
  * @public
@@ -1605,7 +2156,7 @@ export interface Instance {
1605
2156
  Placement?: Placement;
1606
2157
  /**
1607
2158
  * @public
1608
- * <p>The value is <code>Windows</code> for Windows instances; otherwise blank.</p>
2159
+ * <p>The platform. This value is <code>windows</code> for Windows instances; otherwise, it is empty.</p>
1609
2160
  */
1610
2161
  Platform?: PlatformValues;
1611
2162
  /**
@@ -3646,6 +4197,44 @@ export interface DescribeInternetGatewaysResult {
3646
4197
  */
3647
4198
  NextToken?: string;
3648
4199
  }
4200
+ /**
4201
+ * @public
4202
+ */
4203
+ export interface DescribeIpamByoasnRequest {
4204
+ /**
4205
+ * @public
4206
+ * <p>Checks whether you have the required permissions for the action, without actually making the request,
4207
+ * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
4208
+ * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
4209
+ */
4210
+ DryRun?: boolean;
4211
+ /**
4212
+ * @public
4213
+ * <p>The maximum number of results to return with a single call.
4214
+ * To retrieve the remaining results, make another call with the returned <code>nextToken</code> value.</p>
4215
+ */
4216
+ MaxResults?: number;
4217
+ /**
4218
+ * @public
4219
+ * <p>The token for the next page of results.</p>
4220
+ */
4221
+ NextToken?: string;
4222
+ }
4223
+ /**
4224
+ * @public
4225
+ */
4226
+ export interface DescribeIpamByoasnResult {
4227
+ /**
4228
+ * @public
4229
+ * <p>ASN and BYOIP CIDR associations.</p>
4230
+ */
4231
+ Byoasns?: Byoasn[];
4232
+ /**
4233
+ * @public
4234
+ * <p>The token to use to retrieve the next page of results. This value is <code>null</code> when there are no more results to return.</p>
4235
+ */
4236
+ NextToken?: string;
4237
+ }
3649
4238
  /**
3650
4239
  * @public
3651
4240
  */
@@ -8124,9 +8713,14 @@ export interface SecurityGroupReference {
8124
8713
  ReferencingVpcId?: string;
8125
8714
  /**
8126
8715
  * @public
8127
- * <p>The ID of the VPC peering connection.</p>
8716
+ * <p>The ID of the VPC peering connection (if applicable). For more information about security group referencing for peering connections, see <a href="https://docs.aws.amazon.com/peering/vpc-peering-security-groups.html">Update your security groups to reference peer security groups</a> in the <i>VPC Peering Guide</i>.</p>
8128
8717
  */
8129
8718
  VpcPeeringConnectionId?: string;
8719
+ /**
8720
+ * @public
8721
+ * <p>The ID of the transit gateway (if applicable). For more information about security group referencing for transit gateways, see <a href="https://docs.aws.amazon.com/tgw/tgw-vpc-attachments.html#create-vpc-attachment">Create a transit gateway attachment to a VPC</a> in the <i>Amazon Web Services Transit Gateway Guide</i>.</p>
8722
+ */
8723
+ TransitGatewayId?: string;
8130
8724
  }
8131
8725
  /**
8132
8726
  * @public
@@ -9199,990 +9793,68 @@ export interface InstanceNetworkInterfaceSpecification {
9199
9793
  * <p>Specifies the ENA Express settings for the network interface that's attached to
9200
9794
  * the instance.</p>
9201
9795
  */
9202
- EnaSrdSpecification?: EnaSrdSpecificationRequest;
9203
- }
9204
- /**
9205
- * @public
9206
- * <p>Describes Spot Instance placement.</p>
9207
- */
9208
- export interface SpotPlacement {
9209
- /**
9210
- * @public
9211
- * <p>The Availability Zone.</p>
9212
- * <p>[Spot Fleet only] To specify multiple Availability Zones, separate them using commas;
9213
- * for example, "us-west-2a, us-west-2b".</p>
9214
- */
9215
- AvailabilityZone?: string;
9216
- /**
9217
- * @public
9218
- * <p>The name of the placement group.</p>
9219
- */
9220
- GroupName?: string;
9221
- /**
9222
- * @public
9223
- * <p>The tenancy of the instance (if the instance is running in a VPC). An instance with a
9224
- * tenancy of <code>dedicated</code> runs on single-tenant hardware. The <code>host</code>
9225
- * tenancy is not supported for Spot Instances.</p>
9226
- */
9227
- Tenancy?: Tenancy;
9228
- }
9229
- /**
9230
- * @public
9231
- * <p>The tags for a Spot Fleet resource.</p>
9232
- */
9233
- export interface SpotFleetTagSpecification {
9234
- /**
9235
- * @public
9236
- * <p>The type of resource. Currently, the only resource type that is supported is
9237
- * <code>instance</code>. To tag the Spot Fleet request on creation, use the
9238
- * <code>TagSpecifications</code> parameter in <code>
9239
- * <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SpotFleetRequestConfigData.html">SpotFleetRequestConfigData</a>
9240
- * </code>.</p>
9241
- */
9242
- ResourceType?: ResourceType;
9243
- /**
9244
- * @public
9245
- * <p>The tags.</p>
9246
- */
9247
- Tags?: Tag[];
9248
- }
9249
- /**
9250
- * @public
9251
- * <p>Describes the launch specification for one or more Spot Instances. If you include
9252
- * On-Demand capacity in your fleet request or want to specify an EFA network device, you
9253
- * can't use <code>SpotFleetLaunchSpecification</code>; you must use <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_LaunchTemplateConfig.html">LaunchTemplateConfig</a>.</p>
9254
- */
9255
- export interface SpotFleetLaunchSpecification {
9256
- /**
9257
- * @public
9258
- * <p>The security groups.</p>
9259
- */
9260
- SecurityGroups?: GroupIdentifier[];
9261
- /**
9262
- * @public
9263
- * <p>Deprecated.</p>
9264
- */
9265
- AddressingType?: string;
9266
- /**
9267
- * @public
9268
- * <p>One or more block devices that are mapped to the Spot Instances. You can't specify both
9269
- * a snapshot ID and an encryption value. This is because only blank volumes can be
9270
- * encrypted on creation. If a snapshot is the basis for a volume, it is not blank and its
9271
- * encryption status is used for the volume encryption status.</p>
9272
- */
9273
- BlockDeviceMappings?: BlockDeviceMapping[];
9274
- /**
9275
- * @public
9276
- * <p>Indicates whether the instances are optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.</p>
9277
- * <p>Default: <code>false</code>
9278
- * </p>
9279
- */
9280
- EbsOptimized?: boolean;
9281
- /**
9282
- * @public
9283
- * <p>The IAM instance profile.</p>
9284
- */
9285
- IamInstanceProfile?: IamInstanceProfileSpecification;
9286
- /**
9287
- * @public
9288
- * <p>The ID of the AMI.</p>
9289
- */
9290
- ImageId?: string;
9291
- /**
9292
- * @public
9293
- * <p>The instance type.</p>
9294
- */
9295
- InstanceType?: _InstanceType;
9296
- /**
9297
- * @public
9298
- * <p>The ID of the kernel.</p>
9299
- */
9300
- KernelId?: string;
9301
- /**
9302
- * @public
9303
- * <p>The name of the key pair.</p>
9304
- */
9305
- KeyName?: string;
9306
- /**
9307
- * @public
9308
- * <p>Enable or disable monitoring for the instances.</p>
9309
- */
9310
- Monitoring?: SpotFleetMonitoring;
9311
- /**
9312
- * @public
9313
- * <p>One or more network interfaces. If you specify a network interface, you must specify
9314
- * subnet IDs and security group IDs using the network interface.</p>
9315
- * <note>
9316
- * <p>
9317
- * <code>SpotFleetLaunchSpecification</code> currently does not support Elastic Fabric Adapter (EFA). To specify an EFA, you must use <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_LaunchTemplateConfig.html">LaunchTemplateConfig</a>.</p>
9318
- * </note>
9319
- */
9320
- NetworkInterfaces?: InstanceNetworkInterfaceSpecification[];
9321
- /**
9322
- * @public
9323
- * <p>The placement information.</p>
9324
- */
9325
- Placement?: SpotPlacement;
9326
- /**
9327
- * @public
9328
- * <p>The ID of the RAM disk. Some kernels require additional drivers at launch. Check the kernel
9329
- * requirements for information about whether you need to specify a RAM disk. To find kernel
9330
- * requirements, refer to the Amazon Web Services Resource Center and search for the kernel ID.</p>
9331
- */
9332
- RamdiskId?: string;
9333
- /**
9334
- * @public
9335
- * <p>The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to
9336
- * increased interruptions. If you do not specify this parameter, you will pay the current Spot price.</p>
9337
- * <important>
9338
- * <p>If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.</p>
9339
- * </important>
9340
- */
9341
- SpotPrice?: string;
9342
- /**
9343
- * @public
9344
- * <p>The IDs of the subnets in which to launch the instances. To specify multiple subnets, separate
9345
- * them using commas; for example, "subnet-1234abcdeexample1, subnet-0987cdef6example2".</p>
9346
- */
9347
- SubnetId?: string;
9348
- /**
9349
- * @public
9350
- * <p>The base64-encoded user data that instances use when starting up. User data is limited to 16 KB.</p>
9351
- */
9352
- UserData?: string;
9353
- /**
9354
- * @public
9355
- * <p>The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.</p>
9356
- * <p>If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.</p>
9357
- */
9358
- WeightedCapacity?: number;
9359
- /**
9360
- * @public
9361
- * <p>The tags to apply during creation.</p>
9362
- */
9363
- TagSpecifications?: SpotFleetTagSpecification[];
9364
- /**
9365
- * @public
9366
- * <p>The attributes for the instance types. When you specify instance attributes, Amazon EC2 will
9367
- * identify instance types with those attributes.</p>
9368
- * <note>
9369
- * <p>If you specify <code>InstanceRequirements</code>, you can't specify
9370
- * <code>InstanceType</code>.</p>
9371
- * </note>
9372
- */
9373
- InstanceRequirements?: InstanceRequirements;
9374
- }
9375
- /**
9376
- * @public
9377
- * <p>Describes overrides for a launch template.</p>
9378
- */
9379
- export interface LaunchTemplateOverrides {
9380
- /**
9381
- * @public
9382
- * <p>The instance type.</p>
9383
- */
9384
- InstanceType?: _InstanceType;
9385
- /**
9386
- * @public
9387
- * <p>The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to
9388
- * increased interruptions. If you do not specify this parameter, you will pay the current Spot price.</p>
9389
- * <important>
9390
- * <p>If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.</p>
9391
- * </important>
9392
- */
9393
- SpotPrice?: string;
9394
- /**
9395
- * @public
9396
- * <p>The ID of the subnet in which to launch the instances.</p>
9397
- */
9398
- SubnetId?: string;
9399
- /**
9400
- * @public
9401
- * <p>The Availability Zone in which to launch the instances.</p>
9402
- */
9403
- AvailabilityZone?: string;
9404
- /**
9405
- * @public
9406
- * <p>The number of units provided by the specified instance type.</p>
9407
- */
9408
- WeightedCapacity?: number;
9409
- /**
9410
- * @public
9411
- * <p>The priority for the launch template override. The highest priority is launched
9412
- * first.</p>
9413
- * <p>If <code>OnDemandAllocationStrategy</code> is set to <code>prioritized</code>, Spot Fleet
9414
- * uses priority to determine which launch template override to use first in fulfilling
9415
- * On-Demand capacity.</p>
9416
- * <p>If the Spot <code>AllocationStrategy</code> is set to
9417
- * <code>capacityOptimizedPrioritized</code>, Spot Fleet uses priority on a best-effort basis
9418
- * to determine which launch template override to use in fulfilling Spot capacity, but
9419
- * optimizes for capacity first.</p>
9420
- * <p>Valid values are whole numbers starting at <code>0</code>. The lower the number, the
9421
- * higher the priority. If no number is set, the launch template override has the lowest
9422
- * priority. You can set the same priority for different launch template overrides.</p>
9423
- */
9424
- Priority?: number;
9425
- /**
9426
- * @public
9427
- * <p>The instance requirements. When you specify instance requirements, Amazon EC2 will identify
9428
- * instance types with the provided requirements, and then use your On-Demand and Spot
9429
- * allocation strategies to launch instances from these instance types, in the same way as
9430
- * when you specify a list of instance types.</p>
9431
- * <note>
9432
- * <p>If you specify <code>InstanceRequirements</code>, you can't specify
9433
- * <code>InstanceType</code>.</p>
9434
- * </note>
9435
- */
9436
- InstanceRequirements?: InstanceRequirements;
9437
- }
9438
- /**
9439
- * @public
9440
- * <p>Describes a launch template and overrides.</p>
9441
- */
9442
- export interface LaunchTemplateConfig {
9443
- /**
9444
- * @public
9445
- * <p>The launch template to use. Make sure that the launch template does not contain the
9446
- * <code>NetworkInterfaceId</code> parameter because you can't specify a network interface
9447
- * ID in a Spot Fleet.</p>
9448
- */
9449
- LaunchTemplateSpecification?: FleetLaunchTemplateSpecification;
9450
- /**
9451
- * @public
9452
- * <p>Any parameters that you specify override the same parameters in the launch
9453
- * template.</p>
9454
- */
9455
- Overrides?: LaunchTemplateOverrides[];
9456
- }
9457
- /**
9458
- * @public
9459
- * <p>Describes a Classic Load Balancer.</p>
9460
- */
9461
- export interface ClassicLoadBalancer {
9462
- /**
9463
- * @public
9464
- * <p>The name of the load balancer.</p>
9465
- */
9466
- Name?: string;
9467
- }
9468
- /**
9469
- * @public
9470
- * <p>Describes the Classic Load Balancers to attach to a Spot Fleet. Spot Fleet registers
9471
- * the running Spot Instances with these Classic Load Balancers.</p>
9472
- */
9473
- export interface ClassicLoadBalancersConfig {
9474
- /**
9475
- * @public
9476
- * <p>One or more Classic Load Balancers.</p>
9477
- */
9478
- ClassicLoadBalancers?: ClassicLoadBalancer[];
9479
- }
9480
- /**
9481
- * @public
9482
- * <p>Describes a load balancer target group.</p>
9483
- */
9484
- export interface TargetGroup {
9485
- /**
9486
- * @public
9487
- * <p>The Amazon Resource Name (ARN) of the target group.</p>
9488
- */
9489
- Arn?: string;
9490
- }
9491
- /**
9492
- * @public
9493
- * <p>Describes the target groups to attach to a Spot Fleet. Spot Fleet registers the
9494
- * running Spot Instances with these target groups.</p>
9495
- */
9496
- export interface TargetGroupsConfig {
9497
- /**
9498
- * @public
9499
- * <p>One or more target groups.</p>
9500
- */
9501
- TargetGroups?: TargetGroup[];
9502
- }
9503
- /**
9504
- * @public
9505
- * <p>Describes the Classic Load Balancers and target groups to attach to a Spot Fleet
9506
- * request.</p>
9507
- */
9508
- export interface LoadBalancersConfig {
9509
- /**
9510
- * @public
9511
- * <p>The Classic Load Balancers.</p>
9512
- */
9513
- ClassicLoadBalancersConfig?: ClassicLoadBalancersConfig;
9514
- /**
9515
- * @public
9516
- * <p>The target groups.</p>
9517
- */
9518
- TargetGroupsConfig?: TargetGroupsConfig;
9519
- }
9520
- /**
9521
- * @public
9522
- * @enum
9523
- */
9524
- export declare const OnDemandAllocationStrategy: {
9525
- readonly LOWEST_PRICE: "lowestPrice";
9526
- readonly PRIORITIZED: "prioritized";
9527
- };
9528
- /**
9529
- * @public
9530
- */
9531
- export type OnDemandAllocationStrategy = (typeof OnDemandAllocationStrategy)[keyof typeof OnDemandAllocationStrategy];
9532
- /**
9533
- * @public
9534
- * @enum
9535
- */
9536
- export declare const ReplacementStrategy: {
9537
- readonly LAUNCH: "launch";
9538
- readonly LAUNCH_BEFORE_TERMINATE: "launch-before-terminate";
9539
- };
9540
- /**
9541
- * @public
9542
- */
9543
- export type ReplacementStrategy = (typeof ReplacementStrategy)[keyof typeof ReplacementStrategy];
9544
- /**
9545
- * @public
9546
- * <p>The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your
9547
- * Spot Instance is at an elevated risk of being interrupted. For more information, see
9548
- * <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-capacity-rebalance.html">Capacity rebalancing</a> in the <i>Amazon EC2 User Guide for Linux Instances</i>.</p>
9549
- */
9550
- export interface SpotCapacityRebalance {
9551
- /**
9552
- * @public
9553
- * <p>The replacement strategy to use. Only available for fleets of type
9554
- * <code>maintain</code>.</p>
9555
- * <p>
9556
- * <code>launch</code> - Spot Fleet launches a new replacement Spot Instance when a
9557
- * rebalance notification is emitted for an existing Spot Instance in the fleet. Spot Fleet
9558
- * does not terminate the instances that receive a rebalance notification. You can
9559
- * terminate the old instances, or you can leave them running. You are charged for all
9560
- * instances while they are running. </p>
9561
- * <p>
9562
- * <code>launch-before-terminate</code> - Spot Fleet launches a new replacement Spot
9563
- * Instance when a rebalance notification is emitted for an existing Spot Instance in the
9564
- * fleet, and then, after a delay that you specify (in <code>TerminationDelay</code>),
9565
- * terminates the instances that received a rebalance notification.</p>
9566
- */
9567
- ReplacementStrategy?: ReplacementStrategy;
9568
- /**
9569
- * @public
9570
- * <p>The amount of time (in seconds) that Amazon EC2 waits before terminating the old Spot
9571
- * Instance after launching a new replacement Spot Instance.</p>
9572
- * <p>Required when <code>ReplacementStrategy</code> is set to <code>launch-before-terminate</code>.</p>
9573
- * <p>Not valid when <code>ReplacementStrategy</code> is set to <code>launch</code>.</p>
9574
- * <p>Valid values: Minimum value of <code>120</code> seconds. Maximum value of <code>7200</code> seconds.</p>
9575
- */
9576
- TerminationDelay?: number;
9577
- }
9578
- /**
9579
- * @public
9580
- * <p>The strategies for managing your Spot Instances that are at an elevated risk of being
9581
- * interrupted.</p>
9582
- */
9583
- export interface SpotMaintenanceStrategies {
9584
- /**
9585
- * @public
9586
- * <p>The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your
9587
- * Spot Instance is at an elevated risk of being interrupted. For more information, see
9588
- * <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-capacity-rebalance.html">Capacity rebalancing</a> in the <i>Amazon EC2 User Guide for Linux Instances</i>.</p>
9589
- */
9590
- CapacityRebalance?: SpotCapacityRebalance;
9591
- }
9592
- /**
9593
- * @public
9594
- * <p>Describes the configuration of a Spot Fleet request.</p>
9595
- */
9596
- export interface SpotFleetRequestConfigData {
9597
- /**
9598
- * @public
9599
- * <p>The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance
9600
- * pools specified by the Spot Fleet launch configuration. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-allocation-strategy.html">Allocation
9601
- * strategies for Spot Instances</a> in the <i>Amazon EC2 User Guide</i>.</p>
9602
- * <dl>
9603
- * <dt>priceCapacityOptimized (recommended)</dt>
9604
- * <dd>
9605
- * <p>Spot Fleet identifies the pools with
9606
- * the highest capacity availability for the number of instances that are launching. This means
9607
- * that we will request Spot Instances from the pools that we believe have the lowest chance of interruption
9608
- * in the near term. Spot Fleet then requests Spot Instances from the lowest priced of these pools.</p>
9609
- * </dd>
9610
- * <dt>capacityOptimized</dt>
9611
- * <dd>
9612
- * <p>Spot Fleet identifies the pools with
9613
- * the highest capacity availability for the number of instances that are launching. This means
9614
- * that we will request Spot Instances from the pools that we believe have the lowest chance of interruption
9615
- * in the near term. To give certain
9616
- * instance types a higher chance of launching first, use
9617
- * <code>capacityOptimizedPrioritized</code>. Set a priority for each instance type by
9618
- * using the <code>Priority</code> parameter for <code>LaunchTemplateOverrides</code>. You can
9619
- * assign the same priority to different <code>LaunchTemplateOverrides</code>. EC2 implements
9620
- * the priorities on a best-effort basis, but optimizes for capacity first.
9621
- * <code>capacityOptimizedPrioritized</code> is supported only if your Spot Fleet uses a
9622
- * launch template. Note that if the <code>OnDemandAllocationStrategy</code> is set to
9623
- * <code>prioritized</code>, the same priority is applied when fulfilling On-Demand
9624
- * capacity.</p>
9625
- * </dd>
9626
- * <dt>diversified</dt>
9627
- * <dd>
9628
- * <p>Spot Fleet requests instances from all of the Spot Instance pools that you
9629
- * specify.</p>
9630
- * </dd>
9631
- * <dt>lowestPrice</dt>
9632
- * <dd>
9633
- * <p>Spot Fleet requests instances from the lowest priced Spot Instance pool that
9634
- * has available capacity. If the lowest priced pool doesn't have available capacity, the Spot Instances
9635
- * come from the next lowest priced pool that has available capacity. If a pool runs out of
9636
- * capacity before fulfilling your desired capacity, Spot Fleet will continue to fulfill your
9637
- * request by drawing from the next lowest priced pool. To ensure that your desired capacity is
9638
- * met, you might receive Spot Instances from several pools. Because this strategy only considers instance
9639
- * price and not capacity availability, it might lead to high interruption rates.</p>
9640
- * </dd>
9641
- * </dl>
9642
- * <p>Default: <code>lowestPrice</code>
9643
- * </p>
9644
- */
9645
- AllocationStrategy?: AllocationStrategy;
9646
- /**
9647
- * @public
9648
- * <p>The order of the launch template overrides to use in fulfilling On-Demand capacity. If
9649
- * you specify <code>lowestPrice</code>, Spot Fleet uses price to determine the order, launching
9650
- * the lowest price first. If you specify <code>prioritized</code>, Spot Fleet uses the priority
9651
- * that you assign to each Spot Fleet launch template override, launching the highest priority
9652
- * first. If you do not specify a value, Spot Fleet defaults to <code>lowestPrice</code>.</p>
9653
- */
9654
- OnDemandAllocationStrategy?: OnDemandAllocationStrategy;
9655
- /**
9656
- * @public
9657
- * <p>The strategies for managing your Spot Instances that are at an elevated risk of being
9658
- * interrupted.</p>
9659
- */
9660
- SpotMaintenanceStrategies?: SpotMaintenanceStrategies;
9661
- /**
9662
- * @public
9663
- * <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of your
9664
- * listings. This helps to avoid duplicate listings. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html">Ensuring Idempotency</a>.</p>
9665
- */
9666
- ClientToken?: string;
9667
- /**
9668
- * @public
9669
- * <p>Indicates whether running instances should be terminated if you decrease the
9670
- * target capacity of the Spot Fleet request below the current size of the Spot Fleet.</p>
9671
- * <p>Supported only for fleets of type <code>maintain</code>.</p>
9672
- */
9673
- ExcessCapacityTerminationPolicy?: ExcessCapacityTerminationPolicy;
9674
- /**
9675
- * @public
9676
- * <p>The number of units fulfilled by this request compared to the set target capacity. You
9677
- * cannot set this value.</p>
9678
- */
9679
- FulfilledCapacity?: number;
9680
- /**
9681
- * @public
9682
- * <p>The number of On-Demand units fulfilled by this request compared to the set target
9683
- * On-Demand capacity.</p>
9684
- */
9685
- OnDemandFulfilledCapacity?: number;
9686
- /**
9687
- * @public
9688
- * <p>The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) role that
9689
- * grants the Spot Fleet the permission to request, launch, terminate, and tag instances on
9690
- * your behalf. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html#spot-fleet-prerequisites">Spot
9691
- * Fleet prerequisites</a> in the <i>Amazon EC2 User Guide</i>. Spot Fleet
9692
- * can terminate Spot Instances on your behalf when you cancel its Spot Fleet request using
9693
- * <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CancelSpotFleetRequests">CancelSpotFleetRequests</a> or when the Spot Fleet request expires, if you set
9694
- * <code>TerminateInstancesWithExpiration</code>.</p>
9695
- */
9696
- IamFleetRole: string | undefined;
9697
- /**
9698
- * @public
9699
- * <p>The launch specifications for the Spot Fleet request. If you specify
9700
- * <code>LaunchSpecifications</code>, you can't specify
9701
- * <code>LaunchTemplateConfigs</code>. If you include On-Demand capacity in your
9702
- * request, you must use <code>LaunchTemplateConfigs</code>.</p>
9703
- */
9704
- LaunchSpecifications?: SpotFleetLaunchSpecification[];
9705
- /**
9706
- * @public
9707
- * <p>The launch template and overrides. If you specify <code>LaunchTemplateConfigs</code>,
9708
- * you can't specify <code>LaunchSpecifications</code>. If you include On-Demand capacity
9709
- * in your request, you must use <code>LaunchTemplateConfigs</code>.</p>
9710
- */
9711
- LaunchTemplateConfigs?: LaunchTemplateConfig[];
9712
- /**
9713
- * @public
9714
- * <p>The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend
9715
- * using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.</p>
9716
- * <important>
9717
- * <p>If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.</p>
9718
- * </important>
9719
- */
9720
- SpotPrice?: string;
9721
- /**
9722
- * @public
9723
- * <p>The number of units to request for the Spot Fleet. You can choose to set the target
9724
- * capacity in terms of instances or a performance characteristic that is important to your
9725
- * application workload, such as vCPUs, memory, or I/O. If the request type is
9726
- * <code>maintain</code>, you can specify a target capacity of 0 and add capacity
9727
- * later.</p>
9728
- */
9729
- TargetCapacity: number | undefined;
9730
- /**
9731
- * @public
9732
- * <p>The number of On-Demand units to request. You can choose to set the target capacity in
9733
- * terms of instances or a performance characteristic that is important to your application
9734
- * workload, such as vCPUs, memory, or I/O. If the request type is <code>maintain</code>,
9735
- * you can specify a target capacity of 0 and add capacity later.</p>
9736
- */
9737
- OnDemandTargetCapacity?: number;
9738
- /**
9739
- * @public
9740
- * <p>The maximum amount per hour for On-Demand Instances that you're willing to pay. You
9741
- * can use the <code>onDemandMaxTotalPrice</code> parameter, the
9742
- * <code>spotMaxTotalPrice</code> parameter, or both parameters to ensure that your
9743
- * fleet cost does not exceed your budget. If you set a maximum price per hour for the
9744
- * On-Demand Instances and Spot Instances in your request, Spot Fleet will launch instances until it reaches the
9745
- * maximum amount you're willing to pay. When the maximum amount you're willing to pay is
9746
- * reached, the fleet stops launching instances even if it hasn’t met the target
9747
- * capacity.</p>
9748
- * <note>
9749
- * <p>If your fleet includes T instances that are configured as <code>unlimited</code>,
9750
- * and if their average CPU usage exceeds the baseline utilization, you will incur a charge
9751
- * for surplus credits. The <code>onDemandMaxTotalPrice</code> does not account for surplus
9752
- * credits, and, if you use surplus credits, your final cost might be higher than what you
9753
- * specified for <code>onDemandMaxTotalPrice</code>. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-unlimited-mode-concepts.html#unlimited-mode-surplus-credits">Surplus credits can incur charges</a> in the <i>EC2 User
9754
- * Guide</i>.</p>
9755
- * </note>
9756
- */
9757
- OnDemandMaxTotalPrice?: string;
9758
- /**
9759
- * @public
9760
- * <p>The maximum amount per hour for Spot Instances that you're willing to pay. You can use
9761
- * the <code>spotMaxTotalPrice</code> parameter, the <code>onDemandMaxTotalPrice</code>
9762
- * parameter, or both parameters to ensure that your fleet cost does not exceed your budget.
9763
- * If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, Spot Fleet will
9764
- * launch instances until it reaches the maximum amount you're willing to pay. When the
9765
- * maximum amount you're willing to pay is reached, the fleet stops launching instances even
9766
- * if it hasn’t met the target capacity.</p>
9767
- * <note>
9768
- * <p>If your fleet includes T instances that are configured as <code>unlimited</code>,
9769
- * and if their average CPU usage exceeds the baseline utilization, you will incur a charge
9770
- * for surplus credits. The <code>spotMaxTotalPrice</code> does not account for surplus
9771
- * credits, and, if you use surplus credits, your final cost might be higher than what you
9772
- * specified for <code>spotMaxTotalPrice</code>. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-unlimited-mode-concepts.html#unlimited-mode-surplus-credits">Surplus credits can incur charges</a> in the <i>EC2 User
9773
- * Guide</i>.</p>
9774
- * </note>
9775
- */
9776
- SpotMaxTotalPrice?: string;
9777
- /**
9778
- * @public
9779
- * <p>Indicates whether running Spot Instances are terminated when the Spot Fleet request
9780
- * expires.</p>
9781
- */
9782
- TerminateInstancesWithExpiration?: boolean;
9783
- /**
9784
- * @public
9785
- * <p>The type of request. Indicates whether the Spot Fleet only requests the target
9786
- * capacity or also attempts to maintain it. When this value is <code>request</code>, the
9787
- * Spot Fleet only places the required requests. It does not attempt to replenish Spot
9788
- * Instances if capacity is diminished, nor does it submit requests in alternative Spot
9789
- * pools if capacity is not available. When this value is <code>maintain</code>, the Spot
9790
- * Fleet maintains the target capacity. The Spot Fleet places the required requests to meet
9791
- * capacity and automatically replenishes any interrupted instances. Default:
9792
- * <code>maintain</code>. <code>instant</code> is listed but is not used by Spot
9793
- * Fleet.</p>
9794
- */
9795
- Type?: FleetType;
9796
- /**
9797
- * @public
9798
- * <p>The start date and time of the request, in UTC format
9799
- * (<i>YYYY</i>-<i>MM</i>-<i>DD</i>T<i>HH</i>:<i>MM</i>:<i>SS</i>Z).
9800
- * By default, Amazon EC2 starts fulfilling the request immediately.</p>
9801
- */
9802
- ValidFrom?: Date;
9803
- /**
9804
- * @public
9805
- * <p>The end date and time of the request, in UTC format
9806
- * (<i>YYYY</i>-<i>MM</i>-<i>DD</i>T<i>HH</i>:<i>MM</i>:<i>SS</i>Z).
9807
- * After the end date and time, no new Spot Instance requests are placed or able to fulfill
9808
- * the request. If no value is specified, the Spot Fleet request remains until you cancel
9809
- * it.</p>
9810
- */
9811
- ValidUntil?: Date;
9812
- /**
9813
- * @public
9814
- * <p>Indicates whether Spot Fleet should replace unhealthy instances.</p>
9815
- */
9816
- ReplaceUnhealthyInstances?: boolean;
9817
- /**
9818
- * @public
9819
- * <p>The behavior when a Spot Instance is interrupted. The default is
9820
- * <code>terminate</code>.</p>
9821
- */
9822
- InstanceInterruptionBehavior?: InstanceInterruptionBehavior;
9823
- /**
9824
- * @public
9825
- * <p>One or more Classic Load Balancers and target groups to attach to the Spot Fleet
9826
- * request. Spot Fleet registers the running Spot Instances with the specified Classic Load
9827
- * Balancers and target groups.</p>
9828
- * <p>With Network Load Balancers, Spot Fleet cannot register instances that have the
9829
- * following instance types: C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1, HS1, M1, M2,
9830
- * M3, and T1.</p>
9831
- */
9832
- LoadBalancersConfig?: LoadBalancersConfig;
9833
- /**
9834
- * @public
9835
- * <p>The number of Spot pools across which to allocate your target Spot capacity. Valid
9836
- * only when Spot <b>AllocationStrategy</b> is set to
9837
- * <code>lowest-price</code>. Spot Fleet selects the cheapest Spot pools and evenly
9838
- * allocates your target Spot capacity across the number of Spot pools that you
9839
- * specify.</p>
9840
- * <p>Note that Spot Fleet attempts to draw Spot Instances from the number of pools that you specify on a
9841
- * best effort basis. If a pool runs out of Spot capacity before fulfilling your target
9842
- * capacity, Spot Fleet will continue to fulfill your request by drawing from the next cheapest
9843
- * pool. To ensure that your target capacity is met, you might receive Spot Instances from more than
9844
- * the number of pools that you specified. Similarly, if most of the pools have no Spot
9845
- * capacity, you might receive your full target capacity from fewer than the number of
9846
- * pools that you specified.</p>
9847
- */
9848
- InstancePoolsToUseCount?: number;
9849
- /**
9850
- * @public
9851
- * <p>Reserved.</p>
9852
- */
9853
- Context?: string;
9854
- /**
9855
- * @public
9856
- * <p>The unit for the target capacity. <code>TargetCapacityUnitType</code> can only be specified when <code>InstanceRequirements</code> is specified.</p>
9857
- * <p>Default: <code>units</code> (translates to number of instances)</p>
9858
- */
9859
- TargetCapacityUnitType?: TargetCapacityUnitType;
9860
- /**
9861
- * @public
9862
- * <p>The key-value pair for tagging the Spot Fleet request on creation. The value for
9863
- * <code>ResourceType</code> must be <code>spot-fleet-request</code>, otherwise the
9864
- * Spot Fleet request fails. To tag instances at launch, specify the tags in the <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#create-launch-template">launch
9865
- * template</a> (valid only if you use <code>LaunchTemplateConfigs</code>) or in
9866
- * the <code>
9867
- * <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SpotFleetTagSpecification.html">SpotFleetTagSpecification</a>
9868
- * </code> (valid only if you use
9869
- * <code>LaunchSpecifications</code>). For information about tagging after launch, see
9870
- * <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-resources">Tag your resources</a>.</p>
9871
- */
9872
- TagSpecifications?: TagSpecification[];
9873
- }
9874
- /**
9875
- * @public
9876
- * <p>Describes a Spot Fleet request.</p>
9877
- */
9878
- export interface SpotFleetRequestConfig {
9879
- /**
9880
- * @public
9881
- * <p>The progress of the Spot Fleet request.
9882
- * If there is an error, the status is <code>error</code>.
9883
- * After all requests are placed, the status is <code>pending_fulfillment</code>.
9884
- * If the size of the fleet is equal to or greater than its target capacity, the status is <code>fulfilled</code>.
9885
- * If the size of the fleet is decreased, the status is <code>pending_termination</code>
9886
- * while Spot Instances are terminating.</p>
9887
- */
9888
- ActivityStatus?: ActivityStatus;
9889
- /**
9890
- * @public
9891
- * <p>The creation date and time of the request.</p>
9892
- */
9893
- CreateTime?: Date;
9894
- /**
9895
- * @public
9896
- * <p>The configuration of the Spot Fleet request.</p>
9897
- */
9898
- SpotFleetRequestConfig?: SpotFleetRequestConfigData;
9899
- /**
9900
- * @public
9901
- * <p>The ID of the Spot Fleet request.</p>
9902
- */
9903
- SpotFleetRequestId?: string;
9904
- /**
9905
- * @public
9906
- * <p>The state of the Spot Fleet request.</p>
9907
- */
9908
- SpotFleetRequestState?: BatchState;
9909
- /**
9910
- * @public
9911
- * <p>The tags for a Spot Fleet resource.</p>
9912
- */
9913
- Tags?: Tag[];
9914
- }
9915
- /**
9916
- * @public
9917
- * <p>Contains the output of DescribeSpotFleetRequests.</p>
9918
- */
9919
- export interface DescribeSpotFleetRequestsResponse {
9920
- /**
9921
- * @public
9922
- * <p>The token to include in another request to get the next page of items. This value is <code>null</code> when there
9923
- * are no more items to return.</p>
9924
- */
9925
- NextToken?: string;
9926
- /**
9927
- * @public
9928
- * <p>Information about the configuration of your Spot Fleet.</p>
9929
- */
9930
- SpotFleetRequestConfigs?: SpotFleetRequestConfig[];
9931
- }
9932
- /**
9933
- * @public
9934
- * <p>Contains the parameters for DescribeSpotInstanceRequests.</p>
9935
- */
9936
- export interface DescribeSpotInstanceRequestsRequest {
9937
- /**
9938
- * @public
9939
- * <p>The filters.</p>
9940
- * <ul>
9941
- * <li>
9942
- * <p>
9943
- * <code>availability-zone-group</code> - The Availability Zone group.</p>
9944
- * </li>
9945
- * <li>
9946
- * <p>
9947
- * <code>create-time</code> - The time stamp when the Spot Instance request was
9948
- * created.</p>
9949
- * </li>
9950
- * <li>
9951
- * <p>
9952
- * <code>fault-code</code> - The fault code related to the request.</p>
9953
- * </li>
9954
- * <li>
9955
- * <p>
9956
- * <code>fault-message</code> - The fault message related to the request.</p>
9957
- * </li>
9958
- * <li>
9959
- * <p>
9960
- * <code>instance-id</code> - The ID of the instance that fulfilled the
9961
- * request.</p>
9962
- * </li>
9963
- * <li>
9964
- * <p>
9965
- * <code>launch-group</code> - The Spot Instance launch group.</p>
9966
- * </li>
9967
- * <li>
9968
- * <p>
9969
- * <code>launch.block-device-mapping.delete-on-termination</code> - Indicates
9970
- * whether the EBS volume is deleted on instance termination.</p>
9971
- * </li>
9972
- * <li>
9973
- * <p>
9974
- * <code>launch.block-device-mapping.device-name</code> - The device name for the
9975
- * volume in the block device mapping (for example, <code>/dev/sdh</code> or
9976
- * <code>xvdh</code>).</p>
9977
- * </li>
9978
- * <li>
9979
- * <p>
9980
- * <code>launch.block-device-mapping.snapshot-id</code> - The ID of the snapshot
9981
- * for the EBS volume.</p>
9982
- * </li>
9983
- * <li>
9984
- * <p>
9985
- * <code>launch.block-device-mapping.volume-size</code> - The size of the EBS
9986
- * volume, in GiB.</p>
9987
- * </li>
9988
- * <li>
9989
- * <p>
9990
- * <code>launch.block-device-mapping.volume-type</code> - The type of EBS volume:
9991
- * <code>gp2</code> for General Purpose SSD, <code>io1</code> or
9992
- * <code>io2</code> for Provisioned IOPS SSD, <code>st1</code> for Throughput
9993
- * Optimized HDD, <code>sc1</code>for Cold HDD, or <code>standard</code> for
9994
- * Magnetic.</p>
9995
- * </li>
9996
- * <li>
9997
- * <p>
9998
- * <code>launch.group-id</code> - The ID of the security group for the
9999
- * instance.</p>
10000
- * </li>
10001
- * <li>
10002
- * <p>
10003
- * <code>launch.group-name</code> - The name of the security group for the
10004
- * instance.</p>
10005
- * </li>
10006
- * <li>
10007
- * <p>
10008
- * <code>launch.image-id</code> - The ID of the AMI.</p>
10009
- * </li>
10010
- * <li>
10011
- * <p>
10012
- * <code>launch.instance-type</code> - The type of instance (for example,
10013
- * <code>m3.medium</code>).</p>
10014
- * </li>
10015
- * <li>
10016
- * <p>
10017
- * <code>launch.kernel-id</code> - The kernel ID.</p>
10018
- * </li>
10019
- * <li>
10020
- * <p>
10021
- * <code>launch.key-name</code> - The name of the key pair the instance launched
10022
- * with.</p>
10023
- * </li>
10024
- * <li>
10025
- * <p>
10026
- * <code>launch.monitoring-enabled</code> - Whether detailed monitoring is
10027
- * enabled for the Spot Instance.</p>
10028
- * </li>
10029
- * <li>
10030
- * <p>
10031
- * <code>launch.ramdisk-id</code> - The RAM disk ID.</p>
10032
- * </li>
10033
- * <li>
10034
- * <p>
10035
- * <code>launched-availability-zone</code> - The Availability Zone in which the
10036
- * request is launched.</p>
10037
- * </li>
10038
- * <li>
10039
- * <p>
10040
- * <code>network-interface.addresses.primary</code> - Indicates whether the IP
10041
- * address is the primary private IP address.</p>
10042
- * </li>
10043
- * <li>
10044
- * <p>
10045
- * <code>network-interface.delete-on-termination</code> - Indicates whether the
10046
- * network interface is deleted when the instance is terminated.</p>
10047
- * </li>
10048
- * <li>
10049
- * <p>
10050
- * <code>network-interface.description</code> - A description of the network
10051
- * interface.</p>
10052
- * </li>
10053
- * <li>
10054
- * <p>
10055
- * <code>network-interface.device-index</code> - The index of the device for the
10056
- * network interface attachment on the instance.</p>
10057
- * </li>
10058
- * <li>
10059
- * <p>
10060
- * <code>network-interface.group-id</code> - The ID of the security group
10061
- * associated with the network interface.</p>
10062
- * </li>
10063
- * <li>
10064
- * <p>
10065
- * <code>network-interface.network-interface-id</code> - The ID of the network
10066
- * interface.</p>
10067
- * </li>
10068
- * <li>
10069
- * <p>
10070
- * <code>network-interface.private-ip-address</code> - The primary private IP
10071
- * address of the network interface.</p>
10072
- * </li>
10073
- * <li>
10074
- * <p>
10075
- * <code>network-interface.subnet-id</code> - The ID of the subnet for the
10076
- * instance.</p>
10077
- * </li>
10078
- * <li>
10079
- * <p>
10080
- * <code>product-description</code> - The product description associated with the
10081
- * instance (<code>Linux/UNIX</code> | <code>Windows</code>).</p>
10082
- * </li>
10083
- * <li>
10084
- * <p>
10085
- * <code>spot-instance-request-id</code> - The Spot Instance request ID.</p>
10086
- * </li>
10087
- * <li>
10088
- * <p>
10089
- * <code>spot-price</code> - The maximum hourly price for any Spot Instance
10090
- * launched to fulfill the request.</p>
10091
- * </li>
10092
- * <li>
10093
- * <p>
10094
- * <code>state</code> - The state of the Spot Instance request (<code>open</code>
10095
- * | <code>active</code> | <code>closed</code> | <code>cancelled</code> |
10096
- * <code>failed</code>). Spot request status information can help you track
10097
- * your Amazon EC2 Spot Instance requests. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-request-status.html">Spot
10098
- * request status</a> in the <i>Amazon EC2 User Guide for Linux Instances</i>.</p>
10099
- * </li>
10100
- * <li>
10101
- * <p>
10102
- * <code>status-code</code> - The short code describing the most recent
10103
- * evaluation of your Spot Instance request.</p>
10104
- * </li>
10105
- * <li>
10106
- * <p>
10107
- * <code>status-message</code> - The message explaining the status of the Spot
10108
- * Instance request.</p>
10109
- * </li>
10110
- * <li>
10111
- * <p>
10112
- * <code>tag:<key></code> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.
10113
- * For example, to find all resources that have a tag with the key <code>Owner</code> and the value <code>TeamA</code>, specify <code>tag:Owner</code> for the filter name and <code>TeamA</code> for the filter value.</p>
10114
- * </li>
10115
- * <li>
10116
- * <p>
10117
- * <code>tag-key</code> - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.</p>
10118
- * </li>
10119
- * <li>
10120
- * <p>
10121
- * <code>type</code> - The type of Spot Instance request (<code>one-time</code> |
10122
- * <code>persistent</code>).</p>
10123
- * </li>
10124
- * <li>
10125
- * <p>
10126
- * <code>valid-from</code> - The start date of the request.</p>
10127
- * </li>
10128
- * <li>
10129
- * <p>
10130
- * <code>valid-until</code> - The end date of the request.</p>
10131
- * </li>
10132
- * </ul>
10133
- */
10134
- Filters?: Filter[];
10135
- /**
10136
- * @public
10137
- * <p>Checks whether you have the required permissions for the action, without actually
10138
- * making the request, and provides an error response. If you have the required
10139
- * permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is
10140
- * <code>UnauthorizedOperation</code>.</p>
9796
+ EnaSrdSpecification?: EnaSrdSpecificationRequest;
9797
+ /**
9798
+ * @public
9799
+ * <p>A security group connection tracking specification that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-connection-tracking.html#connection-tracking-timeouts">Connection tracking timeouts</a> in the <i>Amazon Elastic Compute Cloud User Guide</i>.</p>
10141
9800
  */
10142
- DryRun?: boolean;
9801
+ ConnectionTrackingSpecification?: ConnectionTrackingSpecificationRequest;
9802
+ }
9803
+ /**
9804
+ * @public
9805
+ * <p>Describes Spot Instance placement.</p>
9806
+ */
9807
+ export interface SpotPlacement {
10143
9808
  /**
10144
9809
  * @public
10145
- * <p>The IDs of the Spot Instance requests.</p>
9810
+ * <p>The Availability Zone.</p>
9811
+ * <p>[Spot Fleet only] To specify multiple Availability Zones, separate them using commas;
9812
+ * for example, "us-west-2a, us-west-2b".</p>
10146
9813
  */
10147
- SpotInstanceRequestIds?: string[];
9814
+ AvailabilityZone?: string;
10148
9815
  /**
10149
9816
  * @public
10150
- * <p>The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.</p>
9817
+ * <p>The name of the placement group.</p>
10151
9818
  */
10152
- NextToken?: string;
9819
+ GroupName?: string;
10153
9820
  /**
10154
9821
  * @public
10155
- * <p>The maximum number of items to return for this request.
10156
- * To get the next page of items, make another request with the token returned in the output.
10157
- * For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination">Pagination</a>.</p>
9822
+ * <p>The tenancy of the instance (if the instance is running in a VPC). An instance with a
9823
+ * tenancy of <code>dedicated</code> runs on single-tenant hardware. The <code>host</code>
9824
+ * tenancy is not supported for Spot Instances.</p>
10158
9825
  */
10159
- MaxResults?: number;
9826
+ Tenancy?: Tenancy;
10160
9827
  }
10161
9828
  /**
10162
9829
  * @public
10163
- * <p>Describes the monitoring of an instance.</p>
9830
+ * <p>The tags for a Spot Fleet resource.</p>
10164
9831
  */
10165
- export interface RunInstancesMonitoringEnabled {
9832
+ export interface SpotFleetTagSpecification {
10166
9833
  /**
10167
9834
  * @public
10168
- * <p>Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring is
10169
- * enabled.</p>
9835
+ * <p>The type of resource. Currently, the only resource type that is supported is
9836
+ * <code>instance</code>. To tag the Spot Fleet request on creation, use the
9837
+ * <code>TagSpecifications</code> parameter in <code>
9838
+ * <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SpotFleetRequestConfigData.html">SpotFleetRequestConfigData</a>
9839
+ * </code>.</p>
10170
9840
  */
10171
- Enabled: boolean | undefined;
9841
+ ResourceType?: ResourceType;
9842
+ /**
9843
+ * @public
9844
+ * <p>The tags.</p>
9845
+ */
9846
+ Tags?: Tag[];
10172
9847
  }
10173
9848
  /**
10174
9849
  * @public
10175
- * <p>Describes the launch specification for an instance.</p>
9850
+ * <p>Describes the launch specification for one or more Spot Instances. If you include
9851
+ * On-Demand capacity in your fleet request or want to specify an EFA network device, you
9852
+ * can't use <code>SpotFleetLaunchSpecification</code>; you must use <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_LaunchTemplateConfig.html">LaunchTemplateConfig</a>.</p>
10176
9853
  */
10177
- export interface LaunchSpecification {
10178
- /**
10179
- * @public
10180
- * <p>The base64-encoded user data that instances use when starting up. User data is limited to 16 KB.</p>
10181
- */
10182
- UserData?: string;
9854
+ export interface SpotFleetLaunchSpecification {
10183
9855
  /**
10184
9856
  * @public
10185
- * <p>The IDs of the security groups.</p>
9857
+ * <p>The security groups.</p>
10186
9858
  */
10187
9859
  SecurityGroups?: GroupIdentifier[];
10188
9860
  /**
@@ -10192,12 +9864,15 @@ export interface LaunchSpecification {
10192
9864
  AddressingType?: string;
10193
9865
  /**
10194
9866
  * @public
10195
- * <p>The block device mapping entries.</p>
9867
+ * <p>One or more block devices that are mapped to the Spot Instances. You can't specify both
9868
+ * a snapshot ID and an encryption value. This is because only blank volumes can be
9869
+ * encrypted on creation. If a snapshot is the basis for a volume, it is not blank and its
9870
+ * encryption status is used for the volume encryption status.</p>
10196
9871
  */
10197
9872
  BlockDeviceMappings?: BlockDeviceMapping[];
10198
9873
  /**
10199
9874
  * @public
10200
- * <p>Indicates whether the instance is optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.</p>
9875
+ * <p>Indicates whether the instances are optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.</p>
10201
9876
  * <p>Default: <code>false</code>
10202
9877
  * </p>
10203
9878
  */
@@ -10214,7 +9889,7 @@ export interface LaunchSpecification {
10214
9889
  ImageId?: string;
10215
9890
  /**
10216
9891
  * @public
10217
- * <p>The instance type. Only one instance type can be specified.</p>
9892
+ * <p>The instance type.</p>
10218
9893
  */
10219
9894
  InstanceType?: _InstanceType;
10220
9895
  /**
@@ -10229,133 +9904,87 @@ export interface LaunchSpecification {
10229
9904
  KeyName?: string;
10230
9905
  /**
10231
9906
  * @public
10232
- * <p>The network interfaces. If you specify a network interface, you must specify
10233
- * subnet IDs and security group IDs using the network interface.</p>
9907
+ * <p>Enable or disable monitoring for the instances.</p>
9908
+ */
9909
+ Monitoring?: SpotFleetMonitoring;
9910
+ /**
9911
+ * @public
9912
+ * <p>One or more network interfaces. If you specify a network interface, you must specify
9913
+ * subnet IDs and security group IDs using the network interface.</p>
9914
+ * <note>
9915
+ * <p>
9916
+ * <code>SpotFleetLaunchSpecification</code> currently does not support Elastic Fabric Adapter (EFA). To specify an EFA, you must use <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_LaunchTemplateConfig.html">LaunchTemplateConfig</a>.</p>
9917
+ * </note>
10234
9918
  */
10235
9919
  NetworkInterfaces?: InstanceNetworkInterfaceSpecification[];
10236
9920
  /**
10237
9921
  * @public
10238
- * <p>The placement information for the instance.</p>
9922
+ * <p>The placement information.</p>
10239
9923
  */
10240
9924
  Placement?: SpotPlacement;
10241
9925
  /**
10242
9926
  * @public
10243
- * <p>The ID of the RAM disk.</p>
9927
+ * <p>The ID of the RAM disk. Some kernels require additional drivers at launch. Check the kernel
9928
+ * requirements for information about whether you need to specify a RAM disk. To find kernel
9929
+ * requirements, refer to the Amazon Web Services Resource Center and search for the kernel ID.</p>
10244
9930
  */
10245
9931
  RamdiskId?: string;
10246
9932
  /**
10247
9933
  * @public
10248
- * <p>The ID of the subnet in which to launch the instance.</p>
9934
+ * <p>The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to
9935
+ * increased interruptions. If you do not specify this parameter, you will pay the current Spot price.</p>
9936
+ * <important>
9937
+ * <p>If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.</p>
9938
+ * </important>
9939
+ */
9940
+ SpotPrice?: string;
9941
+ /**
9942
+ * @public
9943
+ * <p>The IDs of the subnets in which to launch the instances. To specify multiple subnets, separate
9944
+ * them using commas; for example, "subnet-1234abcdeexample1, subnet-0987cdef6example2".</p>
10249
9945
  */
10250
9946
  SubnetId?: string;
10251
9947
  /**
10252
9948
  * @public
10253
- * <p>Describes the monitoring of an instance.</p>
9949
+ * <p>The base64-encoded user data that instances use when starting up. User data is limited to 16 KB.</p>
10254
9950
  */
10255
- Monitoring?: RunInstancesMonitoringEnabled;
10256
- }
10257
- /**
10258
- * @public
10259
- * @enum
10260
- */
10261
- export declare const SpotInstanceState: {
10262
- readonly active: "active";
10263
- readonly cancelled: "cancelled";
10264
- readonly closed: "closed";
10265
- readonly disabled: "disabled";
10266
- readonly failed: "failed";
10267
- readonly open: "open";
10268
- };
10269
- /**
10270
- * @public
10271
- */
10272
- export type SpotInstanceState = (typeof SpotInstanceState)[keyof typeof SpotInstanceState];
10273
- /**
10274
- * @public
10275
- * <p>Describes the status of a Spot Instance request.</p>
10276
- */
10277
- export interface SpotInstanceStatus {
9951
+ UserData?: string;
10278
9952
  /**
10279
9953
  * @public
10280
- * <p>The status code. For a list of status codes, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-request-status.html#spot-instance-request-status-understand">Spot request status codes</a> in the <i>Amazon EC2 User Guide for Linux Instances</i>.</p>
9954
+ * <p>The number of units provided by the specified instance type. These are the same units that you chose to set the target capacity in terms of instances, or a performance characteristic such as vCPUs, memory, or I/O.</p>
9955
+ * <p>If the target capacity divided by this value is not a whole number, Amazon EC2 rounds the number of instances to the next whole number. If this value is not specified, the default is 1.</p>
10281
9956
  */
10282
- Code?: string;
9957
+ WeightedCapacity?: number;
10283
9958
  /**
10284
9959
  * @public
10285
- * <p>The description for the status code.</p>
9960
+ * <p>The tags to apply during creation.</p>
10286
9961
  */
10287
- Message?: string;
9962
+ TagSpecifications?: SpotFleetTagSpecification[];
10288
9963
  /**
10289
9964
  * @public
10290
- * <p>The date and time of the most recent status update, in UTC format (for example,
10291
- * <i>YYYY</i>-<i>MM</i>-<i>DD</i>T<i>HH</i>:<i>MM</i>:<i>SS</i>Z).</p>
9965
+ * <p>The attributes for the instance types. When you specify instance attributes, Amazon EC2 will
9966
+ * identify instance types with those attributes.</p>
9967
+ * <note>
9968
+ * <p>If you specify <code>InstanceRequirements</code>, you can't specify
9969
+ * <code>InstanceType</code>.</p>
9970
+ * </note>
10292
9971
  */
10293
- UpdateTime?: Date;
9972
+ InstanceRequirements?: InstanceRequirements;
10294
9973
  }
10295
9974
  /**
10296
9975
  * @public
10297
- * <p>Describes a Spot Instance request.</p>
9976
+ * <p>Describes overrides for a launch template.</p>
10298
9977
  */
10299
- export interface SpotInstanceRequest {
10300
- /**
10301
- * @public
10302
- * <p>Deprecated.</p>
10303
- */
10304
- ActualBlockHourlyPrice?: string;
10305
- /**
10306
- * @public
10307
- * <p>The Availability Zone group. If you specify the same Availability Zone group for all Spot Instance requests, all Spot Instances are launched in the same Availability Zone.</p>
10308
- */
10309
- AvailabilityZoneGroup?: string;
10310
- /**
10311
- * @public
10312
- * <p>Deprecated.</p>
10313
- */
10314
- BlockDurationMinutes?: number;
10315
- /**
10316
- * @public
10317
- * <p>The date and time when the Spot Instance request was created, in UTC format (for example, <i>YYYY</i>-<i>MM</i>-<i>DD</i>T<i>HH</i>:<i>MM</i>:<i>SS</i>Z).</p>
10318
- */
10319
- CreateTime?: Date;
10320
- /**
10321
- * @public
10322
- * <p>The fault codes for the Spot Instance request, if any.</p>
10323
- */
10324
- Fault?: SpotInstanceStateFault;
10325
- /**
10326
- * @public
10327
- * <p>The instance ID, if an instance has been launched to fulfill the Spot Instance request.</p>
10328
- */
10329
- InstanceId?: string;
10330
- /**
10331
- * @public
10332
- * <p>The instance launch group. Launch groups are Spot Instances that launch together and terminate together.</p>
10333
- */
10334
- LaunchGroup?: string;
10335
- /**
10336
- * @public
10337
- * <p>Additional information for launching instances.</p>
10338
- */
10339
- LaunchSpecification?: LaunchSpecification;
10340
- /**
10341
- * @public
10342
- * <p>The Availability Zone in which the request is launched.</p>
10343
- */
10344
- LaunchedAvailabilityZone?: string;
10345
- /**
10346
- * @public
10347
- * <p>The product description associated with the Spot Instance.</p>
10348
- */
10349
- ProductDescription?: RIProductDescription;
9978
+ export interface LaunchTemplateOverrides {
10350
9979
  /**
10351
9980
  * @public
10352
- * <p>The ID of the Spot Instance request.</p>
9981
+ * <p>The instance type.</p>
10353
9982
  */
10354
- SpotInstanceRequestId?: string;
9983
+ InstanceType?: _InstanceType;
10355
9984
  /**
10356
9985
  * @public
10357
- * <p>The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend
10358
- * using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.</p>
9986
+ * <p>The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend using this parameter because it can lead to
9987
+ * increased interruptions. If you do not specify this parameter, you will pay the current Spot price.</p>
10359
9988
  * <important>
10360
9989
  * <p>If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.</p>
10361
9990
  * </important>
@@ -10363,586 +9992,723 @@ export interface SpotInstanceRequest {
10363
9992
  SpotPrice?: string;
10364
9993
  /**
10365
9994
  * @public
10366
- * <p>The state of the Spot Instance request. Spot request status information helps track your Spot
10367
- * Instance requests. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-request-status.html">Spot request status</a> in the
10368
- * <i>Amazon EC2 User Guide for Linux Instances</i>.</p>
10369
- */
10370
- State?: SpotInstanceState;
10371
- /**
10372
- * @public
10373
- * <p>The status code and status message describing the Spot Instance request.</p>
10374
- */
10375
- Status?: SpotInstanceStatus;
10376
- /**
10377
- * @public
10378
- * <p>Any tags assigned to the resource.</p>
9995
+ * <p>The ID of the subnet in which to launch the instances.</p>
10379
9996
  */
10380
- Tags?: Tag[];
9997
+ SubnetId?: string;
10381
9998
  /**
10382
9999
  * @public
10383
- * <p>The Spot Instance request type.</p>
10000
+ * <p>The Availability Zone in which to launch the instances.</p>
10384
10001
  */
10385
- Type?: SpotInstanceType;
10002
+ AvailabilityZone?: string;
10386
10003
  /**
10387
10004
  * @public
10388
- * <p>The start date of the request, in UTC format (for example,
10389
- * <i>YYYY</i>-<i>MM</i>-<i>DD</i>T<i>HH</i>:<i>MM</i>:<i>SS</i>Z).
10390
- * The request becomes active at this date and time.</p>
10005
+ * <p>The number of units provided by the specified instance type.</p>
10391
10006
  */
10392
- ValidFrom?: Date;
10007
+ WeightedCapacity?: number;
10393
10008
  /**
10394
10009
  * @public
10395
- * <p>The end date of the request, in UTC format
10396
- * (<i>YYYY</i>-<i>MM</i>-<i>DD</i>T<i>HH</i>:<i>MM</i>:<i>SS</i>Z).</p>
10397
- * <ul>
10398
- * <li>
10399
- * <p>For a persistent request, the request remains active until the <code>validUntil</code> date
10400
- * and time is reached. Otherwise, the request remains active until you cancel it.
10401
- * </p>
10402
- * </li>
10403
- * <li>
10404
- * <p>For a one-time request, the request remains active until all instances launch,
10405
- * the request is canceled, or the <code>validUntil</code> date and time is reached. By default, the
10406
- * request is valid for 7 days from the date the request was created.</p>
10407
- * </li>
10408
- * </ul>
10010
+ * <p>The priority for the launch template override. The highest priority is launched
10011
+ * first.</p>
10012
+ * <p>If <code>OnDemandAllocationStrategy</code> is set to <code>prioritized</code>, Spot Fleet
10013
+ * uses priority to determine which launch template override to use first in fulfilling
10014
+ * On-Demand capacity.</p>
10015
+ * <p>If the Spot <code>AllocationStrategy</code> is set to
10016
+ * <code>capacityOptimizedPrioritized</code>, Spot Fleet uses priority on a best-effort basis
10017
+ * to determine which launch template override to use in fulfilling Spot capacity, but
10018
+ * optimizes for capacity first.</p>
10019
+ * <p>Valid values are whole numbers starting at <code>0</code>. The lower the number, the
10020
+ * higher the priority. If no number is set, the launch template override has the lowest
10021
+ * priority. You can set the same priority for different launch template overrides.</p>
10409
10022
  */
10410
- ValidUntil?: Date;
10023
+ Priority?: number;
10411
10024
  /**
10412
10025
  * @public
10413
- * <p>The behavior when a Spot Instance is interrupted.</p>
10026
+ * <p>The instance requirements. When you specify instance requirements, Amazon EC2 will identify
10027
+ * instance types with the provided requirements, and then use your On-Demand and Spot
10028
+ * allocation strategies to launch instances from these instance types, in the same way as
10029
+ * when you specify a list of instance types.</p>
10030
+ * <note>
10031
+ * <p>If you specify <code>InstanceRequirements</code>, you can't specify
10032
+ * <code>InstanceType</code>.</p>
10033
+ * </note>
10414
10034
  */
10415
- InstanceInterruptionBehavior?: InstanceInterruptionBehavior;
10035
+ InstanceRequirements?: InstanceRequirements;
10416
10036
  }
10417
10037
  /**
10418
10038
  * @public
10419
- * <p>Contains the output of DescribeSpotInstanceRequests.</p>
10039
+ * <p>Describes a launch template and overrides.</p>
10420
10040
  */
10421
- export interface DescribeSpotInstanceRequestsResult {
10041
+ export interface LaunchTemplateConfig {
10422
10042
  /**
10423
10043
  * @public
10424
- * <p>The Spot Instance requests.</p>
10044
+ * <p>The launch template to use. Make sure that the launch template does not contain the
10045
+ * <code>NetworkInterfaceId</code> parameter because you can't specify a network interface
10046
+ * ID in a Spot Fleet.</p>
10425
10047
  */
10426
- SpotInstanceRequests?: SpotInstanceRequest[];
10048
+ LaunchTemplateSpecification?: FleetLaunchTemplateSpecification;
10427
10049
  /**
10428
10050
  * @public
10429
- * <p>The token to include in another request to get the next page of items. This value is <code>null</code> when there
10430
- * are no more items to return.</p>
10051
+ * <p>Any parameters that you specify override the same parameters in the launch
10052
+ * template.</p>
10431
10053
  */
10432
- NextToken?: string;
10054
+ Overrides?: LaunchTemplateOverrides[];
10433
10055
  }
10434
10056
  /**
10435
10057
  * @public
10436
- * <p>Contains the parameters for DescribeSpotPriceHistory.</p>
10058
+ * <p>Describes a Classic Load Balancer.</p>
10437
10059
  */
10438
- export interface DescribeSpotPriceHistoryRequest {
10439
- /**
10440
- * @public
10441
- * <p>The filters.</p>
10442
- * <ul>
10443
- * <li>
10444
- * <p>
10445
- * <code>availability-zone</code> - The Availability Zone for which prices should
10446
- * be returned.</p>
10447
- * </li>
10448
- * <li>
10449
- * <p>
10450
- * <code>instance-type</code> - The type of instance (for example,
10451
- * <code>m3.medium</code>).</p>
10452
- * </li>
10453
- * <li>
10454
- * <p>
10455
- * <code>product-description</code> - The product description for the Spot price
10456
- * (<code>Linux/UNIX</code> | <code>Red Hat Enterprise Linux</code> |
10457
- * <code>SUSE Linux</code> | <code>Windows</code> | <code>Linux/UNIX (Amazon
10458
- * VPC)</code> | <code>Red Hat Enterprise Linux (Amazon VPC)</code> |
10459
- * <code>SUSE Linux (Amazon VPC)</code> | <code>Windows (Amazon
10460
- * VPC)</code>).</p>
10461
- * </li>
10462
- * <li>
10463
- * <p>
10464
- * <code>spot-price</code> - The Spot price. The value must match exactly (or use
10465
- * wildcards; greater than or less than comparison is not supported).</p>
10466
- * </li>
10467
- * <li>
10468
- * <p>
10469
- * <code>timestamp</code> - The time stamp of the Spot price history, in UTC format
10470
- * (for example, <i>ddd MMM dd
10471
- * HH</i>:<i>mm</i>:<i>ss</i> UTC
10472
- * <i>YYYY</i>). You can use wildcards (<code>*</code> and
10473
- * <code>?</code>). Greater than or less than comparison is not
10474
- * supported.</p>
10475
- * </li>
10476
- * </ul>
10477
- */
10478
- Filters?: Filter[];
10479
- /**
10480
- * @public
10481
- * <p>Filters the results by the specified Availability Zone.</p>
10482
- */
10483
- AvailabilityZone?: string;
10484
- /**
10485
- * @public
10486
- * <p>Checks whether you have the required permissions for the action, without actually
10487
- * making the request, and provides an error response. If you have the required
10488
- * permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is
10489
- * <code>UnauthorizedOperation</code>.</p>
10490
- */
10491
- DryRun?: boolean;
10492
- /**
10493
- * @public
10494
- * <p>The date and time, up to the current date, from which to stop retrieving the price
10495
- * history data, in UTC format (for example,
10496
- * <i>YYYY</i>-<i>MM</i>-<i>DD</i>T<i>HH</i>:<i>MM</i>:<i>SS</i>Z).</p>
10497
- */
10498
- EndTime?: Date;
10499
- /**
10500
- * @public
10501
- * <p>Filters the results by the specified instance types.</p>
10502
- */
10503
- InstanceTypes?: _InstanceType[];
10060
+ export interface ClassicLoadBalancer {
10504
10061
  /**
10505
10062
  * @public
10506
- * <p>The maximum number of items to return for this request.
10507
- * To get the next page of items, make another request with the token returned in the output.
10508
- * For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination">Pagination</a>.</p>
10063
+ * <p>The name of the load balancer.</p>
10509
10064
  */
10510
- MaxResults?: number;
10065
+ Name?: string;
10066
+ }
10067
+ /**
10068
+ * @public
10069
+ * <p>Describes the Classic Load Balancers to attach to a Spot Fleet. Spot Fleet registers
10070
+ * the running Spot Instances with these Classic Load Balancers.</p>
10071
+ */
10072
+ export interface ClassicLoadBalancersConfig {
10511
10073
  /**
10512
10074
  * @public
10513
- * <p>The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.</p>
10075
+ * <p>One or more Classic Load Balancers.</p>
10514
10076
  */
10515
- NextToken?: string;
10077
+ ClassicLoadBalancers?: ClassicLoadBalancer[];
10078
+ }
10079
+ /**
10080
+ * @public
10081
+ * <p>Describes a load balancer target group.</p>
10082
+ */
10083
+ export interface TargetGroup {
10516
10084
  /**
10517
10085
  * @public
10518
- * <p>Filters the results by the specified basic product descriptions.</p>
10086
+ * <p>The Amazon Resource Name (ARN) of the target group.</p>
10519
10087
  */
10520
- ProductDescriptions?: string[];
10088
+ Arn?: string;
10089
+ }
10090
+ /**
10091
+ * @public
10092
+ * <p>Describes the target groups to attach to a Spot Fleet. Spot Fleet registers the
10093
+ * running Spot Instances with these target groups.</p>
10094
+ */
10095
+ export interface TargetGroupsConfig {
10521
10096
  /**
10522
10097
  * @public
10523
- * <p>The date and time, up to the past 90 days, from which to start retrieving the price
10524
- * history data, in UTC format (for example,
10525
- * <i>YYYY</i>-<i>MM</i>-<i>DD</i>T<i>HH</i>:<i>MM</i>:<i>SS</i>Z).</p>
10098
+ * <p>One or more target groups.</p>
10526
10099
  */
10527
- StartTime?: Date;
10100
+ TargetGroups?: TargetGroup[];
10528
10101
  }
10529
10102
  /**
10530
10103
  * @public
10531
- * <p>The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend
10532
- * using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.</p>
10533
- * <important>
10534
- * <p>If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.</p>
10535
- * </important>
10104
+ * <p>Describes the Classic Load Balancers and target groups to attach to a Spot Fleet
10105
+ * request.</p>
10536
10106
  */
10537
- export interface SpotPrice {
10107
+ export interface LoadBalancersConfig {
10538
10108
  /**
10539
10109
  * @public
10540
- * <p>The Availability Zone.</p>
10110
+ * <p>The Classic Load Balancers.</p>
10541
10111
  */
10542
- AvailabilityZone?: string;
10112
+ ClassicLoadBalancersConfig?: ClassicLoadBalancersConfig;
10543
10113
  /**
10544
10114
  * @public
10545
- * <p>The instance type.</p>
10115
+ * <p>The target groups.</p>
10546
10116
  */
10547
- InstanceType?: _InstanceType;
10117
+ TargetGroupsConfig?: TargetGroupsConfig;
10118
+ }
10119
+ /**
10120
+ * @public
10121
+ * @enum
10122
+ */
10123
+ export declare const OnDemandAllocationStrategy: {
10124
+ readonly LOWEST_PRICE: "lowestPrice";
10125
+ readonly PRIORITIZED: "prioritized";
10126
+ };
10127
+ /**
10128
+ * @public
10129
+ */
10130
+ export type OnDemandAllocationStrategy = (typeof OnDemandAllocationStrategy)[keyof typeof OnDemandAllocationStrategy];
10131
+ /**
10132
+ * @public
10133
+ * @enum
10134
+ */
10135
+ export declare const ReplacementStrategy: {
10136
+ readonly LAUNCH: "launch";
10137
+ readonly LAUNCH_BEFORE_TERMINATE: "launch-before-terminate";
10138
+ };
10139
+ /**
10140
+ * @public
10141
+ */
10142
+ export type ReplacementStrategy = (typeof ReplacementStrategy)[keyof typeof ReplacementStrategy];
10143
+ /**
10144
+ * @public
10145
+ * <p>The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your
10146
+ * Spot Instance is at an elevated risk of being interrupted. For more information, see
10147
+ * <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-capacity-rebalance.html">Capacity rebalancing</a> in the <i>Amazon EC2 User Guide for Linux Instances</i>.</p>
10148
+ */
10149
+ export interface SpotCapacityRebalance {
10548
10150
  /**
10549
10151
  * @public
10550
- * <p>A general description of the AMI.</p>
10152
+ * <p>The replacement strategy to use. Only available for fleets of type
10153
+ * <code>maintain</code>.</p>
10154
+ * <p>
10155
+ * <code>launch</code> - Spot Fleet launches a new replacement Spot Instance when a
10156
+ * rebalance notification is emitted for an existing Spot Instance in the fleet. Spot Fleet
10157
+ * does not terminate the instances that receive a rebalance notification. You can
10158
+ * terminate the old instances, or you can leave them running. You are charged for all
10159
+ * instances while they are running. </p>
10160
+ * <p>
10161
+ * <code>launch-before-terminate</code> - Spot Fleet launches a new replacement Spot
10162
+ * Instance when a rebalance notification is emitted for an existing Spot Instance in the
10163
+ * fleet, and then, after a delay that you specify (in <code>TerminationDelay</code>),
10164
+ * terminates the instances that received a rebalance notification.</p>
10551
10165
  */
10552
- ProductDescription?: RIProductDescription;
10166
+ ReplacementStrategy?: ReplacementStrategy;
10553
10167
  /**
10554
10168
  * @public
10555
- * <p>The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend
10556
- * using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.</p>
10557
- * <important>
10558
- * <p>If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.</p>
10559
- * </important>
10169
+ * <p>The amount of time (in seconds) that Amazon EC2 waits before terminating the old Spot
10170
+ * Instance after launching a new replacement Spot Instance.</p>
10171
+ * <p>Required when <code>ReplacementStrategy</code> is set to <code>launch-before-terminate</code>.</p>
10172
+ * <p>Not valid when <code>ReplacementStrategy</code> is set to <code>launch</code>.</p>
10173
+ * <p>Valid values: Minimum value of <code>120</code> seconds. Maximum value of <code>7200</code> seconds.</p>
10560
10174
  */
10561
- SpotPrice?: string;
10175
+ TerminationDelay?: number;
10176
+ }
10177
+ /**
10178
+ * @public
10179
+ * <p>The strategies for managing your Spot Instances that are at an elevated risk of being
10180
+ * interrupted.</p>
10181
+ */
10182
+ export interface SpotMaintenanceStrategies {
10562
10183
  /**
10563
10184
  * @public
10564
- * <p>The date and time the request was created, in UTC format (for example,
10565
- * <i>YYYY</i>-<i>MM</i>-<i>DD</i>T<i>HH</i>:<i>MM</i>:<i>SS</i>Z).</p>
10185
+ * <p>The Spot Instance replacement strategy to use when Amazon EC2 emits a signal that your
10186
+ * Spot Instance is at an elevated risk of being interrupted. For more information, see
10187
+ * <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-capacity-rebalance.html">Capacity rebalancing</a> in the <i>Amazon EC2 User Guide for Linux Instances</i>.</p>
10566
10188
  */
10567
- Timestamp?: Date;
10189
+ CapacityRebalance?: SpotCapacityRebalance;
10568
10190
  }
10569
10191
  /**
10570
10192
  * @public
10571
- * <p>Contains the output of DescribeSpotPriceHistory.</p>
10193
+ * <p>Describes the configuration of a Spot Fleet request.</p>
10572
10194
  */
10573
- export interface DescribeSpotPriceHistoryResult {
10195
+ export interface SpotFleetRequestConfigData {
10574
10196
  /**
10575
10197
  * @public
10576
- * <p>The token to include in another request to get the next page of items. This value is <code>null</code> when there
10577
- * are no more items to return.</p>
10198
+ * <p>The strategy that determines how to allocate the target Spot Instance capacity across the Spot Instance
10199
+ * pools specified by the Spot Fleet launch configuration. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-allocation-strategy.html">Allocation
10200
+ * strategies for Spot Instances</a> in the <i>Amazon EC2 User Guide</i>.</p>
10201
+ * <dl>
10202
+ * <dt>priceCapacityOptimized (recommended)</dt>
10203
+ * <dd>
10204
+ * <p>Spot Fleet identifies the pools with
10205
+ * the highest capacity availability for the number of instances that are launching. This means
10206
+ * that we will request Spot Instances from the pools that we believe have the lowest chance of interruption
10207
+ * in the near term. Spot Fleet then requests Spot Instances from the lowest priced of these pools.</p>
10208
+ * </dd>
10209
+ * <dt>capacityOptimized</dt>
10210
+ * <dd>
10211
+ * <p>Spot Fleet identifies the pools with
10212
+ * the highest capacity availability for the number of instances that are launching. This means
10213
+ * that we will request Spot Instances from the pools that we believe have the lowest chance of interruption
10214
+ * in the near term. To give certain
10215
+ * instance types a higher chance of launching first, use
10216
+ * <code>capacityOptimizedPrioritized</code>. Set a priority for each instance type by
10217
+ * using the <code>Priority</code> parameter for <code>LaunchTemplateOverrides</code>. You can
10218
+ * assign the same priority to different <code>LaunchTemplateOverrides</code>. EC2 implements
10219
+ * the priorities on a best-effort basis, but optimizes for capacity first.
10220
+ * <code>capacityOptimizedPrioritized</code> is supported only if your Spot Fleet uses a
10221
+ * launch template. Note that if the <code>OnDemandAllocationStrategy</code> is set to
10222
+ * <code>prioritized</code>, the same priority is applied when fulfilling On-Demand
10223
+ * capacity.</p>
10224
+ * </dd>
10225
+ * <dt>diversified</dt>
10226
+ * <dd>
10227
+ * <p>Spot Fleet requests instances from all of the Spot Instance pools that you
10228
+ * specify.</p>
10229
+ * </dd>
10230
+ * <dt>lowestPrice</dt>
10231
+ * <dd>
10232
+ * <p>Spot Fleet requests instances from the lowest priced Spot Instance pool that
10233
+ * has available capacity. If the lowest priced pool doesn't have available capacity, the Spot Instances
10234
+ * come from the next lowest priced pool that has available capacity. If a pool runs out of
10235
+ * capacity before fulfilling your desired capacity, Spot Fleet will continue to fulfill your
10236
+ * request by drawing from the next lowest priced pool. To ensure that your desired capacity is
10237
+ * met, you might receive Spot Instances from several pools. Because this strategy only considers instance
10238
+ * price and not capacity availability, it might lead to high interruption rates.</p>
10239
+ * </dd>
10240
+ * </dl>
10241
+ * <p>Default: <code>lowestPrice</code>
10242
+ * </p>
10578
10243
  */
10579
- NextToken?: string;
10244
+ AllocationStrategy?: AllocationStrategy;
10580
10245
  /**
10581
10246
  * @public
10582
- * <p>The historical Spot prices.</p>
10247
+ * <p>The order of the launch template overrides to use in fulfilling On-Demand capacity. If
10248
+ * you specify <code>lowestPrice</code>, Spot Fleet uses price to determine the order, launching
10249
+ * the lowest price first. If you specify <code>prioritized</code>, Spot Fleet uses the priority
10250
+ * that you assign to each Spot Fleet launch template override, launching the highest priority
10251
+ * first. If you do not specify a value, Spot Fleet defaults to <code>lowestPrice</code>.</p>
10583
10252
  */
10584
- SpotPriceHistory?: SpotPrice[];
10585
- }
10586
- /**
10587
- * @public
10588
- */
10589
- export interface DescribeStaleSecurityGroupsRequest {
10253
+ OnDemandAllocationStrategy?: OnDemandAllocationStrategy;
10590
10254
  /**
10591
10255
  * @public
10592
- * <p>Checks whether you have the required permissions for the action, without actually making the request,
10593
- * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
10594
- * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
10256
+ * <p>The strategies for managing your Spot Instances that are at an elevated risk of being
10257
+ * interrupted.</p>
10595
10258
  */
10596
- DryRun?: boolean;
10259
+ SpotMaintenanceStrategies?: SpotMaintenanceStrategies;
10597
10260
  /**
10598
10261
  * @public
10599
- * <p>The maximum number of items to return for this request. To get the next page of items,
10600
- * make another request with the token returned in the output. For more information,
10601
- * see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination">Pagination</a>.</p>
10262
+ * <p>A unique, case-sensitive identifier that you provide to ensure the idempotency of your
10263
+ * listings. This helps to avoid duplicate listings. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html">Ensuring Idempotency</a>.</p>
10602
10264
  */
10603
- MaxResults?: number;
10265
+ ClientToken?: string;
10604
10266
  /**
10605
10267
  * @public
10606
- * <p>The token returned from a previous paginated request.
10607
- * Pagination continues from the end of the items returned by the previous request.</p>
10268
+ * <p>Indicates whether running instances should be terminated if you decrease the
10269
+ * target capacity of the Spot Fleet request below the current size of the Spot Fleet.</p>
10270
+ * <p>Supported only for fleets of type <code>maintain</code>.</p>
10608
10271
  */
10609
- NextToken?: string;
10272
+ ExcessCapacityTerminationPolicy?: ExcessCapacityTerminationPolicy;
10610
10273
  /**
10611
10274
  * @public
10612
- * <p>The ID of the VPC.</p>
10275
+ * <p>The number of units fulfilled by this request compared to the set target capacity. You
10276
+ * cannot set this value.</p>
10613
10277
  */
10614
- VpcId: string | undefined;
10615
- }
10616
- /**
10617
- * @public
10618
- * <p>Describes a stale rule in a security group.</p>
10619
- */
10620
- export interface StaleIpPermission {
10278
+ FulfilledCapacity?: number;
10621
10279
  /**
10622
10280
  * @public
10623
- * <p>The start of the port range for the TCP and UDP protocols, or an ICMP type number. A value of
10624
- * -1 indicates all ICMP types. </p>
10281
+ * <p>The number of On-Demand units fulfilled by this request compared to the set target
10282
+ * On-Demand capacity.</p>
10625
10283
  */
10626
- FromPort?: number;
10284
+ OnDemandFulfilledCapacity?: number;
10627
10285
  /**
10628
10286
  * @public
10629
- * <p>The IP protocol name (for <code>tcp</code>, <code>udp</code>, and <code>icmp</code>) or number (see <a href="http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml">Protocol Numbers)</a>.</p>
10287
+ * <p>The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) role that
10288
+ * grants the Spot Fleet the permission to request, launch, terminate, and tag instances on
10289
+ * your behalf. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-fleet-requests.html#spot-fleet-prerequisites">Spot
10290
+ * Fleet prerequisites</a> in the <i>Amazon EC2 User Guide</i>. Spot Fleet
10291
+ * can terminate Spot Instances on your behalf when you cancel its Spot Fleet request using
10292
+ * <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CancelSpotFleetRequests">CancelSpotFleetRequests</a> or when the Spot Fleet request expires, if you set
10293
+ * <code>TerminateInstancesWithExpiration</code>.</p>
10630
10294
  */
10631
- IpProtocol?: string;
10295
+ IamFleetRole: string | undefined;
10632
10296
  /**
10633
10297
  * @public
10634
- * <p>The IP ranges. Not applicable for stale security group rules.</p>
10298
+ * <p>The launch specifications for the Spot Fleet request. If you specify
10299
+ * <code>LaunchSpecifications</code>, you can't specify
10300
+ * <code>LaunchTemplateConfigs</code>. If you include On-Demand capacity in your
10301
+ * request, you must use <code>LaunchTemplateConfigs</code>.</p>
10635
10302
  */
10636
- IpRanges?: string[];
10303
+ LaunchSpecifications?: SpotFleetLaunchSpecification[];
10637
10304
  /**
10638
10305
  * @public
10639
- * <p>The prefix list IDs. Not applicable for stale security group rules.</p>
10306
+ * <p>The launch template and overrides. If you specify <code>LaunchTemplateConfigs</code>,
10307
+ * you can't specify <code>LaunchSpecifications</code>. If you include On-Demand capacity
10308
+ * in your request, you must use <code>LaunchTemplateConfigs</code>.</p>
10640
10309
  */
10641
- PrefixListIds?: string[];
10310
+ LaunchTemplateConfigs?: LaunchTemplateConfig[];
10642
10311
  /**
10643
10312
  * @public
10644
- * <p>The end of the port range for the TCP and UDP protocols, or an ICMP type number. A value of
10645
- * <code>-1</code> indicates all ICMP types. </p>
10313
+ * <p>The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend
10314
+ * using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.</p>
10315
+ * <important>
10316
+ * <p>If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.</p>
10317
+ * </important>
10646
10318
  */
10647
- ToPort?: number;
10319
+ SpotPrice?: string;
10648
10320
  /**
10649
10321
  * @public
10650
- * <p>The security group pairs. Returns the ID of the referenced security group and VPC, and the ID and status of the VPC peering connection.</p>
10322
+ * <p>The number of units to request for the Spot Fleet. You can choose to set the target
10323
+ * capacity in terms of instances or a performance characteristic that is important to your
10324
+ * application workload, such as vCPUs, memory, or I/O. If the request type is
10325
+ * <code>maintain</code>, you can specify a target capacity of 0 and add capacity
10326
+ * later.</p>
10651
10327
  */
10652
- UserIdGroupPairs?: UserIdGroupPair[];
10653
- }
10654
- /**
10655
- * @public
10656
- * <p>Describes a stale security group (a security group that contains stale rules).</p>
10657
- */
10658
- export interface StaleSecurityGroup {
10328
+ TargetCapacity: number | undefined;
10659
10329
  /**
10660
10330
  * @public
10661
- * <p>The description of the security group.</p>
10331
+ * <p>The number of On-Demand units to request. You can choose to set the target capacity in
10332
+ * terms of instances or a performance characteristic that is important to your application
10333
+ * workload, such as vCPUs, memory, or I/O. If the request type is <code>maintain</code>,
10334
+ * you can specify a target capacity of 0 and add capacity later.</p>
10662
10335
  */
10663
- Description?: string;
10336
+ OnDemandTargetCapacity?: number;
10664
10337
  /**
10665
10338
  * @public
10666
- * <p>The ID of the security group.</p>
10339
+ * <p>The maximum amount per hour for On-Demand Instances that you're willing to pay. You
10340
+ * can use the <code>onDemandMaxTotalPrice</code> parameter, the
10341
+ * <code>spotMaxTotalPrice</code> parameter, or both parameters to ensure that your
10342
+ * fleet cost does not exceed your budget. If you set a maximum price per hour for the
10343
+ * On-Demand Instances and Spot Instances in your request, Spot Fleet will launch instances until it reaches the
10344
+ * maximum amount you're willing to pay. When the maximum amount you're willing to pay is
10345
+ * reached, the fleet stops launching instances even if it hasn’t met the target
10346
+ * capacity.</p>
10347
+ * <note>
10348
+ * <p>If your fleet includes T instances that are configured as <code>unlimited</code>,
10349
+ * and if their average CPU usage exceeds the baseline utilization, you will incur a charge
10350
+ * for surplus credits. The <code>onDemandMaxTotalPrice</code> does not account for surplus
10351
+ * credits, and, if you use surplus credits, your final cost might be higher than what you
10352
+ * specified for <code>onDemandMaxTotalPrice</code>. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-unlimited-mode-concepts.html#unlimited-mode-surplus-credits">Surplus credits can incur charges</a> in the <i>EC2 User
10353
+ * Guide</i>.</p>
10354
+ * </note>
10667
10355
  */
10668
- GroupId?: string;
10356
+ OnDemandMaxTotalPrice?: string;
10669
10357
  /**
10670
10358
  * @public
10671
- * <p>The name of the security group.</p>
10359
+ * <p>The maximum amount per hour for Spot Instances that you're willing to pay. You can use
10360
+ * the <code>spotMaxTotalPrice</code> parameter, the <code>onDemandMaxTotalPrice</code>
10361
+ * parameter, or both parameters to ensure that your fleet cost does not exceed your budget.
10362
+ * If you set a maximum price per hour for the On-Demand Instances and Spot Instances in your request, Spot Fleet will
10363
+ * launch instances until it reaches the maximum amount you're willing to pay. When the
10364
+ * maximum amount you're willing to pay is reached, the fleet stops launching instances even
10365
+ * if it hasn’t met the target capacity.</p>
10366
+ * <note>
10367
+ * <p>If your fleet includes T instances that are configured as <code>unlimited</code>,
10368
+ * and if their average CPU usage exceeds the baseline utilization, you will incur a charge
10369
+ * for surplus credits. The <code>spotMaxTotalPrice</code> does not account for surplus
10370
+ * credits, and, if you use surplus credits, your final cost might be higher than what you
10371
+ * specified for <code>spotMaxTotalPrice</code>. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-unlimited-mode-concepts.html#unlimited-mode-surplus-credits">Surplus credits can incur charges</a> in the <i>EC2 User
10372
+ * Guide</i>.</p>
10373
+ * </note>
10672
10374
  */
10673
- GroupName?: string;
10375
+ SpotMaxTotalPrice?: string;
10674
10376
  /**
10675
10377
  * @public
10676
- * <p>Information about the stale inbound rules in the security group.</p>
10378
+ * <p>Indicates whether running Spot Instances are terminated when the Spot Fleet request
10379
+ * expires.</p>
10677
10380
  */
10678
- StaleIpPermissions?: StaleIpPermission[];
10381
+ TerminateInstancesWithExpiration?: boolean;
10679
10382
  /**
10680
10383
  * @public
10681
- * <p>Information about the stale outbound rules in the security group.</p>
10384
+ * <p>The type of request. Indicates whether the Spot Fleet only requests the target
10385
+ * capacity or also attempts to maintain it. When this value is <code>request</code>, the
10386
+ * Spot Fleet only places the required requests. It does not attempt to replenish Spot
10387
+ * Instances if capacity is diminished, nor does it submit requests in alternative Spot
10388
+ * pools if capacity is not available. When this value is <code>maintain</code>, the Spot
10389
+ * Fleet maintains the target capacity. The Spot Fleet places the required requests to meet
10390
+ * capacity and automatically replenishes any interrupted instances. Default:
10391
+ * <code>maintain</code>. <code>instant</code> is listed but is not used by Spot
10392
+ * Fleet.</p>
10682
10393
  */
10683
- StaleIpPermissionsEgress?: StaleIpPermission[];
10394
+ Type?: FleetType;
10684
10395
  /**
10685
10396
  * @public
10686
- * <p>The ID of the VPC for the security group.</p>
10397
+ * <p>The start date and time of the request, in UTC format
10398
+ * (<i>YYYY</i>-<i>MM</i>-<i>DD</i>T<i>HH</i>:<i>MM</i>:<i>SS</i>Z).
10399
+ * By default, Amazon EC2 starts fulfilling the request immediately.</p>
10687
10400
  */
10688
- VpcId?: string;
10689
- }
10690
- /**
10691
- * @public
10692
- */
10693
- export interface DescribeStaleSecurityGroupsResult {
10401
+ ValidFrom?: Date;
10694
10402
  /**
10695
10403
  * @public
10696
- * <p>The token to include in another request to get the next page of items.
10697
- * If there are no additional items to return, the string is empty.</p>
10404
+ * <p>The end date and time of the request, in UTC format
10405
+ * (<i>YYYY</i>-<i>MM</i>-<i>DD</i>T<i>HH</i>:<i>MM</i>:<i>SS</i>Z).
10406
+ * After the end date and time, no new Spot Instance requests are placed or able to fulfill
10407
+ * the request. If no value is specified, the Spot Fleet request remains until you cancel
10408
+ * it.</p>
10698
10409
  */
10699
- NextToken?: string;
10410
+ ValidUntil?: Date;
10700
10411
  /**
10701
10412
  * @public
10702
- * <p>Information about the stale security groups.</p>
10413
+ * <p>Indicates whether Spot Fleet should replace unhealthy instances.</p>
10703
10414
  */
10704
- StaleSecurityGroupSet?: StaleSecurityGroup[];
10705
- }
10706
- /**
10707
- * @public
10708
- */
10709
- export interface DescribeStoreImageTasksRequest {
10415
+ ReplaceUnhealthyInstances?: boolean;
10710
10416
  /**
10711
10417
  * @public
10712
- * <p>The AMI IDs for which to show progress. Up to 20 AMI IDs can be included in a request.</p>
10418
+ * <p>The behavior when a Spot Instance is interrupted. The default is
10419
+ * <code>terminate</code>.</p>
10713
10420
  */
10714
- ImageIds?: string[];
10421
+ InstanceInterruptionBehavior?: InstanceInterruptionBehavior;
10715
10422
  /**
10716
10423
  * @public
10717
- * <p>Checks whether you have the required permissions for the action, without actually making the request,
10718
- * and provides an error response. If you have the required permissions, the error response is
10719
- * <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
10424
+ * <p>One or more Classic Load Balancers and target groups to attach to the Spot Fleet
10425
+ * request. Spot Fleet registers the running Spot Instances with the specified Classic Load
10426
+ * Balancers and target groups.</p>
10427
+ * <p>With Network Load Balancers, Spot Fleet cannot register instances that have the
10428
+ * following instance types: C1, CC1, CC2, CG1, CG2, CR1, CS1, G1, G2, HI1, HS1, M1, M2,
10429
+ * M3, and T1.</p>
10720
10430
  */
10721
- DryRun?: boolean;
10431
+ LoadBalancersConfig?: LoadBalancersConfig;
10722
10432
  /**
10723
10433
  * @public
10724
- * <p>The filters.</p>
10725
- * <ul>
10726
- * <li>
10727
- * <p>
10728
- * <code>task-state</code> - Returns tasks in a certain state (<code>InProgress</code> |
10729
- * <code>Completed</code> | <code>Failed</code>)</p>
10730
- * </li>
10731
- * <li>
10732
- * <p>
10733
- * <code>bucket</code> - Returns task information for tasks that targeted a specific
10734
- * bucket. For the filter value, specify the bucket name.</p>
10735
- * </li>
10736
- * </ul>
10737
- * <note>
10738
- * <p>When you specify the <code>ImageIds</code> parameter, any filters that you specify are
10739
- * ignored. To use the filters, you must remove the <code>ImageIds</code> parameter.</p>
10740
- * </note>
10434
+ * <p>The number of Spot pools across which to allocate your target Spot capacity. Valid
10435
+ * only when Spot <b>AllocationStrategy</b> is set to
10436
+ * <code>lowest-price</code>. Spot Fleet selects the cheapest Spot pools and evenly
10437
+ * allocates your target Spot capacity across the number of Spot pools that you
10438
+ * specify.</p>
10439
+ * <p>Note that Spot Fleet attempts to draw Spot Instances from the number of pools that you specify on a
10440
+ * best effort basis. If a pool runs out of Spot capacity before fulfilling your target
10441
+ * capacity, Spot Fleet will continue to fulfill your request by drawing from the next cheapest
10442
+ * pool. To ensure that your target capacity is met, you might receive Spot Instances from more than
10443
+ * the number of pools that you specified. Similarly, if most of the pools have no Spot
10444
+ * capacity, you might receive your full target capacity from fewer than the number of
10445
+ * pools that you specified.</p>
10741
10446
  */
10742
- Filters?: Filter[];
10447
+ InstancePoolsToUseCount?: number;
10743
10448
  /**
10744
10449
  * @public
10745
- * <p>The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.</p>
10450
+ * <p>Reserved.</p>
10746
10451
  */
10747
- NextToken?: string;
10452
+ Context?: string;
10748
10453
  /**
10749
10454
  * @public
10750
- * <p>The maximum number of items to return for this request.
10751
- * To get the next page of items, make another request with the token returned in the output.
10752
- * For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination">Pagination</a>.</p>
10753
- * <p>You cannot specify this parameter and the <code>ImageIds</code> parameter in the same
10754
- * call.</p>
10455
+ * <p>The unit for the target capacity. <code>TargetCapacityUnitType</code> can only be specified when <code>InstanceRequirements</code> is specified.</p>
10456
+ * <p>Default: <code>units</code> (translates to number of instances)</p>
10755
10457
  */
10756
- MaxResults?: number;
10458
+ TargetCapacityUnitType?: TargetCapacityUnitType;
10459
+ /**
10460
+ * @public
10461
+ * <p>The key-value pair for tagging the Spot Fleet request on creation. The value for
10462
+ * <code>ResourceType</code> must be <code>spot-fleet-request</code>, otherwise the
10463
+ * Spot Fleet request fails. To tag instances at launch, specify the tags in the <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#create-launch-template">launch
10464
+ * template</a> (valid only if you use <code>LaunchTemplateConfigs</code>) or in
10465
+ * the <code>
10466
+ * <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_SpotFleetTagSpecification.html">SpotFleetTagSpecification</a>
10467
+ * </code> (valid only if you use
10468
+ * <code>LaunchSpecifications</code>). For information about tagging after launch, see
10469
+ * <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#tag-resources">Tag your resources</a>.</p>
10470
+ */
10471
+ TagSpecifications?: TagSpecification[];
10757
10472
  }
10758
10473
  /**
10759
10474
  * @public
10760
- * <p>The information about the AMI store task, including the progress of the task.</p>
10475
+ * <p>Describes a Spot Fleet request.</p>
10761
10476
  */
10762
- export interface StoreImageTaskResult {
10763
- /**
10764
- * @public
10765
- * <p>The ID of the AMI that is being stored.</p>
10766
- */
10767
- AmiId?: string;
10477
+ export interface SpotFleetRequestConfig {
10768
10478
  /**
10769
10479
  * @public
10770
- * <p>The time the task started.</p>
10480
+ * <p>The progress of the Spot Fleet request.
10481
+ * If there is an error, the status is <code>error</code>.
10482
+ * After all requests are placed, the status is <code>pending_fulfillment</code>.
10483
+ * If the size of the fleet is equal to or greater than its target capacity, the status is <code>fulfilled</code>.
10484
+ * If the size of the fleet is decreased, the status is <code>pending_termination</code>
10485
+ * while Spot Instances are terminating.</p>
10771
10486
  */
10772
- TaskStartTime?: Date;
10487
+ ActivityStatus?: ActivityStatus;
10773
10488
  /**
10774
10489
  * @public
10775
- * <p>The name of the Amazon S3 bucket that contains the stored AMI object.</p>
10490
+ * <p>The creation date and time of the request.</p>
10776
10491
  */
10777
- Bucket?: string;
10492
+ CreateTime?: Date;
10778
10493
  /**
10779
10494
  * @public
10780
- * <p>The name of the stored AMI object in the bucket.</p>
10495
+ * <p>The configuration of the Spot Fleet request.</p>
10781
10496
  */
10782
- S3objectKey?: string;
10497
+ SpotFleetRequestConfig?: SpotFleetRequestConfigData;
10783
10498
  /**
10784
10499
  * @public
10785
- * <p>The progress of the task as a percentage.</p>
10500
+ * <p>The ID of the Spot Fleet request.</p>
10786
10501
  */
10787
- ProgressPercentage?: number;
10502
+ SpotFleetRequestId?: string;
10788
10503
  /**
10789
10504
  * @public
10790
- * <p>The state of the store task (<code>InProgress</code>, <code>Completed</code>, or
10791
- * <code>Failed</code>).</p>
10505
+ * <p>The state of the Spot Fleet request.</p>
10792
10506
  */
10793
- StoreTaskState?: string;
10507
+ SpotFleetRequestState?: BatchState;
10794
10508
  /**
10795
10509
  * @public
10796
- * <p>If the tasks fails, the reason for the failure is returned. If the task succeeds,
10797
- * <code>null</code> is returned.</p>
10510
+ * <p>The tags for a Spot Fleet resource.</p>
10798
10511
  */
10799
- StoreTaskFailureReason?: string;
10512
+ Tags?: Tag[];
10800
10513
  }
10801
10514
  /**
10802
10515
  * @public
10516
+ * <p>Contains the output of DescribeSpotFleetRequests.</p>
10803
10517
  */
10804
- export interface DescribeStoreImageTasksResult {
10805
- /**
10806
- * @public
10807
- * <p>The information about the AMI store tasks.</p>
10808
- */
10809
- StoreImageTaskResults?: StoreImageTaskResult[];
10518
+ export interface DescribeSpotFleetRequestsResponse {
10810
10519
  /**
10811
10520
  * @public
10812
10521
  * <p>The token to include in another request to get the next page of items. This value is <code>null</code> when there
10813
10522
  * are no more items to return.</p>
10814
10523
  */
10815
10524
  NextToken?: string;
10525
+ /**
10526
+ * @public
10527
+ * <p>Information about the configuration of your Spot Fleet.</p>
10528
+ */
10529
+ SpotFleetRequestConfigs?: SpotFleetRequestConfig[];
10816
10530
  }
10817
10531
  /**
10818
10532
  * @public
10533
+ * <p>Contains the parameters for DescribeSpotInstanceRequests.</p>
10819
10534
  */
10820
- export interface DescribeSubnetsRequest {
10535
+ export interface DescribeSpotInstanceRequestsRequest {
10821
10536
  /**
10822
10537
  * @public
10823
10538
  * <p>The filters.</p>
10824
10539
  * <ul>
10825
10540
  * <li>
10826
10541
  * <p>
10827
- * <code>availability-zone</code> - The Availability Zone for the subnet. You can also use
10828
- * <code>availabilityZone</code> as the filter name.</p>
10542
+ * <code>availability-zone-group</code> - The Availability Zone group.</p>
10829
10543
  * </li>
10830
10544
  * <li>
10831
10545
  * <p>
10832
- * <code>availability-zone-id</code> - The ID of the Availability Zone for the subnet.
10833
- * You can also use <code>availabilityZoneId</code> as the filter name.</p>
10546
+ * <code>create-time</code> - The time stamp when the Spot Instance request was
10547
+ * created.</p>
10834
10548
  * </li>
10835
10549
  * <li>
10836
10550
  * <p>
10837
- * <code>available-ip-address-count</code> - The number of IPv4 addresses in the
10838
- * subnet that are available.</p>
10551
+ * <code>fault-code</code> - The fault code related to the request.</p>
10839
10552
  * </li>
10840
10553
  * <li>
10841
10554
  * <p>
10842
- * <code>cidr-block</code> - The IPv4 CIDR block of the subnet. The CIDR block
10843
- * you specify must exactly match the subnet's CIDR block for information to be
10844
- * returned for the subnet. You can also use <code>cidr</code> or
10845
- * <code>cidrBlock</code> as the filter names.</p>
10555
+ * <code>fault-message</code> - The fault message related to the request.</p>
10846
10556
  * </li>
10847
10557
  * <li>
10848
10558
  * <p>
10849
- * <code>customer-owned-ipv4-pool</code> - The customer-owned IPv4 address pool
10850
- * associated with the subnet.</p>
10559
+ * <code>instance-id</code> - The ID of the instance that fulfilled the
10560
+ * request.</p>
10851
10561
  * </li>
10852
10562
  * <li>
10853
10563
  * <p>
10854
- * <code>default-for-az</code> - Indicates whether this is the default subnet for
10855
- * the Availability Zone (<code>true</code> | <code>false</code>). You can also use
10856
- * <code>defaultForAz</code> as the filter name.</p>
10564
+ * <code>launch-group</code> - The Spot Instance launch group.</p>
10857
10565
  * </li>
10858
10566
  * <li>
10859
10567
  * <p>
10860
- * <code>enable-dns64</code> - Indicates whether DNS queries made to the
10861
- * Amazon-provided DNS Resolver in this subnet should return synthetic IPv6
10862
- * addresses for IPv4-only destinations.</p>
10568
+ * <code>launch.block-device-mapping.delete-on-termination</code> - Indicates
10569
+ * whether the EBS volume is deleted on instance termination.</p>
10863
10570
  * </li>
10864
10571
  * <li>
10865
10572
  * <p>
10866
- * <code>enable-lni-at-device-index</code> - Indicates the device position for
10867
- * local network interfaces in this subnet. For example, <code>1</code> indicates
10868
- * local network interfaces in this subnet are the secondary network interface
10869
- * (eth1). </p>
10573
+ * <code>launch.block-device-mapping.device-name</code> - The device name for the
10574
+ * volume in the block device mapping (for example, <code>/dev/sdh</code> or
10575
+ * <code>xvdh</code>).</p>
10870
10576
  * </li>
10871
10577
  * <li>
10872
10578
  * <p>
10873
- * <code>ipv6-cidr-block-association.ipv6-cidr-block</code> - An IPv6 CIDR
10874
- * block associated with the subnet.</p>
10579
+ * <code>launch.block-device-mapping.snapshot-id</code> - The ID of the snapshot
10580
+ * for the EBS volume.</p>
10875
10581
  * </li>
10876
10582
  * <li>
10877
10583
  * <p>
10878
- * <code>ipv6-cidr-block-association.association-id</code> - An association ID
10879
- * for an IPv6 CIDR block associated with the subnet.</p>
10584
+ * <code>launch.block-device-mapping.volume-size</code> - The size of the EBS
10585
+ * volume, in GiB.</p>
10880
10586
  * </li>
10881
10587
  * <li>
10882
10588
  * <p>
10883
- * <code>ipv6-cidr-block-association.state</code> - The state of an IPv6 CIDR
10884
- * block associated with the subnet.</p>
10589
+ * <code>launch.block-device-mapping.volume-type</code> - The type of EBS volume:
10590
+ * <code>gp2</code> for General Purpose SSD, <code>io1</code> or
10591
+ * <code>io2</code> for Provisioned IOPS SSD, <code>st1</code> for Throughput
10592
+ * Optimized HDD, <code>sc1</code>for Cold HDD, or <code>standard</code> for
10593
+ * Magnetic.</p>
10885
10594
  * </li>
10886
10595
  * <li>
10887
10596
  * <p>
10888
- * <code>ipv6-native</code> - Indicates whether this is an IPv6 only subnet
10889
- * (<code>true</code> | <code>false</code>).</p>
10597
+ * <code>launch.group-id</code> - The ID of the security group for the
10598
+ * instance.</p>
10890
10599
  * </li>
10891
10600
  * <li>
10892
10601
  * <p>
10893
- * <code>map-customer-owned-ip-on-launch</code> - Indicates whether a network
10894
- * interface created in this subnet (including a network interface created by <a>RunInstances</a>) receives a customer-owned IPv4 address.</p>
10602
+ * <code>launch.group-name</code> - The name of the security group for the
10603
+ * instance.</p>
10895
10604
  * </li>
10896
10605
  * <li>
10897
10606
  * <p>
10898
- * <code>map-public-ip-on-launch</code> - Indicates whether instances launched in
10899
- * this subnet receive a public IPv4 address.</p>
10607
+ * <code>launch.image-id</code> - The ID of the AMI.</p>
10900
10608
  * </li>
10901
10609
  * <li>
10902
10610
  * <p>
10903
- * <code>outpost-arn</code> - The Amazon Resource Name (ARN) of the Outpost.</p>
10611
+ * <code>launch.instance-type</code> - The type of instance (for example,
10612
+ * <code>m3.medium</code>).</p>
10904
10613
  * </li>
10905
10614
  * <li>
10906
10615
  * <p>
10907
- * <code>owner-id</code> - The ID of the Amazon Web Services account that owns the
10908
- * subnet.</p>
10616
+ * <code>launch.kernel-id</code> - The kernel ID.</p>
10909
10617
  * </li>
10910
10618
  * <li>
10911
10619
  * <p>
10912
- * <code>private-dns-name-options-on-launch.hostname-type</code> - The type of
10913
- * hostname to assign to instances in the subnet at launch. For IPv4-only and
10914
- * dual-stack (IPv4 and IPv6) subnets, an instance DNS name can be based on the
10915
- * instance IPv4 address (ip-name) or the instance ID (resource-name). For IPv6
10916
- * only subnets, an instance DNS name must be based on the instance ID
10917
- * (resource-name).</p>
10620
+ * <code>launch.key-name</code> - The name of the key pair the instance launched
10621
+ * with.</p>
10918
10622
  * </li>
10919
10623
  * <li>
10920
10624
  * <p>
10921
- * <code>private-dns-name-options-on-launch.enable-resource-name-dns-a-record</code>
10922
- * - Indicates whether to respond to DNS queries for instance hostnames with DNS A
10923
- * records.</p>
10625
+ * <code>launch.monitoring-enabled</code> - Whether detailed monitoring is
10626
+ * enabled for the Spot Instance.</p>
10924
10627
  * </li>
10925
10628
  * <li>
10926
10629
  * <p>
10927
- * <code>private-dns-name-options-on-launch.enable-resource-name-dns-aaaa-record</code>
10928
- * - Indicates whether to respond to DNS queries for instance hostnames with DNS
10929
- * AAAA records.</p>
10630
+ * <code>launch.ramdisk-id</code> - The RAM disk ID.</p>
10930
10631
  * </li>
10931
10632
  * <li>
10932
10633
  * <p>
10933
- * <code>state</code> - The state of the subnet (<code>pending</code> | <code>available</code>).</p>
10634
+ * <code>launched-availability-zone</code> - The Availability Zone in which the
10635
+ * request is launched.</p>
10934
10636
  * </li>
10935
10637
  * <li>
10936
10638
  * <p>
10937
- * <code>subnet-arn</code> - The Amazon Resource Name (ARN) of the subnet.</p>
10639
+ * <code>network-interface.addresses.primary</code> - Indicates whether the IP
10640
+ * address is the primary private IP address.</p>
10938
10641
  * </li>
10939
10642
  * <li>
10940
10643
  * <p>
10941
- * <code>subnet-id</code> - The ID of the subnet.</p>
10644
+ * <code>network-interface.delete-on-termination</code> - Indicates whether the
10645
+ * network interface is deleted when the instance is terminated.</p>
10942
10646
  * </li>
10943
10647
  * <li>
10944
10648
  * <p>
10945
- * <code>tag</code>:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.
10649
+ * <code>network-interface.description</code> - A description of the network
10650
+ * interface.</p>
10651
+ * </li>
10652
+ * <li>
10653
+ * <p>
10654
+ * <code>network-interface.device-index</code> - The index of the device for the
10655
+ * network interface attachment on the instance.</p>
10656
+ * </li>
10657
+ * <li>
10658
+ * <p>
10659
+ * <code>network-interface.group-id</code> - The ID of the security group
10660
+ * associated with the network interface.</p>
10661
+ * </li>
10662
+ * <li>
10663
+ * <p>
10664
+ * <code>network-interface.network-interface-id</code> - The ID of the network
10665
+ * interface.</p>
10666
+ * </li>
10667
+ * <li>
10668
+ * <p>
10669
+ * <code>network-interface.private-ip-address</code> - The primary private IP
10670
+ * address of the network interface.</p>
10671
+ * </li>
10672
+ * <li>
10673
+ * <p>
10674
+ * <code>network-interface.subnet-id</code> - The ID of the subnet for the
10675
+ * instance.</p>
10676
+ * </li>
10677
+ * <li>
10678
+ * <p>
10679
+ * <code>product-description</code> - The product description associated with the
10680
+ * instance (<code>Linux/UNIX</code> | <code>Windows</code>).</p>
10681
+ * </li>
10682
+ * <li>
10683
+ * <p>
10684
+ * <code>spot-instance-request-id</code> - The Spot Instance request ID.</p>
10685
+ * </li>
10686
+ * <li>
10687
+ * <p>
10688
+ * <code>spot-price</code> - The maximum hourly price for any Spot Instance
10689
+ * launched to fulfill the request.</p>
10690
+ * </li>
10691
+ * <li>
10692
+ * <p>
10693
+ * <code>state</code> - The state of the Spot Instance request (<code>open</code>
10694
+ * | <code>active</code> | <code>closed</code> | <code>cancelled</code> |
10695
+ * <code>failed</code>). Spot request status information can help you track
10696
+ * your Amazon EC2 Spot Instance requests. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-request-status.html">Spot
10697
+ * request status</a> in the <i>Amazon EC2 User Guide for Linux Instances</i>.</p>
10698
+ * </li>
10699
+ * <li>
10700
+ * <p>
10701
+ * <code>status-code</code> - The short code describing the most recent
10702
+ * evaluation of your Spot Instance request.</p>
10703
+ * </li>
10704
+ * <li>
10705
+ * <p>
10706
+ * <code>status-message</code> - The message explaining the status of the Spot
10707
+ * Instance request.</p>
10708
+ * </li>
10709
+ * <li>
10710
+ * <p>
10711
+ * <code>tag:<key></code> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.
10946
10712
  * For example, to find all resources that have a tag with the key <code>Owner</code> and the value <code>TeamA</code>, specify <code>tag:Owner</code> for the filter name and <code>TeamA</code> for the filter value.</p>
10947
10713
  * </li>
10948
10714
  * <li>
@@ -10951,24 +10717,33 @@ export interface DescribeSubnetsRequest {
10951
10717
  * </li>
10952
10718
  * <li>
10953
10719
  * <p>
10954
- * <code>vpc-id</code> - The ID of the VPC for the subnet.</p>
10720
+ * <code>type</code> - The type of Spot Instance request (<code>one-time</code> |
10721
+ * <code>persistent</code>).</p>
10722
+ * </li>
10723
+ * <li>
10724
+ * <p>
10725
+ * <code>valid-from</code> - The start date of the request.</p>
10726
+ * </li>
10727
+ * <li>
10728
+ * <p>
10729
+ * <code>valid-until</code> - The end date of the request.</p>
10955
10730
  * </li>
10956
10731
  * </ul>
10957
10732
  */
10958
10733
  Filters?: Filter[];
10959
10734
  /**
10960
10735
  * @public
10961
- * <p>The IDs of the subnets.</p>
10962
- * <p>Default: Describes all your subnets.</p>
10736
+ * <p>Checks whether you have the required permissions for the action, without actually
10737
+ * making the request, and provides an error response. If you have the required
10738
+ * permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is
10739
+ * <code>UnauthorizedOperation</code>.</p>
10963
10740
  */
10964
- SubnetIds?: string[];
10741
+ DryRun?: boolean;
10965
10742
  /**
10966
10743
  * @public
10967
- * <p>Checks whether you have the required permissions for the action, without actually making the request,
10968
- * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
10969
- * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
10744
+ * <p>The IDs of the Spot Instance requests.</p>
10970
10745
  */
10971
- DryRun?: boolean;
10746
+ SpotInstanceRequestIds?: string[];
10972
10747
  /**
10973
10748
  * @public
10974
10749
  * <p>The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.</p>
@@ -10977,676 +10752,815 @@ export interface DescribeSubnetsRequest {
10977
10752
  /**
10978
10753
  * @public
10979
10754
  * <p>The maximum number of items to return for this request.
10980
- * To get the next page of items, make another request with the token returned in the output.
10981
- * For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination">Pagination</a>.</p>
10755
+ * To get the next page of items, make another request with the token returned in the output.
10756
+ * For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination">Pagination</a>.</p>
10982
10757
  */
10983
10758
  MaxResults?: number;
10984
10759
  }
10985
10760
  /**
10986
10761
  * @public
10762
+ * <p>Describes the monitoring of an instance.</p>
10987
10763
  */
10988
- export interface DescribeSubnetsResult {
10989
- /**
10990
- * @public
10991
- * <p>Information about one or more subnets.</p>
10992
- */
10993
- Subnets?: Subnet[];
10764
+ export interface RunInstancesMonitoringEnabled {
10994
10765
  /**
10995
10766
  * @public
10996
- * <p>The token to include in another request to get the next page of items. This value is <code>null</code> when there are no more items to return.</p>
10767
+ * <p>Indicates whether detailed monitoring is enabled. Otherwise, basic monitoring is
10768
+ * enabled.</p>
10997
10769
  */
10998
- NextToken?: string;
10770
+ Enabled: boolean | undefined;
10999
10771
  }
11000
10772
  /**
11001
10773
  * @public
10774
+ * <p>Describes the launch specification for an instance.</p>
11002
10775
  */
11003
- export interface DescribeTagsRequest {
10776
+ export interface LaunchSpecification {
11004
10777
  /**
11005
10778
  * @public
11006
- * <p>Checks whether you have the required permissions for the action, without actually making the request,
11007
- * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
11008
- * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
10779
+ * <p>The base64-encoded user data that instances use when starting up. User data is limited to 16 KB.</p>
11009
10780
  */
11010
- DryRun?: boolean;
10781
+ UserData?: string;
11011
10782
  /**
11012
10783
  * @public
11013
- * <p>The filters.</p>
11014
- * <ul>
11015
- * <li>
11016
- * <p>
11017
- * <code>key</code> - The tag key.</p>
11018
- * </li>
11019
- * <li>
11020
- * <p>
11021
- * <code>resource-id</code> - The ID of the resource.</p>
11022
- * </li>
11023
- * <li>
11024
- * <p>
11025
- * <code>resource-type</code> - The resource type (<code>customer-gateway</code> | <code>dedicated-host</code> | <code>dhcp-options</code> | <code>elastic-ip</code> | <code>fleet</code> | <code>fpga-image</code> | <code>host-reservation</code> | <code>image</code> | <code>instance</code> | <code>internet-gateway</code> | <code>key-pair</code> | <code>launch-template</code> | <code>natgateway</code> | <code>network-acl</code> | <code>network-interface</code> | <code>placement-group</code> | <code>reserved-instances</code> | <code>route-table</code> | <code>security-group</code> | <code>snapshot</code> | <code>spot-instances-request</code> | <code>subnet</code> | <code>volume</code> | <code>vpc</code> | <code>vpc-endpoint</code> | <code>vpc-endpoint-service</code> | <code>vpc-peering-connection</code> | <code>vpn-connection</code> | <code>vpn-gateway</code>).</p>
11026
- * </li>
11027
- * <li>
11028
- * <p>
11029
- * <code>tag</code>:<key> - The key/value combination of the tag. For example,
11030
- * specify "tag:Owner" for the filter name and "TeamA" for the filter value to find
11031
- * resources with the tag "Owner=TeamA".</p>
11032
- * </li>
11033
- * <li>
11034
- * <p>
11035
- * <code>value</code> - The tag value.</p>
11036
- * </li>
11037
- * </ul>
10784
+ * <p>The IDs of the security groups.</p>
11038
10785
  */
11039
- Filters?: Filter[];
10786
+ SecurityGroups?: GroupIdentifier[];
11040
10787
  /**
11041
10788
  * @public
11042
- * <p>The maximum number of items to return for this request. This value can be between 5 and 1000.
11043
- * To get the next page of items, make another request with the token returned in the output.
11044
- * For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination">Pagination</a>.</p>
10789
+ * <p>Deprecated.</p>
11045
10790
  */
11046
- MaxResults?: number;
10791
+ AddressingType?: string;
11047
10792
  /**
11048
10793
  * @public
11049
- * <p>The token returned from a previous paginated request.
11050
- * Pagination continues from the end of the items returned by the previous request.</p>
10794
+ * <p>The block device mapping entries.</p>
11051
10795
  */
11052
- NextToken?: string;
11053
- }
11054
- /**
11055
- * @public
11056
- * <p>Describes a tag.</p>
11057
- */
11058
- export interface TagDescription {
10796
+ BlockDeviceMappings?: BlockDeviceMapping[];
11059
10797
  /**
11060
10798
  * @public
11061
- * <p>The tag key.</p>
10799
+ * <p>Indicates whether the instance is optimized for EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.</p>
10800
+ * <p>Default: <code>false</code>
10801
+ * </p>
11062
10802
  */
11063
- Key?: string;
10803
+ EbsOptimized?: boolean;
11064
10804
  /**
11065
10805
  * @public
11066
- * <p>The ID of the resource.</p>
10806
+ * <p>The IAM instance profile.</p>
11067
10807
  */
11068
- ResourceId?: string;
10808
+ IamInstanceProfile?: IamInstanceProfileSpecification;
11069
10809
  /**
11070
10810
  * @public
11071
- * <p>The resource type.</p>
10811
+ * <p>The ID of the AMI.</p>
11072
10812
  */
11073
- ResourceType?: ResourceType;
10813
+ ImageId?: string;
10814
+ /**
10815
+ * @public
10816
+ * <p>The instance type. Only one instance type can be specified.</p>
10817
+ */
10818
+ InstanceType?: _InstanceType;
10819
+ /**
10820
+ * @public
10821
+ * <p>The ID of the kernel.</p>
10822
+ */
10823
+ KernelId?: string;
10824
+ /**
10825
+ * @public
10826
+ * <p>The name of the key pair.</p>
10827
+ */
10828
+ KeyName?: string;
10829
+ /**
10830
+ * @public
10831
+ * <p>The network interfaces. If you specify a network interface, you must specify
10832
+ * subnet IDs and security group IDs using the network interface.</p>
10833
+ */
10834
+ NetworkInterfaces?: InstanceNetworkInterfaceSpecification[];
10835
+ /**
10836
+ * @public
10837
+ * <p>The placement information for the instance.</p>
10838
+ */
10839
+ Placement?: SpotPlacement;
10840
+ /**
10841
+ * @public
10842
+ * <p>The ID of the RAM disk.</p>
10843
+ */
10844
+ RamdiskId?: string;
10845
+ /**
10846
+ * @public
10847
+ * <p>The ID of the subnet in which to launch the instance.</p>
10848
+ */
10849
+ SubnetId?: string;
11074
10850
  /**
11075
10851
  * @public
11076
- * <p>The tag value.</p>
10852
+ * <p>Describes the monitoring of an instance.</p>
11077
10853
  */
11078
- Value?: string;
10854
+ Monitoring?: RunInstancesMonitoringEnabled;
11079
10855
  }
10856
+ /**
10857
+ * @public
10858
+ * @enum
10859
+ */
10860
+ export declare const SpotInstanceState: {
10861
+ readonly active: "active";
10862
+ readonly cancelled: "cancelled";
10863
+ readonly closed: "closed";
10864
+ readonly disabled: "disabled";
10865
+ readonly failed: "failed";
10866
+ readonly open: "open";
10867
+ };
11080
10868
  /**
11081
10869
  * @public
11082
10870
  */
11083
- export interface DescribeTagsResult {
10871
+ export type SpotInstanceState = (typeof SpotInstanceState)[keyof typeof SpotInstanceState];
10872
+ /**
10873
+ * @public
10874
+ * <p>Describes the status of a Spot Instance request.</p>
10875
+ */
10876
+ export interface SpotInstanceStatus {
11084
10877
  /**
11085
10878
  * @public
11086
- * <p>The token to include in another request to get the next page of items.
11087
- * This value is <code>null</code> when there are no more items to return.</p>
10879
+ * <p>The status code. For a list of status codes, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-request-status.html#spot-instance-request-status-understand">Spot request status codes</a> in the <i>Amazon EC2 User Guide for Linux Instances</i>.</p>
11088
10880
  */
11089
- NextToken?: string;
10881
+ Code?: string;
11090
10882
  /**
11091
10883
  * @public
11092
- * <p>The tags.</p>
10884
+ * <p>The description for the status code.</p>
10885
+ */
10886
+ Message?: string;
10887
+ /**
10888
+ * @public
10889
+ * <p>The date and time of the most recent status update, in UTC format (for example,
10890
+ * <i>YYYY</i>-<i>MM</i>-<i>DD</i>T<i>HH</i>:<i>MM</i>:<i>SS</i>Z).</p>
11093
10891
  */
11094
- Tags?: TagDescription[];
10892
+ UpdateTime?: Date;
11095
10893
  }
11096
10894
  /**
11097
10895
  * @public
10896
+ * <p>Describes a Spot Instance request.</p>
11098
10897
  */
11099
- export interface DescribeTrafficMirrorFiltersRequest {
10898
+ export interface SpotInstanceRequest {
11100
10899
  /**
11101
10900
  * @public
11102
- * <p>The ID of the Traffic Mirror filter.</p>
10901
+ * <p>Deprecated.</p>
11103
10902
  */
11104
- TrafficMirrorFilterIds?: string[];
10903
+ ActualBlockHourlyPrice?: string;
11105
10904
  /**
11106
10905
  * @public
11107
- * <p>Checks whether you have the required permissions for the action, without actually making the request,
11108
- * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
11109
- * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
10906
+ * <p>The Availability Zone group. If you specify the same Availability Zone group for all Spot Instance requests, all Spot Instances are launched in the same Availability Zone.</p>
11110
10907
  */
11111
- DryRun?: boolean;
10908
+ AvailabilityZoneGroup?: string;
10909
+ /**
10910
+ * @public
10911
+ * <p>Deprecated.</p>
10912
+ */
10913
+ BlockDurationMinutes?: number;
10914
+ /**
10915
+ * @public
10916
+ * <p>The date and time when the Spot Instance request was created, in UTC format (for example, <i>YYYY</i>-<i>MM</i>-<i>DD</i>T<i>HH</i>:<i>MM</i>:<i>SS</i>Z).</p>
10917
+ */
10918
+ CreateTime?: Date;
10919
+ /**
10920
+ * @public
10921
+ * <p>The fault codes for the Spot Instance request, if any.</p>
10922
+ */
10923
+ Fault?: SpotInstanceStateFault;
10924
+ /**
10925
+ * @public
10926
+ * <p>The instance ID, if an instance has been launched to fulfill the Spot Instance request.</p>
10927
+ */
10928
+ InstanceId?: string;
10929
+ /**
10930
+ * @public
10931
+ * <p>The instance launch group. Launch groups are Spot Instances that launch together and terminate together.</p>
10932
+ */
10933
+ LaunchGroup?: string;
10934
+ /**
10935
+ * @public
10936
+ * <p>Additional information for launching instances.</p>
10937
+ */
10938
+ LaunchSpecification?: LaunchSpecification;
10939
+ /**
10940
+ * @public
10941
+ * <p>The Availability Zone in which the request is launched.</p>
10942
+ */
10943
+ LaunchedAvailabilityZone?: string;
11112
10944
  /**
11113
10945
  * @public
11114
- * <p>One or more filters. The possible values are:</p>
10946
+ * <p>The product description associated with the Spot Instance.</p>
10947
+ */
10948
+ ProductDescription?: RIProductDescription;
10949
+ /**
10950
+ * @public
10951
+ * <p>The ID of the Spot Instance request.</p>
10952
+ */
10953
+ SpotInstanceRequestId?: string;
10954
+ /**
10955
+ * @public
10956
+ * <p>The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend
10957
+ * using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.</p>
10958
+ * <important>
10959
+ * <p>If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.</p>
10960
+ * </important>
10961
+ */
10962
+ SpotPrice?: string;
10963
+ /**
10964
+ * @public
10965
+ * <p>The state of the Spot Instance request. Spot request status information helps track your Spot
10966
+ * Instance requests. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-request-status.html">Spot request status</a> in the
10967
+ * <i>Amazon EC2 User Guide for Linux Instances</i>.</p>
10968
+ */
10969
+ State?: SpotInstanceState;
10970
+ /**
10971
+ * @public
10972
+ * <p>The status code and status message describing the Spot Instance request.</p>
10973
+ */
10974
+ Status?: SpotInstanceStatus;
10975
+ /**
10976
+ * @public
10977
+ * <p>Any tags assigned to the resource.</p>
10978
+ */
10979
+ Tags?: Tag[];
10980
+ /**
10981
+ * @public
10982
+ * <p>The Spot Instance request type.</p>
10983
+ */
10984
+ Type?: SpotInstanceType;
10985
+ /**
10986
+ * @public
10987
+ * <p>The start date of the request, in UTC format (for example,
10988
+ * <i>YYYY</i>-<i>MM</i>-<i>DD</i>T<i>HH</i>:<i>MM</i>:<i>SS</i>Z).
10989
+ * The request becomes active at this date and time.</p>
10990
+ */
10991
+ ValidFrom?: Date;
10992
+ /**
10993
+ * @public
10994
+ * <p>The end date of the request, in UTC format
10995
+ * (<i>YYYY</i>-<i>MM</i>-<i>DD</i>T<i>HH</i>:<i>MM</i>:<i>SS</i>Z).</p>
11115
10996
  * <ul>
11116
10997
  * <li>
11117
- * <p>
11118
- * <code>description</code>: The Traffic Mirror filter description.</p>
10998
+ * <p>For a persistent request, the request remains active until the <code>validUntil</code> date
10999
+ * and time is reached. Otherwise, the request remains active until you cancel it.
11000
+ * </p>
11119
11001
  * </li>
11120
11002
  * <li>
11121
- * <p>
11122
- * <code>traffic-mirror-filter-id</code>: The ID of the Traffic Mirror filter.</p>
11003
+ * <p>For a one-time request, the request remains active until all instances launch,
11004
+ * the request is canceled, or the <code>validUntil</code> date and time is reached. By default, the
11005
+ * request is valid for 7 days from the date the request was created.</p>
11123
11006
  * </li>
11124
11007
  * </ul>
11125
11008
  */
11126
- Filters?: Filter[];
11127
- /**
11128
- * @public
11129
- * <p>The maximum number of results to return with a single call.
11130
- * To retrieve the remaining results, make another call with the returned <code>nextToken</code> value.</p>
11131
- */
11132
- MaxResults?: number;
11009
+ ValidUntil?: Date;
11133
11010
  /**
11134
11011
  * @public
11135
- * <p>The token for the next page of results.</p>
11012
+ * <p>The behavior when a Spot Instance is interrupted.</p>
11136
11013
  */
11137
- NextToken?: string;
11014
+ InstanceInterruptionBehavior?: InstanceInterruptionBehavior;
11138
11015
  }
11139
11016
  /**
11140
11017
  * @public
11018
+ * <p>Contains the output of DescribeSpotInstanceRequests.</p>
11141
11019
  */
11142
- export interface DescribeTrafficMirrorFiltersResult {
11020
+ export interface DescribeSpotInstanceRequestsResult {
11143
11021
  /**
11144
11022
  * @public
11145
- * <p>Information about one or more Traffic Mirror filters.</p>
11023
+ * <p>The Spot Instance requests.</p>
11146
11024
  */
11147
- TrafficMirrorFilters?: TrafficMirrorFilter[];
11025
+ SpotInstanceRequests?: SpotInstanceRequest[];
11148
11026
  /**
11149
11027
  * @public
11150
- * <p>The token to use to retrieve the next page of results. The value is <code>null</code> when there are no more results to return.</p>
11028
+ * <p>The token to include in another request to get the next page of items. This value is <code>null</code> when there
11029
+ * are no more items to return.</p>
11151
11030
  */
11152
11031
  NextToken?: string;
11153
11032
  }
11154
11033
  /**
11155
11034
  * @public
11035
+ * <p>Contains the parameters for DescribeSpotPriceHistory.</p>
11156
11036
  */
11157
- export interface DescribeTrafficMirrorSessionsRequest {
11158
- /**
11159
- * @public
11160
- * <p>The ID of the Traffic Mirror session.</p>
11161
- */
11162
- TrafficMirrorSessionIds?: string[];
11163
- /**
11164
- * @public
11165
- * <p>Checks whether you have the required permissions for the action, without actually making the request,
11166
- * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
11167
- * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
11168
- */
11169
- DryRun?: boolean;
11037
+ export interface DescribeSpotPriceHistoryRequest {
11170
11038
  /**
11171
11039
  * @public
11172
- * <p>One or more filters. The possible values are:</p>
11040
+ * <p>The filters.</p>
11173
11041
  * <ul>
11174
11042
  * <li>
11175
11043
  * <p>
11176
- * <code>description</code>: The Traffic Mirror session description.</p>
11177
- * </li>
11178
- * <li>
11179
- * <p>
11180
- * <code>network-interface-id</code>: The ID of the Traffic Mirror session network interface.</p>
11181
- * </li>
11182
- * <li>
11183
- * <p>
11184
- * <code>owner-id</code>: The ID of the account that owns the Traffic Mirror session.</p>
11185
- * </li>
11186
- * <li>
11187
- * <p>
11188
- * <code>packet-length</code>: The assigned number of packets to mirror. </p>
11189
- * </li>
11190
- * <li>
11191
- * <p>
11192
- * <code>session-number</code>: The assigned session number. </p>
11044
+ * <code>availability-zone</code> - The Availability Zone for which prices should
11045
+ * be returned.</p>
11193
11046
  * </li>
11194
11047
  * <li>
11195
11048
  * <p>
11196
- * <code>traffic-mirror-filter-id</code>: The ID of the Traffic Mirror filter.</p>
11049
+ * <code>instance-type</code> - The type of instance (for example,
11050
+ * <code>m3.medium</code>).</p>
11197
11051
  * </li>
11198
11052
  * <li>
11199
11053
  * <p>
11200
- * <code>traffic-mirror-session-id</code>: The ID of the Traffic Mirror session.</p>
11054
+ * <code>product-description</code> - The product description for the Spot price
11055
+ * (<code>Linux/UNIX</code> | <code>Red Hat Enterprise Linux</code> |
11056
+ * <code>SUSE Linux</code> | <code>Windows</code> | <code>Linux/UNIX (Amazon
11057
+ * VPC)</code> | <code>Red Hat Enterprise Linux (Amazon VPC)</code> |
11058
+ * <code>SUSE Linux (Amazon VPC)</code> | <code>Windows (Amazon
11059
+ * VPC)</code>).</p>
11201
11060
  * </li>
11202
11061
  * <li>
11203
11062
  * <p>
11204
- * <code>traffic-mirror-target-id</code>: The ID of the Traffic Mirror target.</p>
11063
+ * <code>spot-price</code> - The Spot price. The value must match exactly (or use
11064
+ * wildcards; greater than or less than comparison is not supported).</p>
11205
11065
  * </li>
11206
11066
  * <li>
11207
11067
  * <p>
11208
- * <code>virtual-network-id</code>: The virtual network ID of the Traffic Mirror session.</p>
11068
+ * <code>timestamp</code> - The time stamp of the Spot price history, in UTC format
11069
+ * (for example, <i>ddd MMM dd
11070
+ * HH</i>:<i>mm</i>:<i>ss</i> UTC
11071
+ * <i>YYYY</i>). You can use wildcards (<code>*</code> and
11072
+ * <code>?</code>). Greater than or less than comparison is not
11073
+ * supported.</p>
11209
11074
  * </li>
11210
11075
  * </ul>
11211
11076
  */
11212
11077
  Filters?: Filter[];
11213
11078
  /**
11214
11079
  * @public
11215
- * <p>The maximum number of results to return with a single call.
11216
- * To retrieve the remaining results, make another call with the returned <code>nextToken</code> value.</p>
11080
+ * <p>Filters the results by the specified Availability Zone.</p>
11081
+ */
11082
+ AvailabilityZone?: string;
11083
+ /**
11084
+ * @public
11085
+ * <p>Checks whether you have the required permissions for the action, without actually
11086
+ * making the request, and provides an error response. If you have the required
11087
+ * permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is
11088
+ * <code>UnauthorizedOperation</code>.</p>
11089
+ */
11090
+ DryRun?: boolean;
11091
+ /**
11092
+ * @public
11093
+ * <p>The date and time, up to the current date, from which to stop retrieving the price
11094
+ * history data, in UTC format (for example,
11095
+ * <i>YYYY</i>-<i>MM</i>-<i>DD</i>T<i>HH</i>:<i>MM</i>:<i>SS</i>Z).</p>
11096
+ */
11097
+ EndTime?: Date;
11098
+ /**
11099
+ * @public
11100
+ * <p>Filters the results by the specified instance types.</p>
11101
+ */
11102
+ InstanceTypes?: _InstanceType[];
11103
+ /**
11104
+ * @public
11105
+ * <p>The maximum number of items to return for this request.
11106
+ * To get the next page of items, make another request with the token returned in the output.
11107
+ * For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination">Pagination</a>.</p>
11217
11108
  */
11218
11109
  MaxResults?: number;
11219
11110
  /**
11220
11111
  * @public
11221
- * <p>The token for the next page of results.</p>
11112
+ * <p>The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.</p>
11222
11113
  */
11223
11114
  NextToken?: string;
11224
- }
11225
- /**
11226
- * @public
11227
- */
11228
- export interface DescribeTrafficMirrorSessionsResult {
11229
11115
  /**
11230
11116
  * @public
11231
- * <p>Describes one or more Traffic Mirror sessions. By default, all Traffic Mirror sessions are described. Alternatively, you can filter the results.</p>
11117
+ * <p>Filters the results by the specified basic product descriptions.</p>
11232
11118
  */
11233
- TrafficMirrorSessions?: TrafficMirrorSession[];
11119
+ ProductDescriptions?: string[];
11234
11120
  /**
11235
11121
  * @public
11236
- * <p>The token to use to retrieve the next page of results. The value is <code>null</code> when there are no more results to return.</p>
11122
+ * <p>The date and time, up to the past 90 days, from which to start retrieving the price
11123
+ * history data, in UTC format (for example,
11124
+ * <i>YYYY</i>-<i>MM</i>-<i>DD</i>T<i>HH</i>:<i>MM</i>:<i>SS</i>Z).</p>
11237
11125
  */
11238
- NextToken?: string;
11126
+ StartTime?: Date;
11239
11127
  }
11240
11128
  /**
11241
11129
  * @public
11130
+ * <p>The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend
11131
+ * using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.</p>
11132
+ * <important>
11133
+ * <p>If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.</p>
11134
+ * </important>
11242
11135
  */
11243
- export interface DescribeTrafficMirrorTargetsRequest {
11136
+ export interface SpotPrice {
11244
11137
  /**
11245
11138
  * @public
11246
- * <p>The ID of the Traffic Mirror targets.</p>
11139
+ * <p>The Availability Zone.</p>
11247
11140
  */
11248
- TrafficMirrorTargetIds?: string[];
11141
+ AvailabilityZone?: string;
11249
11142
  /**
11250
11143
  * @public
11251
- * <p>Checks whether you have the required permissions for the action, without actually making the request,
11252
- * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
11253
- * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
11144
+ * <p>The instance type.</p>
11254
11145
  */
11255
- DryRun?: boolean;
11146
+ InstanceType?: _InstanceType;
11256
11147
  /**
11257
11148
  * @public
11258
- * <p>One or more filters. The possible values are:</p>
11259
- * <ul>
11260
- * <li>
11261
- * <p>
11262
- * <code>description</code>: The Traffic Mirror target description.</p>
11263
- * </li>
11264
- * <li>
11265
- * <p>
11266
- * <code>network-interface-id</code>: The ID of the Traffic Mirror session network interface.</p>
11267
- * </li>
11268
- * <li>
11269
- * <p>
11270
- * <code>network-load-balancer-arn</code>: The Amazon Resource Name (ARN) of the Network Load Balancer that is associated with the session.</p>
11271
- * </li>
11272
- * <li>
11273
- * <p>
11274
- * <code>owner-id</code>: The ID of the account that owns the Traffic Mirror session.</p>
11275
- * </li>
11276
- * <li>
11277
- * <p>
11278
- * <code>traffic-mirror-target-id</code>: The ID of the Traffic Mirror target.</p>
11279
- * </li>
11280
- * </ul>
11149
+ * <p>A general description of the AMI.</p>
11281
11150
  */
11282
- Filters?: Filter[];
11151
+ ProductDescription?: RIProductDescription;
11283
11152
  /**
11284
11153
  * @public
11285
- * <p>The maximum number of results to return with a single call.
11286
- * To retrieve the remaining results, make another call with the returned <code>nextToken</code> value.</p>
11154
+ * <p>The maximum price per unit hour that you are willing to pay for a Spot Instance. We do not recommend
11155
+ * using this parameter because it can lead to increased interruptions. If you do not specify this parameter, you will pay the current Spot price.</p>
11156
+ * <important>
11157
+ * <p>If you specify a maximum price, your instances will be interrupted more frequently than if you do not specify this parameter.</p>
11158
+ * </important>
11287
11159
  */
11288
- MaxResults?: number;
11160
+ SpotPrice?: string;
11289
11161
  /**
11290
11162
  * @public
11291
- * <p>The token for the next page of results.</p>
11163
+ * <p>The date and time the request was created, in UTC format (for example,
11164
+ * <i>YYYY</i>-<i>MM</i>-<i>DD</i>T<i>HH</i>:<i>MM</i>:<i>SS</i>Z).</p>
11292
11165
  */
11293
- NextToken?: string;
11166
+ Timestamp?: Date;
11294
11167
  }
11295
11168
  /**
11296
11169
  * @public
11170
+ * <p>Contains the output of DescribeSpotPriceHistory.</p>
11297
11171
  */
11298
- export interface DescribeTrafficMirrorTargetsResult {
11172
+ export interface DescribeSpotPriceHistoryResult {
11299
11173
  /**
11300
11174
  * @public
11301
- * <p>Information about one or more Traffic Mirror targets.</p>
11175
+ * <p>The token to include in another request to get the next page of items. This value is <code>null</code> when there
11176
+ * are no more items to return.</p>
11302
11177
  */
11303
- TrafficMirrorTargets?: TrafficMirrorTarget[];
11178
+ NextToken?: string;
11304
11179
  /**
11305
11180
  * @public
11306
- * <p>The token to use to retrieve the next page of results. The value is <code>null</code> when there are no more results to return.</p>
11181
+ * <p>The historical Spot prices.</p>
11307
11182
  */
11308
- NextToken?: string;
11183
+ SpotPriceHistory?: SpotPrice[];
11309
11184
  }
11310
11185
  /**
11311
11186
  * @public
11312
11187
  */
11313
- export interface DescribeTransitGatewayAttachmentsRequest {
11314
- /**
11315
- * @public
11316
- * <p>The IDs of the attachments.</p>
11317
- */
11318
- TransitGatewayAttachmentIds?: string[];
11188
+ export interface DescribeStaleSecurityGroupsRequest {
11319
11189
  /**
11320
11190
  * @public
11321
- * <p>One or more filters. The possible values are:</p>
11322
- * <ul>
11323
- * <li>
11324
- * <p>
11325
- * <code>association.state</code> - The state of the association (<code>associating</code> | <code>associated</code> |
11326
- * <code>disassociating</code>).</p>
11327
- * </li>
11328
- * <li>
11329
- * <p>
11330
- * <code>association.transit-gateway-route-table-id</code> - The ID of the route table for the transit gateway.</p>
11331
- * </li>
11332
- * <li>
11333
- * <p>
11334
- * <code>resource-id</code> - The ID of the resource.</p>
11335
- * </li>
11336
- * <li>
11337
- * <p>
11338
- * <code>resource-owner-id</code> - The ID of the Amazon Web Services account that owns the resource.</p>
11339
- * </li>
11340
- * <li>
11341
- * <p>
11342
- * <code>resource-type</code> - The resource type. Valid values are <code>vpc</code>
11343
- * | <code>vpn</code> | <code>direct-connect-gateway</code> | <code>peering</code>
11344
- * | <code>connect</code>.</p>
11345
- * </li>
11346
- * <li>
11347
- * <p>
11348
- * <code>state</code> - The state of the attachment. Valid values are <code>available</code> | <code>deleted</code> | <code>deleting</code> | <code>failed</code> | <code>failing</code> | <code>initiatingRequest</code> | <code>modifying</code> | <code>pendingAcceptance</code> | <code>pending</code> | <code>rollingBack</code> | <code>rejected</code> | <code>rejecting</code>.</p>
11349
- * </li>
11350
- * <li>
11351
- * <p>
11352
- * <code>transit-gateway-attachment-id</code> - The ID of the attachment.</p>
11353
- * </li>
11354
- * <li>
11355
- * <p>
11356
- * <code>transit-gateway-id</code> - The ID of the transit gateway.</p>
11357
- * </li>
11358
- * <li>
11359
- * <p>
11360
- * <code>transit-gateway-owner-id</code> - The ID of the Amazon Web Services account that owns the transit gateway.</p>
11361
- * </li>
11362
- * </ul>
11191
+ * <p>Checks whether you have the required permissions for the action, without actually making the request,
11192
+ * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
11193
+ * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
11363
11194
  */
11364
- Filters?: Filter[];
11195
+ DryRun?: boolean;
11365
11196
  /**
11366
11197
  * @public
11367
- * <p>The maximum number of results to return with a single call.
11368
- * To retrieve the remaining results, make another call with the returned <code>nextToken</code> value.</p>
11198
+ * <p>The maximum number of items to return for this request. To get the next page of items,
11199
+ * make another request with the token returned in the output. For more information,
11200
+ * see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination">Pagination</a>.</p>
11369
11201
  */
11370
11202
  MaxResults?: number;
11371
11203
  /**
11372
11204
  * @public
11373
- * <p>The token for the next page of results.</p>
11205
+ * <p>The token returned from a previous paginated request.
11206
+ * Pagination continues from the end of the items returned by the previous request.</p>
11374
11207
  */
11375
11208
  NextToken?: string;
11376
11209
  /**
11377
11210
  * @public
11378
- * <p>Checks whether you have the required permissions for the action, without actually making the request,
11379
- * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
11380
- * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
11211
+ * <p>The ID of the VPC.</p>
11381
11212
  */
11382
- DryRun?: boolean;
11213
+ VpcId: string | undefined;
11383
11214
  }
11384
11215
  /**
11385
11216
  * @public
11386
- * <p>Describes an association.</p>
11217
+ * <p>Describes a stale rule in a security group.</p>
11387
11218
  */
11388
- export interface TransitGatewayAttachmentAssociation {
11219
+ export interface StaleIpPermission {
11389
11220
  /**
11390
11221
  * @public
11391
- * <p>The ID of the route table for the transit gateway.</p>
11222
+ * <p>The start of the port range for the TCP and UDP protocols, or an ICMP type number. A value of
11223
+ * -1 indicates all ICMP types. </p>
11392
11224
  */
11393
- TransitGatewayRouteTableId?: string;
11225
+ FromPort?: number;
11394
11226
  /**
11395
11227
  * @public
11396
- * <p>The state of the association.</p>
11228
+ * <p>The IP protocol name (for <code>tcp</code>, <code>udp</code>, and <code>icmp</code>) or number (see <a href="http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml">Protocol Numbers)</a>.</p>
11397
11229
  */
11398
- State?: TransitGatewayAssociationState;
11399
- }
11400
- /**
11401
- * @public
11402
- * <p>Describes an attachment between a resource and a transit gateway.</p>
11403
- */
11404
- export interface TransitGatewayAttachment {
11230
+ IpProtocol?: string;
11405
11231
  /**
11406
11232
  * @public
11407
- * <p>The ID of the attachment.</p>
11233
+ * <p>The IP ranges. Not applicable for stale security group rules.</p>
11408
11234
  */
11409
- TransitGatewayAttachmentId?: string;
11235
+ IpRanges?: string[];
11410
11236
  /**
11411
11237
  * @public
11412
- * <p>The ID of the transit gateway.</p>
11238
+ * <p>The prefix list IDs. Not applicable for stale security group rules.</p>
11413
11239
  */
11414
- TransitGatewayId?: string;
11240
+ PrefixListIds?: string[];
11415
11241
  /**
11416
11242
  * @public
11417
- * <p>The ID of the Amazon Web Services account that owns the transit gateway.</p>
11243
+ * <p>The end of the port range for the TCP and UDP protocols, or an ICMP type number. A value of
11244
+ * <code>-1</code> indicates all ICMP types. </p>
11418
11245
  */
11419
- TransitGatewayOwnerId?: string;
11246
+ ToPort?: number;
11420
11247
  /**
11421
11248
  * @public
11422
- * <p>The ID of the Amazon Web Services account that owns the resource.</p>
11249
+ * <p>The security group pairs. Returns the ID of the referenced security group and VPC, and the ID and status of the VPC peering connection.</p>
11423
11250
  */
11424
- ResourceOwnerId?: string;
11251
+ UserIdGroupPairs?: UserIdGroupPair[];
11252
+ }
11253
+ /**
11254
+ * @public
11255
+ * <p>Describes a stale security group (a security group that contains stale rules).</p>
11256
+ */
11257
+ export interface StaleSecurityGroup {
11425
11258
  /**
11426
11259
  * @public
11427
- * <p>The resource type. Note that the <code>tgw-peering</code> resource type has been deprecated.</p>
11260
+ * <p>The description of the security group.</p>
11428
11261
  */
11429
- ResourceType?: TransitGatewayAttachmentResourceType;
11262
+ Description?: string;
11430
11263
  /**
11431
11264
  * @public
11432
- * <p>The ID of the resource.</p>
11265
+ * <p>The ID of the security group.</p>
11433
11266
  */
11434
- ResourceId?: string;
11267
+ GroupId?: string;
11435
11268
  /**
11436
11269
  * @public
11437
- * <p>The attachment state. Note that the <code>initiating</code> state has been deprecated.</p>
11270
+ * <p>The name of the security group.</p>
11438
11271
  */
11439
- State?: TransitGatewayAttachmentState;
11272
+ GroupName?: string;
11440
11273
  /**
11441
11274
  * @public
11442
- * <p>The association.</p>
11275
+ * <p>Information about the stale inbound rules in the security group.</p>
11443
11276
  */
11444
- Association?: TransitGatewayAttachmentAssociation;
11277
+ StaleIpPermissions?: StaleIpPermission[];
11445
11278
  /**
11446
11279
  * @public
11447
- * <p>The creation time.</p>
11280
+ * <p>Information about the stale outbound rules in the security group.</p>
11448
11281
  */
11449
- CreationTime?: Date;
11282
+ StaleIpPermissionsEgress?: StaleIpPermission[];
11450
11283
  /**
11451
11284
  * @public
11452
- * <p>The tags for the attachment.</p>
11285
+ * <p>The ID of the VPC for the security group.</p>
11453
11286
  */
11454
- Tags?: Tag[];
11287
+ VpcId?: string;
11455
11288
  }
11456
11289
  /**
11457
11290
  * @public
11458
11291
  */
11459
- export interface DescribeTransitGatewayAttachmentsResult {
11292
+ export interface DescribeStaleSecurityGroupsResult {
11460
11293
  /**
11461
11294
  * @public
11462
- * <p>Information about the attachments.</p>
11295
+ * <p>The token to include in another request to get the next page of items.
11296
+ * If there are no additional items to return, the string is empty.</p>
11463
11297
  */
11464
- TransitGatewayAttachments?: TransitGatewayAttachment[];
11298
+ NextToken?: string;
11465
11299
  /**
11466
11300
  * @public
11467
- * <p>The token to use to retrieve the next page of results. This value is <code>null</code> when there are no more results to return.</p>
11301
+ * <p>Information about the stale security groups.</p>
11468
11302
  */
11469
- NextToken?: string;
11303
+ StaleSecurityGroupSet?: StaleSecurityGroup[];
11470
11304
  }
11471
11305
  /**
11472
11306
  * @public
11473
11307
  */
11474
- export interface DescribeTransitGatewayConnectPeersRequest {
11308
+ export interface DescribeStoreImageTasksRequest {
11309
+ /**
11310
+ * @public
11311
+ * <p>The AMI IDs for which to show progress. Up to 20 AMI IDs can be included in a request.</p>
11312
+ */
11313
+ ImageIds?: string[];
11475
11314
  /**
11476
11315
  * @public
11477
- * <p>The IDs of the Connect peers.</p>
11316
+ * <p>Checks whether you have the required permissions for the action, without actually making the request,
11317
+ * and provides an error response. If you have the required permissions, the error response is
11318
+ * <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
11478
11319
  */
11479
- TransitGatewayConnectPeerIds?: string[];
11320
+ DryRun?: boolean;
11480
11321
  /**
11481
11322
  * @public
11482
- * <p>One or more filters. The possible values are:</p>
11323
+ * <p>The filters.</p>
11483
11324
  * <ul>
11484
11325
  * <li>
11485
11326
  * <p>
11486
- * <code>state</code> - The state of the Connect peer (<code>pending</code> |
11487
- * <code>available</code> | <code>deleting</code> |
11488
- * <code>deleted</code>).</p>
11489
- * </li>
11490
- * <li>
11491
- * <p>
11492
- * <code>transit-gateway-attachment-id</code> - The ID of the attachment.</p>
11327
+ * <code>task-state</code> - Returns tasks in a certain state (<code>InProgress</code> |
11328
+ * <code>Completed</code> | <code>Failed</code>)</p>
11493
11329
  * </li>
11494
11330
  * <li>
11495
11331
  * <p>
11496
- * <code>transit-gateway-connect-peer-id</code> - The ID of the Connect peer.</p>
11332
+ * <code>bucket</code> - Returns task information for tasks that targeted a specific
11333
+ * bucket. For the filter value, specify the bucket name.</p>
11497
11334
  * </li>
11498
11335
  * </ul>
11336
+ * <note>
11337
+ * <p>When you specify the <code>ImageIds</code> parameter, any filters that you specify are
11338
+ * ignored. To use the filters, you must remove the <code>ImageIds</code> parameter.</p>
11339
+ * </note>
11499
11340
  */
11500
11341
  Filters?: Filter[];
11501
11342
  /**
11502
11343
  * @public
11503
- * <p>The maximum number of results to return with a single call.
11504
- * To retrieve the remaining results, make another call with the returned <code>nextToken</code> value.</p>
11505
- */
11506
- MaxResults?: number;
11507
- /**
11508
- * @public
11509
- * <p>The token for the next page of results.</p>
11344
+ * <p>The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.</p>
11510
11345
  */
11511
11346
  NextToken?: string;
11512
11347
  /**
11513
11348
  * @public
11514
- * <p>Checks whether you have the required permissions for the action, without actually making the request,
11515
- * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
11516
- * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
11349
+ * <p>The maximum number of items to return for this request.
11350
+ * To get the next page of items, make another request with the token returned in the output.
11351
+ * For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination">Pagination</a>.</p>
11352
+ * <p>You cannot specify this parameter and the <code>ImageIds</code> parameter in the same
11353
+ * call.</p>
11517
11354
  */
11518
- DryRun?: boolean;
11355
+ MaxResults?: number;
11519
11356
  }
11520
11357
  /**
11521
11358
  * @public
11359
+ * <p>The information about the AMI store task, including the progress of the task.</p>
11522
11360
  */
11523
- export interface DescribeTransitGatewayConnectPeersResult {
11361
+ export interface StoreImageTaskResult {
11524
11362
  /**
11525
11363
  * @public
11526
- * <p>Information about the Connect peers.</p>
11364
+ * <p>The ID of the AMI that is being stored.</p>
11527
11365
  */
11528
- TransitGatewayConnectPeers?: TransitGatewayConnectPeer[];
11366
+ AmiId?: string;
11529
11367
  /**
11530
11368
  * @public
11531
- * <p>The token to use to retrieve the next page of results. This value is <code>null</code> when there are no more results to return.</p>
11369
+ * <p>The time the task started.</p>
11532
11370
  */
11533
- NextToken?: string;
11534
- }
11535
- /**
11536
- * @public
11537
- */
11538
- export interface DescribeTransitGatewayConnectsRequest {
11371
+ TaskStartTime?: Date;
11539
11372
  /**
11540
11373
  * @public
11541
- * <p>The IDs of the attachments.</p>
11374
+ * <p>The name of the Amazon S3 bucket that contains the stored AMI object.</p>
11542
11375
  */
11543
- TransitGatewayAttachmentIds?: string[];
11376
+ Bucket?: string;
11544
11377
  /**
11545
11378
  * @public
11546
- * <p>One or more filters. The possible values are:</p>
11547
- * <ul>
11548
- * <li>
11549
- * <p>
11550
- * <code>options.protocol</code> - The tunnel protocol (<code>gre</code>).</p>
11551
- * </li>
11552
- * <li>
11553
- * <p>
11554
- * <code>state</code> - The state of the attachment (<code>initiating</code> |
11555
- * <code>initiatingRequest</code> | <code>pendingAcceptance</code> |
11556
- * <code>rollingBack</code> | <code>pending</code> | <code>available</code> |
11557
- * <code>modifying</code> | <code>deleting</code> | <code>deleted</code> |
11558
- * <code>failed</code> | <code>rejected</code> | <code>rejecting</code> |
11559
- * <code>failing</code>).</p>
11560
- * </li>
11561
- * <li>
11562
- * <p>
11563
- * <code>transit-gateway-attachment-id</code> - The ID of the
11564
- * Connect attachment.</p>
11565
- * </li>
11566
- * <li>
11567
- * <p>
11568
- * <code>transit-gateway-id</code> - The ID of the transit gateway.</p>
11569
- * </li>
11570
- * <li>
11571
- * <p>
11572
- * <code>transport-transit-gateway-attachment-id</code> - The ID of the transit gateway attachment from which the Connect attachment was created.</p>
11573
- * </li>
11574
- * </ul>
11379
+ * <p>The name of the stored AMI object in the bucket.</p>
11575
11380
  */
11576
- Filters?: Filter[];
11381
+ S3objectKey?: string;
11577
11382
  /**
11578
11383
  * @public
11579
- * <p>The maximum number of results to return with a single call.
11580
- * To retrieve the remaining results, make another call with the returned <code>nextToken</code> value.</p>
11384
+ * <p>The progress of the task as a percentage.</p>
11581
11385
  */
11582
- MaxResults?: number;
11386
+ ProgressPercentage?: number;
11583
11387
  /**
11584
11388
  * @public
11585
- * <p>The token for the next page of results.</p>
11389
+ * <p>The state of the store task (<code>InProgress</code>, <code>Completed</code>, or
11390
+ * <code>Failed</code>).</p>
11586
11391
  */
11587
- NextToken?: string;
11392
+ StoreTaskState?: string;
11588
11393
  /**
11589
11394
  * @public
11590
- * <p>Checks whether you have the required permissions for the action, without actually making the request,
11591
- * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
11592
- * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
11395
+ * <p>If the tasks fails, the reason for the failure is returned. If the task succeeds,
11396
+ * <code>null</code> is returned.</p>
11593
11397
  */
11594
- DryRun?: boolean;
11398
+ StoreTaskFailureReason?: string;
11595
11399
  }
11596
11400
  /**
11597
11401
  * @public
11598
11402
  */
11599
- export interface DescribeTransitGatewayConnectsResult {
11403
+ export interface DescribeStoreImageTasksResult {
11600
11404
  /**
11601
11405
  * @public
11602
- * <p>Information about the Connect attachments.</p>
11406
+ * <p>The information about the AMI store tasks.</p>
11603
11407
  */
11604
- TransitGatewayConnects?: TransitGatewayConnect[];
11408
+ StoreImageTaskResults?: StoreImageTaskResult[];
11605
11409
  /**
11606
11410
  * @public
11607
- * <p>The token to use to retrieve the next page of results. This value is <code>null</code> when there are no more results to return.</p>
11411
+ * <p>The token to include in another request to get the next page of items. This value is <code>null</code> when there
11412
+ * are no more items to return.</p>
11608
11413
  */
11609
11414
  NextToken?: string;
11610
11415
  }
11611
11416
  /**
11612
11417
  * @public
11613
11418
  */
11614
- export interface DescribeTransitGatewayMulticastDomainsRequest {
11615
- /**
11616
- * @public
11617
- * <p>The ID of the transit gateway multicast domain.</p>
11618
- */
11619
- TransitGatewayMulticastDomainIds?: string[];
11419
+ export interface DescribeSubnetsRequest {
11620
11420
  /**
11621
11421
  * @public
11622
- * <p>One or more filters. The possible values are:</p>
11422
+ * <p>The filters.</p>
11623
11423
  * <ul>
11624
11424
  * <li>
11625
11425
  * <p>
11626
- * <code>state</code> - The state of the transit gateway multicast domain. Valid values are <code>pending</code> | <code>available</code> | <code>deleting</code> | <code>deleted</code>.</p>
11426
+ * <code>availability-zone</code> - The Availability Zone for the subnet. You can also use
11427
+ * <code>availabilityZone</code> as the filter name.</p>
11428
+ * </li>
11429
+ * <li>
11430
+ * <p>
11431
+ * <code>availability-zone-id</code> - The ID of the Availability Zone for the subnet.
11432
+ * You can also use <code>availabilityZoneId</code> as the filter name.</p>
11433
+ * </li>
11434
+ * <li>
11435
+ * <p>
11436
+ * <code>available-ip-address-count</code> - The number of IPv4 addresses in the
11437
+ * subnet that are available.</p>
11438
+ * </li>
11439
+ * <li>
11440
+ * <p>
11441
+ * <code>cidr-block</code> - The IPv4 CIDR block of the subnet. The CIDR block
11442
+ * you specify must exactly match the subnet's CIDR block for information to be
11443
+ * returned for the subnet. You can also use <code>cidr</code> or
11444
+ * <code>cidrBlock</code> as the filter names.</p>
11445
+ * </li>
11446
+ * <li>
11447
+ * <p>
11448
+ * <code>customer-owned-ipv4-pool</code> - The customer-owned IPv4 address pool
11449
+ * associated with the subnet.</p>
11450
+ * </li>
11451
+ * <li>
11452
+ * <p>
11453
+ * <code>default-for-az</code> - Indicates whether this is the default subnet for
11454
+ * the Availability Zone (<code>true</code> | <code>false</code>). You can also use
11455
+ * <code>defaultForAz</code> as the filter name.</p>
11456
+ * </li>
11457
+ * <li>
11458
+ * <p>
11459
+ * <code>enable-dns64</code> - Indicates whether DNS queries made to the
11460
+ * Amazon-provided DNS Resolver in this subnet should return synthetic IPv6
11461
+ * addresses for IPv4-only destinations.</p>
11462
+ * </li>
11463
+ * <li>
11464
+ * <p>
11465
+ * <code>enable-lni-at-device-index</code> - Indicates the device position for
11466
+ * local network interfaces in this subnet. For example, <code>1</code> indicates
11467
+ * local network interfaces in this subnet are the secondary network interface
11468
+ * (eth1). </p>
11469
+ * </li>
11470
+ * <li>
11471
+ * <p>
11472
+ * <code>ipv6-cidr-block-association.ipv6-cidr-block</code> - An IPv6 CIDR
11473
+ * block associated with the subnet.</p>
11474
+ * </li>
11475
+ * <li>
11476
+ * <p>
11477
+ * <code>ipv6-cidr-block-association.association-id</code> - An association ID
11478
+ * for an IPv6 CIDR block associated with the subnet.</p>
11479
+ * </li>
11480
+ * <li>
11481
+ * <p>
11482
+ * <code>ipv6-cidr-block-association.state</code> - The state of an IPv6 CIDR
11483
+ * block associated with the subnet.</p>
11484
+ * </li>
11485
+ * <li>
11486
+ * <p>
11487
+ * <code>ipv6-native</code> - Indicates whether this is an IPv6 only subnet
11488
+ * (<code>true</code> | <code>false</code>).</p>
11489
+ * </li>
11490
+ * <li>
11491
+ * <p>
11492
+ * <code>map-customer-owned-ip-on-launch</code> - Indicates whether a network
11493
+ * interface created in this subnet (including a network interface created by <a>RunInstances</a>) receives a customer-owned IPv4 address.</p>
11494
+ * </li>
11495
+ * <li>
11496
+ * <p>
11497
+ * <code>map-public-ip-on-launch</code> - Indicates whether instances launched in
11498
+ * this subnet receive a public IPv4 address.</p>
11499
+ * </li>
11500
+ * <li>
11501
+ * <p>
11502
+ * <code>outpost-arn</code> - The Amazon Resource Name (ARN) of the Outpost.</p>
11503
+ * </li>
11504
+ * <li>
11505
+ * <p>
11506
+ * <code>owner-id</code> - The ID of the Amazon Web Services account that owns the
11507
+ * subnet.</p>
11508
+ * </li>
11509
+ * <li>
11510
+ * <p>
11511
+ * <code>private-dns-name-options-on-launch.hostname-type</code> - The type of
11512
+ * hostname to assign to instances in the subnet at launch. For IPv4-only and
11513
+ * dual-stack (IPv4 and IPv6) subnets, an instance DNS name can be based on the
11514
+ * instance IPv4 address (ip-name) or the instance ID (resource-name). For IPv6
11515
+ * only subnets, an instance DNS name must be based on the instance ID
11516
+ * (resource-name).</p>
11517
+ * </li>
11518
+ * <li>
11519
+ * <p>
11520
+ * <code>private-dns-name-options-on-launch.enable-resource-name-dns-a-record</code>
11521
+ * - Indicates whether to respond to DNS queries for instance hostnames with DNS A
11522
+ * records.</p>
11523
+ * </li>
11524
+ * <li>
11525
+ * <p>
11526
+ * <code>private-dns-name-options-on-launch.enable-resource-name-dns-aaaa-record</code>
11527
+ * - Indicates whether to respond to DNS queries for instance hostnames with DNS
11528
+ * AAAA records.</p>
11529
+ * </li>
11530
+ * <li>
11531
+ * <p>
11532
+ * <code>state</code> - The state of the subnet (<code>pending</code> | <code>available</code>).</p>
11533
+ * </li>
11534
+ * <li>
11535
+ * <p>
11536
+ * <code>subnet-arn</code> - The Amazon Resource Name (ARN) of the subnet.</p>
11537
+ * </li>
11538
+ * <li>
11539
+ * <p>
11540
+ * <code>subnet-id</code> - The ID of the subnet.</p>
11541
+ * </li>
11542
+ * <li>
11543
+ * <p>
11544
+ * <code>tag</code>:<key> - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.
11545
+ * For example, to find all resources that have a tag with the key <code>Owner</code> and the value <code>TeamA</code>, specify <code>tag:Owner</code> for the filter name and <code>TeamA</code> for the filter value.</p>
11627
11546
  * </li>
11628
11547
  * <li>
11629
11548
  * <p>
11630
- * <code>transit-gateway-id</code> - The ID of the transit gateway.</p>
11549
+ * <code>tag-key</code> - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.</p>
11631
11550
  * </li>
11632
11551
  * <li>
11633
11552
  * <p>
11634
- * <code>transit-gateway-multicast-domain-id</code> - The ID of the transit gateway multicast domain.</p>
11553
+ * <code>vpc-id</code> - The ID of the VPC for the subnet.</p>
11635
11554
  * </li>
11636
11555
  * </ul>
11637
11556
  */
11638
11557
  Filters?: Filter[];
11639
11558
  /**
11640
11559
  * @public
11641
- * <p>The maximum number of results to return with a single call.
11642
- * To retrieve the remaining results, make another call with the returned <code>nextToken</code> value.</p>
11643
- */
11644
- MaxResults?: number;
11645
- /**
11646
- * @public
11647
- * <p>The token for the next page of results.</p>
11560
+ * <p>The IDs of the subnets.</p>
11561
+ * <p>Default: Describes all your subnets.</p>
11648
11562
  */
11649
- NextToken?: string;
11563
+ SubnetIds?: string[];
11650
11564
  /**
11651
11565
  * @public
11652
11566
  * <p>Checks whether you have the required permissions for the action, without actually making the request,
@@ -11654,7 +11568,31 @@ export interface DescribeTransitGatewayMulticastDomainsRequest {
11654
11568
  * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
11655
11569
  */
11656
11570
  DryRun?: boolean;
11571
+ /**
11572
+ * @public
11573
+ * <p>The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.</p>
11574
+ */
11575
+ NextToken?: string;
11576
+ /**
11577
+ * @public
11578
+ * <p>The maximum number of items to return for this request.
11579
+ * To get the next page of items, make another request with the token returned in the output.
11580
+ * For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination">Pagination</a>.</p>
11581
+ */
11582
+ MaxResults?: number;
11657
11583
  }
11584
+ /**
11585
+ * @internal
11586
+ */
11587
+ export declare const SnapshotTaskDetailFilterSensitiveLog: (obj: SnapshotTaskDetail) => any;
11588
+ /**
11589
+ * @internal
11590
+ */
11591
+ export declare const ImportSnapshotTaskFilterSensitiveLog: (obj: ImportSnapshotTask) => any;
11592
+ /**
11593
+ * @internal
11594
+ */
11595
+ export declare const DescribeImportSnapshotTasksResultFilterSensitiveLog: (obj: DescribeImportSnapshotTasksResult) => any;
11658
11596
  /**
11659
11597
  * @internal
11660
11598
  */