cdk-preflight 1.12.0 → 1.12.1

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 (402) hide show
  1. package/.jsii +3 -3
  2. package/lib/index.js +1 -1
  3. package/node_modules/@aws-sdk/client-cloudformation/dist-cjs/index.js +1 -1
  4. package/node_modules/@aws-sdk/client-cloudformation/dist-types/CloudFormationClient.d.ts +2 -1
  5. package/node_modules/@aws-sdk/client-cloudformation/package.json +6 -6
  6. package/node_modules/@aws-sdk/client-ec2/README.md +28 -0
  7. package/node_modules/@aws-sdk/client-ec2/dist-cjs/index.js +499 -113
  8. package/node_modules/@aws-sdk/client-ec2/dist-es/EC2.js +10 -0
  9. package/node_modules/@aws-sdk/client-ec2/dist-es/commands/GetCapacityManagerSupportabilityScoresCommand.js +4 -0
  10. package/node_modules/@aws-sdk/client-ec2/dist-es/commands/GetImageFindingsCommand.js +4 -0
  11. package/node_modules/@aws-sdk/client-ec2/dist-es/commands/GetTransitGatewayAttachmentNatConfigurationCommand.js +4 -0
  12. package/node_modules/@aws-sdk/client-ec2/dist-es/commands/ModifyTransitGatewayAttachmentNatConfigurationCommand.js +4 -0
  13. package/node_modules/@aws-sdk/client-ec2/dist-es/commands/index.js +4 -0
  14. package/node_modules/@aws-sdk/client-ec2/dist-es/models/enums.js +80 -29
  15. package/node_modules/@aws-sdk/client-ec2/dist-es/pagination/GetImageFindingsPaginator.js +4 -0
  16. package/node_modules/@aws-sdk/client-ec2/dist-es/pagination/index.js +1 -0
  17. package/node_modules/@aws-sdk/client-ec2/dist-es/schemas/schemas_0.js +365 -83
  18. package/node_modules/@aws-sdk/client-ec2/dist-types/EC2.d.ts +35 -0
  19. package/node_modules/@aws-sdk/client-ec2/dist-types/EC2Client.d.ts +8 -3
  20. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateCapacityReservationFleetCommand.d.ts +82 -1
  21. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateCarrierGatewayCommand.d.ts +1 -1
  22. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CreateTransitGatewayRouteCommand.d.ts +1 -1
  23. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteLaunchTemplateCommand.d.ts +2 -1
  24. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteTransitGatewayRouteCommand.d.ts +1 -1
  25. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DeleteTransitGatewayRouteTableCommand.d.ts +5 -2
  26. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeCapacityReservationFleetsCommand.d.ts +81 -0
  27. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeFleetHistoryCommand.d.ts +2 -1
  28. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeImagesCommand.d.ts +9 -0
  29. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeInstanceStatusCommand.d.ts +5 -0
  30. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeNetworkInsightsAnalysesCommand.d.ts +48 -0
  31. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeReservedInstancesModificationsCommand.d.ts +2 -1
  32. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeReservedInstancesOfferingsCommand.d.ts +1 -2
  33. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DescribeTransitGatewayAttachmentsCommand.d.ts +1 -0
  34. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisassociateTransitGatewayPolicyTableCommand.d.ts +1 -1
  35. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/DisassociateTransitGatewayRouteTableCommand.d.ts +1 -2
  36. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetAllowedImagesSettingsCommand.d.ts +9 -0
  37. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetCapacityManagerMetricDataCommand.d.ts +2 -2
  38. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetCapacityManagerMetricDimensionsCommand.d.ts +1 -1
  39. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetCapacityManagerSupportabilityScoresCommand.d.ts +183 -0
  40. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetImageFindingsCommand.d.ts +90 -0
  41. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetNetworkInsightsAccessScopeAnalysisFindingsCommand.d.ts +19 -0
  42. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetTransitGatewayAttachmentNatConfigurationCommand.d.ts +82 -0
  43. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetVerifiedAccessEndpointTargetsCommand.d.ts +2 -1
  44. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetVerifiedAccessGroupPolicyCommand.d.ts +1 -1
  45. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetVpcResourcesBlockingEncryptionEnforcementCommand.d.ts +1 -1
  46. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetVpnConnectionDeviceSampleConfigurationCommand.d.ts +1 -1
  47. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetVpnConnectionDeviceTypesCommand.d.ts +1 -1
  48. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetVpnTunnelReplacementStatusCommand.d.ts +1 -2
  49. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyTransitGatewayAttachmentNatConfigurationCommand.d.ts +107 -0
  50. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RejectTransitGatewayPeeringAttachmentCommand.d.ts +1 -1
  51. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RejectTransitGatewayVpcAttachmentCommand.d.ts +1 -1
  52. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RejectVpcEndpointConnectionsCommand.d.ts +1 -1
  53. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/RejectVpcPeeringConnectionCommand.d.ts +1 -1
  54. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ReleaseAddressCommand.d.ts +1 -1
  55. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ReleaseHostsCommand.d.ts +1 -1
  56. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ReleaseIpamPoolAllocationCommand.d.ts +1 -1
  57. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ReplaceIamInstanceProfileAssociationCommand.d.ts +1 -1
  58. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ReplaceImageCriteriaInAllowedImagesSettingsCommand.d.ts +9 -0
  59. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ReplaceTransitGatewayRouteCommand.d.ts +1 -1
  60. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/SearchTransitGatewayRoutesCommand.d.ts +1 -1
  61. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/StartNetworkInsightsAnalysisCommand.d.ts +48 -0
  62. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/index.d.ts +4 -0
  63. package/node_modules/@aws-sdk/client-ec2/dist-types/models/enums.d.ts +192 -77
  64. package/node_modules/@aws-sdk/client-ec2/dist-types/models/models_0.d.ts +165 -291
  65. package/node_modules/@aws-sdk/client-ec2/dist-types/models/models_1.d.ts +1839 -1665
  66. package/node_modules/@aws-sdk/client-ec2/dist-types/models/models_2.d.ts +25 -12
  67. package/node_modules/@aws-sdk/client-ec2/dist-types/models/models_3.d.ts +27 -38
  68. package/node_modules/@aws-sdk/client-ec2/dist-types/models/models_4.d.ts +241 -242
  69. package/node_modules/@aws-sdk/client-ec2/dist-types/models/models_5.d.ts +247 -57
  70. package/node_modules/@aws-sdk/client-ec2/dist-types/models/models_6.d.ts +537 -341
  71. package/node_modules/@aws-sdk/client-ec2/dist-types/models/models_7.d.ts +389 -246
  72. package/node_modules/@aws-sdk/client-ec2/dist-types/models/models_8.d.ts +360 -3
  73. package/node_modules/@aws-sdk/client-ec2/dist-types/pagination/GetImageFindingsPaginator.d.ts +7 -0
  74. package/node_modules/@aws-sdk/client-ec2/dist-types/pagination/index.d.ts +1 -0
  75. package/node_modules/@aws-sdk/client-ec2/dist-types/schemas/schemas_0.d.ts +21 -0
  76. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/EC2.d.ts +75 -0
  77. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/EC2Client.d.ts +24 -0
  78. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/commands/CreateCapacityReservationFleetCommand.d.ts +1 -1
  79. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/commands/CreateCarrierGatewayCommand.d.ts +1 -1
  80. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/commands/DeleteLaunchTemplateCommand.d.ts +2 -1
  81. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/commands/DescribeFleetHistoryCommand.d.ts +2 -1
  82. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/commands/DescribeReservedInstancesModificationsCommand.d.ts +2 -4
  83. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/commands/DescribeReservedInstancesOfferingsCommand.d.ts +4 -2
  84. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/commands/DisassociateTransitGatewayPolicyTableCommand.d.ts +1 -1
  85. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/commands/DisassociateTransitGatewayRouteTableCommand.d.ts +4 -2
  86. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/commands/GetCapacityManagerSupportabilityScoresCommand.d.ts +42 -0
  87. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/commands/GetImageFindingsCommand.d.ts +38 -0
  88. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/commands/GetTransitGatewayAttachmentNatConfigurationCommand.d.ts +42 -0
  89. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/commands/GetVerifiedAccessEndpointTargetsCommand.d.ts +2 -4
  90. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/commands/GetVerifiedAccessGroupPolicyCommand.d.ts +1 -1
  91. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/commands/GetVpcResourcesBlockingEncryptionEnforcementCommand.d.ts +1 -1
  92. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/commands/GetVpnConnectionDeviceSampleConfigurationCommand.d.ts +1 -1
  93. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/commands/GetVpnConnectionDeviceTypesCommand.d.ts +1 -1
  94. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/commands/GetVpnTunnelReplacementStatusCommand.d.ts +4 -2
  95. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/commands/ModifyTransitGatewayAttachmentNatConfigurationCommand.d.ts +42 -0
  96. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/commands/RejectTransitGatewayPeeringAttachmentCommand.d.ts +1 -1
  97. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/commands/RejectTransitGatewayVpcAttachmentCommand.d.ts +1 -1
  98. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/commands/RejectVpcEndpointConnectionsCommand.d.ts +1 -1
  99. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/commands/RejectVpcPeeringConnectionCommand.d.ts +1 -1
  100. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/commands/ReleaseAddressCommand.d.ts +1 -1
  101. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/commands/ReleaseHostsCommand.d.ts +1 -1
  102. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/commands/ReleaseIpamPoolAllocationCommand.d.ts +1 -1
  103. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/commands/ReplaceIamInstanceProfileAssociationCommand.d.ts +1 -1
  104. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/commands/index.d.ts +4 -0
  105. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/models/enums.d.ts +99 -35
  106. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/models/models_0.d.ts +27 -60
  107. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/models/models_1.d.ts +118 -69
  108. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/models/models_2.d.ts +6 -6
  109. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/models/models_3.d.ts +10 -9
  110. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/models/models_4.d.ts +31 -34
  111. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/models/models_5.d.ts +37 -14
  112. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/models/models_6.d.ts +89 -68
  113. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/models/models_7.d.ts +86 -64
  114. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/models/models_8.d.ts +76 -1
  115. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/pagination/GetImageFindingsPaginator.d.ts +11 -0
  116. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/pagination/index.d.ts +1 -0
  117. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/schemas/schemas_0.d.ts +21 -0
  118. package/node_modules/@aws-sdk/client-ec2/package.json +8 -8
  119. package/node_modules/@aws-sdk/client-lambda/README.md +1 -1
  120. package/node_modules/@aws-sdk/client-lambda/dist-cjs/index.js +9 -3
  121. package/node_modules/@aws-sdk/client-lambda/dist-es/models/enums.js +4 -0
  122. package/node_modules/@aws-sdk/client-lambda/dist-es/schemas/schemas_0.js +3 -2
  123. package/node_modules/@aws-sdk/client-lambda/dist-types/Lambda.d.ts +1 -1
  124. package/node_modules/@aws-sdk/client-lambda/dist-types/LambdaClient.d.ts +3 -2
  125. package/node_modules/@aws-sdk/client-lambda/dist-types/commands/CreateEventSourceMappingCommand.d.ts +2 -0
  126. package/node_modules/@aws-sdk/client-lambda/dist-types/commands/DeleteEventSourceMappingCommand.d.ts +1 -0
  127. package/node_modules/@aws-sdk/client-lambda/dist-types/commands/DeleteFunctionConcurrencyCommand.d.ts +1 -1
  128. package/node_modules/@aws-sdk/client-lambda/dist-types/commands/GetEventSourceMappingCommand.d.ts +1 -0
  129. package/node_modules/@aws-sdk/client-lambda/dist-types/commands/GetFunctionCommand.d.ts +1 -1
  130. package/node_modules/@aws-sdk/client-lambda/dist-types/commands/ListEventSourceMappingsCommand.d.ts +1 -0
  131. package/node_modules/@aws-sdk/client-lambda/dist-types/commands/ListFunctionEventInvokeConfigsCommand.d.ts +1 -1
  132. package/node_modules/@aws-sdk/client-lambda/dist-types/commands/ListVersionsByFunctionCommand.d.ts +1 -1
  133. package/node_modules/@aws-sdk/client-lambda/dist-types/commands/PublishVersionCommand.d.ts +1 -1
  134. package/node_modules/@aws-sdk/client-lambda/dist-types/commands/PutFunctionConcurrencyCommand.d.ts +1 -1
  135. package/node_modules/@aws-sdk/client-lambda/dist-types/commands/PutFunctionRecursionConfigCommand.d.ts +1 -1
  136. package/node_modules/@aws-sdk/client-lambda/dist-types/commands/UpdateEventSourceMappingCommand.d.ts +2 -0
  137. package/node_modules/@aws-sdk/client-lambda/dist-types/commands/UpdateFunctionUrlConfigCommand.d.ts +1 -1
  138. package/node_modules/@aws-sdk/client-lambda/dist-types/index.d.ts +1 -1
  139. package/node_modules/@aws-sdk/client-lambda/dist-types/models/enums.d.ts +12 -0
  140. package/node_modules/@aws-sdk/client-lambda/dist-types/models/models_0.d.ts +21 -16
  141. package/node_modules/@aws-sdk/client-lambda/dist-types/ts3.4/models/enums.d.ts +6 -0
  142. package/node_modules/@aws-sdk/client-lambda/dist-types/ts3.4/models/models_0.d.ts +2 -0
  143. package/node_modules/@aws-sdk/client-lambda/package.json +7 -7
  144. package/node_modules/@aws-sdk/client-service-quotas/dist-cjs/index.js +1 -1
  145. package/node_modules/@aws-sdk/client-service-quotas/dist-types/ServiceQuotasClient.d.ts +2 -1
  146. package/node_modules/@aws-sdk/client-service-quotas/package.json +6 -6
  147. package/node_modules/@aws-sdk/client-sts/dist-cjs/index.js +1 -1
  148. package/node_modules/@aws-sdk/client-sts/dist-types/STSClient.d.ts +2 -1
  149. package/node_modules/@aws-sdk/client-sts/package.json +8 -8
  150. package/node_modules/@aws-sdk/core/dist-cjs/submodules/client/index.js +38 -13
  151. package/node_modules/@aws-sdk/core/dist-cjs/submodules/httpAuthSchemes/index.js +7 -7
  152. package/node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js +104 -1549
  153. package/node_modules/@aws-sdk/core/dist-cjs/submodules/util/index.js +2 -1
  154. package/node_modules/@aws-sdk/core/dist-es/submodules/client/getDefaultSocketTimeout.js +10 -0
  155. package/node_modules/@aws-sdk/core/dist-es/submodules/client/index.browser.js +1 -0
  156. package/node_modules/@aws-sdk/core/dist-es/submodules/client/index.js +1 -0
  157. package/node_modules/@aws-sdk/core/dist-es/submodules/client/index.native.js +1 -0
  158. package/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-host-header/hostHeaderMiddleware.js +4 -2
  159. package/node_modules/@aws-sdk/core/dist-es/submodules/client/util-endpoints/lib/aws/parseArn.js +4 -2
  160. package/node_modules/@aws-sdk/core/dist-es/submodules/client/util-user-agent-browser/defaultUserAgent.js +18 -9
  161. package/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/NODE_AUTH_SCHEME_PREFERENCE_OPTIONS.js +6 -3
  162. package/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getUpdatedSystemClockOffset.js +1 -4
  163. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/index.js +2 -7
  164. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsJsonRpcProtocol.js +1 -3
  165. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsRestJsonProtocol.js +1 -3
  166. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsSmithyRpcV2JsonProtocol.js +51 -0
  167. package/node_modules/@aws-sdk/core/dist-es/submodules/util/util-arn-parser/arn.js +2 -1
  168. package/node_modules/@aws-sdk/core/dist-types/submodules/client/getDefaultSocketTimeout.d.ts +11 -0
  169. package/node_modules/@aws-sdk/core/dist-types/submodules/client/index.browser.d.ts +1 -0
  170. package/node_modules/@aws-sdk/core/dist-types/submodules/client/index.d.ts +1 -0
  171. package/node_modules/@aws-sdk/core/dist-types/submodules/client/index.native.d.ts +1 -0
  172. package/node_modules/@aws-sdk/core/dist-types/submodules/httpAuthSchemes/utils/getUpdatedSystemClockOffset.d.ts +3 -7
  173. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/index.d.ts +3 -8
  174. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/AwsJson1_0Protocol.d.ts +1 -2
  175. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/AwsJson1_1Protocol.d.ts +1 -2
  176. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/AwsJsonRpcProtocol.d.ts +2 -3
  177. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/AwsRestJsonProtocol.d.ts +2 -3
  178. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/AwsSmithyRpcV2JsonProtocol.d.ts +25 -0
  179. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/getDefaultSocketTimeout.d.ts +4 -0
  180. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/index.browser.d.ts +1 -0
  181. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/index.d.ts +1 -0
  182. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/index.native.d.ts +1 -0
  183. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/index.d.ts +11 -10
  184. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/AwsJson1_0Protocol.d.ts +1 -2
  185. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/AwsJson1_1Protocol.d.ts +1 -2
  186. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/AwsJsonRpcProtocol.d.ts +2 -3
  187. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/AwsRestJsonProtocol.d.ts +2 -3
  188. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/AwsSmithyRpcV2JsonProtocol.d.ts +36 -0
  189. package/node_modules/@aws-sdk/core/package.json +5 -5
  190. package/node_modules/@aws-sdk/credential-provider-env/package.json +4 -4
  191. package/node_modules/@aws-sdk/credential-provider-http/package.json +5 -5
  192. package/node_modules/@aws-sdk/credential-provider-ini/package.json +11 -11
  193. package/node_modules/@aws-sdk/credential-provider-login/package.json +5 -5
  194. package/node_modules/@aws-sdk/credential-provider-node/package.json +9 -9
  195. package/node_modules/@aws-sdk/credential-provider-process/package.json +4 -4
  196. package/node_modules/@aws-sdk/credential-provider-sso/package.json +6 -6
  197. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +5 -5
  198. package/node_modules/@aws-sdk/middleware-sdk-ec2/package.json +5 -5
  199. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/index.js +3 -2
  200. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js +10 -2
  201. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/index.js +3 -2
  202. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +3 -2
  203. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +3 -2
  204. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/runtimeConfig.js +2 -1
  205. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/models/enums.js +7 -0
  206. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/runtimeConfig.js +2 -1
  207. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/runtimeConfig.js +2 -1
  208. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/runtimeConfig.js +2 -1
  209. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeConfig.js +2 -1
  210. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/CognitoIdentityClient.d.ts +2 -1
  211. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/runtimeConfig.d.ts +1 -0
  212. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/Signin.d.ts +1 -2
  213. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/SigninClient.d.ts +3 -3
  214. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/commands/CreateOAuth2TokenCommand.d.ts +5 -59
  215. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/commands/CreateOAuth2TokenWithIAMCommand.d.ts +5 -33
  216. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/index.d.ts +1 -2
  217. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/models/enums.d.ts +16 -9
  218. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/models/errors.d.ts +8 -39
  219. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/models/models_0.d.ts +36 -48
  220. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/runtimeConfig.d.ts +1 -0
  221. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/SSOClient.d.ts +2 -1
  222. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/runtimeConfig.d.ts +1 -0
  223. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/SSOOIDCClient.d.ts +2 -1
  224. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/runtimeConfig.d.ts +1 -0
  225. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/STSClient.d.ts +2 -1
  226. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/runtimeConfig.d.ts +1 -0
  227. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/runtimeConfig.d.ts +1 -0
  228. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/models/enums.d.ts +7 -0
  229. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/runtimeConfig.d.ts +1 -0
  230. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/runtimeConfig.d.ts +1 -0
  231. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/runtimeConfig.d.ts +1 -0
  232. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/runtimeConfig.d.ts +1 -0
  233. package/node_modules/@aws-sdk/nested-clients/package.json +6 -6
  234. package/node_modules/@aws-sdk/signature-v4-multi-region/package.json +3 -3
  235. package/node_modules/@aws-sdk/token-providers/dist-cjs/index.js +37 -19
  236. package/node_modules/@aws-sdk/token-providers/dist-es/fromSso.js +37 -19
  237. package/node_modules/@aws-sdk/token-providers/package.json +5 -5
  238. package/node_modules/@aws-sdk/types/dist-types/feature-ids.d.ts +3 -0
  239. package/node_modules/@aws-sdk/types/dist-types/ts3.4/feature-ids.d.ts +3 -0
  240. package/node_modules/@aws-sdk/types/package.json +1 -1
  241. package/node_modules/@aws-sdk/xml-builder/package.json +1 -1
  242. package/node_modules/@smithy/core/dist-cjs/index.js +4 -2
  243. package/node_modules/@smithy/core/dist-cjs/submodules/cbor/index.js +45 -53
  244. package/node_modules/@smithy/core/dist-cjs/submodules/client/index.js +52 -19
  245. package/node_modules/@smithy/core/dist-cjs/submodules/config/index.browser.js +8 -4
  246. package/node_modules/@smithy/core/dist-cjs/submodules/config/index.js +16 -8
  247. package/node_modules/@smithy/core/dist-cjs/submodules/config/index.native.js +8 -4
  248. package/node_modules/@smithy/core/dist-cjs/submodules/endpoints/index.browser.js +2 -1
  249. package/node_modules/@smithy/core/dist-cjs/submodules/endpoints/index.js +10 -5
  250. package/node_modules/@smithy/core/dist-cjs/submodules/event-streams/index.browser.js +28 -9
  251. package/node_modules/@smithy/core/dist-cjs/submodules/event-streams/index.js +28 -9
  252. package/node_modules/@smithy/core/dist-cjs/submodules/protocols/index.js +91 -58
  253. package/node_modules/@smithy/core/dist-cjs/submodules/retry/index.browser.js +53 -15
  254. package/node_modules/@smithy/core/dist-cjs/submodules/retry/index.js +57 -17
  255. package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.browser.js +13 -4
  256. package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.js +7 -1
  257. package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.native.js +13 -4
  258. package/node_modules/@smithy/core/dist-cjs/submodules/transport/index.js +6 -3
  259. package/node_modules/@smithy/core/dist-es/legacy-root-exports/util-identity-and-auth/DefaultIdentityProviderConfig.js +2 -1
  260. package/node_modules/@smithy/core/dist-es/normalizeProvider.js +2 -1
  261. package/node_modules/@smithy/core/dist-es/submodules/cbor/SmithyRpcV2CborProtocol.js +12 -37
  262. package/node_modules/@smithy/core/dist-es/submodules/cbor/codec-v1/CborShapeDeserializer.js +8 -4
  263. package/node_modules/@smithy/core/dist-es/submodules/cbor/codec-v1/CborShapeSerializer.js +6 -3
  264. package/node_modules/@smithy/core/dist-es/submodules/cbor/codec-v2/CborShapeDeserializer2.js +12 -6
  265. package/node_modules/@smithy/core/dist-es/submodules/cbor/codec-v2/CborShapeSerializer2.js +4 -2
  266. package/node_modules/@smithy/core/dist-es/submodules/cbor/parseCborBody.js +2 -1
  267. package/node_modules/@smithy/core/dist-es/submodules/client/middleware-stack/MiddlewareStack.js +10 -5
  268. package/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/command.js +17 -2
  269. package/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/create-aggregated-client.js +2 -1
  270. package/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/exceptions.js +4 -2
  271. package/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/extensions/checksum.js +2 -1
  272. package/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/get-value-from-text-node.js +2 -1
  273. package/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/object-mapping.js +4 -2
  274. package/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/schemaLogFilter.js +10 -4
  275. package/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/serde-json.js +2 -1
  276. package/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/getHomeDir.js +8 -4
  277. package/node_modules/@smithy/core/dist-es/submodules/config/util-config-provider/booleanSelector.js +6 -3
  278. package/node_modules/@smithy/core/dist-es/submodules/config/util-config-provider/numberSelector.js +2 -1
  279. package/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/adaptors/getEndpointUrlConfig.js +8 -4
  280. package/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/resolveEndpoint.js +2 -1
  281. package/node_modules/@smithy/core/dist-es/submodules/event-streams/EventStreamSerde.js +6 -3
  282. package/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/HeaderMarshaller.js +12 -1
  283. package/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/Int64.js +2 -1
  284. package/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/SmithyMessageDecoderStream.js +2 -1
  285. package/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-serde/utils.js +2 -1
  286. package/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-serde-universal/getUnmarshalledStream.js +4 -2
  287. package/node_modules/@smithy/core/dist-es/submodules/protocols/AbstractRpcV2Protocol.js +35 -0
  288. package/node_modules/@smithy/core/dist-es/submodules/protocols/HttpBindingProtocol.js +8 -4
  289. package/node_modules/@smithy/core/dist-es/submodules/protocols/HttpProtocol.js +4 -2
  290. package/node_modules/@smithy/core/dist-es/submodules/protocols/RpcProtocol.js +6 -2
  291. package/node_modules/@smithy/core/dist-es/submodules/protocols/index.js +1 -0
  292. package/node_modules/@smithy/core/dist-es/submodules/protocols/json/SmithyRpcV2JsonProtocol.js +8 -31
  293. package/node_modules/@smithy/core/dist-es/submodules/protocols/json/codec-v1/JsonShapeDeserializer.js +7 -5
  294. package/node_modules/@smithy/core/dist-es/submodules/protocols/json/codec-v1/JsonShapeSerializer.js +7 -5
  295. package/node_modules/@smithy/core/dist-es/submodules/protocols/json/codec-v2/JsonShapeDeserializer2.js +7 -5
  296. package/node_modules/@smithy/core/dist-es/submodules/protocols/json/codec-v2/JsonShapeSerializer2.js +11 -8
  297. package/node_modules/@smithy/core/dist-es/submodules/protocols/protocol-http/extensions/httpExtensionConfiguration.js +3 -0
  298. package/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/configurations.js +4 -2
  299. package/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/parseRetryAfterHeader.js +2 -1
  300. package/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/retry-pre-sra-deprecated/StandardRetryStrategy.js +6 -3
  301. package/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/retryMiddleware.js +17 -8
  302. package/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/util.js +6 -3
  303. package/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/race.js +22 -0
  304. package/node_modules/@smithy/core/dist-es/submodules/serde/index.browser.js +1 -0
  305. package/node_modules/@smithy/core/dist-es/submodules/serde/index.js +1 -0
  306. package/node_modules/@smithy/core/dist-es/submodules/serde/index.native.js +1 -0
  307. package/node_modules/@smithy/core/dist-es/submodules/serde/parse-utils.js +2 -1
  308. package/node_modules/@smithy/core/dist-es/submodules/serde/util-body-length/calculateBodyLength.browser.js +6 -3
  309. package/node_modules/@smithy/core/dist-es/submodules/transport/httpResponse.js +2 -1
  310. package/node_modules/@smithy/core/dist-es/submodules/transport/normalizeProvider.js +2 -1
  311. package/node_modules/@smithy/core/dist-es/submodules/transport/toEndpointV1.js +2 -1
  312. package/node_modules/@smithy/core/dist-types/submodules/cbor/SmithyRpcV2CborProtocol.d.ts +5 -14
  313. package/node_modules/@smithy/core/dist-types/submodules/protocols/AbstractRpcV2Protocol.d.ts +45 -0
  314. package/node_modules/@smithy/core/dist-types/submodules/protocols/RpcProtocol.d.ts +12 -0
  315. package/node_modules/@smithy/core/dist-types/submodules/protocols/index.d.ts +1 -0
  316. package/node_modules/@smithy/core/dist-types/submodules/protocols/json/SmithyRpcV2JsonProtocol.d.ts +5 -14
  317. package/node_modules/@smithy/core/dist-types/submodules/protocols/protocol-http/extensions/httpExtensionConfiguration.d.ts +1 -0
  318. package/node_modules/@smithy/core/dist-types/submodules/retry/util-retry/race.d.ts +3 -0
  319. package/node_modules/@smithy/core/dist-types/submodules/serde/index.browser.d.ts +1 -0
  320. package/node_modules/@smithy/core/dist-types/submodules/serde/index.d.ts +1 -0
  321. package/node_modules/@smithy/core/dist-types/submodules/serde/index.native.d.ts +1 -0
  322. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/cbor/SmithyRpcV2CborProtocol.d.ts +5 -14
  323. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/AbstractRpcV2Protocol.d.ts +45 -0
  324. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/RpcProtocol.d.ts +12 -0
  325. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/index.d.ts +1 -0
  326. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/json/SmithyRpcV2JsonProtocol.d.ts +5 -14
  327. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/protocol-http/extensions/httpExtensionConfiguration.d.ts +1 -0
  328. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/retry/util-retry/race.d.ts +3 -0
  329. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/index.browser.d.ts +1 -0
  330. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/index.d.ts +1 -0
  331. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/index.native.d.ts +1 -0
  332. package/node_modules/@smithy/core/package.json +2 -2
  333. package/node_modules/@smithy/node-http-handler/dist-cjs/index.js +84 -29
  334. package/node_modules/@smithy/node-http-handler/dist-es/get-transformed-headers.js +2 -1
  335. package/node_modules/@smithy/node-http-handler/dist-es/node-http-handler.js +23 -11
  336. package/node_modules/@smithy/node-http-handler/dist-es/node-http2-handler.js +26 -2
  337. package/node_modules/@smithy/node-http-handler/dist-es/resolve-default-socket-timeout.js +4 -0
  338. package/node_modules/@smithy/node-http-handler/dist-es/set-socket-timeout.js +30 -15
  339. package/node_modules/@smithy/node-http-handler/dist-types/resolve-default-socket-timeout.d.ts +4 -0
  340. package/node_modules/@smithy/node-http-handler/dist-types/set-socket-timeout.d.ts +10 -1
  341. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/resolve-default-socket-timeout.d.ts +4 -0
  342. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-socket-timeout.d.ts +10 -1
  343. package/node_modules/@smithy/node-http-handler/package.json +3 -3
  344. package/node_modules/@smithy/signature-v4/dist-cjs/index.js +23 -11
  345. package/node_modules/@smithy/signature-v4/dist-es/HeaderFormatter.js +4 -2
  346. package/node_modules/@smithy/signature-v4/dist-es/SignatureV4Base.js +4 -2
  347. package/node_modules/@smithy/signature-v4/dist-es/getCanonicalHeaders.js +5 -1
  348. package/node_modules/@smithy/signature-v4/dist-es/getCanonicalQuery.js +2 -1
  349. package/node_modules/@smithy/signature-v4/dist-es/getPayloadHash.js +2 -1
  350. package/node_modules/@smithy/signature-v4/dist-es/headerUtil.js +6 -3
  351. package/node_modules/@smithy/signature-v4/dist-es/moveHeadersToQuery.js +2 -1
  352. package/node_modules/@smithy/signature-v4/dist-es/prepareRequest.js +2 -1
  353. package/node_modules/@smithy/signature-v4/package.json +2 -2
  354. package/node_modules/@smithy/types/dist-types/middleware.d.ts +6 -0
  355. package/node_modules/@smithy/types/dist-types/ts3.4/middleware.d.ts +6 -0
  356. package/node_modules/@smithy/types/package.json +1 -1
  357. package/package.json +1 -1
  358. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/JsonSettings.js +0 -1
  359. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/codec-v1/JsonCodec.js +0 -20
  360. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/codec-v1/JsonSettings.js +0 -1
  361. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/codec-v1/JsonShapeDeserializer.js +0 -160
  362. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/codec-v1/JsonShapeSerializer.js +0 -193
  363. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/codec-v2/JsonBytesStringAdapter.js +0 -103
  364. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/codec-v2/JsonCodec2.js +0 -20
  365. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/codec-v2/JsonShapeDeserializer2.js +0 -200
  366. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/codec-v2/JsonShapeSerializer2.js +0 -519
  367. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/detectBufferParsing.js +0 -18
  368. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/jsonReplacer.js +0 -46
  369. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/jsonReviver.js +0 -121
  370. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/needsReviver.js +0 -41
  371. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/parseJsonBody.js +0 -89
  372. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/JsonSettings.d.ts +0 -7
  373. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/codec-v1/JsonCodec.d.ts +0 -15
  374. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/codec-v1/JsonSettings.d.ts +0 -7
  375. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/codec-v1/JsonShapeDeserializer.d.ts +0 -14
  376. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/codec-v1/JsonShapeSerializer.d.ts +0 -29
  377. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/codec-v2/JsonBytesStringAdapter.d.ts +0 -51
  378. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/codec-v2/JsonCodec2.d.ts +0 -13
  379. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/codec-v2/JsonShapeDeserializer2.d.ts +0 -30
  380. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/codec-v2/JsonShapeSerializer2.d.ts +0 -60
  381. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/detectBufferParsing.d.ts +0 -1
  382. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/jsonReplacer.d.ts +0 -21
  383. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/jsonReviver.d.ts +0 -15
  384. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/needsReviver.d.ts +0 -11
  385. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/parseJsonBody.d.ts +0 -22
  386. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/JsonSettings.d.ts +0 -4
  387. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/codec-v1/JsonCodec.d.ts +0 -11
  388. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/codec-v1/JsonSettings.d.ts +0 -4
  389. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/codec-v1/JsonShapeDeserializer.d.ts +0 -13
  390. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/codec-v1/JsonShapeSerializer.d.ts +0 -18
  391. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/codec-v2/JsonBytesStringAdapter.d.ts +0 -27
  392. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/codec-v2/JsonCodec2.d.ts +0 -9
  393. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/codec-v2/JsonShapeDeserializer2.d.ts +0 -15
  394. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/codec-v2/JsonShapeSerializer2.d.ts +0 -39
  395. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/detectBufferParsing.d.ts +0 -1
  396. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/jsonReplacer.d.ts +0 -7
  397. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/jsonReviver.d.ts +0 -7
  398. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/needsReviver.d.ts +0 -2
  399. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/parseJsonBody.d.ts +0 -14
  400. /package/node_modules/@smithy/core/dist-es/submodules/{protocols → serde}/writeKey.js +0 -0
  401. /package/node_modules/@smithy/core/dist-types/submodules/{protocols → serde}/writeKey.d.ts +0 -0
  402. /package/node_modules/@smithy/core/dist-types/ts3.4/submodules/{protocols → serde}/writeKey.d.ts +0 -0
@@ -1,509 +1,688 @@
1
- import type { _InstanceType, AcceleratorManufacturer, AcceleratorName, AcceleratorType, AddressFamily, AmdSevSnpSpecification, AttachmentStatus, AutoProvisionZonesState, AutoScalingIpsState, AvailabilityMode, BareMetal, BlockPublicAccessMode, BootModeOverrideValues, BurstablePerformance, CapacityReservationPreference, ClientVpnAuthenticationType, ClientVpnDeviceTrustProviderType, ClientVpnEndpointStatusCode, ClientVpnRouteStatusCode, ConnectivityType, ContainerFormat, CpuManufacturer, DefaultTargetCapacityType, DestinationFileFormat, DiskImageFormat, Ec2InstanceConnectEndpointState, EndpointIpAddressType, ExportEnvironment, ExportTaskState, FleetCapacityReservationUsageStrategy, FleetExcessCapacityTerminationPolicy, FleetHttpTokensState, FleetInstanceMetadataEndpointState, FleetOnDemandAllocationStrategy, FleetReplacementStrategy, FleetReservationType, FleetType, FlowLogsResourceType, GatewayType, HostnameType, InstanceBandwidthWeighting, InstanceGeneration, InstanceInterruptionBehavior, InstanceLifecycle, InterruptibleCapacityReservationAllocationStatus, InterruptionType, IpAddressType, IpamExternalResourceVerificationTokenState, IpamInternetRegistryAssociationState, IpamMeteredAccount, IpamPolicyState, IpamPoolAwsService, IpamPoolPublicIpSource, IpamPoolSourceResourceType, IpamPoolState, IpamPrefixListResolverRuleConditionOperation, IpamPrefixListResolverRuleType, IpamPrefixListResolverState, IpamPrefixListResolverTargetState, IpamPrefixListResolverVersionCreationStatus, IpamResourceDiscoveryState, IpamResourceType, IpamScopeExternalAuthorityType, IpamScopeState, IpamScopeType, IpamState, IpamTier, KeyFormat, KeyType, LaunchTemplateAutoRecoveryState, LaunchTemplateHttpTokensState, LaunchTemplateInstanceMetadataEndpointState, LaunchTemplateInstanceMetadataOptionsState, LaunchTemplateInstanceMetadataProtocolIpv6, LaunchTemplateInstanceMetadataTagsState, LocalGatewayRouteState, LocalGatewayRouteTableMode, LocalGatewayRouteType, LocalGatewayVirtualInterfaceConfigurationState, LocalGatewayVirtualInterfaceGroupConfigurationState, LocalStorage, LocalStorageType, LogDestinationType, MacModificationTaskState, MacModificationTaskType, MacSystemIntegrityProtectionSettingStatus, MarketType, NatGatewayApplianceModifyState, NatGatewayApplianceState, NatGatewayApplianceType, NatGatewayState, NestedVirtualizationSpecification, NetworkInterfaceCreationType, PlatformValues, PrefixListState, Protocol, ReservedCapacityAllocationStrategy, ReservedCapacityFallbackMarketType, ResourceType, Rir, RuleAction, SecondaryInterfaceType, SelfServicePortal, ShutdownBehavior, SnapshotLocationEnum, SpotAllocationStrategy, SpotInstanceInterruptionBehavior, SpotInstanceType, SubnetState, TaggableResourceType, TargetCapacityUnitType, Tenancy, TokenState, TrafficIpAddressType, TrafficType, TransportProtocol, VolumeType, VpcEncryptionControlExclusionState, VpcEncryptionControlMode, VpcEncryptionControlState, VpcState, WeekDay, ZeroSizePreference } from "./enums";
2
- import type { AcceleratorCount, AcceleratorCountRequest, AcceleratorTotalMemoryMiB, AcceleratorTotalMemoryMiBRequest, AccessScopePath, AccessScopePathRequest, AddIpamOperatingRegion, AddPrefixListEntry, InstanceEventWindow, IpamRoutingPolicyRegistrationDelta, NatGatewayAddress, OperatorResponse, PortRange, SubnetIpv6CidrBlockAssociation, Tag, TagSpecification, UnsuccessfulItem, VpcCidrBlockAssociation, VpcIpv6CidrBlockAssociation } from "./models_0";
1
+ import type { _InstanceType, AcceleratorManufacturer, AcceleratorName, AcceleratorType, AddressFamily, AmdSevSnpSpecification, AttachmentStatus, AutoProvisionZonesState, AutoScalingIpsState, AvailabilityMode, BareMetal, BlockPublicAccessMode, BootModeOverrideValues, BurstablePerformance, CapacityReservationFleetState, CapacityReservationInstancePlatform, CapacityReservationPreference, CarrierGatewayState, ClientVpnAuthenticationType, ClientVpnDeviceTrustProviderType, ClientVpnEndpointStatusCode, ClientVpnRouteStatusCode, ConnectivityType, ContainerFormat, CpuManufacturer, DefaultTargetCapacityType, DestinationFileFormat, DiskImageFormat, Ec2InstanceConnectEndpointState, EndpointIpAddressType, ExportEnvironment, ExportTaskState, FleetCapacityReservationTenancy, FleetCapacityReservationUsageStrategy, FleetExcessCapacityTerminationPolicy, FleetHttpTokensState, FleetInstanceMatchCriteria, FleetInstanceMetadataEndpointState, FleetOnDemandAllocationStrategy, FleetReplacementStrategy, FleetReservationType, FleetType, FlowLogsResourceType, GatewayType, HostnameType, InstanceBandwidthWeighting, InstanceGeneration, InstanceInterruptionBehavior, InstanceLifecycle, InterruptibleCapacityReservationAllocationStatus, InterruptionType, IpAddressType, IpamExternalResourceVerificationTokenState, IpamInternetRegistryAssociationState, IpamMeteredAccount, IpamPolicyState, IpamPoolAwsService, IpamPoolPublicIpSource, IpamPoolSourceResourceType, IpamPoolState, IpamPrefixListResolverRuleConditionOperation, IpamPrefixListResolverRuleType, IpamPrefixListResolverState, IpamPrefixListResolverTargetState, IpamPrefixListResolverVersionCreationStatus, IpamResourceDiscoveryState, IpamResourceType, IpamScopeExternalAuthorityType, IpamScopeState, IpamScopeType, IpamState, IpamTier, KeyFormat, KeyType, LaunchTemplateAutoRecoveryState, LaunchTemplateHttpTokensState, LaunchTemplateInstanceMetadataEndpointState, LaunchTemplateInstanceMetadataOptionsState, LaunchTemplateInstanceMetadataProtocolIpv6, LaunchTemplateInstanceMetadataTagsState, LocalGatewayRouteState, LocalGatewayRouteTableMode, LocalGatewayRouteType, LocalGatewayVirtualInterfaceConfigurationState, LocalGatewayVirtualInterfaceGroupConfigurationState, LocalStorage, LocalStorageType, LogDestinationType, MacModificationTaskState, MacModificationTaskType, MacSystemIntegrityProtectionSettingStatus, MarketType, NatGatewayApplianceModifyState, NatGatewayApplianceState, NatGatewayApplianceType, NatGatewayState, NestedVirtualizationSpecification, NetworkInterfaceCreationType, PlatformValues, PrefixListState, Protocol, ReservedCapacityAllocationStrategy, ReservedCapacityFallbackMarketType, ResourceType, Rir, RuleAction, SecondaryInterfaceType, SelfServicePortal, ShutdownBehavior, SnapshotLocationEnum, SpotAllocationStrategy, SpotInstanceInterruptionBehavior, SpotInstanceType, SubnetState, TaggableResourceType, TargetCapacityUnitType, Tenancy, TokenState, TrafficIpAddressType, TrafficType, TransportProtocol, VolumeType, VpcEncryptionControlExclusionState, VpcEncryptionControlMode, VpcEncryptionControlState, VpcState, WeekDay, ZeroSizePreference } from "./enums";
2
+ import type { AcceleratorCount, AcceleratorCountRequest, AcceleratorTotalMemoryMiB, AcceleratorTotalMemoryMiBRequest, AccessScopePath, AccessScopePathRequest, AddIpamOperatingRegion, AddPrefixListEntry, BaselineEbsBandwidthMbpsRequest, BaselinePerformanceFactorsRequest, InstanceEventWindow, IpamRoutingPolicyRegistrationDelta, MemoryGiBPerVCpuRequest, MemoryMiBRequest, NatGatewayAddress, OperatorResponse, PortRange, SubnetIpv6CidrBlockAssociation, Tag, TagSpecification, UnsuccessfulItem, VpcCidrBlockAssociation, VpcIpv6CidrBlockAssociation } from "./models_0";
3
3
  /**
4
- * <p>Describes the Active Directory to be used for client authentication.</p>
5
- * @public
6
- */
7
- export interface DirectoryServiceAuthenticationRequest {
8
- /**
9
- * <p>The ID of the Active Directory to be used for authentication.</p>
10
- * @public
11
- */
12
- DirectoryId?: string | undefined;
13
- }
14
- /**
15
- * <p>The IAM SAML identity provider used for federated authentication.</p>
4
+ * <p>The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).</p>
5
+ * <note>
6
+ * <p>Setting the minimum bandwidth does not guarantee that your instance will achieve the
7
+ * minimum bandwidth. Amazon EC2 will identify instance types that support the specified minimum
8
+ * bandwidth, but the actual bandwidth of your instance might go below the specified minimum
9
+ * at times. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html#available-instance-bandwidth">Available instance bandwidth</a> in the
10
+ * <i>Amazon EC2 User Guide</i>.</p>
11
+ * </note>
16
12
  * @public
17
13
  */
18
- export interface FederatedAuthenticationRequest {
19
- /**
20
- * <p>The Amazon Resource Name (ARN) of the IAM SAML identity provider.</p>
21
- * @public
22
- */
23
- SAMLProviderArn?: string | undefined;
14
+ export interface NetworkBandwidthGbpsRequest {
24
15
  /**
25
- * <p>The Amazon Resource Name (ARN) of the IAM SAML identity provider for the self-service portal.</p>
16
+ * <p>The minimum amount of network bandwidth, in Gbps. To specify no minimum limit, omit this
17
+ * parameter.</p>
26
18
  * @public
27
19
  */
28
- SelfServiceSAMLProviderArn?: string | undefined;
29
- }
30
- /**
31
- * <p>Information about the client certificate to be used for authentication.</p>
32
- * @public
33
- */
34
- export interface CertificateAuthenticationRequest {
20
+ Min?: number | undefined;
35
21
  /**
36
- * <p>The ARN of the client certificate. The certificate must be signed by a certificate
37
- * authority (CA) and it must be provisioned in Certificate Manager (ACM).</p>
22
+ * <p>The maximum amount of network bandwidth, in Gbps. To specify no maximum limit, omit this
23
+ * parameter.</p>
38
24
  * @public
39
25
  */
40
- ClientRootCertificateChainArn?: string | undefined;
26
+ Max?: number | undefined;
41
27
  }
42
28
  /**
43
- * <p>Describes the authentication method to be used by a Client VPN endpoint. For more information, see <a href="https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/authentication-authrization.html#client-authentication">Authentication</a>
44
- * in the <i>Client VPN Administrator Guide</i>.</p>
29
+ * <p>The minimum and maximum number of network interfaces.</p>
45
30
  * @public
46
31
  */
47
- export interface ClientVpnAuthenticationRequest {
48
- /**
49
- * <p>The type of client authentication to be used.</p>
50
- * @public
51
- */
52
- Type?: ClientVpnAuthenticationType | undefined;
53
- /**
54
- * <p>Information about the Active Directory to be used, if applicable. You must provide this information if <b>Type</b> is <code>directory-service-authentication</code>.</p>
55
- * @public
56
- */
57
- ActiveDirectory?: DirectoryServiceAuthenticationRequest | undefined;
32
+ export interface NetworkInterfaceCountRequest {
58
33
  /**
59
- * <p>Information about the authentication certificates to be used, if applicable. You must provide this information if <b>Type</b> is <code>certificate-authentication</code>.</p>
34
+ * <p>The minimum number of network interfaces. To specify no minimum limit, omit this
35
+ * parameter.</p>
60
36
  * @public
61
37
  */
62
- MutualAuthentication?: CertificateAuthenticationRequest | undefined;
38
+ Min?: number | undefined;
63
39
  /**
64
- * <p>Information about the IAM SAML identity provider to be used, if applicable. You must provide this information if <b>Type</b> is <code>federated-authentication</code>.</p>
40
+ * <p>The maximum number of network interfaces. To specify no maximum limit, omit this
41
+ * parameter.</p>
65
42
  * @public
66
43
  */
67
- FederatedAuthentication?: FederatedAuthenticationRequest | undefined;
44
+ Max?: number | undefined;
68
45
  }
69
46
  /**
70
- * <p>The options for managing connection authorization for new client connections.</p>
47
+ * <p>The minimum and maximum amount of total local storage, in GB.</p>
71
48
  * @public
72
49
  */
73
- export interface ClientConnectOptions {
50
+ export interface TotalLocalStorageGBRequest {
74
51
  /**
75
- * <p>Indicates whether client connect options are enabled. The default is <code>false</code> (not enabled).</p>
52
+ * <p>The minimum amount of total local storage, in GB. To specify no minimum limit, omit this
53
+ * parameter.</p>
76
54
  * @public
77
55
  */
78
- Enabled?: boolean | undefined;
56
+ Min?: number | undefined;
79
57
  /**
80
- * <p>The Amazon Resource Name (ARN) of the Lambda function used for connection authorization.</p>
58
+ * <p>The maximum amount of total local storage, in GB. To specify no maximum limit, omit this
59
+ * parameter.</p>
81
60
  * @public
82
61
  */
83
- LambdaFunctionArn?: string | undefined;
62
+ Max?: number | undefined;
84
63
  }
85
64
  /**
86
- * <p>Options for enabling a customizable text banner that will be displayed on
87
- * Amazon Web Services provided clients when a VPN session is established.</p>
65
+ * <p>The minimum and maximum number of vCPUs.</p>
88
66
  * @public
89
67
  */
90
- export interface ClientLoginBannerOptions {
91
- /**
92
- * <p>Enable or disable a customizable text banner that will be displayed on
93
- * Amazon Web Services provided clients when a VPN session is established.</p>
94
- * <p>Valid values: <code>true | false</code>
95
- * </p>
96
- * <p>Default value: <code>false</code>
97
- * </p>
98
- * @public
99
- */
100
- Enabled?: boolean | undefined;
68
+ export interface VCpuCountRangeRequest {
101
69
  /**
102
- * <p>Customizable text that will be displayed in a banner on Amazon Web Services provided
103
- * clients when a VPN session is established. UTF-8 encoded characters only. Maximum of
104
- * 1400 characters.</p>
70
+ * <p>The minimum number of vCPUs. To specify no minimum limit, specify <code>0</code>.</p>
105
71
  * @public
106
72
  */
107
- BannerText?: string | undefined;
108
- }
109
- /**
110
- * <p>Client Route Enforcement is a feature of Client VPN that helps enforce administrator defined
111
- * routes on devices connected through the VPN. This feature helps improve your security
112
- * posture by ensuring that network traffic originating from a connected client is not
113
- * inadvertently sent outside the VPN tunnel.</p>
114
- * <p>Client Route Enforcement works by monitoring the route table of a connected device for
115
- * routing policy changes to the VPN connection. If the feature detects any VPN routing
116
- * policy modifications, it will automatically force an update to the route table,
117
- * reverting it back to the expected route configurations.</p>
118
- * @public
119
- */
120
- export interface ClientRouteEnforcementOptions {
73
+ Min: number | undefined;
121
74
  /**
122
- * <p>Enable or disable Client Route Enforcement. The state can either be <code>true</code>
123
- * (enabled) or <code>false</code> (disabled). The default is <code>false</code>.</p>
124
- * <p>Valid values: <code>true | false</code>
125
- * </p>
126
- * <p>Default value: <code>false</code>
127
- * </p>
75
+ * <p>The maximum number of vCPUs. To specify no maximum limit, omit this parameter.</p>
128
76
  * @public
129
77
  */
130
- Enforced?: boolean | undefined;
78
+ Max?: number | undefined;
131
79
  }
132
80
  /**
133
- * <p>Describes the client connection logging options for the Client VPN endpoint.</p>
81
+ * <p>The attributes for the instance types. When you specify instance attributes, Amazon EC2 will
82
+ * identify instance types with these attributes.</p>
83
+ * <p>You must specify <code>VCpuCount</code> and <code>MemoryMiB</code>. All other attributes
84
+ * are optional. Any unspecified optional attribute is set to its default.</p>
85
+ * <p>When you specify multiple attributes, you get instance types that satisfy all of the
86
+ * specified attributes. If you specify multiple values for an attribute, you get instance
87
+ * types that satisfy any of the specified values.</p>
88
+ * <p>To limit the list of instance types from which Amazon EC2 can identify matching instance types,
89
+ * you can use one of the following parameters, but not both in the same request:</p>
90
+ * <ul>
91
+ * <li>
92
+ * <p>
93
+ * <code>AllowedInstanceTypes</code> - The instance types to include in the list. All
94
+ * other instance types are ignored, even if they match your specified attributes.</p>
95
+ * </li>
96
+ * <li>
97
+ * <p>
98
+ * <code>ExcludedInstanceTypes</code> - The instance types to exclude from the list,
99
+ * even if they match your specified attributes.</p>
100
+ * </li>
101
+ * </ul>
102
+ * <note>
103
+ * <p>If you specify <code>InstanceRequirements</code>, you can't specify
104
+ * <code>InstanceType</code>.</p>
105
+ * <p>Attribute-based instance type selection is only supported when using Auto Scaling
106
+ * groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in
107
+ * the <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html">launch instance
108
+ * wizard</a>, or with the <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html">RunInstances</a> API or
109
+ * <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html">AWS::EC2::Instance</a> Amazon Web Services CloudFormation resource, you can't specify
110
+ * <code>InstanceRequirements</code>.</p>
111
+ * </note>
112
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html">Specify attributes for instance type selection for EC2 Fleet or Spot Fleet</a> and <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html">Spot
113
+ * placement score</a> in the <i>Amazon EC2 User Guide</i>.</p>
134
114
  * @public
135
115
  */
136
- export interface ConnectionLogOptions {
137
- /**
138
- * <p>Indicates whether connection logging is enabled.</p>
139
- * @public
140
- */
141
- Enabled?: boolean | undefined;
142
- /**
143
- * <p>The name of the CloudWatch Logs log group. Required if connection logging is enabled.</p>
144
- * @public
145
- */
146
- CloudwatchLogGroup?: string | undefined;
116
+ export interface InstanceRequirementsRequest {
147
117
  /**
148
- * <p>The name of the CloudWatch Logs log stream to which the connection data is published.</p>
118
+ * <p>The minimum and maximum number of vCPUs.</p>
149
119
  * @public
150
120
  */
151
- CloudwatchLogStream?: string | undefined;
121
+ VCpuCount: VCpuCountRangeRequest | undefined;
152
122
  /**
153
- * <p>Specifies whether to include the authorization policy evaluation context in the connection logs for the Client VPN endpoint.</p>
123
+ * <p>The minimum and maximum amount of memory, in MiB.</p>
154
124
  * @public
155
125
  */
156
- IncludeAuthorizationPolicyContext?: boolean | undefined;
157
- }
158
- /**
159
- * <p>Describes a device trust provider to configure for a Client VPN endpoint.</p>
160
- * @public
161
- */
162
- export interface ClientVpnTrustProviderRequest {
126
+ MemoryMiB: MemoryMiBRequest | undefined;
163
127
  /**
164
- * <p>The type of the device trust provider. Possible values include:</p>
128
+ * <p>The CPU manufacturers to include.</p>
165
129
  * <ul>
166
130
  * <li>
167
- * <p>
168
- * <code>crowdstrike</code> - CrowdStrike device trust provider.</p>
131
+ * <p>For instance types with Intel CPUs, specify <code>intel</code>.</p>
169
132
  * </li>
170
133
  * <li>
171
- * <p>
172
- * <code>jamf</code> - Jamf device trust provider.</p>
134
+ * <p>For instance types with AMD CPUs, specify <code>amd</code>.</p>
173
135
  * </li>
174
136
  * <li>
175
- * <p>
176
- * <code>jumpcloud</code> - JumpCloud device trust provider.</p>
137
+ * <p>For instance types with Amazon Web Services CPUs, specify <code>amazon-web-services</code>.</p>
138
+ * </li>
139
+ * <li>
140
+ * <p>For instance types with Apple CPUs, specify <code>apple</code>.</p>
177
141
  * </li>
178
142
  * </ul>
143
+ * <note>
144
+ * <p>Don't confuse the CPU manufacturer with the CPU architecture. Instances will
145
+ * be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you
146
+ * specify in your launch template.</p>
147
+ * </note>
148
+ * <p>Default: Any manufacturer</p>
179
149
  * @public
180
150
  */
181
- TrustProviderType?: ClientVpnDeviceTrustProviderType | undefined;
151
+ CpuManufacturers?: CpuManufacturer[] | undefined;
182
152
  /**
183
- * <p>The tenant ID associated with your device trust provider account.</p>
153
+ * <p>The minimum and maximum amount of memory per vCPU, in GiB.</p>
154
+ * <p>Default: No minimum or maximum limits</p>
184
155
  * @public
185
156
  */
186
- TenantId?: string | undefined;
157
+ MemoryGiBPerVCpu?: MemoryGiBPerVCpuRequest | undefined;
187
158
  /**
188
- * <p>The URL of the public signing key that is used to verify the identity token issued by the device trust provider.</p>
159
+ * <p>The instance types to exclude.</p>
160
+ * <p>You can use strings with one or more wild cards, represented by
161
+ * an asterisk (<code>*</code>), to exclude an instance family, type, size, or generation. The
162
+ * following are examples: <code>m5.8xlarge</code>, <code>c5*.*</code>, <code>m5a.*</code>,
163
+ * <code>r*</code>, <code>*3*</code>.</p>
164
+ * <p>For example, if you specify <code>c5*</code>,Amazon EC2 will exclude the entire C5 instance
165
+ * family, which includes all C5a and C5n instance types. If you specify
166
+ * <code>m5a.*</code>, Amazon EC2 will exclude all the M5a instance types, but not the M5n
167
+ * instance types.</p>
168
+ * <note>
169
+ * <p>If you specify <code>ExcludedInstanceTypes</code>, you can't specify <code>AllowedInstanceTypes</code>.</p>
170
+ * </note>
171
+ * <p>Default: No excluded instance types</p>
189
172
  * @public
190
173
  */
191
- PublicSigningKeyUrl?: string | undefined;
192
- }
193
- /**
194
- * <p>Describes the device posture options for a Client VPN endpoint. Device posture options specify the device trust providers that the endpoint uses to evaluate the security posture of connecting devices.</p>
195
- * @public
196
- */
197
- export interface DevicePostureOptions {
174
+ ExcludedInstanceTypes?: string[] | undefined;
198
175
  /**
199
- * <p>The device trust providers to configure for the Client VPN endpoint.</p>
176
+ * <p>Indicates whether current or previous generation instance types are included. The
177
+ * current generation instance types are recommended for use. Current generation instance types are
178
+ * typically the latest two to three generations in each instance family. For more
179
+ * information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html">Instance types</a> in the
180
+ * <i>Amazon EC2 User Guide</i>.</p>
181
+ * <p>For current generation instance types, specify <code>current</code>.</p>
182
+ * <p>For previous generation instance types, specify <code>previous</code>.</p>
183
+ * <p>Default: Current and previous generation instance types</p>
200
184
  * @public
201
185
  */
202
- TrustProviders?: ClientVpnTrustProviderRequest[] | undefined;
186
+ InstanceGenerations?: InstanceGeneration[] | undefined;
203
187
  /**
204
- * <p>Indicates whether device posture evaluation is enabled for the Client VPN endpoint. Specify <code>false</code> to disable device posture, which clears the configured device trust providers.</p>
205
- * @public
206
- */
207
- Enabled?: boolean | undefined;
208
- }
209
- /**
210
- * <p>The Transit Gateway configuration for a Client VPN endpoint.</p>
211
- * @public
212
- */
213
- export interface TransitGatewayConfigurationInputStructure {
214
- /**
215
- * <p>The ID of the Transit Gateway to associate with the Client VPN endpoint.</p>
216
- * @public
217
- */
218
- TransitGatewayId?: string | undefined;
219
- /**
220
- * <p>The Availability Zone names for the Transit Gateway association. You can specify up to the maximum number of Availability Zones supported by the Transit Gateway. You cannot specify both <code>AvailabilityZones</code> and <code>AvailabilityZoneIds</code>.</p>
221
- * @public
222
- */
223
- AvailabilityZones?: string[] | undefined;
224
- /**
225
- * <p>The Availability Zone IDs for the Transit Gateway association. You can specify up to the maximum number of Availability Zones supported by the Transit Gateway. You cannot specify both <code>AvailabilityZones</code> and <code>AvailabilityZoneIds</code>.</p>
226
- * @public
227
- */
228
- AvailabilityZoneIds?: string[] | undefined;
229
- }
230
- /**
231
- * @public
232
- */
233
- export interface CreateClientVpnEndpointRequest {
234
- /**
235
- * <p>The IPv4 address range, in CIDR notation, from which to assign client IP addresses. The address range cannot overlap with the local CIDR of the VPC in which the associated subnet is located, or the routes that you add manually. The address range cannot be changed after the Client VPN endpoint has been created. Client CIDR range must have a size of at least /22 and must not be greater than /12.</p>
236
- * @public
237
- */
238
- ClientCidrBlock?: string | undefined;
239
- /**
240
- * <p>The ARN of the server certificate. For more information, see
241
- * the <a href="https://docs.aws.amazon.com/acm/latest/userguide/">Certificate Manager User Guide</a>.</p>
188
+ * <p>[Price protection] The price protection threshold for Spot Instances, as a percentage higher than
189
+ * an identified Spot price. The identified Spot price is the Spot price of the lowest priced
190
+ * current generation C, M, or R instance type with your specified attributes. If no current
191
+ * generation C, M, or R instance type matches your attributes, then the identified Spot price
192
+ * is from the lowest priced current generation instance types, and failing that, from the
193
+ * lowest priced previous generation instance types that match your attributes. When Amazon EC2
194
+ * selects instance types with your attributes, it will exclude instance types whose Spot
195
+ * price exceeds your specified threshold.</p>
196
+ * <p>The parameter accepts an integer, which Amazon EC2 interprets as a percentage.</p>
197
+ * <p>If you set <code>TargetCapacityUnitType</code> to <code>vcpu</code> or
198
+ * <code>memory-mib</code>, the price protection threshold is applied based on the
199
+ * per-vCPU or per-memory price instead of the per-instance price.</p>
200
+ * <p>This parameter is not supported for <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html">GetSpotPlacementScores</a> and <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html">GetInstanceTypesFromInstanceRequirements</a>.</p>
201
+ * <note>
202
+ * <p>Only one of <code>SpotMaxPricePercentageOverLowestPrice</code> or
203
+ * <code>MaxSpotPriceAsPercentageOfOptimalOnDemandPrice</code> can be specified. If you
204
+ * don't specify either, Amazon EC2 will automatically apply optimal price protection to
205
+ * consistently select from a wide range of instance types. To indicate no price protection
206
+ * threshold for Spot Instances, meaning you want to consider all instance types that match your
207
+ * attributes, include one of these parameters and specify a high value, such as
208
+ * <code>999999</code>.</p>
209
+ * </note>
210
+ * <p>Default: <code>100</code>
211
+ * </p>
242
212
  * @public
243
213
  */
244
- ServerCertificateArn: string | undefined;
214
+ SpotMaxPricePercentageOverLowestPrice?: number | undefined;
245
215
  /**
246
- * <p>Information about the authentication method to be used to authenticate clients.</p>
216
+ * <p>[Price protection] The price protection threshold for On-Demand Instances, as a percentage higher than
217
+ * an identified On-Demand price. The identified On-Demand price is the price of the lowest
218
+ * priced current generation C, M, or R instance type with your specified attributes. When
219
+ * Amazon EC2 selects instance types with your attributes, it will exclude instance types whose
220
+ * price exceeds your specified threshold.</p>
221
+ * <p>The parameter accepts an integer, which Amazon EC2 interprets as a percentage.</p>
222
+ * <p>To indicate no price protection threshold, specify a high value, such as
223
+ * <code>999999</code>.</p>
224
+ * <p>This parameter is not supported for <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html">GetSpotPlacementScores</a> and <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html">GetInstanceTypesFromInstanceRequirements</a>.</p>
225
+ * <note>
226
+ * <p>If you set <code>TargetCapacityUnitType</code> to <code>vcpu</code> or
227
+ * <code>memory-mib</code>, the price protection threshold is applied based on the
228
+ * per-vCPU or per-memory price instead of the per-instance price.</p>
229
+ * </note>
230
+ * <p>Default: <code>20</code>
231
+ * </p>
247
232
  * @public
248
233
  */
249
- AuthenticationOptions: ClientVpnAuthenticationRequest[] | undefined;
234
+ OnDemandMaxPricePercentageOverLowestPrice?: number | undefined;
250
235
  /**
251
- * <p>Information about the client connection logging options.</p>
252
- * <p>If you enable client connection logging, data about client connections is sent to a
253
- * Cloudwatch Logs log stream. The following information is logged:</p>
236
+ * <p>Indicates whether bare metal instance types must be included, excluded, or required.</p>
254
237
  * <ul>
255
238
  * <li>
256
- * <p>Client connection requests</p>
257
- * </li>
258
- * <li>
259
- * <p>Client connection results (successful and unsuccessful)</p>
239
+ * <p>To include bare metal instance types, specify <code>included</code>.</p>
260
240
  * </li>
261
241
  * <li>
262
- * <p>Reasons for unsuccessful client connection requests</p>
242
+ * <p>To require only bare metal instance types, specify <code>required</code>.</p>
263
243
  * </li>
264
244
  * <li>
265
- * <p>Client connection termination time</p>
245
+ * <p>To exclude bare metal instance types, specify <code>excluded</code>.</p>
266
246
  * </li>
267
247
  * </ul>
268
- * @public
269
- */
270
- ConnectionLogOptions: ConnectionLogOptions | undefined;
271
- /**
272
- * <p>Information about the DNS servers to be used for DNS resolution. A Client VPN endpoint can
273
- * have up to two DNS servers. If no DNS server is specified, the DNS address configured on the device is used for the DNS server.</p>
274
- * @public
275
- */
276
- DnsServers?: string[] | undefined;
277
- /**
278
- * <p>The transport protocol to be used by the VPN session.</p>
279
- * <p>Default value: <code>udp</code>
248
+ * <p>Default: <code>excluded</code>
280
249
  * </p>
281
250
  * @public
282
251
  */
283
- TransportProtocol?: TransportProtocol | undefined;
252
+ BareMetal?: BareMetal | undefined;
284
253
  /**
285
- * <p>The port number to assign to the Client VPN endpoint for TCP and UDP traffic.</p>
286
- * <p>Valid Values: <code>443</code> | <code>1194</code>
287
- * </p>
288
- * <p>Default Value: <code>443</code>
254
+ * <p>Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see
255
+ * <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html">Burstable performance instances</a>.</p>
256
+ * <ul>
257
+ * <li>
258
+ * <p>To include burstable performance instance types, specify <code>included</code>.</p>
259
+ * </li>
260
+ * <li>
261
+ * <p>To require only burstable performance instance types, specify <code>required</code>.</p>
262
+ * </li>
263
+ * <li>
264
+ * <p>To exclude burstable performance instance types, specify <code>excluded</code>.</p>
265
+ * </li>
266
+ * </ul>
267
+ * <p>Default: <code>excluded</code>
289
268
  * </p>
290
269
  * @public
291
270
  */
292
- VpnPort?: number | undefined;
293
- /**
294
- * <p>A brief description of the Client VPN endpoint.</p>
295
- * @public
296
- */
297
- Description?: string | undefined;
298
- /**
299
- * <p>Indicates whether split-tunnel is enabled on the Client VPN endpoint.</p>
300
- * <p>By default, split-tunnel on a VPN endpoint is disabled.</p>
301
- * <p>For information about split-tunnel VPN endpoints, see <a href="https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/split-tunnel-vpn.html">Split-tunnel Client VPN endpoint</a> in the
302
- * <i>Client VPN Administrator Guide</i>.</p>
303
- * @public
304
- */
305
- SplitTunnel?: boolean | undefined;
271
+ BurstablePerformance?: BurstablePerformance | undefined;
306
272
  /**
307
- * <p>Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
273
+ * <p>Indicates whether instance types must support hibernation for On-Demand Instances.</p>
274
+ * <p>This parameter is not supported for <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html">GetSpotPlacementScores</a>.</p>
275
+ * <p>Default: <code>false</code>
276
+ * </p>
308
277
  * @public
309
278
  */
310
- DryRun?: boolean | undefined;
279
+ RequireHibernateSupport?: boolean | undefined;
311
280
  /**
312
- * <p>Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
313
- * For more information, see <a href="https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html">Ensuring idempotency</a>.</p>
281
+ * <p>The minimum and maximum number of network interfaces.</p>
282
+ * <p>Default: No minimum or maximum limits</p>
314
283
  * @public
315
284
  */
316
- ClientToken?: string | undefined;
285
+ NetworkInterfaceCount?: NetworkInterfaceCountRequest | undefined;
317
286
  /**
318
- * <p>The tags to apply to the Client VPN endpoint during creation.</p>
287
+ * <p>Indicates whether instance types with instance store volumes are included, excluded, or required. For more information,
288
+ * <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html">Amazon
289
+ * EC2 instance store</a> in the <i>Amazon EC2 User Guide</i>.</p>
290
+ * <ul>
291
+ * <li>
292
+ * <p>To include instance types with instance store volumes, specify
293
+ * <code>included</code>.</p>
294
+ * </li>
295
+ * <li>
296
+ * <p>To require only instance types with instance store volumes, specify
297
+ * <code>required</code>.</p>
298
+ * </li>
299
+ * <li>
300
+ * <p>To exclude instance types with instance store volumes, specify
301
+ * <code>excluded</code>.</p>
302
+ * </li>
303
+ * </ul>
304
+ * <p>Default: <code>included</code>
305
+ * </p>
319
306
  * @public
320
307
  */
321
- TagSpecifications?: TagSpecification[] | undefined;
308
+ LocalStorage?: LocalStorage | undefined;
322
309
  /**
323
- * <p>The IDs of one or more security groups to apply to the target network. You must also specify the ID of the VPC that contains the security groups.</p>
310
+ * <p>The type of local storage that is required.</p>
311
+ * <ul>
312
+ * <li>
313
+ * <p>For instance types with hard disk drive (HDD) storage, specify <code>hdd</code>.</p>
314
+ * </li>
315
+ * <li>
316
+ * <p>For instance types with solid state drive (SSD) storage, specify
317
+ * <code>ssd</code>.</p>
318
+ * </li>
319
+ * </ul>
320
+ * <p>Default: <code>hdd</code> and <code>ssd</code>
321
+ * </p>
324
322
  * @public
325
323
  */
326
- SecurityGroupIds?: string[] | undefined;
324
+ LocalStorageTypes?: LocalStorageType[] | undefined;
327
325
  /**
328
- * <p>The ID of the VPC to associate with the Client VPN endpoint. If no security group IDs are specified in the request, the default security group for the VPC is applied.</p>
326
+ * <p>The minimum and maximum amount of total local storage, in GB.</p>
327
+ * <p>Default: No minimum or maximum limits</p>
329
328
  * @public
330
329
  */
331
- VpcId?: string | undefined;
330
+ TotalLocalStorageGB?: TotalLocalStorageGBRequest | undefined;
332
331
  /**
333
- * <p>Specify whether to enable the self-service portal for the Client VPN endpoint.</p>
334
- * <p>Default Value: <code>enabled</code>
335
- * </p>
332
+ * <p>The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see
333
+ * <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html">Amazon
334
+ * EBS–optimized instances</a> in the <i>Amazon EC2 User Guide</i>.</p>
335
+ * <p>Default: No minimum or maximum limits</p>
336
336
  * @public
337
337
  */
338
- SelfServicePortal?: SelfServicePortal | undefined;
338
+ BaselineEbsBandwidthMbps?: BaselineEbsBandwidthMbpsRequest | undefined;
339
339
  /**
340
- * <p>The options for managing connection authorization for new client connections.</p>
340
+ * <p>The accelerator types that must be on the instance type.</p>
341
+ * <ul>
342
+ * <li>
343
+ * <p>For instance types with FPGA accelerators, specify <code>fpga</code>.</p>
344
+ * </li>
345
+ * <li>
346
+ * <p>For instance types with GPU accelerators, specify <code>gpu</code>.</p>
347
+ * </li>
348
+ * <li>
349
+ * <p>For instance types with Inference accelerators, specify <code>inference</code>.</p>
350
+ * </li>
351
+ * <li>
352
+ * <p>For instance types with Media accelerators, specify <code>media</code>.</p>
353
+ * </li>
354
+ * </ul>
355
+ * <p>Default: Any accelerator type</p>
341
356
  * @public
342
357
  */
343
- ClientConnectOptions?: ClientConnectOptions | undefined;
358
+ AcceleratorTypes?: AcceleratorType[] | undefined;
344
359
  /**
345
- * <p>The maximum VPN session duration time in hours.</p>
346
- * <p>Valid values: <code>8 | 10 | 12 | 24</code>
347
- * </p>
348
- * <p>Default value: <code>24</code>
349
- * </p>
360
+ * <p>The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips) on
361
+ * an instance.</p>
362
+ * <p>To exclude accelerator-enabled instance types, set <code>Max</code> to <code>0</code>.</p>
363
+ * <p>Default: No minimum or maximum limits</p>
350
364
  * @public
351
365
  */
352
- SessionTimeoutHours?: number | undefined;
366
+ AcceleratorCount?: AcceleratorCountRequest | undefined;
353
367
  /**
354
- * <p>Options for enabling a customizable text banner that will be displayed on
355
- * Amazon Web Services provided clients when a VPN session is established.</p>
368
+ * <p>Indicates whether instance types must have accelerators by specific manufacturers.</p>
369
+ * <ul>
370
+ * <li>
371
+ * <p>For instance types with Amazon Web Services devices, specify <code>amazon-web-services</code>.</p>
372
+ * </li>
373
+ * <li>
374
+ * <p>For instance types with AMD devices, specify <code>amd</code>.</p>
375
+ * </li>
376
+ * <li>
377
+ * <p>For instance types with Habana devices, specify <code>habana</code>.</p>
378
+ * </li>
379
+ * <li>
380
+ * <p>For instance types with NVIDIA devices, specify <code>nvidia</code>.</p>
381
+ * </li>
382
+ * <li>
383
+ * <p>For instance types with Xilinx devices, specify <code>xilinx</code>.</p>
384
+ * </li>
385
+ * </ul>
386
+ * <p>Default: Any manufacturer</p>
356
387
  * @public
357
388
  */
358
- ClientLoginBannerOptions?: ClientLoginBannerOptions | undefined;
389
+ AcceleratorManufacturers?: AcceleratorManufacturer[] | undefined;
359
390
  /**
360
- * <p>Client route enforcement is a feature of the Client VPN service that helps enforce administrator defined routes on devices connected through the VPN. T
361
- * his feature helps improve your security posture by ensuring that network traffic originating from a connected client is not inadvertently sent outside the VPN tunnel.</p>
362
- * <p>Client route enforcement works by monitoring the route table of a connected device for routing policy changes to the VPN connection. If the feature detects any VPN routing policy modifications, it will automatically force an update to the route table,
363
- * reverting it back to the expected route configurations.</p>
364
- * @public
391
+ * <p>The accelerators that must be on the instance type.</p>
392
+ * <ul>
393
+ * <li>
394
+ * <p>For instance types with NVIDIA A10G GPUs, specify <code>a10g</code>.</p>
395
+ * </li>
396
+ * <li>
397
+ * <p>For instance types with NVIDIA A100 GPUs, specify <code>a100</code>.</p>
398
+ * </li>
399
+ * <li>
400
+ * <p>For instance types with NVIDIA H100 GPUs, specify <code>h100</code>.</p>
401
+ * </li>
402
+ * <li>
403
+ * <p>For instance types with Amazon Web Services Inferentia chips, specify <code>inferentia</code>.</p>
404
+ * </li>
405
+ * <li>
406
+ * <p>For instance types with Amazon Web Services Inferentia2 chips, specify <code>inferentia2</code>.</p>
407
+ * </li>
408
+ * <li>
409
+ * <p>For instance types with Habana Gaudi HL-205 GPUs, specify <code>gaudi-hl-205</code>.</p>
410
+ * </li>
411
+ * <li>
412
+ * <p>For instance types with NVIDIA GRID K520 GPUs, specify <code>k520</code>.</p>
413
+ * </li>
414
+ * <li>
415
+ * <p>For instance types with NVIDIA K80 GPUs, specify <code>k80</code>.</p>
416
+ * </li>
417
+ * <li>
418
+ * <p>For instance types with NVIDIA L4 GPUs, specify <code>l4</code>.</p>
419
+ * </li>
420
+ * <li>
421
+ * <p>For instance types with NVIDIA L40S GPUs, specify <code>l40s</code>.</p>
422
+ * </li>
423
+ * <li>
424
+ * <p>For instance types with NVIDIA M60 GPUs, specify <code>m60</code>.</p>
425
+ * </li>
426
+ * <li>
427
+ * <p>For instance types with AMD Radeon Pro V520 GPUs, specify <code>radeon-pro-v520</code>.</p>
428
+ * </li>
429
+ * <li>
430
+ * <p>For instance types with Amazon Web Services Trainium chips, specify <code>trainium</code>.</p>
431
+ * </li>
432
+ * <li>
433
+ * <p>For instance types with Amazon Web Services Trainium2 chips, specify <code>trainium2</code>.</p>
434
+ * </li>
435
+ * <li>
436
+ * <p>For instance types with NVIDIA T4 GPUs, specify <code>t4</code>.</p>
437
+ * </li>
438
+ * <li>
439
+ * <p>For instance types with NVIDIA T4G GPUs, specify <code>t4g</code>.</p>
440
+ * </li>
441
+ * <li>
442
+ * <p>For instance types with Xilinx U30 cards, specify <code>u30</code>.</p>
443
+ * </li>
444
+ * <li>
445
+ * <p>For instance types with Xilinx VU9P FPGAs, specify <code>vu9p</code>.</p>
446
+ * </li>
447
+ * <li>
448
+ * <p>For instance types with NVIDIA V100 GPUs, specify <code>v100</code>.</p>
449
+ * </li>
450
+ * </ul>
451
+ * <p>Default: Any accelerator</p>
452
+ * @public
365
453
  */
366
- ClientRouteEnforcementOptions?: ClientRouteEnforcementOptions | undefined;
454
+ AcceleratorNames?: AcceleratorName[] | undefined;
367
455
  /**
368
- * <p>Indicates whether the client VPN session is disconnected after the maximum timeout specified in <code>SessionTimeoutHours</code> is reached. If <code>true</code>, users are prompted to reconnect client VPN. If <code>false</code>, client VPN attempts to reconnect automatically.
369
- * The default value is <code>true</code>.</p>
456
+ * <p>The minimum and maximum amount of total accelerator memory, in MiB.</p>
457
+ * <p>Default: No minimum or maximum limits</p>
370
458
  * @public
371
459
  */
372
- DisconnectOnSessionTimeout?: boolean | undefined;
460
+ AcceleratorTotalMemoryMiB?: AcceleratorTotalMemoryMiBRequest | undefined;
373
461
  /**
374
- * <p>The IP address type for the Client VPN endpoint. Valid values are <code>ipv4</code>
375
- * (default) for IPv4 addressing only, <code>ipv6</code> for IPv6 addressing only, or <code>dual-stack</code> for both IPv4 and IPv6
376
- * addressing. When set to <code>dual-stack,</code> clients can connect to the endpoint
377
- * using either IPv4 or IPv6 addresses..</p>
462
+ * <p>The minimum and maximum amount of baseline network bandwidth, in gigabits per second
463
+ * (Gbps). For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html">Amazon EC2 instance network bandwidth</a> in the <i>Amazon EC2 User Guide</i>.</p>
464
+ * <p>Default: No minimum or maximum limits</p>
378
465
  * @public
379
466
  */
380
- EndpointIpAddressType?: EndpointIpAddressType | undefined;
467
+ NetworkBandwidthGbps?: NetworkBandwidthGbpsRequest | undefined;
381
468
  /**
382
- * <p>The IP address type for traffic within the Client VPN tunnel. Valid values are <code>ipv4</code> (default) for IPv4 traffic only, <code>ipv6</code> for IPv6 addressing only, or <code>dual-stack</code> for both IPv4 and IPv6 traffic. When set to <code>dual-stack</code>, clients can access both IPv4 and IPv6 resources through the VPN .</p>
469
+ * <p>The instance types to apply your specified attributes against. All other instance types
470
+ * are ignored, even if they match your specified attributes.</p>
471
+ * <p>You can use strings with one or more wild cards, represented by
472
+ * an asterisk (<code>*</code>), to allow an instance type, size, or generation. The
473
+ * following are examples: <code>m5.8xlarge</code>, <code>c5*.*</code>, <code>m5a.*</code>,
474
+ * <code>r*</code>, <code>*3*</code>.</p>
475
+ * <p>For example, if you specify <code>c5*</code>,Amazon EC2 will allow the entire C5 instance
476
+ * family, which includes all C5a and C5n instance types. If you specify
477
+ * <code>m5a.*</code>, Amazon EC2 will allow all the M5a instance types, but not the M5n
478
+ * instance types.</p>
479
+ * <note>
480
+ * <p>If you specify <code>AllowedInstanceTypes</code>, you can't specify <code>ExcludedInstanceTypes</code>.</p>
481
+ * </note>
482
+ * <p>Default: All instance types</p>
383
483
  * @public
384
484
  */
385
- TrafficIpAddressType?: TrafficIpAddressType | undefined;
485
+ AllowedInstanceTypes?: string[] | undefined;
386
486
  /**
387
- * <p>The Transit Gateway configuration for the Client VPN endpoint. Use this parameter to associate the endpoint with a Transit Gateway instead of a VPC. You cannot specify both <code>TransitGatewayConfiguration</code> and <code>VpcId</code>/<code>SecurityGroupIds</code>.</p>
487
+ * <p>[Price protection] The price protection threshold for Spot Instances, as a percentage of an
488
+ * identified On-Demand price. The identified On-Demand price is the price of the lowest
489
+ * priced current generation C, M, or R instance type with your specified attributes. If no
490
+ * current generation C, M, or R instance type matches your attributes, then the identified
491
+ * price is from the lowest priced current generation instance types, and failing that, from
492
+ * the lowest priced previous generation instance types that match your attributes. When Amazon EC2
493
+ * selects instance types with your attributes, it will exclude instance types whose price
494
+ * exceeds your specified threshold.</p>
495
+ * <p>The parameter accepts an integer, which Amazon EC2 interprets as a percentage.</p>
496
+ * <p>If you set <code>TargetCapacityUnitType</code> to <code>vcpu</code> or
497
+ * <code>memory-mib</code>, the price protection threshold is based on the per vCPU or per
498
+ * memory price instead of the per instance price.</p>
499
+ * <note>
500
+ * <p>Only one of <code>SpotMaxPricePercentageOverLowestPrice</code> or
501
+ * <code>MaxSpotPriceAsPercentageOfOptimalOnDemandPrice</code> can be specified. If you
502
+ * don't specify either, Amazon EC2 will automatically apply optimal price protection to
503
+ * consistently select from a wide range of instance types. To indicate no price protection
504
+ * threshold for Spot Instances, meaning you want to consider all instance types that match your
505
+ * attributes, include one of these parameters and specify a high value, such as
506
+ * <code>999999</code>.</p>
507
+ * </note>
388
508
  * @public
389
509
  */
390
- TransitGatewayConfiguration?: TransitGatewayConfigurationInputStructure | undefined;
510
+ MaxSpotPriceAsPercentageOfOptimalOnDemandPrice?: number | undefined;
391
511
  /**
392
- * <p>The device posture options for the Client VPN endpoint. Use this parameter to specify the device trust providers that the endpoint uses to evaluate the security posture of connecting devices.</p>
512
+ * <p>The baseline performance to consider, using an instance family as a baseline reference.
513
+ * The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this
514
+ * baseline to guide instance type selection, but there is no guarantee that the selected
515
+ * instance types will always exceed the baseline for every application. Currently, this
516
+ * parameter only supports CPU performance as a baseline performance factor. For more
517
+ * information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection">Performance protection</a> in the <i>Amazon EC2 User Guide</i>.</p>
393
518
  * @public
394
519
  */
395
- DevicePostureOptions?: DevicePostureOptions | undefined;
520
+ BaselinePerformanceFactors?: BaselinePerformanceFactorsRequest | undefined;
521
+ /**
522
+ * <p>Specifies whether instance types must support encrypting in-transit traffic between
523
+ * instances. For more information, including the supported instance types, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/data-protection.html#encryption-transit">Encryption in
524
+ * transit</a> in the <i>Amazon EC2 User Guide</i>.</p>
525
+ * <p>Default: <code>false</code>
526
+ * </p>
527
+ * @public
528
+ */
529
+ RequireEncryptionInTransit?: boolean | undefined;
396
530
  }
397
531
  /**
398
- * <p>Describes the state of a Client VPN endpoint.</p>
532
+ * <p>Information about an instance type to use in a Capacity Reservation Fleet.</p>
399
533
  * @public
400
534
  */
401
- export interface ClientVpnEndpointStatus {
535
+ export interface ReservationFleetInstanceSpecification {
402
536
  /**
403
- * <p>The state of the Client VPN endpoint. Possible states include:</p>
404
- * <ul>
405
- * <li>
406
- * <p>
407
- * <code>pending-associate</code> - The Client VPN endpoint has been created but no target networks
408
- * have been associated. The Client VPN endpoint cannot accept connections.</p>
409
- * </li>
410
- * <li>
411
- * <p>
412
- * <code>available</code> - The Client VPN endpoint has been created and a target network has been
413
- * associated. The Client VPN endpoint can accept connections.</p>
414
- * </li>
415
- * <li>
416
- * <p>
417
- * <code>deleting</code> - The Client VPN endpoint is being deleted. The Client VPN endpoint cannot accept
418
- * connections.</p>
419
- * </li>
420
- * <li>
421
- * <p>
422
- * <code>deleted</code> - The Client VPN endpoint has been deleted. The Client VPN endpoint cannot accept
423
- * connections.</p>
424
- * </li>
425
- * <li>
426
- * <p>
427
- * <code>pending</code> - The Client VPN endpoint has been created with a Transit Gateway configuration and is waiting for the Transit Gateway attachment to be accepted. The Client VPN endpoint cannot accept connections.</p>
428
- * </li>
429
- * </ul>
537
+ * <p>The instance type for which the Capacity Reservation Fleet reserves capacity.</p>
430
538
  * @public
431
539
  */
432
- Code?: ClientVpnEndpointStatusCode | undefined;
540
+ InstanceType?: _InstanceType | undefined;
433
541
  /**
434
- * <p>A message about the status of the Client VPN endpoint.</p>
542
+ * <p>The type of operating system for which the Capacity Reservation Fleet reserves
543
+ * capacity.</p>
435
544
  * @public
436
545
  */
437
- Message?: string | undefined;
438
- }
439
- /**
440
- * @public
441
- */
442
- export interface CreateClientVpnEndpointResult {
546
+ InstancePlatform?: CapacityReservationInstancePlatform | undefined;
443
547
  /**
444
- * <p>The ID of the Client VPN endpoint.</p>
548
+ * <p>The number of capacity units provided by the specified instance type. This value,
549
+ * together with the total target capacity that you specify for the Fleet determine the
550
+ * number of instances for which the Fleet reserves capacity. Both values are based on
551
+ * units that make sense for your workload. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/crfleet-concepts.html#target-capacity">Total target
552
+ * capacity</a> in the <i>Amazon EC2 User Guide</i>.</p>
445
553
  * @public
446
554
  */
447
- ClientVpnEndpointId?: string | undefined;
555
+ Weight?: number | undefined;
448
556
  /**
449
- * <p>The current state of the Client VPN endpoint.</p>
557
+ * <p>The Availability Zone in which the Capacity Reservation Fleet reserves the capacity. A
558
+ * Capacity Reservation Fleet can't span Availability Zones. All instance type
559
+ * specifications that you specify for the Fleet must use the same Availability
560
+ * Zone.</p>
450
561
  * @public
451
562
  */
452
- Status?: ClientVpnEndpointStatus | undefined;
563
+ AvailabilityZone?: string | undefined;
453
564
  /**
454
- * <p>The DNS name to be used by clients when establishing their VPN session.</p>
565
+ * <p>The ID of the Availability Zone in which the Capacity Reservation Fleet reserves the
566
+ * capacity. A Capacity Reservation Fleet can't span Availability Zones. All instance type
567
+ * specifications that you specify for the Fleet must use the same Availability
568
+ * Zone.</p>
455
569
  * @public
456
570
  */
457
- DnsName?: string | undefined;
571
+ AvailabilityZoneId?: string | undefined;
572
+ /**
573
+ * <p>Indicates whether the Capacity Reservation Fleet supports EBS-optimized instances
574
+ * types. This optimization provides dedicated throughput to Amazon EBS and an
575
+ * optimized configuration stack to provide optimal I/O performance. This optimization
576
+ * isn't available with all instance types. Additional usage charges apply when using
577
+ * EBS-optimized instance types.</p>
578
+ * @public
579
+ */
580
+ EbsOptimized?: boolean | undefined;
581
+ /**
582
+ * <p>The priority to assign to the instance type. This value is used to determine which of
583
+ * the instance types specified for the Fleet should be prioritized for use. A lower value
584
+ * indicates a high priority. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/crfleet-concepts.html#instance-priority">Instance type
585
+ * priority</a> in the <i>Amazon EC2 User Guide</i>.</p>
586
+ * @public
587
+ */
588
+ Priority?: number | undefined;
458
589
  }
459
590
  /**
460
591
  * @public
461
592
  */
462
- export interface CreateClientVpnRouteRequest {
593
+ export interface CreateCapacityReservationFleetRequest {
463
594
  /**
464
- * <p>The ID of the Client VPN endpoint to which to add the route.</p>
595
+ * <p>The strategy used by the Capacity Reservation Fleet to determine which of the
596
+ * specified instance types to use. Currently, only the <code>prioritized</code> allocation
597
+ * strategy is supported. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/crfleet-concepts.html#allocation-strategy"> Allocation
598
+ * strategy</a> in the <i>Amazon EC2 User Guide</i>.</p>
599
+ * <p>Valid values: <code>prioritized</code>
600
+ * </p>
465
601
  * @public
466
602
  */
467
- ClientVpnEndpointId: string | undefined;
603
+ AllocationStrategy?: string | undefined;
468
604
  /**
469
- * <p>The IPv4 address range, in CIDR notation, of the route destination. For example:</p>
605
+ * <p>Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html">Ensure Idempotency</a>.</p>
606
+ * @public
607
+ */
608
+ ClientToken?: string | undefined;
609
+ /**
610
+ * <p>Information about the instance types for which to reserve the capacity.</p>
611
+ * @public
612
+ */
613
+ InstanceTypeSpecifications?: ReservationFleetInstanceSpecification[] | undefined;
614
+ /**
615
+ * <p>Reserved for internal use.</p>
616
+ * @public
617
+ */
618
+ InstanceRequirements?: InstanceRequirementsRequest | undefined;
619
+ /**
620
+ * <p>Reserved for internal use.</p>
621
+ * @public
622
+ */
623
+ AvailabilityZone?: string | undefined;
624
+ /**
625
+ * <p>Reserved for internal use.</p>
626
+ * @public
627
+ */
628
+ AvailabilityZoneId?: string | undefined;
629
+ /**
630
+ * <p>Indicates the tenancy of the Capacity Reservation Fleet. All Capacity Reservations in
631
+ * the Fleet inherit this tenancy. The Capacity Reservation Fleet can have one of the
632
+ * following tenancy settings:</p>
470
633
  * <ul>
471
634
  * <li>
472
- * <p>To add a route for Internet access, enter <code>0.0.0.0/0</code>
473
- * </p>
474
- * </li>
475
- * <li>
476
- * <p>To add a route for a peered VPC, enter the peered VPC's IPv4 CIDR range</p>
477
- * </li>
478
- * <li>
479
- * <p>To add a route for an on-premises network, enter the Amazon Web Services Site-to-Site VPN connection's IPv4 CIDR range</p>
635
+ * <p>
636
+ * <code>default</code> - The Capacity Reservation Fleet is created on hardware
637
+ * that is shared with other Amazon Web Services accounts.</p>
480
638
  * </li>
481
639
  * <li>
482
- * <p>To add a route for the local network, enter the client CIDR range</p>
640
+ * <p>
641
+ * <code>dedicated</code> - The Capacity Reservations are created on single-tenant
642
+ * hardware that is dedicated to a single Amazon Web Services account.</p>
483
643
  * </li>
484
644
  * </ul>
485
645
  * @public
486
646
  */
487
- DestinationCidrBlock: string | undefined;
647
+ Tenancy?: FleetCapacityReservationTenancy | undefined;
488
648
  /**
489
- * <p>The ID of the subnet through which you want to route traffic. The specified subnet must be
490
- * an existing target network of the Client VPN endpoint.</p>
491
- * <p>Alternatively, if you're adding a route for the local network, specify <code>local</code>.</p>
492
- * <p>This parameter is required for VPC-based Client VPN endpoints. For Transit Gateway-based endpoints, this parameter is not required.</p>
649
+ * <p>The total number of capacity units to be reserved by the Capacity Reservation Fleet.
650
+ * This value, together with the instance type weights that you assign to each instance
651
+ * type used by the Fleet determine the number of instances for which the Fleet reserves
652
+ * capacity. Both values are based on units that make sense for your workload. For more
653
+ * information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/crfleet-concepts.html#target-capacity">Total target
654
+ * capacity</a> in the <i>Amazon EC2 User Guide</i>.</p>
493
655
  * @public
494
656
  */
495
- TargetVpcSubnetId?: string | undefined;
657
+ TotalTargetCapacity: number | undefined;
496
658
  /**
497
- * <p>A brief description of the route.</p>
659
+ * <p>The date and time at which the Capacity Reservation Fleet expires. When the Capacity
660
+ * Reservation Fleet expires, its state changes to <code>expired</code> and all of the
661
+ * Capacity Reservations in the Fleet expire.</p>
662
+ * <p>The Capacity Reservation Fleet expires within an hour after the specified time. For
663
+ * example, if you specify <code>5/31/2019</code>, <code>13:30:55</code>, the Capacity
664
+ * Reservation Fleet is guaranteed to expire between <code>13:30:55</code> and
665
+ * <code>14:30:55</code> on <code>5/31/2019</code>. </p>
498
666
  * @public
499
667
  */
500
- Description?: string | undefined;
668
+ EndDate?: Date | undefined;
501
669
  /**
502
- * <p>Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
503
- * For more information, see <a href="https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html">Ensuring idempotency</a>.</p>
670
+ * <p>Indicates the type of instance launches that the Capacity Reservation Fleet accepts.
671
+ * All Capacity Reservations in the Fleet inherit this instance matching criteria.</p>
672
+ * <p>Currently, Capacity Reservation Fleets support <code>open</code> instance matching
673
+ * criteria only. This means that instances that have matching attributes (instance type,
674
+ * platform, and Availability Zone) run in the Capacity Reservations automatically.
675
+ * Instances do not need to explicitly target a Capacity Reservation Fleet to use its
676
+ * reserved capacity.</p>
504
677
  * @public
505
678
  */
506
- ClientToken?: string | undefined;
679
+ InstanceMatchCriteria?: FleetInstanceMatchCriteria | undefined;
680
+ /**
681
+ * <p>The tags to assign to the Capacity Reservation Fleet. The tags are automatically
682
+ * assigned to the Capacity Reservations in the Fleet.</p>
683
+ * @public
684
+ */
685
+ TagSpecifications?: TagSpecification[] | undefined;
507
686
  /**
508
687
  * <p>Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
509
688
  * @public
@@ -511,1029 +690,1028 @@ export interface CreateClientVpnRouteRequest {
511
690
  DryRun?: boolean | undefined;
512
691
  }
513
692
  /**
514
- * <p>Describes the state of a Client VPN endpoint route.</p>
693
+ * <p>Information about a Capacity Reservation in a Capacity Reservation Fleet.</p>
515
694
  * @public
516
695
  */
517
- export interface ClientVpnRouteStatus {
696
+ export interface FleetCapacityReservation {
518
697
  /**
519
- * <p>The state of the Client VPN endpoint route.</p>
698
+ * <p>The ID of the Capacity Reservation.</p>
520
699
  * @public
521
700
  */
522
- Code?: ClientVpnRouteStatusCode | undefined;
701
+ CapacityReservationId?: string | undefined;
523
702
  /**
524
- * <p>A message about the status of the Client VPN endpoint route, if applicable.</p>
703
+ * <p>The ID of the Availability Zone in which the Capacity Reservation reserves
704
+ * capacity.</p>
525
705
  * @public
526
706
  */
527
- Message?: string | undefined;
528
- }
529
- /**
530
- * @public
531
- */
532
- export interface CreateClientVpnRouteResult {
533
- /**
534
- * <p>The current state of the route.</p>
535
- * @public
536
- */
537
- Status?: ClientVpnRouteStatus | undefined;
538
- }
539
- /**
540
- * @public
541
- */
542
- export interface CreateCoipCidrRequest {
543
- /**
544
- * <p>
545
- * A customer-owned IP address range to create.
546
- * </p>
547
- * @public
548
- */
549
- Cidr: string | undefined;
707
+ AvailabilityZoneId?: string | undefined;
550
708
  /**
551
- * <p>
552
- * The ID of the address pool.
553
- * </p>
709
+ * <p>The instance type for which the Capacity Reservation reserves capacity.</p>
554
710
  * @public
555
711
  */
556
- CoipPoolId: string | undefined;
712
+ InstanceType?: _InstanceType | undefined;
557
713
  /**
558
- * <p>Checks whether you have the required permissions for the action, without actually making the request,
559
- * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
560
- * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
714
+ * <p>The type of operating system for which the Capacity Reservation reserves
715
+ * capacity.</p>
561
716
  * @public
562
717
  */
563
- DryRun?: boolean | undefined;
564
- }
565
- /**
566
- * <p>
567
- * Information about a customer-owned IP address range.
568
- * </p>
569
- * @public
570
- */
571
- export interface CoipCidr {
718
+ InstancePlatform?: CapacityReservationInstancePlatform | undefined;
572
719
  /**
573
- * <p>
574
- * An address range in a customer-owned IP address space.
575
- * </p>
720
+ * <p>The Availability Zone in which the Capacity Reservation reserves capacity.</p>
576
721
  * @public
577
722
  */
578
- Cidr?: string | undefined;
723
+ AvailabilityZone?: string | undefined;
579
724
  /**
580
- * <p>
581
- * The ID of the address pool.
582
- * </p>
725
+ * <p>The total number of instances for which the Capacity Reservation reserves
726
+ * capacity.</p>
583
727
  * @public
584
728
  */
585
- CoipPoolId?: string | undefined;
729
+ TotalInstanceCount?: number | undefined;
586
730
  /**
587
- * <p>
588
- * The ID of the local gateway route table.
589
- * </p>
731
+ * <p>The number of capacity units fulfilled by the Capacity Reservation. For more
732
+ * information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/crfleet-concepts.html#target-capacity">Total target
733
+ * capacity</a> in the <i>Amazon EC2 User Guide</i>.</p>
590
734
  * @public
591
735
  */
592
- LocalGatewayRouteTableId?: string | undefined;
593
- }
594
- /**
595
- * @public
596
- */
597
- export interface CreateCoipCidrResult {
736
+ FulfilledCapacity?: number | undefined;
598
737
  /**
599
- * <p>
600
- * Information about a range of customer-owned IP addresses.
601
- * </p>
738
+ * <p>Indicates whether the Capacity Reservation reserves capacity for EBS-optimized
739
+ * instance types.</p>
602
740
  * @public
603
741
  */
604
- CoipCidr?: CoipCidr | undefined;
605
- }
606
- /**
607
- * @public
608
- */
609
- export interface CreateCoipPoolRequest {
742
+ EbsOptimized?: boolean | undefined;
610
743
  /**
611
- * <p>
612
- * The ID of the local gateway route table.
613
- * </p>
744
+ * <p>The date and time at which the Capacity Reservation was created.</p>
614
745
  * @public
615
746
  */
616
- LocalGatewayRouteTableId: string | undefined;
747
+ CreateDate?: Date | undefined;
617
748
  /**
618
- * <p>
619
- * The tags to assign to the CoIP address pool.
620
- * </p>
749
+ * <p>The weight of the instance type in the Capacity Reservation Fleet. For more
750
+ * information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/crfleet-concepts.html#instance-weight">Instance type
751
+ * weight</a> in the <i>Amazon EC2 User Guide</i>.</p>
621
752
  * @public
622
753
  */
623
- TagSpecifications?: TagSpecification[] | undefined;
754
+ Weight?: number | undefined;
624
755
  /**
625
- * <p>Checks whether you have the required permissions for the action, without actually making the request,
626
- * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
627
- * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
756
+ * <p>The priority of the instance type in the Capacity Reservation Fleet. For more
757
+ * information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/crfleet-concepts.html#instance-priority">Instance type
758
+ * priority</a> in the <i>Amazon EC2 User Guide</i>.</p>
628
759
  * @public
629
760
  */
630
- DryRun?: boolean | undefined;
761
+ Priority?: number | undefined;
631
762
  }
632
763
  /**
633
- * <p>Describes a customer-owned address pool.</p>
634
764
  * @public
635
765
  */
636
- export interface CoipPool {
766
+ export interface CreateCapacityReservationFleetResult {
637
767
  /**
638
- * <p>The ID of the address pool.</p>
768
+ * <p>The ID of the Capacity Reservation Fleet.</p>
639
769
  * @public
640
770
  */
641
- PoolId?: string | undefined;
771
+ CapacityReservationFleetId?: string | undefined;
642
772
  /**
643
- * <p>The address ranges of the address pool.</p>
773
+ * <p>The status of the Capacity Reservation Fleet.</p>
644
774
  * @public
645
775
  */
646
- PoolCidrs?: string[] | undefined;
776
+ State?: CapacityReservationFleetState | undefined;
647
777
  /**
648
- * <p>The ID of the local gateway route table.</p>
778
+ * <p>The total number of capacity units for which the Capacity Reservation Fleet reserves
779
+ * capacity.</p>
649
780
  * @public
650
781
  */
651
- LocalGatewayRouteTableId?: string | undefined;
782
+ TotalTargetCapacity?: number | undefined;
652
783
  /**
653
- * <p>The tags.</p>
784
+ * <p>The requested capacity units that have been successfully reserved.</p>
654
785
  * @public
655
786
  */
656
- Tags?: Tag[] | undefined;
787
+ TotalFulfilledCapacity?: number | undefined;
657
788
  /**
658
- * <p>The ARN of the address pool.</p>
789
+ * <p>The instance matching criteria for the Capacity Reservation Fleet.</p>
659
790
  * @public
660
791
  */
661
- PoolArn?: string | undefined;
662
- }
663
- /**
664
- * @public
665
- */
666
- export interface CreateCoipPoolResult {
792
+ InstanceMatchCriteria?: FleetInstanceMatchCriteria | undefined;
667
793
  /**
668
- * <p>Information about the CoIP address pool.</p>
794
+ * <p>The allocation strategy used by the Capacity Reservation Fleet.</p>
669
795
  * @public
670
796
  */
671
- CoipPool?: CoipPool | undefined;
672
- }
673
- /**
674
- * <p>Contains the parameters for CreateCustomerGateway.</p>
675
- * @public
676
- */
677
- export interface CreateCustomerGatewayRequest {
797
+ AllocationStrategy?: string | undefined;
678
798
  /**
679
- * <p>For customer gateway devices that support BGP, specify the device's ASN. You must specify either <code>BgpAsn</code> or <code>BgpAsnExtended</code> when creating the customer gateway. If the ASN is larger than <code>2,147,483,647</code>, you must use <code>BgpAsnExtended</code>.</p>
680
- * <p>Default: 65000</p>
681
- * <p>Valid values: <code>1</code> to <code>2,147,483,647</code>
682
- * </p>
799
+ * <p>The date and time at which the Capacity Reservation Fleet was created.</p>
683
800
  * @public
684
801
  */
685
- BgpAsn?: number | undefined;
802
+ CreateTime?: Date | undefined;
686
803
  /**
687
- * <p>
688
- * <i>This member has been deprecated.</i> The Internet-routable IP address for the customer gateway's outside interface. The
689
- * address must be static.</p>
804
+ * <p>The date and time at which the Capacity Reservation Fleet expires.</p>
690
805
  * @public
691
806
  */
692
- PublicIp?: string | undefined;
807
+ EndDate?: Date | undefined;
693
808
  /**
694
- * <p>The Amazon Resource Name (ARN) for the customer gateway certificate.</p>
809
+ * <p>Indicates the tenancy of Capacity Reservation Fleet.</p>
695
810
  * @public
696
811
  */
697
- CertificateArn?: string | undefined;
812
+ Tenancy?: FleetCapacityReservationTenancy | undefined;
698
813
  /**
699
- * <p>The type of VPN connection that this customer gateway supports
700
- * (<code>ipsec.1</code>).</p>
814
+ * <p>Information about the individual Capacity Reservations in the Capacity Reservation
815
+ * Fleet.</p>
701
816
  * @public
702
817
  */
703
- Type: GatewayType | undefined;
818
+ FleetCapacityReservations?: FleetCapacityReservation[] | undefined;
704
819
  /**
705
- * <p>The tags to apply to the customer gateway.</p>
820
+ * <p>The tags assigned to the Capacity Reservation Fleet.</p>
706
821
  * @public
707
822
  */
708
- TagSpecifications?: TagSpecification[] | undefined;
823
+ Tags?: Tag[] | undefined;
824
+ }
825
+ /**
826
+ * @public
827
+ */
828
+ export interface CreateCarrierGatewayRequest {
709
829
  /**
710
- * <p>A name for the customer gateway device.</p>
711
- * <p>Length Constraints: Up to 255 characters.</p>
830
+ * <p>The ID of the VPC to associate with the carrier gateway.</p>
712
831
  * @public
713
832
  */
714
- DeviceName?: string | undefined;
833
+ VpcId: string | undefined;
715
834
  /**
716
- * <p>The IP address for the customer gateway device's outside interface. The address must be
717
- * static. If <code>OutsideIpAddressType</code> in your VPN connection options is set to
718
- * <code>PrivateIpv4</code>, you can use an RFC6598 or RFC1918 private IPv4 address. If
719
- * <code>OutsideIpAddressType</code> is set to <code>Ipv6</code>, you can use an IPv6 address. </p>
835
+ * <p>The tags to associate with the carrier gateway.</p>
720
836
  * @public
721
837
  */
722
- IpAddress?: string | undefined;
838
+ TagSpecifications?: TagSpecification[] | undefined;
723
839
  /**
724
- * <p>For customer gateway devices that support BGP, specify the device's ASN. You must specify either <code>BgpAsn</code> or <code>BgpAsnExtended</code> when creating the customer gateway. If the ASN is larger than <code>2,147,483,647</code>, you must use <code>BgpAsnExtended</code>.</p>
725
- * <p>Valid values: <code>2,147,483,648</code> to <code>4,294,967,295</code>
726
- * </p>
840
+ * <p>Checks whether you have the required permissions for the action, without actually making the request,
841
+ * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
842
+ * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
727
843
  * @public
728
844
  */
729
- BgpAsnExtended?: number | undefined;
845
+ DryRun?: boolean | undefined;
730
846
  /**
731
- * <p>Checks whether you have the required permissions for the action, without actually
732
- * making the request, and provides an error response. If you have the required
733
- * permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is
734
- * <code>UnauthorizedOperation</code>.</p>
847
+ * <p>Unique, case-sensitive identifier that you provide to ensure the idempotency of the
848
+ * request. For more information, see <a href="https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html">How to ensure
849
+ * idempotency</a>.</p>
735
850
  * @public
736
851
  */
737
- DryRun?: boolean | undefined;
852
+ ClientToken?: string | undefined;
738
853
  }
739
854
  /**
740
- * <p>Describes a customer gateway.</p>
855
+ * <p>Describes a carrier gateway.</p>
741
856
  * @public
742
857
  */
743
- export interface CustomerGateway {
858
+ export interface CarrierGateway {
744
859
  /**
745
- * <p>The Amazon Resource Name (ARN) for the customer gateway certificate.</p>
860
+ * <p>The ID of the carrier gateway.</p>
746
861
  * @public
747
862
  */
748
- CertificateArn?: string | undefined;
863
+ CarrierGatewayId?: string | undefined;
749
864
  /**
750
- * <p>The name of customer gateway device.</p>
865
+ * <p>The ID of the VPC associated with the carrier gateway.</p>
751
866
  * @public
752
867
  */
753
- DeviceName?: string | undefined;
868
+ VpcId?: string | undefined;
754
869
  /**
755
- * <p>Any tags assigned to the customer gateway.</p>
870
+ * <p>The state of the carrier gateway.</p>
756
871
  * @public
757
872
  */
758
- Tags?: Tag[] | undefined;
873
+ State?: CarrierGatewayState | undefined;
759
874
  /**
760
- * <p>The customer gateway device's Border Gateway Protocol (BGP) Autonomous System Number
761
- * (ASN).</p>
762
- * <p>Valid values: <code>2,147,483,648</code> to <code>4,294,967,295</code>
763
- * </p>
875
+ * <p>The Amazon Web Services account ID of the owner of the carrier gateway.</p>
764
876
  * @public
765
877
  */
766
- BgpAsnExtended?: string | undefined;
878
+ OwnerId?: string | undefined;
767
879
  /**
768
- * <p>The ID of the customer gateway.</p>
880
+ * <p>The tags assigned to the carrier gateway.</p>
769
881
  * @public
770
882
  */
771
- CustomerGatewayId?: string | undefined;
883
+ Tags?: Tag[] | undefined;
884
+ }
885
+ /**
886
+ * @public
887
+ */
888
+ export interface CreateCarrierGatewayResult {
772
889
  /**
773
- * <p>The current state of the customer gateway (<code>pending | available | deleting |
774
- * deleted</code>).</p>
890
+ * <p>Information about the carrier gateway.</p>
775
891
  * @public
776
892
  */
777
- State?: string | undefined;
893
+ CarrierGateway?: CarrierGateway | undefined;
894
+ }
895
+ /**
896
+ * <p>Describes the Active Directory to be used for client authentication.</p>
897
+ * @public
898
+ */
899
+ export interface DirectoryServiceAuthenticationRequest {
778
900
  /**
779
- * <p>The type of VPN connection the customer gateway supports
780
- * (<code>ipsec.1</code>).</p>
901
+ * <p>The ID of the Active Directory to be used for authentication.</p>
781
902
  * @public
782
903
  */
783
- Type?: string | undefined;
904
+ DirectoryId?: string | undefined;
905
+ }
906
+ /**
907
+ * <p>The IAM SAML identity provider used for federated authentication.</p>
908
+ * @public
909
+ */
910
+ export interface FederatedAuthenticationRequest {
784
911
  /**
785
- * <p>
786
- * The IP address for the customer gateway device's outside interface. The address must be static. If <code>OutsideIpAddressType</code> in your VPN connection options is set to <code>PrivateIpv4</code>, you can use an RFC6598 or RFC1918 private IPv4 address. If
787
- * <code>OutsideIpAddressType</code> is set to <code>PublicIpv4</code>, you can use a public IPv4 address. If <code>OutsideIpAddressType</code> is set to <code>Ipv6</code>, you can use a public IPv6 address.
788
- * </p>
912
+ * <p>The Amazon Resource Name (ARN) of the IAM SAML identity provider.</p>
789
913
  * @public
790
914
  */
791
- IpAddress?: string | undefined;
915
+ SAMLProviderArn?: string | undefined;
792
916
  /**
793
- * <p>The customer gateway device's Border Gateway Protocol (BGP) Autonomous System Number
794
- * (ASN).</p>
795
- * <p>Valid values: <code>1</code> to <code>2,147,483,647</code>
796
- * </p>
917
+ * <p>The Amazon Resource Name (ARN) of the IAM SAML identity provider for the self-service portal.</p>
797
918
  * @public
798
919
  */
799
- BgpAsn?: string | undefined;
920
+ SelfServiceSAMLProviderArn?: string | undefined;
800
921
  }
801
922
  /**
802
- * <p>Contains the output of CreateCustomerGateway.</p>
923
+ * <p>Information about the client certificate to be used for authentication.</p>
803
924
  * @public
804
925
  */
805
- export interface CreateCustomerGatewayResult {
926
+ export interface CertificateAuthenticationRequest {
806
927
  /**
807
- * <p>Information about the customer gateway.</p>
928
+ * <p>The ARN of the client certificate. The certificate must be signed by a certificate
929
+ * authority (CA) and it must be provisioned in Certificate Manager (ACM).</p>
808
930
  * @public
809
931
  */
810
- CustomerGateway?: CustomerGateway | undefined;
932
+ ClientRootCertificateChainArn?: string | undefined;
811
933
  }
812
934
  /**
935
+ * <p>Describes the authentication method to be used by a Client VPN endpoint. For more information, see <a href="https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/authentication-authrization.html#client-authentication">Authentication</a>
936
+ * in the <i>Client VPN Administrator Guide</i>.</p>
813
937
  * @public
814
938
  */
815
- export interface CreateDefaultSubnetRequest {
939
+ export interface ClientVpnAuthenticationRequest {
816
940
  /**
817
- * <p>The Availability Zone in which to create the default subnet.</p>
818
- * <p>Either <code>AvailabilityZone</code> or <code>AvailabilityZoneId</code> must be specified,
819
- * but not both.</p>
941
+ * <p>The type of client authentication to be used.</p>
820
942
  * @public
821
943
  */
822
- AvailabilityZone?: string | undefined;
944
+ Type?: ClientVpnAuthenticationType | undefined;
823
945
  /**
824
- * <p>Checks whether you have the required permissions for the action, without actually making the request,
825
- * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
826
- * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
946
+ * <p>Information about the Active Directory to be used, if applicable. You must provide this information if <b>Type</b> is <code>directory-service-authentication</code>.</p>
827
947
  * @public
828
948
  */
829
- DryRun?: boolean | undefined;
949
+ ActiveDirectory?: DirectoryServiceAuthenticationRequest | undefined;
830
950
  /**
831
- * <p>Indicates whether to create an IPv6 only subnet. If you already have a default subnet
832
- * for this Availability Zone, you must delete it before you can create an IPv6 only subnet.</p>
951
+ * <p>Information about the authentication certificates to be used, if applicable. You must provide this information if <b>Type</b> is <code>certificate-authentication</code>.</p>
833
952
  * @public
834
953
  */
835
- Ipv6Native?: boolean | undefined;
954
+ MutualAuthentication?: CertificateAuthenticationRequest | undefined;
836
955
  /**
837
- * <p>The ID of the Availability Zone.</p>
838
- * <p>Either <code>AvailabilityZone</code> or <code>AvailabilityZoneId</code> must be specified,
839
- * but not both.</p>
956
+ * <p>Information about the IAM SAML identity provider to be used, if applicable. You must provide this information if <b>Type</b> is <code>federated-authentication</code>.</p>
840
957
  * @public
841
958
  */
842
- AvailabilityZoneId?: string | undefined;
959
+ FederatedAuthentication?: FederatedAuthenticationRequest | undefined;
843
960
  }
844
961
  /**
845
- * <p>The state of VPC Block Public Access (BPA).</p>
962
+ * <p>The options for managing connection authorization for new client connections.</p>
846
963
  * @public
847
964
  */
848
- export interface BlockPublicAccessStates {
965
+ export interface ClientConnectOptions {
849
966
  /**
850
- * <p>The mode of VPC BPA.</p>
851
- * <ul>
852
- * <li>
853
- * <p>
854
- * <code>off</code>: VPC BPA is not enabled and traffic is allowed to and from internet gateways and egress-only internet gateways in this Region.</p>
855
- * </li>
856
- * <li>
857
- * <p>
858
- * <code>block-bidirectional</code>: Block all traffic to and from internet gateways and egress-only internet gateways in this Region (except for excluded VPCs and subnets).</p>
859
- * </li>
860
- * <li>
861
- * <p>
862
- * <code>block-ingress</code>: Block all internet traffic to the VPCs in this Region (except for VPCs or subnets which are excluded). Only traffic to and from NAT gateways and egress-only internet gateways is allowed because these gateways only allow outbound connections to be established.</p>
863
- * </li>
864
- * </ul>
967
+ * <p>Indicates whether client connect options are enabled. The default is <code>false</code> (not enabled).</p>
865
968
  * @public
866
969
  */
867
- InternetGatewayBlockMode?: BlockPublicAccessMode | undefined;
970
+ Enabled?: boolean | undefined;
971
+ /**
972
+ * <p>The Amazon Resource Name (ARN) of the Lambda function used for connection authorization.</p>
973
+ * @public
974
+ */
975
+ LambdaFunctionArn?: string | undefined;
868
976
  }
869
977
  /**
870
- * <p>Describes the options for instance hostnames.</p>
978
+ * <p>Options for enabling a customizable text banner that will be displayed on
979
+ * Amazon Web Services provided clients when a VPN session is established.</p>
871
980
  * @public
872
981
  */
873
- export interface PrivateDnsNameOptionsOnLaunch {
874
- /**
875
- * <p>The type of hostname for EC2 instances. For IPv4 only subnets, an instance DNS name
876
- * must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name
877
- * must be based on the instance ID. For dual-stack subnets, you can specify whether DNS
878
- * names use the instance IPv4 address or the instance ID.</p>
879
- * @public
880
- */
881
- HostnameType?: HostnameType | undefined;
982
+ export interface ClientLoginBannerOptions {
882
983
  /**
883
- * <p>Indicates whether to respond to DNS queries for instance hostnames with DNS A
884
- * records.</p>
984
+ * <p>Enable or disable a customizable text banner that will be displayed on
985
+ * Amazon Web Services provided clients when a VPN session is established.</p>
986
+ * <p>Valid values: <code>true | false</code>
987
+ * </p>
988
+ * <p>Default value: <code>false</code>
989
+ * </p>
885
990
  * @public
886
991
  */
887
- EnableResourceNameDnsARecord?: boolean | undefined;
992
+ Enabled?: boolean | undefined;
888
993
  /**
889
- * <p>Indicates whether to respond to DNS queries for instance hostname with DNS AAAA
890
- * records.</p>
994
+ * <p>Customizable text that will be displayed in a banner on Amazon Web Services provided
995
+ * clients when a VPN session is established. UTF-8 encoded characters only. Maximum of
996
+ * 1400 characters.</p>
891
997
  * @public
892
998
  */
893
- EnableResourceNameDnsAAAARecord?: boolean | undefined;
999
+ BannerText?: string | undefined;
894
1000
  }
895
1001
  /**
896
- * <p>Describes a subnet.</p>
1002
+ * <p>Client Route Enforcement is a feature of Client VPN that helps enforce administrator defined
1003
+ * routes on devices connected through the VPN. This feature helps improve your security
1004
+ * posture by ensuring that network traffic originating from a connected client is not
1005
+ * inadvertently sent outside the VPN tunnel.</p>
1006
+ * <p>Client Route Enforcement works by monitoring the route table of a connected device for
1007
+ * routing policy changes to the VPN connection. If the feature detects any VPN routing
1008
+ * policy modifications, it will automatically force an update to the route table,
1009
+ * reverting it back to the expected route configurations.</p>
897
1010
  * @public
898
1011
  */
899
- export interface Subnet {
1012
+ export interface ClientRouteEnforcementOptions {
900
1013
  /**
901
- * <p>The AZ ID of the subnet.</p>
1014
+ * <p>Enable or disable Client Route Enforcement. The state can either be <code>true</code>
1015
+ * (enabled) or <code>false</code> (disabled). The default is <code>false</code>.</p>
1016
+ * <p>Valid values: <code>true | false</code>
1017
+ * </p>
1018
+ * <p>Default value: <code>false</code>
1019
+ * </p>
902
1020
  * @public
903
1021
  */
904
- AvailabilityZoneId?: string | undefined;
1022
+ Enforced?: boolean | undefined;
1023
+ }
1024
+ /**
1025
+ * <p>Describes the client connection logging options for the Client VPN endpoint.</p>
1026
+ * @public
1027
+ */
1028
+ export interface ConnectionLogOptions {
905
1029
  /**
906
- * <p>
907
- * Indicates the device position for local network interfaces in this subnet. For example,
908
- * <code>1</code> indicates local network interfaces in this subnet are the secondary
909
- * network interface (eth1).
910
- * </p>
1030
+ * <p>Indicates whether connection logging is enabled.</p>
911
1031
  * @public
912
1032
  */
913
- EnableLniAtDeviceIndex?: number | undefined;
1033
+ Enabled?: boolean | undefined;
914
1034
  /**
915
- * <p>Indicates whether a network interface created in this subnet (including a network
916
- * interface created by <a>RunInstances</a>) receives a customer-owned IPv4 address.</p>
1035
+ * <p>The name of the CloudWatch Logs log group. Required if connection logging is enabled.</p>
917
1036
  * @public
918
1037
  */
919
- MapCustomerOwnedIpOnLaunch?: boolean | undefined;
1038
+ CloudwatchLogGroup?: string | undefined;
920
1039
  /**
921
- * <p>The customer-owned IPv4 address pool associated with the subnet.</p>
1040
+ * <p>The name of the CloudWatch Logs log stream to which the connection data is published.</p>
922
1041
  * @public
923
1042
  */
924
- CustomerOwnedIpv4Pool?: string | undefined;
1043
+ CloudwatchLogStream?: string | undefined;
925
1044
  /**
926
- * <p>The ID of the Amazon Web Services account that owns the subnet.</p>
1045
+ * <p>Specifies whether to include the authorization policy evaluation context in the connection logs for the Client VPN endpoint.</p>
927
1046
  * @public
928
1047
  */
929
- OwnerId?: string | undefined;
1048
+ IncludeAuthorizationPolicyContext?: boolean | undefined;
1049
+ }
1050
+ /**
1051
+ * <p>Describes a device trust provider to configure for a Client VPN endpoint.</p>
1052
+ * @public
1053
+ */
1054
+ export interface ClientVpnTrustProviderRequest {
930
1055
  /**
931
- * <p>Indicates whether a network interface created in this subnet (including a network
932
- * interface created by <a>RunInstances</a>) receives an IPv6 address.</p>
1056
+ * <p>The type of the device trust provider. Possible values include:</p>
1057
+ * <ul>
1058
+ * <li>
1059
+ * <p>
1060
+ * <code>crowdstrike</code> - CrowdStrike device trust provider.</p>
1061
+ * </li>
1062
+ * <li>
1063
+ * <p>
1064
+ * <code>jamf</code> - Jamf device trust provider.</p>
1065
+ * </li>
1066
+ * <li>
1067
+ * <p>
1068
+ * <code>jumpcloud</code> - JumpCloud device trust provider.</p>
1069
+ * </li>
1070
+ * </ul>
933
1071
  * @public
934
1072
  */
935
- AssignIpv6AddressOnCreation?: boolean | undefined;
1073
+ TrustProviderType?: ClientVpnDeviceTrustProviderType | undefined;
936
1074
  /**
937
- * <p>Information about the IPv6 CIDR blocks associated with the subnet.</p>
1075
+ * <p>The tenant ID associated with your device trust provider account.</p>
938
1076
  * @public
939
1077
  */
940
- Ipv6CidrBlockAssociationSet?: SubnetIpv6CidrBlockAssociation[] | undefined;
1078
+ TenantId?: string | undefined;
941
1079
  /**
942
- * <p>Any tags assigned to the subnet.</p>
1080
+ * <p>The URL of the public signing key that is used to verify the identity token issued by the device trust provider.</p>
943
1081
  * @public
944
1082
  */
945
- Tags?: Tag[] | undefined;
1083
+ PublicSigningKeyUrl?: string | undefined;
1084
+ }
1085
+ /**
1086
+ * <p>Describes the device posture options for a Client VPN endpoint. Device posture options specify the device trust providers that the endpoint uses to evaluate the security posture of connecting devices.</p>
1087
+ * @public
1088
+ */
1089
+ export interface DevicePostureOptions {
946
1090
  /**
947
- * <p>The Amazon Resource Name (ARN) of the subnet.</p>
1091
+ * <p>The device trust providers to configure for the Client VPN endpoint.</p>
948
1092
  * @public
949
1093
  */
950
- SubnetArn?: string | undefined;
1094
+ TrustProviders?: ClientVpnTrustProviderRequest[] | undefined;
951
1095
  /**
952
- * <p>The Amazon Resource Name (ARN) of the Outpost.</p>
1096
+ * <p>Indicates whether device posture evaluation is enabled for the Client VPN endpoint. Specify <code>false</code> to disable device posture, which clears the configured device trust providers.</p>
953
1097
  * @public
954
1098
  */
955
- OutpostArn?: string | undefined;
1099
+ Enabled?: boolean | undefined;
1100
+ }
1101
+ /**
1102
+ * <p>The Transit Gateway configuration for a Client VPN endpoint.</p>
1103
+ * @public
1104
+ */
1105
+ export interface TransitGatewayConfigurationInputStructure {
956
1106
  /**
957
- * <p>Indicates whether DNS queries made to the Amazon-provided DNS Resolver in this subnet
958
- * should return synthetic IPv6 addresses for IPv4-only destinations.</p>
1107
+ * <p>The ID of the Transit Gateway to associate with the Client VPN endpoint.</p>
959
1108
  * @public
960
1109
  */
961
- EnableDns64?: boolean | undefined;
1110
+ TransitGatewayId?: string | undefined;
962
1111
  /**
963
- * <p>Indicates whether this is an IPv6 only subnet.</p>
1112
+ * <p>The Availability Zone names for the Transit Gateway association. You can specify up to the maximum number of Availability Zones supported by the Transit Gateway. You cannot specify both <code>AvailabilityZones</code> and <code>AvailabilityZoneIds</code>.</p>
964
1113
  * @public
965
1114
  */
966
- Ipv6Native?: boolean | undefined;
1115
+ AvailabilityZones?: string[] | undefined;
967
1116
  /**
968
- * <p>The type of hostnames to assign to instances in the subnet at launch. An instance hostname
969
- * is based on the IPv4 address or ID of the instance.</p>
1117
+ * <p>The Availability Zone IDs for the Transit Gateway association. You can specify up to the maximum number of Availability Zones supported by the Transit Gateway. You cannot specify both <code>AvailabilityZones</code> and <code>AvailabilityZoneIds</code>.</p>
970
1118
  * @public
971
1119
  */
972
- PrivateDnsNameOptionsOnLaunch?: PrivateDnsNameOptionsOnLaunch | undefined;
1120
+ AvailabilityZoneIds?: string[] | undefined;
1121
+ }
1122
+ /**
1123
+ * @public
1124
+ */
1125
+ export interface CreateClientVpnEndpointRequest {
973
1126
  /**
974
- * <p>The state of VPC Block Public Access (BPA).</p>
1127
+ * <p>The IPv4 address range, in CIDR notation, from which to assign client IP addresses. The address range cannot overlap with the local CIDR of the VPC in which the associated subnet is located, or the routes that you add manually. The address range cannot be changed after the Client VPN endpoint has been created. Client CIDR range must have a size of at least /22 and must not be greater than /12.</p>
975
1128
  * @public
976
1129
  */
977
- BlockPublicAccessStates?: BlockPublicAccessStates | undefined;
1130
+ ClientCidrBlock?: string | undefined;
978
1131
  /**
979
- * <p>Indicates if this is a subnet used with Amazon Elastic VMware Service (EVS).
980
- * Possible values are <code>Elastic VMware Service</code> or no value. For more
981
- * information about Amazon EVS, see <a href="https://docs.aws.amazon.com/evs/latest/APIReference/Welcome.html">
982
- * <i>Amazon Elastic VMware Service
983
- * API Reference</i>
984
- * </a>.</p>
1132
+ * <p>The ARN of the server certificate. For more information, see
1133
+ * the <a href="https://docs.aws.amazon.com/acm/latest/userguide/">Certificate Manager User Guide</a>.</p>
985
1134
  * @public
986
1135
  */
987
- Type?: string | undefined;
1136
+ ServerCertificateArn: string | undefined;
988
1137
  /**
989
- * <p>The ID of the subnet.</p>
1138
+ * <p>Information about the authentication method to be used to authenticate clients.</p>
990
1139
  * @public
991
1140
  */
992
- SubnetId?: string | undefined;
1141
+ AuthenticationOptions: ClientVpnAuthenticationRequest[] | undefined;
993
1142
  /**
994
- * <p>The current state of the subnet.</p>
1143
+ * <p>Information about the client connection logging options.</p>
1144
+ * <p>If you enable client connection logging, data about client connections is sent to a
1145
+ * Cloudwatch Logs log stream. The following information is logged:</p>
995
1146
  * <ul>
996
1147
  * <li>
997
- * <p>
998
- * <code>failed</code>: The underlying infrastructure to support the subnet failed to provision
999
- * as expected.</p>
1148
+ * <p>Client connection requests</p>
1000
1149
  * </li>
1001
1150
  * <li>
1002
- * <p>
1003
- * <code>failed-insufficient-capacity</code>: The underlying infrastructure to support the subnet
1004
- * failed to provision due to a shortage of EC2 instance capacity.</p>
1151
+ * <p>Client connection results (successful and unsuccessful)</p>
1152
+ * </li>
1153
+ * <li>
1154
+ * <p>Reasons for unsuccessful client connection requests</p>
1155
+ * </li>
1156
+ * <li>
1157
+ * <p>Client connection termination time</p>
1005
1158
  * </li>
1006
1159
  * </ul>
1007
1160
  * @public
1008
1161
  */
1009
- State?: SubnetState | undefined;
1162
+ ConnectionLogOptions: ConnectionLogOptions | undefined;
1010
1163
  /**
1011
- * <p>The ID of the VPC the subnet is in.</p>
1164
+ * <p>Information about the DNS servers to be used for DNS resolution. A Client VPN endpoint can
1165
+ * have up to two DNS servers. If no DNS server is specified, the DNS address configured on the device is used for the DNS server.</p>
1012
1166
  * @public
1013
1167
  */
1014
- VpcId?: string | undefined;
1168
+ DnsServers?: string[] | undefined;
1015
1169
  /**
1016
- * <p>The IPv4 CIDR block assigned to the subnet.</p>
1170
+ * <p>The transport protocol to be used by the VPN session.</p>
1171
+ * <p>Default value: <code>udp</code>
1172
+ * </p>
1017
1173
  * @public
1018
1174
  */
1019
- CidrBlock?: string | undefined;
1175
+ TransportProtocol?: TransportProtocol | undefined;
1020
1176
  /**
1021
- * <p>The number of unused private IPv4 addresses in the subnet. The IPv4 addresses for any
1022
- * stopped instances are considered unavailable.</p>
1177
+ * <p>The port number to assign to the Client VPN endpoint for TCP and UDP traffic.</p>
1178
+ * <p>Valid Values: <code>443</code> | <code>1194</code>
1179
+ * </p>
1180
+ * <p>Default Value: <code>443</code>
1181
+ * </p>
1023
1182
  * @public
1024
1183
  */
1025
- AvailableIpAddressCount?: number | undefined;
1184
+ VpnPort?: number | undefined;
1026
1185
  /**
1027
- * <p>The Availability Zone of the subnet.</p>
1186
+ * <p>A brief description of the Client VPN endpoint.</p>
1028
1187
  * @public
1029
1188
  */
1030
- AvailabilityZone?: string | undefined;
1189
+ Description?: string | undefined;
1031
1190
  /**
1032
- * <p>Indicates whether this is the default subnet for the Availability Zone.</p>
1191
+ * <p>Indicates whether split-tunnel is enabled on the Client VPN endpoint.</p>
1192
+ * <p>By default, split-tunnel on a VPN endpoint is disabled.</p>
1193
+ * <p>For information about split-tunnel VPN endpoints, see <a href="https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/split-tunnel-vpn.html">Split-tunnel Client VPN endpoint</a> in the
1194
+ * <i>Client VPN Administrator Guide</i>.</p>
1033
1195
  * @public
1034
1196
  */
1035
- DefaultForAz?: boolean | undefined;
1197
+ SplitTunnel?: boolean | undefined;
1036
1198
  /**
1037
- * <p>Indicates whether instances launched in this subnet receive a public IPv4 address.</p>
1038
- * <p>Amazon Web Services charges for all public IPv4 addresses, including public IPv4 addresses
1039
- * associated with running instances and Elastic IP addresses. For more information, see the <i>Public IPv4 Address</i> tab on the <a href="http://aws.amazon.com/vpc/pricing/">Amazon VPC pricing page</a>.</p>
1199
+ * <p>Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
1040
1200
  * @public
1041
1201
  */
1042
- MapPublicIpOnLaunch?: boolean | undefined;
1043
- }
1044
- /**
1045
- * @public
1046
- */
1047
- export interface CreateDefaultSubnetResult {
1202
+ DryRun?: boolean | undefined;
1048
1203
  /**
1049
- * <p>Information about the subnet.</p>
1204
+ * <p>Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
1205
+ * For more information, see <a href="https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html">Ensuring idempotency</a>.</p>
1050
1206
  * @public
1051
1207
  */
1052
- Subnet?: Subnet | undefined;
1053
- }
1054
- /**
1055
- * @public
1056
- */
1057
- export interface CreateDefaultVpcRequest {
1208
+ ClientToken?: string | undefined;
1058
1209
  /**
1059
- * <p>Checks whether you have the required permissions for the action, without actually making the request,
1060
- * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
1061
- * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
1062
- * @public
1063
- */
1064
- DryRun?: boolean | undefined;
1065
- }
1066
- /**
1067
- * <p>Describes an exclusion configuration for VPC Encryption Control.</p>
1068
- * <p>For more information, see <a href="https://docs.aws.amazon.com/vpc/latest/userguide/vpc-encryption-controls.html">Enforce VPC encryption in transit</a> in the <i>Amazon VPC User Guide</i>.</p>
1069
- * @public
1070
- */
1071
- export interface VpcEncryptionControlExclusion {
1072
- /**
1073
- * <p>The current state of the exclusion configuration.</p>
1074
- * @public
1075
- */
1076
- State?: VpcEncryptionControlExclusionState | undefined;
1077
- /**
1078
- * <p>A message providing additional information about the exclusion state.</p>
1079
- * @public
1080
- */
1081
- StateMessage?: string | undefined;
1082
- }
1083
- /**
1084
- * <p>Describes the exclusion configurations for various resource types in VPC Encryption Control.</p>
1085
- * <p>For more information, see <a href="https://docs.aws.amazon.com/vpc/latest/userguide/vpc-encryption-controls.html">Enforce VPC encryption in transit</a> in the <i>Amazon VPC User Guide</i>.</p>
1086
- * @public
1087
- */
1088
- export interface VpcEncryptionControlExclusions {
1089
- /**
1090
- * <p>The exclusion configuration for internet gateway traffic.</p>
1210
+ * <p>The tags to apply to the Client VPN endpoint during creation.</p>
1091
1211
  * @public
1092
1212
  */
1093
- InternetGateway?: VpcEncryptionControlExclusion | undefined;
1213
+ TagSpecifications?: TagSpecification[] | undefined;
1094
1214
  /**
1095
- * <p>The exclusion configuration for egress-only internet gateway traffic.</p>
1215
+ * <p>The IDs of one or more security groups to apply to the target network. You must also specify the ID of the VPC that contains the security groups.</p>
1096
1216
  * @public
1097
1217
  */
1098
- EgressOnlyInternetGateway?: VpcEncryptionControlExclusion | undefined;
1218
+ SecurityGroupIds?: string[] | undefined;
1099
1219
  /**
1100
- * <p>The exclusion configuration for NAT gateway traffic.</p>
1220
+ * <p>The ID of the VPC to associate with the Client VPN endpoint. If no security group IDs are specified in the request, the default security group for the VPC is applied.</p>
1101
1221
  * @public
1102
1222
  */
1103
- NatGateway?: VpcEncryptionControlExclusion | undefined;
1223
+ VpcId?: string | undefined;
1104
1224
  /**
1105
- * <p>The exclusion configuration for virtual private gateway traffic.</p>
1225
+ * <p>Specify whether to enable the self-service portal for the Client VPN endpoint.</p>
1226
+ * <p>Default Value: <code>enabled</code>
1227
+ * </p>
1106
1228
  * @public
1107
1229
  */
1108
- VirtualPrivateGateway?: VpcEncryptionControlExclusion | undefined;
1230
+ SelfServicePortal?: SelfServicePortal | undefined;
1109
1231
  /**
1110
- * <p>The exclusion configuration for VPC peering connection traffic.</p>
1232
+ * <p>The options for managing connection authorization for new client connections.</p>
1111
1233
  * @public
1112
1234
  */
1113
- VpcPeering?: VpcEncryptionControlExclusion | undefined;
1235
+ ClientConnectOptions?: ClientConnectOptions | undefined;
1114
1236
  /**
1115
- * <p>The exclusion configuration for Lambda function traffic.</p>
1237
+ * <p>The maximum VPN session duration time in hours.</p>
1238
+ * <p>Valid values: <code>8 | 10 | 12 | 24</code>
1239
+ * </p>
1240
+ * <p>Default value: <code>24</code>
1241
+ * </p>
1116
1242
  * @public
1117
1243
  */
1118
- Lambda?: VpcEncryptionControlExclusion | undefined;
1244
+ SessionTimeoutHours?: number | undefined;
1119
1245
  /**
1120
- * <p>The exclusion configuration for VPC Lattice traffic.</p>
1246
+ * <p>Options for enabling a customizable text banner that will be displayed on
1247
+ * Amazon Web Services provided clients when a VPN session is established.</p>
1121
1248
  * @public
1122
1249
  */
1123
- VpcLattice?: VpcEncryptionControlExclusion | undefined;
1250
+ ClientLoginBannerOptions?: ClientLoginBannerOptions | undefined;
1124
1251
  /**
1125
- * <p>The exclusion configuration for Elastic File System traffic.</p>
1252
+ * <p>Client route enforcement is a feature of the Client VPN service that helps enforce administrator defined routes on devices connected through the VPN. T
1253
+ * his feature helps improve your security posture by ensuring that network traffic originating from a connected client is not inadvertently sent outside the VPN tunnel.</p>
1254
+ * <p>Client route enforcement works by monitoring the route table of a connected device for routing policy changes to the VPN connection. If the feature detects any VPN routing policy modifications, it will automatically force an update to the route table,
1255
+ * reverting it back to the expected route configurations.</p>
1126
1256
  * @public
1127
1257
  */
1128
- ElasticFileSystem?: VpcEncryptionControlExclusion | undefined;
1129
- }
1130
- /**
1131
- * <p>Describes the configuration and state of VPC encryption controls.</p>
1132
- * <p>For more information, see <a href="https://docs.aws.amazon.com/vpc/latest/userguide/vpc-encryption-controls.html">Enforce VPC encryption in transit</a> in the <i>Amazon VPC User Guide</i>.</p>
1133
- * @public
1134
- */
1135
- export interface VpcEncryptionControl {
1258
+ ClientRouteEnforcementOptions?: ClientRouteEnforcementOptions | undefined;
1136
1259
  /**
1137
- * <p>The ID of the VPC associated with the encryption control configuration.</p>
1260
+ * <p>Indicates whether the client VPN session is disconnected after the maximum timeout specified in <code>SessionTimeoutHours</code> is reached. If <code>true</code>, users are prompted to reconnect client VPN. If <code>false</code>, client VPN attempts to reconnect automatically.
1261
+ * The default value is <code>true</code>.</p>
1138
1262
  * @public
1139
1263
  */
1140
- VpcId?: string | undefined;
1264
+ DisconnectOnSessionTimeout?: boolean | undefined;
1141
1265
  /**
1142
- * <p>The ID of the VPC Encryption Control configuration.</p>
1266
+ * <p>The IP address type for the Client VPN endpoint. Valid values are <code>ipv4</code>
1267
+ * (default) for IPv4 addressing only, <code>ipv6</code> for IPv6 addressing only, or <code>dual-stack</code> for both IPv4 and IPv6
1268
+ * addressing. When set to <code>dual-stack,</code> clients can connect to the endpoint
1269
+ * using either IPv4 or IPv6 addresses..</p>
1143
1270
  * @public
1144
1271
  */
1145
- VpcEncryptionControlId?: string | undefined;
1272
+ EndpointIpAddressType?: EndpointIpAddressType | undefined;
1146
1273
  /**
1147
- * <p>The encryption mode for the VPC Encryption Control configuration.</p>
1274
+ * <p>The IP address type for traffic within the Client VPN tunnel. Valid values are <code>ipv4</code> (default) for IPv4 traffic only, <code>ipv6</code> for IPv6 addressing only, or <code>dual-stack</code> for both IPv4 and IPv6 traffic. When set to <code>dual-stack</code>, clients can access both IPv4 and IPv6 resources through the VPN .</p>
1148
1275
  * @public
1149
1276
  */
1150
- Mode?: VpcEncryptionControlMode | undefined;
1277
+ TrafficIpAddressType?: TrafficIpAddressType | undefined;
1151
1278
  /**
1152
- * <p>The current state of the VPC Encryption Control configuration.</p>
1279
+ * <p>The Transit Gateway configuration for the Client VPN endpoint. Use this parameter to associate the endpoint with a Transit Gateway instead of a VPC. You cannot specify both <code>TransitGatewayConfiguration</code> and <code>VpcId</code>/<code>SecurityGroupIds</code>.</p>
1153
1280
  * @public
1154
1281
  */
1155
- State?: VpcEncryptionControlState | undefined;
1282
+ TransitGatewayConfiguration?: TransitGatewayConfigurationInputStructure | undefined;
1156
1283
  /**
1157
- * <p>A message providing additional information about the encryption control state.</p>
1284
+ * <p>The device posture options for the Client VPN endpoint. Use this parameter to specify the device trust providers that the endpoint uses to evaluate the security posture of connecting devices.</p>
1158
1285
  * @public
1159
1286
  */
1160
- StateMessage?: string | undefined;
1287
+ DevicePostureOptions?: DevicePostureOptions | undefined;
1288
+ }
1289
+ /**
1290
+ * <p>Describes the state of a Client VPN endpoint.</p>
1291
+ * @public
1292
+ */
1293
+ export interface ClientVpnEndpointStatus {
1161
1294
  /**
1162
- * <p>Information about resource exclusions for the VPC Encryption Control configuration.</p>
1295
+ * <p>The state of the Client VPN endpoint. Possible states include:</p>
1296
+ * <ul>
1297
+ * <li>
1298
+ * <p>
1299
+ * <code>pending-associate</code> - The Client VPN endpoint has been created but no target networks
1300
+ * have been associated. The Client VPN endpoint cannot accept connections.</p>
1301
+ * </li>
1302
+ * <li>
1303
+ * <p>
1304
+ * <code>available</code> - The Client VPN endpoint has been created and a target network has been
1305
+ * associated. The Client VPN endpoint can accept connections.</p>
1306
+ * </li>
1307
+ * <li>
1308
+ * <p>
1309
+ * <code>deleting</code> - The Client VPN endpoint is being deleted. The Client VPN endpoint cannot accept
1310
+ * connections.</p>
1311
+ * </li>
1312
+ * <li>
1313
+ * <p>
1314
+ * <code>deleted</code> - The Client VPN endpoint has been deleted. The Client VPN endpoint cannot accept
1315
+ * connections.</p>
1316
+ * </li>
1317
+ * <li>
1318
+ * <p>
1319
+ * <code>pending</code> - The Client VPN endpoint has been created with a Transit Gateway configuration and is waiting for the Transit Gateway attachment to be accepted. The Client VPN endpoint cannot accept connections.</p>
1320
+ * </li>
1321
+ * </ul>
1163
1322
  * @public
1164
1323
  */
1165
- ResourceExclusions?: VpcEncryptionControlExclusions | undefined;
1324
+ Code?: ClientVpnEndpointStatusCode | undefined;
1166
1325
  /**
1167
- * <p>The tags assigned to the VPC Encryption Control configuration.</p>
1326
+ * <p>A message about the status of the Client VPN endpoint.</p>
1168
1327
  * @public
1169
1328
  */
1170
- Tags?: Tag[] | undefined;
1329
+ Message?: string | undefined;
1171
1330
  }
1172
1331
  /**
1173
- * <p>Describes a VPC.</p>
1174
1332
  * @public
1175
1333
  */
1176
- export interface Vpc {
1177
- /**
1178
- * <p>The ID of the Amazon Web Services account that owns the VPC.</p>
1179
- * @public
1180
- */
1181
- OwnerId?: string | undefined;
1334
+ export interface CreateClientVpnEndpointResult {
1182
1335
  /**
1183
- * <p>The allowed tenancy of instances launched into the VPC.</p>
1336
+ * <p>The ID of the Client VPN endpoint.</p>
1184
1337
  * @public
1185
1338
  */
1186
- InstanceTenancy?: Tenancy | undefined;
1339
+ ClientVpnEndpointId?: string | undefined;
1187
1340
  /**
1188
- * <p>Information about the IPv6 CIDR blocks associated with the VPC.</p>
1341
+ * <p>The current state of the Client VPN endpoint.</p>
1189
1342
  * @public
1190
1343
  */
1191
- Ipv6CidrBlockAssociationSet?: VpcIpv6CidrBlockAssociation[] | undefined;
1344
+ Status?: ClientVpnEndpointStatus | undefined;
1192
1345
  /**
1193
- * <p>Information about the IPv4 CIDR blocks associated with the VPC.</p>
1346
+ * <p>The DNS name to be used by clients when establishing their VPN session.</p>
1194
1347
  * @public
1195
1348
  */
1196
- CidrBlockAssociationSet?: VpcCidrBlockAssociation[] | undefined;
1349
+ DnsName?: string | undefined;
1350
+ }
1351
+ /**
1352
+ * @public
1353
+ */
1354
+ export interface CreateClientVpnRouteRequest {
1197
1355
  /**
1198
- * <p>Indicates whether the VPC is the default VPC.</p>
1356
+ * <p>The ID of the Client VPN endpoint to which to add the route.</p>
1199
1357
  * @public
1200
1358
  */
1201
- IsDefault?: boolean | undefined;
1359
+ ClientVpnEndpointId: string | undefined;
1202
1360
  /**
1203
- * <p>Describes the configuration and state of VPC encryption controls.</p>
1204
- * <p>For more information, see <a href="https://docs.aws.amazon.com/vpc/latest/userguide/vpc-encryption-controls.html">Enforce VPC encryption in transit</a> in the <i>Amazon VPC User Guide</i>.</p>
1361
+ * <p>The IPv4 address range, in CIDR notation, of the route destination. For example:</p>
1362
+ * <ul>
1363
+ * <li>
1364
+ * <p>To add a route for Internet access, enter <code>0.0.0.0/0</code>
1365
+ * </p>
1366
+ * </li>
1367
+ * <li>
1368
+ * <p>To add a route for a peered VPC, enter the peered VPC's IPv4 CIDR range</p>
1369
+ * </li>
1370
+ * <li>
1371
+ * <p>To add a route for an on-premises network, enter the Amazon Web Services Site-to-Site VPN connection's IPv4 CIDR range</p>
1372
+ * </li>
1373
+ * <li>
1374
+ * <p>To add a route for the local network, enter the client CIDR range</p>
1375
+ * </li>
1376
+ * </ul>
1205
1377
  * @public
1206
1378
  */
1207
- EncryptionControl?: VpcEncryptionControl | undefined;
1379
+ DestinationCidrBlock: string | undefined;
1208
1380
  /**
1209
- * <p>Any tags assigned to the VPC.</p>
1381
+ * <p>The ID of the subnet through which you want to route traffic. The specified subnet must be
1382
+ * an existing target network of the Client VPN endpoint.</p>
1383
+ * <p>Alternatively, if you're adding a route for the local network, specify <code>local</code>.</p>
1384
+ * <p>This parameter is required for VPC-based Client VPN endpoints. For Transit Gateway-based endpoints, this parameter is not required.</p>
1210
1385
  * @public
1211
1386
  */
1212
- Tags?: Tag[] | undefined;
1387
+ TargetVpcSubnetId?: string | undefined;
1213
1388
  /**
1214
- * <p>The state of VPC Block Public Access (BPA).</p>
1389
+ * <p>A brief description of the route.</p>
1215
1390
  * @public
1216
1391
  */
1217
- BlockPublicAccessStates?: BlockPublicAccessStates | undefined;
1392
+ Description?: string | undefined;
1218
1393
  /**
1219
- * <p>The ID of the VPC.</p>
1394
+ * <p>Unique, case-sensitive identifier that you provide to ensure the idempotency of the request.
1395
+ * For more information, see <a href="https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html">Ensuring idempotency</a>.</p>
1220
1396
  * @public
1221
1397
  */
1222
- VpcId?: string | undefined;
1398
+ ClientToken?: string | undefined;
1223
1399
  /**
1224
- * <p>The current state of the VPC.</p>
1400
+ * <p>Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
1225
1401
  * @public
1226
1402
  */
1227
- State?: VpcState | undefined;
1403
+ DryRun?: boolean | undefined;
1404
+ }
1405
+ /**
1406
+ * <p>Describes the state of a Client VPN endpoint route.</p>
1407
+ * @public
1408
+ */
1409
+ export interface ClientVpnRouteStatus {
1228
1410
  /**
1229
- * <p>The primary IPv4 CIDR block for the VPC.</p>
1411
+ * <p>The state of the Client VPN endpoint route.</p>
1230
1412
  * @public
1231
1413
  */
1232
- CidrBlock?: string | undefined;
1414
+ Code?: ClientVpnRouteStatusCode | undefined;
1233
1415
  /**
1234
- * <p>The ID of the set of DHCP options you've associated with the VPC.</p>
1416
+ * <p>A message about the status of the Client VPN endpoint route, if applicable.</p>
1235
1417
  * @public
1236
1418
  */
1237
- DhcpOptionsId?: string | undefined;
1419
+ Message?: string | undefined;
1238
1420
  }
1239
1421
  /**
1240
1422
  * @public
1241
1423
  */
1242
- export interface CreateDefaultVpcResult {
1424
+ export interface CreateClientVpnRouteResult {
1243
1425
  /**
1244
- * <p>Information about the VPC.</p>
1426
+ * <p>The current state of the route.</p>
1245
1427
  * @public
1246
1428
  */
1247
- Vpc?: Vpc | undefined;
1429
+ Status?: ClientVpnRouteStatus | undefined;
1248
1430
  }
1249
1431
  /**
1250
1432
  * @public
1251
1433
  */
1252
- export interface CreateDelegateMacVolumeOwnershipTaskRequest {
1434
+ export interface CreateCoipCidrRequest {
1253
1435
  /**
1254
- * <p>Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html">Ensuring Idempotency</a>.</p>
1436
+ * <p>
1437
+ * A customer-owned IP address range to create.
1438
+ * </p>
1255
1439
  * @public
1256
1440
  */
1257
- ClientToken?: string | undefined;
1441
+ Cidr: string | undefined;
1258
1442
  /**
1259
- * <p>Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
1443
+ * <p>
1444
+ * The ID of the address pool.
1445
+ * </p>
1260
1446
  * @public
1261
1447
  */
1262
- DryRun?: boolean | undefined;
1448
+ CoipPoolId: string | undefined;
1263
1449
  /**
1264
- * <p>The ID of the Amazon EC2 Mac instance.</p>
1450
+ * <p>Checks whether you have the required permissions for the action, without actually making the request,
1451
+ * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
1452
+ * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
1265
1453
  * @public
1266
1454
  */
1267
- InstanceId: string | undefined;
1268
- /**
1269
- * <p>Specifies the following credentials:</p>
1270
- * <ul>
1271
- * <li>
1272
- * <p>
1273
- * <b>Internal disk administrative user</b>
1274
- * </p>
1275
- * <ul>
1276
- * <li>
1277
- * <p>
1278
- * <b>Username</b> - Only the default administrative user
1279
- * (<code>aws-managed-user</code>) is supported and it is used by default. You can't
1280
- * specify a different administrative user.</p>
1281
- * </li>
1282
- * <li>
1283
- * <p>
1284
- * <b>Password</b> - If you did not change the default
1285
- * password for <code>aws-managed-user</code>, specify the default password, which is
1286
- * <i>blank</i>. Otherwise, specify your password.</p>
1287
- * </li>
1288
- * </ul>
1289
- * </li>
1290
- * <li>
1291
- * <p>
1292
- * <b>Amazon EBS root volume administrative user</b>
1293
- * </p>
1294
- * <ul>
1295
- * <li>
1296
- * <p>
1297
- * <b>Username</b> - If you did not change the default
1298
- * administrative user, specify <code>ec2-user</code>. Otherwise, specify the username
1299
- * for your administrative user.</p>
1300
- * </li>
1301
- * <li>
1302
- * <p>
1303
- * <b>Password</b> - Specify the password for the
1304
- * administrative user.</p>
1305
- * </li>
1306
- * </ul>
1307
- * </li>
1308
- * </ul>
1309
- * <p>The credentials must be specified in the following JSON format:</p>
1310
- * <p>
1311
- * <code>\{
1312
- * "internalDiskPassword":"<i>internal-disk-admin_password</i>",
1313
- * "rootVolumeUsername":"<i>root-volume-admin_username</i>",
1314
- * "rootVolumepassword":"<i>root-volume-admin_password</i>"
1315
- * \}</code>
1316
- * </p>
1317
- * @public
1318
- */
1319
- MacCredentials: string | undefined;
1320
- /**
1321
- * <p>The tags to assign to the volume ownership delegation task.</p>
1322
- * @public
1323
- */
1324
- TagSpecifications?: TagSpecification[] | undefined;
1455
+ DryRun?: boolean | undefined;
1325
1456
  }
1326
1457
  /**
1327
- * <p>Describes the configuration for a System Integrity Protection (SIP) modification task.</p>
1458
+ * <p>
1459
+ * Information about a customer-owned IP address range.
1460
+ * </p>
1328
1461
  * @public
1329
1462
  */
1330
- export interface MacSystemIntegrityProtectionConfiguration {
1331
- /**
1332
- * <p>Indicates whether Apple Internal was enabled or disabled by the task.</p>
1333
- * @public
1334
- */
1335
- AppleInternal?: MacSystemIntegrityProtectionSettingStatus | undefined;
1463
+ export interface CoipCidr {
1336
1464
  /**
1337
- * <p>Indicates whether Base System was enabled or disabled by the task.</p>
1465
+ * <p>
1466
+ * An address range in a customer-owned IP address space.
1467
+ * </p>
1338
1468
  * @public
1339
1469
  */
1340
- BaseSystem?: MacSystemIntegrityProtectionSettingStatus | undefined;
1470
+ Cidr?: string | undefined;
1341
1471
  /**
1342
- * <p>Indicates whether Debugging Restrictions was enabled or disabled by the task.</p>
1472
+ * <p>
1473
+ * The ID of the address pool.
1474
+ * </p>
1343
1475
  * @public
1344
1476
  */
1345
- DebuggingRestrictions?: MacSystemIntegrityProtectionSettingStatus | undefined;
1477
+ CoipPoolId?: string | undefined;
1346
1478
  /**
1347
- * <p>Indicates whether Dtrace Restrictions was enabled or disabled by the task.</p>
1479
+ * <p>
1480
+ * The ID of the local gateway route table.
1481
+ * </p>
1348
1482
  * @public
1349
1483
  */
1350
- DTraceRestrictions?: MacSystemIntegrityProtectionSettingStatus | undefined;
1484
+ LocalGatewayRouteTableId?: string | undefined;
1485
+ }
1486
+ /**
1487
+ * @public
1488
+ */
1489
+ export interface CreateCoipCidrResult {
1351
1490
  /**
1352
- * <p>Indicates whether Filesystem Protections was enabled or disabled by the task.</p>
1491
+ * <p>
1492
+ * Information about a range of customer-owned IP addresses.
1493
+ * </p>
1353
1494
  * @public
1354
1495
  */
1355
- FilesystemProtections?: MacSystemIntegrityProtectionSettingStatus | undefined;
1496
+ CoipCidr?: CoipCidr | undefined;
1497
+ }
1498
+ /**
1499
+ * @public
1500
+ */
1501
+ export interface CreateCoipPoolRequest {
1356
1502
  /**
1357
- * <p>Indicates whether Kext Signing was enabled or disabled by the task.</p>
1503
+ * <p>
1504
+ * The ID of the local gateway route table.
1505
+ * </p>
1358
1506
  * @public
1359
1507
  */
1360
- KextSigning?: MacSystemIntegrityProtectionSettingStatus | undefined;
1508
+ LocalGatewayRouteTableId: string | undefined;
1361
1509
  /**
1362
- * <p>Indicates whether NVRAM Protections was enabled or disabled by the task.</p>
1510
+ * <p>
1511
+ * The tags to assign to the CoIP address pool.
1512
+ * </p>
1363
1513
  * @public
1364
1514
  */
1365
- NvramProtections?: MacSystemIntegrityProtectionSettingStatus | undefined;
1515
+ TagSpecifications?: TagSpecification[] | undefined;
1366
1516
  /**
1367
- * <p>Indicates SIP was enabled or disabled by the task.</p>
1517
+ * <p>Checks whether you have the required permissions for the action, without actually making the request,
1518
+ * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
1519
+ * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
1368
1520
  * @public
1369
1521
  */
1370
- Status?: MacSystemIntegrityProtectionSettingStatus | undefined;
1522
+ DryRun?: boolean | undefined;
1371
1523
  }
1372
1524
  /**
1373
- * <p>Information about a System Integrity Protection (SIP) modification task or volume
1374
- * ownership delegation task for an Amazon EC2 Mac instance.</p>
1525
+ * <p>Describes a customer-owned address pool.</p>
1375
1526
  * @public
1376
1527
  */
1377
- export interface MacModificationTask {
1378
- /**
1379
- * <p>The ID of the Amazon EC2 Mac instance.</p>
1380
- * @public
1381
- */
1382
- InstanceId?: string | undefined;
1528
+ export interface CoipPool {
1383
1529
  /**
1384
- * <p>The ID of task.</p>
1530
+ * <p>The ID of the address pool.</p>
1385
1531
  * @public
1386
1532
  */
1387
- MacModificationTaskId?: string | undefined;
1533
+ PoolId?: string | undefined;
1388
1534
  /**
1389
- * <p>[SIP modification tasks only] Information about the SIP
1390
- * configuration.</p>
1535
+ * <p>The address ranges of the address pool.</p>
1391
1536
  * @public
1392
1537
  */
1393
- MacSystemIntegrityProtectionConfig?: MacSystemIntegrityProtectionConfiguration | undefined;
1538
+ PoolCidrs?: string[] | undefined;
1394
1539
  /**
1395
- * <p>The date and time the task was created, in the UTC timezone
1396
- * (<code>YYYY-MM-DDThh:mm:ss.sssZ</code>).</p>
1540
+ * <p>The ID of the local gateway route table.</p>
1397
1541
  * @public
1398
1542
  */
1399
- StartTime?: Date | undefined;
1543
+ LocalGatewayRouteTableId?: string | undefined;
1400
1544
  /**
1401
- * <p>The tags assigned to the task.</p>
1545
+ * <p>The tags.</p>
1402
1546
  * @public
1403
1547
  */
1404
1548
  Tags?: Tag[] | undefined;
1405
1549
  /**
1406
- * <p>The state of the task.</p>
1407
- * @public
1408
- */
1409
- TaskState?: MacModificationTaskState | undefined;
1410
- /**
1411
- * <p>The type of task.</p>
1550
+ * <p>The ARN of the address pool.</p>
1412
1551
  * @public
1413
1552
  */
1414
- TaskType?: MacModificationTaskType | undefined;
1553
+ PoolArn?: string | undefined;
1415
1554
  }
1416
1555
  /**
1417
1556
  * @public
1418
1557
  */
1419
- export interface CreateDelegateMacVolumeOwnershipTaskResult {
1558
+ export interface CreateCoipPoolResult {
1420
1559
  /**
1421
- * <p>Information about the volume ownership delegation task.</p>
1560
+ * <p>Information about the CoIP address pool.</p>
1422
1561
  * @public
1423
1562
  */
1424
- MacModificationTask?: MacModificationTask | undefined;
1563
+ CoipPool?: CoipPool | undefined;
1425
1564
  }
1426
1565
  /**
1427
- * <p>Describes a DHCP configuration option.</p>
1566
+ * <p>Contains the parameters for CreateCustomerGateway.</p>
1428
1567
  * @public
1429
1568
  */
1430
- export interface NewDhcpConfiguration {
1569
+ export interface CreateCustomerGatewayRequest {
1431
1570
  /**
1432
- * <p>The name of a DHCP option.</p>
1571
+ * <p>For customer gateway devices that support BGP, specify the device's ASN. You must specify either <code>BgpAsn</code> or <code>BgpAsnExtended</code> when creating the customer gateway. If the ASN is larger than <code>2,147,483,647</code>, you must use <code>BgpAsnExtended</code>.</p>
1572
+ * <p>Default: 65000</p>
1573
+ * <p>Valid values: <code>1</code> to <code>2,147,483,647</code>
1574
+ * </p>
1433
1575
  * @public
1434
1576
  */
1435
- Key?: string | undefined;
1577
+ BgpAsn?: number | undefined;
1436
1578
  /**
1437
- * <p>The values for the DHCP option.</p>
1579
+ * <p>
1580
+ * <i>This member has been deprecated.</i> The Internet-routable IP address for the customer gateway's outside interface. The
1581
+ * address must be static.</p>
1438
1582
  * @public
1439
1583
  */
1440
- Values?: string[] | undefined;
1441
- }
1442
- /**
1443
- * @public
1444
- */
1445
- export interface CreateDhcpOptionsRequest {
1584
+ PublicIp?: string | undefined;
1446
1585
  /**
1447
- * <p>A DHCP configuration option.</p>
1586
+ * <p>The Amazon Resource Name (ARN) for the customer gateway certificate.</p>
1448
1587
  * @public
1449
1588
  */
1450
- DhcpConfigurations: NewDhcpConfiguration[] | undefined;
1589
+ CertificateArn?: string | undefined;
1451
1590
  /**
1452
- * <p>The tags to assign to the DHCP option.</p>
1591
+ * <p>The type of VPN connection that this customer gateway supports
1592
+ * (<code>ipsec.1</code>).</p>
1593
+ * @public
1594
+ */
1595
+ Type: GatewayType | undefined;
1596
+ /**
1597
+ * <p>The tags to apply to the customer gateway.</p>
1453
1598
  * @public
1454
1599
  */
1455
1600
  TagSpecifications?: TagSpecification[] | undefined;
1456
1601
  /**
1457
- * <p>Checks whether you have the required permissions for the action, without actually making the request,
1458
- * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
1459
- * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
1602
+ * <p>A name for the customer gateway device.</p>
1603
+ * <p>Length Constraints: Up to 255 characters.</p>
1460
1604
  * @public
1461
1605
  */
1462
- DryRun?: boolean | undefined;
1463
- }
1464
- /**
1465
- * <p>Describes a value for a resource attribute that is a String.</p>
1466
- * @public
1467
- */
1468
- export interface AttributeValue {
1606
+ DeviceName?: string | undefined;
1469
1607
  /**
1470
- * <p>The attribute value. The value is case-sensitive.</p>
1608
+ * <p>The IP address for the customer gateway device's outside interface. The address must be
1609
+ * static. If <code>OutsideIpAddressType</code> in your VPN connection options is set to
1610
+ * <code>PrivateIpv4</code>, you can use an RFC6598 or RFC1918 private IPv4 address. If
1611
+ * <code>OutsideIpAddressType</code> is set to <code>Ipv6</code>, you can use an IPv6 address. </p>
1471
1612
  * @public
1472
1613
  */
1473
- Value?: string | undefined;
1474
- }
1475
- /**
1476
- * <p>Describes a DHCP configuration option.</p>
1477
- * @public
1478
- */
1479
- export interface DhcpConfiguration {
1614
+ IpAddress?: string | undefined;
1480
1615
  /**
1481
- * <p>The name of a DHCP option.</p>
1616
+ * <p>For customer gateway devices that support BGP, specify the device's ASN. You must specify either <code>BgpAsn</code> or <code>BgpAsnExtended</code> when creating the customer gateway. If the ASN is larger than <code>2,147,483,647</code>, you must use <code>BgpAsnExtended</code>.</p>
1617
+ * <p>Valid values: <code>2,147,483,648</code> to <code>4,294,967,295</code>
1618
+ * </p>
1482
1619
  * @public
1483
1620
  */
1484
- Key?: string | undefined;
1621
+ BgpAsnExtended?: number | undefined;
1485
1622
  /**
1486
- * <p>The values for the DHCP option.</p>
1623
+ * <p>Checks whether you have the required permissions for the action, without actually
1624
+ * making the request, and provides an error response. If you have the required
1625
+ * permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is
1626
+ * <code>UnauthorizedOperation</code>.</p>
1487
1627
  * @public
1488
1628
  */
1489
- Values?: AttributeValue[] | undefined;
1629
+ DryRun?: boolean | undefined;
1490
1630
  }
1491
1631
  /**
1492
- * <p>The set of DHCP options.</p>
1632
+ * <p>Describes a customer gateway.</p>
1493
1633
  * @public
1494
1634
  */
1495
- export interface DhcpOptions {
1635
+ export interface CustomerGateway {
1496
1636
  /**
1497
- * <p>The ID of the Amazon Web Services account that owns the DHCP options set.</p>
1637
+ * <p>The Amazon Resource Name (ARN) for the customer gateway certificate.</p>
1498
1638
  * @public
1499
1639
  */
1500
- OwnerId?: string | undefined;
1640
+ CertificateArn?: string | undefined;
1501
1641
  /**
1502
- * <p>Any tags assigned to the DHCP options set.</p>
1642
+ * <p>The name of customer gateway device.</p>
1643
+ * @public
1644
+ */
1645
+ DeviceName?: string | undefined;
1646
+ /**
1647
+ * <p>Any tags assigned to the customer gateway.</p>
1503
1648
  * @public
1504
1649
  */
1505
1650
  Tags?: Tag[] | undefined;
1506
1651
  /**
1507
- * <p>The ID of the set of DHCP options.</p>
1652
+ * <p>The customer gateway device's Border Gateway Protocol (BGP) Autonomous System Number
1653
+ * (ASN).</p>
1654
+ * <p>Valid values: <code>2,147,483,648</code> to <code>4,294,967,295</code>
1655
+ * </p>
1508
1656
  * @public
1509
1657
  */
1510
- DhcpOptionsId?: string | undefined;
1658
+ BgpAsnExtended?: string | undefined;
1511
1659
  /**
1512
- * <p>The DHCP options in the set.</p>
1660
+ * <p>The ID of the customer gateway.</p>
1513
1661
  * @public
1514
1662
  */
1515
- DhcpConfigurations?: DhcpConfiguration[] | undefined;
1516
- }
1517
- /**
1663
+ CustomerGatewayId?: string | undefined;
1664
+ /**
1665
+ * <p>The current state of the customer gateway (<code>pending | available | deleting |
1666
+ * deleted</code>).</p>
1667
+ * @public
1668
+ */
1669
+ State?: string | undefined;
1670
+ /**
1671
+ * <p>The type of VPN connection the customer gateway supports
1672
+ * (<code>ipsec.1</code>).</p>
1673
+ * @public
1674
+ */
1675
+ Type?: string | undefined;
1676
+ /**
1677
+ * <p>
1678
+ * The IP address for the customer gateway device's outside interface. The address must be static. If <code>OutsideIpAddressType</code> in your VPN connection options is set to <code>PrivateIpv4</code>, you can use an RFC6598 or RFC1918 private IPv4 address. If
1679
+ * <code>OutsideIpAddressType</code> is set to <code>PublicIpv4</code>, you can use a public IPv4 address. If <code>OutsideIpAddressType</code> is set to <code>Ipv6</code>, you can use a public IPv6 address.
1680
+ * </p>
1681
+ * @public
1682
+ */
1683
+ IpAddress?: string | undefined;
1684
+ /**
1685
+ * <p>The customer gateway device's Border Gateway Protocol (BGP) Autonomous System Number
1686
+ * (ASN).</p>
1687
+ * <p>Valid values: <code>1</code> to <code>2,147,483,647</code>
1688
+ * </p>
1689
+ * @public
1690
+ */
1691
+ BgpAsn?: string | undefined;
1692
+ }
1693
+ /**
1694
+ * <p>Contains the output of CreateCustomerGateway.</p>
1518
1695
  * @public
1519
1696
  */
1520
- export interface CreateDhcpOptionsResult {
1697
+ export interface CreateCustomerGatewayResult {
1521
1698
  /**
1522
- * <p>A set of DHCP options.</p>
1699
+ * <p>Information about the customer gateway.</p>
1523
1700
  * @public
1524
1701
  */
1525
- DhcpOptions?: DhcpOptions | undefined;
1702
+ CustomerGateway?: CustomerGateway | undefined;
1526
1703
  }
1527
1704
  /**
1528
1705
  * @public
1529
1706
  */
1530
- export interface CreateEgressOnlyInternetGatewayRequest {
1707
+ export interface CreateDefaultSubnetRequest {
1531
1708
  /**
1532
- * <p>Unique, case-sensitive identifier that you provide to ensure the idempotency of the
1533
- * request. For more information, see <a href="https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html">Ensuring idempotency</a>.</p>
1709
+ * <p>The Availability Zone in which to create the default subnet.</p>
1710
+ * <p>Either <code>AvailabilityZone</code> or <code>AvailabilityZoneId</code> must be specified,
1711
+ * but not both.</p>
1534
1712
  * @public
1535
1713
  */
1536
- ClientToken?: string | undefined;
1714
+ AvailabilityZone?: string | undefined;
1537
1715
  /**
1538
1716
  * <p>Checks whether you have the required permissions for the action, without actually making the request,
1539
1717
  * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
@@ -1542,1025 +1720,1044 @@ export interface CreateEgressOnlyInternetGatewayRequest {
1542
1720
  */
1543
1721
  DryRun?: boolean | undefined;
1544
1722
  /**
1545
- * <p>The ID of the VPC for which to create the egress-only internet gateway.</p>
1723
+ * <p>Indicates whether to create an IPv6 only subnet. If you already have a default subnet
1724
+ * for this Availability Zone, you must delete it before you can create an IPv6 only subnet.</p>
1546
1725
  * @public
1547
1726
  */
1548
- VpcId: string | undefined;
1727
+ Ipv6Native?: boolean | undefined;
1549
1728
  /**
1550
- * <p>The tags to assign to the egress-only internet gateway.</p>
1729
+ * <p>The ID of the Availability Zone.</p>
1730
+ * <p>Either <code>AvailabilityZone</code> or <code>AvailabilityZoneId</code> must be specified,
1731
+ * but not both.</p>
1551
1732
  * @public
1552
1733
  */
1553
- TagSpecifications?: TagSpecification[] | undefined;
1734
+ AvailabilityZoneId?: string | undefined;
1554
1735
  }
1555
1736
  /**
1556
- * <p>Describes the attachment of a VPC to an internet gateway or an egress-only internet gateway.</p>
1737
+ * <p>The state of VPC Block Public Access (BPA).</p>
1557
1738
  * @public
1558
1739
  */
1559
- export interface InternetGatewayAttachment {
1560
- /**
1561
- * <p>The current state of the attachment. For an internet gateway, the state is
1562
- * <code>available</code> when attached to a VPC; otherwise, this value is not
1563
- * returned.</p>
1564
- * @public
1565
- */
1566
- State?: AttachmentStatus | undefined;
1740
+ export interface BlockPublicAccessStates {
1567
1741
  /**
1568
- * <p>The ID of the VPC.</p>
1742
+ * <p>The mode of VPC BPA.</p>
1743
+ * <ul>
1744
+ * <li>
1745
+ * <p>
1746
+ * <code>off</code>: VPC BPA is not enabled and traffic is allowed to and from internet gateways and egress-only internet gateways in this Region.</p>
1747
+ * </li>
1748
+ * <li>
1749
+ * <p>
1750
+ * <code>block-bidirectional</code>: Block all traffic to and from internet gateways and egress-only internet gateways in this Region (except for excluded VPCs and subnets).</p>
1751
+ * </li>
1752
+ * <li>
1753
+ * <p>
1754
+ * <code>block-ingress</code>: Block all internet traffic to the VPCs in this Region (except for VPCs or subnets which are excluded). Only traffic to and from NAT gateways and egress-only internet gateways is allowed because these gateways only allow outbound connections to be established.</p>
1755
+ * </li>
1756
+ * </ul>
1569
1757
  * @public
1570
1758
  */
1571
- VpcId?: string | undefined;
1759
+ InternetGatewayBlockMode?: BlockPublicAccessMode | undefined;
1572
1760
  }
1573
1761
  /**
1574
- * <p>Describes an egress-only internet gateway.</p>
1762
+ * <p>Describes the options for instance hostnames.</p>
1575
1763
  * @public
1576
1764
  */
1577
- export interface EgressOnlyInternetGateway {
1765
+ export interface PrivateDnsNameOptionsOnLaunch {
1578
1766
  /**
1579
- * <p>Information about the attachment of the egress-only internet gateway.</p>
1767
+ * <p>The type of hostname for EC2 instances. For IPv4 only subnets, an instance DNS name
1768
+ * must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name
1769
+ * must be based on the instance ID. For dual-stack subnets, you can specify whether DNS
1770
+ * names use the instance IPv4 address or the instance ID.</p>
1580
1771
  * @public
1581
1772
  */
1582
- Attachments?: InternetGatewayAttachment[] | undefined;
1773
+ HostnameType?: HostnameType | undefined;
1583
1774
  /**
1584
- * <p>The ID of the egress-only internet gateway.</p>
1775
+ * <p>Indicates whether to respond to DNS queries for instance hostnames with DNS A
1776
+ * records.</p>
1585
1777
  * @public
1586
1778
  */
1587
- EgressOnlyInternetGatewayId?: string | undefined;
1779
+ EnableResourceNameDnsARecord?: boolean | undefined;
1588
1780
  /**
1589
- * <p>The tags assigned to the egress-only internet gateway.</p>
1781
+ * <p>Indicates whether to respond to DNS queries for instance hostname with DNS AAAA
1782
+ * records.</p>
1590
1783
  * @public
1591
1784
  */
1592
- Tags?: Tag[] | undefined;
1785
+ EnableResourceNameDnsAAAARecord?: boolean | undefined;
1593
1786
  }
1594
1787
  /**
1788
+ * <p>Describes a subnet.</p>
1595
1789
  * @public
1596
1790
  */
1597
- export interface CreateEgressOnlyInternetGatewayResult {
1791
+ export interface Subnet {
1598
1792
  /**
1599
- * <p>Unique, case-sensitive identifier that you provide to ensure the idempotency of the
1600
- * request.</p>
1793
+ * <p>The AZ ID of the subnet.</p>
1601
1794
  * @public
1602
1795
  */
1603
- ClientToken?: string | undefined;
1796
+ AvailabilityZoneId?: string | undefined;
1604
1797
  /**
1605
- * <p>Information about the egress-only internet gateway.</p>
1798
+ * <p>
1799
+ * Indicates the device position for local network interfaces in this subnet. For example,
1800
+ * <code>1</code> indicates local network interfaces in this subnet are the secondary
1801
+ * network interface (eth1).
1802
+ * </p>
1606
1803
  * @public
1607
1804
  */
1608
- EgressOnlyInternetGateway?: EgressOnlyInternetGateway | undefined;
1609
- }
1610
- /**
1611
- * <p>The Amazon EC2 launch template that can be used by
1612
- * an EC2 Fleet to configure Amazon EC2 instances. You must specify either the ID or name of the launch template in the request, but not both.</p>
1613
- * <p>For information about launch templates, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html">Launch
1614
- * an instance from a launch template</a> in the
1615
- * <i>Amazon EC2 User Guide</i>.</p>
1616
- * @public
1617
- */
1618
- export interface FleetLaunchTemplateSpecificationRequest {
1805
+ EnableLniAtDeviceIndex?: number | undefined;
1619
1806
  /**
1620
- * <p>The ID of the launch template.</p>
1621
- * <p>You must specify the <code>LaunchTemplateId</code> or the <code>LaunchTemplateName</code>, but not both.</p>
1807
+ * <p>Indicates whether a network interface created in this subnet (including a network
1808
+ * interface created by <a>RunInstances</a>) receives a customer-owned IPv4 address.</p>
1622
1809
  * @public
1623
1810
  */
1624
- LaunchTemplateId?: string | undefined;
1811
+ MapCustomerOwnedIpOnLaunch?: boolean | undefined;
1625
1812
  /**
1626
- * <p>The name of the launch template.</p>
1627
- * <p>You must specify the <code>LaunchTemplateName</code> or the <code>LaunchTemplateId</code>, but not both.</p>
1813
+ * <p>The customer-owned IPv4 address pool associated with the subnet.</p>
1628
1814
  * @public
1629
1815
  */
1630
- LaunchTemplateName?: string | undefined;
1816
+ CustomerOwnedIpv4Pool?: string | undefined;
1631
1817
  /**
1632
- * <p>The launch template version number, <code>$Latest</code>, or <code>$Default</code>. You must specify a value, otherwise the request fails.</p>
1633
- * <p>If the value is <code>$Latest</code>, Amazon EC2 uses the latest version of the launch template.</p>
1634
- * <p>If the value is <code>$Default</code>, Amazon EC2 uses the default version of the launch template.</p>
1818
+ * <p>The ID of the Amazon Web Services account that owns the subnet.</p>
1635
1819
  * @public
1636
1820
  */
1637
- Version?: string | undefined;
1821
+ OwnerId?: string | undefined;
1638
1822
  /**
1639
- * <p>The base64-encoded user data for instances launched by the fleet. User data is limited
1640
- * to 16 KB, in raw form, before it is base64-encoded.</p>
1641
- * <p>Supported only for fleets of type <code>instant</code>.</p>
1823
+ * <p>Indicates whether a network interface created in this subnet (including a network
1824
+ * interface created by <a>RunInstances</a>) receives an IPv6 address.</p>
1642
1825
  * @public
1643
1826
  */
1644
- LaunchTemplateSpecificationUserData?: string | undefined;
1645
- }
1646
- /**
1647
- * <p>Describes a block device for an EBS volume.</p>
1648
- * @public
1649
- */
1650
- export interface FleetEbsBlockDeviceRequest {
1827
+ AssignIpv6AddressOnCreation?: boolean | undefined;
1651
1828
  /**
1652
- * <p>Indicates whether the encryption state of an EBS volume is changed while being restored
1653
- * from a backing snapshot. The effect of setting the encryption state to <code>true</code>
1654
- * depends on the volume origin (new or from a snapshot), starting encryption state,
1655
- * ownership, and whether encryption by default is enabled. For more information, see <a href="https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption.html">Amazon EBS
1656
- * encryption</a> in the <i>Amazon EBS User Guide</i>.</p>
1657
- * <p>In no case can you remove encryption from an encrypted volume.</p>
1658
- * <p>Encrypted volumes can only be attached to instances that support Amazon EBS encryption. For
1659
- * more information, see <a href="https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption-requirements.html#ebs-encryption_supported_instances">Supported instance types</a>.</p>
1660
- * <p>This parameter is not returned by <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeImageAttribute">DescribeImageAttribute</a>.</p>
1661
- * <p>For <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateImage">CreateImage</a> and <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RegisterImage">RegisterImage</a>, whether you
1662
- * can include this parameter, and the allowed values differ depending on the type of block
1663
- * device mapping you are creating.</p>
1664
- * <ul>
1665
- * <li>
1666
- * <p>If you are creating a block device mapping for a <b>new (empty)
1667
- * volume</b>, you can include this parameter, and specify either
1668
- * <code>true</code> for an encrypted volume, or <code>false</code> for an
1669
- * unencrypted volume. If you omit this parameter, it defaults to <code>false</code>
1670
- * (unencrypted).</p>
1671
- * </li>
1672
- * <li>
1673
- * <p>If you are creating a block device mapping from an <b>existing encrypted or
1674
- * unencrypted snapshot</b>, you must omit this parameter. If you include this
1675
- * parameter, the request will fail, regardless of the value that you specify.</p>
1676
- * </li>
1677
- * <li>
1678
- * <p>If you are creating a block device mapping from an <b>existing unencrypted
1679
- * volume</b>, you can include this parameter, but you must specify
1680
- * <code>false</code>. If you specify <code>true</code>, the request will fail. In
1681
- * this case, we recommend that you omit the parameter.</p>
1682
- * </li>
1683
- * <li>
1684
- * <p>If you are creating a block device mapping from an <b>existing encrypted
1685
- * volume</b>, you can include this parameter, and specify either
1686
- * <code>true</code> or <code>false</code>. However, if you specify
1687
- * <code>false</code>, the parameter is ignored and the block device mapping is
1688
- * always encrypted. In this case, we recommend that you omit the parameter.</p>
1689
- * </li>
1690
- * </ul>
1829
+ * <p>Information about the IPv6 CIDR blocks associated with the subnet.</p>
1691
1830
  * @public
1692
1831
  */
1693
- Encrypted?: boolean | undefined;
1832
+ Ipv6CidrBlockAssociationSet?: SubnetIpv6CidrBlockAssociation[] | undefined;
1694
1833
  /**
1695
- * <p>Indicates whether the EBS volume is deleted on instance termination. For more
1696
- * information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/preserving-volumes-on-termination.html">Preserve data when
1697
- * an instance is terminated</a> in the <i>Amazon EC2 User Guide</i>.</p>
1834
+ * <p>Any tags assigned to the subnet.</p>
1698
1835
  * @public
1699
1836
  */
1700
- DeleteOnTermination?: boolean | undefined;
1837
+ Tags?: Tag[] | undefined;
1701
1838
  /**
1702
- * <p>The number of I/O operations per second (IOPS). For <code>gp3</code>, <code>io1</code>, and <code>io2</code> volumes,
1703
- * this represents the number of IOPS that are provisioned for the volume. For <code>gp2</code>
1704
- * volumes, this represents the baseline performance of the volume and the rate at which
1705
- * the volume accumulates I/O credits for bursting.</p>
1706
- * <p>The following are the supported values for each volume type:</p>
1707
- * <ul>
1708
- * <li>
1709
- * <p>
1710
- * <code>gp3</code>: 3,000 - 80,000 IOPS</p>
1711
- * </li>
1712
- * <li>
1713
- * <p>
1714
- * <code>io1</code>: 100 - 64,000 IOPS</p>
1715
- * </li>
1716
- * <li>
1717
- * <p>
1718
- * <code>io2</code>: 100 - 256,000 IOPS</p>
1719
- * </li>
1720
- * </ul>
1721
- * <p>For <code>io2</code> volumes, you can achieve up to 256,000 IOPS on
1722
- * <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances">instances
1723
- * built on the Nitro System</a>. On other instances, you can achieve performance up to 32,000 IOPS.</p>
1724
- * <p>This parameter is required for <code>io1</code> and <code>io2</code> volumes. The default for <code>gp3</code> volumes
1725
- * is 3,000 IOPS.</p>
1839
+ * <p>The Amazon Resource Name (ARN) of the subnet.</p>
1726
1840
  * @public
1727
1841
  */
1728
- Iops?: number | undefined;
1842
+ SubnetArn?: string | undefined;
1729
1843
  /**
1730
- * <p>The throughput that the volume supports, in MiB/s.</p>
1731
- * <p>This parameter is valid only for <code>gp3</code> volumes.</p>
1732
- * <p>Valid Range: Minimum value of 125. Maximum value of 2,000.</p>
1844
+ * <p>The Amazon Resource Name (ARN) of the Outpost.</p>
1733
1845
  * @public
1734
1846
  */
1735
- Throughput?: number | undefined;
1847
+ OutpostArn?: string | undefined;
1736
1848
  /**
1737
- * <p>Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key
1738
- * to use for EBS encryption.</p>
1739
- * <p>This parameter is only supported on <code>BlockDeviceMapping</code> objects called by
1740
- * <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet.html">CreateFleet</a>, <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html">RequestSpotInstances</a>, and <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html">RunInstances</a>.</p>
1849
+ * <p>Indicates whether DNS queries made to the Amazon-provided DNS Resolver in this subnet
1850
+ * should return synthetic IPv6 addresses for IPv4-only destinations.</p>
1741
1851
  * @public
1742
1852
  */
1743
- KmsKeyId?: string | undefined;
1853
+ EnableDns64?: boolean | undefined;
1744
1854
  /**
1745
- * <p>The ID of the snapshot.</p>
1855
+ * <p>Indicates whether this is an IPv6 only subnet.</p>
1746
1856
  * @public
1747
1857
  */
1748
- SnapshotId?: string | undefined;
1858
+ Ipv6Native?: boolean | undefined;
1749
1859
  /**
1750
- * <p>The size of the volume, in GiBs. You must specify either a snapshot ID or a volume
1751
- * size. If you specify a snapshot, the default is the snapshot size. You can specify a
1752
- * volume size that is equal to or larger than the snapshot size.</p>
1753
- * <p>The following are the supported sizes for each volume type:</p>
1860
+ * <p>The type of hostnames to assign to instances in the subnet at launch. An instance hostname
1861
+ * is based on the IPv4 address or ID of the instance.</p>
1862
+ * @public
1863
+ */
1864
+ PrivateDnsNameOptionsOnLaunch?: PrivateDnsNameOptionsOnLaunch | undefined;
1865
+ /**
1866
+ * <p>The state of VPC Block Public Access (BPA).</p>
1867
+ * @public
1868
+ */
1869
+ BlockPublicAccessStates?: BlockPublicAccessStates | undefined;
1870
+ /**
1871
+ * <p>Indicates if this is a subnet used with Amazon Elastic VMware Service (EVS).
1872
+ * Possible values are <code>Elastic VMware Service</code> or no value. For more
1873
+ * information about Amazon EVS, see <a href="https://docs.aws.amazon.com/evs/latest/APIReference/Welcome.html">
1874
+ * <i>Amazon Elastic VMware Service
1875
+ * API Reference</i>
1876
+ * </a>.</p>
1877
+ * @public
1878
+ */
1879
+ Type?: string | undefined;
1880
+ /**
1881
+ * <p>The ID of the subnet.</p>
1882
+ * @public
1883
+ */
1884
+ SubnetId?: string | undefined;
1885
+ /**
1886
+ * <p>The current state of the subnet.</p>
1754
1887
  * <ul>
1755
1888
  * <li>
1756
1889
  * <p>
1757
- * <code>gp2</code>: 1 - 16,384 GiB</p>
1758
- * </li>
1759
- * <li>
1760
- * <p>
1761
- * <code>gp3</code>: 1 - 65,536 GiB</p>
1762
- * </li>
1763
- * <li>
1764
- * <p>
1765
- * <code>io1</code>: 4 - 16,384 GiB</p>
1766
- * </li>
1767
- * <li>
1768
- * <p>
1769
- * <code>io2</code>: 4 - 65,536 GiB</p>
1770
- * </li>
1771
- * <li>
1772
- * <p>
1773
- * <code>st1</code> and <code>sc1</code>: 125 - 16,384 GiB</p>
1890
+ * <code>failed</code>: The underlying infrastructure to support the subnet failed to provision
1891
+ * as expected.</p>
1774
1892
  * </li>
1775
1893
  * <li>
1776
1894
  * <p>
1777
- * <code>standard</code>: 1 - 1024 GiB</p>
1895
+ * <code>failed-insufficient-capacity</code>: The underlying infrastructure to support the subnet
1896
+ * failed to provision due to a shortage of EC2 instance capacity.</p>
1778
1897
  * </li>
1779
1898
  * </ul>
1780
1899
  * @public
1781
1900
  */
1782
- VolumeSize?: number | undefined;
1783
- /**
1784
- * <p>The volume type. For more information, see <a href="https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html">Amazon EBS volume types</a> in the
1785
- * <i>Amazon EBS User Guide</i>.</p>
1786
- * @public
1787
- */
1788
- VolumeType?: VolumeType | undefined;
1789
- }
1790
- /**
1791
- * <p>Describes a block device mapping, which defines the EBS volumes and instance store
1792
- * volumes to attach to an instance at launch.</p>
1793
- * <p>To override a block device mapping specified in the launch template:</p>
1794
- * <ul>
1795
- * <li>
1796
- * <p>Specify the exact same <code>DeviceName</code> here as specified in the launch
1797
- * template.</p>
1798
- * </li>
1799
- * <li>
1800
- * <p>Only specify the parameters you want to change.</p>
1801
- * </li>
1802
- * <li>
1803
- * <p>Any parameters you don't specify here will keep their original launch template
1804
- * values.</p>
1805
- * </li>
1806
- * </ul>
1807
- * <p>To add a new block device mapping:</p>
1808
- * <ul>
1809
- * <li>
1810
- * <p>Specify a <code>DeviceName</code> that doesn't exist in the launch
1811
- * template.</p>
1812
- * </li>
1813
- * <li>
1814
- * <p>Specify all desired parameters here.</p>
1815
- * </li>
1816
- * </ul>
1817
- * @public
1818
- */
1819
- export interface FleetBlockDeviceMappingRequest {
1901
+ State?: SubnetState | undefined;
1820
1902
  /**
1821
- * <p>The device name (for example, <code>/dev/sdh</code> or <code>xvdh</code>).</p>
1903
+ * <p>The ID of the VPC the subnet is in.</p>
1822
1904
  * @public
1823
1905
  */
1824
- DeviceName?: string | undefined;
1906
+ VpcId?: string | undefined;
1825
1907
  /**
1826
- * <p>The virtual device name (<code>ephemeralN</code>). Instance store volumes are numbered
1827
- * starting from 0. An instance type with 2 available instance store volumes can specify
1828
- * mappings for <code>ephemeral0</code> and <code>ephemeral1</code>. The number of available
1829
- * instance store volumes depends on the instance type. After you connect to the instance, you
1830
- * must mount the volume.</p>
1831
- * <p>NVMe instance store volumes are automatically enumerated and assigned a device name.
1832
- * Including them in your block device mapping has no effect.</p>
1833
- * <p>Constraints: For M3 instances, you must specify instance store volumes in the block
1834
- * device mapping for the instance. When you launch an M3 instance, we ignore any instance
1835
- * store volumes specified in the block device mapping for the AMI.</p>
1908
+ * <p>The IPv4 CIDR block assigned to the subnet.</p>
1836
1909
  * @public
1837
1910
  */
1838
- VirtualName?: string | undefined;
1911
+ CidrBlock?: string | undefined;
1839
1912
  /**
1840
- * <p>Parameters used to automatically set up EBS volumes when the instance is
1841
- * launched.</p>
1913
+ * <p>The number of unused private IPv4 addresses in the subnet. The IPv4 addresses for any
1914
+ * stopped instances are considered unavailable.</p>
1842
1915
  * @public
1843
1916
  */
1844
- Ebs?: FleetEbsBlockDeviceRequest | undefined;
1917
+ AvailableIpAddressCount?: number | undefined;
1845
1918
  /**
1846
- * <p>To omit the device from the block device mapping, specify an empty string. When this
1847
- * property is specified, the device is removed from the block device mapping regardless of
1848
- * the assigned value.</p>
1919
+ * <p>The Availability Zone of the subnet.</p>
1849
1920
  * @public
1850
1921
  */
1851
- NoDevice?: string | undefined;
1852
- }
1853
- /**
1854
- * <p>Describes an IAM instance profile. Supported only for fleets of type
1855
- * <code>instant</code>.</p>
1856
- * @public
1857
- */
1858
- export interface FleetIamInstanceProfileSpecificationRequest {
1922
+ AvailabilityZone?: string | undefined;
1859
1923
  /**
1860
- * <p>The Amazon Resource Name (ARN) of the instance profile.</p>
1924
+ * <p>Indicates whether this is the default subnet for the Availability Zone.</p>
1861
1925
  * @public
1862
1926
  */
1863
- Arn?: string | undefined;
1927
+ DefaultForAz?: boolean | undefined;
1864
1928
  /**
1865
- * <p>The name of the instance profile.</p>
1929
+ * <p>Indicates whether instances launched in this subnet receive a public IPv4 address.</p>
1930
+ * <p>Amazon Web Services charges for all public IPv4 addresses, including public IPv4 addresses
1931
+ * associated with running instances and Elastic IP addresses. For more information, see the <i>Public IPv4 Address</i> tab on the <a href="http://aws.amazon.com/vpc/pricing/">Amazon VPC pricing page</a>.</p>
1866
1932
  * @public
1867
1933
  */
1868
- Name?: string | undefined;
1934
+ MapPublicIpOnLaunch?: boolean | undefined;
1869
1935
  }
1870
1936
  /**
1871
- * <p>The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see
1872
- * <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html">Amazon
1873
- * EBS–optimized instances</a> in the <i>Amazon EC2 User Guide</i>.</p>
1874
1937
  * @public
1875
1938
  */
1876
- export interface BaselineEbsBandwidthMbpsRequest {
1877
- /**
1878
- * <p>The minimum baseline bandwidth, in Mbps. To specify no minimum limit, omit
1879
- * this parameter.</p>
1880
- * @public
1881
- */
1882
- Min?: number | undefined;
1939
+ export interface CreateDefaultSubnetResult {
1883
1940
  /**
1884
- * <p>The maximum baseline bandwidth, in Mbps. To specify no maximum limit, omit
1885
- * this parameter.</p>
1941
+ * <p>Information about the subnet.</p>
1886
1942
  * @public
1887
1943
  */
1888
- Max?: number | undefined;
1944
+ Subnet?: Subnet | undefined;
1889
1945
  }
1890
1946
  /**
1891
- * <p>Specify an instance family to use as the baseline reference for CPU performance. All
1892
- * instance types that match your specified attributes will be compared against the CPU
1893
- * performance of the referenced instance family, regardless of CPU manufacturer or
1894
- * architecture.</p>
1895
- * <note>
1896
- * <p>Currently, only one instance family can be specified in the list.</p>
1897
- * </note>
1898
1947
  * @public
1899
1948
  */
1900
- export interface PerformanceFactorReferenceRequest {
1949
+ export interface CreateDefaultVpcRequest {
1901
1950
  /**
1902
- * <p>The instance family to use as a baseline reference.</p>
1903
- * <note>
1904
- * <p>Ensure that you specify the correct value for the instance family. The instance
1905
- * family is everything before the period (<code>.</code>) in the instance type name. For
1906
- * example, in the instance type <code>c6i.large</code>, the instance family is
1907
- * <code>c6i</code>, not <code>c6</code>. For more information, see <a href="https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-type-names.html">Amazon EC2
1908
- * instance type naming conventions</a> in <i>Amazon EC2 Instance
1909
- * Types</i>.</p>
1910
- * </note>
1911
- * <p>The following instance families are <i>not supported</i> for performance
1912
- * protection:</p>
1913
- * <ul>
1914
- * <li>
1915
- * <p>
1916
- * <code>c1</code>
1917
- * </p>
1918
- * </li>
1919
- * <li>
1920
- * <p>
1921
- * <code>g3</code> | <code>g3s</code>
1922
- * </p>
1923
- * </li>
1924
- * <li>
1925
- * <p>
1926
- * <code>hpc7g</code>
1927
- * </p>
1928
- * </li>
1929
- * <li>
1930
- * <p>
1931
- * <code>m1</code> | <code>m2</code>
1932
- * </p>
1933
- * </li>
1934
- * <li>
1935
- * <p>
1936
- * <code>mac1</code> | <code>mac2</code> | <code>mac2-m1ultra</code> |
1937
- * <code>mac2-m2</code> | <code>mac2-m2pro</code>
1938
- * </p>
1939
- * </li>
1940
- * <li>
1941
- * <p>
1942
- * <code>p3dn</code> | <code>p4d</code> | <code>p5</code>
1943
- * </p>
1944
- * </li>
1945
- * <li>
1946
- * <p>
1947
- * <code>t1</code>
1948
- * </p>
1949
- * </li>
1950
- * <li>
1951
- * <p>
1952
- * <code>u-12tb1</code> | <code>u-18tb1</code> | <code>u-24tb1</code> |
1953
- * <code>u-3tb1</code> | <code>u-6tb1</code> | <code>u-9tb1</code> |
1954
- * <code>u7i-12tb</code> | <code>u7in-16tb</code> | <code>u7in-24tb</code> |
1955
- * <code>u7in-32tb</code>
1956
- * </p>
1957
- * </li>
1958
- * </ul>
1959
- * <p>If you enable performance protection by specifying a supported instance family, the
1960
- * returned instance types will exclude the above unsupported instance families.</p>
1961
- * <p>If you specify an unsupported instance family as a value for baseline performance, the
1962
- * API returns an empty response for <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements">GetInstanceTypesFromInstanceRequirements</a> and an exception for <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet">CreateFleet</a>, <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet">RequestSpotFleet</a>, <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyFleet">ModifyFleet</a>, and <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifySpotFleetRequest">ModifySpotFleetRequest</a>.</p>
1951
+ * <p>Checks whether you have the required permissions for the action, without actually making the request,
1952
+ * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
1953
+ * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
1963
1954
  * @public
1964
1955
  */
1965
- InstanceFamily?: string | undefined;
1956
+ DryRun?: boolean | undefined;
1966
1957
  }
1967
1958
  /**
1968
- * <p>The CPU performance to consider, using an instance family as the baseline reference.</p>
1959
+ * <p>Describes an exclusion configuration for VPC Encryption Control.</p>
1960
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/vpc/latest/userguide/vpc-encryption-controls.html">Enforce VPC encryption in transit</a> in the <i>Amazon VPC User Guide</i>.</p>
1969
1961
  * @public
1970
1962
  */
1971
- export interface CpuPerformanceFactorRequest {
1963
+ export interface VpcEncryptionControlExclusion {
1972
1964
  /**
1973
- * <p>Specify an instance family to use as the baseline reference for CPU performance. All
1974
- * instance types that match your specified attributes will be compared against the CPU
1975
- * performance of the referenced instance family, regardless of CPU manufacturer or
1976
- * architecture differences.</p>
1977
- * <note>
1978
- * <p>Currently, only one instance family can be specified in the list.</p>
1979
- * </note>
1965
+ * <p>The current state of the exclusion configuration.</p>
1980
1966
  * @public
1981
1967
  */
1982
- References?: PerformanceFactorReferenceRequest[] | undefined;
1983
- }
1984
- /**
1985
- * <p>The baseline performance to consider, using an instance family as a baseline reference.
1986
- * The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this
1987
- * baseline to guide instance type selection, but there is no guarantee that the selected
1988
- * instance types will always exceed the baseline for every application.</p>
1989
- * <p>Currently, this parameter only supports CPU performance as a baseline performance
1990
- * factor. For example, specifying <code>c6i</code> would use the CPU performance of the
1991
- * <code>c6i</code> family as the baseline reference.</p>
1992
- * @public
1993
- */
1994
- export interface BaselinePerformanceFactorsRequest {
1968
+ State?: VpcEncryptionControlExclusionState | undefined;
1995
1969
  /**
1996
- * <p>The CPU performance to consider, using an instance family as the baseline reference.</p>
1970
+ * <p>A message providing additional information about the exclusion state.</p>
1997
1971
  * @public
1998
1972
  */
1999
- Cpu?: CpuPerformanceFactorRequest | undefined;
1973
+ StateMessage?: string | undefined;
2000
1974
  }
2001
1975
  /**
2002
- * <p>The minimum and maximum amount of memory per vCPU, in GiB.</p>
1976
+ * <p>Describes the exclusion configurations for various resource types in VPC Encryption Control.</p>
1977
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/vpc/latest/userguide/vpc-encryption-controls.html">Enforce VPC encryption in transit</a> in the <i>Amazon VPC User Guide</i>.</p>
2003
1978
  * @public
2004
1979
  */
2005
- export interface MemoryGiBPerVCpuRequest {
1980
+ export interface VpcEncryptionControlExclusions {
2006
1981
  /**
2007
- * <p>The minimum amount of memory per vCPU, in GiB. To specify no minimum limit, omit this
2008
- * parameter.</p>
1982
+ * <p>The exclusion configuration for internet gateway traffic.</p>
2009
1983
  * @public
2010
1984
  */
2011
- Min?: number | undefined;
1985
+ InternetGateway?: VpcEncryptionControlExclusion | undefined;
2012
1986
  /**
2013
- * <p>The maximum amount of memory per vCPU, in GiB. To specify no maximum limit, omit this
2014
- * parameter.</p>
1987
+ * <p>The exclusion configuration for egress-only internet gateway traffic.</p>
2015
1988
  * @public
2016
1989
  */
2017
- Max?: number | undefined;
2018
- }
2019
- /**
2020
- * <p>The minimum and maximum amount of memory, in MiB.</p>
2021
- * @public
2022
- */
2023
- export interface MemoryMiBRequest {
1990
+ EgressOnlyInternetGateway?: VpcEncryptionControlExclusion | undefined;
2024
1991
  /**
2025
- * <p>The minimum amount of memory, in MiB. To specify no minimum limit, specify
2026
- * <code>0</code>.</p>
1992
+ * <p>The exclusion configuration for NAT gateway traffic.</p>
2027
1993
  * @public
2028
1994
  */
2029
- Min: number | undefined;
1995
+ NatGateway?: VpcEncryptionControlExclusion | undefined;
2030
1996
  /**
2031
- * <p>The maximum amount of memory, in MiB. To specify no maximum limit, omit this
2032
- * parameter.</p>
1997
+ * <p>The exclusion configuration for virtual private gateway traffic.</p>
2033
1998
  * @public
2034
1999
  */
2035
- Max?: number | undefined;
2036
- }
2037
- /**
2038
- * <p>The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).</p>
2039
- * <note>
2040
- * <p>Setting the minimum bandwidth does not guarantee that your instance will achieve the
2041
- * minimum bandwidth. Amazon EC2 will identify instance types that support the specified minimum
2042
- * bandwidth, but the actual bandwidth of your instance might go below the specified minimum
2043
- * at times. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html#available-instance-bandwidth">Available instance bandwidth</a> in the
2044
- * <i>Amazon EC2 User Guide</i>.</p>
2045
- * </note>
2046
- * @public
2047
- */
2048
- export interface NetworkBandwidthGbpsRequest {
2000
+ VirtualPrivateGateway?: VpcEncryptionControlExclusion | undefined;
2049
2001
  /**
2050
- * <p>The minimum amount of network bandwidth, in Gbps. To specify no minimum limit, omit this
2051
- * parameter.</p>
2002
+ * <p>The exclusion configuration for VPC peering connection traffic.</p>
2052
2003
  * @public
2053
2004
  */
2054
- Min?: number | undefined;
2005
+ VpcPeering?: VpcEncryptionControlExclusion | undefined;
2055
2006
  /**
2056
- * <p>The maximum amount of network bandwidth, in Gbps. To specify no maximum limit, omit this
2057
- * parameter.</p>
2007
+ * <p>The exclusion configuration for Lambda function traffic.</p>
2058
2008
  * @public
2059
2009
  */
2060
- Max?: number | undefined;
2061
- }
2062
- /**
2063
- * <p>The minimum and maximum number of network interfaces.</p>
2064
- * @public
2065
- */
2066
- export interface NetworkInterfaceCountRequest {
2010
+ Lambda?: VpcEncryptionControlExclusion | undefined;
2067
2011
  /**
2068
- * <p>The minimum number of network interfaces. To specify no minimum limit, omit this
2069
- * parameter.</p>
2012
+ * <p>The exclusion configuration for VPC Lattice traffic.</p>
2070
2013
  * @public
2071
2014
  */
2072
- Min?: number | undefined;
2015
+ VpcLattice?: VpcEncryptionControlExclusion | undefined;
2073
2016
  /**
2074
- * <p>The maximum number of network interfaces. To specify no maximum limit, omit this
2075
- * parameter.</p>
2017
+ * <p>The exclusion configuration for Elastic File System traffic.</p>
2076
2018
  * @public
2077
2019
  */
2078
- Max?: number | undefined;
2020
+ ElasticFileSystem?: VpcEncryptionControlExclusion | undefined;
2079
2021
  }
2080
2022
  /**
2081
- * <p>The minimum and maximum amount of total local storage, in GB.</p>
2023
+ * <p>Describes the configuration and state of VPC encryption controls.</p>
2024
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/vpc/latest/userguide/vpc-encryption-controls.html">Enforce VPC encryption in transit</a> in the <i>Amazon VPC User Guide</i>.</p>
2082
2025
  * @public
2083
2026
  */
2084
- export interface TotalLocalStorageGBRequest {
2027
+ export interface VpcEncryptionControl {
2085
2028
  /**
2086
- * <p>The minimum amount of total local storage, in GB. To specify no minimum limit, omit this
2087
- * parameter.</p>
2029
+ * <p>The ID of the VPC associated with the encryption control configuration.</p>
2088
2030
  * @public
2089
2031
  */
2090
- Min?: number | undefined;
2032
+ VpcId?: string | undefined;
2091
2033
  /**
2092
- * <p>The maximum amount of total local storage, in GB. To specify no maximum limit, omit this
2093
- * parameter.</p>
2034
+ * <p>The ID of the VPC Encryption Control configuration.</p>
2094
2035
  * @public
2095
2036
  */
2096
- Max?: number | undefined;
2097
- }
2098
- /**
2099
- * <p>The minimum and maximum number of vCPUs.</p>
2100
- * @public
2101
- */
2102
- export interface VCpuCountRangeRequest {
2037
+ VpcEncryptionControlId?: string | undefined;
2103
2038
  /**
2104
- * <p>The minimum number of vCPUs. To specify no minimum limit, specify <code>0</code>.</p>
2039
+ * <p>The encryption mode for the VPC Encryption Control configuration.</p>
2105
2040
  * @public
2106
2041
  */
2107
- Min: number | undefined;
2042
+ Mode?: VpcEncryptionControlMode | undefined;
2108
2043
  /**
2109
- * <p>The maximum number of vCPUs. To specify no maximum limit, omit this parameter.</p>
2044
+ * <p>The current state of the VPC Encryption Control configuration.</p>
2110
2045
  * @public
2111
2046
  */
2112
- Max?: number | undefined;
2047
+ State?: VpcEncryptionControlState | undefined;
2048
+ /**
2049
+ * <p>A message providing additional information about the encryption control state.</p>
2050
+ * @public
2051
+ */
2052
+ StateMessage?: string | undefined;
2053
+ /**
2054
+ * <p>Information about resource exclusions for the VPC Encryption Control configuration.</p>
2055
+ * @public
2056
+ */
2057
+ ResourceExclusions?: VpcEncryptionControlExclusions | undefined;
2058
+ /**
2059
+ * <p>The tags assigned to the VPC Encryption Control configuration.</p>
2060
+ * @public
2061
+ */
2062
+ Tags?: Tag[] | undefined;
2113
2063
  }
2114
2064
  /**
2115
- * <p>The attributes for the instance types. When you specify instance attributes, Amazon EC2 will
2116
- * identify instance types with these attributes.</p>
2117
- * <p>You must specify <code>VCpuCount</code> and <code>MemoryMiB</code>. All other attributes
2118
- * are optional. Any unspecified optional attribute is set to its default.</p>
2119
- * <p>When you specify multiple attributes, you get instance types that satisfy all of the
2120
- * specified attributes. If you specify multiple values for an attribute, you get instance
2121
- * types that satisfy any of the specified values.</p>
2122
- * <p>To limit the list of instance types from which Amazon EC2 can identify matching instance types,
2123
- * you can use one of the following parameters, but not both in the same request:</p>
2124
- * <ul>
2125
- * <li>
2126
- * <p>
2127
- * <code>AllowedInstanceTypes</code> - The instance types to include in the list. All
2128
- * other instance types are ignored, even if they match your specified attributes.</p>
2129
- * </li>
2130
- * <li>
2131
- * <p>
2132
- * <code>ExcludedInstanceTypes</code> - The instance types to exclude from the list,
2133
- * even if they match your specified attributes.</p>
2134
- * </li>
2135
- * </ul>
2136
- * <note>
2137
- * <p>If you specify <code>InstanceRequirements</code>, you can't specify
2138
- * <code>InstanceType</code>.</p>
2139
- * <p>Attribute-based instance type selection is only supported when using Auto Scaling
2140
- * groups, EC2 Fleet, and Spot Fleet to launch instances. If you plan to use the launch template in
2141
- * the <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html">launch instance
2142
- * wizard</a>, or with the <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html">RunInstances</a> API or
2143
- * <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html">AWS::EC2::Instance</a> Amazon Web Services CloudFormation resource, you can't specify
2144
- * <code>InstanceRequirements</code>.</p>
2145
- * </note>
2146
- * <p>For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html">Specify attributes for instance type selection for EC2 Fleet or Spot Fleet</a> and <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-placement-score.html">Spot
2147
- * placement score</a> in the <i>Amazon EC2 User Guide</i>.</p>
2065
+ * <p>Describes a VPC.</p>
2148
2066
  * @public
2149
2067
  */
2150
- export interface InstanceRequirementsRequest {
2068
+ export interface Vpc {
2151
2069
  /**
2152
- * <p>The minimum and maximum number of vCPUs.</p>
2070
+ * <p>The ID of the Amazon Web Services account that owns the VPC.</p>
2153
2071
  * @public
2154
2072
  */
2155
- VCpuCount: VCpuCountRangeRequest | undefined;
2073
+ OwnerId?: string | undefined;
2156
2074
  /**
2157
- * <p>The minimum and maximum amount of memory, in MiB.</p>
2075
+ * <p>The allowed tenancy of instances launched into the VPC.</p>
2158
2076
  * @public
2159
2077
  */
2160
- MemoryMiB: MemoryMiBRequest | undefined;
2078
+ InstanceTenancy?: Tenancy | undefined;
2161
2079
  /**
2162
- * <p>The CPU manufacturers to include.</p>
2163
- * <ul>
2164
- * <li>
2165
- * <p>For instance types with Intel CPUs, specify <code>intel</code>.</p>
2166
- * </li>
2167
- * <li>
2168
- * <p>For instance types with AMD CPUs, specify <code>amd</code>.</p>
2169
- * </li>
2170
- * <li>
2171
- * <p>For instance types with Amazon Web Services CPUs, specify <code>amazon-web-services</code>.</p>
2172
- * </li>
2173
- * <li>
2174
- * <p>For instance types with Apple CPUs, specify <code>apple</code>.</p>
2175
- * </li>
2176
- * </ul>
2177
- * <note>
2178
- * <p>Don't confuse the CPU manufacturer with the CPU architecture. Instances will
2179
- * be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you
2180
- * specify in your launch template.</p>
2181
- * </note>
2182
- * <p>Default: Any manufacturer</p>
2080
+ * <p>Information about the IPv6 CIDR blocks associated with the VPC.</p>
2183
2081
  * @public
2184
2082
  */
2185
- CpuManufacturers?: CpuManufacturer[] | undefined;
2083
+ Ipv6CidrBlockAssociationSet?: VpcIpv6CidrBlockAssociation[] | undefined;
2186
2084
  /**
2187
- * <p>The minimum and maximum amount of memory per vCPU, in GiB.</p>
2188
- * <p>Default: No minimum or maximum limits</p>
2085
+ * <p>Information about the IPv4 CIDR blocks associated with the VPC.</p>
2189
2086
  * @public
2190
2087
  */
2191
- MemoryGiBPerVCpu?: MemoryGiBPerVCpuRequest | undefined;
2088
+ CidrBlockAssociationSet?: VpcCidrBlockAssociation[] | undefined;
2192
2089
  /**
2193
- * <p>The instance types to exclude.</p>
2194
- * <p>You can use strings with one or more wild cards, represented by
2195
- * an asterisk (<code>*</code>), to exclude an instance family, type, size, or generation. The
2196
- * following are examples: <code>m5.8xlarge</code>, <code>c5*.*</code>, <code>m5a.*</code>,
2197
- * <code>r*</code>, <code>*3*</code>.</p>
2198
- * <p>For example, if you specify <code>c5*</code>,Amazon EC2 will exclude the entire C5 instance
2199
- * family, which includes all C5a and C5n instance types. If you specify
2200
- * <code>m5a.*</code>, Amazon EC2 will exclude all the M5a instance types, but not the M5n
2201
- * instance types.</p>
2202
- * <note>
2203
- * <p>If you specify <code>ExcludedInstanceTypes</code>, you can't specify <code>AllowedInstanceTypes</code>.</p>
2204
- * </note>
2205
- * <p>Default: No excluded instance types</p>
2090
+ * <p>Indicates whether the VPC is the default VPC.</p>
2206
2091
  * @public
2207
2092
  */
2208
- ExcludedInstanceTypes?: string[] | undefined;
2093
+ IsDefault?: boolean | undefined;
2209
2094
  /**
2210
- * <p>Indicates whether current or previous generation instance types are included. The
2211
- * current generation instance types are recommended for use. Current generation instance types are
2212
- * typically the latest two to three generations in each instance family. For more
2213
- * information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html">Instance types</a> in the
2214
- * <i>Amazon EC2 User Guide</i>.</p>
2215
- * <p>For current generation instance types, specify <code>current</code>.</p>
2216
- * <p>For previous generation instance types, specify <code>previous</code>.</p>
2217
- * <p>Default: Current and previous generation instance types</p>
2095
+ * <p>Describes the configuration and state of VPC encryption controls.</p>
2096
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/vpc/latest/userguide/vpc-encryption-controls.html">Enforce VPC encryption in transit</a> in the <i>Amazon VPC User Guide</i>.</p>
2218
2097
  * @public
2219
2098
  */
2220
- InstanceGenerations?: InstanceGeneration[] | undefined;
2099
+ EncryptionControl?: VpcEncryptionControl | undefined;
2221
2100
  /**
2222
- * <p>[Price protection] The price protection threshold for Spot Instances, as a percentage higher than
2223
- * an identified Spot price. The identified Spot price is the Spot price of the lowest priced
2224
- * current generation C, M, or R instance type with your specified attributes. If no current
2225
- * generation C, M, or R instance type matches your attributes, then the identified Spot price
2226
- * is from the lowest priced current generation instance types, and failing that, from the
2227
- * lowest priced previous generation instance types that match your attributes. When Amazon EC2
2228
- * selects instance types with your attributes, it will exclude instance types whose Spot
2229
- * price exceeds your specified threshold.</p>
2230
- * <p>The parameter accepts an integer, which Amazon EC2 interprets as a percentage.</p>
2231
- * <p>If you set <code>TargetCapacityUnitType</code> to <code>vcpu</code> or
2232
- * <code>memory-mib</code>, the price protection threshold is applied based on the
2233
- * per-vCPU or per-memory price instead of the per-instance price.</p>
2234
- * <p>This parameter is not supported for <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html">GetSpotPlacementScores</a> and <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html">GetInstanceTypesFromInstanceRequirements</a>.</p>
2235
- * <note>
2236
- * <p>Only one of <code>SpotMaxPricePercentageOverLowestPrice</code> or
2237
- * <code>MaxSpotPriceAsPercentageOfOptimalOnDemandPrice</code> can be specified. If you
2238
- * don't specify either, Amazon EC2 will automatically apply optimal price protection to
2239
- * consistently select from a wide range of instance types. To indicate no price protection
2240
- * threshold for Spot Instances, meaning you want to consider all instance types that match your
2241
- * attributes, include one of these parameters and specify a high value, such as
2242
- * <code>999999</code>.</p>
2243
- * </note>
2244
- * <p>Default: <code>100</code>
2245
- * </p>
2101
+ * <p>Any tags assigned to the VPC.</p>
2246
2102
  * @public
2247
2103
  */
2248
- SpotMaxPricePercentageOverLowestPrice?: number | undefined;
2104
+ Tags?: Tag[] | undefined;
2249
2105
  /**
2250
- * <p>[Price protection] The price protection threshold for On-Demand Instances, as a percentage higher than
2251
- * an identified On-Demand price. The identified On-Demand price is the price of the lowest
2252
- * priced current generation C, M, or R instance type with your specified attributes. When
2253
- * Amazon EC2 selects instance types with your attributes, it will exclude instance types whose
2254
- * price exceeds your specified threshold.</p>
2255
- * <p>The parameter accepts an integer, which Amazon EC2 interprets as a percentage.</p>
2256
- * <p>To indicate no price protection threshold, specify a high value, such as
2257
- * <code>999999</code>.</p>
2258
- * <p>This parameter is not supported for <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html">GetSpotPlacementScores</a> and <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html">GetInstanceTypesFromInstanceRequirements</a>.</p>
2259
- * <note>
2260
- * <p>If you set <code>TargetCapacityUnitType</code> to <code>vcpu</code> or
2261
- * <code>memory-mib</code>, the price protection threshold is applied based on the
2262
- * per-vCPU or per-memory price instead of the per-instance price.</p>
2263
- * </note>
2264
- * <p>Default: <code>20</code>
2265
- * </p>
2106
+ * <p>The state of VPC Block Public Access (BPA).</p>
2266
2107
  * @public
2267
2108
  */
2268
- OnDemandMaxPricePercentageOverLowestPrice?: number | undefined;
2109
+ BlockPublicAccessStates?: BlockPublicAccessStates | undefined;
2269
2110
  /**
2270
- * <p>Indicates whether bare metal instance types must be included, excluded, or required.</p>
2271
- * <ul>
2272
- * <li>
2273
- * <p>To include bare metal instance types, specify <code>included</code>.</p>
2274
- * </li>
2275
- * <li>
2276
- * <p>To require only bare metal instance types, specify <code>required</code>.</p>
2277
- * </li>
2278
- * <li>
2279
- * <p>To exclude bare metal instance types, specify <code>excluded</code>.</p>
2280
- * </li>
2281
- * </ul>
2282
- * <p>Default: <code>excluded</code>
2283
- * </p>
2111
+ * <p>The ID of the VPC.</p>
2284
2112
  * @public
2285
2113
  */
2286
- BareMetal?: BareMetal | undefined;
2114
+ VpcId?: string | undefined;
2287
2115
  /**
2288
- * <p>Indicates whether burstable performance T instance types are included, excluded, or required. For more information, see
2289
- * <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances.html">Burstable performance instances</a>.</p>
2290
- * <ul>
2291
- * <li>
2292
- * <p>To include burstable performance instance types, specify <code>included</code>.</p>
2293
- * </li>
2294
- * <li>
2295
- * <p>To require only burstable performance instance types, specify <code>required</code>.</p>
2296
- * </li>
2297
- * <li>
2298
- * <p>To exclude burstable performance instance types, specify <code>excluded</code>.</p>
2299
- * </li>
2300
- * </ul>
2301
- * <p>Default: <code>excluded</code>
2302
- * </p>
2116
+ * <p>The current state of the VPC.</p>
2303
2117
  * @public
2304
2118
  */
2305
- BurstablePerformance?: BurstablePerformance | undefined;
2119
+ State?: VpcState | undefined;
2306
2120
  /**
2307
- * <p>Indicates whether instance types must support hibernation for On-Demand Instances.</p>
2308
- * <p>This parameter is not supported for <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetSpotPlacementScores.html">GetSpotPlacementScores</a>.</p>
2309
- * <p>Default: <code>false</code>
2310
- * </p>
2121
+ * <p>The primary IPv4 CIDR block for the VPC.</p>
2311
2122
  * @public
2312
2123
  */
2313
- RequireHibernateSupport?: boolean | undefined;
2124
+ CidrBlock?: string | undefined;
2314
2125
  /**
2315
- * <p>The minimum and maximum number of network interfaces.</p>
2316
- * <p>Default: No minimum or maximum limits</p>
2126
+ * <p>The ID of the set of DHCP options you've associated with the VPC.</p>
2317
2127
  * @public
2318
2128
  */
2319
- NetworkInterfaceCount?: NetworkInterfaceCountRequest | undefined;
2129
+ DhcpOptionsId?: string | undefined;
2130
+ }
2131
+ /**
2132
+ * @public
2133
+ */
2134
+ export interface CreateDefaultVpcResult {
2320
2135
  /**
2321
- * <p>Indicates whether instance types with instance store volumes are included, excluded, or required. For more information,
2322
- * <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html">Amazon
2323
- * EC2 instance store</a> in the <i>Amazon EC2 User Guide</i>.</p>
2324
- * <ul>
2325
- * <li>
2326
- * <p>To include instance types with instance store volumes, specify
2327
- * <code>included</code>.</p>
2328
- * </li>
2329
- * <li>
2330
- * <p>To require only instance types with instance store volumes, specify
2331
- * <code>required</code>.</p>
2332
- * </li>
2333
- * <li>
2334
- * <p>To exclude instance types with instance store volumes, specify
2335
- * <code>excluded</code>.</p>
2336
- * </li>
2337
- * </ul>
2338
- * <p>Default: <code>included</code>
2339
- * </p>
2136
+ * <p>Information about the VPC.</p>
2340
2137
  * @public
2341
2138
  */
2342
- LocalStorage?: LocalStorage | undefined;
2139
+ Vpc?: Vpc | undefined;
2140
+ }
2141
+ /**
2142
+ * @public
2143
+ */
2144
+ export interface CreateDelegateMacVolumeOwnershipTaskRequest {
2343
2145
  /**
2344
- * <p>The type of local storage that is required.</p>
2146
+ * <p>Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html">Ensuring Idempotency</a>.</p>
2147
+ * @public
2148
+ */
2149
+ ClientToken?: string | undefined;
2150
+ /**
2151
+ * <p>Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
2152
+ * @public
2153
+ */
2154
+ DryRun?: boolean | undefined;
2155
+ /**
2156
+ * <p>The ID of the Amazon EC2 Mac instance.</p>
2157
+ * @public
2158
+ */
2159
+ InstanceId: string | undefined;
2160
+ /**
2161
+ * <p>Specifies the following credentials:</p>
2345
2162
  * <ul>
2346
2163
  * <li>
2347
- * <p>For instance types with hard disk drive (HDD) storage, specify <code>hdd</code>.</p>
2164
+ * <p>
2165
+ * <b>Internal disk administrative user</b>
2166
+ * </p>
2167
+ * <ul>
2168
+ * <li>
2169
+ * <p>
2170
+ * <b>Username</b> - Only the default administrative user
2171
+ * (<code>aws-managed-user</code>) is supported and it is used by default. You can't
2172
+ * specify a different administrative user.</p>
2173
+ * </li>
2174
+ * <li>
2175
+ * <p>
2176
+ * <b>Password</b> - If you did not change the default
2177
+ * password for <code>aws-managed-user</code>, specify the default password, which is
2178
+ * <i>blank</i>. Otherwise, specify your password.</p>
2179
+ * </li>
2180
+ * </ul>
2348
2181
  * </li>
2349
2182
  * <li>
2350
- * <p>For instance types with solid state drive (SSD) storage, specify
2351
- * <code>ssd</code>.</p>
2183
+ * <p>
2184
+ * <b>Amazon EBS root volume administrative user</b>
2185
+ * </p>
2186
+ * <ul>
2187
+ * <li>
2188
+ * <p>
2189
+ * <b>Username</b> - If you did not change the default
2190
+ * administrative user, specify <code>ec2-user</code>. Otherwise, specify the username
2191
+ * for your administrative user.</p>
2192
+ * </li>
2193
+ * <li>
2194
+ * <p>
2195
+ * <b>Password</b> - Specify the password for the
2196
+ * administrative user.</p>
2197
+ * </li>
2198
+ * </ul>
2352
2199
  * </li>
2353
2200
  * </ul>
2354
- * <p>Default: <code>hdd</code> and <code>ssd</code>
2201
+ * <p>The credentials must be specified in the following JSON format:</p>
2202
+ * <p>
2203
+ * <code>\{
2204
+ * "internalDiskPassword":"<i>internal-disk-admin_password</i>",
2205
+ * "rootVolumeUsername":"<i>root-volume-admin_username</i>",
2206
+ * "rootVolumepassword":"<i>root-volume-admin_password</i>"
2207
+ * \}</code>
2355
2208
  * </p>
2356
2209
  * @public
2357
2210
  */
2358
- LocalStorageTypes?: LocalStorageType[] | undefined;
2211
+ MacCredentials: string | undefined;
2359
2212
  /**
2360
- * <p>The minimum and maximum amount of total local storage, in GB.</p>
2361
- * <p>Default: No minimum or maximum limits</p>
2213
+ * <p>The tags to assign to the volume ownership delegation task.</p>
2362
2214
  * @public
2363
2215
  */
2364
- TotalLocalStorageGB?: TotalLocalStorageGBRequest | undefined;
2216
+ TagSpecifications?: TagSpecification[] | undefined;
2217
+ }
2218
+ /**
2219
+ * <p>Describes the configuration for a System Integrity Protection (SIP) modification task.</p>
2220
+ * @public
2221
+ */
2222
+ export interface MacSystemIntegrityProtectionConfiguration {
2365
2223
  /**
2366
- * <p>The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see
2367
- * <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html">Amazon
2368
- * EBS–optimized instances</a> in the <i>Amazon EC2 User Guide</i>.</p>
2369
- * <p>Default: No minimum or maximum limits</p>
2224
+ * <p>Indicates whether Apple Internal was enabled or disabled by the task.</p>
2370
2225
  * @public
2371
2226
  */
2372
- BaselineEbsBandwidthMbps?: BaselineEbsBandwidthMbpsRequest | undefined;
2227
+ AppleInternal?: MacSystemIntegrityProtectionSettingStatus | undefined;
2373
2228
  /**
2374
- * <p>The accelerator types that must be on the instance type.</p>
2375
- * <ul>
2376
- * <li>
2377
- * <p>For instance types with FPGA accelerators, specify <code>fpga</code>.</p>
2378
- * </li>
2379
- * <li>
2380
- * <p>For instance types with GPU accelerators, specify <code>gpu</code>.</p>
2381
- * </li>
2382
- * <li>
2383
- * <p>For instance types with Inference accelerators, specify <code>inference</code>.</p>
2384
- * </li>
2385
- * <li>
2386
- * <p>For instance types with Media accelerators, specify <code>media</code>.</p>
2387
- * </li>
2388
- * </ul>
2389
- * <p>Default: Any accelerator type</p>
2229
+ * <p>Indicates whether Base System was enabled or disabled by the task.</p>
2390
2230
  * @public
2391
2231
  */
2392
- AcceleratorTypes?: AcceleratorType[] | undefined;
2232
+ BaseSystem?: MacSystemIntegrityProtectionSettingStatus | undefined;
2393
2233
  /**
2394
- * <p>The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips) on
2395
- * an instance.</p>
2396
- * <p>To exclude accelerator-enabled instance types, set <code>Max</code> to <code>0</code>.</p>
2397
- * <p>Default: No minimum or maximum limits</p>
2234
+ * <p>Indicates whether Debugging Restrictions was enabled or disabled by the task.</p>
2398
2235
  * @public
2399
2236
  */
2400
- AcceleratorCount?: AcceleratorCountRequest | undefined;
2237
+ DebuggingRestrictions?: MacSystemIntegrityProtectionSettingStatus | undefined;
2401
2238
  /**
2402
- * <p>Indicates whether instance types must have accelerators by specific manufacturers.</p>
2403
- * <ul>
2404
- * <li>
2405
- * <p>For instance types with Amazon Web Services devices, specify <code>amazon-web-services</code>.</p>
2406
- * </li>
2407
- * <li>
2408
- * <p>For instance types with AMD devices, specify <code>amd</code>.</p>
2409
- * </li>
2410
- * <li>
2411
- * <p>For instance types with Habana devices, specify <code>habana</code>.</p>
2412
- * </li>
2413
- * <li>
2414
- * <p>For instance types with NVIDIA devices, specify <code>nvidia</code>.</p>
2415
- * </li>
2416
- * <li>
2417
- * <p>For instance types with Xilinx devices, specify <code>xilinx</code>.</p>
2418
- * </li>
2419
- * </ul>
2420
- * <p>Default: Any manufacturer</p>
2239
+ * <p>Indicates whether Dtrace Restrictions was enabled or disabled by the task.</p>
2421
2240
  * @public
2422
2241
  */
2423
- AcceleratorManufacturers?: AcceleratorManufacturer[] | undefined;
2242
+ DTraceRestrictions?: MacSystemIntegrityProtectionSettingStatus | undefined;
2424
2243
  /**
2425
- * <p>The accelerators that must be on the instance type.</p>
2426
- * <ul>
2427
- * <li>
2428
- * <p>For instance types with NVIDIA A10G GPUs, specify <code>a10g</code>.</p>
2429
- * </li>
2430
- * <li>
2431
- * <p>For instance types with NVIDIA A100 GPUs, specify <code>a100</code>.</p>
2432
- * </li>
2433
- * <li>
2434
- * <p>For instance types with NVIDIA H100 GPUs, specify <code>h100</code>.</p>
2435
- * </li>
2436
- * <li>
2437
- * <p>For instance types with Amazon Web Services Inferentia chips, specify <code>inferentia</code>.</p>
2438
- * </li>
2439
- * <li>
2440
- * <p>For instance types with Amazon Web Services Inferentia2 chips, specify <code>inferentia2</code>.</p>
2441
- * </li>
2442
- * <li>
2443
- * <p>For instance types with Habana Gaudi HL-205 GPUs, specify <code>gaudi-hl-205</code>.</p>
2444
- * </li>
2244
+ * <p>Indicates whether Filesystem Protections was enabled or disabled by the task.</p>
2245
+ * @public
2246
+ */
2247
+ FilesystemProtections?: MacSystemIntegrityProtectionSettingStatus | undefined;
2248
+ /**
2249
+ * <p>Indicates whether Kext Signing was enabled or disabled by the task.</p>
2250
+ * @public
2251
+ */
2252
+ KextSigning?: MacSystemIntegrityProtectionSettingStatus | undefined;
2253
+ /**
2254
+ * <p>Indicates whether NVRAM Protections was enabled or disabled by the task.</p>
2255
+ * @public
2256
+ */
2257
+ NvramProtections?: MacSystemIntegrityProtectionSettingStatus | undefined;
2258
+ /**
2259
+ * <p>Indicates SIP was enabled or disabled by the task.</p>
2260
+ * @public
2261
+ */
2262
+ Status?: MacSystemIntegrityProtectionSettingStatus | undefined;
2263
+ }
2264
+ /**
2265
+ * <p>Information about a System Integrity Protection (SIP) modification task or volume
2266
+ * ownership delegation task for an Amazon EC2 Mac instance.</p>
2267
+ * @public
2268
+ */
2269
+ export interface MacModificationTask {
2270
+ /**
2271
+ * <p>The ID of the Amazon EC2 Mac instance.</p>
2272
+ * @public
2273
+ */
2274
+ InstanceId?: string | undefined;
2275
+ /**
2276
+ * <p>The ID of task.</p>
2277
+ * @public
2278
+ */
2279
+ MacModificationTaskId?: string | undefined;
2280
+ /**
2281
+ * <p>[SIP modification tasks only] Information about the SIP
2282
+ * configuration.</p>
2283
+ * @public
2284
+ */
2285
+ MacSystemIntegrityProtectionConfig?: MacSystemIntegrityProtectionConfiguration | undefined;
2286
+ /**
2287
+ * <p>The date and time the task was created, in the UTC timezone
2288
+ * (<code>YYYY-MM-DDThh:mm:ss.sssZ</code>).</p>
2289
+ * @public
2290
+ */
2291
+ StartTime?: Date | undefined;
2292
+ /**
2293
+ * <p>The tags assigned to the task.</p>
2294
+ * @public
2295
+ */
2296
+ Tags?: Tag[] | undefined;
2297
+ /**
2298
+ * <p>The state of the task.</p>
2299
+ * @public
2300
+ */
2301
+ TaskState?: MacModificationTaskState | undefined;
2302
+ /**
2303
+ * <p>The type of task.</p>
2304
+ * @public
2305
+ */
2306
+ TaskType?: MacModificationTaskType | undefined;
2307
+ }
2308
+ /**
2309
+ * @public
2310
+ */
2311
+ export interface CreateDelegateMacVolumeOwnershipTaskResult {
2312
+ /**
2313
+ * <p>Information about the volume ownership delegation task.</p>
2314
+ * @public
2315
+ */
2316
+ MacModificationTask?: MacModificationTask | undefined;
2317
+ }
2318
+ /**
2319
+ * <p>Describes a DHCP configuration option.</p>
2320
+ * @public
2321
+ */
2322
+ export interface NewDhcpConfiguration {
2323
+ /**
2324
+ * <p>The name of a DHCP option.</p>
2325
+ * @public
2326
+ */
2327
+ Key?: string | undefined;
2328
+ /**
2329
+ * <p>The values for the DHCP option.</p>
2330
+ * @public
2331
+ */
2332
+ Values?: string[] | undefined;
2333
+ }
2334
+ /**
2335
+ * @public
2336
+ */
2337
+ export interface CreateDhcpOptionsRequest {
2338
+ /**
2339
+ * <p>A DHCP configuration option.</p>
2340
+ * @public
2341
+ */
2342
+ DhcpConfigurations: NewDhcpConfiguration[] | undefined;
2343
+ /**
2344
+ * <p>The tags to assign to the DHCP option.</p>
2345
+ * @public
2346
+ */
2347
+ TagSpecifications?: TagSpecification[] | undefined;
2348
+ /**
2349
+ * <p>Checks whether you have the required permissions for the action, without actually making the request,
2350
+ * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
2351
+ * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
2352
+ * @public
2353
+ */
2354
+ DryRun?: boolean | undefined;
2355
+ }
2356
+ /**
2357
+ * <p>Describes a value for a resource attribute that is a String.</p>
2358
+ * @public
2359
+ */
2360
+ export interface AttributeValue {
2361
+ /**
2362
+ * <p>The attribute value. The value is case-sensitive.</p>
2363
+ * @public
2364
+ */
2365
+ Value?: string | undefined;
2366
+ }
2367
+ /**
2368
+ * <p>Describes a DHCP configuration option.</p>
2369
+ * @public
2370
+ */
2371
+ export interface DhcpConfiguration {
2372
+ /**
2373
+ * <p>The name of a DHCP option.</p>
2374
+ * @public
2375
+ */
2376
+ Key?: string | undefined;
2377
+ /**
2378
+ * <p>The values for the DHCP option.</p>
2379
+ * @public
2380
+ */
2381
+ Values?: AttributeValue[] | undefined;
2382
+ }
2383
+ /**
2384
+ * <p>The set of DHCP options.</p>
2385
+ * @public
2386
+ */
2387
+ export interface DhcpOptions {
2388
+ /**
2389
+ * <p>The ID of the Amazon Web Services account that owns the DHCP options set.</p>
2390
+ * @public
2391
+ */
2392
+ OwnerId?: string | undefined;
2393
+ /**
2394
+ * <p>Any tags assigned to the DHCP options set.</p>
2395
+ * @public
2396
+ */
2397
+ Tags?: Tag[] | undefined;
2398
+ /**
2399
+ * <p>The ID of the set of DHCP options.</p>
2400
+ * @public
2401
+ */
2402
+ DhcpOptionsId?: string | undefined;
2403
+ /**
2404
+ * <p>The DHCP options in the set.</p>
2405
+ * @public
2406
+ */
2407
+ DhcpConfigurations?: DhcpConfiguration[] | undefined;
2408
+ }
2409
+ /**
2410
+ * @public
2411
+ */
2412
+ export interface CreateDhcpOptionsResult {
2413
+ /**
2414
+ * <p>A set of DHCP options.</p>
2415
+ * @public
2416
+ */
2417
+ DhcpOptions?: DhcpOptions | undefined;
2418
+ }
2419
+ /**
2420
+ * @public
2421
+ */
2422
+ export interface CreateEgressOnlyInternetGatewayRequest {
2423
+ /**
2424
+ * <p>Unique, case-sensitive identifier that you provide to ensure the idempotency of the
2425
+ * request. For more information, see <a href="https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html">Ensuring idempotency</a>.</p>
2426
+ * @public
2427
+ */
2428
+ ClientToken?: string | undefined;
2429
+ /**
2430
+ * <p>Checks whether you have the required permissions for the action, without actually making the request,
2431
+ * and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>.
2432
+ * Otherwise, it is <code>UnauthorizedOperation</code>.</p>
2433
+ * @public
2434
+ */
2435
+ DryRun?: boolean | undefined;
2436
+ /**
2437
+ * <p>The ID of the VPC for which to create the egress-only internet gateway.</p>
2438
+ * @public
2439
+ */
2440
+ VpcId: string | undefined;
2441
+ /**
2442
+ * <p>The tags to assign to the egress-only internet gateway.</p>
2443
+ * @public
2444
+ */
2445
+ TagSpecifications?: TagSpecification[] | undefined;
2446
+ }
2447
+ /**
2448
+ * <p>Describes the attachment of a VPC to an internet gateway or an egress-only internet gateway.</p>
2449
+ * @public
2450
+ */
2451
+ export interface InternetGatewayAttachment {
2452
+ /**
2453
+ * <p>The current state of the attachment. For an internet gateway, the state is
2454
+ * <code>available</code> when attached to a VPC; otherwise, this value is not
2455
+ * returned.</p>
2456
+ * @public
2457
+ */
2458
+ State?: AttachmentStatus | undefined;
2459
+ /**
2460
+ * <p>The ID of the VPC.</p>
2461
+ * @public
2462
+ */
2463
+ VpcId?: string | undefined;
2464
+ }
2465
+ /**
2466
+ * <p>Describes an egress-only internet gateway.</p>
2467
+ * @public
2468
+ */
2469
+ export interface EgressOnlyInternetGateway {
2470
+ /**
2471
+ * <p>Information about the attachment of the egress-only internet gateway.</p>
2472
+ * @public
2473
+ */
2474
+ Attachments?: InternetGatewayAttachment[] | undefined;
2475
+ /**
2476
+ * <p>The ID of the egress-only internet gateway.</p>
2477
+ * @public
2478
+ */
2479
+ EgressOnlyInternetGatewayId?: string | undefined;
2480
+ /**
2481
+ * <p>The tags assigned to the egress-only internet gateway.</p>
2482
+ * @public
2483
+ */
2484
+ Tags?: Tag[] | undefined;
2485
+ }
2486
+ /**
2487
+ * @public
2488
+ */
2489
+ export interface CreateEgressOnlyInternetGatewayResult {
2490
+ /**
2491
+ * <p>Unique, case-sensitive identifier that you provide to ensure the idempotency of the
2492
+ * request.</p>
2493
+ * @public
2494
+ */
2495
+ ClientToken?: string | undefined;
2496
+ /**
2497
+ * <p>Information about the egress-only internet gateway.</p>
2498
+ * @public
2499
+ */
2500
+ EgressOnlyInternetGateway?: EgressOnlyInternetGateway | undefined;
2501
+ }
2502
+ /**
2503
+ * <p>The Amazon EC2 launch template that can be used by
2504
+ * an EC2 Fleet to configure Amazon EC2 instances. You must specify either the ID or name of the launch template in the request, but not both.</p>
2505
+ * <p>For information about launch templates, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html">Launch
2506
+ * an instance from a launch template</a> in the
2507
+ * <i>Amazon EC2 User Guide</i>.</p>
2508
+ * @public
2509
+ */
2510
+ export interface FleetLaunchTemplateSpecificationRequest {
2511
+ /**
2512
+ * <p>The ID of the launch template.</p>
2513
+ * <p>You must specify the <code>LaunchTemplateId</code> or the <code>LaunchTemplateName</code>, but not both.</p>
2514
+ * @public
2515
+ */
2516
+ LaunchTemplateId?: string | undefined;
2517
+ /**
2518
+ * <p>The name of the launch template.</p>
2519
+ * <p>You must specify the <code>LaunchTemplateName</code> or the <code>LaunchTemplateId</code>, but not both.</p>
2520
+ * @public
2521
+ */
2522
+ LaunchTemplateName?: string | undefined;
2523
+ /**
2524
+ * <p>The launch template version number, <code>$Latest</code>, or <code>$Default</code>. You must specify a value, otherwise the request fails.</p>
2525
+ * <p>If the value is <code>$Latest</code>, Amazon EC2 uses the latest version of the launch template.</p>
2526
+ * <p>If the value is <code>$Default</code>, Amazon EC2 uses the default version of the launch template.</p>
2527
+ * @public
2528
+ */
2529
+ Version?: string | undefined;
2530
+ /**
2531
+ * <p>The base64-encoded user data for instances launched by the fleet. User data is limited
2532
+ * to 16 KB, in raw form, before it is base64-encoded.</p>
2533
+ * <p>Supported only for fleets of type <code>instant</code>.</p>
2534
+ * @public
2535
+ */
2536
+ LaunchTemplateSpecificationUserData?: string | undefined;
2537
+ }
2538
+ /**
2539
+ * <p>Describes a block device for an EBS volume.</p>
2540
+ * @public
2541
+ */
2542
+ export interface FleetEbsBlockDeviceRequest {
2543
+ /**
2544
+ * <p>Indicates whether the encryption state of an EBS volume is changed while being restored
2545
+ * from a backing snapshot. The effect of setting the encryption state to <code>true</code>
2546
+ * depends on the volume origin (new or from a snapshot), starting encryption state,
2547
+ * ownership, and whether encryption by default is enabled. For more information, see <a href="https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption.html">Amazon EBS
2548
+ * encryption</a> in the <i>Amazon EBS User Guide</i>.</p>
2549
+ * <p>In no case can you remove encryption from an encrypted volume.</p>
2550
+ * <p>Encrypted volumes can only be attached to instances that support Amazon EBS encryption. For
2551
+ * more information, see <a href="https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption-requirements.html#ebs-encryption_supported_instances">Supported instance types</a>.</p>
2552
+ * <p>This parameter is not returned by <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeImageAttribute">DescribeImageAttribute</a>.</p>
2553
+ * <p>For <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateImage">CreateImage</a> and <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RegisterImage">RegisterImage</a>, whether you
2554
+ * can include this parameter, and the allowed values differ depending on the type of block
2555
+ * device mapping you are creating.</p>
2556
+ * <ul>
2445
2557
  * <li>
2446
- * <p>For instance types with NVIDIA GRID K520 GPUs, specify <code>k520</code>.</p>
2558
+ * <p>If you are creating a block device mapping for a <b>new (empty)
2559
+ * volume</b>, you can include this parameter, and specify either
2560
+ * <code>true</code> for an encrypted volume, or <code>false</code> for an
2561
+ * unencrypted volume. If you omit this parameter, it defaults to <code>false</code>
2562
+ * (unencrypted).</p>
2447
2563
  * </li>
2448
2564
  * <li>
2449
- * <p>For instance types with NVIDIA K80 GPUs, specify <code>k80</code>.</p>
2565
+ * <p>If you are creating a block device mapping from an <b>existing encrypted or
2566
+ * unencrypted snapshot</b>, you must omit this parameter. If you include this
2567
+ * parameter, the request will fail, regardless of the value that you specify.</p>
2450
2568
  * </li>
2451
2569
  * <li>
2452
- * <p>For instance types with NVIDIA L4 GPUs, specify <code>l4</code>.</p>
2570
+ * <p>If you are creating a block device mapping from an <b>existing unencrypted
2571
+ * volume</b>, you can include this parameter, but you must specify
2572
+ * <code>false</code>. If you specify <code>true</code>, the request will fail. In
2573
+ * this case, we recommend that you omit the parameter.</p>
2453
2574
  * </li>
2454
2575
  * <li>
2455
- * <p>For instance types with NVIDIA L40S GPUs, specify <code>l40s</code>.</p>
2576
+ * <p>If you are creating a block device mapping from an <b>existing encrypted
2577
+ * volume</b>, you can include this parameter, and specify either
2578
+ * <code>true</code> or <code>false</code>. However, if you specify
2579
+ * <code>false</code>, the parameter is ignored and the block device mapping is
2580
+ * always encrypted. In this case, we recommend that you omit the parameter.</p>
2456
2581
  * </li>
2582
+ * </ul>
2583
+ * @public
2584
+ */
2585
+ Encrypted?: boolean | undefined;
2586
+ /**
2587
+ * <p>Indicates whether the EBS volume is deleted on instance termination. For more
2588
+ * information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/preserving-volumes-on-termination.html">Preserve data when
2589
+ * an instance is terminated</a> in the <i>Amazon EC2 User Guide</i>.</p>
2590
+ * @public
2591
+ */
2592
+ DeleteOnTermination?: boolean | undefined;
2593
+ /**
2594
+ * <p>The number of I/O operations per second (IOPS). For <code>gp3</code>, <code>io1</code>, and <code>io2</code> volumes,
2595
+ * this represents the number of IOPS that are provisioned for the volume. For <code>gp2</code>
2596
+ * volumes, this represents the baseline performance of the volume and the rate at which
2597
+ * the volume accumulates I/O credits for bursting.</p>
2598
+ * <p>The following are the supported values for each volume type:</p>
2599
+ * <ul>
2457
2600
  * <li>
2458
- * <p>For instance types with NVIDIA M60 GPUs, specify <code>m60</code>.</p>
2601
+ * <p>
2602
+ * <code>gp3</code>: 3,000 - 80,000 IOPS</p>
2459
2603
  * </li>
2460
2604
  * <li>
2461
- * <p>For instance types with AMD Radeon Pro V520 GPUs, specify <code>radeon-pro-v520</code>.</p>
2605
+ * <p>
2606
+ * <code>io1</code>: 100 - 64,000 IOPS</p>
2462
2607
  * </li>
2463
2608
  * <li>
2464
- * <p>For instance types with Amazon Web Services Trainium chips, specify <code>trainium</code>.</p>
2609
+ * <p>
2610
+ * <code>io2</code>: 100 - 256,000 IOPS</p>
2465
2611
  * </li>
2612
+ * </ul>
2613
+ * <p>For <code>io2</code> volumes, you can achieve up to 256,000 IOPS on
2614
+ * <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances">instances
2615
+ * built on the Nitro System</a>. On other instances, you can achieve performance up to 32,000 IOPS.</p>
2616
+ * <p>This parameter is required for <code>io1</code> and <code>io2</code> volumes. The default for <code>gp3</code> volumes
2617
+ * is 3,000 IOPS.</p>
2618
+ * @public
2619
+ */
2620
+ Iops?: number | undefined;
2621
+ /**
2622
+ * <p>The throughput that the volume supports, in MiB/s.</p>
2623
+ * <p>This parameter is valid only for <code>gp3</code> volumes.</p>
2624
+ * <p>Valid Range: Minimum value of 125. Maximum value of 2,000.</p>
2625
+ * @public
2626
+ */
2627
+ Throughput?: number | undefined;
2628
+ /**
2629
+ * <p>Identifier (key ID, key alias, key ARN, or alias ARN) of the customer managed KMS key
2630
+ * to use for EBS encryption.</p>
2631
+ * <p>This parameter is only supported on <code>BlockDeviceMapping</code> objects called by
2632
+ * <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet.html">CreateFleet</a>, <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotInstances.html">RequestSpotInstances</a>, and <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html">RunInstances</a>.</p>
2633
+ * @public
2634
+ */
2635
+ KmsKeyId?: string | undefined;
2636
+ /**
2637
+ * <p>The ID of the snapshot.</p>
2638
+ * @public
2639
+ */
2640
+ SnapshotId?: string | undefined;
2641
+ /**
2642
+ * <p>The size of the volume, in GiBs. You must specify either a snapshot ID or a volume
2643
+ * size. If you specify a snapshot, the default is the snapshot size. You can specify a
2644
+ * volume size that is equal to or larger than the snapshot size.</p>
2645
+ * <p>The following are the supported sizes for each volume type:</p>
2646
+ * <ul>
2466
2647
  * <li>
2467
- * <p>For instance types with Amazon Web Services Trainium2 chips, specify <code>trainium2</code>.</p>
2648
+ * <p>
2649
+ * <code>gp2</code>: 1 - 16,384 GiB</p>
2468
2650
  * </li>
2469
2651
  * <li>
2470
- * <p>For instance types with NVIDIA T4 GPUs, specify <code>t4</code>.</p>
2652
+ * <p>
2653
+ * <code>gp3</code>: 1 - 65,536 GiB</p>
2471
2654
  * </li>
2472
2655
  * <li>
2473
- * <p>For instance types with NVIDIA T4G GPUs, specify <code>t4g</code>.</p>
2656
+ * <p>
2657
+ * <code>io1</code>: 4 - 16,384 GiB</p>
2474
2658
  * </li>
2475
2659
  * <li>
2476
- * <p>For instance types with Xilinx U30 cards, specify <code>u30</code>.</p>
2660
+ * <p>
2661
+ * <code>io2</code>: 4 - 65,536 GiB</p>
2477
2662
  * </li>
2478
2663
  * <li>
2479
- * <p>For instance types with Xilinx VU9P FPGAs, specify <code>vu9p</code>.</p>
2664
+ * <p>
2665
+ * <code>st1</code> and <code>sc1</code>: 125 - 16,384 GiB</p>
2480
2666
  * </li>
2481
2667
  * <li>
2482
- * <p>For instance types with NVIDIA V100 GPUs, specify <code>v100</code>.</p>
2668
+ * <p>
2669
+ * <code>standard</code>: 1 - 1024 GiB</p>
2483
2670
  * </li>
2484
2671
  * </ul>
2485
- * <p>Default: Any accelerator</p>
2486
2672
  * @public
2487
2673
  */
2488
- AcceleratorNames?: AcceleratorName[] | undefined;
2674
+ VolumeSize?: number | undefined;
2489
2675
  /**
2490
- * <p>The minimum and maximum amount of total accelerator memory, in MiB.</p>
2491
- * <p>Default: No minimum or maximum limits</p>
2676
+ * <p>The volume type. For more information, see <a href="https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html">Amazon EBS volume types</a> in the
2677
+ * <i>Amazon EBS User Guide</i>.</p>
2492
2678
  * @public
2493
2679
  */
2494
- AcceleratorTotalMemoryMiB?: AcceleratorTotalMemoryMiBRequest | undefined;
2680
+ VolumeType?: VolumeType | undefined;
2681
+ }
2682
+ /**
2683
+ * <p>Describes a block device mapping, which defines the EBS volumes and instance store
2684
+ * volumes to attach to an instance at launch.</p>
2685
+ * <p>To override a block device mapping specified in the launch template:</p>
2686
+ * <ul>
2687
+ * <li>
2688
+ * <p>Specify the exact same <code>DeviceName</code> here as specified in the launch
2689
+ * template.</p>
2690
+ * </li>
2691
+ * <li>
2692
+ * <p>Only specify the parameters you want to change.</p>
2693
+ * </li>
2694
+ * <li>
2695
+ * <p>Any parameters you don't specify here will keep their original launch template
2696
+ * values.</p>
2697
+ * </li>
2698
+ * </ul>
2699
+ * <p>To add a new block device mapping:</p>
2700
+ * <ul>
2701
+ * <li>
2702
+ * <p>Specify a <code>DeviceName</code> that doesn't exist in the launch
2703
+ * template.</p>
2704
+ * </li>
2705
+ * <li>
2706
+ * <p>Specify all desired parameters here.</p>
2707
+ * </li>
2708
+ * </ul>
2709
+ * @public
2710
+ */
2711
+ export interface FleetBlockDeviceMappingRequest {
2495
2712
  /**
2496
- * <p>The minimum and maximum amount of baseline network bandwidth, in gigabits per second
2497
- * (Gbps). For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html">Amazon EC2 instance network bandwidth</a> in the <i>Amazon EC2 User Guide</i>.</p>
2498
- * <p>Default: No minimum or maximum limits</p>
2713
+ * <p>The device name (for example, <code>/dev/sdh</code> or <code>xvdh</code>).</p>
2499
2714
  * @public
2500
2715
  */
2501
- NetworkBandwidthGbps?: NetworkBandwidthGbpsRequest | undefined;
2716
+ DeviceName?: string | undefined;
2502
2717
  /**
2503
- * <p>The instance types to apply your specified attributes against. All other instance types
2504
- * are ignored, even if they match your specified attributes.</p>
2505
- * <p>You can use strings with one or more wild cards, represented by
2506
- * an asterisk (<code>*</code>), to allow an instance type, size, or generation. The
2507
- * following are examples: <code>m5.8xlarge</code>, <code>c5*.*</code>, <code>m5a.*</code>,
2508
- * <code>r*</code>, <code>*3*</code>.</p>
2509
- * <p>For example, if you specify <code>c5*</code>,Amazon EC2 will allow the entire C5 instance
2510
- * family, which includes all C5a and C5n instance types. If you specify
2511
- * <code>m5a.*</code>, Amazon EC2 will allow all the M5a instance types, but not the M5n
2512
- * instance types.</p>
2513
- * <note>
2514
- * <p>If you specify <code>AllowedInstanceTypes</code>, you can't specify <code>ExcludedInstanceTypes</code>.</p>
2515
- * </note>
2516
- * <p>Default: All instance types</p>
2718
+ * <p>The virtual device name (<code>ephemeralN</code>). Instance store volumes are numbered
2719
+ * starting from 0. An instance type with 2 available instance store volumes can specify
2720
+ * mappings for <code>ephemeral0</code> and <code>ephemeral1</code>. The number of available
2721
+ * instance store volumes depends on the instance type. After you connect to the instance, you
2722
+ * must mount the volume.</p>
2723
+ * <p>NVMe instance store volumes are automatically enumerated and assigned a device name.
2724
+ * Including them in your block device mapping has no effect.</p>
2725
+ * <p>Constraints: For M3 instances, you must specify instance store volumes in the block
2726
+ * device mapping for the instance. When you launch an M3 instance, we ignore any instance
2727
+ * store volumes specified in the block device mapping for the AMI.</p>
2517
2728
  * @public
2518
2729
  */
2519
- AllowedInstanceTypes?: string[] | undefined;
2730
+ VirtualName?: string | undefined;
2520
2731
  /**
2521
- * <p>[Price protection] The price protection threshold for Spot Instances, as a percentage of an
2522
- * identified On-Demand price. The identified On-Demand price is the price of the lowest
2523
- * priced current generation C, M, or R instance type with your specified attributes. If no
2524
- * current generation C, M, or R instance type matches your attributes, then the identified
2525
- * price is from the lowest priced current generation instance types, and failing that, from
2526
- * the lowest priced previous generation instance types that match your attributes. When Amazon EC2
2527
- * selects instance types with your attributes, it will exclude instance types whose price
2528
- * exceeds your specified threshold.</p>
2529
- * <p>The parameter accepts an integer, which Amazon EC2 interprets as a percentage.</p>
2530
- * <p>If you set <code>TargetCapacityUnitType</code> to <code>vcpu</code> or
2531
- * <code>memory-mib</code>, the price protection threshold is based on the per vCPU or per
2532
- * memory price instead of the per instance price.</p>
2533
- * <note>
2534
- * <p>Only one of <code>SpotMaxPricePercentageOverLowestPrice</code> or
2535
- * <code>MaxSpotPriceAsPercentageOfOptimalOnDemandPrice</code> can be specified. If you
2536
- * don't specify either, Amazon EC2 will automatically apply optimal price protection to
2537
- * consistently select from a wide range of instance types. To indicate no price protection
2538
- * threshold for Spot Instances, meaning you want to consider all instance types that match your
2539
- * attributes, include one of these parameters and specify a high value, such as
2540
- * <code>999999</code>.</p>
2541
- * </note>
2732
+ * <p>Parameters used to automatically set up EBS volumes when the instance is
2733
+ * launched.</p>
2542
2734
  * @public
2543
2735
  */
2544
- MaxSpotPriceAsPercentageOfOptimalOnDemandPrice?: number | undefined;
2736
+ Ebs?: FleetEbsBlockDeviceRequest | undefined;
2545
2737
  /**
2546
- * <p>The baseline performance to consider, using an instance family as a baseline reference.
2547
- * The instance family establishes the lowest acceptable level of performance. Amazon EC2 uses this
2548
- * baseline to guide instance type selection, but there is no guarantee that the selected
2549
- * instance types will always exceed the baseline for every application. Currently, this
2550
- * parameter only supports CPU performance as a baseline performance factor. For more
2551
- * information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet-attribute-based-instance-type-selection.html#ec2fleet-abis-performance-protection">Performance protection</a> in the <i>Amazon EC2 User Guide</i>.</p>
2738
+ * <p>To omit the device from the block device mapping, specify an empty string. When this
2739
+ * property is specified, the device is removed from the block device mapping regardless of
2740
+ * the assigned value.</p>
2552
2741
  * @public
2553
2742
  */
2554
- BaselinePerformanceFactors?: BaselinePerformanceFactorsRequest | undefined;
2743
+ NoDevice?: string | undefined;
2744
+ }
2745
+ /**
2746
+ * <p>Describes an IAM instance profile. Supported only for fleets of type
2747
+ * <code>instant</code>.</p>
2748
+ * @public
2749
+ */
2750
+ export interface FleetIamInstanceProfileSpecificationRequest {
2555
2751
  /**
2556
- * <p>Specifies whether instance types must support encrypting in-transit traffic between
2557
- * instances. For more information, including the supported instance types, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/data-protection.html#encryption-transit">Encryption in
2558
- * transit</a> in the <i>Amazon EC2 User Guide</i>.</p>
2559
- * <p>Default: <code>false</code>
2560
- * </p>
2752
+ * <p>The Amazon Resource Name (ARN) of the instance profile.</p>
2561
2753
  * @public
2562
2754
  */
2563
- RequireEncryptionInTransit?: boolean | undefined;
2755
+ Arn?: string | undefined;
2756
+ /**
2757
+ * <p>The name of the instance profile.</p>
2758
+ * @public
2759
+ */
2760
+ Name?: string | undefined;
2564
2761
  }
2565
2762
  /**
2566
2763
  * <p>Describes the metadata options for the instances. Supported only for fleets of type
@@ -12567,26 +12764,3 @@ export interface AttachmentEnaSrdUdpSpecification {
12567
12764
  */
12568
12765
  EnaSrdUdpEnabled?: boolean | undefined;
12569
12766
  }
12570
- /**
12571
- * <p>ENA Express uses Amazon Web Services Scalable Reliable Datagram (SRD) technology to increase the
12572
- * maximum bandwidth used per stream and minimize tail latency of network traffic between EC2 instances.
12573
- * With ENA Express, you can communicate between two EC2 instances in the same subnet within the same
12574
- * account, or in different accounts. Both sending and receiving instances must have ENA Express enabled.</p>
12575
- * <p>To improve the reliability of network packet delivery, ENA Express reorders network packets on the
12576
- * receiving end by default. However, some UDP-based applications are designed to handle network packets
12577
- * that are out of order to reduce the overhead for packet delivery at the network layer. When ENA Express
12578
- * is enabled, you can specify whether UDP network traffic uses it.</p>
12579
- * @public
12580
- */
12581
- export interface AttachmentEnaSrdSpecification {
12582
- /**
12583
- * <p>Indicates whether ENA Express is enabled for the network interface.</p>
12584
- * @public
12585
- */
12586
- EnaSrdEnabled?: boolean | undefined;
12587
- /**
12588
- * <p>Configures ENA Express for UDP network traffic.</p>
12589
- * @public
12590
- */
12591
- EnaSrdUdpSpecification?: AttachmentEnaSrdUdpSpecification | undefined;
12592
- }