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.
- aws_cdk/__init__.py +2 -2
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.154.1.jsii.tgz → aws-cdk-lib@2.156.0.jsii.tgz} +0 -0
- aws_cdk/assertions/__init__.py +17 -17
- aws_cdk/aws_bedrock/__init__.py +22 -4
- aws_cdk/aws_cloudfront/__init__.py +654 -59
- aws_cdk/aws_cloudfront_origins/__init__.py +2034 -91
- aws_cdk/aws_codebuild/__init__.py +349 -8
- aws_cdk/aws_docdb/__init__.py +78 -6
- aws_cdk/aws_ec2/__init__.py +250 -61
- aws_cdk/aws_ecs/__init__.py +18 -14
- aws_cdk/aws_ecs_patterns/__init__.py +129 -11
- aws_cdk/aws_eks/__init__.py +74 -8
- aws_cdk/aws_elasticloadbalancingv2/__init__.py +22 -46
- aws_cdk/aws_events/__init__.py +40 -14
- aws_cdk/aws_events_targets/__init__.py +357 -0
- aws_cdk/aws_iam/__init__.py +7 -8
- aws_cdk/aws_ivs/__init__.py +10 -8
- aws_cdk/aws_kms/__init__.py +89 -10
- aws_cdk/aws_lambda/__init__.py +38 -23
- aws_cdk/aws_lambda_event_sources/__init__.py +27 -0
- aws_cdk/aws_rds/__init__.py +12 -0
- aws_cdk/aws_s3/__init__.py +13 -14
- aws_cdk/aws_secretsmanager/__init__.py +3 -2
- aws_cdk/aws_ses/__init__.py +7 -7
- aws_cdk/aws_ssmcontacts/__init__.py +12 -0
- aws_cdk/aws_stepfunctions/__init__.py +12 -14
- aws_cdk/aws_stepfunctions_tasks/__init__.py +178 -41
- aws_cdk/aws_synthetics/__init__.py +26 -0
- aws_cdk/custom_resources/__init__.py +106 -1
- aws_cdk/cx_api/__init__.py +16 -0
- {aws_cdk_lib-2.154.1.dist-info → aws_cdk_lib-2.156.0.dist-info}/METADATA +1 -1
- {aws_cdk_lib-2.154.1.dist-info → aws_cdk_lib-2.156.0.dist-info}/RECORD +37 -37
- {aws_cdk_lib-2.154.1.dist-info → aws_cdk_lib-2.156.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.154.1.dist-info → aws_cdk_lib-2.156.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.154.1.dist-info → aws_cdk_lib-2.156.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.154.1.dist-info → aws_cdk_lib-2.156.0.dist-info}/top_level.txt +0 -0
aws_cdk/aws_ec2/__init__.py
CHANGED
|
@@ -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(
|
|
5347
|
-
|
|
5348
|
-
|
|
5349
|
-
|
|
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 `
|
|
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 `
|
|
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
|
-
'''
|
|
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
|
-
|
|
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
|
-
|
|
66472
|
+
instance_type=instance_type,
|
|
66473
|
+
machine_image=machine_image,
|
|
66474
|
+
|
|
66475
|
+
# ...
|
|
66476
|
+
|
|
66361
66477
|
block_devices=[ec2.BlockDevice(
|
|
66362
|
-
device_name="/dev/
|
|
66363
|
-
volume=ec2.BlockDeviceVolume.ebs(
|
|
66478
|
+
device_name="/dev/sda1",
|
|
66479
|
+
volume=ec2.BlockDeviceVolume.ebs(100,
|
|
66364
66480
|
volume_type=ec2.EbsDeviceVolumeType.GP3,
|
|
66365
|
-
|
|
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:
|
|
67556
|
+
:exampleMetadata: infused
|
|
67441
67557
|
|
|
67442
67558
|
Example::
|
|
67443
67559
|
|
|
67444
|
-
|
|
67445
|
-
|
|
67446
|
-
|
|
67447
|
-
|
|
67448
|
-
|
|
67449
|
-
|
|
67450
|
-
|
|
67451
|
-
|
|
67452
|
-
|
|
67453
|
-
|
|
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
|
-
|
|
67458
|
-
|
|
67459
|
-
|
|
67460
|
-
|
|
67461
|
-
|
|
67462
|
-
|
|
67463
|
-
|
|
67464
|
-
|
|
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
|
-
|
|
76465
|
+
service = ecs_patterns.ApplicationLoadBalancedFargateService(self, "myService",
|
|
76328
76466
|
cluster=cluster,
|
|
76329
|
-
task_image_options=ecsPatterns.
|
|
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
|
-
|
|
76473
|
+
application_load_balanced_ec2_service = ecs_patterns.ApplicationLoadBalancedEc2Service(self, "myService",
|
|
76336
76474
|
cluster=cluster,
|
|
76337
|
-
task_image_options=ecsPatterns.
|
|
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
|
-
|
|
84668
|
-
|
|
84669
|
-
|
|
84805
|
+
|
|
84806
|
+
cluster = docdb.DatabaseCluster(self, "Database",
|
|
84807
|
+
master_user=docdb.Login(
|
|
84808
|
+
username="myuser"
|
|
84670
84809
|
),
|
|
84671
|
-
|
|
84672
|
-
|
|
84673
|
-
|
|
84674
|
-
|
|
84675
|
-
|
|
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(
|
|
90437
|
-
|
|
90438
|
-
|
|
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,
|