aws-cdk-lib 2.184.1__py3-none-any.whl → 2.186.0__py3-none-any.whl

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.

Potentially problematic release.


This version of aws-cdk-lib might be problematic. Click here for more details.

Files changed (75) hide show
  1. aws_cdk/__init__.py +102 -29
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.184.1.jsii.tgz → aws-cdk-lib@2.186.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_amazonmq/__init__.py +3 -2
  5. aws_cdk/aws_apigateway/__init__.py +1 -1
  6. aws_cdk/aws_apigatewayv2/__init__.py +9 -0
  7. aws_cdk/aws_appconfig/__init__.py +3 -3
  8. aws_cdk/aws_applicationsignals/__init__.py +495 -1
  9. aws_cdk/aws_appsync/__init__.py +65 -11
  10. aws_cdk/aws_athena/__init__.py +143 -0
  11. aws_cdk/aws_backup/__init__.py +4 -2
  12. aws_cdk/aws_batch/__init__.py +9 -0
  13. aws_cdk/aws_bedrock/__init__.py +645 -199
  14. aws_cdk/aws_cassandra/__init__.py +3 -5
  15. aws_cdk/aws_chatbot/__init__.py +41 -0
  16. aws_cdk/aws_cleanrooms/__init__.py +21 -9
  17. aws_cdk/aws_cloudformation/__init__.py +1 -5
  18. aws_cdk/aws_cloudfront/__init__.py +4 -1
  19. aws_cdk/aws_cloudfront_origins/__init__.py +4 -2
  20. aws_cdk/aws_codeartifact/__init__.py +20 -33
  21. aws_cdk/aws_codebuild/__init__.py +10 -3
  22. aws_cdk/aws_codepipeline/__init__.py +1328 -120
  23. aws_cdk/aws_cognito/__init__.py +1 -1
  24. aws_cdk/aws_cognito_identitypool/__init__.py +2303 -0
  25. aws_cdk/aws_config/__init__.py +1 -1
  26. aws_cdk/aws_connect/__init__.py +3 -7
  27. aws_cdk/aws_controltower/__init__.py +18 -26
  28. aws_cdk/aws_datasync/__init__.py +12 -14
  29. aws_cdk/aws_datazone/__init__.py +3471 -2
  30. aws_cdk/aws_ec2/__init__.py +701 -37
  31. aws_cdk/aws_ecr/__init__.py +84 -2
  32. aws_cdk/aws_ecs/__init__.py +20 -25
  33. aws_cdk/aws_eks/__init__.py +2 -0
  34. aws_cdk/aws_elasticloadbalancingv2/__init__.py +42 -5
  35. aws_cdk/aws_elasticsearch/__init__.py +1 -1
  36. aws_cdk/aws_events/__init__.py +37 -14
  37. aws_cdk/aws_events_targets/__init__.py +5 -5
  38. aws_cdk/aws_gamelift/__init__.py +165 -165
  39. aws_cdk/aws_gameliftstreams/__init__.py +199 -59
  40. aws_cdk/aws_iam/__init__.py +320 -25
  41. aws_cdk/aws_imagebuilder/__init__.py +15 -2
  42. aws_cdk/aws_iotfleetwise/__init__.py +15 -6
  43. aws_cdk/aws_kinesisfirehose/__init__.py +115 -113
  44. aws_cdk/aws_lambda/__init__.py +7 -1
  45. aws_cdk/aws_location/__init__.py +24 -7
  46. aws_cdk/aws_logs/__init__.py +21 -27
  47. aws_cdk/aws_msk/__init__.py +17 -50
  48. aws_cdk/aws_networkfirewall/__init__.py +16 -12
  49. aws_cdk/aws_oam/__init__.py +8 -37
  50. aws_cdk/aws_opensearchservice/__init__.py +1 -1
  51. aws_cdk/aws_pcs/__init__.py +33 -22
  52. aws_cdk/aws_quicksight/__init__.py +6 -69
  53. aws_cdk/aws_rds/__init__.py +8 -4
  54. aws_cdk/aws_redshiftserverless/__init__.py +192 -15
  55. aws_cdk/aws_rum/__init__.py +454 -43
  56. aws_cdk/aws_s3/__init__.py +4 -6
  57. aws_cdk/aws_s3_deployment/__init__.py +2 -0
  58. aws_cdk/aws_sagemaker/__init__.py +524 -0
  59. aws_cdk/aws_scheduler/__init__.py +3944 -121
  60. aws_cdk/aws_scheduler_targets/__init__.py +4472 -0
  61. aws_cdk/aws_ses/__init__.py +9 -9
  62. aws_cdk/aws_sns/__init__.py +12 -12
  63. aws_cdk/aws_ssmquicksetup/__init__.py +5 -3
  64. aws_cdk/aws_stepfunctions/__init__.py +17 -15
  65. aws_cdk/aws_timestream/__init__.py +4 -4
  66. aws_cdk/aws_wafv2/__init__.py +345 -0
  67. aws_cdk/aws_workspacesthinclient/__init__.py +4 -4
  68. aws_cdk/cx_api/__init__.py +53 -0
  69. aws_cdk/region_info/__init__.py +2 -2
  70. {aws_cdk_lib-2.184.1.dist-info → aws_cdk_lib-2.186.0.dist-info}/METADATA +1 -1
  71. {aws_cdk_lib-2.184.1.dist-info → aws_cdk_lib-2.186.0.dist-info}/RECORD +75 -73
  72. {aws_cdk_lib-2.184.1.dist-info → aws_cdk_lib-2.186.0.dist-info}/LICENSE +0 -0
  73. {aws_cdk_lib-2.184.1.dist-info → aws_cdk_lib-2.186.0.dist-info}/NOTICE +0 -0
  74. {aws_cdk_lib-2.184.1.dist-info → aws_cdk_lib-2.186.0.dist-info}/WHEEL +0 -0
  75. {aws_cdk_lib-2.184.1.dist-info → aws_cdk_lib-2.186.0.dist-info}/top_level.txt +0 -0
@@ -1230,6 +1230,20 @@ ec2.VpcEndpointService(self, "EndpointService",
1230
1230
  )
1231
1231
  ```
1232
1232
 
1233
+ You can specify which IP address types (IPv4, IPv6, or both) are supported for your VPC endpoint service:
1234
+
1235
+ ```python
1236
+ # network_load_balancer: elbv2.NetworkLoadBalancer
1237
+
1238
+
1239
+ ec2.VpcEndpointService(self, "EndpointService",
1240
+ vpc_endpoint_service_load_balancers=[network_load_balancer],
1241
+ # Support both IPv4 and IPv6 connections to the endpoint service
1242
+ supported_ip_address_types=[ec2.IpAddressType.IPV4, ec2.IpAddressType.IPV6
1243
+ ]
1244
+ )
1245
+ ```
1246
+
1233
1247
  Endpoint services support private DNS, which makes it easier for clients to connect to your service by automatically setting up DNS in their VPC.
1234
1248
  You can enable private DNS on an endpoint service like so:
1235
1249
 
@@ -2315,7 +2329,7 @@ ec2.FlowLog(self, "FlowLogWithKeyPrefix",
2315
2329
  )
2316
2330
  ```
2317
2331
 
2318
- *Kinesis Data Firehose*
2332
+ *Amazon Data Firehose*
2319
2333
 
2320
2334
  ```python
2321
2335
  import aws_cdk.aws_kinesisfirehose as firehose
@@ -2616,7 +2630,15 @@ ec2.PrefixList(self, "PrefixList",
2616
2630
  )
2617
2631
  ```
2618
2632
 
2619
- For more information see [Work with customer-managed prefix lists](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-managed-prefix-lists.html)
2633
+ To import AWS-managed prefix list, you can use `PrefixList.fromLookup()`.
2634
+
2635
+ ```python
2636
+ ec2.PrefixList.from_lookup(self, "PrefixListFromName",
2637
+ prefix_list_name="com.amazonaws.global.cloudfront.origin-facing"
2638
+ )
2639
+ ```
2640
+
2641
+ For more information see [Work with customer-managed prefix lists](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-managed-prefix-lists.html).
2620
2642
 
2621
2643
  ### IAM instance profile
2622
2644
 
@@ -5786,6 +5808,62 @@ class CfnCapacityReservation(
5786
5808
  '''
5787
5809
  return typing.cast(jsii.Number, jsii.get(self, "attrAvailableInstanceCount"))
5788
5810
 
5811
+ @builtins.property
5812
+ @jsii.member(jsii_name="attrCapacityAllocationSet")
5813
+ def attr_capacity_allocation_set(self) -> _IResolvable_da3f097b:
5814
+ '''
5815
+ :cloudformationAttribute: CapacityAllocationSet
5816
+ '''
5817
+ return typing.cast(_IResolvable_da3f097b, jsii.get(self, "attrCapacityAllocationSet"))
5818
+
5819
+ @builtins.property
5820
+ @jsii.member(jsii_name="attrCapacityReservationArn")
5821
+ def attr_capacity_reservation_arn(self) -> builtins.str:
5822
+ '''The Amazon Resource Name (ARN) of the Capacity Reservation.
5823
+
5824
+ :cloudformationAttribute: CapacityReservationArn
5825
+ '''
5826
+ return typing.cast(builtins.str, jsii.get(self, "attrCapacityReservationArn"))
5827
+
5828
+ @builtins.property
5829
+ @jsii.member(jsii_name="attrCapacityReservationFleetId")
5830
+ def attr_capacity_reservation_fleet_id(self) -> builtins.str:
5831
+ '''The ID of the Capacity Reservation Fleet to which the Capacity Reservation belongs.
5832
+
5833
+ Only valid for Capacity Reservations that were created by a Capacity Reservation Fleet.
5834
+
5835
+ :cloudformationAttribute: CapacityReservationFleetId
5836
+ '''
5837
+ return typing.cast(builtins.str, jsii.get(self, "attrCapacityReservationFleetId"))
5838
+
5839
+ @builtins.property
5840
+ @jsii.member(jsii_name="attrCommitmentInfo")
5841
+ def attr_commitment_info(self) -> _IResolvable_da3f097b:
5842
+ '''
5843
+ :cloudformationAttribute: CommitmentInfo
5844
+ '''
5845
+ return typing.cast(_IResolvable_da3f097b, jsii.get(self, "attrCommitmentInfo"))
5846
+
5847
+ @builtins.property
5848
+ @jsii.member(jsii_name="attrCreateDate")
5849
+ def attr_create_date(self) -> builtins.str:
5850
+ '''The date and time at which the Capacity Reservation was created.
5851
+
5852
+ :cloudformationAttribute: CreateDate
5853
+ '''
5854
+ return typing.cast(builtins.str, jsii.get(self, "attrCreateDate"))
5855
+
5856
+ @builtins.property
5857
+ @jsii.member(jsii_name="attrDeliveryPreference")
5858
+ def attr_delivery_preference(self) -> builtins.str:
5859
+ '''The delivery method for a future-dated Capacity Reservation.
5860
+
5861
+ ``incremental`` indicates that the requested capacity is delivered in addition to any running instances and reserved capacity that you have in your account at the requested date and time.
5862
+
5863
+ :cloudformationAttribute: DeliveryPreference
5864
+ '''
5865
+ return typing.cast(builtins.str, jsii.get(self, "attrDeliveryPreference"))
5866
+
5789
5867
  @builtins.property
5790
5868
  @jsii.member(jsii_name="attrId")
5791
5869
  def attr_id(self) -> builtins.str:
@@ -5806,6 +5884,54 @@ class CfnCapacityReservation(
5806
5884
  '''
5807
5885
  return typing.cast(builtins.str, jsii.get(self, "attrInstanceType"))
5808
5886
 
5887
+ @builtins.property
5888
+ @jsii.member(jsii_name="attrOwnerId")
5889
+ def attr_owner_id(self) -> builtins.str:
5890
+ '''The ID of the AWS account that owns the Capacity Reservation.
5891
+
5892
+ :cloudformationAttribute: OwnerId
5893
+ '''
5894
+ return typing.cast(builtins.str, jsii.get(self, "attrOwnerId"))
5895
+
5896
+ @builtins.property
5897
+ @jsii.member(jsii_name="attrReservationType")
5898
+ def attr_reservation_type(self) -> builtins.str:
5899
+ '''The type of Capacity Reservation.
5900
+
5901
+ :cloudformationAttribute: ReservationType
5902
+ '''
5903
+ return typing.cast(builtins.str, jsii.get(self, "attrReservationType"))
5904
+
5905
+ @builtins.property
5906
+ @jsii.member(jsii_name="attrStartDate")
5907
+ def attr_start_date(self) -> builtins.str:
5908
+ '''The date and time at which the Capacity Reservation was started.
5909
+
5910
+ :cloudformationAttribute: StartDate
5911
+ '''
5912
+ return typing.cast(builtins.str, jsii.get(self, "attrStartDate"))
5913
+
5914
+ @builtins.property
5915
+ @jsii.member(jsii_name="attrState")
5916
+ def attr_state(self) -> builtins.str:
5917
+ '''The current state of the Capacity Reservation. A Capacity Reservation can be in one of the following states:.
5918
+
5919
+ - ``active`` - The capacity is available for use.
5920
+ - ``expired`` - The Capacity Reservation expired automatically at the date and time specified in your reservation request. The reserved capacity is no longer available for your use.
5921
+ - ``cancelled`` - The Capacity Reservation was canceled. The reserved capacity is no longer available for your use.
5922
+ - ``pending`` - The Capacity Reservation request was successful but the capacity provisioning is still pending.
5923
+ - ``failed`` - The Capacity Reservation request has failed. A request can fail due to request parameters that are not valid, capacity constraints, or instance limit constraints. You can view a failed request for 60 minutes.
5924
+ - ``scheduled`` - ( *Future-dated Capacity Reservations* ) The future-dated Capacity Reservation request was approved and the Capacity Reservation is scheduled for delivery on the requested start date.
5925
+ - ``payment-pending`` - ( *Capacity Blocks* ) The upfront payment has not been processed yet.
5926
+ - ``payment-failed`` - ( *Capacity Blocks* ) The upfront payment was not processed in the 12-hour time frame. Your Capacity Block was released.
5927
+ - ``assessing`` - ( *Future-dated Capacity Reservations* ) Amazon EC2 is assessing your request for a future-dated Capacity Reservation.
5928
+ - ``delayed`` - ( *Future-dated Capacity Reservations* ) Amazon EC2 encountered a delay in provisioning the requested future-dated Capacity Reservation. Amazon EC2 is unable to deliver the requested capacity by the requested start date and time.
5929
+ - ``unsupported`` - ( *Future-dated Capacity Reservations* ) Amazon EC2 can't support the future-dated Capacity Reservation request due to capacity constraints. You can view unsupported requests for 30 days. The Capacity Reservation will not be delivered.
5930
+
5931
+ :cloudformationAttribute: State
5932
+ '''
5933
+ return typing.cast(builtins.str, jsii.get(self, "attrState"))
5934
+
5809
5935
  @builtins.property
5810
5936
  @jsii.member(jsii_name="attrTenancy")
5811
5937
  def attr_tenancy(self) -> builtins.str:
@@ -6062,6 +6188,153 @@ class CfnCapacityReservation(
6062
6188
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
6063
6189
  jsii.set(self, "unusedReservationBillingOwnerId", value) # pyright: ignore[reportArgumentType]
6064
6190
 
6191
+ @jsii.data_type(
6192
+ jsii_type="aws-cdk-lib.aws_ec2.CfnCapacityReservation.CapacityAllocationProperty",
6193
+ jsii_struct_bases=[],
6194
+ name_mapping={"allocation_type": "allocationType", "count": "count"},
6195
+ )
6196
+ class CapacityAllocationProperty:
6197
+ def __init__(
6198
+ self,
6199
+ *,
6200
+ allocation_type: typing.Optional[builtins.str] = None,
6201
+ count: typing.Optional[jsii.Number] = None,
6202
+ ) -> None:
6203
+ '''Information about instance capacity usage for a Capacity Reservation.
6204
+
6205
+ :param allocation_type: The usage type. ``used`` indicates that the instance capacity is in use by instances that are running in the Capacity Reservation.
6206
+ :param count: The amount of instance capacity associated with the usage. For example a value of ``4`` indicates that instance capacity for 4 instances is currently in use.
6207
+
6208
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservation-capacityallocation.html
6209
+ :exampleMetadata: fixture=_generated
6210
+
6211
+ Example::
6212
+
6213
+ # The code below shows an example of how to instantiate this type.
6214
+ # The values are placeholders you should change.
6215
+ from aws_cdk import aws_ec2 as ec2
6216
+
6217
+ capacity_allocation_property = ec2.CfnCapacityReservation.CapacityAllocationProperty(
6218
+ allocation_type="allocationType",
6219
+ count=123
6220
+ )
6221
+ '''
6222
+ if __debug__:
6223
+ type_hints = typing.get_type_hints(_typecheckingstub__bb73541f409f83260eb045bf4e0e3879b1c1c509522736f018397f8ac1cf955c)
6224
+ check_type(argname="argument allocation_type", value=allocation_type, expected_type=type_hints["allocation_type"])
6225
+ check_type(argname="argument count", value=count, expected_type=type_hints["count"])
6226
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
6227
+ if allocation_type is not None:
6228
+ self._values["allocation_type"] = allocation_type
6229
+ if count is not None:
6230
+ self._values["count"] = count
6231
+
6232
+ @builtins.property
6233
+ def allocation_type(self) -> typing.Optional[builtins.str]:
6234
+ '''The usage type.
6235
+
6236
+ ``used`` indicates that the instance capacity is in use by instances that are running in the Capacity Reservation.
6237
+
6238
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservation-capacityallocation.html#cfn-ec2-capacityreservation-capacityallocation-allocationtype
6239
+ '''
6240
+ result = self._values.get("allocation_type")
6241
+ return typing.cast(typing.Optional[builtins.str], result)
6242
+
6243
+ @builtins.property
6244
+ def count(self) -> typing.Optional[jsii.Number]:
6245
+ '''The amount of instance capacity associated with the usage.
6246
+
6247
+ For example a value of ``4`` indicates that instance capacity for 4 instances is currently in use.
6248
+
6249
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservation-capacityallocation.html#cfn-ec2-capacityreservation-capacityallocation-count
6250
+ '''
6251
+ result = self._values.get("count")
6252
+ return typing.cast(typing.Optional[jsii.Number], result)
6253
+
6254
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
6255
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
6256
+
6257
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
6258
+ return not (rhs == self)
6259
+
6260
+ def __repr__(self) -> str:
6261
+ return "CapacityAllocationProperty(%s)" % ", ".join(
6262
+ k + "=" + repr(v) for k, v in self._values.items()
6263
+ )
6264
+
6265
+ @jsii.data_type(
6266
+ jsii_type="aws-cdk-lib.aws_ec2.CfnCapacityReservation.CommitmentInfoProperty",
6267
+ jsii_struct_bases=[],
6268
+ name_mapping={
6269
+ "commitment_end_date": "commitmentEndDate",
6270
+ "committed_instance_count": "committedInstanceCount",
6271
+ },
6272
+ )
6273
+ class CommitmentInfoProperty:
6274
+ def __init__(
6275
+ self,
6276
+ *,
6277
+ commitment_end_date: typing.Optional[builtins.str] = None,
6278
+ committed_instance_count: typing.Optional[jsii.Number] = None,
6279
+ ) -> None:
6280
+ '''Information about your commitment for a future-dated Capacity Reservation.
6281
+
6282
+ :param commitment_end_date: The date and time at which the commitment duration expires, in the ISO8601 format in the UTC time zone ( ``YYYY-MM-DDThh:mm:ss.sssZ`` ). You can't decrease the instance count or cancel the Capacity Reservation before this date and time.
6283
+ :param committed_instance_count: The instance capacity that you committed to when you requested the future-dated Capacity Reservation.
6284
+
6285
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservation-commitmentinfo.html
6286
+ :exampleMetadata: fixture=_generated
6287
+
6288
+ Example::
6289
+
6290
+ # The code below shows an example of how to instantiate this type.
6291
+ # The values are placeholders you should change.
6292
+ from aws_cdk import aws_ec2 as ec2
6293
+
6294
+ commitment_info_property = ec2.CfnCapacityReservation.CommitmentInfoProperty(
6295
+ commitment_end_date="commitmentEndDate",
6296
+ committed_instance_count=123
6297
+ )
6298
+ '''
6299
+ if __debug__:
6300
+ type_hints = typing.get_type_hints(_typecheckingstub__3c56a4c8d14f2a52b13c3cf61a95ca1ca01e35305d2313a0778cf6fad31ac4ef)
6301
+ check_type(argname="argument commitment_end_date", value=commitment_end_date, expected_type=type_hints["commitment_end_date"])
6302
+ check_type(argname="argument committed_instance_count", value=committed_instance_count, expected_type=type_hints["committed_instance_count"])
6303
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
6304
+ if commitment_end_date is not None:
6305
+ self._values["commitment_end_date"] = commitment_end_date
6306
+ if committed_instance_count is not None:
6307
+ self._values["committed_instance_count"] = committed_instance_count
6308
+
6309
+ @builtins.property
6310
+ def commitment_end_date(self) -> typing.Optional[builtins.str]:
6311
+ '''The date and time at which the commitment duration expires, in the ISO8601 format in the UTC time zone ( ``YYYY-MM-DDThh:mm:ss.sssZ`` ). You can't decrease the instance count or cancel the Capacity Reservation before this date and time.
6312
+
6313
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservation-commitmentinfo.html#cfn-ec2-capacityreservation-commitmentinfo-commitmentenddate
6314
+ '''
6315
+ result = self._values.get("commitment_end_date")
6316
+ return typing.cast(typing.Optional[builtins.str], result)
6317
+
6318
+ @builtins.property
6319
+ def committed_instance_count(self) -> typing.Optional[jsii.Number]:
6320
+ '''The instance capacity that you committed to when you requested the future-dated Capacity Reservation.
6321
+
6322
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-capacityreservation-commitmentinfo.html#cfn-ec2-capacityreservation-commitmentinfo-committedinstancecount
6323
+ '''
6324
+ result = self._values.get("committed_instance_count")
6325
+ return typing.cast(typing.Optional[jsii.Number], result)
6326
+
6327
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
6328
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
6329
+
6330
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
6331
+ return not (rhs == self)
6332
+
6333
+ def __repr__(self) -> str:
6334
+ return "CommitmentInfoProperty(%s)" % ", ".join(
6335
+ k + "=" + repr(v) for k, v in self._values.items()
6336
+ )
6337
+
6065
6338
  @jsii.data_type(
6066
6339
  jsii_type="aws-cdk-lib.aws_ec2.CfnCapacityReservation.TagSpecificationProperty",
6067
6340
  jsii_struct_bases=[],
@@ -12138,7 +12411,7 @@ class CfnEC2Fleet(
12138
12411
  :param accelerator_manufacturers: Indicates whether instance types must have accelerators by specific manufacturers. - For instance types with AWS devices, specify ``amazon-web-services`` . - For instance types with AMD devices, specify ``amd`` . - For instance types with Habana devices, specify ``habana`` . - For instance types with NVIDIA devices, specify ``nvidia`` . - For instance types with Xilinx devices, specify ``xilinx`` . Default: Any manufacturer
12139
12412
  :param accelerator_names: The accelerators that must be on the instance type. - For instance types with NVIDIA A10G GPUs, specify ``a10g`` . - For instance types with NVIDIA A100 GPUs, specify ``a100`` . - For instance types with NVIDIA H100 GPUs, specify ``h100`` . - For instance types with AWS Inferentia chips, specify ``inferentia`` . - For instance types with NVIDIA GRID K520 GPUs, specify ``k520`` . - For instance types with NVIDIA K80 GPUs, specify ``k80`` . - For instance types with NVIDIA M60 GPUs, specify ``m60`` . - For instance types with AMD Radeon Pro V520 GPUs, specify ``radeon-pro-v520`` . - For instance types with NVIDIA T4 GPUs, specify ``t4`` . - For instance types with NVIDIA T4G GPUs, specify ``t4g`` . - For instance types with Xilinx VU9P FPGAs, specify ``vu9p`` . - For instance types with NVIDIA V100 GPUs, specify ``v100`` . Default: Any accelerator
12140
12413
  :param accelerator_total_memory_mib: The minimum and maximum amount of total accelerator memory, in MiB. Default: No minimum or maximum limits
12141
- :param accelerator_types: The accelerator types that must be on the instance type. - For instance types with FPGA accelerators, specify ``fpga`` . - For instance types with GPU accelerators, specify ``gpu`` . - For instance types with Inference accelerators, specify ``inference`` . Default: Any accelerator type
12414
+ :param accelerator_types: The accelerator types that must be on the instance type. - For instance types with FPGA accelerators, specify ``fpga`` . - For instance types with GPU accelerators, specify ``gpu`` . Default: Any accelerator type
12142
12415
  :param allowed_instance_types: The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk ( ``*`` ), to allow an instance type, size, or generation. The following are examples: ``m5.8xlarge`` , ``c5*.*`` , ``m5a.*`` , ``r*`` , ``*3*`` . For example, if you specify ``c5*`` ,Amazon EC2 will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*`` , Amazon EC2 will allow all the M5a instance types, but not the M5n instance types. .. epigraph:: If you specify ``AllowedInstanceTypes`` , you can't specify ``ExcludedInstanceTypes`` . Default: All instance types
12143
12416
  :param bare_metal: Indicates whether bare metal instance types must be included, excluded, or required. - To include bare metal instance types, specify ``included`` . - To require only bare metal instance types, specify ``required`` . - To exclude bare metal instance types, specify ``excluded`` . Default: ``excluded``
12144
12417
  :param baseline_ebs_bandwidth_mbps: The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see `Amazon EBS–optimized instances <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html>`_ in the *Amazon EC2 User Guide* . Default: No minimum or maximum limits
@@ -12386,7 +12659,6 @@ class CfnEC2Fleet(
12386
12659
 
12387
12660
  - For instance types with FPGA accelerators, specify ``fpga`` .
12388
12661
  - For instance types with GPU accelerators, specify ``gpu`` .
12389
- - For instance types with Inference accelerators, specify ``inference`` .
12390
12662
 
12391
12663
  Default: Any accelerator type
12392
12664
 
@@ -21688,8 +21960,6 @@ class CfnInstance(
21688
21960
 
21689
21961
  Amazon Elastic Graphics reached end of life on January 8, 2024.
21690
21962
 
21691
- For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, G4dn, or G5 instances.
21692
-
21693
21963
  Specifies the type of Elastic GPU. An Elastic GPU is a GPU resource that you can attach to your Amazon EC2 instance to accelerate the graphics performance of your applications.
21694
21964
 
21695
21965
  ``ElasticGpuSpecification`` is a property of the `AWS::EC2::Instance <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html>`_ resource.
@@ -21749,7 +22019,11 @@ class CfnInstance(
21749
22019
  type: builtins.str,
21750
22020
  count: typing.Optional[jsii.Number] = None,
21751
22021
  ) -> None:
21752
- '''Specifies the Elastic Inference Accelerator for the instance.
22022
+ '''.. epigraph::
22023
+
22024
+ Amazon Elastic Inference is no longer available.
22025
+
22026
+ Specifies the Elastic Inference Accelerator for the instance.
21753
22027
 
21754
22028
  ``ElasticInferenceAccelerator`` is a property of the `AWS::EC2::Instance <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html>`_ resource.
21755
22029
 
@@ -25975,8 +26249,6 @@ class CfnLaunchTemplate(
25975
26249
 
25976
26250
  Amazon Elastic Graphics reached end of life on January 8, 2024.
25977
26251
 
25978
- For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, G4dn, or G5 instances.
25979
-
25980
26252
  Specifies a specification for an Elastic GPU for an Amazon EC2 launch template.
25981
26253
 
25982
26254
  ``ElasticGpuSpecification`` is a property of `AWS::EC2::LaunchTemplate LaunchTemplateData <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html>`_ .
@@ -26531,7 +26803,7 @@ class CfnLaunchTemplate(
26531
26803
  :param accelerator_manufacturers: Indicates whether instance types must have accelerators by specific manufacturers. - For instance types with AWS devices, specify ``amazon-web-services`` . - For instance types with AMD devices, specify ``amd`` . - For instance types with Habana devices, specify ``habana`` . - For instance types with NVIDIA devices, specify ``nvidia`` . - For instance types with Xilinx devices, specify ``xilinx`` . Default: Any manufacturer
26532
26804
  :param accelerator_names: The accelerators that must be on the instance type. - For instance types with NVIDIA A10G GPUs, specify ``a10g`` . - For instance types with NVIDIA A100 GPUs, specify ``a100`` . - For instance types with NVIDIA H100 GPUs, specify ``h100`` . - For instance types with AWS Inferentia chips, specify ``inferentia`` . - For instance types with NVIDIA GRID K520 GPUs, specify ``k520`` . - For instance types with NVIDIA K80 GPUs, specify ``k80`` . - For instance types with NVIDIA M60 GPUs, specify ``m60`` . - For instance types with AMD Radeon Pro V520 GPUs, specify ``radeon-pro-v520`` . - For instance types with NVIDIA T4 GPUs, specify ``t4`` . - For instance types with NVIDIA T4G GPUs, specify ``t4g`` . - For instance types with Xilinx VU9P FPGAs, specify ``vu9p`` . - For instance types with NVIDIA V100 GPUs, specify ``v100`` . Default: Any accelerator
26533
26805
  :param accelerator_total_memory_mib: The minimum and maximum amount of total accelerator memory, in MiB. Default: No minimum or maximum limits
26534
- :param accelerator_types: The accelerator types that must be on the instance type. - For instance types with FPGA accelerators, specify ``fpga`` . - For instance types with GPU accelerators, specify ``gpu`` . - For instance types with Inference accelerators, specify ``inference`` . Default: Any accelerator type
26806
+ :param accelerator_types: The accelerator types that must be on the instance type. - For instance types with FPGA accelerators, specify ``fpga`` . - For instance types with GPU accelerators, specify ``gpu`` . Default: Any accelerator type
26535
26807
  :param allowed_instance_types: The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk ( ``*`` ), to allow an instance type, size, or generation. The following are examples: ``m5.8xlarge`` , ``c5*.*`` , ``m5a.*`` , ``r*`` , ``*3*`` . For example, if you specify ``c5*`` ,Amazon EC2 will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*`` , Amazon EC2 will allow all the M5a instance types, but not the M5n instance types. .. epigraph:: If you specify ``AllowedInstanceTypes`` , you can't specify ``ExcludedInstanceTypes`` . Default: All instance types
26536
26808
  :param bare_metal: Indicates whether bare metal instance types must be included, excluded, or required. - To include bare metal instance types, specify ``included`` . - To require only bare metal instance types, specify ``required`` . - To exclude bare metal instance types, specify ``excluded`` . Default: ``excluded``
26537
26809
  :param baseline_ebs_bandwidth_mbps: The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see `Amazon EBS–optimized instances <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html>`_ in the *Amazon EC2 User Guide* . Default: No minimum or maximum limits
@@ -26779,7 +27051,6 @@ class CfnLaunchTemplate(
26779
27051
 
26780
27052
  - For instance types with FPGA accelerators, specify ``fpga`` .
26781
27053
  - For instance types with GPU accelerators, specify ``gpu`` .
26782
- - For instance types with Inference accelerators, specify ``inference`` .
26783
27054
 
26784
27055
  Default: Any accelerator type
26785
27056
 
@@ -27325,6 +27596,7 @@ class CfnLaunchTemplate(
27325
27596
  "metadata_options": "metadataOptions",
27326
27597
  "monitoring": "monitoring",
27327
27598
  "network_interfaces": "networkInterfaces",
27599
+ "network_performance_options": "networkPerformanceOptions",
27328
27600
  "placement": "placement",
27329
27601
  "private_dns_name_options": "privateDnsNameOptions",
27330
27602
  "ram_disk_id": "ramDiskId",
@@ -27362,6 +27634,7 @@ class CfnLaunchTemplate(
27362
27634
  metadata_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnLaunchTemplate.MetadataOptionsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
27363
27635
  monitoring: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnLaunchTemplate.MonitoringProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
27364
27636
  network_interfaces: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnLaunchTemplate.NetworkInterfaceProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
27637
+ network_performance_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnLaunchTemplate.NetworkPerformanceOptionsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
27365
27638
  placement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnLaunchTemplate.PlacementProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
27366
27639
  private_dns_name_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnLaunchTemplate.PrivateDnsNameOptionsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
27367
27640
  ram_disk_id: typing.Optional[builtins.str] = None,
@@ -27383,8 +27656,8 @@ class CfnLaunchTemplate(
27383
27656
  :param disable_api_stop: Indicates whether to enable the instance for stop protection. For more information, see `Enable stop protection for your EC2 instances <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-stop-protection.html>`_ in the *Amazon EC2 User Guide* .
27384
27657
  :param disable_api_termination: Indicates whether termination protection is enabled for the instance. The default is ``false`` , which means that you can terminate the instance using the Amazon EC2 console, command line tools, or API. You can enable termination protection when you launch an instance, while the instance is running, or while the instance is stopped.
27385
27658
  :param ebs_optimized: Indicates whether the instance is optimized for Amazon EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal Amazon EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance.
27386
- :param elastic_gpu_specifications: Deprecated. .. epigraph:: Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, G4dn, or G5 instances.
27387
- :param elastic_inference_accelerators: .. epigraph:: Amazon Elastic Inference is no longer available. An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads. You cannot specify accelerators from different generations in the same request. .. epigraph:: Starting April 15, 2023, AWS will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.
27659
+ :param elastic_gpu_specifications: Deprecated. .. epigraph:: Amazon Elastic Graphics reached end of life on January 8, 2024.
27660
+ :param elastic_inference_accelerators: .. epigraph:: Amazon Elastic Inference is no longer available. An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads. You cannot specify accelerators from different generations in the same request.
27388
27661
  :param enclave_options: Indicates whether the instance is enabled for AWS Nitro Enclaves. For more information, see `What is Nitro Enclaves? <https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html>`_ in the *AWS Nitro Enclaves User Guide* . You can't enable AWS Nitro Enclaves and hibernation on the same instance.
27389
27662
  :param hibernation_options: Indicates whether an instance is enabled for hibernation. This parameter is valid only if the instance meets the `hibernation prerequisites <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/hibernating-prerequisites.html>`_ . For more information, see `Hibernate your Amazon EC2 instance <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html>`_ in the *Amazon EC2 User Guide* .
27390
27663
  :param iam_instance_profile: The name or Amazon Resource Name (ARN) of an IAM instance profile.
@@ -27400,6 +27673,7 @@ class CfnLaunchTemplate(
27400
27673
  :param metadata_options: The metadata options for the instance. For more information, see `Configure the Instance Metadata Service options <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-options.html>`_ in the *Amazon EC2 User Guide* .
27401
27674
  :param monitoring: The monitoring for the instance.
27402
27675
  :param network_interfaces: The network interfaces for the instance.
27676
+ :param network_performance_options: The settings for the network performance options for the instance. For more information, see `EC2 instance bandwidth weighting configuration <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configure-bandwidth-weighting.html>`_ .
27403
27677
  :param placement: The placement for the instance.
27404
27678
  :param private_dns_name_options: The hostname type for EC2 instances launched into this subnet and how DNS A and AAAA record queries should be handled. For more information, see `Amazon EC2 instance hostname types <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html>`_ in the *Amazon Elastic Compute Cloud User Guide* .
27405
27679
  :param ram_disk_id: The ID of the RAM disk. .. epigraph:: We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see `User provided kernels <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html>`_ in the *Amazon EC2 User Guide* .
@@ -27601,6 +27875,9 @@ class CfnLaunchTemplate(
27601
27875
  secondary_private_ip_address_count=123,
27602
27876
  subnet_id="subnetId"
27603
27877
  )],
27878
+ network_performance_options=ec2.CfnLaunchTemplate.NetworkPerformanceOptionsProperty(
27879
+ bandwidth_weighting="bandwidthWeighting"
27880
+ ),
27604
27881
  placement=ec2.CfnLaunchTemplate.PlacementProperty(
27605
27882
  affinity="affinity",
27606
27883
  availability_zone="availabilityZone",
@@ -27656,6 +27933,7 @@ class CfnLaunchTemplate(
27656
27933
  check_type(argname="argument metadata_options", value=metadata_options, expected_type=type_hints["metadata_options"])
27657
27934
  check_type(argname="argument monitoring", value=monitoring, expected_type=type_hints["monitoring"])
27658
27935
  check_type(argname="argument network_interfaces", value=network_interfaces, expected_type=type_hints["network_interfaces"])
27936
+ check_type(argname="argument network_performance_options", value=network_performance_options, expected_type=type_hints["network_performance_options"])
27659
27937
  check_type(argname="argument placement", value=placement, expected_type=type_hints["placement"])
27660
27938
  check_type(argname="argument private_dns_name_options", value=private_dns_name_options, expected_type=type_hints["private_dns_name_options"])
27661
27939
  check_type(argname="argument ram_disk_id", value=ram_disk_id, expected_type=type_hints["ram_disk_id"])
@@ -27712,6 +27990,8 @@ class CfnLaunchTemplate(
27712
27990
  self._values["monitoring"] = monitoring
27713
27991
  if network_interfaces is not None:
27714
27992
  self._values["network_interfaces"] = network_interfaces
27993
+ if network_performance_options is not None:
27994
+ self._values["network_performance_options"] = network_performance_options
27715
27995
  if placement is not None:
27716
27996
  self._values["placement"] = placement
27717
27997
  if private_dns_name_options is not None:
@@ -27824,7 +28104,7 @@ class CfnLaunchTemplate(
27824
28104
 
27825
28105
  .. epigraph::
27826
28106
 
27827
- Amazon Elastic Graphics reached end of life on January 8, 2024. For workloads that require graphics acceleration, we recommend that you use Amazon EC2 G4ad, G4dn, or G5 instances.
28107
+ Amazon Elastic Graphics reached end of life on January 8, 2024.
27828
28108
 
27829
28109
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-elasticgpuspecifications
27830
28110
  '''
@@ -27842,9 +28122,6 @@ class CfnLaunchTemplate(
27842
28122
  An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.
27843
28123
 
27844
28124
  You cannot specify accelerators from different generations in the same request.
27845
- .. epigraph::
27846
-
27847
- Starting April 15, 2023, AWS will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.
27848
28125
 
27849
28126
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-elasticinferenceaccelerators
27850
28127
  '''
@@ -28054,6 +28331,19 @@ class CfnLaunchTemplate(
28054
28331
  result = self._values.get("network_interfaces")
28055
28332
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, "CfnLaunchTemplate.NetworkInterfaceProperty"]]]], result)
28056
28333
 
28334
+ @builtins.property
28335
+ def network_performance_options(
28336
+ self,
28337
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLaunchTemplate.NetworkPerformanceOptionsProperty"]]:
28338
+ '''The settings for the network performance options for the instance.
28339
+
28340
+ For more information, see `EC2 instance bandwidth weighting configuration <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configure-bandwidth-weighting.html>`_ .
28341
+
28342
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html#cfn-ec2-launchtemplate-launchtemplatedata-networkperformanceoptions
28343
+ '''
28344
+ result = self._values.get("network_performance_options")
28345
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnLaunchTemplate.NetworkPerformanceOptionsProperty"]], result)
28346
+
28057
28347
  @builtins.property
28058
28348
  def placement(
28059
28349
  self,
@@ -28164,7 +28454,11 @@ class CfnLaunchTemplate(
28164
28454
  count: typing.Optional[jsii.Number] = None,
28165
28455
  type: typing.Optional[builtins.str] = None,
28166
28456
  ) -> None:
28167
- '''Specifies an elastic inference accelerator.
28457
+ '''.. epigraph::
28458
+
28459
+ Amazon Elastic Inference is no longer available.
28460
+
28461
+ Specifies an elastic inference accelerator.
28168
28462
 
28169
28463
  ``LaunchTemplateElasticInferenceAccelerator`` is a property of `AWS::EC2::LaunchTemplate LaunchTemplateData <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata.html>`_ .
28170
28464
 
@@ -29394,6 +29688,65 @@ class CfnLaunchTemplate(
29394
29688
  k + "=" + repr(v) for k, v in self._values.items()
29395
29689
  )
29396
29690
 
29691
+ @jsii.data_type(
29692
+ jsii_type="aws-cdk-lib.aws_ec2.CfnLaunchTemplate.NetworkPerformanceOptionsProperty",
29693
+ jsii_struct_bases=[],
29694
+ name_mapping={"bandwidth_weighting": "bandwidthWeighting"},
29695
+ )
29696
+ class NetworkPerformanceOptionsProperty:
29697
+ def __init__(
29698
+ self,
29699
+ *,
29700
+ bandwidth_weighting: typing.Optional[builtins.str] = None,
29701
+ ) -> None:
29702
+ '''Contains settings for the network performance options for the instance.
29703
+
29704
+ :param bandwidth_weighting: Specify the bandwidth weighting option to boost the associated type of baseline bandwidth, as follows:. - **default** - This option uses the standard bandwidth configuration for your instance type. - **vpc-1** - This option boosts your networking baseline bandwidth and reduces your EBS baseline bandwidth. - **ebs-1** - This option boosts your EBS baseline bandwidth and reduces your networking baseline bandwidth.
29705
+
29706
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkperformanceoptions.html
29707
+ :exampleMetadata: fixture=_generated
29708
+
29709
+ Example::
29710
+
29711
+ # The code below shows an example of how to instantiate this type.
29712
+ # The values are placeholders you should change.
29713
+ from aws_cdk import aws_ec2 as ec2
29714
+
29715
+ network_performance_options_property = ec2.CfnLaunchTemplate.NetworkPerformanceOptionsProperty(
29716
+ bandwidth_weighting="bandwidthWeighting"
29717
+ )
29718
+ '''
29719
+ if __debug__:
29720
+ type_hints = typing.get_type_hints(_typecheckingstub__6debda9e4d3c6d44941e145e13f4b9fc9cbef841de7fbb20157320c8391b1342)
29721
+ check_type(argname="argument bandwidth_weighting", value=bandwidth_weighting, expected_type=type_hints["bandwidth_weighting"])
29722
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
29723
+ if bandwidth_weighting is not None:
29724
+ self._values["bandwidth_weighting"] = bandwidth_weighting
29725
+
29726
+ @builtins.property
29727
+ def bandwidth_weighting(self) -> typing.Optional[builtins.str]:
29728
+ '''Specify the bandwidth weighting option to boost the associated type of baseline bandwidth, as follows:.
29729
+
29730
+ - **default** - This option uses the standard bandwidth configuration for your instance type.
29731
+ - **vpc-1** - This option boosts your networking baseline bandwidth and reduces your EBS baseline bandwidth.
29732
+ - **ebs-1** - This option boosts your EBS baseline bandwidth and reduces your networking baseline bandwidth.
29733
+
29734
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-networkperformanceoptions.html#cfn-ec2-launchtemplate-networkperformanceoptions-bandwidthweighting
29735
+ '''
29736
+ result = self._values.get("bandwidth_weighting")
29737
+ return typing.cast(typing.Optional[builtins.str], result)
29738
+
29739
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
29740
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
29741
+
29742
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
29743
+ return not (rhs == self)
29744
+
29745
+ def __repr__(self) -> str:
29746
+ return "NetworkPerformanceOptionsProperty(%s)" % ", ".join(
29747
+ k + "=" + repr(v) for k, v in self._values.items()
29748
+ )
29749
+
29397
29750
  @jsii.data_type(
29398
29751
  jsii_type="aws-cdk-lib.aws_ec2.CfnLaunchTemplate.PlacementProperty",
29399
29752
  jsii_struct_bases=[],
@@ -45845,7 +46198,7 @@ class CfnSpotFleet(
45845
46198
  :param accelerator_manufacturers: Indicates whether instance types must have accelerators by specific manufacturers. - For instance types with AWS devices, specify ``amazon-web-services`` . - For instance types with AMD devices, specify ``amd`` . - For instance types with Habana devices, specify ``habana`` . - For instance types with NVIDIA devices, specify ``nvidia`` . - For instance types with Xilinx devices, specify ``xilinx`` . Default: Any manufacturer
45846
46199
  :param accelerator_names: The accelerators that must be on the instance type. - For instance types with NVIDIA A10G GPUs, specify ``a10g`` . - For instance types with NVIDIA A100 GPUs, specify ``a100`` . - For instance types with NVIDIA H100 GPUs, specify ``h100`` . - For instance types with AWS Inferentia chips, specify ``inferentia`` . - For instance types with NVIDIA GRID K520 GPUs, specify ``k520`` . - For instance types with NVIDIA K80 GPUs, specify ``k80`` . - For instance types with NVIDIA M60 GPUs, specify ``m60`` . - For instance types with AMD Radeon Pro V520 GPUs, specify ``radeon-pro-v520`` . - For instance types with NVIDIA T4 GPUs, specify ``t4`` . - For instance types with NVIDIA T4G GPUs, specify ``t4g`` . - For instance types with Xilinx VU9P FPGAs, specify ``vu9p`` . - For instance types with NVIDIA V100 GPUs, specify ``v100`` . Default: Any accelerator
45847
46200
  :param accelerator_total_memory_mib: The minimum and maximum amount of total accelerator memory, in MiB. Default: No minimum or maximum limits
45848
- :param accelerator_types: The accelerator types that must be on the instance type. - For instance types with FPGA accelerators, specify ``fpga`` . - For instance types with GPU accelerators, specify ``gpu`` . - For instance types with Inference accelerators, specify ``inference`` . Default: Any accelerator type
46201
+ :param accelerator_types: The accelerator types that must be on the instance type. - For instance types with FPGA accelerators, specify ``fpga`` . - For instance types with GPU accelerators, specify ``gpu`` . Default: Any accelerator type
45849
46202
  :param allowed_instance_types: The instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk ( ``*`` ), to allow an instance type, size, or generation. The following are examples: ``m5.8xlarge`` , ``c5*.*`` , ``m5a.*`` , ``r*`` , ``*3*`` . For example, if you specify ``c5*`` ,Amazon EC2 will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify ``m5a.*`` , Amazon EC2 will allow all the M5a instance types, but not the M5n instance types. .. epigraph:: If you specify ``AllowedInstanceTypes`` , you can't specify ``ExcludedInstanceTypes`` . Default: All instance types
45850
46203
  :param bare_metal: Indicates whether bare metal instance types must be included, excluded, or required. - To include bare metal instance types, specify ``included`` . - To require only bare metal instance types, specify ``required`` . - To exclude bare metal instance types, specify ``excluded`` . Default: ``excluded``
45851
46204
  :param baseline_ebs_bandwidth_mbps: The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see `Amazon EBS–optimized instances <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html>`_ in the *Amazon EC2 User Guide* . Default: No minimum or maximum limits
@@ -46093,7 +46446,6 @@ class CfnSpotFleet(
46093
46446
 
46094
46447
  - For instance types with FPGA accelerators, specify ``fpga`` .
46095
46448
  - For instance types with GPU accelerators, specify ``gpu`` .
46096
- - For instance types with Inference accelerators, specify ``inference`` .
46097
46449
 
46098
46450
  Default: Any accelerator type
46099
46451
 
@@ -59632,6 +59984,8 @@ class CfnVPCEndpointService(
59632
59984
  gateway_load_balancer_arns=["gatewayLoadBalancerArns"],
59633
59985
  network_load_balancer_arns=["networkLoadBalancerArns"],
59634
59986
  payer_responsibility="payerResponsibility",
59987
+ supported_ip_address_types=["supportedIpAddressTypes"],
59988
+ supported_regions=["supportedRegions"],
59635
59989
  tags=[CfnTag(
59636
59990
  key="key",
59637
59991
  value="value"
@@ -59649,6 +60003,8 @@ class CfnVPCEndpointService(
59649
60003
  gateway_load_balancer_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
59650
60004
  network_load_balancer_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
59651
60005
  payer_responsibility: typing.Optional[builtins.str] = None,
60006
+ supported_ip_address_types: typing.Optional[typing.Sequence[builtins.str]] = None,
60007
+ supported_regions: typing.Optional[typing.Sequence[builtins.str]] = None,
59652
60008
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
59653
60009
  ) -> None:
59654
60010
  '''
@@ -59659,6 +60015,8 @@ class CfnVPCEndpointService(
59659
60015
  :param gateway_load_balancer_arns: The Amazon Resource Names (ARNs) of the Gateway Load Balancers.
59660
60016
  :param network_load_balancer_arns: The Amazon Resource Names (ARNs) of the Network Load Balancers.
59661
60017
  :param payer_responsibility: The entity that is responsible for the endpoint costs. The default is the endpoint owner. If you set the payer responsibility to the service owner, you cannot set it back to the endpoint owner.
60018
+ :param supported_ip_address_types: The supported IP address types. The possible values are ``ipv4`` and ``ipv6`` .
60019
+ :param supported_regions: The Regions from which service consumers can access the service.
59662
60020
  :param tags: The tags to associate with the service.
59663
60021
  '''
59664
60022
  if __debug__:
@@ -59671,6 +60029,8 @@ class CfnVPCEndpointService(
59671
60029
  gateway_load_balancer_arns=gateway_load_balancer_arns,
59672
60030
  network_load_balancer_arns=network_load_balancer_arns,
59673
60031
  payer_responsibility=payer_responsibility,
60032
+ supported_ip_address_types=supported_ip_address_types,
60033
+ supported_regions=supported_regions,
59674
60034
  tags=tags,
59675
60035
  )
59676
60036
 
@@ -59807,6 +60167,38 @@ class CfnVPCEndpointService(
59807
60167
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
59808
60168
  jsii.set(self, "payerResponsibility", value) # pyright: ignore[reportArgumentType]
59809
60169
 
60170
+ @builtins.property
60171
+ @jsii.member(jsii_name="supportedIpAddressTypes")
60172
+ def supported_ip_address_types(self) -> typing.Optional[typing.List[builtins.str]]:
60173
+ '''The supported IP address types.'''
60174
+ return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "supportedIpAddressTypes"))
60175
+
60176
+ @supported_ip_address_types.setter
60177
+ def supported_ip_address_types(
60178
+ self,
60179
+ value: typing.Optional[typing.List[builtins.str]],
60180
+ ) -> None:
60181
+ if __debug__:
60182
+ type_hints = typing.get_type_hints(_typecheckingstub__4f3f2000badada7fa5b32f7a5144ba0ad0a0da831f8211c47464b99d092bec82)
60183
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
60184
+ jsii.set(self, "supportedIpAddressTypes", value) # pyright: ignore[reportArgumentType]
60185
+
60186
+ @builtins.property
60187
+ @jsii.member(jsii_name="supportedRegions")
60188
+ def supported_regions(self) -> typing.Optional[typing.List[builtins.str]]:
60189
+ '''The Regions from which service consumers can access the service.'''
60190
+ return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "supportedRegions"))
60191
+
60192
+ @supported_regions.setter
60193
+ def supported_regions(
60194
+ self,
60195
+ value: typing.Optional[typing.List[builtins.str]],
60196
+ ) -> None:
60197
+ if __debug__:
60198
+ type_hints = typing.get_type_hints(_typecheckingstub__5c4b6c5e3132a3db9ac1919f84f1acb15ff2a21f1f6ba6d102fb4c3ec4c36bc2)
60199
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
60200
+ jsii.set(self, "supportedRegions", value) # pyright: ignore[reportArgumentType]
60201
+
59810
60202
  @builtins.property
59811
60203
  @jsii.member(jsii_name="tags")
59812
60204
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
@@ -60026,6 +60418,8 @@ class CfnVPCEndpointServicePermissionsProps:
60026
60418
  "gateway_load_balancer_arns": "gatewayLoadBalancerArns",
60027
60419
  "network_load_balancer_arns": "networkLoadBalancerArns",
60028
60420
  "payer_responsibility": "payerResponsibility",
60421
+ "supported_ip_address_types": "supportedIpAddressTypes",
60422
+ "supported_regions": "supportedRegions",
60029
60423
  "tags": "tags",
60030
60424
  },
60031
60425
  )
@@ -60038,6 +60432,8 @@ class CfnVPCEndpointServiceProps:
60038
60432
  gateway_load_balancer_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
60039
60433
  network_load_balancer_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
60040
60434
  payer_responsibility: typing.Optional[builtins.str] = None,
60435
+ supported_ip_address_types: typing.Optional[typing.Sequence[builtins.str]] = None,
60436
+ supported_regions: typing.Optional[typing.Sequence[builtins.str]] = None,
60041
60437
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
60042
60438
  ) -> None:
60043
60439
  '''Properties for defining a ``CfnVPCEndpointService``.
@@ -60047,6 +60443,8 @@ class CfnVPCEndpointServiceProps:
60047
60443
  :param gateway_load_balancer_arns: The Amazon Resource Names (ARNs) of the Gateway Load Balancers.
60048
60444
  :param network_load_balancer_arns: The Amazon Resource Names (ARNs) of the Network Load Balancers.
60049
60445
  :param payer_responsibility: The entity that is responsible for the endpoint costs. The default is the endpoint owner. If you set the payer responsibility to the service owner, you cannot set it back to the endpoint owner.
60446
+ :param supported_ip_address_types: The supported IP address types. The possible values are ``ipv4`` and ``ipv6`` .
60447
+ :param supported_regions: The Regions from which service consumers can access the service.
60050
60448
  :param tags: The tags to associate with the service.
60051
60449
 
60052
60450
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservice.html
@@ -60064,6 +60462,8 @@ class CfnVPCEndpointServiceProps:
60064
60462
  gateway_load_balancer_arns=["gatewayLoadBalancerArns"],
60065
60463
  network_load_balancer_arns=["networkLoadBalancerArns"],
60066
60464
  payer_responsibility="payerResponsibility",
60465
+ supported_ip_address_types=["supportedIpAddressTypes"],
60466
+ supported_regions=["supportedRegions"],
60067
60467
  tags=[CfnTag(
60068
60468
  key="key",
60069
60469
  value="value"
@@ -60077,6 +60477,8 @@ class CfnVPCEndpointServiceProps:
60077
60477
  check_type(argname="argument gateway_load_balancer_arns", value=gateway_load_balancer_arns, expected_type=type_hints["gateway_load_balancer_arns"])
60078
60478
  check_type(argname="argument network_load_balancer_arns", value=network_load_balancer_arns, expected_type=type_hints["network_load_balancer_arns"])
60079
60479
  check_type(argname="argument payer_responsibility", value=payer_responsibility, expected_type=type_hints["payer_responsibility"])
60480
+ check_type(argname="argument supported_ip_address_types", value=supported_ip_address_types, expected_type=type_hints["supported_ip_address_types"])
60481
+ check_type(argname="argument supported_regions", value=supported_regions, expected_type=type_hints["supported_regions"])
60080
60482
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
60081
60483
  self._values: typing.Dict[builtins.str, typing.Any] = {}
60082
60484
  if acceptance_required is not None:
@@ -60089,6 +60491,10 @@ class CfnVPCEndpointServiceProps:
60089
60491
  self._values["network_load_balancer_arns"] = network_load_balancer_arns
60090
60492
  if payer_responsibility is not None:
60091
60493
  self._values["payer_responsibility"] = payer_responsibility
60494
+ if supported_ip_address_types is not None:
60495
+ self._values["supported_ip_address_types"] = supported_ip_address_types
60496
+ if supported_regions is not None:
60497
+ self._values["supported_regions"] = supported_regions
60092
60498
  if tags is not None:
60093
60499
  self._values["tags"] = tags
60094
60500
 
@@ -60143,6 +60549,26 @@ class CfnVPCEndpointServiceProps:
60143
60549
  result = self._values.get("payer_responsibility")
60144
60550
  return typing.cast(typing.Optional[builtins.str], result)
60145
60551
 
60552
+ @builtins.property
60553
+ def supported_ip_address_types(self) -> typing.Optional[typing.List[builtins.str]]:
60554
+ '''The supported IP address types.
60555
+
60556
+ The possible values are ``ipv4`` and ``ipv6`` .
60557
+
60558
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservice.html#cfn-ec2-vpcendpointservice-supportedipaddresstypes
60559
+ '''
60560
+ result = self._values.get("supported_ip_address_types")
60561
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
60562
+
60563
+ @builtins.property
60564
+ def supported_regions(self) -> typing.Optional[typing.List[builtins.str]]:
60565
+ '''The Regions from which service consumers can access the service.
60566
+
60567
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-vpcendpointservice.html#cfn-ec2-vpcendpointservice-supportedregions
60568
+ '''
60569
+ result = self._values.get("supported_regions")
60570
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
60571
+
60146
60572
  @builtins.property
60147
60573
  def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
60148
60574
  '''The tags to associate with the service.
@@ -70574,6 +71000,12 @@ class DefaultInstanceTenancy(enum.Enum):
70574
71000
  '''Instances can be launched with any tenancy.'''
70575
71001
  DEDICATED = "DEDICATED"
70576
71002
  '''Any instance launched into the VPC automatically has dedicated tenancy, unless you launch it with the default tenancy.'''
71003
+ HOST = "HOST"
71004
+ '''Instances must be launched on dedicated hosts.
71005
+
71006
+ This provides additional visibility
71007
+ and control over instance placement at the physical host level.
71008
+ '''
70577
71009
 
70578
71010
 
70579
71011
  @jsii.data_type(
@@ -71020,9 +71452,9 @@ class FlowLogDestination(
71020
71452
  cls,
71021
71453
  delivery_stream_arn: builtins.str,
71022
71454
  ) -> "FlowLogDestination":
71023
- '''Use Kinesis Data Firehose as the destination.
71455
+ '''Use Amazon Data Firehose as the destination.
71024
71456
 
71025
- :param delivery_stream_arn: the ARN of Kinesis Data Firehose delivery stream to publish logs to.
71457
+ :param delivery_stream_arn: the ARN of Amazon Data Firehose delivery stream to publish logs to.
71026
71458
  '''
71027
71459
  if __debug__:
71028
71460
  type_hints = typing.get_type_hints(_typecheckingstub__b3ea932697fa6e2a914a77fa81659cb98c5eed106039fb226a25f275e5820211)
@@ -71125,7 +71557,7 @@ class FlowLogDestinationConfig:
71125
71557
  '''Flow Log Destination configuration.
71126
71558
 
71127
71559
  :param log_destination_type: The type of destination to publish the flow logs to. Default: - CLOUD_WATCH_LOGS
71128
- :param delivery_stream_arn: The ARN of Kinesis Data Firehose delivery stream to publish the flow logs to. Default: - undefined
71560
+ :param delivery_stream_arn: The ARN of Amazon Data Firehose delivery stream to publish the flow logs to. Default: - undefined
71129
71561
  :param destination_options: Options for writing flow logs to a supported destination. Default: - undefined
71130
71562
  :param iam_role: The IAM Role that has access to publish to CloudWatch logs. Default: - default IAM role is created for you
71131
71563
  :param key_prefix: S3 bucket key prefix to publish the flow logs to. Default: - undefined
@@ -71202,7 +71634,7 @@ class FlowLogDestinationConfig:
71202
71634
 
71203
71635
  @builtins.property
71204
71636
  def delivery_stream_arn(self) -> typing.Optional[builtins.str]:
71205
- '''The ARN of Kinesis Data Firehose delivery stream to publish the flow logs to.
71637
+ '''The ARN of Amazon Data Firehose delivery stream to publish the flow logs to.
71206
71638
 
71207
71639
  :default: - undefined
71208
71640
  '''
@@ -71275,7 +71707,7 @@ class FlowLogDestinationType(enum.Enum):
71275
71707
  S3 = "S3"
71276
71708
  '''Send flow logs to S3 Bucket.'''
71277
71709
  KINESIS_DATA_FIREHOSE = "KINESIS_DATA_FIREHOSE"
71278
- '''Send flow logs to Kinesis Data Firehose.'''
71710
+ '''Send flow logs to Amazon Data Firehose.'''
71279
71711
 
71280
71712
 
71281
71713
  @jsii.enum(jsii_type="aws-cdk-lib.aws_ec2.FlowLogFileFormat")
@@ -81326,6 +81758,31 @@ class InterfaceVpcEndpointService(
81326
81758
  return typing.cast(typing.Optional[builtins.bool], jsii.get(self, "privateDnsDefault"))
81327
81759
 
81328
81760
 
81761
+ @jsii.enum(jsii_type="aws-cdk-lib.aws_ec2.IpAddressType")
81762
+ class IpAddressType(enum.Enum):
81763
+ '''IP address types supported for VPC endpoint service.
81764
+
81765
+ :exampleMetadata: infused
81766
+
81767
+ Example::
81768
+
81769
+ # network_load_balancer: elbv2.NetworkLoadBalancer
81770
+
81771
+
81772
+ ec2.VpcEndpointService(self, "EndpointService",
81773
+ vpc_endpoint_service_load_balancers=[network_load_balancer],
81774
+ # Support both IPv4 and IPv6 connections to the endpoint service
81775
+ supported_ip_address_types=[ec2.IpAddressType.IPV4, ec2.IpAddressType.IPV6
81776
+ ]
81777
+ )
81778
+ '''
81779
+
81780
+ IPV4 = "IPV4"
81781
+ '''ipv4 address type.'''
81782
+ IPV6 = "IPV6"
81783
+ '''ipv6 address type.'''
81784
+
81785
+
81329
81786
  class IpAddresses(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_ec2.IpAddresses"):
81330
81787
  '''An abstract Provider of IpAddresses.
81331
81788
 
@@ -85845,17 +86302,20 @@ class Peer(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_ec2.Peer"):
85845
86302
 
85846
86303
  Example::
85847
86304
 
85848
- # instance_type: ec2.InstanceType
85849
-
86305
+ # vpc: ec2.Vpc
85850
86306
 
85851
- provider = ec2.NatProvider.instance_v2(
85852
- instance_type=instance_type,
85853
- default_allowed_traffic=ec2.NatTrafficDirection.OUTBOUND_ONLY
85854
- )
85855
- ec2.Vpc(self, "TheVPC",
85856
- nat_gateway_provider=provider
86307
+ cluster = msk.Cluster(self, "Cluster",
86308
+ cluster_name="myCluster",
86309
+ kafka_version=msk.KafkaVersion.V3_8_X,
86310
+ vpc=vpc
85857
86311
  )
85858
- provider.connections.allow_from(ec2.Peer.ipv4("1.2.3.4/8"), ec2.Port.HTTP)
86312
+
86313
+ cluster.connections.allow_from(
86314
+ ec2.Peer.ipv4("1.2.3.4/8"),
86315
+ ec2.Port.tcp(2181))
86316
+ cluster.connections.allow_from(
86317
+ ec2.Peer.ipv4("1.2.3.4/8"),
86318
+ ec2.Port.tcp(9094))
85859
86319
  '''
85860
86320
 
85861
86321
  def __init__(self) -> None:
@@ -86639,8 +87099,8 @@ class PrefixList(
86639
87099
 
86640
87100
  Example::
86641
87101
 
86642
- ec2.PrefixList(self, "EmptyPrefixList",
86643
- max_entries=100
87102
+ ec2.PrefixList.from_lookup(self, "PrefixListFromName",
87103
+ prefix_list_name="com.amazonaws.global.cloudfront.origin-facing"
86644
87104
  )
86645
87105
  '''
86646
87106
 
@@ -86675,6 +87135,37 @@ class PrefixList(
86675
87135
 
86676
87136
  jsii.create(self.__class__, self, [scope, id, props])
86677
87137
 
87138
+ @jsii.member(jsii_name="fromLookup")
87139
+ @builtins.classmethod
87140
+ def from_lookup(
87141
+ cls,
87142
+ scope: _constructs_77d1e7e8.Construct,
87143
+ id: builtins.str,
87144
+ *,
87145
+ prefix_list_name: builtins.str,
87146
+ address_family: typing.Optional[AddressFamily] = None,
87147
+ owner_id: typing.Optional[builtins.str] = None,
87148
+ ) -> IPrefixList:
87149
+ '''Look up prefix list by name.
87150
+
87151
+ :param scope: -
87152
+ :param id: -
87153
+ :param prefix_list_name: The name of the managed prefix list.
87154
+ :param address_family: The address family of the managed prefix list. Default: - Don't filter on addressFamily
87155
+ :param owner_id: The ID of the AWS account that owns the managed prefix list. Default: - Don't filter on ownerId
87156
+ '''
87157
+ if __debug__:
87158
+ type_hints = typing.get_type_hints(_typecheckingstub__deb5818afac672a99613bc37d186a04e6a9cd2bae585fd43a7bbbe7b2c4de0e6)
87159
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
87160
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
87161
+ options = PrefixListLookupOptions(
87162
+ prefix_list_name=prefix_list_name,
87163
+ address_family=address_family,
87164
+ owner_id=owner_id,
87165
+ )
87166
+
87167
+ return typing.cast(IPrefixList, jsii.sinvoke(cls, "fromLookup", [scope, id, options]))
87168
+
86678
87169
  @jsii.member(jsii_name="fromPrefixListId")
86679
87170
  @builtins.classmethod
86680
87171
  def from_prefix_list_id(
@@ -86742,6 +87233,91 @@ class PrefixList(
86742
87233
  return typing.cast(jsii.Number, jsii.get(self, "version"))
86743
87234
 
86744
87235
 
87236
+ @jsii.data_type(
87237
+ jsii_type="aws-cdk-lib.aws_ec2.PrefixListLookupOptions",
87238
+ jsii_struct_bases=[],
87239
+ name_mapping={
87240
+ "prefix_list_name": "prefixListName",
87241
+ "address_family": "addressFamily",
87242
+ "owner_id": "ownerId",
87243
+ },
87244
+ )
87245
+ class PrefixListLookupOptions:
87246
+ def __init__(
87247
+ self,
87248
+ *,
87249
+ prefix_list_name: builtins.str,
87250
+ address_family: typing.Optional[AddressFamily] = None,
87251
+ owner_id: typing.Optional[builtins.str] = None,
87252
+ ) -> None:
87253
+ '''Properties for looking up an existing managed prefix list.
87254
+
87255
+ :param prefix_list_name: The name of the managed prefix list.
87256
+ :param address_family: The address family of the managed prefix list. Default: - Don't filter on addressFamily
87257
+ :param owner_id: The ID of the AWS account that owns the managed prefix list. Default: - Don't filter on ownerId
87258
+
87259
+ :exampleMetadata: infused
87260
+
87261
+ Example::
87262
+
87263
+ # alb: elbv2.ApplicationLoadBalancer
87264
+
87265
+
87266
+ cf_origin_facing = ec2.PrefixList.from_lookup(self, "CloudFrontOriginFacing",
87267
+ prefix_list_name="com.amazonaws.global.cloudfront.origin-facing"
87268
+ )
87269
+ alb.connections.allow_from(ec2.Peer.prefix_list(cf_origin_facing.prefix_list_id), ec2.Port.HTTP)
87270
+ '''
87271
+ if __debug__:
87272
+ type_hints = typing.get_type_hints(_typecheckingstub__4353f67b97f73eaeb1fbd94df299a14d0727dbc31a3319f8619e9b6d60f5c1bb)
87273
+ check_type(argname="argument prefix_list_name", value=prefix_list_name, expected_type=type_hints["prefix_list_name"])
87274
+ check_type(argname="argument address_family", value=address_family, expected_type=type_hints["address_family"])
87275
+ check_type(argname="argument owner_id", value=owner_id, expected_type=type_hints["owner_id"])
87276
+ self._values: typing.Dict[builtins.str, typing.Any] = {
87277
+ "prefix_list_name": prefix_list_name,
87278
+ }
87279
+ if address_family is not None:
87280
+ self._values["address_family"] = address_family
87281
+ if owner_id is not None:
87282
+ self._values["owner_id"] = owner_id
87283
+
87284
+ @builtins.property
87285
+ def prefix_list_name(self) -> builtins.str:
87286
+ '''The name of the managed prefix list.'''
87287
+ result = self._values.get("prefix_list_name")
87288
+ assert result is not None, "Required property 'prefix_list_name' is missing"
87289
+ return typing.cast(builtins.str, result)
87290
+
87291
+ @builtins.property
87292
+ def address_family(self) -> typing.Optional[AddressFamily]:
87293
+ '''The address family of the managed prefix list.
87294
+
87295
+ :default: - Don't filter on addressFamily
87296
+ '''
87297
+ result = self._values.get("address_family")
87298
+ return typing.cast(typing.Optional[AddressFamily], result)
87299
+
87300
+ @builtins.property
87301
+ def owner_id(self) -> typing.Optional[builtins.str]:
87302
+ '''The ID of the AWS account that owns the managed prefix list.
87303
+
87304
+ :default: - Don't filter on ownerId
87305
+ '''
87306
+ result = self._values.get("owner_id")
87307
+ return typing.cast(typing.Optional[builtins.str], result)
87308
+
87309
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
87310
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
87311
+
87312
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
87313
+ return not (rhs == self)
87314
+
87315
+ def __repr__(self) -> str:
87316
+ return "PrefixListLookupOptions(%s)" % ", ".join(
87317
+ k + "=" + repr(v) for k, v in self._values.items()
87318
+ )
87319
+
87320
+
86745
87321
  @jsii.data_type(
86746
87322
  jsii_type="aws-cdk-lib.aws_ec2.PrefixListOptions",
86747
87323
  jsii_struct_bases=[],
@@ -92147,6 +92723,7 @@ class VpcEndpointService(
92147
92723
  acceptance_required: typing.Optional[builtins.bool] = None,
92148
92724
  allowed_principals: typing.Optional[typing.Sequence[_ArnPrincipal_d31ca6bc]] = None,
92149
92725
  contributor_insights: typing.Optional[builtins.bool] = None,
92726
+ supported_ip_address_types: typing.Optional[typing.Sequence[IpAddressType]] = None,
92150
92727
  ) -> None:
92151
92728
  '''
92152
92729
  :param scope: -
@@ -92155,6 +92732,7 @@ class VpcEndpointService(
92155
92732
  :param acceptance_required: Whether requests from service consumers to connect to the service through an endpoint must be accepted. Default: true
92156
92733
  :param allowed_principals: IAM users, IAM roles, or AWS accounts to allow inbound connections from. These principals can connect to your service using VPC endpoints. Takes a list of one or more ArnPrincipal. Default: - no principals
92157
92734
  :param contributor_insights: Indicates whether to enable the built-in Contributor Insights rules provided by AWS PrivateLink. Default: false
92735
+ :param supported_ip_address_types: Specify which IP address types are supported for VPC endpoint service. Default: - No specific IP address types configured
92158
92736
  '''
92159
92737
  if __debug__:
92160
92738
  type_hints = typing.get_type_hints(_typecheckingstub__e9a177a308c941d9422cff7194d8a56d967004d3230efd826dc934ef5358129e)
@@ -92165,6 +92743,7 @@ class VpcEndpointService(
92165
92743
  acceptance_required=acceptance_required,
92166
92744
  allowed_principals=allowed_principals,
92167
92745
  contributor_insights=contributor_insights,
92746
+ supported_ip_address_types=supported_ip_address_types,
92168
92747
  )
92169
92748
 
92170
92749
  jsii.create(self.__class__, self, [scope, id, props])
@@ -92231,6 +92810,7 @@ class VpcEndpointService(
92231
92810
  "acceptance_required": "acceptanceRequired",
92232
92811
  "allowed_principals": "allowedPrincipals",
92233
92812
  "contributor_insights": "contributorInsights",
92813
+ "supported_ip_address_types": "supportedIpAddressTypes",
92234
92814
  },
92235
92815
  )
92236
92816
  class VpcEndpointServiceProps:
@@ -92241,6 +92821,7 @@ class VpcEndpointServiceProps:
92241
92821
  acceptance_required: typing.Optional[builtins.bool] = None,
92242
92822
  allowed_principals: typing.Optional[typing.Sequence[_ArnPrincipal_d31ca6bc]] = None,
92243
92823
  contributor_insights: typing.Optional[builtins.bool] = None,
92824
+ supported_ip_address_types: typing.Optional[typing.Sequence[IpAddressType]] = None,
92244
92825
  ) -> None:
92245
92826
  '''Construction properties for a VpcEndpointService.
92246
92827
 
@@ -92248,6 +92829,7 @@ class VpcEndpointServiceProps:
92248
92829
  :param acceptance_required: Whether requests from service consumers to connect to the service through an endpoint must be accepted. Default: true
92249
92830
  :param allowed_principals: IAM users, IAM roles, or AWS accounts to allow inbound connections from. These principals can connect to your service using VPC endpoints. Takes a list of one or more ArnPrincipal. Default: - no principals
92250
92831
  :param contributor_insights: Indicates whether to enable the built-in Contributor Insights rules provided by AWS PrivateLink. Default: false
92832
+ :param supported_ip_address_types: Specify which IP address types are supported for VPC endpoint service. Default: - No specific IP address types configured
92251
92833
 
92252
92834
  :exampleMetadata: infused
92253
92835
 
@@ -92270,6 +92852,7 @@ class VpcEndpointServiceProps:
92270
92852
  check_type(argname="argument acceptance_required", value=acceptance_required, expected_type=type_hints["acceptance_required"])
92271
92853
  check_type(argname="argument allowed_principals", value=allowed_principals, expected_type=type_hints["allowed_principals"])
92272
92854
  check_type(argname="argument contributor_insights", value=contributor_insights, expected_type=type_hints["contributor_insights"])
92855
+ check_type(argname="argument supported_ip_address_types", value=supported_ip_address_types, expected_type=type_hints["supported_ip_address_types"])
92273
92856
  self._values: typing.Dict[builtins.str, typing.Any] = {
92274
92857
  "vpc_endpoint_service_load_balancers": vpc_endpoint_service_load_balancers,
92275
92858
  }
@@ -92279,6 +92862,8 @@ class VpcEndpointServiceProps:
92279
92862
  self._values["allowed_principals"] = allowed_principals
92280
92863
  if contributor_insights is not None:
92281
92864
  self._values["contributor_insights"] = contributor_insights
92865
+ if supported_ip_address_types is not None:
92866
+ self._values["supported_ip_address_types"] = supported_ip_address_types
92282
92867
 
92283
92868
  @builtins.property
92284
92869
  def vpc_endpoint_service_load_balancers(
@@ -92321,6 +92906,15 @@ class VpcEndpointServiceProps:
92321
92906
  result = self._values.get("contributor_insights")
92322
92907
  return typing.cast(typing.Optional[builtins.bool], result)
92323
92908
 
92909
+ @builtins.property
92910
+ def supported_ip_address_types(self) -> typing.Optional[typing.List[IpAddressType]]:
92911
+ '''Specify which IP address types are supported for VPC endpoint service.
92912
+
92913
+ :default: - No specific IP address types configured
92914
+ '''
92915
+ result = self._values.get("supported_ip_address_types")
92916
+ return typing.cast(typing.Optional[typing.List[IpAddressType]], result)
92917
+
92324
92918
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
92325
92919
  return isinstance(rhs, self.__class__) and rhs._values == self._values
92326
92920
 
@@ -92350,6 +92944,12 @@ class VpcEndpointType(enum.Enum):
92350
92944
  A gateway endpoint is a gateway that is a target for a specified route in
92351
92945
  your route table, used for traffic destined to a supported AWS service.
92352
92946
  '''
92947
+ GATEWAYLOADBALANCER = "GATEWAYLOADBALANCER"
92948
+ '''A Gateway Load Balancer (GWLB) endpoint is an entry/exit point in your VPC that allows traffic to flow between your VPC and Gateway Load Balancer appliances (like firewalls, intrusion detection systems, or other security appliances) deployed in a separate VPC.'''
92949
+ SERVICENETWORK = "SERVICENETWORK"
92950
+ '''A ServiceNetwork VPC endpoint is a feature to connect your VPC to an AWS Cloud WAN (Wide Area Network) or Amazon VPC Lattice service.'''
92951
+ RESOURCE = "RESOURCE"
92952
+ '''A Resource VPC endpoint in AWS is specifically designed to connect to AWS Resource Access Manager (RAM) service privately within your VPC, without requiring access through the public internet.'''
92353
92953
 
92354
92954
 
92355
92955
  @jsii.data_type(
@@ -96163,7 +96763,7 @@ class FlowLog(
96163
96763
  @builtins.property
96164
96764
  @jsii.member(jsii_name="deliveryStreamArn")
96165
96765
  def delivery_stream_arn(self) -> typing.Optional[builtins.str]:
96166
- '''The ARN of the Kinesis Data Firehose delivery stream to publish flow logs to.'''
96766
+ '''The ARN of the Amazon Data Firehose delivery stream to publish flow logs to.'''
96167
96767
  return typing.cast(typing.Optional[builtins.str], jsii.get(self, "deliveryStreamArn"))
96168
96768
 
96169
96769
  @builtins.property
@@ -100098,6 +100698,7 @@ __all__ = [
100098
100698
  "InterfaceVpcEndpointOptions",
100099
100699
  "InterfaceVpcEndpointProps",
100100
100700
  "InterfaceVpcEndpointService",
100701
+ "IpAddressType",
100101
100702
  "IpAddresses",
100102
100703
  "IpProtocol",
100103
100704
  "Ipv6Addresses",
@@ -100147,6 +100748,7 @@ __all__ = [
100147
100748
  "Port",
100148
100749
  "PortProps",
100149
100750
  "PrefixList",
100751
+ "PrefixListLookupOptions",
100150
100752
  "PrefixListOptions",
100151
100753
  "PrefixListProps",
100152
100754
  "PrivateSubnet",
@@ -100615,6 +101217,22 @@ def _typecheckingstub__2a09cfe18a64a35ca3513da8b832d14a3961e5101708c3d59880377b4
100615
101217
  """Type checking stubs"""
100616
101218
  pass
100617
101219
 
101220
+ def _typecheckingstub__bb73541f409f83260eb045bf4e0e3879b1c1c509522736f018397f8ac1cf955c(
101221
+ *,
101222
+ allocation_type: typing.Optional[builtins.str] = None,
101223
+ count: typing.Optional[jsii.Number] = None,
101224
+ ) -> None:
101225
+ """Type checking stubs"""
101226
+ pass
101227
+
101228
+ def _typecheckingstub__3c56a4c8d14f2a52b13c3cf61a95ca1ca01e35305d2313a0778cf6fad31ac4ef(
101229
+ *,
101230
+ commitment_end_date: typing.Optional[builtins.str] = None,
101231
+ committed_instance_count: typing.Optional[jsii.Number] = None,
101232
+ ) -> None:
101233
+ """Type checking stubs"""
101234
+ pass
101235
+
100618
101236
  def _typecheckingstub__578daf872c6424406c4ac67bfb16e1a373fb40f41078950b64a62c991d0be846(
100619
101237
  *,
100620
101238
  resource_type: typing.Optional[builtins.str] = None,
@@ -103705,6 +104323,7 @@ def _typecheckingstub__32e451f142fe00b3c107b71085c6014d26afe5f783aa89348cda122b9
103705
104323
  metadata_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLaunchTemplate.MetadataOptionsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
103706
104324
  monitoring: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLaunchTemplate.MonitoringProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
103707
104325
  network_interfaces: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLaunchTemplate.NetworkInterfaceProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
104326
+ network_performance_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLaunchTemplate.NetworkPerformanceOptionsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
103708
104327
  placement: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLaunchTemplate.PlacementProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
103709
104328
  private_dns_name_options: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnLaunchTemplate.PrivateDnsNameOptionsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
103710
104329
  ram_disk_id: typing.Optional[builtins.str] = None,
@@ -103824,6 +104443,13 @@ def _typecheckingstub__c599e12c3de63926f26bb5da3afad64e8c60b24c3b563faa2986e88c1
103824
104443
  """Type checking stubs"""
103825
104444
  pass
103826
104445
 
104446
+ def _typecheckingstub__6debda9e4d3c6d44941e145e13f4b9fc9cbef841de7fbb20157320c8391b1342(
104447
+ *,
104448
+ bandwidth_weighting: typing.Optional[builtins.str] = None,
104449
+ ) -> None:
104450
+ """Type checking stubs"""
104451
+ pass
104452
+
103827
104453
  def _typecheckingstub__ab6cfd4307c62f4b0cd9a09bdc9e9e2583df0d1ddc9984a975653e43f89e243e(
103828
104454
  *,
103829
104455
  affinity: typing.Optional[builtins.str] = None,
@@ -108348,6 +108974,8 @@ def _typecheckingstub__bd65bb2d0beb1d62ef8b72a33a352ac48e00600bc2b025bdec06b82cf
108348
108974
  gateway_load_balancer_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
108349
108975
  network_load_balancer_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
108350
108976
  payer_responsibility: typing.Optional[builtins.str] = None,
108977
+ supported_ip_address_types: typing.Optional[typing.Sequence[builtins.str]] = None,
108978
+ supported_regions: typing.Optional[typing.Sequence[builtins.str]] = None,
108351
108979
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
108352
108980
  ) -> None:
108353
108981
  """Type checking stubs"""
@@ -108395,6 +109023,18 @@ def _typecheckingstub__c2babfa96e86ea450f85f7e83cc11905d68dc09b226c3e578bfcba308
108395
109023
  """Type checking stubs"""
108396
109024
  pass
108397
109025
 
109026
+ def _typecheckingstub__4f3f2000badada7fa5b32f7a5144ba0ad0a0da831f8211c47464b99d092bec82(
109027
+ value: typing.Optional[typing.List[builtins.str]],
109028
+ ) -> None:
109029
+ """Type checking stubs"""
109030
+ pass
109031
+
109032
+ def _typecheckingstub__5c4b6c5e3132a3db9ac1919f84f1acb15ff2a21f1f6ba6d102fb4c3ec4c36bc2(
109033
+ value: typing.Optional[typing.List[builtins.str]],
109034
+ ) -> None:
109035
+ """Type checking stubs"""
109036
+ pass
109037
+
108398
109038
  def _typecheckingstub__fb88e38ee31fea753761176490a0c4f49435705e0e51b6d055979684ea151b42(
108399
109039
  value: typing.Optional[typing.List[_CfnTag_f6864754]],
108400
109040
  ) -> None:
@@ -108450,6 +109090,8 @@ def _typecheckingstub__0924bdc7dd965ab8320d62e573fa88bcec434cb586b2ba9e4f2916169
108450
109090
  gateway_load_balancer_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
108451
109091
  network_load_balancer_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
108452
109092
  payer_responsibility: typing.Optional[builtins.str] = None,
109093
+ supported_ip_address_types: typing.Optional[typing.Sequence[builtins.str]] = None,
109094
+ supported_regions: typing.Optional[typing.Sequence[builtins.str]] = None,
108453
109095
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
108454
109096
  ) -> None:
108455
109097
  """Type checking stubs"""
@@ -111440,6 +112082,17 @@ def _typecheckingstub__a8acc7e3b44d925ae96c4cd41872cf18233bdd11aba643610749ed9a4
111440
112082
  """Type checking stubs"""
111441
112083
  pass
111442
112084
 
112085
+ def _typecheckingstub__deb5818afac672a99613bc37d186a04e6a9cd2bae585fd43a7bbbe7b2c4de0e6(
112086
+ scope: _constructs_77d1e7e8.Construct,
112087
+ id: builtins.str,
112088
+ *,
112089
+ prefix_list_name: builtins.str,
112090
+ address_family: typing.Optional[AddressFamily] = None,
112091
+ owner_id: typing.Optional[builtins.str] = None,
112092
+ ) -> None:
112093
+ """Type checking stubs"""
112094
+ pass
112095
+
111443
112096
  def _typecheckingstub__11d084123507c2ab32a82e79ad64d9ff7d0962d3562cc06f04b8e900b3c6622b(
111444
112097
  scope: _constructs_77d1e7e8.Construct,
111445
112098
  id: builtins.str,
@@ -111448,6 +112101,15 @@ def _typecheckingstub__11d084123507c2ab32a82e79ad64d9ff7d0962d3562cc06f04b8e900b
111448
112101
  """Type checking stubs"""
111449
112102
  pass
111450
112103
 
112104
+ def _typecheckingstub__4353f67b97f73eaeb1fbd94df299a14d0727dbc31a3319f8619e9b6d60f5c1bb(
112105
+ *,
112106
+ prefix_list_name: builtins.str,
112107
+ address_family: typing.Optional[AddressFamily] = None,
112108
+ owner_id: typing.Optional[builtins.str] = None,
112109
+ ) -> None:
112110
+ """Type checking stubs"""
112111
+ pass
112112
+
111451
112113
  def _typecheckingstub__7cc34528909d71054422fc4b6e3439757c430d31f6f33a0af82b4c5b61e57e19(
111452
112114
  *,
111453
112115
  max_entries: typing.Optional[jsii.Number] = None,
@@ -112180,6 +112842,7 @@ def _typecheckingstub__e9a177a308c941d9422cff7194d8a56d967004d3230efd826dc934ef5
112180
112842
  acceptance_required: typing.Optional[builtins.bool] = None,
112181
112843
  allowed_principals: typing.Optional[typing.Sequence[_ArnPrincipal_d31ca6bc]] = None,
112182
112844
  contributor_insights: typing.Optional[builtins.bool] = None,
112845
+ supported_ip_address_types: typing.Optional[typing.Sequence[IpAddressType]] = None,
112183
112846
  ) -> None:
112184
112847
  """Type checking stubs"""
112185
112848
  pass
@@ -112190,6 +112853,7 @@ def _typecheckingstub__c8d3e17059165270b27192911c5b63d78564836ce9d6a1d2e41f5d272
112190
112853
  acceptance_required: typing.Optional[builtins.bool] = None,
112191
112854
  allowed_principals: typing.Optional[typing.Sequence[_ArnPrincipal_d31ca6bc]] = None,
112192
112855
  contributor_insights: typing.Optional[builtins.bool] = None,
112856
+ supported_ip_address_types: typing.Optional[typing.Sequence[IpAddressType]] = None,
112193
112857
  ) -> None:
112194
112858
  """Type checking stubs"""
112195
112859
  pass