aws-cdk-lib 2.154.1__py3-none-any.whl → 2.156.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 (37) hide show
  1. aws_cdk/__init__.py +2 -2
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.154.1.jsii.tgz → aws-cdk-lib@2.156.0.jsii.tgz} +0 -0
  4. aws_cdk/assertions/__init__.py +17 -17
  5. aws_cdk/aws_bedrock/__init__.py +22 -4
  6. aws_cdk/aws_cloudfront/__init__.py +654 -59
  7. aws_cdk/aws_cloudfront_origins/__init__.py +2034 -91
  8. aws_cdk/aws_codebuild/__init__.py +349 -8
  9. aws_cdk/aws_docdb/__init__.py +78 -6
  10. aws_cdk/aws_ec2/__init__.py +250 -61
  11. aws_cdk/aws_ecs/__init__.py +18 -14
  12. aws_cdk/aws_ecs_patterns/__init__.py +129 -11
  13. aws_cdk/aws_eks/__init__.py +74 -8
  14. aws_cdk/aws_elasticloadbalancingv2/__init__.py +22 -46
  15. aws_cdk/aws_events/__init__.py +40 -14
  16. aws_cdk/aws_events_targets/__init__.py +357 -0
  17. aws_cdk/aws_iam/__init__.py +7 -8
  18. aws_cdk/aws_ivs/__init__.py +10 -8
  19. aws_cdk/aws_kms/__init__.py +89 -10
  20. aws_cdk/aws_lambda/__init__.py +38 -23
  21. aws_cdk/aws_lambda_event_sources/__init__.py +27 -0
  22. aws_cdk/aws_rds/__init__.py +12 -0
  23. aws_cdk/aws_s3/__init__.py +13 -14
  24. aws_cdk/aws_secretsmanager/__init__.py +3 -2
  25. aws_cdk/aws_ses/__init__.py +7 -7
  26. aws_cdk/aws_ssmcontacts/__init__.py +12 -0
  27. aws_cdk/aws_stepfunctions/__init__.py +12 -14
  28. aws_cdk/aws_stepfunctions_tasks/__init__.py +178 -41
  29. aws_cdk/aws_synthetics/__init__.py +26 -0
  30. aws_cdk/custom_resources/__init__.py +106 -1
  31. aws_cdk/cx_api/__init__.py +16 -0
  32. {aws_cdk_lib-2.154.1.dist-info → aws_cdk_lib-2.156.0.dist-info}/METADATA +1 -1
  33. {aws_cdk_lib-2.154.1.dist-info → aws_cdk_lib-2.156.0.dist-info}/RECORD +37 -37
  34. {aws_cdk_lib-2.154.1.dist-info → aws_cdk_lib-2.156.0.dist-info}/LICENSE +0 -0
  35. {aws_cdk_lib-2.154.1.dist-info → aws_cdk_lib-2.156.0.dist-info}/NOTICE +0 -0
  36. {aws_cdk_lib-2.154.1.dist-info → aws_cdk_lib-2.156.0.dist-info}/WHEEL +0 -0
  37. {aws_cdk_lib-2.154.1.dist-info → aws_cdk_lib-2.156.0.dist-info}/top_level.txt +0 -0
@@ -1721,6 +1721,32 @@ ec2.Instance(self, "Instance",
1721
1721
  )
1722
1722
  ```
1723
1723
 
1724
+ To specify the throughput value for `gp3` volumes, use the `throughput` property:
1725
+
1726
+ ```python
1727
+ # vpc: ec2.Vpc
1728
+ # instance_type: ec2.InstanceType
1729
+ # machine_image: ec2.IMachineImage
1730
+
1731
+
1732
+ ec2.Instance(self, "Instance",
1733
+ vpc=vpc,
1734
+ instance_type=instance_type,
1735
+ machine_image=machine_image,
1736
+
1737
+ # ...
1738
+
1739
+ block_devices=[ec2.BlockDevice(
1740
+ device_name="/dev/sda1",
1741
+ volume=ec2.BlockDeviceVolume.ebs(100,
1742
+ volume_type=ec2.EbsDeviceVolumeType.GP3,
1743
+ throughput=250
1744
+ )
1745
+ )
1746
+ ]
1747
+ )
1748
+ ```
1749
+
1724
1750
  #### EBS Optimized Instances
1725
1751
 
1726
1752
  An Amazon EBS–optimized instance uses an optimized configuration stack and provides additional, dedicated capacity for Amazon EBS I/O. This optimization provides the best performance for your EBS volumes by minimizing contention between Amazon EBS I/O and other traffic from your instance.
@@ -1992,6 +2018,25 @@ Note to set `mapPublicIpOnLaunch` to true in the `subnetConfiguration`.
1992
2018
 
1993
2019
  Additionally, IPv6 support varies by instance type. Most instance types have IPv6 support with exception of m1-m3, c1, g2, and t1.micro. A full list can be found here: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI.
1994
2020
 
2021
+ #### Specifying the IPv6 Address
2022
+
2023
+ If you want to specify [the number of IPv6 addresses](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/MultipleIP.html#assign-multiple-ipv6) to assign to the instance, you can use the `ipv6AddresseCount` property:
2024
+
2025
+ ```python
2026
+ # dual stack VPC
2027
+ # vpc: ec2.Vpc
2028
+
2029
+
2030
+ instance = ec2.Instance(self, "MyInstance",
2031
+ instance_type=ec2.InstanceType.of(ec2.InstanceClass.M5, ec2.InstanceSize.LARGE),
2032
+ machine_image=ec2.MachineImage.latest_amazon_linux2(),
2033
+ vpc=vpc,
2034
+ vpc_subnets=ec2.SubnetSelection(subnet_type=ec2.SubnetType.PUBLIC),
2035
+ # Assign 2 IPv6 addresses to the instance
2036
+ ipv6_address_count=2
2037
+ )
2038
+ ```
2039
+
1995
2040
  ### Credit configuration modes for burstable instances
1996
2041
 
1997
2042
  You can set the [credit configuration mode](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-credits-baseline-concepts.html) for burstable instances (T2, T3, T3a and T4g instance types):
@@ -5343,10 +5388,10 @@ class BlockDeviceVolume(
5343
5388
 
5344
5389
  block_devices=[ec2.BlockDevice(
5345
5390
  device_name="/dev/sda1",
5346
- volume=ec2.BlockDeviceVolume.ebs(50)
5347
- ), ec2.BlockDevice(
5348
- device_name="/dev/sdm",
5349
- volume=ec2.BlockDeviceVolume.ebs(100)
5391
+ volume=ec2.BlockDeviceVolume.ebs(100,
5392
+ volume_type=ec2.EbsDeviceVolumeType.GP3,
5393
+ throughput=250
5394
+ )
5350
5395
  )
5351
5396
  ]
5352
5397
  )
@@ -5377,6 +5422,7 @@ class BlockDeviceVolume(
5377
5422
  kms_key: typing.Optional[_IKey_5f11635f] = None,
5378
5423
  delete_on_termination: typing.Optional[builtins.bool] = None,
5379
5424
  iops: typing.Optional[jsii.Number] = None,
5425
+ throughput: typing.Optional[jsii.Number] = None,
5380
5426
  volume_type: typing.Optional["EbsDeviceVolumeType"] = None,
5381
5427
  ) -> "BlockDeviceVolume":
5382
5428
  '''Creates a new Elastic Block Storage device.
@@ -5386,6 +5432,7 @@ class BlockDeviceVolume(
5386
5432
  :param kms_key: The ARN of the AWS Key Management Service (AWS KMS) CMK used for encryption. You have to ensure that the KMS CMK has the correct permissions to be used by the service launching the ec2 instances. Default: - If encrypted is true, the default aws/ebs KMS key will be used.
5387
5433
  :param delete_on_termination: Indicates whether to delete the volume when the instance is terminated. Default: - true for Amazon EC2 Auto Scaling, false otherwise (e.g. EBS)
5388
5434
  :param iops: The number of I/O operations per second (IOPS) to provision for the volume. Must only be set for ``volumeType``: ``EbsDeviceVolumeType.IO1`` The maximum ratio of IOPS to volume size (in GiB) is 50:1, so for 5,000 provisioned IOPS, you need at least 100 GiB storage on the volume. Default: - none, required for ``EbsDeviceVolumeType.IO1``
5435
+ :param throughput: The throughput to provision for a ``gp3`` volume. Valid Range: Minimum value of 125. Maximum value of 1000. ``gp3`` volumes deliver a consistent baseline throughput performance of 125 MiB/s. You can provision additional throughput for an additional cost at a ratio of 0.25 MiB/s per provisioned IOPS. Default: - 125 MiB/s.
5389
5436
  :param volume_type: The EBS volume type. Default: ``EbsDeviceVolumeType.GENERAL_PURPOSE_SSD`` or ``EbsDeviceVolumeType.GENERAL_PURPOSE_SSD_GP3`` if ``@aws-cdk/aws-ec2:ebsDefaultGp3Volume`` is enabled.
5390
5437
  '''
5391
5438
  if __debug__:
@@ -5396,6 +5443,7 @@ class BlockDeviceVolume(
5396
5443
  kms_key=kms_key,
5397
5444
  delete_on_termination=delete_on_termination,
5398
5445
  iops=iops,
5446
+ throughput=throughput,
5399
5447
  volume_type=volume_type,
5400
5448
  )
5401
5449
 
@@ -5410,6 +5458,7 @@ class BlockDeviceVolume(
5410
5458
  volume_size: typing.Optional[jsii.Number] = None,
5411
5459
  delete_on_termination: typing.Optional[builtins.bool] = None,
5412
5460
  iops: typing.Optional[jsii.Number] = None,
5461
+ throughput: typing.Optional[jsii.Number] = None,
5413
5462
  volume_type: typing.Optional["EbsDeviceVolumeType"] = None,
5414
5463
  ) -> "BlockDeviceVolume":
5415
5464
  '''Creates a new Elastic Block Storage device from an existing snapshot.
@@ -5418,6 +5467,7 @@ class BlockDeviceVolume(
5418
5467
  :param volume_size: The volume size, in Gibibytes (GiB). If you specify volumeSize, it must be equal or greater than the size of the snapshot. Default: - The snapshot size
5419
5468
  :param delete_on_termination: Indicates whether to delete the volume when the instance is terminated. Default: - true for Amazon EC2 Auto Scaling, false otherwise (e.g. EBS)
5420
5469
  :param iops: The number of I/O operations per second (IOPS) to provision for the volume. Must only be set for ``volumeType``: ``EbsDeviceVolumeType.IO1`` The maximum ratio of IOPS to volume size (in GiB) is 50:1, so for 5,000 provisioned IOPS, you need at least 100 GiB storage on the volume. Default: - none, required for ``EbsDeviceVolumeType.IO1``
5470
+ :param throughput: The throughput to provision for a ``gp3`` volume. Valid Range: Minimum value of 125. Maximum value of 1000. ``gp3`` volumes deliver a consistent baseline throughput performance of 125 MiB/s. You can provision additional throughput for an additional cost at a ratio of 0.25 MiB/s per provisioned IOPS. Default: - 125 MiB/s.
5421
5471
  :param volume_type: The EBS volume type. Default: ``EbsDeviceVolumeType.GENERAL_PURPOSE_SSD`` or ``EbsDeviceVolumeType.GENERAL_PURPOSE_SSD_GP3`` if ``@aws-cdk/aws-ec2:ebsDefaultGp3Volume`` is enabled.
5422
5472
  '''
5423
5473
  if __debug__:
@@ -5427,6 +5477,7 @@ class BlockDeviceVolume(
5427
5477
  volume_size=volume_size,
5428
5478
  delete_on_termination=delete_on_termination,
5429
5479
  iops=iops,
5480
+ throughput=throughput,
5430
5481
  volume_type=volume_type,
5431
5482
  )
5432
5483
 
@@ -20273,7 +20324,7 @@ class CfnInstance(
20273
20324
  ) -> None:
20274
20325
  '''Specifies input parameter values for an SSM document in AWS Systems Manager .
20275
20326
 
20276
- ``AssociationParameter`` is a property of the `Amazon EC2 Instance SsmAssociation <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ssmassociations.html>`_ property.
20327
+ ``AssociationParameter`` is a property of the `SsmAssociation <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-ssmassociation.html>`_ property type.
20277
20328
 
20278
20329
  :param key: The name of an input parameter that is in the associated SSM document.
20279
20330
  :param value: The value of an input parameter.
@@ -20646,7 +20697,7 @@ class CfnInstance(
20646
20697
  ) -> None:
20647
20698
  '''Specifies a block device for an EBS volume.
20648
20699
 
20649
- ``Ebs`` is a property of the `Amazon EC2 BlockDeviceMapping <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-blockdev-mapping.html>`_ property.
20700
+ ``Ebs`` is a property of the `BlockDeviceMapping <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-blockdevicemapping.html>`_ property type.
20650
20701
  .. epigraph::
20651
20702
 
20652
20703
  After the instance is running, you can modify only the ``DeleteOnTermination`` parameters for the attached volumes without interrupting the instance. Modifying any other parameter results in instance `replacement <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-replacement>`_ .
@@ -21916,9 +21967,9 @@ class CfnInstance(
21916
21967
  code: typing.Optional[builtins.str] = None,
21917
21968
  name: typing.Optional[builtins.str] = None,
21918
21969
  ) -> None:
21919
- '''The current state of the instance.
21970
+ '''Describes the current state of an instance.
21920
21971
 
21921
- :param code: The state of the instance as a 16-bit unsigned integer.
21972
+ :param code: The state of the instance as a 16-bit unsigned integer. The high byte is all of the bits between 2^8 and (2^16)-1, which equals decimal values between 256 and 65,535. These numerical values are used for internal purposes and should be ignored. The low byte is all of the bits between 2^0 and (2^8)-1, which equals decimal values between 0 and 255. The valid values for instance-state-code will all be in the range of the low byte and they are: - ``0`` : ``pending`` - ``16`` : ``running`` - ``32`` : ``shutting-down`` - ``48`` : ``terminated`` - ``64`` : ``stopping`` - ``80`` : ``stopped`` You can ignore the high byte value by zeroing out all of the bits above 2^8 or 256 in decimal.
21922
21973
  :param name: The current state of the instance.
21923
21974
 
21924
21975
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-state.html
@@ -21949,6 +22000,21 @@ class CfnInstance(
21949
22000
  def code(self) -> typing.Optional[builtins.str]:
21950
22001
  '''The state of the instance as a 16-bit unsigned integer.
21951
22002
 
22003
+ The high byte is all of the bits between 2^8 and (2^16)-1, which equals decimal values between 256 and 65,535. These numerical values are used for internal purposes and should be ignored.
22004
+
22005
+ The low byte is all of the bits between 2^0 and (2^8)-1, which equals decimal values between 0 and 255.
22006
+
22007
+ The valid values for instance-state-code will all be in the range of the low byte and they are:
22008
+
22009
+ - ``0`` : ``pending``
22010
+ - ``16`` : ``running``
22011
+ - ``32`` : ``shutting-down``
22012
+ - ``48`` : ``terminated``
22013
+ - ``64`` : ``stopping``
22014
+ - ``80`` : ``stopped``
22015
+
22016
+ You can ignore the high byte value by zeroing out all of the bits above 2^8 or 256 in decimal.
22017
+
21952
22018
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-state.html#cfn-ec2-instance-state-code
21953
22019
  '''
21954
22020
  result = self._values.get("code")
@@ -66128,6 +66194,7 @@ class DefaultInstanceTenancy(enum.Enum):
66128
66194
  name_mapping={
66129
66195
  "delete_on_termination": "deleteOnTermination",
66130
66196
  "iops": "iops",
66197
+ "throughput": "throughput",
66131
66198
  "volume_type": "volumeType",
66132
66199
  },
66133
66200
  )
@@ -66137,12 +66204,14 @@ class EbsDeviceOptionsBase:
66137
66204
  *,
66138
66205
  delete_on_termination: typing.Optional[builtins.bool] = None,
66139
66206
  iops: typing.Optional[jsii.Number] = None,
66207
+ throughput: typing.Optional[jsii.Number] = None,
66140
66208
  volume_type: typing.Optional["EbsDeviceVolumeType"] = None,
66141
66209
  ) -> None:
66142
66210
  '''Base block device options for an EBS volume.
66143
66211
 
66144
66212
  :param delete_on_termination: Indicates whether to delete the volume when the instance is terminated. Default: - true for Amazon EC2 Auto Scaling, false otherwise (e.g. EBS)
66145
66213
  :param iops: The number of I/O operations per second (IOPS) to provision for the volume. Must only be set for ``volumeType``: ``EbsDeviceVolumeType.IO1`` The maximum ratio of IOPS to volume size (in GiB) is 50:1, so for 5,000 provisioned IOPS, you need at least 100 GiB storage on the volume. Default: - none, required for ``EbsDeviceVolumeType.IO1``
66214
+ :param throughput: The throughput to provision for a ``gp3`` volume. Valid Range: Minimum value of 125. Maximum value of 1000. ``gp3`` volumes deliver a consistent baseline throughput performance of 125 MiB/s. You can provision additional throughput for an additional cost at a ratio of 0.25 MiB/s per provisioned IOPS. Default: - 125 MiB/s.
66146
66215
  :param volume_type: The EBS volume type. Default: ``EbsDeviceVolumeType.GENERAL_PURPOSE_SSD`` or ``EbsDeviceVolumeType.GENERAL_PURPOSE_SSD_GP3`` if ``@aws-cdk/aws-ec2:ebsDefaultGp3Volume`` is enabled.
66147
66216
 
66148
66217
  :exampleMetadata: fixture=_generated
@@ -66156,6 +66225,7 @@ class EbsDeviceOptionsBase:
66156
66225
  ebs_device_options_base = ec2.EbsDeviceOptionsBase(
66157
66226
  delete_on_termination=False,
66158
66227
  iops=123,
66228
+ throughput=123,
66159
66229
  volume_type=ec2.EbsDeviceVolumeType.STANDARD
66160
66230
  )
66161
66231
  '''
@@ -66163,12 +66233,15 @@ class EbsDeviceOptionsBase:
66163
66233
  type_hints = typing.get_type_hints(_typecheckingstub__0d06a3c480f0a868f3c69b22935c359322b1d9337591dc27bb141d518434f062)
66164
66234
  check_type(argname="argument delete_on_termination", value=delete_on_termination, expected_type=type_hints["delete_on_termination"])
66165
66235
  check_type(argname="argument iops", value=iops, expected_type=type_hints["iops"])
66236
+ check_type(argname="argument throughput", value=throughput, expected_type=type_hints["throughput"])
66166
66237
  check_type(argname="argument volume_type", value=volume_type, expected_type=type_hints["volume_type"])
66167
66238
  self._values: typing.Dict[builtins.str, typing.Any] = {}
66168
66239
  if delete_on_termination is not None:
66169
66240
  self._values["delete_on_termination"] = delete_on_termination
66170
66241
  if iops is not None:
66171
66242
  self._values["iops"] = iops
66243
+ if throughput is not None:
66244
+ self._values["throughput"] = throughput
66172
66245
  if volume_type is not None:
66173
66246
  self._values["volume_type"] = volume_type
66174
66247
 
@@ -66197,6 +66270,22 @@ class EbsDeviceOptionsBase:
66197
66270
  result = self._values.get("iops")
66198
66271
  return typing.cast(typing.Optional[jsii.Number], result)
66199
66272
 
66273
+ @builtins.property
66274
+ def throughput(self) -> typing.Optional[jsii.Number]:
66275
+ '''The throughput to provision for a ``gp3`` volume.
66276
+
66277
+ Valid Range: Minimum value of 125. Maximum value of 1000.
66278
+
66279
+ ``gp3`` volumes deliver a consistent baseline throughput performance of 125 MiB/s.
66280
+ You can provision additional throughput for an additional cost at a ratio of 0.25 MiB/s per provisioned IOPS.
66281
+
66282
+ :default: - 125 MiB/s.
66283
+
66284
+ :see: https://docs.aws.amazon.com/ebs/latest/userguide/general-purpose.html#gp3-performance
66285
+ '''
66286
+ result = self._values.get("throughput")
66287
+ return typing.cast(typing.Optional[jsii.Number], result)
66288
+
66200
66289
  @builtins.property
66201
66290
  def volume_type(self) -> typing.Optional["EbsDeviceVolumeType"]:
66202
66291
  '''The EBS volume type.
@@ -66229,6 +66318,7 @@ class EbsDeviceOptionsBase:
66229
66318
  name_mapping={
66230
66319
  "delete_on_termination": "deleteOnTermination",
66231
66320
  "iops": "iops",
66321
+ "throughput": "throughput",
66232
66322
  "volume_type": "volumeType",
66233
66323
  "volume_size": "volumeSize",
66234
66324
  },
@@ -66239,6 +66329,7 @@ class EbsDeviceSnapshotOptions(EbsDeviceOptionsBase):
66239
66329
  *,
66240
66330
  delete_on_termination: typing.Optional[builtins.bool] = None,
66241
66331
  iops: typing.Optional[jsii.Number] = None,
66332
+ throughput: typing.Optional[jsii.Number] = None,
66242
66333
  volume_type: typing.Optional["EbsDeviceVolumeType"] = None,
66243
66334
  volume_size: typing.Optional[jsii.Number] = None,
66244
66335
  ) -> None:
@@ -66246,6 +66337,7 @@ class EbsDeviceSnapshotOptions(EbsDeviceOptionsBase):
66246
66337
 
66247
66338
  :param delete_on_termination: Indicates whether to delete the volume when the instance is terminated. Default: - true for Amazon EC2 Auto Scaling, false otherwise (e.g. EBS)
66248
66339
  :param iops: The number of I/O operations per second (IOPS) to provision for the volume. Must only be set for ``volumeType``: ``EbsDeviceVolumeType.IO1`` The maximum ratio of IOPS to volume size (in GiB) is 50:1, so for 5,000 provisioned IOPS, you need at least 100 GiB storage on the volume. Default: - none, required for ``EbsDeviceVolumeType.IO1``
66340
+ :param throughput: The throughput to provision for a ``gp3`` volume. Valid Range: Minimum value of 125. Maximum value of 1000. ``gp3`` volumes deliver a consistent baseline throughput performance of 125 MiB/s. You can provision additional throughput for an additional cost at a ratio of 0.25 MiB/s per provisioned IOPS. Default: - 125 MiB/s.
66249
66341
  :param volume_type: The EBS volume type. Default: ``EbsDeviceVolumeType.GENERAL_PURPOSE_SSD`` or ``EbsDeviceVolumeType.GENERAL_PURPOSE_SSD_GP3`` if ``@aws-cdk/aws-ec2:ebsDefaultGp3Volume`` is enabled.
66250
66342
  :param volume_size: The volume size, in Gibibytes (GiB). If you specify volumeSize, it must be equal or greater than the size of the snapshot. Default: - The snapshot size
66251
66343
 
@@ -66260,6 +66352,7 @@ class EbsDeviceSnapshotOptions(EbsDeviceOptionsBase):
66260
66352
  ebs_device_snapshot_options = ec2.EbsDeviceSnapshotOptions(
66261
66353
  delete_on_termination=False,
66262
66354
  iops=123,
66355
+ throughput=123,
66263
66356
  volume_size=123,
66264
66357
  volume_type=ec2.EbsDeviceVolumeType.STANDARD
66265
66358
  )
@@ -66268,6 +66361,7 @@ class EbsDeviceSnapshotOptions(EbsDeviceOptionsBase):
66268
66361
  type_hints = typing.get_type_hints(_typecheckingstub__4602c5be3c93ca5d255adf8aa3a652b8c7898310f96514ecd6fc09f7d5935370)
66269
66362
  check_type(argname="argument delete_on_termination", value=delete_on_termination, expected_type=type_hints["delete_on_termination"])
66270
66363
  check_type(argname="argument iops", value=iops, expected_type=type_hints["iops"])
66364
+ check_type(argname="argument throughput", value=throughput, expected_type=type_hints["throughput"])
66271
66365
  check_type(argname="argument volume_type", value=volume_type, expected_type=type_hints["volume_type"])
66272
66366
  check_type(argname="argument volume_size", value=volume_size, expected_type=type_hints["volume_size"])
66273
66367
  self._values: typing.Dict[builtins.str, typing.Any] = {}
@@ -66275,6 +66369,8 @@ class EbsDeviceSnapshotOptions(EbsDeviceOptionsBase):
66275
66369
  self._values["delete_on_termination"] = delete_on_termination
66276
66370
  if iops is not None:
66277
66371
  self._values["iops"] = iops
66372
+ if throughput is not None:
66373
+ self._values["throughput"] = throughput
66278
66374
  if volume_type is not None:
66279
66375
  self._values["volume_type"] = volume_type
66280
66376
  if volume_size is not None:
@@ -66305,6 +66401,22 @@ class EbsDeviceSnapshotOptions(EbsDeviceOptionsBase):
66305
66401
  result = self._values.get("iops")
66306
66402
  return typing.cast(typing.Optional[jsii.Number], result)
66307
66403
 
66404
+ @builtins.property
66405
+ def throughput(self) -> typing.Optional[jsii.Number]:
66406
+ '''The throughput to provision for a ``gp3`` volume.
66407
+
66408
+ Valid Range: Minimum value of 125. Maximum value of 1000.
66409
+
66410
+ ``gp3`` volumes deliver a consistent baseline throughput performance of 125 MiB/s.
66411
+ You can provision additional throughput for an additional cost at a ratio of 0.25 MiB/s per provisioned IOPS.
66412
+
66413
+ :default: - 125 MiB/s.
66414
+
66415
+ :see: https://docs.aws.amazon.com/ebs/latest/userguide/general-purpose.html#gp3-performance
66416
+ '''
66417
+ result = self._values.get("throughput")
66418
+ return typing.cast(typing.Optional[jsii.Number], result)
66419
+
66308
66420
  @builtins.property
66309
66421
  def volume_type(self) -> typing.Optional["EbsDeviceVolumeType"]:
66310
66422
  '''The EBS volume type.
@@ -66351,21 +66463,25 @@ class EbsDeviceVolumeType(enum.Enum):
66351
66463
  Example::
66352
66464
 
66353
66465
  # vpc: ec2.Vpc
66466
+ # instance_type: ec2.InstanceType
66467
+ # machine_image: ec2.IMachineImage
66354
66468
 
66355
66469
 
66356
- instance = ec2.Instance(self, "Instance",
66357
- instance_type=ec2.InstanceType.of(ec2.InstanceClass.M5, ec2.InstanceSize.XLARGE),
66358
- machine_image=ec2.AmazonLinuxImage(),
66470
+ ec2.Instance(self, "Instance",
66359
66471
  vpc=vpc,
66360
- hibernation_enabled=True,
66472
+ instance_type=instance_type,
66473
+ machine_image=machine_image,
66474
+
66475
+ # ...
66476
+
66361
66477
  block_devices=[ec2.BlockDevice(
66362
- device_name="/dev/xvda",
66363
- volume=ec2.BlockDeviceVolume.ebs(30,
66478
+ device_name="/dev/sda1",
66479
+ volume=ec2.BlockDeviceVolume.ebs(100,
66364
66480
  volume_type=ec2.EbsDeviceVolumeType.GP3,
66365
- encrypted=True,
66366
- delete_on_termination=True
66481
+ throughput=250
66367
66482
  )
66368
- )]
66483
+ )
66484
+ ]
66369
66485
  )
66370
66486
  '''
66371
66487
 
@@ -67437,32 +67553,30 @@ class GatewayVpcEndpointProps(GatewayVpcEndpointOptions):
67437
67553
  :param subnets: Where to add endpoint routing. By default, this endpoint will be routable from all subnets in the VPC. Specify a list of subnet selection objects here to be more specific. Default: - All subnets in the VPC
67438
67554
  :param vpc: The VPC network in which the gateway endpoint will be used.
67439
67555
 
67440
- :exampleMetadata: fixture=_generated
67556
+ :exampleMetadata: infused
67441
67557
 
67442
67558
  Example::
67443
67559
 
67444
- # The code below shows an example of how to instantiate this type.
67445
- # The values are placeholders you should change.
67446
- from aws_cdk import aws_ec2 as ec2
67447
-
67448
- # gateway_vpc_endpoint_service: ec2.IGatewayVpcEndpointService
67449
- # subnet: ec2.Subnet
67450
- # subnet_filter: ec2.SubnetFilter
67451
- # vpc: ec2.Vpc
67452
-
67453
- gateway_vpc_endpoint_props = ec2.GatewayVpcEndpointProps(
67454
- service=gateway_vpc_endpoint_service,
67455
- vpc=vpc,
67560
+ my_vpc = vpc_v2.VpcV2(self, "Vpc")
67561
+ route_table = vpc_v2.RouteTable(self, "RouteTable",
67562
+ vpc=my_vpc
67563
+ )
67564
+ subnet = vpc_v2.SubnetV2(self, "Subnet",
67565
+ vpc=my_vpc,
67566
+ availability_zone="eu-west-2a",
67567
+ ipv4_cidr_block=IpCidr("10.0.0.0/24"),
67568
+ subnet_type=ec2.SubnetType.PRIVATE
67569
+ )
67456
67570
 
67457
- # the properties below are optional
67458
- subnets=[ec2.SubnetSelection(
67459
- availability_zones=["availabilityZones"],
67460
- one_per_az=False,
67461
- subnet_filters=[subnet_filter],
67462
- subnet_group_name="subnetGroupName",
67463
- subnets=[subnet],
67464
- subnet_type=ec2.SubnetType.PRIVATE_ISOLATED
67465
- )]
67571
+ dynamo_endpoint = ec2.GatewayVpcEndpoint(self, "DynamoEndpoint",
67572
+ service=ec2.GatewayVpcEndpointAwsService.DYNAMODB,
67573
+ vpc=my_vpc,
67574
+ subnets=[subnet]
67575
+ )
67576
+ vpc_v2.Route(self, "DynamoDBRoute",
67577
+ route_table=route_table,
67578
+ destination="0.0.0.0/0",
67579
+ target={"endpoint": dynamo_endpoint}
67466
67580
  )
67467
67581
  '''
67468
67582
  if __debug__:
@@ -72319,6 +72433,7 @@ class Instance(
72319
72433
  init_options: typing.Optional[typing.Union[ApplyCloudFormationInitOptions, typing.Dict[builtins.str, typing.Any]]] = None,
72320
72434
  instance_initiated_shutdown_behavior: typing.Optional["InstanceInitiatedShutdownBehavior"] = None,
72321
72435
  instance_name: typing.Optional[builtins.str] = None,
72436
+ ipv6_address_count: typing.Optional[jsii.Number] = None,
72322
72437
  key_name: typing.Optional[builtins.str] = None,
72323
72438
  key_pair: typing.Optional[IKeyPair] = None,
72324
72439
  placement_group: typing.Optional[IPlacementGroup] = None,
@@ -72342,7 +72457,7 @@ class Instance(
72342
72457
  :param vpc: VPC to launch the instance in.
72343
72458
  :param allow_all_ipv6_outbound: Whether the instance could initiate IPv6 connections to anywhere by default. This property is only used when you do not provide a security group. Default: false
72344
72459
  :param allow_all_outbound: Whether the instance could initiate connections to anywhere by default. This property is only used when you do not provide a security group. Default: true
72345
- :param associate_public_ip_address: Whether to associate a public IP address to the primary network interface attached to this instance. Default: - public IP address is automatically assigned based on default behavior
72460
+ :param associate_public_ip_address: Whether to associate a public IP address to the primary network interface attached to this instance. You cannot specify this property and ``ipv6AddressCount`` at the same time. Default: - public IP address is automatically assigned based on default behavior
72346
72461
  :param availability_zone: In which AZ to place the instance within the VPC. Default: - Random zone.
72347
72462
  :param block_devices: Specifies how block devices are exposed to the instance. You can specify virtual devices and EBS volumes. Each instance that is launched has an associated root device volume, either an Amazon EBS volume or an instance store volume. You can use block device mappings to specify additional EBS volumes or instance store volumes to attach to an instance when it is launched. Default: - Uses the block device mapping of the AMI
72348
72463
  :param credit_specification: Specifying the CPU credit type for burstable EC2 instance types (T2, T3, T3a, etc). The unlimited CPU credit option is not supported for T3 instances with a dedicated host. Default: - T2 instances are standard, while T3, T4g, and T3a instances are unlimited.
@@ -72354,6 +72469,7 @@ class Instance(
72354
72469
  :param init_options: Use the given options for applying CloudFormation Init. Describes the configsets to use and the timeout to wait Default: - default options
72355
72470
  :param instance_initiated_shutdown_behavior: Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown). Default: InstanceInitiatedShutdownBehavior.STOP
72356
72471
  :param instance_name: The name of the instance. Default: - CDK generated name
72472
+ :param ipv6_address_count: The number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet. You cannot specify this property and ``associatePublicIpAddress`` at the same time. Default: - For instances associated with an IPv6 subnet, use 1; otherwise, use 0.
72357
72473
  :param key_name: (deprecated) Name of SSH keypair to grant access to instance. Default: - No SSH access will be possible.
72358
72474
  :param key_pair: The SSH keypair to grant access to the instance. Default: - No SSH access will be possible.
72359
72475
  :param placement_group: The placement group that you want to launch the instance into. Default: - no placement group will be used for this instance.
@@ -72391,6 +72507,7 @@ class Instance(
72391
72507
  init_options=init_options,
72392
72508
  instance_initiated_shutdown_behavior=instance_initiated_shutdown_behavior,
72393
72509
  instance_name=instance_name,
72510
+ ipv6_address_count=ipv6_address_count,
72394
72511
  key_name=key_name,
72395
72512
  key_pair=key_pair,
72396
72513
  placement_group=placement_group,
@@ -73197,6 +73314,7 @@ class InstanceInitiatedShutdownBehavior(enum.Enum):
73197
73314
  "init_options": "initOptions",
73198
73315
  "instance_initiated_shutdown_behavior": "instanceInitiatedShutdownBehavior",
73199
73316
  "instance_name": "instanceName",
73317
+ "ipv6_address_count": "ipv6AddressCount",
73200
73318
  "key_name": "keyName",
73201
73319
  "key_pair": "keyPair",
73202
73320
  "placement_group": "placementGroup",
@@ -73234,6 +73352,7 @@ class InstanceProps:
73234
73352
  init_options: typing.Optional[typing.Union[ApplyCloudFormationInitOptions, typing.Dict[builtins.str, typing.Any]]] = None,
73235
73353
  instance_initiated_shutdown_behavior: typing.Optional[InstanceInitiatedShutdownBehavior] = None,
73236
73354
  instance_name: typing.Optional[builtins.str] = None,
73355
+ ipv6_address_count: typing.Optional[jsii.Number] = None,
73237
73356
  key_name: typing.Optional[builtins.str] = None,
73238
73357
  key_pair: typing.Optional[IKeyPair] = None,
73239
73358
  placement_group: typing.Optional[IPlacementGroup] = None,
@@ -73256,7 +73375,7 @@ class InstanceProps:
73256
73375
  :param vpc: VPC to launch the instance in.
73257
73376
  :param allow_all_ipv6_outbound: Whether the instance could initiate IPv6 connections to anywhere by default. This property is only used when you do not provide a security group. Default: false
73258
73377
  :param allow_all_outbound: Whether the instance could initiate connections to anywhere by default. This property is only used when you do not provide a security group. Default: true
73259
- :param associate_public_ip_address: Whether to associate a public IP address to the primary network interface attached to this instance. Default: - public IP address is automatically assigned based on default behavior
73378
+ :param associate_public_ip_address: Whether to associate a public IP address to the primary network interface attached to this instance. You cannot specify this property and ``ipv6AddressCount`` at the same time. Default: - public IP address is automatically assigned based on default behavior
73260
73379
  :param availability_zone: In which AZ to place the instance within the VPC. Default: - Random zone.
73261
73380
  :param block_devices: Specifies how block devices are exposed to the instance. You can specify virtual devices and EBS volumes. Each instance that is launched has an associated root device volume, either an Amazon EBS volume or an instance store volume. You can use block device mappings to specify additional EBS volumes or instance store volumes to attach to an instance when it is launched. Default: - Uses the block device mapping of the AMI
73262
73381
  :param credit_specification: Specifying the CPU credit type for burstable EC2 instance types (T2, T3, T3a, etc). The unlimited CPU credit option is not supported for T3 instances with a dedicated host. Default: - T2 instances are standard, while T3, T4g, and T3a instances are unlimited.
@@ -73268,6 +73387,7 @@ class InstanceProps:
73268
73387
  :param init_options: Use the given options for applying CloudFormation Init. Describes the configsets to use and the timeout to wait Default: - default options
73269
73388
  :param instance_initiated_shutdown_behavior: Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown). Default: InstanceInitiatedShutdownBehavior.STOP
73270
73389
  :param instance_name: The name of the instance. Default: - CDK generated name
73390
+ :param ipv6_address_count: The number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet. You cannot specify this property and ``associatePublicIpAddress`` at the same time. Default: - For instances associated with an IPv6 subnet, use 1; otherwise, use 0.
73271
73391
  :param key_name: (deprecated) Name of SSH keypair to grant access to instance. Default: - No SSH access will be possible.
73272
73392
  :param key_pair: The SSH keypair to grant access to the instance. Default: - No SSH access will be possible.
73273
73393
  :param placement_group: The placement group that you want to launch the instance into. Default: - no placement group will be used for this instance.
@@ -73325,6 +73445,7 @@ class InstanceProps:
73325
73445
  check_type(argname="argument init_options", value=init_options, expected_type=type_hints["init_options"])
73326
73446
  check_type(argname="argument instance_initiated_shutdown_behavior", value=instance_initiated_shutdown_behavior, expected_type=type_hints["instance_initiated_shutdown_behavior"])
73327
73447
  check_type(argname="argument instance_name", value=instance_name, expected_type=type_hints["instance_name"])
73448
+ check_type(argname="argument ipv6_address_count", value=ipv6_address_count, expected_type=type_hints["ipv6_address_count"])
73328
73449
  check_type(argname="argument key_name", value=key_name, expected_type=type_hints["key_name"])
73329
73450
  check_type(argname="argument key_pair", value=key_pair, expected_type=type_hints["key_pair"])
73330
73451
  check_type(argname="argument placement_group", value=placement_group, expected_type=type_hints["placement_group"])
@@ -73372,6 +73493,8 @@ class InstanceProps:
73372
73493
  self._values["instance_initiated_shutdown_behavior"] = instance_initiated_shutdown_behavior
73373
73494
  if instance_name is not None:
73374
73495
  self._values["instance_name"] = instance_name
73496
+ if ipv6_address_count is not None:
73497
+ self._values["ipv6_address_count"] = ipv6_address_count
73375
73498
  if key_name is not None:
73376
73499
  self._values["key_name"] = key_name
73377
73500
  if key_pair is not None:
@@ -73448,6 +73571,8 @@ class InstanceProps:
73448
73571
  def associate_public_ip_address(self) -> typing.Optional[builtins.bool]:
73449
73572
  '''Whether to associate a public IP address to the primary network interface attached to this instance.
73450
73573
 
73574
+ You cannot specify this property and ``ipv6AddressCount`` at the same time.
73575
+
73451
73576
  :default: - public IP address is automatically assigned based on default behavior
73452
73577
  '''
73453
73578
  result = self._values.get("associate_public_ip_address")
@@ -73585,6 +73710,19 @@ class InstanceProps:
73585
73710
  result = self._values.get("instance_name")
73586
73711
  return typing.cast(typing.Optional[builtins.str], result)
73587
73712
 
73713
+ @builtins.property
73714
+ def ipv6_address_count(self) -> typing.Optional[jsii.Number]:
73715
+ '''The number of IPv6 addresses to associate with the primary network interface.
73716
+
73717
+ Amazon EC2 chooses the IPv6 addresses from the range of your subnet.
73718
+
73719
+ You cannot specify this property and ``associatePublicIpAddress`` at the same time.
73720
+
73721
+ :default: - For instances associated with an IPv6 subnet, use 1; otherwise, use 0.
73722
+ '''
73723
+ result = self._values.get("ipv6_address_count")
73724
+ return typing.cast(typing.Optional[jsii.Number], result)
73725
+
73588
73726
  @builtins.property
73589
73727
  def key_name(self) -> typing.Optional[builtins.str]:
73590
73728
  '''(deprecated) Name of SSH keypair to grant access to instance.
@@ -76324,17 +76462,17 @@ class IpProtocol(enum.Enum):
76324
76462
  )
76325
76463
  cluster = ecs.Cluster(self, "EcsCluster", vpc=vpc)
76326
76464
 
76327
- network_loadbalanced_fargate_service = ecs_patterns.NetworkLoadBalancedFargateService(self, "NlbFargateService",
76465
+ service = ecs_patterns.ApplicationLoadBalancedFargateService(self, "myService",
76328
76466
  cluster=cluster,
76329
- task_image_options=ecsPatterns.NetworkLoadBalancedTaskImageOptions(
76467
+ task_image_options=ecsPatterns.ApplicationLoadBalancedTaskImageOptions(
76330
76468
  image=ecs.ContainerImage.from_registry("amazon/amazon-ecs-sample")
76331
76469
  ),
76332
76470
  ip_address_type=elbv2.IpAddressType.DUAL_STACK
76333
76471
  )
76334
76472
 
76335
- network_loadbalanced_ec2_service = ecs_patterns.NetworkLoadBalancedEc2Service(self, "NlbEc2Service",
76473
+ application_load_balanced_ec2_service = ecs_patterns.ApplicationLoadBalancedEc2Service(self, "myService",
76336
76474
  cluster=cluster,
76337
- task_image_options=ecsPatterns.NetworkLoadBalancedTaskImageOptions(
76475
+ task_image_options=ecsPatterns.ApplicationLoadBalancedTaskImageOptions(
76338
76476
  image=ecs.ContainerImage.from_registry("amazon/amazon-ecs-sample")
76339
76477
  ),
76340
76478
  ip_address_type=elbv2.IpAddressType.DUAL_STACK
@@ -84664,16 +84802,18 @@ class SubnetType(enum.Enum):
84664
84802
 
84665
84803
  # vpc: ec2.Vpc
84666
84804
 
84667
- cluster = rds.DatabaseCluster(self, "Database",
84668
- engine=rds.DatabaseClusterEngine.aurora_mysql(
84669
- version=rds.AuroraMysqlEngineVersion.VER_3_03_0
84805
+
84806
+ cluster = docdb.DatabaseCluster(self, "Database",
84807
+ master_user=docdb.Login(
84808
+ username="myuser"
84670
84809
  ),
84671
- instances=2,
84672
- instance_props=rds.InstanceProps(
84673
- instance_type=ec2.InstanceType.of(ec2.InstanceClass.BURSTABLE3, ec2.InstanceSize.SMALL),
84674
- vpc_subnets=ec2.SubnetSelection(subnet_type=ec2.SubnetType.PUBLIC),
84675
- vpc=vpc
84676
- )
84810
+ instance_type=ec2.InstanceType.of(ec2.InstanceClass.MEMORY5, ec2.InstanceSize.LARGE),
84811
+ vpc_subnets=ec2.SubnetSelection(
84812
+ subnet_type=ec2.SubnetType.PUBLIC
84813
+ ),
84814
+ vpc=vpc,
84815
+ removal_policy=RemovalPolicy.SNAPSHOT,
84816
+ instance_removal_policy=RemovalPolicy.RETAIN
84677
84817
  )
84678
84818
  '''
84679
84819
 
@@ -90388,6 +90528,7 @@ class DestinationOptions(S3DestinationOptions):
90388
90528
  name_mapping={
90389
90529
  "delete_on_termination": "deleteOnTermination",
90390
90530
  "iops": "iops",
90531
+ "throughput": "throughput",
90391
90532
  "volume_type": "volumeType",
90392
90533
  "encrypted": "encrypted",
90393
90534
  "kms_key": "kmsKey",
@@ -90399,6 +90540,7 @@ class EbsDeviceOptions(EbsDeviceOptionsBase):
90399
90540
  *,
90400
90541
  delete_on_termination: typing.Optional[builtins.bool] = None,
90401
90542
  iops: typing.Optional[jsii.Number] = None,
90543
+ throughput: typing.Optional[jsii.Number] = None,
90402
90544
  volume_type: typing.Optional[EbsDeviceVolumeType] = None,
90403
90545
  encrypted: typing.Optional[builtins.bool] = None,
90404
90546
  kms_key: typing.Optional[_IKey_5f11635f] = None,
@@ -90407,6 +90549,7 @@ class EbsDeviceOptions(EbsDeviceOptionsBase):
90407
90549
 
90408
90550
  :param delete_on_termination: Indicates whether to delete the volume when the instance is terminated. Default: - true for Amazon EC2 Auto Scaling, false otherwise (e.g. EBS)
90409
90551
  :param iops: The number of I/O operations per second (IOPS) to provision for the volume. Must only be set for ``volumeType``: ``EbsDeviceVolumeType.IO1`` The maximum ratio of IOPS to volume size (in GiB) is 50:1, so for 5,000 provisioned IOPS, you need at least 100 GiB storage on the volume. Default: - none, required for ``EbsDeviceVolumeType.IO1``
90552
+ :param throughput: The throughput to provision for a ``gp3`` volume. Valid Range: Minimum value of 125. Maximum value of 1000. ``gp3`` volumes deliver a consistent baseline throughput performance of 125 MiB/s. You can provision additional throughput for an additional cost at a ratio of 0.25 MiB/s per provisioned IOPS. Default: - 125 MiB/s.
90410
90553
  :param volume_type: The EBS volume type. Default: ``EbsDeviceVolumeType.GENERAL_PURPOSE_SSD`` or ``EbsDeviceVolumeType.GENERAL_PURPOSE_SSD_GP3`` if ``@aws-cdk/aws-ec2:ebsDefaultGp3Volume`` is enabled.
90411
90554
  :param encrypted: Specifies whether the EBS volume is encrypted. Encrypted EBS volumes can only be attached to instances that support Amazon EBS encryption Default: false
90412
90555
  :param kms_key: The ARN of the AWS Key Management Service (AWS KMS) CMK used for encryption. You have to ensure that the KMS CMK has the correct permissions to be used by the service launching the ec2 instances. Default: - If encrypted is true, the default aws/ebs KMS key will be used.
@@ -90415,15 +90558,11 @@ class EbsDeviceOptions(EbsDeviceOptionsBase):
90415
90558
 
90416
90559
  Example::
90417
90560
 
90418
- from aws_cdk.aws_kms import Key
90419
-
90420
90561
  # vpc: ec2.Vpc
90421
90562
  # instance_type: ec2.InstanceType
90422
90563
  # machine_image: ec2.IMachineImage
90423
90564
 
90424
90565
 
90425
- kms_key = Key(self, "KmsKey")
90426
-
90427
90566
  ec2.Instance(self, "Instance",
90428
90567
  vpc=vpc,
90429
90568
  instance_type=instance_type,
@@ -90433,9 +90572,9 @@ class EbsDeviceOptions(EbsDeviceOptionsBase):
90433
90572
 
90434
90573
  block_devices=[ec2.BlockDevice(
90435
90574
  device_name="/dev/sda1",
90436
- volume=ec2.BlockDeviceVolume.ebs(50,
90437
- encrypted=True,
90438
- kms_key=kms_key
90575
+ volume=ec2.BlockDeviceVolume.ebs(100,
90576
+ volume_type=ec2.EbsDeviceVolumeType.GP3,
90577
+ throughput=250
90439
90578
  )
90440
90579
  )
90441
90580
  ]
@@ -90445,6 +90584,7 @@ class EbsDeviceOptions(EbsDeviceOptionsBase):
90445
90584
  type_hints = typing.get_type_hints(_typecheckingstub__9009756b359157c5d2b270f95428640becaa73def15e04ee91f0eceba0702608)
90446
90585
  check_type(argname="argument delete_on_termination", value=delete_on_termination, expected_type=type_hints["delete_on_termination"])
90447
90586
  check_type(argname="argument iops", value=iops, expected_type=type_hints["iops"])
90587
+ check_type(argname="argument throughput", value=throughput, expected_type=type_hints["throughput"])
90448
90588
  check_type(argname="argument volume_type", value=volume_type, expected_type=type_hints["volume_type"])
90449
90589
  check_type(argname="argument encrypted", value=encrypted, expected_type=type_hints["encrypted"])
90450
90590
  check_type(argname="argument kms_key", value=kms_key, expected_type=type_hints["kms_key"])
@@ -90453,6 +90593,8 @@ class EbsDeviceOptions(EbsDeviceOptionsBase):
90453
90593
  self._values["delete_on_termination"] = delete_on_termination
90454
90594
  if iops is not None:
90455
90595
  self._values["iops"] = iops
90596
+ if throughput is not None:
90597
+ self._values["throughput"] = throughput
90456
90598
  if volume_type is not None:
90457
90599
  self._values["volume_type"] = volume_type
90458
90600
  if encrypted is not None:
@@ -90485,6 +90627,22 @@ class EbsDeviceOptions(EbsDeviceOptionsBase):
90485
90627
  result = self._values.get("iops")
90486
90628
  return typing.cast(typing.Optional[jsii.Number], result)
90487
90629
 
90630
+ @builtins.property
90631
+ def throughput(self) -> typing.Optional[jsii.Number]:
90632
+ '''The throughput to provision for a ``gp3`` volume.
90633
+
90634
+ Valid Range: Minimum value of 125. Maximum value of 1000.
90635
+
90636
+ ``gp3`` volumes deliver a consistent baseline throughput performance of 125 MiB/s.
90637
+ You can provision additional throughput for an additional cost at a ratio of 0.25 MiB/s per provisioned IOPS.
90638
+
90639
+ :default: - 125 MiB/s.
90640
+
90641
+ :see: https://docs.aws.amazon.com/ebs/latest/userguide/general-purpose.html#gp3-performance
90642
+ '''
90643
+ result = self._values.get("throughput")
90644
+ return typing.cast(typing.Optional[jsii.Number], result)
90645
+
90488
90646
  @builtins.property
90489
90647
  def volume_type(self) -> typing.Optional[EbsDeviceVolumeType]:
90490
90648
  '''The EBS volume type.
@@ -90543,6 +90701,7 @@ class EbsDeviceOptions(EbsDeviceOptionsBase):
90543
90701
  name_mapping={
90544
90702
  "delete_on_termination": "deleteOnTermination",
90545
90703
  "iops": "iops",
90704
+ "throughput": "throughput",
90546
90705
  "volume_type": "volumeType",
90547
90706
  "volume_size": "volumeSize",
90548
90707
  "encrypted": "encrypted",
@@ -90556,6 +90715,7 @@ class EbsDeviceProps(EbsDeviceSnapshotOptions, EbsDeviceOptions):
90556
90715
  *,
90557
90716
  delete_on_termination: typing.Optional[builtins.bool] = None,
90558
90717
  iops: typing.Optional[jsii.Number] = None,
90718
+ throughput: typing.Optional[jsii.Number] = None,
90559
90719
  volume_type: typing.Optional[EbsDeviceVolumeType] = None,
90560
90720
  volume_size: typing.Optional[jsii.Number] = None,
90561
90721
  encrypted: typing.Optional[builtins.bool] = None,
@@ -90566,6 +90726,7 @@ class EbsDeviceProps(EbsDeviceSnapshotOptions, EbsDeviceOptions):
90566
90726
 
90567
90727
  :param delete_on_termination: Indicates whether to delete the volume when the instance is terminated. Default: - true for Amazon EC2 Auto Scaling, false otherwise (e.g. EBS)
90568
90728
  :param iops: The number of I/O operations per second (IOPS) to provision for the volume. Must only be set for ``volumeType``: ``EbsDeviceVolumeType.IO1`` The maximum ratio of IOPS to volume size (in GiB) is 50:1, so for 5,000 provisioned IOPS, you need at least 100 GiB storage on the volume. Default: - none, required for ``EbsDeviceVolumeType.IO1``
90729
+ :param throughput: The throughput to provision for a ``gp3`` volume. Valid Range: Minimum value of 125. Maximum value of 1000. ``gp3`` volumes deliver a consistent baseline throughput performance of 125 MiB/s. You can provision additional throughput for an additional cost at a ratio of 0.25 MiB/s per provisioned IOPS. Default: - 125 MiB/s.
90569
90730
  :param volume_type: The EBS volume type. Default: ``EbsDeviceVolumeType.GENERAL_PURPOSE_SSD`` or ``EbsDeviceVolumeType.GENERAL_PURPOSE_SSD_GP3`` if ``@aws-cdk/aws-ec2:ebsDefaultGp3Volume`` is enabled.
90570
90731
  :param volume_size: The volume size, in Gibibytes (GiB). If you specify volumeSize, it must be equal or greater than the size of the snapshot. Default: - The snapshot size
90571
90732
  :param encrypted: Specifies whether the EBS volume is encrypted. Encrypted EBS volumes can only be attached to instances that support Amazon EBS encryption Default: false
@@ -90589,6 +90750,7 @@ class EbsDeviceProps(EbsDeviceSnapshotOptions, EbsDeviceOptions):
90589
90750
  iops=123,
90590
90751
  kms_key=key,
90591
90752
  snapshot_id="snapshotId",
90753
+ throughput=123,
90592
90754
  volume_size=123,
90593
90755
  volume_type=ec2.EbsDeviceVolumeType.STANDARD
90594
90756
  )
@@ -90597,6 +90759,7 @@ class EbsDeviceProps(EbsDeviceSnapshotOptions, EbsDeviceOptions):
90597
90759
  type_hints = typing.get_type_hints(_typecheckingstub__9a0ea3e2bab0709f4d926738afbd8d5ecbd17847b51fb29600f577de41f87b90)
90598
90760
  check_type(argname="argument delete_on_termination", value=delete_on_termination, expected_type=type_hints["delete_on_termination"])
90599
90761
  check_type(argname="argument iops", value=iops, expected_type=type_hints["iops"])
90762
+ check_type(argname="argument throughput", value=throughput, expected_type=type_hints["throughput"])
90600
90763
  check_type(argname="argument volume_type", value=volume_type, expected_type=type_hints["volume_type"])
90601
90764
  check_type(argname="argument volume_size", value=volume_size, expected_type=type_hints["volume_size"])
90602
90765
  check_type(argname="argument encrypted", value=encrypted, expected_type=type_hints["encrypted"])
@@ -90607,6 +90770,8 @@ class EbsDeviceProps(EbsDeviceSnapshotOptions, EbsDeviceOptions):
90607
90770
  self._values["delete_on_termination"] = delete_on_termination
90608
90771
  if iops is not None:
90609
90772
  self._values["iops"] = iops
90773
+ if throughput is not None:
90774
+ self._values["throughput"] = throughput
90610
90775
  if volume_type is not None:
90611
90776
  self._values["volume_type"] = volume_type
90612
90777
  if volume_size is not None:
@@ -90643,6 +90808,22 @@ class EbsDeviceProps(EbsDeviceSnapshotOptions, EbsDeviceOptions):
90643
90808
  result = self._values.get("iops")
90644
90809
  return typing.cast(typing.Optional[jsii.Number], result)
90645
90810
 
90811
+ @builtins.property
90812
+ def throughput(self) -> typing.Optional[jsii.Number]:
90813
+ '''The throughput to provision for a ``gp3`` volume.
90814
+
90815
+ Valid Range: Minimum value of 125. Maximum value of 1000.
90816
+
90817
+ ``gp3`` volumes deliver a consistent baseline throughput performance of 125 MiB/s.
90818
+ You can provision additional throughput for an additional cost at a ratio of 0.25 MiB/s per provisioned IOPS.
90819
+
90820
+ :default: - 125 MiB/s.
90821
+
90822
+ :see: https://docs.aws.amazon.com/ebs/latest/userguide/general-purpose.html#gp3-performance
90823
+ '''
90824
+ result = self._values.get("throughput")
90825
+ return typing.cast(typing.Optional[jsii.Number], result)
90826
+
90646
90827
  @builtins.property
90647
90828
  def volume_type(self) -> typing.Optional[EbsDeviceVolumeType]:
90648
90829
  '''The EBS volume type.
@@ -95142,6 +95323,7 @@ def _typecheckingstub__e34634be08d573bd7d4eca032a2a66e619c889f2b51e62608777ae0db
95142
95323
  kms_key: typing.Optional[_IKey_5f11635f] = None,
95143
95324
  delete_on_termination: typing.Optional[builtins.bool] = None,
95144
95325
  iops: typing.Optional[jsii.Number] = None,
95326
+ throughput: typing.Optional[jsii.Number] = None,
95145
95327
  volume_type: typing.Optional[EbsDeviceVolumeType] = None,
95146
95328
  ) -> None:
95147
95329
  """Type checking stubs"""
@@ -95153,6 +95335,7 @@ def _typecheckingstub__ce9e60bc1da1c6f1d133c0cfaad0c5984d2f7a428c12f02640d8f31c6
95153
95335
  volume_size: typing.Optional[jsii.Number] = None,
95154
95336
  delete_on_termination: typing.Optional[builtins.bool] = None,
95155
95337
  iops: typing.Optional[jsii.Number] = None,
95338
+ throughput: typing.Optional[jsii.Number] = None,
95156
95339
  volume_type: typing.Optional[EbsDeviceVolumeType] = None,
95157
95340
  ) -> None:
95158
95341
  """Type checking stubs"""
@@ -104074,6 +104257,7 @@ def _typecheckingstub__0d06a3c480f0a868f3c69b22935c359322b1d9337591dc27bb141d518
104074
104257
  *,
104075
104258
  delete_on_termination: typing.Optional[builtins.bool] = None,
104076
104259
  iops: typing.Optional[jsii.Number] = None,
104260
+ throughput: typing.Optional[jsii.Number] = None,
104077
104261
  volume_type: typing.Optional[EbsDeviceVolumeType] = None,
104078
104262
  ) -> None:
104079
104263
  """Type checking stubs"""
@@ -104083,6 +104267,7 @@ def _typecheckingstub__4602c5be3c93ca5d255adf8aa3a652b8c7898310f96514ecd6fc09f7d
104083
104267
  *,
104084
104268
  delete_on_termination: typing.Optional[builtins.bool] = None,
104085
104269
  iops: typing.Optional[jsii.Number] = None,
104270
+ throughput: typing.Optional[jsii.Number] = None,
104086
104271
  volume_type: typing.Optional[EbsDeviceVolumeType] = None,
104087
104272
  volume_size: typing.Optional[jsii.Number] = None,
104088
104273
  ) -> None:
@@ -104816,6 +105001,7 @@ def _typecheckingstub__5fdf31f5ae2497c7efcb56df558011698f38dc19cff28ca7a78a08a6d
104816
105001
  init_options: typing.Optional[typing.Union[ApplyCloudFormationInitOptions, typing.Dict[builtins.str, typing.Any]]] = None,
104817
105002
  instance_initiated_shutdown_behavior: typing.Optional[InstanceInitiatedShutdownBehavior] = None,
104818
105003
  instance_name: typing.Optional[builtins.str] = None,
105004
+ ipv6_address_count: typing.Optional[jsii.Number] = None,
104819
105005
  key_name: typing.Optional[builtins.str] = None,
104820
105006
  key_pair: typing.Optional[IKeyPair] = None,
104821
105007
  placement_group: typing.Optional[IPlacementGroup] = None,
@@ -104885,6 +105071,7 @@ def _typecheckingstub__2d4dc63c6e6ee3ddc68d5dd204d8ac5ef1f1dec37a7b84d636225df1c
104885
105071
  init_options: typing.Optional[typing.Union[ApplyCloudFormationInitOptions, typing.Dict[builtins.str, typing.Any]]] = None,
104886
105072
  instance_initiated_shutdown_behavior: typing.Optional[InstanceInitiatedShutdownBehavior] = None,
104887
105073
  instance_name: typing.Optional[builtins.str] = None,
105074
+ ipv6_address_count: typing.Optional[jsii.Number] = None,
104888
105075
  key_name: typing.Optional[builtins.str] = None,
104889
105076
  key_pair: typing.Optional[IKeyPair] = None,
104890
105077
  placement_group: typing.Optional[IPlacementGroup] = None,
@@ -106607,6 +106794,7 @@ def _typecheckingstub__9009756b359157c5d2b270f95428640becaa73def15e04ee91f0eceba
106607
106794
  *,
106608
106795
  delete_on_termination: typing.Optional[builtins.bool] = None,
106609
106796
  iops: typing.Optional[jsii.Number] = None,
106797
+ throughput: typing.Optional[jsii.Number] = None,
106610
106798
  volume_type: typing.Optional[EbsDeviceVolumeType] = None,
106611
106799
  encrypted: typing.Optional[builtins.bool] = None,
106612
106800
  kms_key: typing.Optional[_IKey_5f11635f] = None,
@@ -106618,6 +106806,7 @@ def _typecheckingstub__9a0ea3e2bab0709f4d926738afbd8d5ecbd17847b51fb29600f577de4
106618
106806
  *,
106619
106807
  delete_on_termination: typing.Optional[builtins.bool] = None,
106620
106808
  iops: typing.Optional[jsii.Number] = None,
106809
+ throughput: typing.Optional[jsii.Number] = None,
106621
106810
  volume_type: typing.Optional[EbsDeviceVolumeType] = None,
106622
106811
  volume_size: typing.Optional[jsii.Number] = None,
106623
106812
  encrypted: typing.Optional[builtins.bool] = None,