aws-cdk-lib 2.139.0__py3-none-any.whl → 2.140.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (47) hide show
  1. aws_cdk/__init__.py +8 -0
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.139.0.jsii.tgz → aws-cdk-lib@2.140.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_acmpca/__init__.py +70 -56
  5. aws_cdk/aws_apigateway/__init__.py +126 -53
  6. aws_cdk/aws_applicationautoscaling/__init__.py +1 -4
  7. aws_cdk/aws_arczonalshift/__init__.py +49 -44
  8. aws_cdk/aws_bedrock/__init__.py +2818 -146
  9. aws_cdk/aws_cloudfront/__init__.py +51 -9
  10. aws_cdk/aws_codecommit/__init__.py +72 -46
  11. aws_cdk/aws_connectcampaigns/__init__.py +34 -4
  12. aws_cdk/aws_datasync/__init__.py +47 -21
  13. aws_cdk/aws_dms/__init__.py +0 -269
  14. aws_cdk/aws_ec2/__init__.py +149 -44
  15. aws_cdk/aws_ecs/__init__.py +2 -4
  16. aws_cdk/aws_efs/__init__.py +16 -2
  17. aws_cdk/aws_eks/__init__.py +57 -0
  18. aws_cdk/aws_events/__init__.py +115 -0
  19. aws_cdk/aws_events_targets/__init__.py +15 -0
  20. aws_cdk/aws_fis/__init__.py +2 -1
  21. aws_cdk/aws_gamelift/__init__.py +1846 -70
  22. aws_cdk/aws_globalaccelerator/__init__.py +20 -16
  23. aws_cdk/aws_iam/__init__.py +2 -2
  24. aws_cdk/aws_kinesis/__init__.py +21 -0
  25. aws_cdk/aws_kinesisvideo/__init__.py +6 -4
  26. aws_cdk/aws_kms/__init__.py +22 -1
  27. aws_cdk/aws_lambda/__init__.py +0 -9
  28. aws_cdk/aws_medialive/__init__.py +444 -3
  29. aws_cdk/aws_paymentcryptography/__init__.py +1075 -0
  30. aws_cdk/aws_personalize/__init__.py +8 -2
  31. aws_cdk/aws_qbusiness/__init__.py +5257 -0
  32. aws_cdk/aws_quicksight/__init__.py +9996 -1446
  33. aws_cdk/aws_rds/__init__.py +42 -0
  34. aws_cdk/aws_redshiftserverless/__init__.py +13 -9
  35. aws_cdk/aws_route53/__init__.py +350 -0
  36. aws_cdk/aws_route53profiles/__init__.py +1048 -0
  37. aws_cdk/aws_s3/__init__.py +1 -1
  38. aws_cdk/aws_transfer/__init__.py +102 -37
  39. aws_cdk/aws_workspacesweb/__init__.py +92 -6
  40. aws_cdk/custom_resources/__init__.py +23 -2
  41. aws_cdk/cx_api/__init__.py +16 -0
  42. {aws_cdk_lib-2.139.0.dist-info → aws_cdk_lib-2.140.0.dist-info}/METADATA +2 -2
  43. {aws_cdk_lib-2.139.0.dist-info → aws_cdk_lib-2.140.0.dist-info}/RECORD +47 -44
  44. {aws_cdk_lib-2.139.0.dist-info → aws_cdk_lib-2.140.0.dist-info}/LICENSE +0 -0
  45. {aws_cdk_lib-2.139.0.dist-info → aws_cdk_lib-2.140.0.dist-info}/NOTICE +0 -0
  46. {aws_cdk_lib-2.139.0.dist-info → aws_cdk_lib-2.140.0.dist-info}/WHEEL +0 -0
  47. {aws_cdk_lib-2.139.0.dist-info → aws_cdk_lib-2.140.0.dist-info}/top_level.txt +0 -0
@@ -1585,6 +1585,23 @@ ec2.CloudFormationInit.from_elements(
1585
1585
  ))
1586
1586
  ```
1587
1587
 
1588
+ You can use the `environmentVariables` or `environmentFiles` parameters to specify environment variables
1589
+ for your services:
1590
+
1591
+ ```python
1592
+ ec2.InitConfig([
1593
+ ec2.InitFile.from_string("/myvars.env", "VAR_FROM_FILE=\"VAR_FROM_FILE\""),
1594
+ ec2.InitService.systemd_config_file("myapp",
1595
+ command="/usr/bin/python3 -m http.server 8080",
1596
+ cwd="/var/www/html",
1597
+ environment_variables={
1598
+ "MY_VAR": "MY_VAR"
1599
+ },
1600
+ environment_files=["/myvars.env"]
1601
+ )
1602
+ ])
1603
+ ```
1604
+
1588
1605
  ### Bastion Hosts
1589
1606
 
1590
1607
  A bastion host functions as an instance used to access servers and resources in a VPC without open up the complete VPC on a network level.
@@ -1684,6 +1701,30 @@ ec2.Instance(self, "Instance",
1684
1701
  )
1685
1702
  ```
1686
1703
 
1704
+ #### EBS Optimized Instances
1705
+
1706
+ 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.
1707
+
1708
+ Depending on the instance type, this features is enabled by default while others require explicit activation. Please refer to the [documentation](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) for details.
1709
+
1710
+ ```python
1711
+ # vpc: ec2.Vpc
1712
+ # instance_type: ec2.InstanceType
1713
+ # machine_image: ec2.IMachineImage
1714
+
1715
+
1716
+ ec2.Instance(self, "Instance",
1717
+ vpc=vpc,
1718
+ instance_type=instance_type,
1719
+ machine_image=machine_image,
1720
+ ebs_optimized=True,
1721
+ block_devices=[ec2.BlockDevice(
1722
+ device_name="/dev/xvda",
1723
+ volume=ec2.BlockDeviceVolume.ebs(8)
1724
+ )]
1725
+ )
1726
+ ```
1727
+
1687
1728
  ### Volumes
1688
1729
 
1689
1730
  Whereas a `BlockDeviceVolume` is an EBS volume that is created and destroyed as part of the creation and destruction of a specific instance. A `Volume` is for when you want an EBS volume separate from any particular instance. A `Volume` is an EBS block device that can be attached to, or detached from, any instance at any time. Some types of `Volume`s can also be attached to multiple instances at the same time to allow you to have shared storage between those instances.
@@ -5219,17 +5260,11 @@ class BlockDeviceVolume(
5219
5260
  vpc=vpc,
5220
5261
  instance_type=instance_type,
5221
5262
  machine_image=machine_image,
5222
-
5223
- # ...
5224
-
5263
+ ebs_optimized=True,
5225
5264
  block_devices=[ec2.BlockDevice(
5226
- device_name="/dev/sda1",
5227
- volume=ec2.BlockDeviceVolume.ebs(50)
5228
- ), ec2.BlockDevice(
5229
- device_name="/dev/sdm",
5230
- volume=ec2.BlockDeviceVolume.ebs(100)
5231
- )
5232
- ]
5265
+ device_name="/dev/xvda",
5266
+ volume=ec2.BlockDeviceVolume.ebs(8)
5267
+ )]
5233
5268
  )
5234
5269
  '''
5235
5270
 
@@ -5267,7 +5302,7 @@ class BlockDeviceVolume(
5267
5302
  :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.
5268
5303
  :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)
5269
5304
  :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``
5270
- :param volume_type: The EBS volume type. Default: ``EbsDeviceVolumeType.GP2``
5305
+ :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.
5271
5306
  '''
5272
5307
  if __debug__:
5273
5308
  type_hints = typing.get_type_hints(_typecheckingstub__e34634be08d573bd7d4eca032a2a66e619c889f2b51e62608777ae0db2639e6a)
@@ -5299,7 +5334,7 @@ class BlockDeviceVolume(
5299
5334
  :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
5300
5335
  :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)
5301
5336
  :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``
5302
- :param volume_type: The EBS volume type. Default: ``EbsDeviceVolumeType.GP2``
5337
+ :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.
5303
5338
  '''
5304
5339
  if __debug__:
5305
5340
  type_hints = typing.get_type_hints(_typecheckingstub__ce9e60bc1da1c6f1d133c0cfaad0c5984d2f7a428c12f02640d8f31c6eab041e)
@@ -19261,7 +19296,7 @@ class CfnInstance(
19261
19296
  :param ipv6_addresses: The IPv6 addresses from the range of the subnet to associate with the primary network interface. You cannot specify this option and the option to assign a number of IPv6 addresses in the same request. You cannot specify this option if you've specified a minimum number of instances to launch. You cannot specify this option and the network interfaces option in the same request.
19262
19297
  :param kernel_id: The ID of the kernel. .. epigraph:: We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see `PV-GRUB <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html>`_ in the *Amazon EC2 User Guide* .
19263
19298
  :param key_name: The name of the key pair. You can create a key pair using `CreateKeyPair <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateKeyPair.html>`_ or `ImportKeyPair <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportKeyPair.html>`_ . .. epigraph:: If you do not specify a key pair, you can't connect to the instance unless you choose an AMI that is configured to allow users another way to log in.
19264
- :param launch_template: The launch template to use to launch the instances. Any parameters that you specify in the AWS CloudFormation template override the same parameters in the launch template. You can specify either the name or ID of a launch template, but not both.
19299
+ :param launch_template: The launch template. Any additional parameters that you specify for the new instance overwrite the corresponding parameters included in the launch template.
19265
19300
  :param license_specifications: The license configurations.
19266
19301
  :param monitoring: Specifies whether detailed monitoring is enabled for the instance. Specify ``true`` to enable detailed monitoring. Otherwise, basic monitoring is enabled. For more information about detailed monitoring, see `Enable or turn off detailed monitoring for your instances <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch-new.html>`_ in the *Amazon EC2 User Guide* .
19267
19302
  :param network_interfaces: The network interfaces to associate with the instance. .. epigraph:: If you use this property to point to a network interface, you must terminate the original interface before attaching a new one to allow the update of the instance to succeed. If this resource has a public IP address and is also in a VPC that is defined in the same template, you must use the `DependsOn Attribute <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html>`_ to declare a dependency on the VPC-gateway attachment.
@@ -19790,7 +19825,7 @@ class CfnInstance(
19790
19825
  def launch_template(
19791
19826
  self,
19792
19827
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnInstance.LaunchTemplateSpecificationProperty"]]:
19793
- '''The launch template to use to launch the instances.'''
19828
+ '''The launch template.'''
19794
19829
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnInstance.LaunchTemplateSpecificationProperty"]], jsii.get(self, "launchTemplate"))
19795
19830
 
19796
19831
  @launch_template.setter
@@ -21002,13 +21037,11 @@ class CfnInstance(
21002
21037
  - The ID or the name of the launch template, but not both.
21003
21038
  - The version of the launch template.
21004
21039
 
21005
- For information about creating a launch template, see `AWS::EC2::LaunchTemplate <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html>`_ and `Create a launch template <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#create-launch-template>`_ in the *Amazon EC2 User Guide* .
21040
+ For information about creating a launch template, see `AWS::EC2::LaunchTemplate <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html>`_ and `Create a launch template <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html#create-launch-template>`_ in the *Amazon EC2 User Guide* . For example launch templates, see the `Examples <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#aws-resource-ec2-launchtemplate--examples>`_ for ``AWS::EC2::LaunchTemplate`` .
21006
21041
 
21007
- For example launch templates, see the `Examples <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#aws-resource-ec2-launchtemplate--examples>`_ for ``AWS::EC2::LaunchTemplate`` .
21008
-
21009
- :param version: The version number of the launch template. Specifying ``$Latest`` or ``$Default`` for the template version number is not supported. However, you can specify ``LatestVersionNumber`` or ``DefaultVersionNumber`` using the ``Fn::GetAtt`` intrinsic function. For more information, see `Fn::GetAtt <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#aws-resource-ec2-launchtemplate-return-values-fn--getatt>`_ .
21010
- :param launch_template_id: The ID of the launch template. You must specify the ``LaunchTemplateId`` or the ``LaunchTemplateName`` , but not both.
21011
- :param launch_template_name: The name of the launch template. You must specify the ``LaunchTemplateName`` or the ``LaunchTemplateId`` , but not both.
21042
+ :param version: The version number of the launch template. You must specify this property. To specify the default version of the template, use the ``Fn::GetAtt`` intrinsic function to retrieve the ``DefaultVersionNumber`` attribute of the launch template. To specify the latest version of the template, use ``Fn::GetAtt`` to retrieve the ``LatestVersionNumber`` attribute. For more information, see `AWS::EC2:LaunchTemplate return values for Fn::GetAtt <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#aws-resource-ec2-launchtemplate-return-values-fn--getatt>`_ .
21043
+ :param launch_template_id: The ID of the launch template. You must specify either the launch template ID or the launch template name, but not both.
21044
+ :param launch_template_name: The name of the launch template. You must specify either the launch template ID or the launch template name, but not both.
21012
21045
 
21013
21046
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-launchtemplatespecification.html
21014
21047
  :exampleMetadata: fixture=_generated
@@ -21042,9 +21075,9 @@ class CfnInstance(
21042
21075
 
21043
21076
  @builtins.property
21044
21077
  def version(self) -> builtins.str:
21045
- '''The version number of the launch template.
21078
+ '''The version number of the launch template. You must specify this property.
21046
21079
 
21047
- Specifying ``$Latest`` or ``$Default`` for the template version number is not supported. However, you can specify ``LatestVersionNumber`` or ``DefaultVersionNumber`` using the ``Fn::GetAtt`` intrinsic function. For more information, see `Fn::GetAtt <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#aws-resource-ec2-launchtemplate-return-values-fn--getatt>`_ .
21080
+ To specify the default version of the template, use the ``Fn::GetAtt`` intrinsic function to retrieve the ``DefaultVersionNumber`` attribute of the launch template. To specify the latest version of the template, use ``Fn::GetAtt`` to retrieve the ``LatestVersionNumber`` attribute. For more information, see `AWS::EC2:LaunchTemplate return values for Fn::GetAtt <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html#aws-resource-ec2-launchtemplate-return-values-fn--getatt>`_ .
21048
21081
 
21049
21082
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-launchtemplatespecification.html#cfn-ec2-instance-launchtemplatespecification-version
21050
21083
  '''
@@ -21056,7 +21089,7 @@ class CfnInstance(
21056
21089
  def launch_template_id(self) -> typing.Optional[builtins.str]:
21057
21090
  '''The ID of the launch template.
21058
21091
 
21059
- You must specify the ``LaunchTemplateId`` or the ``LaunchTemplateName`` , but not both.
21092
+ You must specify either the launch template ID or the launch template name, but not both.
21060
21093
 
21061
21094
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-launchtemplatespecification.html#cfn-ec2-instance-launchtemplatespecification-launchtemplateid
21062
21095
  '''
@@ -21067,7 +21100,7 @@ class CfnInstance(
21067
21100
  def launch_template_name(self) -> typing.Optional[builtins.str]:
21068
21101
  '''The name of the launch template.
21069
21102
 
21070
- You must specify the ``LaunchTemplateName`` or the ``LaunchTemplateId`` , but not both.
21103
+ You must specify either the launch template ID or the launch template name, but not both.
21071
21104
 
21072
21105
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance-launchtemplatespecification.html#cfn-ec2-instance-launchtemplatespecification-launchtemplatename
21073
21106
  '''
@@ -22243,7 +22276,7 @@ class CfnInstanceProps:
22243
22276
  :param ipv6_addresses: The IPv6 addresses from the range of the subnet to associate with the primary network interface. You cannot specify this option and the option to assign a number of IPv6 addresses in the same request. You cannot specify this option if you've specified a minimum number of instances to launch. You cannot specify this option and the network interfaces option in the same request.
22244
22277
  :param kernel_id: The ID of the kernel. .. epigraph:: We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see `PV-GRUB <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedkernels.html>`_ in the *Amazon EC2 User Guide* .
22245
22278
  :param key_name: The name of the key pair. You can create a key pair using `CreateKeyPair <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateKeyPair.html>`_ or `ImportKeyPair <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImportKeyPair.html>`_ . .. epigraph:: If you do not specify a key pair, you can't connect to the instance unless you choose an AMI that is configured to allow users another way to log in.
22246
- :param launch_template: The launch template to use to launch the instances. Any parameters that you specify in the AWS CloudFormation template override the same parameters in the launch template. You can specify either the name or ID of a launch template, but not both.
22279
+ :param launch_template: The launch template. Any additional parameters that you specify for the new instance overwrite the corresponding parameters included in the launch template.
22247
22280
  :param license_specifications: The license configurations.
22248
22281
  :param monitoring: Specifies whether detailed monitoring is enabled for the instance. Specify ``true`` to enable detailed monitoring. Otherwise, basic monitoring is enabled. For more information about detailed monitoring, see `Enable or turn off detailed monitoring for your instances <https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch-new.html>`_ in the *Amazon EC2 User Guide* .
22249
22282
  :param network_interfaces: The network interfaces to associate with the instance. .. epigraph:: If you use this property to point to a network interface, you must terminate the original interface before attaching a new one to allow the update of the instance to succeed. If this resource has a public IP address and is also in a VPC that is defined in the same template, you must use the `DependsOn Attribute <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html>`_ to declare a dependency on the VPC-gateway attachment.
@@ -22809,9 +22842,9 @@ class CfnInstanceProps:
22809
22842
  def launch_template(
22810
22843
  self,
22811
22844
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnInstance.LaunchTemplateSpecificationProperty]]:
22812
- '''The launch template to use to launch the instances.
22845
+ '''The launch template.
22813
22846
 
22814
- Any parameters that you specify in the AWS CloudFormation template override the same parameters in the launch template. You can specify either the name or ID of a launch template, but not both.
22847
+ Any additional parameters that you specify for the new instance overwrite the corresponding parameters included in the launch template.
22815
22848
 
22816
22849
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-instance.html#cfn-ec2-instance-launchtemplate
22817
22850
  '''
@@ -23579,7 +23612,7 @@ class CfnLaunchTemplate(
23579
23612
  The minimum required properties for specifying a launch template are as follows:
23580
23613
 
23581
23614
  - You must specify at least one property for the launch template data.
23582
- - You do not need to specify a name for the launch template. If you do not specify a name, AWS CloudFormation creates the name for you.
23615
+ - You can optionally specify a name for the launch template. If you do not specify a name, AWS CloudFormation creates a name for you.
23583
23616
 
23584
23617
  A launch template can contain some or all of the configuration information to launch an instance. When you launch an instance using a launch template, instance properties that are not specified in the launch template use default values, except the ``ImageId`` property, which has no default value. If you do not specify an AMI ID for the launch template ``ImageId`` property, you must specify an AMI ID for the instance ``ImageId`` property.
23585
23618
 
@@ -54514,14 +54547,6 @@ class CfnTransitGatewayRouteTablePropagation(
54514
54547
  '''The CloudFormation resource type name for this resource class.'''
54515
54548
  return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
54516
54549
 
54517
- @builtins.property
54518
- @jsii.member(jsii_name="attrId")
54519
- def attr_id(self) -> builtins.str:
54520
- '''
54521
- :cloudformationAttribute: Id
54522
- '''
54523
- return typing.cast(builtins.str, jsii.get(self, "attrId"))
54524
-
54525
54550
  @builtins.property
54526
54551
  @jsii.member(jsii_name="cfnProperties")
54527
54552
  def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
@@ -65791,7 +65816,7 @@ class EbsDeviceOptionsBase:
65791
65816
 
65792
65817
  :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)
65793
65818
  :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``
65794
- :param volume_type: The EBS volume type. Default: ``EbsDeviceVolumeType.GP2``
65819
+ :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.
65795
65820
 
65796
65821
  :exampleMetadata: fixture=_generated
65797
65822
 
@@ -65849,7 +65874,10 @@ class EbsDeviceOptionsBase:
65849
65874
  def volume_type(self) -> typing.Optional["EbsDeviceVolumeType"]:
65850
65875
  '''The EBS volume type.
65851
65876
 
65852
- :default: ``EbsDeviceVolumeType.GP2``
65877
+ :default:
65878
+
65879
+ ``EbsDeviceVolumeType.GENERAL_PURPOSE_SSD`` or ``EbsDeviceVolumeType.GENERAL_PURPOSE_SSD_GP3`` if
65880
+ ``@aws-cdk/aws-ec2:ebsDefaultGp3Volume`` is enabled.
65853
65881
 
65854
65882
  :see: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html
65855
65883
  '''
@@ -65891,7 +65919,7 @@ class EbsDeviceSnapshotOptions(EbsDeviceOptionsBase):
65891
65919
 
65892
65920
  :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)
65893
65921
  :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``
65894
- :param volume_type: The EBS volume type. Default: ``EbsDeviceVolumeType.GP2``
65922
+ :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.
65895
65923
  :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
65896
65924
 
65897
65925
  :exampleMetadata: fixture=_generated
@@ -65954,7 +65982,10 @@ class EbsDeviceSnapshotOptions(EbsDeviceOptionsBase):
65954
65982
  def volume_type(self) -> typing.Optional["EbsDeviceVolumeType"]:
65955
65983
  '''The EBS volume type.
65956
65984
 
65957
- :default: ``EbsDeviceVolumeType.GP2``
65985
+ :default:
65986
+
65987
+ ``EbsDeviceVolumeType.GENERAL_PURPOSE_SSD`` or ``EbsDeviceVolumeType.GENERAL_PURPOSE_SSD_GP3`` if
65988
+ ``@aws-cdk/aws-ec2:ebsDefaultGp3Volume`` is enabled.
65958
65989
 
65959
65990
  :see: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html
65960
65991
  '''
@@ -71208,6 +71239,8 @@ class InitService(
71208
71239
  after_network: typing.Optional[builtins.bool] = None,
71209
71240
  cwd: typing.Optional[builtins.str] = None,
71210
71241
  description: typing.Optional[builtins.str] = None,
71242
+ environment_files: typing.Optional[typing.Sequence[builtins.str]] = None,
71243
+ environment_variables: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
71211
71244
  group: typing.Optional[builtins.str] = None,
71212
71245
  keep_running: typing.Optional[builtins.bool] = None,
71213
71246
  user: typing.Optional[builtins.str] = None,
@@ -71227,6 +71260,8 @@ class InitService(
71227
71260
  :param after_network: Start the service after the networking part of the OS comes up. Default: true
71228
71261
  :param cwd: The working directory for the command. Default: Root directory or home directory of specified user
71229
71262
  :param description: A description of this service. Default: - No description
71263
+ :param environment_files: Loads environment variables from files when the process is running. Must use absolute paths. Default: - No environment files
71264
+ :param environment_variables: Environment variables to load when the process is running. Default: - No environment variables set
71230
71265
  :param group: The group to execute the process under. Default: root
71231
71266
  :param keep_running: Keep the process running all the time. Restarts the process when it exits for any reason other than the machine shutting down. Default: true
71232
71267
  :param user: The user to execute the process under. Default: root
@@ -71239,6 +71274,8 @@ class InitService(
71239
71274
  after_network=after_network,
71240
71275
  cwd=cwd,
71241
71276
  description=description,
71277
+ environment_files=environment_files,
71278
+ environment_variables=environment_variables,
71242
71279
  group=group,
71243
71280
  keep_running=keep_running,
71244
71281
  user=user,
@@ -71942,6 +71979,7 @@ class Instance(
71942
71979
  block_devices: typing.Optional[typing.Sequence[typing.Union[BlockDevice, typing.Dict[builtins.str, typing.Any]]]] = None,
71943
71980
  credit_specification: typing.Optional[CpuCredits] = None,
71944
71981
  detailed_monitoring: typing.Optional[builtins.bool] = None,
71982
+ ebs_optimized: typing.Optional[builtins.bool] = None,
71945
71983
  init: typing.Optional[CloudFormationInit] = None,
71946
71984
  init_options: typing.Optional[typing.Union[ApplyCloudFormationInitOptions, typing.Dict[builtins.str, typing.Any]]] = None,
71947
71985
  instance_name: typing.Optional[builtins.str] = None,
@@ -71972,6 +72010,7 @@ class Instance(
71972
72010
  :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
71973
72011
  :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.
71974
72012
  :param detailed_monitoring: Whether "Detailed Monitoring" is enabled for this instance Keep in mind that Detailed Monitoring results in extra charges. Default: - false
72013
+ :param ebs_optimized: Indicates whether the instance is optimized for Amazon EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal Amazon EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance. Default: false
71975
72014
  :param init: Apply the given CloudFormation Init configuration to the instance at startup. Default: - no CloudFormation init
71976
72015
  :param init_options: Use the given options for applying CloudFormation Init. Describes the configsets to use and the timeout to wait Default: - default options
71977
72016
  :param instance_name: The name of the instance. Default: - CDK generated name
@@ -72004,6 +72043,7 @@ class Instance(
72004
72043
  block_devices=block_devices,
72005
72044
  credit_specification=credit_specification,
72006
72045
  detailed_monitoring=detailed_monitoring,
72046
+ ebs_optimized=ebs_optimized,
72007
72047
  init=init,
72008
72048
  init_options=init_options,
72009
72049
  instance_name=instance_name,
@@ -72735,6 +72775,7 @@ class InstanceInitiatedShutdownBehavior(enum.Enum):
72735
72775
  "block_devices": "blockDevices",
72736
72776
  "credit_specification": "creditSpecification",
72737
72777
  "detailed_monitoring": "detailedMonitoring",
72778
+ "ebs_optimized": "ebsOptimized",
72738
72779
  "init": "init",
72739
72780
  "init_options": "initOptions",
72740
72781
  "instance_name": "instanceName",
@@ -72767,6 +72808,7 @@ class InstanceProps:
72767
72808
  block_devices: typing.Optional[typing.Sequence[typing.Union[BlockDevice, typing.Dict[builtins.str, typing.Any]]]] = None,
72768
72809
  credit_specification: typing.Optional[CpuCredits] = None,
72769
72810
  detailed_monitoring: typing.Optional[builtins.bool] = None,
72811
+ ebs_optimized: typing.Optional[builtins.bool] = None,
72770
72812
  init: typing.Optional[CloudFormationInit] = None,
72771
72813
  init_options: typing.Optional[typing.Union[ApplyCloudFormationInitOptions, typing.Dict[builtins.str, typing.Any]]] = None,
72772
72814
  instance_name: typing.Optional[builtins.str] = None,
@@ -72796,6 +72838,7 @@ class InstanceProps:
72796
72838
  :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
72797
72839
  :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.
72798
72840
  :param detailed_monitoring: Whether "Detailed Monitoring" is enabled for this instance Keep in mind that Detailed Monitoring results in extra charges. Default: - false
72841
+ :param ebs_optimized: Indicates whether the instance is optimized for Amazon EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal Amazon EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance. Default: false
72799
72842
  :param init: Apply the given CloudFormation Init configuration to the instance at startup. Default: - no CloudFormation init
72800
72843
  :param init_options: Use the given options for applying CloudFormation Init. Describes the configsets to use and the timeout to wait Default: - default options
72801
72844
  :param instance_name: The name of the instance. Default: - CDK generated name
@@ -72848,6 +72891,7 @@ class InstanceProps:
72848
72891
  check_type(argname="argument block_devices", value=block_devices, expected_type=type_hints["block_devices"])
72849
72892
  check_type(argname="argument credit_specification", value=credit_specification, expected_type=type_hints["credit_specification"])
72850
72893
  check_type(argname="argument detailed_monitoring", value=detailed_monitoring, expected_type=type_hints["detailed_monitoring"])
72894
+ check_type(argname="argument ebs_optimized", value=ebs_optimized, expected_type=type_hints["ebs_optimized"])
72851
72895
  check_type(argname="argument init", value=init, expected_type=type_hints["init"])
72852
72896
  check_type(argname="argument init_options", value=init_options, expected_type=type_hints["init_options"])
72853
72897
  check_type(argname="argument instance_name", value=instance_name, expected_type=type_hints["instance_name"])
@@ -72883,6 +72927,8 @@ class InstanceProps:
72883
72927
  self._values["credit_specification"] = credit_specification
72884
72928
  if detailed_monitoring is not None:
72885
72929
  self._values["detailed_monitoring"] = detailed_monitoring
72930
+ if ebs_optimized is not None:
72931
+ self._values["ebs_optimized"] = ebs_optimized
72886
72932
  if init is not None:
72887
72933
  self._values["init"] = init
72888
72934
  if init_options is not None:
@@ -73015,6 +73061,19 @@ class InstanceProps:
73015
73061
  result = self._values.get("detailed_monitoring")
73016
73062
  return typing.cast(typing.Optional[builtins.bool], result)
73017
73063
 
73064
+ @builtins.property
73065
+ def ebs_optimized(self) -> typing.Optional[builtins.bool]:
73066
+ '''Indicates whether the instance is optimized for Amazon EBS I/O.
73067
+
73068
+ This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal Amazon EBS I/O performance.
73069
+ This optimization isn't available with all instance types.
73070
+ Additional usage charges apply when using an EBS-optimized instance.
73071
+
73072
+ :default: false
73073
+ '''
73074
+ result = self._values.get("ebs_optimized")
73075
+ return typing.cast(typing.Optional[builtins.bool], result)
73076
+
73018
73077
  @builtins.property
73019
73078
  def init(self) -> typing.Optional[CloudFormationInit]:
73020
73079
  '''Apply the given CloudFormation Init configuration to the instance at startup.
@@ -83954,6 +84013,8 @@ class SubnetType(enum.Enum):
83954
84013
  "after_network": "afterNetwork",
83955
84014
  "cwd": "cwd",
83956
84015
  "description": "description",
84016
+ "environment_files": "environmentFiles",
84017
+ "environment_variables": "environmentVariables",
83957
84018
  "group": "group",
83958
84019
  "keep_running": "keepRunning",
83959
84020
  "user": "user",
@@ -83967,6 +84028,8 @@ class SystemdConfigFileOptions:
83967
84028
  after_network: typing.Optional[builtins.bool] = None,
83968
84029
  cwd: typing.Optional[builtins.str] = None,
83969
84030
  description: typing.Optional[builtins.str] = None,
84031
+ environment_files: typing.Optional[typing.Sequence[builtins.str]] = None,
84032
+ environment_variables: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
83970
84033
  group: typing.Optional[builtins.str] = None,
83971
84034
  keep_running: typing.Optional[builtins.bool] = None,
83972
84035
  user: typing.Optional[builtins.str] = None,
@@ -83977,6 +84040,8 @@ class SystemdConfigFileOptions:
83977
84040
  :param after_network: Start the service after the networking part of the OS comes up. Default: true
83978
84041
  :param cwd: The working directory for the command. Default: Root directory or home directory of specified user
83979
84042
  :param description: A description of this service. Default: - No description
84043
+ :param environment_files: Loads environment variables from files when the process is running. Must use absolute paths. Default: - No environment files
84044
+ :param environment_variables: Environment variables to load when the process is running. Default: - No environment variables set
83980
84045
  :param group: The group to execute the process under. Default: root
83981
84046
  :param keep_running: Keep the process running all the time. Restarts the process when it exits for any reason other than the machine shutting down. Default: true
83982
84047
  :param user: The user to execute the process under. Default: root
@@ -84014,6 +84079,8 @@ class SystemdConfigFileOptions:
84014
84079
  check_type(argname="argument after_network", value=after_network, expected_type=type_hints["after_network"])
84015
84080
  check_type(argname="argument cwd", value=cwd, expected_type=type_hints["cwd"])
84016
84081
  check_type(argname="argument description", value=description, expected_type=type_hints["description"])
84082
+ check_type(argname="argument environment_files", value=environment_files, expected_type=type_hints["environment_files"])
84083
+ check_type(argname="argument environment_variables", value=environment_variables, expected_type=type_hints["environment_variables"])
84017
84084
  check_type(argname="argument group", value=group, expected_type=type_hints["group"])
84018
84085
  check_type(argname="argument keep_running", value=keep_running, expected_type=type_hints["keep_running"])
84019
84086
  check_type(argname="argument user", value=user, expected_type=type_hints["user"])
@@ -84026,6 +84093,10 @@ class SystemdConfigFileOptions:
84026
84093
  self._values["cwd"] = cwd
84027
84094
  if description is not None:
84028
84095
  self._values["description"] = description
84096
+ if environment_files is not None:
84097
+ self._values["environment_files"] = environment_files
84098
+ if environment_variables is not None:
84099
+ self._values["environment_variables"] = environment_variables
84029
84100
  if group is not None:
84030
84101
  self._values["group"] = group
84031
84102
  if keep_running is not None:
@@ -84067,6 +84138,28 @@ class SystemdConfigFileOptions:
84067
84138
  result = self._values.get("description")
84068
84139
  return typing.cast(typing.Optional[builtins.str], result)
84069
84140
 
84141
+ @builtins.property
84142
+ def environment_files(self) -> typing.Optional[typing.List[builtins.str]]:
84143
+ '''Loads environment variables from files when the process is running.
84144
+
84145
+ Must use absolute paths.
84146
+
84147
+ :default: - No environment files
84148
+ '''
84149
+ result = self._values.get("environment_files")
84150
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
84151
+
84152
+ @builtins.property
84153
+ def environment_variables(
84154
+ self,
84155
+ ) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
84156
+ '''Environment variables to load when the process is running.
84157
+
84158
+ :default: - No environment variables set
84159
+ '''
84160
+ result = self._values.get("environment_variables")
84161
+ return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
84162
+
84070
84163
  @builtins.property
84071
84164
  def group(self) -> typing.Optional[builtins.str]:
84072
84165
  '''The group to execute the process under.
@@ -89578,7 +89671,7 @@ class EbsDeviceOptions(EbsDeviceOptionsBase):
89578
89671
 
89579
89672
  :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)
89580
89673
  :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``
89581
- :param volume_type: The EBS volume type. Default: ``EbsDeviceVolumeType.GP2``
89674
+ :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.
89582
89675
  :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
89583
89676
  :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.
89584
89677
 
@@ -89644,7 +89737,10 @@ class EbsDeviceOptions(EbsDeviceOptionsBase):
89644
89737
  def volume_type(self) -> typing.Optional[EbsDeviceVolumeType]:
89645
89738
  '''The EBS volume type.
89646
89739
 
89647
- :default: ``EbsDeviceVolumeType.GP2``
89740
+ :default:
89741
+
89742
+ ``EbsDeviceVolumeType.GENERAL_PURPOSE_SSD`` or ``EbsDeviceVolumeType.GENERAL_PURPOSE_SSD_GP3`` if
89743
+ ``@aws-cdk/aws-ec2:ebsDefaultGp3Volume`` is enabled.
89648
89744
 
89649
89745
  :see: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html
89650
89746
  '''
@@ -89718,7 +89814,7 @@ class EbsDeviceProps(EbsDeviceSnapshotOptions, EbsDeviceOptions):
89718
89814
 
89719
89815
  :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)
89720
89816
  :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``
89721
- :param volume_type: The EBS volume type. Default: ``EbsDeviceVolumeType.GP2``
89817
+ :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.
89722
89818
  :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
89723
89819
  :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
89724
89820
  :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.
@@ -89799,7 +89895,10 @@ class EbsDeviceProps(EbsDeviceSnapshotOptions, EbsDeviceOptions):
89799
89895
  def volume_type(self) -> typing.Optional[EbsDeviceVolumeType]:
89800
89896
  '''The EBS volume type.
89801
89897
 
89802
- :default: ``EbsDeviceVolumeType.GP2``
89898
+ :default:
89899
+
89900
+ ``EbsDeviceVolumeType.GENERAL_PURPOSE_SSD`` or ``EbsDeviceVolumeType.GENERAL_PURPOSE_SSD_GP3`` if
89901
+ ``@aws-cdk/aws-ec2:ebsDefaultGp3Volume`` is enabled.
89803
89902
 
89804
89903
  :see: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html
89805
89904
  '''
@@ -103720,6 +103819,8 @@ def _typecheckingstub__7573da52a8ea62c2b8aa64f8feb7a4a47ba65a4cac431430e05fdcee0
103720
103819
  after_network: typing.Optional[builtins.bool] = None,
103721
103820
  cwd: typing.Optional[builtins.str] = None,
103722
103821
  description: typing.Optional[builtins.str] = None,
103822
+ environment_files: typing.Optional[typing.Sequence[builtins.str]] = None,
103823
+ environment_variables: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
103723
103824
  group: typing.Optional[builtins.str] = None,
103724
103825
  keep_running: typing.Optional[builtins.bool] = None,
103725
103826
  user: typing.Optional[builtins.str] = None,
@@ -103850,6 +103951,7 @@ def _typecheckingstub__5fdf31f5ae2497c7efcb56df558011698f38dc19cff28ca7a78a08a6d
103850
103951
  block_devices: typing.Optional[typing.Sequence[typing.Union[BlockDevice, typing.Dict[builtins.str, typing.Any]]]] = None,
103851
103952
  credit_specification: typing.Optional[CpuCredits] = None,
103852
103953
  detailed_monitoring: typing.Optional[builtins.bool] = None,
103954
+ ebs_optimized: typing.Optional[builtins.bool] = None,
103853
103955
  init: typing.Optional[CloudFormationInit] = None,
103854
103956
  init_options: typing.Optional[typing.Union[ApplyCloudFormationInitOptions, typing.Dict[builtins.str, typing.Any]]] = None,
103855
103957
  instance_name: typing.Optional[builtins.str] = None,
@@ -103900,6 +104002,7 @@ def _typecheckingstub__2d4dc63c6e6ee3ddc68d5dd204d8ac5ef1f1dec37a7b84d636225df1c
103900
104002
  block_devices: typing.Optional[typing.Sequence[typing.Union[BlockDevice, typing.Dict[builtins.str, typing.Any]]]] = None,
103901
104003
  credit_specification: typing.Optional[CpuCredits] = None,
103902
104004
  detailed_monitoring: typing.Optional[builtins.bool] = None,
104005
+ ebs_optimized: typing.Optional[builtins.bool] = None,
103903
104006
  init: typing.Optional[CloudFormationInit] = None,
103904
104007
  init_options: typing.Optional[typing.Union[ApplyCloudFormationInitOptions, typing.Dict[builtins.str, typing.Any]]] = None,
103905
104008
  instance_name: typing.Optional[builtins.str] = None,
@@ -104972,6 +105075,8 @@ def _typecheckingstub__32d66fb5148d20d001b12c0d2a13afa9f9d62d2ad84dc7e3eccb544d6
104972
105075
  after_network: typing.Optional[builtins.bool] = None,
104973
105076
  cwd: typing.Optional[builtins.str] = None,
104974
105077
  description: typing.Optional[builtins.str] = None,
105078
+ environment_files: typing.Optional[typing.Sequence[builtins.str]] = None,
105079
+ environment_variables: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
104975
105080
  group: typing.Optional[builtins.str] = None,
104976
105081
  keep_running: typing.Optional[builtins.bool] = None,
104977
105082
  user: typing.Optional[builtins.str] = None,
@@ -11964,7 +11964,7 @@ class CfnTaskDefinition(
11964
11964
  :param placement_constraints: An array of placement constraint objects to use for tasks. .. epigraph:: This parameter isn't supported for tasks run on AWS Fargate .
11965
11965
  :param proxy_configuration: The configuration details for the App Mesh proxy. Your Amazon ECS container instances require at least version 1.26.0 of the container agent and at least version 1.26.0-1 of the ``ecs-init`` package to use a proxy configuration. If your container instances are launched from the Amazon ECS optimized AMI version ``20190301`` or later, they contain the required versions of the container agent and ``ecs-init`` . For more information, see `Amazon ECS-optimized Linux AMI <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
11966
11966
  :param requires_compatibilities: The task launch types the task definition was validated against. The valid values are ``EC2`` , ``FARGATE`` , and ``EXTERNAL`` . For more information, see `Amazon ECS launch types <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
11967
- :param runtime_platform: The operating system that your tasks definitions run on. A platform family is specified only for tasks using the Fargate launch type. When you specify a task definition in a service, this value must match the ``runtimePlatform`` value of the service.
11967
+ :param runtime_platform: The operating system that your tasks definitions run on. A platform family is specified only for tasks using the Fargate launch type.
11968
11968
  :param tags: The metadata that you apply to the task definition to help you categorize and organize them. Each tag consists of a key and an optional value. You define both of them. The following basic restrictions apply to tags: - Maximum number of tags per resource - 50 - For each resource, each tag key must be unique, and each tag key can have only one value. - Maximum key length - 128 Unicode characters in UTF-8 - Maximum value length - 256 Unicode characters in UTF-8 - If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : /
11969
11969
  :param task_role_arn: The short name or full Amazon Resource Name (ARN) of the AWS Identity and Access Management role that grants containers in the task permission to call AWS APIs on your behalf. For more information, see `Amazon ECS Task Role <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html>`_ in the *Amazon Elastic Container Service Developer Guide* . IAM roles for tasks on Windows require that the ``-EnableTaskIAMRole`` option is set when you launch the Amazon ECS-optimized Windows AMI. Your containers must also run some configuration code to use the feature. For more information, see `Windows IAM roles for tasks <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows_task_IAM_roles.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
11970
11970
  :param volumes: The list of data volume definitions for the task. For more information, see `Using data volumes in tasks <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html>`_ in the *Amazon Elastic Container Service Developer Guide* . .. epigraph:: The ``host`` and ``sourcePath`` parameters aren't supported for tasks run on AWS Fargate .
@@ -16541,7 +16541,7 @@ class CfnTaskDefinitionProps:
16541
16541
  :param placement_constraints: An array of placement constraint objects to use for tasks. .. epigraph:: This parameter isn't supported for tasks run on AWS Fargate .
16542
16542
  :param proxy_configuration: The configuration details for the App Mesh proxy. Your Amazon ECS container instances require at least version 1.26.0 of the container agent and at least version 1.26.0-1 of the ``ecs-init`` package to use a proxy configuration. If your container instances are launched from the Amazon ECS optimized AMI version ``20190301`` or later, they contain the required versions of the container agent and ``ecs-init`` . For more information, see `Amazon ECS-optimized Linux AMI <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
16543
16543
  :param requires_compatibilities: The task launch types the task definition was validated against. The valid values are ``EC2`` , ``FARGATE`` , and ``EXTERNAL`` . For more information, see `Amazon ECS launch types <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
16544
- :param runtime_platform: The operating system that your tasks definitions run on. A platform family is specified only for tasks using the Fargate launch type. When you specify a task definition in a service, this value must match the ``runtimePlatform`` value of the service.
16544
+ :param runtime_platform: The operating system that your tasks definitions run on. A platform family is specified only for tasks using the Fargate launch type.
16545
16545
  :param tags: The metadata that you apply to the task definition to help you categorize and organize them. Each tag consists of a key and an optional value. You define both of them. The following basic restrictions apply to tags: - Maximum number of tags per resource - 50 - For each resource, each tag key must be unique, and each tag key can have only one value. - Maximum key length - 128 Unicode characters in UTF-8 - Maximum value length - 256 Unicode characters in UTF-8 - If your tagging schema is used across multiple services and resources, remember that other services may have restrictions on allowed characters. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following characters: + - = . _ : /
16546
16546
  :param task_role_arn: The short name or full Amazon Resource Name (ARN) of the AWS Identity and Access Management role that grants containers in the task permission to call AWS APIs on your behalf. For more information, see `Amazon ECS Task Role <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html>`_ in the *Amazon Elastic Container Service Developer Guide* . IAM roles for tasks on Windows require that the ``-EnableTaskIAMRole`` option is set when you launch the Amazon ECS-optimized Windows AMI. Your containers must also run some configuration code to use the feature. For more information, see `Windows IAM roles for tasks <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows_task_IAM_roles.html>`_ in the *Amazon Elastic Container Service Developer Guide* .
16547
16547
  :param volumes: The list of data volume definitions for the task. For more information, see `Using data volumes in tasks <https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_data_volumes.html>`_ in the *Amazon Elastic Container Service Developer Guide* . .. epigraph:: The ``host`` and ``sourcePath`` parameters aren't supported for tasks run on AWS Fargate .
@@ -17052,8 +17052,6 @@ class CfnTaskDefinitionProps:
17052
17052
 
17053
17053
  A platform family is specified only for tasks using the Fargate launch type.
17054
17054
 
17055
- When you specify a task definition in a service, this value must match the ``runtimePlatform`` value of the service.
17056
-
17057
17055
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-taskdefinition.html#cfn-ecs-taskdefinition-runtimeplatform
17058
17056
  '''
17059
17057
  result = self._values.get("runtime_platform")
@@ -71,12 +71,26 @@ efs.FileSystem(self, "OneZoneFileSystem",
71
71
  ⚠️ One Zone file systems are not compatible with the MAX_IO performance mode.
72
72
 
73
73
  ⚠️ When `oneZone` is enabled, the file system is automatically placed in the first availability zone of the VPC.
74
- It is not currently possible to specify a different availability zone.
74
+ To specify a different availability zone:
75
+
76
+ ```python
77
+ # vpc: ec2.Vpc
78
+
79
+
80
+ efs.FileSystem(self, "OneZoneFileSystem",
81
+ vpc=vpc,
82
+ one_zone=True,
83
+ vpc_subnets=ec2.SubnetSelection(
84
+ availability_zones=["us-east-1b"]
85
+ )
86
+ )
87
+ ```
75
88
 
76
89
  ⚠️ When `oneZone` is enabled, mount targets will be created only in the specified availability zone.
77
90
  This is to prevent deployment failures due to cross-AZ configurations.
78
91
 
79
- ⚠️ When `oneZone` is enabled, `vpcSubnets` cannot be specified.
92
+ ⚠️ When `oneZone` is enabled, `vpcSubnets` can be specified with
93
+ `availabilityZones` that contains exactly one single zone.
80
94
 
81
95
  ### Replicating file systems
82
96