aws-cdk-lib 2.154.1__py3-none-any.whl → 2.155.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.

@@ -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
 
@@ -72319,6 +72435,7 @@ class Instance(
72319
72435
  init_options: typing.Optional[typing.Union[ApplyCloudFormationInitOptions, typing.Dict[builtins.str, typing.Any]]] = None,
72320
72436
  instance_initiated_shutdown_behavior: typing.Optional["InstanceInitiatedShutdownBehavior"] = None,
72321
72437
  instance_name: typing.Optional[builtins.str] = None,
72438
+ ipv6_address_count: typing.Optional[jsii.Number] = None,
72322
72439
  key_name: typing.Optional[builtins.str] = None,
72323
72440
  key_pair: typing.Optional[IKeyPair] = None,
72324
72441
  placement_group: typing.Optional[IPlacementGroup] = None,
@@ -72342,7 +72459,7 @@ class Instance(
72342
72459
  :param vpc: VPC to launch the instance in.
72343
72460
  :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
72461
  :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
72462
+ :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
72463
  :param availability_zone: In which AZ to place the instance within the VPC. Default: - Random zone.
72347
72464
  :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
72465
  :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 +72471,7 @@ class Instance(
72354
72471
  :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
72472
  :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
72473
  :param instance_name: The name of the instance. Default: - CDK generated name
72474
+ :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
72475
  :param key_name: (deprecated) Name of SSH keypair to grant access to instance. Default: - No SSH access will be possible.
72358
72476
  :param key_pair: The SSH keypair to grant access to the instance. Default: - No SSH access will be possible.
72359
72477
  :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 +72509,7 @@ class Instance(
72391
72509
  init_options=init_options,
72392
72510
  instance_initiated_shutdown_behavior=instance_initiated_shutdown_behavior,
72393
72511
  instance_name=instance_name,
72512
+ ipv6_address_count=ipv6_address_count,
72394
72513
  key_name=key_name,
72395
72514
  key_pair=key_pair,
72396
72515
  placement_group=placement_group,
@@ -73197,6 +73316,7 @@ class InstanceInitiatedShutdownBehavior(enum.Enum):
73197
73316
  "init_options": "initOptions",
73198
73317
  "instance_initiated_shutdown_behavior": "instanceInitiatedShutdownBehavior",
73199
73318
  "instance_name": "instanceName",
73319
+ "ipv6_address_count": "ipv6AddressCount",
73200
73320
  "key_name": "keyName",
73201
73321
  "key_pair": "keyPair",
73202
73322
  "placement_group": "placementGroup",
@@ -73234,6 +73354,7 @@ class InstanceProps:
73234
73354
  init_options: typing.Optional[typing.Union[ApplyCloudFormationInitOptions, typing.Dict[builtins.str, typing.Any]]] = None,
73235
73355
  instance_initiated_shutdown_behavior: typing.Optional[InstanceInitiatedShutdownBehavior] = None,
73236
73356
  instance_name: typing.Optional[builtins.str] = None,
73357
+ ipv6_address_count: typing.Optional[jsii.Number] = None,
73237
73358
  key_name: typing.Optional[builtins.str] = None,
73238
73359
  key_pair: typing.Optional[IKeyPair] = None,
73239
73360
  placement_group: typing.Optional[IPlacementGroup] = None,
@@ -73256,7 +73377,7 @@ class InstanceProps:
73256
73377
  :param vpc: VPC to launch the instance in.
73257
73378
  :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
73379
  :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
73380
+ :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
73381
  :param availability_zone: In which AZ to place the instance within the VPC. Default: - Random zone.
73261
73382
  :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
73383
  :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 +73389,7 @@ class InstanceProps:
73268
73389
  :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
73390
  :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
73391
  :param instance_name: The name of the instance. Default: - CDK generated name
73392
+ :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
73393
  :param key_name: (deprecated) Name of SSH keypair to grant access to instance. Default: - No SSH access will be possible.
73272
73394
  :param key_pair: The SSH keypair to grant access to the instance. Default: - No SSH access will be possible.
73273
73395
  :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 +73447,7 @@ class InstanceProps:
73325
73447
  check_type(argname="argument init_options", value=init_options, expected_type=type_hints["init_options"])
73326
73448
  check_type(argname="argument instance_initiated_shutdown_behavior", value=instance_initiated_shutdown_behavior, expected_type=type_hints["instance_initiated_shutdown_behavior"])
73327
73449
  check_type(argname="argument instance_name", value=instance_name, expected_type=type_hints["instance_name"])
73450
+ check_type(argname="argument ipv6_address_count", value=ipv6_address_count, expected_type=type_hints["ipv6_address_count"])
73328
73451
  check_type(argname="argument key_name", value=key_name, expected_type=type_hints["key_name"])
73329
73452
  check_type(argname="argument key_pair", value=key_pair, expected_type=type_hints["key_pair"])
73330
73453
  check_type(argname="argument placement_group", value=placement_group, expected_type=type_hints["placement_group"])
@@ -73372,6 +73495,8 @@ class InstanceProps:
73372
73495
  self._values["instance_initiated_shutdown_behavior"] = instance_initiated_shutdown_behavior
73373
73496
  if instance_name is not None:
73374
73497
  self._values["instance_name"] = instance_name
73498
+ if ipv6_address_count is not None:
73499
+ self._values["ipv6_address_count"] = ipv6_address_count
73375
73500
  if key_name is not None:
73376
73501
  self._values["key_name"] = key_name
73377
73502
  if key_pair is not None:
@@ -73448,6 +73573,8 @@ class InstanceProps:
73448
73573
  def associate_public_ip_address(self) -> typing.Optional[builtins.bool]:
73449
73574
  '''Whether to associate a public IP address to the primary network interface attached to this instance.
73450
73575
 
73576
+ You cannot specify this property and ``ipv6AddressCount`` at the same time.
73577
+
73451
73578
  :default: - public IP address is automatically assigned based on default behavior
73452
73579
  '''
73453
73580
  result = self._values.get("associate_public_ip_address")
@@ -73585,6 +73712,19 @@ class InstanceProps:
73585
73712
  result = self._values.get("instance_name")
73586
73713
  return typing.cast(typing.Optional[builtins.str], result)
73587
73714
 
73715
+ @builtins.property
73716
+ def ipv6_address_count(self) -> typing.Optional[jsii.Number]:
73717
+ '''The number of IPv6 addresses to associate with the primary network interface.
73718
+
73719
+ Amazon EC2 chooses the IPv6 addresses from the range of your subnet.
73720
+
73721
+ You cannot specify this property and ``associatePublicIpAddress`` at the same time.
73722
+
73723
+ :default: - For instances associated with an IPv6 subnet, use 1; otherwise, use 0.
73724
+ '''
73725
+ result = self._values.get("ipv6_address_count")
73726
+ return typing.cast(typing.Optional[jsii.Number], result)
73727
+
73588
73728
  @builtins.property
73589
73729
  def key_name(self) -> typing.Optional[builtins.str]:
73590
73730
  '''(deprecated) Name of SSH keypair to grant access to instance.
@@ -84664,16 +84804,18 @@ class SubnetType(enum.Enum):
84664
84804
 
84665
84805
  # vpc: ec2.Vpc
84666
84806
 
84667
- cluster = rds.DatabaseCluster(self, "Database",
84668
- engine=rds.DatabaseClusterEngine.aurora_mysql(
84669
- version=rds.AuroraMysqlEngineVersion.VER_3_03_0
84807
+
84808
+ cluster = docdb.DatabaseCluster(self, "Database",
84809
+ master_user=docdb.Login(
84810
+ username="myuser"
84670
84811
  ),
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
- )
84812
+ instance_type=ec2.InstanceType.of(ec2.InstanceClass.MEMORY5, ec2.InstanceSize.LARGE),
84813
+ vpc_subnets=ec2.SubnetSelection(
84814
+ subnet_type=ec2.SubnetType.PUBLIC
84815
+ ),
84816
+ vpc=vpc,
84817
+ removal_policy=RemovalPolicy.SNAPSHOT,
84818
+ instance_removal_policy=RemovalPolicy.RETAIN
84677
84819
  )
84678
84820
  '''
84679
84821
 
@@ -90388,6 +90530,7 @@ class DestinationOptions(S3DestinationOptions):
90388
90530
  name_mapping={
90389
90531
  "delete_on_termination": "deleteOnTermination",
90390
90532
  "iops": "iops",
90533
+ "throughput": "throughput",
90391
90534
  "volume_type": "volumeType",
90392
90535
  "encrypted": "encrypted",
90393
90536
  "kms_key": "kmsKey",
@@ -90399,6 +90542,7 @@ class EbsDeviceOptions(EbsDeviceOptionsBase):
90399
90542
  *,
90400
90543
  delete_on_termination: typing.Optional[builtins.bool] = None,
90401
90544
  iops: typing.Optional[jsii.Number] = None,
90545
+ throughput: typing.Optional[jsii.Number] = None,
90402
90546
  volume_type: typing.Optional[EbsDeviceVolumeType] = None,
90403
90547
  encrypted: typing.Optional[builtins.bool] = None,
90404
90548
  kms_key: typing.Optional[_IKey_5f11635f] = None,
@@ -90407,6 +90551,7 @@ class EbsDeviceOptions(EbsDeviceOptionsBase):
90407
90551
 
90408
90552
  :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
90553
  :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``
90554
+ :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
90555
  :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
90556
  :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
90557
  :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 +90560,11 @@ class EbsDeviceOptions(EbsDeviceOptionsBase):
90415
90560
 
90416
90561
  Example::
90417
90562
 
90418
- from aws_cdk.aws_kms import Key
90419
-
90420
90563
  # vpc: ec2.Vpc
90421
90564
  # instance_type: ec2.InstanceType
90422
90565
  # machine_image: ec2.IMachineImage
90423
90566
 
90424
90567
 
90425
- kms_key = Key(self, "KmsKey")
90426
-
90427
90568
  ec2.Instance(self, "Instance",
90428
90569
  vpc=vpc,
90429
90570
  instance_type=instance_type,
@@ -90433,9 +90574,9 @@ class EbsDeviceOptions(EbsDeviceOptionsBase):
90433
90574
 
90434
90575
  block_devices=[ec2.BlockDevice(
90435
90576
  device_name="/dev/sda1",
90436
- volume=ec2.BlockDeviceVolume.ebs(50,
90437
- encrypted=True,
90438
- kms_key=kms_key
90577
+ volume=ec2.BlockDeviceVolume.ebs(100,
90578
+ volume_type=ec2.EbsDeviceVolumeType.GP3,
90579
+ throughput=250
90439
90580
  )
90440
90581
  )
90441
90582
  ]
@@ -90445,6 +90586,7 @@ class EbsDeviceOptions(EbsDeviceOptionsBase):
90445
90586
  type_hints = typing.get_type_hints(_typecheckingstub__9009756b359157c5d2b270f95428640becaa73def15e04ee91f0eceba0702608)
90446
90587
  check_type(argname="argument delete_on_termination", value=delete_on_termination, expected_type=type_hints["delete_on_termination"])
90447
90588
  check_type(argname="argument iops", value=iops, expected_type=type_hints["iops"])
90589
+ check_type(argname="argument throughput", value=throughput, expected_type=type_hints["throughput"])
90448
90590
  check_type(argname="argument volume_type", value=volume_type, expected_type=type_hints["volume_type"])
90449
90591
  check_type(argname="argument encrypted", value=encrypted, expected_type=type_hints["encrypted"])
90450
90592
  check_type(argname="argument kms_key", value=kms_key, expected_type=type_hints["kms_key"])
@@ -90453,6 +90595,8 @@ class EbsDeviceOptions(EbsDeviceOptionsBase):
90453
90595
  self._values["delete_on_termination"] = delete_on_termination
90454
90596
  if iops is not None:
90455
90597
  self._values["iops"] = iops
90598
+ if throughput is not None:
90599
+ self._values["throughput"] = throughput
90456
90600
  if volume_type is not None:
90457
90601
  self._values["volume_type"] = volume_type
90458
90602
  if encrypted is not None:
@@ -90485,6 +90629,22 @@ class EbsDeviceOptions(EbsDeviceOptionsBase):
90485
90629
  result = self._values.get("iops")
90486
90630
  return typing.cast(typing.Optional[jsii.Number], result)
90487
90631
 
90632
+ @builtins.property
90633
+ def throughput(self) -> typing.Optional[jsii.Number]:
90634
+ '''The throughput to provision for a ``gp3`` volume.
90635
+
90636
+ Valid Range: Minimum value of 125. Maximum value of 1000.
90637
+
90638
+ ``gp3`` volumes deliver a consistent baseline throughput performance of 125 MiB/s.
90639
+ You can provision additional throughput for an additional cost at a ratio of 0.25 MiB/s per provisioned IOPS.
90640
+
90641
+ :default: - 125 MiB/s.
90642
+
90643
+ :see: https://docs.aws.amazon.com/ebs/latest/userguide/general-purpose.html#gp3-performance
90644
+ '''
90645
+ result = self._values.get("throughput")
90646
+ return typing.cast(typing.Optional[jsii.Number], result)
90647
+
90488
90648
  @builtins.property
90489
90649
  def volume_type(self) -> typing.Optional[EbsDeviceVolumeType]:
90490
90650
  '''The EBS volume type.
@@ -90543,6 +90703,7 @@ class EbsDeviceOptions(EbsDeviceOptionsBase):
90543
90703
  name_mapping={
90544
90704
  "delete_on_termination": "deleteOnTermination",
90545
90705
  "iops": "iops",
90706
+ "throughput": "throughput",
90546
90707
  "volume_type": "volumeType",
90547
90708
  "volume_size": "volumeSize",
90548
90709
  "encrypted": "encrypted",
@@ -90556,6 +90717,7 @@ class EbsDeviceProps(EbsDeviceSnapshotOptions, EbsDeviceOptions):
90556
90717
  *,
90557
90718
  delete_on_termination: typing.Optional[builtins.bool] = None,
90558
90719
  iops: typing.Optional[jsii.Number] = None,
90720
+ throughput: typing.Optional[jsii.Number] = None,
90559
90721
  volume_type: typing.Optional[EbsDeviceVolumeType] = None,
90560
90722
  volume_size: typing.Optional[jsii.Number] = None,
90561
90723
  encrypted: typing.Optional[builtins.bool] = None,
@@ -90566,6 +90728,7 @@ class EbsDeviceProps(EbsDeviceSnapshotOptions, EbsDeviceOptions):
90566
90728
 
90567
90729
  :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
90730
  :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``
90731
+ :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
90732
  :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
90733
  :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
90734
  :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 +90752,7 @@ class EbsDeviceProps(EbsDeviceSnapshotOptions, EbsDeviceOptions):
90589
90752
  iops=123,
90590
90753
  kms_key=key,
90591
90754
  snapshot_id="snapshotId",
90755
+ throughput=123,
90592
90756
  volume_size=123,
90593
90757
  volume_type=ec2.EbsDeviceVolumeType.STANDARD
90594
90758
  )
@@ -90597,6 +90761,7 @@ class EbsDeviceProps(EbsDeviceSnapshotOptions, EbsDeviceOptions):
90597
90761
  type_hints = typing.get_type_hints(_typecheckingstub__9a0ea3e2bab0709f4d926738afbd8d5ecbd17847b51fb29600f577de41f87b90)
90598
90762
  check_type(argname="argument delete_on_termination", value=delete_on_termination, expected_type=type_hints["delete_on_termination"])
90599
90763
  check_type(argname="argument iops", value=iops, expected_type=type_hints["iops"])
90764
+ check_type(argname="argument throughput", value=throughput, expected_type=type_hints["throughput"])
90600
90765
  check_type(argname="argument volume_type", value=volume_type, expected_type=type_hints["volume_type"])
90601
90766
  check_type(argname="argument volume_size", value=volume_size, expected_type=type_hints["volume_size"])
90602
90767
  check_type(argname="argument encrypted", value=encrypted, expected_type=type_hints["encrypted"])
@@ -90607,6 +90772,8 @@ class EbsDeviceProps(EbsDeviceSnapshotOptions, EbsDeviceOptions):
90607
90772
  self._values["delete_on_termination"] = delete_on_termination
90608
90773
  if iops is not None:
90609
90774
  self._values["iops"] = iops
90775
+ if throughput is not None:
90776
+ self._values["throughput"] = throughput
90610
90777
  if volume_type is not None:
90611
90778
  self._values["volume_type"] = volume_type
90612
90779
  if volume_size is not None:
@@ -90643,6 +90810,22 @@ class EbsDeviceProps(EbsDeviceSnapshotOptions, EbsDeviceOptions):
90643
90810
  result = self._values.get("iops")
90644
90811
  return typing.cast(typing.Optional[jsii.Number], result)
90645
90812
 
90813
+ @builtins.property
90814
+ def throughput(self) -> typing.Optional[jsii.Number]:
90815
+ '''The throughput to provision for a ``gp3`` volume.
90816
+
90817
+ Valid Range: Minimum value of 125. Maximum value of 1000.
90818
+
90819
+ ``gp3`` volumes deliver a consistent baseline throughput performance of 125 MiB/s.
90820
+ You can provision additional throughput for an additional cost at a ratio of 0.25 MiB/s per provisioned IOPS.
90821
+
90822
+ :default: - 125 MiB/s.
90823
+
90824
+ :see: https://docs.aws.amazon.com/ebs/latest/userguide/general-purpose.html#gp3-performance
90825
+ '''
90826
+ result = self._values.get("throughput")
90827
+ return typing.cast(typing.Optional[jsii.Number], result)
90828
+
90646
90829
  @builtins.property
90647
90830
  def volume_type(self) -> typing.Optional[EbsDeviceVolumeType]:
90648
90831
  '''The EBS volume type.
@@ -95142,6 +95325,7 @@ def _typecheckingstub__e34634be08d573bd7d4eca032a2a66e619c889f2b51e62608777ae0db
95142
95325
  kms_key: typing.Optional[_IKey_5f11635f] = None,
95143
95326
  delete_on_termination: typing.Optional[builtins.bool] = None,
95144
95327
  iops: typing.Optional[jsii.Number] = None,
95328
+ throughput: typing.Optional[jsii.Number] = None,
95145
95329
  volume_type: typing.Optional[EbsDeviceVolumeType] = None,
95146
95330
  ) -> None:
95147
95331
  """Type checking stubs"""
@@ -95153,6 +95337,7 @@ def _typecheckingstub__ce9e60bc1da1c6f1d133c0cfaad0c5984d2f7a428c12f02640d8f31c6
95153
95337
  volume_size: typing.Optional[jsii.Number] = None,
95154
95338
  delete_on_termination: typing.Optional[builtins.bool] = None,
95155
95339
  iops: typing.Optional[jsii.Number] = None,
95340
+ throughput: typing.Optional[jsii.Number] = None,
95156
95341
  volume_type: typing.Optional[EbsDeviceVolumeType] = None,
95157
95342
  ) -> None:
95158
95343
  """Type checking stubs"""
@@ -104074,6 +104259,7 @@ def _typecheckingstub__0d06a3c480f0a868f3c69b22935c359322b1d9337591dc27bb141d518
104074
104259
  *,
104075
104260
  delete_on_termination: typing.Optional[builtins.bool] = None,
104076
104261
  iops: typing.Optional[jsii.Number] = None,
104262
+ throughput: typing.Optional[jsii.Number] = None,
104077
104263
  volume_type: typing.Optional[EbsDeviceVolumeType] = None,
104078
104264
  ) -> None:
104079
104265
  """Type checking stubs"""
@@ -104083,6 +104269,7 @@ def _typecheckingstub__4602c5be3c93ca5d255adf8aa3a652b8c7898310f96514ecd6fc09f7d
104083
104269
  *,
104084
104270
  delete_on_termination: typing.Optional[builtins.bool] = None,
104085
104271
  iops: typing.Optional[jsii.Number] = None,
104272
+ throughput: typing.Optional[jsii.Number] = None,
104086
104273
  volume_type: typing.Optional[EbsDeviceVolumeType] = None,
104087
104274
  volume_size: typing.Optional[jsii.Number] = None,
104088
104275
  ) -> None:
@@ -104816,6 +105003,7 @@ def _typecheckingstub__5fdf31f5ae2497c7efcb56df558011698f38dc19cff28ca7a78a08a6d
104816
105003
  init_options: typing.Optional[typing.Union[ApplyCloudFormationInitOptions, typing.Dict[builtins.str, typing.Any]]] = None,
104817
105004
  instance_initiated_shutdown_behavior: typing.Optional[InstanceInitiatedShutdownBehavior] = None,
104818
105005
  instance_name: typing.Optional[builtins.str] = None,
105006
+ ipv6_address_count: typing.Optional[jsii.Number] = None,
104819
105007
  key_name: typing.Optional[builtins.str] = None,
104820
105008
  key_pair: typing.Optional[IKeyPair] = None,
104821
105009
  placement_group: typing.Optional[IPlacementGroup] = None,
@@ -104885,6 +105073,7 @@ def _typecheckingstub__2d4dc63c6e6ee3ddc68d5dd204d8ac5ef1f1dec37a7b84d636225df1c
104885
105073
  init_options: typing.Optional[typing.Union[ApplyCloudFormationInitOptions, typing.Dict[builtins.str, typing.Any]]] = None,
104886
105074
  instance_initiated_shutdown_behavior: typing.Optional[InstanceInitiatedShutdownBehavior] = None,
104887
105075
  instance_name: typing.Optional[builtins.str] = None,
105076
+ ipv6_address_count: typing.Optional[jsii.Number] = None,
104888
105077
  key_name: typing.Optional[builtins.str] = None,
104889
105078
  key_pair: typing.Optional[IKeyPair] = None,
104890
105079
  placement_group: typing.Optional[IPlacementGroup] = None,
@@ -106607,6 +106796,7 @@ def _typecheckingstub__9009756b359157c5d2b270f95428640becaa73def15e04ee91f0eceba
106607
106796
  *,
106608
106797
  delete_on_termination: typing.Optional[builtins.bool] = None,
106609
106798
  iops: typing.Optional[jsii.Number] = None,
106799
+ throughput: typing.Optional[jsii.Number] = None,
106610
106800
  volume_type: typing.Optional[EbsDeviceVolumeType] = None,
106611
106801
  encrypted: typing.Optional[builtins.bool] = None,
106612
106802
  kms_key: typing.Optional[_IKey_5f11635f] = None,
@@ -106618,6 +106808,7 @@ def _typecheckingstub__9a0ea3e2bab0709f4d926738afbd8d5ecbd17847b51fb29600f577de4
106618
106808
  *,
106619
106809
  delete_on_termination: typing.Optional[builtins.bool] = None,
106620
106810
  iops: typing.Optional[jsii.Number] = None,
106811
+ throughput: typing.Optional[jsii.Number] = None,
106621
106812
  volume_type: typing.Optional[EbsDeviceVolumeType] = None,
106622
106813
  volume_size: typing.Optional[jsii.Number] = None,
106623
106814
  encrypted: typing.Optional[builtins.bool] = None,